2014-03-06 31 views
2

我有註釋,其中的特徵是同一文檔中的其他註釋。但主機和功能通常不會重疊。然後我想檢查功能註釋對象是否具有某些屬性。我有兩個問題想這樣做時:UIMA RUTA:如何檢查不匹配的特徵註釋對象的屬性

首先,我無法訪問深的特點,如:

DeepAnnotation{->SETFEATURE("foo", DeepAnnotation.bar.foo)} 

這是不行的,因爲它似乎解釋只有最後的「.foo」此時作爲成員資格表達以及之前的所有內容。其次,在DeepAnnotation.bar.foo是註釋對象的情況下,我似乎無法使用IS()等來檢查其屬性或將其分配給變量。是否有哪些條件的列表接受不匹配的註釋作爲第二個參數?對於我的用例,我可以很好地檢查不匹配的註釋上的所有條件,並可能將它們分配給變量。如果這是一個錯誤的論壇,我會很樂意在其他地方提交功能請求。

謝謝!

+0

我不確定,如果我完全理解你的用例。你能舉幾個例子嗎? –

+0

功能請求和錯誤報告可以在這裏提交:https://issues.apache.org/jira/browse/uima –

回答

1

在UIMA Ruta 2.1.0中,操作SETFEATURE無法正確使用特徵表達式。使用變量和文字值的操作應該很好。

您可以像在示例中那樣使用點符號來訪問深層功能。如果foo是註釋的功能,則DeepAnnotation.bar.foo{-> Type};應匹配所有DeepAnnotations,然後匹配bar的值,然後匹配foo的值。該動作應爲每個'foo'註釋創建類型Type的註釋。注意不允許匹配當前窗口(如果該規則位於注入窗口的塊內)。

對功能的註釋分配只能在當前有限的一組操作中進行。對這些屬於CREATE,FILL,GATHER,TRANSFER。

+0

謝謝,這澄清了一點。如果我在遇到這個特定問題時遇到更多麻煩,我會繼續處理您提到的操作,並將發佈在jira頁面上。 –