微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

有没有办法强制 Apache OpenNLP 解析器看到动词短语而不是名词短语?

如何解决有没有办法强制 Apache OpenNLP 解析器看到动词短语而不是名词短语?

我正在使用 Apache 的 OpenNLP 编写命令解析器。问题在于 OpenNLP 将某些命令视为名词短语。例如,如果我解析诸如“开门”之类的内容,OpenNLP 会给我 (NP (JJ open) (NN door))。换句话说,它将短语视为“一扇敞开的门”而不是“打开门”。我希望它解析为 (VP (VB open) (NP (NN door)))。如果我解析“open the door”,它会产生一个 VP,但我不能指望使用限定词的人。

我目前正在尝试弄清楚如何对错误的解析树执行手术,但严重缺乏 API 文档。

解决方法

经过大量研究后,我偶然发现了一个带有 same problem using NLTK 的人。他们被建议通过在命令之前添加像“他们”这样的代词来“破解”NLTK,以强制解析器将输入视为动词短语。所以我会给 OpenNLP “他们打开门”并返回 (S (NP (PRP they)) (VP (VBP open) (NP (NN door)))),此时我可以提取动词短语。

这当然不理想!但现在它可以满足我的要求。

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。