Les graphes de connaissances et l'apprentissage automatique sont tous deux très en vogue dans le monde de la technologie. Cet article de blog explique la relation entre les deux.
Si vous souhaitez obtenir une vue d'ensemble des graphes de connaissances et des exemples de cas d'utilisation, nous vous invitons à consulter notre précédent article de blog: "Qu'est-ce qu'un graphe de connaissances et que peut-il faire pour vous ?".
Les graphes de connaissances et l'apprentissage automatique s'entremêlent de trois manières différentes :
Ces trois cas d'utilisation reposent sur des recherches récentes en matière d'apprentissage automatique.
Traditionnellement, la construction d'un graphe de connaissances est un processus fastidieux et manuel. Vous devez faire deux choses :
Dans ces deux étapes, l'apprentissage automatique peut être utile.
Au lieu de prédéfinir l'ontologie en utilisant une approche descendante, nous pourrions inverser le processus. Nous partons de données non structurées, comme du texte ou des images, et nous extrayons les entités et leurs relations de ces données tout en apprenant une ontologie au fur et à mesure.
Par exemple, disons que nous avons les données textuelles non structurées suivantes :
Stan Callewaert est la plus grande vedette du film Titanic. Leonardo DiCaprio apparaît également dans Le Titanic.
En utilisant deux techniques d'apprentissage automatique(extraction d'entités et extraction de relations), nous serions en mesure d'extraire 4 entités :
et 2 relations de ce texte :
Ensuite, nous aurons besoin d'algorithmes plus intelligents pour mettre en correspondance les informations extraites avec une ontologie apprise . Dans ce cas, l'algorithme doit d'abord reconnaître qu'il existe une relation qui représente "est un acteur de". Ensuite, l'algorithme doit classer les deux relations extraites comme cette relation.
Ensuite, nous devrons également faire correspondre les entités entre elles si elles font référence à la même chose. Dans le cas présent, "le film Titanic" et "Le Titanic" sont en fait le même film, et nous devons donc procéder à la mise en correspondance des entités en utilisant encore plus d'algorithmes d'apprentissage automatique.
Si tout va bien, nous nous retrouverons avec un mini-graphe de connaissances comme celui-ci :
Cette section aborde en fait une question essentielle de la recherche sur l'IA : "Qu'est-ce que l'intelligence et peut-on l'atteindre en généralisant uniquement à partir d'exemples ?" *passe sans ménagement*
Dans le camp de ceux qui ne font que généraliser à partir d'exemples, il y a tous ceux qui croient dur comme fer aux pouvoirs de l'apprentissage automatique. Ils affirment qu'il suffit de disposer de suffisamment de données et que l'apprentissage de modèles et la modélisation de distributions de probabilités dans ces données sont suffisants pour atteindre l'intelligence.
Dans le camp opposé se trouvent les personnes qui pensent que l'apprentissage automatique ne suffit pas. Leur argument est que l'intelligence a besoin de "bon sens". Cette intelligence a besoin d'une sémantique définie et d'une structure hiérarchique pour les concepts qu'elle connaît.
Très bien, revenons à notre planète.
Comme exemple concret de faits soutenant les modèles d'apprentissage automatique, nous pouvons nous pencher sur l'IA générative. L'IA générative est une branche de l'apprentissage automatique qui vise à générer du contenu nouveau, inexistant et ayant l'air réel. Si vous êtes néerlandophone ou germanophone, vous pouvez essayer le modèle de génération de texte de ML6 ici. (Et voici une version anglaise)
Si vous essayez les modèles, vous verrez qu'ils produisent un langage grammaticalement correct, mais souvent complètement faux d'un point de vue factuel.
Une solution pourrait être d'infuser les connaissances d'un graphe de connaissances dans le système génératif. ML6 propose une autre démonstration et un article de blog impressionnants sur la façon dont les modèles d'apprentissage automatique peuvent générer du texte à partir de certains faits que vous fournissez.
Dans notre autre billet de blog sur les graphes de connaissances, nous avons donné un deuxième exemple de la façon dont les graphes de connaissances peuvent soutenir les modèles d'apprentissage automatique. Nous montrons comment un moteur de recherche peut apprendre à comprendre le contexte d'une requête d'un utilisateur en utilisant la sémantique et la hiérarchie stockées dans un graphe de connaissances.
Les graphes de connaissances sont en fait un cas particulier de la catégorie plus générale des graphes. Les graphes en eux-mêmes sont un sujet énorme en informatique et sont fondamentalement tout ce qui est fait de nœuds connectés. Ainsi, un graphe de connaissances est simplement un graphe étiqueté et dirigé.
Cela signifie également que nous pouvons publier un tas d'algorithmes de graphes et de théorie de l'informatique sur les graphes de connaissances. Puisque nous nous intéressons à l'apprentissage automatique, nous allons examiner certains algorithmes de graphes qui impliquent l'apprentissage automatique.
Voici trois exemples de ce que nous pouvons faire :
Faisons un zoom sur la tâche de classification.
Lorsque nous voulons classer un nœud du graphe avec l'apprentissage automatique, nous voulons apprendre une fonction. La fonction doit transformer l'espace où vit le graphe en un espace différent qui nous permet de faire une classification.
Dans cet exemple, l'algorithme effectue une classification binaire. Chaque nœud est soit rouge soit vert et nous avons quelques exemples de couleurs. Compte tenu des exemples, nous voulons prédire les couleurs pour les noeuds vides.
Ici, l'espace de sortie est simplement la plage entre 0 et 1. Nous entraînerons le modèle de manière à ce qu'il transforme le graphe et prédise un nombre entre 0 et 1 pour chaque nœud. Si le nombre de sortie est compris entre 0 et 0,5, la classification est rouge. Si le nombre est compris entre 0,5 et 1, la classification est verte.
Nous pouvons également étendre cet exemple à un graphe de citations incomplet. Il s'agit d'un graphe où les articles sont liés à leurs auteurs et à leurs citations, mais nous ne savons pas pour tous les auteurs à quel institut ils appartiennent. Nous pouvons maintenant former un algorithme pour prédire les affiliations des auteurs qui n'en ont pas, tout comme nous avons prédit les couleurs dans l'exemple fictif.
Maintenant, si nous jetons un coup d'œil au modèle d'apprentissage automatique, la véritable magie se produit dans la façon dont l'algorithme transforme le graphe en un vecteur vivant dans l'espace de sortie. La plupart des modèles d'apprentissage automatique travaillent avec des images ou du texte pour faire des choses comme la traduction ou la détection d'objets. Ici, l'entrée est un graphe.
Ce n'est que récemment que les chercheurs ont proposé des architectures de modèles capables de traiter également les graphes. Elles sont parfois influencées par des applications de vision par ordinateur, comme les réseaux de neurones convolutifs de graphes. Les exemples sont node2vec et GraphSAGE.
Les graphes de connaissances et l'apprentissage automatique sont les deux brins de la double hélice qui constitue l'ADN des systèmes intelligents. Ils continueront à se développer et à se repousser mutuellement vers de nouvelles limites. Gardez donc un œil ouvert sur ce sujet !