【发布时间】:2015-08-24 03:18:09
【问题描述】:
我正在使用 OpenNLP 处理诸如“在洛杉矶工作的医生”和“住在好莱坞并在圣莫尼卡工作的女性”等查询。对于英语理解的人类来说,这些句子非常明显,主题是“医生”和“女性”。但是,当我使用 opennlp 时,它会将句子标记为
female_JJ living_NN in_IN hollywood_NN
[女性生活][在][好莱坞]
这里还有一句“住在圣莫尼卡,在马里布工作,踢足球的人”被处理为
person_NN living_VBG in_IN santa_NN monica_NN and_CC working_VBG in_IN malibu_NN and_CC playing_NN football_NN
[ person ] [ living ] [ in ] [ santa monica ] and [ working ] [ in ] [ malibu and playing football ]
为什么 OpenNLP 的 POS 标注器会错误地标注它们?这些句子具有最简单的语法结构。如果最先进的 NLP 技术仍然无法解析这些句子,是否意味着 NLP 目前还远未实用?
【问题讨论】:
-
有趣的例子。您为此使用哪个 OpenNLP 版本,以及哪些模型文件?请提供准确的引用作为 URL 或版本标签。
-
我使用的是最新版本和 en-pos-maxent 模型。斯坦福 Parser 和 NLTK 似乎有同样的问题
-
那么,版本 1.6.0,对吗?
-
是的。 1.6.0是当前版本
-
OpenNLP 通常在新闻数据上进行训练,这些数据通常包含“完整”和更长的句子。因此,OpenNLP 和其他现成的工具可能很难正确标记短句/非完整句子。一个解决方案是训练您自己的包含此类数据的模型。
标签: nlp opennlp pos-tagger