Examples of RelationArgument


Examples of org.apache.ctakes.typesystem.type.relation.RelationArgument

      for(BinaryTextRelation relation : Lists.newArrayList(JCasUtil.select(goldView, BinaryTextRelation.class))) {
        if(! relation.getCategory().equals("CONTAINS")) {
          continue;
        }
       
        RelationArgument arg1 = relation.getArg1();                                                                            
        RelationArgument arg2 = relation.getArg2();
        String event1Text;
        String event2Text;
        if(arg1.getArgument() instanceof EventMention && arg2.getArgument() instanceof EventMention) {
          event1Text = Utils.normalizeEventText(jCas, arg1.getArgument());
          event2Text = Utils.normalizeEventText(jCas, arg2.getArgument());
        } else {
          // this is not an event-event relation
          continue;
        }

        if(textToDistribution.containsKey(event1Text) && textToDistribution.containsKey(event2Text)) {
          // there is duration information for both arguments
          float event1ExpectedDuration = Utils.expectedDuration(textToDistribution.get(event1Text));
          float event2ExpectedDuration = Utils.expectedDuration(textToDistribution.get(event2Text));
          String context = Utils.getTextBetweenAnnotations(goldView, arg1.getArgument(), arg2.getArgument());
          String out = String.format("%s|%.5f|%s|%.5f|%s\n",
              event1Text, event1ExpectedDuration * 3650,
              event2Text, event2ExpectedDuration * 3650,
              context.length() < 80 ? context : "...");
          try {
View Full Code Here

Examples of org.apache.ctakes.typesystem.type.relation.RelationArgument

     //      final Attribute tlinkAttribute = tlinkType.getAsAttribute();
     ////      if ( entityB instanceof Timex ) {
     ////         System.out.println( "TRTA2 " + entityA.getSpannedText() + " " + tlinkType.getValue() + " " + entityB.getSpannedText() + " " + timeRelationType );
     ////      }
     //      return new DefaultRelation( entityA, entityB, tlinkClass, "Closure", tlinkAttribute );
     RelationArgument arg1 = new RelationArgument(jCas);
     arg1.setArgument(entityA);
     RelationArgument arg2 = new RelationArgument(jCas);
     arg2.setArgument(entityB);
     BinaryTextRelation relation = new BinaryTextRelation(jCas);
     relation.setArg1(arg1);
     relation.setArg2(arg2);
     relation.setCategory(tlinkType.name().replace( "_", "-" ));//check if this is correct
     return relation;
View Full Code Here

Examples of org.apache.ctakes.typesystem.type.relation.RelationArgument

      throw new AnalysisEngineProcessException(e);                                                                          
    }                                                                                                                                                                                                                                        
   
    // remove relations where one or both arguments have no duration data
    for(BinaryTextRelation relation : Lists.newArrayList(JCasUtil.select(goldView, BinaryTextRelation.class))) {           
      RelationArgument arg1 = relation.getArg1();                                                                            
      RelationArgument arg2 = relation.getArg2();
     
      String eventText;
      String timeText;
      if(arg1.getArgument() instanceof TimeMention && arg2.getArgument() instanceof EventMention) {
        timeText = arg1.getArgument().getCoveredText().toLowerCase();
        eventText = Utils.normalizeEventText(jCas, arg2.getArgument());
      } else if(arg1.getArgument() instanceof EventMention && arg2.getArgument() instanceof TimeMention) {
        eventText = Utils.normalizeEventText(jCas, arg1.getArgument());
        timeText = arg2.getArgument().getCoveredText().toLowerCase()
      } else {
        // this is not a event-time relation
        continue;
      }   

      HashSet<String> timeUnits = Utils.getTimeUnits(timeText);
      if(textToDistribution.containsKey(eventText) && timeUnits.size() > 0) {
        // there is duration information and we are able to get time units, so keep this
        continue;
      }
     
      arg1.removeFromIndexes();                                                                                           
      arg2.removeFromIndexes();                                                                                           
      relation.removeFromIndexes();
    }
   
    // remove events (that didn't participate in relations) that have no data
    for(EventMention mention : Lists.newArrayList(JCasUtil.select(goldView, EventMention.class))) {
View Full Code Here

Examples of org.apache.ctakes.typesystem.type.relation.RelationArgument

    } catch (CASException e) {
      throw new AnalysisEngineProcessException(e);
    }
   
    for(BinaryTextRelation relation : Lists.newArrayList(JCasUtil.select(goldView, BinaryTextRelation.class))) {           
      RelationArgument arg1 = relation.getArg1();                                                                            
      RelationArgument arg2 = relation.getArg2();

      String event2Text;
      String event1Text;
      if(arg1.getArgument() instanceof EventMention && arg2.getArgument() instanceof EventMention) {
        event1Text = arg1.getArgument().getCoveredText().toLowerCase();
        event2Text = arg2.getArgument().getCoveredText().toLowerCase();
      } else {
        // this is not an event-event relation
        continue;
      }
     
      List<EventMention> coveringSystemEventMentions1 = JCasUtil.selectCovered(
          systemView,
          EventMention.class,
          arg1.getArgument().getBegin(),
          arg1.getArgument().getEnd());

      List<EventMention> coveringSystemEventMentions2 = JCasUtil.selectCovered(
          systemView,
          EventMention.class,
          arg2.getArgument().getBegin(),
          arg2.getArgument().getEnd());
     
      if(coveringSystemEventMentions1.size() > 0 && coveringSystemEventMentions2.size() > 0) {
        // keep this relation instance
        System.out.println("keeping: " + event1Text + "-" + event2Text);
        continue;
      }
     
      System.out.println("removing: " + event1Text + "-" + event2Text);
      arg1.removeFromIndexes();                                                                                           
      arg2.removeFromIndexes();                                                                                           
      relation.removeFromIndexes();
    }
   
    for(EventMention mention : Lists.newArrayList(JCasUtil.select(goldView, EventMention.class))) {
      List<EventMention> coveringSystemEventMentions = JCasUtil.selectCovered(
View Full Code Here

Examples of org.apache.ctakes.typesystem.type.relation.RelationArgument

      for(BinaryTextRelation relation : Lists.newArrayList(JCasUtil.select(goldView, BinaryTextRelation.class))) {
        if(! relation.getCategory().equals("CONTAINS")) {
          continue;
        }

        RelationArgument arg1 = relation.getArg1();                                                                            
        RelationArgument arg2 = relation.getArg2();
        String eventText;
        String timeText;
        if(arg1.getArgument() instanceof TimeMention && arg2.getArgument() instanceof EventMention) {
          timeText = arg1.getArgument().getCoveredText().toLowerCase();
          eventText = arg2.getArgument().getCoveredText().toLowerCase()
        } else if(arg1.getArgument() instanceof EventMention && arg2.getArgument() instanceof TimeMention) {
          eventText = arg1.getArgument().getCoveredText().toLowerCase();
          timeText = arg2.getArgument().getCoveredText().toLowerCase()
        } else {
          continue; // not an event-time relation
        }   

        // occasionally event text has a leading eol character
View Full Code Here

Examples of org.apache.ctakes.typesystem.type.relation.RelationArgument

    } catch (CASException e) {
      throw new AnalysisEngineProcessException(e);
    }

    for(BinaryTextRelation relation : Lists.newArrayList(JCasUtil.select(goldView, BinaryTextRelation.class))) {           
      RelationArgument arg1 = relation.getArg1();                                                                            
      RelationArgument arg2 = relation.getArg2();

      String eventText;
      String timeText;
      List<EventMention> coveringSystemEventMentions;
      if(arg1.getArgument() instanceof TimeMention && arg2.getArgument() instanceof EventMention) {
        timeText = arg1.getArgument().getCoveredText().toLowerCase();
        eventText = arg2.getArgument().getCoveredText().toLowerCase();
        coveringSystemEventMentions = JCasUtil.selectCovered(
            systemView,
            EventMention.class,
            arg2.getArgument().getBegin(),
            arg2.getArgument().getEnd());
      } else if(arg1.getArgument() instanceof EventMention && arg2.getArgument() instanceof TimeMention) {
        eventText = arg1.getArgument().getCoveredText().toLowerCase();
        timeText = arg2.getArgument().getCoveredText().toLowerCase();
        coveringSystemEventMentions = JCasUtil.selectCovered(
            systemView,
            EventMention.class,
            arg1.getArgument().getBegin(),
            arg1.getArgument().getEnd());
      } else {
        // this is not a event-time relation
        continue;
      }   

      if(coveringSystemEventMentions.size() > 0) {
        // keep this instance
        System.out.println("keeping: " + timeText + "-" + eventText);
        continue;
      }

      System.out.println("removing: "+ timeText + "-" + eventText);
      arg1.removeFromIndexes();                                                                                           
      arg2.removeFromIndexes();                                                                                           
      relation.removeFromIndexes();
    }

    // remove events (that didn't participate in relations) not discovered by dictionary lookup
    for(EventMention mention : Lists.newArrayList(JCasUtil.select(goldView, EventMention.class))) {
View Full Code Here

Examples of org.apache.ctakes.typesystem.type.relation.RelationArgument

      }

      // add new, transitive relations
      for (Annotation contained : isContainedIn.keySet()) {
        for (Annotation container : isContainedIn.get(contained)) {
          RelationArgument arg1 = new RelationArgument(jCas);
          arg1.setArgument(container);
          RelationArgument arg2 = new RelationArgument(jCas);
          arg2.setArgument(contained);
          BinaryTextRelation relation = new BinaryTextRelation(jCas);
          relation.setArg1(arg1);
          relation.setArg2(arg2);
          relation.setCategory("CONTAINS");
          arg1.addToIndexes();
          arg2.addToIndexes();
          relation.addToIndexes();
        }
      }
    }
View Full Code Here

Examples of org.apache.ctakes.typesystem.type.relation.RelationArgument

          containsRelations.add(relation);
        }
      }

      for (BinaryTextRelation relation : containsRelations) {
        RelationArgument arg1 = (RelationArgument) relation.getArg1().clone();
        RelationArgument arg2 = (RelationArgument) relation.getArg2().clone();
        BinaryTextRelation newrelation = new BinaryTextRelation(jCas);
        newrelation.setArg1(arg1);
        newrelation.setArg2(arg2);
        newrelation.setCategory("OVERLAP");
        arg1.addToIndexes();
        arg2.addToIndexes();
        newrelation.addToIndexes();
      }
    }
View Full Code Here

Examples of org.apache.ctakes.typesystem.type.relation.RelationArgument

        Annotation argA = orelation.getArg1().getArgument();
        Annotation argB = orelation.getArg2().getArgument();
        //add overlap
        if (!overlaps.containsEntry(argB, argA)) {
          //create a new flipped relation:
          RelationArgument arg1 = new RelationArgument(jCas);
          arg1.setArgument(argB);
          RelationArgument arg2 = new RelationArgument(jCas);
          arg2.setArgument(argA);
          BinaryTextRelation relation = new BinaryTextRelation(jCas);
          relation.setArg1(arg1);
          relation.setArg2(arg2);
          relation.setCategory("OVERLAP");
          arg1.addToIndexes();
          arg2.addToIndexes();
          relation.addToIndexes();
          overlaps.put(argB, argA);
        }

      }
View Full Code Here

Examples of org.apache.ctakes.typesystem.type.relation.RelationArgument

      if (!temporalRelation.isEmpty()){
        TLinkTypeArray2 relationArray = new TLinkTypeArray2(temporalRelation, new AnnotationIdCollection(temporalRelation));

        int addedCount = 0;
        for (BinaryTextRelation relation : relationArray.getClosedTlinks(jCas)) {
          RelationArgument arg1 = relation.getArg1();
          RelationArgument arg2 = relation.getArg2();
          String relationType = relation.getCategory();
          if(relationType.equals("CONTAINED-BY")||relationType.equals("AFTER")){//ignore these two categories, because their reciprocal already exist.
            continue;
          }
          //check if the inferred relation new:
          Collection<BinaryTextRelation> relations = annotationsToRelation.get(Arrays.asList(arg1.getArgument(), arg2.getArgument()));
          if(relations.isEmpty()){ //if haven't seen this inferred relation before, then add this relation
            arg1.addToIndexes();
            arg2.addToIndexes();
            relation.addToIndexes();
            addedCount++;
          }   
        }
View Full Code Here
TOP
Copyright © 2018 www.massapi.com. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.