Dr.
Seif Mechti 2023
Sommaire
p.3 : Introduction
p.5 : Le NLP. Qu’est-ce ?
p.7 : Le NLP. Comment ça fonctionne ?
p.8 : Le NLP. Qu’est-ce que ça peut faire ?
p.10 : Le NLP. Comment ça s’applique pour l’entreprise ?
Glossaire
Big Data : Le Journal Officiel du 22 août 2014 préconise d’utiliser en français le mot
mégadonnées. Il en donne la définition suivante : données structurées ou non, dont le très grand volume
requiert des outils d’analyse adaptés.
Deep Learning : ou apprentissage profond. Famille de méthodes de Machine Learning, permettant un
apprentissage automatique différent par niveau de détail, en utilisant des réseaux de neurones artificiels.
Small Data : Il n’y pas de définition officielle pour les Small Data. C’est plutôt en opposition aux Big Data, les «
petites » données qui concernent la vie de tous les jours de l’entreprise (ex : données des tickets de caisse,
nombre de clients ayant pénétré dans le magasin...) et souvent non exploitées par les entreprises. Dès lors que
ces données sont exploitées et que leur utilité est avérée, ces petites données devenues « intelligentes » sont
souvent appelées Smart Datas.
Machine Learning : ou apprentissage machine. Technique combinant la combinaison de l’efficacité des
modèles statistiques à décrire la réalité avec la puissance de traitement et d’automatisation de
l’Informatique. La machine va donc « apprendre » son propre modèle prédictif en s’entraînant sur des
données d’apprentissage. Cf le Livre Blanc Myriad 2016 « Le Machine Learning, Envol vers le Prédictif » pour
plus de détails.
Intelligence Artificielle : Il existe plusieurs définitions différentes de l’Intelligence Artificielle, mais dans sa
déclinaison actuelle au service des entreprises, on peut dire qu’elle correspond à des techniques informatiques
permettant de réaliser des tâches, nécessitant des capacités de réflexion ou de calcul avancées pour des
humains. Celle-ci contient notamment le Machine Learning, le Natural Language Processing, la Computer
Vision…
2
Introduction
L’Intelligence Artificielle, en tant que partie prenante du processus de
digitalisation de l’entreprise, connaît un essor impressionnant sur grand nombre de
secteurs d’activité et ses cas d’application se multiplient. Un des grands axes de
développements de l’IA est constitué par la prise en compte et la mise en valeur des
données non structurées autrefois peu utilisées. Une grande partie de ces données non
structurées sont au format de textes, comme
• Le contenu des sites internet et leurs métadonnées
• Les messages des réseaux sociaux
• Les logs des machines
• Les emails
• Les articles, documents, présentations au sein d’une entreprise
• Les livres publiés
Aujourd’hui, l’Intelligence Artificielle peut venir enrichir les capacités d’une entreprise
en tirant partie de ces données textuelles, grâce à une technique appelée « Natural
Language Processing » ou Traitement Automatique du Langage Naturel.
De manière simplifiée, on peut dire du NLP qu’il correspond à la partie
textuelle/linguistique de l’Intelligence Artificielle. Or le texte/langage est justement
le moyen d’expression naturelle de l’homme. C’est en cela que le NLP constitue la
technique permettant une interface interactive entre l’humain et la machine.
Pour donner un ordre de grandeur de l’importance des données textuelles, nous
pouvons voir la projection ci-dessous de la croissance mondiale des données
d’entreprise (Source : IDC, The Digital Universe 2010), ainsi que les statistiques des
données de réseaux sociaux.
3
Etant donné l’intérêt actuel du NLP, nous allons exposer dans ce livre blanc ce qu’est
précisément le Natural Language Processing, les modèles sous-jacents, ses possibilités et
ses limites, et présenter plusieurs cas d’applications :
➢ gestion des compétences dans le domaine RH
➢ maintenance dans l’industrie
➢ analyse de commentaires pour le Retail
➢ domaine juridique pour la conformité produit
Ces cas d’application montrent à quel point le Natural Language Processing peut
valoriser des données textuelles souvent peu utilisées.
McKinsey Report, Mars 2017
L'automatisation des processus intelligents (IPA), qui regroupe entre
autres le NLP et les agents cognitifs, fera partie intégrante des modèles
d'exploitation de prochaine génération des entreprises. De nombreuses
entreprises de tous les secteurs ont expérimenté cette technologie, avec
des résultats impressionnants:
• Automatisation de 50 à 70% des tâches
• ce qui se traduit par des économies annuelles de 20 à 35%
• et une réduction du temps de traitement direct de 50 à 60%
avec, au total, un retour sur investissement le plus souvent en
pourcentages à trois chiffres.
4
Définition et angles d’approche du NLP
Le Natural Language Processing, ou Traitement Automatique du Langage, n’est
pas une discipline neuve. Son origine remonte à la fin de la deuxième guerre mondiale,
avec des recherches portant principalement sur la traduction automatique entre
différentes langues. En 1954, un ordinateur réussit à traduire automatiquement 60
phrases du Russe à l’Anglais. La publication en 1957 du livre Syntactic structures par
Noam Chomsky fut une révolution pour le domaine. Il y montra notamment qu’il existe
des caractéristiques communes à tous les langages et inventa un type de grammaire qui
convertit le langage naturel en une forme compréhensible par des ordinateurs.
A partir des années 80, l’augmentation de la capacité de traitement des
ordinateurs, puis le développement d’Internet et de la communication textuelle
numérisée (sms, emails, réseaux sociaux…), ainsi que plus récemment l’émergence
d’infrastructures Big Data et d’algorithmes d’Intelligence Artificielle ont permis une
explosion des capacités et des applications du Natural Language Processing.
Définition
Le Traitement Automatique du Langage (ou « Natural Language Processing » en
Anglais) correspond à un cycle automatisé par l’informatique de
lecture/correction/analyse de données textuelles pour en retirer différents types
d’information. Une de ses déclinaisons fréquemment utilisées pour la recherche de
données s’appelle le « Text Mining ». De plus, le Traitement Automatique du Langage
est de nos jours souvent supporté par des algorithmes d’Intelligence Artificielle ou
Machine Learning.
Point de vue du type d’information considéré dans le texte.
Un texte est une donnée très riche, qui contient beaucoup d’informations sous la
forme synthétique d’une chaîne de caractères que sont les lettres, les chiffres ou autres
symboles. Il est en effet rédigé/prononcé par une personne dans un style particulier, il
dépend d’un contexte donné ainsi que de la langue et de la culture de la personne, et il
vise à exprimer et transmettre un contenu objectif sur des événements extérieurs, ce
contenu étant souvent accompagné d’une opinion plus subjective de cette personne.
Ainsi, suivant le type d’information que l’on souhaite extraire d’un texte, le NLP
va permettre d’acquérir
• de la connaissance sur le langage utilisé en lui-même (orthographe, grammaire,
sens et connotations des mots…)
• de la connaissance sur le contenu du texte (le message que la personne veut faire
passer)
• de la connaissance sur la personne à l’origine du texte (style, sentiments…)
5
• de la connaissance sur la réalité extérieure (fiabilité et adéquation du message à
l’environnement décrit)
Point de vue du mode d’application du traitement effectué.
Le but du NLP est d’arriver à extraire les différents types de connaissance décrits ci-
dessus de manière automatique grâce à l’informatique. Ceci peut se faire suivant deux
modes :
• L’automatisation peut être déterministe. C’est-à-dire que les programmeurs vont
implémenter des règles métiers bien définies pour le traitement et l’analyse des
données textuelles. Cela peut concerner la correction orthographique ou
l’identification de mots-clés (par exemple des villes ou des entreprises) à l’aide
d’un référentiel prédéfini et par des techniques dites « d’expressions régulières ».
• Ou l’automatisation peut être statistique. Ce mode utilise alors des algorithmes
auto-apprenants, c’est-à-dire qui vont apprendre les règles métiers de traitement
et d’analyse eux-mêmes grâce à des lois statistiques. Ces algorithmes relèvent du
Machine Learning, du Deep Learning et plus largement de l’Intelligence
Artificielle.
Point de vue du niveau de compréhension du texte.
Un texte formant (généralement) un tout cohérent, on peut s’intéresser à différents
niveaux dans le degré de cohérence de ce texte.
• Analyse lexicale : il s’agit de trouver pour chaque mot sa nature grammaticale
(par exemple nom, déterminant, adjectif, verbe…).
• Analyse syntaxique : on s’intéresse à la structure des groupes de mots et des
phrases. Par exemple, le regroupement des mots dans des groupes nominaux
(« une petite souris »), groupes verbaux (« a mangé ») puis, de manière plus
profonde, des liens entre les différents groupes de mots au sein d’une phrase
(sujet, compléments, propositions subordonnées…).
• Analyse sémantique : elle cible le sens des mots et des groupes de mots. Ce type
d’analyse comporte plusieurs niveaux de profondeur : le regroupement de mots
ou groupes de mots dans des concepts, la gestion des synonymes ou de la
proximité de sens, l’identification et la classification de mots dans des catégories
plus vastes que des concepts (par exemple la catégorie entreprise, lieu, ou
personne…), la détermination de mots-clés dans un texte et des sujets
dominants…
• Analyse logique : comment les concepts sont-ils reliés entre eux au sein du texte,
quel sont les liens logiques qui les associent ? Ce type d’analyse s’appuie sur
6
l’analyse syntaxique mais va plus loin en apportant une classification logique des
relations entre concepts.
• Analyse de sentiment : quelle est la tonalité du texte ou d’une de ses parties, en
terme de jugement positif ou négatif, d’objectivité ou subjectivité, d’optimisme ou
pessimisme, de bienveillance ou malveillance, de détente ou nervosité,
d’intéressement ou d’ennui… ?
Les modèles du NLP
Après avoir présenté les différents points de vue sous lesquels considérer les données
textuelles et donc le NLP, nous pouvons maintenant examiner de façon plus technique
quelles sont les technologies, ou les classes de modèles, sous-jacentes au NLP. On divise
celles-ci en fonction de la représentation du texte utilisée.
Cette liste n’est bien sûr pas exhaustive mais rassemble un échantillon représentatif des
modèles utilisés en NLP à l’heure actuelle.
1. Expressions régulières.
Comme nous l’avons déjà mentionné ci-dessus, les expressions régulières constituent un
mode d’application déterministe du NLP. Les expressions régulières fournissent en effet
une méthode puissante, flexible et efficace mais déterministe pour le traitement du
texte. La notation étendue de correspondance de motifs d'expressions régulières permet
notamment
• d'analyser rapidement de grandes quantités de texte pour trouver des motifs de
caractères spécifiques
• de découper un texte (une chaîne de caractères) en paragraphes, phrases, mots
• de valider le texte afin de s'assurer qu'il correspond à un modèle prédéfini (par
exemple une adresse électronique)
• d’extraire, modifier, remplacer ou supprimer des sous-chaînes de texte
• d’ajouter des chaînes extraites suivant des règles prédéfinies à une collection afin
de générer un rapport.
Par exemple, pour vérifier si une chaîne de caractère correspond bien à un [Link], on
utilisera l’expression régulière « ^. *\.t x t $ », ce qui se décompose en : à partir du début
7
de la chaîne (^), autoriser tout type de caractère un certain nombre de fois (.*), puis le
texte doit se terminer par .txt (\.txt$).
Pour trouver toutes les adresses email d’un texte, on implémente l’expression régulière
ci-dessous.
Cette expression régulière signifie : après un caractère blanc (\b), autoriser tout
caractère alphanumérique (avec ._%+-) un certain nombre de fois mais au moins une ([A-Za-
z0-9._%+-]+), puis le caractère arobase (@), puis des caractères suivis d’un point ([A-Za-z0-9.-
]+\.), puis au moins deux caractères alphabétiques ([A-Za-z]{2,}) correspondant à la
terminaison (.com ou .fr) et enfin un blanc (\b).
2. Extraire des mots-clés avec TF-IDF
TF-IDF (« term frequency-inverse document frequency ») correspond au premier niveau
d’analyse statistique des mots d’un texte, mais il est souvent efficace. Ce poids est une
mesure statistique, mais obtenue de manière déterministe, utilisée pour évaluer
l'importance d'un mot dans un document faisant partie d’une collection ou d’un corpus de
documents. L'importance du mot augmente proportionnellement au nombre de fois que ce
mot apparaît dans le document mais est compensé par la fréquence globale du mot dans le
corpus.
En effet, plus un mot apparaît dans un document, plus il va caractériser ce document ; mais
plus un mot est globalement utilisé dans le corpus, plus sa fréquence habituelle d’apparition
est importante (par exemple les mots « et », « le », « à »…), et moins son apparition dans un
document précis ne va caractériser ce document. Le poids TF-IDF associé à un mot est donc
d’autant plus élevé que le mot est fréquent dans le document considéré et que le mot est rare
dans le corpus. Cela permet de détecter facilement les mots-clés (avec TF-IDF élevé) d’un
document.
8
Par exemple, un document que l’on souhaite analyser contient 10 fois le mot « souris » et
50 fois le mot « est ». Si le mot « souris », qui n’est pas très fréquent, n’apparaît que dans
2% des documents du corpus, alors que le mot « est » apparaît dans 50% des documents
du corpus, le TF-IDF de « souris » pour le document considéré sera 28 fois1 plus élevé
que celui de « est ».
Des variantes de ce système de pondération TF-IDF sont utilisées par les moteurs de
recherche pour évaluer et classer la pertinence d'un document en fonction des requêtes
des utilisateurs.
3. Modèles de classification de texte
Les modèles de classification sont des modèles de Machine Learning à apprentissage
supervisé. Ces modèles fournissent des prédictions de catégorie basées sur un
historique d’exemples déjà classifiés, appelé ensemble d’apprentissage. Considérons un
exemple tiré du monde bancaire pour illustrer le fonctionnement d’un modèle de
classification.
Une banque souhaite prédire par le Machine Learning si des emprunteurs particuliers
vont pouvoir rembourser leur emprunt à terme ou non, c’est-à-dire à les classifier en
deux catégories « solvable » / « non solvable ». Pour cela elle dispose d’un certain
nombre d’informations sur les emprunteurs, caractéristiques démographiques, profils
financiers, profils professionnels… ainsi que d’un historique important sur des emprunts
passés indiquant si ces emprunts ont été totalement remboursés ou non.
La machine considère itérativement chaque emprunteur de l’historique, puis à l’aide
d’un modèle de classification, tente une prédiction « solvable » / « non solvable » de
l’emprunteur en fonction de ses caractéristiques. Suivant que la prédiction a été juste ou
non, la machine ajuste les coefficients du modèle de classification, et recommence le
processus pour un autre emprunteur. Plus le modèle est entraîné sur un nombre
important de données (de bonne qualité), meilleure seront les prédictions du modèle,
qui peuvent ensuite s’appliquer à de nouveaux emprunteurs, dont on ne sait pas encore
la catégorie « solvable » / « non solvable ».
1 Le calcul de la rareté d’un mot dans un corpus implique un logarithme, ce qui explique le résultat 28.
9
Pour plus de détails sur les modèles de Machine Learning, ou pour d’autres cas
d’applications, consulter en particulier le Livre Blanc Myriad « Le Machine Learning,
Envol vers le Prédictif ».
En ce qui concerne l’application des modèles de classification à l’analyse des données
textuelles, celle-ci peut se décliner de différentes manières suivant le degré de
compréhension ciblé du texte (cf Division du NLP).
• Pour l’analyse lexicale, on peut utiliser des modèles de classification « Part-Of-
Speech (POS) Tagging ». Ceux-ci permettent à partir des caractéristiques des
mots (place dans la phrase, mots précédents et suivants, casse…) de classifier ces
mots suivant leur nature grammaticale. Ainsi une phrase comme « une souris a
mangé du fromage » devient alors
On peut faire remarquer qu’il suffirait d’utiliser un mode déterministe grâce à la
constitution d’un référentiel préenregistré donnant pour chaque mot sa nature.
Mais, outre qu’il est difficile de construire un référentiel complet, certains mots
peuvent avoir une nature différente suivant le contexte et ceci ne sera détecté
que par un modèle probabiliste prenant en compte ce contexte. Par exemple
« bien » un nom, un adjectif ou un adverbe...
• Pour l’analyse syntaxique, on peut utiliser des modèles de parsing, qui
permettent, à partir du POS Tagging des mots d’une phrase, de les regrouper les
mots en groupes et de leur donner une fonction. L’exemple précédent devient
alors
10
• Pour l’analyse sémantique, on peut utiliser des modèles de classification en
« entités nommées » (Named Entity Recognition), qui représentent des catégories
importantes de mots pour l’analyse du texte. Cette détection se fait sur des
groupes de mots à partir de leurs caractéristiques syntaxiques obtenues à l’étape
précédente. Par exemple, il y a la catégorie des entreprises, celle des noms
propres, celle des dates, celle des pays, celle des villes…
Ici encore, on peut utiliser des référentiels préenregistrés pour faire cette
détection, mais les modèles NER permettent de détecter aussi des mots inconnus au
référentiel et de classifier des mots pouvant appartenir à plusieurs catégories
suivant le contexte.
• Pour l’analyse de sentiment, on utilise des modèles de classification binaire par
rapport à un sentiment du type positivité du propos, objectivité, optimisme,
nervosité, ou intérêt. Ces modèles permettent durant l’apprentissage d’associer à
chaque mot un coefficient de positivité ou négativité par rapport au sentiment
considéré, puis de prédire le sentiment global d’un nouveau texte en sommant les
coefficients de tous les mots présents dans ce texte.
Par exemple, si l’apprentissage d’un modèle sur un corpus a permis de
déterminer les coefficients pour le sentiment positif/négatif associés aux mots de la
phrase « il a apprécié sa chambre mais le service était atroce » comme ci-
dessous, le sentiment global de cette phrase sera négatif.
4. Modèles de concepts (WordNet)
Pour aller plus loin dans la compréhension du langage, des linguistes ont recensé les
attributs sémantiques des mots du vocabulaire de différentes langues dans des bases de
données lexicales. Une des plus connues s’appelle WordNet, construite par l’Université
de Princeton. L’identification d’un concept dans un texte se fait alors de manière
déterministe par consultation d’une base de données de ce type.
11
A partir d’un mot – par exemple souris – le modèle permet de déterminer quels sont les
différents concepts associés à ce mot, avec leurs différents sens. Chaque concept est
codé par un « synset » (synonym set), c’est-à-dire un ensemble de synonymes décrivant
chacun le concept. L’intersection des sens de ces synonymes permet de caractériser de
manière univoque le concept. Ci-dessous, le mot « souris » est associé à 4 concepts
différents, chacun étant listé avec son « synset » et sa définition.
Ces synsets, représentant des concepts, sont regroupés dans des catégories plus
générales et abstraites, qui forment ainsi une hiérarchie de concepts appelée ontologie.
Il existe d’autres bases de données proposant des ontologies similaires ou plus
spécialisées, certaines répertorient aussi les relations pouvant avoir lieu entre des
concepts de type différents.
5. Modèles de plongement prédictif de mots (représentation vectorielle)
Les modèles de plongement prédictif de mots, ou « Word Embedding », dont le plus
emblématique est Word2Vec, utilisent des réseaux de neurones artificiels pour
apprendre statistiquement une représentation vectorielle de chaque mot présent dans
le texte. Le vecteur associé à chaque mot prend en compte le contexte dans lequel est
apparu ce mot tout au long du texte, ce qui permet d’avoir une représentation
numérique encodant des propriétés grammaticales et sémantiques. L’hypothèse sous-
jacente est que deux mots seront d’autant plus proches de sens qu’ils apparaissent dans
des contextes similaires.
La pertinence de cette représentation dépend évidemment de l’entraînement des
modèles – taille du corpus textuel d’apprentissage, qualité de ce corpus, optimisation du
paramétrage via des métriques de tests – mais certains résultats sont étonnants de
précision. En effet, la représentation vectorielle permet de faire des opérations
algébriques, comme l’addition ou la soustraction, aux vecteurs V[w] de chaque mot w.
12
Par exemple, V[roi]-V[homme]+V[femme] a pour plus proche voisin V[reine] dans un
modèle suffisamment entraîné. L’interprétation basique de ce fait peut être la suivante :
au concept de roi, on a soustrait le concept de masculinité, et on obtient le concept de
royauté. En lui ajoutant le concept de féminité, on obtient alors le concept de reine. Cette
représentation par plongement prédictif de mots permet ainsi une compréhension
sémantique étonnante des mots d’un texte.
Projection d’un Espace sémantique pour un modèle de plongement prédictif
Source : Site de S. Zafrany sur le Machine Learning
6. Modèles statistiques de langage
Un des buts des modèles statistiques de langage est de construire un modèle qui peut
estimer la distribution du langage naturel de manière aussi précise que possible. Un tel
modèle correspond donc à une distribution de probabilité sur les chaînes de caractères
qui représente la fréquence d'apparition estimée ou « normale » de ces chaînes de
caractères en tant que phrase dans un texte.
Un des avantages de ce type de modèles est de fournir un moyen simple de traiter le
langage naturel, avec lequel beaucoup d’outils statistiques existent, et qui peut s’adapter
à des textes très différents. Un autre avantage réside dans le fait d’utiliser de
l’apprentissage non supervisé, c’est-à-dire qu’il n’y a pas besoin de fournir des réponses
à l’algorithme, pas de tagging de corpus textuels à faire, mais l’algorithme apprend grâce
aux associations statistiques entre les mots.
13
Les modèles de thèmes probabilistes constituent des cas particuliers très utilisés de
modèles statistiques de langage. Ceux-ci ont vocation à trouver les thèmes dominants de
textes donnés. Les thèmes (ou « topics ») sont eux aussi représentés par des
distributions de probabilité qui modélisent la fréquence d’apparition de tel ou tel mot
dans un texte associés à ces thèmes. Ceci permet plusieurs choses :
• D’inclure dans un thème non seulement les mots qui le décrivent précisément
mais aussi les mots reliés (avec des poids moins élevés)
• De permettre à un mot en particulier d’appartenir à plusieurs thèmes,
notamment si ce mot a plusieurs connotations ou sens.
Chaque distribution de probabilité associée à un thème est estimée par des algorithmes
statistiques sur des textes que l’on souhaite classifier, puis l’on peut visionner ces
thèmes, évaluer leur pertinence, et enfin trouver la proportion de ces thèmes dans
d’autres textes. Ces modèles sont donc très intéressants pour avoir une vision globale
d’un corpus et en produire une classification thématique.
Fonctionnement d’un modèle de thèmes probabiliste
Source : David Blei, Commun. ACM 55 (2012) 77-84.
7. TextRank (Graphes de similarité)
Ce type de modèles, inspiré de l’algorithme PageRank de Google, permet de détecter des
groupes de mots caractérisant un texte. Un texte est modélisé par un graphe constitué
de nœuds représentant des groupes de mots du texte et d’arêtes représentant la
fréquence à laquelle les deux groupes de mots apparaissent ensemble dans le texte.
14
Le modèle TextRank permet donc un apprentissage non-supervisé, basé sur la
statistique d’apparition des mots. Une fois ce graphe construit, des techniques d’analyse
de graphes sont appliquées pour déterminer les groupes de mots ayant une centralité
plus importante, qui sont alors des candidats de groupes de mots-clés du texte. Plus un
groupe de mot est connecté à d’autres (de multiples arêtes partent du nœud associé), et
plus ses voisins sont connectés entre eux, plus ce groupe de mots aura alors une
centralité élevée.
Exemple de fonctionnement de TextRank
Source : R. Mihalcea and P. Tarau, « TextRank: Bringing Order into Texts »
15
Les possibilités et limites du NLP
Compte-tenu des modèles décrits dans la section précédente et de bien d’autres
encore, la question suivante est naturelle : comment mettre tous ces modèles bout à
bout et que permettent-ils de faire ?
Les possibilités du NLP peuvent être génériquement regroupées dans le
workflow ci-dessous. Chacune de ces possibilités correspond à des tâches qui sont
réalisables par des humains à petite échelle ; mais la puissance du NLP réside dans
l’automatisation de ces tâches et le déploiement à grande échelle.
Le Workflow du Natural Language Processing
1. Collecte
La collecte de données textuelles se situe plutôt en amont du NLP, mais elle constitue
une étape d’importance cruciale pour les modèles NLP qui suivent. Celle-ci inclue des
techniques très différentes comme
• Le Web scrapping ou le web crawling, pour la récupération de données textuelles
disponibles sur internet
16
• L’extraction du texte contenu dans des fichiers informatiques comme les formats
PDF, MS Word, MS PowerPoint…
• La reconnaissance optique de caractères, dans des fichiers de type image, qui
utilise aujourd’hui du Deep Learning
• La conversion de fichiers audio en texte (SpeechToText) qui utilise aussi des
techniques de réseaux de neurones artificiels
• L’intégration dans un système GED de gestion électronique des documents au
sein d’une entreprise
• La consommation de données textuelles provenant d’API de réseaux sociaux ou
de sites d’information (news)
2. Transformation
La partie transformation des données textuelles regroupe des réalités très diverses. Cela
concerne tout changement des données par rapport à un but particulier et connu (règle
métier), notamment :
• Les prétraitements, nettoyage et standardisation de textes
• La correction orthographique et syntaxique
• La structuration des données par rapport à une structure prédéfinie
• La traduction, qui fait partie des problèmes difficiles appelés « AI-complets »,
c'est-à-dire nécessitant différents types de connaissances que possèdent les
humains (grammaire, sémantique, faits extérieurs sur le monde réel, etc. .)
3. Classification thématique
La classification de documents textuels intervient à un niveau assez haut de
compréhension des textes. Il s’agit d’identifier les thèmes globaux de ces textes pour
permettre une classification pertinente par rapport à des objectifs métiers.
• Détection de thèmes principaux d’un texte et des mots représentatifs de ces
thèmes
• Identification de titres et de mots-clés importants dans un texte
• Regroupement des textes d’un corpus par similarité thématique. Ceci peut être
effectué avec un niveau de détails arbitrairement élevé en fonction des besoins
4. Compréhension
Dans la partie compréhension des textes, on peut inclure beaucoup de types d’analyses
décrites dans les sections précédentes :
• Analyse lexicale, syntaxique et logique pour une compréhension de la forme
• Analyse sémantique et conceptuelle pour une compréhension du fond,
permettant notamment une gestion des synonymes
17
• Analyse conceptuelle et/ou reconnaissance automatique de catégories (NER) de
mots
Cependant, une compréhension fine, et de bout en bout, de textes longs composés de
multiples phrases, avec un enchaînement logique complexe, est actuellement hors de
portée des algorithmes et constitue un champ de recherche actif et encore ouvert.
5. Agrégation
La partie agrégation concerne les informations générales que l’on peut extraire à partir
d’un texte. Elle se nourrit de la partie Classification pour la détection des thèmes et de la
partie Compréhension pour la détection des entités nommées (NER). Cela permet
notamment
• De produire des résumés automatisés de textes, avec une vision directe des
thèmes importants et/ou des mots-clés, sous la forme de tableaux de bord ou de
textes grâce à la partie Génération de texte
• De construire des indicateurs sur les textes grâce à de l’analyse de sentiment
6. Génération
Dans cette partie, la machine génère du langage naturel pour faire passer une
information ou répondre à une question de manière directement compréhensible par les
humains. Cette technique est en particulier très utilisée dans les chatbots. Ceci peut se
faire principalement de deux manières
• Mode déterministe : les phrases générées par la machine sont pré-écrites avec
certains trous à combler par la machine avec des informations dans sa base de
données et elles sont sélectionnées en fonction de ce qui est demandé. Ceci est
particulièrement performant dans un périmètre restreint, sur un domaine
particulier ou pour répondre à des « FAQs ».
• Mode statistique : les phrases générées par la machine le sont grâce à des
modèles probabilistes de langage. En fonction des thèmes considérés, qui sont
repérés grâce à la partie Compréhension, une loi de probabilité est déterminée
pour la réponse à apporter, à partir de corpus d’apprentissage écrits par des
humains, et des mots sont ainsi générés suivant cette loi de probabilité. Cette
technique relève encore du domaine de la recherche pour ce qui est de la
génération de textes longs et structurés.
D’autre part, pour répondre à une question spécifique, cette technique peut être
couplée avec la partie Recherche d’informations, et à partir des mots-clés
détectés dans la question, la machine recherche des documents, isole la partie
spécifique des documents pertinente pour la question, et peut la restituer/la
modifier au demandeur.
18
7. Recherche d’informations
La recherche d’information permet à un utilisateur de formuler une requête (en langage
naturel ou non) et que lui soient restituées des informations pertinentes en regard.
Cette requête est, après une partie Compréhension du contenu de la requête, comparée
à une base de données propre au système de recherche d’informations.
Cette base de données est donc cruciale pour la pertinence des informations retournées.
Elle est constituée de documents qui ont été analysés (cf parties Compréhension et
agrégation), dont notamment les mots clés ont été extraits par NER ou TextRank, puis
ont été intégrés dans la base de données en tant que métadonnées associées au
document considéré. Lorsqu’une requête est effectuée, un score de pertinence avec
chaque document de cette base est effectué et les documents les plus pertinents sont
retournés à l’utilisateur.
Cas d’applications
Le Natural Language Processing, ainsi que nous l’avons analysé en détail plus
haut, permet l’interaction directe homme-machine, et donc d’automatiser nombre de
processus/traitements portant sur des données textuelles ou générées par l’homme.
Voyons ici quelques cas d’application.
19
Ressources humaines Réseaux sociaux
• Automatisation de recherche de profils • Etudes de tendances (ex : mots
• Matching CVs - offres de poste buzz)
• Construction de référentiels de • Etudes d’image de marques ou de
compétence produits
• Identification de compétences • Analyse des réactions à l’actualité
manquantes et proposition de formation (opinions)
E-commerce Industrie
• Recherches des acheteurs basées sur le • Structuration des rapports écrits de
sens, gestion des synonymes Maintenance – renforcement des
• Analyse de sentiment dans les capacités GMAO
commentaires de site web ou forums et • Analyse de marché/compétition
Evaluation de la satisfaction client • Surveillance de la réputation sur
• Utilisation pour la personnalisation de internet
recommandation produit • Suivi des règles de conformité
produit
Chatbots Juridique,
• Informer l’utilisateur transport,
• Réponse aux questions luxe,
• Améliorer l’image de marque et comptabilité…
l’expérience client
20
Focus sur des applications
Pour mieux comprendre la valeur ajoutée du Natural Language Processing et la
combinaison possible des fonctionnalités et algorithmes que nous avons vu plus haut,
focalisons-nous sur des retours d’expérience.
Focus 1 : La gestion des compétences en Ressources Humaines
Un grand groupe a souhaité tester les possibilités du Natural Language
Processing pour aider ses RH et automatiser certaines tâches dans la gestion interne des
talents et dans la partie recrutement.
Enjeux
Le département RH du client faisait face aux enjeux suivants :
➢ Grand nombre de collaborateurs dont les données sont non structurées
➢ Grand nombre de postulants chaque année (plusieurs centaines de milliers)
➢ Grand nombre d’offres de postes à remplir, par des profils internes ou des
postulants extérieurs
➢ Trop de saisie manuelle pour l’exploitation des données non structurées et
l’analyse en vue d’un Matching pertinent
Déroulement de l’expérimentation
21
Le pipeline utilisé pour l’expérimentation chez ce client suit le schéma ci-dessus. Il
regroupe et combine certaines possibilités du NLP vues plus haut :
• la collecte des données textuelles (extraction)
• la transformation de ces données (prétraitements, tagging, structuration)
• leur compréhension (Modélisation sémantique, détection des compétences)
• l’agrégation (construction d’indicateurs)
• la génération (Matching)
• et la recherche d’informations (Mise en place du référentiel de compétences).
Résultats :
Pour aller plus loin :
Comme on a pu le constater sur ce point particulier, le NLP permet d’augmenter
considérablement l’efficacité RH. Il existe en outre beaucoup d’autres cas d’usage
possibles du NLP, combiné à d’autres techniques de l’Intelligence Artificielle, pour le
domaine des Ressources Humaines. Le schéma suivant permet d’en avoir un aperçu
global2.
2 Pour plus de détails, cf le site [Link]
22
Les Possibilités de l’Intelligence Artificielle pour les RH (Source : Myriad)
Focus 2 : La gestion de la maintenance assistée par Intelligence Artificielle
Dans le secteur de l’Industrie et de l’Energie, une des grandes possibilités offertes
par l’Intelligence Artificielle est celle de la maintenance prédictive. Cela permet
notamment :
• de diagnostiquer en temps réel l’état de fonctionnement de la chaîne de
production/l’équipement à surveiller
• d’analyser les risques futurs de défaillance technique et identifier les pièces
concernées
• de déterminer en conséquence un plan de maintenance prédictive de
l’équipement en minimisant son temps d’arrêt.
Pour alimenter les algorithmes de prédiction, on remonte les données de
capteurs connectés, mais une possibilité d’enrichissement de ces données consiste à
connecter la GMAO (Gestion de Maintenance Assistée par Ordinateur). Cette base de
23
données contient notamment des données textuelles concernant les événements
d’intervention/maintenance sur l’équipement.
L’utilisation ces données décrivant les événements de maintenance, quand elles
sont présentes, est très importante pour les pertinences de prédiction des algorithmes,
et ainsi une démarche d’analyse, de compréhension et de structuration de ces données
textuelles par le Natural Language Processing s’avère nécessaire.
Par exemple, le Natural Language Processing permet de
• repérer et classifier les mots-clés d’un texte décrivant un événement de
maintenance : le matériel concerné et son état, le technicien intervenant sur le
matériel, le type d’événement, la date…
• pouvoir rechercher facilement et corréler ces données une fois classifiées
• utiliser ces données, avec d’autres de type capteurs, pour des algorithmes de
Machine Learning déterminant un plan de maintenance prédictive.
Focus 3 : L’analyse automatisée de la satisfaction client
A l’heure où l’expérience utilisateur prend tant d’importance et où les méthodes
agiles préconisent le co-développement des solutions avec les utilisateurs, la
compréhension de la satisfaction client est un enjeu clé pour bon nombre de secteurs
24
d’activité. Le Natural Language Processing permet une automatisation de la détection,
l’analyse et la surveillance de cette satisfaction client, de la manière suivante.
• Détermination de sites web clés pour l’étude de la satisfaction client et
chargement des contenus via APIs/crawling
• Détection de messages concernant tel produit ou telle marque
• Analyse automatisée du contenu pour déterminer la tonalité et le sentiment du
message
• Analyse approfondie pour cibler les caractéristiques appréciées/critiquées
• Agrégation de l’analyse au sein d’un tableau de bord permettant d’avoir une
vision globale du produit/de la marque sur les sites ciblés
Focus 4 : Le suivi de la conformité produit
Le Natural Language Processing peut aussi être utilisé pour suivre et comprendre
de manière automatique l’évolution des textes légaux, règlementaires, et les normes
concernant un produit, ou un secteur d’activité. Ce cas d’usage peut se décliner comme
suit
• Collecte des textes légaux ou règlementaires sur le périmètre concerné (produit,
secteur), par exemple sur des sites comme Legifrance ou AFNOR.
• Analyse par l’humain des modalités d’expressions des obligations dans ce texte et
de leur structure logique
• Choix de textes de référence en tant que corpus d’apprentissage des algorithmes,
et tagging de ces textes, en particulier des mots-clés, des catégories importantes
de mots, des coordinations logiques
• Implémentation des algorithmes de Natural Language Processing et constitution
d’une base de données s’appliquant au périmètre considéré.
25