【问题标题】:UIMA ruta annotate a sequence of fixed length containing words from specific wordlistUIMA ruta 注释一个包含特定单词列表中单词的固定长度序列
【发布时间】:2017-02-20 18:26:52
【问题描述】:

我有一个 WORDTABLE,其中包含表示为字符串(零、一、二、...、n)的数字以及作为特征的相应数字。我正在尝试注释一个固定长度的字符串化数字序列。

例如:

一二三四 -> 应该加注解

一二三四五六->不应该标注

到目前为止我已经完成了

WORDTABLE numbers = "numbers.csv";

DECLARE Annotation number(STRING int_string, STRING digit);
DECLARE Annotation numberSequence;

Document{-> MARKTABLE(number, 1, numbers, "digit" = 2)};
(number number) {-> MARK(numberSequence)};

这匹配包含 n 字符串化数字的序列,我想要的是确定序列的长度,例如:

number[4,4] {-> MARK(numberSequence)};

其中包含字符串化数字的句子中的最小和最大标记应该相等,例如,等于 4。 可以这样做吗?

【问题讨论】:

  • 您是如何尝试应用最后一条规则的?您可能需要扩展它以避免在更长的序列中匹配:ANY{-PARTOF(number)} @number[4,4] {-> MARK(numberSequence)} ANY{-PARTOF(number)};
  • 我想说的是:[4,4] 是一个有效的构造。也许您想添加 -PARTOF(number) 以避免重叠匹配?
  • 嗨彼得,谢谢你回答我。我不确定“您如何尝试应用最后一条规则”是什么意思。我已经将我在问题之上写的那些用作测试句,并且脚本对两者都进行了注释。顺便说一句,我已尝试按照您的建议扩展规则,并且确实可以按我的意愿工作。你应该把它作为答案让我接受吗?
  • 我的印象是您已经找到了解决问题的方法:最小/最大量词。

标签: uima ruta


【解决方案1】:

如果恰好有四个 number 类型的注解,以下是注解文本位置的示例规则:

ANY{-PARTOF(number)} @number[4,4] {-> MARK(numberSequence)} ANY{-PARTOF(number)};

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

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2020-10-20
    • 2021-03-05
    • 1970-01-01
    • 2014-08-03
    • 1970-01-01
    • 2018-08-27
    • 1970-01-01
    • 2017-11-07
    相关资源
    最近更新 更多