3

感谢任何强有力的手!

我有一些类似以下的文字

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;

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

非常感谢你!

4

1 回答 1

5

您的规则的问题可能是当前使用的过滤设置。默认情况下,空格、中断和标记是不可见的。该规则可能无法找到任何锚点来启动匹配过程。您需要使规则的中断可见,例如,使用 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 的开发者)

于 2014-06-20T08:33:59.667 回答