Mais d’abord…
Qu'est-ce que la connaissance ?
Pour comprendre comment fonctionne un knowledge graph, il faut d'abord clarifier la notion de connaissance.
Une connaissance peut être définie comme une information qui permet de parvenir à un résultat lorsque nous sommes confrontés à une question spécifique. 🤔❓
Dans le monde réel, les connaissances peuvent être classées en 3 catégories principales :
-
Connaissances situationnelles : changements en fonction des événements, des situations ou des circonstances.
-
Connaissance stratifiée : elle s'étend sur plusieurs niveaux par le biais d'associations et de relations.
-
Connaissance évolutive : elle modifie le contexte et la signification en fonction de nouvelles informations.
Qu'est-ce qu'un knowledge graph ?
Penchons-nous maintenant sur la définition précise d'un graphe de connaissance. 🕵️
Un knowledge graph est une structure de données qui organise l'information de manière à représenter des connaissances sous forme de relations entre différents concepts.
Ces graphes de connaissance sont notamment utilisés par les machines pour le traitement de l’information.
Ces technologies ont pour mission de présenter aux utilisateurs des données actualisées et connexes, issues de sources multiples, en fonction de leurs besoins spécifiques. Ce, afin de permettre des connexions logiques qui donnent un sens aux informations.
Le knowledge graph est capable d’activer des données dormantes ou cloisonnées en les connectant à un vaste écosystème, ce qui permet aux utilisateurs et aux machines d’exploiter d’importants volumes d’informations, qui étaient auparavant dépourvus de sens et d’utilité.
Données dormantes, définition
Les données dormantes ne peuvent pas être utilisées par les utilisateurs ou les applications parce qu'elles ont perdu les connexions contextuelles avec la base de données. Qu'elles soient de bonne ou de mauvaise qualité, ce type d’informations inexploitables finit par consommer inutilement des ressources (temps et stockage).
Différences avec les bases de données traditionnelles
Contrairement aux systèmes de gestion de bases de données relationnelles traditionnelles (= SGBDR), qui stockent les données dans des tableaux, les graphes de connaissances représentent les entités sous forme de nœuds, et les relations entre elles sous forme d’arêtes.
Les nœuds peuvent représenter n'importe quoi, des personnes, des lieux, des concepts, tandis que les arêtes définissent le type de connexion existant entre ces nœuds. Cette structure permet aux graphes de connaissances d'offrir une vue plus interconnectée des données, ce qui facilite l'obtention d'informations et la prise de décisions. 🧠💭
Bien que ces bases servent toutes deux à stocker et à gérer des données, elles le font de manière fondamentalement différente à différents niveaux :
-
Structure : les SGBDR organisent les données dans des tableaux avec des lignes et des colonnes, en utilisant des clés pour établir des relations. En revanche, les graphes de connaissances utilisent une structure graphique (avec nœuds et entités), ce qui permet une représentation plus souple et plus dynamique des données.
-
Attributs (caractéristiques) : dans les SGBDR, les relations ne peuvent pas contenir d'attributs. Les graphes de connaissances, en revanche, permettent aux relations d'avoir des propriétés particulières, ce qui permet une visualisation plus riche des liens entre les entités.
-
Capacités d'inférence : les graphes de connaissances peuvent déduire par eux-mêmes de nouvelles informations sur la base des relations entre les nœuds, alors que les SGBRD nécessitent généralement des requêtes explicites pour faire le lien entre les données.
Knowledge graph : explication simplifiée
-
Concepts et entités : le graphe de connaissances contient des entités (comme des personnes, des lieux, des objets, etc.) et des concepts abstraits (comme des idées ou des catégories).
-
Relations : les entités sont reliées entre elles par des relations. Par exemple, dans un graphe, on pourrait avoir une relation qui relie "Berlin" (entité) à "Allemagne" (entité) avec une relation du genre "est la capitale de".
-
Représentation visuelle : on peut imaginer un graphe comme un réseau de nœuds (les concepts et entités) reliés par des liens (les relations), un peu comme une carte mentale.
-
Utilité : Les knowledge graphs sont utilisés pour mieux comprendre et interpréter les données, faciliter la recherche d'informations, et permettre aux machines de « comprendre » les relations complexes entre différents éléments de connaissance.
➡️ En résumé, un knowledge graph est un moyen structuré et visuel de relier des informations pour rendre le savoir accessible et interconnecté.
Nœuds, arêtes, propriétés (ou attributs), définitions
Un graphe de connaissances comporte 3 éléments structurels : les nœuds, les arêtes et les attributs. Les nœuds sont des représentations logiques d'entités du monde réel, les arêtes représentent les connexions entre ces entités, et les propriétés sont des descriptions ou des caractéristiques de ces nœuds et arêtes.
Les entités du monde réel peuvent être un concept, un service ou un utilisateur, tandis que les relations peuvent définir des associations hiérarchiques (« sous-ensemble de »), des emplacements (« contient »), des définitions (« est un »), etc.
Fonctionnement d'un knowledge graph
Cette architecture basée sur les nœuds et les arêtes permet de capturer des informations sémantiques complexes et de fournir des résultats de recherche pertinents.
Par exemple…
Berlin est la capitale de l’Allemagne et faisait autrefois partie de la Confédération germanique. Cela signifie que le nœud Berlin peut avoir plusieurs arêtes : "capitale" pour l’Allemagne et "ville de" pour la Confédération germanique.
La capacité à relier différentes entités par des relations significatives est ce qui rend les Knowledge Graphs si puissants.
Par exemple, si l'on considère une recherche sur une personne, le graphe peut révéler non seulement des informations sur cette personne, mais aussi des connexions avec d'autres entités, comme des organisations, des lieux ou des événements historiques.
Par exemple…
Si on considère deux nœuds, “François 1er” et "Chambord", l'arête pourrait représenter la relation où le roi de France fait construire ce château de la Loire bien connu. 🏰
Les graphes de connaissances permettent ainsi aux machines (aux algorithmes de Google, notamment) de comprendre les relations entre les entités.
Chaque relation peut également contenir des attributs qui décrivent la nature de la connexion.
Capacités d'un graphe de connaissances
Les graphes de connaissances sont capables d'intégrer des données provenant de différentes sources pour créer un tableau cohérent d'informations.
Par exemple…
Pour estimer le nombre de restaurants gastronomiques à Paris, une source de données comme le recensement peut ne pas fournir une image complète. En ajoutant des données provenant d'avis en ligne, un graphe de connaissances peut inférer que le nombre de restaurants se situe entre 100 et 150, ce qui peut s’avérer être bien différent des chiffres du recensement. 🍴
Le rôle du traitement du langage naturel (NLP)
Les graphes de connaissances utilisent le traitement du langage naturel (NLP) pour enrichir sémantiquement les données.
Ce processus permet de transformer du texte non structuré en ensembles de données corrélés qui alimentent le knowledge graph.
Le NLP permet également de mieux comprendre le contexte des informations, ce qui est crucial pour rester pertinent et utile.
Pourquoi les graphes de connaissances sont-ils importants ?
L'objectif final d'un graphe de connaissances est d'opérationnaliser les connaissances et de les mettre à la disposition des utilisateurs lorsqu'ils posent des questions spécifiques. Le résultat de ces questions permet l'intégration, le recyclage des données et l'analyse.
L'idéologie du Knowledge Graph a été popularisée par Google en 2012, lorsqu'il a publiquement attribué sa solution de recherche aux graphes de connaissances. Cette technologie a été conçue pour servir les objectifs suivants :
-
Rendre les informations plus accessibles : faciliter la navigation des utilisateurs parmi des milliards de données pour découvrir des connaissances spécifiques.
-
Création de connaissances : offrir des connaissances inédites par le biais de nouvelles connexions ou de résultats connexes. Ce ne sera pas forcément ce que les utilisateurs recherchent spécifiquement, mais ces données complémentaires ajouteront de la valeur aux résultats fournis.
-
Distinction : capacité intuitive qui comprend le contexte dans lequel l'utilisateur effectue sa recherche et présente les résultats en conséquence. Par exemple, la requête «souris» peut désigner l’outil informatique ou l’animal. 🖱️🐁
-
Rapidité : faire apparaître les informations pertinentes en quelques millisecondes. ⏱️
Applications des knowledge graphs dans la vie réelle
Knowledge graphs sur Google, YouTube et les autres réseaux sociaux
Dans l'industrie technologique, en corrélation avec le traitement du langage naturel, les graphes de connaissances alimentent les systèmes de recommandation, tels que ceux utilisés par les services de streaming et les plateformes de commerce électronique.
En comprenant les préférences et les comportements des utilisateurs, ces systèmes peuvent suggérer des contenus et des produits pertinents, améliorant ainsi l'expérience-utilisateur.
Les Knowledge Graphs jouent aussi un rôle crucial pour les services comme Google pour mieux comprendre l’intention de l’internaute et fournir des résultats plus adaptés. 🎯
Prenons l'exemple de la recherche d'un nom, disons "Billie Eilish". Lorsqu'un utilisateur effectue cette recherche dans Google, un panneau informationnel apparaît sur le côté droit de l'écran, affichant des donées pertinentes sur cette personne, y compris des liens vers ses profils sur les réseaux sociaux et des vidéos associées.
De plus, si l'utilisateur recherche une figure historique comme François 1er, le Knowledge Graph peut fournir des informations sur sa vie, ainsi que des recommandations sur d'autres contemporains, tels que Léonard De Vinci.
Cela illustre comment ces graphes peuvent enrichir l'expérience de recherche en fournissant des informations complètes et interconnectées.
Ils aident à comprendre le contexte et les relations entre les mots et les phrases. Par exemple, sur Youtube, le système peut utiliser un Knowledge Graph pour suggérer des vidéos, en fonction de vos intérêts passés et des relations entre différents sujets.
De façon générale, sur les réseaux sociaux, en combinant des recommandations collaboratives et basées sur le contenu, et en analysant les connexions entre les utilisateurs et leurs interactions, les plateformes peuvent suggérer de nouveaux amis, groupes ou publications qui correspondent aux intérêts des internautes.
Mais les graphes de connaissances sont aussi utilisés dans divers secteurs
Voici quelques applications notables…
1. Soins de santé
Dans le secteur de la santé, les graphes de connaissances améliorent les soins, en intégrant les données des personnes provenant de sources multiples. 🩺
Ils permettent aux soignants d'obtenir des informations sur les antécédents des patients, les options de traitement et les interactions médicamenteuses, ce qui se traduit en fin de compte par une meilleure prise en charge.
2. Secteur financier
Les institutions financières utilisent les graphes de connaissances pour détecter les fraudes, évaluer les risques pour les crédits et optimiser les stratégies d'investissement. 💵💲
En analysant les relations entre les transactions, les comptes et les entités, elles peuvent identifier des schémas suspects et prendre des décisions éclairées.
3. Applications commerciales des graphes de connaissances
Les graphes de connaissances ont également de nombreuses applications commerciales.
Voici quelques exemples :
-
Recommandations de contenu : les vidéos suggérées sur des plateformes comme YouTube utilisent des graphes de connaissances pour recommander des contenus basés sur les recherches des utilisateurs.
-
Assurance : dans le secteur de l'assurance, les knowledge graphs peuvent aider à vérifier l'authenticité des réclamations.
-
Commerce (up selling et cross selling en particulier) : ils facilitent la compréhension des relations entre les produits, permettant aux entreprises de proposer des recommandations de produits aux clients.
4. Données opérationnelles
Google utilise son Knowledge Graph afin d'afficher des informations complémentaires.
Par exemple
Lorsqu'un utilisateur effectue une recherche de type « salons de thé près de chez moi », il ne se contente pas de faire apparaître les détails spécifiques (noms des échoppes) qu'il a recherchés. Il voit également des avis, des évaluations, des itinéraires et une tonne d'informations diverses qu’il peut traiter instantanément, pour faire son choix en quelques secondes.
5. Pertinence
Si des milliards de données sont produites pour un thème spécifique et qu'un utilisateur effectue une recherche sur ce sujet, que faut-il afficher ?
Cette question est résolue grâce à la capacité du Knowledge Graph d'inclure des informations provenant de pairs. L'optimisation pour les moteurs de recherche (SEO) est la méthode qui permet de rassembler et de faire apparaître des données pertinentes.
Pour juger de la pertinence des éléments, Google se base sur :
-
Les mot-clés correspondant à la recherche ( + les balises adéquates, comme le marquage Schema, par exemple)
-
Les facteurs indiquant qu’il s’agit d’une source d'information de valeur (backlinks, notoriété digitale).
Psss 🤫
Pour
créer un site bien référencé en accord avec les directives de Google, vous avez tous les outils qu’il vous faut sur notre éditeur web !
Créer un site bien référencé
6. Unification des données
Un graphe de connaissances est capable de regrouper des données provenant de sources cloisonnées.
Dans le cas de Google, il s'agit de données stockées sur différents sites web, clouds, serveurs et zones géographiques.
Knowledge graphs et IA : les graphes de connaissances dans la génération améliorée par récupération (RAG)
La génération améliorée par récupération (RAG) est une approche innovante qui combine les forces des graphes de connaissance avec des modèles de langage avancés.
Les systèmes RAG utilisent les knowledge graphs comme base, ce qui permet aux modèles d'IA d'extraire des informations pertinentes et de générer des réponses basées sur des données en temps réel.
Cette intégration améliore les capacités des grands modèles de langage (LLM) tels que GPT-3 et GPT-4, leur permettant de fournir des réponses plus précises et contextuellement pertinentes.
En reliant les modèles de langage aux graphes de connaissances, les systèmes RAG peuvent maintenir des informations à jour, ce qui améliore les performances globales des applications d'intelligence artificielle. 🤖🦾
Exemples d'applications des graphes de connaissances dans les RAG
L'une des applications pratiques des graphes de connaissances dans les RAG est le développement de chatbots capables de répondre aux questions des utilisateurs à partir d'une base de données spécifique.
En exploitant les knowledge graphs, ces robots peuvent fournir des résultats précis et des informations contextuelles, garantissant ainsi aux internautes des réponses complètes à leurs demandes.
Graphes de connaissances enrichis par l'IA
Le traitement du langage naturel (NLP) est utilisé pour augmenter les graphes de connaissances en vue d'un enrichissement sémantique, où les descriptions et le contexte sont améliorés grâce à l'IA.
Sémantique, définition
Ajouter de la sémantique signifie ajouter
un contexte et une signification à des informations arbitraires.
Imaginez le graphe de connaissances comme un cerveau numérique. Chaque fois qu'un cerveau humain apprend quelque chose de nouveau, une connexion neuronale est développée pour retenir cette information. Cette connexion neuronale est déclenchée lorsqu'une situation similaire se présente et que ces connaissances pourraient être appliquées.
Avec l'intelligence artificielle, il est possible de développer de telles connexions chaque fois que l'IA est capable de détecter de nouveaux modèles ou de nouvelles relations entre des entités. Cette découverte est intégrée dans le graphe de connaissances et s'ajoute aux requêtes antérieures et ultérieures.
Modèle de données, définition
Un modèle de données est une représentation visuelle des informations composant une organisation ou une équipe, et des relations qui les lient.
Knowledge graphs, en conclusion…
Les graphes de connaissances représentent une avancée significative dans la manière dont les informations sont structurées et utilisées par l'IA, l'apprentissage automatique et la science des données.
Leur capacité à représenter des relations complexes entre les entités permet d'obtenir des informations, de prendre des décisions plus pertinentes et d'améliorer l'expérience-utilisateur dans diverses applications. 💡✨