我想使用OpenNLP做“coreference resolution”。来自Apache的文档(Coreference Resolution)不包括如何执行“共同决议”。有没有人有任何文档/教程如何做到这一点?使用OpenNLP的Coreference分辨率
7
A
回答
9
除了a very short mention of how to run it in the readme之外,OpenNLP目前几乎没有合作解决方案文档。
如果您没有投资使用OpenNLP,请考虑Stanford CoreNLP package,其中包括a Java example of how to run it,,其中包括如何使用该软件包执行共识解析。它还包括a page summarizing it's performance, and the papers published on the coreference package。
11
我最近遇到了同样的问题,写了一些关于使用OpenNLP 1.5.x工具的博客笔记。整体复制有点密集,所以here's a link with more details。
在高层次上,你需要加载适当OpenNLP coreference model libraries,也是WordNet 3.0 dictionary。鉴于这些依赖关系,初始化链接器对象非常简单:
// LinkerMode should be TEST
//Note: I tried LinkerMode.EVAL before realizing that this was the problem
Linker _linker = new DefaultLinker("lib/opennlp/coref", LinkerMode.TEST);
但是,使用链接器不太明显。您需要:
- 向下打破内容成句子和相应的令牌
- 为每个句子
裹一个Parse对象的每个句子解析,从而表明句子排序:
final DefaultParse parseWrapper = new DefaultParse(parse, idx);
迭代每个句子解析使用链接器从每个解析中获取Mention对象:
final Mention[] extents = _linker.getMentionFinder().getMentions(parseWrapper);
最后,使用链接程序在所有提到对象的识别不同实体:
DiscourseEntity[] entities = _linker.getEntities(arrayOfAllMentions);
相关问题
- 1. 用于超分辨率的Tensorflow的可变分辨率
- 2. RawInput分辨率
- 3. 多分辨率
- 4. WinForm分辨率
- 5. 使用javascript的屏幕分辨率
- 6. 如何使用C#以低分辨率形式提供高分辨率图像
- 7. 支持多种分辨率时的分辨率与尺寸
- 8. 网站分辨率修复Javascript中的所有分辨率
- 9. 用g ++重载分辨率
- 10. 屏幕分辨率
- 11. 重载分辨率
- 12. 屏幕分辨率
- 13. 分辨率1280 * 1024
- 14. Java BufferedImage分辨率
- 15. 图标分辨率
- 16. 屏幕分辨率
- 17. 多屏分辨率
- 18. 屏幕分辨率
- 19. iPhone 4分辨率
- 20. 歧义分辨率
- 21. 屏幕分辨率
- 22. 依靠分辨率
- 23. 嵌套分辨率
- 24. 使用PHP获取屏幕分辨率
- 25. 使用Accord.Video.DirectShow获取相机分辨率
- 26. 使用图像进行多分辨率
- 27. ipad 2 - 如何使用2048x1536分辨率
- 28. 测试一个高分辨率显示器上低分辨率
- 29. 如何阅读屏幕分辨率 - 并更改此分辨率?
- 30. 同时支持高分辨率和低分辨率图像
能否请你说明我如何做到这一点通过命令行来实现?谢谢。 – Haritz 2014-07-30 11:32:29
在你说的博客中,你使用'getResourceAsStream'加载模型,但最后没有描述你如何告诉Linker使用'getResourceAsStream'加载模型。你是如何加载模型的? – justhalf 2014-09-11 07:06:10
@justhalf这实际上仅仅是来自博客上一个步骤的复制+粘贴错误。 'Linker'直接获取共享模型的路径,所以不需要使用'getResourceAsStream'。感谢您的支持! – dpdearing 2014-09-13 03:29:28