在我的UIMA應用程序中,我有一些註釋器必須在某個註釋器運行後運行。首先,我想到了將這些註釋器聚合在一起,但我還有其他註釋器也依賴於此(和其他)註釋器,這使得聚合變得困難和/或不切實際。Annotator依賴關係:UIMA類型功能?
我讀過關於類型功能,如果我理解正確,告訴UIMA某些類型(註釋)必須存在,當用作Input Type
時。我希望UIMA在運行沒有註釋器的流水線時會給我一些警告,這些註釋器有一些輸出類型被聲明爲使用的註釋器的輸入類型。 相反,註釋器像往常一樣繼續運行/處理。
有沒有辦法實現我想要的,或者這只是不必要的? 我目前正在使用SimplePipeline,如果重要的話。
TL; DR:我的目標是,註釋者拒絕運行,如果有某些其他註釋者缺少在管道/定這些註釋者
在此先感謝後。
謝謝您的回答。你在哪裏看到與術語混淆?我很清楚,單個註釋器不是流水線:-)另外,對我來說聚合註釋器並不困難,我只是想知道這是否是運行依賴註釋器的首選方式,因爲我將不得不聚集多個註釋器大多數註釋者對此沒有依賴性。例如:Annotator B需要在A之後運行; C需要在A之後運行,因此我將它聚合到A,B,C,儘管B和C沒有依賴關係。我寧願聚合到A,B和A; C,但A會運行兩次。 – schlimpf
一個管道指的是一個CollectionReader +一些註釋器(將消費者視爲註釋器,他們基本上處於隱藏狀態)。所以當你寫道:**我希望UIMA在運行沒有Annotators的管道時會給我一些警告**我只是想檢查一下,以確定我們有相同的定義,因爲你在討論沒有註釋器的管道。爲了更好地回答關於依賴關係的問題,即使B和C沒有依賴關係,我也會將A,B,C作爲一個管道進行操作 - 只使用CAS中可用註釋的子集是正常的。 – ozborn
但是句子並沒有在那裏結束:「..沒有Annotators有一些輸出類型被聲明爲使用Annotator的輸入類型。」我問這個問題的原因是因爲我發現聚集Annotator除了依賴關係之外沒什麼共同之處,這有點奇怪。作爲一名程序員,這反對我將「包裝」在一起的說辭:-) – schlimpf