NLTK 词性标注

NLTK PoS tagging

我是 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: A tagged corpus consisting of a list of tagged sentences, where each sentence is a list of (word, tag) tuples.

为什么我会收到值错误?

ValueError: Must specify either training data or trained model.

您已经在位置上传递了 tagged_sents,因此它被用作 feature_detector 参数。你应该像这样构建标记器:

tagger = nltk.ClassifierBasedTagger(train=tagged_sents)

http://www.nltk.org/api/nltk.tag.html#nltk.tag.sequential.ClassifierBasedTagger