• Aucun résultat trouvé

R´eduction de l’espace par pseudo-partitionnement du vocabulaire

5.4 Regroupement de mots pour la classification de documents

5.4.7 R´eduction de l’espace par pseudo-partitionnement du vocabulaire

Motivations de l’approche

Consid´erons un corpus d’entraˆınement o`u chaque document est ´etiquet´e par l’une des deux classes : A ou B. Supposons que le vocabulaire V , extrait de ce corpus, s’organise en deux sous-ensembles W1 et W2, plus un mot ws tels que :

– ∀wi∈ W1, p(cA|wi)≈ 1 et p(cB|wi)≈ 0, – ∀wi∈ W2, p(cB|wi)≈ 0 et p(cB|wi)≈ 1, – p(cA|ws)≈ p(cB|ws)≈ 12.

Autrement dit, les mots de W1 apparaissent quasi-exclusivement dans les documents de classe A, les mots de W2 quasi-exclusivement dans les documents de classe B, tandis que le mot ws apparaˆıt ´equitablement dans les deux classes de documents A et B.

20Comme pour la m´ethode des k-moyennes, on peut montrer que cet algorithme converge vers un opti-mum “local”, d´ependant de l’initialisation.

Algorithme ITDC : Information-Theoretic Divisive Clustering Entr´ees : Le vocabulaire V , caract´eris´e par :

-les distributions {p(C|wt)}wt∈V, -les probabilit´es{p(wt)}wt∈V, m le nombre de classes de documents,

k le nombre de clusters d´esir´e.

Sortie : Une partition W = {W1, . . . , Wk} de V en k clusters disjoints. 1. Initialisation : pour chaque mot wt, affecter wt `a Wj tel que :

p(cj|wt) = max

i=1,...,mp(ci|wt).

- si k > m, diviser arbitrairement chaque cluster en bk/mc clusters (au moins),

- sinon, fusionner les clusters jusqu’`a en obtenir k 2. Pour chaque cluster Wj, calculer

p(Wj) = X wt∈Wj p(wt) et p(C|Wj) = X wt∈Wj p(wt) p(Wj)p(C|wt) 3. R´eallocation des mots : r´eaffecter chaque mot wt au cluster Wj tel que

j(wt) = arg min

i=1,...,k

DKL(p(C|wt)||p(C|Wi))

4. Si la variation de la fonction objective (5.10) est faible (e.g. < 10−3) alors STOP

Sinon retourner `a l’´etape 2.

Un partitionnement strict de V , conduira vraisemblablement `a l’un des deux sch´emas suivants : P1 ={W1∪ {ws}, W2} ou P2 ={W1, W2∪ {ws}}.

Supposons `a pr´esent que l’on cherche `a classer un nouveau document d, caract´eris´e par la pr´esence de ws uniquement, parmi les mots de V .

La caract´erisation d’un groupe de mot W ⊂ V est d´eriv´ee de la caract´erisation des mots qui le composent par :

             p(Wj) = X wt∈Wj p(wt) p(ci|Wj) = X wt∈Wj p(wt) p(Wj)p(ci|wt) (5.11)

Si la partitionP1a ´et´e ´etablie, on a p(cj|d) = p(cj|W1∪ws). Par le syst`eme d’´equations (5.11) et les hypoth`eses de distribution des mots sur les classes, on en d´eduit que p(cA|d)  p(cB|d) d’o`u l’affectation de d `a la classe A. En revanche, si c’est la partition P2 qui est ´etablie, le document d sera class´e dans B.

En g´en´eralisant cet exemple, si beaucoup de mots “ambigus” apparaˆıssent dans un document test, le biais induit par un partitionnement strict du vocabulaire peut entraˆıner une perte d’information importante dans la description des documents et ainsi produire des erreurs de classification en cons´equence.

Ce ph´enom`ene peut s’expliquer ´egalement dans un cadre s´emantique. Par exemple, si l’on consid`ere que les deux classes A et B correspondent `a des documents portant sur les th´ematiques respectives de la “justice” et de la “gastronomie”. Ces deux th´ematiques semblent bien diff´erentes puisqu’elles poss`edent chacune leur propre terminologie. Sup-posons alors que les deux ensembles de mots suivants ont ´et´e extraits du corpus d’en-traˆınement : W1 ={Court Suprˆeme, Magistrat, Citoyen, Avocat, ... } et W2 ={ Restau-rant, Salade, Asperge, Avocat, ...}. Le mot ws =“avocat” est polys´emique et appartient aussi bien `a la th´ematique de la “justice”21 qu’`a celle de la “gastronomie”22. Dans la construction d’une partition stricte du vocabulaire extrait, ws sera inclu dans l’un des deux groupes W1 ou W2 exclusivement, ce qui revient `a conserver l’un des deux sens observ´es de ce mots et `a ignorer le second.

L’exemple pr´ec´edent traite d’une situation extrˆeme. Cependant on peut facilement constater que beaucoup de termes sont partag´es par plusieurs documents, dans des contextes s´emantiques distincts, avec diff´erents degr´es d’implication.

Nous proposons de supprimer la contrainte li´ee `a la construction de partitions strictes, en utilisant un algorithme de clustering autorisant les recouvrements entre les clusters. Les clusters obtenus forment alors une pseudo-partition de l’ensemble des objets. Ces intersec-tions entre clusters n´ecessitent une adaptation du mod`ele probabiliste d´efini jusqu’alors. Le syst`eme propos´e en (5.11) se red´efini par :

             p(Wj) = X {wt∈V } p(Wj|wt)p(wt) p(ci|Wj) = 1 p(Wj) X {wt∈V } p(Wj|wt)p(wt)p(ci|wt). (5.12)

21Par exemple Le r´equisitoire de l’avocat ´etait brillant.

Dans (5.12), le terme p(Wj|wt) doit ˆetre adapt´e au type de sch´ema utilis´e. Jusqu’`a pr´esent, pour des sch´emas de partitionnement stricts, chaque objet appartient exactement `a un cluster, p(Wj|wt) pouvait alors s’´ecrire :

p(Wj|wt) = 

1 si wt∈ Wj

0 sinon. (5.13)

ce qui v´erifie bien la propri´et´e de base suivante : X

Wj∈W

p(Wj|wt) = 1 (5.14)

Il reste alors `a d´efinir la probabilit´e p(Wj|wt) dans le cas de sch´emas avec recou-vrements. Lorsqu’un objet appartient `a plusieurs clusters, on choisira de mod´eliser cette probabilit´e par une loi uniforme. Pour un mot wt appartenant `a n clusters, on aura :

p(Wj|wt) =  1

n si wt∈ W

0 sinon. (5.15)

Remarque. Si l’on devait d´efinir la probabilit´e p(Wj|wt) dans le cas de sch´emas de partitionnement flous, on utiliserait les fonctions d’appartenance (probabi-listes){uj(wt)}j=1...k d’un mot wt`a un groupe Wj, et on aurait23 :

p(Wj|wt) = uj(wt) (5.16)

♦ Pseudo-partitionnement du vocabulaire : la m´ethode DDOC

Dans cette section nous pr´esentons la m´ethode DDOC (Distributional Divisive Overlap-ping Clustering). DDOC reprend certains aspects des m´ethodes ADC et ITDC, combin´es `a l’algorithme de pseudo-partitionnement PoBOC. Par exemple, nous utilisons, comme dans ADC, une approche distributionnelle pour d´efinir la similarit´e entre les mots du vocabu-laire et une strat´egie incr´ementale pour regrouper ces mots. DDOC s’inspire ´egalement de la m´ethode ITDC, en utilisant le principe de r´eallocations dynamiques pour optimiser les clusters. L’algorithme de pseudo-partitionnement utilis´e dans DDOC est pr´esent´e en figure 5.6.

La m´ethode DDOC se d´ecompose en quatre ´etapes majeures : 1. Extraction d’un sous-ensemble (´echantillon) V0 de V , 2. Pseudo-partitionnement de V0 par PoBOC,

3. Multi-affectations des mots (heuristique d’affectations de PoBOC), 4. Optimisation des clusters par r´eallocations dynamiques.

L’´etape 1 consiste `a extraire un sous-vocabulaire V0⊂ V . Pour cela, les mots de V sont ordonn´es par information mutuelle I(w; C) d´ecroissante avec la variable de classe. Cette technique d’ordonnancement, ´egalement utilis´ee dans la phase d’initialisation de la m´ethode ADC, permet de s´electionner ensuite les mots les plus influents dans la description des classes de documents. Les M premiers mots sont retenus pour constituer V0 (M sp´ecifi´e par l’utilisateur).

23Sous r´eserve qu’il s’agisse bien de fonctions d’appartenance probabilistes (P

Algorithme DDOC : Distributional Divisive Overlapping Clustering Entr´ees : Le vocabulaire V , caract´eris´e par :

-les distributions {p(C|wt)}wt∈V, -les probabilit´es {p(wt)}wt∈V, l le nombre de classes de documents,

M , f et τ trois param`etres fix´es

(M : taille du sous-vocabulaire, f : fuzzifier, τ : nb. it´erations). Sortie : Une pseudo-partitionW de V en clusters non-disjoints.

´

Etape 1.

Ordonner V via l’information mutuelle avec la variable de classe I(w; C) Construire le sous-vocabulaire V0⊂ V , constitu´e des M premiers mots de V (selon l’ordre ´etabli)

Construire la matrice de dissimilarit´e D sur V0 (par 5.8) telle que d(wt, ws) = DKL0 (p(C|wt)||p(C|ws))

´

Etape 2.

Ex´ecuter PoBOC(V0, D) afin d’obtenir une pseudo-partition W0 de V0 Pour chaque cluster Wj ∈ W, calculer p(Wj) et p(C|Wj) par 5.12 ´

Etape 3.

Pour chaque mot wt∈ V \ V0 (dans l’ordre ´etabli) : • Affecter(wt,W, f) (cf. figure 5.7)

• Pour chaque cluster Wj modifi´e, recalculer p(Wj) et p(C|Wj) ´

Etape 4.

Tant queW est modifi´ee et moins de τ it´erations : Pour chaque mot wt∈ V : Affecter(wt,W, f)

Pour chaque cluster Wj ∈ W : recalculer p(Wj) et p(C|Wj)

Procedure Affecter(wt,W, f)

Soient la pseudo-partitionW = {W1, . . . , Wk}, et wtun mot `a affecter 1. Pour chaque cluster Wj, calculer la similarit´e d(wt, Wj) par

s(wt, Wj) = 1− D0KL(p(C|wt)||p(C|Wj))

2. Ordonner les clusters en construisant la fonction bijective d’ordonnancement Φ : {1, . . . , k} → {1, . . . , k} telle que :

s(wt, WΦ(1))≥ s(wt, WΦ(2))≥ · · · ≥ s(wt, WΦ(k)) 3. j = 1, affecter wt `a WΦ(j) (WΦ(j)= WΦ(j)∪ wt)

4. Tant que wt a ´et´e affect´e `a WΦ(j) et j < k : j = j + 1

Si s(wt, WΦ(j)) > (1− f).s(wt, WΦ(j−1)) + f.s(wt, WΦ(j+1)) affecter wt `a WΦ(j)

Si j = k et s(wt, WΦ(j)) > (1− f).s(wt, WΦ(j−1)) affecter wt`a WΦ(j)

Fig. 5.7 – Proc´edure de multi-affectations utilis´ee dans la m´ethode DDOC.

L’´etape 2 ex´ecute l’algorithme PoBOC sur l’ensemble V0, auquel est associ´e une matrice de dissimilarit´e D de taille M× M et telle que d(ws, wt) = DKL0 (p(C|ws)||p(C|wt)). V0 est alors partitionn´e en k clusters non-disjoints, avec k d´etermin´e automatique-ment. Cette ´etape peut ˆetre vue comme l’initialisation de l’algorithme et cette initia-lisation diff`ere de l’approche ADC, qui d´ebute avec uniquement des singletons, et de l’algorithme ITDC qui scinde ou fusionne “arbitrairement” une premi`ere partition de V afin d’obtenir le nombre d´esir´e de clusters. Parceque les groupes constitu´es sont non-disjoints et que le syst`eme propose automatiquement un nombre appropri´e de groupes, on peut supposer que cette initialisation est `a la fois plus pr´ecise et plus proche de l’organisation r´eelle des mots entre eux.

L’´etape 3 utilise l’heuristique de multi-affectations de PoBOC (cf. chapitre 2) pour int´egrer les |V | − M mots restants (en suivant l’ordre ´etabli) parmi les k clusters initiaux. Nous choisissons de contrˆoler les multi-affectations par l’utilisation d’un param`etre (f ) dont le principe s’apparente `a celui d’un fuzzifier pour les m´ethodes de clustering flou. Pour f = 0 la partition obtenue est stricte, le nombre d’affecta-tions augmente lorsque f augmente, jusqu’`a f = 1 et dans ce cas chaque objet est affect´e `a chaque clusters24. Notons que pour f = 1/2, on se ram`ene aux conditions d’affectation par d´efaut, comme pr´esent´e dans le chapitre 2. Nous red´efinissons la proc´edure d’affectations dans la figure 5.7, en int´egrant ce param`etre.

Notons que la strat´egie globale d’affectations est adaptative, autrement-dit, les ca-ract´eristiques des clusters sont syst´ematiquement recalcul´ees apr`es l’ajout d’un objet. On sait que les approches adaptatives permettent d’acc´eder plus rapidement `a un

bon sch´ema de clustering (cf. version adaptative de k-moyennes, chapitre 1). L’´etape 4 “optimise” les clusters g´en´er´es par r´eallocations (multiples) dynamiques des

objets aux clusters. Il s’agit en fait de rectifier les groupes obtenus par le processus incr´emental de l’´etape pr´ec´edente. En effet, l’ajout r´ep´etitif d’objets dans un clusters, modifie progressivement les caract´eristiques de celui-ci, si bien qu’un objet consti-tuant le cluster initial ou faisant parti des premiers objets ajout´es, peut, `a la fin du processus incr´emental, ne plus y trouver sa place (dissimilarit´e ´elev´ee entre la dis-tribution du mot et celle du cluster). Remarquons que l’ordonnancement des mots, ´etabli `a l’´etape 1, peut aider `a limiter le ph´enom`ene que nous venons d’identifier. En consid´erant que la taille du sous-vocabulaire V0 est n´egligeable par rapport `a la taille du vocabulaire initial V , la complexit´e de la m´ethode DDOC est en O(lkmτ ) avec l, k, m et τ correspondant respectivement aux nombres de mots, clusters, classes et it´erations.