Package org.apache.ctakes.utils.tree

Examples of org.apache.ctakes.utils.tree.SimpleTree


//    node.setChildren(1,pt2);
//    return node;
//  }
 
  private static SimpleTree sameTree(TreebankNode t1, TreebankNode t2){
    SimpleTree node = new SimpleTree(t1.getNodeType());
    node.addChild(new SimpleTree("ANTECEDENT"));
    node.children.get(0).addChild(new SimpleTree("antecedent"));
    node.addChild(new SimpleTree("ANAPHOR"));
    node.children.get(1).addChild(new SimpleTree("anaphor"));
    return node;
  }
View Full Code Here


   *
   * It uses the method getSurroundingTree in a somewhat clever way to do the additional annotation
   * on the output string instead of the tree object.
   */
  public static SimpleTree getSurroundingTreeWithAnnotation(TreebankNode node, String string) {
    SimpleTree inner = getSimpleClone(node);
    SimpleTree outer = getSurroundingTree(node);
   
    String innerString = inner.toString();
    String outerString = outer.toString();
   
    String fullString = outerString.replace(innerString, "(" + string + " " + innerString + ")");
    return SimpleTree.fromString(fullString);   
  }
View Full Code Here

    String fullString = outerString.replace(innerString, "(" + string + " " + innerString + ")");
    return SimpleTree.fromString(fullString);   
  }

  public static SimpleTree getSurroundingTree(TreebankNode node){
    SimpleTree tree = null;
    while(node.getParent() != null){
      node = node.getParent();
    }
    tree = getSimpleClone(node);
    return tree;
View Full Code Here

    tree = getSimpleClone(node);
    return tree;
  }

  public static SimpleTree getSimpleClone(TreebankNode node) {
    SimpleTree t = new SimpleTree(node.getNodeType());
    if(node instanceof TerminalTreebankNode){
      t.addChild(new SimpleTree(node.getNodeValue()));
    }else{
      for(int i = 0; i < node.getChildren().size(); i++){
        t.addChild(getSimpleClone(node.getChildren(i)));
      }
    }
    return t;
  }
View Full Code Here

//    SimpleTree tempClone = TreeExtractor.getSimpleClone(root);
//    features.add(new Feature("TK_FULL", tempClone.toString()));
    TreebankNode t1 = AnnotationTreeUtils.insertAnnotationNode(jcas, root, arg1, "ARG1");
    TreebankNode t2 = AnnotationTreeUtils.insertAnnotationNode(jcas, root, arg2, "ARG2");

    SimpleTree tree = null;
    if(t1.getBegin() <= t2.getBegin() && t1.getEnd() >= t2.getEnd()){
      // t1 encloses t2
      tree = TreeExtractor.getSimpleClone(t1);
    }else if(t2.getBegin() <= t1.getBegin() && t2.getEnd() >= t1.getEnd()){
      // t2 encloses t1
      tree = TreeExtractor.getSimpleClone(t2);
    }else{
      tree = TreeExtractor.extractPathEnclosedTree(t1, t2, jcas);
    }

    features.add(new Feature("TK_PET", tree.toString()));
    return features;
  }
View Full Code Here

    TopTreebankNode root = AnnotationTreeUtils.getTreeCopy(jcas, AnnotationTreeUtils.getAnnotationTree(jcas, arg1));
//    SimpleTree tempClone = TreeExtractor.getSimpleClone(root);
    TreebankNode t1 = AnnotationTreeUtils.insertAnnotationNode(jcas, root, arg1, "ARG1");
    TreebankNode t2 = AnnotationTreeUtils.insertAnnotationNode(jcas, root, arg2, "ARG2");

    SimpleTree tree = null;
    if(t1.getBegin() <= t2.getBegin() && t1.getEnd() >= t2.getEnd()){
      // t1 encloses t2
      tree = TreeExtractor.getSimpleClone(t1);
    }else if(t2.getBegin() <= t1.getBegin() && t2.getEnd() >= t1.getEnd()){
      // t2 encloses t1
View Full Code Here

          TreebankNode antecedentNode = MarkableTreeUtils.markableNode(jcas, antecedent.getBegin(), antecedent.getEnd());
          TreebankNode anaphorNode = MarkableTreeUtils.markableNode(jcas, anaphor.getBegin(), anaphor.getEnd());
          debug.println(TreeUtils.tree2str(antecedentNode));
          debug.println(TreeUtils.tree2str(anaphorNode));
//          TopTreebankNode pathTree = TreeExtractor.extractPathTree(antecedentNode, anaphorNode, jcas);
          SimpleTree pathTree = TreeExtractor.extractPathTree(antecedentNode, anaphorNode);
          SimpleTree petTree = TreeExtractor.extractPathEnclosedTree(antecedentNode, anaphorNode, jcas);
//          TopTreebankNode tree = mctTree;
//          String treeStr = TreeUtils.tree2str(tree);
//          String treeStr = mctTree.toString();
          String treeStr = pathTree.toString();
          PrintWriter writer = null;
View Full Code Here

  }

  @Override
  public List<Feature> extract(JCas jcas, Annotation annotation) {
    List<Feature> features = new ArrayList<Feature>();
    SimpleTree tree = extractAboveRightConceptTree(jcas, annotation, sems);
   
    for(SimpleTree frag : frags){
      if(TreeUtils.containsIgnoreCase(tree, frag)){
        features.add(new Feature("TreeFrag_" + prefix, frag.toString()));
      }
View Full Code Here

  }

  @Override
  public List<Feature> extract(JCas jcas, Annotation annotation) {
    List<Feature> features = new ArrayList<Feature>();
    SimpleTree tree = extractAboveLeftConceptTree(jcas, annotation, sems);
   
    for(SimpleTree frag : frags){
      if(TreeUtils.containsIgnoreCase(tree, frag)){
        features.add(new Feature("TreeFrag_" + prefix, frag.toString()));
      }
View Full Code Here

  @Override
  public List<Feature> extract(JCas jcas, IdentifiedAnnotation arg1,
      IdentifiedAnnotation arg2) throws AnalysisEngineProcessException {
    List<Feature> features = new ArrayList<Feature>();
   
    SimpleTree tree = null;
    tree = new SimpleTree("BOP");
    TreebankNode lca = TreeExtractor.getLCA(AnnotationTreeUtils.annotationNode(jcas, arg1),
                        AnnotationTreeUtils.annotationNode(jcas, arg2));
       
    SimpleTree arg1Tree = new SimpleTree("ARG1");
    SimpleTree arg2Tree = new SimpleTree("ARG2");
   
    tree.addChild(arg1Tree);
    List<BaseToken> coveredTokens = JCasUtil.selectCovered(jcas, BaseToken.class, lca);
    for(BaseToken token : coveredTokens){
      // create pre-terminal tree
      SimpleTree tokenTree = new SimpleTree("TOK");
//      tokenTree.addChild(new SimpleTree(token.getCoveredText()));
      tokenTree.addChild(new SimpleTree(token.getPartOfSpeech()));
     
      // do we add this to one of the arg trees or to the root?
      if(token.getEnd() <= arg1.getEnd()){
        arg1Tree.addChild(tokenTree);
      }else if(token.getBegin() >= arg2.getBegin()){
        arg2Tree.addChild(tokenTree);
      }else{
        SimpleTree termTree = new SimpleTree("TERM");
        termTree.addChild(tokenTree);
        tree.addChild(termTree);
      }
    }
    tree.addChild(arg2Tree);
   
View Full Code Here

TOP

Related Classes of org.apache.ctakes.utils.tree.SimpleTree

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.