【问题标题】:UIMA Ruta how to annotate a part of input stringUIMA Ruta 如何注释输入字符串的一部分
【发布时间】:2016-11-06 19:02:16
【问题描述】:

我有一个输入字符串(例如'abcdefgh'),我只需要使用该字符串的一部分(例如'cd')进行注释,换句话说,我需要对输入字符串进行子串化并标记一个注释。我该怎么做?

【问题讨论】:

  • 你可以试试(?<=^.{2}).{2}正则表达式
  • 感谢您的回答。我尝试了 ANY{REGEXP("(? MARK(MyAnnotation)},但它不起作用。
  • 很奇怪,文档说正则表达式是 Java。
  • 正则表达式在规则元素的匹配文本上应用了matches方法,因此正则表达式总是会失败。

标签: string uima ruta


【解决方案1】:

新注解总是仅使用现有注解的偏移量和正常规则创建。在您的情况下,您匹配 ANY 类型的注释 pf 并对每个注释所涵盖的文本应用条件。条件匹配完整文本上的正则表达式,因此条件失败。

为了创建小于可用的最小注释的注释,例如,在标记内,您不能使用正常的 UIMA Ruta 规则。您需要应用不依赖于匹配过程注释的简单正则表达式规则。这是一个例子:

ANY->{"cd" -> MyType};

此规则匹配每个 ANY 注释,并对每个覆盖的文本应用内联规则。内联规则是带有正则表达式cd 的简单正则表达式规则。如果找到该模式,则会在此处创建 MyType 类型的新注释。

如果你这样做,你应该仔细选择匹配类型,例如,使用除ANY之外的其他东西。

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

【讨论】:

    猜你喜欢
    • 2018-08-27
    • 2017-11-07
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多