Graphe de connaissances
Découvrez comment les graphes de connaissances révolutionnent l'IA en modélisant des relations complexes, permettant la recherche sémantique, les recommandations personnalisées, et plus encore.
Un graphe de connaissances est un modèle de données complet qui organise et intègre des informations dans un réseau d'entités du monde réel, telles que des objets, des événements, des situations ou des concepts abstraits, et des relations explicites entre elles.
telles que des objets, des événements, des situations ou des concepts abstraits, ainsi que les relations explicites entre elles. Contrairement à
une base de données relationnelle standard qui stocke les données en lignes et colonnes rigides, un graphe de connaissances structure les données sous la forme d'un réseau flexible de nœuds et de colonnes interconnectés.
réseau flexible de nœuds et d'arêtes interconnectés. Cette architecture reflète la façon dont les humains associent cognitivement les faits,
permettant
aux systèmes d'intelligence artificielle (IA) de
de raisonner, d'inférer le contexte et de découvrir des modèles cachés dans d'énormes ensembles de données. Cette structure sémantique est un élément fondamental
du Web sémantique, créant un cadre dans lequel les données sont
lisibles par une machine et intrinsèquement liées.
L'anatomie d'un graphe de connaissances se compose de deux éléments principaux : les nœuds, qui représentent les entités (par ex.
entités (par exemple, "Albert Einstein" ou "théorie de la relativité"), et les arêtes, qui définissent la relation entre elles (par exemple, "proposé par").
qui définissent la relation entre elles (par exemple, "proposé par"). En adhérant à des normes telles que le
RDF (Resource Description Framework), ces graphes permettent d'unifier des sources de données disparates.
sources de données disparates. Parmi les applications les plus connues, on peut citer
Le Knowledge Graph deGoogle,
de Google, qui améliore les résultats des moteurs de recherche, et des projets communautaires tels que
Wikidata.
Applications dans l'IA et l'apprentissage automatique
Les graphes de connaissances jouent un rôle essentiel dans l'avancement de diverses capacités
capacités d'apprentissage automatique (ML) en fournissant un
contexte structuré que les modèles statistiques pourraient autrement manquer.
-
Recherche sémantique: Les moteurs de recherche
traditionnels s'appuient souvent sur la correspondance des mots-clés. Les graphes de connaissances permettent aux moteurs de comprendre l'"intention" derrière une requête.
derrière une requête. Par exemple, la recherche de "Jaguar" peut faire référence à l'animal ou à la marque de voiture.
utilise le contexte pour désambiguïser le terme, ce qui permet d'obtenir des résultats plus précis.
-
Systèmes de recommandation: En
Dans le domaine de l'IA dans le commerce de détail, ces graphes cartographient les relations complexes entre les utilisateurs, les produits et les comportements d'achat.
complexes entre les utilisateurs, les produits et les comportements d'achat. Si un utilisateur achète un appareil photo, le graphe comprend le lien avec les
lien avec les "cartes SD" ou les "trépieds", non seulement parce que d'autres les ont achetés, mais aussi parce qu'il s'agit d'accessoires fonctionnellement liés.
accessoires fonctionnellement liés.
-
Génération améliorée par la recherche (RAG) :
Les grands modèles de langage (LLM) peuvent
peuvent parfois générer des informations plausibles mais incorrectes. En intégrant un graphe de connaissances via la
génération améliorée (RAG), les agents d'intelligence artificielle peuvent interroger une source de vérité vérifiée avant de générer une réponse, ce qui réduit considérablement les hallucinations des LLM et améliore la qualité de l'information.
les hallucinations dans les LLM et améliorent l'exactitude
l'exactitude des faits.
-
Vision par ordinateur (CV) Contexte :
Les modèles de vision detect objets, mais les graphes de connaissances comprennent la scène. Un graphe peut relier un objet détecté
"casque" et "gilet" détectés au concept de "conformité à la sécurité", ce qui permet un raisonnement de haut niveau pour la surveillance industrielle.
raisonnement de haut niveau pour la surveillance industrielle.
Exemple de code : Extraction d'entités pour un graphe
L'extrait Python suivant montre comment utiliser la fonction
Ultralytics YOLO11 pour detect objets dans une image.
Ces détections peuvent servir de nœuds d'entité pour alimenter un graphe de connaissances, reliant l'image aux objets qu'elle contient.
objets qu'elle contient.
from ultralytics import YOLO
# Load the official YOLO11 model
model = YOLO("yolo11n.pt")
# Run inference on an image
results = model("https://ultralytics.com/images/bus.jpg")
# Extract entities to populate a knowledge graph node
graph_entities = []
for box in results[0].boxes:
class_id = int(box.cls)
entity_label = results[0].names[class_id]
confidence = float(box.conf)
# Create a simplified node representation
graph_entities.append({"entity": entity_label, "type": "Object", "confidence": confidence})
print(graph_entities)
Exemples concrets
-
Découverte de médicaments dans le domaine de la santé : Dans le domaine de l
l 'IA dans le domaine de la santé, les chercheurs
pour modéliser des interactions biologiques complexes. En reliant des entités telles que les gènes, les protéines, les maladies et les médicaments
à partir de bases de données telles que PubMed et
UniProt, les algorithmes peuvent prédire les cibles potentielles des médicaments et leurs effets secondaires. Cela permet d'accélérer le processus de découverte de médicaments en identifiant des cibles potentielles et des effets secondaires.
accélère le processus de découverte de médicaments en identifiant des connexions non évidentes qui pourraient être négligées lors de l'analyse manuelle d'images médicales ou de la littérature.
l'analyse manuelle d'images médicales ou l'analyse
de la littérature.
-
Optimisation de la chaîne d'approvisionnement : Les entreprises de logistique utilisent des graphes de connaissances pour créer un jumeau numérique de leur chaîne d'approvisionnement.
de leur chaîne d'approvisionnement. Les nœuds représentent les fournisseurs, les entrepôts, les pièces et les produits, tandis que les arêtes représentent les itinéraires d'expédition ou les dépendances d'assemblage.
d'expédition ou les dépendances d'assemblage. Cette structure facilite
Big Data, permettant aux entreprises d'interroger le graphe pour
pour prévoir les retards, optimiser les itinéraires et gérer les risques liés aux stocks plus efficacement qu'avec des feuilles de calcul traditionnelles.
traditionnelles.
Graphe de connaissances vs. Concepts connexes
Pour comprendre la valeur unique d'un graphe de connaissances, il est utile de le distinguer des technologies connexes de gestion et de recherche de données.
de gestion des données et de recherche.
-
Base de données vectorielles: Une base de données vectorielle
base de données vectorielles stocke les données sous forme d'enchâssements à haute dimension afin de permettre des recherches de similarité (par exemple, trouver des images similaires).
de recherche de similarités (par exemple, recherche d'images qui se ressemblent). Bien qu'elle soit puissante pour la
recherche vectorielle, elle repose sur une proximité mathématique implicite.
mathématique implicite. En revanche, un graphe de connaissances repose sur des connexions sémantiques explicites (par exemple, "A implique B").
-
Base de données relationnelle (SGBDR) : les bases de données traditionnelles (comme SQL) stockent les données dans des tables avec des schémas fixes.
schémas fixes. Elles excellent dans les transactions structurées, mais peinent à traiter des données fortement interconnectées. L'interrogation de relations
relations complexes (par exemple, les amis des amis des amis) est coûteuse en termes de calcul en SQL, mais triviale dans un graphe à l'aide de langages de
des langages de requête tels que SPARQL ou Cypher dans des
bases de données graphiques comme Neo4j.
-
Traitement du langage naturel (NLP):
Le traitement du langage naturel se concentre sur la compréhension et la production du langage humain. Un graphe de connaissances sert souvent de "mémoire" structurée
"mémoire" structurée pour les systèmes de NLP, leur permettant de fonder leurs capacités linguistiques sur des données factuelles dérivées des efforts de Data Mining.
des données factuelles issues de l'exploration des données (Data Mining).