我正在使用GATE工具進行自然語言處理..我使用java代碼從句子中讀取行並獲取關鍵字..需要在克里奧爾xml中進行哪些修改閱讀完整的段落..如何閱讀自然語言處理中的一段GATE
1
A
回答
0
我不知道你的意思是什麼,但如果你使用ANNIE,你可以把每個段落放在一個單獨的標籤。 我用standAloneAnnie.java
http://gate.ac.uk/wiki/code-repository/src/sheffield/examples/StandAloneAnnie.java
如果用戶輸入
What is your name, ,some text sometext Sometext sometext sometext
其結果將是
<paragraph>What is your name, ,some text sometext</paragraph>
<paragraph>Sometext sometext sometext</paragraph>
您可以爲每個單詞獲取更多標籤,如人物,位置,句子或標記。
如果用戶輸入例如
在哪裏吃飯在吉隆坡。赫爾頓酒店
其結果將是一個包含
<paragraph>
<Sentence>
<Token>Where</Token>
<Token>To</Token>
<Token>
<Unknown>Dine</Unknown>
</Token>
<Token>In</Token>
<Lookup>
<Location>
<Token>Kuala</Token>
<Token>
<Lookup>Lumpur</Lookup>
</Token>
</Location>
</Lookup>
<Token>
<Split>.</Split>
</Token>
</Sentence>
<Sentence>
<Organization>
<Token>Helton</Token>
<Token>
<Lookup>
<Lookup>Hotel</Lookup>
</Lookup>
</Token>
</Organization>
</Sentence>
</paragraph>
目前我正在試圖讓同義詞,但未能如願:( 我想要的結果,包括其他選項,如爲一個xml文件上面這句話,我想結果有 佳餚 - >晚餐,食品,吃,餐廳
2
您可以使用
doc.getNamedAnnotationSets().get("Original markups")
如果它沒有給出任何結果,您可以使用類 gate.corpora.TextualDocumentFormat
的方法annotateParagraphs()
。
0
這爲我工作:
- 初始化門
- 創建門控制器(帶ANNIE默認)
- 創建語料,設定語料控制器上創建門文件(gateDoc),添加到語料庫
- controller.execute();
下面的代碼
FeatureMap features = gateDoc.getFeatures(); String originalContent = (String) features.get(GateConstants.ORIGINAL_DOCUMENT_CONTENT_FEATURE_NAME); int length = originalContent.length(); TextualDocumentFormat tdf = new TextualDocumentFormat(); try { tdf.annotateParagraphs(gateDoc,0, length,null); } catch (DocumentFormatException e) { e.printStackTrace(); } AnnotationSet paragraphs = gateDoc.getAnnotations().get("paragraph"); Iterator it = paragraphs.iterator(); Annotation currAnnot; SortedAnnotationList sortedParagraphs = new SortedAnnotationList(); while (it.hasNext()) { currAnnot = (Annotation) it.next(); sortedParagraphs.addSortedExclusive(currAnnot); } // while StringBuffer editableContent = new StringBuffer(originalContent); System.out.println("Number of Paragraphs - "+paragraphs.size()); for(Annotation paragraph:paragraphs){ long start = paragraph.getStartNode().getOffset().longValue(); long end = paragraph.getEndNode().getOffset().longValue(); String paraText=editableContent.substring((int) start, (int) end); System.out.println(paraText); }
相關問題
- 1. 自然語言處理庫
- 2. 自然語言處理庫
- 3. 自然語言處理
- 4. Ruby中的自然語言處理
- 5. C++中的自然語言處理
- 6. java中的自然語言處理庫
- 7. 自然語言處理/命令(序言)
- 8. 自然語言處理在Java中(NLP)
- 9. Python與Java的自然語言處理
- 10. 自然語言處理的最大熵
- 11. Android的自然語言處理
- 12. 自然語言處理:爲word2vec
- 13. 排序自然語言處理
- 14. 自然語言處理工具
- 15. 自然語言處理詞彙聯想
- 16. iPhone自然日期語言處理
- 17. 自然語言處理 - 類似於ngram
- 18. 自然語言處理 - Truecaser分類器
- 19. 自然語言處理在PHP
- 20. Windows 8自然語言處理8
- 21. 如何在Android中使用Google自然語言處理雲API
- 22. 用Python自然語言工具包閱讀孟加拉語
- 23. 自然語言處理學習哪種語言或工具?
- 24. Haskell有任何一種統計自然語言處理庫嗎?
- 25. 如何學習*實用*自然語言處理?
- 26. 自然語言處理(syntatctic,語義,語用)分析
- 27. 自然語言處理中的性別鑑定
- 28. 什麼是自然語言處理中的特徵生成器
- 29. python中的自然語言處理(句子參考)
- 30. 解析自然語言處理(NLP)中的句子
安置自己的'java'代碼請,它會更容易回答你的問題,然後。 – dedek