Vous êtes sur la page 1sur 19

See discussions, stats, and author profiles for this publication at: https://www.researchgate.

net/publication/275098079

Traitement automatique des langages naturels

Article · March 2015

CITATIONS READS
0 2,522

1 author:

Zied Arbi
École Supérieure des Communications de Tunis
9 PUBLICATIONS   6 CITATIONS   

SEE PROFILE

Some of the authors of this publication are also working on these related projects:

MQTT protocol for iot applications View project

All content following this page was uploaded by Zied Arbi on 18 April 2015.

The user has requested enhancement of the downloaded file.


TR A I TE M E NT
AU TOM ATI QU E D E S
LA N GAG E S N ATUR E L S
E T L E PRO BL È M E
D ’E XTR AC TIO N D ES
M É TA -D O N NÉ E S
ARBI M E D ZIED

SUP’COM
T R A I T E M E N T AU T O M A T I Q U E
D E S L A N G AG E S N A T U R E L S E T L E
P RO BL È M E D E L’ E X TR AC TI O N
DES MÉTA -DONNÉES

THE LIMITS OF MY LAN GUAGES ARE T HE LIMIT S OF THE WORLD

Ludwig Wittgenstein

INTRODUCTION

Le traitement automatique des langues naturelles (TAL) a pour objet la création des
programmes informatiques capables de traiter automatiquement les langages naturels.
La langue naturelle désigne la langue parlée ou écrite par les êtres humains, par opposition
aux langages artificiels, informatiques, mathématiques ou logiques, par exemple. En fait, le
traitement ne concerne pas directement la langue. Mais il porte sur les données linguistiques,
les textes codés dans une langue particulière. Sous cette dénomination générique. Nous
regroupons aussi les dialogues, écrits ou oraux, et des unités plus petites, comme les
paragraphes ou les phrases.
Par traitement nous entendons dans une première approximation. La transformation d'un
objet d'entrée en un objet dc sortie, quand il porte sur la langue. Le traitement peut être de
deux types:

- Il peut agir sur des données linguistiques (c'est à dire les textes) pour les corriger, les
condenser ou les traduire. Bien souvent, cette transformation comprend une étape
intermédiaire qui vise à extraire des textes leurs représentations, elle est appelée
analyse des langues naturelles.

Texte 1 Représentation (texte 1) texte 2

Le terme de représentation désigne toute traduction du texte dans un système autre


que la langue naturelle et qui rend explicites des informations implicites dans le texte
(un ensemble de mots-clés, un arbre syntaxique, une formule logique, etc.). Dans ce
premier type de traitement l'entrée est donc un texte et la sortie un nouveau texte ou
une représentation de texte.

- Le TAL peut aussi faire l'opération inverse : il prend alors en entrée la représentation
de texte, pour produire un texte en langue naturelle. En général, cependant. On ne
dispose pas de la représentation de textes mais de données brutes, comme des
tableaux ou des tables, qu'il faut d'abord Les traduire en une représentation de texte,
cette opération est appelée génération des langues naturelles.

2
Données brutes Représentation (texte) texte

Ce traitement nécessite évidemment des outils divers que l'on peul grouper en trois
catégories distinctes : linguistiques. Ils décrivent les diverses connaissances relatives à
la langue formels, ils expriment ces connaissances dans un formalisme qui convient à
un traitement automatique Enfin informatiques. Ils utilisent cette description
formelle des connaissances dans une application informatique concrète il ne faut
donc pas s'étonner de la diversité du TAL. Qui fait intervenir des recherches dans
différents domaines :
- la linguistique informatique el l'informatique linguistique qui développe des
programmes de TAL el définit, dans ce but, de véritables langages informatiques.
Spécialisés pour les applications du TAL :
- la linguistique qui fournit des théories explicites du savoir linguistique.
- l’informatique qui permet d'optimiser les algorithmes et les programmes de
traitement.
- les mathématiques qui étudient les propriétés formelles des outils de traitement et
des théories.
- L’intelligence artificielle (IA) qui s'occupe de la représentation des connaissances et
de leur utilisation.

Pourquoi s’intéresser à l’automatisation du traitement du langage naturel ?

Comme pour l’essentiel des champs de connaissance ressortissant de l’IA, on peut identifier
deux sources principales de motivation à l’étude du TAL : d’une part la volonté de modéliser
une compétence fascinante (le langage), afin de tester des hypothèses sur les mécanismes de
la communication humaine, ou plus généralement sur la nature de la cognition humaine ;
d’autre part le besoin de disposer d’applications capables de traiter efficacement les
monceaux d’informations « naturelles » (documents écrits ou sonores) aujourd’hui
disponibles sous forme électronique (emails, pages HTML, documents hypermédias, etc.).
Cette double motivation transparaît au long de l’histoire du TAL.

3
KEEP YOUR EYES ON TH E STARS, YOUR FEET O N THE GROUND

Theodore Roosevelt

PRÉSENTATION DU PROBLÈME

Le problème qu’on veut traiter consiste à associer à un texte donné ou une partie de ce
texte des informations utiles pour un traitement future, ces informations peuvent contenir
les fonctions syntaxiques, identificateurs ou juste des symboles spécieux.

Exemple 1 : [Tagging morphosyntaxique]

Texte original
Profits soared at Boeing Co, easily topping forecasts on Wall Street, as their CEO
Alan Mulally announced first quarter results.
Texte étiqueté
Profits/N soared/V at/P Boeing/N Co/N, easily/Adv topping/V forecasts/N on/P
Wall/N Street/N, as/P their/P CEO/N Alan/N Mulally/N announced/V first/Adj
quarter/N results/N.
N : noun
V : verb
P : preposition
Adv : adverb

Exemple 2 : [Reconnaissance d’entités nommées]

Texte original
Profits soared at Boeing Co, easily topping forecasts on Wall Street, as their CEO
Alan Mulally announced first quarter results.
Texte étiqueté
Profits soared at [Company Boeing Co], easily topping forecasts on [Location Wall
Street], as their CEO [Person Alan Mulally] announced first quarter results.

Un tel problème peut être résolu par la méthode de tabulation, en regroupant les noms de
toutes les firmes on peut écrire un programme qui reconnait les noms des firmes, malgré les
contraintes sur la taille des tableaux à remplir, le temps nécessaire pour parcourir ces
tableaux, comment remplir ces tableaux, ça reste dans la limite de faisabilité mais pour
étiqueter les emplacements, c’est dur car il y a une infinité d’emplacements, donc sans un
modèle qui décrit comment se fait la description d’un lieu dans un langage donné, ce qui fait
que les méthodes de tabulation ont une limite infranchissable d’où le besoin pour un
nouveau modèle.

4
FREE YOURSELF FROM T HE RIGID CONDUCT OF TRADITION, AND
OPEN YOURSELF TO THE NEW FORM OF PROBABIL ITY

Hans Bender

MODÈLES PROBABILISTES

Dans cette partie nous allons apprendre à modéliser un langage.

Supposons qu’on a un ensemble fini Ψ, qu’on va nommer vocabulaire, cet ensemble


contient un ensemble de mots par exemple :

Un prototype de cet ensemble est contenu dans le fichier VOCABULARY qui contient
58110 mots en anglais.

Avec cet ensemble on peut construire un ensemble infini Ψ t contenant toutes les phrases
possibles en anglais, on va ajouter à cet ensemble deux caractères spécieux, un qui signifie le
début d’une phrase {*} et l’autre signifie sa fin {/stop}.

Exemple :

Ce qu’on cherche est un modèle probabiliste pour comptabiliser les phrases, donc une
distribution de probabilité d’abord qui vérifie les propositions suivantes.

∑ ( )

( )

Puisque est un ensemble infini, on ne peut qu’approcher cet ensemble par un ensemble
fini mais qui contient un nombre élevé de phrases, on va l’appeler ensemble de test.

Cette distribution doit par définition favorisée les phrases dont la syntaxe est la plus correcte
par exemple :

( )
( )
( )

5
( )

- On remarque que les phrases incorrectes syntaxiquement ont une probabilité faible.

Une méthode naïve consiste à utiliser la distribution suivante :


( )
( )
N : le nombre de phrases dans notre ensemble de test.
Count () : le nombre de fois qu’on rencontrer cette phrase dans l’ensemble de test.

Cette méthode est naïve parce qu’elle ne prend compte que des phrases contenants dans
l’ensemble de test les autres phrases auront une probabilité nulle.

1- Modèle probabiliste :
Les modèles de langage probabilistes sont omniprésents, de nombreuses applications sont
basées sur cette technique. Ils sont majoritairement employés, seuls ou avec à d'autres
techniques, pour la reconnaissance de caractères écrits [Srihari], en traduction de parole
[Brown], [Cattoni], et bien entendu en reconnaissance de la parole [Rosenfeld].
Dans un système de reconnaissance de la parole, on utilise seulement l’analyse linguistique
pour déterminer la suite de mots énoncés dans le signal à reconnaître, en fonction des sous-
unités trouvées par le module acoustique, une application similaire à ce qu’on fait en
traitement de signal pour extraire l’information en bit ou symbole contenue dans un signal,
seulement les outils changent au lieu des transformées de Fourier et des DSP, on utilise des
techniques hérités de la linguistique.
Les systèmes à base de modèles de langage statistiques ont pour but de déterminer la
probabilité a priori de la séquence de mots S =

Pour un modèle probabiliste, on considère n variables aléatoires à valeurs dans .


{Pour le moment on considère n fixe}.

Notre objectif est de définir une distribution qui mesure la probabilité à priori et par
conséquence l’exactitude syntaxique des chaines de caractères de longueurs n.
, -

L’avantage majeur de ces techniques par compilation1 est le type de réponse proposée. La
compilation engendre généralement une réponse de type «vrai/faux».
L'intégration de probabilités, au sein d'un système de traitement de texte, permet une
certaine manœuvrabilité vue l’arsenal de techniques que propose l’analyse probabiliste face à
des techniques par compilation ou la réponse binaire ne satisfait ni la curiosité du chercheur,
ni les besoins de l’ingénieur. À contrario, le désavantage principal d'un modèle de langage
probabiliste est sa capacité à générer, dans certaines conditions, des suites de mots
complètement incohérentes avec une forte probabilité et c’est totalement compréhensible
quand on sait que ces techniques sont basés aux comportements humains avec toutes leurs
complexités et parfois irrationalités.

6
L’omniprésence des modélisations probabilistes des langages se manifeste par les différentes
techniques pour le calcul des probabilités d'un modèle de langage. Celles-ci sont
généralement estimées sur des ensembles d'apprentissage censés contenir un grand nombre
de phrases écrites selon les règles du langage, et qui servent comme inspiration pour les
applications.

I. Modèles n-grammes:
Un problème vicieux qu’on rencontre toujours dans l'utilisation de modèles de langage
probabilistes tient en la longueur de l'historique considéré. Il est effectivement très difficile
de calculer efficacement la probabilité [ ] au cours de la reconnaissance.

, -

De plus, il est pratiquement impossible d’estimer les probabilités du modèle, car il est
pratiquement impossible de créer un ensemble d’apprentissage contenant tous les historiques
possibles pour tous les mots, (déjà notre vocabulaire1 contient 58110 mots en anglais).

Pour contourner ce problème, on utilise un historique de taille réduite et souvent fixe. C’est
ce qu’on appelle un modèle n-gramme.

Ce type de modèle est actuellement le plus utilisé pour les systèmes de traitement
automatique du langage naturel, principalement avec des historiques de longueur 2, ce qui
correspond à des modèles dits trigrammes [Choong].

Le calcul de base de ces probabilités se fait donc par un comptage de chaque séquence
observée, puis appliquer la méthode de maximum de vraisemblance suivant la formule
suivante :

( )
( )
( )
Exemple :

( )
( )
( )

7
Un problème pour ce modèle réside dans le calcul des estimations, un calcul qui devient
pénible lorsque le vocabulaire croit. Par exemple notre fichier VOCABULARY contient
58110 entrées lexicales, le nombre de trigrammes possibles pour ce modèle est .

Il est bien sûr évident qu'au sein du langage, même naturel, il n'existe pas toutes les
combinaisons de mots. Pourtant, il n'est pas possible de garantir que tous les trigrammes
possibles sont présents dans l’ensemble d'apprentissage.

1- Modèle n-grammes à pas constant :


i. Modèle Markovien de 1er ordre : [bigramme]

Dans ce modèle on considère que la suite ( ) définit un processus markovien de 1er ordre.
On aura donc :

, - , -∏ , -

, - ∏ , -

Dans ce modèle l’exactitude syntaxique se calcule par le biais des probabilités des sous-
chaines successives de la phrase contenant exactement 2 mots.

L’historique dans ce modèle ne s’étale qu’à un seul mot antérieur.

ii. Modèle Markovien de 2eme ordre : [trigramme]

Pour ce modèle on considère que la suite définit un processus markovien de 2eme ordre.
On aura donc :

, - , - , -∏ , -

, - ∏ , -

L’historique dans ce modèle ne s’étale qu’à deux mots antérieurs ce qui présente certes une
complexité additionnel, mais donne un rendement plus intéressant.

8
iii. Modèle dynamique : [longueur de chaine variable]

Un modèle dynamique est un modèle ou la longueur de la suite n’est pas fixe pour
toutes les suites, n aussi est une variable aléatoire.

Par convention en définit toujours pour ce type de modèle .

Exemple : [Modèle trigramme dynamique :]

, - , -
, -
, -
, -

2- Modèle n-grammes distants :


Dans les modèles n-grammes standard, la probabilité d’un mot est calculée sachant les mots
qui le précèdent immédiatement. Mais ce n’est pas toujours pertinent de faire cette démarche
car pour une langue comme le français, par exemple les adverbes temporels n’apportent
souvent que peu d'informations sur le mot suivant.

Exemple :

-
-
-

Dans la première phrase alors est suivie un pronom personnel, dans la deuxième par un
pronom relatif alors que dans la dernière par un verbe, et généralement la distribution des
fonctions syntaxiques sur les mots précédés par « alors » est équiprobable, l’idée est que
sachant un adverbe temporel seulement il est difficile de calculer la probabilité du mot
courant car elle n’a pas une fonction syntaxique plus probable que les autres.

Pour cela, fut introduit les modèles dits distants, qui se proposent de calculer la probabilité
d’un mot en fonction d'un historique qui ne le précède pas immédiatement [Langlois].

Exemple :
, -

Un modèle trigramme distant d'ordre 2 utilisant comme historique du mot , les mots
et .

9
3- Modèles cache et trigger :
Dans le cas d’un problème de reconnaissance d’entité lier un mot avec ces précédents
immédiats ou à distances fixes n’apporte pas de grandes choses, car on ne sait pas où se
trouve le « trigger » qui va influencer l’apparition d’un mot ou un ensemble de mots pouvant
définir une instance ou servir comme attribut pour une entité.

Les modèles cache [Kuhn et al. 90] et trigger [Lau 93] sont basés sur des relations à long
terme entre les mots du langage considéré. Dans un document, ou une discussion dans le cas
d'un dialogue, l'apparition de certains mots peut influencer la probabilité d'apparition de ce
même mot, pour le modèle cache, ou d'un autre mot, pour le modèle trigger.

Exemple :
/*************************************/
Dans [Rosenfeld 94] page 18 à 20. D'après l'auteur, en anglais, la probabilité du mot winter
(hiver) varie en fonction du nombre de fois où l'on retrouve le mot summer (été) dans
l'historique du document. Cette probabilité se trouve ainsi très fortement augmentée dans le
cas où l'on retrouve plus de 4 fois le mot summer précédemment.

Ces deux exemples montrent bien l'intérêt des modèles cache et trigger. L'avantage de ces
deux modèles est la possibilité d'obtenir, par une simple interpolation linéaire d'un modèle
trigramme avec des modèles cache et trigger, un modèle intégrant les connaissances de ces 3
sources selon l'équation suivante :

( ) ( ) ( ) ( )

Estimation de la distribution P :

Une manière pour estimer la distribution P, est la méthode de maximum de vraisemblance.

Exemple :

( )
, -
( )

Cette méthode d’inférence naturelle permet d’induire des caractéristiques inconnues de


l’ensemble des phrases en un langage à partir des échantillons contenue dans le fichier test
(ensemble test).

Les caractéristiques de l’échantillon, une fois connues, reflètent avec une certaine marge
d’erreur possible celles de l’ensemble des phrases entier.

La précision peut atteindre jusqu’à 99.8% pour six langues européens (LIGA).

10
II. Amélioration des modèles par l’interpolation
linéaire :

Tenons compte qu’on k modèles ( ( )) , on peut les interpoler en un seul


modèle, les combinant tous, un modèle de la forme :

( ) ∑ ( )

Avec ∑

Exemple :

Considérons l’estimateur de maximum de vraisemblance :

En treillis :

( )
, -
( )

En doublet :

( )
, -
( )

Grossier :
( )
, -

Un modèle plus performant est le suivant :

( ) , -

, -

, -

Ou {

11
Ce modèle basé sur un mélange de chaînes de Markov lissées perme d’inclure les probabilités
issues des trois modèles basiques, ce qui le rend plus performant.

1- Estimation des

L’estimation des se fait par le biais de la théorie de l’information, on choisit les de sorte
que la quantité d’information soit maximale.

Prenons S un sous ensemble de l’ensemble test tel que


Supposons ( ) ( )

( ) ( ( ))

( ) ∑ ( ) ( ( ))
( )

( ) ∑ ( ) ( ( ))
( )

2- Évaluation des modèles des langages :

La perplexité est la mesure la plus couramment employée depuis de nombreuses années


[Jelinek et al. 77] pour juger de la qualité d'un modèle de langage. Cette valeur se calcule sur
un texte non vu au cour de l'apprentissage. C'est ce que l'on nomme en anglais test-set-
perplexity [Rosenfeld 94], à ne pas confondre avec la training-set-perplexity qui est la
perplexité du modèle sur ses données d'apprentissage. Elle est facteur de l’entropie H(M)
d'un modèle M utilisé dans la prédiction des mots rencontrés. Elle peut être obtenue de la
manière

Posons que notre ensemble test contient m phrases .


( )
On définit la perplexité

( ) ∑ ( ( ))

M : modèle choisie

Dans le cadre de l'emploi d'un modèle de langage statistique, le calcul de l'entropie de


ce modèle se fait au moyen de la quantité ( ( )). Celle-ci est définie comme suit
pour une séquence de mots S de longueur M.

12
La formule de la perplexité se réduit alors par simplification, dans le cas du calcul de
la perplexité d'un modèle statistique sur un texte de test représenté par une séquence
S, à

∑ ( ( ))
∏ ( )

La perplexité peut aussi être vue comme le facteur de branchement moyen du langage
considéré. Si l'on prend un modèle de langage ayant une perplexité X, il est équivalent, en
termes de perplexité, à un langage qui comporterait X mots équiprobables. Alors, un système
de reconnaissance de la parole utilisant un modèle de langage de perplexité X peut se
contenter, en moyenne, de n'évaluer que les X hypothèses les plus probables à chaque
instant.
Une méthode alternative de calcul de la perplexité a été développée pour permettre une plus
grande justesse de résultats [Bimbot ], [Jardino ], [Bimbot]. En effet, si l'on regarde les
équations précédentes, il est évident que leur résultat est très dépendant du modèle et du
texte sur lequel on l'évalue. La variante proposée est basée sur le jeu de Shannon
[Shannon 51]. Ce jeu, mis au point dans les années 50 par C. Shannon, avait pour but
l'estimation de l'entropie d'un langage. Il était demandé à des sujets de prédire la lettre
suivante en connaissant ou non les lettres précédentes. En réitérant les expériences avec
différents sujets et plusieurs historiques, il est possible de déduire quelle quantité
d'information est présente dans le langage considéré.
La variante de calcul de la perplexité utilise le même type de procédé. L'idée est de construire
un ensemble de test constitué de phrases tronquées dont le contenu linguistique est
complètement différent. On demande c'est-à-dire de donner une probabilité avec un modèle
de langage, sur le mot manquant à la fin de la séquence et seulement lui. La perplexité est
alors calculée à partir de ces mises. La difficulté de cette méthode réside dans la définition du
corpus de test pour être certains de tester tous les phénomènes présents dans le langage
considéré. Cependant, d'après les résultats présentés dans [Bimbot et al.], cette méthode
semble prometteuse.

13
FREE YOURSELF FROM T HE RIGID CONDUCT OF TRADITION, AND
OPEN YOURSELF TO THE NEW FORM OF PROBABIL ITY

Hans Bender

GRAMMAIRE HORS-CONTEXTE

I. Introduction aux grammaires:

1- Introduction :

Définition : [Grammaire]
Une grammaire est un quadruplet 〈 〉
- V est l’ensemble des mots
- T est l’ensemble des structures grammaticales
- P est l’ensemble des règles de production avec ( )
- S est le symbole de fin. (exemple : un point)

Exemple : une grammaire simple qui comporte une seule règle de production

Soit

- * +

- * +

- { { }}

Avec cette grammaire et ce vocabulaire on peut générer les phrases suivantes

- La boite verte.
- La boite rapide.
- Le boite verte.
- Le voiture rapide.

Évidemment cette grammaire génère des phrases grammaticalement incorrectes


malgré ça le langage définit par le vocabulaire V et cette grammaire est totalement
non ambigu.

14
On peut améliorer cette grammaire en ajutant des règles supplémentaires de
production, la seule contrainte est que lorsqu’on ajoute des règles supplémentaires les
risques d’ambiguïté augmentent l’exemple suivant illustre ce phénomène.

Remarque :

Pour alléger l’écriture on va confondre grammaire et règles de production

Exemple :

Soit le vocabulaire suivant :

* +

Soit les règles de production suivantes :

{ }

* +

N ~ Nom ; A~ Article ; GN ~ Groupe nominal;

COD ~ Complément d’objet direct; CCL ~ Complément circonstanciel de lieu;

P ~ Préposition; AN ~ Attribut du nom

Avec cette grammaire on peut générer des phrases comme :

- clefs emporte les maison de la Elle au garage.


- maison emporte les clefs de la garage au Elle.
- Elle emporte les clefs de la maison au garage.
On va s’intéresser à cette dernière phrase malgré qu’elle soit grammaticalement
correcte elle preuve qu’une grammaire malgré très simple comme celui-ci peut
comporter des ambiguïtés, car elle peut être présentée par deux arbres.

15
Un programme informatique ou même un être humain ne peut pas décider entre ces
deux formes sans d’autres informations contextuelles.

Définition : [Grammaire probabiliste]


Pour une grammaire probabiliste on désigne des probabilités aux les règles de
production.

Exemple :

On reprend l’exemple précèdent.

; ( )

; ( )

; ( )

{ } ;. ( ) ( )

Si on reprend la phrase de l’exemple précédent. On trouve que les probabilités


totales suivantes :

Pour le premier arbre ∏

Pour le deuxième arbre ∏

Donc pour notre modèle un programme informatique ou un être humain peuvent


décider sur le deuxième arbre sans pour autant acquérir d’autres informations.

Définition : [Analyse syntaxique]


16
L’analyse syntaxique d’une phrase est le processus d’identification du contenue
grammatical de cette phrase.

Définition : [Arbre syntaxique]


Après effectuer l’analyse syntaxique d’une phrase on peut présenter son contenu
grammatical sous forme d’un arbre, cet arbre s’appelle l’arbre syntaxique.

Les branches de l’arbre présentent les règles d’induction utilisée.

Définition : [Probabilité d’un arbre]


La probabilité d’un arbre T est définie par :

( ) ∏ ( )

Exemple :

Définition : [l’arbre le plus probable]


Soit P une phrase et T(P) l’ensemble des arbres possibles sur P.

Alors l’arbre le plus probable est définie par :

( )( ( ))

2- Utilisation des treebank :

Un treebank est une bibliothèque de phrase

17
BIBLIOGRAPHIE

[Srihari] Rohini K. Srihari and Charlotte M. Baltus

Incorporating Syntactic Constraints in Recognizing Handwritten Sentences.

[Brown] Peter F. Brown

A statistical approach to machine translation.

[Cattoni] Roldano Cattoni

Robust analysis of spoken input combining statistical and knowledge based information
source.

[Rosenfeld] Ronald Rosenfeld

The CMU statistical language modeling toolkit and its use in the 1994 ARPA CSR
evaluation.

[Choong] Choong-Nyoung Seon

Named Entity Recognition using Machine Learning Methods and Pattern-Selection


Rules

18

View publication stats

Vous aimerez peut-être aussi