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 2013/08/05 22:35:23 UTC
svn commit: r1510715 -
/ctakes/trunk/ctakes-temporal/src/main/java/org/apache/ctakes/temporal/eval/EvaluationOfTimeSpans.java
Author: tmill
Date: Mon Aug 5 20:35:22 2013
New Revision: 1510715
URL: http://svn.apache.org/r1510715
Log:
Updated default parameters based on 1-27 dev set, and made to use test flag for evaluations.
Modified:
ctakes/trunk/ctakes-temporal/src/main/java/org/apache/ctakes/temporal/eval/EvaluationOfTimeSpans.java
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=1510715&r1=1510714&r2=1510715&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 Mon Aug 5 20:35:22 2013
@@ -19,6 +19,7 @@
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.Map;
@@ -39,7 +40,6 @@ import org.apache.uima.resource.Resource
import org.cleartk.classifier.CleartkAnnotator;
import org.cleartk.classifier.CleartkSequenceAnnotator;
import org.cleartk.classifier.Instance;
-//import org.cleartk.classifier.DataWriter;
import org.cleartk.classifier.crfsuite.CRFSuiteStringOutcomeDataWriter;
import org.cleartk.classifier.feature.transform.InstanceDataWriter;
import org.cleartk.classifier.feature.transform.InstanceStream;
@@ -64,7 +64,7 @@ public class EvaluationOfTimeSpans exten
static interface Options extends Evaluation_ImplBase.Options {
- @Option(longName = "featureSelectionThreshold", defaultValue = "1")
+ @Option(longName = "featureSelectionThreshold", defaultValue = "1")
public float getFeatureSelectionThreshold();
@Option(longName = "SMOTENeighborNumber", defaultValue = "0")
@@ -76,7 +76,18 @@ public class EvaluationOfTimeSpans exten
List<Integer> patientSets = options.getPatients().getList();
List<Integer> trainItems = THYMEData.getTrainPatientSets(patientSets);
List<Integer> devItems = THYMEData.getDevPatientSets(patientSets);
-
+ List<Integer> testItems = THYMEData.getTestPatientSets(patientSets);
+
+ List<Integer> allTrain = new ArrayList<Integer>(trainItems);
+ List<Integer> allTest = null;
+
+ if(options.getTest()){
+ allTrain.addAll(devItems);
+ allTest = new ArrayList<Integer>(testItems);
+ }else{
+ allTest = new ArrayList<Integer>(devItems);
+ }
+
// specify the annotator classes to use
List<Class<? extends JCasAnnotator_ImplBase>> annotatorClasses = Lists.newArrayList();
annotatorClasses.add(BackwardsTimeAnnotator.class);
@@ -85,11 +96,11 @@ public class EvaluationOfTimeSpans exten
annotatorClasses.add(CRFTimeAnnotator.class);
annotatorClasses.add(MetaTimeAnnotator.class);
Map<Class<? extends JCasAnnotator_ImplBase>, String[]> annotatorTrainingArguments = Maps.newHashMap();
- annotatorTrainingArguments.put(BackwardsTimeAnnotator.class, new String[]{"-c", "0.1"});
+ annotatorTrainingArguments.put(BackwardsTimeAnnotator.class, new String[]{"-c", "0.3"});
annotatorTrainingArguments.put(TimeAnnotator.class, new String[]{"-c", "0.1"});
- annotatorTrainingArguments.put(ConstituencyBasedTimeAnnotator.class, new String[]{"-c", "0.1"});
- annotatorTrainingArguments.put(CRFTimeAnnotator.class, new String[]{"-p", "c2=0.1"});
- annotatorTrainingArguments.put(MetaTimeAnnotator.class, new String[]{"-p", "c2=0.1"});
+ annotatorTrainingArguments.put(ConstituencyBasedTimeAnnotator.class, new String[]{"-c", "0.3"});
+ annotatorTrainingArguments.put(CRFTimeAnnotator.class, new String[]{"-p", "c2=0.03"});
+ annotatorTrainingArguments.put(MetaTimeAnnotator.class, new String[]{"-p", "c2=0.3"});
// run one evaluation per annotator class
final Map<Class<?>, AnnotationStatistics<?>> annotatorStats = Maps.newHashMap();
@@ -109,7 +120,7 @@ public class EvaluationOfTimeSpans exten
evaluation.prepareXMIsFor(patientSets);
String name = String.format("%s.errors", annotatorClass.getSimpleName());
evaluation.setLogging(Level.FINE, new File("target/eval", name));
- AnnotationStatistics<String> stats = evaluation.trainAndTest(trainItems, devItems);
+ AnnotationStatistics<String> stats = evaluation.trainAndTest(allTrain, allTest);
annotatorStats.put(annotatorClass, stats);
}