• Aucun résultat trouvé

Chapitre 5 Identifier les traitements et leurs connaissances

5.3 Découpage du flux en unités textuelles

, ( ),..., , ( ), , (( ) , ( idl 1 1 2 2 m n

idl t C frag l frag l frag l

li lj, i,j  1,n 2

et frag1 frag2... fragmt

 représente la concaténation des fragments frag

Les connaissances Cidl utilisées en identification de la langue se limitent aux couples de n-grammes de caractères ngram et leurs probabilités pNgram, aux ensembles de mots fréquents mfr ou de mots grammaticaux mg (comme les pronoms, déterminants et auxiliaires) d‘une langue l. N F O Cidl , , NNl1,Nl2,...,Nln, FFl1,Fl2,...,Fln', et OOl1,Ol2,...,Oln''

avec n, n’ et n’’ étant le nombre de langues,

Nli ngram1,pNgram1 , ngram2,pNgram2 ,..., ngramm,pNgramm, Fli mfr1,mfr2,...,mfrm'

et Oli mg1,mg2,...,mgm''

La langue du fragment étant identifiée, les traitements suivants appliqueront les connaissances de la langue détectée sur des fragments de langue uniforme. Pour ne pas complexifier la notation inutilement, nous ne mentionnerons pas la langue en indice dans la suite de ce chapitre.

5.3 Découpage du flux en unités textuelles Objectif

Afin de pouvoir analyser un texte, celui-ci doit être découpé en petits morceaux permettant de faire le lien avec la base de connaissances. Un premier découpage basé sur les signes d‘espacement et de ponctuation permet d‘obtenir des unités simples. Ce découpage peut être entièrement fait par application d‘une grammaire. Si les mots-formes de la base de connaissances sont complexes, c'est-à-dire s‘ils comportent un tiret ou un espace, la grammaire doit prévoir la recomposition d‘unités simples en unités complexes. L‘objectif est donc de découper un texte en unités textuelles qui, par appariement, donnent accès aux informations de la base de connaissances.

La présence d‘unités complexes dans la base de connaissances complexifie énormément la grammaire de découpage. Ces unités sont nécessaires pour les traitements ultérieurs, et correspondent également à une réalité linguistique. Syntaxiquement et sémantiquement ces

91 unités complexes disposent d‘une autonomie qui est vérifiable par des critères grammaticaux. Il s‘agit aussi bien d‘unités syntaxiques (comme à condition que) que de mots composés. [Gross, 1988] donne un ensemble de critères pour distinguer les mots composés des simples suites syntaxiques, dont l‘adjonction d‘un autre adjectif en coordination pour les suites nom adjectif. Ainsi une étoile minuscule et brillante est possible, mais pas une étoile filante et brillante, ce qui l‘amène à conclure que étoile filante est un mot composé. Comme l‘atteste le même auteur, le figement des mots composés est variable et les uns sont plus figés que les autres. C‘est sans doute pourquoi il peut être difficile d‘obtenir un consensus sur l‘existence de certaines unités complexes.

La sémantique de ces unités complexes n‘est pas purement compositionnelle : le sens de l‘unité composée n‘égale pas la somme des composants. Ainsi une nature morte n‘est pas une nature qui est morte. Dans d‘autres cas, le sens peut être directement lié, comme dans plante verte. Une plante verte est bien une plante qui est verte, mais ce n‘est pas la verdure qui lui donne son sens. Sa définition dans le Petit Robert se trouve dans l‘entrée plante comme suit : Plantes d’appartement, plantes vertes : plantes décoratives, à feuilles persistantes, qui peuvent croître dans une maison. La sémantique joue donc un rôle de premier ordre dans le découpage en unités textuelles.

Selon les applications, ces critères peuvent être variables. Ainsi, en terminologie, où les termes sont le plus souvent complexes, la compositionnalité du sens n‘est pas un critère. Une table verte et une table carrée peuvent très bien être des termes d‘une terminologie, sans pour autant correspondre à la définition d‘un mot composé.

Dans les langues compositionnelles, les grammaires traditionnelles utilisent des critères purement morphologiques pour identifier un mot composé : il suffit que deux unités autrement autonomes se collent, le critère de la compositionnalité sémantique n‘est pas pris en compte. Le sens peut être unitaire comme dans le premier exemple suivant, ou être égal à la somme comme dans le second.

DE Federbett couette Feder | Bett

Bildungsgesetz loi sur la formation Bildung | Gesetz

En recherche d‘information, la distinction entre les deux est très importante, car dans le second cas on veut chercher sur les composants, mais de préférence pas dans le premier cas. La combinaison existe aussi, comme dans l‘exemple suivant :

DE Berufsbildungsgesetz loi sur la formation professionnelle

On ne peut pas raisonnablement traiter la structure interne des mots sans prendre en compte les catégories grammaticales, comme nous verrons dans 5.4.

En recherche d'information comme pour toute application en TAL, le découpage en unités textuelles est extrêmement important. Nous avions par exemple décelé une erreur dans la grammaire du danois, qui, dans certaines circonstances de codage HTML très précises, gardait comme une seule unité le patron « chiffre + espace + token64 ». En voici quelques exemples :

1 Bygningshistorie 3 Århus

1 Anlægsarbejder 7 Økonomi

92 Dans l‘analyse totale du Wikipedia danois65

, ce problème concernait 842 428 tokens (60 587 tokens uniques) qui n‘avaient pas été analysés. Dans un moteur de recherche ce genre d‘erreur est grave car les unités sont ensuite indexées comme des mots composés, et font chuter la pertinence des documents qui les contiennent selon les lois du TF/IDF. En même temps, dans une utilisation réelle, la chance qu‘un utilisateur remarque le silence provoqué est quasi nulle tant qu‘il existe d‘autres documents qui contiennent les mots en question et qu‘il ne cherche pas un document en particulier. Le corpus total contient en effet 130 776 219 tokens.

Méthodes

Le découpage repose tout d‘abord sur une grammaire construite autour des signes d‘espacement et de ponctuation. Cette grammaire est différente selon la langue. L‘un des meilleurs exemples est le point indiquant un ordinal en allemand. Un point suivi d‘un mot capitalisé n‘est pas forcément un point de fin de phrase mais peut indiquer un ordinal s‘il est précédé d‘un chiffre, comme l‘illustre l‘exemple suivant. La règle générale n‘est donc pas telle quelle valable en allemand.

DE am 1. Februar = am ersten Februar (le premier février)

Même à l‘intérieur d‘une langue les signes de ponctuation et d‘espacement sont ambigus. En français, un tiret peut par exemple indiquer une incise, un mot composé (par exemple : tire-bouchon) ou être purement grammatical (par exemple : dit-il). Un point peut indiquer la fin d‘une phrase ou faire partie d‘une abréviation, voire être les deux en même temps au cas où l‘abréviation ou le sigle terminent la phrase, comme pour etc. dans l‘exemple suivant.

FR […] dans les grandes institutions publiques, à Tachkent, à Boukhara, à Douchanbé, etc. Les fonds maintenus […]

Certains signes sont particulièrement ambigus, comme l‘apostrophe. Elle est parfois utilisée comme signe fermant une apostrophe culbutée (exemple français), alors que dans certaines langues, elle peut également faire partie d‘un mot (exemple anglais), le commencer (exemples néerlandais), ou le terminer (exemple allemand).

FR Ce mémoire est ‗excellent‘. EN St. James’s Palace

NL Hij drinkt koffie s morgens. (Il boit du café le matin.)

s Ochtends drinkt hij koffie. (Le matin, il boit du café.) DE Karl Kraus' "Letzten Tagen der Menschheit"

(Le [livre] "Letzten Tagen der Menschheit" de Karl Kraus)

A cause de l‘ambiguïté des signes de ponctuation, les règles de découpage sont rarement absolues et le défi est de trouver la meilleure précision possible. [Grefenstette et Tapanainen, 1994] donnent un bon aperçu des heuristiques utilisées avec des taux d‘erreurs calculés sur le Brown Corpus. L‘interprétation de tout point comme fin de phrase mène par exemple à la bonne reconnaissance de 93,20% des phrases. L‘ajout d‘heuristiques plus fines, sans ressources autres que des règles donne 97,66% de bonne reconnaissance. En ajoutant des lexiques en plus, ils arrivent à une bonne reconnaissance de 99,07 % des phrases. Les résultats donnés concernent le seul découpage en phrases, et non pas celui en unités. Comme il peut y

65

Les dumps statiques en HTML de Wikipedia sont téléchargeables sur http://static.wikipedia.org/. Notre

93 avoir des erreurs à cette étape, les traitements ultérieurs qui reposent sur le découpage, devront en tenir compte.

Le découpage qui tient compte des mots-formes complexes peut se faire de deux manières, qui ont leurs avantages et inconvénients. Soit on laisse l‘ambiguïté de découpage, c‘est-à-dire que pomme de terre est à la fois considéré comme une et comme trois unités, soit on supprime l‘ambiguïté, prenant le mot-forme complexe comme seule unité. L‘avantage de la première approche est qu‘elle laisse ouverte des interprétations possibles, comme pour pomme de terre cuite, qui sera découpé en :

pomme + de + terre + cuite pomme de terre + cuite pomme + de + terre cuite

C‘est la solution qui a été choisie dans CLAWS ([Leech et al., 1994]) pour l‘étiquetage du BNC. L‘inconvénient de cette approche générique est que la complexité est exponentielle, ce qui est difficilement conciliable avec les contraintes d‘une application industrielle. Dans ce dernier cas, on fait plutôt le choix de l‘efficacité en découpant selon les mots-formes du lexique les plus longs. L‘ambiguïté entre une suite syntaxique et une unité complexe peut alors empêcher l‘analyse comme unité complexe.

Ici encore, les traitements ultérieurs doivent prendre ce choix en compte. Si pomme de terre est considéré comme une unité, alors pomme de terre verte correspondra au motif nom adjectif, et non pas à nom préposition nom adjectif, ce qui fait une différence dans le cadre d‘une extraction de groupes nominaux par exemple.

Cette façon de traiter les unités complexes a des conséquences directes sur les entrées lexicales. Certaines unités ne peuvent être codées dans le lexique sous peine d‘empêcher une analyse correcte. Ainsi la conjonction bien que et l‘adverbe d’accord ne peuvent être codés dans le lexique sous peine d‘empêcher toute autre analyse comme illustrée dans les exemples suivants.

FR bien que Il voyait bien que le chevalier de Guise était son rival. d‘accord protocole d‘accord commun

La présence des unités complexes dans les ressources est obligatoire. En effet, un traitement par motif en utilisant le mot-forme des mots, par exemple autour du mot-forme de n‘identifierait pas que des unités complexes (comme venu de Paris dans Il était venu de Paris), et ne ramènerait pas ceux composés d‘autres motifs (comme plante verte). Un traitement par patrons de catégories grammaticales comme nom ‘de’ nom et adjectif nom n‘est possible qu‘en ajoutant les connaissances de mots-formes simples avec leur description grammaticale. L‘ajout de la catégorie grammaticale nous amène au problème de l‘ambiguïté grammaticale (plante peut être verbe ou nom) et le traitement de désambiguïsation, qui est le prochain traitement. A ce niveau, on ne peut qu‘ajouter un ensemble de mots-formes complexes dans les connaissances.

Ces unités complexes posent également des problèmes pour l‘évaluation de la désambiguïsation morphosyntaxique. Celle-ci passe par la comparaison entre un corpus étiqueté par le tagger et son référentiel, qui est le même corpus étiqueté par une personne, en calculant les mesures de précision et de rappel. Le fait que les unités ne soient pas découpées de la même manière est la principale difficulté pour mesurer la performance d‘un tagger : comment prendre en compte que les deux corpus ne contiennent pas les mêmes unités complexes ? L‘un des problèmes à résoudre dans l‘évaluation de modules de désambiguïsation est le découpage en unités qui peut être différent selon les modules, car

94 toutes ne recensent pas les mêmes mots composés. Confronté à cette difficulté dans le projet Grace, [Paroubek et Rajman, 2000] proposent un étiquetage minimal de tous les composants, par exemple :

avant[Adv|Sconj/1.2] que[SConj|SConj/2.2].

Ce traitement existe bien dans l‘analyseur de Sinequa, mais pour des raisons d‘optimisation les connaissances nécessaires ne sont pas codées dans une ressource mais font partie du code source. Pour cette raison, nous mentionnons le traitement dans le chapitre suivant sans qu‘il n‘y ait une ressource de grammaire ou de lexique correspondant.

Connaissances

Le découpage prend en entrée un fragment de langue unique constitué de caractères c, qui sont des lettres et des signes d‘espacement et de ponctuation tels que décrits par les normes ISO/CEI 1064666 et Unicode. La lecture séquentielle des caractères produit un flux textuel qui est découpé en une liste d‘unités textuelles u en appliquant des connaissances Cdec. Le texte et ses unités textuelles correspondent à A*, A étant l‘ensemble fini de caractères c correspondant au système orthographique de la langue l. La langue étant connue, la fonction de découpage

dec

applique à chaque fragment frag la grammaire de la langue préalablement identifiée ou définie par défaut.

) ,..., , ( ) , ( dec 1 2 n dec frag C u u u frag,uiA* avec Ac1,c2,...,cm

Le découpage se fait selon les règles rDeci de la grammaire de découpage Gdec. La grammaire s‘articule autour d‘un ensemble P de signes d‘espacement et de ponctuation pi, P étant un sous-ensemble de A. Deux approches existent, l‘une dont les règles prennent en compte un ensemble L de mots-formes fi, l‘autre qui se contente d‘appliquer des règles autour des signes pi.

Gdec P L

Cdec , , ou Cdec Gdec,P

GdecrDec1,rDec2,...,rDecn,

p1,p2,...pn'

P , Pl A

et Lf1, f2,..., fn'' où fiA*

66 L‘ISO/CEI 10646 définit l'Universal Character Set (UCS) qui représente un jeu de caractères où chaque

caractères associe une description unique à un entier positif appelé son point de code. La norme, qui interdisait par exemple l‘utilisation de caractères de contrôle, a été unifiée avec la norme Unicode au début des années 90, qui l‘inclut comme un sous-ensemble de ses spécifications.

95

5.4 Analyse et étiquetage morphosyntaxique des unités