首页 > 解决方案 > 使用我自己的标记语料库进行 NLTK POS 标记?

问题描述

我正在尝试使用 NLTK 为 Dothraki 语言编写一个基本的 POS 标记器。与布朗语料库类似,我有自己的 .txt 文件,其中包含单词及其相关的词性。例如...

Anha/PRP vidrik/VBP 卡拉萨雷斯/NN anni/NN jim/NN

我想做的是将该语料库加载到 NLTK 中,并能够在单词旁边看到词性,类似于布朗语料库的做法。所以这就是我正在做的事情:

from nltk.corpus.reader import TaggedCorpusReader

corpus_root = '...'
dothraki_corpus_tagged = TaggedCorpusReader(corpus_root, ".*", ".txt")
print (dothraki_corpus_tagged.tagged_sents('dt01.txt'))

但我的结果是:

[[('Anha/PRP', None), ('vidrik/VBP', None), ('khalasares/NN', None), ('anni/NN', None), ('jim/NN', None)]]

代替

[[('Anha', 'PRP'), ('vidrik', 'VBP') ...]]

标签: pythonnlpnltk

解决方案


所以我现在感觉有点傻,但我通过简单地从 TaggedCorpusReader 参数中删除“.*”来获得我想要的东西。所以我现在得到的是:

dothraki_corpus_tagged = TaggedCorpusReader(corpus_root, ".txt")
print (dothraki_corpus_tagged.tagged_sents('dothraki_01.txt'))

推荐阅读