首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >UIMA Ruta结合MATCHEDTEXT和Star或UIMA UIMA Ruta

UIMA Ruta结合MATCHEDTEXT和Star或UIMA UIMA Ruta
EN

Stack Overflow用户
提问于 2016-10-25 16:28:43
回答 2查看 73关注 0票数 1

我想用MATCHEDTEXT在多个单词上创建一个匹配。对于选择多个单词,我想使用星号或加法不情愿的量词。如果在MATCHEDTEXT部分后面没有规则元素,但是如果有一个元素,比如我的示例中的最后一个"SW“,"CW+?”部分不匹配。

我的测试字符串

代码语言:javascript
复制
small Large Large small.

我的鲁塔规则

代码语言:javascript
复制
STRING test;
DECLARE myObject(STRING label);
SW (CW+? { -> MATCHEDTEXT(test), CREATE(myObject, "label"=ao) }) SW;
EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2016-10-27 07:55:06

这是UIMA Ruta <=2.5.0中的一个bug。匹配失败,因为不情愿的量词对组合规则元素有一些问题。

您可以通过删除不需要的组合规则元素来解决问题:

代码语言:javascript
复制
SW CW+? { -> MATCHEDTEXT(test), CREATE(myObject, "label"="x")} SW;

...or通过避免不情愿的量词,这也不是必需的:

代码语言:javascript
复制
SW CW+ { -> MATCHEDTEXT(test), CREATE(myObject, "label"="x")} SW;

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

票数 2
EN

Stack Overflow用户

发布于 2016-10-27 10:31:52

加上贪婪:

代码语言:javascript
复制
PACKAGE uima.ruta.example;  
DECLARE myObject(STRING label);
STRING test;
DECLARE myObject(STRING label);
SW CW+ {-PARTOF(myObject) -> MATCHEDTEXT(test), CREATE(myObject, "label"="ao") } SW;

加上不情愿:

代码语言:javascript
复制
PACKAGE uima.ruta.example; 
DECLARE myObject(STRING label);
STRING test;
DECLARE myObject(STRING label);
SW CW+? {-PARTOF(myObject) -> MATCHEDTEXT(test), CREATE(myObject, "label"="ao") } SW;
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/40245139

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档