# DOING@DEFT : cascade de CRF pour l'annotation d'entités cliniques imbriquées

Anne-Lyse Minard² Andréane Roques¹ Nicolas Hiot¹

Mirian Halfeld Ferrari Alves¹ Agata Savary³

(1) Université d'Orléans, LIFO, Orléans, France

(2) Université d'Orléans, LLI-CNRS, Orléans, France

(3) Université François Rabelais Tours, LIFAT, Tours, France

anne-lyse.minard@univ-orleans.fr, mirian@univ-orleans.fr

## RÉSUMÉ

Cet article présente le système développé par l'équipe DOING pour la campagne d'évaluation DEFT 2020 portant sur la similarité sémantique et l'extraction d'information fine. L'équipe a participé uniquement à la tâche 3 : "extraction d'information". Nous avons utilisé une cascade de CRF pour annoter les différentes informations à repérer. Nous nous sommes concentrés sur la question de l'imbrication des entités et de la pertinence d'un type d'entité pour apprendre à reconnaître un autre. Nous avons également testé l'utilisation d'une ressource externe, MedDRA, pour améliorer les performances du système et d'un pipeline plus complexe mais ne gérant pas l'imbrication des entités. Nous avons soumis 3 runs et nous obtenons en moyenne sur toutes les classes des F-mesures de 0,64, 0,65 et 0,61.

## ABSTRACT

DOING@DEFT : cascade of CRF for the annotation of nested clinical entities

In this paper, we present the participation of the DOING team in the DEFT 2020 shared task. DEFT 2020 focuses on semantic similarity and fine-grained information extraction. The DOING team has only participated in the 3rd task : "information extraction". We have used a method based on a cascade of CRF for annotating the requested information. Our work focus on the issue of nested entities and the impact of entity types to each other. We have also experimented the use of an external resource, MedDRA, which enables us to improve the performances of our system, and the use of an extraction pipeline which do not deal with nested entities. We have submitted 3 runs and we have obtained on overall the following F1 : 0.64, 0.65 and 0.61.

MOTS-CLÉS : extraction d'information fine ; cas cliniques ; entités cliniques ; entités imbriquées ; apprentissage automatique ; CRF.

KEYWORDS: fine-grained information extraction ; clinical cases ; clinical entities ; nested entities ; machine learning ; CRF.

# 1 Introduction

Dans le cadre du groupe de travail DOING (cf. section 1.1), nous avons développé un système pour participer à la tâche 3 de DEFT 2020 (Cardon et al., 2020). Cette tâche est centrée sur l'extraction d'information fine dans un corpus de cas cliniques, et en particulier de l'annotation d'entités cliniques.

<figure><img src="image_32.png" /></figure>
niques (examen, anatomie, substance, pathologie, etc.) et d'informations associées (dosage, mode d'administration, etc.).

Le schéma d'annotation utilisé pour cette tâche admet l'annotation d'entités imbriquées. Nous nous sommes concentrés sur cet aspect pour mettre en place notre méthode d'extraction. Nous proposons d'utiliser une méthode basée sur une cascade de CRF (champs aléatoires conditionnels, (Lafferty, 2001)) qui nous permet d'extraire d'abord les entités les plus imbriquées et de terminer avec les entités pouvant englober plusieurs types d'entité.

Dans la suite de cette section, nous présentons le projet DOING dans le cadre duquel nous avons participé à cette campagne d'évaluation, puis un état de l'art du domaine. Ensuite, nous décrivons la méthode utilisée (section 2), notre système à base d'apprentissage automatique (section 3) et les résultats obtenus (section 4).

## 1.1 Projet DOING

Le travail ici présenté a été développé dans le cadre des activités DOING (Données Intelligentes). En effet, le groupe de travail DOING, proposé en 2018 dans le cadre du réseau régional DIAMS (Données, Intelligence Artificielle, Modélisation et Simulation) <fnref n="1" />, a commencé ses rencontres en février 2019 autour d'une collaboration entre chercheurs en bases de données, intelligence artificielle et traitement automatique de la langue. Aujourd'hui DOING a évolué : non seulement il représente un groupe actif au sein de DIAMS, mais propose une ouverture nationale comme atelier MADICS (janvier 2020) <fnref n="2" /> et internationale dans l'organisation de DOING'2020 <fnref n="3" /> – workshop au sein de la conférence ADBIS-TPDL-EDA <fnref n="4" />. Dans tous ces différents formats, DOING s'intéresse à la transformation des données en information, puis en connaissance. Le groupe vise en particulier deux grandes lignes de discussions ainsi que leur mise en relation : (1) la transformation des données en information, c'est-à-dire, l'extraction de l'information des données textuelles pour peupler une base de connaissances et (2) la transformation de l'information en connaissance, c'est-à-dire, l'interrogation intelligente et efficace, et la maintenance des bases de connaissances. Le domaine de la santé s'est présenté comme la première cible d'application de DOING.

Dans ce contexte, l'extraction d'information est un aspect clé du travail du groupe DOING ; le point de départ pour la ligne de recherche (1) citée ci-dessus. Le défi DEFT 2020 est une opportunité de concrétisation d'une collaboration naissante autour d'un stage dont l'ambition repose sur une première approche permettant de peupler une base de données à partir des données textuelles. Les méthodes développées pour DEFT 2020 s'insèrent dans les premières étapes de la conception de cette approche.

## 1.2 État de l'art

La tâche d'extraction d'information (IE) consiste en l'extraction automatique d'information structurée à partir de documents numériques non structurés ou semi-structurés, par exemple dans le but d'alimenter une base de données ou faciliter les traitements consécutifs (Jurafsky & Martin, 2009). Ce domaine

<footnote n="1">1. https://www.univ-orleans.fr/lifo/evenements/RTR-DIAMS/</footnote>

<footnote n="2">2. http://www.madics.fr/ateliers/doing/</footnote>

<footnote n="3">3. http://www.univ-orleans.fr/lifo/evenements/doing/?page_id=77</footnote>

<footnote n="4">4. http://eric.univ-lyon2.fr/adbis-tpdl-eda-2020/adbis/</footnote>
a une longue tradition et une bibliographie très riche dans le domaine du TAL. La sous tâche la plus
élémentaire de l'IE est l'extraction des entités d'intérêt, souvent appelées entités nommées (EN), d'où
le terme consacré : *reconnaissance d'entités nommées* (REN). Dans la langue générale, il s'agit le
plus souvent des noms propres (*Union européenne*) ou des dates (25 mai) et mesures (57,5%). Dans
une langue de spécialité, telle que la biomédecine, les ENs incluent des termes (*occlusion intestinale*)
et mesures spécifiques (191/95 mm Hg). Les EN de la langue générale apparaissent dans une très
grande quantité de textes librement accessibles et ont fait l'objet de nombreux efforts d'annotation en
beaucoup de langues. Ceci a permis un développement de benchmarks (Tjong Kim Sang, 2002; Tjong
Kim Sang & De Meulder, 2003), ainsi que de méthodes supervisées de tagging séquentiel, y compris
neuronales (Yadav & Bethard, 2018), souvent basées sur le codage du corpus selon le modèle BIO.<fnref n="5" />
La REN spécifique à un domaine de spécialité souffre d'une accessibilité moindre de textes, tant bruts
qu'annotés, et des benchmarks sont accessibles surtout pour l'anglais dans le domaine biomédical
(Campos et al., 2012). De ce point de vue, la campagne DEFT 2020 constitue un effort important
pour le français.

Le défi majeur, commun à ces deux tâches – la REN en langue générale et celle dans le domaine
biomédical – est la présence d’une grande quantité d’entités imbriquées les unes dans les autres. Par
exemple – selon la terminologie de DEFT 2020 – dans [anémie à [9g/dl]]₁ d’[hémoglobine]₂]₃ les
entités 1 et 2 des catégories *valeur* et *substance*, respectivement, sont englobées par l’entité plus
large 3 de catégorie *pathologie*. Toutes ces trois entités doivent être automatiquement reconnues
et catégorisées. L’imbrication d’entités reste un défi important en REN, car elle la rapproche de la
tâche d’analyse syntaxique, où ce sont des mini-arbres d’entités qu’il faut désormais produire, et non
seulement des séquences d’étiquettes (Finkel & Manning, 2009). Des méthodes de tagging séquentiel,
telles que les CRF, peuvent tout de même être utilisées, surtout si les EN restent continues, mais soit
les modèles, soit les jeux d’étiquettes s’en trouvent complexifiés (d’où la rareté de données accrue),
pour tenir compte du fait qu’un mot peut appartenir à plusieurs entités à la fois (Alex et al., 2007). Vu
que les données annotées de la campagne DEFT 2020 comportent de nombreuses imbrications, le
système que nous présentons y attache une attention particulière. Il s’inspire de l’une des architectures
proposées par ces derniers auteurs.

## 2 Méthode

Les entités considérées dans la tâche 3 de DEFT 2020 sont de 10 types <fnref n="6" />. Dans le tableau 1, nous
donnons la répartition des entités dans le corpus d’entraînement. Nous pouvons les regrouper en 2
groupes, les entités cliniques et les entités associées à ces entités cliniques :

1. *anatomie, examen, traitement, substance, sosy* (signe ou symptôme), *pathologie*

2. *valeur, dose, mode, moment* (+ *date, duree, frequence*)

Le schéma d'annotation permet l'imbrication des entités. Dans le tableau 2, nous présentons les
imbrications les plus fréquentes dans le corpus. La première colonne contient le type de l'entité
englobante, la deuxième colonne le type de l'entité imbriquée, la troisième colonne le nombre de fois
où ces deux entités sont imbriquées et les deux dernières colonnes le pourcentage d'entités imbriquées

<footnote n="5">5. Chaque mot du corpus est ainsi encodé comme apparaissant au début (B), à l'intérieur (I) ou en dehors (O) d'une EN d'un certain type.</footnote>

<footnote n="6">6. La tâche proposée par DEFT n'inclut pas l'annotation des entités *date, duree et frequence*. Comme les annotations étaient disponibles dans le corpus d'entraînement, nous avons travaillé également sur la reconnaissance de ces entités.</footnote>
<table><caption>TABLE 1 – Nombre d'entités par type dans le corpus d'entraînement.</caption><thead><tr><th></th><th>nombre d'entités</th></tr></thead><tbody><tr><td>sosy</td><td>1831</td></tr><tr><td>anatomie</td><td>1608</td></tr><tr><td>examen</td><td>1218</td></tr><tr><td>substance</td><td>1024</td></tr><tr><td>valeur</td><td>588</td></tr><tr><td>moment</td><td>451</td></tr><tr><td>dose</td><td>392</td></tr><tr><td>traitement</td><td>374</td></tr><tr><td>pathologie</td><td>369</td></tr><tr><td>mode</td><td>243</td></tr></tbody></table>

par rapport au nombre d'entités 1 ou 2 dans le corpus.<fnref n="7" /> Nous remarquons entre autres que les entités *sosy* englobent très souvent d'autres entités, en particulier des entités *anatomie* et que les entités *anatomie* sont très souvent imbriquées (au total 1496 sont imbriquées, parfois dans plusieurs entités à la fois, ce qui représente 93% des entités *anatomie*). Ces entités *sosy* sont souvent longues, avec en moyenne 4,9 mots par entité, contre 1,5 mots par entité pour les entités *anatomie*. Cet aspect nous a incités à construire un système en cascade, en suivant les travaux de (Alex et al., 2007). Ainsi, différents modèles seront entraînés pour apprendre à reconnaître un ou deux types d'entités.

<table><caption>TABLE 2 – Nombre d'entités imbriquées dans le corpus d'entraînement pour les paires les plus fréquentes.</caption><thead><tr><th>entité 1</th><th>entité 2</th><th>ent2 imbriquée dans ent1</th><th>proportion<fnref n="7" /> ent1</th><th>proportion<fnref n="7" /> ent2</th></tr></thead><tbody><tr><td>sosy</td><td>anatomie</td><td>980</td><td>54%</td><td>61%</td></tr><tr><td>pathologie</td><td>anatomie</td><td>151</td><td>41%</td><td>9%</td></tr><tr><td>examen</td><td>anatomie</td><td>370</td><td>30%</td><td>23%</td></tr><tr><td>traitement</td><td>anatomie</td><td>111</td><td>30%</td><td>7%</td></tr><tr><td>sosy</td><td>examen</td><td>440</td><td>24%</td><td>36%</td></tr><tr><td>sosy</td><td>valeur</td><td>409</td><td>22%</td><td>70%</td></tr><tr><td>pathologie</td><td>valeur</td><td>18</td><td>5%</td><td>3%</td></tr><tr><td>sosy</td><td>substance</td><td>80</td><td>4%</td><td>8%</td></tr><tr><td>examen</td><td>substance</td><td>23</td><td>2%</td><td>2%</td></tr></tbody></table>

L'apprentissage sera effectué dans l'ordre suivant :

1. *dose et valeur*

2. *duree et fréquence*

3. *date et moment*

4. *anatomie et mode*

5. *traitement et examen*

6. *substance*

7. *sosy et pathologie*

<footnote n="7">7. proportion ent1 = nombre ent2 imbriquée dans ent1 / nombre ent1; proportion ent2 = nombre ent2 imbriquée dans ent1 / nombre ent2</footnote>
En faisant ces regroupements, nous cherchons à apprendre ensemble des entités proches sémantiquement, morphologiquement et qui ne sont pas imbriquées ou très peu.<fnref n="8" /> Par exemple, nous avons constaté que les entités *dose* et *valeur* se présentent majoritairement sous la forme d'un nombre suivi d'une unité (exemples : *dose* "40 mg"; *valeur* "191/95 mm Hg"). En les apprenant ensemble, nous gagnons en rappel (+ 1,1 et + 1,7 respectivement pour *dose* et *valeur*) avec une légère perte de précision.<fnref n="9" /> Les entités *anatomie* et *mode* peuvent être proches sémantiquement et/ou morphologiquement et apparaître dans des contextes similaires (exemples : *mode* "entérale"; *anatomie* "abdominal"). Apprendre à les reconnaître avec le même modèle permet d'améliorer le rappel de +3 points et +0.3 points respectivement pour la reconnaissance des entités *mode* et *anatomie*. De même, l'entité *moment* tend par exemple à apparaître en début de phrase ("À son admission", "Une semaine plus tard"), tout comme l'entité *date* ("[En] 2001"). Dans ce contexte, les prépositions sont par ailleurs fréquentes. Comme évoqué précédemment, nous avons également effectué nos regroupements en considérant les entités imbriquées. Les entités *anatomie* et *mode* sont ainsi souvent imbriquées ou associées aux entités *traitement* et *examen*. C'est pourquoi deux paires ont été créées.

Cet apprentissage en cascade offre également la possibilité d'utiliser les annotations produites par le système comme traits supplémentaires pour l'annotation du niveau suivant. Par exemple le modèle numéro 5 appris pour *traitement* et *examen* utilisera les annotations en *valeur*, *dose*, *anatomie*, etc. et le modèle appris pour *sosy* et *pathologie* utilisera les annotations produites par tous les modèles précédents. Cette configuration permet par exemple d'améliorer le rappel et la précision pour la classe *pathologie* respectivement de +2,3 et +1,8. Ces traits sont décrits dans la section 3.3.1.

# 3 Système

Le premier module de notre système est un module de pré-traitement, il est présenté dans la section 3.1. Lors du pré-traitement, les annotations sont transformées selon le format BIO, format standard pour les CRF.

Des modèles sont ensuite appris pour chaque niveau d'annotation (cf. section 3.2) et appliqués au fur et à mesure aux données non annotées. Pour apprendre ces modèles, il est nécessaire de définir les traits à utiliser dans des templates, un par modèle.

Les templates sont des fichiers contenant des traits (caractéristiques d'un token, d'un segment, etc. utiles pour apprendre à reconnaître les entités) définis sous la forme de patrons, selon une syntaxe particulière. Pour un token courant donné (noté 0), il convient de détailler les informations à prendre en compte pour l'étiqueter. À partir d'un fichier en entrée au format tabulaire (un token par ligne), il est ainsi possible d'indiquer, pour ce token, combien de tokens précédents (exemple : 2) et/ou suivants (exemple : 1) considérer, ainsi que la colonne dans laquelle se trouvent les caractéristiques pertinentes (exemple : le lemme en colonne 3). Dans cette situation, les traits à définir sont les suivants :

- %x[-2,3] = deuxième token précédent, colonne 3

- %x[-1,3] = token précédent, colonne 3

- %x[0,3] = token courant, colonne 3

<footnote n="8">8. Dans le corpus d'entraînement, pour certaines entités que nous avons regroupées, il existe des cas où elles sont imbriquées. Par exemple, à 9 reprises il y a une entité *pathologie* imbriquée dans une entité *sosy*. Lorsque ces cas occurrent moins de 10 fois dans le corpus, nous les avons ignorés.</footnote>

<footnote n="9">9. Les résultats présentés dans cette section ont été obtenus en validation croisée à 10 plis, avec les traits définis dans la section 3.3.</footnote>
— %x[1,3] = token suivant, colonne 3

Ici, la fenêtre définie (c'est-à-dire le contexte pris en compte) se présente sous la forme de l'intervalle [-2,1]. Tout au long de cet article, nous utiliserons cette notation pour évoquer la taille des fenêtres choisie pour les traits utilisés. Ces derniers sont présentés dans la section 3.3.

Le dernier module permet d'effectuer la transformation des annotations au format BIO vers le format BRAT.<fnref n="10" />

## 3.1 Pré-traitement

Pour le pré-traitement des fichiers, nous avons principalement utilisé SpaCy<fnref n="11" /> (Honnibal & Montani, 2017), excepté pour le découpage en phrases car les performances du module pour le français ne nous satisfaisaient pas. En effet, il considère qu'un tiret entre deux mots indique une fin de phrase, ce qui produit un découpage non exploitable. Nous avons donc utilisé l'outil sentence-splitter développé pour le traitement du corpus Europarl <fnref n="12" />.

Le modèle français de SpaCy <fnref n="13" /> nous a permis d'effectuer la tokenisation et d'obtenir, pour chaque token, les informations suivantes :

— le token en caractères minuscules;

— le lemme du token;

— la catégorie syntaxique;

— en cohérence avec la catégorie syntaxique, les étiquettes morpho-syntaxiques détaillées telles que le genre, le nombre, le type de numérique (ordinal, cardinal), le type de pronom ou de déterminant (relatif, personnel, démonstratif, article, etc.), le temps, la personne, le mode, la voix, la polarité, etc.;

— la dépendance syntaxique;

— la forme du token (caractères alphabétiques remplacés par "x" ou "X" et chiffres remplacés par "d");

— la forme détaillée du token, c'est-à-dire s'il est composé : uniquement de caractères alphabétiques (A), uniquement de chiffres (D), de chiffres seuls ou avec ponctuation (NB ; exemple : "115/60"), uniquement de signes de ponctuation (P) ou autres (O ; exemples : "d'", "4H");

— si le token est composé de caractères alphabétiques (True) ou non (False);

— si le token est ou fait partie d'une entité nommée, le type de l'entité : personne (PER), lieu politique ou géographique (LOC), nom d'organisation gouvernementale ou autre (ORG), entités diverses telles que des produits, des événements, des nationalités, etc. (MISC);

— la position B/I/O du token au sein d'une entité nommée.

Pour chaque token, nous avons également ajouté des informations relatives à la présence ou l'absence de préfixe et/ou suffixe. Pour ce faire, nous avons utilisé une liste de préfixes et suffixes du français extraits du TLFi <fnref n="14" /> pour identifier si les tokens en étaient composés ou non. Le paramétrage est défini afin de rechercher uniquement les préfixes d'une longueur comprise entre 3 et 8 caractères et les suffixes d'une longueur comprise entre 3 et 9 caractères. Pour chaque token composé de plusieurs affixes de même type (préfixe ou suffixe), celui ayant la longueur la plus importante est conservé.

<footnote n="10">10. https://brat.nlplab.org</footnote>

<footnote n="11">11. https://spacy.io/</footnote>

<footnote n="12">12. Outil développé par Philipp Koehn and Josh Schroeder (https://github.com/berkmancenter/mediacloud-sentence-splitter).</footnote>

<footnote n="13">13. Nous avons utilisé le modèle fr_core_news_md.</footnote>

<footnote n="14">14. https://hugonlp.wordpress.com/2015/10/22/</footnote>
<figure><img src="image_33.png" /></figure>

FIGURE 1 – Illustration du fonctionnement en cascade. Le premier tableau représente les prédictions après l'application du modèle 1, le deuxième après l'application du modèle 2, et le 3ème après l'application de tous les modèles.

(exemple : "héma-" et "hémato-"). Enfin, nous avons ajouté deux informations supplémentaires indiquant, pour chaque token, ses quatre premiers et quatre derniers caractères.

## 3.2 Cascade de CRF

Pour entraîner des CRF, nous utilisons l'outil Wapiti <fnref n="15" /> (Lavergne et al., 2010), avec l'algorithme RPROP (resilient backpropagation). Nous avons conservé les paramètres par défaut.

Les prédictions sur les données non annotées sont faites au fur et à mesure de l'apprentissage des modèles. Ainsi, par exemple, pour construire le modèle du niveau 4 (mode et anatomie), nous pouvons utiliser les prédictions faites par le modèle 3 comme nouveaux traits. Dans la figure 1, nous donnons un aperçu du fonctionnement en cascade. Nous n'avons pas représenté les caractéristiques associées aux tokens, mais juste les dernières colonnes contenant les étiquettes au format BIO.

Toutes les prédictions faites pour chaque niveau sont conservées dans le fichier de sortie du système.

## 3.3 Traits

Nous décrivons dans cette section les traits utilisés pour les différents modèles appris. Ces traits correspondent aux informations obtenues lors du pré-traitement. Les combinaisons de traits et les choix des fenêtres ont été obtenus à partir d'expérimentations en validation croisée à 10 plis.

Les traits utilisés sont de quatre types <fnref n="16" /> : sémantiques, morphologiques, morpho-syntaxiques et de surface.

Descripteurs sémantiques :

- le token ;

- le type de l'entité si le token est ou fait partie d'une entité nommée ;

<footnote n="15">15. https://wapiti.limsi.fr</footnote>

<footnote n="16">16. Cette classification des descripteurs n'est pas absolue dans la mesure où certains traits, par exemple ceux liés aux préfixes et suffixes, pourraient être considérés comme des descripteurs sémantiques et morphologiques.</footnote>
— la position B/I/O du token dans une entité nommée.

Le trait relatif au token a été ajouté dans tous les templates, avec une fenêtre de [-2,2]. Les traits concernant les entités nommées sont utilisés uniquement dans le template pour *mode* et *anatomie*.

Descripteurs morphologiques :

— la présence (le cas échéant, lequel) ou l’absence d’un préfixe;

— la présence (le cas échéant, lequel) ou l’absence d’un suffixe.

Les traits concernant les préfixes et suffixes ont été utilisés dans la quasi-totalité des templates mais plus particulièrement dans celui de *mode* et *anatomie* (fenêtre élargie : [-2,2]).

Descripteurs morpho-syntaxiques (variables selon les tokens) :

— le lemme du token;

— la catégorie syntaxique;

— en cohérence avec la catégorie syntaxique, les étiquettes morpho-syntaxiques détaillées : genre, nombre, type de numéral, type de pronom ou de déterminant, article défini/indéfini, temps du verbe, forme verbale, personne, mode;

— la dépendance syntaxique.

Avec une fenêtre plus ou moins grande, certains traits ont été utilisés dans tous les templates, tels que ceux relatifs au lemme, à la catégorie syntaxique, au genre, au nombre. D'autres sont davantage spécifiques à certaines entités. Par exemple, pour les entités *dose*, *valeur*, *duree*, *frequence*, *date* et *moment*, le type de numéral pour le token courant a été pris en compte. Les traits relatifs au temps, à la forme verbale, à la personne et au mode ont principalement été utilisés pour définir le contexte précédant l'entité. En effet, ces entités tendaient à être précédées d'un verbe.

Descripteurs de surface :

— la forme du token;

— la forme détaillée du token;

— la présence de caractères alphabétiques ou non;

— les quatre premiers caractères du token;

— les quatre derniers caractères du token.

En ce qui concerne les traits liés à la forme et la composition du token, la fenêtre définie est majoritairement [-1,1] dans tous les templates.

Dans tous les templates, nous avons également ajouté un "B" (pour bigramme) qui permet de prendre en compte l'enchaînement des étiquettes choisies par le système. Cette option permet au format BIO d'être correctement appris par le système, à savoir qu'un I- ne peut pas suivre un O mais seulement un B- ou un autre I-, etc.

### 3.3.1 Traits issus de la cascade de CRF

Afin d'utiliser les annotations des niveaux précédents, nous avons défini une fenêtre de [-3,3] pour les étiquettes de chaque niveau. Pour chaque niveau, des traits relatifs à toutes les étapes précédentes ont été ajoutés, excepté pour le niveau 4 *mode* et *anatomie* qui n'utilise pas les traits relatifs aux annotations de *date* et *moment*. Par exemple le niveau 2 *duree* et *frequence* utilise les annotations en *dose* et *valeur* et le dernier niveau *sosy* et *pathologie* se sert des annotations de tous les autres niveaux. Dans l'exemple de la figure 1, le modèle 5 pourra utiliser comme trait le fait que "cardiaque" a été annoté "B-ANAT", et "103 battements/minute" a été annoté avec les étiquettes "B-VAL" et "I-VAL".
### 3.3.2 Connaissances externes : MedDRA

MedDRA©<fnref n="17" /> ou Dictionnaire Médical des Affaires Réglementaires (Brown et al., 1999) est un dictionnaire international de terminologie médicale standardisé destiné à être utilisé dans les affaires réglementaires. Il regroupe ainsi l'ensemble des termes médicaux représentant aussi bien des symp–tômes que des examens ou encore des traitements. Il constitue une base riche pour l'identification de ces termes. L'extraction des termes est réalisée à l'aide de l'outil d'étiquetage de texte fourni par le moteur de recherche SolR (Apache Software Foundation, 2006). Ce dernier utilise des n-grammes afin de calculer la similarité entre les lexèmes et une suite de termes que nous appelons lexique (Kim & Shawe-Taylor, 1994). Dans le corpus d'entraînement de DEFT, 2320 entités ont ainsi été extraites.

MedDRA a une structure hiérarchique en 5 niveaux. Le niveau le plus bas est le terme et le plus haut est une classification par discipline médicale. Cette classification est composée de 26 classes et regroupe des termes par étiologie, site de manifestation, etc. Les classes sont par exemple *Affections vasculaires*, *Affections du rein et des voies urinaires*, *Affections du système immunitaire*, etc.

Pour les modèles 4, 5, 6 et 7 (c'est-à-dire les modèles pour des entités cliniques), des traits supplé-mentaires sont utilisés pour indiquer si un token fait partie d'une entité MedDRA et pour indiquer la classe associée. Selon les modèles, la fenêtre utilisée est différente, allant de 1 (c'est-à-dire juste le token courant) à 7 (c'est-à-dire un intervalle de [-3;3]).

### 3.3.3 Combinaison de plusieurs algorithmes pour l'extraction d'entités : pipeline Ennov

Dans un effort de proposer des outils plus intelligents à destination de ses clients, l'entreprise française Ennov<fnref n="18" />, éditeur de logiciel à destination du secteur médical, travaille sur l'implémentation d'outils permettant d'intégrer et de combiner diverses approches pour l'extraction d'information. Ce projet intègre aujourd'hui l'analyse syntaxique, l'extraction d'entités nommées (basée sur des grammaires, des lexiques ou des approches statistiques) ainsi que l'enrichissement des entités par des déclencheurs. C'est un outil modulaire qui permet de définir un pipeline où chaque composant est minimal, déplaçable et interchangeable ce qui permet une grande flexibilité.

Une version du pipeline a spécifiquement été construit pour la tâche DEFT. Elle constitue un travail préliminaire et aucun des paramètres n'a été modifié pour améliorer le résultat de l'extraction. Ce dernier génère donc de l'erreur qui impacte le résultat final. Il est cependant intéressant de chercher à optimiser ce pipeline pour obtenir de meilleurs résultats. Le pipeline est construit de la façon suivante :
(1) analyse syntaxique avec SpaCy,
(2) utilisation d'un CRF classique (c'est-à-dire sans entités imbriquées),
(3) étiquetage avec le dictionnaire MedDRA,
(4) extraction de données structurées (dates, e-mails, ...)
au travers de grammaires locales,
(5) utilisation du CNN (Réseau Neuronal Convolutif) de SpaCy pour la reconnaissance d'entités et
(6) fusion des entités recouvrantes.

L'annotation produite par ce pipeline nous a permis d'ajouter les traits suivants :

1. étiquette au format BIO associée au token indiquant le type de l'entité (B-TIME, I-TIME, B-ANATOMIE, I-ANATOMIE, etc.)

2. étiquette au format BIO indiquant les entités identifiées sans leur type (B-ent, I-ent ou O)

<footnote n="17">17. La marque MedDRA© est enregistrée par l'IFPMA au nom du CIH. MedDRA© est développé par le Conseil International d'Harmonisation des exigences techniques pour l'enregistrement des médicaments à usage humain (CIH).</footnote>

<footnote n="18">18. https://fr.ennov.com</footnote>
Certains modèles (*date* et *moment*, *anatomie* et *mode*, *substance*) utilisent uniquement le trait 1 dans une fenêtre de 5, et les autres utilisent les deux traits dans des fenêtres de 5 également ([-2,2]).

# 4 Résultats

Nous avons soumis 3 runs à DEFT. Pour le premier run, nous avons utilisé le système décrit précédemment sans les descripteurs provenant de MedDRA et du pipeline Ennov. Pour le deuxième run, nous avons ajouté les descripteurs provenant de MedDRA et pour le troisième, les annotations produites par le pipeline. En résumé, les 3 runs sont :

- run 1 : cascade de CRF

- run 2 : cascade de CRF + traits MedDRA

- run 3 : cascade de CRF + traits MedDRA + traits pipeline Ennov

Dans le tableau 3, nous présentons les résultats pour toutes les catégories confondues (sous-tâches 1 et 2).

<table><caption>TABLE 3 – Résultats obtenus pour toutes les catégories (10 catégories). La meilleure F1 obtenue à la compétition est de 0,72.</caption><thead><tr><th></th><th>TP</th><th>FP</th><th>FN</th><th>Précision</th><th>Rappel</th><th>F1</th></tr></thead><tbody><tr><td>Run1</td><td>2695</td><td>937</td><td>2042</td><td>0,7420</td><td>0,5689</td><td>0,6440</td></tr><tr><td>Run2</td><td>2729</td><td>911</td><td>2008</td><td>0,7497</td><td>0,5761</td><td><strong>0,6515</strong></td></tr><tr><td>Run3</td><td>2570</td><td>1095</td><td>2167</td><td>0,7012</td><td>0,5425</td><td>0,6117</td></tr></tbody></table>

Les résultats détaillés obtenus aux deux sous-tâches sont présentés dans les tableaux 4 et 5. Nous pouvons noter que les meilleurs résultats sont obtenus avec le système utilisant la ressource externe de MedDRA. Le gain de l'utilisation de cette ressource est relativement faible, avec une amélioration de 0,75 points de F-mesure par rapport au système ne l'utilisant pas (run 1). Ce gain est cependant intéressant pour des catégories particulières comme *substance* et *traitement*, où il atteint 1,79 et 2,47 respectivement. L'utilisation des traits provenant du pipeline Ennov fait diminuer les performances du système, excepté pour les entités *mode* et *traitement*. Une analyse fine des erreurs permettrait de mieux comprendre l'impact de l'utilisation de ces traits et d'expliquer la baisse des performances.

Nous observons que les types souvent imbriqués (*anatomie*, *valeur*, etc.) sont particulièrement bien reconnus. Ceci s'explique en partie par le fait que ces entités sont composées en moyenne de 1,5 à 3 tokens, ce qui facilite leur identification. En revanche, les performances du système pour les entités *sosy* et *pathologie* formées en moyenne de respectivement 4,9 et 3,1 tokens sont plus faibles. Les résultats assez bas pour *pathologie* peuvent être expliqués également par la forte ambiguïté avec le type *sosy* et sa faible représentativité dans le corpus (369 entités contre 1831 pour *sosy*).

Notre système n'obtient pas de bons résultats pour l'extraction des dosages, nous n'avons pour le moment pas d'explication à donner à cela. En validation croisée de 10 plis sur le corpus d'entraînement, nous obtenions une F1 de 0,66 pour cette classe. Selon le guide d'annotation, les dosages sont associés à une entité *substance*. Nous n'avons pas exploité cette caractéristique puisque nous avons fait le choix de placer l'extraction de *dose* avant *substance* dans l'architecture en cascade de notre système, ce qui pourrait expliquer les faibles résultats.

La dernière observation que nous pouvons faire concerne les entités *mode*. Les résultats ne sont pas très élevés pour une classe à la variation assez faible. En effet dans le corpus d'entraînement, nous
<table><caption>TABLE 4 – Résultats obtenus à la sous-tâche 1. La meilleure F1 obtenue lors de la compétition est de 0,66. (TP = vrais positifs, FP = faux positifs, FN = faux négatifs)</caption><thead><tr><th></th><th></th><th>TP</th><th>FP</th><th>FN</th><th>Précision</th><th>Rappel</th><th>F1</th></tr></thead><tbody><tr><td rowspan="3">pathologie</td><td>run1</td><td>60</td><td>45</td><td>106</td><td>0,5714</td><td>0,3614</td><td><strong>0,4428</strong></td></tr><tr><td>run2</td><td>56</td><td>55</td><td>110</td><td>0,5045</td><td>0,3373</td><td>0,4043</td></tr><tr><td>run3</td><td>53</td><td>69</td><td>113</td><td>0,4344</td><td>0,3193</td><td>0,3681</td></tr><tr><td rowspan="3">sosy</td><td>run1</td><td>640</td><td>487</td><td>639</td><td>0,5679</td><td>0,5004</td><td>0,5320</td></tr><tr><td>run2</td><td>656</td><td>468</td><td>623</td><td>0,5836</td><td>0,5129</td><td><strong>0,5460</strong></td></tr><tr><td>run3</td><td>592</td><td>498</td><td>687</td><td>0,5431</td><td>0,4629</td><td>0,4998</td></tr><tr><td rowspan="3">Overall</td><td>run1</td><td>700</td><td>532</td><td>745</td><td>0,5682</td><td>0,4844</td><td>0,5230</td></tr><tr><td>run2</td><td>712</td><td>523</td><td>733</td><td>0,5765</td><td>0,4927</td><td><strong>0,5313</strong></td></tr><tr><td>run3</td><td>645</td><td>567</td><td>800</td><td>0,5322</td><td>0,4464</td><td>0,4855</td></tr></tbody></table>

<table><caption>TABLE 5 – Résultats obtenus à la sous-tâche 2. La meilleure F1 obtenue à la compétition est de 0,76.</caption><thead><tr><th></th><th></th><th>TP</th><th>FP</th><th>FN</th><th>Précision</th><th>Rappel</th><th>F1</th></tr></thead><tbody><tr><td rowspan="3">anatomie</td><td>run1</td><td>744</td><td>168</td><td>376</td><td>0,8158</td><td>0,6643</td><td>0,7323</td></tr><tr><td>run2</td><td>743</td><td>156</td><td>377</td><td>0,8265</td><td>0,6634</td><td><strong>0,7360</strong></td></tr><tr><td>run3</td><td>691</td><td>199</td><td>429</td><td>0,7764</td><td>0,6170</td><td>0,6876</td></tr><tr><td rowspan="3">dose</td><td>run1</td><td>13</td><td>10</td><td>39</td><td>0,5652</td><td>0,2500</td><td><strong>0,3467</strong></td></tr><tr><td>run2</td><td>13</td><td>10</td><td>39</td><td>0,5652</td><td>0,2500</td><td><strong>0,3467</strong></td></tr><tr><td>run3</td><td>13</td><td>17</td><td>39</td><td>0,4333</td><td>0,2500</td><td>0,3171</td></tr><tr><td rowspan="3">examen</td><td>run1</td><td>516</td><td>94</td><td>301</td><td>0,8459</td><td>0,6316</td><td>0,7232</td></tr><tr><td>run2</td><td>527</td><td>97</td><td>290</td><td>0,8446</td><td>0,6450</td><td><strong>0,7314</strong></td></tr><tr><td>run3</td><td>511</td><td>131</td><td>306</td><td>0,7960</td><td>0,6255</td><td>0,7005</td></tr><tr><td rowspan="3">mode</td><td>run1</td><td>34</td><td>5</td><td>55</td><td>0,8718</td><td>0,3820</td><td>0,5313</td></tr><tr><td>run2</td><td>34</td><td>3</td><td>55</td><td>0,9189</td><td>0,3820</td><td>0,5397</td></tr><tr><td>run3</td><td>40</td><td>7</td><td>49</td><td>0,8511</td><td>0,4494</td><td><strong>0,5882</strong></td></tr><tr><td rowspan="3">moment</td><td>run1</td><td>106</td><td>21</td><td>59</td><td>0,8346</td><td>0,6424</td><td><strong>0,7260</strong></td></tr><tr><td>run2</td><td>106</td><td>21</td><td>59</td><td>0,8346</td><td>0,6424</td><td><strong>0,7260</strong></td></tr><tr><td>run3</td><td>97</td><td>21</td><td>68</td><td>0,8220</td><td>0,5879</td><td>0,6855</td></tr><tr><td rowspan="3">substance</td><td>run1</td><td>154</td><td>26</td><td>159</td><td>0,8556</td><td>0,4920</td><td>0,6247</td></tr><tr><td>run2</td><td>160</td><td>25</td><td>153</td><td>0,8649</td><td>0,5112</td><td><strong>0,6426</strong></td></tr><tr><td>run3</td><td>148</td><td>49</td><td>165</td><td>0,7513</td><td>0,4728</td><td>0,5804</td></tr><tr><td rowspan="3">traitement</td><td>run1</td><td>115</td><td>45</td><td>189</td><td>0,7188</td><td>0,3783</td><td>0,4957</td></tr><tr><td>run2</td><td>121</td><td>40</td><td>183</td><td>0,7516</td><td>0,3980</td><td><strong>0,5204</strong></td></tr><tr><td>run3</td><td>128</td><td>61</td><td>176</td><td>0,6772</td><td>0,4211</td><td>0,5193</td></tr><tr><td rowspan="3">valeur</td><td>run1</td><td>313</td><td>36</td><td>119</td><td>0,8968</td><td>0,7245</td><td><strong>0,8015</strong></td></tr><tr><td>run2</td><td>313</td><td>36</td><td>119</td><td>0,8968</td><td>0,7245</td><td><strong>0,8015</strong></td></tr><tr><td>run3</td><td>297</td><td>43</td><td>135</td><td>0,8735</td><td>0,6875</td><td>0,7694</td></tr><tr><td rowspan="3">Overall</td><td>run1</td><td>1995</td><td>405</td><td>1297</td><td>0,8313</td><td>0,6060</td><td>0,7010</td></tr><tr><td>run2</td><td>2017</td><td>388</td><td>1275</td><td>0,8387</td><td>0,6127</td><td><strong>0,7081</strong></td></tr><tr><td>run3</td><td>1925</td><td>528</td><td>1367</td><td>0,7848</td><td>0,5848</td><td>0,6701</td></tr></tbody></table>
relevons 89 termes différents annotés comme *mode* : *voie orale*, *voie intraveineuse*, *perfusion*, etc. Nous pouvons imaginer dans ce cas qu'une approche symbolique aurait pu nous apporter des meilleurs résultats. De plus dans le guide d'annotation, il est indiqué « Pas d'annotation isolée en "mode" dans une phrase s'il n'y a pas également un "traitement" ou une "substance". » Cette contrainte pourrait être ajoutée dans une phase de post-traitement ou comme un trait supplémentaire.

Notre système nous permet également d'extraire les entités *date*, *duree* et *frequence* même si cela ne faisait pas partie de la tâche de DEFT. Nous présentons dans le tableau 6 les résultats obtenus pour ces 3 entités. Pour les runs 1 et 2, nous obtenons les mêmes résultats car nous n'utilisions pas de traits MedDRA pour ces entités. Nous remarquons que la F1 pour les dates est très élevée, ce qui s'explique par le peu de variation dans cette catégorie (formats des dates les plus fréquents : année, ou mois année ou jour mois année).

<table><caption>TABLE 6 – Résultats non-officiels obtenus pour les entités "date", "duree" et "frequence".</caption><thead><tr><th></th><th></th><th>TP</th><th>FP</th><th>FN</th><th>Précision</th><th>Rappel</th><th>F1</th></tr></thead><tbody><tr><td rowspan="2">date</td><td>run1 et run2</td><td>46</td><td>0</td><td>7</td><td>1,0000</td><td>0,8679</td><td>0,9293</td></tr><tr><td>run3</td><td>46</td><td>0</td><td>7</td><td>1,0000</td><td>0,8679</td><td>0,9293</td></tr><tr><td rowspan="2">duree</td><td>run1 et run2</td><td>41</td><td>4</td><td>18</td><td>0,9111</td><td>0,6949</td><td>0,7885</td></tr><tr><td>run3</td><td>45</td><td>7</td><td>14</td><td>0,8654</td><td>0,7627</td><td>0,8108</td></tr><tr><td rowspan="2">frequence</td><td>run1 et run2</td><td>12</td><td>4</td><td>16</td><td>0,7500</td><td>0,4286</td><td>0,5455</td></tr><tr><td>run3</td><td>11</td><td>3</td><td>17</td><td>0,7857</td><td>0,3929</td><td>0,5238</td></tr></tbody></table>

# 5 Conclusion

Nous avons présenté dans cet article notre participation à la tâche 3 de la campagne d'évaluation DEFT 2020. Cette tâche s'intéressait à l'extraction d'information fine dans le domaine médical. Nous avons proposé un modèle basé sur une cascade de CRF, qui nous a permis de gérer l'extraction d'entités imbriquées. Nous avons obtenu des résultats supérieurs à la moyenne et à la médiane de DEFT. Nous avons déjà des pistes pour l'amélioration de notre système.

Ainsi, comme évoqué précédemment, la prise en compte de la présence ou de l'absence d'une entité *substance* dans un contexte donné pourrait être ajoutée comme trait pour améliorer l'identification des entités *dose*. De plus, pour ces entités, l'utilisation d'une liste d'unités de mesure, de pression, etc. pourrait également être bénéfique. De même, en ce qui concerne l'amélioration des résultats pour les entités *mode*, nous pourrions ajouter des informations lors du pré-traitement afin d'indiquer, par exemple, la présence ou l'absence d'entités *traitement* et/ou *substance* dans la même phrase. Quant aux entités *date* et *moment*, qui apparaissent fréquemment en début de phrase ou en apposition, un trait relatif à la position du token dans la phrase pourrait être défini. Par ailleurs, nous pouvons constater que les performances de notre système sont meilleures en termes de précision qu'en termes de rappel. Nous pensons que cela est en partie dû au fait que les traits définis sont trop nombreux et/ou spécifiques à certains contextes. Afin d'améliorer les résultats de rappel et de F-mesure, nous envisageons de réduire le nombre de traits et de les généraliser davantage. Bien que les résultats de précision risquent d'être moins bons, cela permettra d'équilibrer l'ensemble des résultats.

La prochaine étape de ce travail dans le cadre du groupe de travail DOING sera de travailler sur l'extraction de relations entre des entités cliniques.
Références

ALEX B., HADDOW B. & GROVER C. (2007). Recognising nested named entities in biomedical text. In *Biological, translational, and clinical language processing*, p. 65–72, Prague, Czech Republic : Association for Computational Linguistics.

APACHE SOFTWARE FOUNDATION (2006). Apache SolR ©.

BROWN E. G., WOOD L. & WOOD S. (1999). The Medical Dictionary for Regulatory Activities (MedDRA). *Drug Safety*, **20**(2), 109–117. DOI: 10/czv6mb.

CAMPOS D., MATOS S. & OLIVEIRA J. L. (2012). Biomedical named entity recognition : A survey of machine-learning tools. In S. SAKURAI, Éd., *Theory and Applications for Advanced Text Mining*, chapitre 8. Rijeka : IntechOpen. DOI: 10.5772/51066.

CARDON R., GRABAR N., GROUIN C. & HAMON T. (2020). Présentation de la campagne d’évaluation deft 2020 : similarité textuelle en domaine ouvert et extraction d’information précise dans des cas cliniques. In *Actes de DEFT*.

FINKEL J. R. & MANNING C. D. (2009). Nested named entity recognition. In *Proceedings of the 2009 Conference on Empirical Methods in Natural Language Processing*, p. 141–150, Singapore : Association for Computational Linguistics.

HONNIBAL M. & MONTANI I. (2017). spacy 2 : Natural language understanding with bloom embeddings, convolutional neural networks and incremental parsing. *To appear*, **7**(1).

JURAFSKY D. & MARTIN J. H. (2009). *Speech and language processing : an introduction to natural language processing, computational linguistics, and speech recognition*. Upper Saddle River, N.J. : Pearson Prentice Hall.

KIM J. Y. & SHAWE-TAYLOR J. (1994). Fast string matching using an n-gram algorithm. *Software : Practice and Experience*, **24**(1), 79–88.

LAFFERTY J. (2001). Conditional random fields : Probabilistic models for segmenting and labeling sequence data. p. 282–289 : Morgan Kaufmann.

LAVERGNE T., CAPPÉ O. & YVON F. (2010). Practical very large scale CRFs. In *Proceedings the 48th Annual Meeting of the Association for Computational Linguistics (ACL)*, p. 504–513 : Association for Computational Linguistics.

TJONG KIM SANG E. F. (2002). Introduction to the CoNLL-2002 shared task : Language-independent named entity recognition. In *Proceedings of the 6th Conference on Natural Language Learning - Volume 20*, COLING-02, p. 1–4, Stroudsburg, PA, USA : Association for Computational Linguistics. DOI: 10.3115/1118853.1118877.

TJONG KIM SANG E. F. & DE MEULDER F. (2003). Introduction to the CoNLL-2003 shared task : Language-independent named entity recognition. In *Proceedings of the Seventh Conference on Natural Language Learning at HLT-NAACL 2003*, p. 142–147.

YADAV V. & BETHARD S. (2018). A survey on recent advances in named entity recognition from deep learning models. In *Proceedings of the 27th International Conference on Computational Linguistics*, p. 2145–2158, Santa Fe, New Mexico, USA : Association for Computational Linguistics.
# Extraction d'information de spécialité avec un système commercial générique

Clothilde Royan¹,², Jean-Marc Langé², Zied Abidi²

(1) Université de Paris 6, Master Ingéniérie des Systèmes Intelligents

(2) IBM France, 17 Avenue de l'Europe, 92275 Bois-Colombes
clothilde.Royan@ibm.com, jmlange@fr.ibm.com,
zied.abidi@fr.ibm.com

## RÉSUMÉ

Nous avons participé à la tâche 3 du Défi Fouille de texte 2020, dédiée à l'extraction d'information de spécialité, dans le but de tester notre produit commercial d'extraction d'information, Watson Knowledge Studio (WKS), face à des équipes académiques et industrielles.

Outre la quantité réduite de données d'apprentissage, la nature des annotations des corpus de référence posait des problèmes d'adaptation à notre produit. Aussi avons-nous dû modifier le schéma d'annotation du corpus d'apprentissage, exécuter l'apprentissage, puis appliquer des règles aux résultats obtenus afin d'obtenir des annotations conformes au schéma initial.

Nous avons également appliqué des dictionnaires de spécialité (anatomie, pathologie, etc.) pour injecter de la connaissance du domaine et renforcer les modèles d'apprentissage automatique.

Au final, nos résultats lors de la phase de test se situent dans la moyenne de l'ensemble des équipes, avec des F-mesures de 0,43 pour la sous-tâche 1 et 0,63 pour la sous-tâche 2.

## ABSTRACT

### Extracting Medical Information with an Off-the-shelf Software Product

We participated in the DEFT 2020 challenge, task 3, to benchmark our software product IBM Watson Knowledge Studio against academic and industry teams, in a demanding information extraction task based on clinical reports.

The data and annotation scheme was challenging for our software, so we change the original DEFT annotation scheme in order to simplify it to avoid embedded annotations and lengthy annotation spans. We apply rules to recombine the results from the ML model into annotations conformant with the original scheme.

We also use medical dictionaries to boost the ML models.

Our final results are very close to the mean values of all participating teams: F1=0,43 on subtask 1, F1=0,63 on subtask 2.

<figure><img src="image_34.png" /></figure>
MOTS-CLÉS : extraction d'information, données cliniques, Watson Knowledge Studio

KEYWORDS : information extraction, clinical data, Watson Knowledge Studio

# 1 Introduction

La gamme IBM Watson propose un ensemble de services prêts à l'emploi pour différentes applications de traitement du langage ou de l'image basées sur l'intelligence artificielle : extraction d'information textuelle générale ou spécialisée, recherche sémantique, reconnaissance et synthèse vocale, reconnaissance d'image. Le Défi Fouille de texte 2020 (Cardon et al., 2020), et en particulier la tâche 3, était une bonne occasion de tester notre produit commercial d'extraction d'information, Watson Knowledge Studio (WKS), dans une compétition transparente entre des équipes académiques et industrielles.

# 2 Description des données

Les données d'entraînement pour la tâche 3 sont un ensemble de 100 cas cliniques ; pour chaque cas, on dispose d'un document contenant le texte (.txt), et d'un document au format Brat (.ann) contenant les annotations identifiées dans ce texte.

Les documents sont de longueur variable, entre 76 et 1407 mots (moyenne 361), avec une majorité de documents relativement courts (autour de 300 mots). Les textes sont spécialisés dans le domaine médical (comme prévu), et plus particulièrement en urologie, avec un vocabulaire très spécialisé.

Les données d'annotation concernent différents types d'information pour les besoins de la tâche 3 : **signe ou symptôme** (abrégé **sosy**) et **pathologie** pour la sous-tâche 1, **anatomie, dose, examen, mode, moment, substance, traitement, valeur** pour la sous-tâche 2. Dans la suite de ce document, nous mentionnerons ces catégories en majuscules (e.g. PATHOLOGIE). Dans le corpus d'entraînement, les catégories sont diversement représentées, entre 1831 instances de SOSY et 243 instances de MODE.

Les annotations de la sous-tâche 1, catégories SOSY et PATHOLOGIE, sont réputées constituer des « portions assez vastes » (DEFT 2020, 2020), qu'en est-il exactement ? La Figure 3 montre que les SOSY comprennent un nombre significatif d'instances de plus de 5 mots. Cela aura son importance lors du choix de la méthodologie à appliquer, au regard des bonnes pratiques recommandées dans l'utilisation de l'outillage Watson Knowledge Studio.
<figure><img src="image_35.png" /><figcaption>Figure 1 : portée (en mots) des annotations SOSY et PATHOLOGIE</figcaption></figure>

Nous avons analysé un certain nombre d'instances de SOSY, notamment les instances de longue portée. La question qui se posait était alors : comment fait-on pour détecter une annotation d'une portée de plusieurs dizaines de mots ? Il semble facile de repérer où elles commencent, mais détecter où elles s'arrêtent l'est beaucoup moins. Le guide d'annotation (DEFT 2020b) conseille à ce sujet : *Les frontières de ces portions doivent être envisagées sous l'angle d'une seule idée par portion annotée, même si plusieurs informations peuvent venir compléter cette idée.*

# 3 Méthode

## 3.1 Aperçu Général

Nous présentons dans cette section l'outillage d'apprentissage et la méthode et l'outillage utilisés pour les deux sous-tâches ; nous aborderons les spécificités des sous-tâches dans les sections suivantes.

### 3.1.1 Watson Knowledge Studio

L'outil privilégié pour les tâches d'extraction d'information dans le portefeuille IBM d'IA est Watson Knowledge Studio (WKS). Nous avons choisi de participer à la campagne DEFT 2020 avec pour objectif de mesurer la performance de ce système et de le comparer à la « concurrence » sur une tâche *a priori* ardue.

WKS fait partie de la gamme IBM Watson, qui propose un ensemble de services d'IA disponibles dans le cloud. La philosophie de ces services est de fournir une IA prête à l'emploi : un service immédiatement utilisable, libérant les utilisateurs des préoccupations de choix d'algorithme, réglage des paramètres, etc. À la différence de la plupart des services Watson, disponibles sous forme d'interface de programmation (API), WKS propose quant à lui, dans une interface Web unique, de gérer le processus complet de fabrication de modèles d'extraction de connaissances à base d'apprentissage automatique :

- création du modèle de données,

- collecte des documents,

- gestion des corpus d'apprentissage/test

- préannotation automatique et annotation humaine du corpus,
- gestion des équipes d'annotateurs et de l'accord inter-annotateurs,

- préannotation automatique du corpus (avec modèles existants, dictionnaires ou règles)

- création du modèle d'apprentissage

- gestion des tests avec tableaux de bord des résultats

- versionnage des modèles d'apprentissage

- déploiement des modèles d'apprentissage

Le modèle de données (*type system*) est un modèle classique d'entités et relations. WKS permet également de gérer les *coréférences*, liens permettant de lier les mentions d'une même entité, comme pour la reprise anaphorique par des pronoms.

Il est possible -optionnellement- de renforcer l'apprentissage des modèles au moyen de dictionnaires qui contribuent à l'apprentissage sans pour autant oblitérer l'influence des autres attributs calculés à partir du contexte textuel. WKS propose en outre un **moteur de règles** permettant, dans une interface visuelle, de concevoir des modèles d'extraction de connaissances s'appuyant sur des dictionnaires et des règles.

D'un point de vue technique, le module d'apprentissage de WKS s'appuie sur un moteur de classification de séquences basé sur l'entropie maximale, descendant du système décrit dans (Radu et al., 2004).

### 3.1.2 WKS, adapté au Défi ?

Le fait de proposer une démarche de bout en bout, depuis l'annotation humaine jusqu'au déploiement des modèles, impose un certain nombre de contraintes qui justifient la nécessité d'adapter notre démarche en regard des spécificités des données proposées dans DEFT 2020.

En effet, WKS prescrit en partie son modèle d'annotation ; ainsi la documentation du produit (IBM, 2019) préconise les bonnes pratiques suivantes pour l'annotation d'entités :

- annoter des passages plutôt **courts** (de préférence sur 1 ou 2 mots)

- éviter absolument les **imbrications** d'entités. Il est préconisé, pour ce faire, d'utiliser des relations entre deux entités pour former des instances de concepts d'une portée plus étendue.

Nous savions dès le départ, avec la définition de la tâche 3 donnée en page principale du Défi 2020, que nous allions devoir nous adapter pour résoudre cette tâche.

### 3.1.3 Evolution de la démarche

#### 3.1.3.1 Démarche, premier temps : utilisation du corpus d'apprentissage non modifié

Pour produire une ligne de base, nous avons dans un premier temps écrit un script de conversion du corpus d'apprentissage au format BRAT vers le format d'ingestion de WKS. Les phases classiques de tokenisation et segmentation en phrases sont effectuées
automatiquement par WKS lors de l'ingestion. La segmentation en phrases n'a posé que quelques rares problèmes, où des expressions chiffrées contenant un point sont coupées. Du fait de la rareté de ce phénomène, nous n'avons pas cherché à le rectifier.

Les figures 4 et 5 montrent un extrait du corpus d'apprentissage au format Brat et au format WKS :

<figure><img src="image_36.png" /><figcaption>Figure 2 : extrait du corpus affiché dans BRAT</figcaption></figure>

<figure><img src="image_37.png" /><figcaption>Figure 3 : extrait du corpus affiché dans WKS</figcaption></figure>

Une fois le corpus disponible en format WKS, nous avons produit un premier modèle WKS, que nous avons testé sur une portion du corpus d'entraînement non vue durant l'entraînement.

Les résultats de tests avec cette approche « corpus brut » sont très faibles. Voici par exemple le résultat du modèle entraîné sur la totalité (100 documents) du corpus d'entraînement et testé sur le corpus de test DEFT 2020 :

<table><thead><tr><th></th><th>Précision</th><th>Rappel</th><th>F1</th></tr></thead><tbody><tr><td>pathologie</td><td>0.03</td><td>0.31</td><td>0.05</td></tr><tr><td>sosy</td><td>0.03</td><td>0.29</td><td>0.06</td></tr><tr><td>anatomie</td><td>0.39</td><td>0.12</td><td>0.18</td></tr><tr><td>dose</td><td>0.19</td><td>0.33</td><td>0.24</td></tr><tr><td>examen</td><td>0.13</td><td>0.63</td><td>0.22</td></tr><tr><td>mode</td><td>0.00</td><td>0.00</td><td>0.00</td></tr></tbody></table>
<table><caption>Figure 4 : résultats du modèle "brut"</caption><tr><td>moment</td><td>0.25</td><td>0.56</td><td>0.35</td></tr><tr><td>substance</td><td>0.12</td><td>0.42</td><td>0.18</td></tr><tr><td>traitement</td><td>0.07</td><td>0.47</td><td>0.11</td></tr><tr><td>valeur</td><td>0.10</td><td>0.53</td><td>0.17</td></tr></table>

Pour tenter d'expliquer ce résultat, comparons un passage annoté du corpus de test avec la prédiction du modèle sur ce même passage :

<figure><img src="image_38.png" /><figcaption>Figure 5 : Annotations du corpus de référence (interface Watson Knowledge Studio)</figcaption></figure>

<figure><img src="image_39.png" /><figcaption>Figure 6 : Annotations prédites par le modèle "brut" (interface Watson Knowledge Studio)</figcaption></figure>

Le problème est très clair : lorsque des annotations sont imbriquées (empilées dans la figure 7 ci-dessus), le modèle WKS ne prédit que la catégorie englobante (tous les SOSY sauf le premier), ou bien la ou les catégories englobées (e.g. *pénis* comme ANATOMIE dans la première phrase). De plus, les annotations longues semblent systématiquement oblitérer les annotations englobées, alors que dans le cas des annotations courtes, ce sont les englobées qui survivent. Or il y a beaucoup plus d'annotations courtes que longues dans le corpus, même pour les SOSY ; voilà qui explique les mauvais scores. Les bonnes pratiques de la documentation de WKS semblent pertinentes.

Nous avons donc dû adapter notre méthode aux contraintes posées par WKS, à savoir non-imbrication et courte portée des annotations. Nous avons donc défini un nouveau processus de traitement avec trois grandes étapes :

* **réannotation** du corpus dans WKS pour dégager des annotations plus courtes (entités au sens WKS), et en remplaçant les imbrications par des relations : cette étape a été en partie automatisée pour certaines imbrications, mais l'essentiel du travail reposait sur des annotateurs humains dans l'interface de WKS ;

* **création d'un modèle** basé sur ces réannotations ;
* **recombinaison** des entités et relations prédites par ce modèle, afin de retrouver des annotations conformes au corpus d'apprentissage DEFT 2020, notamment pour obtenir toute la portée des annotations longues telles que SOSY et PATHOLOGIE ; pour ce faire, nous avons conçu des règles de recombinaison.

Nous détaillons ces différentes étapes dans la section suivante.

### 3.1.3.2 Démarche, deuxième temps : réannotation du corpus et recomposition

Pour mettre en œuvre la réannotation du corpus, il nous faut au préalable examiner la structure des imbrications d'annotation pour dégager le jeu d'entités et relations, et les pratiques d'annotation qui permettent de restituer au mieux, in fine, les annotations originelles.

#### Etude des annotations longues/imbriquées

Pour étudier les patrons d'imbrication d'annotations, en particulier des annotations longues, afin de dégager le schéma d'annotation alternatif à utiliser dans WKS, nous avons procédé comme suit :

1. récupération de toutes les annotations imbriquées ;

2. suppression des mots-outils ;

3. extraction des mots de tête des annotations « coiffantes » ;

4. remplacement des passages de texte par la catégorie d'annotation ;

5. stockage du vocabulaire des passages de texte restant hors des annotations et remplacement par une marque « MOT ».

Une fois identifiés ces patrons, nous pouvons les visualiser avec des couleurs affectées à certaines entités. En parallèle, nous avons extrait le vocabulaire des passages annotés et des passages inter-annotations avec les fréquences des mots.

Cela nous a permis d'identifier les patrons les plus saillants de combinaisons d'annotation. À titre d'exemple, voici un exemple de visualisation des motifs de SOSY, ainsi qu'un extrait du vocabulaire utilisé dans ANATOMIE :

<table><caption>Figure 7: Patrons de SOSY et vocabulaire d'ANATOMIE</caption><tr><td><span style="color:blue;">examen</span></td><td>MOT</td><td><span style="color:blue;">valeur</span></td><td>(77)</td></tr><tr><td><span style="color:blue;">examen</span></td><td><span style="color:blue;">valeur</span></td><td>(56)</td></tr><tr><td><span style="color:green;">anatomie</span></td><td>MOT</td><td>(17)</td></tr><tr><td><span style="color:blue;">examen</span></td><td>:</td><td><span style="color:blue;">valeur</span></td><td>(10)</td></tr></table><table><tr><td>gauche</td><td>(31)</td><td>supérieure</td><td>(6)</td></tr><tr><td>droit</td><td>(18)</td><td>inférieur</td><td>(4)</td></tr><tr><td>droite</td><td>(17)</td><td>supérieur</td><td>(4)</td></tr><tr><td>rein</td><td>(13)</td><td>vessie</td><td>(4)</td></tr><tr><td>inférieure</td><td>(6)</td><td>col</td><td>(4)</td></tr></table>

Cela nous indique clairement le genre de de réannotation que nous devons mener à bien, et les règles de recomposition à appliquer pour obtenir l'annotation finale. Cela nous suggère aussi l'opportunité de créer une nouvelle catégorie, POSITION, (gauche, droit, inférieur, supérieur...) pour mieux annoter les ANATOMIE.

#### Réannotation
Suite à l'étude des patrons d'imbrication, nous avons conclu à la nécessité d'étendre le jeu de catégories DEFT 2020 en y ajoutant :

- deux catégories :

- POSITION pour rendre compte que les ANATOMIE sont fréquemment composées d'un concept d'anatomie proprement dit et de précisions de localisation : « **raphé antérieur** », « **extrémité proximale** du **moignon urétéral gauche** »

- CARACTERE pour rendre compte de différentes précisions affectées aux têtes de SOSY et autres : **obésité importante, rétention vésicale complète**

- des relations entre ces catégories, afin de couvrir des portées de texte se rapprochant de l'annotation originale :

<table><caption>Figure 8 : Schéma d'annotation modifié</caption><thead><tr><td>Relation</td><td>Entité source</td><td>Entité cible</td></tr></thead><tbody><tr><td>A_LIEU</td><td>SOSY, PATHOLOGIE, EXAMEN, TRAITEMENT</td><td>ANATOMIE</td></tr><tr><td>A_POSITION</td><td>ANATOMIE et autres</td><td>POSITION</td></tr><tr><td>A_VALEUR</td><td>EXAMEN, SUBSTANCE</td><td>VALEUR</td></tr><tr><td>PORTE SUR</td><td>TRAITEMENT, SOSY, autres</td><td>PATHOLOGIE, SUBSTANCE, ...</td></tr><tr><td>A_CAPACTÈRE</td><td>SOSY, PATHOLOGIE, EXAMEN, TRAITEMENT</td><td>CARACTÈRE</td></tr><tr><td>A_PRECISIONS</td><td>EXAMEN, TRAITEMENT</td><td>EXAMEN, TRAITEMENT</td></tr><tr><td>A_TEMPORALITE</td><td>SOSY, PATHOLOGIE, EXAMEN, TRAITEMENT</td><td>MOMENT</td></tr></tbody></table>

Nous avons ensuite procédé à modifier le corpus en appliquant ce nouveau schéma d'annotations, sans imbrication d'entités, et en visant des annotations les moins longues possibles grâce au nouveau modèle d'entités-relations. Le travail a été partagé par deux annotateurs humains, sans contrôle inter-annotateurs par manque de temps. La figure suivante montre un extrait d'un document réannoté :

<figure><img src="image_40.png" /><figcaption>Figure 9 : Exemple de réannotation</figcaption></figure>

## Règles de recombinaison des entités-relations

Une fois le corpus d'entraînement réannoté, nous pouvons produire des modèles, mais les résultats de ces modèles utilisent notre schéma d'annotations modifié. Il nous faut donc recombiner, au moyen de règles, les entités et relations obtenues, afin de retrouver
des annotations conformes au corpus d'apprentissage Golden DEFT 2020, notamment
pour obtenir toute la portée des annotations longues telles que SOSY et PATHOLOGIE.

Après application du modèle WKS sur le corpus de test, nous convertissons le résultat
au format BRAT (.ann), puis nous appliquons les règles comme suit :

1. Reconstruction des annotations le long des relations A CáRACTERE et A_POSITION : les entités CARACTERE et POSITION constituent une brique de base dans plusieurs annotations, notamment SOSY, et il faut donc les réincorporer aux annotations de tête, auxquelles elles sont liées par les relations.

2. Reconstruction des autres relations (sauf EXAMEN <A_VALEUR> VALEUR qui fait l'objet d'une règle particulière, cf plus bas): les différentes relations qui lient les entités annotées permettent de reconstituer les annotations longues. Une fois les deux entités trouvées, nous fusionnons la mention en prenant les bornes les plus larges puis actualisons l'entité correspondant à la tête de l'annotation avec les nouvelles valeurs, avant de supprimer l'entité correspondant à la fin de l'annotation.

3. Pour les relations de type « EXAMEN <A_VALEUR> VALEUR », ce type de relation doit être annoté systématiquement comme SOSY, tout en conservant les entités EXAMEN et VALEUR dans les annotations. Nous lions d'abord des entités voisines (1 avant et 1 après) puis explorons un contexte jusqu'à 20 entités avant et 20 après l'entité qui nous intéresse. Finalement, nous cherchons des ponctuations (point, virgule, saut de ligne) qui invaliderait la qualité d'annotation.

4. Reconstruction « FREQUENCE – X – FREQUENCE » : la visualisation des patrons de combinaison d'annotations (cf supra) nous a appris que le patron « FREQUENCE – X – FREQUENCE » revenait souvent (par ex. « 4 épisodes de vomissement par jour »). Dans le corpus d'entraînement, cette combinaison forme une seule annotation FREQUENCE. Pour reconstruire l'annotation canonique, nous cherchons les entités FREQUENCE puis dans leur voisinage (à 2 entités près) une autre entité FREQUENCE. Nous vérifions que la portée résultant de la fusion ne comporte pas de ponctuation ou de saut de ligne qui invaliderait le patron.

5. Reconstruction de la juxtaposition des SOSY : pour reconstruire des SOSY longs qui seraient une juxtaposition de SOSY plus courts (par exemple : *une masse tumorale, de 6 cm de diamètre avec une forme ...*), nous vérifions si la position de début d'une annotation est distante de moins de *n* caractères de la valeur de fin d'une autre annotation. Si tel est le cas, nous fusionnons les annotations en prenant les bornes les plus larges puis actualisons ces valeurs dans l'entité correspondant à la tête de l'annotation.

6. Vérification des imbrications (éviter SOSY dupliqués) : Nous avons remarqué que certaines annotations étaient présentes deux fois, une fois en tant que « petite » annotation et une autre fois au sein d'une « grande » annotation. Nous vérifions toutes les annotations pour éviter cette incohérence.

7. Nettoyage des entités CARACTERE et POSITION sans relation : nous supprimons ces entités si elles sont orphelines.
# Résultats de l'approche « réannotation »

La version la plus aboutie du système de règles de recomposition nous permet d'atteindre les scores suivants (ces scores sont les valeurs finales pour la tâche et tiennent compte de l'amélioration du modèle WKS avec l'apport de dictionnaires que nous verrons plus loin) :

<table><caption>Figure 10 : Évaluation après application des règles de recomposition</caption><thead><tr><th></th><th>Précision</th><th>Rappel</th><th>F1</th></tr></thead><tbody><tr><td><strong>3.1</strong></td><td></td><td></td><td></td></tr><tr><td>pathologie</td><td>0.35</td><td>0.42</td><td>0.38</td></tr><tr><td>sosy</td><td>0.47</td><td>0.42</td><td>0.44</td></tr><tr><td>Overall</td><td><strong>0.45</strong></td><td><strong>0.42</strong></td><td><strong>0.43</strong></td></tr><tr><td><strong>3.2</strong></td><td></td><td></td><td></td></tr><tr><td>anatomie</td><td>0.75</td><td>0.59</td><td>0.66</td></tr><tr><td>dose</td><td>0.23</td><td>0.12</td><td>0.15</td></tr><tr><td>examen</td><td>0.66</td><td>0.64</td><td>0.65</td></tr><tr><td>mode</td><td>0.72</td><td>0.49</td><td>0.59</td></tr><tr><td>moment</td><td>0.72</td><td>0.46</td><td>0.56</td></tr><tr><td>substance</td><td>0.60</td><td>0.53</td><td>0.56</td></tr><tr><td>traitement</td><td>0.52</td><td>0.38</td><td>0.44</td></tr><tr><td>valeur</td><td>0.83</td><td>0.69</td><td>0.75</td></tr><tr><td>Overall</td><td><strong>0.70</strong></td><td><strong>0.57</strong></td><td><strong>0.63</strong></td></tr></tbody></table>

Cette approche permet donc d'améliorer nettement les résultats par rapport à l'approche « corpus brut », mais elle reste à l'évidence limitée par les erreurs dans la détection des « petites » annotations et par les imperfections du jeu de règles. Nous n'avons pas eu suffisamment de ressources pour explorer plus avant les règles de recombinaison. En revanche, nous avons cherché à améliorer la détection des « petites » entités grâce à l'apport des dictionnaires, ce que nous verrons dans la section suivante.

## 3.2 Travail spécifique sur la sous-tâche 1

### 3.2.1 Apport des dictionnaires

WKS offrant la possibilité d'augmenter les attributs du modèle d'apprentissage au moyen de dictionnaires. Lors de l'import d'un dictionnaire, on précise l'entité à laquelle il contribue : en effet, WKS prend en compte les dictionnaires comme un attribut de plus dans la modélisation du contexte d'une entité, sans leur donner la priorité.

Nous avons utilisé des dictionnaires pour « fortifier » les annotations SOSY et PATHOLOGIE, ainsi que celles qui sont souvent imbriquées dans ces dernières, telles qu'ANATOMIE, POSITION (*supérieur, antérieur, basal, apical...*), ou EXAMEN. Ces dictionnaires sont constitués par conversion de ressources terminologiques fournis par les classifications médicales internationales telles que SNOMED ou CIM10, ou récupérés de façon ad hoc sur certains sites Web ou Wikipedia.

Le travail de collecte, nettoyage et enrichissement des dictionnaires (collecte, triage, lemmatisation, génération des formes alternatives, vérification de non-recouvrement
entre deux dictionnaires) est une tâche très chronophage et nous n'avons pas pu constituer des dictionnaires très complets et très propres dans le temps imparti, mais ils contribuent néanmoins à améliorer les résultats. À titre d'exemple, la figure ci-dessous indique l'apport (en différence de précision, rappel et F-mesure par rapport à un modèle calculé sans dictionnaire, appliqué au corpus de test), d'un dictionnaire de symptômes lié aux SOSY (à gauche), et d'anatomie, lié à ANATOMIE, à droite :

<figure><img src="image_41.png" /><figcaption>Figure 11 : Apport d'un dictionnaire de symptômes d'un dictionnaire d'anatomie</figcaption></figure>

Ces visualisations permettent de jauger l'impact du dictionnaire, minime avec le dictionnaire de symptômes, qui contient des termes de 1 ou 2 mots, alors que les annotations SOSY couvrent typiquement plusieurs mots, voire dizaines de mots. Le dictionnaire d'anatomie a un impact non seulement sur l'entité à laquelle il est lié, mais il affecte également -en mieux ou en pire- les scores d'autres entités. Nos différents tests montrent que l'on peut gagner 3 points de F-mesure avec des dictionnaires rapidement préparés.

## 3.3 Travail spécifique sur la sous-tâche 2

Nous n'avons consacré que peu de ressources à cette deuxième sous-tâche, mais avons décidé de concourir car nous pouvions produire des résultats par simple apprentissage. Nous avons cependant amélioré, par un travail sur les règles ou par ajout de dictionnaires, les catégories qui contribuent aux SOSY comme EXAMEN, VALEUR, ou ANATOMIE.

# 4 Résultats et discussion

Au final, nos résultats (F-mesure 0,43 pour la sous-tâche 3.1 et de 0,64 pour la sous-tâche 3.2) sont très proches de la moyenne de l'ensemble des équipes. Cela valide en partie notre approche, qui a consisté à compenser les contraintes liées à notre logiciel en réannotant le corpus d'entraînement avec un schéma d'annotation modifié, puis en appliquant des règles pour recombiner les annotations obtenues afin de reconstituer les annotations d'origine. Le cas d'école est la séparation de ANATOMIE en deux entités (anatomie, position) et une relation entre les deux, qui permet à l'apprentissage automatique, en ciblant mieux ses clients, d'obtenir de meilleurs résultats. Ce principe de réannotation est parfois utilisé -de façon peut-être moins appuyée-, dans nos projets
clients avec WKS, où le travail selon des méthodes agiles induit fréquemment des
ajustements du schéma d'annotation pour prendre en compte de nouveaux motifs textuels
qui émergent au cours du projet.

Nous avons également amélioré les résultats en utilisant des dictionnaires de domaine.

Nous voyons plusieurs axes d'amélioration:

- Plus de données d'entraînement : notre expérience avec WKS nous indique que l'apport de données supplémentaires permettrait d'atteindre des résultats bien meilleurs pour la sous-tâche 3.2 et partiellement pour la 3.1.

- Automatisation de la réannotation : nous avons réalisé par programmation les réannotations simples, il est parfaitement envisageable de le faire de façon extensive.

- Utilisation d'un vrai moteur de règles : nos règles sont codées, mais cela est difficilement maintenable. WKS dispose d'un moteur de règles qui permettra bientôt d'appliquer les règles sur des informations extraites par le modèle d'apprentissage.

- Analyse syntaxique : extraire des annotations longues reste une tâche ardue, et il faut chercher une autre approche pour la résoudre. Une plus grande familiarité avec le corpus nous indique que les segments longs de SOSY et PATHOLOGIE suivent pour la plupart des motifs grammaticaux classiques : liens de complémentation, subordination et coordination. Les exemples abondent, comme par exemple :

kyste rénal / avec une paroi épaisse / se rehaussant / après injection / de produit de contraste.

Cela suggère l'utilisation d'un analyseur grammatical de dépendance (basé sur des règles ou sur l'apprentissage automatique) pour dérouler la pelote à partir de la tête de l'annotation jusqu'au terme de celle-ci.

Références

CARDON R., GRABAR N., GROUIN C. & HAMON T. (2020). Présentation de la campagne d'évaluation DEFT 2020 : similarité textuelle en domaine ouvert et extraction d'information précise dans des cas cliniques. In: Actes de DEFT

DEFT. (2020a). Défi fouille de texte 2020. https://deft.limsi.fr/2020/

DEFT. (2020b). DEFT 2020: Guide d'annotation. https://deft.limsi.fr/2020/guide-deft.html

FLORIAN R., HASSAN H., ITTYCHERIAH A., JING H., KAMBHATLA N., LUO X., NICOLOV N. & ROUKOS S. (2004). A Statistical Model for Multilingual Entity Detection and Tracking. In *Proceedings of HLT-NAACL 2004*: Boston, Mass., USA

IBM Corp. (2019). Watson Knowledge Studio User's Guide.
https://cloud.ibm.com/docs/watson-knowledge-studio?topic=watson-knowledge-studio-user-guide
# DEFT 2020 : détection de similarité entre phrases et extraction d'information

Mike Tapi Nzali¹

(1) Reezocar, 20 Rue d'issy 92100 Boulogne-Billancourt, France
mike@reezocar.com

## RÉSUMÉ

Ce papier décrit la participation de Reezocar à la campagne d'évaluation DEFT 2020. Cette seizième édition du challenge a porté sur le calcul de similarité entre phrases et l'extraction d'information fine autour d'une douzaine de catégories dans des textes rédigés en Français. Le challenge propose trois tâches : (i) la première concerne l'identification du degré de similarité entre paires de phrases ; (ii) la deuxième concerne l'identification des phrases parallèles possibles pour une phrase source et (iii) la troisième concerne l'extraction d'information. Nous avons utilisé des méthodes d'apprentissage automatique pour effectuer ces tâches et avons obtenu des résultats satisfaisants sur l'ensemble des tâches.

## ABSTRACT

### DEFT 2020 : sentence similarity detection and information retrieval

This paper describes Reezocar's participation in the DEFT 2020 evaluation campaign. This sixteenth edition of the challenge focused on the calculation of similarity between sentences and the extraction of fine information around a dozen categories in texts written in French. The challenge proposes three tasks : (i) the first concerns the identification of the degree of similarity between pairs of sentences; (ii) the second concerns the identification of possible parallel sentences for a source sentence; and (iii) the third concerns the extraction of information. We used machine learning methods to perform these tasks and obtained satisfactory results on all tasks.

**MOTS-CLÉS** : détection de similarité sémantique, extraction d'information, apprentissage automatique.

**KEYWORDS:** semantic similarity detection, information extraction, machine learning.

## 1 Introduction

L'édition 2020 du DÉfi Fouille de Textes (DEFT) porte sur l'exploration des cas cliniques rédigés en langue française (Cardon et al., 2020). Le challenge de cette édition a pour nature l'extraction d'information fine autour d'une douzaine de catégorie, mais aussi la détection de similarité sémantique entre phrases. Le défi repose sur deux corpus. Le premier corpus CAS est constitué de cas cliniques, de plusieurs pays francophones, concernant diverses spécialités médicales (cardiologie, urologie, oncologie, obstétrique, pulmonaire, gasto-entérologie, etc.) (Grabar et al., 2018). Le deuxième corpus est issu du projet CLEAR, il contient des textes issus de trois sources différentes (articles

<figure><img src="image_42.png" /></figure>
d'encyclopédie, notices de médicaments, et résumés Cochrane) (Grabar & Cardon, 2018). Chaque
source met à disposition des versions techniques et simplifiées sur un sujet donné en français.

Dans cet article, nous présentons les méthodes utilisées lors de l'édition 2020 du DEFT. Nous avons participé aux 3 tâches proposées. La première tâche consiste à identifier le degré de similarité entre paires de phrases parallèles et non-parallèles. Cette tâche a pour objectif de déterminer le niveau de similarité entre paires de phrases sur une échelle de 0 à 5. La deuxième tâche consiste à identifier les phrases parallèles possibles pour une phrase source, son objectif étant, pour une phrase source donnée et plusieurs phrases cibles fournies, d'identifier parmi les phrases cibles celle qui est parallèle. Ces deux tâches s'effectuent sur le corpus issu du projet CLEAR. La troisième tâche est une tâche d'extraction d'information, son objectif étant de repérer dans les cas cliniques les informations fines telles que les *pathologies*, les *signes* ou les *symptômes cliniques*. . . Cette tâche s'effectue sur le corpus CAS.

Le reste de l'article sera organisé comme suit. La section 2 décrit l'approche utilisée et présente les résultats obtenues sur les tâches 1 et 2. La section 2 décrit l'approche utilisée et présente les résultats obtenues sur la tâche 3. Enfin, la section 4 conclut ce travail.

2 Méthodes pour les tâches 1 et 2

2.1 Approches

Les tâches 1 et 2 sont respectivement des tâches de similarité entre deux phrases et d'appariements
entre une phrase source et plusieurs phrases cibles. Les méthodes proposées ici sont basées sur les
vecteurs de poids tf-idf des mots du corpus et sur les vecteurs de poids des mots selon leur contexte.
Le principe général de la méthode est de créer un ensemble de descripteurs. Ces derniers, sont les
paramètres du modèle d'apprentissage. Nous avons créé plusieurs descripteurs statistiques à partir
des phrases du corpus.

**Vecteur de poids tf-idf.** Pour chaque phrase du corpus, nous créons son vecteur tf-idf. Ensuite, nous calculons les distances entre les vecteurs des phrases pour créer nos descripteurs. Ici, les distances utilisées sont les suivantes : la *similarité cosinus*, la *distance de Manhattan*, la *distance euclidienne* et la *distance de Jaccard*. À l'issue de cette étape, nous avons donc 4 descripteurs : $cosine_{tfidf}$, $manhattan_{tfidf}$, $euclidienne_{tfidf}$, $jaccard_{tfidf}$.

**Vecteur de poids selon le contexte.** Nous avons aussi utilisé la méthode de transformeurs proposée dans (Reimers & Gurevych, 2019) pour transformer chaque phrase en vecteur de poids suivant le contexte des mots dans les phrases. Pour ce faire, nous avons utilisé BERT (Devlin et al., 2018) et Roberta (Liu et al., 2019). Ensuite, nous avons utilisé les mêmes distances présentées précédemment pour créer des descripteurs supplémentaires. À l'issue de cette étape, nous avons obtenus les 4 descripteurs suivants : $cosine_{transformer}$, $manhattan_{transformer}$, $euclidienne_{transformer}$, $jaccard_{transformer}$

**Descripteurs supplémentaires.** À ces 8 descripteurs, nous avons ajouté les descripteurs suivants : la longueur de chaque phrase, la différence de longueur entre les phrases et le rapport de longueurs entre les deux phrases. Nous prenons ensuite les descripteurs obtenues, et les utilisons afin d'entraîner nos modèles. Ainsi, nous allons prédire *la valeur de similarité* pour la tâche 1 et *la cible* pour la tâche 2 avec nos descripteurs.
**Choix des classifieurs.** Comme méthode d'apprentissage, nous avons utilisé XGBoost (eXtreme Gradient Boosting) (Chen & Guestrin, 2016). Il s'agit d'une implémentation open source optimisée de l'algorithme d'arbres de boosting de gradient qui utilise des approximations plus précises pour trouver le meilleur modèle d'arbre. Il utilise un certain nombre d'astuces qui lui confèrent un succès exceptionnel, en particulier avec des données structurées.

## 2.2 Résultats et discussions

Pour évaluer nos modèles, nous avons utilisé l'EDRM (Exactitude en Distance Relative à la solution Moyenne) (Grouin et al., 2013) pour la tâche 1 et la MAP (Mean Average Precision) pour la tâche 2. Par rapport à d'autres participants, nous sommes au-dessus des moyennes et des médianes.

Sur la tâche 1, nous obtenons le meilleur score avec le run 2, son score EDRM de 81% (voir table 1). La médiane de l'EDRM de l'ensemble des systèmes soumis est de 79,5%. Cependant, le meilleur système du défi sur cette tâche a obtenu une valeur de 82,2%.

Sur la tâche 2, notre meilleur score est obtenu par le run 1 (voir table 2) avec une MAP de 98.7%, la médiane de la MAP de l'ensemble des systèmes soumis est de 98,68%. Cependant, le meilleur système du défi sur cette tâche a obtenu une valeur de 99,06%.

<table><caption>TABLE 1 – Résultats des différents *runs* soumis au défi pour la tâche 1</caption><thead><tr><th rowspan="2"></th><th colspan="3">Tâche 1</th></tr><tr><th>EDRM</th><th>Spearman Correlation</th><th>p-value</th></tr></thead><tbody><tr><td>Run 1</td><td>0.792</td><td>0.706</td><td>4.15e-63</td></tr><tr><td>Run 2</td><td><strong>0.810</strong></td><td><strong>0.735</strong></td><td><strong>6.60e-71</strong></td></tr><tr><td>Run 3</td><td>0.802</td><td>0.708</td><td>1.28e-63</td></tr></tbody></table>

<table><caption>TABLE 2 – Résultats des différents *runs* soumis au défi pour la tâche 2</caption><thead><tr><th></th><th>Tâche 2</th></tr><tr><th></th><th>MAP</th></tr></thead><tbody><tr><td>Run 1</td><td><strong>0.987</strong></td></tr><tr><td>Run 2</td><td>0.981</td></tr><tr><td>Run 3</td><td>0.985</td></tr></tbody></table>

On remarque que sur la 2ème tâche, les résultats des différents *runs* 2 sont assez proches, cela s'explique par le fait que la différence entre les runs se situe au niveau du paramétrage des modèles.
# 3 Tâches 3

## 3.1 Approches

Pour effectuer cette tâche, nous avons utilisé les champs aléatoires conditionnels (CRF (Lafferty et al., 2001)). Il s'agit de l'une des approches les plus efficaces pour l'étiquetage supervisé de séquences. Ils ont été appliqués avec succès pour des tâches telles que l'étiquetage morphosyntaxique (Lafferty et al., 2001), l'extraction d'entités nommées (McCallum & Li, 2003).

Les CRF sont des modèles probabilistes graphiques non dirigés, conçus pour définir une distribution de probabilités conditionnelles sur des séquences d'étiquettes, étant donnée des séquences observées. Cette nature conditionnelle démarque les CRF des modèles qui nécessitent une hypothèse d'indépendance des variables, tels que les modèles de Markov cachés (HMM) (Blunsom, 2004). En pratique, une qualité des modèles CRF est leur robustesse sur des ensembles de données de petite taille. Nous avons appliqué plusieurs pré-traitements comme effectué dans (Tapi Nzali et al., 2015). Nous avons créé un modèle CRF pour cette tâche et avons extrait plusieurs traits d'ordre morphologique, syntaxique et sémantique pour l'apprentissage. Les différentes descripteurs construits sont les suivantes : Capitalisation du token, Longueur du token, Présence d'un chiffre dans le token, Présence de ponctuation dans le token.

## 3.2 Résultats et discussions

Nous présentons les résultats obtenus dans les tables 3 et 4. Nous remarquons que, sur certaines entités nommées, nous obtenons de bon résultats comparés à d'autres. C'est le cas de *dose* et *traitement* pour lesquelles le modèle est moins performant.

<table><caption>TABLE 3 – Résultats du run 3 soumis au défi pour la tâche 3.1</caption><thead><tr><th></th><th>TP</th><th>FP</th><th>FN</th><th>Precision</th><th>Recall</th><th>F1</th></tr></thead><tbody><tr><td>pathologie</td><td>73</td><td>79</td><td>93</td><td>0,4803</td><td>0,4398</td><td>0,4591</td></tr><tr><td>sosy</td><td>500</td><td>418</td><td>779</td><td>0,5447</td><td>0,3909</td><td>0,4552</td></tr><tr><td>Overall</td><td>573</td><td>497</td><td>872</td><td>0,5355</td><td>0,3965</td><td>0,4557</td></tr></tbody></table>

<table><caption>TABLE 4 – Résultats du run 3 soumis au défi pour la tâche 3.2</caption><thead><tr><th></th><th>TP</th><th>FP</th><th>FN</th><th>Precision</th><th>Recall</th><th>F1</th></tr></thead><tbody><tr><td>anatomie</td><td>684</td><td>214</td><td>436</td><td>0,7617</td><td>0,6107</td><td>0,6779</td></tr><tr><td>dose</td><td>10</td><td>15</td><td>42</td><td>0,4000</td><td>0,1923</td><td>0,2597</td></tr><tr><td>examen</td><td>342</td><td>301</td><td>475</td><td>0,5319</td><td>0,4186</td><td>0,4685</td></tr><tr><td>mode</td><td>42</td><td>11</td><td>47</td><td>0,7925</td><td>0,4719</td><td>0,5915</td></tr><tr><td>moment</td><td>93</td><td>36</td><td>72</td><td>0,7209</td><td>0,5636</td><td>0,6327</td></tr><tr><td>substance</td><td>172</td><td>93</td><td>141</td><td>0,6491</td><td>0,5495</td><td>0,5952</td></tr><tr><td>traitement</td><td>99</td><td>105</td><td>205</td><td>0,4853</td><td>0,3257</td><td>0,3898</td></tr><tr><td>valeur</td><td>302</td><td>53</td><td>130</td><td>0,8507</td><td>0,6991</td><td>0,7675</td></tr><tr><td>Overall</td><td>1744</td><td>828</td><td>1548</td><td>0,6781</td><td>0,5298</td><td>0,5948</td></tr></tbody></table>
Sur la tâche 3, nous avons fourni 3 *runs* et ne présentons ici que celui avec lequel nous avons le
meilleur résultat.

4 Conclusion

Nous avons participé aux 3 tâches proposées dans ce DÉfi Fouille de Textes (DEFT2020). Glo-
balement, nos résultats sont assez satisfaisants, car nous sommes tout proches des meilleurs du
challenge. Nous ne sommes malheureusement pas parvenus à tester des approches supplémentaires
et performantes sur la tâche 3 du défi DEFT 2020 par manque de temps. Nos résultats proviennent
d'approches classiques et conduisent à des résultats sans surprise. Pour améliorer les résultats de la
tâche 3, Il aurait été intéressant de combiner les approches LSTM (Long Short-Term Memory ) et les
CRF (Huang et al., 2015).

Références

BLUNSOM P. (2004). Hidden markov models. *Lecture notes, August, 15*(18-19), 48.

CARDON R., GRABAR N., GROUIN C. & HAMON T. (2020). Présentation de la campagne d'évaluation deft 2020 : similarité textuelle en domaine ouvert et extraction d'information précise dans des cas cliniques. In *Actes DEFT*.

CHEN T. & GUESTRIN C. (2016). Xgboost : A scalable tree boosting system. In *Proceedings of the 22nd acm sigkdd international conference on knowledge discovery and data mining*, p. 785–794.

DEVLIN J., CHANG M.-W., LEE K. & TOUTANOVA K. (2018). Bert : Pre-training of deep bidirectional transformers for language understanding. *arXiv preprint arXiv :1810.04805*.

GRABAR N. & CARDON R. (2018). Clear-simple corpus for medical french.

GRABAR N., CLAVEAU V. & DALLOUX C. (2018). Cas : French corpus with clinical cases. In *Proceedings of the Ninth International Workshop on Health Text Mining and Information Analysis*, p. 122–128.

GROUIN C., ZWEIGENBAUM P. & PAROUBEK P. (2013). Deft2013 se met à table : présentation du défi et résultats. *Actes du neuvième DÉfi Fouille de Textes*, p. 2.

HUANG Z., XU W. & YU K. (2015). Bidirectional lstm-crf models for sequence tagging. *arXiv preprint arXiv :1508.01991*.

LAFFERTY J., MCCALLUM A. & PEREIRA F. C. (2001). Conditional random fields : Probabilistic models for segmenting and labeling sequence data.

LIU Y., OTT M., GOYAL N., DU J., JOSHI M., CHEN D., LEVY O., LEWIS M., ZETTLEMOYER L. & STOYANOV V. (2019). Roberta : A robustly optimized bert pretraining approach. *arXiv preprint arXiv :1907.11692*.

MCCALLUM A. & LI W. (2003). Early results for named entity recognition with conditional random fields, feature induction and web-enhanced lexicons. In *Proceedings of the seventh conference on Natural language learning at HLT-NAACL 2003-Volume 4*, p. 188–191 : Association for Computational Linguistics.
REIMERS N. & GUREVYCH I. (2019). Sentence-bert: Sentence embeddings using siamese bert-networks. In *Proceedings of the 2019 Conference on Empirical Methods in Natural Language Processing* : Association for Computational Linguistics.

TAPI NZALI M. D., TANNIER X. & NÉVÉOL A. (2015). Automatic extraction of time expressions across domains in french narratives.
# Similarité sémantique entre phrases : apprentissage par transfert interlingue

Charles Teissèdre Thiziri Belkacem Maxime Arens

Synapse Développement, 7 Boulevard de la Gare – 31500 Toulouse

`{thiziri.belkacem, maxime.arens, charles.teissedre}@synapse-fr.com`

## RÉSUMÉ

Dans cet article, nous décrivons une approche exploratoire pour entraîner des modèles de langue et résoudre des tâches d'appariement entre phrases issues de corpus en français et relevant du domaine médical. Nous montrons que, dans un contexte où les données d'entraînement sont en nombre restreint, il peut être intéressant d'opérer un apprentissage par transfert, d'une langue dont nous disposons de plus de ressources pour l'entraînement, vers une langue cible moins dotée de données d'entraînement (le français dans notre cas). Les résultats de nos expérimentations montrent que les modèles de langue multilingues sont capables de transférer des représentations d'une langue à l'autre de façon efficace pour résoudre des tâches de similarité sémantique telles que celles proposées dans le cadre de l'édition 2020 du Défi fouille de texte (DEFT).

## ABSTRACT

Semantic Sentence Similarity : Multilingual Transfer Learning

In this paper, we describe an exploratory approach to train language models and solve sentence-matching tasks from French corpora in the medical field. We show that, in a context where training data are limited, it may be interesting to transfer learning from a language with more training resources to a target language with less training data (French in our case). The results of our experiments show that multilingual language models are able to transfer representations from one language to another efficiently to solve semantic similarity, tasks such as those proposed in the 2020 edition of the Text Mining Challenge (DEFT).

MOTS-CLÉS : Similarité Sémantique Textuelle, Modèles Neuronaux Multilingues, Apprentissage par transfert Interlingue.

KEYWORDS: Semantic Textual Similarity, Multilingual Neural Models, Cross-lingual Transfer Learning.

# 1 Introduction et motivation

Mesurer la similarité entre des textes est une tâche importante dans plusieurs applications du traitement des langues et de la recherche d'information (Baziz et al., 2005; Manning et al., 2010; Guo et al., 2016; Kusner et al., 2015). Dans cet article, nous présentons des travaux expérimentaux comparant différents modèles de calcul de similarité entre phrases, pour résoudre deux tâches proposées dans le cadre de l'édition 2020 du Défi fouille de textes, DEFT 2020¹ (Cardon et al., 2020). La première

<figure><img src="image_43.png" /></figure>

<footnote n="1">1. https://deft.limsi.fr/2020/</footnote>
tâche consiste à mesurer la similarité entre des paires de phrases sur une échelle allant de 0 à 5. Elle renvoie à une tâche d'appariement désormais classique proposée dans les campagnes SemEval de 2012 à 2017. La seconde tâche consiste à sélectionner une phrase cible similaire à une phrase source dans un ensemble de phrases candidates. Les corpus d'entraînement fournis pour ces deux tâches d'appariement entre phrases relèvent du domaine médical.

Les difficultés principales de ces deux tâches consiste dans le fait que l'on souhaite manipuler des représentations de phrases et que l'on dispose de données de faible volumétrie pour l'entraînement, en particulier pour la tâche 1 (le corpus d'entraînement contient 600 paires de phrases uniquement).

L'équipe de Synapse souhaitait à travers ce défi tester la capacité des modèles de langue multilingues, ré-entraînés avec peu de données dans une langue cible, à résoudre des problèmes d'appariement entre phrases, un problème central dans les systèmes de Question-Réponse et de recherche d'information couvrant plusieurs langues, dans un contexte où l'on dispose de peu voire même d'aucune donnée d'entraînement. L'enjeu sur un plan industriel est en effet de favoriser le développement d'applications multilingues, sans qu'il soit nécessaire de disposer à l'initialisation des systèmes, de ressources ou de données dans chacune des langues à traiter. Pour compenser le manque de données d'entraînement en français, nous avons ainsi utilisé un jeu de données de plus grande volumétrie en anglais provenant du benchmark STS<fnref n="2" /> (STSBenchmark). Dans nos expérimentations, nous avons testé différents modèles de langue multilingues spécialisés pour générer des représentations de phrases. Nous montrons que ces modèles entraînés à partir des ressources disponibles en anglais sont en mesure de transférer des représentations latentes d'une langue à l'autre, et ainsi d'apprendre à résoudre la tâche en français. Afin d'en évaluer l'intérêt, nous comparons les résultats de cette approche à ceux d'approches concurrentes, obtenus par des méthodes d'apprentissage supervisées et des modèles d'apprentissage monolingues.

# 2 Les corpus et les modèles testés

## 2.1 Les corpus d'entraînement

Les corpus d'entraînement fournis pour les tâches 1 et 2 proviennent du projet CLEAR (Grabar & Cardon, 2018) et comprennent<fnref n="3" /> des articles d'encyclopédie, des notices de médicaments et des résumés Cochrane, dont le contenu présente de grandes similarités d'un sous corpus à l'autre, ce qui permet de constituer des paires de phrases parallèles. Il s'agit ainsi de corpus relevant du domaine médical. Les annotations de référence ont été normalisées par consensus, après une double annotation indépendante.

La tâche 1 correspond à une transposition, sur des données en français, de la tâche de Similarité Sémantique Textuelle (Semantic Textual Similarity) telle que définie dans les campagnes SemEval (2012-2017)<fnref n="4" />. Étant donnés des couples de phrases, la tâche 1 invite les systèmes participants à retourner un score de similarité sur une échelle de valeurs graduées de 0 (phrases sémantiquement indépendantes) à 5 (phrases équivalentes). L'évaluation des différents systèmes mesure l'écart entre la valeur fournie et la valeur de référence. La figure 1 présente un extrait du corpus fourni pour la tâche 1. Le corpus d'entraînement associé à cette tâche contient 600 paires de phrases.

<footnote n="2">2. https://ixa2.si.ehu.es/stswiki/index.php/STSbenchmark</footnote>

<footnote n="3">3. https://deft.limsi.fr/2020/</footnote>

<footnote n="4">4. http://alt.qcri.org/semeval2017/task1/</footnote>
<figure><img src="image_44.png" /><figcaption>FIGURE 1 – Exemple de données du corpus de la tâche 1.</figcaption></figure>

<figure><img src="image_45.png" /><figcaption>FIGURE 2 – Exemple de données du corpus de la tâche 2.</figcaption></figure>

La tâche 2 consiste à identifier les phrases parallèles d'une phrase source parmi un ensemble de
phrases cibles. Un extrait du corpus associé à cette tâche est présenté dans la figure 2. Dans l'exemple
illustré, la phrase cible numéro 2 est une phrase parallèle à la phrase source. Le corpus d'entraînement
associé à cette tâche contient un peu plus de 1700 ensembles de phrases, chaque ensemble comprenant
une phrase source et trois phrases cibles.

## 2.2 Les modèles testés

Dans cette section, nous décrivons brièvement les différents modèles utilisés pour résoudre les tâches auxquelles nous participions, ainsi que les motivations qui nous ont conduits à tester ces différents modèles. Pour les deux tâches, nous avons utilisé des méthodes d'apprentissage supervisé devant servir de modèles de référence (baseline), puis testé différents modèles de langue multilingues.
### 2.2.1 Des approches supervisées comme modèles de référence

Pour la tâche 1, le modèle supervisé utilisé comme méthode de référence est un modèle de similarité proposé par (Guo et al., 2016), basé sur la pertinence (Deep Relevance Matching Model for ad-hoc retrieval ou DRMM). Les auteurs montrent que les méthodes d'apprentissage profond conçues pour l'appariement sémantique ne seraient pas bien adaptées à la recherche ad-hoc. Cette dernière concerne essentiellement l'appariement par pertinence plutôt que l'appariement sémantique. Basé sur cette différence, le modèle DRMM calcule les interactions mot-mot entre les séquences d'entrée représentées dans l'espace distribué (embedding), où chaque mot est représenté par un vecteur. DRMM utilise une similarité cosinus et calcule une matrice *M* qui est ensuite transformée en histogrammes<fnref n="5" /> d'interaction qui sont calculés en utilisant les valeurs de similarité entre tout les termes des séquences de texte en entrées.

Les modèles supervisés qui nous ont servis de modèles de référence pour la tâche 2 proviennent de précédentes expériences sur un corpus maison en français contenant des paires de questions parallèles. Ces modèles présentent de bons résultats sur ce corpus permettant de capter efficacement la similarité sémantique entre des questions, un problème très similaire à celui de la tâche 2, pour laquelle il faut retrouver une phrase parallèle à la phrase source dans un ensemble de phrases cibles. Pour entraîner ces modèles d'apprentissage supervisé, nous avons utilisé un ensemble de caractéristiques (features) liées aux différentes séquences d'entrée. Ces caractéristiques sont ensuite combinées dans un modèle de classification entraîné en utilisant un algorithme de descente de gradient (SGD) (Bottou, 2010) et la méthode de gradient boost (XGB) (Chen & Guestrin, 2016).

### 2.2.2 Modèles de langue multilingues

Les modèles de langue testés sur la tâche 1 sont des dérivés du modèle BERT (Bidirectional Encoder Representations from Transformers) (Devlin et al., 2018), dont une des principales innovations techniques est l'application aux modèles de langue d'un entraînement bidirectionnel des tranformateurs (Dehghani et al., 2018), modèles neuronaux basés sur le mécanisme d'attention. L'entraînement bidirectionnel de BERT exploite le contexte de gauche à droite et de droite à gauche. Les résultats de BERT sur un grand nombre de tâches classiques du TAL montrent qu'un modèle de langue entraîné de manière bidirectionnelle peut avoir une perception plus profonde du contexte et du flux linguistique, comparé notamment aux modèles de langue basés sur un contexte unidirectionnel (Radford et al., 2018).

BERT multilingue (M-BERT) est le pendant multilingue de BERT (Devlin et al., 2018) pré-entraîné à partir de corpus monolingues dans 104 langues différentes. Dans leurs expérimentations, (Pires et al., 2019) ont montré que M-BERT est efficace dans les applications d'apprentissage par transfert appliquées aux traitements des langues. Ce modèle est notamment performant dans des applications multilingues dites zéro-shot (zero-shot transfer), où seules les représentations spécifiques à une langue sont utilisées pour affiner le modèle dans une autre langue. Pré-entraîné sur de grands corpus de textes non annotés et facilement disponibles, le modèle BERT est affiné pour des tâches spécifiques sur de plus petites quantités de données qualifiées, en s'appuyant sur la structure du modèle induit pour faciliter la généralisation au-delà des données d'entraînement. Dans (Pires et al., 2019), les

<footnote n="5">5. Cette méthode sert à traduire des vecteurs de différentes dimensions dont les valeurs sont dans l'intervalle [-1; 1] à un ensemble de vecteurs de même dimensions et dont les valeurs sont des entiers, en se basant sur une taille prédéfinie des intervalles de valeurs.</footnote>
auteurs montrent que le transfert inter-linguistique opère d'autant mieux lorsqu'il y a un important chevauchement lexical entre les langues et qu'elles sont typologiquement proches, par exemple, entre des langues de type sujet-verbe-objet (SVO) telles que l'anglais et le français, l'espagnol ou le bulgare.

Dérivé de M-BERT et de Sentence-BERT (Reimers & Gurevych, 2019), le modèle Sentence Multi-
lingual BERT<sup>6</sup> (Sentence M-BERT) que nous avons testé (101 langues) est un encoder de phrases
initialisé avec M-BERT et affiné sur le corpus anglais MultiNLI (Conneau et al., 2018) et sur le
corpus de développement multilingue XNLI (Williams et al., 2018). Les représentations de phrases
sont des moyennes de vecteurs correspondant aux différents symboles (tokens) des phrases d'entrée.

Multilingual Universal Sentence Encoder<sup>7</sup> (MUSE) (Chidambaram et al., 2018) est un modèle
de représentation de phrases basé sur la traduction pour traiter plusieurs langues différentes. La
traduction est effectuée sur la base d'une tâche de tri, de sorte que les réponses codées obtiennent
des représentations très similaires à celles des questions correspondantes à l'aide d'une fonction
de produit. MUSE utilise une seule couche d'encodage et est entraîné dans un cadre multi-tâches,
où des couches supplémentaires spécifiques à la tâche en cours de traitement sont utilisées en plus
de l'encodeur unique. Dans leur travail (Chidambaram et al., 2018), les auteurs ont proposé en
fonction des usages plusieurs modèles multilingues qui couvrent 16 langues (dont l'anglais, le
français, l'espagnol et l'allemand) dans un unique espace sémantique. Ces modèles obtiennent des
performances compétitives avec l'état de l'art sur différentes tâches de traitement automatique des
langues (classification de textes, regroupement de textes, recherche de similarités sémantiques).

Nous avons exploités ces différents modèles multilingues dans nos expérimentations, parce qu'ils
paraissaient adaptés aux tâches 1 et 2, où il s'agit de mesurer la similarité entre des couples de phrases
et sachant que nous souhaitions opérer un apprentissage par transfert de langue.

3 Expérimentations et résultats

Dans cette section, nous décrivons la démarche expérimentale que nous avons suivie pour résoudre
les tâches d'appariement entre phrases, ainsi que les résultats de l'évaluation des différents modèles
testés.

## 3.1 Tâche 1 : Similarité sémantique entre phrases

Conformément à la méthodologie d'évaluation proposée dans SemEval (Cer et al., 2017), nous avons évalués et comparés les modèles testés lors de nos expérimentations au moyen de la mesure de Pearson, qui permet d'établir une corrélation entre les valeurs de similarité correctes (de référence) et celles obtenues de façon automatique par les différents modèles entraînés.

La difficulté principale de la tâche 1 est que les données d'entraînement sont peu nombreuses : le jeu de données fourni par les organisateurs comprend 600 couples de phrases pour 6 classes différentes, de 0 à 5. Les prédictions obtenues à partir du modèle de langue française CamemBERT (Martin et al., 2020) sur les données fournies pour DEFT 2020 ont montré des résultats intéressants (0.77 sur le corpus de développement sans exploiter les données d'entraînement), mais nous souhaitions pouvoir exploiter

<footnote n="6">6. http://files.deeppavlov.ai/deeppavlov_data/bert/sentence_multi_cased_L-12_H-768_A-12.tar.gz</footnote>

<footnote n="7">7. https://tfhub.dev/google/universal-sentence-encoder-multilingual/3</footnote>
<table><thead><tr><th colspan="3">Synthèse des résultats - Tâche 1</th></tr><tr><th>Modèle</th><th>Corpus Dev</th><th>Corpus Test</th></tr></thead><tbody><tr><td>DRMM</td><td>0.55</td><td>-</td></tr><tr><td>MUSE</td><td>0.77</td><td>0.73</td></tr><tr><td>M-BERT + STS</td><td>0.82</td><td>0.74</td></tr><tr><td>Sentence M-BERT + STS</td><td>0.83</td><td>0.76</td></tr></tbody></table>

TABLE 1 – Performances, en termes de corrélation de Pearson, calculée pour les différents modèles concernant les prédictions pour la tâche 1, avec et sans entraînement sur les données STS.

des jeux de données plus volumineux, bien que n'étant pas disponibles en français, en particulier le corpus associé au STSBenchmark. D'où l'idée d'exploiter des modèles de langue multilingues et de les affiner avec ce jeu de données, leur permettant ainsi de générer des représentations de phrases et d'évaluer ensuite leurs performances sur des données en français.

Comme le montrent (Reimers & Gurevych, 2019), les modèles BERT (Devlin et al., 2018) / RoBERTa (Liu et al., 2019) / XLM-RoBERTa (Conneau et al., 2019) ne produisent pas par défaut des représentations de phrases efficaces. Une bonne approche pour résoudre une tâche de similarité sémantique de textes consiste ainsi à affiner ces modèles pré-entraînés sur des jeux de données leur permettant d'améliorer leurs représentations de phrases. Le corpus anglais NLI (Natural Language Inference) (Bowman et al., 2015) et son pendant multilingue MultiNLI (Williams et al., 2018) peuvent être utilisés à cette fin. Ils comprennent des couples de phrases classés selon le type de relation qu'elles entretiennent (neutre, contradiction, inférence). Pour améliorer les modèles de langue, les paires de phrases sont passées à un transformeur qui génère des vecteurs de représentation de taille fixe. Ces représentations de phrases sont alors transmises à un classifieur qui prédit le label décrivant leur relation. Ceci permet de générer des représentations qui peuvent alors servir à d'autres tâches, en particulier, pour ce qui nous retient, une tâche mesurant la similarité sémantique entre des phrases. Le modèle Sentence Multilingual BERT (Sentence M-BERT) est un modèle ré-entraîné avec les corpus NLI. Le corpus STS (Cer et al., 2017) peut être également utilisé dans cette optique, ce qui fait ici pleinement sens, puisque la tâche 1 est une transposition directe de la tâche de SemEval à laquelle le corpus STS est associé. Nous avons ainsi testé des modèles dérivés de BERT avec et sans ré-entraînement avec le corpus STS.

Le tableau 1 montre la synthèse des résultats obtenus par plusieurs des modèles que nous avons testés pour résoudre la tâche 1. STS fait référence à l'utilisation du corpus du STSBenchmark comme données d'entraînement pour affiner les modèles. Un sous ensemble des données du corpus DEFT 2020 associés à la tâche 1 (504 couples de phrases) sont utilisés lors de cette phase de ré-entraînement comme données d'évaluation pour guider le fine-tuning. Le corpus de développement qui a servi à l'évaluation des systèmes (Corpus Dev) comprenait 96 phrases, soit 16 de chaque classe.

Il est à noter que les résultats obtenus sur le corpus de développement issus du corpus d'entraînement ont été calculés à partir de mesures de similarité continues (nombres réels), alors que les résultats sur le corpus de test, à la demande des organisateurs, ont été calculés après discrétisation des mesures (entiers naturels).

Le modèle MUSE pour Universal Sentence Encoder Multilingue (Yang et al., 2019), sans même être entraîné avec les données de DEFT ni avec celles du STSBenchmark (les données d'entraînement de DEFT n'ont été utilisées que pour l'évaluation) obtient des résultats légèrement inférieurs aux encoders de type BERT affinés pour générer des embeddings de phrases. Ce modèle est donc un
excellent candidat pour des approches multilingues dites zero-shot.

Les modèles qui présentent les meilleurs résultats sont ceux entraînés avec les données du STSBenchmark, ce qui dans un même mouvement les spécialise sur la tâche 1 et leur permet de générer des embeddings de phrases plus riches.

## 3.2 Tâche 2 : Sélection de phrases parallèles

Pour nos expérimentations, nous avons décomposé la tâche 2 en trois phases : (1) une tâche consistant à mesurer la similarité des phrases cibles avec la phrase source (2) une tâche d'ordonnancement selon la mesure de similarité et (3) une tâche de sélection de la phrase présentant la meilleure similarité.

Pour résoudre cette tâche, nous avons testés différents approches supervisées ainsi qu'une approche entièrement non supervisée, sans ré-entraînement.

Les approches supervisées testées sont deux modèles de classification, le modèle SGD (Bottou, 2010) et le modèle XGB (Chen & Guestrin, 2016). Ils ont été entraînés à partir de l'extraction de différentes caractéristiques des séquences d'entrée.

Les différentes features utilisées sont les suivantes :

- *Features Simples* : elles tiennent compte de la taille des phrases ramenée en nombre de caractères, en nombres de mots, en nombres de mots en commun, ainsi que de la fréquence d'apparition de ces phrases dans la collection.

- *Features Avancées* : elles renvoient à différents ratios qui tiennent compte de la similarité du début et de la fin des phrases, de la taille des phrases à comparer, de la taille de leur partie commune ainsi que des ratios de mots-clés en commun entre les deux phrases.

- *Word Embeddings* sont les représentations distribuées (plongement lexicaux) des mots. Nous avons utilisé le modèle word mover's distance (Kusner et al., 2015) afin de calculer la distance entre les deux phrases en entrée et également calculer différentes distances entre les moyennes de vecteurs de mots de chaque phrase : Cosinus, City Block (Manhattan), Canberra, Euclidienne et Minkowski.

Nous avons combiné deux types de features, simples et avancées ainsi que les représentations distribuées des mots (word embeddings). Nous avons comparé les résultats de ces modèles au modèle MUSE (Chidamaram et al., 2018), un modèle multilingue de représentation universelle des phrases, utilisé pour le calcul des représentations des différentes phrases à l'entrée d'un classificateur. Le tableau 2 montre une synthèse des résultats obtenus par les différents modèles testés sur cette tâche, après ordonnancement des phrases cibles par similarité et extraction de la phrase présentant le plus de similarité avec la phrase source.

Il est à noter qu'à l'issue de la première phase où l'on établit une mesure de similarité entre phrases cibles et phrases source, il est possible de calculer la capacité des modèles à opérer une classification binaire (phrases équivalentes vs phrases indépendantes). Le tableau 3 présente les résultats obtenus par les différents modèles sur cette tâche de classification. Ceci permettrait de traiter les cas où plusieurs phrases cibles seraient parallèles à la phrase source et les cas où aucune d'entre elles ne le seraient, alors que ces informations sont perdues avec la méthode de sélection du meilleur candidat. Le corpus d'entraînement ne semblait toutefois pas contenir de cas de ce type, bien si l'énoncé de la tâche 2 semblait prévoir ces cas.
<table><caption>TABLE 2 – Comparaison des modèles sur la tâche 2</caption><caption>Synthèse des résultats - Tâche 2</caption><thead><tr><th>Méthode</th><th>Modèle</th><th>P@1</th></tr></thead><tbody><tr><td>Features simples + TF-IDF</td><td>SGD_Clf1</td><td>0.975</td></tr><tr><td>Embeddings + Features avancées</td><td>SGD_Clf2</td><td>0.975</td></tr><tr><td>Embeddings + Features avancées</td><td>XGB_Clf1</td><td>0.975</td></tr><tr><td>Multilingue (apprentissage par transfert)</td><td>MUSE</td><td>1.0</td></tr></tbody></table>

<table><caption>TABLE 3 – Comparaison des modèles pour la classification en équivalence</caption><caption>Synthèse des résultats intermédiaires</caption><thead><tr><th>Représentation des entrées</th><th>Modèle</th><th>Précision<br>Moyenne</th><th>Précision<br>Pondérée</th></tr></thead><tbody><tr><td>Features simples + TF-IDF</td><td>SGD_Clf1</td><td>0.88</td><td>0.88</td></tr><tr><td>Word Embed. + Features avancées</td><td>SGD_Clf2</td><td>0.91</td><td>0.91</td></tr><tr><td>Word Embed. + Features avancées</td><td>XGB_Clf1</td><td>0.94</td><td>0.94</td></tr><tr><td>Multilingue (apprentissage par transfert)</td><td>MUSE</td><td>0.94</td><td>0.94</td></tr></tbody></table>

## 3.3 Résultats d'évaluation

Dans cette section, nous présentons les résultats de l'évaluation officielle après soumission des trois meilleurs systèmes (modèles) évalués dans les sections précédentes. Le tableau 4 montre les résultats d'évaluation de chacun des modèles retenus par tâche, en comparaison aux résultats de référence (performances maximales) d'après l'évaluation des différents modèles participants à l'atelier. Nous remarquons que nos systèmes présentent des niveaux de performances opposés pour les deux tâches, comparés aux autres systèmes participants.

Pour la tâche 1, les modèles que nous avons testés sont encore loin des performances des meilleurs modèles concurrents évalués dans cet atelier (Sentence-M-BERT + STS, est près de 17% moins performant par rapport au système le plus performant), mais ils montrent néanmoins qu'il est possible d'obtenir des résultats intéressants dans l'optique de produire des applications multilingues dans un contexte où l'on dispose de peu voire d'aucune donnée d'entraînement pour certaines des langues cibles. Tels quels, les modèles que nous avons expérimentés sont entraînés en utilisant des données génériques et testés sur des données du domaine médical, impliquant ainsi deux niveaux de transfert

<table><caption>TABLE 4 – Évaluation finale des trois meilleurs modèles par tâche, évalués dans les résultats des tableaux 1 et 2. La colonne *maximum* montre les meilleurs performances des différents modèles participants.</caption><thead><tr><th>Tâche 1</th><th>M-BERT + STS</th><th>MUSE</th><th>Sentence M-BERT + STS</th><th>maximum</th></tr></thead><tbody><tr><td>Sp-Cor</td><td>0.7499</td><td>0.7421</td><td>0.7679</td><td>-</td></tr><tr><td>p-value</td><td>3.1295e-75</td><td>7.0960e-73</td><td>6.1899e-81</td><td>-</td></tr><tr><td>EDRM</td><td>0.6533</td><td>0.6663</td><td>0.6838</td><td>0.8220</td></tr><tr><th>Tâche 2</th><th>SGD</th><th>MUSE</th><th>XGB</th><th>maximum</th></tr><tr><td>MAP</td><td>0.9850</td><td>0.9906</td><td>0.9396</td><td>0.9906</td></tr></tbody></table>
d'apprentissage, la langue et le domaine, pour une tâche assez complexe (prédiction des votes sur six classes (0-5)).

Concernant la tâche 2 où l'objectif était de trouver une phrase parallèle à une phrase source dans un ensemble de phrases cibles, le plus performant des modèles que nous avons expérimentés, le modèle MUSE, obtient les meilleures performances parmi les différents systèmes participants. L'intérêt de ce modèle est qu'il n'a pas du tout été entraîné avec les données d'entraînement fourni par les organisateurs, ce qui en fait un modèle intéressant pour le développement d'applications multilingues sans donnée d'entraînement.

# 4 Conclusion

Nous avons présenté dans cet article les résultats de notre participation à l'atelier DEFT 2020 avec différents modèles multilingues d'appariement de texte, permettant de résoudre des tâches 1 et 2, auxquelles nous avons participé. Les expérimentations que nous avons menées pour résoudre la tâche 1 montrent que dans un contexte où le volume de données d'entraînement dans une langue est très limité, il est possible d'opérer un transfert d'apprentissage d'une langue à l'autre en recourant à des modèles d'apprentissage profond multilingues, comme MUSE et M-BERT. Cette approche permet d'exploiter conjointement des données d'apprentissage dans une langue pour laquelle on dispose d'un plus grand nombre de données et des données moins nombreuses dans la langue cible. Cette approche obtient cependant des résultats assez loin des performances obtenues par les meilleurs systèmes participants. A l'inverse, nous avons obtenu les meilleurs résultats dans la tâche 2 avec une approche pourtant encore plus restrictive où les données d'entraînement ne sont pas du tout exploitées (modèle MUSE).

Les modèles entraînés durant nos expérimentations sont des modèles de langue généralistes, pré-
entraînés sur des textes qui ne relèvent pas du domaine médical. Une piste intéressante pour poursuivre
ces travaux serait d'entraîner un modèle de langue multilingue spécialisé sur ce domaine, qui permet-
trait de disposer de représentations de phrases mieux adaptées aux corpus. A ce jour en effet, à notre
connaissance seuls des modèles monolingues de langue anglaise spécialisés dans le domaine médical
sont disponibles (Lee et al., 2019). En outre, une extension de ces modèles pour prendre en compte
une tâche de multiclassification peut être intéressante afin de déterminer le vote correspondant à un
couple de phrases en entrées.

Références

BAZIZ M., BOUGHANEM M., AUSSENAC-GILLES N. & CHRISMENT C. (2005). Semantic cores for representing documents in ir. In *Proceedings of the 2005 ACM Symposium on Applied Computing, SAC '05*, p. 1011–1017, New York, NY, USA : ACM. DOI: 10.1145/1066677.1066911.

BOTTOU L. (2010). Large-scale machine learning with stochastic gradient descent. In *Proceedings of COMPSTAT'2010*, p. 177–186. Springer. DOI: 10.1007/978-3-7908-2604-3_16.

BOWMAN S. R., ANGELI G., POTTS C. & MANNING C. D. (2015). A large annotated corpus for learning natural language inference. In *Proceedings of the 2015 Conference on Empirical Methods in Natural Language Processing (EMNLP)* : Association for Computational Linguistics. arXiv preprint : L-1508.05326.
CARDON R., GRABAR N., GROUIN C. & HAMON T. (2020). Présentation de la campagne d'évaluation deft 2020 : similarité textuelle en domaine ouvert et extraction d'information précise dans des cas cliniques.

CER D., DIAB M., AGIRRE E., LOPEZ-GAZPIO I. & SPECIA L. (2017). SemEval-2017 task 1 : Semantic textual similarity multilingual and crosslingual focused evaluation. In *Proceedings of the 11th International Workshop on Semantic Evaluation (SemEval-2017)*, p. 1–14, Vancouver, Canada : Association for Computational Linguistics. DOI: 10.18653/v1/S17-2001.

CHEN T. & GUESTRIN C. (2016). Xgboost : A scalable tree boosting system. In *Proceedings of the 22nd acm sigkdd international conference on knowledge discovery and data mining*, p. 785–794. DOI: 10.1145/2939672.2939785.

CHIDAMBARAM M., YANG Y., CER D., YUAN S., SUNG Y., STROPE B. & KURZWEIL R. (2018). Learning cross-lingual sentence representations via a multi-task dual-encoder model. *CoRR*. arXiv preprint : abs/1810.12836.

CONNEAU A., KHANDELWAL K., GOYAL N., CHAUDHARY V., WENZEK G., GUZMÁN F., GRAVE E., OTT M., ZETTLEMOYER L. & STOYANOV V. (2019). Unsupervised cross-lingual representation learning at scale. arXiv preprint : abs/1911.02116.

CONNEAU A., LAMPLE G., RINOTT R., WILLIAMS A., BOWMAN S. R., SCHWENK H. & STOYANOV V. (2018). XNLI : evaluating cross-lingual sentence representations. *CoRR*. arXiv preprint : abs/1809.05053.

DEHGHANI M., GOUWS S., VINYALS O., USZKOREIT J. & KAISER Ł. (2018). Universal transformers. arXiv preprint : L-1807.03819.

DEVLIN J., CHANG M.-W., LEE K. & TOUTANOVA K. (2018). Bert : Pre-training of deep bidirectional transformers for language understanding. arXiv preprint : L-1810.04805.

GRABAR N. & CARDON R. (2018). CLEAR – simple corpus for medical French. In *Proceedings of the 1st Workshop on Automatic Text Adaptation (ATA)*, p. 3–9, Tilburg, the Netherlands : Association for Computational Linguistics. DOI: 10.18653/v1/W18-7002.

GUO J., FAN Y., AI Q. & CROFT W. B. (2016). A deep relevance matching model for ad-hoc retrieval. New York, NY, USA : Association for Computing Machinery.

KUSNER M. J., SUN Y., KOLKIN N. I. & WEINBERGER K. Q. (2015). From word embeddings to document distances. In *Proceedings of the 32nd International Conference on International Conference on Machine Learning - Volume 37*, ICML’15, p. 957–966 : JMLR.org. DOI: 10.5555/3045118.3045221.

LEE J., YOON W., KIM S., KIM D., KIM S., SO C. H. & KANG J. (2019). Biobert : a pre-trained biomedical language representation model for biomedical text mining. *CoRR*. arXiv preprint : abs/1901.08746.

LIU Y., OTT M., GOYAL N., DU J., JOSHI M., CHEN D., LEVY O., LEWIS M., ZETTLEMOYER L. & STOYANOV V. (2019). Roberta : A robustly optimized BERT pretraining approach. *CoRR*. arXiv preprint : abs/1907.11692.

MANNING C., RAGHAVAN P. & SCHÜTZE H. (2010). Introduction to information retrieval. *Natural Language Engineering*, **16**(1), 100–103. DOI: 10.5555/1394399.

MARTIN L., MULLER B., SUÁREZ P. J. O., DUPONT Y., ROMARY L., DE LA CLERGERIE É. V., SEDDAH D. & SAGOT B. (2020). Camembert : a tasty french language model. In *Proceedings of the 58th Annual Meeting of the Association for Computational Linguistics*. arXiv preprint : L-1911.03894.
PIRES T., SCHLINGER E. & GARRETTE D. (2019). How multilingual is multilingual bert? *CoRR*. arXiv preprint : abs/1906.01502.

RADFORD A., NARASIMHAN K., SALIMANS T. & SUTSKEVER I. (2018). Improving language understanding with unsupervised learning. *Technical report, OpenAI. Technical Report*.

REIMERS N. & GUREVYCH I. (2019). Sentence-BERT: Sentence embeddings using Siamese BERT-networks. In *Proceedings of the 2019 Conference on Empirical Methods in Natural Language Processing and the 9th International Joint Conference on Natural Language Processing (EMNLP-IJCNLP)*, p. 3982–3992, Hong Kong, China : Association for Computational Linguistics. DOI : 10.18653/v1/D19-1410.

WILLIAMS A., NANGIA N. & BOWMAN S. (2018). A broad-coverage challenge corpus for sentence understanding through inference. In *Proceedings of the 2018 Conference of the North American Chapter of the Association for Computational Linguistics : Human Language Technologies, Volume 1 (Long Papers)*, p. 1112–1122 : Association for Computational Linguistics. DOI : 10.18653/v1/N18-1101.

YANG Y., CER D., AHMAD A., GUO M., LAW J., CONSTANT N., ABREGO G. H., YUAN S., TAR C., SUNG Y.-H., STROPE B. & KURZWEIL R. (2019). Multilingual universal sentence encoder for semantic retrieval. arXiv preprint : L-1907.04307.
# Participation de l'équipe du LIMICS à DEFT 2020

Perceval Wajsbürt¹, Yoann Taillé¹,², Guillaume Lainé¹, Xavier Tannier¹

(1) Sorbonne Université, Inserm, LIMICS, Paris, France

(2) Institut des Sciences du Calcul et des Données, Sorbonne Université, Paris, France

## RÉSUMÉ

Nous présentons dans cet article les méthodes conçues et les résultats obtenus lors de notre participation à la tâche 3 de la campagne d'évaluation DEFT 2020, consistant en la reconnaissance d'entités nommées du domaine médical. Nous proposons deux modèles différents permettant de prendre en compte les entités imbriquées, qui représentent une des difficultés du jeu de données proposées, et présentons les résultats obtenus. Notre meilleur run obtient la meilleure performance parmi les participants, sur l'une des deux sous-tâches du défi.

## ABSTRACT

### Participation of team LIMICS in the DEFT 2020 challenge

In this article, we present the methods developed and the results obtained during our participation in task 3 of the DEFT 2020 evaluation campaign, consisting of the recognition of named entities in the medical field. We propose two different models allowing to take into account the nested entities, which represent one of the difficulties of the proposed data set, and present the results obtained. Our best run obtains the best performance among the participants, on one of the two subtasks of the challenge.

**MOTS-CLÉS** : Reconnaissance d'entités nommées, apprentissage profond, entités imbriquées.

**KEYWORDS:** Named entity recognition, deep learning, nested entities.

# 1 Introduction

Nous présentons dans cet article les méthodes que nous avons conçues pour répondre à la tâche 3 de la campagne d'évaluation DEFT 2020. Cette tâche porte sur la détection d'entités nommées dans des textes de descriptions de cas cliniques (Grabar et al., 2018). Les différents types d'entités sont, d'une part, les *pathologies et signes ou symptômes* (tâche 3.1), d'autre part, l'anatomie, les *examens, substances, doses, modes d'administration, traitements* (chirurgical ou médical), *valeurs, moment*.

Le corpus se compose de 100 fichiers pour l'entraînement (8350 annotations) et 67 fichiers pour le test (3800 annotations).

Le jeu d'entraînement fourni par les organisateurs est composé de 100 documents (8350 annotations), tandis que le jeu de test est composé de 67 documents (3800 annotations). Plus de détails sur le défi sont présents dans Cardon et al. (2020).

Nous décrivons dans cet article nos 3 soumissions officielles, dont l'une a obtenu la meilleure performance sur la tâche 3.2.

<figure><img src="image_46.png" /></figure>
# 2 Méthode

Nous présentons deux approches visant à traiter le problème des mentions imbriquées, qui sont la particularité principale du jeu de données DEFT et qui sont le sujet d'un regain d'attention dans la communauté TAL depuis 2018. La première difficulté rencontrée est qu'il n'est pas aisé voire impossible, selon la nature des chevauchements, d'encoder sans perte toutes les mentions en une unique séquence de tags.

## 2.1 CamemBERT + Layered BiLSTM CRF

Ce modèle tente de tirer partie de la combinaison de méthodes actuellement performantes en traitement automatique des langues et en reconnaissance d'entités nommées imbriquées.

Il comprend d'abord une composante CamemBERT (Martin et al., 2020), un modèle BERT pré-entraîné sur des données françaises, afin d'obtenir une représentation des mots de notre corpus qui prenne en compte leur contexte. Une couche dense est ajoutée après cette composante afin de limiter la taille des représentations et d'en faire correspondre les dimensions avec celles des couches suivantes.

Vient ensuite une succession de combinaisons de LSTM bidirectionnels et de CRF, utilisées dans le modèle de Lample et al. (2016). Ce modèle stratifié s'inspire de Ju et al. (2018). Chacune de ses strates est capable de prédire des entités à partir de séquences de représentations de mots. Si une strate prédit une entité, les représentations de la zone correspondant à cette prédiction sont fusionnées pour obtenir une représentation de l'entité, qui est transmise à la strate suivante. L'enchaînement de strates s'arrête quand aucune entité n'est détectée par la dernière strate, ou quand un nombre défini de strates est atteint.

Comme le montre la Figure 1, les strates détectent d'abord les entités les plus courtes puis les entités plus longues les incluant. La fusion des représentations quand une entité est détectée se fait en moyennant les représentations comprises dans la zone prédite. Les paramètres du LSTM de chaque strate sont partagés entre toutes les strates.

### 2.1.1 Apprentissage

Une première expérience à été effectuée en entraînant ce modèle de manière multiclasse, mais elle s'est révélée moins performante que plusieurs modèles binaires. Pour chacune des 10 classes, un modèle CamemBERT + Layered BiLSTM-CRF a donc été entraîné. En inspectant le corpus, nous avons fixé le nombre maximal de couches par modèle à 2, correspondant à la profondeur maximale d'imbrication d'entités nommées du même type.

### 2.1.2 Paramètres du modèle

La composante CamemBERT est initialisée avec les poids de CamemBERT-base, pré-entraîné sur OSCAR (Ortiz Suárez et al., 2019). Seules ses 4 dernières couches sont ré-entraînées sur nos données. Les paramètres des couches suivantes sont initialisés aléatoirement selon la méthode de (Glorot & Bengio, 2010). La couche dense et les LSTM bidirectionnels ont une dimension de 200 unités, et les
<figure><img src="image_47.png" /><figcaption>FIGURE 1 – Schéma adapté de Ju et al. (2018) de la structure du modèle CamemBERT + Layered BiLSTM-CRF. Dans l'exemple, "pulmonaires" est imbriquée dans "multiples localisations pulmonaires bilatérales".</figcaption></figure>

<table><caption>TABLE 1 – Nombre d'époques retenu pour l'entraînement de chaque modèle binaire par classe</caption><thead><tr><th>Classe</th><th>sosy</th><th>moment</th><th>pathologie</th><th>mode</th><th>substance</th><th>examen</th><th>anatomie</th><th>dose</th><th>valeur</th><th>traitement</th></tr></thead><tbody><tr><th>Nombre d'époques</th><td>53</td><td>42</td><td>64</td><td>41</td><td>49</td><td>41</td><td>46</td><td>45</td><td>40</td><td>82</td></tr></tbody></table>

LSTM comportent deux couches cachées. Du dropout (Srivastava et al., 2014) est appliqué avec une probabilité 0.3 dans les LSTM.

Chaque modèle binaire est optimisé par backpropagation avec Adam (Kingma & Ba, 2015) sans weight decay, avec un pas d'apprentissage de $5 \times 10^{-5}$ pour la composante CamemBERT et $5 \times 10^{-3}$ pour le reste. Le nombre d'époques d'apprentissage pour chaque modèle a été déterminé de la manière suivante : si on n'observe pas d'amélioration du coût sur les données d'apprentissage pendant 5 époques, on arrête l'entraînement. Le nombre d'itérations retenu par classe est présenté dans le tableau 1. Sur une carte graphique NVIDIA Quadro K5200, l'apprentissage sur 100 documents pour toutes les classes prend environ 25 minutes.

## 2.2 Iterative Greedy NER

### 2.2.1 Modèle

Nous détaillons ici un nouveau modèle ainsi qu'une procédure permettant d'en apprendre les paramètres. Le modèle est un Transformer (Vaswani et al., 2017) prenant en entrée une séquence de mots ainsi qu'une liste de mentions déjà extraites (liste vide à la première itération), et prédit en sortie une liste de nouvelles mentions. Les mentions prédites à chaque itération ne se chevauchent pas, en revanche l'ensemble des mentions prédites à la fin des itérations peuvent se chevaucher.
<figure><img src="image_48.png" /><figcaption>FIGURE 2 – Notre modèle basé sur un Transformer modifié pour intégrer à la fin de la couche $L_{tag}$ les tags des mentions précédemment observées — schéma adapté de Vaswani et al. (2017)</figcaption></figure>

Afin d'être manipulables par un réseau de neurones, les mots sont transformés en embeddings. De même, les mentions sont manipulées sous forme de tags au format BIO, chaque tag étant converti en embeddings pour être sommé avec les autres tags à la même position.

Nous calculons les probabilités des séquences de tags en chaînant un transformer CamBERT (Martin et al., 2020) avec un CRF linéaire (Lafferty et al., 2001). Tandis que les embeddings de tokens sont intégrés par le transformer en amont du modèle, nous intégrons les embeddings de tags à la sortie d'une des couches du modèle (Figures 2, 3).

<figure><img src="image_49.png" /><figcaption>FIGURE 3 – Schéma de prédiction du modèle</figcaption></figure>
### 2.2.2 Inférence

Pour chaque phrase du corpus à annoter, notre modèle commence par prédire la séquence de mentions la plus probable à partir de la seule séquence de tokens en entrée, puisqu'aucune mention n'a déjà été prédite. Puis, tant qu'une ou plusieurs mentions sont détectées, on les ajoute à la liste des mentions observées, et on ré-itère la prédiction.

### 2.2.3 Apprentissage

Pendant l'entraînement, on cherche à maximiser les probabilités assignées par le modèle aux listes de mentions à retrouver, avec toujours la difficulté de traiter les mentions chevauchantes.

Comme dans le modèle précédent, on choisit de procéder en plusieurs étapes, et de ne faire prédire par le modèle à chaque exécution que des mentions non imbriquées. Il existe cependant plusieurs combinaisons de mentions de ce type, sans qu'on puisse dire a priori si l'une est meilleure que l'autre. Autrement dit, il existe plusieurs chemins de prédictions possibles menant à une même liste de mentions. Pour deux mentions imbriquées

protocole de traitement de l' HG du CHU

(annotations que l'on nomme *T* et *H*), on peut prédire *T* en premier, puis *H* sachant *T*, ou le contraire, c'est-à-dire choisir d'optimiser entre deux objectifs :

$$ \text{— } P(T, H) = P(T, H|T) \times P(T) $$

$$ \text{— } P(T, H) = P(T, H|H) \times P(H) $$

Dans cette situation symétrique, une solution qui consisterait à optimiser les deux chemins en même temps, par exemple en sommant plusieurs coûts (*loss*), pourrait conduire à une situation non optimale dans laquelle le modèle est indirectement incité à détecter une combinaison incorrecte des deux mentions, par exemple ces deux mentions non imbriquées mais sous-optimales :

protocole de traitement de l' HG du CHU

Des modèles comme celui de Ju et al. (2018) choisissent une stratégie à l'avance (mentions plus petites d'abord, par exemple), mais le risque est de ne pas profiter de toutes les interdépendances qui font que certaines mentions sont plus simples à trouver quand on connaît les autres. Une autre solution consiste à choisir l'ordre d'extraction menant à la meilleure performance par le modèle, mesurée en F-mesure. On applique ainsi une stratégie gloutonne qui sélectionne, parmi les combinaisons sans chevauchement de mentions non-observées dans ce batch, la plus proche des mentions prédites en terme de recouvrement. Intuitivement, cela signifie qu'on privilégie une combinaison plus facile à prédire pour le modèle.

En pratique, pour choisir à chaque itération cette meilleure combinaison, on définit un graphe de recouvrement $\mathcal{O}$ dans lequel un lien entre deux mentions indique qu'elles se chevauchent. De ce graphe, on extrait les composantes connexes $C_i$, qui peuvent être vues comme les zones du texte dans lesquelles on observe des recouvrements. On choisit dans chaque composante $C_i$ la mention la plus
proche d'une des mentions prédites, en terme de similarité F1 des intervalles (c'est-à-dire, des tags BIO des tokens qui les composent), puis on réitère en supprimant ses mentions voisines de la liste des candidats.

Enfin, pendant l'entraînement, afin de simuler une extraction en cours, on sélectionne au hasard dans chaque phrase une partie des mentions que l'on définira comme étant déjà extraites par le modèle.

Cette procédure est reprise sous forme de pseudo-code à l'algorithme 1.

**Algorithm 1** Algorithme d'apprentissage du modèle

1: $O$, le graphe de recouvrement des mentions du corpus

2: $C$, les composantes connexes de $O$

3: $M^{\text{obs}}$, les mentions observées pour chaque batch

4: $M_i$, les mentions de la phrase $i$

5: $X_i$, les tokens de la phrase $i$

6: $M^{\text{predicted}}$, les mentions prédites pour chaque batch

7: $M^{\text{target}}$, les mentions utilisées pour calculer la loss

8: $f$, le modèle

9: **for** $t = 1, \dots, T$ **do**

10: on échantillonne un mini-batch $I_t \subset \{1, \dots, n\}$ de taille $b$

11: $M^{\text{obs}} \leftarrow \{\}$

12: **for** phrase $i \in I_t$ **do**

13: on échantillonne un sous-ensemble $P$ des mentions de la phrase $i$

14: $M^{\text{obs}} \leftarrow M^{\text{obs}} \cup P$

15: **end for**

16: $M^{\text{predicted}} \leftarrow \arg \max_M P(M|X_i, M^{\text{obs}})$

17: $M^{\text{target}} \leftarrow \{\}$

18: **for** phrase $i \in I_t$ **do**

19: **for** composante $j \in$ phrase $i$ **do**

20: $m^{\text{closest}} \in C_j \setminus M^{\text{obs}}$ la mention la plus similaire à une des mentions de $M^{\text{predicted}}$

21: $M^{\text{target}} \leftarrow M^{\text{target}} \cup \{m^{\text{closest}}\}$

22: **end for**

23: $l \leftarrow -\log f(M^{\text{target}}|X_i, M^{\text{obs}})$

24: backprop($l$)

25: **end for**

26: **end for**

### 2.2.4 Paramètres du modèle

**Modèle de base** Le Transformer est initialisé avec les poids de CamembERT-large, pré-entrainé sur CCNET (Wenzek et al., 2019). Les paramètres restants sont initialisés aléatoirement selon la méthode de (Glorot & Bengio, 2010). Du dropout (Srivastava et al., 2014) est appliqué avec une probabilité 0.2 dans le Transformer et 0.4 dans les couches qui le suivent. Les 19 premières couches du transformer sont figées à leur valeur initiale. On optimise les paramètres par backpropagation sur 60 epochs avec Adam (Kingma & Ba, 2015) sans weight decay. Deux pas d'apprentissage sont utilisés : un pour la partie transformer, initialisé à $5 \times 10^{-5}$, et un pour le reste du modèle, initialisé à $1 \times 10^{-2}$. On divise les pas d'apprentissage par 4 à l'epoch 25, 16 à l'epoch 40 et 64 à l'epoch 50.
<table><caption>TABLE 2 – Résultat de la tâche 3.1 (pathologie et signe ou symptôme)</caption><thead><tr><th></th><th></th><th>Précision</th><th>Rappel</th><th>F1</th></tr></thead><tbody><tr><td rowspan="3">LIMICS run 1</td><td>pathologie</td><td>0,2644</td><td>0,2771</td><td>0,2706</td></tr><tr><td>sosy</td><td>0,4539</td><td>0,3081</td><td>0,3670</td></tr><tr><td><strong>Total</strong></td><td>0,4223</td><td>0,3045</td><td>0,3538</td></tr><tr><td rowspan="3">LIMICS run 2</td><td>pathologie</td><td>0,4280</td><td>0,6446</td><td>0,5144</td></tr><tr><td>sosy</td><td>0,6491</td><td>0,5668</td><td>0,6052</td></tr><tr><td><strong>Total</strong></td><td>0,6086</td><td>0,5758</td><td>0,5917</td></tr><tr><td rowspan="3">LIMICS run 3</td><td>pathologie</td><td>0,5122</td><td>0,6325</td><td>0,5660</td></tr><tr><td>sosy</td><td>0,6885</td><td>0,5668</td><td>0,6218</td></tr><tr><td><strong>Total</strong></td><td>0,6598</td><td>0,5744</td><td>0,6141</td></tr><tr><td>Meilleur DEFT</td><td><strong>Total</strong></td><td></td><td></td><td><strong>0,6603</strong></td></tr><tr><td>Médiane DEFT</td><td><strong>Total</strong></td><td></td><td></td><td>0,4557</td></tr></tbody></table>

Les embeddings de tags sont introduits dans le transformer à la couche $L_{tag} = 18$. Sur une carte graphique GeForce GTX 1080, l'apprentissage sur 100 documents prend environ 20 minutes.

**Vote mono-classifieur.** Ayant constaté les fortes variations de performance entre différents modèles identiques entraînés avec des amorces aléatoires différentes (variations dans chaque classe mais moyennes finales similaires), nous avons également soumis un dernier run résultant de trois entraînements du modèle Iterative Greedy NER, avec des amorces différentes, puis un vote majoritaire.

# 3 Résultats et discussion

Les résultats de nos systèmes sont présentés dans les Tables 2 pour la tâche 3.1 et 3 pour la tâche 3.2. Le run 1 correspond au modèle Layered BiLSTM, les run 2 et 3 correspondent au modèle Iterative Greedy NER, le dernier étant la version ensembliste.

Le modèle Iterative Greedy NER obtient de meilleurs résultats que le modèle Layered BiLSTM, sur toutes les classes. Sur la tâche 3.1, il obtient un score F1 de 0.59 (avec délimitation exacte des mentions), et sa version ensembliste un score de 0.61. Sur la tâche 3.2, il obtient le score 0.756 et sa version ensembliste 0.763, meilleur résultat parmi les participants de la compétition.

Notons que pour certaines classes rares mais présentant de faibles variations linguistiques, hybrider notre système avec des règles serait probablement bénéfique.

# 4 Conclusion

Notre participation au défi fouille de texte de cette année s'est soldée par de bons résultats sur la tâche 3. Une analyse plus détaillée devra nous permettre de comprendre, notamment, pourquoi les types d'entités de la tâche 3.1 se sont moins bien prêtés à nos deux modèles, avec une F-mesure 5 points sous celle du meilleur participant, alors que nous obtenons les meilleurs résultats sur la tâche 3.2. De plus amples expérimentations seront également nécessaires pour estimer l'apport de
<table><caption>TABLE 3 – Résultat de la tâche 3.2 (autres classes)</caption><thead><tr><th></th><th></th><th>Précision</th><th>Rappel</th><th>F1</th></tr></thead><tbody><tr><td rowspan="7">LIMICS run 1</td><td>anatomie</td><td>0,6819</td><td>0,7074</td><td>0,6944</td></tr><tr><td>dose</td><td>0,3611</td><td>0,2500</td><td>0,2955</td></tr><tr><td>examen</td><td>0,6819</td><td>0,5667</td><td>0,6190</td></tr><tr><td>mode</td><td>0,6458</td><td>0,3483</td><td>0,4526</td></tr><tr><td>moment</td><td>0,6574</td><td>0,4303</td><td>0,5201</td></tr><tr><td>substance</td><td>0,5134</td><td>0,3674</td><td>0,4283</td></tr><tr><td>traitement</td><td>0,4798</td><td>0,3520</td><td>0,4061</td></tr><tr><td></td><td>valeur</td><td>0,7746</td><td>0,6366</td><td>0,6989</td></tr><tr><td></td><td><strong>Total</strong></td><td>0,6587</td><td>0,5673</td><td>0,6096</td></tr><tr><td rowspan="7">LIMICS run 2</td><td>anatomie</td><td>0,7674</td><td>0,7482</td><td>0,7577</td></tr><tr><td>dose</td><td>0,6047</td><td>0,5000</td><td>0,5474</td></tr><tr><td>examen</td><td>0,7947</td><td>0,8103</td><td>0,8024</td></tr><tr><td>mode</td><td>0,6471</td><td>0,4944</td><td>0,5605</td></tr><tr><td>moment</td><td>0,6629</td><td>0,7152</td><td>0,6880</td></tr><tr><td>substance</td><td>0,8092</td><td>0,7316</td><td>0,7685</td></tr><tr><td>traitement</td><td>0,6471</td><td>0,6513</td><td>0,6492</td></tr><tr><td></td><td>valeur</td><td>0,8224</td><td>0,8148</td><td>0,8186</td></tr><tr><td></td><td><strong>Total</strong></td><td>0,7635</td><td>0,7494</td><td>0,7564</td></tr><tr><td rowspan="7">LIMICS run 3</td><td>anatomie</td><td>0,8056</td><td>0,7250</td><td>0,7632</td></tr><tr><td>dose</td><td>0,6486</td><td>0,4615</td><td>0,5393</td></tr><tr><td>examen</td><td>0,8130</td><td>0,7980</td><td>0,8054</td></tr><tr><td>mode</td><td>0,7455</td><td>0,4607</td><td>0,5694</td></tr><tr><td>moment</td><td>0,6923</td><td>0,7091</td><td>0,7006</td></tr><tr><td>substance</td><td>0,8375</td><td>0,7412</td><td>0,7864</td></tr><tr><td>traitement</td><td>0,6960</td><td>0,6250</td><td>0,6586</td></tr><tr><td></td><td>valeur</td><td>0,8313</td><td>0,7986</td><td>0,8146</td></tr><tr><td></td><td><strong>Total</strong></td><td>0,7948</td><td>0,7330</td><td><strong>0,7626</strong></td></tr><tr><td>Meilleur DEFT</td><td><strong>Total</strong></td><td></td><td></td><td><strong>0,7626</strong></td></tr><tr><td>Médiane DEFT</td><td><strong>Total</strong></td><td></td><td></td><td>0,6151</td></tr></tbody></table>
l'idée principale du modèle Iterative Greedy NER, c'est-à-dire la liberté laissée au modèle de trouver les meilleures combinaisons de mentions, indépendamment de leur niveau d'imbrication.

# Remerciements

Nous remercions les organisateurs pour la création du corpus ainsi que pour l'organisation du défi.

# Références

CARDON R., GRABAR N., GROUIN C. & HAMON T. (2020). Présentation de la campagne d'évaluation deft 2020 : similarité textuelle en domaine ouvert et extraction d'information précise dans des cas cliniques. In *Actes de DEFT*.

GLOROT X. & BENGIO Y. (2010). Understanding the difficulty of training deep feedforward neural networks. In *Proceedings of the thirteenth international conference on artificial intelligence and statistics*, p. 249–256.

GRABAR N., CLAVEAU V. & DALLOUX C. (2018). CAS : French corpus with clinical cases. In *Proceedings of the Ninth International Workshop on Health Text Mining and Information Analysis*, p. 122–128, Brussels, Belgium : Association for Computational Linguistics. DOI: 10.18653/v1/W18-5614.

JU M., MIWA M. & ANANIADOU S. (2018). A neural layered model for nested named entity recognition. In *Proceedings of the 2018 Conference of the North American Chapter of the Association for Computational Linguistics : Human Language Technologies, Volume 1 (Long Papers)*, p. 1446–1459, New Orleans, Louisiana : Association for Computational Linguistics. DOI: 10.18653/v1/N18-1131.

KINGMA D. P. & BA J. L. (2015). Adam : A method for stochastic optimization. *3rd International Conference on Learning Representations, ICLR 2015 - Conference Track Proceedings*.

LAFFERTY J., MCCALLUM A. & PEREIRA F. C. N. (2001). Conditional random fields : Probabilistic models for segmenting and labeling sequence data. *ICML '01 Proceedings of the Eighteenth International Conference on Machine Learning*, 8(June), 282–289.

SAMPLE G., BALLESTEROS M., SUBRAMANIAN S., KAWAKAMI K. & DYER C. (2016). Neural architectures for named entity recognition. In *Proceedings of the 2016 Conference of the North American Chapter of the Association for Computational Linguistics : Human Language Technologies*, p. 260–270, San Diego, California : Association for Computational Linguistics. DOI: 10.18653/v1/N16-1030.

MARTIN L., MULLER B., SUÁREZ P. J. O., DUPONT Y., ROMARY L., DE LA CLERGERIE É. V., SEDDAH D. & SAGOT B. (2020). Camembert : a tasty french language model. In *Proceedings of the 58th Annual Meeting of the Association for Computational Linguistics*.

ORTIZ SUÁREZ P. J., SAGOT B. & ROMARY L. (2019). Asynchronous Pipeline for Processing Huge Corpora on Medium to Low Resource Infrastructures. In P. BAŃSKI, A. BARBARESI, H. BIBER, E. BREITENEDER, S. CLEMATIDE, M. KUPIETZ, H. LÜNGEN & C. ILIADI, Éds., *7th Workshop on the Challenges in the Management of Large Corpora (CMLC-7)*, Cardiff, United Kingdom : Leibniz-Institut für Deutsche Sprache. HAL : hal-02148693.
SRIVASTAVA N., HINTON G., KRIZHEVSKY A., SUTSKEVER I. & SALAKHUTDINOV R. (2014).
Dropout: A simple way to prevent neural networks from overfitting. *Journal of Machine Learning Research*, **15**(56), 1929–1958.

VASWANI A., SHAZEER N., PARMAR N., USZKOREIT J., JONES L., GOMEZ A. N., KAISER Ł.
& POLOSUKHIN I. (2017). Attention is all you need. *Advances in Neural Information Processing Systems*, **2017-Decem**, 5999–6009.

WENZEK G., LACHAUX M.-A., CONNEAU A., CHAUDHARY V., GUZMAN F., JOULIN A. & GRAVE E. (2019). Ccnet : Extracting high quality monolingual datasets from web crawl data. *arXiv preprint arXiv :1911.00359*.
<figure><img src="image_50.png" /></figure>