gpt4 book ai didi

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

转载 作者:太空宇宙 更新时间:2023-11-04 11:19:13 24 4
gpt4 key购买 nike

我正在学习使用 Gate 从文档中检索信息。有人可以向我解释一下我必须做什么才能让我的 JAPE 语法规则发挥作用吗?我已经检查了大多数教程和 Gate 手册,但我仍然没有明白这一点。我想提取人物、位置和日期作为我的命名实体。

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

我的约会模式如下:1. 日期月年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.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

第 6 行还有一个拼写错误:({Toke.kind == number,...。应该是 ({Token.kind == number,....

关于java - 如何在 Gate 中创建 JAPE 语法规则,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45120694/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com