Connect with us

Qu’est-ce que le NLP (Natural Language Processing) ?

Intelligence artificielle

Qu’est-ce que le NLP (Natural Language Processing) ?

mm

Le traitement automatique des langues (NLP) est l’étude et l’application de techniques et d’outils qui permettent aux ordinateurs de traiter, d’analyser, d’interpréter et de raisonner sur la langue humaine. Le NLP est un domaine interdisciplinaire qui combine des techniques établies dans des domaines comme la linguistique et l’informatique. Ces techniques sont utilisées en concert avec l’IA pour créer des chatbots et des assistants numériques comme Google Assistant et Amazon Alexa.

Commençons par explorer les raisons behind le traitement automatique des langues, certaines des techniques utilisées dans le NLP et certains cas d’utilisation courants pour le NLP.

Pourquoi le traitement automatique des langues (NLP) est important

Pour que les ordinateurs interprètent la langue humaine, ils doivent être convertis en une forme que l’ordinateur peut manipuler. Cependant, ce n’est pas aussi simple que de convertir les données texte en nombres. Pour dériver le sens de la langue humaine, des modèles doivent être extraits des centaines ou des milliers de mots qui composent un document texte. Ce n’est pas une tâche facile. Il y a peu de règles strictes qui peuvent être appliquées à l’interprétation de la langue humaine. Par exemple, le même ensemble de mots peut signifier des choses différentes en fonction du contexte. La langue humaine est une chose complexe et souvent ambiguë, et une déclaration peut être prononcée avec sincérité ou sarcasme.

Malgré cela, il y a certaines directives générales qui peuvent être utilisées lors de l’interprétation des mots et des caractères, comme le caractère « s » étant utilisé pour indiquer qu’un élément est pluriel. Ces directives générales doivent être utilisées en concert avec les autres pour extraire le sens du texte, pour créer des fonctionnalités que l’algorithme d’apprentissage automatique peut interpréter.

Le traitement automatique des langues implique l’application de divers algorithmes capables de prendre des données non structurées et de les convertir en données structurées. Si ces algorithmes sont appliqués de la mauvaise manière, l’ordinateur échouera souvent à dériver le sens correct du texte. Cela peut souvent être vu dans la traduction de texte entre les langues, où le sens précis de la phrase est souvent perdu. Alors que la traduction automatique a considérablement amélioré au cours des dernières années, les erreurs de traduction automatique se produisent encore fréquemment.

Techniques de traitement automatique des langues (NLP)

Photo : Tamur via WikiMedia Commons, Domaine public (https://commons.wikimedia.org/wiki/File:ParseTree.svg)

De nombreuses techniques utilisées dans le traitement automatique des langues peuvent être classées en deux catégories : la syntaxe ou la sémantique. Les techniques de syntaxe sont celles qui traitent de l’ordre des mots, tandis que les techniques sémantiques sont les techniques qui impliquent le sens des mots.

Techniques de syntaxe NLP

Des exemples de syntaxe incluent :

  • Lemmatisation
  • Segmentation morphologique
  • Étiquetage des parties du discours
  • Analyse syntaxique
  • Séparation des phrases
  • Racinement
  • Segmentation des mots

La lemmatisation fait référence à la réduction des différentes inflexions d’un mot à une seule forme. La lemmatisation prend des choses comme les temps et les pluriels et les simplifie, par exemple, « pieds » pourrait devenir « pied » et « rayures » pourrait devenir « rayure ». Cette forme de mot simplifiée facilite l’interprétation des mots dans un document par un algorithme.

La segmentation morphologique est le processus de division des mots en morphèmes ou en unités de base d’un mot. Ces unités sont des choses comme des morphèmes libres (qui peuvent se tenir seuls comme des mots) et des préfixes ou des suffixes.

L’étiquetage des parties du discours est simplement le processus d’identification de la partie du discours de chaque mot dans un document d’entrée.

L’analyse syntaxique fait référence à l’analyse de tous les mots d’une phrase et à leur corrélation avec leurs étiquettes grammaticales formelles ou à l’analyse grammaticale de tous les mots.

La séparation des phrases, ou séparation des limites des phrases, fait référence à la décision de où commence et se termine une phrase.

Le racinement est le processus de réduction des mots à leur forme racine. Par exemple, « connecté », « connexion » et « connexions » seraient tous ramenés à « connecter ».

La segmentation des mots est le processus de division de grands morceaux de texte en petites unités, qui peuvent être des mots ou des unités racinisées/lemmatisées.

Techniques sémantiques NLP

Les techniques sémantiques NLP incluent des techniques comme :

  • Reconnaissance d’entités nommées
  • Génération de langage naturel
  • Disambiguation du sens des mots

La reconnaissance d’entités nommées implique l’étiquetage de certaines parties de texte qui peuvent être placées dans l’un des groupes prédéfinis. Les catégories prédéfinies incluent des choses comme les dates, les villes, les lieux, les sociétés et les individus.

La génération de langage naturel est le processus d’utilisation de bases de données pour transformer des données structurées en langage naturel. Par exemple, des statistiques sur la météo, comme la température et la vitesse du vent, pourraient être résumées en langage naturel.

La disambiguation du sens des mots est le processus d’attribution de sens aux mots dans un texte en fonction du contexte dans lequel ils apparaissent.

Modèles d’apprentissage profond pour le NLP

Les perceptrons multicouches réguliers ne sont pas en mesure de gérer l’interprétation de données séquentielles, où l’ordre de l’information est important. Pour traiter l’importance de l’ordre dans les données séquentielles, un type de réseau neuronal est utilisé qui conserve les informations des étapes de formation précédentes.

Les réseaux neuronaux récurrents sont des types de réseaux neuronaux qui font une boucle sur les données des étapes de formation précédentes, en les prenant en compte lors du calcul des poids de l’étape de formation actuelle. Essentiellement, les RNN ont trois paramètres qui sont utilisés pendant le passage de formation avant : une matrice basée sur l’état caché précédent, une matrice basée sur l’entrée actuelle et une matrice entre l’état caché et la sortie. Puisque les RNN peuvent prendre en compte les informations des étapes de formation précédentes, ils peuvent extraire des modèles pertinents à partir de données textuelles en prenant en compte les mots précédents dans la phrase lors de l’interprétation du sens d’un mot.

Un autre type d’architecture d’apprentissage profond utilisé pour traiter les données textuelles est un réseau de mémoire à court terme (LSTM). Les réseaux LSTM sont similaires aux RNN dans leur structure, mais en raison de certaines différences dans leur architecture, ils ont tendance à performer mieux que les RNN. Ils évitent un problème spécifique qui se produit souvent lors de l’utilisation de RNN, appelé le problème de gradient explosif.

Ces réseaux neuronaux profonds peuvent être soit unidirectionnels, soit bidirectionnels. Les réseaux bidirectionnels sont capables de prendre en compte non seulement les mots qui précèdent le mot actuel, mais également les mots qui le suivent. Même si cela conduit à une plus grande précision, cela est plus coûteux en termes de calcul.

Cas d’utilisation pour le traitement automatique des langues (NLP)

Photo : mohammed_hassan via Pixabay, licence Pixabay (https://pixabay.com/illustrations/chatbot-chat-application-artificial-3589528/)

Puisque le traitement automatique des langues implique l’analyse et la manipulation des langues humaines, il a une gamme incroyablement large d’applications. Les applications possibles pour le NLP incluent les chatbots, les assistants numériques, l’analyse des sentiments, l’organisation des documents, le recrutement de talents et les soins de santé.

Les chatbots et les assistants numériques comme Amazon Alexa et Google Assistant sont des exemples de plateformes de reconnaissance et de synthèse vocale qui utilisent le NLP pour interpréter et répondre à des commandes vocales. Ces assistants numériques aident les gens à accomplir une grande variété de tâches, leur permettant de décharger certaines de leurs tâches cognitives sur un autre appareil et de libérer une partie de leur puissance cérébrale pour d’autres choses plus importantes. Au lieu de rechercher le meilleur itinéraire pour aller à la banque un matin encombré, nous pouvons simplement demander à notre assistant numérique de le faire.

L’analyse des sentiments est l’utilisation de techniques de NLP pour étudier les réactions et les sentiments des gens à un phénomène, comme communiqué par leur utilisation de la langue. La capture du sentiment d’une déclaration, comme l’interprétation de savoir si une critique d’un produit est bonne ou mauvaise, peut fournir aux entreprises des informations substantielles sur la façon dont leur produit est reçu.

L’organisation automatique des documents texte est une autre application du NLP. Des sociétés comme Google et Yahoo utilisent des algorithmes de NLP pour classer les documents de messagerie électronique, en les plaçant dans les bins appropriés tels que « social » ou « promotions ». Ils utilisent également ces techniques pour identifier les spams et les empêcher d’atteindre votre boîte de réception.

Des groupes ont également développé des techniques de NLP qui sont utilisées pour identifier les candidats potentiels à un emploi, en les trouvant sur la base de compétences pertinentes. Les responsables du recrutement utilisent également des techniques de NLP pour les aider à trier les listes de candidats.

Les techniques de NLP sont également utilisées pour améliorer les soins de santé. Le NLP peut être utilisé pour améliorer la détection des maladies. Les dossiers médicaux peuvent être analysés et les symptômes extraits par des algorithmes de NLP, qui peuvent ensuite être utilisés pour suggérer des diagnostics possibles. Un exemple de ceci est la plateforme Comprehend Medical d’Amazon, qui analyse les dossiers médicaux et extrait les maladies et les traitements. Les applications de soins de santé du NLP s’étendent également à la santé mentale. Il existe des applications telles que WoeBot, qui guide les utilisateurs à travers une variété de techniques de gestion de l’anxiété basées sur la thérapie cognitivo-comportementale.

Blogueur et programmeur avec des spécialités en Machine Learning et Deep Learning sujets. Daniel espère aider les autres à utiliser le pouvoir de l'IA pour le bien social.