minhash算法检索相似文本_数据挖掘: 文本相似项的发现

本文介绍了MinHash算法在查找相似文本中的应用,包括其在短文本、长文档、网页和新闻相似度计算中的作用。通过Jaccard相似度、Shingling、Min-Hashing和Locality-Sensitive Hashing(LSH)四个关键步骤,实现了从文档到签名的转换,以高效查找相似项。MinHash签名方法通过较小的签名来代表文档特征,并利用LSH策略减少计算复杂度,提高了查找相似文档对的效率。
摘要由CSDN通过智能技术生成

一. 背景

1. 算法应用

短文本, 长文档, 网页以及新闻的相似度, 购物网站的协同过滤推荐算法

2. problem

找到所有相互距离在s以内的vector pairs, 设我们有n个vector.

naive solution takes O(n^2)

我们的目标是O(n).

今天的例子以document similarity为例子.

3. Jaccard distance/similarity

sim(C1, C2) = |C1∩C2| / |C1∪C2|

d(C1, C2) = 1 - sim

比如: {a, a, a, b} 和 {a, a, b, b, c}的相似度 sim = {a, a, b} / 9 = 3/9 = 1/3, 注意有重复元素的话, 交集中a要取出现在两个集合中的最小次数2, 并集中a要取在两个出现的次数之和5.

一般我们对距离函数的要求: 距离值非负, 一个点/向量自己到自己的距离必须为0, 值的对称性.

Jaccard similarity可以应用在镜像网站的检查, 相似新闻稿的挖掘. (这个可以做毕设!!!)

4. 相似发掘的三个关键技巧

(1) Shingling: Convert doc to sets

(2) Min-Hashing: Convert larges sets to short signatrues while preserving similarity characters.

(3) Locality-Sensitive Hashing(LSH): Focus on pairs of signatures likely to be similar

二. k-shingle

1. k - Shingle(k-gram) for a doc

我们把

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值