集合相似度-minhash.docVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
集合相似度-minhash

集合相似度-minhash 文章来源:/blog/1025638 第三章 查找相似的Items 数据挖掘的一个基本问题是检测相似的Items.比如网页去重,从网页集合中找到近似重复的网页,这类网页通常是内容相同,但是有一些是关于不同站点和镜像的内容。 这章从集合中找到交集,交集和集合大小的相对比率表示相似度,展开介绍相似度。我们会介绍怎样把文本文档的相似性表示为集合问题,这种技术被称为指纹方式。然后介绍了minhashing,他可以将大的集合压缩,并从压缩后的版本导出原来集合的相似度。其他的一些相似度算法在3.9进行了介绍。 一个非常重要的问题是,我们要搜索相似的Items,我们需要比较两两比较,这需要比较太多 的次数,即使每一对比较都非常的简单,但是仍然需要非常大的计算量。使用locality-senitive hashing可以解决这个问题,他只搜索可能相似的pair。 最后,介绍了不通过集合交集来表达的形似度计算方法,然后介绍了LSH通用的框架,可以使用其他定义的相似度算法。 3.1 临近搜索应用 3.1.1 Jaccard 相似度表示为: 两个集合S和T, SIM(S,T) = |S ∩ T |/|S ∪ T |. 3.1.2 文档相似度 从文档比如网页或者新闻文章集中找出文本相似的文档,Jaccard相似度可以很好的解决。 文本相似度具有很大的用处,比如找出重复或者近似重复的文档,测试两个文档完全重复是很好做的事情,但是有一些应用中,他们不是完全一样,而是共享很大一部分内容。有以下应用: 文章抄袭 查找文档的抄袭可以检测我们查找文档相似度的能力。抄袭者可能只有一部分时他自己的,他可能修改了措辞或者调整了句子的顺序,但是仍有50%是抄袭别人的。简单的逐字的对比来是检测不出复杂的抄袭。 镜像网页 一些流行的网站会把网页镜像到不同的域中,以此来均衡服务器压力。网站的镜像中的网页非常相似,但是并不是完全相同,他们可能会包含自己的域的信息,链接到其他的镜像而不是他们自身。能够检测出重复网页是一个很重要的应用,比如搜索引擎应该避免近似相同的两个网页同时出现在搜索结果的第一页。 同一个来源的文章 一个记者写的一篇新闻,可能被多个媒体使用,每一个可能只是将这篇文章做了一些修改, 比如删除掉了一些段落,添加了他们自己的内容,内容周边环绕了他们的logo,广告,链接到他们自己网站的其他文章。Google新闻应该能够找到这个文章的所有版本,并只显示出一个,这需要查找两篇文章的文本相似度。 3.1.3 基于相似集合的协同过滤 另一类使用集合相似度的应用是协同过滤,协同过滤描述了把具有相似口味的用户的items推荐给其他用户。 在线购物 比如在亚马逊有上百万的用户和物品,记录了哪些用户买了哪些物品,如果两各个人购买的物品集合具有很高的Jaccard相似度,那么这两个客户也是相似的。 除了根据Jaccard相似度,还需要一些其他的工具,比如两个客户都喜欢看科幻小说,但是他们购买了不同的小说,具有很少的重复,那么我们还需要通过组合相似度和聚类来做协同过滤。 电影分级评分 NetFlix记录了哪些客户租了哪些电影,已经他们对这些电影的评分,我们可以认为如果相同的顾客对不同电影评分比较高的,它们具有很大的相似性。 bag相似度: {a, a, a, b} 与{a, a, b, b, c} 的相似度为 1/3. 3.2 文档指纹签名 用文档的一个短的字符串集合来描述文档词法上的相似度,是非常有效的方法。这种方式,文档公用一些短的句子或者短语,这样这些文档的字符串集合会有很多的共同元素,即使这些句子出现的顺序不同。 3.2.1 k-shingles 一个文档是由字符组成的字符串,k-shingles表示文档中任意长度为k的字串集合。 我们还可以将他们出现的次数关联上去。比如文档D为abcdabd字符串,那么2-shingles为 {ab,bc,cd,da,bd}。ab出现了两次但是没有在2-shingles出现过两次。也可以采用bag的方式,对出现的个数进行技术。 对于空白字符的处理,最好的办法是将所有的连续空白都替换为单个空格。 3.2.2如何选择k 我们可以取k为任意常数,然而,如果我们选择k太小,则会有非常多的k-shingles出现在大多数的文章中。那么他们的指纹集合的Jaccard相似度就会很高。如果我们取k=1,那么大多数的网页中都含有非常多的共同的字符,很少的其他字符,那么所有的网页都是相似的。 k的长度应该根据文档的长度和字符集的大小来选定,但是最重要的是:k应该选择让任意的指纹在任意的文档中都应该是很低的概率 如果我们的语料是emails,那么选择k是5

文档评论(0)

qiwqpu54 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档