Une IA appliquée à l’extraction d’information dans des textes non formatés
Présentation
Exemple d’entraînement et d’usage d’une IA appliquée au traitement automatisé du langage
Extraction d’information
L’extraction d’information (information retrieval - IR - en anglais) est une tâche classique en traitement automatisé du langage et s’il existe de nombreux exemples en anglais on trouve peu de cas d’usage dans la langue de Molière. L’objectif ici est de repérer des éléments spécifiques dans des textes de jurisprudence, plus spécifiquement les dates d’accident et de consolidation, sachant qu’il y a un nombre conséquent de dates qui apparaissent.
Eléments contextuels
Lors de la procédure de suivi des conséquences d’un accident on peut détailler les étapes suivantes:
- date de l’accident
- date de déclaration du sinistre
- date de consolidation (la consolidation correspond à la stabilisation de l’état de santé de la victime après un accident)
- date de décision judicière d’indemnisation lorsque l’assurance et la victime ne se mettent pas d’accord sur le montant à verser par l’assureur.
Le but ici est de trouver la date de l’accident et l’éventuelle date de consolidation dans chaque texte de jurisprudence proposé.
L’IA est entraînée sur un reccueil d’environ 600 textes pour lesquelles les dates recherchées ont été annotées.
On présente ensuite une centaine de textes qu’elle n’a jamais vu pour évaluer ses performances. Le modèle actuel permet d’obenir un taux de réussite d’environ 83%.
Exemple sur un texte pris au hasard
Théorie et pratique
Sous le capot de notre IA
Etapes de la construction du modèle d’apprentissage utilisé:
- Repérer les dates dans les documents en utilisant des expressions régulières.
- Construction d’un ensemble d’entraînement avec autour de chaque date une fenêtre de mots à considérer (hyperparamètre qui sera optimisé dans les phases de recherches).
- Pour chaque document proposé pour l’entraînement de l’IA on connait les dates cibles, ce qui permet d’avoir un jeu de donnée avec les étiquettes correspondantes (date recherchée ou pas). Bien sûr comme souvent en NLP le jeu de données final est très déséquilibré, ce qui nous contraint dans le choix des métriques d’évaluation du modèle.
- Vectorisation des “phrases” autour des dates pour pouvoir utiliser un classificateur. La première phase est de transformer des chaines de caractères de chacun des mots en vecteurs numériques de grande dimension. Dans l’exemple présenté nous utilisons une version de Bert proposée par l’INRIA: CamemBERT. Les mots-vecteurs sont utilisés sans “fine tuning” au vu la faible taille de l’ensemble d’entraînement.
- Ces vecteurs sont injectés dans un réseau neuronal récurrent (RNN) avec des cellules de type LSTM. Ce qui permet d’extraire pour chaque phrase un vecteur spécifique qui est envoyé dans un classificateur du type réseau neuronal simple couche. L’entraînement permet de spécifier l’ensemble des poids correpondants aux degrés de liberté de notre système.
Inférence
Une fois la phase d’apprentissage effectuée, notre IA est maintenant entraînée et nous pouvons lui présenter de nouveaux textes de jurisprudence auxquels elle n’a pas été confrontée. C’est ce qui est proposé sur ce site, tous les textes sont nouveaux pour notre IA. Sachant que pour la pertinence de la démo, ce sont des textes annotés qui sont présentés afin de pouvoir présenter un comparatif entre les dates réelles et les dates inférées.
L’intérêt de ce type d’IA est qu’un opérateur peut valider les nouveaux résultats et ainsi accroitre le nombre de textes annotés. De nouveaux entraînements de l’IA sur des ensembles plus vastes permettent d’en augmenter les performances au fur et à mesure.
Les résultats de l’analyse d’un texte par l’IA sont présentés sous la forme de deux cadrans. Pour des raisons de praticité pour surligner les éléments informatifs le texte initial est un peu modifié: les dates sont toutes formatées.