【问题标题】:What is the accuracy of nltk pos_tagger?nltk pos_tagger 的准确度是多少?
【发布时间】:2014-08-03 19:01:47
【问题描述】:

我正在写一篇论文,并在我的工作中使用 nltk.pos_tagger。我找不到有关此算法准确性的任何信息。有谁知道我在哪里可以找到这些信息?

【问题讨论】:

  • 我认为您无法在任何地方获得准确度分数。像大多数 NLP 工具一样,这是非常特定于应用程序的。取决于你有多少模棱两可的词,你是否有评估模型的基本事实,等等。我会设计你的论文,以便你可以在你的具体情况下计算精确度和召回率。比如说,使用 Mechanical Turk 从您的语料库中生成人工标记的数据,然后进行评估。

标签: python nlp nltk pos-tagger


【解决方案1】:

NLTK 默认 pos 标记器 pos_tag 是 MaxEnt 标记器,请参见 https://github.com/nltk/nltk/blob/develop/nltk/tag/init.py 的第 82 行

from nltk.corpus import brown
from nltk.data import load

sents = brown.tagged_sents()
# test on last 10% of brown corpus.
numtest = len(sents) / 10
testsents = sents[numtest:]

_POS_TAGGER = 'taggers/maxent_treebank_pos_tagger/english.pickle'

tagger = load(_POS_TAGGER)

print tagger.evaluate(testsents)

[出]:

【讨论】:

  • 我想你忘记粘贴输出了。
  • 以及如何使用MaxEnt tagger 是它的准确性的答案?
  • 准确性 我在 WSJ 语料库上训练了几个标注器(90% 训练/10% 测试数据)。 nltk-maxent-pos-tagger 达到了 93.64%(100 次迭代,稀有特征截止 = 5)的准确度,而 MXPOST 达到了 96.93%(100 次迭代)。由于两种实现都使用相同的功能集,结果不应该有那么不同。不幸的是,没有可用于 MXPOST 的源代码,但是将 nltk-maxent-pos-tagger 与 OpenNLP 的实现进行比较应该会有所帮助。链接:github.com/arne-cl/nltk-maxent-pos-tagger#todo
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2016-09-02
  • 2019-07-09
  • 2020-04-08
  • 1970-01-01
相关资源
最近更新 更多