我是Python的新手,我正在尝试自学语言处理。python中的NLTK有一个名为FreqDist的函数,它给出了文本中单词的频率,但由于某种原因它不能正常工作。这是教程让我写的:fdist1=FreqDist(text1)vocabulary1=fdist1.keys()vocabulary1[:50]所以基本上它应该给我一个文本中50个最常用单词的列表。但是,当我运行代码时,结果是50个最不频繁出现的词,按照从最不频繁到最频繁的顺序排列,而不是相反。我得到的输出如下:[u'succour',u'four',u'woods',u'hanging',u'woody',u'conjure
这个问题在这里已经有了答案:HowtouseStanfordParserinNLTKusingPython(18个答案)关闭2年前。对于这个问题的新手性质,我深表歉意-我一直在尝试弄清楚Python打包和命名空间,但更细微的问题似乎让我难以理解。也就是说,我想将Python包装器用于Stanford词性标注器。我很容易找到文档here,它提供了一个使用示例:st=StanfordTagger('bidirectional-distsim-wsj-0-18.tagger')st.tag('Whatistheairspeedofanunladenswallow?'.split())[('W
我在Mysql表中有大量文本。我想使用NLTK工具包对我的文本进行一些统计分析,然后再进行一些NLP。我有两个选择:一次从我的数据库表中提取所有文本(如果需要,可能将它们放入一个文件中)并使用NLTK函数提取文本并将其转换为可与NLTK一起使用的“语料库”。后者看起来相当复杂,我还没有找到任何实际描述如何使用它的文章我只找到了这个:CreatingaMongoDBbackedcorpusreader它使用MongoDB作为其数据库,代码相当复杂,还需要了解MongoDB。另一方面,前者看起来非常简单,但会导致从数据库中提取文本的开销。现在的问题是,NLTK中语料库的优势是什么?换句话说
我有一个conll2002格式的注释语料库,即一个制表符分隔文件,带有标记、pos-tag和IOB标记,后跟实体标记。示例:JohnNNPB-PERSON我想在NLTK中训练一个葡萄牙语NER模型,最好是MaxEnt模型。我不想想在NLTK中使用“内置”StanfordNER,因为我已经能够使用独立的StanfordNER。我想使用MaxEnt模型来与斯坦福NER进行比较。我找到了NLTK-trainer但我无法使用它。我怎样才能做到这一点? 最佳答案 nltkbook的第6章和第7章解释如何在IOB编码的语料库上训练“分block
有没有办法通过NLTK从同义词集中捕获WordNet选择限制(例如+animate、+human等)?或者是否有任何其他方式提供有关同义词集的语义信息?我能得到的最接近它的是上位词关系。 最佳答案 这取决于你的“选择限制”是什么,或者我称之为语义特征,因为在经典语义中,存在着一个概念的世界,为了比较我们必须找到的概念区分特征(即用于区分概念的特征)和相似特征(即相似概念的特征,并强调区分它们的必要性)例如:Manis[+HUMAN],[+MALE],[+ADULT]Womanis[+HUMAN],[-MALE],[+ADULT][+
我正在努力学习使用NLTK在python中打包。特别是,我需要在NLTK中使用penntreebank数据集。据我所知,如果我调用nltk.download('treebank')我可以获得数据集的5%。但是,我在tar.gz文件中有一个完整的数据集,我想使用它。在here据说:IfyouhaveaccesstoafullinstallationofthePennTreebank,NLTKcanbeconfiguredtoloaditaswell.Downloadtheptbpackage,andinthedirectorynltk_data/corpora/ptbplacetheBR
我是一名NTLK/Python初学者,并设法使用CategorizedPlaintextCorpusReader加载了我自己的语料库,但我如何实际训练和使用数据进行文本分类?>>>fromnltk.corpus.readerimportCategorizedPlaintextCorpusReader>>>reader=CategorizedPlaintextCorpusReader('/ebs/category',r'.*\.txt',cat_pattern=r'(.*)\.txt')>>>len(reader.categories())234 最佳答案
我有一个人工标记的语料库,其中包含5000多个XML主题索引文档。它们的大小从几百千字节到几百兆字节不等。短文转手稿。它们都被索引到了段落级别。我很幸运有这样的语料库,我正在尝试自学一些NLP概念。诚然,我才刚刚开始。到目前为止,只阅读了免费提供的NLTK书籍,streamhacker,并略读jacobs(?)NLTK食谱。我喜欢尝试一些想法。有人向我建议,也许我可以采用二元语法并使用朴素贝叶斯分类来标记新文档。我觉得这是错误的做法。朴素贝叶斯精通真/假关系,但要在我的分层标签集上使用它,我需要为每个标签构建一个新的分类器。其中将近1000个。我有足够的内存和处理器能力来完成这样的任务
我正在使用Python学习nltk。我尝试在各种句子上做pos_tag。但得到的结果并不准确。我如何即兴创作结果?broke=NNflimsy=NNcrap=NN我也得到了很多额外的词被归类为NN。我怎样才能过滤掉这些以获得更好的结果。? 最佳答案 给出上下文,你就得到了这些结果。举个例子,我在上下文短语“Theybrokeclimsycrap”上使用pos_tag获得了其他结果:importnltktext=nltk.word_tokenize("Theybrokeflimsycrap")nltk.pos_tag(text)[('
我的问题与thisone相当相关,但我决定打开另一个问题线程。我希望它很好。我也在使用Python中的NLTK构建垃圾邮件过滤器,但我才刚刚开始。我想知道我可以使用哪个垃圾邮件语料库以及如何导入它?我没有发现任何“内置于NLTK”的垃圾邮件语料库(here)。提前谢谢你。 最佳答案 这presentation使用enron-spamdataset(200,000多封电子邮件)。Thetrainingandtestingsetscomefromadatasetof200,000+Enronemailswhichcontainboth“