Une frontière technologique franchie dans le traitement du langage biomédical et la construction d’un moteur de recherche multilingue
Pour répondre aux questions des professionnels de santé, Posos s’appuie sur 200 sources médicales, dont PubMed, un corpus de millions de publications scientifiques très utilisé par les médecins. Ces publications sont majoritairement rédigées en anglais, ce qui limite leur utilisation par les praticiens français pour prendre leurs décisions thérapeutiques.
Sommaire
La réalisation d’un outil capable de rechercher à partir d’une seule question dans plusieurs bases de données de langues différentes, particulièrement dans le domaine biomédical, est extrêmement complexe mais aurait un impact majeur pour permettre à tous les soignants d’avoir un accès plus large à l’information médicale.
C’est pourquoi l’équipe R&D de Posos a fait de cette frontière technologique un axe de recherche important. En tant que Data Scientist chez Posos justement, je poursuis actuellement des travaux de recherche dans cette branche du traitement automatique du langage (NLP). Cela s’inscrit dans le cadre d’une thèse de recherche en partenariat avec le laboratoire de recherche LORIA sous l’égide d’institutions comme l’Université de Lorraine, l’INRIA et le CNRS. Ces travaux nous ont conduit à la publication et à la présentation d’un premier article à la conférence internationale ICONIP en décembre 2021 [1].
Pourquoi traduire littéralement la recherche n’est pas la meilleure solution
La question de départ de nos travaux est simple : comment construire un moteur de recherche multilingue ? De prime abord, la réponse semble naturelle : il suffit de traduire la requête dans chacune des langues pour pouvoir ensuite interroger la base de documents. Cette approche est tributaire du modèle de traduction et pose un autre problème majeur. Après avoir traduit la recherche, différents modèles de remontée de documents (document retrieval) sont utilisés pour obtenir des réponses dans chaque langue. Si ces modèles sont indépendants, les scores d’évaluation de la pertinence des documents obtenus ne sont pas directement compatibles. La fusion des deux listes de résultats donne un classement erroné des documents remontés si l’on se contente de comparer les scores obtenus.
Pour remédier à cela, il est possible de construire un modèle de document retrieval qui soit unique et capable de gérer des langues différentes. Pour ce faire, nous avons besoin d’une représentation du langage qui soit commune aux langues concernées. C’est sur ce point que les résultats de nos recherches sont particulièrement innovants.
Un modèle de recherche médical applicables à plusieurs langues
Également appelé “plongement lexical”, le word embedding se définit comme la représentation d’un mot par un vecteur en grande dimension. Pour faire simple, imaginez un point sur une carte. Seulement voilà, au lieu d'avoir une carte “plate” en deux dimensions, on aura plusieurs centaines de dimensions. La construction d’un word embedding vise à ce que deux mots de sens similaire aient leurs représentations proches sur cette “carte” multidimensionnelle.
Voici un exemple du fonctionnement d’un word embedding spécifique au domaine biomédical (plus de détails dans cet article en anglais) : prenez le mot “patch”. Autour de ce mot gravitent leurs synonymes (comme ”dispositif transdermique”), des variations morphologiques du même mot (comme “patchs”, “patches”) ou encore des noms de médicaments qui sont disponibles sous forme de patch (comme ”trinipatch” ou “fentanyl”).
La construction de word embeddings a l’avantage de ne pas nécessiter de données labellisées. Ils sont généralement obtenus à partir d’un modèle qui va être entraîné sur de larges quantités de texte brut de manière auto-apprenante. Une méthode consiste par exemple à entraîner un modèle à prédire un mot à partir de ceux qui l’entourent et on peut ensuite utiliser la représentation sous-jacente apprise par le modèle comme word embedding [3].
Cette notion de word embedding peut se généraliser à un contexte multilingue [2]. Pour cela, il faut qu’un mot et sa traduction aient systématiquement des représentations proches.
Pourquoi construire des word embeddings multilingues est extrêmement complexe ?
Précisons un point. Un word embedding est toujours construit à partir d’un principe simple: les mots qui apparaissent dans un contexte similaire ont des représentations proches [3]. Dans notre exemple ci-dessus, les termes “patch” et “dispositif transdermique” sont souvent entourés des mêmes mots dans un corpus donné. Ainsi, on les trouve très souvent en présence des mots : “appliquer”, “le”, “sur”, “peau” etc... Or, ce principe n’est pas directement applicable pour des mots de différentes langues. En effet, un mot et sa traduction peuvent se trouver dans des contextes différents, puisqu’ils seront entourés de mots de langues différentes.
Pour remédier à ce problème, des méthodes d’alignement d’embeddings ont été proposées dans la littérature scientifique [4,5,6]. Concrètement, il s’agit de prendre deux word embeddings monolingues (un en anglais et un en français par exemple) et de les projeter dans un nouvel espace pour que les paires de mots traduits coïncident.
Les algorithmes d’alignement utilisés sont des algorithmes non-supervisés. Ils n’ont pas besoin d’ingérer un dictionnaire bilingue pour pouvoir réaliser l’alignement, contrairement aux autres méthodes dites supervisées. Ces algorithmes non-supervisés apprennent simultanément la transformation à appliquer aux word-embeddings pour les faire correspondre et un dictionnaire bilingue de mots à faire coïncider. Cela se résume à l’équation suivante:
W est la transformation apprise que l’on applique à X, l’embedding en français, pour le faire coïncider avec les embeddings des traductions de chaque éléments de X obtenus en appliquant une matrice de permutation P notre dictionnaire, à l’embedding en anglais Y.
Pour aligner de tels embeddings, nous nous appuyons sur une transformation qui va préserver la cohérence interne des embeddings monolingues. Il s’agit d’utiliser une transformation qui ne va pas déformer le nuage de points. Dans un exemple en deux dimensions comme ci-dessus, cela signifie qu’on se limite aux transformations combinant rotations et symétries : on parle alors d’isométrie.
Néanmoins, rien ne garantit l’existence d’une telle isométrie entre deux embeddings. S’il est possible d’obtenir de très bons résultats en utilisant ces méthodes basées sur l’isométrie, certains travaux ont montré que ces méthodes avaient besoin de trois critères indispensables pour que l’alignement soit réussi [7]:
- Les deux langues ne doivent pas être trop différentes : aligner anglais et français est plus facile que d’aligner anglais et ourdou
- Les deux embeddings doivent avoir été obtenus avec le même algorithme
- Les embeddings doivent avoir été obtenus avec des données provenant du même domaine
Portons notre attention sur ce dernier point. Pour construire un embedding monolingue, nous avons besoin d’une grande quantité de texte brut. C’est justement grâce à cela qu’on peut connaître les contextes dans lesquels apparaissent les mots. C’est pourquoi les corpus de textes bruts de chaque langue qui ont servi à construire chacun des deux embeddings doivent être issus du même domaine. Prenons un exemple : il est tout à fait possible d’aligner deux embeddings issus de Wikipedia (un en français et un anglais). Mais on ne sera pas en mesure d’aligner un embedding issu de Wikipedia en français avec un embedding issu de PubMed, (un corpus de publications médicales) en anglais.
C’est là tout le problème. Dans le domaine biomédical, toutes les langues, excepté l'anglais, sont à faibles ressources (cf. image ci-dessous). Pour résoudre des tâches spécifiques au domaine biomédical, comme la remontée de documents biomédicaux, il semble pourtant nécessaire de pouvoir utiliser un embedding en anglais obtenu à partir de PubMed. Et il est également souhaitable de pouvoir l’aligner sur un embedding en français construit sur Wikipedia, à défaut d’avoir un embedding biomédical en français.
Nombre de mots distincts présents dans un corpus du domaine général (Wikipedia), et deux corpus de domaines spécifiques, PubMed pour le domaine biomédical, et Europarl qui sont des transcriptions de débats au Parlement Européen. Tiré de notre article [1]
Comment aligner des word embeddings de domaines différents ?
Malheureusement, les méthodes évoquées plus haut pour aligner des embeddings de langues différentes ne fonctionnent pas lorsque ceux-ci proviennent de domaines différents.
Dans notre article [1], nous montrons que l'échec de ces méthodes est principalement dû à la présence de vocabulaire spécifique dans chaque domaine. Nous formulons alors l’hypothèse qu’il est possible de proposer un alignement partiel fondé sur le vocabulaire commun aux deux domaines. Nous obtenons alors de bons résultats en traduction mot-à-mot. Ces aboutissements sont un premier pas prometteur vers la constitution de word embeddings multilingues et multi-domaines.
Les méthodes classiques d’alignement d’embeddings cherchent, la plupart du temps, à aligner la totalité des embeddings ensemble (centre de la figure ci-dessous). Or, c’est ce qui pose problème. En effet, des corpus de domaines différents ne vont pas utiliser le même vocabulaire. Nous pensons donc que c’est l’un des facteurs majeurs de l’échec de l’alignement. Notre hypothèse est la suivante : il suffirait d’être capable de trouver le bon sous-ensemble de vocabulaire de chaque embedding pour pouvoir réaliser un alignement partiel. Dans le schéma ci-dessous, on souhaite aligner “cellule”, “médicament” et “protéine” avec leur traduction respective, mais il faut alors délaisser “phenylenediamines”, “diplodocus” et “broadway” qui sont spécifiques à leur domaine.
Construire une première méthode pour montrer qu’un alignement est possible
Dans notre article, nous proposons une nouvelle méthode qui permet d’éliminer les mots spécifiques à chaque domaine et de construire un alignement partiel.
L’idée est de s’appuyer sur un alignement entre deux embeddings de même domaine pour construire un dictionnaire qui servira à aligner deux embeddings de domaines différents.
La méthode est simple : pour aligner deux embeddings de langues et domaines différents, nous avons besoin d’un troisième embedding du même domaine que l’un, et de même langue que l’autre. Ainsi, pour aligner un embedding construit sur Wikipedia en français avec un embedding de PubMed en anglais, on s’appuiera sur un embedding de Wikipedia en anglais.
Dans notre cas, cela fait sens d’utiliser un troisième embedding, car les ressources non-anglaises sont rares dans le domaine spécifique du biomédical, mais pas dans le domaine général, comme on l’a montré plus haut en mesurant le nombre de mots distincts dans différents corpus.
Nous évaluons notre méthode sur un corpus de traduction spécifique au domaine biomédical : le corpus Biomedical WMT19 (lien), fondé sur des abstracts PubMed. Nous utilisons les embeddings alignés avec différentes méthodes pour faire une traduction mot-à-mot évaluée avec le BLEU-1 score [8].
Notre méthode s’applique entre des embeddings de domaines différents. Nous la comparons avec trois méthodes d’alignement classiques : MUSE [4], Wasserstein-Procrustes [5] et VecMap [6], que nous appliquons d’une part aux mêmes embeddings de domaines différents, et d’autres part, à des embeddings de mêmes domaines (tous issus de Wikipedia). Nous répétons l’expérience pour quatre paires de langues (français-anglais, allemand-anglais, espagnol-anglais et portugais-anglais) et reportons la moyenne des résultats dans la figure suivante :
Les résultats reportés à la figure ci-dessus montrent plusieurs choses.
Tout d’abord, nous constatons, comme le montrent d’autres travaux [7], que les méthodes d’alignement classiques donnent de faibles résultats lorsque les embeddings proviennent de domaines différents. Les trois méthodes classiques (MUSE, WP, VecMap à gauche) obtiennent en effet des scores proches de 0 lorsqu’on tente d’aligner des embeddings de domaines différents alors qu’ils donnent de très bon résultats lorsqu’on aligne des embeddings de mêmes domaines (à droite).
Il serait donc tentant de penser qu’un alignement entre des embeddings de différents domaines n’est pas possible. C’est là que notre méthode fait ses preuves : nous réussissons à obtenir des résultats proches d’alignements entre embeddings de même domaine. Le faible écart avec ces méthodes indique que notre hypothèse est vérifiée et concluante : c’est bien la présence de vocabulaire spécifique à chaque domaine qui est un facteur important de l’échec des alignements entre domaines.
Enfin, pour nous assurer que notre méthode donne bien une forme d’alignement partiel, nous appliquons une méthode de réduction de dimension appelée t-SNE [9] pour pouvoir projeter nos embeddings alignés dans un espace à deux dimensions.
Lorsqu’on aligne deux embeddings de mêmes domaines avec une méthode classique (ici VecMap à gauche), on obtient un alignement total des deux embeddings (français en bleu, anglais en jaune) et on observe un alignement local de grappes de points.
Mais lorsqu’on aligne des embeddings de domaines différents avec la même méthode (au centre), on a certes, toujours un alignement global, mais les grappes de points ne semblent plus coïncider.
Enfin, quand on aligne ces mêmes embeddings de domaines différents avec notre méthode (à droite), on obtient bien l’alignement partiel attendu qui amène de meilleurs résultats que la méthode d’alignement classique appliquée aux mêmes embeddings.
Conclusion et recherches futures
Nos travaux ont montré que les méthodes d’alignement d’embeddings ne sont pas nécessairement vouées à l’échec quand les embeddings proviennent de domaines différents. Nous avons également démontré que la présence de mots spécifiques à chaque domaine était la cause principale des mauvais résultats de ces méthodes.
La méthode que nous proposons ouvre la voie à d’autres algorithmes encore plus performants capables de réaliser de tels alignements partiels. C’est pourquoi nous continuons nos recherches dans ce sens. À terme, nous sommes convaincus que cela nous permettra de construire des modèles de langage multilingues adaptés au domaine biomédical. Nous pourrons ainsi répondre aux questions des médecins avec à la fois les recommandations officielles en français les plus pertinentes et les articles scientifiques en anglais qui vont avec. En parallèle, d’autres travaux en cours s’attellent à étudier et construire des modèles de deep learning capables d’être entraînés dans une langue et appliqués à une autre. Ces travaux vont permettre de répliquer plus rapidement l’outil d’aide à la décision Posos dans d’autres langues.
Références
Notre article publié à la conférence ICONIP 2021 pour plus de détails sur les travaux présentés ici:
[1] Félix Gaschi, Parisa Rastin et Yannick Toussaint. Handling the deviation from isometry between domains and languages in word embeddings: Applications to biomedical text translation. **In Proceedings of the 28th International Conference on Neural Information Processing (ICONIP2021), Bali, Indonesia, 2021. Asia PacificNeural Network Society. (lien)
Pour en savoir sur les word embedding multilingues, un livre sur le sujet:
[2] Anders Sogaard, Manaal Faruqui, Ivan Vulic, and Sebastian Ruder. Cross-Lingual Word Embeddings. Morgan and Claypool Publishers, 2019.
Un article de référence sur la construction de word embeddings:
[3] Tomas Mikolov, Kai Chen, Greg Corrado, and Jeffrey Dean. Efficient estimation of word representations in vector space, 2013.
Trois méthodes d’alignement d’embeddings (respectivement MUSE, Wasserstein-Procrustes et VecMap):
[4] Conneau, A., Lample, G., Ranzato, M., Denoyer, L., J ́egou, H.: Word translation without parallel data (2017), http://arxiv.org/abs/1710.04087
[5] Joulin, A., Bojanowski, P., Mikolov, T., J ́egou, H., Grave, E.: Loss in translation: Learning bilingual word mapping with a retrieval criterion. In: Proceedings of the 2018 Conference of EMNLP (2018). https://doi.org/10.18653/v1/D18-1330 [6] Artetxe, M., Labaka, G., Agirre, E.: A robust self-learning method for fully unsu- pervised cross-lingual mappings of word embeddings. In: Proceedings of the 56th Annual Meeting of ACL (2018). https://doi.org/10.18653/v1/P18-1073
Un article présentant en détails les limites des méthodes d’alignement classique
[7] Søgaard, A., Ruder, S., Vuli ́c, I.: On the limitations of unsupervised bilingual dictionary induction. In: Proceedings of the 56th Annual Meeting of ACL (2018). https://doi.org/10.18653/v1/P18-1072
L’article qui introduit le BLEU score:
[8] Papineni, K., Roukos, S., Ward, T., Zhu, W.J.: Bleu: A method for automatic evaluation of machine translation. In: Proceedings of the 40th Annual Meeting of ACL (2002), https://doi.org/10.3115/1073083.1073135
L’article qui introduit la t-SNE:
[9] van der Maaten, L., Hinton, G.: Visualizing data using t-sne. Journal of Machine Learning Research 9(86), 2579–2605 (2008)