如何解决有没有办法强制 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 举报,一经查实,本站将立刻删除。