Robust, Scalable Detection of Text Containment in Large Web-Crawled Corpora
本文介绍了 FindMyText,这是一个可扩展的开源 Python 工具,它利用分布式指纹链技术,在大型网络爬取语料库中准确检测近乎逐字逐句的文本包含关系,并在多个数据集上表现优于现有方法。
原始论文采用 CC BY 4.0 许可(http://creativecommons.org/licenses/by/4.0/)。 这是对下方论文的AI生成解释。它不是由作者撰写或认可的。如需技术准确性,请参阅原始论文。 阅读完整免责声明
想象一下,你拥有一个巨大的、布满灰尘的图书馆,里面藏着数十亿本书籍、网站和文章——其规模之大,人类即便用尽一生也无法读完。现在,想象有人递给你一段著名小说中的段落,并问道:“这段完全相同的文字是否出现在那个巨大的图书馆里?”
这正是 FindMyText 所要解决的谜题。这是一个全新的数字侦探工具,旨在追踪一段特定的文本是否存在于海量数据之中,即使这段文本经过了轻微的修改、重组,或者被隐藏在乱七八糟的词句之中。
问题所在:仅仅“寻找”是不够的
过去,如果你想在大草堆里找一根针,你可能会寻找一个针状物体。但如果这根针被涂成了蓝色、被稍微弄弯了,或者把针眼换成了一个纽扣呢?这就是计算机扫描互联网时发生的情况。
当大型 AI 模型进行训练时,它们会吞噬来自网络的海量文本。但在“进食”之前,这些文本会被“烹饪”:标点符号被改变,句子被切断,格式被剥离。如果你试图使用旧方法在这堆混乱的数据中寻找一本受版权保护的书中的句子,你可能会被误导。
旧工具通常表现得像只计算匹配了多少指纹,却忽略了指纹位置的指纹扫描仪。如果你有一本关于猫的书和一本关于狗的书,且两本书恰好都使用了“the”、“cat”和“dog”这些词(只是顺序不同),旧工具可能会说:“嘿,这些看起来很像!”但这是一种误报。这就像是因为两个人都有两只眼睛和一个鼻子,就判定他们是双胞胎一样,却忽略了一个是厨师而另一个是飞行员。
论文明确反对依赖这些“相似性”工具(例如那些仅计算匹配单词数量或使用“稠密”向量映射的工具)来处理这项特定工作。他们发现,这些方法很容易被那些听起来相似但实际上并不相同的文本所欺骗。他们还表明,简单的“精确匹配”搜索也会失效,因为图书馆里的文本很少与原始文本 100% 一致;它已经被清洗和重新格式化了。
解决方案:“连锁反应”侦探
于是有了 FindMyText。它不只是在计数指纹,它在寻找链条。
想象你正在尝试匹配两张撕碎的长纸片。
- 旧方法: 你计算两张纸片上有多少个相同的字母。如果它们共有 50 个字母,你就猜测它们可能有关联。
- FindMyText 的方法: 你寻找一个序列。你在第一张纸上找到字母“A”,然后在第二张纸上寻找“A”。接着,你寻找下一个字母“B”,并检查它是否紧跟在第二张纸上的“A”之后,就像在第一张纸上那样。然后你寻找“C”,以此类推。
如果你发现一串长而连续的字母以相同的顺序出现,你就知道你找到了一个真实的匹配项。即使纸片被重新排列过,只要一长串字母保持在一起,那就是铁证如山。
该工具使用一种称为**分窗法(winnowing)**的巧妙技巧来创建这些“指纹”(文本块的微型数字摘要)。然后,它将这些指纹映射到一个图表上。如果这些指纹在图表上形成一条直线或对角线,这意味着它们是一个连续链条的一部分——即一个真实的副本。如果它们是随机散布的,那仅仅是巧合。
他们有多确定?
研究人员不仅仅是在靠直觉猜测;他们构建了一个合成基准(synthetic benchmark)(一个虚构的测试环境)来观察他们的工具是否有效。他们创建了数千个“正向”案例(即文本确实被复制但经过了编辑)和“负向”案例(即文本被重写以听起来相似但并非实际复制)。
他们在三个大规模数据集上测试了 FindMyText:
- 维基百科 (Wikipedia): 381,000 篇文章。
- ArXiv: 245,000 篇科学论文。
- HPLT: 一个包含超过 5,070 万个内容的庞大网络抓取数据集。
结果令人震惊。在这些测试中,旧方法(如统计共享指纹或使用 AI 嵌入)经常失败,得分接近随机猜测(AUC-ROC 在 0.5 到 0.6 之间)。但 FindMyText 的“基于链条”的方法得分极高,在维基百科上的 AUC-ROC 为 0.998,在 HPLT 数据集上达到了 1.00。
用通俗的话说:当该工具说“是的,这段文本就在其中”时,它几乎每次都是正确的,即使文本被切碎、更改了大小写或插入了随机的杂质。它能在不到半秒钟(450 毫秒)内,从包含 5,000 万个项目的数据库中找到匹配项。
这为什么重要
这不仅仅是一场“寻找隐藏文本”的游戏。论文强调,这对于版权至关重要。如果一家公司声称他们没有使用特定的受版权保护的书籍来训练 AI,FindMyText 可以检查庞大的训练数据,看看那本书的文本是否隐藏在其中,即使它被轻微改动过。
该工具的设计初衷是鲁棒(稳健)的。它理解现实世界的数据是混乱的。它不在乎是否缺少一个逗号,也不在乎一个单词是否大写不同;它在意的是指纹的链条。
它不是什么
需要注意的是,这个工具并不做某些事情。它不会告诉你两个文本是否具有相同的含义(语义相似性)。如果你写了一首关于伤心狗的诗,而另一个人用完全不同的词写了一首关于快乐狗的诗,FindMyText 不会将它们标记为匹配。它只关心完全相同的单词序列(或其非常接近的版本)是否出现在图书馆中。
作者根据实验对这些结果充满信心,但他们也指出,该工具目前是一个用于文本包含关系的“搜索引擎”。他们计划在未来发布针对著名数据集的预制索引,但目前,它是一个强大的开源工具,证明了即使针被弄弯或涂了颜色,你依然可以找到大海捞针。
您所在领域的论文太多了?
获取与您研究关键词匹配的最新论文每日摘要——附技术摘要,使用您的语言。