我想使用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. 多分辨率/分辨率C++容器
- 2. 用於超分辨率的Tensorflow的可變分辨率
- 3. Java:JFrame分辨率?
- 4. WinForm分辨率
- 5. RawInput分辨率
- 6. CAShapeLayer分辨率
- 7. Javax.new.ssl.SSLHandShakeException分辨率
- 8. BlackBerry分辨率
- 9. 多分辨率
- 10. 低分辨率Mandelbrot分形不...足夠高的分辨率?
- 11. 使用javascript的屏幕分辨率
- 12. 使用jQuery切換高分辨率圖像和低分辨率圖像
- 13. 如何使用C#以低分辨率形式提供高分辨率圖像
- 14. 如何僅使用高分辨率圖像支持多分辨率
- 15. 網站分辨率修復Javascript中的所有分辨率
- 16. 支持多種分辨率時的分辨率與尺寸
- 17. 分辨率在Android應用
- 18. 用Imagick改變分辨率
- 19. 用g ++重載分辨率
- 20. Windows WPF分辨率
- 21. 分辨率1280 * 1024
- 22. 屏幕分辨率
- 23. 依靠分辨率
- 24. 多屏分辨率
- 25. 歧義分辨率
- 26. Galaxy Note分辨率
- 27. 屏幕分辨率
- 28. 屏幕分辨率
- 29. iPhone 4分辨率
- 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