所以我正在尝试编写一个包含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是走的路吗?我应该使用的任何功能或规格?
我正在考虑将字符串拆分为标记,然后选择形容词和名词作为标记的主要方法,然后可能使用情感分析算法来确定它是否为正,然后根据此匹配字符串。
这只是我正在努力工作的一个小方面项目,所以任何事情都会对此有益:)
干杯, 将
答案 0 :(得分:2)
根据你的问题,你想比较两个句子,然后可能找出他们匹配的百分比。
要查找句子之间的相似性,您可以使用Jaccard Similarity
或Cosine Similarity
。
请参阅余弦相似度How to calculate cosine similarity given 2 sentence strings? - Python
如果余弦相似度较小,那么句子也不相似,但如果它更接近于1则句子相似
NLTK可用于查找句子中单词的同义词,以便您可以从句子中获取语义。
要查找同义词,您可以使用以下代码:
from nltk.corpus import wordnet as wn
wn.synsets(your word)