2016-04-26 94 views
2

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

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

但是文字覆盖巴黎:Ã。有什么办法可以解决这个问题吗?等待答案。提前感谢。

+0

我已经遇到了类似的问题EN DASH(unicode =–)。我用SW SPECIAL + { - > MARK(HYPHEN_UNICODE,1,2)};所以这个问题就解决了。这是解决问题的唯一方法吗? Orelse还有其他解决方案。 –

回答

1

它的所有关于他的词法分析器的定义,它创建了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鲁塔开发商

+0

嗨,彼得谢谢你的回复。我对此规则行{-REGEXP(“CORA:。*”) - > MARK(参考)}有疑问。什么是CORA:。*意思是 –

+0

你可以简单介绍一下Html转换器,Html转换器和TEIViewWriter的一些例子。因为我试过这个,但是收到了一些错误信息。 –

+0

在本评论部分,用示例解释相当有问题。最好,在UIMA用户邮件列表上询问这个问题(或者在stackoverflow上创建一个新的问题)。 –