Robust, Scalable Detection of Text Containment in Large Web-Crawled Corpora
L'article présente FindMyText, un outil Python open-source et évolutif qui exploite le chaînage de signatures distribuées pour détecter avec précision la présence de textes quasi identiques dans de vastes corpus issus du web, surpassant les méthodes existantes sur plusieurs ensembles de données.
Article original sous licence CC BY 4.0 (http://creativecommons.org/licenses/by/4.0/). Ceci est une explication générée par l'IA de l'article ci-dessous. Elle n'a pas été rédigée ni approuvée par les auteurs. Pour une précision technique, consultez l'article original. Lire la clause de non-responsabilité complète
Imaginez que vous possédez une immense bibliothèque poussiéreuse contenant des milliards de livres, de sites web et d'articles — tellement nombreux qu'il faudrait une vie humaine pour tous les lire. Maintenant, imaginez que quelqu'un vous remette un seul paragraphe d'un roman célèbre et vous demande : « Est-ce que ce paragraphe exact se trouve dans cette immense bibliothèque ? »
C'est l'énigme que résout FindMyText. Il s'agit d'un nouvel outil de détective numérique conçu pour traquer si un morceau de texte spécifique existe au sein d'une collection de données gigantesque, même si ce texte a été légèrement modifié, réorganisé ou caché à l'intérieur d'un fouillis d'autres mots.
Le Problème : Pourquoi « Regarder » ne suffit pas
Autrefois, si vous vouliez trouver une aiguille dans une botte de foin, vous pouviez simplement chercher un objet en forme d'aiguille. Mais qu'en est-il si l'aiguille est peinte en bleu, légèrement tordue, ou si son chas a été remplacé par un bouton ? C'est ce qui arrive lorsque les ordinateurs scannent Internet.
Lorsque les grands modèles d'IA sont entraînés, ils absorbent des téraoctets de texte provenant du web. Mais avant de les « manger », le texte est « cuit » : la ponctuation est modifiée, les phrases sont découpées et le formatage est supprimé. Si vous essayez de trouver une phrase d'un livre protégé par le droit d'auteur dans ce tas désordonné à l'aide des anciennes méthodes, vous pourriez être trompé.
Les anciens outils agissent souvent comme des scanners d'empreintes digitales qui ne comptent que combien d'empreintes correspondent, ignorant où se trouvent ces empreintes. Si vous avez un livre sur les chats et un livre sur les chiens, et que les deux utilisent par hasard les mots « le », « chat » et « chien » (mais dans des ordres différents), un ancien outil pourrait dire : « Hé, ils se ressemblent ! ». Mais c'est une fausse alerte. C'est comme dire que deux personnes sont des jumeaux simplement parce qu'elles ont toutes deux deux yeux et un nez, en ignorant que l'une est un chef et l'autre un pilote.
Le document argumente explicitement contre le fait de s'appuyer sur ces outils de « similitude » (comme ceux qui se contentent de compter les mots correspondants ou qui utilisent des cartes vectorielles « denses ») pour ce travail spécifique. Ils ont découvert que ces méthodes sont facilement trompées par des textes qui semblent similaires mais qui ne sont pas réellement les mêmes. Ils ont également montré que les recherches de type « correspondance exacte » échouent car le texte dans la bibliothèque est rarement 100 % identique à l'original ; il a été nettoyé et reformaté.
La Solution : Le Détective de la « Réaction en Chaîne »
Voici venu le tour de FindMyText. Au lieu de simplement compter les empreintes, cet outil cherche des chaînes.
Imaginez que vous essayez de faire correspondre deux longs morceaux de papier déchirés.
- L'ancienne méthode : Vous comptez combien de lettres sont identiques sur les deux papiers. S'ils partagent 50 lettres, vous devinez qu'ils pourraient être liés.
- La méthode FindMyText : Vous cherchez une séquence. Vous trouvez une lettre « A » sur le premier papier, puis vous cherchez un « A » sur le second. Ensuite, vous cherchez la lettre suivante, « B », et vous vérifiez si elle apparaît juste après le « A » sur le second papier, tout comme sur le premier. Puis vous cherchez « C », et ainsi de suite.
Si vous trouvez une longue chaîne ininterrompue de lettres apparaissant dans le même ordre, vous savez que vous avez trouvé une véritable correspondance. Même si les papiers ont été mélangés, si une longue chaîne de lettres reste groupée, c'est une preuve irréfutable.
L'outil utilise une astuce ingénieuse appelée winnowing pour créer ces « empreintes digitales » (de minuscules résumés numériques de fragments de texte). Il les cartographie ensuite sur un graphique. Si les empreintes forment une ligne droite et diagonale sur le graphique, cela signifie qu'elles font partie d'une chaîne continue — une copie réelle. Si elles sont dispersées de manière aléatoire, c'est une simple coïncidence.
À quel point sont-ils sûrs d'eux ?
Les chercheurs n'ont pas seulement deviné ; ils ont construit un benchmark synthétique (un environnement de test fictif) pour voir si leur outil fonctionne. Ils ont créé des milliers de cas « positifs » (où un texte était définitivement copié mais édité) et de cas « négatifs » (où le texte avait été réécrit pour sonner de manière similaire mais n'était pas réellement copié).
Ils ont testé FindMyText contre trois ensembles de données massifs :
- Wikipedia : 381 000 articles.
- ArXiv : 245 000 articles scientifiques.
- HPLT : Un immense crawl du web comprenant plus de 50,7 millions de contenus.
Les résultats étaient frappants. Dans ces tests, les anciennes méthodes (comme le comptage des empreintes partagées ou l'utilisation d'embeddings d'IA) échouaient souvent, obtenant des scores proches du hasard (AUC-ROC autour de 0,5 à 0,6). Mais la méthode basée sur les « chaînes » de FindMyText a obtenu des scores incroyablement élevés, avec un AUC-ROC de 0,998 sur Wikipedia et de 1,00 sur le jeu de données HPLT.
En langage clair : quand l'outil disait « Oui, ce texte est présent là-dedans », il avait raison presque à chaque fois, même quand le texte avait été découpé, que sa casse avait été modifiée ou que des éléments inutiles y avaient été insérés. Il pouvait trouver une correspondance dans une base de données de 50 millions d'éléments en moins d'une demi-seconde (450 ms).
Pourquoi cela importe
Il ne s'agit pas seulement d'un jeu de « trouver le texte caché ». L'article souligne que ceci est crucial pour le droit d'auteur. Si une entreprise affirme qu'elle n'a pas utilisé un livre spécifique protégé par le droit d'auteur pour entraîner son IA, FindMyText peut vérifier si le texte de ce livre se cache dans les données d'entraînement massives, même s'il a été légèrement altéré.
L'outil est conçu pour être robuste. Il comprend que les données du monde réel sont désordonnées. Il ne se soucie pas qu'une virgule soit manquante ou qu'un mot soit écrit différemment en termes de majuscules ; il se soucie de la chaîne d'empreintes digitales.
Ce qu'il n'est pas
Il est important de noter ce que cet outil ne fait pas. Il ne vous dit pas si deux textes ont la même signification (similitude sémantique). Si vous écrivez un poème sur un chien triste et qu'une autre personne écrit un poème sur un chien heureux en utilisant des mots complètement différents, FindMyText ne les signalera pas comme une correspondance. Il ne s'intéresse qu'à la présence de la même séquence exacte de mots (ou une version très proche de celle-ci) dans la bibliothèque.
Les auteurs sont confiants dans ces résultats basés sur leurs expériences, mais ils précisent également que l'outil est actuellement un « moteur de recherche » de contenu textuel. Ils prévoient de publier des index pré-établis pour des ensembles de données célèbres à l'avenir, mais pour l'instant, c'est un outil puissant et open-source qui prouve que l'on peut trouver l'aiguille dans la botte de foin, même si l'aiguille est tordue et peinte.
Noyé(e) sous les articles dans votre domaine ?
Recevez des digests quotidiens des articles les plus récents correspondant à vos mots-clés de recherche — avec des résumés techniques, dans votre langue.