- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我目前正在创建一个程序,可以在文本文档(+5000 个文档)的语料库中计算近似重复的分数。我正在使用 Simhash 生成文档的 uniq 足迹(感谢 github repo)
我的数据是:
data = {
1: u'Im testing simhash algorithm.',
2: u'test of simhash algorithm',
3: u'This is simhash test.',
}
这给了我 3 个这样的哈希:
001001101011101000111110001000100101010110010000011100001110010111001101010011011110101000100010110010110001100001001101010101
000010011100100000000110000010001100100010100001010100000011000001001000111001001100101000000100000001100010010101010000010p>
1000111010110000010010101000001001000101101000100000000010100010110000110010000011001100000001100100000000011000000100110p>
现在,如何比较这 3 个哈希值?我知道我必须将它们分成 block 但没有确切的方法?
我想要做的是输出所有重复文档 (>70%) 及其 ID 和重复文档的 ID。
有人可以帮忙吗?
最佳答案
在回答您的问题之前,请务必记住:
现在,我已经回复了您提出的关于 Github 问题的问题 here .
不过,作为引用,这里有一些示例代码,您可以使用它们在散列后打印最终的近乎重复的文档。
# assuming that you have a dictionary with document id as the key and the document as the value:
# documents = { doc_id: doc } you can do:
from simhash import simhash
def split_hash(str, num):
return [ str[start:start+num] for start in range(0, len(str), num) ]
hashes = {}
for doc_id, doc in documents.items():
hash = simhash(doc)
# you can either use the whole hash for higher precision or split into chunks for higher recall
hash_chunks = split_hash(hash, 4)
for chunk in hash_chunks:
if chunk not in hashes:
hashes[chunk] = []
hashes[chunk].append(doc_id)
# now you can print the duplicate documents:
for hash, doc_list in hashes:
if len(doc_list) > 1: # if the length of doc is greater than 1
print("Duplicates documents: ", doc_list)
如果有什么不清楚的地方请告诉我。
关于duplicates - 如何用 Simhash 算法比较文档的相似度?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49820228/
我目前正在创建一个程序,可以在文本文档(+5000 个文档)的语料库中计算近似重复的分数。我正在使用 Simhash 生成文档的 uniq 足迹(感谢 github repo) 我的数据是: data
我想构建一个成对距离矩阵,其中“距离”是实现的两个字符串之间的相似度得分 here .我正在考虑使用 sci-kit learn 的成对距离方法来执行此操作,因为我之前曾将其用于其他计算,而且简单的并
假设我有五组要聚类。我了解此处描述的 SimHashing 技术: https://moultano.wordpress.com/2010/01/21/simple-simhashing-3kbzhs
我正在检查 Simhash 模块 ( https://github.com/leonsim/simhash )。 我认为 Simhash("String").distance(Simhash("Ano
有没有人遇到过simhash用Java实现的功能? 我已经搜索过了,但找不到任何东西。 最佳答案 顺便说一句。看起来谷歌有 patented算法。如果你在美国,成功地与谷歌竞争,并且没有自己的母公司产
我是一名优秀的程序员,十分优秀!