jen*_*nyK 3 euclidean-distance cosine-similarity gensim scikit-learn sentence-similarity
我想衡量句子之间的相似度。我可以使用sklearn和欧氏距离来衡量句子之间的语义相似度吗?我也读到了余弦相似度。有人可以解释这些措施的区别以及最好的使用方法是什么?
有多种选项可以计算语义相似度。这取决于您想要实现的目标以及您想要使用的资源。
您的意思是语义相似性,如“船在海中游泳”类似于“船漂浮在湖上”吗?
词嵌入(例如 word2vec)为每个词创建向量。词向量在向量空间中的位置使得“在语料库中共享共同上下文的词在空间中彼此非常接近”(维基百科)。。
欧几里德距离或余弦距离可以测量两个词向量之间的距离。这通常被视为单词之间的语义相似性。要测量句子之间的距离或相似度,您可以使用词移动器距离,它是由gensim实现的。单词移动器距离使用称为“地球移动器距离”的东西来计算从一组单词向量(一个句子)到另一组单词向量的距离。
另一种计算句子相似度的方法是doc2vec。另请参阅:如何使用 gensim 与 python 的 word2vec 模型计算句子相似度
| 归档时间: |
|
| 查看次数: |
1955 次 |
| 最近记录: |