【问题标题】:python NLTK POS tagger not behaving as expectedpython NLTK POS 标记器未按预期运行
【发布时间】:2014-03-14 05:18:39
【问题描述】:

我在下面的文本上运行了 pos_tag 函数,它将电池的输出显示为“RB”。因为电池是名词,所以应该显示为'NN'。

nltk.pos_tag(nltk.word_tokenize('Camera picture quality was fair but speed was an issue and also battery life was not that good'))

输出:

[('相机', 'NNP'), ('图片', 'NN'), ('质量', 'NN'), ('was', 'VBD'), ('fair', 'JJ'), ('but', 'CC'), ('speed', 'NN'), ('was', 'VBD'), ('an', 'DT'), ('issue', 'NN'), ('and', 'CC'), ('also', 'RB'), ('battery', 'RB'), ('life', 'NN'), ('was', 'VBD'), ('not', 'RB'), ('that', 'IN'), ('good', 'JJ')]

如果我 POS 用这个标记器 http://cst.dk/online/pos_tagger/uk/ 标记了相同的语句,它会将电池显示为“NN”并给出以下输出:

相机/NNP图片/NN质量/NN被/VBD公平/JJ但/CC速度/NN 是/VBD an/DT 问题/NN 和/CC 也/RB 电池/NN 寿命/NN 是/VBD 不是/RB那个/IN好/JJ

编辑:

声明为:

“相机图像质量还可以,但速度是个问题但是 电池寿命不是那么好”

NLTK 标注器给出以下输出:

[('相机', 'NNP'), ('图片', 'NN'), ('质量', 'NN'), ('was', 'VBD'), ('fair', 'JJ'), ('but', 'CC'), ('speed', 'NN'), ('was', 'VBD'), ('an', 'DT'), ('issue', 'NN'), ('but', 'CC'), ('battery', 'NN'), ('life', 'NN'), ('was', 'VBD'), ('not', 'RB'), ('that', 'IN'), ('好', 'JJ')]

请解释一下!

【问题讨论】:

  • 显然使用了不同的词性标注模型。这些东西是机器学习的,它们有时会出错。
  • 那么是否可以保证某种准确度水平?
  • @larsmans 你能提供更多的见解吗?
  • @r20rock 您必须检查模型并可能检查训练集才能确定。我对pos_tag的实现不是很熟悉;检查 NLTK 源代码。

标签: python nlp nltk


【解决方案1】:

似乎唯一的区别是 cst.dk 将 battery 标记为 NN 而 NLTK 将电池标记为 RB(副词)。

>>> cstdk_output = "Camera/NNP picture/NN quality/NN was/VBD fair/JJ but/CC speed/NN was/VBD an/DT issue/NN and/CC also/RB battery/NN life/NN was/VBD not/RB that/IN good/JJ"
>>> cstdk_postags = [tuple(j for j in i.split('/')) for i in cstdk_output.split()]
>>> from nltk import pos_tag
>>> sent = [i for i,j in cstdk_postags]
>>> nltk_postags = pos_tag(sent)
>>> diff = [(i[0],i[1],j[1]) for i,j in zip(cstdk_postags, nltk_postags) if i[1] != j[1]]
>>> diff
[('battery', 'NN', 'RB')]

没什么好解释的。这是一个使用最大熵的统计训练系统,参见http://www.nltk.org/_modules/nltk/tag.html#pos_tag 中的_POS_TAGGER,所以它肯定会出错。查看它所犯的其他错误,POS tagging - NLTK thinks noun is adjective

【讨论】:

    猜你喜欢
    • 2016-07-02
    • 1970-01-01
    • 2013-01-08
    • 2015-03-25
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-05-20
    相关资源
    最近更新 更多