Vous êtes sur la page 1sur 63

CORTEX

Système de résumé automatique par des méthodes


numériques

Juan-Manuel TORRES-MORENO
Laboratoire d’Informatique d’Avignon
2006 TALN
PLAN
 Approches de solution
 Types de résumés
 Architecture
 Algorithme CORTEX
 Modèle
 Métriques
 Tests
 Textes en français / espagnol
 Étude sur les métriques
 Étude sur le lexique
 Qualité du résumé
 Conclusions

Juan-Manuel Torres LIA / 2


Avignon
Approches de solution
Linguistique
Analyse très fine
 Mais très difficile
 Graphe de connaissances
 Consomme beaucoup de temps
 Dépendant de la langue
Algorithmique-numérique
Analyse moins fine mais
 Rapide
 Moins dépendant de la langue
 Méthodes statistiques
 Réseaux de neurones
 K++ voisins
 Chaînes de Markov …
Juan-Manuel Torres LIA / 3
Avignon
Types de résumés…
• Indicative vs. informative
Categorisation rapide
Traitement du contenu

• Extract vs. abstract


Liste de fragments du text
Re-écriture de phrases avec un contenu coherent.

• Generique vs. personnalisé (query-oriented)


Résumé génerique
Intérét de l’utilisateur.

• Un document vs. multiples-document


Basé sur un seul text
Plusieurs textes
Architecture d’un système RA
(Mani 2003)

Compression

Utilisateur Fonction Coherence


Generique Indicatif Fragment
Personnalisé Informatif Texte
généré
Critique
Type
Extract
Abstract

Résumés

Caractéristique
Source
Type Analyse Transformation Synthèse
Media
Juan-Manuel Torres LIA / 5
Langue Avignon
Et maintenant, un système réel...

Juan-Manuel Torres LIA / 6


Avignon
Système CORTEX
Trois niveaux : (Torres, Meunier, Velazquez, 2002-2004)

1. Modules de transformation : Filtrage, lemma-


tisation/stemming, synonymes (sous développement),
anaphores (sous développement), ...
2. Modules d’extraction : Métriques, algorithme de
décision, résumés personnalisés …
3. Modules de génération de résumés (en cours):
Idéntification de concepts, génération par templates, …

Juan-Manuel Torres LIA / 7


Avignon
Latao: une suite de fonctions

Une suite de fonctions…

Fonctions de Fonctions de
transformation d'extraction

LATAO : Lecture et Analyse de Textes Assistés par Ordinateur


Juan-Manuel Torres LIA / 8
Avignon
Unités d’information
« La plume de ma tante »

3-grammes
3-grammes Mots
Mots

{La, plume, de, ma, tante}

{La_, a_p, _pl, plu, lum, ume, …,tan, ant, nte}

Juan-Manuel Torres LIA / 9


Avignon
Unités de segmentation
Phrases

Segments à longueur fixe

Paragraphes

Pages


Juan-Manuel Torres LIA / 10
Avignon
La transformation d’un texte (1)

UNIFS
(Termes) Unités
d'information:
Mots, N-grammes

SEGMENTS
Pages, phrases

Juan-Manuel Torres LIA / 11


Avignon
La transformation d’un texte (2)
1 2 3 ... i N-1 N

2
UNIFS
(Termes)
3
...
j

SEGMENTS P

MATRICE Terme-Segment

Juan-Manuel Torres LIA / 12


Avignon
La transformation d’un texte (3)
1 2 3 ... i N-1 N

1 1 1 1 0 0 0

2 0 1 0 0 0 1
UNIFS
(Termes) 0 0 0 1 1 0
3
...
j

1 1 0 1 0 0
SEGMENTS P 0 0 0 0 1 0

MATRICE Terme-Segment

Juan-Manuel Torres LIA / 13


Avignon
La transformation d’un texte (4)
1 2 3 .... i N-1 N

1 tf tf tf 0 0 0

2 0 tf 0 0 0 tf
UNIFS
(Termes) 0 0 0 tf tf 0
3
....
j

tf tf 0 tf 0 0
SEGMENTS P 0 0 0 0 tf 0

MATRICE Terme-Segment

Juan-Manuel Torres LIA / 14


Avignon
Matrices terme-segment TS
Fréquentielle γ

Binaire ξ

Juan-Manuel Torres LIA / 15


Avignon
« Empreinte digitale » d’un texte

• Comment utiliser l’information contenue


dans les matrices γ et ξ ?

• Peut-on visualiser des caractéristiques


propres à un texte ?

Juan-Manuel Torres LIA / 16


Avignon
Matrice Terme Segment

Discours de la Méthode
139 Segments 2922 Termes

3000 Mots

2500
présence du mot i dans le segment j
2000
Termes

1500

1000

500

0
0 20 40 60 80 100 120 140
Segment
17
Détection de styles ?
1,0

0,8

Richesse
Terme (normalisé)
0,6
du lexique
0,4

Descartes
0,2 Coran
INRA

0,0
0 100 200 300 400 500 600

Segment
Juan-Manuel Torres LIA / 18
Avignon
Modèle vectoriel
Terme 1

Phrase P Phrase 3
Phrase 1

Terme N

Phrase 2
Terme 2
Juan-Manuel Torres LIA / 19
Avignon
Modèle vectoriel
Terme 1

Phrase P Phrase 3
Phrase 1

Terme N
α

Phrase 2
Terme 2
Juan-Manuel Torres LIA / 20
Avignon
Modèle vectoriel
Terme 1

Doc 3
Doc P

Doc 1

Terme N
α

Doc 2
Terme 2
Juan-Manuel Torres LIA / 21
Avignon
Démarches technologiques

Classification des segments de textes


Catégorisation
Réseaux de neurones
CLASSPHERES

Condensés de textes
Extraction de phrases importantes
Résumés de textes
CORTEX

Juan-Manuel Torres LIA / 22


Avignon
CORTEX : COndensés et Résumés de TEXte

Lident : FRA, ESP, ENG, GER, SOM,…

Pré-traitement
Dépendant de la langue
Filtrage
Indépendant de la langue
Lémmatisation
Segmentation

Matrice TS (P segments ; N mots) +


Métriques informationnelles + Traitement numérique

Algorithme de décision
23
Cortex : une machine à résumés

Textes
Texte AD Condensé
Conden-
AD sation
original

Métriques
Métriques

Post-traitement
Post-traitement
Pré-traitement
Pré-traitement N linguistique
linguistique
Segmentation
Nettoyage
Filtrage P
Racinisation
(Anaphores) Matrices Terme-
segment γ et ξ
Résumé
Conden-
sation 24
Exemple

• Texte « Puces»
– Invasion de puces et de poux : Puces Bio

• Petit communiqué sur Internet

Juan-Manuel Torres LIA / 25


Avignon
u r
ute
é a
m
R esu

Corpus de texte

Juan-Manuel Torres LIA / 26


Avignon
uurr
ut e
te
é a
a u xx
mmé te
rrte
s u
u CCoo
RRees m é
é
u
ssu m
RRee
Les
Lescantonnements
cantonnementsde dela
la
compagnie
compagnieIV IVde
del'école
l'écoledede
recrues d'infanterie
recrues d'infanterie
d'exploration
d'explorationet etde
detransmission
transmission
213,
213, stationnée à Avenches,sont
stationnée à Avenches, sont
envahis parles puces et les poux.
envahis parles puces et les poux.
Une
Unesection
sectiond'hygiène
d'hygiènede del'école
l'école
de recrues d'hôpital 268,
de recrues d'hôpital 268,
stationnée
stationnéeààMoudon,
Moudon,va va
désinfecter tous ces
désinfecter tous ces
cantonnements.
cantonnements.

Juan-Manuel Torres LIA / 27


Avignon
Exemple

• Le Petit Prince (St Exupéry)


• Langues:
– Français
– Espagnol
– Anglais
– Allemand
– Somali

Juan-Manuel Torres LIA / 28


Avignon
Cortex : technologie
Français

English
CORTEX
CORTEX
… Lident
Lident

Deutsh

Español
Multilangue 29
Cortex : technologie
Multidocument
Texte
XML
XML Résumé
Résumé
original

CC OO RR TT EE XX
Texte
HTML
original

Texte
Unicode Texte
<Balisé>
original original
30
Cortex : technologie

XML
Texte
C)
HTML AD
AD
original
texte
regexp
Métriques
Métriques

Générateur
Générateur
crunch number surface
surface
regexp parallélisme
Pré-traitement
Pré-traitement B)
A) XML
texte 31
Segmenteur

Cortex : technologie Traitement

Pre-
traitement

Générateur
A) Pre-traitement (perl)

• Segmentation
• Identification de titres
• Filtrage
• Lemmatisation/Stemming
• Anaphores
• Synonymes
• Génération des matrices

Moyen simple d'approcher la sémantique

Juan-Manuel Torres LIA / 33


Avignon
Segmentation

• Types
– Nb de mots fixe
– Par phrase
– Par paragraphe
• N phrases
• Détection de paragraphe
• Segmentation par phrase
– Delimiteurs <.> <:> <?> <!>

Juan-Manuel Torres LIA / 34


Avignon
Filtrage

• Eliminer :
– Texte entre paréntheses ( bla blabla bla, bla )
– Nombres / chiffres (facultatif)
– Mots fonctionnels
• Articles, conjonctions,...
– Verbes fonctionnels
• Pas d’action ou d’état
– Expressions
• c’est-a-dire, alors que, peut être, ...
Juan-Manuel Torres LIA / 35
Avignon
Mots fonctionnels
• Mots ôtés du vocabulaire
• Lesquels?
– Mots très fréquents (statistique), mots-outils (linguistique : article,
coordination, pronom …)
– Ex : sur 2 ans de Le Monde les mots les plus fréquents sont:
de, la, l’, le, à, les, et, des, d’, en, un,du, une, …
– Ex: Le Petit Prince : le, de, je, il, et, les, un, la, petit, pas, à,
prince, ne, …
• Les mots-outils sont-ils vraiment inutiles?
– Utiles : typage de textes
– Utiles : reconnaissance de la parole
– Inutiles : indexation de documents
– Inutiles : résumé par extracts
Juan-Manuel Torres LIA / 36
Avignon
Verbes fonctionnels
• Verbe d’action : exprime une action
• donner, recevoir, chanter, courir, tomber…
• Verbe d’état : relation entre un sujet et son
attribut
• demeurer, devenir, être, sembler, paraître, rester

• Verbes fonctionels : verbes auxiliaires /


semi-auxiliaires
– auxiliaires : être, avoir associés au participe passé
– semi-auxiliaires : avec un infinitif pour apporter une
nuance de temps : aller + infinitif : futur proche
– falloir, devoir, pouvoir

Juan-Manuel Torres LIA / 37


Avignon
Filtrage

• Dictionnaire (simple)
– Listes de stop-words
• Noms
• Chiffres
• Verbes
• Apprentissage (moins simple)
– Markov
– Réseaux de neurones
– SVM

Juan-Manuel Torres LIA / 38


Avignon
Mots composés

• pomme de terre ►pomme_de_terre


• Etats Unis ►états_unis
• Université d’Avignon ►université_avignon

• Repérage des mots composés


– Difficile
– Dependant du contexte
– Collocations (n-grammes ?)

Juan-Manuel Torres LIA / 39


Avignon
Mots composés

• Dictionnaire
– Listes de mots
• Apprentissage
– Markov
– Réseaux de neurones
– SVM

Juan-Manuel Torres LIA / 40


Avignon
Lemmatisation
Un chasseur Désambiguïsation,
chantant ses Etiquetage
chansons… Etiquetagelexicale
lexicale règles…

Dictionnaire
Dictionnaire
Heuristiques…

Stemming
Stemming
un chasseur
Règles… chanter ses
chanter

Juan-Manuel Torres LIA / 41


Avignon
Racinisation

• Lemmatisation par dictionnaire


~ 200 000 formes en français
~ 500 000 formes en espagnol (en construction)

• Stemming (Porter adapté)


– English
– Français
– Allemand
– Somali
– Espagnol

Juan-Manuel Torres LIA / 42


Avignon
Stemming (Porter)
#!/usr/bin/perl -w

# Porter stemmer in Perl. Few comments, but it's easy to follow


# against the rules in the original # paper, in
#
# Porter, 1980, An algorithm for suffix stripping, Program, Vol. 14,
# no. 3, pp 130-137,
#
# see also http://www.tartarus.org/~martin/PorterStemmer
# Release 1

local %step2list;
local %step3list;
local ($c, $v, $C, $V, $mgr0, $meq1, $mgr1, $_v);

sub stem
{ my ($stem, $suffix, $firstch);
my $w = shift;
if (length($w) < 3) { return $w; } # length at least 3
# now map initial y to Y so that the patterns never treat it as vowel:
$w =~ /^./; $firstch = $&;
if ($firstch =~ /^y/) { $w = ucfirst $w; }
...
Juan-Manuel Torres LIA / 43
Avignon
Exemple « cognitif »

««Vous
Vousavez
avezreçu
reçuun
ungros
grosmontant
montantd'argent
d'argentpour
pourNoël
Noëletet
songez
songezààfaire
fairel’acquisition
l’acquisitionde
deplusieurs
plusieursordinateurs
ordinateurspour
pour
l’Université
l’Universitéd’Avignon.
d’Avignon.»»

FILTRAGE
FILTRAGE ++ LEMMATISATION
LEMMATISATION

{{ recevoir
recevoir gros
gros monter
monter argent
argent noël
noël songer
songer
acquérir
acquérir ordinateur
ordinateur université_avignon
université_avignon }}

Juan-Manuel Torres LIA / 44


Avignon
B) Traitement (C/C++)

• Décompression de matrices
• Calcul de métriques
• Algorithme de décision

• C/C++
• Java …

Juan-Manuel Torres LIA / 45


Avignon
CORTEX : structure
Distances
Distances
Fréquence
Fréquence Poid
Poid
Entropie
Entropie d’Hamming
d’Hamming
N
µ N µ µ µ µ
… d’Hamming
d’Hamming
N
F = ∑ fi
µ µ
E = − ∑ x log 2 x 1; si ξ = ξ
i =1 i =1 i i
H ii +1= 0 autrement
ι j
φ = ∑ ξiµ (≠ 0)
µ

i =1

Algorithmede
Algorithme dedécision
décision
basésur
basé surlelevote
vote

OUI
OUI--NON
NON sur surlelechoix
choixd’un
d’un
segmentµµ, ,avec
segment avecune
uneprobabilité
probabilitépp 46
Les métriques

Détails, commentaires,…
Métriques
• Fréquentielles
– Fréquence
– Probabilités
– TF*IDF
• Informationnelles
– Entropie
– Interaction
• Hamming
– Poids, longueur, distances
• Titres
– Titres, sous-titres…
• Position
Juan-Manuel Torres LIA / 48
Avignon
Exemple
TEXTE . x A, x b . b 2 b x B b, a x x ( e x f ) B b B x b b ; b 1000 x x C x ! !
x x ,a x b, x D d ?

Segmentation | Filtrage | Normalisation


<text titre = « texte » >
<Phrase> x a x b </Phrase>
<Phrase> b 2 b x b b a x x b b b x b b b 1000 x x c x </Phrase>
<Phrase></Phrase>
<Phrase> x x a x b x d d </Phrase> Phrase vide!!
</text>
« x » = mots/verbes fonctionnels
« a » = forme normalisé
(lemmatisée/stemm) de « A »
<text titre = « texte » >
<Phrase 1> a b </Phrase>
<Phrase 2> b b b b a b b b b b b c </Phrase>
<Phrase 3> a b d d </Phrase>
</text>
Matrices
Juan-Manuel Torres LIA / 49
Avignon
Exemple
Termes
a b c d a b c d
Segments

i=1 i=2 i=3 i=4 i=1 i=2 i=3 i=4


µ=1 1 1 0 0 µ=1 1 1 0 0
µ=2 1 10 1 0 µ=2 1 1 1 0
µ=3 1 0 1 2 µ=3 1 0 1 1

Matrice γ Matrice ξ

NOTE: Pour cet exemple on a gardé les termes de f=1

Juan-Manuel Torres LIA / 50


Avignon
Matrices creuses

• 99.27% de la matrice correspondante à


«BIBLE.TXT » est quasi-vide !

• (et celle du «CORAN.TXT» aussi d’ailleurs)

• Donc…

Juan-Manuel Torres LIA / 51


Avignon
Représentation de γ et ξ
N colonnes

k éléments ≠ 0

P lignes

k lignes

Juan-Manuel Torres LIA / 52


Avignon
Représentation de γ et ξ

• Réduction de l’espace mémoire


• Algorithme optimisé en C
• Pas d’inversion de matrices
• La matrice binaire des présences ξ
devient virtuelle

Juan-Manuel Torres LIA / 53


Avignon
Matrices creuses en perl
# Matrice creuse de 5 lignes et 10 colonnes
my %matrice = (); # Elements significatifs
$matrice{0}{0} = 1;
$matrice{0}{10} = 2;
$matrice{5}{0} = 3;
$matrice{5}{10} = 4;

for (my $i=0; $i<=5; $i++) { # Parcours de la matrice


for (my $j=0; $j<=10; $j++) {
if (exists $matrice{$i}{$j}){
print "Lig i:$i Col j:$j = $matrice{$i}{$j}\n";
}
}
}
Juan-Manuel Torres LIA / 54
Avignon
Compression

• Mots bruts
• Fréquences : A=1, B=2, C=3, D=4,…
• Zéros : chiffres
• Type de phrase
* Normale
/ Titre

Juan-Manuel Torres LIA / 55


Avignon
Compression
Exemple :
<Phrase> Les ordinateurs sont des machines à plusieurs
puces électroniques ou digitaux </Phrase>

* ordinateur machine puce électronique digital

0 1 0 0 2 0 0 2 0 0 4 0 0 0 0 0 0 0 0 6 0 0 0 0 0 0 0 0

11*1A2B2B2D8F8 Compression
Mots bruts
Phrase normale 56
1 Fréquence des mots Fµ
• Mots pertinents de la phrase µ
• Plus une phrase a des mots
importants, plus elle a des
chances d'être retenue
• Plus la phrase est longue, plus
elle peut avoir de mots
pertinents → plus elle a de
chances d'être retenue
• Résumés sont remplis
généralement de longues
phrases

• Calcul de total des fréquences


dans le texte

Juan-Manuel Torres LIA / 57


Avignon
Calcul F

Termes
i=1 i=2 i=3 i=4 F
Segments

µ=1 1 1 2
γ µ=2 1 10 1 12
µ=3 1 1 2 4

Σ = T = 18

Juan-Manuel Torres LIA / 58


Avignon
2 Interaction de segments Iµ

• Cortex est un système qui crée des


réseaux de mots

– Mots de la même famille


– Présence de ces mots dans des phrases
différentes…

Juan-Manuel Torres LIA / 59


Avignon
Seg 1

lien mot
lien mot

lien mot

Seg 2

Seg 3

Juan-Manuel Torres LIA / 60


Avignon
Interaction de segments Iµ
• Mots de la même famille : font référence à un même
sujet (qui pourrait être l’un des sujets importants)

• Comment gérer les interactions entre les phrases ?


• Pour chaque phrase
– Analyser les mots type qu'elle contient
• S'il y a 2 fois « aimer » cela compte pour un seul mot distinct
– Pour chaque mot type, compter les Ni phrases, à l'exception de
la phrase courante, possèdant ce mot
• On dit que la phrase courante est en interaction avec Ni
phrases

Juan-Manuel Torres LIA / 61


Avignon
Interaction de segments Iµ

• Sommer les Ni pour


chaque mot i présent
dans la phrase
courante

• On a la pondération
de cette phrase

Juan-Manuel Torres LIA / 62


Avignon
Calcul : I

Termes
i=1 i=2 i=3 i=4 I
Segments

µ=1 1 1 3
ξ µ=2 1 1 1 4
µ=3 1 1 1 3

Iµ = I 1 + I 2 + I 3 = 2 + 1 + 1 = 4

Juan-Manuel Torres LIA / 63


Avignon

Vous aimerez peut-être aussi