【问题标题】:NLTK PoS taggingNLTK PoS 标记
【发布时间】:2016-07-02 01:23:20
【问题描述】:

我是 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:必须指定训练数据或训练模型。

【问题讨论】:

    标签: python nltk tagging part-of-speech


    【解决方案1】:

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

    tagger = nltk.ClassifierBasedTagger(train=tagged_sents)
    

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

    【讨论】:

    • 虽然ClassifierBasedTagger 期望feature_detector 在第一位也很奇怪。
    • This 适用于您的解决方案,尽管我直到现在才看到调用 ClassifierBasedTagger 时。
    • 使用PerceptronTaggernltk.org/_modules/nltk/tag/…进行训练可能会更好。
    猜你喜欢
    • 2015-03-25
    • 1970-01-01
    • 2013-01-08
    • 1970-01-01
    • 1970-01-01
    • 2013-12-18
    • 2014-09-22
    • 2013-06-20
    • 1970-01-01
    相关资源
    最近更新 更多