• Aucun résultat trouvé

Repr´ esentation Arborescente des Documents

Dans ce chapitre, nous nous int´eressons aux documents m´edicaux semi-structur´es. Nous d´efinissons, ici, les donn´ees semi-structur´ees comme ´etant des donn´ees ne poss´edant pas un mod`ele relationnel strict comme les documents XML. En outre, nous restreignons notre travail aux documents ayant les propri´et´es suivantes :

1. un document est compos´e d’une ou plusieurs parties,

2. toutes les parties sont des donn´ees textuelles (les ´el´ements non textuels seront simplement ignor´es).

Par exemple, nous pouvons consid´erer les dossiers m´edicaux o`u chaque dossier patient est com-pos´e de plusieurs parties dont chacune est une observation m´edicale provenant d’un service sp´ecifique comme, par exemple, une observation clinique ou une observation issue de la radio-logie. Avec de tels documents, le calcul de la similarit´e entre deux documents, pour une tˆache

de cat´egorisation ou de classification, n´ecessite de g´erer de mani`ere convenable les diff´erentes parties en fonction de la source. En effet, il peut ˆetre inappropri´e de comparer, par exemple, une observation radiologique avec une observation psychologique.

Pour chaque partie d’un document, nous effectuons les pr´e-traitements suivants :

1. Nettoyage du document :Tous les ´el´ements qui peuvent introduire du bruit sont ´elimin´es. Ainsi, tous les nombres, aussi bien sous un format num´erique que sous un for-mat litt´eral et les donn´ees non-textuelles sont retir´es. Il est `a noter que nous utilisons le terme “bruit” dans un sens g´en´eral. En effet, les nombres et les symboles apportent une information sans quoi, il est peu probable qu’ils aient ´et´e introduits dans les documents. Cependant, le fait de ne pouvoir les traiter correctement peut introduire une information non pertinente voire mˆeme erron´ee. Cette information risquerait de noyer le sens g´en´eral du document.

2. Segmentation du texte : La segmentation est utilis´ee pour d´ecouper le texte en unit´es de sens. La m´ethode la plus simple est de d´ecouper le texte en mots s´epar´es par des ponctuations ou des espaces. Toutefois, avec une telle segmentation, nous pouvons d´et´eriorer ou mˆeme compl`etement perdre le sens correct d’un groupe de mots, sens in-duit par la pr´esence des mots du groupe. Ceci est particuli`erement vrai dans le domaine biom´edical o`u les mots sont souvent combin´es entre eux pour former des expressions avec des sens nouveaux. Pour g´erer ce probl`eme, une m´ethode consiste `a segmenter le texte en unit´es lexicales (´el´ements lexicaux). Une unit´e lexicale peut ˆetre un unique mot ou un groupe de mots. Contrairement aux mots, les unit´es lexicales sont difficiles `a identifier. En effet, des connaissances a priori sur le domaine sont n´ecessaires pour le d´ecoupage. Il s’agit pour cette tˆache d’avoir un lexique (lexicon) propre au domaine. En utilisant le lexique, une fa¸con na¨ıve de segmenter le texte consiste `a utiliser un algorithme simple de correspondance entre les mots du texte et le lexique, en favorisant en premier lieu les groupes contenant le plus de mot. L’algorithme 4.3.1 illustre le d´ecoupage na¨ıf. N´ean-moins, cette m´ethode ne tient pas compte de la cat´egorie morpho-syntaxique des mots. Ainsi, il peut regrouper des mots n’appartenant pas `a la mˆeme cat´egorie grammaticale. Certaines unit´es lexicales peuvent ainsi ˆetre incoh´erentes et mener `a une perte d’infor-mation. Il est donc pr´ef´erable d’utiliser un ´etiqueteur morpho-syntaxique et d’utiliser un algorithme de correspondance prenant en compte la cat´egorie grammaticale des mots. Pour cela, nous avons utilis´e le logicieldTagger[DBL06] fourni avec le lexique UMLS (le SPECIALIST lexicon). Ce logiciel est capable d’´etiqueter et d´ecouper le texte en unit´es lexicales.

3. ´Elimination des mots vides :A partir de l’ensemble des unit´es lexicales, nous ´eli-minons les unit´es lexicales qui ne sont compos´ees que de mots vides. Nous rappelons que par mots vides, nous d´esignons les mots qui n’apportent aucune information comme les

Algorithme 4.3.1 Algorithme de Segmentation Na¨ıf

1: Pour un document d, d´ecouper den mots s´epar´es par des ponctuations ou des espaces

2: G← le premier mot de d

3: i←1

4: tant quetous les mots dedn’ont pas ´et´e trait´es faire

5: i←i+ 1

6: wi ←le i`eme mot ded

7: NormaliserG∪wi selon le lexique pour une recherche

8: siG∪wi appartient au lexiquealors 9: ajouterwi `a la fin deG

10: sinon

11: ajouterG `a la liste des unit´es lexicales ded

12: G←wi

13: fin si 14: fin tant que

15: siGn’est pas videalors

16: ajouter G`a la liste des unit´es lexicales de d

17: fin si

d´eterminants et les verbes auxiliaires. Pour reconnaˆıtre, ces mots, nous utilisons une liste de mots vides disponibles sur internet2.

4. Normalisation des mots : Les mots peuvent apparaˆıtre sous diff´erentes formes fl´echies fournissant, ainsi, des informations grammaticales. Ces informations induisent un espace `a grande dimension dans lequel le processus d’apprentissage est rendu complexe. Pour r´eduire le nombre de dimension, chaque unit´e lexicale est normalis´ee, `a savoir que les mots composant l’unit´e lexicale sont r´eduits `a leur racine. Certains mots peuvent avoir diff´erentes racines, par exemple la normalisation du mot “montre” donne les racines “montre” (en tant que nom) et “montrer”. Par cons´equent, chaque unit´e lexicale sera associ´ee `a un ensemble de formes normalis´ees. Dans l’UMLS, leSPECIALIST lexiconest fourni avec le programme javaLexical Variant Generation (lvg)qui peut ˆetre utilis´e pour normaliser les groupes de mots. La normalisation est faite en 6 ´etapes illustr´ees par la figure 4.1.

5. L’annotation s´emantique :L’information morphologique n’est pas suffisante pour calculer efficacement la similarit´e entre deux mots. En effet, il est g´en´eralement pr´ef´erable de comparer la signification des mots plutˆot que de comparer les mots proprement dits. Pour cela, nous devons d´eterminer le sens de chaque unit´e lexicale normalis´ee. Dans le Metathesaurus de l’UMLS, les mots sont d´efinis avec leurs concepts en sachant qu’un 2Des liste de mots vides pour diverses langues sont disponible sur internet `a l’adresse : http ://snow-ball.tartarus.org

Fig. 4.1 – Le processus de normalisation d’une unit´e lexicale.

mot peut avoir un ou plusieurs concepts. Un concept peut ˆetre per¸cu comme une classe de mots regroupant les termes ayant un sens approximativement commun. De plus, les concepts sont reli´es entre eux par diverses relations s´emantiques. L’une des relations usuellement utilis´ee est la relation “est-un” qui d´ecrit une relation “p`ere-fils” d’abstraction et de sp´ecificit´e entre deux concepts. Ainsi, les concepts et leurs relations peuvent ˆetre utilis´es pour calculer une valeur de similarit´e s´emantique. Dans ce but, un ensemble de concepts sera associ´e `a chaque unit´e lexicale normalis´ee. L’algorithme d’annotation s´emantique, que nous avons d´evelopp´e, est d´ecrit par l’algorithme 4.3.2.

Finalement, apr`es ces ´etapes de pr´e-traitement, chaque document peut ˆetre repr´esent´e sous une forme arborescente comme illustr´ee par la figure 4.2.

Algorithme 4.3.2 Algorithme d’annotation s´emantique

1: pour tout documentdetpartie p∈d.parts

etunit´e lexicalelu∈p.LU faire

2: pour tout groupe de mots normalis´esns∈lu.N S faire

3: ns.concepts← trouver les concepts dens `a partir du fichier MRXNS de l’UMLS

4: sins.conceptsest vide alors

5: ns.concepts← trouver les concepts dens `a partir du fichier MRXNW de l’UMLS

6: fin si

7: fin pour

8: si∀ns∈lu.N S, ns.concepts est vide

etns est groupe de mots constitu´e de plusieurs mots alors 9: retirerludep.LU

10: p.LU ←p.LU∪ {d´ecouperluen mots unitaires s´epar´es par des caract`eres blancs}

11: fin si

12: lu.N S =∅ ⇒ retirerludep.LU

13: p.LU =∅ ⇒retirerp de d.parts

14: d.parts=∅ ⇒ retirerd

15: fin pour