首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何利用MinHash计算两个书包的文本相似度?

如何利用MinHash计算两个书包的文本相似度?
EN

Stack Overflow用户
提问于 2017-08-31 05:13:03
回答 2查看 487关注 0票数 0

我有以下两条案文:

text0 = "AAAAAAAAAAAA";

text1 = "AAAAABAAAAAA";

我用的是4瓦。因此,text0 = {AAAA},text1 = {AAAA,AAAB,AABA,ABAA,ABAA}。

然后,Jaccard相似度为sim = 1/5 = 0.2。

我不想要这个结果。因为这两篇文章似乎有很高的相似性。

我想使用包的相似性如下:

text0 = {AAAA,AAAA},

text1 = {AAAA,AAAA,AAAB,AABA,ABAA,BAAA,AAAA,AAAA,AAAA}。

如果使用这两个袋子,其相似值为sim = 5/9,这比0.2要高得多。

MinHash能做这个吗?

EN

回答 2

Stack Overflow用户

发布于 2017-09-01 06:57:34

有关包,您可以使用加权最小散列,请参见

改进的一致性抽样,加权最小值和l1草图,2010年。

A. Shri伐A.,简单有效的加权最小散列,2016年

如果多重性总是很小的整数,你也可以使用非加权的最小散列,使条目是唯一的,例如通过编号:

text0 = {AAAA1,AAAA2,AAAA3,AAAA4,AAAA5,AAAA6,AAAA7,AAAA8,AAAA9},

text1 = {AAAA1,AAAA2,AAAB1,AABA1,ABAA1,BAAA1,AAAA3,AAAA4,AAAA5}.

票数 1
EN

Stack Overflow用户

发布于 2019-07-11 02:21:07

另一个简单的解决方案是用非常短的文本来提高你的相似度,也就是在文档的开头和结尾生成较短的带状,使用一个特殊的字符来表示开始/结束。

在这种情况下,从text0生成的瓦是:{@A,@AA,@AAA,AAA,AAA@,AA@,A@}

来自text1的有:{@A,@AA,@AAA,AAAA,AAAB,AABA,ABAA,BAAA,AAA‘,AA@,A@}。

Jaccard相似度现在为7/11 = 0.64

这实际上是一个关于“相似”对你意味着什么的哲学问题:你是否认为包含哪些特性重要?

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/45973629

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档