【Educoder数据挖掘实训】用Cosine计算相似度
开挖挖挖挖
这个题目跟上一个实训很类似,区别在于本关旨在计算文本的相似度。
这里虽然说的是文本相似度但是却没有提及顺序的问题,比如否定句“不喜欢”和疑问句“喜欢不”在本实训中认为是完全相同的。
首先计算方式是基于 j i e b a jieba jieba库中的函数 j i e b a . c u t jieba.cut jieba.cut,把句子拆分成不同的单词,喜欢不和不喜欢都会被拆分成“不”和“喜欢”。
然后将两个句子的词取并集作为词库,而后进行数量统计。
最后用 c o s i n e cosine cosine计算相似度即可。
计算公式为:
c o s = x 1 ∗ x 2 + y 1 ∗ y 2 x 1 2 + y 1 2 x 2 2 + y 2 2