public static void main(String[] args) throws Exception { List<File> files = new ArrayList<>(); // notes have the same names as the directories in which they exist for(File anaforaNoteDir : ANAFORA_ANNOTATIONS_DIR.listFiles()) { String noteFileName = anaforaNoteDir.getName(); String noteFullPath = anaforaNoteDir.getAbsolutePath() + "/" + noteFileName; files.add(new File(noteFullPath)); } CollectionReader reader = UriCollectionReader.getCollectionReaderFromFiles(files); AnalysisEngine engine = getXMIWritingPreprocessorAggregateBuilder().createAggregate(); SimplePipeline.runPipeline(reader, engine); }
public static void main(String[] args) throws Exception { List<File> files = new ArrayList<>(); // notes have the same names as the directories in which they exist for(File anaforaNoteDir : ANAFORA_ANNOTATIONS_DIR.listFiles()) { String noteFileName = anaforaNoteDir.getName(); String noteFullPath = anaforaNoteDir.getAbsolutePath() + "/" + noteFileName; files.add(new File(noteFullPath)); } CollectionReader reader = UriCollectionReader.getCollectionReaderFromFiles(files); AnalysisEngine engine = getXMIWritingPreprocessorAggregateBuilder().createAggregate(); SimplePipeline.runPipeline(reader, engine); }
/** * This method provides a convenient way to instantiate an AnalysisEngine where the default view * is mapped to the view name passed into the method. * * @param analysisEngineDescription * the analysis engine description from which the engine is instantiated * @param viewName * the view name to map the default view to * @return an aggregate analysis engine consisting of a single component whose default view is * mapped to the the view named by viewName. * @throws ResourceInitializationException * if a failure occurred during production of the resource. * @see <a href="package-summary.html#InstancesVsDescriptors">Why are descriptors better than * component instances?</a> * @see AggregateBuilder */ public static AnalysisEngine createEngine(AnalysisEngineDescription analysisEngineDescription, String viewName) throws ResourceInitializationException { AggregateBuilder builder = new AggregateBuilder(); builder.add(analysisEngineDescription, CAS.NAME_DEFAULT_SOFA, viewName); return builder.createAggregate(); }
aae = builder.createAggregate();
AnalysisEngine engine = builder.createAggregate();
AnalysisEngine engine = builder.createAggregate();
Map<Integer, Integer> chainSizes = new HashMap<>(); for(JCasIterator casIter = new JCasIterator(reader, builder.createAggregate()); casIter.hasNext(); ){ JCas ptCas = casIter.next(); for(JCas docCas : ThymeCasOrderer.getOrderedCases(ptCas)) {
directory, AnnotatorMode.TEST); AnalysisEngine engine = builder.createAggregate();
AnalysisEngine engine = builder.createAggregate(); JCasIterator iter = new JCasIterator(collectionReader, engine); while (iter.hasNext()) {
/** * This utility method dumps the content of CAS for human readers. * It dumps the content of the given aJCas into a new text file with fileName. * If a file exists, it will be overwritten. * * @param aJCas CAS to be dumped into a file * @param fileName the new text file that will holds the content for human readers. * @throws LAPException */ public static void dumpJCasToTextFile(JCas aJCas, String fileName) throws LAPException { try { AnalysisEngineDescription cc = createEngineDescription(CasDumpWriter.class, CasDumpWriter.PARAM_OUTPUT_FILE, fileName); AggregateBuilder builder = new AggregateBuilder(); builder.add(cc); AnalysisEngine dumper = builder.createAggregate(); dumper.process(aJCas); } catch (ResourceInitializationException e) { throw new LAPException("Unable to initialize CASDumpWriter AE"); } catch (AnalysisEngineProcessException e) { throw new LAPException("CASDumpWriter returned an Exception."); } }
builder.add(AnalysisEngineFactory.createEngineDescription(ConstituencyParser.class)); AnalysisEngine ae = builder.createAggregate();
@Override protected AnnotationStatistics<Boolean> test( CollectionReader collectionReader, File directory) throws Exception { AggregateBuilder aggregateBuilder = this.getPreprocessorAggregateBuilder(); aggregateBuilder.add(PolarityCleartkAnalysisEngine.createAnnotatorDescription()); aggregateBuilder.add(AnalysisEngineFactory.createEngineDescription(DocumentIDPrinter.class)); aggregateBuilder.add(AnalysisEngineFactory.createEngineDescription(DeterministicMarkableAnnotator.class)); aggregateBuilder.add(AnalysisEngineFactory.createEngineDescription(RemovePersonMarkables.class)); aggregateBuilder.add(AnalysisEngineFactory.createEngineDescription(ViewCreatorAnnotator.class, ViewCreatorAnnotator.PARAM_VIEW_NAME, "PseudoGold")); aggregateBuilder.add(AnalysisEngineFactory.createEngineDescription(CreatePseudoGoldMarkables.class, CreatePseudoGoldMarkables.PARAM_GOLD_VIEW, GOLD_VIEW_NAME, CreatePseudoGoldMarkables.PARAM_PSEUDO_GOLD_VIEW, "PseudoGold")); aggregateBuilder.add(MarkableSalienceAnnotator.createAnnotatorDescription(directory.getAbsolutePath() + File.separator + "model.jar")); AnnotationStatistics<Boolean> stats = new AnnotationStatistics<>(); for(Iterator<JCas> casIter = new JCasIterator(collectionReader, aggregateBuilder.createAggregate()); casIter.hasNext();){ JCas jCas = casIter.next(); JCas goldView = jCas.getView("PseudoGold"); JCas systemView = jCas.getView(CAS.NAME_DEFAULT_SOFA); stats.add(JCasUtil.select(goldView, Markable.class), JCasUtil.select(systemView, Markable.class), AnnotationStatistics.<Markable>annotationToSpan(), mapConfidenceToBoolean()); } return stats; }
builder.add(AnalysisEngineFactory.createEngineDescription(ConstituencyParser.class)); AnalysisEngine ae = builder.createAggregate();
@Override protected AnnotationStatistics<Boolean> test( CollectionReader collectionReader, File directory) throws Exception { AggregateBuilder aggregateBuilder = this.getPreprocessorAggregateBuilder(); aggregateBuilder.add(PolarityCleartkAnalysisEngine.createAnnotatorDescription()); aggregateBuilder.add(AnalysisEngineFactory.createEngineDescription(DocumentIDPrinter.class)); aggregateBuilder.add(AnalysisEngineFactory.createEngineDescription(DeterministicMarkableAnnotator.class)); aggregateBuilder.add(AnalysisEngineFactory.createEngineDescription(RemovePersonMarkables.class)); aggregateBuilder.add(AnalysisEngineFactory.createEngineDescription(ViewCreatorAnnotator.class, ViewCreatorAnnotator.PARAM_VIEW_NAME, "PseudoGold")); aggregateBuilder.add(AnalysisEngineFactory.createEngineDescription(CreatePseudoGoldMarkables.class, CreatePseudoGoldMarkables.PARAM_GOLD_VIEW, GOLD_VIEW_NAME, CreatePseudoGoldMarkables.PARAM_PSEUDO_GOLD_VIEW, "PseudoGold")); aggregateBuilder.add(MarkableSalienceAnnotator.createAnnotatorDescription(directory.getAbsolutePath() + File.separator + "model.jar")); AnnotationStatistics<Boolean> stats = new AnnotationStatistics<>(); for(Iterator<JCas> casIter = new JCasIterator(collectionReader, aggregateBuilder.createAggregate()); casIter.hasNext();){ JCas jCas = casIter.next(); JCas goldView = jCas.getView("PseudoGold"); JCas systemView = jCas.getView(CAS.NAME_DEFAULT_SOFA); stats.add(JCasUtil.select(goldView, Markable.class), JCasUtil.select(systemView, Markable.class), AnnotationStatistics.<Markable>annotationToSpan(), mapConfidenceToBoolean()); } return stats; }
for ( Iterator<JCas> casIter = new JCasIterator( reader, builder.createAggregate() ); casIter.hasNext(); ) { JCas jCas = casIter.next(); JCas goldView = jCas.getView( GOLD_VIEW_NAME );
AggregateBuilder builder = new AggregateBuilder(); builder.add(org.cleartk.opennlp.tools.SentenceAnnotator.getDescription()); builder.add(TokenAnnotator.getDescription()); builder.add(DefaultSnowballStemmer.getDescription("English")); builder.add(org.cleartk.opennlp.tools.ParserAnnotator.getDescription()); builder.add(org.cleartk.timeml.time.TimeAnnotator.FACTORY.getAnnotatorDescription()); builder.add(TimeTypeAnnotator.FACTORY.getAnnotatorDescription()); builder.add(EventAnnotator.FACTORY.getAnnotatorDescription()); builder.add(EventTenseAnnotator.FACTORY.getAnnotatorDescription()); builder.add(EventAspectAnnotator.FACTORY.getAnnotatorDescription()); builder.add(EventClassAnnotator.FACTORY.getAnnotatorDescription()); builder.add(EventPolarityAnnotator.FACTORY.getAnnotatorDescription()); builder.add(EventModalityAnnotator.FACTORY.getAnnotatorDescription()); builder.add(AnalysisEngineFactory.createEngineDescription(AddEmptyDCT.class)); builder.add(TemporalLinkEventToDocumentCreationTimeAnnotator.FACTORY.getAnnotatorDescription()); builder.add(TemporalLinkEventToSameSentenceTimeAnnotator.FACTORY.getAnnotatorDescription()); builder.add(TemporalLinkEventToSubordinatedEventAnnotator.FACTORY.getAnnotatorDescription()); AnalysisEngine aggregateEngine = builder.createAggregate(); JCas sourceCas = createJCas(); sourceCas.setDocumentText(documentText); ViewUriUtil.setURI(sourceCas, new URI("")); aggregateEngine.process(sourceCas); String timeMlXml = TempEval2007Writer.toTimeML(sourceCas);
@Override protected void train(CollectionReader collectionReader, File directory) throws Exception { AggregateBuilder aggregateBuilder = this.getPreprocessorAggregateBuilder(); aggregateBuilder.add(PolarityCleartkAnalysisEngine.createAnnotatorDescription()); aggregateBuilder.add(AnalysisEngineFactory.createEngineDescription(DocumentIDPrinter.class)); aggregateBuilder.add(AnalysisEngineFactory.createEngineDescription(DeterministicMarkableAnnotator.class)); aggregateBuilder.add(AnalysisEngineFactory.createEngineDescription(RemovePersonMarkables.class)); aggregateBuilder.add(AnalysisEngineFactory.createEngineDescription(SetGoldConfidence.class, SetGoldConfidence.PARAM_GOLD_VIEW, GOLD_VIEW_NAME)); aggregateBuilder.add(AnalysisEngineFactory.createEngineDescription(MarkableSalienceAnnotator.createDataWriterDescription( LibLinearBooleanOutcomeDataWriter.class, directory ))); SimplePipeline.runPipeline(collectionReader, aggregateBuilder.createAggregate()); // s=0 -> logistic regression with L2-norm (gives probabilistic outputs) String[] optArray = new String[]{ "-s", "0", "-c", "1", "-w1", "1"}; JarClassifierBuilder.trainAndPackage(directory, optArray); }
@Override protected void train(CollectionReader collectionReader, File directory) throws Exception { AggregateBuilder aggregateBuilder = this.getPreprocessorAggregateBuilder(); aggregateBuilder.add(PolarityCleartkAnalysisEngine.createAnnotatorDescription()); aggregateBuilder.add(AnalysisEngineFactory.createEngineDescription(DocumentIDPrinter.class)); aggregateBuilder.add(AnalysisEngineFactory.createEngineDescription(DeterministicMarkableAnnotator.class)); aggregateBuilder.add(AnalysisEngineFactory.createEngineDescription(RemovePersonMarkables.class)); aggregateBuilder.add(AnalysisEngineFactory.createEngineDescription(SetGoldConfidence.class, SetGoldConfidence.PARAM_GOLD_VIEW, GOLD_VIEW_NAME)); aggregateBuilder.add(AnalysisEngineFactory.createEngineDescription(MarkableSalienceAnnotator.createDataWriterDescription( LibLinearBooleanOutcomeDataWriter.class, directory ))); SimplePipeline.runPipeline(collectionReader, aggregateBuilder.createAggregate()); // s=0 -> logistic regression with L2-norm (gives probabilistic outputs) String[] optArray = new String[]{ "-s", "0", "-c", "1", "-w1", "1"}; JarClassifierBuilder.trainAndPackage(directory, optArray); }
JCasIterator iter = new JCasIterator(collectionReader, aggregate.createAggregate()); while (iter.hasNext()) { JCas jCas = iter.next();
SimplePipeline.runPipeline(reader, builder.createAggregate());