Toute solution visant à traiter des données non structurées (c’est-à-dire la langue, notamment du texte dans la plupart des cas) repose aujourd’hui sur l’une des deux principales approches suivantes : Apprentissage automatique et symbolique. Les deux peuvent être fournis de plusieurs manières (différents algorithmes dans le cas de ML, de la linguistique superficielle à la technologie sémantique dans le cas de Symbolic), mais peu de choses ont été faites jusqu’à présent dans le domaine des approches hybrides. Bien que choisir l’un plutôt que l’autre présentera toujours un compromis entre les avantages et les inconvénients (une plus grande précision venant de Symbolic, plus de flexibilité dérivée de ML), Hybrid AI – ou Hybride NL – est une voie révolutionnaire pour résoudre les défis linguistiques qui peuvent tirer parti du meilleur des deux mondes et, en fin de compte, faire passer vos pratiques de PNL à NLU (Natural Language Understanding). Je ne passerai pas de temps à expliquer comment fonctionnent ML ou Symbolic puisqu’il existe déjà une tonne de littérature à ce sujet, je me concentrerai plutôt cette page sur Hybrid.
Qu’est-ce que passer à l’hybride ?
Pour encadrer cette conversation de manière pratique, nous devons examiner deux aspects : développement et flux de travail. Au stade du développement, devenir hybride signifie qu’une solution symbolique prendra en charge la création d’un modèle d’apprentissage automatique afin de réduire l’effort ou d’améliorer sa qualité. D’autre part, au stade de la production, notre flux de travail peut être pris en charge à la fois par ML et Symbolic pour fournir un résultat plus précis. Dans un projet qui considère la partie Machine Learning le pivot de la solution, le premier type d’intégration place Symbolic en haut (avant même de créer un modèle de Machine Learning), et le second en bas (conservation ou amélioration de la sortie finale). Naturellement, ces deux voies hybrides peuvent être présentes en même temps dans un projet linguistique.
Un exemple de la façon dont Hybrid est implémenté au stade du développement : disons que nous devons classer les documents qui parlent de différents sports, en les étiquetant correctement avec une étiquette décrivant le sport discuté dans chaque document ; à moins que nous ayons des millions de documents pré-étiquetés pour entraîner notre algorithme d’apprentissage automatique, le simple fait de regarder les mots présents dans un document fournira probablement un modèle peu performant (puisque seul un petit pourcentage de mots sera exclusif d’un sport ou un autre). UNE La solution symbolique peut être placée devant la phase de formation, présélectionner et pré-étiqueter les documents dans le but de rendre les choses plus claires et plus faciles pour l’algorithme ML, qui produira finalement un modèle plus précis. Une telle solution symbolique peut, souvent, demander très peu d’efforts si la bonne technologie est choisie (par exemple, une sémantique basée sur un graphe de connaissances solide). En d’autres termes, à ce stade, la technologie symbolique peut ajouter une quantité importante d’informations à chaque document que l’algorithme ML va analyser à des fins de formation (sujets, concepts, principaux acteurs, localisation, entreprises, sentiment, relations, etc.) , ergo, l’algorithme n’aura pas à s’appuyer uniquement sur des mots ou d’autres caractéristiques non linguistiques.
Exemple de relation extraite de la phrase : « Heuking Kühn Lüer Wojtek, avec une équipe dirigée par le Dr John Smith et le Dr Frank Brown, a conseillé Volkswagen GmbH sur l’acquisition de Porsche. Ces informations peuvent faire partie de l’ingénierie des fonctionnalités dans un algorithme ML.
Un exemple d’hybride au stade de la production
Si nous devions mettre en place une solution qui doit extraire les noms des joueurs professionnels et des personnalités des documents, et les étiqueter correctement avec le sport auquel ils sont connectés, nous pouvons imaginer utiliser un modèle ML pour discerner rapidement le sport abordé dans chaque document puis utilisez une solution symbolique pour extraire les noms. Un encore plus application commune de l’IA hybride dans un workflow de production est observé lorsqu’une approche symbolique est utilisée pour affiner la sortie d’un modèle ML qui aurait pu avoir un rappel élevé mais seulement une précision modérée (plus de détails ici); dans ce cas, la pièce symbolique n’a pas besoin d’être ultra-précise car elle repose sur le modèle ML qui élimine beaucoup de bruit, et en même temps le modèle ML n’a pas besoin d’être extrêmement précis car il repose sur la partie symbolique à la fin du pipeline de production pour filtrer les erreurs. Cet exemple devrait montrer à quel point un tel système serait flexible, lorsqu’on nous offre la possibilité de trouver le bon équilibre entre les deux approches et de les faire fonctionner de concert.
D’un point de vue architectural, il convient de noter qu’Hybrid au stade du développement sépare ML et Symbolic (l’algorithme ML se fiant à la qualité des données d’entraînement avec lesquelles il travaille, sans vraiment savoir qui ou ce qui a produit ces données), tandis qu’Hybrid à la production cadeaux de scène un pipeline plus long où Symbolic et ML participent à la fois et contribuer au résultat final. Cela doit être pris en compte en termes de rapidité et de temps de traitement, chaque fois qu’une demande s’avère exigeante à ces égards. Sur ce, un chapitre qui serait trop long pour être dans cet article est lié à la consommation d’énergie et au temps de traitement, et au fait qu’ils n’augmentent pas forcément dans une application Hybride ; cela dépend sûrement, comme la plupart des choses, du défi spécifique à relever, mais de nos jours, les modèles ML sont devenus extrêmement lourd, et, le plus souvent, l’ajout de Symbolic au flux de travail permet un modèle plus léger et, par conséquent, l’ensemble du pipeline hybride finit par être moins gourmand en calcul que l’équivalent basé uniquement sur une solution de ML beaucoup plus robuste.
Conclusion
Cette écriture veut juste être un article d’introduction à l’IA hybride, donc je ne vais pas plonger dans les nombreux autres facettes et avantages (que j’aborderai probablement un par un dans les prochains articles de toute façon), mais je m’en voudrais de ne pas en mentionner brièvement quelques-uns : en plus de réduire les efforts et d’augmenter la précision, un système hybride peut réagir rapidement au changement ; si un problème est rencontré, si la langue change, si un nouveau joueur ou une nouvelle terminologie apparaît du jour au lendemain, la partie symbolique du pipeline peut être rapidement mise à jour avec une précision de mise au point laser, tandis qu’un système de ML pur devra être recyclé (avec toutes les incertitudes en termes de travail et de temps qui accompagnent ce plan d’action). Même si nous limitions cette conversation à la valeur au sens le plus strict, cet avantage particulier a un impact mesurable, et pas seulement en termes d’effort mais aussi de réactivité (ce qui est primordial dans les cas d’utilisation du service client, les opportunités manquées dans les services financiers industrie, etc.) Au-delà du retour sur investissement, un système hybride permettant un modèle de ML plus léger présente également un autre avantage : impact environnemental; la consommation d’énergie est devenue un sujet sérieux dans le monde du Machine Learning, et, lorsque Symbolic fait partie d’une solution linguistique, cela apporte des connaissances que le modèle ML n’a plus à apprendre.