如何声明# 除了换行符供以后使用?
How to declare # except line break for later usage?
我对规则元素之间的文本使用跳过通配符 #
。
但是,我总是每行标记,因此我可以使用 #{-CONTAINS(BREAK)}
例如 RuleElementA #{-CONTAINS(BREAK)} RuleElementB
必须在一行上
我怎样才能 declare/save #{-CONTAINS(BREAK)}
以便我以后可以使用像
这样的快捷方式
RuleElementA sc RuleElementB
?
您应该尝试首先注释您的构建块(即线条)并基于此创建目标注释(UIMA Ruta 中所谓的自下而上匹配策略)。
因此,您可以按照一种简单的方法对输入文档中的所有行进行注释:
DECLARE Line;
ADDRETAINTYPE(BREAK);
BREAK #{-> MARKONCE(Line)} @BREAK;
REMOVERETAINTYPE(BREAK);
这将允许您在创建目标注释时保持在行级别。然后,您可以遍历文档中的所有 Line
,以确保跨度的正确性:
BLOCK (forEach) Line{CONTAINS(W)}{
RuleElementA # RuleElementB
}
或者,您可以使用默认情况下的 PlainTextAnnotator,它是 UIMA Ruta 安装包的一部分。这种方法可以保证你更好的线路检测:
ENGINE utils.PlainTextAnnotator;
TYPESYSTEM Utils.PlainTextTypeSystem;
EXEC(PlainTextAnnotator, {Line, EmptyLine});
DECLARE FreeLine, LineFree;
ADDRETAINTYPE(WS);
EmptyLine Line{-> FreeLine};
Line{-> LineFree} BREAK[1,2] @EmptyLine;
Line{-> TRIM(WS)};
FreeLine{-> TRIM(WS)};
LineFree{-> TRIM(WS)};
REMOVERETAINTYPE(WS);
我对规则元素之间的文本使用跳过通配符 #
。
但是,我总是每行标记,因此我可以使用 #{-CONTAINS(BREAK)}
例如 RuleElementA #{-CONTAINS(BREAK)} RuleElementB
必须在一行上
我怎样才能 declare/save #{-CONTAINS(BREAK)}
以便我以后可以使用像
这样的快捷方式
RuleElementA sc RuleElementB
?
您应该尝试首先注释您的构建块(即线条)并基于此创建目标注释(UIMA Ruta 中所谓的自下而上匹配策略)。
因此,您可以按照一种简单的方法对输入文档中的所有行进行注释:
DECLARE Line;
ADDRETAINTYPE(BREAK);
BREAK #{-> MARKONCE(Line)} @BREAK;
REMOVERETAINTYPE(BREAK);
这将允许您在创建目标注释时保持在行级别。然后,您可以遍历文档中的所有 Line
,以确保跨度的正确性:
BLOCK (forEach) Line{CONTAINS(W)}{
RuleElementA # RuleElementB
}
或者,您可以使用默认情况下的 PlainTextAnnotator,它是 UIMA Ruta 安装包的一部分。这种方法可以保证你更好的线路检测:
ENGINE utils.PlainTextAnnotator;
TYPESYSTEM Utils.PlainTextTypeSystem;
EXEC(PlainTextAnnotator, {Line, EmptyLine});
DECLARE FreeLine, LineFree;
ADDRETAINTYPE(WS);
EmptyLine Line{-> FreeLine};
Line{-> LineFree} BREAK[1,2] @EmptyLine;
Line{-> TRIM(WS)};
FreeLine{-> TRIM(WS)};
LineFree{-> TRIM(WS)};
REMOVERETAINTYPE(WS);