Hi Yiming,

You can try using the lines:

Builder.add( 
   AnalysisEngineFactory.createEngineDescription( 
      SubjectAttributeAnalysisEngine.class ) );

Builder.add( 
   AnalysisEngineFactory.createEngineDescription( 
      GenericAttributeAnalysisEngine.class ) );

Sean

-----Original Message-----
From: Zuo Yiming [mailto:yiming...@gmail.com] 
Sent: Wednesday, March 15, 2017 12:30 PM
To: dev@ctakes.apache.org
Subject: How to replace SubjectCleartkAnalysisEngine with 
SubjectAttributeAnalysisEngine in ClinicalPipelineFactory.java

Hi everyone,

Earlier I shared my experience with the community about which analysis engines 
used together can work better to identify negation, history, uncertainty, 
subject, etc. ClearTk didn't work for me to detect subject, generic and 
conditional status, while SubjectAttribute and GenericAttribute worked fine.

I'm now trying to modify ClinicalPipelineFactory.java to replace 
SubjectCleartkAnalysisEngine and GenericCleartkAnalysisEngine with 
SubjectAttributeAnalysisEngine and GenericAttributeAnalysisEngine in 
getFastPipeline method. However, it seems SubjectAttributeAnalysisEngine and 
GenericAttributeAnalysisEngine doesn't have the createAnnotatorDescription 
methods, which I hope I can put into builder.add(). Can anyone guide me how to 
move on? Or maybe there're additional parameters to provide to ClearTk in order 
to make it work properly to detect subject, generic and conditional status?

Below are the getFastPipeline method in ClinicalPipelineFactory.java where I 
believe the change should be made:

public static AnalysisEngineDescription getFastPipeline() throws 
ResourceInitializationException, MalformedURLException {
      AggregateBuilder builder = new AggregateBuilder();
      builder.add( getTokenProcessingPipeline() );
      builder.add( DefaultJCasTermAnnotator.createAnnotatorDescription() );
      builder.add( ClearNLPDependencyParserAE.createAnnotatorDescription()
);
      builder.add(
PolarityCleartkAnalysisEngine.createAnnotatorDescription() );
      builder.add(
UncertaintyCleartkAnalysisEngine.createAnnotatorDescription() );
      builder.add(
HistoryCleartkAnalysisEngine.createAnnotatorDescription() );
      builder.add(
ConditionalCleartkAnalysisEngine.createAnnotatorDescription() );

-----------------------------------------------------------------------------------------------------
      builder.add(
GenericCleartkAnalysisEngine.createAnnotatorDescription() );
      builder.add(
SubjectCleartkAnalysisEngine.createAnnotatorDescription() );

---------------------------------------------------------------------------------------------------
      return builder.createAggregateDescription();
   }

Thanks,
Yiming

Reply via email to