Modèle de langage -Language model

Un modèle de langage est une distribution de probabilité sur des séquences de mots. Étant donné une telle séquence de longueur m , un modèle de langage attribue une probabilité à l'ensemble de la séquence. Les modèles de langage génèrent des probabilités en s'entraînant sur des corpus de texte dans une ou plusieurs langues. Étant donné que les langages peuvent être utilisés pour exprimer une variété infinie de phrases valides (propriété de l'infini numérique ), la modélisation du langage est confrontée au problème d'attribuer des probabilités non nulles à des séquences linguistiquement valides qui peuvent ne jamais être rencontrées dans les données d'apprentissage. Plusieurs approches de modélisation ont été conçues pour surmonter ce problème, comme l'application de l' hypothèse de Markovou en utilisant des architectures neuronales telles que des réseaux neuronaux récurrents ou des transformateurs .

Les modèles de langage sont utiles pour une variété de problèmes en linguistique computationnelle ; des applications initiales dans la reconnaissance vocale pour s'assurer que les séquences de mots absurdes (c'est-à-dire à faible probabilité) ne sont pas prédites, à une utilisation plus large dans la traduction automatique (par exemple, la notation des traductions candidates), la génération de langage naturel (générant plus de texte de type humain), une partie de- étiquetage de la parole , analyse syntaxique , reconnaissance optique des caractères , reconnaissance de l' écriture manuscrite , induction grammaticale , recherche d'informations et autres applications.

Les modèles de langage sont utilisés dans la recherche d'informations dans le modèle de vraisemblance des requêtes . Là, un modèle de langage distinct est associé à chaque document d'une collection. Les documents sont classés en fonction de la probabilité de la requête Q dans le modèle de langage du document : . Généralement, le modèle de langage unigram est utilisé à cette fin.

Types de modèles

Unigramme

Un modèle unigramme peut être traité comme la combinaison de plusieurs automates finis à un état . Il suppose que les probabilités des jetons dans une séquence sont indépendantes, par exemple :

Dans ce modèle, la probabilité de chaque mot ne dépend que de la propre probabilité de ce mot dans le document, nous n'avons donc que des automates finis à un état comme unités. L'automate lui-même a une distribution de probabilité sur tout le vocabulaire du modèle, sommant à 1. Ce qui suit est une illustration d'un modèle unigramme d'un document.

Conditions Probabilité dans doc
un 0,1
monde 0,2
aime 0,05
nous 0,05
partager 0,3
... ...

La probabilité générée pour une requête spécifique est calculée comme suit :

Différents documents ont des modèles unigram, avec différentes probabilités de succès des mots qu'ils contiennent. Les distributions de probabilité de différents documents sont utilisées pour générer des probabilités de succès pour chaque requête. Les documents peuvent être classés pour une requête en fonction des probabilités. Exemple de modèles unigrammes de deux documents :

Conditions Probabilité dans Doc1 Probabilité dans Doc2
un 0,1 0,3
monde 0,2 0,1
aime 0,05 0,03
nous 0,05 0,02
partager 0,3 0,2
... ... ...

Dans les contextes de recherche d'informations, les modèles de langage unigramme sont souvent lissés pour éviter les cas où P (terme) = 0. Une approche courante consiste à générer un modèle de maximum de vraisemblance pour l'ensemble de la collection et à interpoler linéairement le modèle de collection avec un modèle de maximum de vraisemblance pour chaque document pour lisser le modèle.

n-gramme

Dans un modèle de n -grammes, la probabilité d'observer la phrase est approchée comme

On suppose que la probabilité d'observer le i ème mot w i dans l'historique du contexte des i  − 1 mots précédents peut être approchée par la probabilité de l'observer dans l'historique raccourci du contexte des n  − 1 mots précédents ( n ème ordre propriété de Markov ). Pour clarifier, pour n=3 et i=2 nous avons .

La probabilité conditionnelle peut être calculée à partir des comptages de fréquence du modèle n -gramme :

Les termes modèles de langage bigramme et trigramme désignent des modèles de n -grammes avec n  = 2 et n  = 3, respectivement.

En règle générale, les probabilités du modèle n -gramme ne sont pas dérivées directement des comptages de fréquences, car les modèles dérivés de cette manière ont de graves problèmes lorsqu'ils sont confrontés à des n -grammes qui n'ont pas été explicitement vus auparavant. Au lieu de cela, une certaine forme de lissage est nécessaire, attribuant une partie de la masse de probabilité totale à des mots invisibles ou à des n -grammes. Diverses méthodes sont utilisées, du simple lissage "add-one" (attribuer un compte de 1 aux n -grammes invisibles , comme a priori non informatif ) à des modèles plus sophistiqués, tels que les modèles d' actualisation ou de retrait de Good-Turing .

Bidirectionnel

Les représentations bidirectionnelles dépendent à la fois du pré- et du post-contexte (par exemple, des mots) dans toutes les couches.

Exemple

Dans un modèle de langage bigramme ( n  = 2), la probabilité de la phrase j'ai vu la maison rouge est approchée comme

alors que dans un modèle de langage trigramme ( n  = 3), l'approximation est

Notez que le contexte des premiers n  – 1 n -grammes est rempli de marqueurs de début de phrase, généralement notés <s>.

De plus, sans marqueur de fin de phrase, la probabilité d'une séquence non grammaticale *J'ai vu le serait toujours plus élevée que celle de la phrase plus longue J'ai vu la maison rouge.

Exponentiel

Les modèles de langage à entropie maximale encodent la relation entre un mot et l'historique des n-grammes à l'aide de fonctions de caractéristiques. L'équation est

où est la fonction de partition , est le vecteur de paramètre et est la fonction de caractéristique. Dans le cas le plus simple, la fonction caractéristique n'est qu'un indicateur de la présence d'un certain n-gramme. Il est utile d'utiliser un a priori ou une forme de régularisation.

Le modèle log-bilinéaire est un autre exemple de modèle de langage exponentiel.

Réseau neuronal

Les modèles de langage neuronal (ou modèles de langage à espace continu ) utilisent des représentations continues ou des incorporations de mots pour faire leurs prédictions. Ces modèles utilisent des réseaux de neurones .

Les plongements spatiaux continus aident à atténuer la malédiction de la dimensionnalité dans la modélisation du langage : à mesure que les modèles de langage sont entraînés sur des textes de plus en plus grands, le nombre de mots uniques (le vocabulaire) augmente. Le nombre de séquences de mots possibles augmente de manière exponentielle avec la taille du vocabulaire, provoquant un problème de rareté des données en raison du nombre exponentiel de séquences. Ainsi, des statistiques sont nécessaires pour estimer correctement les probabilités. Les réseaux neuronaux évitent ce problème en représentant les mots de manière distribuée , comme des combinaisons non linéaires de poids dans un réseau neuronal. Une autre description est qu'un réseau de neurones se rapproche de la fonction du langage. L'architecture du réseau neuronal peut être prédictive ou récurrente , et bien que la première soit plus simple, la seconde est plus courante.

En règle générale, les modèles de langage de réseau neuronal sont construits et entraînés en tant que classificateurs probabilistes qui apprennent à prédire une distribution de probabilité

.

C'est-à-dire que le réseau est formé pour prédire une distribution de probabilité sur le vocabulaire, compte tenu d'un certain contexte linguistique. Cela se fait à l'aide d'algorithmes d'entraînement de réseaux neuronaux standard tels que la descente de gradient stochastique avec rétropropagation . Le contexte peut être une fenêtre de taille fixe de mots précédents, de sorte que le réseau prédit

à partir d'un vecteur caractéristique représentant les k mots précédents. Une autre option consiste à utiliser des mots "futurs" ainsi que des mots "passés" comme caractéristiques, de sorte que la probabilité estimée soit

.

C'est ce qu'on appelle un modèle de sac de mots . Lorsque les vecteurs de caractéristiques des mots dans le contexte sont combinés par une opération continue, ce modèle est appelé architecture de sac de mots continu (CBOW).

Une troisième option qui s'entraîne plus lentement que le CBOW mais qui fonctionne légèrement mieux consiste à inverser le problème précédent et à faire en sorte qu'un réseau de neurones apprenne le contexte, étant donné un mot. Plus formellement, étant donné une séquence de mots d'apprentissage , on maximise la log-probabilité moyenne

k , la taille du contexte d'apprentissage, peut être fonction du mot central . C'est ce qu'on appelle un modèle de langage à saut de gramme . Les modèles de sac de mots et de saut de gramme sont à la base du programme word2vec .

Au lieu d'utiliser des modèles de langage de réseau neuronal pour produire des probabilités réelles, il est courant d'utiliser à la place la représentation distribuée codée dans les couches «cachées» des réseaux comme représentations de mots; chaque mot est ensuite mappé sur un vecteur réel à n dimensions appelé word embedding , où n est la taille de la couche juste avant la couche de sortie. Les représentations dans les modèles à sauts de gramme ont la particularité de modéliser les relations sémantiques entre les mots comme des combinaisons linéaires , capturant une forme de compositionnalité . Par exemple, dans certains de ces modèles, si v est la fonction qui associe un mot w à sa représentation vectorielle n -d , alors

où ≈ est précisé en stipulant que son membre de droite doit être le plus proche voisin de la valeur du membre de gauche.

Autre

Un modèle de langage positionnel évalue la probabilité que des mots donnés apparaissent proches les uns des autres dans un texte, pas nécessairement immédiatement adjacents. De même, les modèles de sac de concepts tirent parti de la sémantique associée aux expressions multi-mots telles que buy_christmas_present , même lorsqu'elles sont utilisées dans des phrases riches en informations comme "aujourd'hui, j'ai acheté beaucoup de très beaux cadeaux de Noël".

Malgré les succès limités de l'utilisation des réseaux de neurones, les auteurs reconnaissent le besoin d'autres techniques lors de la modélisation des langues des signes.

Évaluation et repères

L'évaluation de la qualité des modèles de langage se fait principalement par comparaison avec des échantillons de référence créés par l'homme à partir de tâches typiques axées sur le langage. D'autres tests de qualité, moins établis, examinent le caractère intrinsèque d'un modèle de langage ou comparent deux de ces modèles. Étant donné que les modèles de langage sont généralement destinés à être dynamiques et à apprendre à partir des données qu'ils voient, certains modèles proposés étudient le taux d'apprentissage, par exemple par l'inspection des courbes d'apprentissage.

Divers ensembles de données ont été développés pour être utilisés pour évaluer les systèmes de traitement du langage. Ceux-ci inclus:

  • Corpus d'acceptabilité linguistique
  • Référence COLLE
  • Corpus de paraphrase de recherche Microsoft
  • Inférence de langage naturel multi-genre
  • Interroger l'inférence en langage naturel
  • Paires de questions Quora
  • Reconnaître l'implication textuelle
  • Benchmark de similarité textuelle sémantique
  • Test de réponse aux questions SQuAD
  • Banc d'arbres de Stanford Sentiment
  • NLI de Winograd

Critique

Bien qu'il puisse être démontré que les modèles de langage contemporains, tels que GPT-2, correspondent aux performances humaines sur certaines tâches, il n'est pas clair qu'ils soient des modèles cognitifs plausibles . Par exemple, il a été démontré que les réseaux de neurones récurrents apprennent des modèles que les humains n'apprennent pas et ne parviennent pas à apprendre des modèles que les humains apprennent.

Voir également

Remarques

Références

Citations

Sources

  • JM Ponte et WB Croft (1998). "Une approche de modélisation du langage pour la recherche d'informations". Recherche et développement en recherche d'information . p. 275–281. CiteSeerX  10.1.1.117.4237 .{{cite conference}}: Maint CS1 : utilise le paramètre auteurs ( lien )
  • F Song et WB Croft (1999). "Un modèle de langage général pour la recherche d'informations". Recherche et développement en recherche d'information . p. 279–280. CiteSeerX  10.1.1.21.6467 .{{cite conference}}: Maint CS1 : utilise le paramètre auteurs ( lien )
  • Chen, Stanley; Josué Goodman (1998). Une étude empirique des techniques de lissage pour la modélisation du langage (rapport technique). Université de Harvard. CiteSeerX  10.1.1.131.5458 .