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

如何在Gate中创建JAPE语法规则

凤经国
2023-03-14

我正在学习使用Gate从文档中检索信息。谁能给我解释一下我要做什么才能让我的语法规则发挥作用。我已经检查了大多数教程和大门手册,但我仍然没有得到重点。我想提取人,地点和日期作为我命名的实体。

所以我所做的是:1。在文档中确定了我的日期模式2。为每个模式3创建JAPE语法规则。加载。jape文件作为一种新的jape传感器

我的约会模式如下:1。DateMonthYear 2。每月

因此,如果我理解正确,我必须为这些模式中的每一个定义JAPE语法规则。这就是我正在努力做的。我在一个。jape文件中定义了我的规则,但它将加载到gate中,并给我一个错误,即无法创建资源,.jape文件如下:

Phase: datetimefinder
Input: Token Lookup SpaceToken
Options: control = appelt

Macro: DAY_ONEDIGIT
({Toke.kind == number,Token.category==CD, Token.length == "1"})

Macro: DAY_TWODIGIT
({Token.kind == number,Token.category==CD, Token.length == "2"})

Macro: MONTH
({Lookup.MajorType="Month"})

Macro: YEAR
({Token.kind== number,Token.category==CD, Token.length== "4"})

////////Rule number 1
Rule: ddmmyyyy
priority:50
(
    (
    (DAY_ONEDIGIT|DAY_TWODIGIT)
    ({Token.kind==punctuation}|{SpaceToken})?
    )
    (
    (MONTH)
    ({Token.kind==punctuation}|{SpaceToken})?
    (YEAR)
    )
)  
:ddmmyyyy
-->  
 :ddmmyyyy.DateMonthYear= {rule = "ddmmyyyy"} 

//Rule number 2 
Rule: mmyyyy
priority: 50
(    
    (MONTH)
    ({Token})?
    ({SpaceToken})?
    (YEAR)  
)  
:mmyyyy
-->  
 :mmyyyy.MonthYear= {rule = "mmyyyy"}

我不确定是否需要不同注释模式的新列表(例如DateMonth)。谁能告诉我我应该有什么,做什么才能让这一切继续下去。我在这里检查了gate手册和其他问题,但我找不到任何关于如何设置整个框架的完整教程。

共有1个答案

吴谦
2023-03-14

错误消息为:

gate.creole.ResourceInstantiationException: gate.jape.parser.ParseException: Cannot parse a phase in file:/your_jape_file_path.jape: Encountered " "=" "= "" at line 12, column 19.
Was expecting:
    <attrOp> ...

    at gate.jape.plus.Transducer.init(Transducer.java:642)

请参阅jape文件第12行第19列处的错别字:({lookup.majortype=“month”}),您需要将等于符号加倍:({lookup.majortype==“month”})

更正后,请参阅另一条消息:

Rule ddmmyyyy contains unlisted annotation type Toke
 类似资料:
  • 在输出中它只给了令牌,空间令牌有人能帮我解决问题吗?

  • 我在日语语法方面遇到了很大的麻烦。我有一个小的代币字典的单词,需要与5种类型的文档匹配。一种类型一个字典:例如Job,该人员的字典将包含。我需要读这本字典,为它创造一个JAPE规则。这是我第一次尝试 Phase:JobTitle 输入:查找 选项:control=appelt、debug=true 有没有办法自动创建JAPE规则,只用于在字典中搜索到文档的标记?

  • 当我试图用或运算符创建“句子包含”jape规则时,即当一个句子包含1或2和3或4时,我会得到错误: 有人能建议一下正确的语法吗?

  • 我有这样的场景: 还有其他(更好的)方法来做我需要做的事情吗? 多谢.

  • 嗨,我正试图解析文档或pdf文件中的文本。每当我尝试使用:

  • 我正在学习GATE和JAPE语法。这是我第一次使用GATE和JAPE语法。我正在遵循这个教程,在那里语法来识别一些关于体育的东西是给出的。我使用了这个文件和给定的示例文本,但GATE无法识别除个人、组织、日期等以外的任何东西。 我想知道如何在Gate中使用自定义语法?如果有人能给出步骤,那就真的很棒了。 目前我正在做以下步骤: 步骤(2)在下加载ANNIE POS标记器、标记器、句子拆分器等。 右