非结构化信息管理(UIM)应用是指用于分析大规模非结构化信息并从中发现与用户相关知识的应用。例如,UIM应用可以用来分析纯文本,发现其中的实体,如人、地点、组织,以及相关关系,如works-for和located-at
UIMA使得应用可以分解为部件(Component),例如“语言识别”->“基于特殊语言的分词”->”句子边界检测”->”实体检测”。每个部件的实现结构由framework定义,这是通过XML描述文件实现的。框架管理这些部件以及部件之间的数据流。使用由Java或C++编写,在部件之间传输的数据流被设计可以在不同的编程语言之间进行高效的映射。
UIMA还能将component包装成网络服务,并且可以扩展至集群节点中。
框架支持配置和运行pipeline形式的标引部件。实际的非结构化信息分析工作由这些部件实现。用户可以实现自己的标引器annotator,或者配置现有的annotator。
自己编写annnotator:http://uima.apache.org/doc-uima-annotator.html