Exploiter efficacement les bases de données juridiques pour la recherche d’antériorité

|

|

Le besoin
La solution
Ils peuvent vous aider

Le besoin

La recherche documentaire en droit

Lorsque nous préparons la défense d’un client pour un cas, nous procédons à une recherche documentaire qui se décline en plusieurs étapes.

Circonscrire le champ du droit

Premièrement, il faut identifier les questions juridiques clés et circonscrire le cas à un domaine et une branche du droit. Pour cela, nous pouvons utiliser un dictionnaire juridique.

Identifier des mots-clés

Ensuite, un premier jeu de mots-clés est constitué, qui contient des mots en langage courant, des termes juridiques, des identifiants juridiques ou encore des noms de personnes physiques ou morales. Ces mots-clés peuvent être étendus par des synonymes, des antonymes, des termes proches plus génériques ou plus spécifiques en exploitant pour ce faire un thésaurus. Ces mots-clés servent ensuite à interroger les sources de données jurisprudentielles telles que Légifrance ou encore la base de données Judilibre de la Cour de Cassation grâce à leurs moteurs de recherche, afin d’obtenir des jugements ou arrêts qui ont été prononcés sur des cas similaires.

Améliorer les mots-clés

S’il y a trop peu de résultats, des mots-clés plus génériques sont utilisés. A l’inverse, des mots-clés spécifiques permettent de restreindre la recherche s’il y a trop de résultats. Les résultats peuvent également être limités aux tribunaux de la juridiction dont dépend le client. 

Il y a un compromis à trouver entre exploration (parcours rapide de la base de donnée) et exploitation (la lecture fine de documents sélectionnés). 

Une fois des décisions ou jugements intéressants identifiés, la liste des mots-clés peut être améliorée à partir de leur indexation. 

Utilisation de la doctrine

La dernière étape consiste à rechercher dans la doctrine, les commentaires des auteurs en droits sur les jugements et les décisions les plus pertinents. Cela permet de consolider notre analyse du raisonnement juridique à l'œuvre et donc de les exploiter de manière optimale dans la construction de la défense du client.

Un processus de recherche documentaire sous-optimal

Cette recherche documentaire est itérative et arborescente. Par conséquent, elle peut être considérablement chronophage selon le niveau d’expertise et d’expérience du juriste et selon qu’il existe ou non une jurisprudence directement applicable au cas traité. A l’inverse limité le temps de recherche se paie par le prix du temps de travail d’avocats ou juristes chevronnés, ou alors par le risque de passer à côté d’une jurisprudence pertinente, voire pire, un revirement de jurisprudence.

Le Traitement Automatique des Langues peut-il permettre de réduire le temps et le niveau d’expertise nécessaire pour trouver les jurisprudences pertinentes ?

La solution

Optimiser la recherche juridique

Vers une recherche textuelle efficace

Le problème posé est celui de la recherche textuelle. Il s’agit en effet de retrouver dans une base de données, des documents textuels pertinents.

Une part importante du processus de recherche est passée à optimiser les mots-clés à utiliser pour trouver les documents intéressants. Ce temps de travail inclut en particulier la consultation de plusieurs documents, en début de recherche, dont certains sont peu pertinents par rapport à la défense à construire, du fait de la faiblesse sémantique des requêtes par mots-clés.

Grâce au TAL, il est possible de réduire ce temps en utilisant comme clé de requête une description textuelle qui traduit mieux la spécificité du cas qu’une liste de mots-clés. 

La solution qui sera présentée dispose d’une capacité de représentation du sens des documents qui réduit la consultation de documents peu pertinents.

Les données

Mais avant toute chose, pour pouvoir mettre en œuvre une solution TAL, il faut procéder à la collecte des données textuelles. Il existe plusieurs bases de données publiques donnant accès à la jurisprudence. Dans le cas du droit privé, la principale source est la base de données de la Cour de Cassation. La majorité des documents de cette base de données se retrouve également sur Légifrance, qui est régulièrement mis à jour. Légifrance constituant une source de données juridique plus riche, il servira de référence par la suite. A date, la base de données de Légifrance comporte 588 080 textes en jurisprudence judiciaire. Il est possible de les télécharger via une API.

 

Vectorisation par plongement sémantique

 

Construction de la requête à partir d’une description du cas

Comme mentionné précédemment, une méthode de recherche plus efficace consiste à rechercher les décisions pertinentes à partir d’une description du cas. Celle-ci doit comporter le type d’information que l’on retrouve dans les décisions à savoir, selon leur juridiction de provenance, les faits ou les parties de la décision contestée qui seront attaquées, l’état des procédures antérieures, les prétentions et les moyens juridiques

Il faut ensuite évaluer la similarité sémantique entre cette description d’une part, et les documents collectés d’autre part. 

 

Vectorisation

Il existe plusieurs approches pour  évaluer la proximité sémantique entre documents. La plus indiquée dans le présent cas d’usage est la vectorisation qui consiste à représenter les documents à comparer sous la forme de vecteurs numériques dans un espace euclidien. 

Plus précisément, ces représentations vectorielles peuvent être obtenues par le biais de modèles de langue de grande taille. Ils ont l’avantage de reposer une modélisation des relations contextuelles entre les mots dans de vastes corpus textuels, ce qui les rend efficaces pour mesurer la proximité sémantique. Les représentations vectorielles qui en dérivent sont pour cette raison appelées des plongements sémantiques. Ils sont d’autant plus adaptés aux documents juridiques que ceux-ci mêlent langue juridique et langue courante (par exemple dans le rapport de faits). La vectorisation de la base de données entière a un coût calculatoire non négligeable, mais qui est payé une fois pour toutes. 

Mesure de similarité

Après avoir vectorisé les textes, il est possible d’identifier sur l’ensemble de la base de données, ceux qui sont sémantiquement les plus proches de la description qui a servi pour la requête. Cette procédure ne nécessite pas d’optimisation par essai-erreur des mots-clés. Le juriste peut alors focaliser son attention sur les documents ayant reçu les scores de similarité les plus élevés. Toutefois, il convient de noter que les plongements sémantiques sont généralement des vecteurs en plusieurs centaines de dimensions. Un calcul naïf des similarités entre le vecteur décrivant le cas et les milliers de vecteurs, correspondant à chaque document de la base de données, pourrait engendrer des temps de réponse potentiellement inconfortables dans le cadre d'une utilisation quotidienne, en fonction des ressources informatiques dédiées à cette tâche.

Les bases de données vectorielles proposent précisément une méthodologie permettant d’optimiser des requêtes sur des données vectorielles. 

Base de données vectorielles

Une base de données vectorielle est une base de données qui stocke les données sous forme vectorielle. Elle est conçue pour stocker des données non structurées ou semi-structurées, telles que des vecteurs numériques, des représentations d'images, des plongements sémantiques et permettent de les rechercher de manière rapide et efficace. Elles s’appuient pour cela sur des techniques d’indexation qui permettent de faire une recherche approximative des plus proches voisins (approximate nearest neighbors search). La recherche approximative des plus proches voisins consiste à trouver des éléments similaires à un élément donné dans une grande collection de données, mais avec une tolérance à une légère inexactitude pour accélérer la recherche.

 

Techniques d' indexation

L’une des techniques d’indexation populaires est la “Product Quantization”, qui est la plus appropriée dans notre contexte. La "Product Quantization" est une technique utilisée en traitement de données pour diviser un espace de données en sous-espaces, ce qui permet de réduire la complexité des recherches tout en préservant la qualité des résultats. Cela facilite la recherche rapide d'éléments similaires dans de grandes bases de données vectorielles. Elle est effectuée en plusieurs phases, à savoir :

  • Division en sous-espaces,
  • Quantification de chaque sous-espace,
  • Création de codes,
  • Création de l'index.

Division en sous-espaces

Elle commence par diviser l’espace des plongements sémantiques en sous-espaces. Par exemple, si l'espace vectoriel a 512 dimensions, il peut être divisé en 16 sous-espaces de 32 dimensions chacun. Autrement dit, chaque plongement sémantique est divisé en 16 parties.  

Quantification de chaque sous-espace

Ensuite, chaque sous-espace est quantifié indépendamment. Cela signifie que les “sous-vecteurs” sont attribués à des prototypes dans chaque sous-espace. Chaque prototype est un vecteur moyen qui représente un groupe de vecteurs de données similaires dans ce sous-espace. Ils peuvent être obtenus en utilisant l’algorithme des k-moyennes par exemple.  L'algorithme des k-moyennes est une méthode pour regrouper des données en groupes en fonction de leurs similarités.

Création de codes

A chaque plongement sémantique de la base de données, un code est attribué en fonction des prototypes auxquels il est associé dans chaque sous-espace. Ce sont les "codes de quantification". 

Création de l'index

Les codes obtenus sont ensuite utilisés pour créer un index qui les associe aux documents correspondant dans la base de données. 

 

Recherche rapide 

Lorsqu'on recherche un document, la description du cas fournie pour la requête est également quantifiée en utilisant la même méthode. Ensuite, l'index et les prototypes sont utilisés pour calculer à moindre coût, une valeur approchée de la distance entre le plongement sémantique de la requête et ceux des documents de la base de données.  La quantification permet aussi de compresser la base de données vectorielle puisqu’on ne stocke que les prototypes et l’index.

Le compromis entre précision et coût computationnel est ajusté par le nombre de prototypes utilisés pour quantifier chaque sous-espace vectoriel.

 

Métadonnées : présélectionner les documents

Une base de données vectorielle peut également intégrer sous forme de métadonnées des informations catégoriques telles que la date, le nom de juridiction, la nature de la décision, et tout autre indication que le moteur de recherche de Légifrance donne la possibilité de fournir.

Cela donne la possibilité de filtrer les documents candidats en amont ou en aval de la requête par la base de données vectorielle.  

 

Exploiter la structure des documents

Les documents de jurisprudence obéissent à une codification relativement stable. Leur contenu doit être pris en compte dans la rédaction de la requête à fournir pour rechercher les documents. Il serait tout aussi judicieux de la prendre en compte explicitement dans la vectorisation du document elle-même.

En effet, les décisions judiciaires comprennent des sections clés telles que les visas, la présentation du litige, les motivations et le dispositif. Chacune de ces sections possède sa propre structure et contient des informations de nature différente. Une approche possible consiste à segmenter automatiquement le texte afin d'identifier ces sections individuellement dans les documents jurisprudentiels, puis à les vectoriser séparément. Cette approche améliorerait considérablement la résolution des informations encapsulées dans les vecteurs ainsi créés. Cependant, il serait nécessaire de disposer de documents de décision préalablement annotés pour entraîner un modèle de segmentation de texte.

Points d'attention

Complexité des textes

Les textes juridiques se caractérisent par une complexité notable à plusieurs égards. D'abord, leur langue est parsemée d'une terminologie juridique spécifique, parfois dotée d'une structure interne, ce qui ajoute une couche de complexité à leur compréhension. Ces termes sont souvent normalisés dans les dictionnaires de langage juridique, mais chaque domaine du droit, comme le droit de la famille ou le droit pénal, introduit ses propres terminologies. Cette richesse lexicale est accentuée par l'intégration fréquente d'expressions courantes dans le langage juridique, exigeant une analyse minutieuse pour une compréhension précise. De plus, les phrases juridiques sont souvent longues, complexes, et comportent des clauses imbriquées et des zones d'ambiguïté, nécessitant des outils de traitement du langage naturel spécialement adaptés.

Complexité des corpus

Au-delà de la complexité linguistique, les corpus juridiques eux-mêmes sont structurés et interconnectés. Un texte juridique ne peut être interprété de manière isolée ; il doit être examiné dans le contexte de la loi à laquelle il est rattaché, ainsi que des autres textes qui y sont liés par des définitions, des références, des citations, ou des relations sémantiques. Dans la jurisprudence, les cas sont également liés sémantiquement par des relations de confirmation, de rejet, et d'autres concepts similaires. De plus, les textes juridiques peuvent être sujets à des mises à jour, rendant certaines parties du texte obsolètes et nécessitant une gestion délicate. Face à ces complexités, les avancées dans le domaine du traitement du langage naturel sont essentielles pour faciliter la compréhension et l'utilisation des sources juridiques riches et variées.

Modéliser le raisonnement juridique 

Une perspective fascinante consiste à anticiper les issues judiciaires pour des cas particuliers en s'appuyant sur les décisions antérieures des tribunaux dans des situations analogues. Cette approche peut reposer sur l'utilisation d'un modèle de réseaux de neurones, entraîné pour identifier les éléments textuels qui permettent de prédire les décisions juridiques. De cette manière, un tel modèle peut éclairer la relation entre les circonstances d'un cas donné et son dénouement. Cependant, cette approche repose sur plusieurs hypothèses fondamentales, notamment la possibilité de quantifier les aspects du langage juridique, la présence de corrélations statistiques suffisantes pour prédire les résultats juridiques, ainsi que la supposition que les juges qui traitent des affaires similaires font preuve de rationalité et de cohérence dans leurs décisions.

Par Effa Emma
NLP data Scientist