Stanford NLP POS Tagger 对非常简单的短语有问题?
Stanford NLP POS Tagger has issues with very simple phrases?
我在使用 Stanford NLP Parser/POS Tagger 的应用程序中发现了不一致行为的示例,并且我能够在线复制它 http://nlp.stanford.edu:8080/corenlp/process。我使用的是 3.60 版:
以下是我目前发现的 3 个问题:
- 网点有无不一致问题:
被发现为名词的动词
被标记为形容词的动词
我知道这种语言相当含糊,但我想知道我是否可以信任这个库,即使是那些简单的短语。我也想知道我是否做错了什么。我单独尝试了每个例子的问题案例,或者换句话说,在单独的句子中,问题仍然存在。
这是预期的行为:
感谢任何帮助!谢谢
你没有做错任何事。当然欢迎您自己决定对任何工具的信任程度,但我怀疑您会在任何训练有素的解析器中看到类似的问题 empirically/statistically。关于您的问题:
- 句号在模型构建中被视为与任何其他标记一样,因此,是的,它们可以影响所选的解析。
- 英语确实有很多歧义(就像所有其他人类语言一样),以及是否将以 ing 结尾的形式解释为动词、名词的问题(口头名词或动名词)或形容词是常见的。解析器并不总是正确的。
就它做出的特别错误的选择而言,它们通常反映了 usage/domain 解析器训练数据与您正在尝试的句子之间的不匹配。训练数据主要是新闻文章——上个千年的新闻文章——尽管我们确实混合了一些其他数据并偶尔添加。所以:
- 使用 flagging 作为动词,在现代互联网开发人员中很常见,但在训练数据中根本没有出现,因此倾向于选择 JJ 也就不足为奇了标记,因为这是对训练数据中唯一案例的分析。
- 在新闻文章中 drinking 只是一个更常见的名词,讨论了 underage drinking、coffee drinking、酒后驾车等
词性标注器的不同结果让我抓狂,所以为了完整性检查,我终于写了一些东西来快速比较通常使用的三种结果(Stanford NLP、NLTK 3.2.1 和 Senna)
它还对它们进行计时,因为一个标记器经常会因某些文本而窒息。
https://github.com/StealthyK/TaggerTimer
我在使用 Stanford NLP Parser/POS Tagger 的应用程序中发现了不一致行为的示例,并且我能够在线复制它 http://nlp.stanford.edu:8080/corenlp/process。我使用的是 3.60 版:
以下是我目前发现的 3 个问题:
- 网点有无不一致问题:
被发现为名词的动词
被标记为形容词的动词
我知道这种语言相当含糊,但我想知道我是否可以信任这个库,即使是那些简单的短语。我也想知道我是否做错了什么。我单独尝试了每个例子的问题案例,或者换句话说,在单独的句子中,问题仍然存在。
这是预期的行为:
感谢任何帮助!谢谢
你没有做错任何事。当然欢迎您自己决定对任何工具的信任程度,但我怀疑您会在任何训练有素的解析器中看到类似的问题 empirically/statistically。关于您的问题:
- 句号在模型构建中被视为与任何其他标记一样,因此,是的,它们可以影响所选的解析。
- 英语确实有很多歧义(就像所有其他人类语言一样),以及是否将以 ing 结尾的形式解释为动词、名词的问题(口头名词或动名词)或形容词是常见的。解析器并不总是正确的。
就它做出的特别错误的选择而言,它们通常反映了 usage/domain 解析器训练数据与您正在尝试的句子之间的不匹配。训练数据主要是新闻文章——上个千年的新闻文章——尽管我们确实混合了一些其他数据并偶尔添加。所以:
- 使用 flagging 作为动词,在现代互联网开发人员中很常见,但在训练数据中根本没有出现,因此倾向于选择 JJ 也就不足为奇了标记,因为这是对训练数据中唯一案例的分析。
- 在新闻文章中 drinking 只是一个更常见的名词,讨论了 underage drinking、coffee drinking、酒后驾车等
词性标注器的不同结果让我抓狂,所以为了完整性检查,我终于写了一些东西来快速比较通常使用的三种结果(Stanford NLP、NLTK 3.2.1 和 Senna) 它还对它们进行计时,因为一个标记器经常会因某些文本而窒息。 https://github.com/StealthyK/TaggerTimer