<!DOCTYPE article PUBLIC "-//NLM//DTD JATS (Z39.96) Journal Archiving and Interchange DTD v1.0 20120330//EN" "JATS-archivearticle1.dtd">
<article xmlns:xlink="http://www.w3.org/1999/xlink">
  <front>
    <journal-meta />
    <article-meta>
      <title-group>
        <article-title>Annotation et interrogation sémantiques de textes médicaux</article-title>
      </title-group>
      <contrib-group>
        <contrib contrib-type="author">
          <string-name>Asma Ben Abacha</string-name>
          <xref ref-type="aff" rid="aff0">0</xref>
        </contrib>
        <contrib contrib-type="author">
          <string-name>Pierre Zweigenbaum</string-name>
          <xref ref-type="aff" rid="aff0">0</xref>
        </contrib>
        <contrib contrib-type="author">
          <string-name>LIMSI - CNRS</string-name>
          <xref ref-type="aff" rid="aff0">0</xref>
        </contrib>
        <contrib contrib-type="author">
          <string-name>Orsay CEDEX France</string-name>
          <xref ref-type="aff" rid="aff0">0</xref>
        </contrib>
        <contrib contrib-type="author">
          <string-name>asma.benabacha</string-name>
          <xref ref-type="aff" rid="aff0">0</xref>
        </contrib>
        <contrib contrib-type="author">
          <string-name>pz}@limsi.fr</string-name>
          <xref ref-type="aff" rid="aff0">0</xref>
        </contrib>
        <aff id="aff0">
          <label>0</label>
          <institution>Mots-clés : Annotation sémantique, RDF, domaine médical</institution>
          ,
          <addr-line>UMLS, recherche sémantique, SPARQL</addr-line>
        </aff>
      </contrib-group>
      <pub-date>
        <year>2010</year>
      </pub-date>
      <abstract>
        <p>Résumé : Ce travail s'inscrit dans le cadre de la réalisation d'un système de question réponse pour le domaine médical. Dans ce papier, nous présentons notre approche d'annotation sémantique de textes médicaux. Cette approche utilise des ressources sémantiques du domaine ainsi que des méthodes linguistiques pour l'annotation (i) des entités médicales et (ii) des relations sémantiques qui les relient. Ces informations sont sauvegardées sous format RDF et interrogées ultérieurement pour répondre aux requêtes utilisateur. Dans la dernière partie de cet article, nous proposons une approche basée sur l'annotation et l'interrogation sémantiques pour la mise en place d'un système de question réponse.</p>
      </abstract>
    </article-meta>
  </front>
  <body>
    <sec id="sec-1">
      <title>Introduction</title>
      <p>
        Le domaine médical dispose de plusieurs ressources sémantiques structurées (e.g.
le Métathésaurus et le réseau sémantique de l’UMLS). Ces ressources permettent de
résoudre certains problèmes comme la grande variabilité des termes médicaux et de
structurer et enrichir le contenu des textes médicaux par des annotations sémantiques.
La tâche d’annotation sémantique améliore toute exploitation ultérieure des textes
annotés (e.g. pour la recherche et l’extraction d’information). Dans cette optique plusieurs
travaux ont été réalisés.
        <xref ref-type="bibr" rid="ref5">(Khelif &amp; Dieng-Kuntz, 2004)</xref>
        ont utilisé le réseau sémantique
de l’UMLS comme une ontologie du domaine biomédical et les termes du
Métathésaurus comme instances possibles de concepts biomédicaux. Ils ont utilisé GATE
        <xref ref-type="bibr" rid="ref2">(Cunningham et al., 2002)</xref>
        et le service Web UMLSKS pour annoter les documents par les
différents termes de l’UMLS. Ils ont aussi essayé d’extraire les relations pouvant exister
entre ces termes, et particulièrement la relation « play role » en utilisant l’analyseur
syntaxique Syntex
        <xref ref-type="bibr" rid="ref1">(Bourigault &amp; Fabre, 2000)</xref>
        et une grammaire développée en Jape.
        <xref ref-type="bibr" rid="ref4">(Jonquet et al., 2009)</xref>
        ont proposé un service web d’annotation appelé Open Biomedical
Annotator (OBA) qui permet aux utilisateurs d’exploiter les ontologies biomédicales (e.g.
Gene Ontology, SNOMED-CT) pour annoter leurs données automatiquement.
L’annotateur OBA a été utilisé pour créer un système d’indexation de ressources biomédicales
appelé Open Biomedical Ressources (OBR). Cet index permet (i) de rechercher des
données biomédicales annotées par un concept donné et (ii) de retrouver les
annotations correspondant à une ressource ayant un identifiant donné (e.g. PubMedID, GEO
datasetID).
        <xref ref-type="bibr" rid="ref3">(Jilani &amp; Amardeilh, 2009)</xref>
        ont proposé une méthode pour construire et
peupler une ontologie automatiquement en utilisant des patrons lexico-syntaxiques. Elles
ont construit des patrons lexicaux pour déterminer les liens entre une mutation, un gène,
un miARN (micro Acides RiboNucléiques) et/ou une maladie en recherchant leurs
cooccurrences dans les phrases du corpus. Leur méthode donne une précision de 72%
ainsi qu’un rappel de 50%.
      </p>
      <p>Dans cet article nous proposons une approche qui exploite l’UMLS pour annoter (i)
les entités médicales présentes dans des textes en anglais (e.g. Maladie, Médicament)
et (ii) les relations sémantiques qui les relient (e.g. traiter, prévenir). Ces annotations
sont sauvegardées sous format RDF et utilisées ultérieurement pour répondre aux
requêtes d’un utilisateur (e.g. « ?x Traite Varicelle »). Nous ciblons particulièrement des
résumés et des articles médicaux de Medline. Nous commençons par présenter notre
méthode d’annotation sémantique des textes médicaux ainsi que les résultats
expérimentaux obtenus (section 2). Après la production de ces annotations sémantiques, nous
nous intéressons dans une deuxième partie à leur exploitation et nous présentons notre
méthode d’interrogation sémantique (section 3). Dans une deuxième partie nous
proposons une architecture sémantique pour la mise en place d’un système de question
réponse (section 4). Enfin nous concluons et donnons quelques perspectives (section 5).
2</p>
    </sec>
    <sec id="sec-2">
      <title>Annotation sémantique</title>
      <p>L’annotation sémantique de textes au sens large comprend l’association de sens à
l’information contenue dans les documents par des annotations/méta-données, insérées
dans le document lui-même ou dans des supports externes. Dans le cadre du Web
sémantique, les besoins d’interopérabilité et de passage à l’échelle rendent nécessaire
l’automatisation du processus d’annotation et l’utilisation de formalismes standardisés.
Dans cette perspective nous utilisons les langages RDF(S) et OWL pour représenter
les connaissances du domaine sous forme d’ontologie (conceptualisation partagée d’un
domaine). Plus particulièrement, nous utilisons le réseau sémantique de l’UMLS sous
format RDFS comme ontologie de référence.</p>
      <p>Le processus d’annotation consiste ensuite en trois étapes que nous détaillons dans
cette section : (i) reconnaissance des entités médicales (e.g. maladie, examen médical)
présentes dans les phrases du corpus (ii) identification des relations sémantiques qui
relient les entités reconnues (e.g. traite, complique, cause) et (iii) transformation des
informations extraites en format RDF. Les deux premières étapes seront décrites plus
en détail dans un prochain papier.
2.1</p>
      <sec id="sec-2-1">
        <title>Reconnaissance des entités médicales</title>
        <p>Plusieurs approches et outils se sont intéressés à l’extraction des entités médicales.
Un des outils les plus largement utilisés pour cette tâche est MetaMap. MetaMap
identifie les entités et leurs catégories en utilisant le Métathesaurus et le réseau sémantique
de l’UMLS et fournit potentiellement plusieurs catégories candidates aux entités qu’il
retrouve avec des scores de confiance. Plus précisément, ces catégories sont les types
du réseau sémantique UMLS jugés comme étant pertinents pour l’entité retrouvée.</p>
        <p>Cependant l’étude de l’utilisation simple de MetaMap sur un de nos corpus a révélé
qu’il présente certains problèmes résiduels. Il s’agit le plus souvent d’erreurs aux
niveaux de la segmentation du corpus en phrases et en syntagmes nominaux, mais aussi
au niveau de la catégorisation des termes médicaux trouvés. Dans ce papier nous
proposons une approche utilisant des outils efficaces connus dans le domaine du TAL en
amont de l’emploi de MetaMap et une méthode de filtrage en aval des résultats obtenus.
Cette approche est résumée dans la figure 1.</p>
        <p>Nous prenons en entrée des corpus médicaux textuels que nous segmentons en phrases
avec les modèles LingPipe spécialisés pour les ressources Medline. Dans une seconde
étape, chaque phrase est segmentée en syntagmes nominaux en utilisant
TreeTaggerchunker, puis ces syntagmes sont soumis à MetaMap afin d’identifier les entités
médicales qu’ils contiennent. Enfin, nous filtrons les résultats obtenus grâce à (i) une liste des
erreurs les plus fréquentes/remarquables et (ii) la limitation des types sémantiques
utilisés par MetaMap afin d’éviter certains concepts généraux (e.g. Quantitative Concept,
Functional Concept, Qualitative Concept).</p>
        <p>Nous avons construit un corpus d’évaluation de 20 articles scientifiques anglais
variés extraits de PubMedCentral. Nous avons ensuite annoté manuellement les entités
médicales correspondant à 16 types sémantiques donnés, sous catégories de « traitant »
et « traité », (cf. tableau 1) et les relations sémantiques qui les lient.</p>
        <sec id="sec-2-1-1">
          <title>Types sémantiques « Traitants » Types sémantiques « Traités »</title>
        </sec>
        <sec id="sec-2-1-2">
          <title>Antibiotic, Drug Delivery Device, Medical Device, Phar</title>
          <p>macologic Substance, Therapeutic or Preventive Procedure
Acquired Abnormality, Anatomical Abnormality, Cell or
Molecular Dysfunction, Congenital Abnormality, Disease
or Syndrome, Experimental Model of Disease, Injury or
Poisoning, Mental or Behavioral Dysfunction, Neoplastic</p>
          <p>Process, Pathologic Function, Sign or Symptom
Comme il est difficile d’annoter manuellement toutes les entités médicales présentes
dans notre corpus, nous avons mesuré uniquement la précision de la reconnaissance
d’entités médicales de 16 types sémantiques. Cette précision dépend de l’exactitude de
leurs catégories (types sémantiques) mais aussi de la précision de localisation de ces
entités (correcte, avec du bruit, partielle ou fausse). Dans notre évaluation, une erreur
liée à la localisation partielle (resp. avec du bruit) d’un terme médical coûte un demi
point, et la précision est calculée selon la formule suivante :</p>
          <p>P recision =</p>
          <p>C + 0:5</p>
          <p>Ref</p>
          <p>B
(1)
– C : entités correctes
– B (boundary) : entités avec une catégorie correcte mais une localisation imprécise
(partielle ou avec bruit)
– Ref : le nombre total des entités de référence.</p>
          <p>Le tableau 2 compare la précision obtenue avec notre méthode (LTS+MetaMap) et
celle obtenue avec l’utilisation simple de MetaMap sur un sous ensemble de types
sémantiques. Les erreurs liées aux types sémantiques sont notées par T, celles liées aux
frontières des entités sont notées par B et la précison est notée par P. Notre méthode
conduit à une augmentation significative de la précision par rapport à MetaMap (le total
indiqué a été calculé sur toutes les occurrences des 16 types sémantiques traités). À
titre d’exemple, les résultats de MetaMap comporte 52.27% d’erreurs de localisation
pour les entités de type Disease Or Syndrome alors que notre méthode n’a conduit qu’à
26.48% d’erreurs de localisation.</p>
        </sec>
        <sec id="sec-2-1-3">
          <title>Disease Or Syndrome</title>
          <p>Injury or poisoning
Total</p>
          <p>T
9.09%
33.33%
30.24%</p>
        </sec>
        <sec id="sec-2-1-4">
          <title>MetaMap</title>
          <p>B
52.27%
34.84%
34.56%
P
64.77%
49.24%
54.62%
2.2</p>
        </sec>
      </sec>
      <sec id="sec-2-2">
        <title>Extraction des relations sémantiques</title>
        <p>Extraire automatiquement des relations sémantiques entre les entités médicales
nécessite des connaissances du domaine et une analyse linguistique des phrases du
corpus. Les connaissances de domaine sont requises afin de déterminer quels types de
relations sont plausibles entre deux entités données. Le réseau sémantique de l’UMLS
fournit une telle connaissance puisqu’il précise les types sémantiques sources et cibles
de chaque relation (e.g. « Antibiotic » et « Disease or Syndrome » sont respectivement
une source et une cible possibles pour la relation « treats »).</p>
        <p>Afin d’extraire des relations entre les entités médicales identifiées dans la phase 1
nous utilisons un ensemble de patrons linguistiques que nous modélisons dans une
ontologie liée au réseau sémantique de l’UMLS (cf. figure 2).
Nous associons à chaque relation (ciblée) du réseau sémantique de l’UMLS un
ensemble de patrons linguistiques ayant une valeur littérale correspondant à une
expression régulière donnée et sauvegardée par la propriété rdf:value (cf. Tableau 3). Les
patrons sont construits manuellement à partir d’un corpus sélectionné sémantiquement
(obtenu en interrogeant PubMed Central avec des requêtes MeSH).</p>
        <sec id="sec-2-2-1">
          <title>Relation</title>
          <p>causes
diagnoses</p>
          <p>treats
prevents
Nombre de patrons*
28
12
46
13</p>
        </sec>
        <sec id="sec-2-2-2">
          <title>Exemples de patrons</title>
          <p>. . . E1 may trigger E2 . . .</p>
          <p>E1 is the best test for (the diagnoses of) ? E2</p>
          <p>. . . E1 was found to reduce E2 . . .</p>
          <p>. . . E1 for prophylaxis against E2 . . .
* : nombres en cours d’évolution</p>
          <p>Aussi, afin d’associer une mesure de confiance aux relations qui seront annotées
ultérieurement, les patrons sont classés suivant leur précision avec la propriété du même
nom dans l’ontologie. La précision d’un patron est calculée automatiquement en
décrémentant les valeurs de précision suivant les relations de généralisation.</p>
          <p>Par exemple, si nous avons les patrons suivants :
– &lt;patron1, précision, P&gt;
– &lt;patron2, généralise, patron1&gt;
– &lt;patron3, généralise, patron2&gt;
alors les annotations suivantes sont générées automatiquement :
– &lt;patron2, précision, P/C&gt;
– &lt;patron3, précision, P/C/C&gt;, avec C un coefficient entier.</p>
          <p>Dans le cas où un patron généralise plusieurs patrons différents nous considérons la
moyenne de précision de toutes ses dérivations directes divisée par C.</p>
          <p>Une relation est identifiée dans une phrase si (i) elle est définie dans le réseau
sémantique entre les types de l’entité source et de l’entité cible et (ii) elle est identifiée par
l’application de l’un de ses patrons sur la même phrase. Les patrons sont appliqués du
plus spécifique au plus général. Le tableau 4 présente quelques exemples de patrons.</p>
        </sec>
        <sec id="sec-2-2-3">
          <title>Patron TX for PB</title>
        </sec>
        <sec id="sec-2-2-4">
          <title>TX for the treatment of PB</title>
        </sec>
        <sec id="sec-2-2-5">
          <title>TX for preventing PB</title>
        </sec>
        <sec id="sec-2-2-6">
          <title>Relation Précision Exemple Traitement 0,5 Intralesional corticosteroid therapy for primary cutaneous B cell lymphoma.</title>
          <p>Traitement 0.75 Cognitive-behavioral group therapy
is an effective intervention for the
treatment of geriatric depression.</p>
          <p>Prévention 0.75 Influenza vaccines for preventing</p>
          <p>coronary heart disease.</p>
          <p>Nous associons un poids à la relation extraite qui prend en compte la précision du
patron employé et le nombre de syntagmes nominaux entre les deux entités. L’idée
derrière le second point est que la relation est considérée plus forte s’il n’y a que des verbes
et/ou prépositions entre les deux entités dans la phrase que s’il y a plusieurs autres
syntagmes nominaux entre les syntagmes contenant les entités médicales en question.</p>
          <p>Le poids d’une relation R extraite moyennant un patron P à partir d’une phrase H,
entre deux entités médicales E1, E2 contenues dans deux syntagmes S1 et S2 est donc :
W (R) =</p>
          <p>dsp(P )
exp(nsynt(H; S1; S2)
(2)
– dsp(P) : degré de spécialisation du patron P
– nsynt(H,S1,S2) : une fonction qui retourne le nombre de syntagmes nominaux
entre S1 et S2 dans la phrase H.</p>
          <p>Une fois que les phrases contenant la relation ciblée sont extraites, nous utilisons des
filtres pour éliminer les phrases négatives (e.g. In general, TPE alone is not suggested
for the treatment of progressive MS cases.) et les phrases interrogatives (e.g. Can statins
treat infection ?). La méthode complète d’extraction de relations sémantiques est décrite
dans la figure 3.</p>
          <p>Notre méthode d’extraction de relations sémantiques a été évaluée sur notre corpus
d’évaluation de 20 articles extraits de PubMedCentral. Les résultats de cette évaluation
sont présentés dans le tableau 5.</p>
        </sec>
        <sec id="sec-2-2-7">
          <title>Relation : Traitement Rappel Précision F-Mesure 60,46 % 75,72 % 67,23 % TAB. 5 – Résultats d’extraction de relations sémantiques de type « Traitement »</title>
          <p>L’objectif de base de cette étape est d’écrire les annotations sous forme de triplets
RDF conformes à l’ontologie représentant le réseau sémantique de l’UMLS. Nous
annotons aussi les poids associés aux relations extraites en utilisant le principe de
réification qui permet de considérer un triplet comme un élément dans un autre triplet. La
figure 4 présente un exemple d’annotation.
3</p>
        </sec>
      </sec>
    </sec>
    <sec id="sec-3">
      <title>Interrogation sémantique</title>
      <p>Dans cette section, nous présentons notre méthode d’interrogation sémantique. Les
triplets RDF générés dans la phase d’annotation sont interrogés avec des requêtes SPARQL
formulées suivant les concepts et les relations du réseau sémantique de l’UMLS.</p>
      <p>Ces requêtes sont obtenues après la traduction de la requête utilisateur, composée à
travers un formulaire qui fixe les relations sémantiques à utiliser mais laisse à
l’utilisateur le choix des arguments à rechercher (cf. figure 5).</p>
      <p>Par exemple, l’utilisateur peut chercher le traitement (inconnu) d’une maladie dont il
écrit le nom (e.g. ?X traite « Erysipelas ») ou juste une validation d’un fait donné (e.g.
la pénicilline est-elle bien un traitement pour la « S. aureus infection »). Les termes
entrés par l’utilisateur sont analysés par MetaMap afin de connaître les types sémantiques
concernés par la requête. Dans le cas où aucun type connu ne correspond aux termes
recherchés par l’utilisateur, les solutions de remplacement les plus proches
syntaxiquement sont proposés à l’utilisateur.</p>
      <p>Une dernière étape dans le processus de transformation de la requête est de faire
apparaître les poids des triplets recherchés/employés et de trier les réponses suivant ces
valeurs.</p>
    </sec>
    <sec id="sec-4">
      <title>Vers un système de question réponse</title>
      <p>L’architecture classique d’un système de question réponse comporte 3 modules :
analyse de la question, recherche de documents et extraction de la réponse. L’analyse de la
question s’intéresse à déduire à partir de la question toutes les informations utiles pour
les modules qui suivent comme les mots clés de la question et le type de la réponse
attendue. Le deuxième module fouille une collection de documents pour extraire les
documents ou les passages susceptibles de contenir la réponse. Enfin, le troisième
module utilise les informations déduites de l’analyse de la question pour extraire, depuis
les documents retrouvés, la ou les réponses.</p>
      <p>En se basant sur notre approche d’annotation et une partie de notre méthode
d’interrogation nous proposons une architecture différente où l’accès aux extraits (phrases)
pertinents se fait directement en interrogeant la base d’annotation. Un module
d’analyse de la question est utilisé en amont pour transformer la question de l’utilisateur en
requête structurée écrite en SPARQL (cf. figure 6).
5</p>
    </sec>
    <sec id="sec-5">
      <title>Conclusion</title>
      <p>Nous avons présenté dans cet article notre méthode d’annotation sémantique de textes
médicaux. Cette approche permet d’annoter automatiquement les entités médicales
présentes dans les textes et les relations sémantiques qui les relient en combinant
l’utilisation d’outils et ressources sémantiques du domaine (UMLS) et des techniques de TAL
pour l’extraction d’information. Ces annotations sont exploitées avec un moteur de
recherche sémantique pour répondre aux requêtes utilisateur. L’approche présentée dans
cet article rentre dans le cadre du développement d’un système de question réponse
pour le domaine médical et constitue une grande partie de ce qui est nécessaire pour la
réalisation d’un tel système.</p>
      <p>Comme perspectives à court terme, nous envisageons d’expérimenter notre approche
d’interrogation sur un corpus extrait de Medline et d’améliorer le module d’annotation
en traitant d’autres types de relations sémantiques avant de nous intéresser à la mise
au point d’un système de question réponse pour le domaine médical. Nous envisageons
aussi d’explorer la dimension translingue en répondant à des questions écrites en
français à partir de corpus anglais.</p>
    </sec>
  </body>
  <back>
    <ref-list>
      <ref id="ref1">
        <mixed-citation>
          <string-name>
            <given-names>BOURIGAULT D.</given-names>
            &amp;
            <surname>FABRE</surname>
          </string-name>
          <string-name>
            <surname>C.</surname>
          </string-name>
          (
          <year>2000</year>
          ).
          <article-title>Approche linguistique pour l'analyse syntaxique de corpus</article-title>
          . In Cahiers de grammaire,
          <volume>25</volume>
          ,
          <fpage>131</fpage>
          -
          <lpage>151</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref2">
        <mixed-citation>
          <string-name>
            <surname>CUNNINGHAM H.</surname>
          </string-name>
          ,
          <string-name>
            <surname>MAYNARD D.</surname>
          </string-name>
          ,
          <string-name>
            <given-names>BONTCHEVA K.</given-names>
            &amp;
            <surname>TABLAN</surname>
          </string-name>
          <string-name>
            <surname>V.</surname>
          </string-name>
          (
          <year>2002</year>
          ).
          <article-title>Gate : A framework and graphical development environment for robust nlp tools and applications</article-title>
          . In
          <source>In Proceedings of the 40th Anniversary Meeting of the Association for Computational Linguistics (ACL)</source>
          , p.
          <fpage>168</fpage>
          -
          <lpage>175</lpage>
          , Philadelphia.
        </mixed-citation>
      </ref>
      <ref id="ref3">
        <mixed-citation>
          <string-name>
            <surname>JILANI I. &amp; AMARDEILH F.</surname>
          </string-name>
          (
          <year>2009</year>
          ).
          <article-title>Enrichissement automatique d'une base de connaissances biologiques à l'aide des outils du web sémantique</article-title>
          .
          <source>In IC2009 - 20èmes journées francophones d'Ingénierie des Connaissances</source>
          , Hammamet : Tunisie.
        </mixed-citation>
      </ref>
      <ref id="ref4">
        <mixed-citation>
          <string-name>
            <given-names>JONQUET C.</given-names>
            ,
            <surname>SHAH N</surname>
          </string-name>
          . &amp;
          <string-name>
            <surname>MUSEN M. A.</surname>
          </string-name>
          (
          <year>2009</year>
          ).
          <article-title>Un service web pour l'annotation sémantique de données biomédicales avec des ontologies</article-title>
          .
          <source>In 13èmes Journées Francophones d'Informatique Médicale, JFIM2009.</source>
        </mixed-citation>
      </ref>
      <ref id="ref5">
        <mixed-citation>
          <string-name>
            <given-names>KHELIF K.</given-names>
            &amp;
            <surname>DIENG-KUNTZ</surname>
          </string-name>
          <string-name>
            <surname>R</surname>
          </string-name>
          . (
          <year>2004</year>
          ).
          <article-title>Web sémantique et mémoire d'expériences sur les biopuces</article-title>
          .
          <source>In Web Sémantique Médical (WSM</source>
          '
          <year>2004</year>
          ), Rouen.
        </mixed-citation>
      </ref>
    </ref-list>
  </back>
</article>