You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@ctakes.apache.org by sw...@apache.org on 2013/01/31 21:23:37 UTC
svn commit: r1441179 - in /incubator/ctakes/trunk:
ctakes-assertion/src/main/java/org/apache/ctakes/assertion/attributes/subject/
ctakes-assertion/src/main/java/org/apache/ctakes/assertion/eval/
ctakes-assertion/src/main/java/org/apache/ctakes/assertio...
Author: swu
Date: Thu Jan 31 20:23:37 2013
New Revision: 1441179
URL: http://svn.apache.org/viewvc?rev=1441179&view=rev
Log:
cosmetic changes (e.g., fewer printouts) and bug fixes around assertion module
Modified:
incubator/ctakes/trunk/ctakes-assertion/src/main/java/org/apache/ctakes/assertion/attributes/subject/SubjectAttributeClassifier.java
incubator/ctakes/trunk/ctakes-assertion/src/main/java/org/apache/ctakes/assertion/eval/AssertionEvalBasedOnModifier.java
incubator/ctakes/trunk/ctakes-assertion/src/main/java/org/apache/ctakes/assertion/medfacts/AssertionAnalysisEngine.java
incubator/ctakes/trunk/ctakes-assertion/src/main/java/org/apache/ctakes/assertion/medfacts/cleartk/AssertionCleartkAnalysisEngine.java
incubator/ctakes/trunk/ctakes-assertion/src/main/java/org/apache/ctakes/assertion/medfacts/cleartk/ConditionalCleartkAnalysisEngine.java
incubator/ctakes/trunk/ctakes-assertion/src/main/java/org/apache/ctakes/assertion/medfacts/cleartk/GenericCleartkAnalysisEngine.java
incubator/ctakes/trunk/ctakes-assertion/src/main/java/org/apache/ctakes/assertion/medfacts/cleartk/PolarityCleartkAnalysisEngine.java
incubator/ctakes/trunk/ctakes-assertion/src/main/java/org/apache/ctakes/assertion/medfacts/cleartk/SubjectCleartkAnalysisEngine.java
incubator/ctakes/trunk/ctakes-assertion/src/main/java/org/apache/ctakes/assertion/medfacts/cleartk/UncertaintyCleartkAnalysisEngine.java
incubator/ctakes/trunk/ctakes-dependency-parser/src/main/java/org/apache/ctakes/dependency/parser/util/DependencyUtility.java
Modified: incubator/ctakes/trunk/ctakes-assertion/src/main/java/org/apache/ctakes/assertion/attributes/subject/SubjectAttributeClassifier.java
URL: http://svn.apache.org/viewvc/incubator/ctakes/trunk/ctakes-assertion/src/main/java/org/apache/ctakes/assertion/attributes/subject/SubjectAttributeClassifier.java?rev=1441179&r1=1441178&r2=1441179&view=diff
==============================================================================
--- incubator/ctakes/trunk/ctakes-assertion/src/main/java/org/apache/ctakes/assertion/attributes/subject/SubjectAttributeClassifier.java (original)
+++ incubator/ctakes/trunk/ctakes-assertion/src/main/java/org/apache/ctakes/assertion/attributes/subject/SubjectAttributeClassifier.java Thu Jan 31 20:23:37 2013
@@ -28,6 +28,7 @@ import java.util.Collection;
import java.util.HashMap;
import java.util.List;
+import org.apache.ctakes.assertion.eval.AssertionEvalBasedOnModifier;
import org.apache.ctakes.dependency.parser.util.DependencyPath;
import org.apache.ctakes.dependency.parser.util.DependencyUtility;
import org.apache.ctakes.typesystem.type.constants.CONST;
@@ -37,6 +38,7 @@ import org.apache.ctakes.typesystem.type
import org.apache.ctakes.typesystem.type.textsem.Predicate;
import org.apache.ctakes.typesystem.type.textsem.SemanticArgument;
import org.apache.ctakes.typesystem.type.textspan.Sentence;
+import org.apache.log4j.Logger;
import org.apache.uima.jcas.JCas;
import org.apache.uima.jcas.tcas.Annotation;
import org.uimafit.util.JCasUtil;
@@ -64,6 +66,8 @@ public class SubjectAttributeClassifier
public static final String OTHER_DEPTOK = "other_depsrl";
public static final String OTHER_OR = "other_or";
public static ArrayList<String> FeatureIndex = new ArrayList<String>();
+ private static Logger logger = Logger.getLogger(SubjectAttributeClassifier.class);
+
static{
FeatureIndex.add(DONOR_TOKEN);
FeatureIndex.add(DONOR_SRLARG);
@@ -110,8 +114,15 @@ public class SubjectAttributeClassifier
break;
}
}
-// if (sEntity==null)
-// return null;
+
+ // if there is no sentence, then all these features are null!
+ if (sEntity==null) {
+// for ( String feat : FeatureIndex ) {
+// vfeat.put(feat, null);
+// }
+// return vfeat;
+ return null;
+ }
// get any SRL arguments
List<SemanticArgument> args = JCasUtil.selectCovered(jCas, SemanticArgument.class, sEntity);
@@ -198,6 +209,13 @@ public class SubjectAttributeClassifier
public static String classifyWithLogic(HashMap<String, Boolean> vfeat) {
+
+ if (vfeat==null) {
+ // if missing values, use default subject value
+ logger.warn("Subject attribute classifier missing feature values, defaulting to 'patient'");
+ return CONST.ATTR_SUBJECT_PATIENT;
+ }
+
Boolean donor_summary = new Boolean(vfeat.get(DONOR_TOKEN) || vfeat.get(DONOR_DEPPATH) ||
vfeat.get(DONOR_DEPTOK) || vfeat.get(DONOR_SRLARG));
Boolean family_summary = new Boolean( vfeat.get(FAMILY_DEPPATH) ||
@@ -207,7 +225,7 @@ public class SubjectAttributeClassifier
vfeat.put(DONOR_OR, donor_summary);
vfeat.put(FAMILY_OR, family_summary);
vfeat.put(OTHER_OR, other_summary);
-
+
if (vfeat.get(DONOR_OR) && vfeat.get(FAMILY_OR)) {
return CONST.ATTR_SUBJECT_DONOR_FAMILY_MEMBER;
} else if (vfeat.get(DONOR_OR) && !vfeat.get(FAMILY_OR)) {
@@ -219,6 +237,7 @@ public class SubjectAttributeClassifier
} else {
return CONST.ATTR_SUBJECT_PATIENT;
}
+
}
Modified: incubator/ctakes/trunk/ctakes-assertion/src/main/java/org/apache/ctakes/assertion/eval/AssertionEvalBasedOnModifier.java
URL: http://svn.apache.org/viewvc/incubator/ctakes/trunk/ctakes-assertion/src/main/java/org/apache/ctakes/assertion/eval/AssertionEvalBasedOnModifier.java?rev=1441179&r1=1441178&r2=1441179&view=diff
==============================================================================
--- incubator/ctakes/trunk/ctakes-assertion/src/main/java/org/apache/ctakes/assertion/eval/AssertionEvalBasedOnModifier.java (original)
+++ incubator/ctakes/trunk/ctakes-assertion/src/main/java/org/apache/ctakes/assertion/eval/AssertionEvalBasedOnModifier.java Thu Jan 31 20:23:37 2013
@@ -19,6 +19,7 @@
package org.apache.ctakes.assertion.eval;
import java.io.File;
+import java.io.IOException;
import java.lang.reflect.Constructor;
import java.lang.reflect.InvocationTargetException;
import java.net.URI;
@@ -31,6 +32,7 @@ import java.util.Map;
import java.util.TreeMap;
import org.apache.log4j.Logger;
+import org.apache.uima.UIMAException;
import org.apache.uima.analysis_engine.AnalysisEngine;
import org.apache.uima.analysis_engine.AnalysisEngineDescription;
import org.apache.uima.analysis_engine.AnalysisEngineProcessException;
@@ -59,6 +61,7 @@ import org.cleartk.util.Options_ImplBase
import org.kohsuke.args4j.Option;
import org.kohsuke.args4j.spi.BooleanOptionHandler;
import org.mitre.medfacts.uima.ZoneAnnotator;
+import org.apache.ctakes.assertion.medfacts.AssertionAnalysisEngine;
import org.apache.ctakes.assertion.medfacts.cleartk.AssertionCleartkAnalysisEngine;
import org.apache.ctakes.assertion.medfacts.cleartk.AssertionComponents;
import org.apache.ctakes.assertion.medfacts.cleartk.ConditionalCleartkAnalysisEngine;
@@ -164,6 +167,17 @@ public class AssertionEvalBasedOnModifie
required = false)
public Integer crossValidationFolds;
+ @Option(
+ name = "--test-only",
+ usage = "do not train a model, use the one specified in --models-dir",
+ required = false)
+ public boolean testOnly = false;
+
+ @Option(
+ name = "--no-cleartk",
+ usage = "run the version of the assertion module released with cTAKES 2.5",
+ required = false)
+ public boolean noCleartk = false;
}
protected ArrayList<String> annotationTypes;
@@ -181,10 +195,10 @@ public class AssertionEvalBasedOnModifie
//Options options = new Options();
options.parseOptions(args);
- System.err.println("forcing skipping of subject processing!!!");
- options.runSubject = false;
- System.err.println("forcing skipping of generic processing!!!");
- options.runGeneric = false;
+// System.err.println("forcing skipping of subject processing!!!");
+// options.runSubject = false;
+// System.err.println("forcing skipping of generic processing!!!");
+// options.runGeneric = false;
// System.err.println("forcing skipping of polarity processing!!!");
// options.runPolarity = false;
// System.err.println("forcing skipping of uncertainty processing!!!");
@@ -275,16 +289,17 @@ public class AssertionEvalBasedOnModifie
// train on the entire training set and evaluate on the test set
List<File> testFiles = Arrays.asList(options.testDirectory.listFiles());
- CollectionReader trainCollectionReader = evaluation.getCollectionReader(trainFiles);
- evaluation.train(trainCollectionReader, modelsDir);
-
+ if (!options.testOnly) {
+ CollectionReader trainCollectionReader = evaluation.getCollectionReader(trainFiles);
+ evaluation.train(trainCollectionReader, modelsDir);
+ }
CollectionReader testCollectionReader = evaluation.getCollectionReader(testFiles);
Map<String, AnnotationStatistics> stats = evaluation.test(testCollectionReader, modelsDir);
AssertionEvalBasedOnModifier.printScore(stats, modelsDir.getAbsolutePath());
}
- System.out.println("Finished.");
+ System.out.println("Finished assertion module.");
}
@@ -533,93 +548,12 @@ public static void printScore(Map<String
AnalysisEngineDescription assertionAttributeClearerAnnotator = AnalysisEngineFactory.createPrimitiveDescription(ReferenceAnnotationsSystemAssertionClearer.class);
builder.add(assertionAttributeClearerAnnotator);
- AnalysisEngineDescription cuePhraseLookupAnnotator =
- AnalysisEngineFactory.createAnalysisEngineDescription("org/apache/ctakes/dictionary/lookup/AssertionCuePhraseDictionaryLookupAnnotator");
- builder.add(cuePhraseLookupAnnotator);
-
- String generalSectionRegexFileUri =
- "org/mitre/medfacts/zoner/section_regex.xml";
- AnalysisEngineDescription zonerAnnotator =
- AnalysisEngineFactory.createPrimitiveDescription(ZoneAnnotator.class,
- ZoneAnnotator.PARAM_SECTION_REGEX_FILE_URI,
- generalSectionRegexFileUri
- );
- builder.add(zonerAnnotator);
-
- String mayoSectionRegexFileUri =
- "org/mitre/medfacts/uima/mayo_sections.xml";
- AnalysisEngineDescription mayoZonerAnnotator =
- AnalysisEngineFactory.createPrimitiveDescription(ZoneAnnotator.class,
- ZoneAnnotator.PARAM_SECTION_REGEX_FILE_URI,
- mayoSectionRegexFileUri
- );
- builder.add(mayoZonerAnnotator);
-
- if (options.runPolarity)
- {
- AnalysisEngineDescription polarityAnnotator = AnalysisEngineFactory.createPrimitiveDescription(PolarityCleartkAnalysisEngine.class); //, this.additionalParamemters);
- ConfigurationParameterFactory.addConfigurationParameters(
- polarityAnnotator,
- AssertionCleartkAnalysisEngine.PARAM_GOLD_VIEW_NAME,
- AssertionEvalBasedOnModifier.GOLD_VIEW_NAME,
- GenericJarClassifierFactory.PARAM_CLASSIFIER_JAR_PATH,
- new File(new File(directory, "polarity"), "model.jar").getPath()
- );
- builder.add(polarityAnnotator);
- }
-
- if (options.runConditional)
- {
- AnalysisEngineDescription conditionalAnnotator = AnalysisEngineFactory.createPrimitiveDescription(ConditionalCleartkAnalysisEngine.class); //, this.additionalParamemters);
- ConfigurationParameterFactory.addConfigurationParameters(
- conditionalAnnotator,
- AssertionCleartkAnalysisEngine.PARAM_GOLD_VIEW_NAME,
- AssertionEvalBasedOnModifier.GOLD_VIEW_NAME,
- GenericJarClassifierFactory.PARAM_CLASSIFIER_JAR_PATH,
- new File(new File(directory, "conditional"), "model.jar").getPath()
- );
- builder.add(conditionalAnnotator);
- }
-
- if (options.runUncertainty)
- {
- AnalysisEngineDescription uncertaintyAnnotator = AnalysisEngineFactory.createPrimitiveDescription(UncertaintyCleartkAnalysisEngine.class); //, this.additionalParamemters);
- ConfigurationParameterFactory.addConfigurationParameters(
- uncertaintyAnnotator,
- AssertionCleartkAnalysisEngine.PARAM_GOLD_VIEW_NAME,
- AssertionEvalBasedOnModifier.GOLD_VIEW_NAME,
- GenericJarClassifierFactory.PARAM_CLASSIFIER_JAR_PATH,
- new File(new File(directory, "uncertainty"), "model.jar").getPath()
- );
- builder.add(uncertaintyAnnotator);
- }
-
- if (options.runSubject)
- {
- AnalysisEngineDescription subjectAnnotator = AnalysisEngineFactory.createPrimitiveDescription(SubjectCleartkAnalysisEngine.class); //, this.additionalParamemters);
- ConfigurationParameterFactory.addConfigurationParameters(
- subjectAnnotator,
- AssertionCleartkAnalysisEngine.PARAM_GOLD_VIEW_NAME,
- AssertionEvalBasedOnModifier.GOLD_VIEW_NAME,
- GenericJarClassifierFactory.PARAM_CLASSIFIER_JAR_PATH,
- new File(new File(directory, "subject"), "model.jar").getPath()
- );
- builder.add(subjectAnnotator);
- }
-
- if (options.runGeneric)
- {
- AnalysisEngineDescription genericAnnotator = AnalysisEngineFactory.createPrimitiveDescription(GenericCleartkAnalysisEngine.class); //, this.additionalParamemters);
- ConfigurationParameterFactory.addConfigurationParameters(
- genericAnnotator,
- AssertionCleartkAnalysisEngine.PARAM_GOLD_VIEW_NAME,
- AssertionEvalBasedOnModifier.GOLD_VIEW_NAME,
- GenericJarClassifierFactory.PARAM_CLASSIFIER_JAR_PATH,
- new File(new File(directory, "generic"), "model.jar").getPath()
- );
- builder.add(genericAnnotator);
+ if ( options.noCleartk ) {
+ addExternalAttributeAnnotatorsToAggregate(builder);
+ } else {
+ addCleartkAttributeAnnotatorsToAggregate(directory, builder);
}
-
+
if (evaluationOutputDirectory != null)
{
AnalysisEngineDescription xwriter =
@@ -687,14 +621,14 @@ public static void printScore(Map<String
goldEntitiesAndEvents.addAll(goldEntities);
Collection<EventMention> goldEvents = JCasUtil.select(goldView, EventMention.class);
goldEntitiesAndEvents.addAll(goldEvents);
- System.out.format("gold entities: %d%ngold events: %d%n%n", goldEntities.size(), goldEvents.size());
+// System.out.format("gold entities: %d%ngold events: %d%n%n", goldEntities.size(), goldEvents.size());
Collection<IdentifiedAnnotation> systemEntitiesAndEvents = new ArrayList<IdentifiedAnnotation>();
Collection<EntityMention> systemEntities = JCasUtil.select(jCas, EntityMention.class);
systemEntitiesAndEvents.addAll(systemEntities);
Collection<EventMention> systemEvents = JCasUtil.select(jCas, EventMention.class);
systemEntitiesAndEvents.addAll(systemEvents);
- System.out.format("system entities: %d%nsystem events: %d%n%n", systemEntities.size(), systemEvents.size());
+// System.out.format("system entities: %d%nsystem events: %d%n%n", systemEntities.size(), systemEvents.size());
if (options.runPolarity)
{
@@ -736,6 +670,134 @@ public static void printScore(Map<String
return map;
}
+private void addExternalAttributeAnnotatorsToAggregate(AggregateBuilder builder)
+ throws UIMAException, IOException {
+ // RUN ALL THE OLD (non-ClearTK) CLASSIFIERS
+ AnalysisEngineDescription oldAssertionAnnotator = AnalysisEngineFactory.createAnalysisEngineDescription("desc/assertionAnalysisEngine");
+ ConfigurationParameterFactory.addConfigurationParameters(
+ oldAssertionAnnotator,
+ AssertionCleartkAnalysisEngine.PARAM_GOLD_VIEW_NAME,
+ AssertionEvalBasedOnModifier.GOLD_VIEW_NAME
+ );
+ builder.add(oldAssertionAnnotator);
+
+ AnalysisEngineDescription oldConversionAnnotator = AnalysisEngineFactory.createAnalysisEngineDescription("desc/conceptConverterAnalysisEngine");
+ ConfigurationParameterFactory.addConfigurationParameters(
+ oldConversionAnnotator,
+ AssertionCleartkAnalysisEngine.PARAM_GOLD_VIEW_NAME,
+ AssertionEvalBasedOnModifier.GOLD_VIEW_NAME
+ );
+ builder.add(oldConversionAnnotator);
+
+// AnalysisEngineDescription oldSubjectAnnotator = AnalysisEngineFactory.createAnalysisEngineDescription("desc/SubjectAttributeAnalysisEngine");
+// ConfigurationParameterFactory.addConfigurationParameters(
+// oldSubjectAnnotator,
+// AssertionCleartkAnalysisEngine.PARAM_GOLD_VIEW_NAME,
+// AssertionEvalBasedOnModifier.GOLD_VIEW_NAME
+// );
+// builder.add(oldSubjectAnnotator);
+
+ AnalysisEngineDescription oldGenericAnnotator = AnalysisEngineFactory.createAnalysisEngineDescription("desc/GenericAttributeAnalysisEngine");
+ ConfigurationParameterFactory.addConfigurationParameters(
+ oldGenericAnnotator,
+ AssertionCleartkAnalysisEngine.PARAM_GOLD_VIEW_NAME,
+ AssertionEvalBasedOnModifier.GOLD_VIEW_NAME
+ );
+ builder.add(oldGenericAnnotator);
+}
+
+private void addCleartkAttributeAnnotatorsToAggregate(File directory,
+ AggregateBuilder builder) throws UIMAException, IOException,
+ ResourceInitializationException {
+ AnalysisEngineDescription cuePhraseLookupAnnotator =
+ AnalysisEngineFactory.createAnalysisEngineDescription("org/apache/ctakes/dictionary/lookup/AssertionCuePhraseDictionaryLookupAnnotator");
+ builder.add(cuePhraseLookupAnnotator);
+
+ String generalSectionRegexFileUri =
+ "org/mitre/medfacts/zoner/section_regex.xml";
+ AnalysisEngineDescription zonerAnnotator =
+ AnalysisEngineFactory.createPrimitiveDescription(ZoneAnnotator.class,
+ ZoneAnnotator.PARAM_SECTION_REGEX_FILE_URI,
+ generalSectionRegexFileUri
+ );
+ builder.add(zonerAnnotator);
+
+ String mayoSectionRegexFileUri =
+ "org/mitre/medfacts/uima/mayo_sections.xml";
+ AnalysisEngineDescription mayoZonerAnnotator =
+ AnalysisEngineFactory.createPrimitiveDescription(ZoneAnnotator.class,
+ ZoneAnnotator.PARAM_SECTION_REGEX_FILE_URI,
+ mayoSectionRegexFileUri
+ );
+ builder.add(mayoZonerAnnotator);
+
+ // RUN THE CLEARTK CLASSIFIERS
+ if (options.runPolarity)
+ {
+ AnalysisEngineDescription polarityAnnotator = AnalysisEngineFactory.createPrimitiveDescription(PolarityCleartkAnalysisEngine.class); //, this.additionalParamemters);
+ ConfigurationParameterFactory.addConfigurationParameters(
+ polarityAnnotator,
+ AssertionCleartkAnalysisEngine.PARAM_GOLD_VIEW_NAME,
+ AssertionEvalBasedOnModifier.GOLD_VIEW_NAME,
+ GenericJarClassifierFactory.PARAM_CLASSIFIER_JAR_PATH,
+ new File(new File(directory, "polarity"), "model.jar").getPath()
+ );
+ builder.add(polarityAnnotator);
+ }
+
+ if (options.runConditional)
+ {
+ AnalysisEngineDescription conditionalAnnotator = AnalysisEngineFactory.createPrimitiveDescription(ConditionalCleartkAnalysisEngine.class); //, this.additionalParamemters);
+ ConfigurationParameterFactory.addConfigurationParameters(
+ conditionalAnnotator,
+ AssertionCleartkAnalysisEngine.PARAM_GOLD_VIEW_NAME,
+ AssertionEvalBasedOnModifier.GOLD_VIEW_NAME,
+ GenericJarClassifierFactory.PARAM_CLASSIFIER_JAR_PATH,
+ new File(new File(directory, "conditional"), "model.jar").getPath()
+ );
+ builder.add(conditionalAnnotator);
+ }
+
+ if (options.runUncertainty)
+ {
+ AnalysisEngineDescription uncertaintyAnnotator = AnalysisEngineFactory.createPrimitiveDescription(UncertaintyCleartkAnalysisEngine.class); //, this.additionalParamemters);
+ ConfigurationParameterFactory.addConfigurationParameters(
+ uncertaintyAnnotator,
+ AssertionCleartkAnalysisEngine.PARAM_GOLD_VIEW_NAME,
+ AssertionEvalBasedOnModifier.GOLD_VIEW_NAME,
+ GenericJarClassifierFactory.PARAM_CLASSIFIER_JAR_PATH,
+ new File(new File(directory, "uncertainty"), "model.jar").getPath()
+ );
+ builder.add(uncertaintyAnnotator);
+ }
+
+ if (options.runSubject)
+ {
+ AnalysisEngineDescription subjectAnnotator = AnalysisEngineFactory.createPrimitiveDescription(SubjectCleartkAnalysisEngine.class); //, this.additionalParamemters);
+ ConfigurationParameterFactory.addConfigurationParameters(
+ subjectAnnotator,
+ AssertionCleartkAnalysisEngine.PARAM_GOLD_VIEW_NAME,
+ AssertionEvalBasedOnModifier.GOLD_VIEW_NAME,
+ GenericJarClassifierFactory.PARAM_CLASSIFIER_JAR_PATH,
+ new File(new File(directory, "subject"), "model.jar").getPath()
+ );
+ builder.add(subjectAnnotator);
+ }
+
+ if (options.runGeneric)
+ {
+ AnalysisEngineDescription genericAnnotator = AnalysisEngineFactory.createPrimitiveDescription(GenericCleartkAnalysisEngine.class); //, this.additionalParamemters);
+ ConfigurationParameterFactory.addConfigurationParameters(
+ genericAnnotator,
+ AssertionCleartkAnalysisEngine.PARAM_GOLD_VIEW_NAME,
+ AssertionEvalBasedOnModifier.GOLD_VIEW_NAME,
+ GenericJarClassifierFactory.PARAM_CLASSIFIER_JAR_PATH,
+ new File(new File(directory, "generic"), "model.jar").getPath()
+ );
+ builder.add(genericAnnotator);
+ }
+}
+
public static final String GOLD_VIEW_NAME = "GoldView";
/**
Modified: incubator/ctakes/trunk/ctakes-assertion/src/main/java/org/apache/ctakes/assertion/medfacts/AssertionAnalysisEngine.java
URL: http://svn.apache.org/viewvc/incubator/ctakes/trunk/ctakes-assertion/src/main/java/org/apache/ctakes/assertion/medfacts/AssertionAnalysisEngine.java?rev=1441179&r1=1441178&r2=1441179&view=diff
==============================================================================
--- incubator/ctakes/trunk/ctakes-assertion/src/main/java/org/apache/ctakes/assertion/medfacts/AssertionAnalysisEngine.java (original)
+++ incubator/ctakes/trunk/ctakes-assertion/src/main/java/org/apache/ctakes/assertion/medfacts/AssertionAnalysisEngine.java Thu Jan 31 20:23:37 2013
@@ -27,8 +27,9 @@ import java.util.List;
import java.util.Map;
import java.util.Map.Entry;
import java.util.Set;
-import java.util.logging.Logger;
+import org.apache.log4j.Logger;
+import org.apache.log4j.Level;
import org.apache.uima.UimaContext;
import org.apache.uima.analysis_component.JCasAnnotator_ImplBase;
import org.apache.uima.analysis_engine.AnalysisEngineProcessException;
@@ -140,7 +141,7 @@ public class AssertionAnalysisEngine ext
@Override
public void process(JCas jcas) throws AnalysisEngineProcessException
{
- logger.info("(logging statement) AssertionAnalysisEngine.process() BEGIN");
+ logger.debug("(logging statement) AssertionAnalysisEngine.process() BEGIN");
System.out.println("(stdout) AssertionAnalysisEngine.process() BEGIN");
String contents = jcas.getDocumentText();
@@ -205,12 +206,12 @@ public class AssertionAnalysisEngine ext
}
logger
- .info("(logging statement) AssertionAnalysisEngine.process() BEFORE CALLING p.processSingleDocument()");
+ .debug("(logging statement) AssertionAnalysisEngine.process() BEFORE CALLING p.processSingleDocument()");
p.processSingleDocument();
logger
- .info("(logging statement) AssertionAnalysisEngine.process() AFTER CALLING p.processSingleDocument()");
+ .debug("(logging statement) AssertionAnalysisEngine.process() AFTER CALLING p.processSingleDocument()");
Map<Integer, String> assertionTypeMap = p.getAssertionTypeMap();
//logger.info(String.format(" - done processing ..\"."));
@@ -290,7 +291,7 @@ public class AssertionAnalysisEngine ext
{
String message = "current assertion type is null; this is a problem!!";
System.err.println(message);
- logger.severe(message);
+ logger.log(Level.ERROR,message);
// Exception runtimeException = new RuntimeException(message);
// throw new AnalysisEngineProcessException(runtimeException);
@@ -370,8 +371,8 @@ public class AssertionAnalysisEngine ext
String message = String.format(
"unexpected assertion value returned!! \"%s\"",
assertionType);
- logger.severe(message);
- System.err.println(message);
+ logger.log(Level.ERROR,message);
+// System.err.println(message);
Exception runtimeException = new RuntimeException(message);
throw new AnalysisEngineProcessException(runtimeException);
}
@@ -389,7 +390,7 @@ public class AssertionAnalysisEngine ext
b.append(debugOutput);
- logger.info(b.toString());
+ logger.debug(b.toString());
}
Modified: incubator/ctakes/trunk/ctakes-assertion/src/main/java/org/apache/ctakes/assertion/medfacts/cleartk/AssertionCleartkAnalysisEngine.java
URL: http://svn.apache.org/viewvc/incubator/ctakes/trunk/ctakes-assertion/src/main/java/org/apache/ctakes/assertion/medfacts/cleartk/AssertionCleartkAnalysisEngine.java?rev=1441179&r1=1441178&r2=1441179&view=diff
==============================================================================
--- incubator/ctakes/trunk/ctakes-assertion/src/main/java/org/apache/ctakes/assertion/medfacts/cleartk/AssertionCleartkAnalysisEngine.java (original)
+++ incubator/ctakes/trunk/ctakes-assertion/src/main/java/org/apache/ctakes/assertion/medfacts/cleartk/AssertionCleartkAnalysisEngine.java Thu Jan 31 20:23:37 2013
@@ -386,15 +386,15 @@ public abstract class AssertionCleartkAn
return new ArrayList<Feature>();
} else
{
- logger.info("AssertionCleartkAnalysisEngine.extractZoneFeatures() found zones and adding zone features");
+ logger.debug("AssertionCleartkAnalysisEngine.extractZoneFeatures() found zones and adding zone features");
}
ArrayList<Feature> featureList = new ArrayList<Feature>();
for (Zone zone : zoneList)
{
Feature currentFeature = new Feature("zone", zone.getLabel());
- logger.info(String.format("zone: %s", zone.getLabel()));
- logger.info(String.format("zone feature: %s", currentFeature.toString()));
+ logger.debug(String.format("zone: %s", zone.getLabel()));
+ logger.debug(String.format("zone feature: %s", currentFeature.toString()));
featureList.add(currentFeature);
}
Modified: incubator/ctakes/trunk/ctakes-assertion/src/main/java/org/apache/ctakes/assertion/medfacts/cleartk/ConditionalCleartkAnalysisEngine.java
URL: http://svn.apache.org/viewvc/incubator/ctakes/trunk/ctakes-assertion/src/main/java/org/apache/ctakes/assertion/medfacts/cleartk/ConditionalCleartkAnalysisEngine.java?rev=1441179&r1=1441178&r2=1441179&view=diff
==============================================================================
--- incubator/ctakes/trunk/ctakes-assertion/src/main/java/org/apache/ctakes/assertion/medfacts/cleartk/ConditionalCleartkAnalysisEngine.java (original)
+++ incubator/ctakes/trunk/ctakes-assertion/src/main/java/org/apache/ctakes/assertion/medfacts/cleartk/ConditionalCleartkAnalysisEngine.java Thu Jan 31 20:23:37 2013
@@ -31,7 +31,7 @@ public class ConditionalCleartkAnalysisE
@Override
public void initialize(UimaContext context) throws ResourceInitializationException {
super.initialize(context);
- probabilityOfKeepingADefaultExample = 1.0;
+ probabilityOfKeepingADefaultExample = 0.1;
}
@Override
Modified: incubator/ctakes/trunk/ctakes-assertion/src/main/java/org/apache/ctakes/assertion/medfacts/cleartk/GenericCleartkAnalysisEngine.java
URL: http://svn.apache.org/viewvc/incubator/ctakes/trunk/ctakes-assertion/src/main/java/org/apache/ctakes/assertion/medfacts/cleartk/GenericCleartkAnalysisEngine.java?rev=1441179&r1=1441178&r2=1441179&view=diff
==============================================================================
--- incubator/ctakes/trunk/ctakes-assertion/src/main/java/org/apache/ctakes/assertion/medfacts/cleartk/GenericCleartkAnalysisEngine.java (original)
+++ incubator/ctakes/trunk/ctakes-assertion/src/main/java/org/apache/ctakes/assertion/medfacts/cleartk/GenericCleartkAnalysisEngine.java Thu Jan 31 20:23:37 2013
@@ -36,7 +36,7 @@ public class GenericCleartkAnalysisEngin
@Override
public void initialize(UimaContext context) throws ResourceInitializationException {
super.initialize(context);
- probabilityOfKeepingADefaultExample = 1.0;
+ probabilityOfKeepingADefaultExample = 0.1;
// if (this.isTraining() && this.goldViewName == null) {
// throw new IllegalArgumentException(PARAM_GOLD_VIEW_NAME + " must be defined during training");
Modified: incubator/ctakes/trunk/ctakes-assertion/src/main/java/org/apache/ctakes/assertion/medfacts/cleartk/PolarityCleartkAnalysisEngine.java
URL: http://svn.apache.org/viewvc/incubator/ctakes/trunk/ctakes-assertion/src/main/java/org/apache/ctakes/assertion/medfacts/cleartk/PolarityCleartkAnalysisEngine.java?rev=1441179&r1=1441178&r2=1441179&view=diff
==============================================================================
--- incubator/ctakes/trunk/ctakes-assertion/src/main/java/org/apache/ctakes/assertion/medfacts/cleartk/PolarityCleartkAnalysisEngine.java (original)
+++ incubator/ctakes/trunk/ctakes-assertion/src/main/java/org/apache/ctakes/assertion/medfacts/cleartk/PolarityCleartkAnalysisEngine.java Thu Jan 31 20:23:37 2013
@@ -20,10 +20,19 @@ package org.apache.ctakes.assertion.medf
import org.apache.ctakes.typesystem.type.textsem.IdentifiedAnnotation;
import org.cleartk.classifier.Instance;
+import org.apache.uima.UimaContext;
import org.apache.uima.analysis_engine.AnalysisEngineProcessException;
+import org.apache.uima.resource.ResourceInitializationException;
+
public class PolarityCleartkAnalysisEngine extends AssertionCleartkAnalysisEngine {
+ @Override
+ public void initialize(UimaContext context) throws ResourceInitializationException {
+ super.initialize(context);
+ probabilityOfKeepingADefaultExample = 0.1;
+ }
+
public void setClassLabel(IdentifiedAnnotation entityMention, Instance<String> instance) throws AnalysisEngineProcessException {
if (this.isTraining())
{
Modified: incubator/ctakes/trunk/ctakes-assertion/src/main/java/org/apache/ctakes/assertion/medfacts/cleartk/SubjectCleartkAnalysisEngine.java
URL: http://svn.apache.org/viewvc/incubator/ctakes/trunk/ctakes-assertion/src/main/java/org/apache/ctakes/assertion/medfacts/cleartk/SubjectCleartkAnalysisEngine.java?rev=1441179&r1=1441178&r2=1441179&view=diff
==============================================================================
--- incubator/ctakes/trunk/ctakes-assertion/src/main/java/org/apache/ctakes/assertion/medfacts/cleartk/SubjectCleartkAnalysisEngine.java (original)
+++ incubator/ctakes/trunk/ctakes-assertion/src/main/java/org/apache/ctakes/assertion/medfacts/cleartk/SubjectCleartkAnalysisEngine.java Thu Jan 31 20:23:37 2013
@@ -51,7 +51,7 @@ public class SubjectCleartkAnalysisEngin
@Override
public void initialize(UimaContext context) throws ResourceInitializationException {
super.initialize(context);
- probabilityOfKeepingADefaultExample = 1.0;
+ probabilityOfKeepingADefaultExample = 0.1;
if (this.isTraining() && this.goldViewName == null) {
throw new IllegalArgumentException(PARAM_GOLD_VIEW_NAME + " must be defined during training");
Modified: incubator/ctakes/trunk/ctakes-assertion/src/main/java/org/apache/ctakes/assertion/medfacts/cleartk/UncertaintyCleartkAnalysisEngine.java
URL: http://svn.apache.org/viewvc/incubator/ctakes/trunk/ctakes-assertion/src/main/java/org/apache/ctakes/assertion/medfacts/cleartk/UncertaintyCleartkAnalysisEngine.java?rev=1441179&r1=1441178&r2=1441179&view=diff
==============================================================================
--- incubator/ctakes/trunk/ctakes-assertion/src/main/java/org/apache/ctakes/assertion/medfacts/cleartk/UncertaintyCleartkAnalysisEngine.java (original)
+++ incubator/ctakes/trunk/ctakes-assertion/src/main/java/org/apache/ctakes/assertion/medfacts/cleartk/UncertaintyCleartkAnalysisEngine.java Thu Jan 31 20:23:37 2013
@@ -30,7 +30,7 @@ public class UncertaintyCleartkAnalysisE
@Override
public void initialize(UimaContext context) throws ResourceInitializationException {
super.initialize(context);
- probabilityOfKeepingADefaultExample = 1.0;
+ probabilityOfKeepingADefaultExample = 0.1;
}
@Override
Modified: incubator/ctakes/trunk/ctakes-dependency-parser/src/main/java/org/apache/ctakes/dependency/parser/util/DependencyUtility.java
URL: http://svn.apache.org/viewvc/incubator/ctakes/trunk/ctakes-dependency-parser/src/main/java/org/apache/ctakes/dependency/parser/util/DependencyUtility.java?rev=1441179&r1=1441178&r2=1441179&view=diff
==============================================================================
--- incubator/ctakes/trunk/ctakes-dependency-parser/src/main/java/org/apache/ctakes/dependency/parser/util/DependencyUtility.java (original)
+++ incubator/ctakes/trunk/ctakes-dependency-parser/src/main/java/org/apache/ctakes/dependency/parser/util/DependencyUtility.java Thu Jan 31 20:23:37 2013
@@ -50,6 +50,8 @@ public abstract class DependencyUtility
/** Equality expressions to aid in converting between DepNodes and CAS objects */
public static boolean equalCoverage(Annotation annot1,Annotation annot2) {
+ if (annot1==null || annot2==null)
+ return false;
return annot1.getBegin()==annot2.getBegin() &&
annot1.getEnd()==annot2.getEnd() &&
annot1.getCoveredText().equals(annot2.getCoveredText());
@@ -57,6 +59,8 @@ public abstract class DependencyUtility
/** Checks if one annotation subsumes another */
public static boolean doesSubsume(Annotation annot1,Annotation annot2) {
+ if (annot1==null || annot2==null)
+ return false;
return annot1.getBegin()<=annot2.getBegin() &&
annot1.getEnd()>=annot2.getEnd() &&
annot1.getCoveredText().contains(annot2.getCoveredText());
@@ -106,6 +110,9 @@ public abstract class DependencyUtility
/** Returns the first ConllDependencyNode in the CAS w/ same begin and end as the given Annotation **/
public static ConllDependencyNode getNominalHeadNode(JCas jCas, Annotation annot) {
List<ConllDependencyNode> nodes = getDependencyNodes(jCas, annot);
+ if (nodes==null || nodes.size()==0) {
+ return null;
+ }
return getNominalHeadNode( nodes );
}