Chapitre 4 Cooccurrence de mots

Table des matières

Au chapitre précédent, il a été question de l’utilisation de documents non libellés pour assister la catégorisation automatique de textes. L’une des motivations invoquées était le fait que bien que ceux-ci ne soient associés à aucune étiquette de catégorie, ils contiennent une certaine quantité d’information à propos des liens qu’entretiennent entre eux les mots du lexique. Mais qu’en est-il de ces liens ? Ceux-ci peuvent prendre plusieurs formes, qu’on pense aux relations de synonymie, d’antonymie, d’hyperonymie, de méronymie, etc. Ces types de liens représentent des associations relativement fortes entre les mots. Un autre genre d’association, de nature plus faible, mais quand même très pertinente, est la cooccurrence. Le présent chapitre a pour objectif de définir cette idée dans le contexte de nos travaux, ce qui sera fait en présentant également la notion de collocation et la distinction entre les deux concepts. En deuxième partie, quelques façons de mesurer numériquement le degré de cooccurrence seront présentées, des techniques qui sont applicables à différentes situations. Ce n’est qu’au chapitre suivant que nous présenterons comment nous proposons d’utiliser cette information sur la cooccurrence entre les mots dans le contexte de la catégorisation automatique de textes.

La notion de cooccurrence fait référence au phénomène général par lequel des mots sont susceptibles d’être utilisés dans un même contexte [MS99]. Autrement dit, on considère qu’il y a cooccurrence lorsque la présence d’un mot dans un texte donne une indication sur la présence d’un autre mot. Pour mieux comprendre cette définition, pensons à un exemple simple comme «avion» et «aéroport», deux mots qui, selon toute vraisemblance, sont utilisés la plupart du temps dans un contexte commun, celui de l’aviation. Souvent, si on retrouve un de ces mots dans un texte, on peut prévoir que le deuxième va aussi être présent. Ces deux mots ne sont ni synonymes ni antonymes. Le sens de l’un n’est pas inclus dans le sens de l’autre (donc pas d’hyperonymie) et l’un n’est pas une partie de l’autre (donc pas de méronymie). Pourtant, il est évident que ces deux mots partagent quelque chose. On choisit donc de dire qu’ils sont cooccurrents. D’autres exemples sont très faciles à trouver : «médecin» et «infirmière» , «étudiant» et «professeur» , etc. Bien que dans ce mémoire, cette connaissance au sujet des mots soit mise à profit pour faire de la catégorisation automatique de textes, elle pourrait éventuellement être exploitée au sein d’autres applications comme la traduction automatique de textes ainsi que la recherche d’information, pour ne nommer que ceux là. Tout ce qui a trait de près ou de loin à la sémantique des mots pourrait profiter du type de connaissance que la cooccurrence véhicule.

Pour peut-être mieux comprendre en quoi consiste la cooccurrence, elle sera comparée à un autre genre d’association entre les mots, la collocation. Une distinction mérite d’être faite entre les deux notions, puisqu’elles partagent certains points en commun, mais elles diffèrent tout de même. Une collocation est plutôt définie dans [Cho88] comme étant : «une séquence de deux ou plusieurs mots consécutifs qui sont caractérisés par une unité syntaxique et sémantique et dont la signification ou la connotation ne peut pas être dérivée de la signification de chacune de ses composantes individuelles» . Typiquement, c’est un groupe de deux ou plusieurs mots qui correspondent à une certaine façon conventionnelle de dire les choses. Les groupes nominaux (ex. : «armes de destruction massive» ), les groupes verbaux (ex. : «tenir compte de» ) ou autres expressions courantes (ex. : «riches et célèbres» ) sont considérés comme étant des collocations. C’est le cas de patrons particuliers de mots, qui sont subtiles et difficiles à expliquer, qui reflètent un choix spécifique connu des gens dont c’est la langue maternelle (ex. : on utilise l’expression «intelligence artificielle» et non «intelligence synthétique» ). Une des caractéristiques importantes des collocations est leur compositionnalité limitée. Une expression en langage naturel est compositionnelle quand le sens global de l’expression peut être prédit par le sens de chacune de ses parties (ex. : «maison rouge» ). En ce qui concerne les collocations, elles ne sont pas complètement compositionnelles parce qu’un élément sémantique est ajouté à leur combinaison. Les exemples les plus concrets de non compositionnalité demeurent bien entendu les expressions idiomatiques, où souvent le sens véhiculé par l’expression est seulement lié indirectement aux sens véhiculés par les mots individuels la composant, par le biais de références historiques ou sociales. Pensons aux expressions «être tiré à quatre épingles» ou «tomber dans les pommes» , qui n’ont pas pour but de faire référence à des «épingles» ou à des «pommes» , au contraire. On a mentionné plus haut que les collocations présentaient une compositionnalité limitée, dans le sens où la modification de la sémantique, provenant de la combinaison de mots, peut être plus subtile que dans les exemples précédents (ex. : «vin blanc» ). En plus de la non compositionnalité, d’autres indices peuvent indiquer la présence d’une collocation. Lorsqu’on ne peut substituer un mot par un autre qui est presque un synonyme (ex. : «vin jaune» au lieu de «vin blanc» ) ou qu’on ne peut modifier l’expression en ajoutant des mots (ex. : «tomber dans les petites pommes» ) ou en appliquant des transformations grammaticales. Également, si l’on ne peut traduire mot à mot une expression, c’est probablement parce qu’il s’agit d’une collocation (ex. : «prendre une décision» et «make a decision» ). Encore une fois, de nombreuses applications peuvent tirer profit de l’information sur les collocations : la génération de langage (pour que le texte généré soit naturel et que les erreurs relatives au choix des mots soient évitées), l’analyse syntaxique (en cas d’ambiguïté, pour donner la préférence aux séquences ayant une collocation naturelle), etc.

Avec cette définition de la collocation en perspective, on peut voir en quoi se distingue la cooccurrence : on ne considère pas que les mots concernés doivent apparaître dans une unité grammaticale commune ou dans un ordre particulier. Deux mots considérés cooccurrents sont associés fortement l’un à l’autre, mais le contexte commun dans lequel ils apparaissent est plus large que dans le cas des collocations : il peut s’agir d’un paragraphe, d’un texte ou d’une collection de textes selon l’application, selon l’usage prévu pour cette information.

Dans le cadre de l’approche statistique du traitement de la langue naturelle, plusieurs façons d’attribuer un score d’association à une paire de mots ont été élaborées. Parmi ces mesures, certaines se basent sur de solides fondements théoriques, alors que d’autres relèvent plutôt du domaine de l’heuristique. Certaines sont directement tirées de la discipline des statistiques alors que d’autres sont nées dans le domaine de la recherche d’information. Nous avons choisi d’étudier plus en profondeur trois de ces mesures. Elles seront exposées en détail dans la présente section. Le choix s’est arrêté sur celles-ci en fonction de leur popularité et de leur bonne performance dans certaines applications. Ces trois mesures sont celles qui ont fait l’objet d’expérimentations au cours de nos travaux.

Avant tout, une remarque importante à faire est que, en général, les scores d’association obtenus à partir de mesures différentes ne peuvent pas être comparés directement. Dans plusieurs cas aussi, la valeur numérique en tant que telle ne peut pas être interprétée. Typiquement, leur utilisation a plutôt pour but d’ordonnancer des paires de mots candidats en fonction de leur degré d’association. Tous les traitements et comparaisons effectués par la suite se basent sur des listes de n meilleurs mots ou sur des seuils, et la valeur numérique en tant que telle n’est plus considérée [Eve04].

Généralement, les mesures d’association peuvent s’appliquer autant aux collocations qu’aux cooccurrences, à peu de choses près. Pour chacune des mesures qui seront présentées ici (et pour presque toutes les autres), le calcul se base sur les données du tableau 4.1, qui contient les fréquences d’apparition des paires de mots. C’est à partir des quatre valeurs présentes dans cette table que l’on va calculer le degré d’association entre deux mots : ( a ) le nombre de fois où les deux mots apparaissent ensemble, ( b ) le nombre de fois où le premier mot est présent sans que le deuxième ne le soit, ( c ) le nombre de fois où le deuxième mot est présent sans que le premier ne le soit, et ( d ) le nombre de fois où aucun des deux mots n’apparaît.

C’est l’interprétation que l’on donne aux valeurs de cette table qui spécifie le phénomène mesuré. Le contexte commun dans lequel doivent figurer deux mots pour qu’on considère qu’ils apparaissent ensemble doit être défini. Si on veut mesurer des collocations, on va analyser la présence des mots à l’intérieur d’un même bigramme ou d’un même trigramme, et l’ordre d’apparition va revêtir une certaine importance. Si, par contre, on veut mesurer des cooccurrences, on va analyser la présence des mots à l’intérieur d’une même phrase, d’un même paragraphe, d’un même texte ou d’une même collection de textes, selon le cas. Dans le contexte de nos travaux, la cooccurrence entre deux mots est vue comme étant la tendance de deux mots à apparaître dans un même document. La table de contingence à la base de nos calculs recense donc le nombre de documents contenant ou non les deux mots dont on étudie la cooccurrence. Dans la suite du mémoire, c’est cette interprétation qui est associée à la cooccurrence, mais on peut garder en tête que chacune des mesures d’association discutées se transpose très facilement dans un autre contexte.

Une première façon d’assigner une valeur numérique au degré de cooccurrence entre deux mots est le test du χ² [MS99]. Cette mesure a été imaginée dans le cadre du problème classique en statistique qu’est la validation d’hypothèses. Voici le problème à surmonter : le fait que deux mots présentent une fréquence élevée d’occurrence ensemble ne reflète pas nécessairement une association entre ceux-ci. Il peut s’agir d’un phénomène aléatoire. La question est alors de déterminer si la cooccurrence se produit plus souvent que par hasard. La façon classique de procéder commence par la formulation d’une hypothèse nulle H0 selon laquelle il n’y aurait pas du tout d’association entre les mots. On calcule la probabilité qu’une cooccurrence se produise si H0 était vraie et on rejette cette hypothèse si la probabilité s’avère trop faible. Sinon, on retient l’hypothèse d’indépendance. L’idée générale de la mesure du χ² est de comparer les fréquences observées dans un corpus avec les fréquences attendues s’il y avait indépendance. Si la différence entre les deux est grande, on peut rejeter l’hypothèse d’indépendance. Basée sur le tableau 4.1, l’équation qui traduit cette notion est la suivante :

χ² =

  • i couvre les rangées du tableau 4.1

  • j couvre les colonnes du tableau 4.1

  • Oij est la valeur observée pour la cellule ( i , j )

  • Eij est la valeur attendue pour la cellule ( i , j )

La statistique fait donc la somme des différences au carré entre les valeurs observées et attendues pour chaque cellule de la table, chaque différence étant normalisée par la valeur attendue. On peut la voir comme une sorte d’erreur quadratique moyenne. Les valeurs observées sont tout simplement calculées à partir des textes du corpus. Quant aux valeurs attendues, elles sont calculées à l’aide des probabilités marginales, c’est-à-dire à partir des totaux pour les lignes et pour les colonnes de la table, convertis en proportions. Par exemple, la probabilité attendue E11 , qui est la probabilité que le mot 1 et le mot 2 soient tous deux présents dans un texte, se calcule de la façon suivante : on multiplie la probabilité marginale que le mot 1 apparaisse avec la probabilité marginale que le mot 2 apparaisse, ainsi qu’avec le nombre de documents. Sachant que N représente le nombre total de documents, on peut faire les calculs suivants :

  • Probabilité que le mot 1 apparaisse : P1 = ( a + b ) / N

  • Probabilité que le mot 2 apparaisse : P2 = ( a + c ) / N

  • Probabilité que le mot 1 et le mot 2 apparaissent tous les deux : E11 = P1 P2 N

Après quelques manipulations algébriques et simplifications, on arrive à l’expression suivante qui nous permet d’obtenir la valeur de χ² :

χ² =

Quand la taille de l’échantillon est suffisamment grande, le test du χ² suit une distribution χ². On consulte une table de cette distribution pour connaître le degré de confiance associé à la valeur obtenue par le calcul. Par exemple, en haut de la valeur critique χ² = 3.841, on peut rejeter l’hypothèse d’indépendance avec une confiance de 95%. L’avantage principal du test du χ² par rapport au t-test[14] réside dans le fait que ce dernier présuppose que les données suivent une distribution normale, alors que le test du χ² ne fait pas de présupposition du genre. Par contre, si les valeurs attendues dans chaque cellule sont très petites, il y a des risques que la mesure retourne des résultats imprécis.

Dans le même ordre d’idées que le test du χ², une autre façon d’effectuer des tests d’hypothèses est le ratio de vraisemblance ( «likelihood ratio» ). Ce test est réputé pour être plus approprié avec les données clairsemées. Également, il présente un autre avantage : la valeur numérique qui est calculée peut être plus facilement interprétée qu’avec le test du χ². En effet, il s’agit d’un nombre reflétant dans quelle proportion une hypothèse est plus probable qu’une autre. On considère les deux hypothèses présentées plus loin et le ratio indique laquelle est la plus probable. L’hypothèse 1 reflète le cas où il y aurait indépendance complète entre les deux mots : les probabilités conditionnelles que le mot 2 soit présent connaissant respectivement la présence ou l’absence du mot 1 sont les mêmes. Par contre, l’hypothèse 2 voulant que les deux mots soient dépendants implique que ces probabilités conditionnelles soient différentes.

Hypothèse 1 : P(mot 2 | mot 1 présent) = p = P(mot 2 | mot 1 absent) (indépendance)

Hypothèse 2 : P(mot 2 | mot 1 présent) = p1 ≠ p2 = P(mot 2 | mot 1 absent) (dépendance)

Partant de ces hypothèses, on désire évaluer la vraisemblance de chacune d’elles, étant donné les fréquences observées dans le corpus concernant l’apparition de mots, pour ensuite faire le rapport de ces valeurs de vraisemblance. Le tout se fait en supposant une distribution binomiale.

On fait d’abord un estimé du maximum de vraisemblance pour les probabilités suivantes, à partir des données de notre table de contingence initiale :

  • p = ( a + c ) / N

  • p1 = a / ( a + b )

  • p2 = c / ( c + d )

Ensuite, on considère l’expression L(H) comme étant la vraisemblance d’une hypothèse H . Le logarithme du ratio de vraisemblance des deux hypothèses en question se calcule donc comme suit :

En effet, la vraisemblance de H1, par exemple, correspond à la probabilité d’avoir a fois le mot 2 présent quand le mot 1 est présent ( a + b fois) multipliée par la probabilité d’avoir c fois le mot 2 présent quand le mot 1 est absent ( c + d fois). Un raisonnement similaire peut être fait pour la deuxième hypothèse.

Une simplification permet d’arriver à l’expression suivante :

log λ = log L( a , a + b , p ) + log L( c , c + d , p ) – log L( a , a + b , p1 ) – log L( c , c + d , p2 )

L(k, n, x) = xk (1 - x ) n - k

Comme il a déjà été mentionné, le score obtenu par le rapport des vraisemblances peut être interprété comme tel. Mais une propriété intéressante de cette mesure est que la quantité -2 log λ suit une distribution χ² asymptotiquement. Donc, il est possible de faire des tests d’hypothèses en consultant la table de distribution appropriée.

Une troisième mesure d’association possible est l’information mutuelle ( «pointwise mutual information» ou PMI). C’est une mesure qui est née de motivations provenant du domaine de la théorie de l’information. Elle mesure la quantité d’information apportée par la présence d’un mot au sujet de la présence d’un autre mot. L’équation suivante permet de calculer cette mesure et met en jeu, au numérateur, la proportion des documents où figurent les deux mots puis, au dénominateur, les proportions respectives des documents où figure un seul des deux mots.

I (mot 1, mot 2) = log 2

Intuitivement, il est facile de voir que plus deux mots ont tendance à apparaître ensemble, plus le score sera élevé. En effet, si les deux mots étaient totalement indépendants, le rapport des probabilités serait de 1, donnant donc une valeur finale de 0. À l’opposé, si les deux mots ont une forte tendance à apparaître ensemble, alors la probabilité au numérateur dépassera l’autre, faisant croître le score d’information mutuelle. Toujours à partir de la table de contingence et après certaines manipulations, on arrive à la façon simplifiée de calculer la PMI :

I (mot 1, mot 2) = log 2

L’information mutuelle est considérée comme étant une bonne mesure de l’indépendance entre deux mots. Sa valeur devient nulle si les deux mots sont parfaitement indépendants. Mais pour des paires de mots parfaitement dépendants (qui apparaissent toujours ensemble), la valeur de l’information mutuelle augmente plus ceux-ci sont rares, la raison étant que les probabilités au dénominateur diminuent. Ce phénomène est en fait un inconvénient lié à l’utilisation de cette mesure puisqu’il devient plus difficile de comparer les scores obtenus par des mots fréquents avec ceux obtenus par des mots rares.

Cette façon de calculer l’association entre des mots a entre autres été exploitée par [Tur01] au sein d’un algorithme d’apprentissage ayant pour but de reconnaître des synonymes. Le problème à résoudre était le suivant : devant un mot donné et une liste de mots alternatifs, il s’agissait de trouver parmi cette liste le mot dont le sens se rapprochait le plus du mot d’origine. La solution proposée consistait à calculer le degré de cooccurrence entre le mot d’origine et chacun des choix de réponse, puis à choisir comme meilleur synonyme le candidat ayant obtenu le plus haut score de cooccurrence. L’intuition à la base de cette façon de faire était qu’un mot est caractérisé par les mots qui l’entourent. Pour recueillir les statistiques nécessaires au calcul des scores, il a été proposé de tirer profit d’un corpus de textes accessible à tous : le Web. Pour chaque paire de mots, il suffit d’exécuter deux requêtes sur un moteur de recherche (en l’occurrence Altavista) et de faire un calcul à partir du nombre de documents retournés par chacune d’elles.

Score(choix) = log

  • choix représente le choix de réponse considéré

  • problème représente le mot dont on cherche le synonyme

Sachant que le but est de maximiser ce score, on peut laisser tomber le log et P(problème) qui restent constants. Puis, en utilisant de la façon la plus simple un moteur de recherche pour calculer les valeurs restantes, on obtient la formule suivante :

Score(choix) =

  • hits représente le nombre de pages retournées par la requête entre parenthèses

On a aussi raffiné cette équation en utilisant des opérateurs comme NEAR, en tentant d’éviter de favoriser les antonymes et en utilisant des mots du contexte, lorsque le problème le permettait.

Évalué à l’aide de questions sur les synonymes tirées d’un test d’anglais langue seconde, cette méthode a généré des résultats supérieurs à 70%, ce qui dépasse la performance moyenne des étudiants qui passent ce test, qui est de 65%. Cela dépasse aussi la performance de l’indexation sémantique latente, qui, lors d’une expérience précédente, avait généré des résultats 10% inférieurs à ceux obtenus par l’approche basée sur l’information mutuelle. Cette dernière tire probablement sa force de la taille importante du corpus de textes utilisé, soit l’ensemble des pages Web indexées par Altavista. Comme ces données sont accessibles assez facilement et rapidement, pourquoi ne pas en profiter ? On peut entrevoir d’autres applications à cette technique comme l’expansion de requêtes en recherche d’information ou l’extraction de mots-clés.

Ce chapitre aura permis de préciser en quoi consiste la notion de cooccurrence entre des mots, le phénomène général par lequel ceux-ci sont susceptibles d’être utilisés dans un même contexte. Il nous a également éclairé sur l’évaluation quantitative de la force de cette relation. Après une introduction générale sur les différentes mesures d’association, les mesures particulières que sont le test du χ², le ratio de vraisemblance et l’information mutuelle ont été présentées. Rappelons que l’objectif premier de ce mémoire est de proposer une façon pour un classificateur de textes de tirer avantage de l’information sur la cooccurrence de mots provenant de documents non étiquetés. Le chapitre 3 ayant introduit l’idée d’utiliser des documents non étiquetés, et la notion de cooccurrence venant d’être abordée, tout est en place pour que le chapitre suivant puisse énoncer clairement notre proposition.



[14] Le t-test, développé par Student, est un autre test d’hypothèses très utilisé en statistiques [MS99].