2017-06-22 108 views
0

我是UIMA RUTA的新手,在閱讀UIMA RUTA指南後,我有以下問題。我想編寫一套規則,在我的文檔中搜索具有特定值(FIRST:「hello」和SECOND:「world」,「pres」)的文檔中的兩個註釋(FIRST,SECOND),如果他們找到它們,它將創建一個新的註解(THIRD),其值爲「end」。 但是,腳本不工作,我想知道爲什麼。UIMA RUTA註釋組合

WORDTABLE Firsts= 'FIRST.csv'; 
WORDTABLE Seconds= 'SECOND.csv'; 
WORDTABLE Thirds= 'THIRD.csv'; 
DECLARE Annotation FIRST(STRING value); 
DECLARE Annotation SECOND(STRING value, STRING pos); 
DECLARE Annotation THIRD(STRING value); 
Document{->MARKTABLE(FIRST, 1, Firsts, "value"=2)}; 
Document{->MARKTABLE(SECOND, 1, Seconds, "value"=2, "pos"=3)}; 
Document{AND(CONTAINS(FIRST{FEATURE("value","hello")}),CONTAINS(SECOND{FEATURE("value","world","pos","pres")})){->CREATE(THIRD{FEATURE("value","end")})}}; 

你能幫我嗎?感謝名單。

+0

開發商對此沒有必要使用wordtable。 Wordlist就夠了。 –

+1

我假設他需要MARKTABLE,因爲這個特性的值。 –

回答

1

最後一條規則無效。

你可以寫類似:

(f:FIRST{f.value=="hello"} # s:SECOND{s.value=="world",s.pos=="pres"}){-> CREATE(THIRD, "value" = "end")}; 

Document{-> CREATE(THIRD, "value" = "end")}<-{f:FIRST{f.value=="hello"} # s:SECOND{s.value=="world",s.pos=="pres"};}; 

或有相合規則的東西。

免責聲明:我的UIMA魯塔

+0

如何將CONTAINS和連詞(AND)條件放在那裏? – Aribas

+1

在seoncd規則中,內聯規則充當與AND結合的內容。唯一的區別是,也存在順序約束。 –

+0

如果我想擺脫這種連續的約束(可能爲未來的項目或某事),我怎麼能做到這一點?我的意思是,似乎上面的方法預先假設FIRST註釋發生在SECOND之前,對嗎?什麼是更通用的方法,獨立於註釋的順序? – Aribas