Recherche de site Web

Introduction douce à la modélisation statistique du langage et aux modèles de langage neuronal


La modélisation du langage est au cœur de nombreuses tâches importantes de traitement du langage naturel.

Récemment, les modèles de langage basés sur les réseaux neuronaux ont démontré de meilleures performances que les méthodes classiques, à la fois de manière autonome et dans le cadre de tâches de traitement du langage naturel plus difficiles.

Dans cet article, vous découvrirez la modélisation du langage pour le traitement du langage naturel.

Après avoir lu cet article, vous saurez :

  • Pourquoi la modélisation du langage est essentielle pour résoudre les tâches de traitement du langage naturel.
  • Qu'est-ce qu'un modèle de langage et quelques exemples d'endroits où ils sont utilisés.
  • Comment les réseaux de neurones peuvent être utilisés pour la modélisation du langage.

Démarrez votre projet avec mon nouveau livre Deep Learning for Natural Language Processing, comprenant des tutoriels pas à pas et les fichiers code source Python pour tous les exemples.

Commençons.

  • Mise à jour en juin 2019 : ajout de liens vers des didacticiels pas à pas sur le modèle de langage.

Aperçu

Cet article est divisé en 3 parties ; ils sont:

  1. Problème du langage de modélisation
  2. Modélisation statistique du langage
  3. Modèles de langage neuronal

1. Problème du langage de modélisation

Les langages formels, comme les langages de programmation, peuvent être entièrement spécifiés.

Tous les mots réservés peuvent être définis et les manières valables dont ils peuvent être utilisés peuvent être définies avec précision.

Nous ne pouvons pas faire cela avec le langage naturel. Les langages naturels ne sont pas conçus ; ils émergent et il n’y a donc pas de spécification formelle.

Il peut y avoir des règles formelles pour certaines parties du langage et des heuristiques, mais un langage naturel qui ne confirme pas est souvent utilisé. Les langues naturelles impliquent un grand nombre de termes qui peuvent être utilisés de manière à introduire toutes sortes d’ambiguïtés, tout en restant compréhensibles par d’autres humains.

De plus, les langues changent, les usages des mots changent : c'est une cible mouvante.

Néanmoins, les linguistes tentent de préciser la langue avec des grammaires et des structures formelles. C’est possible, mais c’est très difficile et les résultats peuvent être fragiles.

Une approche alternative pour spécifier le modèle du langage consiste à l’apprendre à partir d’exemples.

2. Modélisation statistique du langage

La modélisation statistique du langage, ou modélisation du langage et LM en abrégé, est le développement de modèles probabilistes capables de prédire le mot suivant dans la séquence en fonction des mots qui le précèdent.

La modélisation linguistique consiste à attribuer une probabilité aux phrases d'une langue. […] En plus d'attribuer une probabilité à chaque séquence de mots, les modèles linguistiques attribuent également une probabilité pour qu'un mot donné (ou une séquence de mots) suive une séquence de mots.

— Page 105, Méthodes de réseau neuronal dans le traitement du langage naturel, 2017.

Un modèle de langage apprend la probabilité d'occurrence d'un mot en fonction d'exemples de texte. Les modèles plus simples peuvent examiner le contexte d'une courte séquence de mots, tandis que les modèles plus grands peuvent fonctionner au niveau de phrases ou de paragraphes. Le plus souvent, les modèles linguistiques fonctionnent au niveau des mots.

La notion de modèle de langage est intrinsèquement probabiliste. Un modèle de langage est une fonction qui place une mesure de probabilité sur des chaînes tirées d'un certain vocabulaire.

— Page 238, Introduction à la recherche d'informations, 2008.

Un modèle de langage peut être développé et utilisé de manière autonome, par exemple pour générer de nouvelles séquences de texte qui semblent provenir du corpus.

La modélisation du langage est un problème fondamental pour un large éventail de tâches de traitement du langage naturel. Plus concrètement, les modèles de langage sont utilisés sur le front-end ou le back-end d’un modèle plus sophistiqué pour une tâche qui nécessite une compréhension du langage.

… la modélisation linguistique est un élément crucial dans les applications du monde réel telles que la traduction automatique et la reconnaissance automatique de la parole, […] Pour ces raisons, la modélisation linguistique joue un rôle central dans la recherche sur le traitement du langage naturel, l'IA et l'apprentissage automatique.

— Page 105, Méthodes de réseau neuronal dans le traitement du langage naturel, 2017.

Un bon exemple est la reconnaissance vocale, où les données audio sont utilisées comme entrée du modèle et la sortie nécessite un modèle de langage qui interprète le signal d'entrée et reconnaît chaque nouveau mot dans le contexte des mots déjà reconnus.

La reconnaissance vocale concerne principalement le problème de la transcription du signal vocal sous forme d’une séquence de mots. […] De ce point de vue, la parole est supposée être générée par un modèle de langage qui fournit des estimations de Pr(w) pour toutes les chaînes de mots w indépendamment du signal observé […] Le but de la reconnaissance vocale est de trouver le séquence de mots la plus probable étant donné le signal acoustique observé.

— Pages 205-206, Manuel d'Oxford de linguistique informatique, 2005.

De même, les modèles de langage sont utilisés pour générer du texte dans de nombreuses tâches similaires de traitement du langage naturel, par exemple :

  • Reconnaissance optique de caractères
  • Reconnaissance de l'écriture manuscrite.
  • Traduction automatique.
  • Correction orthographique.
  • Sous-titrage des images.
  • Résumé du texte
  • Et bien plus encore.

La modélisation du langage est l'art de déterminer la probabilité d'une séquence de mots. Ceci est utile dans une grande variété de domaines, notamment la reconnaissance vocale, la reconnaissance optique de caractères, la reconnaissance de l'écriture manuscrite, la traduction automatique et la correction orthographique.

— Un peu de progrès dans la modélisation du langage, 2001.

Le développement de meilleurs modèles de langage aboutit souvent à des modèles plus performants dans la tâche de traitement du langage naturel prévue. C'est la motivation pour développer des modèles de langage meilleurs et plus précis.

Les [modèles linguistiques] ont joué un rôle clé dans les tâches traditionnelles de PNL telles que la reconnaissance vocale, la traduction automatique ou la synthèse de texte. Souvent (mais pas toujours), la formation de meilleurs modèles linguistiques améliore les mesures sous-jacentes de la tâche en aval (telles que le taux d'erreur de mots pour la reconnaissance vocale ou le score BLEU pour la traduction), ce qui rend la tâche de formation de meilleurs LM précieuse en soi.

— Explorer les limites de la modélisation linguistique, 2016.

3. Modèles de langage neuronal

Récemment, l’utilisation de réseaux de neurones dans le développement de modèles de langage est devenue très populaire, au point qu’elle pourrait désormais constituer l’approche privilégiée.

L'utilisation de réseaux de neurones dans la modélisation du langage est souvent appelée modélisation du langage neuronal, ou NLM en abrégé.

Les approches de réseaux neuronaux obtiennent de meilleurs résultats que les méthodes classiques, à la fois sur des modèles de langage autonomes et lorsque les modèles sont incorporés dans des modèles plus vastes sur des tâches difficiles telles que la reconnaissance vocale et la traduction automatique.

L’une des principales raisons de l’amélioration des performances pourrait être la capacité de la méthode à se généraliser.

Les modèles de réseaux neuronaux non linéaires résolvent certaines des lacunes des modèles de langage traditionnels : ils permettent de conditionner des tailles de contexte de plus en plus grandes avec seulement une augmentation linéaire du nombre de paramètres, ils atténuent le besoin de concevoir manuellement des ordres d'attente et prennent en charge la généralisation à travers différents contextes. .

— Page 109, Méthodes de réseau neuronal dans le traitement du langage naturel, 2017.

Plus précisément, une intégration de mots est adoptée qui utilise un vecteur à valeur réelle pour représenter chaque mot dans un espace vectoriel de projet. Cette représentation apprise des mots basée sur leur usage permet aux mots ayant un sens similaire d'avoir une représentation similaire.

Les modèles de langage neuronal (NLM) résolvent le problème de rareté des données n-grammes en paramétrant les mots en tant que vecteurs (incorporations de mots) et en les utilisant comme entrées dans un réseau neuronal. Les paramètres sont appris dans le cadre du processus de formation. Les intégrations de mots obtenues via les NLM présentent la propriété selon laquelle les mots sémantiquement proches sont également proches dans l'espace vectoriel induit.

— Modèle de langage neuronal sensible aux caractères, 2015.

Cette généralisation est quelque chose que la représentation utilisée dans les modèles de langage statistique classiques ne peut pas facilement réaliser.

La « vraie généralisation » est difficile à obtenir dans un espace d'indices de mots discret, car il n'y a pas de relation évidente entre les indices de mots.

— Modélisation du langage connexionniste pour la reconnaissance vocale continue à grand vocabulaire, 2002.

De plus, l’approche de représentation distribuée permet à la représentation intégrée de mieux s’adapter à la taille du vocabulaire. Les méthodes classiques qui ont une représentation discrète par mot combattent la malédiction de la dimensionnalité avec des vocabulaires de mots de plus en plus larges qui aboutissent à des représentations plus longues et plus clairsemées.

L'approche des réseaux neuronaux pour la modélisation du langage peut être décrite à l'aide des trois propriétés de modèle suivantes, tirées de « A Neural Probabilistic Language Model », 2003.

  1. Associez chaque mot du vocabulaire à un vecteur de caractéristiques de mots distribué.
  2. Exprimez la fonction de probabilité conjointe des séquences de mots en termes de vecteurs caractéristiques de ces mots dans la séquence.
  3. Apprenez simultanément le vecteur de caractéristiques du mot et les paramètres de la fonction de probabilité.

Il s'agit d'un modèle relativement simple dans lequel la représentation et le modèle probabiliste sont appris ensemble directement à partir de données textuelles brutes.

Récemment, les approches neuronales ont commencé à surpasser, puis de manière constante, les approches statistiques classiques.

Nous fournissons de nombreuses preuves empiriques suggérant que les modèles de langage connexionnistes sont supérieurs aux techniques n-gram standard, à l'exception de leur grande complexité informatique (d'entraînement).

— Modèle de langage récurrent basé sur un réseau neuronal, 2010.

Initialement, des modèles de réseaux neuronaux à réaction directe ont été utilisés pour introduire l’approche.

Plus récemment, les réseaux de neurones récurrents puis les réseaux à mémoire à long terme comme le réseau Long Short-Term Memory, ou LSTM, permettent aux modèles d'apprendre le contexte pertinent sur des séquences d'entrée beaucoup plus longues que les réseaux feed-forward plus simples.

[un modèle de langage RNN] permet une généralisation plus poussée : au lieu de considérer uniquement plusieurs mots précédents, les neurones recevant des connexions récurrentes sont supposés représenter la mémoire à court terme. Le modèle apprend lui-même à partir des données comment représenter la mémoire. Alors que les réseaux neuronaux à action directe superficielle (ceux avec une seule couche cachée) ne peuvent regrouper que des mots similaires, les réseaux neuronaux récurrents (qui peuvent être considérés comme une architecture profonde) peuvent effectuer un regroupement d'histoires similaires. Cela permet par exemple une représentation efficace de motifs de longueur variable.

— Extensions du modèle de langage de réseau neuronal récurrent, 2011.

Récemment, des chercheurs ont recherché les limites de ces modèles linguistiques. Dans l’article « Exploring the Limits of Language Modeling », évaluant les modèles de langage sur de grands ensembles de données, tels que le corpus d’un million de mots, les auteurs constatent que les modèles de langage neuronal basés sur LSTM surpassent les méthodes classiques.

… nous avons montré que les RNN LM peuvent être formés sur de grandes quantités de données et surpasser les modèles concurrents, y compris les N-grammes soigneusement réglés.

— Explorer les limites de la modélisation linguistique, 2016.

En outre, ils proposent des heuristiques pour développer des modèles de langage neuronal très performants en général :

  • La taille compte. Les meilleurs modèles étaient les plus grands, en particulier le nombre d'unités de mémoire.
  • La régularisation est importante. L'utilisation de régularisations telles que la suppression des connexions d'entrée améliore les résultats.
  • CNN vs Embeddings. Les modèles de réseaux neuronaux convolutifs (CNN) au niveau des caractères peuvent être utilisés sur le front-end au lieu de l'intégration de mots, obtenant ainsi des résultats similaires et parfois meilleurs.
  • Les ensembles comptent. La combinaison des prédictions de plusieurs modèles peut offrir de grandes améliorations dans les performances du modèle.

Didacticiels sur le modèle de langage

Cette section répertorie quelques didacticiels étape par étape pour développer des modèles de langage de réseau neuronal d'apprentissage profond.

  • Comment développer un modèle de langage neuronal au niveau des mots et l'utiliser pour générer du texte
  • Comment développer des modèles de langage neuronal basés sur des mots en Python avec Keras
  • Comment développer un modèle de langage neuronal basé sur les caractères dans Keras

Lectures complémentaires

Cette section fournit plus de ressources sur le sujet si vous cherchez à approfondir.

Livres

  • Chapitre 9 Modélisation du langage, méthodes de réseau neuronal dans le traitement du langage naturel, 2017.
  • Chapitre 22, Traitement du langage naturel, Intelligence artificielle : une approche moderne, 2009.
  • Chapitre 12, Modèles de langage pour la recherche d'informations, Introduction à la recherche d'informations, 2008.

Papiers

  • Un modèle de langage neuroprobabiliste, NIPS, 2001.
  • Un modèle de langage neuroprobabiliste, JMLR, 2003.
  • Modélisation du langage connexionniste pour la reconnaissance vocale continue à grand vocabulaire, 2002.
  • Modèle de langage basé sur un réseau neuronal récurrent, 2010.
  • Extensions du modèle de langage de réseau neuronal récurrent, 2011.
  • Modèle de langage neuronal sensible aux caractères, 2015.
  • Réseaux de neurones LSTM pour la modélisation du langage, 2012
  • Explorer les limites de la modélisation linguistique, 2016.

Articles

  • Modèle de langage, Wikipédia
  • Modèles de langage de réseau neuronal, Scholarpedia

Résumé

Dans cet article, vous avez découvert la modélisation du langage pour les tâches de traitement du langage naturel.

Concrètement, vous avez appris :

  • Ce langage naturel n’est pas formellement spécifié et nécessite l’utilisation de modèles statistiques pour apprendre à partir d’exemples.
  • Les modèles de langage statistique sont au cœur de nombreuses tâches difficiles de traitement du langage naturel.
  • Ces résultats de pointe sont obtenus à l’aide de modèles de langage neuronal, en particulier ceux intégrant des mots et des algorithmes de réseau neuronal récurrents.

Avez-vous des questions ?
Posez vos questions dans les commentaires ci-dessous et je ferai de mon mieux pour y répondre.

Articles connexes