python - 使用我自己的标记语料库进行 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') ...]]
解决方案
所以我现在感觉有点傻,但我通过简单地从 TaggedCorpusReader 参数中删除“.*”来获得我想要的东西。所以我现在得到的是:
dothraki_corpus_tagged = TaggedCorpusReader(corpus_root, ".txt")
print (dothraki_corpus_tagged.tagged_sents('dothraki_01.txt'))
推荐阅读
- python - 在 Django 中将 Python 注入到 Include 标记中
- javascript - 暂停功能使游戏崩溃
- javascript - onScroll 属性在 reactjs 中不起作用
- c# - SetOutputToDefaultAudioDevice() 获取 NullException
- css - 如何使滚动条仅在 Chrome、Safari 和 Opera 中悬停时可见?
- python - 使用 {} 和 I 分隔符在 Python 中展开数组
- python - 如何解决价值观问题?
- firebase - Firebase not-in 和 != 运营商错误有人知道为什么吗?
- angular - Angular 测试模拟 ContentChild
- java - 无法创建 Java 虚拟机,并显示消息:“-Djava.ext.dirs=./lib 不受支持。请改用 -classpath。”