Découverte automatique de schéma pour des données massives

par Redouane Bouhamoum

Projet de thèse en Informatique

Sous la direction de Zoubida Kedad et de Stéphane Lopes.

Thèses en préparation à Paris Saclay , dans le cadre de École doctorale Sciences et technologies de l'information et de la communication (Orsay, Essonne ; 2015-....) , en partenariat avec DAVID - Données et Algorithmes pour une ville intelligente et durable (laboratoire) et de université de Versailles-Saint-Quentin-en-Yvelines (établissement de préparation de la thèse) depuis le 01-10-2017 .


  • Résumé

    Un volume sans précédent de données est disponible sur le Web, exprimées dans les langages proposés par le W3C, comme le langage RDF, qui permet de représenter les données sont forme de graphe orienté et étiqueté où les sommets représentent les ressources décrites, et où les arcs représentent des propriétés associées à ces ressources. Les sources de données contiennent des liens vers d'autres sources, et l'ensemble de ces sources interconnectées constitue un espace désigné par Web des données. Ces sources de données contiennent à la fois la description des entités, et la description du schéma décrivant ces entités ; certaines informations sur le schéma des données peuvent exister dans la source elle-même, mais elles sont très souvent incomplètes ou inexistantes. Les données décrites en RDF ne suivent pas une structure ou un schéma prédéfinis : une entité déclarée comme instance d'une classe ne possède pas nécessairement les propriétés définies pour cette classe, et elle peut être décrite par des propriétés qui ne sont pas définies pour la classe. Enfin, les entités peuvent avoir des types multiples. L'absence de schéma d'une source de données est un frein réel à son utilisation, et la connaissance des classes, types et propriétés présents dans une source sont utiles pour différentes tâches, comme pour formuler des requêtes, ou pour réaliser l'interconnexion entre sources de données. Un certain nombre d'approches se sont intéressées à découvrir ou à compléter les définitions relatives au schéma d'une source de données. Certaines de ces approches découvrent la structure implicite des données sans nécessiter de déclarations préalables, même partielles. Elles fournissent des groupes d'entités similaires utilisent l'analyse formelle de concepts [3] ou des algorithmes de fouille de données comme K-means, DBSCAN [4] ou le clustering hiérarchique [14, 6]. D'autres approches utilisent les déclarations présentes dans la source comme référence pour le typage des entités décrites dans cette source. Contrairement aux approches précédentes, elles ne génèrent pas de nouveaux types, mais permettent de définir le type des entités en utilisant les déclarations existantes. Elles utilisent pour cela des méthodes d'analyse statistique [1, 9], ou des méthodes de fouille de données comme les règles d'association [10] ou le clustering hiérarchique [11]. Enfin, certaines approches génèrent des patterns structurels qui ne représentent pas nécessairement des classes, mais renseignent sur les versions présentes dans la source, et sur la co-occurrence des propriétés pour ces versions. Ces patterns peuvent être exacts [12, 13], et dans ce cas les entités décrites sont caractérisées par toutes les propriétés du pattern ; ou ils peuvent être approximatifs, et dans ce cas les propriétés peuvent être optionnelles pour les entités décrites [15, 16, 17]. Les approches existantes pour la découverte d'un schéma à partir des données d'une source présentent quelques limites : d'abord un certain nombre d'entre elles nécessitent que des définitions de types ou de classes soient présentes dans la source. Toutes les approches ne fournissent pas les liens existant entre les types, et le typage multiple des entités n'est pas supporté par la plupart d'entre elles. Beaucoup d'approches utilisent des algorithmes (notamment de fouille de données) pour lesquels les paramètres requis ne sont pas toujours faciles à définir. Et enfin, le traitement de grands volumes de données n'est pas encore supporté, les techniques utilisées étant très coûteuses : les seules approches existantes ayant utilisé des systèmes de gestion de données massives [12, 16] font l'hypothèse que les types sont définis, il ne s'agit donc pas à proprement parler de découverte de schéma, mais plutôt d'énumération efficace des types existants dans une source. Nous nous intéressons à la découverte automatique du schéma d'une source de données RDF lorsque celui-ci est absent ou incomplet. Les problèmes posés par cette découverte sont essentiellement de deux types : ils peuvent d'une part être liés à la sémantique, et ils concernent la façon de déterminer l'appartenance d'une ressource à une classe, ou la façon de définir que deux ressources distinctes appartiennent à une même classe. Ils peuvent également être liés au passage à l'échelle, et concernent alors la réduction de l'espace de recherche des classes, et la proposition d'algorithmes de découverte adaptés à des très grandes masses de données. Dans le présent projet doctoral, nous nous intéressons plus spécifiquement aux problèmes posés par le passage à l'échelle, et à proposer des algorithmes de découverte automatique de schéma capable de traiter de très grandes masses de données.

  • Titre traduit

    Automatic Schema Discovery for Massive Datasets


  • Résumé

    An unprecedented amount of data is available on the Web, expressed in the languages proposed by the W3C such as RDF. Datasets expressed in RDF can be viewed as labeled directed graphs where vertices represent resources and where edges represent properties characterizing these resources. RDF datasets contain links to other datasets, and all these interlinked sources represent the Web of data. RDF datasets contain both instances (resources) and the schema describing them. Some schema-related information could be provided in the dataset, but they are often incomplete or missing. Data expressed in RDF do not follow a predefined schema: an instance of a class is not always described by the properties defined for this class; it can even be described by properties that are not defined for the class. Furthermore, entites may have multiple types. The availability of the schema describing an RDF Dataset could be very useful for its meaningful usage. Knowing which classes, types and properties can be found in the dataset could contribute to ease some tasks such as formulating queries or interlinking datasets. Several research works have focused on discovering or complementing the schema of a dataset. Some of the proposed approaches provide the implicit structure of the data without requiring schema-related information in the dataset. They provide clusters of similar entities using different techniques: formal concet analysis [3] or data mining algorithms such as K-means, DBSCAN [4] or hierarchical clustering [14, 6]. Other approaches use schema-related declarations in the dataset to find the class of untyped entities described in this dataset. Unlike the previous approaches, they do not generate new types, but instead, they define the types of entities using the existing declarations. This is done using either statistical approaches [1, 9], or data mining approaches such as association rules [10] or hierarchical clustering [11]. Finally some approaches generate structural patterns which do not necessarily represent classes, but provide information about the existing versions in the dataset and also about property co-occurence. The patterns can be either exact [12, 13], in which case entities are described by all the properties of the pattern, or approximate, in which case some properties of the pattern can be optional [15, 16, 17]. Existing approaches for schema discovery have some limitations. Firstly, some of them require that some type or classe définitions are specified in the dataset. Secondly, all the approaches do not provided the description of the links between classes, and multiple typing is generally not supported. Many approaches use algorithms which require some input parameters that are not easy to define. Finally, processing large amount of data is not yet supported, as the techniques used for schema discovery are very costly. The only approaches which have used big data technologies assume that the types are provided [12, 16]; the problem addressed by these works is not the one of schema discovery, but the effective enumeration of all the existing types in a dataset. In this work, we are interested in the automatic schema discovery for an RDF datseet when the schema is incomplete or missing. The issues raised by schema discovery are of two types: (i) semantic issues, related to the possible ways of determining that a resource belongs to a given class, or determining that two distinct resources belong to the same class, and (ii) scalability issues, related to the different ways of reducing the search space of possible classes, and the definition of schema discovery algorithms suitable for massive datasets. In this thesis, we are specifically interested in scalabiltiy issues for schema discovery.