代码之家  ›  专栏  ›  技术社区  ›  Nampa Gwakondo

在浇口中创建新注释集

  •  1
  • Nampa Gwakondo  · 技术社区  · 7 年前

    我已经开始学习GATE应用程序,我想用它从非结构化文档中提取信息。我感兴趣的信息是日期、地点、事件信息和人名。我想了解在特定日期特定地点发生的事件的信息和人员姓名。我一直在阅读GATE手册,这就是我如何了解如何构建您的管道的原因。但是,我不知道如何创建新的注释类型,并确保将它们注释到新的注释集,该注释集应显示在右侧的注释集下。我发现了类似的问题,比如 GATE - How to create a new annotation SET? 但这也帮不了我。

    让我解释一下到目前为止我做了什么:

    1. 我在列表中添加了.lst文件描述。def文件
    2. 我在文档中识别了我的模式,例如ddmm、dd.mm.yyyy等日期格式

    3. 我在一个单独的.JAPE文件中为每个模式编写了JAPE规则

    4. 将PR和我的文档加载到GATE
    5. 运行应用程序

    这就是我的JAPE规则对于一个日期格式的效果:

        Phase: datesearching
        Input: Token Lookup SpaceToken
        Options: control = appelt
    
        ////////////////////////////////////Macros
        //Initialization of regular expressions
        Macro: DAY_ONE
        ({Token.kind == number,Token.category==CD, Token.length == "1"})
    
        Macro: C
        ({Token.kind == number,Token.category==CD, Token.length == "2"})
    
        Macro: YEAR
        ({Token.kind == number,Token.category==CD, Token.length == "4"})
    
        Macro: MONTH
        ({Lookup.majorType=="Month"})
    
        Rule: ddmmyyydash
        (
            (DAY_ONE|DAY_TWO)
            ({Token.string == ","}|{Token.string == "."} |{Token.string == "-"})
            (MONTH)
            ({Token.string == ","}|{Token.string == "."} |{Token.string == "-"})
            (YEAR)
        )
        :ddmmyyyydash
        -->
            :ddmmyyyydash.DateMonthYearDash= {rule = "ddmmyyyydash"}
    

    当我更改Jape传感器的输出名称时,新的设置与其他设置不同。看起来是这样的:

    annotation set list

    1 回复  |  直到 7 年前
        1
  •  0
  •   Community kfsone    4 年前

    正如你提到的问题中所说,链接或引用( GATE - How to create a new annotation SET? ),您有两个选项:

    1. 更改 输出名称 公共关系。
    2. 使用 注释集传输PR 将所需注释从一个注释集复制或移动到另一个注释集。

    JAPE函数-解释

    姓名 inputASName outputASName 运行时参数。 表示应该将输出注释放在哪里。

    应该是什么在哪里

    输入注释集 在执行JAPE传感器PR之前,必须包含必要的输入注释。这些注释通常由管道中前面的PRs创建。否则,它将看不到必要的输入注释,也不会生成任何内容。

    这个 可能是空的,也可能包含日本处决前的任何内容。没关系。重要的是,新的输出注释( DateMonthYearDash 在您的情况下)是在JAPE Transformer PR执行完成时创建的。
    .

    请注意 注释集 姓名 .
    注释 类型 , 偏移量 特征


    JAPE校正

    我在你的日语语法中发现了一些问题:

    1. SpaceToken 除非您在语法中明确使用它们,或者您确信模式中不会有任何内容……另请参阅: Concept of Space Token in JAPE
    2. ({Lookup.majorType=="Month"}) -&燃气轮机; ({Lookup.minorType=="month"})
    3. (DAY_ONE|DAY_TWO) -&燃气轮机; (DAY_ONE)

    更正后+文件处理后 9 - January - 2017 GATE doc output

    更正后的日语语法:

    Phase: datesearching
        Input: Token Lookup
        Options: control = appelt
    
        Macro: DAY_ONE
        ({Token.kind == number,Token.category==CD, Token.length == "1"})
    
        Macro: YEAR
        ({Token.kind == number,Token.category==CD, Token.length == "4"})
    
        Macro: MONTH
        ({Lookup.minorType=="month"})
    
        Rule: ddmmyyydash
        (
            (DAY_ONE)
            ({Token.string == ","}|{Token.string == "."} |{Token.string == "-"})
            (MONTH)
            ({Token.string == ","}|{Token.string == "."} |{Token.string == "-"})
            (YEAR)
        )
        :ddmmyyyydash
        -->
            :ddmmyyyydash.DateMonthYearDash= {rule = "ddmmyyyydash"}
    

    当日本不生产任何东西时该怎么办

    annotation stack {Lookup.majorType=="Month"} {Lookup.minorType=="month"} ?).

    我所说的“调试”日语语法是指:尽量简化规则。继续在一个简单的文档上尝试它,它应该与之匹配。所以在你的情况下,你可以不用 (DAY_ONE) (MONTH)({Token.string == "-"})(YEAR) ,甚至 (MONTH)