En intelligence artificielle, que signifie NLP ?

En intelligence artificielle, que signifie NLP ?

Le NLP (Natural Language processing ou Traitement Naturel du Langage en français) est la technologie utilisée pour aider les machines à comprendre le langage naturel de l’homme. Il n’est pas aisé d’apprendre aux machines à comprendre notre manière de communiquer. D’importantes avancées ont cependant été réalisées ces dernières années pour faciliter aux machines la compréhension de notre langage.

C’est quoi le traitement naturel du langage ?

Le NLP est une branche de l’intelligence artificielle traitant de l’interaction entre les ordinateurs et les êtres humains en utilisant le langage naturel. L’objectif ultime du traitement naturel du langage est de lire, déchiffrer, comprendre et donner un sens aux langages humains d’une façon qui soit utile.

La majorité des techniques de ce traitement reposent sur l’apprentissage automatique pour déduire le sens des langues humaines. Cette technologie se positionne par ailleurs comme étant la force motrice des applications fréquentes comme les applications de traduction de langues, les traitements de texte (pour vérifier l’exactitude grammaticale des textes), les applications d’assistant personnel, etc.

Un ingénieur aux compétences techniques transverses

L’ingénieur DevOps s’inscrit dans l’évolution des métiers du secteur informatique. C’est un facilitateur technique qui accompagne les équipes agiles afin de réduire le temps de mise en production. En garantissant un passage automatisé entre les différents environnements, il s’assure de l’intégration, la qualité et le déploiement du code produit. Sa double compétence se traduit par une expertise certaine aussi bien sur la partie développement que sur le versant exploitation. Pour mener à bien sa mission, il doit maîtriser des outils spécifiques permettant de programmer, gérer, tester et administrer les systèmes informatiques.

Le Natural Language processing est-il difficile ?

Le traitement naturel du langage est considéré comme un problème difficile en informatique. C’est cependant la nature du langage humain qui rend le NLP difficile. Les règles régissant la transmission des informations via des langues naturelles ne sont pas faciles à comprendre pour les machines.

Certaines peuvent être de haut niveau et abstraites, lorsqu’une personne utilise par exemple une remarque sarcastique pour transmettre une information. Pour bien saisir le langage humain, il faut comprendre non seulement les mots, mais aussi comment les concepts sont reliés pour transmettre le message souhaité.

Les techniques utilisées dans le traitement naturel du langage

L’analyse sémantique et l’analyse syntaxique sont les principales techniques utilisées pour faire des tâches de Natural Language processing.

L’analyse syntaxique : elle fait référence à la disposition des mots dans une phrase de façon à ce qu’ils aient un sens grammatical. Elle est utilisée pour évaluer la façon dont le langage naturel s’aligne sur les règles grammaticales.

L’analyse sémantique : elle fait référence à la signification véhiculée par un texte. C’est l’un des aspects difficiles du traitement naturel qui n’a pas encore été intégralement résolu, puisque l’humeur et le ton employé peuvent amener la machine au contre sens.

Distinction des unités de sens dans un texte à destination des personnes dyslexiques.

Distinction des unités de sens dans un texte à destination des personnes dyslexiques.

Travail agréé par l'IJCAI (2019)

L’apparition du livre numérique est un progrès majeur pour permettre l’accès à la lecture, et donc souvent à la culture commune et au marché de l’emploi. En permettant l’enrichissement de textes par des béquilles cognitives, des formats d’accessibilité compatibles EPub 3 tels que FROG ont prouvé leur efficacité pour palier mais aussi réduire les troubles dyslexiques. Dans cet article, nous montrons comment l’Intelligence Artificielle, et en particulier le transfert d’apprentissage avec Google BERT, permet d’automatiser le découpage en unités de sens, et ainsi de faciliter la création de livre numériques enrichis pour un coût modéré.

Le deep learning au service des enfants dyslexiques

Les origines de la dyslexie sont multiples et encore sujettes à débat. Deux théories dominent l’études des troubles dyslexiques : La théorie phonologique (association incorrecte des graphèmes et des phonèmes) et la théorie visuelle (trouble du traitement visuel en amont du déchiffrement).

Les béquilles cognitives portant sur les mots ont prouvé leur efficacité (Snowling, 2000) pour une revue). La question est ici de mesurer l’apport d’une segmentation en rhèse en complément.

La segmentation en rhèse a été étudiée par (Chilles Hélène, 2012).  La compréhension de textes de Littérature ou de mathématique par 9 élèves de 12 ou 13 ans en situation de dyslexie était évaluée.  La conclusion est que le découpage en rhèse permet d’alléger la mémoire de travail et semble faciliter le traitement de l’information contenu, y compris sur des énoncés de mathématiques.

(Labal & Le Ber, 2016) a comparé les apports d’un prompteur inversé avec une granularité au mot ou à la rhèse. La population étudiée était de 18 enfants dyslexiques entre 8 et 12 ans. Il apparait que l’échelle du mot est en moyenne la plus pertinente pour la performance de lecture (Taux d‘ erreurs observés lors d’une lecture à voix haute, vitesse de lecture). Par contre l’écart type sur les scores obtenus sur les segmentations en rhèses est bien plus important que celui sur les découpages en mots :  Pour certains enfants, le découpage en rhèses est plus pertinent. Surtout, la granularité « rhèse » a été préférée par deux tiers des enfants. Il semble que le découpage en mots facilite la lecture orale davantage que la compréhension. Il apparait que les deux approches sont complémentaires et à favoriser en fonction de chaque lecteur. Le livre numérique répond bien à cette problématique dans la mesure où la granularité utilisée peut être laissée au choix du lecteur.

En plus de la segmentation visuelle, le découpage en rhèse autorise plusieurs béquilles cognitive au sein d’un livre numérique :

  • L’utilisateur peut activer un soutien audio : Une unité de sens est lue si l’on pointe dessus.
  • Un masque gris s’applique sur le texte, une fenêtre de lecture met en valeur l’unité de sens qui est pointée
  • Les lettres et les mots sont espacés, l’interligne est augmenté, le paragraphe est ferré à gauche et les unités de sens ne sont pas tronquées.

Rhezor 2 : Découpage syntaxique et apprentissage

La bibliothèque open source SpaCy (Honnibal, 2015) inclue des modèles propose des modèles neuronaux convolutifs pour l’analyse syntaxique et la reconnaissance d’entités. Spacy permet d’analyser un texte en utilisant des modèles de prédiction sur les mots. Chaque modèle est spécifique à un langage et est entraîné sur un ensemble de données. Le modèle est pré-entraîné sur 34 langues.

De la sorte, SpaCy peut identifier entre autres la nature grammaticale d’un mot, ou les liens existant entre les mots d’une phrase. L’ensemble de ces informations peut être représenté par un arbre de dépendance grammaticale. 

Le Rhezor 2 utilise l’arbre de dépendance de chaque phrase pour réaliser une segmentation en rhèse. Pour cela, un score est calculé pour chaque découpage possible en fonction de l’empan. Le score est défini en fonction des critères suivant : Type de dépendance segmentée ; Nombre de rhèses ; Équilibre dans les longueurs de rhèse ; Niveau du découpage dans l’arbre.

La pondération entre les critères est déterminée par un algorithme évolutif. Il est apparu que le type de dépendance était le critère principal. 

Deep Rhezor : Transfer Learning

Jusqu’à il y a peu de temps, le volume du corpus de textes fragmentés manuellement était bien trop faible pour envisager une approche basée uniquement sur les données.  Les avancées réalisées en 2018 sur le mécanisme d’attention et le concept de transformer (Vaswani, et al., 2017)  permettent maintenant de spécialiser un modèle appris avec un volume raisonnable d’exemples. Ce procédé, dit de « Transfer Learning » est utilisé depuis plusieurs années pour la reconnaissance d’image, mais son application au traitement automatisé du langage est très récente.

La librairie retenue est le modèle BERT de Google (Devlin, et al., 2018), publié en open source en Octobre 2018. Le jeu de données d’apprentissage est automatiquement généré à partir de Wikipedia.  D’abord, environ 15% des mots sont masqués dans chaque phrases pour essayer de les prédire. D’autre part, BERT a appris à prédire si deux phrases sont consécutives ou pas.

Google a généré plusieurs modèles. Deux modèles ont été générés pour l’Anglais et le Chinois. Un autre modèle deux fois plus petit (énorme néanmoins) et multilingue a également été créé.  Deux modèle deux fois plus grand ont également été testés pour pour l’Anglais et le Chinois.

La base de textes étant principalement en Français, c’est ce modèle « BERT-Base, Multilingual Cased » qui a été retenu. La perte en précision sur une tache de traduction est d’environ 3% par rapport à un modèle de même taille entrainé sur une seule langue (Devlin, 2018).   La taille maximum des phrase (max_seq_length) est fixée à 48 et celle du mini-lot à 16. Le Learning Rate est 2e-5 et le nombre d’epochs est de 3.

Le fine-Tuning mis en œuvre a consisté à associé une phrase avec une de ses sous-partie, et de créer un label indiquant s’il s’agit d’une rhèse ou non. Nous disposions de 10 051 phrases représentant 53 478 rhèses, dont un tiers environ ont été exclues de l’apprentissage et réservées pour l’évaluation. 

Nous vous proposons des solutions autour du deep learning et machine learning dans divers domaines. Découvrez nos expertises sans plus attendre !

Quel est le rôle de l’AMOA dans le secteur informatique ?

Quel est le rôle de l’AMOA dans le secteur informatique ?

Les principaux secteurs concernés par l’AMOA

La réussite d’un projet dépend en grande partie de la manière dont la maîtrise d’ouvrage exprime ses besoins auprès d’une maîtrise d’œuvre (MOE). Pour cela, il peut être amené à recourir à une assistance à maîtrise d’ouvrage. Les entreprises évoluant dans le secteur informatique font souvent appel à ce type de profil mais d’autres secteurs peuvent faire appel à un AMOA comme celui du BTP dont le métier est originaire.

Qu’est-ce que l’assistance à maîtrise d’ouvrage dans le secteur informatique ?

L’Assistance à Maîtrise d’Ouvrage (AMOA) désigne l’accompagnement d’un responsable métier dans la mise en place et la réalisation d’un projet informatique jusqu’à l’exploitation du produit (logiciel) qui en découle. Il intervient dans la phase d’étude, d’élaboration, de livraison du produit fini et même après la phase de livraison (recette). Vous êtes un responsable métier dans une entreprise (comptabilité, ressources humaines, etc.) et vous souhaitez mettre sur pied un projet informatique pour votre entreprise ? Vous pouvez recourir au service d’un consultant en AMOA.

Quelles sont les qualités d’un AMOA ?

Dans le secteur informatique, le consultant AMOA assure le lien entre tous les acteurs concernés par le projet, à savoir : les architectes, les consultants informatiques qui travaillent sur le projet ainsi que les équipes de réalisation. Il est le garant de la bonne traduction du besoin exprimé par le métier. Grâce à ses compétences souvent doubles (techniques et fonctionnelles), il peut tenir le rôle d’un chef de projet. En effet, il dispose d’une connaissance solide sur les méthodologies et les contraintes d’un projet informatique. En somme, c’est un professionnel polyvalent.

La transformation de l’AMOA vers le métier de Product Owner

De plus en plus souvent, les entreprises organisent leurs projets informatiques selon une méthode Agile, telle que Scrum. Ces méthodes mettent avant le concept d’itérations rapides et successives afin de permettre de dégager le maximum de valeur des développements. Dans ces entreprises, les AMOA prennent souvent le rôle de Product Owner. Le rôle du Product Owner est proche de celui d’AMOA mais le Product Owner doit prendre en compte les itérations de son équipe, également appelées « sprints » grâce à la gestion d’un « backlog » qui contient la liste des sujets à développer, par ordre de priorité.