2014-09-04 110 views
1

我是新來的UIMA ...UIMA結構化數據

我想連接到一個數據庫,提取數據並處理它使用UIMA正則表達式註釋和寫回數據庫。

實施例:
表:EMP

Name  Department  EmpId 
AB-C  Sale's   2134[3] 
XYZ,  Fina&nce  23423 
PQ#R  Marketing  234(47 

要使用UIMA正則表達式註釋

所需的輸出被變換

Name  Department  EmpId 
ABC  Sales   21343 
XYZ  Finance   23423 
PQR  Marketing  23447 

我已經安裝UIMA,ECLIPSE和有關JDBC驅動程序連接數據庫。

在此先感謝

+0

如果你的開採和加工是喜歡你的例子(除去非字母數字字符),那麼我會明確地用純SQL去(例如SQL REPLACE) – Renaud 2014-09-04 19:50:07

+0

我需要做很多文本處理,所以我很期待在UIMA工作 – 2014-09-07 06:42:40

回答

2

有幾種方法可以實現此目的。

最簡單的(不那麼可擴展)的方式是寫3類(使用uimaFIT http://uima.apache.org/uimafit.html#Documentation使編碼更容易):

CollectionReader: - 在對象 中的所有數據讀取 - 遍歷對象和創建每個對象的JCASes,您可以將主鍵存儲在註釋中。

分析引擎: - 使用UIMA正則表達式註釋操縱JCAS的documentText

消費者: - 讀JCAS documentText和使用主鍵更新數據庫

一個更好的方法是通過創建連接到數據庫的外部資源(提供hasNext()和next()方法)來抽象讀寫數據(這在使用CollectionReader和Consumer時非常方便)。這具有所有初始化邏輯可以被隔離的優點。使用UIMAFit時,可以使用配置參數注入(http://uima.apache.org/d/uimafit-current/tools.uimafit.book.html#ugr.tools.uimafit.configurationparameters),例如使連接字符串和搜索查詢可配置。

使用在uimaFIT的SimplePipeline類來運行你的管道:http://uima.apache.org/d/uimafit-current/tools.uimafit.book.html#ugr.tools.uimafit.pipelines

+0

謝謝@jvdbogae – 2014-09-07 06:43:35