首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >从标记文本文件创建自定义nltk语料库

从标记文本文件创建自定义nltk语料库
EN

Stack Overflow用户
提问于 2012-05-29 19:35:01
回答 1查看 2K关注 0票数 0

在阅读了大量的帖子后,我仍然很难在nltk中制作一个定制语料库。我有一个标记句子的文本文件,表格字符串中的每一项.单词/标签。我想用这东西训练一个标签师。我正在尝试使用一个名为列车标签的nltk包,它可以训练各种类型的tagger。2个问题。1)训练标记者可以使用文本文件作为输入还是只使用nltk语料库对象? 2)如果只使用一个语料库,如何从文本文件中创建一个文本文件?我试过以下代码来创建一个语料库..。

代码语言:javascript
复制
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的输入,还是仅仅使用一组未加标记的句子?

EN

回答 1

Stack Overflow用户

发布于 2012-12-12 09:04:42

NLTK语料库存储为文本文件的集合。NLTK语料库功能被组织成多种文件格式的读取器类。你会在nltk.corpus.reader找到他们。nltk.corpus模块还为nltk_data中的语料库提供了快捷方式;它们只是使用指向语料库文件的路径来启动适当的读取器类。但是新语料库在nltk.corpus中不会神奇地以对象的形式出现;要读取自己的语料库,请实例化适当的读取器类。例如,在nltk/corpus/init.py中可以找到以下内容:

代码语言:javascript
复制
gutenberg = LazyCorpusLoader(
    'gutenberg', PlaintextCorpusReader, r'(?!\.).*\.txt')

PlaintextCorpusReader是从nltk.corpus.reader导入的,在这里可以找到所有其他读取器类。您可以直接使用它,而无需依赖LazyCorpusReader;检查文档。

但实际上,不支持以各种支持的格式编写语料库。要做到这一点,请找到一个与您的语料库类似的语料库,并模仿其格式。然后你可以使用相同的读取器来阅读你的语料库。(例如,Brown语料库显示它由单词/标记格式中的空格分隔的标记组成)

票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/10805524

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档