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

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


                  sentEnd   = sentStart;
                  for (String aline : lines) {
                      sentEnd += aline.split("\t")[1].length()+1;
                  }
                  if ( !inputFormat.contains("tok") ) {
                      depNodes.add( new ConllDependencyNode(jCas,sentStart,sentEnd));
                      depNodes.get(depNodes.size()-1).setId(0);
                      depNodes.get(depNodes.size()-1).addToIndexes(jCas);
                  }

                  /** Create tokens */
                  if ( inputFormat.contains("tok") ) {
                      for (String aline : lines) {                   
                          String[] tokens = aline.split("\t");
                          wordEnd = wordStart + tokens[1].length();
                          BaseToken btoken = new BaseToken(jCas,wordStart,wordEnd);
                          btoken.setTokenNumber(wordNumber++);
                          btoken.addToIndexes();
                          documentText.append(tokens[1] + " ");
                          wordStart = wordEnd+1;
                      }
                  } else if ( inputFormat.contains("min") ) {
                      for (String aline : lines) {                   
                          String[] tokens = aline.split("\t");
                          wordEnd = wordStart + tokens[1].length();
                          if (trainingMode)
                            depNodes.add( new ConllDependencyNode(jCas,wordStart,wordEnd) );
                          BaseToken btoken = new BaseToken(jCas,wordStart,wordEnd);
                          btoken.setTokenNumber(wordNumber++);
                          btoken.addToIndexes();
                          documentText.append(tokens[1] + " ");
                          wordStart = wordEnd+1;
                      }
                  } else if ( inputFormat.contains("mpos")) {
                      for (String aline : lines) {                   
                          String[] tokens = aline.split("\t");
                          wordEnd = wordStart + tokens[1].length();
                          if (trainingMode)
                            depNodes.add( new ConllDependencyNode(jCas,wordStart,wordEnd) );
                          BaseToken btoken = new BaseToken(jCas,wordStart,wordEnd);
                          btoken.setTokenNumber(wordNumber++);
                          btoken.setPartOfSpeech(tokens[2]);
                          btoken.addToIndexes();
                          documentText.append(tokens[1] + " ");
                          wordStart = wordEnd+1;
                      }
                  } else if ( inputFormat.contains("mlem")) {
                      for (String aline : lines) {                   
                          String[] tokens = aline.split("\t");
                          wordEnd = wordStart + tokens[1].length();
                          if (trainingMode)
                            depNodes.add( new ConllDependencyNode(jCas,wordStart,wordEnd) );
                          BaseToken btoken = new BaseToken(jCas,wordStart,wordEnd);
                          btoken.setTokenNumber(wordNumber++);
                          btoken.setNormalizedForm(tokens[2]);
                          btoken.addToIndexes();
                          documentText.append(tokens[1] + " ");
                          wordStart = wordEnd+1;
                      }
                  } else if ( inputFormat.contains("dep")) {
                      for (String aline : lines) {                   
                          String[] tokens = aline.split("\t");
                          wordEnd = wordStart + tokens[1].length();
                          if (trainingMode)
                            depNodes.add( new ConllDependencyNode(jCas,wordStart,wordEnd) );
                          BaseToken btoken = new BaseToken(jCas,wordStart,wordEnd);
                          btoken.setTokenNumber(wordNumber++);
                          btoken.setNormalizedForm(tokens[2]);
                          btoken.setPartOfSpeech(tokens[3]);
                          btoken.addToIndexes();
                          documentText.append(tokens[1] + " ");
                          wordStart = wordEnd+1;
                      }
                  } else { // CONLL format assumed
                      if (!inputFormat.contains("conll")) { System.err.println("Warning: Assuming CONLL-x input format"); }
                      for (String aline : lines) {                   
                          String[] tokens = aline.split("\t");
                          wordEnd = wordStart + tokens[1].length();
                          if (trainingMode)
                            depNodes.add( new ConllDependencyNode(jCas,wordStart,wordEnd) );
                          BaseToken btoken = new BaseToken(jCas,wordStart,wordEnd);
                          btoken.setTokenNumber(wordNumber++);
                          btoken.setNormalizedForm(tokens[2]);
                          btoken.setPartOfSpeech(tokens[4]);
                          btoken.addToIndexes();
View Full Code Here


            while (sentences.hasNext()) {
                Sentence sentence = (Sentence) sentences.next();


                ConllDependencyNode node = null;
                FSIterator nodeIterator = nodeIndex.subiterator(sentence);
                while (nodeIterator.hasNext()) {
//                    int pID = (node==null)? 0 : node.getID();
                    node = (ConllDependencyNode) nodeIterator.next();
                   
                    if (node.getId()!=0 ) { // && node.getID() !=pID) {

                        if (iv_outputFormat.toLowerCase().contains("min")) {
                            bw.write(node.getId()+"\t");
                            bw.write(node.getForm()+"\t");
                            bw.write( (node.getHead()==null ? "_" : node.getHead().getId()) + "\t");
                            bw.write(node.getDeprel()+"\n");
                        } else if (iv_outputFormat.toLowerCase().contains("mpos")) {
                            bw.write(node.getId()+"\t");
                            bw.write(node.getForm()+"\t");
                            bw.write(node.getPostag()+"\t");
                            bw.write( (node.getHead()==null ? "_" : node.getHead().getId()) + "\t");
                            bw.write(node.getDeprel()+"\n");
                        } else if (iv_outputFormat.toLowerCase().contains("mlem")) {
                            bw.write(node.getId()+"\t");
                            bw.write(node.getForm()+"\t");
                            bw.write(node.getLemma()+"\t");
                            bw.write( (node.getHead()==null ? "_" : node.getHead().getId()) + "\t");
                            bw.write(node.getDeprel()+"\n");
                        } else if (iv_outputFormat.toLowerCase().contains("dep")) {
                            bw.write(node.getId()+"\t");
                            bw.write(node.getForm()+"\t");
                            bw.write(node.getLemma()+"\t");
                            bw.write(node.getPostag()+"\t");
                            bw.write( (node.getHead()==null ? "_" : node.getHead().getId()) + "\t");
                            bw.write(node.getDeprel()+"\n");
                        } else { //if (iv_outputFormat.toLowerCase().contains("conll")) {
                            bw.write(node.getId()+"\t");
                            bw.write(node.getForm()+"\t");
                            bw.write(node.getLemma()+"\t");
                            bw.write(node.getCpostag()+"\t");
                            bw.write(node.getPostag()+"\t");
                            bw.write(node.getFeats()+"\t");
                            bw.write( (node.getHead()==null ? "_" : node.getHead().getId()) + "\t");
                            bw.write(node.getDeprel()+"\t");
                            bw.write( (node.getPhead()==null ? "_" : node.getPhead().getId()) + "\t");
                            bw.write(node.getPdeprel()+"\n");
                        }
                    }
                   
                }
                bw.write("\n");
View Full Code Here

  public static ConllDependencyNode getDependencyNode(JCas jCas, Annotation annot) {

    AnnotationIndex nodeIndex = jCas.getAnnotationIndex(ConllDependencyNode.type);
      FSIterator nodeIterator = nodeIndex.iterator();
      while (nodeIterator.hasNext()) {
          ConllDependencyNode node = (ConllDependencyNode) nodeIterator.next();
          if (equalCoverage(annot,node)) {
            return node;
          }
      }
      return null;
View Full Code Here

  public static List<ConllDependencyNode> getDependencyNodes(JCas jCas, Annotation annot) {
    ArrayList<ConllDependencyNode> output = new ArrayList<ConllDependencyNode>();
    AnnotationIndex nodeIndex = jCas.getAnnotationIndex(ConllDependencyNode.type);
      FSIterator nodeIterator = nodeIndex.iterator();
      while (nodeIterator.hasNext()) {
          ConllDependencyNode node = (ConllDependencyNode) nodeIterator.next();
          if (doesSubsume(annot,node)) {
            output.add(node);
          }
      }
      return output;
View Full Code Here

    pathLtoR.clear();
    boolean foundMatch = false;
    for (int i=0; i<pathUp1.size(); i++ ) {
     
      // Assemble the part of the path from node1 to common ancestor
      ConllDependencyNode nodeUp1 = pathUp1.get(i);
      pathLtoR.add(nodeUp1);

      // Check each node above node2 for a match
      pathRtoL.clear();
      for (int j=0; j<pathUp2.size(); j++ ) {
        ConllDependencyNode nodeUp2 = pathUp2.get(j);       
        if (DependencyUtility.equalCoverage(nodeUp1, nodeUp2)) {
          // word-rel<word-rel<commonparent>rel-word>rel-word
          pathLtoR.setCommonNode(nodeUp1);
         
          // add the two halves of the path together
View Full Code Here

    return pathUp1;
  }

  public static List<ConllDependencyNode> getRightSibs( ConllDependencyNode refNode, List<ConllDependencyNode> tree ) {
   
    ConllDependencyNode parent = refNode.getHead();
    List<ConllDependencyNode> out = new ArrayList<ConllDependencyNode>();
   
    for ( ConllDependencyNode node : tree.subList( tree.indexOf(refNode)+1, tree.size() ) ) {
      if ( node.getHead().equals(parent) ) {
        out.add(node);
View Full Code Here

    return out;
  }
 
  public static List<ConllDependencyNode> getLeftSibs( ConllDependencyNode refNode, List<ConllDependencyNode> tree ) {
   
    ConllDependencyNode parent = refNode.getHead();
    List<ConllDependencyNode> out = new ArrayList<ConllDependencyNode>();
   
    List<ConllDependencyNode> lSide = tree.subList(0,tree.indexOf(refNode));
    for ( int i=tree.indexOf(refNode)-1; i>=0; i-- ) {
      ConllDependencyNode node = lSide.get(i);
      if ( node.getHead().equals(parent) ) {
        out.add(node);
      }
    }
    return out;
  }
View Full Code Here

      if ( node.equals(refNode) ) {
        out.add(node);
      } else {
       
        // Anything with refNode on its path to root is progeny.  Requires acyclicity
        ConllDependencyNode upNode = node;
        while (upNode.getHead()!=null) {
          upNode = upNode.getHead();
          if (upNode.equals(refNode)) {
            out.add(node);
            break;
          }
        }
       
View Full Code Here

      if ( refNodes.contains(node) ) {
        out.add(node);
      } else {
       
        // Anything with refNode on its path to root is progeny.  Requires acyclicity
        ConllDependencyNode upNode = node;
        while (upNode.getHead()!=null) {
          upNode = upNode.getHead();
         
          if (refNodes.contains(upNode)) {
            out.add(node);
            break;
          }
View Full Code Here


  public static String dumpDependencyGraph(Annotation annotation) {
    StringBuilder builder = new StringBuilder();
    for (ConllDependencyNode depNode : JCasUtil.selectCovered(ConllDependencyNode.class, annotation)) {
      ConllDependencyNode head = depNode.getHead();
      String headStr = (head != null) ? head.getCoveredText() : "TOP";
      builder.append(String.format("%s(%s, %s)\n", depNode.getDeprel(), depNode.getCoveredText(), headStr));
    }
    return builder.toString();
  }
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.