千亿级数据量下,找两句话相似度,如何降低复杂度

本文介绍了在处理千亿级数据量时,如何利用simhash算法降低计算文本相似度的复杂度。主要步骤包括分词、hash转换、加权、合并、降维和计算海明距离。通过对文本进行这些处理,可以有效地判断两个文本的相似性。
摘要由CSDN通过智能技术生成

1 simhash文本相似度计算

在这里插入图片描述

1.1 分词

       把需要判断的两个文本分词形成特征单词,必要时去掉噪音词(停用词),并为每个词加上权重,权重的计算可以是词频或者tf-idf。

1.2 hash

       通过hash算法把每个词变成hash值,比如“美国”通过hash算法计算为 100101,这样我们的字符串就变成了一串串数字。

1.3 加权

       通过 2步骤的hash生成结果,需要按照单词的权重形成加权数字串,比如“美国”的hash值为“100101”,通过加权计算为“4 -4 -4 4 -4 4,即相当于判断hash值的每位数值,若该位值为1,该位被 w补上,若为0,该位被 -w补上。

1.4 合并

       把上面各个单词算出来的序列值累加,变成只有一个序列串。比如 “美国”的 “4 -4 -4 4 -4 4”,“51区”的 “ 5 -5 5 -5 5 5”, 把每一位进行累加, “4+5 -4±5 -4+5 4±5 -4+5 4+5” ==》 “9 -9 1 -1 1 9”。这里作为示例只算了两个单词的,真实计算需要把所有单词的序列串累加。

1.

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值