L'apprentissage de plongements de graphes de connaissances (KGE), également connu sous le nom d'apprentissage de représentations de connaissances (KRL) ou d'apprentissage multi-relations, est une tâche d'apprentissage automatique qui apprend une représentation de faible dimension des entités et des relations d'un graphe de connaissances tout en préservant leur signification. En convertissant des données graphiques symboliques en vecteurs numériques denses, le KGE permet d'utiliser les graphes de connaissances dans diverses applications telles que la prédiction de liens, la classification de triplets, la reconnaissance d'entités, le regroupement et l'extraction de relations. Cette approche s'inscrit dans le domaine plus large de l'apprentissage de représentations et est étroitement liée aux techniques de apprentissage automatique utilisées dans les systèmes modernes d'intelligence artificielle.
Un graphe de connaissances est formellement défini comme une collection d'entités, de relations et de faits, où chaque fait est un triplet (tête, relation, queue) désignant un lien entre deux entités. Cette structure est souvent exprimée à l'aide de la notation Resource Description Framework (RDF). Les graphes de connaissances représentent des connaissances spécifiques à un domaine sous une forme structurée, permettant d'inférer de nouvelles connaissances après affinement. Cependant, les applications réelles sont confrontées à des défis de parcimonie des données et d'inefficacité computationnelle. Le KGE aborde ces problèmes en plongeant chaque entité et relation dans un vecteur d'une dimension choisie, permettant un calcul efficace et une généralisation.
Le plongement d'un graphe de connaissances est une fonction qui traduit chaque entité et relation en un vecteur d'une dimension donnée, appelée dimension de plongement. Il est possible de plonger les entités et les relations avec des dimensions différentes. Les vecteurs de plongement résultants peuvent ensuite être utilisés pour des tâches en aval. Un plongement de graphe de connaissances est caractérisé par quatre aspects : l'espace de représentation (l'espace de faible dimension pour les entités et les relations), la fonction de score (une mesure de la qualité des plongements de triplets), les modèles d'encodage (comment les représentations plongées interagissent) et les informations supplémentaires (toute donnée de graphe additionnelle qui enrichit la représentation, souvent intégrée via une fonction de score ad hoc).
Procédure de plongement
Tous les algorithmes pour créer un plongement de graphe de connaissances suivent une approche commune. D'abord, les vecteurs de plongement sont initialisés avec des valeurs aléatoires. Ensuite, ils sont optimisés itérativement en utilisant un ensemble d'entraînement de triplets. À chaque itération, un lot de triplets est échantillonné à partir de l'ensemble d'entraînement, et un triplet corrompu est généré en substituant la tête ou la queue (ou les deux) par une autre entité, créant un fait faux. Les triplets originaux et corrompus sont ajoutés au lot d'entraînement, et les plongements sont mis à jour en optimisant une fonction de score. L'itération s'arrête lorsqu'une condition d'arrêt est atteinte, généralement basée sur le surapprentissage de l'ensemble d'entraînement. À la fin, les plongements appris devraient avoir extrait la signification sémantique des triplets d'entraînement et prédire correctement des faits vrais non vus.
La procédure générale peut être résumée en pseudocode. Étant donné un ensemble d'entraînement, un ensemble d'entités, un ensemble de relations et une dimension de plongement, l'algorithme initialise les plongements aléatoirement. Tant que la condition d'arrêt n'est pas atteinte, il échantillonne un lot à partir de l'ensemble d'entraînement. Pour chaque triplet du lot, il échantillonne un fait corrompu et ajoute à la fois les triplets originaux et corrompus au lot d'entraînement. Les plongements sont ensuite mis à jour pour minimiser la fonction de score, qui mesure la plausibilité des triplets vrais par rapport aux triplets corrompus.
Fonctions de score et modèles
Les fonctions de score sont centrales au KGE, car elles évaluent la qualité de la représentation plongée d'un triplet. Différents modèles proposent des fonctions de score et des mécanismes d'encodage distincts. Les premiers modèles comme TransE représentent les relations comme des translations dans l'espace de plongement, où le vecteur de la tête plus le vecteur de la relation devraient approximer le vecteur de la queue. D'autres modèles, tels que DistMult et ComplEx, utilisent des fonctions de score bilinéaires ou à valeurs complexes pour capturer des interactions plus riches. Des approches plus récentes intègrent des architectures de réseaux de neurones, y compris des modèles de apprentissage profond, pour apprendre des plongements non linéaires. Ces modèles varient dans leur espace de représentation, de l'espace euclidien aux espaces complexes ou hyperboliques, et dans leur capacité à gérer différents types de relations.
Les modèles d'encodage définissent comment les plongements d'entités et de relations interagissent. Certains modèles utilisent des interactions additives ou multiplicatives, tandis que d'autres emploient la factorisation tensorielle ou des couches de réseaux de neurones. Le choix de la fonction de score et du modèle d'encodage affecte l'expressivité et l'efficacité computationnelle du plongement. Par exemple, les modèles avec une expressivité plus élevée peuvent capturer des motifs relationnels complexes mais peuvent nécessiter plus de données d'entraînement et de calcul. Le domaine a connu un développement continu, avec des modèles plus récents intégrant des informations supplémentaires telles que les types d'entités, les descriptions textuelles ou les contraintes temporelles pour améliorer les performances.
Applications
Les plongements de graphes de connaissances permettent une large gamme d'applications. La prédiction de liens est une tâche principale, où le modèle prédit les liens manquants entre les entités, utile pour compléter les graphes de connaissances incomplets. La classification de triplets consiste à déterminer si un triplet donné est vrai ou faux, aidant à la validation des faits. La reconnaissance d'entités et le regroupement exploitent les plongements pour regrouper des entités similaires ou identifier des entités dans du texte. L'extraction de relations utilise les plongements pour identifier les relations entre les entités dans des données non structurées. Ces applications sont critiques dans des domaines comme l'entraînement de grands modèles de langage, où les graphes de connaissances fournissent des informations factuelles structurées, et dans les systèmes de IA générative qui nécessitent un raisonnement sur les connaissances.
En pratique, le KGE a été appliqué dans les systèmes de recommandation, la réponse aux questions et la découverte de médicaments. Par exemple, les plongements peuvent représenter les interactions utilisateur-article ou les structures moléculaires, permettant des recherches de similarité efficaces. Les vecteurs de faible dimension sont également compatibles avec les pipelines standard de apprentissage automatique, permettant l'intégration avec d'autres modèles. Au début des années 2020, les techniques de KGE ont été incorporées dans des systèmes industriels par des entreprises comme Google DeepMind et OpenAI, souvent combinées avec des architectures de transformeurs pour un raisonnement amélioré.
Défis et orientations futures
Malgré ses succès, le KGE fait face à plusieurs défis. La parcimonie des données dans les graphes de connaissances réels limite la qualité des plongements appris, car de nombreuses entités et relations ont peu de triplets observés. L'évolutivité est un autre problème, car l'entraînement sur de grands graphes nécessite des ressources computationnelles importantes. La gestion de données multi-relationnelles et hétérogènes, telles que les faits temporels ou incertains, reste un domaine de recherche actif. De plus, l'évaluation des plongements est non triviale, car les benchmarks standard peuvent ne pas capturer tous les aspects de la préservation sémantique.
Les orientations futures incluent le développement de plongements plus interprétables, l'incorporation de sources de connaissances externes et l'amélioration de la robustesse aux données bruitées. La recherche explore également l'intégration du KGE avec des modèles de réseaux de neurones comme les architectures réseau résiduel et U-Net, bien que celles-ci soient plus courantes dans d'autres domaines. L'utilisation de techniques de augmentation de données et de stratégies de apprentissage curriculaire peut aider à résoudre la parcimonie. Alors que les systèmes d'intelligence artificielle deviennent plus axés sur les connaissances, le KGE est susceptible de jouer un rôle de plus en plus important pour permettre aux machines de comprendre et de raisonner sur des informations structurées.