【发布时间】: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 源代码。