我应该如何使用UIMA Ruta来匹配换行符之间的所有单词?

时间:2014-06-20 07:38:55

标签: uima ruta

感谢任何有力的手!

我有一些文字如下

aaaaa aaaa aaaaa aaaaaa
bbbbb bbbbb bbbb bbbbbb
cccccc ccccc ccccc cccccc

我想使用Ruta创建一个匹配换行符之间所有字符串的注释。我希望我的注释创建以下三个匹配:

1. aaaaa aaaa aaaaa aaaaaa
2. bbbbb bbbbb bbbb bbbbbb
3. cccccc ccccc ccccc cccccc

我尝试在换行符之间匹配所有内容,如下所示

BREAK #{-> MARK(Stuff)} BREAK;

但没有运气。有人可以提出一些建议吗?

非常感谢!

1 个答案:

答案 0 :(得分:4)

您的规则问题可能是当前使用的过滤设置。默认情况下,空格,中断和标记不可见。该规则可能无法找到任何锚点来启动匹配过程。您需要为规则显示中断,例如,使用RETAINTYPE:

Document{-> RETAINTYPE(BREAK)};
BREAK #{-> MARK(Stuff)} BREAK;
Document{-> RETAINTYPE}; // for restoring the default setting

还有一个能够创建这些注释的分析引擎: PlainTextAnnotator。 然而,该分析引擎还包括在行的开头和结尾处的空格。这些可以通过以下方式删除:

Document{-> RETAINTYPE(SPACE)};
Line{->TRIM(SPACE)};

在UIMA Ruta 2.2.1(下一版本)中,您还可以编写如下内容:

Document{-> RETAINTYPE(BREAK)};
(#{-> Stuff} BREAK)+;

(我是UIMA Ruta的开发人员)