我正在使用GATE工具进行自然语言处理..我正在使用java代码从句子中读取行并获取关键字..必须在克里奥尔语xml中进行哪些修改才能阅读完整段落..
答案 0 :(得分:2)
您可以使用
doc.getNamedAnnotationSets().get("Original markups")
如果它没有给出任何结果,您可以使用该类的annotateParagraphs()
方法
gate.corpora.TextualDocumentFormat
。
答案 1 :(得分: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>
你可以为每个单词获得更多标签,例如Person,Location,Sentence或Token。
如果用户输入例如
吉隆坡的用餐地点。赫尔顿酒店
结果将是包含
的xml文件<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>
我目前正在尝试获取同义词,但无法这样做:( 我希望结果包括其他选项,如上面的句子,我想结果 用餐 - &gt;晚餐,食物,吃,餐厅。
答案 2 :(得分:0)
这对我有用:
以下代码
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);
}