使用 NLTK 将两个字符串匹配在一起?

Matching two strings together using NLTK?

所以我正在尝试编写一个程序来接收 2 个字符串,例如:

"I like pizza better cold"

"I really enjoy pizza when it is chilled"

并找出这两个东西与类似的东西相比是否相互匹配:

"I like pizza better cold"

"Pizza really sucks."

以上不匹配。

我已经找到了可用于 Python 的 NLTK 语言来执行此操作。我只是想知道是否有人以前从事过类似的工作并有任何建议? NLTK 是要走的路吗?我应该使用什么功能或规格?

我正在考虑将字符串拆分为标记,然后挑选形容词和名词作为标记的主要方法,然后可能使用情感分析算法来确定它是否是积极的,然后根据此匹配字符串...

这只是我为了好玩而进行的一个小副项目,所以在这里做任何事情都会有好处:)

干杯, 威尔

根据你的问题,你想比较两个句子,然后大概找出它们匹配的百分比。

要查找句子之间的相似性,您可以使用 Jaccard SimilarityCosine Similarity

余弦相似度参考这个How to calculate cosine similarity given 2 sentence strings? - Python

如果余弦相似度小于则句子不相似但如果接近1则句子相似

NLTK 可用于查找句子中单词的同义词,以便您可以从句子中获取语义。

要查找同义词,您可以使用以下代码:

from nltk.corpus import wordnet as wn
wn.synsets(your word)