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/06/19 20:20:51 UTC

svn commit: r1494726 - in /ctakes/trunk/ctakes-assertion/src/main/java/org/apache/ctakes/assertion/medfacts/cleartk: ./ extractors/

Author: tmill
Date: Wed Jun 19 18:20:51 2013
New Revision: 1494726

URL: http://svn.apache.org/r1494726
Log:
Modified tree fragment feature interface, fixed polarity and uncertainty to deal.

Added:
    ctakes/trunk/ctakes-assertion/src/main/java/org/apache/ctakes/assertion/medfacts/cleartk/extractors/AboveLeftFragmentExtractor.java   (with props)
    ctakes/trunk/ctakes-assertion/src/main/java/org/apache/ctakes/assertion/medfacts/cleartk/extractors/AboveRightFragmentExtractor.java   (with props)
Modified:
    ctakes/trunk/ctakes-assertion/src/main/java/org/apache/ctakes/assertion/medfacts/cleartk/PolarityCleartkAnalysisEngine.java
    ctakes/trunk/ctakes-assertion/src/main/java/org/apache/ctakes/assertion/medfacts/cleartk/UncertaintyCleartkAnalysisEngine.java
    ctakes/trunk/ctakes-assertion/src/main/java/org/apache/ctakes/assertion/medfacts/cleartk/extractors/TreeFragmentFeatureExtractor.java

Modified: ctakes/trunk/ctakes-assertion/src/main/java/org/apache/ctakes/assertion/medfacts/cleartk/PolarityCleartkAnalysisEngine.java
URL: http://svn.apache.org/viewvc/ctakes/trunk/ctakes-assertion/src/main/java/org/apache/ctakes/assertion/medfacts/cleartk/PolarityCleartkAnalysisEngine.java?rev=1494726&r1=1494725&r2=1494726&view=diff
==============================================================================
--- ctakes/trunk/ctakes-assertion/src/main/java/org/apache/ctakes/assertion/medfacts/cleartk/PolarityCleartkAnalysisEngine.java (original)
+++ ctakes/trunk/ctakes-assertion/src/main/java/org/apache/ctakes/assertion/medfacts/cleartk/PolarityCleartkAnalysisEngine.java Wed Jun 19 18:20:51 2013
@@ -20,9 +20,10 @@ package org.apache.ctakes.assertion.medf
 
 import java.util.ArrayList;
 
+import org.apache.ctakes.assertion.medfacts.cleartk.extractors.AboveLeftFragmentExtractor;
+import org.apache.ctakes.assertion.medfacts.cleartk.extractors.AboveRightFragmentExtractor;
 import org.apache.ctakes.assertion.medfacts.cleartk.extractors.ContextWordWindowExtractor;
 import org.apache.ctakes.assertion.medfacts.cleartk.extractors.NegationDependencyFeatureExtractor;
-import org.apache.ctakes.assertion.medfacts.cleartk.extractors.TreeFragmentFeatureExtractor;
 import org.apache.ctakes.typesystem.type.textsem.IdentifiedAnnotation;
 import org.apache.uima.UimaContext;
 import org.apache.uima.analysis_engine.AnalysisEngineProcessException;
@@ -43,7 +44,8 @@ public class PolarityCleartkAnalysisEngi
 		}
 		this.entityFeatureExtractors.add(new NegationDependencyFeatureExtractor());
 		this.entityFeatureExtractors.add(new ContextWordWindowExtractor("org/apache/ctakes/assertion/models/polarity.txt"));
-		this.entityFeatureExtractors.add(new TreeFragmentFeatureExtractor("org/apache/ctakes/assertion/models/sharpPolarityFrags.txt"));
+		this.entityFeatureExtractors.add(new AboveLeftFragmentExtractor("AL_Polarity","org/apache/ctakes/assertion/models/sharpPolarityFrags.txt"));
+		this.entityFeatureExtractors.add(new AboveRightFragmentExtractor("AR_Polarity","org/apache/ctakes/assertion/models/sharpArPolarityFrags.txt"));
 	}
 
 	@Override

Modified: ctakes/trunk/ctakes-assertion/src/main/java/org/apache/ctakes/assertion/medfacts/cleartk/UncertaintyCleartkAnalysisEngine.java
URL: http://svn.apache.org/viewvc/ctakes/trunk/ctakes-assertion/src/main/java/org/apache/ctakes/assertion/medfacts/cleartk/UncertaintyCleartkAnalysisEngine.java?rev=1494726&r1=1494725&r2=1494726&view=diff
==============================================================================
--- ctakes/trunk/ctakes-assertion/src/main/java/org/apache/ctakes/assertion/medfacts/cleartk/UncertaintyCleartkAnalysisEngine.java (original)
+++ ctakes/trunk/ctakes-assertion/src/main/java/org/apache/ctakes/assertion/medfacts/cleartk/UncertaintyCleartkAnalysisEngine.java Wed Jun 19 18:20:51 2013
@@ -18,12 +18,16 @@
  */
 package org.apache.ctakes.assertion.medfacts.cleartk;
 
+import java.util.ArrayList;
+
+import org.apache.ctakes.assertion.medfacts.cleartk.extractors.AboveLeftFragmentExtractor;
+import org.apache.ctakes.assertion.medfacts.cleartk.extractors.ContextWordWindowExtractor;
+import org.apache.ctakes.typesystem.type.textsem.IdentifiedAnnotation;
 import org.apache.uima.UimaContext;
 import org.apache.uima.analysis_engine.AnalysisEngineProcessException;
 import org.apache.uima.resource.ResourceInitializationException;
 import org.cleartk.classifier.Instance;
-
-import org.apache.ctakes.typesystem.type.textsem.IdentifiedAnnotation;
+import org.cleartk.classifier.feature.extractor.simple.SimpleFeatureExtractor;
 
 public class UncertaintyCleartkAnalysisEngine extends AssertionCleartkAnalysisEngine {
 
@@ -31,6 +35,11 @@ public class UncertaintyCleartkAnalysisE
 	public void initialize(UimaContext context) throws ResourceInitializationException {
 		super.initialize(context);
 		probabilityOfKeepingADefaultExample = 0.1;
+		if(this.entityFeatureExtractors == null){
+			this.entityFeatureExtractors = new ArrayList<SimpleFeatureExtractor>();
+		}
+		this.entityFeatureExtractors.add(new ContextWordWindowExtractor("org/apache/ctakes/assertion/models/uncertainty.txt"));
+		this.entityFeatureExtractors.add(new AboveLeftFragmentExtractor("ALUncertainty", "org/apache/ctakes/assertion/models/sharpUncertaintyFrags.txt"));
 	}
 	
 	@Override

Added: ctakes/trunk/ctakes-assertion/src/main/java/org/apache/ctakes/assertion/medfacts/cleartk/extractors/AboveLeftFragmentExtractor.java
URL: http://svn.apache.org/viewvc/ctakes/trunk/ctakes-assertion/src/main/java/org/apache/ctakes/assertion/medfacts/cleartk/extractors/AboveLeftFragmentExtractor.java?rev=1494726&view=auto
==============================================================================
--- ctakes/trunk/ctakes-assertion/src/main/java/org/apache/ctakes/assertion/medfacts/cleartk/extractors/AboveLeftFragmentExtractor.java (added)
+++ ctakes/trunk/ctakes-assertion/src/main/java/org/apache/ctakes/assertion/medfacts/cleartk/extractors/AboveLeftFragmentExtractor.java Wed Jun 19 18:20:51 2013
@@ -0,0 +1,36 @@
+package org.apache.ctakes.assertion.medfacts.cleartk.extractors;
+
+import static org.apache.ctakes.assertion.util.AssertionTreeUtils.extractAboveLeftConceptTree;
+
+import java.util.ArrayList;
+import java.util.List;
+
+import org.apache.ctakes.constituency.parser.util.TreeUtils;
+import org.apache.ctakes.utils.tree.SimpleTree;
+import org.apache.uima.jcas.JCas;
+import org.apache.uima.jcas.tcas.Annotation;
+import org.cleartk.classifier.Feature;
+import org.cleartk.util.CleartkInitializationException;
+
+public class AboveLeftFragmentExtractor extends TreeFragmentFeatureExtractor {
+
+  public AboveLeftFragmentExtractor(String prefix, String resourceFilename)
+      throws CleartkInitializationException {
+    super(prefix, resourceFilename);
+  }
+
+  @Override
+  public List<Feature> extract(JCas jcas, Annotation annotation) {
+    List<Feature> features = new ArrayList<Feature>();
+    SimpleTree tree = extractAboveLeftConceptTree(jcas, annotation, sems);
+    
+    for(SimpleTree frag : frags){
+      if(TreeUtils.containsIgnoreCase(tree, frag)){
+        features.add(new Feature("TreeFrag_" + prefix, frag.toString()));
+      }
+    }
+  
+    return features;
+  }
+
+}

Propchange: ctakes/trunk/ctakes-assertion/src/main/java/org/apache/ctakes/assertion/medfacts/cleartk/extractors/AboveLeftFragmentExtractor.java
------------------------------------------------------------------------------
    svn:mime-type = text/plain

Added: ctakes/trunk/ctakes-assertion/src/main/java/org/apache/ctakes/assertion/medfacts/cleartk/extractors/AboveRightFragmentExtractor.java
URL: http://svn.apache.org/viewvc/ctakes/trunk/ctakes-assertion/src/main/java/org/apache/ctakes/assertion/medfacts/cleartk/extractors/AboveRightFragmentExtractor.java?rev=1494726&view=auto
==============================================================================
--- ctakes/trunk/ctakes-assertion/src/main/java/org/apache/ctakes/assertion/medfacts/cleartk/extractors/AboveRightFragmentExtractor.java (added)
+++ ctakes/trunk/ctakes-assertion/src/main/java/org/apache/ctakes/assertion/medfacts/cleartk/extractors/AboveRightFragmentExtractor.java Wed Jun 19 18:20:51 2013
@@ -0,0 +1,35 @@
+package org.apache.ctakes.assertion.medfacts.cleartk.extractors;
+
+import static org.apache.ctakes.assertion.util.AssertionTreeUtils.extractAboveRightConceptTree;
+
+import java.util.ArrayList;
+import java.util.List;
+
+import org.apache.ctakes.constituency.parser.util.TreeUtils;
+import org.apache.ctakes.utils.tree.SimpleTree;
+import org.apache.uima.jcas.JCas;
+import org.apache.uima.jcas.tcas.Annotation;
+import org.cleartk.classifier.Feature;
+import org.cleartk.util.CleartkInitializationException;
+
+public class AboveRightFragmentExtractor extends TreeFragmentFeatureExtractor {
+
+  public AboveRightFragmentExtractor(String prefix, String resourceFilename)
+      throws CleartkInitializationException {
+    super(prefix, resourceFilename);
+  }
+
+  @Override
+  public List<Feature> extract(JCas jcas, Annotation annotation) {
+    List<Feature> features = new ArrayList<Feature>();
+    SimpleTree tree = extractAboveRightConceptTree(jcas, annotation, sems);
+    
+    for(SimpleTree frag : frags){
+      if(TreeUtils.containsIgnoreCase(tree, frag)){
+        features.add(new Feature("TreeFrag_" + prefix, frag.toString()));
+      }
+    }
+  
+    return features;
+  }
+}

Propchange: ctakes/trunk/ctakes-assertion/src/main/java/org/apache/ctakes/assertion/medfacts/cleartk/extractors/AboveRightFragmentExtractor.java
------------------------------------------------------------------------------
    svn:mime-type = text/plain

Modified: ctakes/trunk/ctakes-assertion/src/main/java/org/apache/ctakes/assertion/medfacts/cleartk/extractors/TreeFragmentFeatureExtractor.java
URL: http://svn.apache.org/viewvc/ctakes/trunk/ctakes-assertion/src/main/java/org/apache/ctakes/assertion/medfacts/cleartk/extractors/TreeFragmentFeatureExtractor.java?rev=1494726&r1=1494725&r2=1494726&view=diff
==============================================================================
--- ctakes/trunk/ctakes-assertion/src/main/java/org/apache/ctakes/assertion/medfacts/cleartk/extractors/TreeFragmentFeatureExtractor.java (original)
+++ ctakes/trunk/ctakes-assertion/src/main/java/org/apache/ctakes/assertion/medfacts/cleartk/extractors/TreeFragmentFeatureExtractor.java Wed Jun 19 18:20:51 2013
@@ -45,14 +45,15 @@ import org.cleartk.util.CleartkInitializ
  * Model location is hardcoded as of right now.
  * TODO: Parameterize & unstaticize this so that, e.g., multiple projects could use this feature if necessary.
  */
-public class TreeFragmentFeatureExtractor implements SimpleFeatureExtractor {
+public abstract class TreeFragmentFeatureExtractor implements SimpleFeatureExtractor {
 	public static final String PARAM_OUTPUTDIR = "outputDir";
 	public static final String PARAM_SEMDIR = "semDir";
-	static HashSet<SimpleTree> frags = null;
-	private SemanticClasses sems = null;
+	protected static HashSet<SimpleTree> frags = null;
+	protected SemanticClasses sems = null;
+	protected String prefix = null;
 
-	public TreeFragmentFeatureExtractor(String resourceFilename) throws CleartkInitializationException{
-		if(frags == null) initializeFrags(resourceFilename);
+	public TreeFragmentFeatureExtractor(String prefix, String resourceFilename) throws CleartkInitializationException{
+		initializeFrags(resourceFilename);
 		try{
 			sems = new SemanticClasses(FileLocator.locateFile("org/apache/ctakes/assertion/semantic_classes").getAbsolutePath());
 		}catch(Exception e){
@@ -74,18 +75,5 @@ public class TreeFragmentFeatureExtracto
 	}
 
 	@Override
-	public List<Feature> extract(JCas jcas, Annotation annotation)
-			throws CleartkExtractorException {
-		List<Feature> features = new ArrayList<Feature>();
-		SimpleTree tree = extractAboveLeftConceptTree(jcas, annotation, sems);
-		
-		for(SimpleTree frag : frags){
-			if(TreeUtils.containsIgnoreCase(tree, frag)){
-				features.add(new Feature("TreeFrag", frag.toString()));
-			}
-		}
-	
-		return features;
-	}
-
+	public abstract List<Feature> extract(JCas jcas, Annotation annotation);
 }