L’Intelligence Artificielle au service de l’analyse sémantique

Panorama des services et des usages

IA FORTE ET IA FAIBLE

L’intelligence artificielle est un ensemble de technologies qui permettent à la machine d’effectuer des tâches jusqu’ici réservées aux humains, car nécessitant un savoir-faire ou une expertise trop complexe à décrire pour les automatiser facilement avec les approches informatiques classiques.

Toutes les IA ne sont pas égales entre elles. La science-fiction a abondamment exploité l’idée des machines pensantes, susceptibles de se révolter contre leurs créateurs (HAL dans 2001 L’odyssée de l’espace) ou au contraire d’aider à rendre le monde meilleur (Her dans le film éponyme). Une telle super IA serait capable de penser par elle-même (et même dotée d’une conscience de soi). Qualifiée d’IA forte ou d’IA générale, elle pourrait par exemple passer avec succès le test de Turing, c’est-à-dire simuler une conversation riche avec un humain qui ne s’apercevrait même pas que son interlocuteur n’en est pas un. Commençons par tordre le cou à une idée romantique : une telle IA forte relèvera du domaine de la SF pour encore longtemps.

En effet, l’intelligence réelle – l’intelligence humaine – reste un mécanisme mystérieux, difficile à comprendre ou à modéliser même au sein des meilleurs labos de recherche. Que ce soit pour discuter, avoir un œil critique sur une feuille Excel, écrire un poème ou conduire une voiture, nous pouvons compter sur notre cerveau d’humain, le produit de millions d’années d’évolution. La vision est la plus ancienne manifestation de l’intelligence : elle nous permet de reconnaître des formes et des mouvements. L’évolution vers homo sapiens amorcée il y a cent mille ans nous a ensuite fait don du langage et de la capacité à représenter des abstractions, y compris le mensonge. L’apparition de l’écriture il y a cinq mille ans a formalisé les règles des langues (lexique, accords, syntaxe…) pour conserver la trace des transactions, histoires et discussions.

La théorie de l’apprentissage elle-même limite l’apparition d’une IA générale. Les travaux de Vapnik et Chervonenkis nous enseignent qu’aucun algorithme d’apprentissage ne peut bien fonctionner d’une manière transverse sur des problématiques différentes. Dit autrement, un algorithme qui fonctionne efficacement sur un problème particulier sera moins performant en moyenne sur les autres problèmes. Le folklore mathématique appelle joliment ceci le ”No Free Lunch Theorem” (« pas de déjeuner gratuit »). Le monde est trop complexe pour qu’il existe un algorithme général permettant de tout apprendre sans faire l’objet d’une adaptation au problème particulier à traiter : du surmesure s’impose souvent.

Une intelligence artificielle ne sait donc apprendre aujourd’hui à résoudre qu’une tache donnée ou à reconnaître un type particulier de formes, qui lui ont été enseignées. Mais qu’est-ce que cela veut dire en pratique ? La machine va, par exemple, savoir apprendre à reconnaître des concepts tels que les marques, produits ou opinions dans les textes écrits par des consommateurs. Ou encore identifier des chatons, des voitures ou des quiches dans des photos. Ou savoir reconnaître des personnes dans des vidéos et lire sur leurs lèvres. En 2018, sur l’ensemble de ces exemples, et beaucoup d’autres, la machine obtient des performances meilleures que les humains (on parle alors de performances surhumaines).

LA LANGUE HUMAINE EST COMPLEXE À COMPRENDRE

L’analyse sémantique consiste à « comprendre » du texte pour en extraire des informations et agir d’une façon plus éclairée, soit en prenant de meilleures décisions, soit en automatisant des tâches répétitives. Soulignons les guillemets autour du verbe comprendre : aucun système informatique ne dispose aujourd’hui d’une capacité de compréhension en profondeur d’un énoncé comparable à celle dont un humain est capable. Cela peut sembler surprenant ou paradoxal, mais la compréhension du langage humain est en effet un sujet d’une grande complexité. En tant qu’humains adultes, nous nous parlons, nous lisons des textes (comme vous êtes en train de le faire) et nous nous comprenons généralement – modulo les malentendus ou l’ironie, quand elle nous échappe. Nous oublions toutefois que pour arriver à ce résultat, nos parents nous ont aidé pendant quelques années à apprendre notre langue maternelle, et nous avons suivi des études pendant une quinzaine d’années avant d’être capables de résumer correctement un texte. A titre indicatif, un cerveau humain compte autour de 100 milliards de neurones là où un réseau de neurones artificiel en compte généralement quelques dizaines de milliers. Le système DeepMind de Google, qui a représenté un investissement financier colossal, en compterait 10 milliards.

Les langues humaines sont complexes car elles contiennent des ambiguïtés à plusieurs niveaux. Nous nous limiterons ici à souligner quelques cas d’ambiguïté lexicale : un mot peut avoir plusieurs sens (homonymes) et, d’une façon symétrique, un concept peut être décrit par différents termes ou expressions (synonymes et paraphrases). Un exemple bien connu concerne le vocable « orange » : ses homonymes peuvent désigner plusieurs concepts : un fruit ; la couleur (du fruit) ; l’entreprise de télécommunications (dont le logo carré reprend la couleur du fruit) ; une ville dans le Vaucluse. Mais aussi des sens moins immédiats, comme des comtés américains ou le plus long fleuve d’Afrique du Sud… Un humain lisant un énoncé qui contient « orange » trouve généralement le sens adéquat dans le contexte sans même y réfléchir, sans considérer ce terme comme ambigu. Il pourra toutefois avoir un doute sur une phrase comme « mon téléphone orange fonctionne bien » (parle-t-on de la marque ou de la couleur ?) ou « j’ai acheté mon téléphone à Orange » (qui pourrait alors désigner la ville ou une boutique de la marque).

Autre problème pour reconnaître la marque Orange : elle a aussi des synonymes. Beaucoup de français l’appellent encore « France Telecom ». Les journalistes utilisent souvent « l’opérateur historique ». Son code d’identification de valeur boursière (ISIN) est FR0000133308.

Enfin, « Orange » n’existe pas qu’en tant que vocable isolé ; il apparaît aussi au sein de dizaines d’expressions multi-mots comme « confiture à l’orange », « tarte à l’orange », « Orange mécanique » ou encore « canard à l’orange ». Ce dernier exemple est intéressant ; en effet, un verbatim de consommateur parlant de « canard à l’orange » serait classé par un système d’analyse naïf, à base de mots clés unitaires, dans les rayons volaille et fruits alors qu’il doit l’être dans le rayon traiteur. Recon- naitre des expressions multi-mots n’est d’ailleurs pas aussi simple qu’il y paraît : en fonction du contexte, une phrase comme « je couvre la pomme de terre » pourrait vouloir dire « avec de la terre, je couvre la pomme (le fruit) » et non « je re- couvre la patate ».

A travers l’exemple d’orange, nous avons rappelé que les noms sont parfois ambigus ; les pronoms peuvent aussi l’être. Pre- nons le texte « le client discute avec le vendeur de l’abonnement ; il lui dit qu’il est top ». La seconde partie contient trois pronoms (« il », « lui », « il ») qui évitent la répétition des noms « client », « vendeur » et « abonnement » qui apparaissant dans la première partie. On parle alors de référence anaphorique, c’est-à-dire de la reprise d’un élément antérieur dans le texte. Une ambiguïté existe toutefois : est-ce que la seconde partie signifie que (i) le client dit au vendeur qu’il est top ou (ii) que le vendeur dit au client que l’abonnement est top ou (iii) que le client dit au vendeur que ce dernier est top ? La compréhension de l’énoncé nécessite souvent de tenir compte d’indices subtils, qui peuvent être présents dans le texte… ou non, forçant alors le lecteur à faire appel à ses connaissances du monde.

On qualifie de langues naturelles celles parlées par les humains, par opposition aux langues construites ou informatiques. Les langues naturelles sont complexes car si elles s’appuient sur des règles, les exceptions y sont nombreuses et connaissent elles-mêmes des exceptions. Par exemple, en français, les verbes du 1er groupe finissent par un « -es » à la 2ème personne du singulier au présent de l’indicatif (« tu manges »). A l’impératif, les formes se terminant par un « e » muet ne pren- nent toutefois pas de « s » (« mange ») … sauf s’ils sont immé- diatement suivis des pronoms « en » ou « y » (« manges-en »). Attention, cette règle vaut pour le pronom « en » et non pour la préposition, car on écrira bien « mange en silence ». Est-ce que le français est particulièrement complexe ? En fait, non. Le russe paraîtra compliqué à un locuteur français à cause de l’alphabet cyrillique, et le chinois encore plus du fait des sinogrammes. Il n’existe pas vraiment de langue naturelle plus complexe ou plus simple qu’une autre. Les petites difficultés que nous, humains, rencontrons en découvrant une langue étrangère ne sont d’ailleurs rien comparées à l’effort nécessaire pour enseigner une langue humaine à une machine qui ne sait fondamentalement que manipuler des 0 et des 1.

EXEMPLES CONCRETS DE TÂCHES D’APPRENTISSAGE

L’analyse sémantique met en œuvre des dizaines de tâches informatiques. Comme le montre la figure 1 sur l’axe horizontal, leur performance est plus ou moins satisfaisante.

L’axe vertical présente leur valeur perçue, plus ou moins intéressantes pour l’utilisateur final, avec des tâches de bas niveau (couper un texte en phrase, couper une phrase en mots, reconnaître une émoticône…), de haut niveau (correction d’orthographe, traduction, résumé…) en passant par des opérations de complexité intermédiaire comme celles décrites précédemment (identification d’expressions multi-mots, désambiguïsation lexicale, résolution d’anaphores).

Les tâches qui apparaissent en haut et à droite de la figure sont celles qui créent de la valeur d’un point de vue métier, et dont les performances sont suffisamment bonnes pour en permettre l’utilisation en production dans la vie réelle. Nous y retrouvons des fonctionnalités que chacun utilise au quotidien depuis des années comme la traduction automatique et la correction d’orthographe.

Nous allons détailler dans la suite la tâche de reconnaissance d’entités, qui permet d’identifier des concepts localement dans un texte, en stabilotant par exemple des marques (comme Orange) et produits (comme les oranges). Un exemple de reconnaissance d’entités est donné en . Il ne faut pas la confondre avec la classification automatique, qui aide à comprendre globalement un texte en déterminant les thématiques qui y sont abordées. Les deux sont souvent un préalable à une tâche plus complexe, l’analyse de sentiments et d’opinions. Les percées récentes en apprentissage automatique, notamment grâce aux réseaux de neurones que nous présenterons plus loin, ont beaucoup contribué à une amélioration spectaculaire de performance sur ces différentes tâches.

RECONNAISSANCE D’ENTITÉS AVEC UN ALGORITHME NAÏF, SANS APPRENTISSAGE

Un algorithme naïf – sans grande intelligence – pour détecter des marques consiste à partir d’une liste regroupant ces marques et à les chercher dans un texte. C’est suffisant pour trouver des noms sans ambiguïté (tels que Danone, Nestlé ou BNP Paribas). Mais les marques qui sont aussi des noms communs (comme Orange, Carrefour ou Total) posent problème à cet algorithme simpliste ; son implémentation (sa traduction en code) peut éventuellement imposer de respecter la casse, en distinguant majuscules et minuscules, pour minimiser le nombre de faux positifs. Cet algorithme est simple mais présente des inconvénients : il ne fonctionne que sur du texte bien écrit et ne sait pas tenir compte du contexte pour lever les éventuelles ambiguïtés.

Une amélioration de cet algorithme consiste à associer à chaque marque à détecter des mots clés qui activent ou inhibent un sens donné. Par exemple, la marque Orange sera associée à une liste de mots activateurs (« téléphone », « abonnement », « internet », « résilier », « portable », « sms »…) et une liste de mots inhibiteurs qui activent tous les autres sens du vocable orange (« couleur », « jus », « pressé », « manger », « kilos »…). Quand l’algorithme trouve une occurrence du mot « orange » qui est un candidat potentiel au sens « marque », il calcule un score en comptant dans les mots qui entourent ce candidat (les mots en cooccurrence) ceux qui correspondent à des activateurs et à des inhibiteurs. Il peut par exemple utiliser une fenêtre de 5 mots à gauche et à droite du mot candidat. D’autres indices peuvent intervenir dans le calcul du score, par exemple le fait d’avoir une casse correcte (respect des majuscules au début des noms propres) ou la présence d’une préposition (comme « à ») juste avant.

Dans la phrase « je vais résilier mon abonnement chez orange » (où le mot candidat est souligné), deux activateurs apparaissent : le sens marque sera donc retenu, même si l’initiale n’est pas en majuscule. En revanche, dans « j’ai acheté 3 kilos d’orange à jus », la présence des inhibiteurs permet de rejeter le sens marque. La limite de cet algorithme est de détecter par erreur de nombreux faux positifs (« j’ai acheté une coque orange pour mon portable »).

L’un des problèmes linguistiques à prendre en charge pendant ce calcul concerne la morphologie, c’est-à-dire le fait qu’un mot peut être décliné en plusieurs variantes. En français, les verbes sont conjugués avec un grand nombre de formes. Par exemple, « manger » produit 35 formes fléchies (« mangeais », « mangerions », « mangeant », « mangeraient » …) qu’il serait inutilement long d’énumérer dans la liste des mots activateurs ou inhibiteurs. Pour détecter « manger » comme possible activateur du sens fruit du mot « orange », l’algorithme doit donc pouvoir ramener chaque forme verbale conjuguée à l’infinitif, qui est sa forme de base. Le même traitement doit être appliqué aux noms et adjectifs, également déclinés en genre et en nombre dans la langue française.

Cette amélioration de l’algorithme naïf initial pour prendre en compte le contexte le rend utilisable dans certains projets. Toutefois, l’algorithme est incapable de généraliser le concept de marque, c’est-à-dire d’en identifier une nouvelle qui serait absente de la liste fournie en entrée. Autre inconvénient, du fait de la complexité de la langue, le travail se révèle rapidement très laborieux pour l’informaticien ou le linguiste en charge de la maintenance manuelle de la liste des mots activateurs et inhibiteurs. Et dans un projet d’analyse sémantique multilingue, cet effort doit être intégralement reproduit sur chaque langue.

LIMITES DE L’IA CLASSIQUE ET DES SYSTÈMES BASÉS SUR DES RÈGLES

Dans l’approche classique de l’intelligence artificielle, un humain – informaticien ou linguiste – explicite des règles pour formaliser la connaissance, ce qui nécessite une double compétence, technique et métier. Mais l’expertise humaine atteint ses limites face à la complexité du monde, notamment quand elle se retrouve dans la richesse des langues naturelles.

Prenons la traduction automatique : démarrée juste après la seconde guerre mondiale, cette discipline représente 70 ans de savoir-faire humain capturé par des règles dans des systèmes d’IA classique. Pour se faire une idée de la complexité de la traduction automatique, il faut comprendre qu’un système de traduction de qualité peut enchaîner plus de 10 couches de traitement. Dans un système de traduction automatique classique, écrit par des experts humains, les erreurs commises à chaque niveau se cumulent et s’amplifient au fur et à mesure que l’information se propage dans les couches, avec un « effet papillon » (de petites causes provoquent de grands effets). Cette expertise est aujourd’hui balayée en quelques heures de calcul par les traducteurs récents utilisant des réseaux de neurones, qui donnent un résultat supérieur aux meilleurs systèmes écrits par des spécialistes.

L’IA classique, programmée avec des règles explicites, convient aux domaines bien formalisés et sait présenter des résultats explicables. Son inconvénient réside dans la difficulté de formalisation des connaissances, car on atteint rapidement les limites d’explicitation de l’expertise humaine.

QU’EST-CE QUE L’APPRENTISSAGE AUTOMATIQUE ?

Le terme machine learning est apparu en 1959 sous la plume d’un chercheur d’IBM, concepteur d’un programme jouant aux dames. Cette branche de l’intelligence artificielle vise à apprendre à une machine à prendre une décision ou à réaliser une tâche, non pas à partir de règles comme précédemment, mais à partir de données exemplifiant la tâche. Le résultat attendu est souvent la reconnaissance d’une forme ou la classification de l’information fournie en entrée. Le processus d’apprentissage commence en fournissant à la machine un jeu d’entraînement constitué d’exemples de la tâche à accomplir ; notons que ces données doivent généralement être fournies en grand nombre pour que l’algorithme soit en mesure d’apprendre à détecter correctement des données nouvelles qui n’existaient pas dans le jeu d’entraînement. Contrairement à l’IA classique, en apprentissage automatique, une connaissance métier est suffisante pour fournir au système des exemples – la connaissance technique étant fournie par les algorithmes d’apprentissage.

Apprentissage supervisé et non supervisé

On distingue une double dimension de l’apprentissage, selon qu’il est supervisé ou non d’une part, et qu’il est « profond » ou non d’autre part.

En apprentissage supervisé, l’humain fournit en entrée à l’algorithme des exemples du phénomène à apprendre en précisant explicitement si l’exemple est positif ou négatif. Il y a une analogie claire avec un parent qui guide son enfant en lui disant « fais ci » ou « ne fait pas ça ».

Avec l’apprentissage non supervisé, la machine va apprendre un phénomène de façon autonome, sans que l’humain ait besoin de l’aider. Les volumes nécessaires pour apprendre, ainsi que la puissance de calcul requise, sont généralement plus important que dans le cas précédent.

Illustrer cette différence sur la reconnaissance d’images. Dans le premier cas, on fournit au système des dizaines de milliers d’images auxquelles des humains ont préalablement associé explicitement des étiquettes précisant les types d’objets qui y apparaissent (une voiture, un chaton…) ; ce travail manuel préalable nécessite beaucoup de temps. En mode non supervisé, en analysant des millions d’image, la machine va les séparer automatiquement en quelques centaines de groupes présentant des propriétés communes ; certains de ces groupes contiendront majoritairement des voitures, d’autres des chatons… et ce sera à l’humain de qualifier chaque groupe par une étiquette globale.

De même, en analyse sémantique des textes, l’apprentissage non supervisé excelle à regrouper des documents similaires par affinité, avec des thématiques communes. C’est pratique pour amorcer rapidement un plan de classement ou de codification à partir d’un corpus.

Apprentissage profond

La distinction entre apprentissage profond ou non est moins claire. Le terme deep learning est apparu récemment (à la conférence NIPS en 2007 pour la première fois, semble-t-il) : il marque une rupture technologique par rapport au machine learning classique, parfois requalifié en shallow learning. Il y a certes une dimension marketing dans ce terme, mais aussi une réalité scientifique et technologique qui se traduit concrètement par une amélioration des résultats, quand on les com- pare à ceux des systèmes d’apprentissages antérieurs. On parle généralement de deep learning quand on met en œuvre des réseaux de neurones à couches cachées.

Aïe, des maths complexes (mais ce n’est pas grave)

Ouvrons une parenthèse pour découvrir ce qu’il y a sous le capot. Il existe une grande variété d’algorithmes d’apprentissage, qui portent souvent un nom barbare : SVM, filtre bayésien, CRF, réseaux de neurones à convolution… Leur rôle est fondamentalement de tester si un élément appartient ou non à une catégorie (on parle aussi de classe).

Par exemple, pour la reconnaissance d’entités en analyse sémantique, leur rôle peut être de prédire si chaque mot d’un texte est une marque (par exemple) ou non (mot « normal »). Un algorithme supervisé apprendra cette distinction à partir d’un corpus d’apprentissage dont chaque mot aura préalablement été annoté en tant que marque ou mot normal ; chaque mot est aussi associé à des caractéristiques (on en donnera un exemple par la suite). L’algorithme va apprendre à projeter ces mots en tant que points d’un espace vectoriel ; il essaie ensuite de couper cet espace en deux, en créant la marge la plus vaste permettant de bien séparer ces ensembles de points. Si on projette ces données sur un plan à deux dimensions, le plus simple serait de tirer un trait entre les deux classes (ici, celle des marques et celle des mots normaux). C’est un problème mathématique de séparation linéaire. Le langage humain étant particulièrement complexe, la classification nécessite parfois que l’algorithme « déforme » l’espace (en passant à une dimension supérieure) pour se ramener à un problème de séparation linéaire. Disons-le clairement, ces algorithmes d’appuient sur de maths de niveau classe prépa, avec des calculs de probabilité complexes.

Heureusement, de nombreuses implémentations de ces algorithmes sont aujourd’hui disponibles en open source, proposées par Google (TensorFlow), Facebook (FastText, Py- Torch…), Microsoft (Cognitive Toolkit) ou par des académiques (Theano). Ces bibliothèques de code sont plus ou moins facilement utilisables, car destinées en premier à un public de data scientists, et conçues pour travailler sur des big data.

L’avantage concurrentiel des géants du web (Google, Apple, Facebook, Amazon et Microsoft) est justement de disposer d’immenses quantités de données, notamment textuelles : en effet, leurs moteurs de recherche indexent le web public et le web privé ; ces données ne sont évidemment pas mises à disposition, mais seulement les modèles qui en sont issus. Un utilisateur d’une bibliothèque de code devra donc procéder à un apprentissage sur ses propres données… d’un volume très modeste par rapport à celles dont disposent les géants du web.

Or l’apprentissage profond non supervisé nécessite de grands volumes en entrée (de l’ordre du milliard de mots) pour apprendre d’une façon efficace. Dès lors, comment faire bénéficier des avantages offerts pour traiter son propre corpus (les verbatim clients, par exemple) qui ne compte que quelques millions de mots ? Un modèle de représentation vectorielle de mots peut être entraîné de manière non-supervisée, complètement automatiquement, sur des corpus énormes comme la Wikipédia. Il dispose alors de représentations de phrases réutilisables pour des tâches de classifications sur des plus petits volumes. Cette idée est la base de l’apprentissage par transfert (transfer learning en anglais), un champ de recherche actif en apprentissage ; il peut être vu comme la capacité d’un système à reconnaître et appliquer des connaissances apprises à partir de tâches antérieures (la langue générale, apprise sur la Wikipédia) sur de nouvelles tâches ou domaines partageant des similitudes (le corpus qu’on souhaite analyser).

RECONNAISSANCE D’ENTITÉS PAR APPRENTISSAGE SUPERVISÉ

Nous présentons ici un cas d’apprentissage supervisé de la reconnaissance d’entités. Dans le cas de l’analyse sémantique, la contribution humaine est double en amont :

  • Un corpus annoté est fourni à la machine ; il s’agit générale- ment de quelques milliers de textes préalablement stabilotés à la main pour y marquer les types d’entités à reconnaître (mettons des marques et des produits). Ce travail d’annotation est généralement long et fastidieux : on peut l’accélérer en utilisant l’algorithme naïf vu précédemment pour l’amorcer ; une correction manuelle des annotations produites automatiquement reste toutefois indispensable pour enlever les plus grosses
  • Les caractéristiques à prendre en compte pour analyser chaque mot du texte sont explicitées à la Il peut s’agir de sa longueur, de sa terminaison, de sa catégorie grammaticale (nom, verbe, adjectif…), des deux autres mots qui apparaissent juste avant et après, etc.

La figure suivante montre un extrait d’un corpus d’apprentissage d’une dizaine de milliers de documents courts, annotés manuellement en marques (en rouge : « Garnier », « Roger Gallet »…) et en produits (en bleu : « merguez », « sommier »…).

En fonction des spécificités du corpus et de la tâche ciblée, on choisit un algorithme adapté qui apprend de chaque exemple et sera capable de généralisation à de nouveaux cas ; il pourra donc détecter des marques et produits inconnus, sans se limiter à une liste apprise « par cœur ». C’est pourquoi on peut parler d’intelligence (artificielle).

Dans la figure suivante, les mots soulignés montrent concrètement les résultats de l’apprentissage. Deux nouvelles marques ont été détectées : « PRIM’ GRILL » et « ivana » ; grâce aux nombreux cas présents dans le corpus, l’algorithme a conclu qu’un mot inconnu précédé du nom « marque » doit justement être annoté comme une marque. De même, il apprend qu’un mot inconnu précédé du verbe « commander » est probablement un produit, et propose « automatisme pour portail ».

Autre point intéressant : la machine peut même proposer des corrections d’erreurs d’annotations sur le corpus fourni pour l’apprentissage. Par exemple, elle identifie dans le premier texte que le produit n’est peut-être pas « Lait » (celui qu’on boit), mais un autre produit « Lait Après Soleil » (pour hydrater la peau). Dans le cadre d’une coopération homme-machine, ces corrections peuvent être proposées à la personne en charge de la constitution du corpus annoté pour qu’il les intègre. Grâce à cette boucle vertueuse, le corpus corrigé peut faire l’objet d’un nouvel apprentissage, avec des résultats de meilleure qualité.

APPRENTISSAGE PROFOND AVEC LES RÉSEAUX DE NEURONES ARTIFICIELS

L’apprentissage supervisé vu précédemment permet d’inférer de nouveaux concepts mais souffre d’une double faiblesse : le temps de constitution du corpus annoté et l’identification explicite des caractéristiques à détecter. L’apprentissage profond (deep learning), qui représente actuellement le nec plus ultra des technologies disponibles, permet de lever ces limitations. De même qu’une aile d’avion s’inspire de celle d’un oiseau, il s’agit ici de s’appuyer sur des théories neurophysiologiques pour essayer de reproduire les mécanismes du cerveau humain en créant un réseau de neurones artificiels capable de reconnaître des formes, classer des mots, etc.

Un réseau de neurones comporte a minima une couche d’entrée (qui reçoit un stimulus, comme une image à reconnaître) et une couche de sortie (qui fournit une classification de l’image). Il peut éventuellement exister des couches cachées intermédiaires entre l’entrée et la sortie.

La genèse de l’apprentissage profond remonte à 1957, avec la création de l’algorithme du perceptron, un réseau de neurones simple, sans couches cachées. En 1969, un article démontra l’incapacité théorique du perceptron à traiter les problèmes non séparables linéairement, ce qui en freina le développement. Mais cette limite fut levée dans les années 1980 avec le perceptron multicouche, relançant la recherche et l’intérêt industriel sur le sujet. L’intérêt des réseaux de neurones devint évident dans les années 1990 pour certaines tâches, notamment la reconnaissance optique de caractères. Il fallut toutefois attendre les années 2010 pour que les réseaux de neurones se généralisent sur des tâches aussi variées que la reconnaissance d’images, la traduction automatique, les jeux de stratégie ou la voiture autonome.

Trois facteurs ont accéléré cette adoption : l’augmentation de la puissance de calcul (utilisation des cartes graphiques en plus des processeurs), l’apparition de données massives (web et notamment Wikipédia pour l’apprentissage du langage) et l’amélioration de l’algorithmique mathématique.

L’analyse sémantique de textes a récemment capitalisé sur les acquis d’autres branches de l’apprentissage, notamment la vision par ordinateur qui utilise depuis longtemps les réseaux de neurones à convolution. Une image est représentée naturellement par une matrice de pixels. Comme montré en , le réseau reçoit en entrée, sur sa couche externe, un tableau de pixels. Les premières couches du réseau à convolution extraient automatiquement les caractéristiques d’une image (traits, angles, arrondis…) puis créent de nouvelles images contenant une information plus abstraite et donc plus compacte (le code CNN) que le tableau de pixels initial. Les sorties de cette partie convolutive alimentent ensuite les couches suivantes du réseau de neurones, qui vont jouer un rôle de classifieur en les combinant ensemble pour identifier des objets (un chaton, un piéton en train de traverser…) et décrire l’image dans sa globalité d’une façon synthétique.

Le domaine de l’analyse sémantique a connu en 2013 une petite révolution avec la sortie des premiers modèles de représentation vectorielle de mots, en particulier l’algorithme word-2vec. Soulignons toutefois que word2vec n’est pas tant un algorithme révolutionnaire qu’une implémentation très bien optimisée d’idées qui existaient déjà, réalisée avec des paramètres particulièrement bien choisis. Il s’agit d’un réseau de neurones à deux couches entraîné pour reconstruire le contexte linguistique des mots en calculant ce que les anglo-saxons appellent un word embedding (« plongement de mots » ou « plongement lexical » en français). Word2vec apprend sur un corpus de grande taille comment transformer les mots en vecteurs. Le principe sur lequel il repose – l’hypothèse distributionnelle – a été popularisé dans les années 1950 sous la forme suivante : “a word is characterized by the company it keeps” (« un mot est défini par les mots qui l’entoure »). De même que Monsieur Jour- dain fait de la prose sans le savoir, nous mettons en œuvre une analyse distributionnelle quand nous lisons la bande dessinée des Schtroumpf ; devant une phrase comme « c’est vraiment schtroumpfant de devoir refaire trois fois la même chose », notre vieux cerveau d’humain infère tout naturellement que « schtroumpfant » veut dire, dans ce contexte, « agaçant », « énervant », « ennuyeux » ou tout autre synonyme équivalent.

Les modèles de représentation vectorielle de mots ont apporté au texte la représentation compacte intermédiaire qui lui manquait, prenant en compte la synonymie ainsi que les autres spécificités inhérentes à chaque langue. Représenter des mots par des vecteurs dans un word embedding offre des propriétés fascinantes. Les mots apparaissant dans des contextes similaires (« chat » et « chien » ou « France » et « Espagne ») possèdent des vecteurs relativement proches dans l’espace vectoriel calculé par l’algorithme. Le modèle de représentation vectorielle rend même possible des calculs sur les concepts sous-jacents aux mots : par exemple, poser la question « Paris est à la France ce que Madrid est à… ? » revient à une simple addition de vecteurs (et trouve ici l’Espagne).

Les réseaux de neurones à convolution ont donc désormais leur équivalent pour analyser du texte. Avec un fonctionnement analogue à celui de la vision artificielle, le modèle détecte les groupes de mots intéressants, les négations et d’autres phénomènes linguistiques pour obtenir une représentation compacte globale au niveau de la phrase ou du document. Ces modèles se sont également étoffés pour répondre aux spécificités du traitement du langage naturel à différents niveaux. Ils permettent de représenter des relations de généralisation / spécialisation (animal / chat ou capitale / Paris, par exemple) ou de découvrir automatiquement les caractéristiques morphologiques des langues en analysant les suites de caractères (il trouve par exemple qu’en français les adverbes se terminent en « ment »). L’algorithme fastText de 2016 ajoute à chaque mot les suites de lettres qui constituent le mot. Les applications de ces modèles sont nombreuses : correction orthographique, traduction automatique, classifications de documents, chatbots… pour n’en citer que quelques-unes.

Les algorithmes d’apprentissage profond par réseaux de neurones s’opposent aussi aux algorithmes d’apprentissage classiques du fait du nombre de transformations réalisées sur les données entre la couche d’entrée et la couche de sortie. En effet, ils « tordent » l’espace et permettent de représenter avec pertinence des phrases qui auraient des représentations très similaires avec les méthodes traditionnelles. Par exemple, si on compare les deux phrases « si déçu par le film, n’allez pas le voir, vraiment je ne l’aime pas ! » et « j’aime ce film ! allez le voir, vous ne serez pas déçu », elles contiennent quasiment les mêmes mots mais ont des sens opposés. Avec les techniques d’apprentissage classiques (vecteurs de mots avec pondération TF-IDF), leurs représentations sont très proches et un algorithme de classification n’arrivera pas à les différentier. En revanche, un algorithme de deep learning saura prendre en compte l’ordre des mots et adapter la représentation de la phrase en conséquence.

Appliqué à la tâche de reconnaissance d’ entités, l’apprentissage profond utilisant les réseaux de neurones donne des résultats qui améliorent l’état de l’art par rapport à tous les autres algorithmes connus. Le réseau est par exemple capable de proposer automatiquement différents sens du vocable « orange » (couleur, marque télécom, fruit) à partir de ses contextes d’apparition dans un corpus d’apprentissage constitué de verbatims de consommateurs, puis de reconnaître ces sens dans de nouveaux verbatims.

QUID DES PROJETS DANS LA VRAIE VIE ?

Proxem met en œuvre l’apprentissage automatique avec succès depuis 10 ans ; nous avons embrayé sur l’apprentissage profond en 2014. Le Proxem Studio, lancé en 2017, est le fruit de 30 années hommes de R&D. Grâce aux assistants intelligents intégrés au Studio, un utilisateur métier devient autonome pour paramétrer son propre projet, sans avoir de compétences poussées en informatique ou en linguistique. A date, il a été utilisé sur plus de 150 projets d’analyse sémantique. Notre philosophie repose sur une approche pragmatique et deux principes.

D’une part, laisser l’humain dans la boucle. L’apprentissage est ainsi utilisé comme facteur de gain de productivité, en laissant à l’humain son rôle de validation. Plutôt que de parler de système « auto-apprenant », nous préférons une interaction homme-machine dans laquelle le logiciel prérganise l’ensemble des concepts (qui peuvent se compter en milliers sur les corpus de grande taille) ; l’utilisateur métier garde la main, en ayant la responsabilité de valider rapidement et d’ajuster la hiérarchie proposée par la machine. On parle dans ce cas d’apprentissage faiblement supervisé.

D’autre part, mixer astucieusement apprentissage automatique et moteurs de règles. Cela crée un système hybride qui tire parti du meilleur des deux mondes, notamment en permettant d’expliquer les résultats obtenus.

Analyse sémantique « quali-quantifiée » des corpus

L’analyse sémantique, boostée par l’apprentissage, permet en premier de prendre de meilleures décisions. L’analyse des questions ouvertes couvre des domaines aussi variés que les enquêtes de mesure de l’expérience client (NPS, CES ou CSAT), les tests produits, les études RH sur la satisfaction des collaborateurs ou encore les enquêtes d’opinion (voix des citoyens). L’identification des sentiments et émotions permet de mesurer la perception associée à l’ensemble des concepts (produit, service, moment clé du parcours client) et de calculer la tonalité globale d’un message.

Les contacts entrants non sollicités (emails, formulaire de contact, chats…) constituent un autre canal complémentaire d’informations riches. Les systèmes sémantiques s’appliquent aussi en sortie de la transcription (speech-to-text) des conversations téléphoniques des centres de relation clients. L’analyse en temps réel de tous ces retours clients permet de capter des signaux faibles qui permettent concrètement d’augmenter les ventes, d’améliorer la qualité des produits et services, d’anticiper des risques (sanitaires ou juridiques), de diminuer l’attrition et d’identifier des tendances.

Les analyseurs sémantiques créés pour ces projets d’écoute peuvent aussi servir à traiter et valoriser les contributions issues du web social. Même si les réseaux sociaux soulèvent des questions méthodologiques de représentativité (voire de manipulation), la collecte et l’analyse sur ces canaux contribue au benchmarking concurrentiel ; en effet, les internautes comparent souvent les produits de plusieurs marques ; il devient donc possible de comprendre les motivations des non-clients.

Automatisation des tâches répétitives pour fluidifier la relation clients

La connaissance accumulée par la machine sert aussi à automatiser des tâches répétitives. La priorisation d’un document unitaire et son routage vers le bon destinataire permettent de gagner du temps et de gérer immédiatement les situations critiques. Cet intérêt est évident pour les emails, mais aussi pour les enquêtes ou les contributions sur le web social, qui deviennent dans l’esprit du consommateur un point de contact, avec une réponse rapide attendue.

Les technologies sémantiques sont au cœur des chatbots performants. Elles servent également à modérer automatiquement les commentaires des internautes sur le site marchand, ou à générer une réponse pertinente à un email client. Le bénéfice de ces nouveaux usages est non seulement un gain de temps mesurable (diminution de la durée moyenne de traitement) mais aussi une amélioration de la réactivité vis-à-vis du client.

Autres apports de l’apprentissage automatique

Pour bien fonctionner, l’analyse sémantique doit s’adapter aux spécificités d’un univers de marques et d’une source. La force de l’apprentissage automatique est justement d’autoriser une analyse sur-mesure, à un coût abordable, dans des délais maîtrisés.

En début de projet, l’apprentissage profond permet de faire émerger les concepts pertinents à partir du corpus et d’amorcer rapidement un premier plan de classement (aussi appelé taxonomie) qui évite le syndrome de la page blanche.

Pendant la vie du projet, l’intelligence artificielle permet aussi de détecter les concepts nouveaux au fur et à mesure de leur apparition (par exemple des marques) et d’enrichir la taxonomie existante avec un corpus qui évolue. Enfin, ces systèmes permettent de mettre en évidence des phénomènes émergents, en détectant des signaux faibles imperceptibles à l’œil nu, dès leurs prémices.

Enfin, une force de l’apprentissage profond est la capacité à traiter simultanément la plupart des langues. A partir du moment où un corpus de large taille est disponible pour une langue (Wikipédia ou historique de verbatims), un modèle de langue peut être appris automatiquement. Il devient alors possible de centraliser tous les verbatims au sein d’un même référentiel et ainsi de mesurer les phénomènes, quelle que soit la langue dans laquelle ils sont exprimés. C’est idéal, dans un monde globalisé, pour comprendre ce qui se passe dans une filiale étrangère ou adapter une offre à des spécificités culturelles.