【发布时间】:2011-03-13 18:37:31
【问题描述】:
我正在尝试使用 shingleprinting 来衡量文档相似性。该过程涉及以下步骤:
- 创建D1、D2两个文档的5-shingling
- 使用 64 位哈希对每个 shingle 进行哈希处理
- 选择从 0 到 2^64-1 的数字的随机排列并应用于 shingle 散列
- 为每个文档找出结果值中的最小值
- 如果匹配则视为正例,如果不匹配则视为负例
- 重复 3. 到 5. 几次
- 使用
positive_examples / total examples作为相似度度量
第 3 步涉及生成一个非常长的序列的随机排列。使用 Knuth-shuffle 似乎是不可能的。有什么捷径吗?请注意,最后我们只需要结果排列的单个元素。
【问题讨论】:
标签: performance random permutation information-retrieval text-mining