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

本文介绍了MinHash算法在查找相似文本中的应用,包括背景、Jaccard距离、Shingling、Min-Hash签名和Locality-Sensitive Hashing(LSH)。通过将文档转化为集合,使用Min-Hash将大量集合压缩为短签名,再借助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

我们把

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值