Introduction aux graphes et bases de connaissances

Qu’est-ce qu’un graphe de connaissances ?

Un graphe de connaissances (Knowledge graph ou KG) peut être défini comme un graphe de données destiné à accumuler et à transmettre des connaissances sur le monde réel. Ses nœuds représentent des entités d’intérêt et les arêtes représentent les différentes relations entre ces entités (Hogan et al, 2020). Bien que l’expression « graphe de connaissances » soit utilisée dans la littérature depuis le début des années 70, l’incarnation moderne de l’expression découle de l’annonce en 2012 du Google Knowledge Graph. Les graphes de connaissances impliquent une nouvelle confluence de techniques provenant de communautés scientifiques auparavant disparates, avec l’objectif unifié de développer de nouvelles techniques basées sur les graphes.

Les graphes de connaissances visent à devenir un réservoir partagé de connaissances en constante évolution, au sein d’une organisation ou d’une communauté. Selon l’organisation ou la communauté, il peut s’agir d’un graphe de connaissances ouvert ou d’un graphe interne à une entreprise. Les graphes de connaissances ouverts sont publiés en ligne, rendant leur contenu accessible au public (DBpedia, Freebase, BabelNet, Wikidata…). Les graphes de connaissances d’entreprise sont généralement appliqués à des cas d’utilisation commerciale et leur accès est contrôlé voire limité aux membres de l’entreprise.

Dans le monde du Web sémantique, on s’appuie sur le modèle RDF (Resource Description Framework) pour décrire les ressources identifiées par des URIs (Uniform Resource Identifiers). Quand on parle de graphes de connaissances, c’est le triplet Subject-Prédicat-Objet (SPO) qui est à la base de tout.

Bien qu’elle soit appelée « Sujet-Prédicat-Objet » dans le RDF, la structure SPO peut avoir d’autres noms. Nous pouvons également désigner les sujets et les objets de manière plus générique comme des entités reliées par une relation comme le montre la Figure 1.

Figure 1 : Structure d’un triplet (Sujet-Prédicat-Objet)

La théorie des graphes traite des problèmes qui possèdent une structure de graphe (ou de réseau). Dans ce contexte, un graphe (ou un réseau, les  termes étant souvent utilisés indifféremment) est constitué : 

  • de sommets/nœuds qui sont un ensemble de points ;
  • d’arêtes qui sont des lignes reliant les nœuds. Ces arêtes peuvent être orientées ou non orientées ; les arêtes orientées sont souvent appelées arcs.

La théorie des graphes est elle-même à la base des triplestores (bases de graphes RDF) qui sont utilisés pour stocker des informations sous forme de triplets. Dans un graphe RDF, chaque information sera représentée sous la forme d’au-moins un triplet (2 sommets et 1 arc). 

D’autres modèles existent comme les graphes de propriétés étiquetés (LPG ou Labelled Property Graph) dans lesquels chaque noeud et chaque arc peuvent avoir un ensemble d’étiquettes ainsi qu’un ensemble de propriétés, des paires clé-valeur.  Leur motivation première n’est pas centrée sur la sémantique, l’échange de données ou la publication, mais plutôt sur un stockage efficace qui permet une interrogation et un parcours rapides des données interconnectées. La technologie LPG ne dispose pas de schémas ou de langages de modélisation et de requêtes standardisés, ni de spécifications formelles en matière de sémantique et d’interopérabilité. De ce fait, il n’existe pas de protocoles pour intégrer les données provenant de plusieurs sources, ni d’autres mécanismes permettant d’assurer une interaction et une compatibilité transparentes entre les différentes implémentations LPG. Ce modèle est donc particulièrement utile lorsque les données doivent être collectées à la volée et que l’analyse est effectuée dans le cadre d’un seul projet.

Du graphe de données à la base de connaissances (KB)

Comme défini précédemment, un « graphe de données » est un ensemble de données représentées sous forme de nœuds et d’arêtes orientées ou non.

Les graphes offrent un moyen souple de conceptualiser, de représenter et d’intégrer des données diverses et incomplètes. Les graphes contiennent des descriptions qui se complètent les unes les autres, formant un réseau où chaque entité représente une partie de la description des entités qui lui sont liées ; des données diverses sont connectées et décrites par des métadonnées sémantiques selon le modèle de connaissances. Ils fournissent ainsi un cadre efficace pour l’intégration, l’unification, l’analyse et le partage des données. Les graphes publiés sur le web peuvent se lier les uns aux autres et présenter des points de vue différents sur le même objet du monde.

Le schéma d’un graphe est flexible, et n’a pas nécessairement besoin d’être prédéfini. Il est possible de parcourir les informations (parcours de graphe), alors que cette opération est complexe à réaliser dans le domaine relationnel. Les données sont interrogeables à l’aide du standard de requête SPARQL.

Les ontologies constituent la colonne vertébrale de la sémantique formelle d’un graphe de connaissances RDF. Elles peuvent être considérées comme le schéma de données du graphe (Figure 2).

Figure 2 : Graphe de connaissances constitué d’un schéma de graphe (ontologie) et d’un graphe de données (représentation des instances peuplant l’ontologie).

Une base de connaissances (Knowledge base ou KB) est constituée par un ensemble de graphes de données. L’un des principaux cas d’utilisation des bases de connaissances est la gestion et l’interrogation des données liées composées de graphes RDF. Comme pour les bases de données relationnelles, les graphes de données RDF peuvent disposer d’un schéma et être interrogés grâce à des requêtes. Cependant, la modélisation des données est plus souple par rapport au modèle relationnel standard. 

Une caractéristique importante des graphes de connaissances est leur hypothèse de monde ouvert (Open World Assumption, OWA), c’est-à-dire l’hypothèse selon laquelle la valeur de vérité d’une déclaration peut être vraie, que l’on sache ou non qu’elle est vraie. 

C’est le contraire de l’hypothèse d’un monde fermé (Closed World Assumption, CWA), selon laquelle toute affirmation vraie est également connue pour être vraie.

En d’autres  termes, l’absence d’un énoncé particulier dans un graphe de connaissances signifie, en principe, que cet énoncé n’a pas encore été  formulé explicitement, qu’il soit vrai ou non, et que nous croyions ou non qu’il soit vrai, c’est-à-dire que nous ne pouvons pas déduire que  l’énoncé est faux parce qu’il n’existe pas dans le graphe de  connaissances.

Qu'est-ce que n'est PAS un graphe de connaissances (KG) ?

  • Tous les graphes RDF ne sont pas des graphes de connaissances. Par exemple, un ensemble de données statistiques, telles que les données du PIB des pays, représentées en RDF n’est pas un graphe de connaissances. Une représentation graphe des données est souvent utile, mais il n’est pas toujours nécessaire de saisir la sémantique des données. Il peut suffire à une application d’associer la chaîne « Italie » à la chaîne « PIB » et au chiffre « 1,95 milliard » sans avoir besoin de définir ce qu’est un pays ou ce qu’est le « produit intérieur brut » d’un pays.
  • Toutes les bases de connaissances ne sont pas des graphes de connaissances. Les bases de connaissances sans structure formelle ni sémantique, par exemple les bases de connaissances sous forme de questions-réponses sur un produit, ne constituent pas non plus des KG. Une caractéristique clé d’un KG est que les descriptions des entités doivent être reliées entre elles. La définition d’une entité inclut une autre entité et c’est cette liaison qui forme le graphe.  Il est possible d’avoir un système expert qui dispose d’une collection de données organisées dans un format qui n’est pas un graphe, mais qui utilise des processus déductifs automatisés tels qu’un ensemble de règles « si-alors » pour faciliter l’analyse.

Modèles de graphes de données

Les graphes offrent un moyen souple de conceptualiser, de représenter et d’intégrer des données diverses et incomplètes. Ainsi, il existe différents modèles de données basés sur les graphes. Les plus courants sont les graphes à arêtes orientées ou dirigées, les graphes de propriétés et les ensembles de graphes nommés.

Pour illustrer ce qu’est un modèle de graphe de données nous prendrons l’exemple d’un graphe de connaissances hypothétique relatif au tourisme au Chili tel que présenté par Hogan et al.  

Graphes à arêtes orientées ou dirigées (Directed Labelled Graph, del)

Un graphe à arêtes orientées ou dirigées, ou « graphe del » en abrégé (directed edge-labelled graph),  également connu sous le nom de graphe multi-relationnel, est défini comme un ensemble de nœuds et un ensemble d’arêtes orientées et étiquetées  (Figure 3). 

Figure 3 : Graphe à arêtes orientées décrivant les évènements et leurs lieux

Les nœuds représentent des entités (la ville de Santiago, la colline Santa Lucía, le 22 mars 2018 à midi, etc.) et les arêtes représentent des relations binaires entre ces entités (par exemple, Santa Lucía se trouve dans la ville de Santiago).

Cette modélisation des données offre une plus grande souplesse pour l’intégration de nouvelles sources de données par rapport au modèle relationnel standard, dans lequel un schéma doit être défini à l’avance et respecté à chaque étape. Resource Description Framework (RDF) est un modèle de données standard basé sur les graphes del. 

Alors que d’autres modèles de données structurées tels que les arbres (XML, JSON, etc.) offrent une flexibilité similaire, les graphes ne nécessitent pas d’organiser les données de manière hiérarchique unique (à côté de la relation parent/enfant, il existe une relation frère/soeur).  Ils permettent également de représenter des cycles et de les interroger (par exemple, dans la Figure 2, notez le cycle dirigé dans les itinéraires entre Santiago, Arica et Viña del Mar).

Graphes de propriétés étiquetées (Labelled Property Graphs, LPG)

Un graphe de propriétés permet d’associer aux nœuds et aux arêtes un ensemble de paires propriété-valeur (ou clé-valeur) et une étiquette. Cela offre une flexibilité supplémentaire lors de la modélisation des données, par exemple en modélisant les compagnies aériennes qui proposent des vols dans le cas de la base de connaissances sur le tourisme (Figure 4).

Figure 4 :   (a) graphe à arêtes orientées et (b) graphe de propriétés étiquetées

Dans un graphe del, nous ne pouvons pas annoter directement une arête comme celle de la compagnie, mais nous pourrions ajouter un nouveau nœud représentant un vol et le relier à la source, à la destination, aux compagnies et au mode, comme le montre la Figure 4a. L’application de ce modèle à un grand graphe peut nécessiter des modifications importantes. Inversement, la Figure 4b  illustre un graphe de propriétés avec des données analogues, où les paires de valeurs de propriétés sur les arêtes modélisent les compagnies, les paires de valeurs de propriétés sur les nœuds indiquent les latitudes et les longitudes, et les étiquettes des nœuds/arêtes indiquent le type de nœud/arête.

Bien qu’ils ne soient pas encore normalisés, les graphes de propriété sont utilisés dans des bases de données graphes populaires, telles que Neo4j (Miller, 2013). Si le modèle offre une plus grande flexibilité quant à la manière d’encoder les données, ces graphes nécessitent également des langages d’interrogation, une sémantique formelle et des techniques inductives plus complexes que les graphes del.

Ensembles de graphes

Un ensemble de graphes permet de gérer plusieurs graphes et se compose d’un ensemble de graphes identifiés par un nom (représenté par un URI), et éventuellement d’un graphe sans nom utilisable par défaut comme le montre la Figure 5. 

Figure 5 : Ensemble de graphes comprenant deux graphes nommés et un graphe par défaut décrivant les événements et les itinéraires

Un ensemble de graphes constitue une base de connaissances. D’un point de vue technique, un ensemble de graphes RDF est un triplestore qui rassemble des graphes contenant potentiellement différents types de données. Les ensembles de graphes sont utiles pour gérer et interroger des données provenant de sources multiples, chaque source pouvant être gérée comme un graphe distinct, ce qui permet d’interroger, de mettre à jour, de supprimer, etc. des graphes individuels, selon les besoins.

Bien que l’exemple utilise des graphes del, les ensembles de graphes peuvent être généralisés à d’autres types de graphes.

Les identifiants du Web
  • A. Hogan, E. Blomqvist, M. Cochez, C. d’Amato, G. de Melo, C. Gutierrez, J. E. Labra Gayo, S. Kirrane, S. Neumaier, A. Polleres, R. Navigli, A. C. Ngonga Ngomo, S. M. Rashid, A. Rula, L. Schmelzeisen, J. F. Sequeda, S. Staab, and A. Zimmermann. 2020. Knowledge graphs. CoRR arxiv:2003.02320
  • J. J. Miller. 2013. Graph database applications and concepts with Neo4j. In Proc. of SAIC. https://aisel.aisnet.org/cgi/viewcontent.cgi?article=1023&context=sais2013

Retour en haut