如何找到相似的短语

数据挖掘 nlp word2vec 词嵌入
2022-03-01 19:53:52

我有以下问题:我创建了一个自定义字典,用于一些 NLP 任务。我想通过查找与我的字典中的短语相似的短语来增强我的字典。例如:

Lets say I have a phrase:
- take responsibility 
then, I should be able to find phrases like:
- hold accountable for 
-responsible for

我刚刚开始学习 NLP,并在我的字典上尝试了 Word2Vec 模型,但它只给出了字典中已经存在的相似单词。是否有任何其他算法可以帮助我使用多个来源找到类似的短语。

2个回答

一种选择是Word Mover 的距离 (WMD)WMD 是一种用于查找短语之间距离的算法。WMD 基于词嵌入(例如 word2vec),将词的语义编码为密集向量。

WMD 距离衡量两个文本文档之间的差异,作为一个文档的嵌入词需要“旅行”以到达另一个文档的嵌入词的最小距离量。

例如:

在此处输入图像描述 资料来源:“从词嵌入到文档距离”论文

对于您的问题,您必须生成候选词,然后使用 WMD 找到给定短语的最佳匹配。

Word2Vec 模型用于向量化单词。为了对不同长度的句子(短语)进行矢量化,我们可以使用 Google 的Universal Sentence Encoder关注此博客并查看论文

基本上,我们会将每个短语编码成一个 512 维的向量。该向量将与其他相似短语的向量具有相似性。我们可以使用余弦相似度来确定最相似的短语。