【问题标题】:matching between breaks in UIMA RUTA based on a condition根据条件匹配 UIMA RUTA 中的中断
【发布时间】:2016-02-28 23:55:31
【问题描述】:

我有以下示例文本:

拉链 20193
纽约
美国

我想做的是只匹配“纽约”,即邮政编码后的行。

我尝试使用此代码,但它不起作用 -

声明标题; pin BREAK #{-> MARK(heading)} BREAK;

(在此之前我已经声明了pin)。

请告诉我该怎么做。

谢谢!

【问题讨论】:

    标签: uima ruta


    【解决方案1】:

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

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

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

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

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

    ruta 中有一个用于注释行的 utils 分析引擎:PlainTextAnnotator 如果包含它,则可以编写如下内容:

    pin Line{-> heading};
    

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

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多