Les progrès techniques ont profondément révolutionné l'utilisation des ordinateurs ces dernières années. Peu d'autres secteurs ont autant transformé les méthodes de travail des individus. La communication numérique est désormais efficace et va de soi, tant dans la sphère privée que professionnelle. Les secteurs en retard souffrent de leurs modes de communication obsolètes et investissent dans leur optimisation.
On trouve aujourd’hui couramment des solutions qui permettent la communication humaine en langage naturel entre les personnes, ainsi que celles qui assurent la communication formelle de données entre les systèmes informatiques. Les premières relèvent du domaine des e-mails, des réseaux sociaux et des chats. De nombreuses entreprises reçoivent, via les canaux décrits ci-dessus, un grand nombre de demandes de communication en langage naturel. Jusqu’à présent, la forte proportion de texte continu constitue un obstacle à la numérisation et entraîne des coûts élevés en raison d’un traitement essentiellement manuel.
Le langage naturel se caractérise avant tout par une grande diversité, une grande variabilité et une grande ambiguïté. Ces facteurs rendent presque impossible son traitement automatisé à l'aide des méthodes informatiques classiques, telles que les grammaires, les dictionnaires ou les analyseurs syntaxiques. À l'inverse, les êtres humains ont une prédisposition génétique à exploiter les informations issues du contexte linguistique et à gérer ainsi ces facteurs.
Le domaine de recherche Traitement du langage naturel (NLP) étudie l'interface entre les ordinateurs et le langage naturel. En principe, ce domaine ne cherche pas à mettre en œuvre des algorithmes de résolution uniquement à partir de règles formulées de manière opérationnelle (code de programme, etc.). Il s'agit plutôt d'apprendre des règles à partir de données existantes, ce qui donne lieu à un modèle statistique (Apprentissage automatique, ML). Une fois que le modèle statistique a été suffisamment entraîné sous cette forme, il est possible de traiter correctement, avec un haut degré de probabilité, même des textes inconnus. La combinaison de règles créées manuellement et de règles apprises permet d'obtenir un algorithme efficace pour le traitement du langage naturel, qui sert de base à de nombreux cas d'utilisation.

Les méthodes d'apprentissage automatique font l'objet de recherches depuis les années 1950. Avec l'avènement du deep learning dans le traitement de l'image et de la parole dans les années 2010, ces méthodes ont progressivement fait leur apparition dans les entreprises.
La figure 1 illustre le processus de développement des applications de traitement du langage naturel (NLP). Afin d'obtenir un ensemble de données d'apprentissage aussi représentatif et volumineux que possible, un traitement manuel (balisage) est effectué pour créer une solution de référence. Cet ensemble de données (corpus annoté) sert de base à l'apprentissage du modèle, c'est-à-dire à la distribution statistique. Le processus de développement s'achève après des étapes d'optimisation facultatives.
Au cours de la phase de production qui suit, ce modèle sert à analyser des textes inconnus. En fonction de l'application concernée, on procède par exemple à une extraction d'informations, c'est-à-dire à l'identification de structures sémantiques connues dans le texte, ou à une analyse de l'état d'esprit de l'auteur au moment de la rédaction. Vu de l'extérieur, le modèle entraîné fonctionne comme un chargé de dossier humain et peut être intégré dans des processus existants. L'étude de cas suivante illustre ce processus.
Étude de cas
La Deutsche Bahn, en tant qu'exemple de grand prestataire de services de mobilité, souhaite rendre sa communication client plus efficace. Afin d'utiliser au mieux les ressources humaines de son personnel de service, il convient notamment de traiter les demandes récurrentes, telles que
« Mon train d'Aix-la-Chapelle à Cologne est annulé mercredi prochain. Quel autre train puis-je prendre ? »
être traitées automatiquement. On constate tout d'abord que les paramètres pertinents de la requête sont clairement mentionnés dans cet exemple :

L'extraction automatisée de ces concepts connus permet de transformer automatiquement la requête sous forme de texte continu en une requête structurée, qui peut ainsi être intégrée aux processus numériques existants.
Au cours du processus d'apprentissage, ces concepts sont annotés dans les demandes existantes des clients. À partir de l'ensemble de données d'apprentissage ainsi obtenu, un modèle statistique est entraîné de manière à pouvoir détecter des régularités dans des textes continus inconnus afin d'en extraire des instances des classes de concepts apprises. La combinaison du modèle de TALN et d'une logique métier appropriée peut désormais être utilisée pour répondre automatiquement à une partie des demandes.
Dans ce contexte, nous souhaitons illustrer les avantages du ML à l'aide de l'exemple du concept de date. Pour extraire une date des requêtes, nous pourrions utiliser une expression régulière, par exemple
^\d{1,2}[ \.]{1,2}\d{0,2}[ \.]{0,2}((19|20|21)?\d{0,2})?$à utiliser en combinaison avec un dictionnaire (lundi, …, dimanche, demain, le prochain …). Cette forme classique de traitement des données fonctionne déjà bien dans de nombreux cas. Cependant, le moindre écart par rapport au schéma défini ici empêche la reconnaissance d’une date dans le texte. De plus, cette approche comporte le risque de diverses erreurs graves. Tout d’abord, il s’avère que les erreurs, telles que les fautes de frappe, les fautes d’orthographe, etc., ne sont pas prises en compte. En outre, il existe des cas où des mots du dictionnaire ne sont pas utilisés dans le contexte d’une date.
« … j'ai raté le train et j'attends le prochain, mais mon billet de week-end n'est plus valable lundi. »
Cet exemple montre que le mot « prochain » peut également faire référence à un train. Ici, l'absence de ponctuation, ajoutée à l'absence de distinction entre majuscules et minuscules, complique encore davantage la définition de règles universellement valables. Un modèle de TALN basé sur l'apprentissage automatique et entraîné sur ce type de données reconnaît la référence et peut ainsi identifier uniquement « lundi » comme indication de date.
À l'instar du développement logiciel classique, le processus de développement et de DevOps de ce modèle de TALN s'appuie sur une pile d'outils adaptée au problème. Ainsi, les frameworks de TALN tels que spaCy fournissent toutes les méthodes nécessaires pour créer des modèles de TALN à partir de données existantes. La création des données d'entraînement est prise en charge par des outils d'annotation spécifiques aux tâches et des outils de gestion des versions spécifiques au ML, tels que DVC. Les modèles créés peuvent être déployés, exploités et surveillés efficacement dans le cloud grâce à des technologies de conteneurs comme Docker, en combinaison avec des systèmes de déploiement de conteneurs logiciels tels qu'Amazon EC² ou Kubernetes.
Résumé
La recherche dans le domaine du TALN a fait des progrès considérables ces dernières années. L'augmentation spectaculaire de la puissance de calcul disponible permet de développer des modèles de plus en plus performants et des systèmes de TALN de plus en plus efficaces (Google Traduction n'en est qu'un exemple parmi d'autres).
Selon une étude de Gartner[1], le TALN est actuellement en train de passer du domaine de la recherche à celui de l'industrie. Les possibilités offertes par le TALN basé sur l'apprentissage automatique (ML) permettent à de nombreuses entreprises d'optimiser de manière significative et rentable leurs processus informatiques, tout en répondant aux exigences toujours plus élevées des clients en matière de disponibilité grâce à une automatisation totale ou partielle.
Auteurs
Prof. Dr Bodo Kraft
Le professeur Bodo Kraft est le fondateur et le directeur du laboratoire Business Programming. Depuis plus de dix ans, il y mène, en collaboration avec cinq doctorants actuellement, des recherches appliquées dans le domaine de la linguistique informatique. Ces différents projets ont pour point commun de s'attaquer au défi que représente le traitement efficace et automatisé de volumes massifs de documents en langage naturel.
Il est essentiel d'adapter avec succès les solutions au domaine concerné. L'accent est également mis sur une approche agile et axée sur la qualité afin de créer des systèmes logiciels exploitables et faciles à maintenir.
Lars Klöser, titulaire d'un master en sciences
Lars Klöser, titulaire d'un master en sciences, a étudié l'informatique à l'université RWTH d'Aix-la-Chapelle. Il prépare actuellement son doctorat sous la direction du professeur Bodo Kraft et fait partie du laboratoire Business Programming. Ses travaux portent sur le traitement du langage naturel (NLP), et plus particulièrement sur l'extraction de structures sémantiques complexes à partir de textes juridiques.
[1] https://www.gartner.com/smarterwithgartner/top-trends-on-the-gartner-hype-cycle-for-artificial-intelligence-2019/







