我是Python的新手,需要它用于PoS标记。因此我尝试使用标准工具。我试图创建一个标记器并获得一个我不理解的ValueError。 我的代码:
import nltk
tagged_sents = nltk.corpus.brown.tagged_sents(categories = 'reviews')
tagger =nltk.ClassifierBasedTagger(tagged_sents)
我已经检查过,tagged_sents是所有句子的列表。每个句子self都是一个元组列表(word,PoS),就像在文档中一样:
:param train:由标记列表组成的标记语料库 句子,每个句子都是(单词,标签)元组的列表。
为什么我会收到价值错误?
ValueError:必须指定训练数据或训练模型。
答案 0 :(得分:2)
您已经定位tagged_sents
,因此它被用作feature_detector
参数。您应该像这样构建标记器:
tagger = nltk.ClassifierBasedTagger(train=tagged_sents)
请参阅http://www.nltk.org/api/nltk.tag.html#nltk.tag.sequential.ClassifierBasedTagger