Quand les humains parlent aux ordinateurs

Quand les humains parlent aux ordinateurs

Dire que les ordinateurs dépassent les humains dans de nombreux domaines relève maintenant de l’euphémisme. Les ordinateurs ont des capacités de calcul et de stockage bien supérieures à l’humain et permettent de résoudre des problèmes auparavant insolubles. Cependant, l’inverse se vérifie aussi : certaines tâches conservent une part de mystère pour les ordinateurs. Une tâche en particulier caractérise ce phénomène : la compréhension du langage. Bien qu’étant une capacité que l’humain acquiert tôt dans sa vie, il est très complexe de faire comprendre le sens des mots à un ordinateur. Pire, il est encore plus difficile d’expliquer la construction d’une phrase, la syntaxe et surtout la sémantique. Ce problème, longtemps non résolu, aurait pourtant des applications dans de nombreux domaines. Les plus évidents sont probablement la traduction, la correction automatique de texte, l’auto-complétion de mots ou encore les suggestions de mots, maintenant largement répandues dans les téléphones mobiles. D’aucuns pourraient aussi se prêter à rêver à des ordinateurs écrivains, romanciers, journalistes. Alors comment inculquer la compréhension du langage à un ordinateur ?

 

La clé pour se faire comprendre ? Les maths

Afin de rendre le langage humain compréhensible par un ordinateur, il est nécessaire de le traduire dans un langage qui lui sera compréhensible. Un des principaux paradigmes est de créer des représentations mathématiques de la phrase. La représentation la plus classique est la représentation dite vectorielle : chaque phrase, document ou mot sera représenté par un tableau de nombres, c’est-à-dire un vecteur, permettant de résumer son contenu et le représenter dans l’espace. La granularité de cette représentation, c’est-à-dire la quantité d’informations contenues, variera en fonction de la complexité de la représentation choisie.

 

Les stats rentrent dans la danse

Historiquement, une des premières représentations statistiques est le sac de mots. Le principe est le suivant : une phrase est représentée par un vecteur composé de 0 et de 1. Ce vecteur est de la taille totale de ce qui est appelé le vocabulaire, l’ensemble des mots que la phrase pourrait potentiellement contenir. Chaque mot du vocabulaire est associé à une case du vecteur. Si le mot est effectivement présent dans la phrase, alors le nombre dans cette case sera égal à 1. Si le mot n’est pas présent dans la phrase, le nombre le représentant dans ce vecteur sera égal à 0. Ainsi, le mécanisme du sac de mot permet de représenter une phrase à l’aide de la présence ou l’absence dans celle-ci de chacun des mots du vocabulaire.

 


Figure 1 – Exemple de sac de mots.  

 

Cette représentation est simpliste et exprime certaines limitations. L’ordre des mots n’est pas du tout pris en compte. Il n’est pas non plus possible de savoir si un mot apparaît plusieurs fois dans une même phrase. De plus, si un mot présent dans la phrase n’a pas été inclus dans le vocabulaire, nous ne pourrons pas le représenter. Enfin, chaque mot présent dans la phrase a la même importance dans la représentation. Ceci est certainement la plus grande des limitations citées : dans une phrase, il est évident que certains mots, comme par exemple les noms et les verbes, sont porteurs de plus d’informations que d’autres comme les déterminants.

 

Pour pallier ce problème, des représentations statistiques plus complexes ont été proposées. La plus répandue est nommée TF-IDF (Term Frequency-Invert document frequency, que l’on peut traduire par fréquence du terme- Fréquence inverse de document). Cette méthode est une méthode de pondération permettant d’évaluer l’importance d’un terme contenu dans un document. Cette pondération est calculée à l’aide de la fréquence du terme dans le document par rapport à sa fréquence d'apparition dans l’ensemble du corpus, c’est-à-dire l’ensemble de documents qui sera utilisé comme échantillon représentatif de la langue à transcrire. Afin de bien comprendre ce qu’est un document et un corpus, voici des exemples : un document est le poème « Le Corbeau et le Renard » de La Fontaine, tandis que le corpus est l’ensemble de son œuvre. Ainsi, un mot très fréquent dans un document, mais aussi très fréquent dans le corpus est porteur de peu d’informations : c’est probablement un déterminant tel que « le » ou « la ». En revanche, un terme dont la fréquence est très élevée dans le document mais plus faible dans le corpus sera certainement porteur de beaucoup d’informations et permettra de bien comprendre le sujet du document. La méthode TF-IDF permet de comparer la fréquence d’un mot dans le document comparé à sa fréquence dans le corpus, et de lui donner un poids plus ou moins élevé en fonction de ce ratio.

 

Cette méthode est très efficace et est encore utilisée dans la fouille de texte actuellement. Cependant, cette technique souffre aussi de limitations, notamment qu’aucune importance n’est donnée au sens du terme. Sa représentation est purement statistique, basée uniquement sur des fréquences d’apparition de ce terme. Aucune information concernant le sens du terme n’est donc intégrée dans cette représentation.

 

Pas encore créatif mais en constante évolution

Comme de nombreux domaines de l’informatique, la représentation du langage est elle aussi révolutionnée par l’intelligence artificielle. Le premier modèle à avoir révolutionné le domaine est connu sous le nom de Word2vec, mot vers vecteur. Son principe est le suivant : un modèle d’intelligence artificielle, et plus précisément un réseau de neurones, va être entraîné à représenter un mot en fonction de l’utilisation qui en est faite dans un corpus d’entraînement.

En pratique, supposons que l’on veuille entraîner un modèle Word2vec de manière à lui apprendre à représenter les mots de la langue française. Le processus va être le suivant : nous allons lui fournir un grand nombre de textes en français, comme par exemple l’ensemble des articles de Wikipédia francophone. L’hypothèse selon laquelle le modèle va apprendre est que deux mots utilisés dans un contexte similaire ont un sens proche. L’objectif final du modèle étant de produire un vecteur de représentation du mot permettant de traduire le sens de ce mot. Ainsi, deux mots au sens proche seront associés à des vecteurs dont les valeurs seront proches.

Pour illustrer ce concept, le modèle doit produire des représentations pour les mots de telle manière que : roi – homme + femme = reine.

L’opération ci-dessus est effectuée sur les vecteurs de représentation de chacun de ces mots.

 

 

Figure 2 : Illustration du principe de fonctionnement du modèle Word2vec. (Inspiré de:kawine.github.io/)

 

Ainsi, le modèle Word2vec va nous permettre de produire pour chaque mot une représentation qui a été apprise en étudiant le contexte dans lequel le mot a été employé. Chaque mot est donc associé à un unique vecteur, ce vecteur étant censé traduire l’ensemble des sens que le mot peut prendre. En pratique, ce n’est pas exactement le cas. En effet, cette représentation statique est forcément biaisée par les fréquences d’apparition de chaque sens du mot. Par exemple, vivre est plus souvent employé dans le sens du verbe vivre que d’un vivre, une denrée alimentaire. Ainsi, le modèle, qui a été confronté plus souvent à un sens qu’à l’autre, aura tendance à produire un vecteur traduisant plutôt le premier sens. Cette limitation peut être outrepassée par la représentation dynamique de mots ou de documents.

 

Les représentations dynamiques de mots, qui représentent l’état-de-l’art actuel, révolutionnent de nombreux pans du traitement du langage, comme la compréhension des requêtes par les moteurs de recherches, la traduction, qui s’effectue maintenant à l’échelle de la phrase, ou encore la correction orthographique. Ces avancées permettent aux ordinateurs d’appréhender une partie de la richesse que représente le langage humain, parfois même en dépassant leurs performances sur certaines tâches. Si la créativité n’est pas encore une de leurs capacités, il est certain que la révolution est en cours dans de nombreux aspects de la communication.



Sources :

  1. JONES, Karen Sparck. A statistical interpretation of term specificity and its application in retrieval. Journal of documentation, 1972.
  2. DEVLIN, Jacob, CHANG, Ming-Wei, LEE, Kenton, et al. Bert: Pre-training of deep bidirectional transformers for language understanding. arXiv preprint arXiv:1810.04805, 2018.
  3. MIKOLOV, Tomas, SUTSKEVER, Ilya, CHEN, Kai, et al. Distributed representations of words and phrases and their compositionality. Advances in neural information processing systems, 2013.
  4. https://kawine.github.io/blog/nlp/2019/06/21/word-analogies.html
Commentaire ( 0 ) :
27 janvier 2021
Auteurs

S'inscrire à notre newsletter

Nous publions du contenu régulièrement, restez à jour en vous abonnant à notre newsletter.