在生成词向量之后,基于词向量计算句子相似度:
1.首先处理句子的重点词汇,排除无关词汇,比如我你他之类的,non_words.txt里面是一些无关词汇
2.接下来根据相关的处理结果,做一个单项匹配
首先根据s1的句子,找到是s1中第一个词语的在第二句话中的最大相似值,再依次找到第二个,第三个,取平均值作为s1 ->s2句子的单项匹配
3.最后取双向匹配的平均值作为 s1 和 s2 的句子相似度,值的范围为 [0,1]
def pipei(s1,s2):
return (pipei_reverse(s1,s2)+pipei_reverse(s2,s1))/2
备注:这种算法可能不是最佳的句子相似度计算方式,但在一定程度上可以体现句子之间的近似程度。