You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@ctakes.apache.org by tm...@apache.org on 2015/05/01 16:53:04 UTC

svn commit: r1677161 - in /ctakes/trunk/ctakes-temporal/src/main/java/org/apache/ctakes/temporal: ae/ eval/

Author: tmill
Date: Fri May  1 14:53:03 2015
New Revision: 1677161

URL: http://svn.apache.org/r1677161
Log:
Added code to temporal readers and evals for handling THYME brain cancer corpus. Subcorpus is now an option to all the evals.

Modified:
    ctakes/trunk/ctakes-temporal/src/main/java/org/apache/ctakes/temporal/ae/THYMEKnowtatorXMLReader.java
    ctakes/trunk/ctakes-temporal/src/main/java/org/apache/ctakes/temporal/eval/EvaluationOfAnnotationSpans_ImplBase.java
    ctakes/trunk/ctakes-temporal/src/main/java/org/apache/ctakes/temporal/eval/EvaluationOfBothEEAndETRelations.java
    ctakes/trunk/ctakes-temporal/src/main/java/org/apache/ctakes/temporal/eval/EvaluationOfClearTKEventProperties.java
    ctakes/trunk/ctakes-temporal/src/main/java/org/apache/ctakes/temporal/eval/EvaluationOfClearTKEventSpans.java
    ctakes/trunk/ctakes-temporal/src/main/java/org/apache/ctakes/temporal/eval/EvaluationOfClearTKRelations.java
    ctakes/trunk/ctakes-temporal/src/main/java/org/apache/ctakes/temporal/eval/EvaluationOfClearTKTimeSpans.java
    ctakes/trunk/ctakes-temporal/src/main/java/org/apache/ctakes/temporal/eval/EvaluationOfEventEventRelations.java
    ctakes/trunk/ctakes-temporal/src/main/java/org/apache/ctakes/temporal/eval/EvaluationOfEventEventThymeRelations.java
    ctakes/trunk/ctakes-temporal/src/main/java/org/apache/ctakes/temporal/eval/EvaluationOfEventProperties.java
    ctakes/trunk/ctakes-temporal/src/main/java/org/apache/ctakes/temporal/eval/EvaluationOfEventSpans.java
    ctakes/trunk/ctakes-temporal/src/main/java/org/apache/ctakes/temporal/eval/EvaluationOfEventTimeRelations.java
    ctakes/trunk/ctakes-temporal/src/main/java/org/apache/ctakes/temporal/eval/EvaluationOfI2B2TemporalRelations.java
    ctakes/trunk/ctakes-temporal/src/main/java/org/apache/ctakes/temporal/eval/EvaluationOfMetaTimeExpressionExtractor.java
    ctakes/trunk/ctakes-temporal/src/main/java/org/apache/ctakes/temporal/eval/EvaluationOfNEPredicateEventSpans.java
    ctakes/trunk/ctakes-temporal/src/main/java/org/apache/ctakes/temporal/eval/EvaluationOfSelfEventTimeRelations.java
    ctakes/trunk/ctakes-temporal/src/main/java/org/apache/ctakes/temporal/eval/EvaluationOfTemporalRelations_ImplBase.java
    ctakes/trunk/ctakes-temporal/src/main/java/org/apache/ctakes/temporal/eval/EvaluationOfTimeSpans.java
    ctakes/trunk/ctakes-temporal/src/main/java/org/apache/ctakes/temporal/eval/Evaluation_ImplBase.java

Modified: ctakes/trunk/ctakes-temporal/src/main/java/org/apache/ctakes/temporal/ae/THYMEKnowtatorXMLReader.java
URL: http://svn.apache.org/viewvc/ctakes/trunk/ctakes-temporal/src/main/java/org/apache/ctakes/temporal/ae/THYMEKnowtatorXMLReader.java?rev=1677161&r1=1677160&r2=1677161&view=diff
==============================================================================
--- ctakes/trunk/ctakes-temporal/src/main/java/org/apache/ctakes/temporal/ae/THYMEKnowtatorXMLReader.java (original)
+++ ctakes/trunk/ctakes-temporal/src/main/java/org/apache/ctakes/temporal/ae/THYMEKnowtatorXMLReader.java Fri May  1 14:53:03 2015
@@ -58,8 +58,13 @@ public class THYMEKnowtatorXMLReader ext
   }
   
   @Override
-  protected URI getTextURI(JCas jCas) throws AnalysisEngineProcessException {
-    return ViewUriUtil.getURI(jCas);
+  protected URI getTextURI(JCas jCas) {
+    try {
+        return ViewUriUtil.getURI(jCas);
+    } catch (AnalysisEngineProcessException e){
+    	e.printStackTrace();
+    }
+    return null;
   }
 
   @Override
@@ -98,7 +103,7 @@ public class THYMEKnowtatorXMLReader ext
    */
   public static void main(String[] args) throws Exception {
     Options options = CliFactory.parseArguments(Options.class, args);
-    List<File> files = new ArrayList<File>();
+    List<File> files = new ArrayList<>();
     for (Integer set : options.getPatients().getList()) {
       File setTextDirectory = new File(options.getRawTextDirectory(), "doc" + set);
       for (File file : setTextDirectory.listFiles()) {

Modified: ctakes/trunk/ctakes-temporal/src/main/java/org/apache/ctakes/temporal/eval/EvaluationOfAnnotationSpans_ImplBase.java
URL: http://svn.apache.org/viewvc/ctakes/trunk/ctakes-temporal/src/main/java/org/apache/ctakes/temporal/eval/EvaluationOfAnnotationSpans_ImplBase.java?rev=1677161&r1=1677160&r2=1677161&view=diff
==============================================================================
--- ctakes/trunk/ctakes-temporal/src/main/java/org/apache/ctakes/temporal/eval/EvaluationOfAnnotationSpans_ImplBase.java (original)
+++ ctakes/trunk/ctakes-temporal/src/main/java/org/apache/ctakes/temporal/eval/EvaluationOfAnnotationSpans_ImplBase.java Fri May  1 14:53:03 2015
@@ -77,10 +77,11 @@ Evaluation_ImplBase<AnnotationStatistics
 			File rawTextDirectory,
 			File xmlDirectory,
 			XMLFormat xmlFormat,
+			Subcorpus subcorpus,
 			File xmiDirectory,
 			File treebankDirectory,
 			Class<? extends Annotation> annotationClass) {
-		super(baseDirectory, rawTextDirectory, xmlDirectory, xmlFormat, xmiDirectory, treebankDirectory);
+		super(baseDirectory, rawTextDirectory, xmlDirectory, xmlFormat, subcorpus, xmiDirectory, treebankDirectory);
 		this.annotationClass = annotationClass;
 	}
 
@@ -89,9 +90,10 @@ Evaluation_ImplBase<AnnotationStatistics
 			File rawTextDirectory, 
 			File xmlDirectory,
 			XMLFormat xmlFormat,
+			Subcorpus subcorpus,
 			File xmiDirectory,
 			Class<? extends Annotation> annotationClass) {
-		this(baseDirectory,rawTextDirectory, xmlDirectory, xmlFormat, xmiDirectory, null, annotationClass);
+		this(baseDirectory,rawTextDirectory, xmlDirectory, xmlFormat, subcorpus, xmiDirectory, null, annotationClass);
 	}
 
 	protected abstract AnalysisEngineDescription getDataWriterDescription(File directory)
@@ -123,7 +125,7 @@ Evaluation_ImplBase<AnnotationStatistics
 		if(this.i2b2Output != null){
 			aggregateBuilder.add(AnalysisEngineFactory.createEngineDescription(WriteI2B2XML.class, WriteI2B2XML.PARAM_OUTPUT_DIR, this.i2b2Output), "TimexView", CAS.NAME_DEFAULT_SOFA);
 		}
-		AnnotationStatistics<String> stats = new AnnotationStatistics<String>();
+		AnnotationStatistics<String> stats = new AnnotationStatistics<>();
 		Ordering<Annotation> bySpans = Ordering.<Integer> natural().lexicographical().onResultOf(
 				new Function<Annotation, List<Integer>>() {
 					@Override
@@ -142,7 +144,7 @@ Evaluation_ImplBase<AnnotationStatistics
 					Collection<? extends Annotation> systemAnnotations = this.getSystemAnnotations(systemView, segment);
 					stats.add(goldAnnotations, systemAnnotations);
 
-					Set<Annotation> goldSet = new TreeSet<Annotation>(bySpans);
+					Set<Annotation> goldSet = new TreeSet<>(bySpans);
 					for (Annotation goldAnnotation : goldAnnotations) {
 						// TODO: fix data so that this is not necessary
 						if (goldAnnotation.getBegin() == Integer.MAX_VALUE || goldAnnotation.getEnd() == Integer.MIN_VALUE) {
@@ -152,21 +154,21 @@ Evaluation_ImplBase<AnnotationStatistics
 						goldSet.add(goldAnnotation);
 					}
 					//goldSet.addAll(goldAnnotations);
-					Set<Annotation> systemSet = new TreeSet<Annotation>(bySpans);
+					Set<Annotation> systemSet = new TreeSet<>(bySpans);
 					systemSet.addAll(systemAnnotations);
 
-					Set<Annotation> goldOnly = new TreeSet<Annotation>(bySpans);
+					Set<Annotation> goldOnly = new TreeSet<>(bySpans);
 					goldOnly.addAll(goldSet);
 					goldOnly.removeAll(systemSet);
 
-					Set<Annotation> systemOnly = new TreeSet<Annotation>(bySpans);
+					Set<Annotation> systemOnly = new TreeSet<>(bySpans);
 					systemOnly.addAll(systemSet);
 					systemOnly.removeAll(goldSet);
 
 					String text = jCas.getDocumentText().replaceAll("[\r\n]", " ");
 					if (!goldOnly.isEmpty() || !systemOnly.isEmpty()) {
 						this.logger.fine("Errors in : " + ViewUriUtil.getURI(jCas).toString());
-						Set<Annotation> errors = new TreeSet<Annotation>(bySpans);
+						Set<Annotation> errors = new TreeSet<>(bySpans);
 						errors.addAll(goldOnly);
 						errors.addAll(systemOnly);
 						for (Annotation annotation : errors) {
@@ -203,8 +205,8 @@ Evaluation_ImplBase<AnnotationStatistics
 							}
 						}
 					}
-					Set<Annotation> partialGold = new HashSet<Annotation>();
-					Set<Annotation> partialSystem = new HashSet<Annotation>();
+					Set<Annotation> partialGold = new HashSet<>();
+					Set<Annotation> partialSystem = new HashSet<>();
 
 					// get overlapping spans
 					if(this.printOverlapping){

Modified: ctakes/trunk/ctakes-temporal/src/main/java/org/apache/ctakes/temporal/eval/EvaluationOfBothEEAndETRelations.java
URL: http://svn.apache.org/viewvc/ctakes/trunk/ctakes-temporal/src/main/java/org/apache/ctakes/temporal/eval/EvaluationOfBothEEAndETRelations.java?rev=1677161&r1=1677160&r2=1677161&view=diff
==============================================================================
--- ctakes/trunk/ctakes-temporal/src/main/java/org/apache/ctakes/temporal/eval/EvaluationOfBothEEAndETRelations.java (original)
+++ ctakes/trunk/ctakes-temporal/src/main/java/org/apache/ctakes/temporal/eval/EvaluationOfBothEEAndETRelations.java Fri May  1 14:53:03 2015
@@ -58,25 +58,25 @@ import org.apache.uima.analysis_engine.A
 import org.apache.uima.cas.CAS;
 import org.apache.uima.cas.CASException;
 import org.apache.uima.collection.CollectionReader;
+import org.apache.uima.fit.component.JCasAnnotator_ImplBase;
+import org.apache.uima.fit.descriptor.ConfigurationParameter;
+import org.apache.uima.fit.factory.AggregateBuilder;
+import org.apache.uima.fit.factory.AnalysisEngineFactory;
+import org.apache.uima.fit.pipeline.JCasIterator;
+import org.apache.uima.fit.pipeline.SimplePipeline;
+import org.apache.uima.fit.util.JCasUtil;
 import org.apache.uima.jcas.JCas;
 import org.apache.uima.jcas.tcas.Annotation;
 import org.apache.uima.resource.ResourceInitializationException;
 import org.apache.uima.util.FileUtils;
+import org.cleartk.eval.AnnotationStatistics;
 import org.cleartk.ml.jar.JarClassifierBuilder;
 import org.cleartk.ml.liblinear.LibLinearStringOutcomeDataWriter;
 //import org.cleartk.ml.libsvm.tk.TkLibSvmStringOutcomeDataWriter;
 //import org.cleartk.ml.libsvm.LIBSVMStringOutcomeDataWriter;
 //import org.cleartk.ml.tksvmlight.TKSVMlightStringOutcomeDataWriter;
 import org.cleartk.ml.tksvmlight.model.CompositeKernel.ComboOperator;
-import org.cleartk.eval.AnnotationStatistics;
 import org.cleartk.util.ViewUriUtil;
-import org.apache.uima.fit.component.JCasAnnotator_ImplBase;
-import org.apache.uima.fit.descriptor.ConfigurationParameter;
-import org.apache.uima.fit.factory.AggregateBuilder;
-import org.apache.uima.fit.factory.AnalysisEngineFactory;
-import org.apache.uima.fit.pipeline.JCasIterator;
-import org.apache.uima.fit.pipeline.SimplePipeline;
-import org.apache.uima.fit.util.JCasUtil;
 
 import com.google.common.base.Function;
 import com.google.common.collect.HashMultimap;
@@ -163,6 +163,7 @@ EvaluationOfTemporalRelations_ImplBase{
 					options.getRawTextDirectory(),
 					options.getXMLDirectory(),
 					options.getXMLFormat(),
+					options.getSubcorpus(),
 					options.getXMIDirectory(),
 					options.getTreebankDirectory(),
 					options.getClosure(),
@@ -234,6 +235,7 @@ EvaluationOfTemporalRelations_ImplBase{
 			File rawTextDirectory,
 			File xmlDirectory,
 			XMLFormat xmlFormat,
+			Subcorpus subcorpus,
 			File xmiDirectory,
 			File treebankDirectory,
 			boolean useClosure,
@@ -248,6 +250,7 @@ EvaluationOfTemporalRelations_ImplBase{
 				rawTextDirectory,
 				xmlDirectory,
 				xmlFormat,
+				subcorpus,
 				xmiDirectory,
 				treebankDirectory,
 				printErrors,

Modified: ctakes/trunk/ctakes-temporal/src/main/java/org/apache/ctakes/temporal/eval/EvaluationOfClearTKEventProperties.java
URL: http://svn.apache.org/viewvc/ctakes/trunk/ctakes-temporal/src/main/java/org/apache/ctakes/temporal/eval/EvaluationOfClearTKEventProperties.java?rev=1677161&r1=1677160&r2=1677161&view=diff
==============================================================================
--- ctakes/trunk/ctakes-temporal/src/main/java/org/apache/ctakes/temporal/eval/EvaluationOfClearTKEventProperties.java (original)
+++ ctakes/trunk/ctakes-temporal/src/main/java/org/apache/ctakes/temporal/eval/EvaluationOfClearTKEventProperties.java Fri May  1 14:53:03 2015
@@ -20,7 +20,6 @@ package org.apache.ctakes.temporal.eval;
 
 import java.io.File;
 import java.io.IOException;
-import java.util.ArrayList;
 import java.util.Arrays;
 import java.util.HashMap;
 import java.util.Iterator;
@@ -84,6 +83,7 @@ public class EvaluationOfClearTKEventPro
         options.getRawTextDirectory(),
         options.getXMLDirectory(),
         options.getXMLFormat(),
+        options.getSubcorpus(),
         options.getXMIDirectory());
     evaluation.prepareXMIsFor(patientSets);
     evaluation.logClassificationErrors(new File("target/eval"), "ctakes-event-property-errors");
@@ -103,8 +103,9 @@ public class EvaluationOfClearTKEventPro
       File rawTextDirectory,
       File xmlDirectory,
       XMLFormat xmlFormat,
+      Subcorpus subcorpus,
       File xmiDirectory) {
-    super(baseDirectory, rawTextDirectory, xmlDirectory, xmlFormat, xmiDirectory, null);
+    super(baseDirectory, rawTextDirectory, xmlDirectory, xmlFormat, subcorpus, xmiDirectory, null);
     for (String name : PROPERTY_NAMES) {
       this.loggers.put(name, Logger.getLogger(String.format("%s.%s", this.getClass().getName(), name)));
     }
@@ -142,12 +143,12 @@ public class EvaluationOfClearTKEventPro
 
     Function<EventMention, ?> eventMentionToSpan = AnnotationStatistics.annotationToSpan();
     Map<String, Function<EventMention, String>> propertyGetters;
-    propertyGetters = new HashMap<String, Function<EventMention, String>>();
+    propertyGetters = new HashMap<>();
     for (String name : PROPERTY_NAMES) {
       propertyGetters.put(name, getPropertyGetter(name));
     }
 
-    Map<String, AnnotationStatistics<String>> statsMap = new HashMap<String, AnnotationStatistics<String>>();
+    Map<String, AnnotationStatistics<String>> statsMap = new HashMap<>();
     statsMap.put(DOC_TIME_REL, new AnnotationStatistics<String>());
     for (Iterator<JCas> casIter = new JCasIterator(collectionReader, aggregateBuilder.createAggregate()); casIter.hasNext();) {
       JCas jCas = casIter.next();

Modified: ctakes/trunk/ctakes-temporal/src/main/java/org/apache/ctakes/temporal/eval/EvaluationOfClearTKEventSpans.java
URL: http://svn.apache.org/viewvc/ctakes/trunk/ctakes-temporal/src/main/java/org/apache/ctakes/temporal/eval/EvaluationOfClearTKEventSpans.java?rev=1677161&r1=1677160&r2=1677161&view=diff
==============================================================================
--- ctakes/trunk/ctakes-temporal/src/main/java/org/apache/ctakes/temporal/eval/EvaluationOfClearTKEventSpans.java (original)
+++ ctakes/trunk/ctakes-temporal/src/main/java/org/apache/ctakes/temporal/eval/EvaluationOfClearTKEventSpans.java Fri May  1 14:53:03 2015
@@ -19,7 +19,6 @@
 package org.apache.ctakes.temporal.eval;
 
 import java.io.File;
-import java.util.ArrayList;
 import java.util.Collection;
 import java.util.List;
 import java.util.logging.Level;
@@ -58,6 +57,7 @@ public class EvaluationOfClearTKEventSpa
         options.getRawTextDirectory(),
         options.getXMLDirectory(),
         options.getXMLFormat(),
+        options.getSubcorpus(),
         options.getXMIDirectory());
     evaluation.prepareXMIsFor(patientSets);
     evaluation.setLogging(Level.FINE, new File("target/eval/cleartk-event-errors.log"));
@@ -70,8 +70,9 @@ public class EvaluationOfClearTKEventSpa
       File rawTextDirectory,
       File xmlDirectory,
       XMLFormat xmlFormat,
+      Subcorpus subcorpus,
       File xmiDirectory) {
-    super(baseDirectory, rawTextDirectory, xmlDirectory, xmlFormat, xmiDirectory, EventMention.class);
+    super(baseDirectory, rawTextDirectory, xmlDirectory, xmlFormat, subcorpus, xmiDirectory, EventMention.class);
   }
 
   @Override

Modified: ctakes/trunk/ctakes-temporal/src/main/java/org/apache/ctakes/temporal/eval/EvaluationOfClearTKRelations.java
URL: http://svn.apache.org/viewvc/ctakes/trunk/ctakes-temporal/src/main/java/org/apache/ctakes/temporal/eval/EvaluationOfClearTKRelations.java?rev=1677161&r1=1677160&r2=1677161&view=diff
==============================================================================
--- ctakes/trunk/ctakes-temporal/src/main/java/org/apache/ctakes/temporal/eval/EvaluationOfClearTKRelations.java (original)
+++ ctakes/trunk/ctakes-temporal/src/main/java/org/apache/ctakes/temporal/eval/EvaluationOfClearTKRelations.java Fri May  1 14:53:03 2015
@@ -19,7 +19,6 @@
 package org.apache.ctakes.temporal.eval;
 
 import java.io.File;
-import java.util.ArrayList;
 import java.util.Collection;
 import java.util.Iterator;
 import java.util.List;
@@ -90,6 +89,7 @@ public class EvaluationOfClearTKRelation
         options.getRawTextDirectory(),
         options.getXMLDirectory(),
         options.getXMLFormat(),
+        options.getSubcorpus(),
         options.getXMIDirectory());
     evaluation.setExtractEventEvent(!options.getIgnoreEventEvent());
     evaluation.setExtractEventTime(!options.getIgnoreEventTime());
@@ -104,8 +104,9 @@ public class EvaluationOfClearTKRelation
   public EvaluationOfClearTKRelations(File baseDirectory, File rawTextDirectory,
       File xmlDirectory,
       org.apache.ctakes.temporal.eval.Evaluation_ImplBase.XMLFormat xmlFormat,
+      Subcorpus subcorpus,
       File xmiDirectory) {
-    super(baseDirectory, rawTextDirectory, xmlDirectory, xmlFormat, xmiDirectory, null, false, false, defaultParams);
+    super(baseDirectory, rawTextDirectory, xmlDirectory, xmlFormat, subcorpus, xmiDirectory, null, false, false, defaultParams);
   }
   
   private void setExtractEventTime(boolean eventTime) {
@@ -177,7 +178,7 @@ public class EvaluationOfClearTKRelation
       }
     };
     Function<BinaryTextRelation, String> getOutcome = AnnotationStatistics.annotationToFeatureValue("category");
-    AnnotationStatistics<String> stats = new AnnotationStatistics<String>();
+    AnnotationStatistics<String> stats = new AnnotationStatistics<>();
     for (Iterator<JCas> casIter = new JCasIterator(collectionReader, aggregateBuilder.createAggregate()); casIter.hasNext();) {
       JCas jCas = casIter.next();
       JCas goldView = jCas.getView(GOLD_VIEW_NAME);

Modified: ctakes/trunk/ctakes-temporal/src/main/java/org/apache/ctakes/temporal/eval/EvaluationOfClearTKTimeSpans.java
URL: http://svn.apache.org/viewvc/ctakes/trunk/ctakes-temporal/src/main/java/org/apache/ctakes/temporal/eval/EvaluationOfClearTKTimeSpans.java?rev=1677161&r1=1677160&r2=1677161&view=diff
==============================================================================
--- ctakes/trunk/ctakes-temporal/src/main/java/org/apache/ctakes/temporal/eval/EvaluationOfClearTKTimeSpans.java (original)
+++ ctakes/trunk/ctakes-temporal/src/main/java/org/apache/ctakes/temporal/eval/EvaluationOfClearTKTimeSpans.java Fri May  1 14:53:03 2015
@@ -19,7 +19,6 @@
 package org.apache.ctakes.temporal.eval;
 
 import java.io.File;
-import java.util.ArrayList;
 import java.util.Collection;
 import java.util.List;
 import java.util.logging.Level;
@@ -58,6 +57,7 @@ public class EvaluationOfClearTKTimeSpan
         options.getRawTextDirectory(),
         options.getXMLDirectory(),
         options.getXMLFormat(),
+        options.getSubcorpus(),
         options.getXMIDirectory());
     evaluation.prepareXMIsFor(patientSets);
     evaluation.setLogging(Level.FINE, new File("target/eval/cleartk-time-errors.log"));
@@ -70,8 +70,9 @@ public class EvaluationOfClearTKTimeSpan
       File rawTextDirectory,
       File xmlDirectory,
       XMLFormat xmlFormat,
+      Subcorpus subcorpus,
       File xmiDirectory) {
-    super(baseDirectory, rawTextDirectory, xmlDirectory, xmlFormat, xmiDirectory, EventMention.class);
+    super(baseDirectory, rawTextDirectory, xmlDirectory, xmlFormat, subcorpus, xmiDirectory, EventMention.class);
   }
 
   @Override

Modified: ctakes/trunk/ctakes-temporal/src/main/java/org/apache/ctakes/temporal/eval/EvaluationOfEventEventRelations.java
URL: http://svn.apache.org/viewvc/ctakes/trunk/ctakes-temporal/src/main/java/org/apache/ctakes/temporal/eval/EvaluationOfEventEventRelations.java?rev=1677161&r1=1677160&r2=1677161&view=diff
==============================================================================
--- ctakes/trunk/ctakes-temporal/src/main/java/org/apache/ctakes/temporal/eval/EvaluationOfEventEventRelations.java (original)
+++ ctakes/trunk/ctakes-temporal/src/main/java/org/apache/ctakes/temporal/eval/EvaluationOfEventEventRelations.java Fri May  1 14:53:03 2015
@@ -64,13 +64,14 @@ EvaluationOfTemporalRelations_ImplBase {
       File rawTextDirectory,
       File xmlDirectory,
       XMLFormat xmlFormat,
+      Subcorpus subcorpus,
       File xmiDirectory,
       File treebankDirectory,
       boolean printErrors,
       boolean printRelations,
       boolean baseline,
       ParameterSettings params){
-    super(baseDirectory, rawTextDirectory, xmlDirectory, xmlFormat, xmiDirectory,
+    super(baseDirectory, rawTextDirectory, xmlDirectory, xmlFormat, subcorpus, xmiDirectory,
         treebankDirectory, printErrors, printRelations, params);
     this.baseline = baseline;
   }
@@ -206,6 +207,7 @@ EvaluationOfTemporalRelations_ImplBase {
         options.getRawTextDirectory(),
         options.getXMLDirectory(),
         options.getXMLFormat(),
+        options.getSubcorpus(),
         options.getXMIDirectory(),
         options.getTreebankDirectory(),
         options.getPrintErrors(),

Modified: ctakes/trunk/ctakes-temporal/src/main/java/org/apache/ctakes/temporal/eval/EvaluationOfEventEventThymeRelations.java
URL: http://svn.apache.org/viewvc/ctakes/trunk/ctakes-temporal/src/main/java/org/apache/ctakes/temporal/eval/EvaluationOfEventEventThymeRelations.java?rev=1677161&r1=1677160&r2=1677161&view=diff
==============================================================================
--- ctakes/trunk/ctakes-temporal/src/main/java/org/apache/ctakes/temporal/eval/EvaluationOfEventEventThymeRelations.java (original)
+++ ctakes/trunk/ctakes-temporal/src/main/java/org/apache/ctakes/temporal/eval/EvaluationOfEventEventThymeRelations.java Fri May  1 14:53:03 2015
@@ -161,6 +161,7 @@ EvaluationOfTemporalRelations_ImplBase{
 					options.getRawTextDirectory(),
 					options.getXMLDirectory(),
 					options.getXMLFormat(),
+					options.getSubcorpus(),
 					options.getXMIDirectory(),
 					options.getTreebankDirectory(),
 					options.getClosure(),
@@ -232,6 +233,7 @@ EvaluationOfTemporalRelations_ImplBase{
 			File rawTextDirectory,
 			File xmlDirectory,
 			XMLFormat xmlFormat,
+			Subcorpus subcorpus,
 			File xmiDirectory,
 			File treebankDirectory,
 			boolean useClosure,
@@ -246,6 +248,7 @@ EvaluationOfTemporalRelations_ImplBase{
 				rawTextDirectory,
 				xmlDirectory,
 				xmlFormat,
+				subcorpus,
 				xmiDirectory,
 				treebankDirectory,
 				printErrors,

Modified: ctakes/trunk/ctakes-temporal/src/main/java/org/apache/ctakes/temporal/eval/EvaluationOfEventProperties.java
URL: http://svn.apache.org/viewvc/ctakes/trunk/ctakes-temporal/src/main/java/org/apache/ctakes/temporal/eval/EvaluationOfEventProperties.java?rev=1677161&r1=1677160&r2=1677161&view=diff
==============================================================================
--- ctakes/trunk/ctakes-temporal/src/main/java/org/apache/ctakes/temporal/eval/EvaluationOfEventProperties.java (original)
+++ ctakes/trunk/ctakes-temporal/src/main/java/org/apache/ctakes/temporal/eval/EvaluationOfEventProperties.java Fri May  1 14:53:03 2015
@@ -20,7 +20,6 @@ package org.apache.ctakes.temporal.eval;
 
 import java.io.File;
 import java.io.IOException;
-import java.util.ArrayList;
 import java.util.Arrays;
 import java.util.HashMap;
 import java.util.Iterator;
@@ -42,7 +41,6 @@ import org.apache.uima.analysis_engine.A
 import org.apache.uima.cas.CAS;
 import org.apache.uima.cas.Feature;
 import org.apache.uima.collection.CollectionReader;
-import org.apache.uima.fit.component.JCasAnnotator_ImplBase;
 import org.apache.uima.fit.factory.AggregateBuilder;
 import org.apache.uima.fit.factory.AnalysisEngineFactory;
 import org.apache.uima.fit.pipeline.JCasIterator;
@@ -109,6 +107,7 @@ Evaluation_ImplBase<Map<String, Annotati
 					options.getRawTextDirectory(),
 					options.getXMLDirectory(),
 					options.getXMLFormat(),
+					options.getSubcorpus(),
 					options.getXMIDirectory());
 			evaluation.skipTrain = options.getSkipTrain();
 			if(evaluation.skipTrain && options.getTest()){
@@ -144,8 +143,9 @@ Evaluation_ImplBase<Map<String, Annotati
 			File rawTextDirectory,
 			File xmlDirectory,
 			XMLFormat xmlFormat,
+			Subcorpus subcorpus,
 			File xmiDirectory) {
-		super(baseDirectory, rawTextDirectory, xmlDirectory, xmlFormat, xmiDirectory, null);
+		super(baseDirectory, rawTextDirectory, xmlDirectory, xmlFormat, subcorpus, xmiDirectory, null);
 		for (String name : PROPERTY_NAMES) {
 			this.loggers.put(name, Logger.getLogger(String.format("%s.%s", this.getClass().getName(), name)));
 		}

Modified: ctakes/trunk/ctakes-temporal/src/main/java/org/apache/ctakes/temporal/eval/EvaluationOfEventSpans.java
URL: http://svn.apache.org/viewvc/ctakes/trunk/ctakes-temporal/src/main/java/org/apache/ctakes/temporal/eval/EvaluationOfEventSpans.java?rev=1677161&r1=1677160&r2=1677161&view=diff
==============================================================================
--- ctakes/trunk/ctakes-temporal/src/main/java/org/apache/ctakes/temporal/eval/EvaluationOfEventSpans.java (original)
+++ ctakes/trunk/ctakes-temporal/src/main/java/org/apache/ctakes/temporal/eval/EvaluationOfEventSpans.java Fri May  1 14:53:03 2015
@@ -73,19 +73,20 @@ public class EvaluationOfEventSpans exte
       testItems = THYMEData.getPatientSets(patientSets, options.getTestRemainders().getList());
     }
     
-    List<Integer> allTraining = new ArrayList<Integer>(trainItems);
+    List<Integer> allTraining = new ArrayList<>(trainItems);
     List<Integer> allTest = null;
     if (options.getTest()) {
       allTraining.addAll(devItems);
-      allTest = new ArrayList<Integer>(testItems);
+      allTest = new ArrayList<>(testItems);
     } else {
-      allTest = new ArrayList<Integer>(devItems);
+      allTest = new ArrayList<>(devItems);
     }
     EvaluationOfEventSpans evaluation = new EvaluationOfEventSpans(
         new File("target/eval/event-spans"),
         options.getRawTextDirectory(),
         options.getXMLDirectory(),
         options.getXMLFormat(),
+        options.getSubcorpus(),
         options.getXMIDirectory(),
         options.getProbabilityOfKeepingANegativeExample(),
         options.getFeatureSelectionThreshold(),
@@ -108,11 +109,12 @@ public class EvaluationOfEventSpans exte
       File rawTextDirectory,
       File xmlDirectory,
       XMLFormat xmlFormat,
+      Subcorpus subcorpus,
       File xmiDirectory,
       float probabilityOfKeepingANegativeExample,
       float featureSelectionThreshold,
       float numOfSmoteNeighbors) {
-    super(baseDirectory, rawTextDirectory, xmlDirectory, xmlFormat, xmiDirectory, EventMention.class);
+    super(baseDirectory, rawTextDirectory, xmlDirectory, xmlFormat, subcorpus, xmiDirectory, EventMention.class);
     this.probabilityOfKeepingANegativeExample = probabilityOfKeepingANegativeExample;
     this.featureSelectionThreshold = featureSelectionThreshold;
     this.smoteNeighborNumber = numOfSmoteNeighbors;

Modified: ctakes/trunk/ctakes-temporal/src/main/java/org/apache/ctakes/temporal/eval/EvaluationOfEventTimeRelations.java
URL: http://svn.apache.org/viewvc/ctakes/trunk/ctakes-temporal/src/main/java/org/apache/ctakes/temporal/eval/EvaluationOfEventTimeRelations.java?rev=1677161&r1=1677160&r2=1677161&view=diff
==============================================================================
--- ctakes/trunk/ctakes-temporal/src/main/java/org/apache/ctakes/temporal/eval/EvaluationOfEventTimeRelations.java (original)
+++ ctakes/trunk/ctakes-temporal/src/main/java/org/apache/ctakes/temporal/eval/EvaluationOfEventTimeRelations.java Fri May  1 14:53:03 2015
@@ -35,9 +35,7 @@ import java.util.List;
 import java.util.Map;
 import java.util.Set;
 
-import org.apache.ctakes.relationextractor.ae.RelationExtractorAnnotator.IdentifiedAnnotationPair;
 import org.apache.ctakes.relationextractor.eval.RelationExtractorEvaluation.HashableArguments;
-import org.apache.ctakes.temporal.ae.EventTimeRelationAnnotator;
 import org.apache.ctakes.temporal.ae.EventTimeSelfRelationAnnotator;
 //import org.apache.ctakes.temporal.ae.EventTimeSyntacticAnnotator;
 //import org.apache.ctakes.temporal.ae.EventTimeRelationAnnotator;
@@ -60,25 +58,25 @@ import org.apache.uima.analysis_engine.A
 import org.apache.uima.cas.CAS;
 import org.apache.uima.cas.CASException;
 import org.apache.uima.collection.CollectionReader;
+import org.apache.uima.fit.component.JCasAnnotator_ImplBase;
+import org.apache.uima.fit.descriptor.ConfigurationParameter;
+import org.apache.uima.fit.factory.AggregateBuilder;
+import org.apache.uima.fit.factory.AnalysisEngineFactory;
+import org.apache.uima.fit.pipeline.JCasIterator;
+import org.apache.uima.fit.pipeline.SimplePipeline;
+import org.apache.uima.fit.util.JCasUtil;
 import org.apache.uima.jcas.JCas;
 import org.apache.uima.jcas.tcas.Annotation;
 import org.apache.uima.resource.ResourceInitializationException;
 import org.apache.uima.util.FileUtils;
+import org.cleartk.eval.AnnotationStatistics;
 import org.cleartk.ml.jar.JarClassifierBuilder;
 import org.cleartk.ml.liblinear.LibLinearStringOutcomeDataWriter;
 //import org.cleartk.ml.libsvm.LibSvmStringOutcomeDataWriter;
 //import org.cleartk.ml.tksvmlight.TkSvmLightStringOutcomeDataWriter;
 import org.cleartk.ml.tksvmlight.model.CompositeKernel;
 import org.cleartk.ml.tksvmlight.model.CompositeKernel.ComboOperator;
-import org.cleartk.eval.AnnotationStatistics;
 import org.cleartk.util.ViewUriUtil;
-import org.apache.uima.fit.component.JCasAnnotator_ImplBase;
-import org.apache.uima.fit.descriptor.ConfigurationParameter;
-import org.apache.uima.fit.factory.AggregateBuilder;
-import org.apache.uima.fit.factory.AnalysisEngineFactory;
-import org.apache.uima.fit.pipeline.JCasIterator;
-import org.apache.uima.fit.pipeline.SimplePipeline;
-import org.apache.uima.fit.util.JCasUtil;
 
 import com.google.common.base.Function;
 import com.google.common.collect.HashMultimap;
@@ -165,6 +163,7 @@ EvaluationOfTemporalRelations_ImplBase{
 					options.getRawTextDirectory(),
 					options.getXMLDirectory(),
 					options.getXMLFormat(),
+					options.getSubcorpus(),
 					options.getXMIDirectory(),
 					options.getTreebankDirectory(),
 					options.getClosure(),
@@ -236,6 +235,7 @@ EvaluationOfTemporalRelations_ImplBase{
 			File rawTextDirectory,
 			File xmlDirectory,
 			XMLFormat xmlFormat,
+			Subcorpus subcorpus,
 			File xmiDirectory,
 			File treebankDirectory,
 			boolean useClosure,
@@ -250,6 +250,7 @@ EvaluationOfTemporalRelations_ImplBase{
 				rawTextDirectory,
 				xmlDirectory,
 				xmlFormat,
+				subcorpus,
 				xmiDirectory,
 				treebankDirectory,
 				printErrors,

Modified: ctakes/trunk/ctakes-temporal/src/main/java/org/apache/ctakes/temporal/eval/EvaluationOfI2B2TemporalRelations.java
URL: http://svn.apache.org/viewvc/ctakes/trunk/ctakes-temporal/src/main/java/org/apache/ctakes/temporal/eval/EvaluationOfI2B2TemporalRelations.java?rev=1677161&r1=1677160&r2=1677161&view=diff
==============================================================================
--- ctakes/trunk/ctakes-temporal/src/main/java/org/apache/ctakes/temporal/eval/EvaluationOfI2B2TemporalRelations.java (original)
+++ ctakes/trunk/ctakes-temporal/src/main/java/org/apache/ctakes/temporal/eval/EvaluationOfI2B2TemporalRelations.java Fri May  1 14:53:03 2015
@@ -24,12 +24,10 @@ import java.io.FileWriter;
 import java.io.IOException;
 import java.io.PrintWriter;
 import java.net.URI;
-import java.util.ArrayDeque;
 import java.util.ArrayList;
 import java.util.Arrays;
 import java.util.Collection;
 import java.util.Collections;
-import java.util.Deque;
 import java.util.List;
 import java.util.Map;
 import java.util.Set;
@@ -38,12 +36,12 @@ import org.apache.ctakes.core.ae.CDASegm
 import org.apache.ctakes.relationextractor.eval.RelationExtractorEvaluation.HashableArguments;
 import org.apache.ctakes.temporal.ae.ConsecutiveSentencesEventEventRelationAnnotator;
 import org.apache.ctakes.temporal.ae.ConsecutiveSentencesEventTimeRelationAnnotator;
-import org.apache.ctakes.temporal.ae.TemporalRelationRuleAnnotator;
 import org.apache.ctakes.temporal.ae.DocTimeRelAnnotator;
 import org.apache.ctakes.temporal.ae.EventAdmissionTimeAnnotator;
 import org.apache.ctakes.temporal.ae.EventDischargeTimeAnnotator;
 import org.apache.ctakes.temporal.ae.EventEventI2B2RelationAnnotator;
 import org.apache.ctakes.temporal.ae.EventTimeI2B2RelationAnnotator;
+import org.apache.ctakes.temporal.ae.TemporalRelationRuleAnnotator;
 import org.apache.ctakes.temporal.ae.baselines.RecallBaselineEventTimeRelationAnnotator;
 import org.apache.ctakes.temporal.eval.EvaluationOfEventEventThymeRelations.AddEEPotentialRelations;
 import org.apache.ctakes.temporal.eval.EvaluationOfEventTimeRelations.AddPotentialRelations;
@@ -55,18 +53,16 @@ import org.apache.ctakes.typesystem.type
 import org.apache.ctakes.typesystem.type.relation.RelationArgument;
 import org.apache.ctakes.typesystem.type.relation.TemporalTextRelation;
 import org.apache.ctakes.typesystem.type.textsem.EventMention;
-import org.apache.ctakes.typesystem.type.textsem.IdentifiedAnnotation;
 import org.apache.ctakes.typesystem.type.textsem.TimeMention;
 import org.apache.ctakes.typesystem.type.textspan.Sentence;
 import org.apache.uima.analysis_engine.AnalysisEngineProcessException;
-import org.apache.uima.fit.pipeline.JCasIterator;
 import org.apache.uima.cas.CAS;
 import org.apache.uima.cas.CASException;
 import org.apache.uima.collection.CollectionReader;
 import org.apache.uima.fit.component.JCasAnnotator_ImplBase;
-import org.apache.uima.fit.descriptor.ConfigurationParameter;
 import org.apache.uima.fit.factory.AggregateBuilder;
 import org.apache.uima.fit.factory.AnalysisEngineFactory;
+import org.apache.uima.fit.pipeline.JCasIterator;
 import org.apache.uima.fit.pipeline.SimplePipeline;
 import org.apache.uima.fit.util.JCasUtil;
 import org.apache.uima.jcas.JCas;
@@ -76,16 +72,9 @@ import org.apache.uima.util.FileUtils;
 import org.cleartk.eval.AnnotationStatistics;
 import org.cleartk.ml.jar.JarClassifierBuilder;
 import org.cleartk.ml.libsvm.LibSvmStringOutcomeDataWriter;
-import org.cleartk.ml.liblinear.LibLinearStringOutcomeDataWriter;
 //import org.cleartk.classifier.tksvmlight.TKSVMlightStringOutcomeDataWriter;
 import org.cleartk.ml.tksvmlight.model.CompositeKernel.ComboOperator;
 import org.cleartk.util.ViewUriUtil;
-import org.apache.uima.fit.component.JCasAnnotator_ImplBase;
-import org.apache.uima.fit.descriptor.ConfigurationParameter;
-import org.apache.uima.fit.factory.AggregateBuilder;
-import org.apache.uima.fit.factory.AnalysisEngineFactory;
-import org.apache.uima.fit.pipeline.SimplePipeline;
-import org.apache.uima.fit.util.JCasUtil;
 
 import com.google.common.base.Function;
 import com.google.common.collect.HashMultimap;
@@ -180,6 +169,7 @@ EvaluationOfTemporalRelations_ImplBase{
 					options.getRawTextDirectory(),
 					options.getXMLDirectory(),
 					options.getXMLFormat(),
+					options.getSubcorpus(),
 					options.getXMIDirectory(),
 					options.getTreebankDirectory(),
 					options.getClosure(),
@@ -226,6 +216,7 @@ EvaluationOfTemporalRelations_ImplBase{
 			File rawTextDirectory,
 			File xmlDirectory,
 			XMLFormat xmlFormat,
+			Subcorpus subcorpus,
 			File xmiDirectory,
 			File treebankDirectory,
 			boolean useClosure,
@@ -240,6 +231,7 @@ EvaluationOfTemporalRelations_ImplBase{
 				rawTextDirectory,
 				xmlDirectory,
 				xmlFormat,
+				subcorpus,
 				xmiDirectory,
 				treebankDirectory,
 				printErrors,

Modified: ctakes/trunk/ctakes-temporal/src/main/java/org/apache/ctakes/temporal/eval/EvaluationOfMetaTimeExpressionExtractor.java
URL: http://svn.apache.org/viewvc/ctakes/trunk/ctakes-temporal/src/main/java/org/apache/ctakes/temporal/eval/EvaluationOfMetaTimeExpressionExtractor.java?rev=1677161&r1=1677160&r2=1677161&view=diff
==============================================================================
--- ctakes/trunk/ctakes-temporal/src/main/java/org/apache/ctakes/temporal/eval/EvaluationOfMetaTimeExpressionExtractor.java (original)
+++ ctakes/trunk/ctakes-temporal/src/main/java/org/apache/ctakes/temporal/eval/EvaluationOfMetaTimeExpressionExtractor.java Fri May  1 14:53:03 2015
@@ -63,9 +63,9 @@ public class EvaluationOfMetaTimeExpress
   public EvaluationOfMetaTimeExpressionExtractor(File baseDirectory,
       File rawTextDirectory, File xmlDirectory,
       org.apache.ctakes.temporal.eval.Evaluation_ImplBase.XMLFormat xmlFormat,
-      File xmiDirectory, File treebankDirectory,
+      Subcorpus subcorpus, File xmiDirectory, File treebankDirectory,
       List<Integer> allTrain, Class<? extends Annotation> annotationClass) {
-    super(baseDirectory, rawTextDirectory, xmlDirectory, xmlFormat, xmiDirectory,
+    super(baseDirectory, rawTextDirectory, xmlDirectory, xmlFormat, subcorpus, xmiDirectory,
         treebankDirectory, annotationClass);
     this.allTrain = allTrain;
   }
@@ -101,6 +101,7 @@ public class EvaluationOfMetaTimeExpress
             options.getRawTextDirectory(), 
             options.getXMLDirectory(), 
             options.getXMLFormat(),
+            options.getSubcorpus(),
             options.getXMIDirectory(), 
             options.getTreebankDirectory(),
             allTrain,
@@ -142,6 +143,7 @@ public class EvaluationOfMetaTimeExpress
               this.rawTextDirectory,
               this.xmlDirectory,
               this.xmlFormat,
+              this.subcorpus,
               this.xmiDirectory,
               this.treebankDirectory,
               1,

Modified: ctakes/trunk/ctakes-temporal/src/main/java/org/apache/ctakes/temporal/eval/EvaluationOfNEPredicateEventSpans.java
URL: http://svn.apache.org/viewvc/ctakes/trunk/ctakes-temporal/src/main/java/org/apache/ctakes/temporal/eval/EvaluationOfNEPredicateEventSpans.java?rev=1677161&r1=1677160&r2=1677161&view=diff
==============================================================================
--- ctakes/trunk/ctakes-temporal/src/main/java/org/apache/ctakes/temporal/eval/EvaluationOfNEPredicateEventSpans.java (original)
+++ ctakes/trunk/ctakes-temporal/src/main/java/org/apache/ctakes/temporal/eval/EvaluationOfNEPredicateEventSpans.java Fri May  1 14:53:03 2015
@@ -41,18 +41,18 @@ public class EvaluationOfNEPredicateEven
 
 	public EvaluationOfNEPredicateEventSpans(File baseDirectory,
 			File rawTextDirectory, File xmlDirectory, XMLFormat xmlFormat,
-			File xmiDirectory, File treebankDirectory,
+			Subcorpus subcorpus, File xmiDirectory, File treebankDirectory,
 			Class<? extends Annotation> annotationClass) {
 		super(baseDirectory, rawTextDirectory, xmlDirectory, xmlFormat,
-				xmiDirectory, treebankDirectory, annotationClass);
+				subcorpus, xmiDirectory, treebankDirectory, annotationClass);
 		// TODO Auto-generated constructor stub
 	}
 
 	public EvaluationOfNEPredicateEventSpans(File baseDirectory,
 			File rawTextDirectory, File xmlDirectory, XMLFormat xmlFormat,
-			File xmiDirectory) {
+			Subcorpus subcorpus, File xmiDirectory) {
 		super(baseDirectory, rawTextDirectory, xmlDirectory, xmlFormat,
-				xmiDirectory, EventMention.class);
+				subcorpus, xmiDirectory, EventMention.class);
 		// TODO Auto-generated constructor stub
 	}
 
@@ -100,6 +100,7 @@ public class EvaluationOfNEPredicateEven
 	        options.getRawTextDirectory(),
 	        options.getXMLDirectory(),
 	        options.getXMLFormat(),
+	        options.getSubcorpus(),
 	        options.getXMIDirectory());
 	    evaluation.prepareXMIsFor(patientSets);
 	    evaluation.setLogging(Level.FINE, new File("target/eval/ctakes-event-errors.log"));

Modified: ctakes/trunk/ctakes-temporal/src/main/java/org/apache/ctakes/temporal/eval/EvaluationOfSelfEventTimeRelations.java
URL: http://svn.apache.org/viewvc/ctakes/trunk/ctakes-temporal/src/main/java/org/apache/ctakes/temporal/eval/EvaluationOfSelfEventTimeRelations.java?rev=1677161&r1=1677160&r2=1677161&view=diff
==============================================================================
--- ctakes/trunk/ctakes-temporal/src/main/java/org/apache/ctakes/temporal/eval/EvaluationOfSelfEventTimeRelations.java (original)
+++ ctakes/trunk/ctakes-temporal/src/main/java/org/apache/ctakes/temporal/eval/EvaluationOfSelfEventTimeRelations.java Fri May  1 14:53:03 2015
@@ -165,6 +165,7 @@ EvaluationOfTemporalRelations_ImplBase{
 					options.getRawTextDirectory(),
 					options.getXMLDirectory(),
 					options.getXMLFormat(),
+					options.getSubcorpus(),
 					options.getXMIDirectory(),
 					options.getTreebankDirectory(),
 					options.getClosure(),
@@ -242,6 +243,7 @@ EvaluationOfTemporalRelations_ImplBase{
 			File rawTextDirectory,
 			File xmlDirectory,
 			XMLFormat xmlFormat,
+			Subcorpus subcorpus,
 			File xmiDirectory,
 			File treebankDirectory,
 			boolean useClosure,
@@ -256,6 +258,7 @@ EvaluationOfTemporalRelations_ImplBase{
 				rawTextDirectory,
 				xmlDirectory,
 				xmlFormat,
+				subcorpus,
 				xmiDirectory,
 				treebankDirectory,
 				printErrors,

Modified: ctakes/trunk/ctakes-temporal/src/main/java/org/apache/ctakes/temporal/eval/EvaluationOfTemporalRelations_ImplBase.java
URL: http://svn.apache.org/viewvc/ctakes/trunk/ctakes-temporal/src/main/java/org/apache/ctakes/temporal/eval/EvaluationOfTemporalRelations_ImplBase.java?rev=1677161&r1=1677160&r2=1677161&view=diff
==============================================================================
--- ctakes/trunk/ctakes-temporal/src/main/java/org/apache/ctakes/temporal/eval/EvaluationOfTemporalRelations_ImplBase.java (original)
+++ ctakes/trunk/ctakes-temporal/src/main/java/org/apache/ctakes/temporal/eval/EvaluationOfTemporalRelations_ImplBase.java Fri May  1 14:53:03 2015
@@ -47,7 +47,7 @@ import com.lexicalscope.jewel.cli.Option
 public abstract class EvaluationOfTemporalRelations_ImplBase extends
 Evaluation_ImplBase<AnnotationStatistics<String>> {
 
-	static interface TempRelOptions extends Evaluation_ImplBase.Options{
+	public static interface TempRelOptions extends Evaluation_ImplBase.Options{
 		@Option
 		public boolean getTest();
 
@@ -80,9 +80,9 @@ Evaluation_ImplBase<AnnotationStatistics
 	protected boolean printRelations = false;
 
 	public EvaluationOfTemporalRelations_ImplBase(File baseDirectory,
-			File rawTextDirectory, File xmlDirectory, XMLFormat xmlFormat,
+			File rawTextDirectory, File xmlDirectory, XMLFormat xmlFormat, Subcorpus subcorpus,
 			File xmiDirectory, File treebankDirectory, boolean printErrors, boolean printRelations, ParameterSettings params) {
-		super(baseDirectory, rawTextDirectory, xmlDirectory, xmlFormat, xmiDirectory,
+		super(baseDirectory, rawTextDirectory, xmlDirectory, xmlFormat, subcorpus, xmiDirectory,
 				treebankDirectory);
 		this.params = params;
 		this.printRelations = printRelations;

Modified: ctakes/trunk/ctakes-temporal/src/main/java/org/apache/ctakes/temporal/eval/EvaluationOfTimeSpans.java
URL: http://svn.apache.org/viewvc/ctakes/trunk/ctakes-temporal/src/main/java/org/apache/ctakes/temporal/eval/EvaluationOfTimeSpans.java?rev=1677161&r1=1677160&r2=1677161&view=diff
==============================================================================
--- ctakes/trunk/ctakes-temporal/src/main/java/org/apache/ctakes/temporal/eval/EvaluationOfTimeSpans.java (original)
+++ ctakes/trunk/ctakes-temporal/src/main/java/org/apache/ctakes/temporal/eval/EvaluationOfTimeSpans.java Fri May  1 14:53:03 2015
@@ -104,14 +104,14 @@ public class EvaluationOfTimeSpans exten
       testItems = THYMEData.getPatientSets(patientSets, options.getTestRemainders().getList());
     }
 		
-		List<Integer> allTrain = new ArrayList<Integer>(trainItems);
+		List<Integer> allTrain = new ArrayList<>(trainItems);
 		List<Integer> allTest = null;
 		
 		if(options.getTest()){
 		  allTrain.addAll(devItems);
-		  allTest = new ArrayList<Integer>(testItems);
+		  allTest = new ArrayList<>(testItems);
 		}else{
-		  allTest = new ArrayList<Integer>(devItems);
+		  allTest = new ArrayList<>(devItems);
 		}
 		
 		// specify the annotator classes to use
@@ -131,7 +131,7 @@ public class EvaluationOfTimeSpans exten
 		
 		// THYME best params: Backwards: 0.1, CRF 0.3, Time 0.1, Constituency 0.3
 		// i2b2 best params: Backwards 0.1, CRF 3.0, Time 0.1, Constituency 0.3
-		String gridParam = "0.01";
+//		String gridParam = "0.01";
 		annotatorTrainingArguments.put(BackwardsTimeAnnotator.class, new String[]{"-c", "0.1"});
 		annotatorTrainingArguments.put(TimeAnnotator.class, new String[]{"-c", "0.1"});
 		annotatorTrainingArguments.put(ConstituencyBasedTimeAnnotator.class, new String[]{"-c", "0.3"});
@@ -145,6 +145,7 @@ public class EvaluationOfTimeSpans exten
 					options.getRawTextDirectory(),
 					options.getXMLDirectory(),
 					options.getXMLFormat(),
+					options.getSubcorpus(),
 					options.getXMIDirectory(),
 					options.getTreebankDirectory(),
 					options.getFeatureSelectionThreshold(),
@@ -194,6 +195,7 @@ public class EvaluationOfTimeSpans exten
 			File rawTextDirectory,
 			File xmlDirectory,
 			XMLFormat xmlFormat,
+			Subcorpus subcorpus,
 			File xmiDirectory,
 			File treebankDirectory,
 			float featureSelectionThreshold,
@@ -201,7 +203,7 @@ public class EvaluationOfTimeSpans exten
 			Class<? extends JCasAnnotator_ImplBase> annotatorClass,
 					boolean printOverlapping,
 					String[] trainingArguments) {
-		super(baseDirectory, rawTextDirectory, xmlDirectory, xmlFormat, xmiDirectory, treebankDirectory, TimeMention.class);
+		super(baseDirectory, rawTextDirectory, xmlDirectory, xmlFormat, subcorpus, xmiDirectory, treebankDirectory, TimeMention.class);
 		this.annotatorClass = annotatorClass;
 		this.featureSelectionThreshold = featureSelectionThreshold;
 		this.trainingArguments = trainingArguments;

Modified: ctakes/trunk/ctakes-temporal/src/main/java/org/apache/ctakes/temporal/eval/Evaluation_ImplBase.java
URL: http://svn.apache.org/viewvc/ctakes/trunk/ctakes-temporal/src/main/java/org/apache/ctakes/temporal/eval/Evaluation_ImplBase.java?rev=1677161&r1=1677160&r2=1677161&view=diff
==============================================================================
--- ctakes/trunk/ctakes-temporal/src/main/java/org/apache/ctakes/temporal/eval/Evaluation_ImplBase.java (original)
+++ ctakes/trunk/ctakes-temporal/src/main/java/org/apache/ctakes/temporal/eval/Evaluation_ImplBase.java Fri May  1 14:53:03 2015
@@ -24,6 +24,9 @@ import java.io.FileNotFoundException;
 import java.io.FileOutputStream;
 import java.io.FilenameFilter;
 import java.io.IOException;
+import java.io.InputStreamReader;
+import java.net.MalformedURLException;
+import java.net.URI;
 import java.util.ArrayList;
 import java.util.HashMap;
 import java.util.HashSet;
@@ -56,7 +59,6 @@ import org.apache.ctakes.core.resource.F
 import org.apache.ctakes.core.resource.FileResourceImpl;
 import org.apache.ctakes.dependency.parser.ae.ClearNLPDependencyParserAE;
 import org.apache.ctakes.dependency.parser.ae.ClearNLPSemanticRoleLabelerAE;
-import org.apache.ctakes.dictionary.lookup.ae.UmlsDictionaryLookupAnnotator;
 import org.apache.ctakes.dictionary.lookup2.ae.AbstractJCasTermAnnotator;
 import org.apache.ctakes.dictionary.lookup2.ae.DefaultJCasTermAnnotator;
 import org.apache.ctakes.dictionary.lookup2.ae.JCasTermAnnotator;
@@ -116,6 +118,7 @@ import org.xml.sax.ContentHandler;
 import org.xml.sax.SAXException;
 
 import com.google.common.collect.Lists;
+import com.google.common.io.CharStreams;
 import com.lexicalscope.jewel.cli.Option;
 
 public abstract class Evaluation_ImplBase<STATISTICS_TYPE> extends
@@ -125,9 +128,11 @@ org.cleartk.eval.Evaluation_ImplBase<Int
 
 	public static final String GOLD_VIEW_NAME = "GoldView";
 
-	enum XMLFormat { Knowtator, Anafora, I2B2 }
+	public enum XMLFormat { Knowtator, Anafora, I2B2 }
 
-	static interface Options {
+	public enum Subcorpus { Colon, Brain}
+	
+  public static interface Options {
 
 		@Option(longName = "text", defaultToNull = true)
 		public File getRawTextDirectory();
@@ -138,6 +143,9 @@ org.cleartk.eval.Evaluation_ImplBase<Int
 		@Option(longName = "format", defaultValue="Anafora")
 		public XMLFormat getXMLFormat();
 
+		@Option(longName = "subcorpus", defaultValue="Colon")
+		public Subcorpus getSubcorpus();
+
 		@Option(longName = "xmi")
 		public File getXMIDirectory();
 
@@ -204,6 +212,8 @@ org.cleartk.eval.Evaluation_ImplBase<Int
 
 	protected XMLFormat xmlFormat;
 
+	protected Subcorpus subcorpus;
+	
 	protected File xmiDirectory;
 
 	private boolean xmiExists;
@@ -223,12 +233,14 @@ org.cleartk.eval.Evaluation_ImplBase<Int
 			File rawTextDirectory,
 			File xmlDirectory,
 			XMLFormat xmlFormat,
+			Subcorpus subcorpus,
 			File xmiDirectory,
 			File treebankDirectory) {
 		super(baseDirectory);
 		this.rawTextDirectory = rawTextDirectory;
 		this.xmlDirectory = xmlDirectory;
 		this.xmlFormat = xmlFormat;
+		this.subcorpus = subcorpus;
 		this.xmiDirectory = xmiDirectory;
 		this.xmiExists = this.xmiDirectory.exists() && this.xmiDirectory.listFiles().length > 0;
 		this.treebankDirectory = treebankDirectory;
@@ -259,13 +271,21 @@ org.cleartk.eval.Evaluation_ImplBase<Int
 		if (this.xmlFormat == XMLFormat.Anafora) {
 			Set<String> ids = new HashSet<>();
 			for (Integer set : patientSets) {
-				ids.add(String.format("ID%03d", set));
+			  if(this.subcorpus == Subcorpus.Colon){
+			    ids.add(String.format("ID%03d", set));
+			  }else{
+			    ids.add(String.format("doc%04d", set));
+			  }
+			}
+			int filePrefixLen = 5; // Colon: "ID\d{3}"
+			if(this.subcorpus == Subcorpus.Brain){
+			  filePrefixLen = 7; // Brain: "doc\d{4}"
 			}
 			for (String section : THYMEData.SECTIONS){
 				File xmlSubdir = new File(this.xmlDirectory, section);
 				for (File dir : xmlSubdir.listFiles()) {
 					if (dir.isDirectory()) {
-						if (ids.contains(dir.getName().substring(0, 5))) {
+						if (ids.contains(dir.getName().substring(0, filePrefixLen))) {
 							File file = new File(dir, dir.getName());
 							if (file.exists()) {
 								files.add(file);
@@ -345,7 +365,7 @@ org.cleartk.eval.Evaluation_ImplBase<Int
 	protected AggregateBuilder getXMIWritingPreprocessorAggregateBuilder()
 			throws Exception {
 		AggregateBuilder aggregateBuilder = new AggregateBuilder();
-		aggregateBuilder.add(UriToDocumentTextAnnotator.getDescription());
+		aggregateBuilder.add(AnalysisEngineFactory.createEngineDescription(UriToDocumentTextAnnotatorCtakes.class));
 
 		// read manual annotations into gold view
 		aggregateBuilder.add(AnalysisEngineFactory.createEngineDescription(
@@ -440,9 +460,19 @@ org.cleartk.eval.Evaluation_ImplBase<Int
 				"DeleteAction",
 				new String[] { "selector=B" }));
 		// add UMLS on top of lookup windows
-		aggregateBuilder.add(
-				UmlsDictionaryLookupAnnotator.createAnnotatorDescription()
-				);
+    try {
+      aggregateBuilder.add(AnalysisEngineFactory.createEngineDescription(DefaultJCasTermAnnotator.class,
+          AbstractJCasTermAnnotator.PARAM_WINDOW_ANNOT_PRP,
+          "org.apache.ctakes.typesystem.type.textspan.Sentence",
+          JCasTermAnnotator.DICTIONARY_DESCRIPTOR_KEY,
+          ExternalResourceFactory.createExternalResourceDescription(
+              FileResourceImpl.class,
+              FileLocator.locateFile("org/apache/ctakes/dictionary/lookup/fast/cTakesHsql.xml"))
+          ));
+    } catch (FileNotFoundException e) {
+      e.printStackTrace();
+      throw new ResourceInitializationException(e);
+    }
 
 		aggregateBuilder.add(LvgAnnotator.createAnnotatorDescription());
 
@@ -734,6 +764,31 @@ org.cleartk.eval.Evaluation_ImplBase<Int
 			}
 		}
 	}
+	
+  /* 
+   * The following class overrides a ClearTK utility annotator class for reading
+   * a text file into a JCas. The code is copy/pasted so that one tiny modification
+   * can be made for this corpus -- replace a single odd character (0xc) with a 
+   * space since it trips up xml output.  
+   */
+  public static class UriToDocumentTextAnnotatorCtakes extends UriToDocumentTextAnnotator {
+
+    @Override
+    public void process(JCas jCas) throws AnalysisEngineProcessException {
+      URI uri = ViewUriUtil.getURI(jCas);
+      String content;
+
+      try {
+        content = CharStreams.toString(new InputStreamReader(uri.toURL().openStream()));
+        content = content.replace((char) 0xc, ' ');
+        jCas.setSofaDataString(content, "text/plain");
+      } catch (MalformedURLException e) {
+        throw new AnalysisEngineProcessException(e);
+      } catch (IOException e) {
+        throw new AnalysisEngineProcessException(e);
+      }
+    }  
+  }
 
 	public static class WriteI2B2XML extends JCasAnnotator_ImplBase {
 		public static final String PARAM_OUTPUT_DIR="PARAM_OUTPUT_DIR";