当前位置: 首页 > 知识库问答 >
问题:

根据令牌上的查找注释对句子进行门式注释

唐裕
2023-03-14

我使用Gate8.5,在执行标记器和句子拆分器之后,我执行我的地名录匹配来获得对一些标记的查找注释,现在我想搜索那些有查找注释的标记,以通过一些注释来注释包含这些标记的句子,我尝试如下:

Iterator sentenceIterator = 
inputAnnSet.get(ANNIEConstants.SENTENCE_ANNOTATION_TYPE).iterator(), 
tokenIterator;
        while(sentenceIterator.hasNext()) 
{Annotation sentenceAnnotation = 
(Annotation)sentenceIterator.next();
 tokenIterator =  doc.getAnnotations().get("Lookup").iterator();
            while(tokenIterator.hasNext())
            { Annotation tokenAnnotation = (Annotation)tokenIterator.next();                
if(tokenAnnotation.getFeatures().get("majorType").equals("mytype") )
                {
                    sentenceAnnotation.getFeatures().put(new 
String("SentenceType"),  
new String(doc.getContent().getContent(tokenAnnotation.getStartNode().getOffset(),
tokenAnnotation.getEndNode().getOffset()).toString()));

问候

共有1个答案

沙柏
2023-03-14

我想你的代码行不通。您只需要查看特定句子中包含的标记:

AnnotationSet lookupAnnotations =  doc.getAnnotations().get("Lookup");
for ( Annotation sentenceAnnotation : inputAnnSet.get(ANNIEConstants.SENTENCE_ANNOTATION_TYPE)) {
    for ( Annotation tokenAnnotation : gate.Utils.getContainedAnnotations(
            lookupAnnotations, sentenceAnnotation)) 
    {
        Object majorType = tokenAnnotation.getFeatures().get("majorType");
        if (majorType != null && majorType.equals("mytype")) {
            sentenceAnnotation.getFeatures().put(
                    "SentenceType", gate.Utils.stringFor(doc, tokenAnnotation));
            break; //move to next sentence, this one is finished
        }
    }
}
 类似资料:
  • 本文向大家介绍根据JavaScript中的注册号查找车牌,包括了根据JavaScript中的注册号查找车牌的使用技巧和注意事项,需要的朋友参考一下 问题 一个城市N的汽车登记系统分配两种类型的号码- 客户ID-一个自然数(介于0和17554423之间)(包括0和17554423),按以下顺序分配给购车者:第一个客户获得ID 0,第二个客户获得ID 1,第三个客户获得ID 2,依此类推; 车号牌-分

  • 这个问题以前被问过很多次,也被回答过很多次,但是我不知道我做错了什么。从Firebase控制台向整个应用程序发送通知可以正常工作,但如果我向单个令牌发送通知,则Firebase控制台会出现错误:"Firebase注册令牌无效。检查令牌格式” 我正在Iphone设备上测试该应用程序。 已在创建新密钥https://developer.apple.com/account/ios/authkey/ 下载

  • 本文向大家介绍PowerShell单行注释、多行注释、块注释的方法,包括了PowerShell单行注释、多行注释、块注释的方法的使用技巧和注意事项,需要的朋友参考一下 PowerShell的注释符分为行注释符和块注释符。行注释符使用井号(#)引起一行;块注释符使用“<#”和 “#>”来引起一段注释。 行注释符 举例如下: 块注释符、多行注释 举例如下: 这是小编每次写脚本之前,都会定义的一段关于脚

  • 通常我会这样写对else语句的评论: 但是在IDEA重新排列代码后,我得到了缩进的注释: 我如何防止想法代码重新排列意图评论?或者如何告诉我的想法只是不重新排列我的评论?

  • 假设在某个第三方库中有一个类层次结构。其中一个类具有注释。它只会导致一个字段的序列化/反序列化。是否可以忽略注释而不进行子类化并将所有对象字段序列化?