如何访问UIMA RUTA规则中包含的注释的值

如何访问UIMA RUTA规则中包含的注释的值,uima,ruta,Uima,Ruta,我不确定我是否做错了,但我有这个案子。我有一个单词列表“stuff.txt”(例如),包含刀、叉、勺 然后像这样的脚本 申报物品(整数计数); 文档{->MARKFAST(Stuff,StuffList,true)}; NUM Stuff->Update Stuff count 然后,在我的文本中,大部分时间我都会有类似于3把刀,2个勺子的东西 有没有办法获取数值并更新注释?还是使用“聚集”来更新注释本身?将NUM annotation.ct分配给my Stuff.count值或类似的类型,而

我不确定我是否做错了,但我有这个案子。我有一个单词列表“stuff.txt”(例如),包含
刀、叉、勺

然后像这样的脚本

申报物品(整数计数);
文档{->MARKFAST(Stuff,StuffList,true)};
NUM Stuff->Update Stuff count

然后,在我的文本中,大部分时间我都会有类似于
3把刀,2个勺子的东西


有没有办法获取数值并更新注释?还是使用“聚集”来更新注释本身?将NUM annotation.ct分配给my Stuff.count值或类似的类型,而不创建另一种类型,如
DECLARE NewStuff(Stuff Stuff,INT count)
并使用gather。

这应该可以满足您的要求:

DECLARE Stuff(INT count);
Document{-> MARKFAST(Stuff, {"knifes", "spoons"}, true)};
INT amount;
NUM{PARSE(amount)} s:@Stuff{-> s.count = amount};
解析条件用于将覆盖文本转换为整数


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

符号“@”的作用是什么?感谢您的代码片段,它是一个标识规则锚的标记。该规则将开始与第二个规则元素匹配,并且不需要检查每个NUM。请注意,选择起始规则元素可能会更改结果注释。