I used to use IBM UIMA framework and successfully leveraged some omnifind annotators such as Cas2Jdbc etc in UIMA applications. Recently we decided to convert to Apache UIMA framework and are wondering if someone has already researched on how to make the old ominifind annotators work in Apache UIMA? Any special cautions/lessons learned?
See http://www.alphaworks.ibm.com/tech/uima/download. There's a download there called IBM-UIMA-Adapter-2.2.zip. That should be all you need. One issue with this is that it works via serialization/deserialization of the CAS, so there's significant overhead. Still, it beats having no integration. Just try it out and see if you can live with the speed.
Thank you Thilo! Sorry to take a long time to reply as we were distracted from our UIMA work. We have used the UIMA Adapter as you suggested and it worked for our testing annotators which is great. However, when we tried it on cas2jdbc, we got the following error:
We have a CPE pipeline and the CAS2JDBC is the only consumer/engine based on IBM UIMA framework. We are using Apache UIMA 2.2 for the entire pipeline. We were thinking this was caused by missing Omnifind specific annotator which fills out the DocumentAnnotation or the omnifind specific com.ibm.es.tt.DocumentMetaData feature structure (which contains documentid etc features). We then added the base annotator from Omnifind (OF_Tokenization.xml etc) and also wrapped it up with the adapter. But we still got the same error. Our question is:
1) Is the error indeed caused by missing some Omnifind specific annotator that fills out the DocumentAnnotation feature structure?
2) Is there any way to further isolate the problem via any tools considering we do not have the source code for cas2jdbc?
3) Can the IBM UIMA Adapter be used the same way for regular annotator, aggregated analysis engine and consumers ?
Thanks a lot!
================================================
org.apache.uima.analysis_engine.AnalysisEngineProcessException
at com.ibm.uima.adapter.ibm.IBMAnalysisEngineWrapper.processAndOutputNewCASes(Unknown Source)
at org.apache.uima.analysis_engine.impl.AnalysisEngineImplBase.process(AnalysisEngineImplBase.java:218)
at org.apache.uima.collection.impl.cpm.engine.ProcessingUnit.processNext(ProcessingUnit.java:892)
at org.apache.uima.collection.impl.cpm.engine.ProcessingUnit.run(ProcessingUnit.java:577)
Caused by: com.ibm.uima.analysis_engine.AnalysisEngineProcessException: The common analysis structure cannot be processed. See the previous exception for details.
at com.ibm.uima.reference_impl.analysis_engine.compatibility.CasConsumerAdapter.process(CasConsumerAdapter.java:93)
at com.ibm.uima.reference_impl.analysis_engine.PrimitiveAnalysisEngine_impl.callAnalysisComponentProcess(PrimitiveAnalysisEngine_impl.java:392)
at com.ibm.uima.reference_impl.analysis_engine.PrimitiveAnalysisEngine_impl.processAndOutputNewCASes(PrimitiveAnalysisEngine_impl.java:297)
at com.ibm.uima.reference_impl.analysis_engine.AnalysisEngineImplBase.process(AnalysisEngineImplBase.java:218)
... 4 more
Caused by: com.ibm.uima.resource.ResourceProcessException: The common analysis structure cannot be processed. See the previous exception for details.
at com.ibm.uima.consumer.cas2jdbc.utils.Cas2JdbcLogger.log_PROCESS_CAS__SEVERE(Unknown Source)
at com.ibm.uima.consumer.cas2jdbc.Cas2Jdbc.processCas(Unknown Source)
at com.ibm.uima.reference_impl.analysis_engine.compatibility.CasConsumerAdapter.process(CasConsumerAdapter.java:89)
... 7 more
Caused by: com.ibm.uima.resource.ResourceProcessException: The document's ID cannot be parsed. See the previous exception for details.
at com.ibm.uima.consumer.cas2jdbc.utils.Cas2JdbcLogger.log_BAD_DOCID__SEVERE(Unknown Source)
at com.ibm.uima.consumer.cas2jdbc.Cas2Jdbc.parseDocID(Unknown Source)
... 9 more
Caused by: java.lang.NullPointerException
... 10 more
Tags
Use the search field to
find all types of content in My developerWorks with that tag.
Use the slider bar to see more or fewer tags.
Popular tags shows the top tags for this particular type of content or application that you're viewing.
My tags shows your tags for this particular type of content or application that
you're viewing.