UIMA RUTA中断的匹配基于条件

时间:2016-02-16 09:57:33

标签: uima ruta

我有以下示例文本:

zip 20193
纽约
美国

我想做什么,只是匹配"纽约"即邮政编码后面的一行。

我尝试使用此代码,但它无效 -

DECLARE标题; BREAK#{ - > MARK(标题)} BREAK;

(我之前已宣布过针脚。)

请让我知道如何解决这个问题。

谢谢!

1 个答案:

答案 0 :(得分:0)

问题可能是过滤设置。默认情况下,BREAK不可见。它永远不会成功,因为ruta会自动跳过换行符。

尝试添加另一条更改规则前面的过滤设置的规则:

RETAINTYPE(BREAK);
pin BREAK #{-> MARK(heading)} BREAK;

可能还有另一个问题,因为BREAK代表\ n和\ r \ n。因此,该规则不适用于Windows行结尾。你需要这样的东西:

pin BREAK[1,2] #{-> MARK(heading)} BREAK;

在ruta中有一个用于注释行的utils分析引擎:PlainTextAnnotator 如果你包括它,你可以写一些类似的东西:

pin Line{-> heading};

(您可能需要修剪线条,例如,如果线条以空格开头或结尾,则使用TRIM操作)

免责声明:我是UIMA Ruta的开发者