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/05/13 13:24:39 UTC
svn commit: r1481791 - in
/ctakes/trunk/ctakes-temporal/src/main/java/org/apache/ctakes/temporal/ae/feature/treekernel:
EventTimeFlatTreeFeatureExtractor.java TemporalFTExtractor.java
TemporalPETExtractor.java TemporalPathExtractor.java
Author: tmill
Date: Mon May 13 11:24:39 2013
New Revision: 1481791
URL: http://svn.apache.org/r1481791
Log:
Made tree kernel features general to all possible pair combinations of events and times.
Modified:
ctakes/trunk/ctakes-temporal/src/main/java/org/apache/ctakes/temporal/ae/feature/treekernel/EventTimeFlatTreeFeatureExtractor.java
ctakes/trunk/ctakes-temporal/src/main/java/org/apache/ctakes/temporal/ae/feature/treekernel/TemporalFTExtractor.java
ctakes/trunk/ctakes-temporal/src/main/java/org/apache/ctakes/temporal/ae/feature/treekernel/TemporalPETExtractor.java
ctakes/trunk/ctakes-temporal/src/main/java/org/apache/ctakes/temporal/ae/feature/treekernel/TemporalPathExtractor.java
Modified: ctakes/trunk/ctakes-temporal/src/main/java/org/apache/ctakes/temporal/ae/feature/treekernel/EventTimeFlatTreeFeatureExtractor.java
URL: http://svn.apache.org/viewvc/ctakes/trunk/ctakes-temporal/src/main/java/org/apache/ctakes/temporal/ae/feature/treekernel/EventTimeFlatTreeFeatureExtractor.java?rev=1481791&r1=1481790&r2=1481791&view=diff
==============================================================================
--- ctakes/trunk/ctakes-temporal/src/main/java/org/apache/ctakes/temporal/ae/feature/treekernel/EventTimeFlatTreeFeatureExtractor.java (original)
+++ ctakes/trunk/ctakes-temporal/src/main/java/org/apache/ctakes/temporal/ae/feature/treekernel/EventTimeFlatTreeFeatureExtractor.java Mon May 13 11:24:39 2013
@@ -34,33 +34,43 @@ public class EventTimeFlatTreeFeatureExt
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()));
+ feats.add(new Feature("TK_BOP_Tree", bopTree.toString()));
+ feats.add(new Feature("TK_BOW_Tree", bowTree.toString()));
return feats;
}
- private static SimpleTree getTree(JCas jcas, IdentifiedAnnotation arg1, IdentifiedAnnotation arg2, String label, Function<BaseToken, String> leafFun){
+ private static SimpleTree getTree(JCas jcas, IdentifiedAnnotation arg1, IdentifiedAnnotation arg2, String label, Function<BaseToken, String> leafFun) throws AnalysisEngineProcessException{
SimpleTree tree = new SimpleTree(label);
SimpleTree arg1Tree = null;
SimpleTree arg2Tree = null;
String eventModality="";
- String timeClass;
+ String timeClass="";
// make sure we have the right classes
if(arg1 instanceof EventMention){
eventModality = ((EventMention)arg1).getEvent().getProperties().getContextualModality();
- timeClass = ((TimeMention)arg2).getTimeClass();
-
arg1Tree = new SimpleTree("EVENT-"+eventModality);
- arg2Tree = new SimpleTree("TIMEX-"+timeClass);
- }else{
- eventModality = ((EventMention)arg2).getEvent().getProperties().getContextualModality();
+ }else if(arg1 instanceof TimeMention){
timeClass = ((TimeMention)arg1).getTimeClass();
-
arg1Tree = new SimpleTree("TIMEX-"+timeClass);
- arg2Tree = new SimpleTree("EVENT-"+eventModality);
+ }else{
+ throw new AnalysisEngineProcessException("Argument type not recognized (arg1) -- must be EventMention or TimeMention", null);
}
+ if(arg2 instanceof EventMention){
+ EventMention mention = (EventMention) arg2;
+ if(mention.getEvent() == null || mention.getEvent().getProperties() == null){
+ System.err.println("Something is null here!");
+ }
+ eventModality = ((EventMention)arg2).getEvent().getProperties().getContextualModality();
+ arg2Tree = new SimpleTree("EVENT-"+eventModality);
+ }else if(arg2 instanceof TimeMention){
+ timeClass = ((TimeMention)arg2).getTimeClass();
+ arg2Tree = new SimpleTree("TIMEX-"+timeClass);
+ }else{
+ throw new AnalysisEngineProcessException("Argument type not recognized (arg2) -- must be EventMention or TimeMention", null);
+ }
+
List<BaseToken> tokens = JCasUtil.selectCovered(jcas, BaseToken.class, arg1.getBegin(), arg2.getEnd());
tree.addChild(arg1Tree);
for(BaseToken token : tokens){
@@ -78,5 +88,4 @@ public class EventTimeFlatTreeFeatureExt
tree.addChild(arg2Tree);
return tree;
}
-
}
Modified: ctakes/trunk/ctakes-temporal/src/main/java/org/apache/ctakes/temporal/ae/feature/treekernel/TemporalFTExtractor.java
URL: http://svn.apache.org/viewvc/ctakes/trunk/ctakes-temporal/src/main/java/org/apache/ctakes/temporal/ae/feature/treekernel/TemporalFTExtractor.java?rev=1481791&r1=1481790&r2=1481791&view=diff
==============================================================================
--- ctakes/trunk/ctakes-temporal/src/main/java/org/apache/ctakes/temporal/ae/feature/treekernel/TemporalFTExtractor.java (original)
+++ ctakes/trunk/ctakes-temporal/src/main/java/org/apache/ctakes/temporal/ae/feature/treekernel/TemporalFTExtractor.java Mon May 13 11:24:39 2013
@@ -40,22 +40,24 @@ public class TemporalFTExtractor impleme
arg2 = temp;
}
- String a1type, a2type;
+ String a1type="", a2type="";
String eventModality="";
String timeClass;
if(arg1 instanceof EventMention){
eventModality = ((EventMention)arg1).getEvent().getProperties().getContextualModality();
- timeClass = ((TimeMention)arg2).getTimeClass();
-
a1type = "EVENT-"+eventModality;
- a2type = "TIMEX-"+timeClass;
- }else{
- eventModality = ((EventMention)arg2).getEvent().getProperties().getContextualModality();
+ }else if(arg1 instanceof TimeMention){
timeClass = ((TimeMention)arg1).getTimeClass();
-
a1type = "TIMEX-"+timeClass;
- a2type = "EVENT-"+eventModality;
+ }
+
+ if(arg2 instanceof EventMention){
+ eventModality = ((EventMention)arg2).getEvent().getProperties().getContextualModality();
+ a2type = "EVENT-"+eventModality;
+ }else if(arg2 instanceof TimeMention){
+ timeClass = ((TimeMention)arg2).getTimeClass();
+ a2type = "TIMEX-"+timeClass;
}
TreebankNode t1 = AnnotationTreeUtils.insertAnnotationNode(jcas, root, arg1, "ARG1-"+a1type);
Modified: ctakes/trunk/ctakes-temporal/src/main/java/org/apache/ctakes/temporal/ae/feature/treekernel/TemporalPETExtractor.java
URL: http://svn.apache.org/viewvc/ctakes/trunk/ctakes-temporal/src/main/java/org/apache/ctakes/temporal/ae/feature/treekernel/TemporalPETExtractor.java?rev=1481791&r1=1481790&r2=1481791&view=diff
==============================================================================
--- ctakes/trunk/ctakes-temporal/src/main/java/org/apache/ctakes/temporal/ae/feature/treekernel/TemporalPETExtractor.java (original)
+++ ctakes/trunk/ctakes-temporal/src/main/java/org/apache/ctakes/temporal/ae/feature/treekernel/TemporalPETExtractor.java Mon May 13 11:24:39 2013
@@ -39,22 +39,24 @@ public class TemporalPETExtractor implem
arg2 = temp;
}
- String a1type, a2type;
+ String a1type="", a2type="";
String eventModality="";
String timeClass;
if(arg1 instanceof EventMention){
eventModality = ((EventMention)arg1).getEvent().getProperties().getContextualModality();
- timeClass = ((TimeMention)arg2).getTimeClass();
-
a1type = "EVENT-"+eventModality;
- a2type = "TIMEX-"+timeClass;
- }else{
- eventModality = ((EventMention)arg2).getEvent().getProperties().getContextualModality();
- timeClass = ((TimeMention)arg1).getTimeClass();
-
+ }else if(arg1 instanceof TimeMention){
+ timeClass = ((TimeMention)arg1).getTimeClass();
a1type = "TIMEX-"+timeClass;
- a2type = "EVENT-"+eventModality;
+ }
+
+ if(arg2 instanceof EventMention){
+ eventModality = ((EventMention)arg2).getEvent().getProperties().getContextualModality();
+ a2type = "EVENT-"+eventModality;
+ }else if(arg2 instanceof TimeMention){
+ timeClass = ((TimeMention)arg2).getTimeClass();
+ a2type = "TIMEX-"+timeClass;
}
TreebankNode t1 = AnnotationTreeUtils.insertAnnotationNode(jcas, root, arg1, "ARG1-"+a1type);
Modified: ctakes/trunk/ctakes-temporal/src/main/java/org/apache/ctakes/temporal/ae/feature/treekernel/TemporalPathExtractor.java
URL: http://svn.apache.org/viewvc/ctakes/trunk/ctakes-temporal/src/main/java/org/apache/ctakes/temporal/ae/feature/treekernel/TemporalPathExtractor.java?rev=1481791&r1=1481790&r2=1481791&view=diff
==============================================================================
--- ctakes/trunk/ctakes-temporal/src/main/java/org/apache/ctakes/temporal/ae/feature/treekernel/TemporalPathExtractor.java (original)
+++ ctakes/trunk/ctakes-temporal/src/main/java/org/apache/ctakes/temporal/ae/feature/treekernel/TemporalPathExtractor.java Mon May 13 11:24:39 2013
@@ -36,20 +36,24 @@ public class TemporalPathExtractor imple
arg2 = temp;
}
- String a1type, a2type;
+ String a1type="", a2type="";
String eventModality="";
- String timeClass;
+ String timeClass="";
if(arg1 instanceof EventMention){
eventModality = ((EventMention)arg1).getEvent().getProperties().getContextualModality();
- timeClass = ((TimeMention)arg2).getTimeClass();
a1type = "EVENT-"+eventModality;
- a2type = "TIMEX-"+timeClass;
- }else{
- eventModality = ((EventMention)arg2).getEvent().getProperties().getContextualModality();
+ }else if(arg1 instanceof TimeMention){
timeClass = ((TimeMention)arg1).getTimeClass();
a1type = "TIMEX-"+timeClass;
- a2type = "EVENT"+eventModality;
+ }
+
+ if(arg2 instanceof EventMention){
+ eventModality = ((EventMention)arg2).getEvent().getProperties().getContextualModality();
+ a2type = "EVENT"+eventModality;
+ }else if(arg2 instanceof TimeMention){
+ timeClass = ((TimeMention)arg2).getTimeClass();
+ a2type = "TIMEX-"+timeClass;
}
TreebankNode t1 = AnnotationTreeUtils.insertAnnotationNode(jcas, root, arg1, "ARG1-"+a1type);