问题标签 [simhash]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
cluster-analysis - MinHashing 与 SimHashing
假设我有五套我想聚类。我了解这里描述的 SimHashing 技术:
https://moultano.wordpress.com/2010/01/21/simple-simhashing-3kbzhsxyg4467-6/
例如,如果它的结果是:可以产生三个簇({A}
和{B,C,D}
) :{E}
同样,MMDS 书第 3 章中描述的 MinHashing 技术:
http://infolab.stanford.edu/~ullman/mmds/ch3.pdf
如果其结果是:也可以产生相同的三个集群:
(每组对应一个由三个“波段”组成的MH签名,如果至少有一个签名波段匹配,则将两组分组。更多的波段意味着更多的匹配机会。)
但是我有几个与这些相关的问题:
(1) SH可以理解为MH的单频段版本吗?
(2) MH 是否一定意味着使用像 Union-Find 这样的数据结构来构建集群?
(3) 我认为这两种技术中的集群实际上是“预集群”,从某种意义上说,它们只是“候选对”的集合,我是否正确?
(4) 如果 (3) 为真,是否意味着我仍然需要O(n^2)
在每个“预集群”内进行搜索,以将它们进一步划分为“真实”集群?(如果我有很多小且相当平衡的预集群,这可能是合理的,否则就不是了)
r - R中的SimHash实现
R中是否有simhash的实现?
(SimHash 是 Moses Charikaris 创建的一种散列算法,它为相似的对象提供相似的散列)
c# - simhash 函数有那么可靠吗?
我一直在努力使用 simhash 算法。我根据我对爬虫的理解实现了它。但是,当我进行一些测试时,它对我来说似乎并不那么可靠。
我计算了 200.000 个不同文本数据的指纹,发现一些不同的内容具有相同的指纹。所以碰撞的可能性很大。
我的实现代码如下。
我的问题是:如果我的实现是正确的,那么这个算法会有很大的冲突。谷歌怎么会使用这个算法?否则,我的算法有什么问题?
text - 如何检测大数据上的相似文本?
据我所知,simhash 和 minhash 可用于此任务。但是所有这些算法都必须遍历整个文本数据库,这将是非常可怕的。是否有任何优化或其他算法可以加速任务?我想出的只是将文本数据库分成几个部分并并行获得成对相似度。我的文本数据库有大约 10 亿条记录。
mysql - MongoDB 支持搜索按位异或和位计数?
我想从 MYSQL 转移到 MongoDB,这是我找不到答案的问题之一,如果我可以得到或模拟我需要的 XOR 和位计数。
在 MYSQL 中,我会这样做:
可以在 MongoDB 中做类似的事情吗?
基本上我想做 Simhash,PHP/MySQL 的好文章是http://www.titouangalopin.com/blog/2014-05-29-simhash
我需要 BitCount 来支持高于 64 位的整数。
similarity - 有什么比 simhash 更有利的 minhash?
我正在使用 simhash,但也看到 minhash 更有效。
但我不明白。
请为我解释一下:minhash 比 simhash 有什么优势?
python - 汉明距离(Simhash python)给出意想不到的值
我正在检查 Simhash 模块(https://github.com/leonsim/simhash)。
我认为 Simhash("String").distance(Simhash("Another string")) 是两个字符串之间的汉明距离。现在,我不确定我是否完全理解这个“get_features(string) 方法,如 ( https://leons.im/posts/a-python-implementation-of-simhash-algorithm/ ) 中所示。
现在,当我尝试使用宽度 2 计算“aaaa”和“aaas”之间的距离时,它给出的距离为 0。
我不确定我在这里错过了什么。
duplicates - 如何用 Simhash 算法比较文档的相似度?
我目前正在创建一个程序,可以在文本文档(+5000 文档)的语料库中计算接近重复的分数。我正在使用 Simhash 生成文档的 uniq 足迹(感谢这个github repo)
我的数据是:
这给了我3个这样的哈希:
00100110101110100011111000100010010101011001000001110000111001011100110101001101111010100010001011001011000110000100110101101
00001001110010000000011000001000110010001010000101010000001100000100100011100100110010100000010000000110001001010110000010001
10001110101100000100101010000010010001011010001000000000101000101100001100100000110011000000011001000000000110000000100110000
现在,如何比较这 3 个哈希值?我知道我必须将它们分成块但没有确切的方法?
我想要做的是输出所有重复文档(> 70%)及其ID和重复文档的ID。
有人可以帮忙吗?
python - 如何使用 SimhashIndex() 将索引号分配给文档数据集?
这段代码实现了四组数据的 Simhash 函数。
现在我已经使用这段代码来索引一个巨大的数据集(训练数据集:train_data)。
但如果我把
它有效,但对于像
它进入永无止境的循环。请告诉我为什么会发生这种情况以及如何获取所有“data_train”数据的索引号。
python - 使用 simhash 检测附近重复的文档
我在github中找到了这个 python 项目,但是当我尝试使用它来检测近乎重复的文档(例如 json)时,我没有从README.md文件中获得足够的信息来说明如何做到这一点?它只显示计算
以及如何使用
到目前为止我尝试过的内容:克隆此 repo 后,我已经安装了所有要求,但是当我尝试运行时,setup.py
或者bench.py
它正在显示
ImportError:没有名为 simhash.simhash 的模块
这个项目很棒,但我遇到了这个困难,因为README.md文件对如何创建文档哈希的描述性不是很好?,如何传递哈希?以及如何检测附近的重复项?. 因此,我需要有关如何对文档进行哈希处理的帮助?任何人都可以帮助我了解如何使用 python 使用这个simhash来实现近乎重复的文档检测,或者提供任何分步教程链接来实现这个?顺便说一句,我已经看到了,但这并不包含实现它的完整步骤。