Que peuvent faire les programmes de traitement du langage naturel ?
Les programmes de traitement du langage naturel permettront aux ordinateurs de traiter les données qui se présentent sous une forme textuelle, d’en extraire le sens et d’exécuter par la suite un ensemble de tâches. Une bonne partie des données produites par les humains se présentent sous la forme d’un texte destiné à véhiculer du contenu compréhensible par d’autres humains. Qu’il s’agisse de documents de travail, de formulaires, et même d’interactions sociales, le format textuel diffuse une bonne partie des connaissances et orchestre la majorité de nos interactions.
Les programmes de traitement du langage naturel sont donc largement déployés dans plusieurs secteurs et pour de nombreux usages. Ils couvrent un large éventail d’applications dont les plus connues sont les suivantes.
Les agents conversationnels
Le traitement du langage naturel s’est répandu grâce à l’omniprésence croissante des agents conversationnels virtuels (chatbots). Ces agents permettent à un programme informatique d’établir une conversation en langage naturel avec un utilisateur dans le but de collecter des informations, d’exécuter des requêtes ou de fournir des renseignements selon la demande.
Une multitude de ces agents est disponible sur Internet; ils diffèrent selon la tâche qu’ils accomplissent, leur fonctionnement et leur complexité :
- Les agents conversationnels à domaine fermé sont des programmes informatiques capables (par le biais d’un programme de traitement du langage naturel) de répondre à des questions limitées à un domaine spécifique, dans un format relativement structuré. Un des cas d’usage serait un agent conversationnel pour un site d’agence de voyages pouvant répondre à la question suivante : quelles sont les places disponibles sur le vol AC705 pour demain ? Une fois la question posée, le programme de traitement du langage naturel extrait les mots-clés et la sémantique de la question pour consulter une base de connaissances (KB – Knowledge Base) afin de fournir une réponse lisible à l’utilisateur ;
- Les agents conversationnels à domaine ouvert sont des programmes informatiques pouvant répondre à des questions qui ne se limitent pas à un domaine de connaissances spécifique. Ils sont capables de répondre de façon pertinente à des questions touchant divers domaines. Parmi ceux-ci, on trouve Siri (Apple), Google Smart Assistant (Google), Alexa (Amazon), etc. Ils peuvent répondre à des questions comme « Alexa, quelle heure est-il maintenant dans la ville de Tokyo ? » ou « Quel est le meilleur restaurant mexicain autour de chez moi ? » ou encore « Que penses-tu de la vie ? ». Leur capacité de répondre à des questions de nature si différente de façon pertinente et compréhensible s’accompagne d’une complexité relativement élevée en comparaison avec les agents conversationnels à domaine fermé dont les réponses sont plutôt prévisibles et spécifiques.
La fouille des données textuelles
Les techniques de traitement du langage naturel sont utilisées dans la fouille des données textuelles (text mining). Il existe un large spectre de cas d’usage reliés à la fouille de ces données; les programmes servent à extraire automatiquement de la connaissance enfouie dans le contenu.
Par exemple, les moteurs de recherche (Google, Bing, etc.) utilisent les techniques de traitement du langage naturel les plus avancées pour analyser continuellement l’abondance du contenu indexé dans le réseau Web (pages Web, blogue, réseaux sociaux, etc.) afin de le rendre « découvrable » par le biais de recherches via des mots-clés. Plus précisément, les moteurs de recherche utilisent des techniques avancées de compréhension du langage naturel (NLU – Natural Language Understanding) pour extraire le sens même du contenu Web afin de l’associer à un « concept » pouvant intéresser l’internaute.
Afin d’illustrer ce principe, imaginons qu’un moteur de recherche analyse le contenu d’une page Web indexée qui fait référence à une recette de tacos. Par page indexée, on entend une page Web dont le contenu est accessible aux logiciels de traitement automatique du contenu dont disposent les moteurs de recherche (robots). Le logiciel de Google procèdera à une analyse sémantique du contenu de la page pour en extraire le sens. Le moteur de recherche associera alors, à cette page, une sémantique particulière qu’un internaute pourra par la suite consulter.
Le fait d’extraire la sémantique permet à un moteur de recherche de référer à la page tout internaute qui tente d’accéder à un contenu ayant la même sémantique. Donc, même si l’internaute utilise pour sa recherche des mots-clés qui n’existent pas dans la page Web (p. ex. recette mexicaine à base de pâtes de maïs), le moteur de recherche pourra conclure que le contenu de la page « recette de Tacos » risque de l’intéresser.
L’analyse des sentiments
L’analyse des sentiments fait allusion à l’utilisation des différentes techniques de traitement et d’analyse du langage naturel pour reconnaître, extraire et associer des sentiments à des contenus textuels. Elle est largement utilisée en marketing alors que le sentiment du consommateur est analysé à travers ses interactions sociales, et pour évaluer la satisfaction d’un client qui s’adresse à un service à la clientèle. D’autres utilisations émergent, se rapportant à la sécurité et à la lutte contre la fraude ; de plus en plus de compagnies d’assurances et d’institutions financières procèdent à l’analyse textuelle des conversations pour déceler des anomalies et des incohérences pouvant laisser présager un risque de fraude.
L’apprentissage machine
Les programmes d’analyse des sentiments utilisent l’apprentissage machine et les techniques de traitement du langage naturel pour catégoriser du contenu textuel dans une classe de sentiments prédéterminée. L’apprentissage machine permet au programme d’analyse des sentiments d’associer des mots et des expressions à des classes de sentiments (p. ex.), associer « ce n’est vraiment pas bon » à la classe « sentiment négatif » ou « ça m’a mis hors de moi ! » à la classe « colère ».
La gestion documentaire
La majorité de nos documents de travail étant principalement constitués de texte, il est désormais possible d’utiliser différentes techniques de fouille de données textuelles pour y identifier des entités (personnes, adresses, etc.) et classer automatiquement les documents selon la nature de leur contenu.