You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

UIMA Ruta规则定义求助:匹配词典词前后大写词的语法修正

修正后的UIMA Ruta规则

先修正语法错误,同时优化逻辑以实现需求:

WORDLIST MyWordList = 'test_words.txt';

// 声明注解类型
DECLARE MyAnnotation;
DECLARE CapitalizedAnnotation;

// 第一步:匹配词典中的词/短语,标记为MyAnnotation
ANY+ {-MATCHEDWITH(MyWordList) -> MARK(MyAnnotation)};

// 第二步:针对MyAnnotation前后各2个词,检查是否符合全大写无小写的条件
MyAnnotation {-2, -1, +1, +2 WORD{REGEXP("^[A-ZÁ-Ž]+$")} -> MARK(CapitalizedAnnotation)};

代码说明:

  • 第一部分先匹配词典中的所有词/短语,将它们标记为MyAnnotation,作为后续定位前后词的基础。
  • 第二部分通过位置操作符-2,-1,+1,+2定位到MyAnnotation前后各两个词,用WORD限定目标为单词,正则^[A-ZÁ-Ž]+$确保该单词仅包含大写字母(含指定重音大写),无任何小写字母,符合条件的单词会被标记为CapitalizedAnnotation。

补充说明:

  • 若词典中的条目是多词短语(比如示例中的"Prime Minister"),ANY+ {-MATCHEDWITH(MyWordList) ...}会正确匹配整个短语并标记为一个MyAnnotation,此时前后的词计数基于整个短语的位置,短语后的第一个词即为+1,符合需求。
  • 正则表达式^[A-ZÁ-Ž]+$比原写法更严谨,确保整个单词都满足条件,避免部分大写部分小写的情况被误判。

内容的提问来源于stack exchange,提问作者Pavlína Z.

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.13 18:22:32