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:
- JONES,
Karen Sparck. A statistical interpretation of term specificity and its
application in retrieval. Journal
of documentation, 1972.
- 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.
- MIKOLOV,
Tomas, SUTSKEVER, Ilya, CHEN, Kai, et
al. Distributed representations of words and phrases and their
compositionality. Advances
in neural information processing systems, 2013.
- https://kawine.github.io/blog/nlp/2019/06/21/word-analogies.html
Commentaires : (1)
LuLudivine
" Super article ! Existe-t-il des pistes pour orienter les ordinateurs vers la créativité ? <br /> "