Return to site

Peut-on mobiliser instantanément ses connaissances métiers grâce à l’intelligence artificielle ?

· NLP,Search Engine,ElasticSearch,TAL,Machine Learning

Au fil du temps et des projets, une entreprise accumule de nombreuses connaissances métiers. Formelles ou informelles, elles s’enregistrent sous de nombreux formats à l’écrit : PDFs, articles et sources externes, documents word, messages… Ces informations récoltées constituent un capital et une culture propre, difficile à exploiter au quotidien sans développer les bons outils.
 

Il est difficile de lier une question pratique, dans le langage d’une entreprise, aux réponses multiples que propose une base variée de connaissances.

Ce qui est valable en entreprise l’est aussi pour les professions libérales, dont la médecine et la pharmacie.
 

Au quotidien, les personnels de santé ont besoin de puiser dans l’infinie culture médicale. Les questions qu’ils se posent sont techniques, plus ou moins précises, et essentiellement très différentes. Par exemple :

- Quel médicament traite une maladie ?
- Quelles sont les contre-indications d’un médicament ?
- De quelles maladies ce symptôme est-il caractéristique ?

Pour trouver une réponse synthétique et exhaustive à ces questions, il faut s’appuyer sur des dizaines de sources, académiques, professionnelles ou plus informelles.

Pour répondre à ce problème, l’équipe Posos, client d’onogone, développe la première intelligence artificielle capable de comprendre les questions sur les médicaments et de générer immédiatement des réponses fiables en croisant les sources de données officielles validées. Nous nous sommes appuyés sur la richesse des connaissances métiers de Posos et nos outils algorithmiques et mathématiques pour concevoir un moteur de recherche capable d’utiliser une intention et de proposer les réponses utiles au professionnel.
 

Dans le cas de la santé comme de toute industrie, un moteur de recherche doit intégrer des services de traitement du langage naturel spécifiques.

Il doit, par exemple, être capable de reconnaître instantanément les noms multiples, d’usage, familiers ou techniques d’un médicament, d’un symptôme ou d’une maladie. On appelle cela la reconnaissance d’entités nommées (1). On adopte en général une approche fondée sur le deep-learning, qui permet à un algorithme d’apprendre les caractéristiques de l’entité recherchée par rapport à la forme syntaxique de la phrase.
 

Dans le cas des médicaments et de maladies, on peut obtenir de bons résultats sans s’appuyer sur des réseaux de neurones. Par exemple :
- en utilisant des expressions régulières construites avec une trie (arbre préfixe), pour tester la présence d’une famille de médicaments.
- en construisant un dictionnaire, pour s’appuyer sur la complexité généralement en O(1) de l’extraction d’une clef. Cette approche, naïve, est conseillée pour des cas simples.
- en s’appuyant sur une recherche full-text sur une base MongoDB, ElasticSearch ou une base orientée graphe. ElasticSearch est la solution la plus simple à intégrer parce qu’elle est largement paramétrable et moins complexe à maintenir.
 

Ces solutions très différentes nécessitent d’aborder différemment les problèmes que sont la fuzziness (fautes d’orthographe), la synonymie (ou autre parenté de sens), les stopwords (termes à ignorer)… Il faut les coupler à des techniques de tokenisation (extraction d’une unité de sens). Dans certains cas, on utilise aussi la lemmatisation et le stemming (extraction de la racine d’un mot, pour l’identifier dans ses formes multiples) pour augmenter considérablement la performance de notre modèle.

Un réseau de neurones peut détecter de nouveaux médicaments et maladies s’ils sont cités dans un texte, car il s’intéresse au rôle d’une expression dans la phrase, à la séquence de caractères qui la constitue…

On combinera plusieurs approches comprenant du word-level et character-level embedding, et du POS-tagging. Cependant, on peut s’attendre à moins de précision dans la détection d’une entité (une information détectée est parfois fausse).
En allant à la rencontre de métiers et langages multiples, Onogone a développé un service généraliste de traitement de la langue capable de structurer l’information textuelle et les images. Régulièrement, nous l’adaptons aux besoins d’entreprises qui veulent interpréter des millions de connaissances dans leur propre langage, pour faciliter l’accès au savoir à toute leur organisation.

Vous êtes curieux de découvrir les techniques algorithmiques et mathématiques (nlp, machine-learning, deep-learning…) que nous utilisons pour construire ces outils ? N’hésitez pas à laisser vos questions en commentaire.

1. https://fr.wikipedia.org/wiki/Reconnaissance_d%27entit%C3%A9s_nomm%C3%A9es

Auteur : Pierre Magrangeas, CEO chez Onogone
Photo by Franki Chamaki on Unsplash