这个小问题让我现在待了几个晚上。
我有以下UIMA Ruta脚本:
(Action.type=="info_req"{->CREATE(CompAction,"type"=Action.type)}
Preposition? Article? ServiceItem{->FILL(CompAction,"target"=ServiceItem, "num_targets"=1),SHIFT(CompAction,1,4)}
(Preposition? Article? ServiceItem)?{
->FILL(CompAction, "target2"=ServiceItem, "num_targets"=2, "selection"="OR") })
{->SHIFT(CompAction,1,1)}
;
它应符合以下句子:
我想了解有关黄金信用卡的信息
期望的结果应该是具有以下特征的CompAction Annotation:
不幸的是,我得到的结果是:
即。我得到两次相同的ServiceItem,这似乎是一个引用问题,除非我做了一些非常错误的事情。
答案 0 :(得分:0)
对于UIMA Ruta 2.1.0:FILL操作考虑了要素值的完整规则匹配,因此,第二个FILL操作也会选择第一个合适的注释。此问题的解决方案可能是为不同的ServiceItem注释使用不同的类型(子类型),以区分它们。
对于UIMA Ruta 2.2.0:该功能已实施,并且已在当前主干中使用。规则应该按照要求进行。