2

我想测量句子之间的相似度。我可以使用sklearn和欧几里得距离来衡量句子之间的语义相似度吗?我也读到了余弦相似度。有人可以解释这些措施的区别以及最好的使用方法是什么?

4

1 回答 1

5

计算语义相似度有多种选择。这取决于您要实现的目标以及要使用的资源。

你的意思是语义相似,因为“船在海里游泳”类似于“船在湖上漂浮”?

word2vec 等词嵌入为每个词创建向量。词向量被定位在向量空间中,这样“在语料库中共享共同上下文的词在空间中彼此非常接近”(维基百科)。.

欧几里得或余弦距离可以混淆两个词向量之间的距离。这通常被视为单词之间的语义相似性。要弄乱句子之间的距离或相似性,您可以使用由gensim实现的词移动距离。word mover distance 通过使用称为earth mover distance 的东西来计算一组词向量(一个句子)到另一个词向量的距离。

另一种计算句子相似度的方法是 doc2vec。另请参阅:如何使用 gensim 的 word2vec 模型和 python 计算句子相似度

于 2018-11-14T13:07:54.180 回答