Apache UIMA(一)簡介

最近要使用UIMA來做文本挖掘相關工作,寫下自己學習和使用它的過程,希望這次能堅持寫。以下內容基本都是基於Apache UIMA網站上的說明或文檔,具體的可以在文末的參考鏈接中找到。

what is UIMA

UIMA (Unstructured Information Management Architecture) 是一個用於分析非結構化內容(比如文本、視頻和音頻)的組件架構和軟件框架實現。一個UIMA的應用示例是可以讀入文本識別實體或者關係,如人名,地名,組織或者人和組織間的供職關係,人和地點間的位置關係。
這個框架的目的是爲非結構化分析提供一個通用的平臺,從而提供能夠減少重複開發的可重用分析組件。
它的特點或優勢是集成組件的功能:

UIMA 架構允許您輕鬆插入定製的分析組件,並將它們與其他組件合併。您的 UIMA 應用程序不需要知道分析組件共同合作生成結果的細節。集成和組織多個分析組件是 UIMA 框架的工作。

UIMA使得應用可以分解爲多個組件,如 “language identification” => “language specific segmentation” => “sentence boundary detection” => “entity detection (person/place names etc.)”. 每一個組件完成由框架定義的接口並且提供用XML文件定義的自描述元數據。而框架負責管理這些組件和它們之間的數據流。組件用Java或者C++書寫;而組件之間的數據流是根據這些語言之間有效地映射而設計的。

UIMA框架圖:
這裏寫圖片描述

Frameworks

框架中的組件對於Java和C++都是可用的。Java構架支持Java和非Java組件(使用C++框架)。C++架構除了支持使用C/C++書寫註解,而且支持Perl,Python,和TCL註解。UIMA-AS和UIMA-DUCC都是基於Java 框架下的可擴展框架。

Components

The frameworks support configuring and running pipelines of Annotator components. These components do the actual work of analyzing the unstructured information. Users can write their own annotators, or configure and use pre-existing annotators. Some annotators are available as part of this project; others are contained in various repositories on the internet.

Additional infrastructure

Additional infrastructure support components include a simple server that can receive REST requests and return annotation results, for use by other web services.

The Addons and Sandbox is for Addons (Annotators and other things) for UIMA, and a place where new ideas are developed for potential incorporation into the project.

參考

http://uima.apache.org/
http://uima.apache.org/documentation.html

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章