You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@ctakes.apache.org by st...@apache.org on 2012/10/23 22:36:09 UTC

svn commit: r1401453 - in /incubator/ctakes/trunk/ctakes-relation-extractor/src/main/java/org/apache/ctakes/relationextractor: eval/ pipelines/

Author: stevenbethard
Date: Tue Oct 23 20:36:09 2012
New Revision: 1401453

URL: http://svn.apache.org/viewvc?rev=1401453&view=rev
Log:
Fixes uses of deprecated ClearTK APIs in relation-extractor

Removed:
    incubator/ctakes/trunk/ctakes-relation-extractor/src/main/java/org/apache/ctakes/relationextractor/eval/MultiClassLIBSVMDataWriterFactory.java
Modified:
    incubator/ctakes/trunk/ctakes-relation-extractor/src/main/java/org/apache/ctakes/relationextractor/eval/ModifierExtractorEvaluation.java
    incubator/ctakes/trunk/ctakes-relation-extractor/src/main/java/org/apache/ctakes/relationextractor/eval/RelationExtractorEvaluation.java
    incubator/ctakes/trunk/ctakes-relation-extractor/src/main/java/org/apache/ctakes/relationextractor/pipelines/RelationExtractorTrain.java

Modified: incubator/ctakes/trunk/ctakes-relation-extractor/src/main/java/org/apache/ctakes/relationextractor/eval/ModifierExtractorEvaluation.java
URL: http://svn.apache.org/viewvc/incubator/ctakes/trunk/ctakes-relation-extractor/src/main/java/org/apache/ctakes/relationextractor/eval/ModifierExtractorEvaluation.java?rev=1401453&r1=1401452&r2=1401453&view=diff
==============================================================================
--- incubator/ctakes/trunk/ctakes-relation-extractor/src/main/java/org/apache/ctakes/relationextractor/eval/ModifierExtractorEvaluation.java (original)
+++ incubator/ctakes/trunk/ctakes-relation-extractor/src/main/java/org/apache/ctakes/relationextractor/eval/ModifierExtractorEvaluation.java Tue Oct 23 20:36:09 2012
@@ -28,10 +28,11 @@ import org.apache.uima.cas.CASException;
 import org.apache.uima.collection.CollectionReader;
 import org.apache.uima.jcas.JCas;
 import org.apache.uima.resource.ResourceInitializationException;
-import org.cleartk.classifier.CleartkAnnotator;
+import org.cleartk.classifier.jar.DefaultDataWriterFactory;
 import org.cleartk.classifier.jar.DirectoryDataWriterFactory;
 import org.cleartk.classifier.jar.GenericJarClassifierFactory;
 import org.cleartk.classifier.jar.JarClassifierBuilder;
+import org.cleartk.classifier.libsvm.LIBSVMStringOutcomeDataWriter;
 import org.cleartk.eval.AnnotationStatistics;
 import org.cleartk.eval.Evaluation_ImplBase;
 import org.cleartk.util.Options_ImplBase;
@@ -103,8 +104,8 @@ public class ModifierExtractorEvaluation
         collectionReader,
         AnalysisEngineFactory.createPrimitiveDescription(OnlyGoldModifiers.class),
         ModifierExtractorAnnotator.getDescription(
-            CleartkAnnotator.PARAM_DATA_WRITER_FACTORY_CLASS_NAME,
-            MultiClassLIBSVMDataWriterFactory.class.getName(),
+            DefaultDataWriterFactory.PARAM_DATA_WRITER_CLASS_NAME,
+            LIBSVMStringOutcomeDataWriter.class,
             DirectoryDataWriterFactory.PARAM_OUTPUT_DIRECTORY,
             directory.getPath()));
     JarClassifierBuilder.trainAndPackage(directory, this.trainingArguments);

Modified: incubator/ctakes/trunk/ctakes-relation-extractor/src/main/java/org/apache/ctakes/relationextractor/eval/RelationExtractorEvaluation.java
URL: http://svn.apache.org/viewvc/incubator/ctakes/trunk/ctakes-relation-extractor/src/main/java/org/apache/ctakes/relationextractor/eval/RelationExtractorEvaluation.java?rev=1401453&r1=1401452&r2=1401453&view=diff
==============================================================================
--- incubator/ctakes/trunk/ctakes-relation-extractor/src/main/java/org/apache/ctakes/relationextractor/eval/RelationExtractorEvaluation.java (original)
+++ incubator/ctakes/trunk/ctakes-relation-extractor/src/main/java/org/apache/ctakes/relationextractor/eval/RelationExtractorEvaluation.java Tue Oct 23 20:36:09 2012
@@ -37,11 +37,12 @@ import org.apache.uima.jcas.JCas;
 import org.apache.uima.jcas.tcas.Annotation;
 import org.apache.uima.util.CasCopier;
 import org.apache.uima.util.Level;
-import org.cleartk.classifier.CleartkAnnotator;
-import org.cleartk.classifier.DataWriterFactory;
+import org.cleartk.classifier.DataWriter;
+import org.cleartk.classifier.jar.DefaultDataWriterFactory;
 import org.cleartk.classifier.jar.DirectoryDataWriterFactory;
 import org.cleartk.classifier.jar.GenericJarClassifierFactory;
 import org.cleartk.classifier.jar.JarClassifierBuilder;
+import org.cleartk.classifier.libsvm.LIBSVMStringOutcomeDataWriter;
 import org.cleartk.eval.AnnotationStatistics;
 import org.cleartk.eval.Evaluation_ImplBase;
 import org.cleartk.util.Options_ImplBase;
@@ -118,7 +119,7 @@ public class RelationExtractorEvaluation
         : EntityMentionPairRelationExtractorAnnotator.class;
 
     // determine the type of classifier to be trained
-    Class<? extends DataWriterFactory<String>> dataWriterFactoryClass = MultiClassLIBSVMDataWriterFactory.class;
+    Class<? extends DataWriter<String>> dataWriterClass = LIBSVMStringOutcomeDataWriter.class;
 
     // define the set of possible training parameters
     List<ParameterSettings> possibleParams = options.runDegreeOf
@@ -153,7 +154,7 @@ public class RelationExtractorEvaluation
       RelationExtractorEvaluation evaluation = new RelationExtractorEvaluation(
           modelsDir,
           annotatorClass,
-          dataWriterFactoryClass,
+          dataWriterClass,
           additionalParameters,
           trainingArguments);
       
@@ -215,8 +216,8 @@ public class RelationExtractorEvaluation
    *          The directory where models, etc. should be written
    * @param classifierAnnotatorClass
    *          The CleartkAnnotator class that learns a relation extractor model
-   * @param dataWriterFactoryClass
-   *          The DataWriterFactory defining what type of classifier to train
+   * @param dataWriterClass
+   *          The DataWriter defining what type of classifier to train
    * @param additionalParameters
    *          Additional parameters that should be supplied when creating the CleartkAnnotator
    * @param trainingArguments
@@ -225,19 +226,19 @@ public class RelationExtractorEvaluation
   public RelationExtractorEvaluation(
       File baseDirectory,
       Class<? extends RelationExtractorAnnotator> classifierAnnotatorClass,
-      Class<? extends DataWriterFactory<String>> dataWriterFactoryClass,
+      Class<? extends DataWriter<String>> dataWriterClass,
       Object[] additionalParameters,
       String[] trainingArguments) {
     super(baseDirectory);
     this.classifierAnnotatorClass = classifierAnnotatorClass;
-    this.dataWriterFactoryClass = dataWriterFactoryClass;
+    this.dataWriterClass = dataWriterClass;
     this.additionalParameters = additionalParameters;
     this.trainingArguments = trainingArguments;
   }
 
   private Class<? extends RelationExtractorAnnotator> classifierAnnotatorClass;
 
-  private Class<? extends DataWriterFactory<String>> dataWriterFactoryClass;
+  private Class<? extends DataWriter<String>> dataWriterClass;
 
   private Object[] additionalParameters;
 
@@ -272,8 +273,8 @@ public class RelationExtractorEvaluation
         classifierAnnotator,
         RelationExtractorAnnotator.PARAM_GOLD_VIEW_NAME,
         RelationExtractorEvaluation.GOLD_VIEW_NAME,
-        CleartkAnnotator.PARAM_DATA_WRITER_FACTORY_CLASS_NAME,
-        this.dataWriterFactoryClass.getName(),
+        DefaultDataWriterFactory.PARAM_DATA_WRITER_CLASS_NAME,
+        this.dataWriterClass,
         DirectoryDataWriterFactory.PARAM_OUTPUT_DIRECTORY,
         directory.getPath());
     builder.add(classifierAnnotator);

Modified: incubator/ctakes/trunk/ctakes-relation-extractor/src/main/java/org/apache/ctakes/relationextractor/pipelines/RelationExtractorTrain.java
URL: http://svn.apache.org/viewvc/incubator/ctakes/trunk/ctakes-relation-extractor/src/main/java/org/apache/ctakes/relationextractor/pipelines/RelationExtractorTrain.java?rev=1401453&r1=1401452&r2=1401453&view=diff
==============================================================================
--- incubator/ctakes/trunk/ctakes-relation-extractor/src/main/java/org/apache/ctakes/relationextractor/pipelines/RelationExtractorTrain.java (original)
+++ incubator/ctakes/trunk/ctakes-relation-extractor/src/main/java/org/apache/ctakes/relationextractor/pipelines/RelationExtractorTrain.java Tue Oct 23 20:36:09 2012
@@ -29,7 +29,6 @@ import org.apache.ctakes.relationextract
 import org.apache.ctakes.relationextractor.ae.ModifierExtractorAnnotator;
 import org.apache.ctakes.relationextractor.ae.RelationExtractorAnnotator;
 import org.apache.ctakes.relationextractor.eval.ModifierExtractorEvaluation;
-import org.apache.ctakes.relationextractor.eval.MultiClassLIBSVMDataWriterFactory;
 import org.apache.ctakes.relationextractor.eval.RelationExtractorEvaluation;
 import org.apache.ctakes.relationextractor.eval.RelationExtractorEvaluation.ParameterSettings;
 import org.apache.uima.UIMAFramework;
@@ -37,8 +36,9 @@ import org.apache.uima.analysis_engine.A
 import org.apache.uima.collection.CollectionReader;
 import org.apache.uima.util.XMLInputSource;
 import org.apache.uima.util.XMLParser;
-import org.cleartk.classifier.DataWriterFactory;
+import org.cleartk.classifier.DataWriter;
 import org.cleartk.classifier.jar.GenericJarClassifierFactory;
+import org.cleartk.classifier.libsvm.LIBSVMStringOutcomeDataWriter;
 import org.cleartk.util.Options_ImplBase;
 import org.kohsuke.args4j.Option;
 import org.uimafit.factory.AggregateBuilder;
@@ -73,8 +73,7 @@ public class RelationExtractorTrain {
   
   public static AnalysisEngineDescription trainModifierExtractor(
 		  File modelsDir,
-		  List<File> trainFiles,
-		  Class<? extends DataWriterFactory<String>> dataWriterFactoryClass) throws Exception {
+		  List<File> trainFiles) throws Exception {
 				  
 	  ModifierExtractorEvaluation evaluation = new ModifierExtractorEvaluation(
 			  modelsDir,
@@ -97,7 +96,7 @@ public class RelationExtractorTrain {
 		  File modelsDir, 
 		  List<File> trainFiles,
 		  Class<? extends RelationExtractorAnnotator> annotatorClass, 
-		  Class<? extends DataWriterFactory<String>> dataWriterFactoryClass,
+		  Class<? extends DataWriter<String>> dataWriterClass,
 		  ParameterSettings params) throws Exception {
 
 	  // define additional configuration parameters for the annotator
@@ -121,7 +120,7 @@ public class RelationExtractorTrain {
 	    RelationExtractorEvaluation evaluation = new RelationExtractorEvaluation(
 	    		modelsDir,
 	    		annotatorClass,
-	    		dataWriterFactoryClass,
+	    		dataWriterClass,
 	    		additionalParameters,
 	    		trainingArguments);
 	    
@@ -162,14 +161,14 @@ public class RelationExtractorTrain {
     ParameterSettings emPairParams = new ParameterSettings(false, 0.5f, "linear", 0.05, 1.0);
 
     // For now all three components use MultiClass SVMs for classification
-    Class<? extends DataWriterFactory<String>> dataWriterFactoryClass = MultiClassLIBSVMDataWriterFactory.class;
+    Class<? extends DataWriter<String>> dataWriterClass = LIBSVMStringOutcomeDataWriter.class;
         
     // Train and write models
-    AnalysisEngineDescription modifierExtractorDesc = trainModifierExtractor(modelsDirModExtractor, trainFiles, dataWriterFactoryClass);
+    AnalysisEngineDescription modifierExtractorDesc = trainModifierExtractor(modelsDirModExtractor, trainFiles);
     writeDesc(options.descDir, "ModifierExtractorAnnotator", modifierExtractorDesc);
-    AnalysisEngineDescription degreeOfRelationExtractorDesc = trainRelationExtractor(modelsDirDegreeOf, trainFiles, DegreeOfRelationExtractorAnnotator.class, dataWriterFactoryClass, degreeOfParams);
+    AnalysisEngineDescription degreeOfRelationExtractorDesc = trainRelationExtractor(modelsDirDegreeOf, trainFiles, DegreeOfRelationExtractorAnnotator.class, dataWriterClass, degreeOfParams);
     writeDesc(options.descDir, "DegreeOfRelationExtractorAnnotator", degreeOfRelationExtractorDesc);
-    AnalysisEngineDescription emPairRelationExtractorDesc = trainRelationExtractor(modelsDirEMPair, trainFiles, EntityMentionPairRelationExtractorAnnotator.class, dataWriterFactoryClass, emPairParams);
+    AnalysisEngineDescription emPairRelationExtractorDesc = trainRelationExtractor(modelsDirEMPair, trainFiles, EntityMentionPairRelationExtractorAnnotator.class, dataWriterClass, emPairParams);
     writeDesc(options.descDir, "EntityMentionPairRelationExtractorAnnotator", emPairRelationExtractorDesc);
 
     // create the aggregate description