我知道如何使用NLTK获取二元组和三元组搭配,并将它们应用到我自己的语料库中。代码如下。不过我不确定(1)如何获取特定单词的搭配?(2)NLTK是否有基于对数似然比的配置度量?importnltkfromnltk.collocationsimport*fromnltk.tokenizeimportword_tokenizetext="thisisafoobarbarblacksheepfoobarbarblacksheepfoobarbarblacksheepshepbarbarblacksentence"trigram_measures=nltk.collocations.Trigr
我正在使用nltk将句子拆分为单词。例如nltk.word_tokenize("Thecodedidn'twork!")->['The','code','did',"n't",'work','!']标记化在分割单词边界方面效果很好[即splittingpunctuationfromwords],但有时过度拆分,单词末尾的修饰符被视为单独的部分。例如,didn't被拆分为did和n't部分,i've被拆分我和已经。显然,这是因为这些词在nltk使用的原始语料库中被一分为二,在某些情况下可能是可取的。是否有任何内置方法可以覆盖此行为?可能以类似于nltk的MWETokenizer能够将多个
nltk.download()在OSX上挂起。这是发生的事情:$python>>>Python2.7.2(default,Oct112012,20:14:37)>>>[GCC4.2.1CompatibleAppleClang4.0(tags/Apple/clang-418.0.60)]ondarwin>>>importnltk>>>nltk.download()showinginfohttp://nltk.github.com/nltk_data/在那之后,它完全卡住了。我根据thentlkinstallpage安装了所有东西.我在OSX10.8.3上。在我的Linux机器上,它可以正
为了说明我的问题,我想训练和测试/比较几种(神经)语言模型。为了专注于模型而不是数据准备,我选择使用nltk的Brown语料库并训练nltk提供的Ngrams模型作为基线(与其他LM进行比较)。所以我的第一个问题实际上是关于我发现可疑的nltkNgram模型的行为。由于代码很短,我将其粘贴在这里:importnltkprint"...build"brown=nltk.corpus.browncorpus=[word.lower()forwordinbrown.words()]#Trainon95%fthecorpusandtestontherestspl=95*len(corpus)/
我正在比较两个朴素贝叶斯分类器:一个fromNLTK还有一个fromscikit-learn.我正在处理多类分类问题(3类:正(1)、负(-1)和中性(0))。在不执行任何特征选择(即使用所有可用特征)的情况下,使用包含70,000个实例的训练数据集(带有噪声标记,实例分布为17%正、4%负和78%中性),我训练两个分类器,第一个是nltk.NaiveBayesClassifier,第二个是sklearn.naive_bayes.MultinomialNB(fit_prior=True)。训练后,我在30,000个实例的测试集上评估了分类器,得到以下结果:**NLTK'sNaiveBa
我对NLTK和Python还很陌生。我一直在使用示例中给出的玩具语法创建句子解析,但我想知道是否有可能使用从PennTreebank的一部分学习的语法,而不是仅仅编写我自己的或使用玩具语法?(我在Mac上使用Python2.7)非常感谢 最佳答案 如果你想要一个精确捕获NLTK附带的PennTreebank样本的语法,你可以这样做,假设你已经下载了NLTK的Treebank数据(见下面的评论):importnltkfromnltk.corpusimporttreebankfromnltk.grammarimportContextFr
nltk.text.Text的generate方法似乎在NLTK3.0中被移除了。例如:>>>bible=nltk.corpus.gutenberg.words(u'bible-kjv.txt')>>>bibleText=nltk.Text(bible)>>>bibleText.generate()Traceback(mostrecentcalllast):File"",line1,inAttributeError:'Text'objecthasnoattribute'generate'可能只是我记错了怎么操作,但是我在网上能找到的似乎都支持上述方法。知道我做错了什么吗?
我需要一个包含一个词的输入文本文件。然后我需要使用wordnet找到词的同义词集的引理名称、定义和示例。我已经阅读了这本书:“PythonTextProcessingwithNLTK2.0Cookbook”和“NaturalLanguageProcessingusingNLTK”来帮助我朝这个方向发展。虽然我已经了解如何使用终端来完成此操作,但我无法使用文本编辑器来完成此操作。例如,如果输入文本包含单词“flabbergasted”,则输出需要采用这种方式:目瞪口呆(动词)flabbergast,boggle,bowlover-惊讶地克服;“这令人难以置信!”(形容词)目瞪口呆,目瞪口
有没有一种方法可以使用WordNet或使用Python的NLTK查找英语单词的使用频率?注意:我不想要给定输入文件中某个单词的频率计数。我想根据今天的使用情况大致了解某个词的出现频率。 最佳答案 在WordNet中,每个Lemma都有一个由方法返回的频率计数lemma.count(),存储在文件nltk_data/corpora/wordnet/cntlist.rev中。代码示例:fromnltk.corpusimportwordnetsyns=wordnet.synsets('stack')forsinsyns:forlins.l
我读过一篇论文,它使用ngram计数作为分类器的特征,我想知道这到底是什么意思。示例文本:“Loremipsumdolorsitamet,consetetursadipscingelitr,seddiam”我可以根据此文本创建一元字母组、二元字母组、三元字母组等,我必须在其中定义在哪个“级别”上创建这些一元字母组。“级别”可以是字符、音节、单词、...那么从上面的句子中创建unigrams只会创建一个包含所有单词的列表?创建二元组会导致单词对将彼此跟随的单词组合在一起吗?因此,如果论文谈论ngram计数,它只是简单地从文本中创建unigrams、bigrams、trigrams等,并计