private static ConllDependencyNode getTopNode(List<ConllDependencyNode> nodes){ ConllDependencyNode topNode = null; for(ConllDependencyNode node : nodes){ if(node.getHead() == null){ topNode = node; break; } } return topNode; }
private static ConllDependencyNode getTopNode(List<ConllDependencyNode> nodes){ ConllDependencyNode topNode = null; for(ConllDependencyNode node : nodes){ if(node.getHead() == null){ topNode = node; break; } } return topNode; }
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; }
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; }
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); } } return out; }
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); } } 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; }
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; }
public static String dumpDependencyRelations(JCas jcas, Annotation annotation) { StringBuilder builder = new StringBuilder(); for (ConllDependencyNode depNode : JCasUtil.selectCovered(jcas, ConllDependencyNode.class, annotation)) { if (depNode.getHead() != null) { builder.append(String.format("%s(%s,%s)\n", depNode.getDeprel(), depNode.getCoveredText(), depNode.getHead().getCoveredText())); } } return builder.toString(); }
public static String dumpDependencyRelations(JCas jcas, Annotation annotation) { StringBuilder builder = new StringBuilder(); for (ConllDependencyNode depNode : JCasUtil.selectCovered(jcas, ConllDependencyNode.class, annotation)) { if (depNode.getHead() != null) { builder.append(String.format("%s(%s,%s)\n", depNode.getDeprel(), depNode.getCoveredText(), depNode.getHead().getCoveredText())); } } return builder.toString(); }
public static DependencyPath getPathToTop(JCas jCas, ConllDependencyNode node1) { DependencyPath pathUp1 = new DependencyPath(); if (node1==null) { System.err.println(" WARNING: looking for path between null nodes."); return null; } pathUp1.add(node1); while (node1.getHead()!=null) { node1 = node1.getHead(); pathUp1.add(node1); } return pathUp1; }
public static DependencyPath getPathToTop(JCas jCas, ConllDependencyNode node1) { DependencyPath pathUp1 = new DependencyPath(); if (node1==null) { System.err.println(" WARNING: looking for path between null nodes."); return null; } pathUp1.add(node1); while (node1.getHead()!=null) { node1 = node1.getHead(); pathUp1.add(node1); } return pathUp1; }
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(); } }
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(); } }
/** * Finds the head word within a given annotation span */ public static ConllDependencyNode findAnnotationHead(JCas jcas, Annotation annotation) { for (ConllDependencyNode depNode : JCasUtil.selectCovered(jcas, ConllDependencyNode.class, annotation)) { ConllDependencyNode head = depNode.getHead(); if (head == null || head.getEnd() <= annotation.getBegin() || head.getBegin() > annotation.getEnd()) { // The head is outside the bounds of the annotation, so this node must be the annotation's head return depNode; } } // Can this happen? return null; }
/** * Finds the head word within a given annotation span */ public static ConllDependencyNode findAnnotationHead(JCas jcas, Annotation annotation) { for (ConllDependencyNode depNode : JCasUtil.selectCovered(jcas, ConllDependencyNode.class, annotation)) { ConllDependencyNode head = depNode.getHead(); if (head == null || head.getEnd() <= annotation.getBegin() || head.getBegin() > annotation.getEnd()) { // The head is outside the bounds of the annotation, so this node must be the annotation's head return depNode; } } // Can this happen? return null; }