Mélusine 2.0, en avant vers les modèles d’attention !

Tiphaine Fabre
OSS by MAIF
Published in
5 min readOct 2, 2020

C’était il y a 1 an et 6 mois maintenant. Nous vous présentions Mélusine, une solution Open source MAIF permettant la qualification des emails entrants grâce à des techniques avancées de traitement du langage, développée avec notre partenaire Quantmetry. 6 mois plus tard, c’était au tour de notre nouvelle brique éthique de venir compléter le projet. Aujourd’hui, nous sommes fiers de vous annoncer une mise à jour majeure de la solution puisque nous faisons évoluer les algorithmes d’intelligence artificielle au cœur même de Melusine !

Nous proposions jusqu’à présent des réseaux de neurones à convolution ou récurrents pour classifier les emails. En effet, ces derniers étaient les architectures à l’état de l’art du traitement automatique du langage. Mais les récents progrès dans le domaine nous ont poussé à éprouver les méthodes à attention. Introduits en 2014 par Yoshua Bengio dans la publication scientifique « Neural machine translation by jointly learning to align and translate» pour une tâche de traduction automatique et généralisés par la suite pour diverses tâches de NLP, les modèles d’attention sont maintenant très utilisés voire même devenus incontournables. Il nous semblait donc essentiel d’intégrer ce type de modèles.

Mais en quoi consistent ces modèles d’attention?

Ils présentent des différences structurelles avec les architectures évoquées. Les réseaux de convolutions vont progressivement abstraire le sens des mails par des opérations locales. Selon la profondeur du réseau, les couches cachées font émerger des motifs en fonction des mots d’un même voisinage. Pour les réseaux récurrents, les mots sont traités séquentiellement. Les couches cachées dépendent des états précédents, un peu comme si on lisait le texte de gauche à droite. Pour les méthodes d’attention, les couches cachées sont mises à jour simultanément et dépendent de l’ensemble des états précédents.

En pratique, ces modèles d’attention prennent en entrée une séquence de mots et un vecteur de contexte et produisent en sortie une somme pondérée des vecteurs de la séquence. Les poids de pondérations sont calculés à partir du vecteur de contexte. Cette opération est facilement parallélisable, ce qui rend son implémentation extrêmement efficace !

Les opérations d’attentions sont généralement agrégées pour composer un réseau plus profond : les Transformers.

Les Transformers, c’est quoi ?

Cette architecture a pour origine le modèle Transformer présenté par Google AI en 2017. Le modèle est illustré ci-dessous et se compose d’un empilement de plusieurs couches similaires qui s’appuient en particulier sur le mécanisme d’attention. L’architecture inclue des couches d’encodeurs et de décodeurs qui permettent respectivement d’encoder ou de générer du texte. L’architecture peut ainsi être utilisée dans divers configurations :

  • Encodeur-Encodeur : l’attention de chaque token de la séquence d’entrée se porte vers tous les autres tokens de cette séquence.
  • Encodeur-Décodeur : l’attention du token à prédire est portée à tous les tokens de la séquence d’entrée.
  • Décodeur-Décodeur : L’attention du token à prédire se porte sur les tokens qui le précèdent et les tokens déjà prédits se regardent entre eux.

Qu’est-ce que BERT a de plus ?

BERT (Bidirectional Encoder Representations from Transformers) utilise l’architecture Transformer. Il s’agit d’une architecture pour encoder le texte qui ne contient donc que des couches d’encodeurs. Une particularité du modèle est qu’il est pré-entrainé. Le modèle a été initialisé en apprenant à réaliser une tâche de manière auto-supervisée. Des mots sont volontairement masqués dans le jeu d’entrainement et BERT apprend à prédire ces mots masqués, on parle de « Masked Language Model ». Ce pré-entrainement s’effectue sur un grand volume de données couvrant divers sujets et donne à BERT une capacité à traiter des tâches spécialisées. Le modèle est ensuite fine-tuné : on l’entraine avec un faible taux d’apprentissage sur une tâche précise. Il surclasse de nombreux modèles spécialisés sur les tâches NLP de référence (SQuAD, GLUE, BLEU)

La mise à disposition, en 2019, de modèles BERT pré-entrainés en français a également pesé dans la balance. La majorité du flux email traité par la MAIF étant en français, l’usage des modèles CamemBERT et FlauBERT nous apportera, nous l’espérons, un apport conséquent dans l’optimisation du routage et l’amélioration du quotidien de nos conseillers MAIF. Comme illustré ci-dessous, nous avons adapté l’architecture pour inclure l’usage de méta données (pièces jointes, heure d’envoi …) en complément de Bert.

À vous de jouer!

En attendant, Melusine 2.0 vous permet d’expérimenter par vous-même les modèles disponibles dans la librairie Transformers de la start-up Hugging Face ou les modèles CamemBERT ou FlauBERT que vous auriez déjà fine-tuné en local !

Un tutoriel vous accompagne sur l’utilisation des différentes architectures disponibles. Testez et n’hésitez pas à nous faire des retours ou à laisser une “star” sur le GitHub !

--

--

Tiphaine Fabre
OSS by MAIF

Data Scientist NLP at MAIF — Contributor to Melusine