C’est seulement il y a 40 ans que l’objectif de doter les ordinateurs de la capacité de comprendre le langage naturel au sens de courant a commencé. Cet objectif de compréhension du langage naturel par les ordinateurs – plus communément appelé traitement du langage naturel ou “natural language processing” en anglais (NLP)est le sujet de cet article.
Le Natural Language Processing est considéré comme une branche de l’Intelligence Artificielle, mais est devenu au fil des années un domaine d’études intéressant en matière de statistiques informatiques et de fouille de données textuelles.
La maitrise du NLP permet d’accéder à des opportunités professionnelles dans le secteur de la data science. Seul un data scientist qui maitrise les techniques de machine learning et deep learning sera capable d’utiliser ces modèles pour les appliquer à des problématiques de traitement du langage naturel. D’où la nécessité de se former à la data science au travers d’une formation spécialisée.
Qu’est ce que le NLP ?
La NLP est une approche computationnelle de l’analyse des textes.
“Il s’agit d’une gamme de techniques informatiques à motivation théorique pour l’analyse et la représentation de textes naturels à un ou plusieurs niveaux d’analyse linguistique dans le but d’obtenir un traitement du langage similaire à l’humain pour une série de tâches ou d’applications”.
Le NLP regroupe les techniques qui utilisent des ordinateurs pour analyser, déterminer la similarité sémantique entre des mots et traduire entre les langues. Ce domaine concerne généralement les langues écrites, mais il pourrait également s’appliquer à la parole.
Dans cet article, nous aborderons les définitions et concepts nécessaires à la compréhension et méthodes nécessaires à la compréhension du NLP, les méthodes de l’analyse syntaxique ainsi que le modèle d’espace vectoriel pour le NLP au niveau du document.
Définitions et concepts
Présentons d’abord quelques définitions et concepts utilisés en NLP:
- un corpus est un ensemble de documents
- le lexique est un ensemble de mots utilisés dans la langue. En NLP, le lexique fait généralement référence à l’ensemble des mots uniques contenus dans le corpus
Les axes d’analyse pris en NLP sont :
- la morphologie traite de la structure des mots individuels. Ainsi, les techniques dans ce domaine comprendraient des méthodes pour endiguer, attribuer la partie des balises vocales…
- la syntaxe concerne la structure des phrases et les règles pour les construire. Elle est particulièrement importante car elle permet de déterminer le sens d’une phrase, également appelé sémantique.
- la sémantique
Revenons quelques instants sur la syntaxe : une structure syntaxique peut être créée grâce à l’utilisation de la grammaire qui spécifie les règles de la langue. Un type de grammaire communément utilisé en NLP est la grammaire sans contexte (CFGs).
Un CFG comprend les parties suivantes :
- des symboles des terminaux, qui peuvent être des mots ou de la ponctuation
- des symboles non terminaux, qui peuvent être des parties de discours, de phrases…
- des symboles de départ
- ou encore un ensemble de règles avec un seul symbole non terminal à gauche et un ou plusieurs symboles à droite (terminaux ou non terminaux)
Les CFG ont certaines limites, mais ils peuvent s’acquitter de manière adéquate de certaines tâches de la NLP, telles que l’analyse syntaxique des phrases.
Un système de NLP devrait idéalement être capable de déterminer la structure du texte, afin de pouvoir répondre à des questions sur le sens ou la sémantique de la langue écrite. La première étape consiste à analyser les phrases en structures grammaticales. Cependant, l’analyse et la compréhension d’une langue naturelle à partir d’un domaine illimité se sont révélées extrêmement difficiles en raison de la complexité des langues naturelles, de l’ambiguïté des mots et des règles de grammaire difficiles.
Cet article fournit une introduction au NLP, qui comprend des informations sur ses principales approches.
Parmi les domaines de recherche fructueux en matière de NLP et de fouille de données textuelles, citons différentes méthodes pour la conversion de textes en données quantitatives, d’autres moyens de réduire les dimensions du texte, des techniques de visualisation des grands corpus, et des approches qui prennent en compte la dimension temporelle de certaines collections de documents.
Par conséquent, le NLP est utilisé dans une grande variété de disciplines pour résoudre de nombreux types de problèmes différents. L’analyse de texte est effectuée sur des textes allant de quelques mots saisis par l’utilisateur pour une requête Internet à de multiples documents qui doivent être résumés. La quantité et la disponibilité des données non structurées ont fortement augmenté au cours des dernières années. Cela a pris des formes telles que les blogs, les tweets et divers autres réseaux sociaux. Le NLP est idéal pour analyser ce type d’informations.
Le Machine Learning et l’analyse de texte sont fréquemment utilisés pour améliorer l’utilité d’une application.
Voici une brève liste des domaines d’application:
- la recherche qui identifie des éléments spécifiques du texte. Elle peut être aussi simple que de trouver l’occurrence d’un nom dans un document ou peut impliquer l’utilisation de synonymes et d’orthographes/fausses orthographes alternatives pour trouver des entrées proches de la chaîne de recherche originale
- la traduction automatique qui implique généralement la traduction d’une langue naturelle dans une autre.
- des résumés : le NLP a été utilisé avec succès pour résumer des paragraphes, articles, documents ou recueils de documents
- NER (Named-Entity Recognition) qui consiste à extraire du texte les noms des lieux, des personnes et des choses. Généralement, cette opération est utilisée en conjonction avec d’autres tâches du NLP, comme le traitement des requêtes
- …
Les tâches du NLP utilisent fréquemment différentes techniques de Machine Learning. Une approche commune commence par la formation d’un modèle à l’exécution d’une tâche, la vérification que le modèle est correct, puis l’application du modèle à un problème.
Application du NLP
Le NLP peut nous aider dans de nombreuses tâches et ses champs d’application semblent s’élargir chaque jour. Mentionnons quelques exemples :
- le NLP permet la reconnaissance et la prédiction des maladies sur la base des dossiers médicaux électroniques et de la parole du patient. Cette capacité est explorée dans des conditions de santé qui vont des maladies cardiovasculaires à la dépression et même à la schizophrénie. Par exemple, Amazon Comprehend Medical est un service qui utilise le NLP pour extraire les états pathologiques, les médicaments et les résultats des traitements à partir des notes des patients, des rapports d’essais cliniques et d’autres dossiers médicaux électroniques.
- Les organisations peuvent déterminer ce que les clients disent d’un service ou d’un produit en identifiant et en extrayant des informations dans des sources telles que les réseaux sociaux. Cette analyse des sentiments peut fournir de nombreuses informations sur les choix des clients et les facteurs de décision.
- Un inventeur travaillant chez IBM a mis au point un assistant cognitif qui fonctionne comme un moteur de recherche personnalisé en apprenant tout sur vous et en vous rappelant ensuite un nom, une chanson ou tout ce dont vous ne vous souvenez pas au moment où vous en avez besoin.
- Le NLP est également utilisé dans les phases de recherche et de sélection de recrutement des talents, pour identifier les compétences des personnes susceptibles d’être embauchées et aussi pour repérer les prospects avant qu’ils ne deviennent actifs sur le marché du travail.
Le NLP est particulièrement en plein essor dans le secteur des soins de santé. Cette technologie améliore la prestation des soins, le diagnostic des maladies et fait baisser les coûts, tandis que les organismes de soins de santé adoptent de plus en plus les dossiers de santé électroniques. Le fait que la documentation clinique puisse être améliorée signifie que les patients peuvent être mieux compris et bénéficier de meilleurs soins de santé.