2016-04-26 88 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上創建一個新的問題)。 –