相似项发现-LSH

1 LSH的特定形式

先表示为shingle集合,然后经过哈希处理表示为短签名集合。

1.1 面向最小哈希签名的LSH

LSH的一个一般性做法就是对目标项进行多次哈希处理,使得相似项比不相似项更可能哈希到同一桶中。然后将至少有一次哈希到同一桶中的文档对看成是候选对(candidate pair)我们只需检查这些候选对之间的相似度。那些哈希到同一桶中的非相似围挡对成为伪正例(false positive),那些没有映射到相同桶中的真正相似的文档对成为伪反例(false negative)。

如果拥有目标项的最小哈希签名矩阵,那么一个有效的哈希处理方法是将签名矩阵划分为b个行条(band),每个行条由r行组成。对每个行条,存在一个哈希函数能够将行条中每r个整数组成的列向量(行条中的每一列)映射到某个大范围的桶中。可以对每个行条使用相同的哈希函数,但是对每个行条我们都使用一个独立的桶数组,因此即使是不同条中的相同响亮它们也不会被哈希到同一桶中。 

1.2 行条化策略的分析

1.3综合

完整的相似项发现方法:首先找出可能的候选对相似文档集合,然后基于集合发现真正的相似文档。

(1)选择某个k,并对每篇文档构建其k-shingle集合。将这些k-shingle映射成更短的桶编号(后一步可选)。

(2)将文档-shingle对按照shingle排序;

(3)选择最小哈希签名的长度n。

(4)选择阈值t来定义应该达到的相似程度使之被看做是预期的“相似对”,选择行条数b和每个行条中的行数r,使得br=n,而阈值t近似等于.如果避免伪反例很重要,那么选择合适的b和r以产生小于t的阈值。如果速度相当重要并且希望限制伪正例的数目,那么选择合适的b和r来获得更高的阈值。

(5)LSH技术来构建候选对。

(6)检查每个候选对的签名,确定它们一致性的比例是否大于t

(7)(可选)如果签名足够相似,则直接检查文档本身看它们是否真正相似。不相似的文档有时碰巧会具有相似的签名。


2 LSH函数的应用

  • 实体关联
  • 指纹匹配
  • 新闻报道匹配

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值