Java 结构化数据的UIMA

Java 结构化数据的UIMA,java,regex,eclipse,uima,Java,Regex,Eclipse,Uima,我是UIMA的新手 我想连接到数据库,提取数据并使用UIMA regex注释器处理它,然后写回数据库 示例: 表:环境管理计划 Name Department EmpId AB-C Sale's 2134[3] XYZ, Fina&nce 23423 PQ#R Marketing 234(47 要使用UIMA正则表达式注释器进行转换 期望输出 Name De

我是UIMA的新手

我想连接到数据库,提取数据并使用UIMA regex注释器处理它,然后写回数据库

示例:
表:环境管理计划

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驱动程序来连接数据库


提前感谢

有几种方法可以实现这一点

最简单(不太可扩展)的方法是编写3个类(使用uimaFIT使编码更容易):

CollectionReader: -读入对象中的所有数据 -迭代对象并从每个对象创建JCase,可以将主键存储在注释中

分析引擎: -使用UIMA正则表达式注释器操作JCAS的documentText

消费者: -阅读JCAS文档文本并使用主键更新数据库

更好的方法是通过创建连接到数据库的外部资源()来抽象读写(提供hasNext()和next()方法-这对于CollectionReader和Consumer非常方便)。这样做的优点是所有初始化逻辑都可以隔离。使用UIMAFit时,可以使用配置参数injection(),例如,使连接字符串和搜索查询可配置


使用uimaFIT中的SimplePiline类来运行您的管道:

如果您的提取和处理与您的示例类似(删除非字母数字字符),那么我肯定会使用纯SQL(例如SQL替换),我需要进行大量的文本处理,因此我期待着使用UIMA