JAPE 可以匹配 LHS 中的段落注释吗?
Can JAPE match paragraph Annotation in LHS?
我正在研究数学单词问题求解器,并希望使用 JAPE 将整个问题传递给我的 GATE Embedded 应用程序。我正在使用 GATE IDE 来显示输出,以及 运行 GATE 组件的管道。每个问题都会在自己的段落中,每个文档都会有几个问题。
有没有办法使用 JAPE 左侧正则表达式来匹配任何段落?
我这里看到三个选项(可能会有更优雅的方案):
1) 使用像这样的简单规则:
Phase: find
Input: Token
Options: control = once
Rule:OneToken
(
{Token}
)
在 RHS 中,您可以获得文本并使用标准 Java 方法从纯文本中获取段落。
2) 使用 LHS(如果你真的只想要 LHS)
Rule: NewLine
(
({SpaceToken.string=="\n"}) |
({SpaceToken.string=="\r"}) |
({SpaceToken.string=="\n"}{SpaceToken.string=="\r"}) |
({SpaceToken.string=="\r"}{SpaceToken.string=="\n"})
):left
构建注解NewLine,然后编写类似于1) 的Jape 规则,但使用NewLine 而不是Token。从 outputAS 中获取所有换行符并构建您的段落注释。
3) 有时原始标记中可能会有正确的段落。在这种情况下,您可以使用 Annotation Set Transfer PR 并在 Default Annotations Set 中获取它们。
为什么不直接使用 RegEx 句子拆分器 PR 来使用 Split
作为 jape 规则中的输入?
我正在研究数学单词问题求解器,并希望使用 JAPE 将整个问题传递给我的 GATE Embedded 应用程序。我正在使用 GATE IDE 来显示输出,以及 运行 GATE 组件的管道。每个问题都会在自己的段落中,每个文档都会有几个问题。
有没有办法使用 JAPE 左侧正则表达式来匹配任何段落?
我这里看到三个选项(可能会有更优雅的方案):
1) 使用像这样的简单规则:
Phase: find
Input: Token
Options: control = once
Rule:OneToken
(
{Token}
)
在 RHS 中,您可以获得文本并使用标准 Java 方法从纯文本中获取段落。
2) 使用 LHS(如果你真的只想要 LHS)
Rule: NewLine
(
({SpaceToken.string=="\n"}) |
({SpaceToken.string=="\r"}) |
({SpaceToken.string=="\n"}{SpaceToken.string=="\r"}) |
({SpaceToken.string=="\r"}{SpaceToken.string=="\n"})
):left
构建注解NewLine,然后编写类似于1) 的Jape 规则,但使用NewLine 而不是Token。从 outputAS 中获取所有换行符并构建您的段落注释。
3) 有时原始标记中可能会有正确的段落。在这种情况下,您可以使用 Annotation Set Transfer PR 并在 Default Annotations Set 中获取它们。
为什么不直接使用 RegEx 句子拆分器 PR 来使用 Split
作为 jape 规则中的输入?