Package org.apache.ctakes.typesystem.type.syntax

Examples of org.apache.ctakes.typesystem.type.syntax.ConllDependencyNode


  }

  public static LinkedList<ConllDependencyNode> getPathToSentenceHead(ConllDependencyNode node) {

    LinkedList<ConllDependencyNode> path = new LinkedList<ConllDependencyNode>();
    ConllDependencyNode currNode = node;
    while (currNode.getHead() != null) {
      path.add(currNode);
      currNode = currNode.getHead();
    }

    return path;
  }
View Full Code Here


    Collection<ConllDependencyNode> timeDNodeList = dependencyCoveringMap.get(time);
   
    //2 get dependency relationship
    if (timeDNodeList != null && !timeDNodeList.isEmpty() && eventDNodeList != null && !eventDNodeList.isEmpty()){
      for(ConllDependencyNode timeNode : timeDNodeList) {
        ConllDependencyNode headOfTime = timeNode.getHead();
        for (ConllDependencyNode eventNode : eventDNodeList) {
          if ( timeNode.getPostag() != null && eventNode.getPostag() != null){//make sure the covering nodes are not root sentences
            while( headOfTime != null ){
              if (headOfTime.equals(eventNode)) {
                Feature indicator = new Feature("DependentTo", "DependentTo");
                feats.add(indicator);
                return feats;
//              }else if (headOfTime.getHead() == null){//if one of the node is dependent to the root sentence
//                Feature indicator = new Feature("OpenDependentTo", "OpenDependentTo");
//                feats.add(indicator);
//                return feats;
              }
              headOfTime = headOfTime.getHead();
            }
          }
        }
      }
View Full Code Here

    List<Feature> features = new ArrayList<Feature>();
    String dtreeStr ="(TOP (EVENT " + focusAnnotation.getCoveredText().trim() + "))";
    //find the colldepnode covered by focusAnnotation:
    for(ConllDependencyNode node : JCasUtil.selectCovered(view, ConllDependencyNode.class, focusAnnotation)){
      //find if it has head:
      ConllDependencyNode head = node.getHead();
      SimpleTree curTree = null;
      SimpleTree headTree = null;
     
      if(head == null) { //if the current node is the root, then not right
        continue;
      }

//      curTree = SimpleTree.fromString(String.format("(%s %s)", node.getDeprel(), SimpleTree.escapeCat(node.getCoveredText().trim())));
      curTree = SimpleTree.fromString(String.format("(%s %s)", node.getDeprel(), node.getPostag()));



      while(head.getHead() != null){ //while head node is not the root
//              String token = node.getHead().getHead() == null ? "TOP" : node.getHead().getCoveredText();
//        headTree = SimpleTree.fromString(String.format("(%s %s)", head.getDeprel(), SimpleTree.escapeCat(head.getCoveredText().trim())));
        headTree = SimpleTree.fromString(String.format("(%s %s)", head.getDeprel(), head.getPostag()));
        curTree.parent = headTree.children.get(0);
        headTree.children.get(0).addChild(curTree);
        curTree = headTree;
        head = head.getHead();
      }
      if(headTree==null){
        curTree = SimpleTree.fromString(String.format("(%s (%s %s))",node.getDeprel(), node.getPostag(),"null"));
        dtreeStr = curTree.toString();
      }else{
View Full Code Here

      }
     
      // now look for dependency relations:
      List<ConllDependencyNode> coveredNodes = JCasUtil.selectCovered(jcas, ConllDependencyNode.class, lastWord);
      if(coveredNodes.size() > 0){
        ConllDependencyNode curNode = coveredNodes.get(0);
        ConllDependencyNode predNode = null;
        if(pred != null){
          List<ConllDependencyNode> predNodes = JCasUtil.selectCovered(jcas, ConllDependencyNode.class, pred);
          if(predNodes.size() > 0){
            predNode = predNodes.get(0);
          }
View Full Code Here

        // ignore newline tokens within a sentence - newline = whitespace = non-token
        if(!(token instanceof NewlineToken)) {
          // Determine HeadId
          List<ConllDependencyNode> casDepNodes = JCasUtil.selectCovered(jCas, ConllDependencyNode.class, token);
         
          ConllDependencyNode casDepNode = casDepNodes.get(0);
          if(casDepNode.getId() == 0) casDepNode = casDepNodes.get(1);
 
          deprels[i] = casDepNode.getDeprel();
          ConllDependencyNode head = casDepNode.getHead();
 
          // If there is no head, this is the head node, set node to 0
          headIDs[i] = (head == null) ? 0 : depNodeToID.get(head);
 
          // Populate Dependency Node / Tree information
View Full Code Here

    }else{
      return feats;
    }
   
    List<ConllDependencyNode> nodes = DependencyUtility.getDependencyNodes(jcas, sent);
    ConllDependencyNode headNode = DependencyUtility.getNominalHeadNode(jcas, focusAnnotation);
    try {
      boolean[] regexFeats = conAnal.findNegationContext(nodes, headNode);
      for(int j = 0; j < regexFeats.length; j++){
        if(regexFeats[j]){
          feats.add(new Feature("DepPath_" + conAnal.getRegexName(j))); //"NEG_DEP_REGEX_"+j));
View Full Code Here

   
    // search dependency paths for stuff
    List<ConllDependencyNode> depnodes = JCasUtil.selectCovered(jCas, ConllDependencyNode.class, mention);
    if (!depnodes.isEmpty()) {
      ConllDependencyNode depnode = DependencyUtility.getNominalHeadNode(depnodes);
      for (ConllDependencyNode dn : DependencyUtility.getPathToTop(jCas, depnode)) {
        if ( isDonorTerm(dn) ) {
          vfeat.put(DONOR_DEPPATH, true);
        }
        if ( isFamilyTerm(dn) ) {
View Full Code Here

      }
    }

    List<ConllDependencyNode> coveredNodes = JCasUtil.selectCovered(jCas, ConllDependencyNode.class, annotation);
    if(coveredNodes == null || coveredNodes.size() == 0) return null;
    ConllDependencyNode headNode = DependencyUtility.getNominalHeadNode(coveredNodes);
    SimpleTree localTree = node2tree.get(headNode.getHead().getHead() == null ? headNode : headNode.getHead());
    String realCat = node2tree.get(headNode).cat;
    // have to do this so that we have a placeholder so we can lowercase tokens, then insert the upper-case CONCEPT signifier token later.
    node2tree.get(headNode).cat = "CONCEPT";
    if(annotation instanceof IdentifiedAnnotation){
      node2tree.get(headNode).cat += ((IdentifiedAnnotation)annotation).getTypeID();
    }

//    String treeStr = localTree.toString();
//    treeStr = "(TOP " + treeStr.replaceAll("\\(([^\\(]+) \\)", "($1 nil)").toLowerCase().replace("conceptplaceholder", "CONCEPT") + ")";
//    treeStr = "(TOP " + treeStr.toLowerCase().replace("conceptplaceholder", "CONCEPT") + ")";
//    node2tree.get(headNode).cat = realCat;
//    return localTree;
    SimpleTree returnTree = null;
   
    int steps = 0;
    ConllDependencyNode returnNode = headNode;
    while(steps < upNodes && returnNode.getHead().getHead() != null){
      returnNode = returnNode.getHead();
      steps++;
    }
    returnTree = node2tree.get(returnNode);
   
    return returnTree;
View Full Code Here

        curTree.parent = headTree.children.get(0);
        headTree.children.get(0).addChild(curTree);
      }
    }
   
    ConllDependencyNode highestHead = null;
    // take the set of input annotations and the corresponding labels and insert them into the SimpleTree
    for(int i = 0; i < annotations.length; i++){
      // get the node representing the head of this annotation
      List<ConllDependencyNode> coveredNodes = JCasUtil.selectCovered(jCas, ConllDependencyNode.class, annotations[i]);
      if(coveredNodes == null || coveredNodes.size() == 0) continue;
      ConllDependencyNode headNode = DependencyUtility.getNominalHeadNode(coveredNodes);
     
      // is this the highest node of all the annotations we're looking at?
      if(highestHead == null || (distanceFromRoot(headNode) < distanceFromRoot(highestHead))){
        highestHead = headNode;
      }
View Full Code Here

    }
   
   
    List<ConllDependencyNode> depnodes = JCasUtil.selectCovered(jCas, ConllDependencyNode.class, arg);
    if (!depnodes.isEmpty()) {
      ConllDependencyNode depnode = DependencyUtility.getNominalHeadNode(depnodes);

      // 1) check if the head node of the entity mention is really just part of a larger noun phrase
      if (depnode.getDeprel().matches("(NMOD|amod|nmod|det|predet|nn|poss|possessive|infmod|partmod|rcmod)")) {
        vfeat.put(POSTCOORD_NMOD, true);
      }

      // 4) search dependency paths for discussion context
      for (ConllDependencyNode dn : DependencyUtility.getPathToTop(jCas, depnode)) {
View Full Code Here

TOP

Related Classes of org.apache.ctakes.typesystem.type.syntax.ConllDependencyNode

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.