Révision de contrat  automatisée grâce au natural language processing

Portrait de Roumaissa Omari
Roumaissa Omari
31 Mai, 2023
4 minutes

La revue de contrat est une tâche fastidieuse, les avocats revoient manuellement des centaines de pages et cela peut mener à différentes erreurs et informations manquées.​
C’est l’une des tâches les plus répétitives que doivent accomplir les jeunes associés d’un cabinet d’avocats. Elle est également coûteuse et constitue une utilisation inefficace des compétences d’un professionnel du droit.

Schéma des impacts négatifs liés à la révision de contrat

Dans ce billet de blog, je montre qu’avec les récentes avancées en traitement automatique du langage naturel, les modèles de machine learning peuvent extraire les informations importantes d’un contrat permettant alors un important gain de temps et une meilleure gestion des ressources.

1. Définition du natural language processing (NLP)

Le NLP est un domaine de la linguistique et de l'apprentissage automatique axé sur la compréhension de tout ce qui a trait au langage humain. L'objectif des tâches NLP n'est pas seulement de comprendre les mots individuellement, mais aussi de pouvoir comprendre le contexte de ces mots.
Pourquoi est-ce un défi ?
Les ordinateurs ne traitent pas les informations de la même manière que les humains. Par exemple, lorsque nous lisons la phrase "J'ai faim", nous pouvons facilement en comprendre le sens. De même, si l'on nous donne deux phrases telles que "J'ai faim" et "Je suis triste", nous pouvons facilement déterminer dans quelle mesure elles sont similaires.
Pour les modèles d'apprentissage (ML), ces tâches sont plus difficiles. Le texte doit être traité de manière à permettre au modèle d'en tirer des enseignements. Et comme le langage est complexe, nous devons réfléchir soigneusement à la manière dont ce traitement doit être effectué.

2. Hugging Face et Transformers

Hugging Face est la principale start-up spécialisée dans le traitement automatique du langage. Plus d'un millier d'entreprises utilisent sa bibliothèque en production, notamment Bing, Apple et Monzo.
_Transformers_ a été créé en 2020 par HuggingFace. Le nom complet de la librairie est “_Transformers : State-of-the-Art Natural Language Processing_“. Elle permet d’avoir les algorithmes à la pointe de la Recherche (état de l’art) en NLP.
La librairie Transformers permet d’effectuer différentes tâches : Question Answering, Résumé et génération de texte (et bien plus) en un temps record.  
Architecture du modèle transformer (schéma très simplifié) :

Architecture du modèle transformer en schéma simplifié

Le modèle est principalement composé de deux blocs :
- L'encodeur (à gauche) : reçoit une entrée et construit une représentation de celle-ci (ses caractéristiques). Cela signifie que le modèle est optimisé pour acquérir la compréhension de l'entrée.
- Décodeur (à droite) : utilise la représentation de l'encodeur (caractéristiques) avec d'autres entrées pour générer une séquence cible. Cela signifie que le modèle est optimisé pour générer des sorties.

Chacune de ces parties peut être utilisée indépendamment, en fonction de la tâche à accomplir :
- Modèles à encodeur seul : Bon pour les tâches qui nécessitent la compréhension de l'entrée, comme la classification des phrases et la reconnaissance des entités nommées (NER).
- Modèles de décodeur uniquement : Bon pour les tâches génératives telles que la génération de texte.
-Modèles encodeur décodeur ou modèles séquence-à-séquence : Bon pour les tâches génératives qui nécessitent une entrée, comme la traduction ou le résumé.

 3. Question Answering

Le Question Answering consiste à créer un modèle de Deep Learning qui peut répondre à nos questions.
On donne à notre algorithme en entrée le texte que l’on veut analyser et la question dont il faudra extraire la réponse à partir du texte.
On commence par choisir un modèle pré entraîné et son tokenizer associé (qui permettra de transformer les mots en vecteurs pour que la machine puisse comprendre)
Ici, on choisit le modèle BERT uncased qui n’est pas sensible aux différences de mots avec ou sans majuscule (Chocolat / chocolat).
BERT est un modèle de transformers pré entraîné sur un large corpus de données anglaises de manière auto supervisée. Cela signifie qu'il a été pré entraîné sur les textes bruts uniquement, sans aucun étiquetage humain (c'est pourquoi il peut utiliser de nombreuses données publiques) avec un processus automatique pour générer des entrées et des étiquettes à partir de ces textes. Le modèle a ensuite été entraîné sur une base de donnée SQuAD (Stanford Question Answering Dataset).
Pour ce cas applicatif le modèle utilise uniquement l'encodeur car l'objectif est d'extraire la partie du texte qui répond à la question posée afin de ne rien reformuler pour ne pas perdre l'information.

Screenshot du code qui illustre le texte

Puis on prend un extrait de notre contrat (ici les 300 premiers mots) qui sera le contexte.

Screenshot du code qui illustre le texte

et enfin on lui pose nos questions, tout en indiquant notre extrait ici avec la variable "context".

Screenshot du code qui illustre le texte

Résultat :

Screenshot du code qui illustre le texte

4. Conclusion

On a donc pu voir comment le NLP pouvait être appliqué avec succès à un cas d’utilisation spécifique.
Cette même démarche peut être utilisée dans plusieurs secteurs autres que le juridique, comme le parcours d’articles, de commentaires clients et bien d'autres.
Pour aller plus loin, la prochaine étape serait de transformer ces informations récupérées (type de contrat - type de traitement et date effective) à un autre niveau sémentique en appliquant de la reconnaissance d'entité nommée (NER) sur le texte pour entraîner un modèle qui par la suite les reconnaîtra directement.

5. Références