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

Che*_*ian 3 uima ruta

感谢您的大力支持!

我有一些类似以下的文字

aaaaa aaaa aaaaa aaaaaa
bbbbb bbbbb bbbb bbbbbb
cccccc ccccc ccccc cccccc
Run Code Online (Sandbox Code Playgroud)

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

1. aaaaa aaaa aaaaa aaaaaa
2. bbbbb bbbbb bbbb bbbbbb
3. cccccc ccccc ccccc cccccc
Run Code Online (Sandbox Code Playgroud)

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

BREAK #{-> MARK(Stuff)} BREAK;
Run Code Online (Sandbox Code Playgroud)

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

非常感谢你!

Pet*_*egl 5

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

Document{-> RETAINTYPE(BREAK)};
BREAK #{-> MARK(Stuff)} BREAK;
Document{-> RETAINTYPE}; // for restoring the default setting
Run Code Online (Sandbox Code Playgroud)

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

Document{-> RETAINTYPE(SPACE)};
Line{->TRIM(SPACE)};
Run Code Online (Sandbox Code Playgroud)

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

Document{-> RETAINTYPE(BREAK)};
(#{-> Stuff} BREAK)+;
Run Code Online (Sandbox Code Playgroud)

(我是UIMA Ruta的开发人员)