Python 使用NLTK将两个字符串匹配在一起?
因此,我正在尝试编写一个包含两个字符串的程序,例如:Python 使用NLTK将两个字符串匹配在一起?,python,regex,nltk,analysis,Python,Regex,Nltk,Analysis,因此,我正在尝试编写一个包含两个字符串的程序,例如: "I like pizza better cold" "I like pizza better cold" 及 并找出这两件事是否相互匹配,比如: 及 如果上述情况不匹配 我使用了可供Python使用的NLTK语言来实现这一点。我只是想知道是否有人曾经做过类似的事情,并且有什么建议?NLTK是一条路吗?我应该使用哪些功能或规格 我正在考虑将字符串拆分为标记,然后选择形容词和名词作为标记的主要方法,然后可能使用情绪分析算法确定其是否为正,然
"I like pizza better cold"
"I like pizza better cold"
及
并找出这两件事是否相互匹配,比如:
及
如果上述情况不匹配
我使用了可供Python使用的NLTK语言来实现这一点。我只是想知道是否有人曾经做过类似的事情,并且有什么建议?NLTK是一条路吗?我应该使用哪些功能或规格
我正在考虑将字符串拆分为标记,然后选择形容词和名词作为标记的主要方法,然后可能使用情绪分析算法确定其是否为正,然后根据此匹配字符串
这只是我为了好玩而做的一个小项目,所以这里的任何东西都是有益的:)
干杯,
将根据你的问题,你想比较两句话,然后可能找出它们的匹配百分比 要查找句子之间的相似性,可以使用
Jaccard相似性
或余弦相似性
有关余弦相似性,请参阅此
如果余弦相似性较小,则句子也不相似,但如果余弦相似性接近1,则句子相似
NLTK可用于查找句子中单词的同义词,以便从句子中获取语义
要查找同义词,可以使用以下代码:
from nltk.corpus import wordnet as wn
wn.synsets(your word)
我不认为NLTK有这样的东西。你必须制作一个定制程序,让比萨饼真的很烂有一个上面句子的列表,或者仅仅是
冷
,冷
。简而言之,你需要有一个单词词典,如果它们出现在一个句子中,就指向一个句子。Mhhhrgh,我认为你应该从更好地理解NLP开始。当然,这是一个困难的话题(我只是个业余爱好者)。你有一个很好的开始:我不太理解你的问题,但它闻起来像词性标签,词性代表词性。这和你在小学时所做的差不多。在这本书中,你介绍了使用nltk进行词性标注。@geekazoid我认为这是一个分类问题,将句子分为一类,如cold
和cold
比萨饼是一样的,但不是sucks
比萨饼。一个特定的句子可以用很多方式写,我认为POS
标记没有任何帮助here@NikhilParmar好的,这是一个观点。我可以看出句子的主语/宾语是否相同。但这取决于OP:)余弦相似性的实现肯定是一个非常好的“保证”检查,或者是第一次通过检查。鉴于NLTK实现需要更重的过程来检查,这可能是在使用更重的比较函数之前进行的快速检查。谢谢你提供的信息,我相信这最终会进入实现:)我也在研究锤击距离,这与这里的余弦相似性是一样的,对吗?干杯我不知道锤击距离,需要阅读。很高兴帮助你:)一定是汉明距离而不是锤击距离。谢谢@Riyaz的更正!是的,我指的是汉明距离:)@Willy如果你认为这个答案对你有用,你可以选择它
"Pizza really sucks."
from nltk.corpus import wordnet as wn
wn.synsets(your word)