- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
相似项发现(3.4-3.6)
相似项发现3.4-3.6
文档的局部敏感哈希算法
距离测度
局部敏感函数理论
3.4文档的局部敏感哈希算法
3.4.1面向最小哈希签名的LSH
3.4.2行条化策略的分析
3.4.3上述技术的综合(完整的相似项发现方法)
文档的局部敏感哈希的产生原因
最小哈希签名仍然无法高效寻找具有最大相似度的文档。
即使文档本身的数目不大,但需要比较的文档对的数目可能很大。
实际中往往需要得到那些最相似或者相似度超过某个下界的文档对,我们只需关注那些可能相似的文档对。
通过LSH我们可以只关注可能相似的文档对,而不需要研究所有文档对。
4.3.1面向最小哈希签名的LSH
LSH(locality-sensitive hashing)
一般性做法
对目标项进行多次哈希处理,使得相似项比不相似项更可能哈希到同一桶中。
将至少有一次哈希到同一桶中的文档对看成是候选对(candidate pair),只检查这些候选对之间的相似度。
哈希到同一个桶中的非相似文档对称为伪正例(false positive),希望它们在所有对中所占比例越低越好。
我们也希望大部分真正相似的文档对会至少被一个哈希函数映射到同一桶中。
没有映射到相同桶中的真正相似的文档对称为伪反例(false negative)。
对最小哈希签名矩阵的处理
假设拥有目标项的最小哈希签名矩阵,将签名矩阵划分成b个行条(band),每个行条由r行组成。
每个行条,存在一个哈希函数能够将行条中的每r个整数组成的列向量(行条中的每一列)映射到某个大数目范围的桶中。
可以对所有行条使用相同的哈希函数,但是对每个行条都使用一个独立的桶数组,因此即使是不同行条中的相同向量列也不会被哈希到同一桶中。
例3.10
12行签名矩阵,分成4个行条,每个行条由3个行组成。
3.4.2行条化策略分析
计算文档(或其签名)作为候选对的概率:
假定使用b个行条,每个行条由r行组成,假定某对具体文档间的Jaccard相似度为s.
不论常数b和r取值如何,上述形式的概率函数图像大致如图3-7的S-曲线。曲线中上升最陡的地方对应的相似度就是所谓阈值(threshold),是b和r的函数。阈值的一个近似估计值是
b=20,r=5,即签名个数为100,分为20个行条,每行条有5行。
当s=0.8时,1-(0.8)5=0.328,
[1-(0.8)5]20=0.00035
1- [1-(0.8)5]20=0.99965
通过对面向最小哈希签名的LSH采用行条化策略进行处理,使得相似项会比不相似项更可能哈希到同一个桶中(0.00035 远小于0.99965)。
3.4.3上述技术的综合
一个完整的相似项发现的方法:
(1)找出可能的候选对相似文档集合
(2)基于该集合发现真正的相似文档
①选择某个k,并对每篇文档构建其k-shingle集合。将这些k-shingle映射成更短的桶编号(后一步可选);
②将文档-shingle对按照shingle排序;
③选择最小哈希签名的长度n。对②中排好序的表进行最小哈希签名的计算;
④选择阈值t来定义应该达到的相似度使之被看做是预期的“相似对”。选择行条数b和每个行条中的行数r,使得br=n,而阈值t近似等于(1/b)1/r 。
如果避免伪反例的产生很重要,那么选择合适的b和r以产生小于t的阈值。
如果速度相当重要并且希望限制伪正例的数目,那么选择合适的b和r来获得更高的阈值。
⑤应用面向最小哈希签名的LSH技术来构建候选对;
⑥检查每个候选对的签名,确定他们一致性的比例是否大于t;
⑦(该步可选)如果签名足够相似,则直接检查文档本身看他们是否真正相似。不相似的文档有时碰巧会具有相似的签名。
该方法存在的缺陷:
(1)可能会产生伪反例,即某些相似文档对由于没有进入候选对所以最终没有被识别出来。
(2)可能会产生伪正例,即在评估了某些候选对后发现其相似度不足。
3.5距离测度(similarity measure)
3.5.1 距离测度的定义
3.5.2 欧氏距离
3.5.3 Jaccard距离
3.5.4 余弦距离
3.5.5 编辑距离
3.5.6海明距离
3.5.1距离测度的定义
假定有一些点组成的集合,称为空间(space)。该空间下的距离测度是一个函数d(x , y),以空间中的两个点作为参数,输出是一个实数值。
该函数必须满足下列准则:
①d(x , y)≥0(距离非负)
②d(x , y)=0当且仅当x=y(只有点到自身的距离为0,其他距离都大于0)
③d(x , y)=d(y , x)(距离具有对称性)
④d(x , y)≤d(x , z)+d(z , y)(三角不等式)
如果从x点行进到y点,那么一定要求经过某个特定的第三点z则不会有
原创力文档


文档评论(0)