草庐IT

python - NLTK 查找错误

在使用NLTK运行Python脚本时,我得到了这个:Traceback(mostrecentcalllast):File"cpicklesave.py",line56,inpos=nltk.pos_tag(words)File"/usr/lib/python2.7/site-packages/nltk/tag/__init__.py",line110,inpos_tagtagger=PerceptronTagger()File"/usr/lib/python2.7/site-packages/nltk/tag/perceptron.py",line140,in__init__AP_MO

python - 使用 NLTK 的 FreqDist

Python包nltk具有FreqDist函数为您提供文本中单词的频率。我正在尝试将我的文本作为参数传递,但结果是以下形式:['','e','a','o','n','i','t','r','s','l','d','h','c','y','b','u','g','\n','m','p','w','f',',','v','.',"'",'k','B','"','M','H','9','C','-','N','S','1','A','G','P','T','W','[',']','(',')','0','7','E','J','O','R','j','x']而在nltk网站上的示例中,结果是

python - 使用 NLTK 将分词器组合成语法和解析器

我正在阅读NLTK书籍,但我似乎无法做一些似乎是构建体面语法的自然第一步。我的目标是为特定的文本语料库构建语法。(最初的问题:我是否应该尝试从头开始学习语法,还是应该从预定义的语法开始?如果我应该从另一种语法开始,哪个是英语的好开始?)假设我有以下简单语法:simple_grammar=nltk.parse_cfg("""S->NPVPPP->PNPNP->DetN|DetNPPVP->VNP|VPPPDet->'a'|'A'N->'car'|'door'V->'has'P->'in'|'for'""");这个语法可以解析一个很简单的句子,比如:parser=nltk.ChartPar

python - 无法在 Mac OS El Capitan 上安装 nltk

我按照nltk文档的建议执行了sudopipinstall-Unltk。但是,我得到以下输出:CollectingnltkDownloadingnltk-3.0.5.tar.gz(1.0MB)100%|████████████████████████████████|1.0MB516kB/sCollectingsix>=1.9.0(fromnltk)Downloadingsix-1.9.0-py2.py3-none-any.whlInstallingcollectedpackages:six,nltkFoundexistinginstallation:six1.4.1DEPRECATI

python - 在 NLTK 中使用 PunktSentenceTokenizer

我正在使用NLTK学习自然语言处理。我遇到了使用PunktSentenceTokenizer的代码,在给定的代码中我无法理解其实际用途。代码给出:importnltkfromnltk.corpusimportstate_unionfromnltk.tokenizeimportPunktSentenceTokenizertrain_text=state_union.raw("2005-GWBush.txt")sample_text=state_union.raw("2006-GWBush.txt")custom_sent_tokenizer=PunktSentenceTokenizer(

Python NLTK pos_tag 未返回正确的词性标记

有这个:text=word_tokenize("Thequickbrownfoxjumpsoverthelazydog")并运行:nltk.pos_tag(text)我明白了:[('The','DT'),('quick','NN'),('brown','NN'),('fox','NN'),('jumps','NNS'),('over','IN'),('the','DT'),('lazy','NN'),('dog','NN')]这是不正确的。句子中quickbrownlazy的标签应该是:('quick','JJ'),('brown','JJ'),('lazy','JJ')通过他们的on

python - 如何在带有朴素贝叶斯分类器和 NLTK 的 scikit 中使用 k 折交叉验证

我有一个小的语料库,我想用10倍交叉验证计算朴素贝叶斯分类器的准确率,怎么做。 最佳答案 您的选择是自己设置或使用NLTK-Trainer之类的东西自NLTKdoesn'tdirectlysupportcross-validationformachinelearningalgorithms.我建议您可能只使用另一个模块来为您执行此操作,但如果您真的想编写自己的代码,您可以执行以下操作。假设您想要10倍,您必须将您的训练集划分为10个子集,在9/10上训练,测试在剩余的1/10上,并为每个子集组合(10)执行此操作。假设您的训练集位于

python - NLTK POS tagger 要求我下载什么?

我刚开始使用词性标注器,我遇到了很多问题。我开始使用以下内容进行POS标记:importnltktext=nltk.word_tokenize("Wearegoingout.Justyouandme.")当我想打印'text'时,会发生以下情况:printnltk.pos_tag(text)Traceback(mostrecentcalllast):File"",line1,inFile"F:\Python26\lib\site-packages\nltk\tag\__init__.py",line63,inpos_tagtagger=nltk.data.load(_POS_TAGGE

python - NLTK WordNet Lemmatizer : Shouldn't it lemmatize all inflections of a word?

我将NLTKWordNetLemmatizer用于词性标记项目,首先将训练语料库中的每个单词修改为其词干(就地修改),然后仅在新语料库上进行训练。但是,我发现lemmatizer没有像我预期的那样运行。例如,单词loves被词形还原为love这是正确的,但单词loving仍然是loving即使在词形还原之后。这里的loving就像句子“我爱它”一样。love不是变形词loving的词干吗?类似地,许多其他“ing”形式在词形还原后保持不变。这是正确的行为吗?还有哪些其他准确的词形还原器?(不需要在NLTK中)在决定词干时是否有形态分析器或词形还原器也考虑到词的词性标签?例如,如果kil

python - 如何调整 NLTK 句子标记器

我正在使用NLTK分析一些经典文本,并且遇到了逐句标记文本的麻烦。例如,这是我从MobyDick中得到的片段。:importnltksent_tokenize=nltk.data.load('tokenizers/punkt/english.pickle')'''(Chapter16)Aclamforsupper?acoldclam;isTHATwhatyoumean,Mrs.Hussey?"saysI,"butthat'sarathercoldandclammyreceptioninthewintertime,ain'tit,Mrs.Hussey?"'''sample='Aclamf