短文本相似度的计算在nlp自然语言处理中是十分重要的知识,它运用于很多领域,例如文本分类,文本去燥等等。
今天来看几种文本相似度的计算算法,有些会讲原理有些会直接给出算法。
基于文本字符的相似度计算
Jaccard
最长公共子序列(LCS)
最小可编辑距离 基于词频向量的相似度计算
余弦相似度
主要有这么几种吧,接下来我们一一介绍。
基于文本字符的相似度计算
Jaccard :
Jaccard index , 又称为Jaccard相似系数(Jaccard similarity coefficient),对于字符串A、B,分别做分词得到分词集SA,SB,那么Jaccard系数=SA与SB交集/SA与SB并集。jaccard index 巧妙的把文本,变成数学的集合运算:
![05b6ad8f0be8467cd2a55c834f4db205.png](https://i-blog.csdnimg.cn/blog_migrate/2f7d53d5d4f3f9d3fb1d5230f7e90a73.png)
基础代码如下:
def jaccard_similarity(str_a,str_b):
seta = split_words(str_a)
setb = split_words(str_b)
print(seta)
print(setb)