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/04/10 21:14:59 UTC
svn commit: r1466634 - in
/ctakes/trunk/ctakes-temporal/src/main/java/org/apache/ctakes/temporal/ae/feature:
EventTimeFlatTreeFeatureExtractor.java TemporalPETExtractor.java
TemporalPathExtractor.java
Author: tmill
Date: Wed Apr 10 19:14:59 2013
New Revision: 1466634
URL: http://svn.apache.org/r1466634
Log:
Tree kernel feature modifications: handle null trees and parameterize Bag of Whatevers.
Modified:
ctakes/trunk/ctakes-temporal/src/main/java/org/apache/ctakes/temporal/ae/feature/EventTimeFlatTreeFeatureExtractor.java
ctakes/trunk/ctakes-temporal/src/main/java/org/apache/ctakes/temporal/ae/feature/TemporalPETExtractor.java
ctakes/trunk/ctakes-temporal/src/main/java/org/apache/ctakes/temporal/ae/feature/TemporalPathExtractor.java
Modified: ctakes/trunk/ctakes-temporal/src/main/java/org/apache/ctakes/temporal/ae/feature/EventTimeFlatTreeFeatureExtractor.java
URL: http://svn.apache.org/viewvc/ctakes/trunk/ctakes-temporal/src/main/java/org/apache/ctakes/temporal/ae/feature/EventTimeFlatTreeFeatureExtractor.java?rev=1466634&r1=1466633&r2=1466634&view=diff
==============================================================================
--- ctakes/trunk/ctakes-temporal/src/main/java/org/apache/ctakes/temporal/ae/feature/EventTimeFlatTreeFeatureExtractor.java (original)
+++ ctakes/trunk/ctakes-temporal/src/main/java/org/apache/ctakes/temporal/ae/feature/EventTimeFlatTreeFeatureExtractor.java Wed Apr 10 19:14:59 2013
@@ -14,6 +14,8 @@ import org.apache.uima.jcas.JCas;
import org.cleartk.classifier.Feature;
import org.uimafit.util.JCasUtil;
+import com.google.common.base.Function;
+
public class EventTimeFlatTreeFeatureExtractor implements RelationFeaturesExtractor{
@@ -29,8 +31,16 @@ public class EventTimeFlatTreeFeatureExt
arg2 = temp;
}
- SimpleTree tree = new SimpleTree("BOP");
+ SimpleTree bopTree = getTree(jcas, arg1, arg2, "BOP", new Function<BaseToken,String>(){public String apply(BaseToken t){ return t.getPartOfSpeech();}});
+// SimpleTree bowTree = getTree(jcas, arg1, arg2, "BOW", new Function<BaseToken,String>(){public String apply(BaseToken t){ return t.getCoveredText();}});
+ feats.add(new Feature("TK_BOP", bopTree.toString()));
+// feats.add(new Feature("TK_BOW", bowTree.toString()));
+ return feats;
+ }
+
+ private static SimpleTree getTree(JCas jcas, IdentifiedAnnotation arg1, IdentifiedAnnotation arg2, String label, Function<BaseToken, String> leafFun){
+ SimpleTree tree = new SimpleTree(label);
SimpleTree arg1Tree = null;
SimpleTree arg2Tree = null;
String eventModality="";
@@ -55,7 +65,7 @@ public class EventTimeFlatTreeFeatureExt
tree.addChild(arg1Tree);
for(BaseToken token : tokens){
SimpleTree tokenTree = new SimpleTree("TOK");
- tokenTree.addChild(new SimpleTree(token.getPartOfSpeech()));
+ tokenTree.addChild(new SimpleTree(leafFun.apply(token)));
if(token.getEnd() <= arg1.getEnd()){
arg1Tree.addChild(tokenTree);
@@ -66,10 +76,7 @@ public class EventTimeFlatTreeFeatureExt
}
}
tree.addChild(arg2Tree);
-
- feats.add(new Feature("TK_BOP", tree.toString()));
- return feats;
+ return tree;
}
-
}
Modified: ctakes/trunk/ctakes-temporal/src/main/java/org/apache/ctakes/temporal/ae/feature/TemporalPETExtractor.java
URL: http://svn.apache.org/viewvc/ctakes/trunk/ctakes-temporal/src/main/java/org/apache/ctakes/temporal/ae/feature/TemporalPETExtractor.java?rev=1466634&r1=1466633&r2=1466634&view=diff
==============================================================================
--- ctakes/trunk/ctakes-temporal/src/main/java/org/apache/ctakes/temporal/ae/feature/TemporalPETExtractor.java (original)
+++ ctakes/trunk/ctakes-temporal/src/main/java/org/apache/ctakes/temporal/ae/feature/TemporalPETExtractor.java Wed Apr 10 19:14:59 2013
@@ -26,6 +26,12 @@ public class TemporalPETExtractor implem
// first get the root and print it out...
TopTreebankNode root = AnnotationTreeUtils.getTreeCopy(jcas, AnnotationTreeUtils.getAnnotationTree(jcas, arg1));
+ if(root == null){
+ SimpleTree fakeTree = new SimpleTree("(S (NN null))");
+ features.add(new Feature("TK_PET", fakeTree.toString()));
+ return features;
+ }
+
// swap the order if necessary:
if(arg2.getBegin() <= arg1.getBegin() && arg2.getEnd() <= arg1.getEnd()){
IdentifiedAnnotation temp = arg1;
Modified: ctakes/trunk/ctakes-temporal/src/main/java/org/apache/ctakes/temporal/ae/feature/TemporalPathExtractor.java
URL: http://svn.apache.org/viewvc/ctakes/trunk/ctakes-temporal/src/main/java/org/apache/ctakes/temporal/ae/feature/TemporalPathExtractor.java?rev=1466634&r1=1466633&r2=1466634&view=diff
==============================================================================
--- ctakes/trunk/ctakes-temporal/src/main/java/org/apache/ctakes/temporal/ae/feature/TemporalPathExtractor.java (original)
+++ ctakes/trunk/ctakes-temporal/src/main/java/org/apache/ctakes/temporal/ae/feature/TemporalPathExtractor.java Wed Apr 10 19:14:59 2013
@@ -24,6 +24,11 @@ public class TemporalPathExtractor imple
List<Feature> features = new ArrayList<Feature>();
// first get the root and print it out...
TopTreebankNode root = AnnotationTreeUtils.getTreeCopy(jcas, AnnotationTreeUtils.getAnnotationTree(jcas, arg1));
+ if(root == null){
+ SimpleTree fakeTree = new SimpleTree("(S (NN null))");
+ features.add(new Feature("TK_PATH", fakeTree.toString()));
+ return features;
+ }
// swap the order if necessary:
if(arg2.getBegin() <= arg1.getBegin() && arg2.getEnd() <= arg1.getEnd()){
IdentifiedAnnotation temp = arg1;