在阅读了大量的帖子后,我仍然很难在nltk中制作一个定制语料库。我有一个标记句子的文本文件,表格字符串中的每一项.单词/标签。我想用这东西训练一个标签师。我正在尝试使用一个名为列车标签的nltk包,它可以训练各种类型的tagger。2个问题。1)训练标记者可以使用文本文件作为输入还是只使用nltk语料库对象? 2)如果只使用一个语料库,如何从文本文件中创建一个文本文件?我试过以下代码来创建一个语料库..。
import nltk
from nltk.corpus import PlaintextCorpusReader
corpus_root = './'
newcorpus = PlaintextCorpusReader(corpus_root, '.*')
print newcorpus.raw('IOBHarrisonsTraining.txt') .... this is my tagged text file似乎很有效,但我找不到输出。应该在这个代码运行的文件夹中创建一个语料库,或者在nltk_data/ code中创建,但是什么都找不到。在语料库模块中有什么方法可以保存我创建的“新语料库”吗?哪一种可以作为输入来训练标记者?另外,我应该使用带标记的句子文件作为PlaintextCorpusReader的输入,还是仅仅使用一组未加标记的句子?
发布于 2012-12-12 09:04:42
NLTK语料库存储为文本文件的集合。NLTK语料库功能被组织成多种文件格式的读取器类。你会在nltk.corpus.reader找到他们。nltk.corpus模块还为nltk_data中的语料库提供了快捷方式;它们只是使用指向语料库文件的路径来启动适当的读取器类。但是新语料库在nltk.corpus中不会神奇地以对象的形式出现;要读取自己的语料库,请实例化适当的读取器类。例如,在nltk/corpus/init.py中可以找到以下内容:
gutenberg = LazyCorpusLoader(
'gutenberg', PlaintextCorpusReader, r'(?!\.).*\.txt')PlaintextCorpusReader是从nltk.corpus.reader导入的,在这里可以找到所有其他读取器类。您可以直接使用它,而无需依赖LazyCorpusReader;检查文档。
但实际上,不支持以各种支持的格式编写语料库。要做到这一点,请找到一个与您的语料库类似的语料库,并模仿其格式。然后你可以使用相同的读取器来阅读你的语料库。(例如,Brown语料库显示它由单词/标记格式中的空格分隔的标记组成)
https://stackoverflow.com/questions/10805524
复制相似问题