0

我是 Python 新手,需要它来进行 PoS 标记。因此我尝试使用标准工具。我试图创建一个标记器并得到一个我不明白的 ValueError。我的代码:

import nltk
tagged_sents = nltk.corpus.brown.tagged_sents(categories = 'reviews')
tagger =nltk.ClassifierBasedTagger(tagged_sents)

我已经检查过了,tagged_sents 是所有句子的列表。每个句子 self 是一个元组列表(单词,PoS),就像在文档中一样:

:param train:一个标记语料库,由标记句子列表组成,其中每个句子都是(单词,标记)元组的列表。

为什么我会收到值错误?

ValueError:必须指定训练数据或训练模型。

4

1 回答 1

2

你已经通过了tagged_sents位置,所以它被用作feature_detector参数。您应该像这样构造标记器:

tagger = nltk.ClassifierBasedTagger(train=tagged_sents)

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

于 2016-03-16T09:17:02.100 回答