Le Machine Learning est à son heure la plus perturbatrice, ayant de plus en plus d'impact dans les applications du monde réel. C'est particulièrement le cas dans un domaine : le traitement des documents longs.
Les entreprises des secteurs tels que les médias, la finance, la juridiction, l'éducation, etc. ont tendance à accumuler une grande quantité de documents de taille moyenne à longue. Le plus souvent, ces documents et la base de données qui les contient ne sont pas très bien structurés. Le fait de ne pas pouvoir les organiser et en extraire des informations précieuses représente un coût d'opportunité important.
Et pourtant, d'un point de vue technique, il est très difficile de traiter des documents aussi longs. En effet, le monde de la recherche en TAL est axé sur l'évaluation des modèles sur des tâches de petits textes. Les modèles de pointe qui en sont issus ont généralement un nombre maximum de tokens d'entrée autorisés - c'est-à-dire un nombre maximum de mots autorisés dans votre texte d'entrée.
Mais notre équipe d'experts du ML6 doit trouver des solutions créatives pour résoudre ce problème. Voici quelques exemples de la manière dont ils s'y prennent :
En bref, certains modèles peuvent mieux gérer les longues séquences, bien qu'ils soient toujours limités par la taille de l'entrée et ne soient pas nécessairement adaptés à toutes les tâches. Nous avons évalué certains de ces modèles, pour voir lequel serait le plus performant. Vous pouvez trouver nos résultats ici.
D'un point de vue plus technique, comme nous l'avons dit précédemment, les modèles NLP typiques sont assez limités en termes de taille d'entrée. Les modèles traditionnels RNN/LSTM et maintenant Transformers sont entraînés avec une taille fixe. Pour être un peu plus spécifique, des modèles comme BERT avec un mécanisme d'attention totale deviennent quadratiquement dépendants de cette taille (en entraîner un avec une taille d'entrée maximale longue fait exploser votre mémoire). Typiquement, un modèle de transformateur aura une taille d'entrée maximale de 512 tokens. Donc, pour un modèle traditionnel, cet article de blog pourrait déjà être trop long à traiter (environ ~800 mots).
Les personnes intelligentes de l'Allen Institute for AI et de Google Research ont vu ce problème et ont mis en œuvre respectivement le modèle Longformer ( voir article) et le modèle Big Bird (voir article). En combinant des mécanismes d'attention aléatoire, de fenêtre et globale (donc essentiellement des couches d'attention clairsemées), ces modèles ne seraient affectés que linéairement par la longueur de l'entrée. Ils pourraient surpasser des modèles comme RoBERTa sur des tâches d'entrée plus longues et fournir une longueur d'entrée allant jusqu'à 4096 tokens (BigBird).
Si vous voulez plus d'informations à ce sujet, rendez-vous sur notre site Web quick-tip (codes inclus) à ce sujet.
Notez que le problème ici est de traiter des documents longs et pas seulement du texte. Une approche que nous avons adoptée pour un projet à grande échelle consiste à décomposer les documents en clauses, qui peuvent ensuite être traitées individuellement par un modèle de langage.
Dans ce cas, nous nous sommes appuyés sur un modèle de détection d'objets. Essentiellement, nous avons travaillé sur des scans de documents et le modèle pouvait visualiser l'emplacement des différentes clauses. En général, ce type de méthode fonctionne très bien pour extraire des informations structurées, comme des tableaux ou des identifiants. Vous pouvez en savoir plus sur notre solution dans cette vidéo (qui contient également des informations supplémentaires sur le contexte et ce qui est fait sur le texte de chaque clause).
À chaque problème sa solution : Ce type de projet nécessite généralement une approche assez personnalisée. Il peut par exemple utiliser des règles manuelles pour extraire des sections spécifiques du texte (par exemple, trouver des informations de contact dans une grande base de données d'offres d'emploi).
Une approche moins conventionnelle consiste à utiliser le résumé de texte extractif. Vous utilisez donc un modèle supplémentaire pour extraire la partie la plus pertinente de votre texte.
Cela signifie qu'il faut combiner un modèle de compression en plus des autres techniques de modélisation que vous utiliserez sur sa sortie → plus de risques de problèmes. Pas nécessairement recommandé.
Mais là encore, dans des cas d'utilisation spécifiques, il peut s'agir d'un outil pratique (par exemple, résumer de longues réunions pour en extraire des informations pertinentes). Vous pouvez avoir un aperçu de ce qui est possible avec les modèles de résumé dans ce billet de blog et même l'essayer vous-même avec cette démo.
Il est clair que la capacité de traiter et d'extraire des informations clés d'une base de données de documents volumineux est extrêmement précieuse pour de nombreuses institutions. Les données sont le nouveau pétrole, il nous faut maintenant des moyens de les exploiter.
D'autre part, il est très difficile d'un point de vue technique de traiter ces longs documents. Nous avons fait face à ce défi au ML6 et avons essayé de mettre en place quelques moyens de le faire.