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
我是 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