Traitement du langage naturel (NLP pour <i> Natural Language Processing </i> )
Avant de commencer avec les transformers, voyons succinctement ce qu’est le traitement du langage naturel et pourquoi il est important.
Le NLP, qu’est-ce que c’est ?
Le traitement du langage naturel est un domaine de linguistique et d’apprentissage automatique se concentrant sur la compréhension de tout ce qui est lié à la langue humaine. L’objectif des tâches de NLP est non seulement de comprendre individuellement chaque mot, mais aussi de comprendre le contexte associé à l’utilisation de ces mots.
La liste suivante regroupe les tâches de NLP les plus courantes, avec pour chacune quelques exemples :
- Classification de phrases entières : analyser le sentiment d’un avis, détecter si un email est un spam, déterminer si une phrase est grammaticalement correcte, déterminer si deux phrases sont logiquement reliées ou non, etc.
- Classification de chaque mot d’une phrase : identifier les composants grammaticaux d’une phrase (nom, verbe, adjectif), identifier les entités nommées (personne, lieu, organisation), etc.
- Génération de texte : compléter le début d’un texte avec un texte généré automatiquement, remplacer les mots manquants ou masqués dans un texte, etc.
- Extraction d’une réponse à partir d’un texte : étant donné une question et un contexte extraire la réponse à la question en fonction des informations fournies par le contexte, etc.
- Génération de nouvelles phrases à partir d’un texte : traduire un texte dans une autre langue, faire le résumé d’un texte, etc.
Le traitement du langage naturel ne se limite pas qu’à la compréhension du texte. Il s’intéresse aussi aux problèmes complexes de reconnaissance de la parole et de vision par ordinateur tels que la génération d’une transcription à partir d’un échantillon audio ou la description d’une image.
Pourquoi est-ce difficile ?
Les ordinateurs ne traitent pas les informations de la même manière que les humains. Par exemple, lorsque nous lisons la phrase « j’ai faim », nous comprenons très facilement son sens. De même, lorsque nous lisons deux phrases telles que « j’ai faim » et « je suis triste », nous pouvons facilement déterminer s’il existe des similitudes entre elles. Pour les modèles d’apprentissage automatique, ces tâches sont plus difficiles. Le texte doit être traité de manière à permettre au modèle d’apprendre. Et parce que le langage est complexe, nous devons prendre soin de réfléchir à la meilleure façon de faire ce traitement. Il y a eu beaucoup de recherches sur la façon de représenter le texte et nous allons voir quelques-unes de ces méthodes dans le chapitre suivant.