[英]How to build POS-tagged corpus with NLTK?
我尝试从外部.txt
文件构建一个POS标记的语料库,用于分块和实体及关系提取。 到目前为止,我发现了一个繁琐的多步解决方案:
使用纯文本语料库读取文件:
from nltk.corpus.reader import PlaintextCorpusReader my_corp = PlaintextCorpusReader(".", r".*\\.txt")
标签语料库,内置Penn POS-tagger:
my_tagged_corp= nltk.batch_pos_tag(my_corp.sents())
(顺便说一句,在这篇文章中Python引发了一个错误: NameError: name 'batch' is not defined
)
将标记的句子写入文件:
taggedfile = open("output.txt" , "w") for sent in dd_tagged: line = " ".join( w+"/"+t for (w, t) in sent ) taggedfile.write(line + "\\n") taggedfile.close ()
最后,再次将此输出作为标记语料库读取:
from nltk.corpus.reader import TaggedCorpusReader my_corpus2 = TaggedCorpusReader(".",r"output.txt")
这对于一个非常常见的任务来说非常不方便(分块总是请求标记的语料库)。 我的问题是:是否有更紧凑和优雅的方式来实现这一点? 例如,同时获取原始输入文件和标记器的语料库阅读器?
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.