两个句子/字符串/文本之间的句法相似度/距离使用nltk



我有两个文本,如下

Text1: John likes apple

Text2: Mike hate orange

如果你检查以上两篇文章,它们在语法上是相似的,但在语义上有不同的含义。

我想找到

1)两个文本之间的句法距离

2)两个文本之间的语义距离

是否有任何方法可以使用nltk,因为我是NLP的新手?

可以,但不限于nltk。一种用于句法距离的方法是词性标注(POS tagging),它将句子中的每个单词映射到一个特定的标注:https://en.wikipedia.org/wiki/Part-of-speech_tagging

例如,它将你的句子映射到这些:
文本1:名词动词名词
文本2:名词动词名词

然后你可以测量这两个句子的距离。


对于语义,你需要语义词网并为句子的每个词找到同义词,然后尝试找到每个句子中单词同义词的交集

对于语义,您可能想要尝试word2vec。你可以安全地计算句子中单词的相似度平均值,或者你也可以根据其语法想出自己的方法来衡量单词的权重。

from gensim.models import Word2Vec
model = Word2Vec.load(path/to/your/model)
model.similarity('apple', 'orange')

相关内容

  • 没有找到相关文章

最新更新