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

UIMA RUTA规则匹配两个Dependency注解失败问题咨询

问题原因

你遇到的匹配失败问题本质是RUTA默认连续匹配规则的偏移约束和Dependency注解的偏移特性不匹配:

  • RUTA默认(TypeA TypeB)的连续匹配规则,要求前一个注解的结束偏移和后一个注解的起始偏移严格紧邻,且默认会跳过空白字符
  • 你之前W W匹配成功,是因为单词注解W的偏移是严格前后衔接的,刚好满足上述约束
  • DKPro的Dependency类型注解的偏移范围会覆盖其依存关系涉及的所有token(比如支配词到依存词的全部文本范围),相邻的Dependency注解偏移通常是重叠或交叉的,不可能满足偏移严格紧邻的要求,所以连续匹配规则失效。你尝试的dep.Dependency[2,3]、dep.Dependency WS dep.Dependency写法也都基于偏移连续的前提,自然无法匹配。

解决方法

如果你的需求是匹配按起始偏移排序的两个连续Dependency注解,不需要偏移严格紧邻,可以用显式条件约束的写法:

a:dep.Dependency b:dep.Dependency{a.begin < b.begin ->
    LOG("match two dependencies successfully")
};

如果你的需求是匹配覆盖在连续两个token上的Dependency注解,可以基于W锚定编写规则:

(W W){-> MARK(TwoToken, 1, 2)};
TwoToken{CONTAINS(dep.Dependency, 2) ->
    LOG("match two dependencies on consecutive tokens")
};

如果需要批量调整连续匹配的偏移约束,可以在规则文件头部添加配置关闭严格锚定:

ANCHORING false;
// 后续规则的连续匹配不再要求偏移严格紧邻
(dep.Dependency dep.Dependency){->
    LOG("match success after adjust anchoring")
};

内容的提问来源于stack exchange,提问作者RodP

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.06 14:45:05