Package org.uimafit.factory

Examples of org.uimafit.factory.AggregateBuilder


  @Override
  protected Map<String, AnnotationStatistics<String>> test(
      CollectionReader collectionReader,
      File directory) throws Exception {
    AggregateBuilder aggregateBuilder = this.getPreprocessorAggregateBuilder();
    aggregateBuilder.add(CopyFromGold.getDescription(EventMention.class));
    aggregateBuilder.add(CopyFromGold.getDescription(TimeMention.class));
    aggregateBuilder.add(AnalysisEngineFactory.createPrimitiveDescription(ClearEventProperties.class));
    aggregateBuilder.add(DocTimeRelAnnotator.createAnnotatorDescription(new File(directory, DOC_TIME_REL)));
    aggregateBuilder.add(ContextualModalityAnnotator.createAnnotatorDescription(new File(directory, CONTEXTUAL_MODALITY)));

    Function<EventMention, ?> eventMentionToSpan = AnnotationStatistics.annotationToSpan();
    Map<String, Function<EventMention, String>> propertyGetters;
    propertyGetters = new HashMap<String, Function<EventMention, String>>();
    for (String name : PROPERTY_NAMES) {
      propertyGetters.put(name, getPropertyGetter(name));
    }

    Map<String, AnnotationStatistics<String>> statsMap = new HashMap<String, AnnotationStatistics<String>>();

    for(String propertyName : PROPERTY_NAMES){
      statsMap.put(propertyName, new AnnotationStatistics<String>());
    }

    for (JCas jCas : new JCasIterable(collectionReader, aggregateBuilder.createAggregate())) {
      JCas goldView = jCas.getView(GOLD_VIEW_NAME);
      JCas systemView = jCas.getView(CAS.NAME_DEFAULT_SOFA);
      String text = goldView.getDocumentText();
      for (Segment segment : JCasUtil.select(jCas, Segment.class)) {
        if (!THYMEData.SEGMENTS_TO_SKIP.contains(segment.getId())) {
View Full Code Here


      files.addAll(getTestTextFiles(options.getBatchesDirectory()));
      CollectionReader reader = UriCollectionReader.getCollectionReaderFromFiles(files);

      // load the text from the URI, run the preprocessor, then run the
      // Knowtator XML reader
      AggregateBuilder builder = new AggregateBuilder();
      builder.add(UriToDocumentTextAnnotator.getDescription());
      File preprocessDescFile = new File("desc/analysis_engine/RelationExtractorPreprocessor.xml");
      XMLParser parser = UIMAFramework.getXMLParser();
      XMLInputSource source = new XMLInputSource(preprocessDescFile);
      builder.add(parser.parseAnalysisEngineDescription(source));
      builder.add(AnalysisEngineFactory.createPrimitiveDescription(
          ViewCreatorAnnotator.class,
          ViewCreatorAnnotator.PARAM_VIEW_NAME,
          GOLD_VIEW_NAME));
      builder.add(AnalysisEngineFactory.createPrimitiveDescription(CopyDocumentTextToGoldView.class));
      builder.add(
          AnalysisEngineFactory.createPrimitiveDescription(DocumentIDAnnotator.class),
          CAS.NAME_DEFAULT_SOFA,
          GOLD_VIEW_NAME);
      builder.add(
          AnalysisEngineFactory.createPrimitiveDescription(SHARPKnowtatorXMLReader.class),
          CAS.NAME_DEFAULT_SOFA,
          GOLD_VIEW_NAME);

      // write out an XMI for each file
      for (JCas jCas : new JCasIterable(reader, builder.createAggregate())) {
        JCas goldView = jCas.getView(GOLD_VIEW_NAME);
        String documentID = DocumentIDAnnotationUtil.getDocumentID(goldView);
        if (documentID == null) {
          throw new IllegalArgumentException("No documentID for CAS:\n" + jCas);
        }
View Full Code Here

        + "The patient was well till 6 months ago, when he started having a little blood with stool.";
    JCas jcas = JCasFactory.createJCas();
    jcas.setDocumentText(note);

    // Get the default pipeline with umls dictionary lookup
    AggregateBuilder builder = new AggregateBuilder();
    builder.add(ClinicalPipelineFactory.getTokenProcessingPipeline());
    builder.add(AnalysisEngineFactory
        .createPrimitiveDescription(CopyNPChunksToLookupWindowAnnotations.class));
    builder.add(AnalysisEngineFactory
        .createPrimitiveDescription(RemoveEnclosedLookupWindows.class));
    // Commented out the Dictionary lookup for the test
    // Uncomment and set -Dctakes.umlsuser and -Dctakes.umlspw env params if
    // needed
    //builder.add(UmlsDictionaryLookupAnnotator.createAnnotatorDescription());
    builder.add(ClearNLPDependencyParserAE.createAnnotatorDescription());

    // Add BackwardsTimeAnnotator
    builder.add(BackwardsTimeAnnotator
        .createAnnotatorDescription("/org/apache/ctakes/temporal/ae/timeannotator/model.jar"));
    // Add EventAnnotator
    builder.add(EventAnnotator
        .createAnnotatorDescription("/org/apache/ctakes/temporal/ae/eventannotator/model.jar"));
    // Add ContextualModalityAnnotator
    builder.add(ContextualModalityAnnotator
        .createAnnotatorDescription("/org/apache/ctakes/temporal/ae/contextualmodality/model.jar"));
   
    // Add DocTimeRelAnnotator
    builder.add(DocTimeRelAnnotator
        .createAnnotatorDescription("/org/apache/ctakes/temporal/ae/doctimerel/model.jar"));

    //builder.createAggregateDescription().toXML(new FileWriter("desc/analysis_engine/TemporalAggregateUMLSPipeline.xml"));
   
    SimplePipeline.runPipeline(jcas, builder.createAggregateDescription());

    Collection<EventMention> mentions = JCasUtil.select(jcas,
        EventMention.class);

    ArrayList<String> temp = new ArrayList<>();
View Full Code Here

import org.xml.sax.SAXException;

public class ClinicalPipelineFactory {

  public static AnalysisEngineDescription getDefaultPipeline() throws ResourceInitializationException{
    AggregateBuilder builder = new AggregateBuilder();
    builder.add(getTokenProcessingPipeline());
    builder.add(AnalysisEngineFactory.createPrimitiveDescription(CopyNPChunksToLookupWindowAnnotations.class));
    builder.add(AnalysisEngineFactory.createPrimitiveDescription(RemoveEnclosedLookupWindows.class));
    builder.add(UmlsDictionaryLookupAnnotator.createAnnotatorDescription());
    builder.add(ClearNLPDependencyParserAE.createAnnotatorDescription());
    builder.add(PolarityCleartkAnalysisEngine.createAnnotatorDescription());
    return builder.createAggregateDescription();
  }
View Full Code Here

    return builder.createAggregateDescription();
  }
 
  // TODO
  public static AnalysisEngineDescription getParsingPipeline(){
    AggregateBuilder builder = new AggregateBuilder();
    throw new UnsupportedOperationException("Not yet implemented!");
  }
View Full Code Here

    AggregateBuilder builder = new AggregateBuilder();
    throw new UnsupportedOperationException("Not yet implemented!");
  }
 
  public static AnalysisEngineDescription getTokenProcessingPipeline() throws ResourceInitializationException {
    AggregateBuilder builder = new AggregateBuilder();
    builder.add(SimpleSegmentAnnotator.createAnnotatorDescription());
    builder.add(SentenceDetector.createAnnotatorDescription());
    builder.add(TokenizerAnnotatorPTB.createAnnotatorDescription());
    builder.add(LvgAnnotator.createAnnotatorDescription());
    builder.add(ContextDependentTokenizerAnnotator.createAnnotatorDescription());
    builder.add(POSTagger.createAnnotatorDescription());
    builder.add(Chunker.createAnnotatorDescription());
    builder.add(getStandardChunkAdjusterAnnotator());
   
    return builder.createAggregateDescription();
  }
View Full Code Here

   
    return builder.createAggregateDescription();
  }
 
  public static AnalysisEngineDescription getStandardChunkAdjusterAnnotator() throws ResourceInitializationException{
    AggregateBuilder builder = new AggregateBuilder();
    // adjust NP in NP NP to span both
    builder.add(ChunkAdjuster.createAnnotatorDescription(new String[] { "NP", "NP" }1));
    // adjust NP in NP PP NP to span all three
    builder.add(ChunkAdjuster.createAnnotatorDescription(new String[] { "NP", "PP", "NP" }, 2));
    return builder.createAggregateDescription();
  }
View Full Code Here

  }

  @Override
  protected AnalysisEngineDescription getAnnotatorDescription(File directory)
      throws ResourceInitializationException {
    AggregateBuilder aggregateBuilder = new AggregateBuilder();
    aggregateBuilder.add(SentenceAnnotator.getDescription());
    aggregateBuilder.add(TokenAnnotator.getDescription());
    aggregateBuilder.add(PosTaggerAnnotator.getDescription());
    aggregateBuilder.add(DefaultSnowballStemmer.getDescription("English"));
    aggregateBuilder.add(TimeAnnotator.FACTORY.getAnnotatorDescription());
    return aggregateBuilder.createAggregateDescription();
  }
View Full Code Here

  }

  @Override
  protected AnalysisEngineDescription getAnnotatorDescription(File directory)
      throws ResourceInitializationException {
    AggregateBuilder aggregateBuilder = new AggregateBuilder();
    aggregateBuilder.add(SentenceAnnotator.getDescription());
    aggregateBuilder.add(TokenAnnotator.getDescription());
    aggregateBuilder.add(PosTaggerAnnotator.getDescription());
    aggregateBuilder.add(DefaultSnowballStemmer.getDescription("English"));
    aggregateBuilder.add(ParserAnnotator.getDescription());
    aggregateBuilder.add(EventAnnotator.FACTORY.getAnnotatorDescription());
    return aggregateBuilder.createAggregateDescription();
  }
View Full Code Here

    String note = "Hello World!";
      JCas jcas = JCasFactory.createJCas();
      jcas.setDocumentText(note);
     
    AggregateBuilder builder = new AggregateBuilder();
    // Get a simple pre-defined existing pipeline for Tokenization
   
    // You can consider using ClinicalPipelineFactory.getDefaultPipeline();
    // Which will include the UMLS Lookup, but you'll need to set your
    // -Dctakes.umlsuser and -Dctatkes.umlspw in your environment
    builder.add(ClinicalPipelineFactory.getTokenProcessingPipeline());
   
    //Add the new HelloWorld Example:
    builder.add(ExampleHelloWorldAnnotator.createAnnotatorDescription());
   
    //Run the Aggregate Pipeline
      SimplePipeline.runPipeline(jcas, builder.createAggregateDescription());
     
      //Print out the IdentifiedAnnotation objects
      for(IdentifiedAnnotation entity : JCasUtil.select(jcas, IdentifiedAnnotation.class)){
        System.out.println("Entity: " + entity.getCoveredText() + " === Polarity: " + entity.getPolarity());
      }
     
      //Example to save the Aggregate descriptor to an xml file for external
      //use such as the UIMA CVD/CPE
      if(args.length > 0)
        builder.createAggregateDescription().toXML(new FileWriter(args[0]));
    }
View Full Code Here

TOP

Related Classes of org.uimafit.factory.AggregateBuilder

Copyright © 2018 www.massapicom. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.