我正在研究数学单词问题求解器,并希望使用JAPE将整个问题传递给我的GATE Embedded应用程序。我使用GATE IDE显示输出,以及运行GATE组件的管道。每个问题都在其自己的段落中,每个文档都会有几个问题。
有没有办法使用JAPE左侧正则表达式匹配任何段落?
答案 0 :(得分:2)
我在这里看到三个选项(可能有更优雅的解决方案):
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获取所有NewLines并构建Paragraph注释。
3)有时在原始标记中可能有正确的段落。在这种情况下,您可以使用注释集转移PR并将其置于默认注释集中。
答案 1 :(得分:0)
为什么不使用RegEx Sentence splitter PR在你的jape规则中使用Split
作为输入?