Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/290.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/regex/20.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 使用NLTK将两个字符串匹配在一起?_Python_Regex_Nltk_Analysis - Fatal编程技术网

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)