模糊文档匹配/文本指纹识别的最佳库

时间:2012-02-14 15:37:13

标签: ruby full-text-search string-matching fingerprint

我正在考虑构建一个API,让程序提交学术出版物的“指纹”,将其与Open Access期刊的文章数据库进行匹配,如果找到,则向用户发送规范引文信息。最初这将是一个特定的小型研究领域,所以它不一定需要处理2000万篇论文才能获得成功(即使该领域最常引用的1000篇论文被覆盖,这对生产力来说也是一个巨大的好处和合作)。

我想知道哪个库(理想情况下能与Ruby接口)最适合做“指纹识别”。我已经看过Lucene的模糊匹配,但这似乎适用于单词级别,而在这种情况下,我们可能想要提交更大的文档子集。进行模糊匹配的原因是有些人可能有Word.doc预印本,有些可能有最终的PDF等。

我非常感谢这里的一些想法。谷歌搜索“感性哈希”让我进入一堆新材料。我试图总结我的许多发现here

似乎SimHash,例如the C implementation将是可行的方法,但我仍需要进行更多实验。

1 个答案:

答案 0 :(得分:7)

您可以使用 pHash 进行此类工作。

this gem将帮助您入门:

require 'phash/text'
Phash::Text.new('first.txt') % Phash::Text.new('second.txt')