计算文本相似度的几种方法
来源:互联网 发布:c语言是汇编语言吗 编辑:程序博客网 时间:2024/06/06 17:02
杰卡德(Jaccard)相似系数
这种相似度计算方式相对简单,原理也易于理解,就是计算单词集合之间的交集和并集大小的比例,该值越大,表示两个文本越相似。在涉及到大规模并行计算时,该方法效率上有一定的优势。
Jaccard 相似度公式:
举例:
句子A:“我喜欢看电视,不喜欢看电影。”
句子B:“我不喜欢看电视,也不喜欢看电影。”
分词去噪后:A=(我,喜欢,看,电视,电影,不) B=(我,喜欢,看,电视,电影,也,不)
那么J(A,B)=(我,喜欢,看,电视,电影,不)/(我,喜欢,看,电视,电影,也,不)=6/7=0.86
余弦(Cosine)相似度
余弦相似度是利用计算两个向量之间的夹角,夹角越小相似度越高,其公式为:
假定A和B是两个n维向量,A是[A1,A2,...,An],B是[B1,B2,B3,...,Bn],则A与B的夹角余弦等于:
沿用上面的例子,计算词频如下:
句子A:我 1,喜欢 2,看 2,电视 1,电影 1, 不 1,也 0。
句子B:我 1,喜欢 2,看 2,电视 1,电影 1,不 2,也 1。
写出词频向量:
句子A:[1,2,2,1,1,1,0] 句子B:[1,2,2,1,1,2,1]
使用上述公式,我们可以得到句子A与句子B的夹角余弦。
海量数据的相似度
海联数据的相似度计算直接使用上面两种办法效率未免有些太低了,可以参考 simhash 算法.其核心思路就是想办法缩小问题规模,之后再进行比对。提供一下几个参考链接学习:
1.Similarity estimation techniques from rounding algorithms
2.simhash与Google的网页去重
3.海量数据相似度计算之simhash和海明距离
阅读全文
0 0
- 计算文本相似度的几种方法
- 句子相似度计算的几种方法
- 文本相似度计算基本方法小结
- 文本相似度计算
- 计算文本相似度
- 文本相似度计算
- 计算文本相似度
- 几种文本相似度算法的C++实现
- python 计算文本的相似度
- 计算相似度的方法
- 推荐系统的几种相似度计算
- 几种相似度计算公式
- java文本相似度计算
- simhash文本相似度计算
- simhash计算文本相似度
- python文本相似度计算
- python文本相似度计算
- simhash 文本相似度计算
- 前端传输中文到后台乱码问题--web.xml的加载顺序问题
- Java基础:浅谈Java中的equals和==
- SQL 函数
- iOS应用间相互跳转
- 第十周项目1(4)-哈夫曼编码的算法验证
- 计算文本相似度的几种方法
- rem是如何实现自适应布局的?
- 文章标题
- 浅谈Batch Normalization
- update 小异常
- 纪念碑谷2第五章(群岛)
- android edittext 总结
- swiper 大图预览
- 近期知识小结(二)