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/05 23:35:58 UTC
svn commit: r1490038 -
/ctakes/trunk/ctakes-temporal/src/main/java/org/apache/ctakes/temporal/ae/feature/EventArgumentPropertyExtractor.java
Author: tmill
Date: Wed Jun 5 21:35:57 2013
New Revision: 1490038
URL: http://svn.apache.org/r1490038
Log:
Completed method for event argument extraction.
Modified:
ctakes/trunk/ctakes-temporal/src/main/java/org/apache/ctakes/temporal/ae/feature/EventArgumentPropertyExtractor.java
Modified: ctakes/trunk/ctakes-temporal/src/main/java/org/apache/ctakes/temporal/ae/feature/EventArgumentPropertyExtractor.java
URL: http://svn.apache.org/viewvc/ctakes/trunk/ctakes-temporal/src/main/java/org/apache/ctakes/temporal/ae/feature/EventArgumentPropertyExtractor.java?rev=1490038&r1=1490037&r2=1490038&view=diff
==============================================================================
--- ctakes/trunk/ctakes-temporal/src/main/java/org/apache/ctakes/temporal/ae/feature/EventArgumentPropertyExtractor.java (original)
+++ ctakes/trunk/ctakes-temporal/src/main/java/org/apache/ctakes/temporal/ae/feature/EventArgumentPropertyExtractor.java Wed Jun 5 21:35:57 2013
@@ -7,9 +7,11 @@ import java.util.List;
import org.apache.ctakes.relationextractor.ae.features.RelationFeaturesExtractor;
import org.apache.ctakes.typesystem.type.textsem.EventMention;
import org.apache.ctakes.typesystem.type.textsem.IdentifiedAnnotation;
+import org.apache.ctakes.typesystem.type.textspan.Sentence;
import org.apache.uima.analysis_engine.AnalysisEngineProcessException;
import org.apache.uima.jcas.JCas;
import org.cleartk.classifier.Feature;
+import org.uimafit.util.JCasUtil;
public class EventArgumentPropertyExtractor implements
RelationFeaturesExtractor {
@@ -19,6 +21,24 @@ public class EventArgumentPropertyExtrac
IdentifiedAnnotation arg2) throws AnalysisEngineProcessException {
List<Feature> feats = new ArrayList<Feature>();
+ Sentence coveringSent = JCasUtil.selectCovering(jCas, Sentence.class, arg1.getBegin(), arg1.getEnd()).get(0);
+ List<EventMention> events = JCasUtil.selectCovered(EventMention.class, coveringSent);
+ List<EventMention> realEvents = new ArrayList<EventMention>();
+ for(EventMention event : events){
+ // filter out ctakes events
+ if(event.getClass().equals(EventMention.class)){
+ realEvents.add(event);
+ }
+ }
+ events = realEvents;
+ EventMention anchor = events.get(0);
+
+ if(arg1.getBegin() == anchor.getBegin() && arg1.getEnd() == anchor.getEnd()){
+ feats.add(new Feature("Arg1LeftmostEvent"));
+ }else if(arg2.getBegin() == anchor.getBegin() && arg2.getEnd() == anchor.getEnd()){
+ feats.add(new Feature("Arg2LeftmostEvent"));
+ }
+
if(arg1 instanceof EventMention){
feats.addAll(getEventFeats("mention1property", (EventMention)arg1));
}