Package org.apache.ctakes.typesystem.type.relation

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


          features.addAll(this.dateExtractor.extract(jCas, eventMention)); //add the closest NE type
          features.addAll(this.umlsExtractor.extract(jCas, eventMention)); //add umls features
          //        features.addAll(this.durationExtractor.extract(jCas, eventMention)); //add duration feature
          //        features.addAll(this.disSemExtractor.extract(jCas, eventMention)); //add distributional semantic features
          if (this.isTraining()) {
            TemporalTextRelation relation = dischargeTimeRelationLookup.get(Arrays.asList(eventMention, admissionTime));
            String category = null;
            if (relation != null) {
              category = relation.getCategory();
            } else {
              relation = dischargeTimeRelationLookup.get(Arrays.asList(admissionTime, eventMention));
              if (relation != null) {
                if(relation.getCategory().equals("OVERLAP")){
                  category = relation.getCategory();
                }else if (relation.getCategory().equals("BEFORE")){
                  category = "AFTER";
                }else if (relation.getCategory().equals("AFTER")){
                  category = "BEFORE";
                }
              }
            }
            if(category!=null){
              this.dataWriter.write(new Instance<>(category, features));
            }
          } else {
            String outcome = this.classifier.classify(features);
            if(outcome!=null){
              // add the relation to the CAS
                RelationArgument relArg1 = new RelationArgument(jCas);
                relArg1.setArgument(eventMention);
                relArg1.setRole("Argument");
                relArg1.addToIndexes();
                RelationArgument relArg2 = new RelationArgument(jCas);
                relArg2.setArgument(admissionTime);
                relArg2.setRole("Related_to");
                relArg2.addToIndexes();
                TemporalTextRelation relation = new TemporalTextRelation(jCas);
                relation.setArg1(relArg1);
                relation.setArg2(relArg2);
                relation.setCategory(outcome);
                relation.addToIndexes();
            }else{
              System.out.println("cannot classify "+ eventMention.getCoveredText()+" and " + admissionTime.getCoveredText());
            }
          }
        }
View Full Code Here


    relArg1.addToIndexes();
    RelationArgument relArg2 = new RelationArgument(jCas);
    relArg2.setArgument(arg2);
    relArg2.setRole("Arg2");
    relArg2.addToIndexes();
    TemporalTextRelation relation = new TemporalTextRelation(jCas);
    relation.setArg1(relArg1);
    relation.setArg2(relArg2);
    relation.setCategory(predictedCategory);
    relation.addToIndexes();
  }
View Full Code Here

    relArg1.addToIndexes();
    RelationArgument relArg2 = new RelationArgument(jCas);
    relArg2.setArgument(arg2);
    relArg2.setRole("Arg2");
    relArg2.addToIndexes();
    TemporalTextRelation relation = new TemporalTextRelation(jCas);
    relation.setArg1(relArg1);
    relation.setArg2(relArg2);
    relation.setCategory(predictedCategory);
    relation.addToIndexes();
  }
View Full Code Here

          features.addAll(this.dateExtractor.extract(jCas, eventMention)); //add the closest NE type
          features.addAll(this.umlsExtractor.extract(jCas, eventMention)); //add umls features
          //        features.addAll(this.durationExtractor.extract(jCas, eventMention)); //add duration feature
          //        features.addAll(this.disSemExtractor.extract(jCas, eventMention)); //add distributional semantic features
          if (this.isTraining()) {
            TemporalTextRelation relation = dischargeTimeRelationLookup.get(Arrays.asList(eventMention, dischargeTime));
            String category = null;
            if (relation != null) {
              category = relation.getCategory();
            } else {
              relation = dischargeTimeRelationLookup.get(Arrays.asList(dischargeTime, eventMention));
              if (relation != null) {
                if(relation.getCategory().equals("OVERLAP")){
                  category = relation.getCategory();
                }else if (relation.getCategory().equals("BEFORE")){
                  category = "AFTER";
                }else if (relation.getCategory().equals("AFTER")){
                  category = "BEFORE";
                }
              }
            }
            if(category!=null){
              this.dataWriter.write(new Instance<>(category, features));
            }
          } else {
            String outcome = this.classifier.classify(features);
            if(outcome!=null){
              // add the relation to the CAS
                RelationArgument relArg1 = new RelationArgument(jCas);
                relArg1.setArgument(eventMention);
                relArg1.setRole("Argument");
                relArg1.addToIndexes();
                RelationArgument relArg2 = new RelationArgument(jCas);
                relArg2.setArgument(dischargeTime);
                relArg2.setRole("Related_to");
                relArg2.addToIndexes();
                TemporalTextRelation relation = new TemporalTextRelation(jCas);
                relation.setArg1(relArg1);
                relation.setArg2(relArg2);
                relation.setCategory(outcome);
                relation.addToIndexes();
            }else{
              System.out.println("cannot classify "+ eventMention.getCoveredText()+" and " + dischargeTime.getCoveredText());
            }           
          }
        }
View Full Code Here

   
    for(Element linkEl : dataElem.getChild("TAGS").getChildren("TLINK")){
      Annotation fromEnt = id2entity.get(linkEl.getAttributeValue("fromID"));
      Annotation toEnt = id2entity.get(linkEl.getAttributeValue("toID"));
      String cat = linkEl.getAttributeValue("type");
      TemporalTextRelation link = new TemporalTextRelation(jcas);
      RelationArgument arg1 = new RelationArgument(jcas);
      arg1.setArgument(fromEnt);
      link.setArg1(arg1);
      RelationArgument arg2 = new RelationArgument(jcas);
      arg2.setArgument(toEnt);
      link.setArg2(arg2);
      if(mapThyme){
        throw new UnsupportedOperationException("Mapping to THYME relations is not implemented yet!");
      }else{
        if(beforeSet.contains(cat)){
          link.setCategory("BEFORE");
        }else if(afterSet.contains(cat)){
          link.setCategory("AFTER");
        }else{
          link.setCategory("OVERLAP");
        }
//        link.setCategory(cat);
      }
      link.addToIndexes();
      arg1.addToIndexes();
      arg2.addToIndexes();
    }
  }
View Full Code Here

        if (type.equals("TLINK")) {
          String sourceID = removeSingleChildText(propertiesElem, "Source", id);
          String targetID = removeSingleChildText(propertiesElem, "Target", id);
          String tlinkType = removeSingleChildText(propertiesElem, "Type", id);
          TemporalTextRelation relation = new TemporalTextRelation(jCas);
          addRelation(jCas, relation, sourceID, targetID, tlinkType, idToAnnotation, id);

        } else if (type.equals("ALINK")) {
          String sourceID = removeSingleChildText(propertiesElem, "Source", id);
          String targetID = removeSingleChildText(propertiesElem, "Target", id);
View Full Code Here

        relation.setCategory("manifestation_of"); // fix typo in Knowtator type system
      } else if ("result_of".equals(this.annotation.type)) {
        this.assertTypes(sourceMention, EventMention.class, targetMention, IdentifiedAnnotation.class);
        relation = new ResultOfTextRelation(jCas);
      } else if ("TLINK".equals(this.annotation.type)) {
        relation = new TemporalTextRelation(jCas);
        relation.setCategory(this.type);
      } else if ("ALINK".equals(this.annotation.type)) {
        relation = new AspectualTextRelation(jCas);
        relation.setCategory(this.type);
      } else {
View Full Code Here

        relation.setCategory("manifestation_of"); // fix typo in Knowtator type system
      } else if ("result_of".equals(this.annotation.type)) {
        this.assertTypes(sourceMention, EventMention.class, targetMention, IdentifiedAnnotation.class);
        relation = new ResultOfTextRelation(jCas);
      } else if ("TLINK".equals(this.annotation.type)) {
        relation = new TemporalTextRelation(jCas);
        relation.setCategory(this.type);
      } else if ("ALINK".equals(this.annotation.type)) {
        relation = new AspectualTextRelation(jCas);
        relation.setCategory(this.type);
      } else {
View Full Code Here

TOP

Related Classes of org.apache.ctakes.typesystem.type.relation.TemporalTextRelation

Copyright © 2018 www.massapicom. 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.