我们如何在 uima ruta 中注释 unicode 字符

How can we annotate an unicode character in uima ruta

我们如何在 uima ruta 中注释 unicode 字符: 例如:我想标记这个文本(巴黎:_ditions Robert Laffont)。所以我使用了以下规则。

DECLARE CITY;
CW COLON CW+{->MARK(CITY,1,3)};

但文字覆盖到巴黎:É。有什么办法可以解决这个问题。提前等待answer.Thanks

全部是关于创建令牌的词法分析器的定义 class ruta 注释(W、CW、SPECIAL ...)。

规则 CW COLON CW+{->MARK(CITY,1,1)}; 为文本范围 Paris 创建类型 CITY 的注释,而不考虑 unicode 字符。

最后一个规则元素 CW+Ã 匹配,因为这是用 CW 注释的,但停在那里,因为 不是 CW 而是 SPECIAL。

有多种方法可以避免此问题。我的建议是您应该为您的规则依赖不同类型的注释。 ruta 的词法分析器注释的工作是创建最少的注释。他们一般不定义标记。

您可以使用类似这样的东西(或使用实际的分词器以获得更好的性能):

DECLARE CITY;
DECLARE Token;

RETAINTYPE(SPACE);
(W (SPECIAL? W)*){-> Token};
RETAINTYPE;

Token COLON Token+{->MARK(CITY,1,1)};

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