草庐IT

nltk_contrib

全部标签

python - 使用 NLTK 的 Punkt Tokenizer 保留空行

我正在使用NLTK的PUNKT句子分词器将文件拆分为句子列表,并希望保留文件中的空行:fromnltkimportdatatokenizer=data.load('tokenizers/punkt/english.pickle')s="Thatwasaveryloudbeep.\n\nIdon'tevenknow\nifthisisworking.Mark?\n\nMarkareyouthere?\n\n\n"sentences=tokenizer.tokenize(s)printsentences我想这样打印:['Thatwasaveryloudbeep.\n\n',"Idon'te

python - 哪个分词器更适合与 nltk 一起使用

我已经开始学习nltk并关注this教程。首先,我们使用sent_tokenize来使用内置分词器,然后我们使用PunktSentenceTokenizer。本教程提到PunktSentenceTokenizer能够进行无监督机器学习。那么这是否意味着它比默认的更好?或者各种tokenizers之间比较的标准是什么? 最佳答案 查看sourcecode对于sent_tokenize()显示该方法当前使用预训练的punkttokenizer,因此它等同于PunktSentenceTokenizer。您是否需要重新训练分词器取决于您使用

python - 坚持在 Python 中使用 Megam(nltk.classify.MaxentClassifier)

我正在使用ubuntux64,经过两天并搜索所有网络,我仍然无法安装Megam,我已阅读此页面中的所有信息http://www.cs.utah.edu/~hal/megam/并从http://packages.ubuntu.com/precise/ocaml安装了x64版本的o'calm但是当我想在python中使用“megam”作为分类器时,它说:"NLTKwasunabletofindthemegamfile!UsesoftwarespecificconfigurationparamatersorsettheMEGAMenvironmentvariable.谁能告诉我如何在pyth

python - 如何在 python nltk 中获取 n-gram 搭配和关联?

在thisdocumentation,有使用nltk.collocations.BigramAssocMeasures()、BigramCollocationFinder、nltk.collocations.TrigramAssocMeasures()和TrigramCollocationFinder.有基于pmi的bigram和trigram查找nbest的示例方法。示例:finder=BigramCollocationFinder.from_words(...nltk.corpus.genesis.words('english-web.txt'))>>>finder.nbest(b

python - python 中的 Nltk 法语分词器无法正常工作

为什么python自带的frenchtokenizer对我不起作用?我做错了什么吗?我在做importnltkcontent_french=["Lesastronomesamateursjouentégalementunrôleimportantenrecherche;lesplussérieuxparticipantcourammentausuivid'étoilesvariables,àladécouvertedenouveauxastéroïdesetdenouvellescomètes,etc.",'Séquencevidéo.',"JohnRichardBondexpliqu

python - 使用 wordnet nltk 确定 Hypernym 或 Hyponym

我想检查两个词之间的上位词/下位词关系(由用户提供)这意味着它们中的任何一个都可以是其他的上位词,或者也可以是两者之间没有上位词关系的情况。我可以使用path_similarity吗?我正在尝试这样做。如果你能提出更好的方法为此。我还想知道从sparql查询中检查是否更好first=wn.synset('automobile.n.01')second=wn.synset('car.n.01')first.path_similarity(second) 最佳答案 首先,wordnet中的word和synset/concept是有区别的

python - NLTK 中的 FreqDist 不对输出进行排序

我是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

python - 在 NLTK 中实例化和使用 StanfordTagger

这个问题在这里已经有了答案:HowtouseStanfordParserinNLTKusingPython(18个答案)关闭2年前。对于这个问题的新手性质,我深表歉意-我一直在尝试弄清楚Python打包和命名空间,但更细微的问题似乎让我难以理解。也就是说,我想将Python包装器用于Stanford词性标注器。我很容易找到文档here,它提供了一个使用示例:st=StanfordTagger('bidirectional-distsim-wsj-0-18.tagger')st.tag('Whatistheairspeedofanunladenswallow?'.split())[('W

python - 在 NLTK 中创建自己的语料库的优势

我在Mysql表中有大量文本。我想使用NLTK工具包对我的文本进行一些统计分析,然后再进行一些NLP。我有两个选择:一次从我的数据库表中提取所有文本(如果需要,可能将它们放入一个文件中)并使用NLTK函数提取文本并将其转换为可与NLTK一起使用的“语料库”。后者看起来相当复杂,我还没有找到任何实际描述如何使用它的文章我只找到了这个:CreatingaMongoDBbackedcorpusreader它使用MongoDB作为其数据库,代码相当复杂,还需要了解MongoDB。另一方面,前者看起来非常简单,但会导致从数据库中提取文本的开销。现在的问题是,NLTK中语料库的优势是什么?换句话说

python - 使用自定义语料库在 NLTK 中训练 NER 模型

我有一个conll2002格式的注释语料库,即一个制表符分隔文件,带有标记、pos-tag和IOB标记,后跟实体标记。示例:JohnNNPB-PERSON我想在NLTK中训练一个葡萄牙语NER模型,最好是MaxEnt模型。我不想想在NLTK中使用“内置”StanfordNER,因为我已经能够使用独立的StanfordNER。我想使用MaxEnt模型来与斯坦福NER进行比较。我找到了NLTK-trainer但我无法使用它。我怎样才能做到这一点? 最佳答案 nltkbook的第6章和第7章解释如何在IOB编码的语料库上训练“分block