Thanks Sean. I too think something is broken with the Assertion Engine resource lookup. There are aspects of the Assertion package that I found useful in the past. The Zoner for instance.
On Wed, Aug 15, 2018, 3:18 PM Finan, Sean <sean.fi...@childrens.harvard.edu> wrote: > Hi Abhishek, > > There is a very short introduction to building pipelines in ctakes 4.0 in > a pamphlet that can be found at > https://cwiki.apache.org/confluence/display/CTAKES/cTAKES+4.0 , section > "Documentation", second link. Pamphlet section 5.2, page 5. > > There is a runnable example that prints discovered mentions and properties > using a code-built pipeline. ctakes-examples project, class > ProcessDirBuilderRunner. It uses the newer Cleartk engines instead of the > Assertion engines. > > Sean > ________________________________________ > From: Abhishek De <abhishekde1...@gmail.com> > Sent: Tuesday, August 14, 2018 11:23 PM > To: dev@ctakes.apache.org > Subject: Re: Confusion regarding licensing of UMLS [EXTERNAL] > > Hi Peter, > > Thanks for all the help you provided me even from your vacation. If someone > else is following this thread, please help me in this regard. I had hoped > that 4 years later, there would be some decent literature as well as > tutorials on the web, but sadly, it isn't the case. So could anyone please > help me in this regard? > > Thanks and Regards, > Abhishek > > On Wed, Aug 15, 2018 at 2:37 AM Peter Abramowitsch < > pabramowit...@gmail.com> > wrote: > > > Hi Abhishek, > > > > I sympathize with your problem, and believe I’ve had the same one with > the > > Assertion Engine. I think there are indeed resource lookup issues and > have > > had the same ones including that engine in a piper file. Creating a > > resource description from a class only works for engine sources that have > > specific constant paths defined, and even then the resources need to be > > present at those paths. However, I’m on vacation at the moment, and so > I > > really don’t have the time or sources to help you. Perhaps someone else > on > > this mailing list can. > > > > Peter > > > > Sent from my iPad > > > > > On Aug 14, 2018, at 05:16, Abhishek De <abhishekde1...@gmail.com> > wrote: > > > > > > Hi Peter, > > > > > > Thanks a lot for bearing with me. Actually, I'm working on a tight > > > deadline, and going through the entire codebase and the wiki > meticulously > > > would take me over a month!! I'm sincerely hoping you would understand > > and > > > bear with me. > > > > > > As an update, I had applied for a UMLS license which got rejected, > don't > > > know why!! I have re-applied for it, fingers crossed, this time, may > the > > > UMLS gods accept my prayer!! > > > > > > My sole aim, for now is to get a pipeline working from Java code, whose > > > output I can see on the console window. I had a look at this for the > > order > > > in which the components are to be set up for a working pipeline: > > > > > > > > > https://urldefense.proofpoint.com/v2/url?u=https-3A__cwiki.apache.org_confluence_display_CTAKES_cTAKES-2B4.0-2BComponent-2BUse-2BGuide&d=DwIFaQ&c=qS4goWBT7poplM69zy_3xhKwEW14JZMSdioCoppxeFU&r=fs67GvlGZstTpyIisCYNYmQCP6r0bcpKGd4f7d4gTao&m=paY_XjRKMyWf-1kr-_W9Z2jh1wQvymH2PIyF4_tBow0&s=tED25FbW6NUUIcd3GeshS4b_FhLDAbcTqMf7lwnAVOw&e= > > > > > > As assertion comes first, I attempted to attack it first. I took the > > > TokenProcessingPipeline in ClinicalPipelineFactory and added the > > > AssertionAnalysisEngine to it. However, since the class was missing > > > a createAnnotatorDescription() method like the others, which is > required > > by > > > the builder, I copied and pasted it there. > > > > > > public static AnalysisEngineDescription createAnnotatorDescription() > > throws > > > ResourceInitializationException{ > > > return > > > > > > AnalysisEngineFactory.createEngineDescription(AssertionAnalysisEngine.class); > > > } > > > > > > The TokenProcessingPipeline now looked like this: > > > > > > public static AnalysisEngineDescription getTokenProcessingPipeline() > > throws > > > ResourceInitializationException, MalformedURLException { > > > AggregateBuilder builder = new AggregateBuilder(); > > > builder.add(AssertionAnalysisEngine.createAnnotatorDescription()); > > > builder.add( SimpleSegmentAnnotator.createAnnotatorDescription() > ); > > > builder.add( SentenceDetector.createAnnotatorDescription() ); > > > builder.add( TokenizerAnnotatorPTB.createAnnotatorDescription() ); > > > builder.add( LvgAnnotator.createAnnotatorDescription() ); > > > builder.add( > > > ContextDependentTokenizerAnnotator.createAnnotatorDescription() ); > > > builder.add( POSTagger.createAnnotatorDescription() ); > > > return builder.createAggregateDescription(); > > > } > > > > > > However, when I tried to run this pipeline, I got an exception: > > > > > > Exception in thread "main" > > > org.apache.uima.resource.ResourceInitializationException: > Initialization > > of > > > annotator class > > > "org.apache.ctakes.assertion.medfacts.AssertionAnalysisEngine" failed. > > > (Descriptor: <unknown>) > > > at > > > > > > org.apache.uima.analysis_engine.impl.PrimitiveAnalysisEngine_impl.initializeAnalysisComponent(PrimitiveAnalysisEngine_impl.java:271) > > > at > > > > > > org.apache.uima.analysis_engine.impl.PrimitiveAnalysisEngine_impl.initialize(PrimitiveAnalysisEngine_impl.java:170) > > > at > > > > > > org.apache.uima.impl.AnalysisEngineFactory_impl.produceResource(AnalysisEngineFactory_impl.java:94) > > > at > > > > > > org.apache.uima.impl.CompositeResourceFactory_impl.produceResource(CompositeResourceFactory_impl.java:62) > > > at > org.apache.uima.UIMAFramework.produceResource(UIMAFramework.java:279) > > > at > > > > > > org.apache.uima.UIMAFramework.produceAnalysisEngine(UIMAFramework.java:407) > > > at > > > > > > org.apache.uima.analysis_engine.asb.impl.ASB_impl.setup(ASB_impl.java:256) > > > at > > > > > > org.apache.uima.analysis_engine.impl.AggregateAnalysisEngine_impl.initASB(AggregateAnalysisEngine_impl.java:429) > > > at > > > > > > org.apache.uima.analysis_engine.impl.AggregateAnalysisEngine_impl.initializeAggregateAnalysisEngine(AggregateAnalysisEngine_impl.java:373) > > > at > > > > > > org.apache.uima.analysis_engine.impl.AggregateAnalysisEngine_impl.initialize(AggregateAnalysisEngine_impl.java:186) > > > at > > > > > > org.apache.uima.impl.AnalysisEngineFactory_impl.produceResource(AnalysisEngineFactory_impl.java:94) > > > at > > > > > > org.apache.uima.impl.CompositeResourceFactory_impl.produceResource(CompositeResourceFactory_impl.java:62) > > > at > org.apache.uima.UIMAFramework.produceResource(UIMAFramework.java:279) > > > at > > > > > > org.apache.uima.UIMAFramework.produceAnalysisEngine(UIMAFramework.java:407) > > > at > > > > > > org.apache.uima.analysis_engine.asb.impl.ASB_impl.setup(ASB_impl.java:256) > > > at > > > > > > org.apache.uima.analysis_engine.impl.AggregateAnalysisEngine_impl.initASB(AggregateAnalysisEngine_impl.java:429) > > > at > > > > > > org.apache.uima.analysis_engine.impl.AggregateAnalysisEngine_impl.initializeAggregateAnalysisEngine(AggregateAnalysisEngine_impl.java:373) > > > at > > > > > > org.apache.uima.analysis_engine.impl.AggregateAnalysisEngine_impl.initialize(AggregateAnalysisEngine_impl.java:186) > > > at > > > > > > org.apache.uima.impl.AnalysisEngineFactory_impl.produceResource(AnalysisEngineFactory_impl.java:94) > > > at > > > > > > org.apache.uima.impl.CompositeResourceFactory_impl.produceResource(CompositeResourceFactory_impl.java:62) > > > at > org.apache.uima.UIMAFramework.produceResource(UIMAFramework.java:279) > > > at > org.apache.uima.UIMAFramework.produceResource(UIMAFramework.java:331) > > > at > > > > > > org.apache.uima.UIMAFramework.produceAnalysisEngine(UIMAFramework.java:448) > > > at > > > > > > org.apache.uima.fit.factory.AnalysisEngineFactory.createEngine(AnalysisEngineFactory.java:205) > > > at > > > > > > org.apache.uima.fit.pipeline.SimplePipeline.runPipeline(SimplePipeline.java:227) > > > at > > > > > > org.apache.uima.fit.pipeline.SimplePipeline.runPipeline(SimplePipeline.java:260) > > > at > > > > > > org.apache.ctakes.clinicalpipeline.ClinicalPipelineFactory.main(ClinicalPipelineFactory.java:169) > > > Caused by: java.lang.NullPointerException > > > at java.io.File.<init>(File.java:277) > > > at > > > > > > org.apache.ctakes.assertion.medfacts.AssertionAnalysisEngine.initialize(AssertionAnalysisEngine.java:89) > > > at > > > > > > org.apache.uima.analysis_engine.impl.PrimitiveAnalysisEngine_impl.initializeAnalysisComponent(PrimitiveAnalysisEngine_impl.java:266) > > > ... 26 more > > > > > > Upon tracing the root of the problem, I found that the > > > AssertionAnalysisEngine tries to initialize certain model resources, > and > > > tries to obtain their file paths from a UimaContext: > > > > > > String assertionModelResourceKey = "assertionModelResource"; > > > String assertionModelFilePath = > getContext().getResourceFilePath( > > > assertionModelResourceKey); > > > assertionModelFile = new File(assertionModelFilePath); > > > > > > I'm thinking that perhaps this context itself is not getting resolved. > I > > > tried to search for some answers on the web, like this: > > > > > > > > > https://urldefense.proofpoint.com/v2/url?u=http-3A__mail-2Darchives.apache.org_mod-5Fmbox_ctakes-2Ddev_201804.mbox_-253CCAO1JDHhf0Uo3eDYxoTWKWWM00-2BWWpwyJvEAQGDE35OpMwNGAzw-40mail.gmail.com-253E&d=DwIFaQ&c=qS4goWBT7poplM69zy_3xhKwEW14JZMSdioCoppxeFU&r=fs67GvlGZstTpyIisCYNYmQCP6r0bcpKGd4f7d4gTao&m=paY_XjRKMyWf-1kr-_W9Z2jh1wQvymH2PIyF4_tBow0&s=XPOTgHDUlUgpsedWj9qYsYJHII55hgKJsCVVIwxEaxE&e= > > > > > > However, here, the file was being directly asked for by name, and I > don't > > > have a concrete filename to search for. The ctakes-assertion-res module > > > contains some model files, but I can't correlate them to the files > being > > > sought here. Please help. > > > > > > Thanks and Regards, > > > Abhishek > > > > > > On Sun, Aug 12, 2018 at 10:27 PM Peter Abramowitsch < > > pabramowit...@gmail.com> > > > wrote: > > > > > >> Hi Abhishek, not meaning to offend, but I think you need to spend more > > time > > >> on the wiki site, a lot of what you are asking about is documented > there > > >> > > >> > > >> > > > https://urldefense.proofpoint.com/v2/url?u=https-3A__cwiki.apache.org_confluence_display_CTAKES_cTAKES-2B4.0-2BUser-2BInstall-2BGuide-23cTAKES4.0UserInstallGuide-2DcTAKESPipelineFabricatorGUI-28CreatingPiperFiles-29&d=DwIFaQ&c=qS4goWBT7poplM69zy_3xhKwEW14JZMSdioCoppxeFU&r=fs67GvlGZstTpyIisCYNYmQCP6r0bcpKGd4f7d4gTao&m=paY_XjRKMyWf-1kr-_W9Z2jh1wQvymH2PIyF4_tBow0&s=iBAUHJUdzDa5-5hR0YZbvNcJlKvT5g60Ee_fUKoPrxY&e= > > >> > > >> If you have the binary release, you'll find the launch scripts in > ./bin, > > >> if you have source you'll find it all in > > >> ./ctakes-distribution/src/main/bin > > >> > > >> The piper files are sprinkled throughout based on the modules that use > > them > > >> and are grouped under a common resource folder in the binary release > > >> > > >> > > >> > > > ./ctakes/trunk/ctakes-assertion-res/target/classes/org/apache/ctakes/assertion/pipeline/TsAttributeCleartkSubPipe.piper > > >> > > >> > > > ./ctakes/trunk/ctakes-assertion-res/target/classes/org/apache/ctakes/assertion/pipeline/AssertionSubPipe.piper > > >> > > >> > > > ./ctakes/trunk/ctakes-assertion-res/target/classes/org/apache/ctakes/assertion/pipeline/AttributeCleartkSubPipe.piper > > >> > > >> > > > ./ctakes/trunk/ctakes-assertion-res/src/main/resources/org/apache/ctakes/assertion/pipeline/TsAttributeCleartkSubPipe.piper > > >> > > >> > > > ./ctakes/trunk/ctakes-assertion-res/src/main/resources/org/apache/ctakes/assertion/pipeline/AssertionSubPipe.piper > > >> > > >> > > > ./ctakes/trunk/ctakes-assertion-res/src/main/resources/org/apache/ctakes/assertion/pipeline/AttributeCleartkSubPipe.piper > > >> > > >> > > > ./ctakes/trunk/ctakes-core-res/target/classes/org/apache/ctakes/core/pipeline/DefaultTokenizerPipeline.piper > > >> > > >> > > > ./ctakes/trunk/ctakes-core-res/target/classes/org/apache/ctakes/core/pipeline/FullTokenizerPipeline.piper > > >> > > >> > > > ./ctakes/trunk/ctakes-core-res/target/classes/org/apache/ctakes/core/pipeline/TsDefaultTokenizerPipeline.piper > > >> > > >> > > > ./ctakes/trunk/ctakes-core-res/target/classes/org/apache/ctakes/core/pipeline/TsFullTokenizerPipeline.piper > > >> > > >> > > > ./ctakes/trunk/ctakes-core-res/src/main/resources/org/apache/ctakes/core/pipeline/DefaultTokenizerPipeline.piper > > >> > > >> > > > ./ctakes/trunk/ctakes-core-res/src/main/resources/org/apache/ctakes/core/pipeline/FullTokenizerPipeline.piper > > >> > > >> > > > ./ctakes/trunk/ctakes-core-res/src/main/resources/org/apache/ctakes/core/pipeline/TsDefaultTokenizerPipeline.piper > > >> > > >> > > > ./ctakes/trunk/ctakes-core-res/src/main/resources/org/apache/ctakes/core/pipeline/TsFullTokenizerPipeline.piper > > >> > > >> > > > ./ctakes/trunk/ctakes-clinical-pipeline-res/target/classes/org/apache/ctakes/clinical/pipeline/DefaultFastPipeline.piper > > >> > > >> > > > ./ctakes/trunk/ctakes-clinical-pipeline-res/target/classes/org/apache/ctakes/clinical/pipeline/SectionedFastPipeline.piper > > >> > > >> > > > ./ctakes/trunk/ctakes-clinical-pipeline-res/target/classes/org/apache/ctakes/clinical/pipeline/TsSectionedFastPipeline.piper > > >> > > >> > > > ./ctakes/trunk/ctakes-clinical-pipeline-res/target/classes/org/apache/ctakes/clinical/pipeline/TsDefaultFastPipeline.piper > > >> > > >> > > > ./ctakes/trunk/ctakes-clinical-pipeline-res/src/main/resources/org/apache/ctakes/clinical/pipeline/DefaultFastPipeline.piper > > >> > > >> > > > ./ctakes/trunk/ctakes-clinical-pipeline-res/src/main/resources/org/apache/ctakes/clinical/pipeline/SectionedFastPipeline.piper > > >> > > >> > > > ./ctakes/trunk/ctakes-clinical-pipeline-res/src/main/resources/org/apache/ctakes/clinical/pipeline/TsSectionedFastPipeline.piper > > >> > > >> > > > ./ctakes/trunk/ctakes-clinical-pipeline-res/src/main/resources/org/apache/ctakes/clinical/pipeline/TsDefaultFastPipeline.piper > > >> > > >> > > > ./ctakes/trunk/ctakes-ne-contexts-res/target/classes/org/apache/ctakes/necontexts/pipeline/NeContextsSubPipe.piper > > >> > > >> > > > ./ctakes/trunk/ctakes-ne-contexts-res/src/main/resources/org/apache/ctakes/necontexts/pipeline/NeContextsSubPipe.piper > > >> > > >> > > > ./ctakes/trunk/ctakes-examples-res/target/classes/org/apache/ctakes/examples/pipeline/HelloWorldAssertProps.piper > > >> > > >> > > > ./ctakes/trunk/ctakes-examples-res/target/classes/org/apache/ctakes/examples/pipeline/HelloWorldCui.piper > > >> > > >> > > > ./ctakes/trunk/ctakes-examples-res/target/classes/org/apache/ctakes/examples/pipeline/HelloWorld.piper > > >> > > >> > > > ./ctakes/trunk/ctakes-examples-res/target/classes/org/apache/ctakes/examples/pipeline/ThreadSafeFullPipeline.piper > > >> > > >> > > > ./ctakes/trunk/ctakes-examples-res/target/classes/org/apache/ctakes/examples/pipeline/FullPipeline.piper > > >> > > >> > > > ./ctakes/trunk/ctakes-examples-res/target/classes/org/apache/ctakes/examples/pipeline/HelloWorldProps.piper > > >> > > >> > > > ./ctakes/trunk/ctakes-examples-res/target/classes/org/apache/ctakes/examples/pipeline/ProcessDir.piper > > >> > > >> > > > ./ctakes/trunk/ctakes-examples-res/target/classes/org/apache/ctakes/examples/pipeline/AssertionDefaults.piper > > >> > > >> > > > ./ctakes/trunk/ctakes-examples-res/target/classes/org/apache/ctakes/examples/pipeline/HelloWorldTkProps.piper > > >> > > >> > > > ./ctakes/trunk/ctakes-examples-res/src/main/resources/org/apache/ctakes/examples/pipeline/HelloWorldAssertProps.piper > > >> > > >> > > > ./ctakes/trunk/ctakes-examples-res/src/main/resources/org/apache/ctakes/examples/pipeline/HelloWorldCui.piper > > >> > > >> > > > ./ctakes/trunk/ctakes-examples-res/src/main/resources/org/apache/ctakes/examples/pipeline/HelloWorld.piper > > >> > > >> > > > ./ctakes/trunk/ctakes-examples-res/src/main/resources/org/apache/ctakes/examples/pipeline/ThreadSafeFullPipeline.piper > > >> > > >> > > > ./ctakes/trunk/ctakes-examples-res/src/main/resources/org/apache/ctakes/examples/pipeline/FullPipeline.piper > > >> > > >> > > > ./ctakes/trunk/ctakes-examples-res/src/main/resources/org/apache/ctakes/examples/pipeline/HelloWorldProps.piper > > >> > > >> > > > ./ctakes/trunk/ctakes-examples-res/src/main/resources/org/apache/ctakes/examples/pipeline/ProcessDir.piper > > >> > > >> > > > ./ctakes/trunk/ctakes-examples-res/src/main/resources/org/apache/ctakes/examples/pipeline/AssertionDefaults.piper > > >> > > >> > > > ./ctakes/trunk/ctakes-examples-res/src/main/resources/org/apache/ctakes/examples/pipeline/HelloWorldTkProps.piper > > >> > > >> > > > ./ctakes/trunk/ctakes-temporal-res/target/classes/org/apache/ctakes/temporal/pipeline/DefaultRelationTemporalPipeline.piper > > >> > > >> > > > ./ctakes/trunk/ctakes-temporal-res/target/classes/org/apache/ctakes/temporal/pipeline/DefaultTemporalPipeline.piper > > >> > > >> > > > ./ctakes/trunk/ctakes-temporal-res/target/classes/org/apache/ctakes/temporal/pipeline/TsTemporalSubPipe.piper > > >> > > >> > > > ./ctakes/trunk/ctakes-temporal-res/target/classes/org/apache/ctakes/temporal/pipeline/TsDefaultRelationTemporalPipeline.piper > > >> > > >> > > > ./ctakes/trunk/ctakes-temporal-res/target/classes/org/apache/ctakes/temporal/pipeline/SectionedRelationTemporalPipeline.piper > > >> > > >> > > > ./ctakes/trunk/ctakes-temporal-res/target/classes/org/apache/ctakes/temporal/pipeline/TemporalSubPipe.piper > > >> > > >> > > > ./ctakes/trunk/ctakes-temporal-res/target/classes/org/apache/ctakes/temporal/pipeline/TsDefaultTemporalPipeline.piper > > >> > > >> > > > ./ctakes/trunk/ctakes-temporal-res/target/classes/org/apache/ctakes/temporal/pipeline/TsSectionedRelationTemporalPipeline.piper > > >> > > >> > > > ./ctakes/trunk/ctakes-temporal-res/target/classes/org/apache/ctakes/temporal/pipeline/TsSectionedTemporalPipeline.piper > > >> > > >> > > > ./ctakes/trunk/ctakes-temporal-res/target/classes/org/apache/ctakes/temporal/pipeline/SectionedTemporalPipeline.piper > > >> > > >> > > > ./ctakes/trunk/ctakes-temporal-res/src/main/resources/org/apache/ctakes/temporal/pipeline/DefaultRelationTemporalPipeline.piper > > >> > > >> > > > ./ctakes/trunk/ctakes-temporal-res/src/main/resources/org/apache/ctakes/temporal/pipeline/DefaultTemporalPipeline.piper > > >> > > >> > > > ./ctakes/trunk/ctakes-temporal-res/src/main/resources/org/apache/ctakes/temporal/pipeline/TsTemporalSubPipe.piper > > >> > > >> > > > ./ctakes/trunk/ctakes-temporal-res/src/main/resources/org/apache/ctakes/temporal/pipeline/TsDefaultRelationTemporalPipeline.piper > > >> > > >> > > > ./ctakes/trunk/ctakes-temporal-res/src/main/resources/org/apache/ctakes/temporal/pipeline/SectionedRelationTemporalPipeline.piper > > >> > > >> > > > ./ctakes/trunk/ctakes-temporal-res/src/main/resources/org/apache/ctakes/temporal/pipeline/TemporalSubPipe.piper > > >> > > >> > > > ./ctakes/trunk/ctakes-temporal-res/src/main/resources/org/apache/ctakes/temporal/pipeline/TsDefaultTemporalPipeline.piper > > >> > > >> > > > ./ctakes/trunk/ctakes-temporal-res/src/main/resources/org/apache/ctakes/temporal/pipeline/TsSectionedRelationTemporalPipeline.piper > > >> > > >> > > > ./ctakes/trunk/ctakes-temporal-res/src/main/resources/org/apache/ctakes/temporal/pipeline/TsSectionedTemporalPipeline.piper > > >> > > >> > > > ./ctakes/trunk/ctakes-temporal-res/src/main/resources/org/apache/ctakes/temporal/pipeline/SectionedTemporalPipeline.piper > > >> > > >> > > > ./ctakes/trunk/ctakes-coreference-res/target/classes/org/apache/ctakes/coreference/pipeline/SectionedCorefPipeline.piper > > >> > > >> > > > ./ctakes/trunk/ctakes-coreference-res/target/classes/org/apache/ctakes/coreference/pipeline/DefaultAdvancedPipeline.piper > > >> > > >> > > > ./ctakes/trunk/ctakes-coreference-res/target/classes/org/apache/ctakes/coreference/pipeline/TsDefaultCorefPipeline.piper > > >> > > >> > > > ./ctakes/trunk/ctakes-coreference-res/target/classes/org/apache/ctakes/coreference/pipeline/TsDefaultTemporalCorefPipeline.piper > > >> > > >> > > > ./ctakes/trunk/ctakes-coreference-res/target/classes/org/apache/ctakes/coreference/pipeline/TsSectionedCorefPipeline.piper > > >> > > >> > > > ./ctakes/trunk/ctakes-coreference-res/target/classes/org/apache/ctakes/coreference/pipeline/DefaultRelationCorefPipeline.piper > > >> > > >> > > > ./ctakes/trunk/ctakes-coreference-res/target/classes/org/apache/ctakes/coreference/pipeline/TsDefaultAdvancedPipeline.piper > > >> > > >> > > > ./ctakes/trunk/ctakes-coreference-res/target/classes/org/apache/ctakes/coreference/pipeline/TsCorefSubPipe.piper > > >> > > >> > > > ./ctakes/trunk/ctakes-coreference-res/target/classes/org/apache/ctakes/coreference/pipeline/TsDefaultRelationCorefPipeline.piper > > >> > > >> > > > ./ctakes/trunk/ctakes-coreference-res/target/classes/org/apache/ctakes/coreference/pipeline/DefaultTemporalCorefPipeline.piper > > >> > > >> > > > ./ctakes/trunk/ctakes-coreference-res/target/classes/org/apache/ctakes/coreference/pipeline/DefaultCorefPipeline.piper > > >> > > >> > > > ./ctakes/trunk/ctakes-coreference-res/target/classes/org/apache/ctakes/coreference/pipeline/TsSectionedRelationCorefPipeline.piper > > >> > > >> > > > ./ctakes/trunk/ctakes-coreference-res/target/classes/org/apache/ctakes/coreference/pipeline/SectionedRelationCorefPipeline.piper > > >> > > >> > > > ./ctakes/trunk/ctakes-coreference-res/target/classes/org/apache/ctakes/coreference/pipeline/CorefSubPipe.piper > > >> > > >> > > > ./ctakes/trunk/ctakes-coreference-res/target/classes/org/apache/ctakes/coreference/pipeline/SectionedAdvancedPipeline.piper > > >> > > >> > > > ./ctakes/trunk/ctakes-coreference-res/target/classes/org/apache/ctakes/coreference/pipeline/TsSectionedTemporalCorefPipeline.piper > > >> > > >> > > > ./ctakes/trunk/ctakes-coreference-res/target/classes/org/apache/ctakes/coreference/pipeline/TsSectionedAdvancedPipeline.piper > > >> > > >> > > > ./ctakes/trunk/ctakes-coreference-res/target/classes/org/apache/ctakes/coreference/pipeline/SectionedTemporalCorefPipeline.piper > > >> > > >> > > > ./ctakes/trunk/ctakes-coreference-res/src/main/resources/org/apache/ctakes/coreference/pipeline/SectionedCorefPipeline.piper > > >> > > >> > > > ./ctakes/trunk/ctakes-coreference-res/src/main/resources/org/apache/ctakes/coreference/pipeline/DefaultAdvancedPipeline.piper > > >> > > >> > > > ./ctakes/trunk/ctakes-coreference-res/src/main/resources/org/apache/ctakes/coreference/pipeline/TsDefaultCorefPipeline.piper > > >> > > >> > > > ./ctakes/trunk/ctakes-coreference-res/src/main/resources/org/apache/ctakes/coreference/pipeline/TsDefaultTemporalCorefPipeline.piper > > >> > > >> > > > ./ctakes/trunk/ctakes-coreference-res/src/main/resources/org/apache/ctakes/coreference/pipeline/TsSectionedCorefPipeline.piper > > >> > > >> > > > ./ctakes/trunk/ctakes-coreference-res/src/main/resources/org/apache/ctakes/coreference/pipeline/DefaultRelationCorefPipeline.piper > > >> > > >> > > > ./ctakes/trunk/ctakes-coreference-res/src/main/resources/org/apache/ctakes/coreference/pipeline/TsDefaultAdvancedPipeline.piper > > >> > > >> > > > ./ctakes/trunk/ctakes-coreference-res/src/main/resources/org/apache/ctakes/coreference/pipeline/TsCorefSubPipe.piper > > >> > > >> > > > ./ctakes/trunk/ctakes-coreference-res/src/main/resources/org/apache/ctakes/coreference/pipeline/TsDefaultRelationCorefPipeline.piper > > >> > > >> > > > ./ctakes/trunk/ctakes-coreference-res/src/main/resources/org/apache/ctakes/coreference/pipeline/DefaultTemporalCorefPipeline.piper > > >> > > >> > > > ./ctakes/trunk/ctakes-coreference-res/src/main/resources/org/apache/ctakes/coreference/pipeline/DefaultCorefPipeline.piper > > >> > > >> > > > ./ctakes/trunk/ctakes-coreference-res/src/main/resources/org/apache/ctakes/coreference/pipeline/TsSectionedRelationCorefPipeline.piper > > >> > > >> > > > ./ctakes/trunk/ctakes-coreference-res/src/main/resources/org/apache/ctakes/coreference/pipeline/SectionedRelationCorefPipeline.piper > > >> > > >> > > > ./ctakes/trunk/ctakes-coreference-res/src/main/resources/org/apache/ctakes/coreference/pipeline/CorefSubPipe.piper > > >> > > >> > > > ./ctakes/trunk/ctakes-coreference-res/src/main/resources/org/apache/ctakes/coreference/pipeline/SectionedAdvancedPipeline.piper > > >> > > >> > > > ./ctakes/trunk/ctakes-coreference-res/src/main/resources/org/apache/ctakes/coreference/pipeline/TsSectionedTemporalCorefPipeline.piper > > >> > > >> > > > ./ctakes/trunk/ctakes-coreference-res/src/main/resources/org/apache/ctakes/coreference/pipeline/TsSectionedAdvancedPipeline.piper > > >> > > >> > > > ./ctakes/trunk/ctakes-coreference-res/src/main/resources/org/apache/ctakes/coreference/pipeline/SectionedTemporalCorefPipeline.piper > > >> > > >> > > > ./ctakes/trunk/ctakes-relation-extractor-res/target/classes/org/apache/ctakes/relationextractor/pipeline/RelationSubPipe.piper > > >> > > >> > > > ./ctakes/trunk/ctakes-relation-extractor-res/target/classes/org/apache/ctakes/relationextractor/pipeline/DefaultRelationPipeline.piper > > >> > > >> > > > ./ctakes/trunk/ctakes-relation-extractor-res/target/classes/org/apache/ctakes/relationextractor/pipeline/TsDefaultRelationPipeline.piper > > >> > > >> > > > ./ctakes/trunk/ctakes-relation-extractor-res/target/classes/org/apache/ctakes/relationextractor/pipeline/TsRelationSubPipe.piper > > >> > > >> > > > ./ctakes/trunk/ctakes-relation-extractor-res/target/classes/org/apache/ctakes/relationextractor/pipeline/TsSectionedRelationPipeline.piper > > >> > > >> > > > ./ctakes/trunk/ctakes-relation-extractor-res/target/classes/org/apache/ctakes/relationextractor/pipeline/SectionedRelationPipeline.piper > > >> > > >> > > > ./ctakes/trunk/ctakes-relation-extractor-res/src/main/resources/org/apache/ctakes/relationextractor/pipeline/RelationSubPipe.piper > > >> > > >> > > > ./ctakes/trunk/ctakes-relation-extractor-res/src/main/resources/org/apache/ctakes/relationextractor/pipeline/DefaultRelationPipeline.piper > > >> > > >> > > > ./ctakes/trunk/ctakes-relation-extractor-res/src/main/resources/org/apache/ctakes/relationextractor/pipeline/TsDefaultRelationPipeline.piper > > >> > > >> > > > ./ctakes/trunk/ctakes-relation-extractor-res/src/main/resources/org/apache/ctakes/relationextractor/pipeline/TsRelationSubPipe.piper > > >> > > >> > > > ./ctakes/trunk/ctakes-relation-extractor-res/src/main/resources/org/apache/ctakes/relationextractor/pipeline/TsSectionedRelationPipeline.piper > > >> > > >> > > > ./ctakes/trunk/ctakes-relation-extractor-res/src/main/resources/org/apache/ctakes/relationextractor/pipeline/SectionedRelationPipeline.piper > > >> > > >> > > > ./ctakes/trunk/ctakes-dictionary-lookup-fast-res/target/classes/org/apache/ctakes/dictionary/lookup/fast/pipeline/DictionarySubPipe.piper > > >> > > >> > > > ./ctakes/trunk/ctakes-dictionary-lookup-fast-res/target/classes/org/apache/ctakes/dictionary/lookup/fast/pipeline/TsDictionarySubPipe.piper > > >> > > >> > > > ./ctakes/trunk/ctakes-dictionary-lookup-fast-res/src/main/resources/org/apache/ctakes/dictionary/lookup/fast/pipeline/DictionarySubPipe.piper > > >> > > >> > > > ./ctakes/trunk/ctakes-dictionary-lookup-fast-res/src/main/resources/org/apache/ctakes/dictionary/lookup/fast/pipeline/TsDictionarySubPipe.piper > > >> > > >> > > > ./ctakes/trunk/ctakes-chunker-res/target/classes/org/apache/ctakes/chunker/pipeline/ChunkerSubPipe.piper > > >> > > >> > > > ./ctakes/trunk/ctakes-chunker-res/target/classes/org/apache/ctakes/chunker/pipeline/TsChunkerSubPipe.piper > > >> > > >> > > > ./ctakes/trunk/ctakes-chunker-res/src/main/resources/org/apache/ctakes/chunker/pipeline/ChunkerSubPipe.piper > > >> > > >> > > > ./ctakes/trunk/ctakes-chunker-res/src/main/resources/org/apache/ctakes/chunker/pipeline/TsChunkerSubPipe.piper > > >> > > >> > > >> > > >> On Sun, Aug 12, 2018 at 6:04 AM Abhishek De <abhishekde1...@gmail.com > > > > >> wrote: > > >> > > >>> Hi Peter, > > >>> > > >>> I found the PiperCreator class in the ctakes-gui module which is > > opening > > >> up > > >>> the Pipeline Fabricator GUI with a lot of pipe bits which are seeming > > to > > >> be > > >>> overwhelming!! If I could get the piper samples which you are talking > > >>> about, I could have got a taste of how this thing works. But the > > >> resources > > >>> for this module does not contain those, nor does the ctakes-resources > > >>> separate download which contains the dictionaries. Also, you said > > >> "script" > > >>> and not "class". That makes me think you are speaking of something > else > > >>> entirely, since there is no class named PiperRunner. So could you > > please > > >>> point me where to download these scripts and the resources? > > >>> > > >>> Thanks and Regards, > > >>> Abhishek > > >>> > > >>> On Sat, Aug 11, 2018 at 7:10 PM Peter Abramowitsch < > > >>> pabramowit...@gmail.com> > > >>> wrote: > > >>> > > >>>> I would suggest looking into the piper system - the scripts > > >> piperCreator > > >>>> and piperRunner so you can construct/run pipelines with the bits you > > >>> want. > > >>>> Also look for the piper samples scattered throughout the resources > > >> area. > > >>>> But assembling pipelines using Java is simple too. You just need > to > > >>> learn > > >>>> the flow and the upstream dependencies of the parsers and > annotators. > > >>>> > > >>>> Peter > > >>>> > > >>>> On Sat, Aug 11, 2018 at 3:28 PM Abhishek De < > abhishekde1...@gmail.com > > > > > >>>> wrote: > > >>>> > > >>>>> Hi Peter, > > >>>>> > > >>>>> As you said, even if I don't use the UMLS dictionaries, I should be > > >>> able > > >>>> to > > >>>>> run the pipeline, right? But the class ClinicalPipelineFactory in > the > > >>>>> ctakes-clinical-pipeline module, which initializes multiple > pipelines > > >>> for > > >>>>> these various use cases, only defines a getDefaultPipeline() and > > >>>>> getFastPipeline() which have some annotating components in them. > The > > >>>>> getDefaultPipeline() method defines a UmlsDictionaryLookupAnnotator > > >> in > > >>>> its > > >>>>> workflow. Even the fast pipeline defines a DefaultJCasTermAnnotator > > >> in > > >>>> its > > >>>>> workflow. When I try to run the sample main() method with either of > > >>> these > > >>>>> pipelines, they throw an error requiring the UMLS credentials. I > > >> mean, > > >>>> the > > >>>>> ClinicalPipelineWithUmls class is already present for handling the > > >> UMLS > > >>>>> path. Why do the rest of the pipelines also require UMLS > > >>> authentication? > > >>>>> Please suggest a pipeline which I might run and get some > annotations > > >>>>> identified from the text without UMLS. > > >>>>> > > >>>>> Thanks and Regards, > > >>>>> Abhishek > > >>>>> > > >>>>> On Sat, Aug 11, 2018 at 1:36 PM Peter Abramowitsch < > > >>>>> pabramowit...@gmail.com> > > >>>>> wrote: > > >>>>> > > >>>>>> Hi, yes there are a lot of details and use cases that are not > > >>>> documented, > > >>>>>> but there are quite a few bits of information if you take the > time. > > >>>>>> > > >>>>>> To give some quick "answers" to your questions... (I put that in > > >>>> quotes > > >>>>>> because these are interpretations and not legal opinions) > > >>>>>> > > >>>>>> You do not need a UMLS license if you don't include the UMLS > lookup > > >>>>>> mechanism. In this case only the Apache license probably > applies > > >>>>>> > https://urldefense.proofpoint.com/v2/url?u=http-3A__www.apache.org_licenses_&d=DwIFaQ&c=qS4goWBT7poplM69zy_3xhKwEW14JZMSdioCoppxeFU&r=fs67GvlGZstTpyIisCYNYmQCP6r0bcpKGd4f7d4gTao&m=paY_XjRKMyWf-1kr-_W9Z2jh1wQvymH2PIyF4_tBow0&s=PNhVnlh9hNMfqAAGTKvP6G93qRkqYdtu4z4e0tdIceo&e= > > >>>>>> > > >>>>>> But if you do use UMLS, start by reading > > >>>>>> > https://urldefense.proofpoint.com/v2/url?u=https-3A__www.nlm.nih.gov_databases_umls.html&d=DwIFaQ&c=qS4goWBT7poplM69zy_3xhKwEW14JZMSdioCoppxeFU&r=fs67GvlGZstTpyIisCYNYmQCP6r0bcpKGd4f7d4gTao&m=paY_XjRKMyWf-1kr-_W9Z2jh1wQvymH2PIyF4_tBow0&s=wZ4jnQCgtFW8RRLThNAhlpc2uN1lJOwHupR-f73Fsuk&e= > > >>>>>> > https://urldefense.proofpoint.com/v2/url?u=https-3A__uts.nlm.nih.gov_license.html&d=DwIFaQ&c=qS4goWBT7poplM69zy_3xhKwEW14JZMSdioCoppxeFU&r=fs67GvlGZstTpyIisCYNYmQCP6r0bcpKGd4f7d4gTao&m=paY_XjRKMyWf-1kr-_W9Z2jh1wQvymH2PIyF4_tBow0&s=O8DfCU5pLsbDa13cTslYHxBeHFdmmgCN5h8-OnrrOFg&e= > > >>>>>> > https://urldefense.proofpoint.com/v2/url?u=https-3A__uts.nlm.nih.gov__help_license_validateumlsuserhelp.html&d=DwIFaQ&c=qS4goWBT7poplM69zy_3xhKwEW14JZMSdioCoppxeFU&r=fs67GvlGZstTpyIisCYNYmQCP6r0bcpKGd4f7d4gTao&m=paY_XjRKMyWf-1kr-_W9Z2jh1wQvymH2PIyF4_tBow0&s=QDew7-hh7PJ7kyj5MwovZb0n5BTdtXLsj1h6_TvswbY&e= > > >>>>>> > > >>>>>> There are options for situations where you would centralize a > > >> ctakes > > >>>>>> service. Some of the provisions have to do with the fact that > > >>>>>> that SNOMED vocabulary details are included in the UMLS output, > and > > >>> the > > >>>>>> SNOMED organizations have specific licensing requirements that you > > >>> can > > >>>>> see > > >>>>>> on their site. > > >>>>>> > > >>>>>> I am nearly positive that you cannot use the UMLS mechanism in a > > >>>>> for-profit > > >>>>>> setting without an explicit license from SNOMED. Also, regardless > > >> of > > >>>>>> whether the service as you deliver it is centralized, as I > > >> understand > > >>>> the > > >>>>>> language and diagrams on these sites, each and every end user > needs > > >>> to > > >>>>>> have, and actively validate a current UMLS license. > > >>>>>> > > >>>>>> I've been involved in something similar to what you describe, but > > >> in > > >>> a > > >>>>>> non-commercial setting, and it does validate every end user. > > >>>>>> > > >>>>>> Peter > > >>>>>> > > >>>>>> > > >>>>>> > > >>>>>> > > >>>>>> > > >>>>>> > > >>>>>> On Sat, Aug 11, 2018 at 7:45 AM Abhishek De < > > >>> abhishekde1...@gmail.com> > > >>>>>> wrote: > > >>>>>> > > >>>>>>> Hi all, > > >>>>>>> > > >>>>>>> I am Abhishek De, a newcomer to the CTAKES community. I had > > >> worked > > >>>> with > > >>>>>>> CTAKES over 4 years ago, but now I am trying to incorporate it > > >> into > > >>>> my > > >>>>>> Java > > >>>>>>> application as a senior developer, so I need to know a lot of > > >>> things > > >>>>>> about > > >>>>>>> it. For starters, I can see that even the pipeline without UMLS > > >>> needs > > >>>>>> UMLS > > >>>>>>> credentials in order to run. So I have the following questions: > > >>>>>>> > > >>>>>>> 1. Is there a certain fee which is required in order to apply > > >> for a > > >>>>> UMLS > > >>>>>>> license? > > >>>>>>> > > >>>>>>> 2. My organization is building this pharmacovigilance app which > > >>> will > > >>>>>>> internally use CTAKES for its client. Is it okay for only my > > >> parent > > >>>>>>> organization to have the UMLS license or do the client needs to > > >>> have > > >>>> it > > >>>>>>> too? If I expose the application as a service, with the servers > > >>>>> residing > > >>>>>> in > > >>>>>>> our organization's premises, would the client still need to have > > >> a > > >>>>>> licnse? > > >>>>>>> > > >>>>>>> 3. As there is precious little documentation on CTAKES, and many > > >>>> links > > >>>>>>> there are now dead including the ones giving instructions on how > > >> to > > >>>>>> install > > >>>>>>> dictionaries for RxNorm or SNOMED-CT, could anyone please help me > > >>> in > > >>>>> this > > >>>>>>> regard? > > >>>>>>> > > >>>>>>> 4. Also, I would like to know if there are any small dictionaries > > >>>> which > > >>>>>>> could be used free of charge or licensing, for my PoC. > > >>>>>>> > > >>>>>>> Thanks and Regards, > > >>>>>>> Abhishek De > > >>>>>>> > > >>>>>> > > >>>>> > > >>>> > > >>> > > >> > > > >