winning的python实现(文档指纹的本地算法)
winnowing的Python项目详细描述
风选
winning(文档的本地算法)的python实现 指纹识别)
原作
原始的研究论文可以在 http://dl.acm.org/citation.cfm?id=872770。
用法
>>> winnow('A do run run run, a do run run') set([(5, 23942), (14, 2887), (2, 1966), (9, 23942), (20, 1966)]) >>> winnow('run run') set([(0, 23942)]) # match found!
默认哈希函数
老实说,我不知道该使用什么散列函数。报纸做了 别说了。所以我决定使用sha-1的一部分;更准确地说, 摘要的最后16位。
自定义哈希函数
您可以使用自己的哈希函数,如下所示。
def hash_md5(text): import hashlib hs = hashlib.md5(text) hs = hs.hexdigest() hs = int(hs, 16) return hs # Override the hash function winnow.hash_function = hash_md5 winnow('The cake was a lie')
指纹密度下限
(待办事项:编写本节)