if (grel == null) { if (grelString.toLowerCase().equals("root")) { tdep = new TypedDependency(ROOT, dependencyRoot, tgWords.get(i)); } else { throw new RuntimeException("Unknown grammatical relation '" + parentId = -1; tdep = new TypedDependency(grel, (parentId == -1 ? dependencyRoot : tgWords.get(parentId)), tgWords.get(i));
TypedDependency tdep = new TypedDependency(grel, nodeWords.get(parentIdx), nodeWords.get(childIdx)); tdeps.add(tdep);
/** Returns a list of TypedDependency in the graph. * This method goes through all SemanticGraphEdge and converts them * to TypedDependency. * * @return A List of TypedDependency in the graph */ public Collection<TypedDependency> typedDependencies() { Collection<TypedDependency> dependencies = new ArrayList<>(); IndexedWord root = null; for (IndexedWord node : roots) { if (root == null) { root = new IndexedWord(node.docID(), node.sentIndex(), 0); root.setValue("ROOT"); } TypedDependency dependency = new TypedDependency(ROOT, root, node); dependencies.add(dependency); } for (SemanticGraphEdge e : this.edgeIterable()){ TypedDependency dependency = new TypedDependency(e.getRelation(), e.getGovernor(), e.getDependent()); if (e.isExtra()) { dependency.setExtra(); } dependencies.add(dependency); } return dependencies; }
IndexedWord basicGov = basicGovReln.first(); GrammaticalRelation basicReln = basicGovReln.second(); basicDep = new TypedDependency(basicReln, basicGov, word); word.set(CoreAnnotations.LineNumberAnnotation.class, lineNumberCounter); basicDeps.add(basicDep); IndexedWord gov = govReln.first(); GrammaticalRelation reln = govReln.second(); TypedDependency dep = new TypedDependency(reln, gov, word); enhancedDeps.add(dep);
/** Look through the tree t and adds to the List basicDep * additional dependencies which aren't * in the List but which satisfy the filter puncTypedDepFilter. * * @param deps The list of dependencies which may be augmented * @param completeGraph a graph of all the tree dependencies found earlier * @param puncTypedDepFilter The filter that may skip punctuation dependencies * @param extraTreeDepFilter Additional dependencies are added only if they pass this filter */ protected void getTreeDeps(List<TypedDependency> deps, DirectedMultiGraph<TreeGraphNode, GrammaticalRelation> completeGraph, Predicate<TypedDependency> puncTypedDepFilter, Predicate<TypedDependency> extraTreeDepFilter) { for (TreeGraphNode gov : completeGraph.getAllVertices()) { for (TreeGraphNode dep : completeGraph.getChildren(gov)) { for (GrammaticalRelation rel : removeGrammaticalRelationAncestors(completeGraph.getEdges(gov, dep))) { TypedDependency newDep = new TypedDependency(rel, new IndexedWord(gov.headWordNode().label()), new IndexedWord(dep.headWordNode().label())); if (!deps.contains(newDep) && puncTypedDepFilter.test(newDep) && extraTreeDepFilter.test(newDep)) { newDep.setExtra(); deps.add(newDep); } } } } }
: makeGrammaticalRelation(label); dependencies.add(new TypedDependency(relation, headWord, thisWord));
log.info("Adding new " + newRel + " dependency from " + newGov + " to " + dep + " (subj/obj case)"); newTypedDeps.add(new TypedDependency(newRel, newGov, dep)); log.info("Adding new " + newRel + " dependency from " + newGov + " to " + dep); newTypedDeps.add(new TypedDependency(newRel, newGov, dep)); log.info("Adding new " + relation + " dependency from " + dep + " to " + tdsubj.dep() + " (subj propagation case)"); newTypedDeps.add(new TypedDependency(relation, dep, tdsubj.dep()));
TypedDependency newDep = new TypedDependency(NOMINAL_SUBJECT, modifier, object); newDeps.add(newDep); TypedDependency newDep = new TypedDependency(NOMINAL_SUBJECT, modifier, subject); newDeps.add(newDep);
td1Dep.value()); TypedDependency td3 = new TypedDependency(td3reln, td1.gov(), td2.dep());
td1Dep.value()); TypedDependency td3 = new TypedDependency(td3reln, td1.gov(), td2.dep());
newDep = new TypedDependency(REFERENT, head, leftGrandchild.dep()); } else if (leftChild != null) { newDep = new TypedDependency(REFERENT, head, leftChild.dep());
newTypedDeps.add(new TypedDependency(gr, governor, pobj.dep())); newTypedDeps.add(new TypedDependency(gr, governor, pobj.dep()));
newDeps = Generics.newArrayList(); TypedDependency newDep = new TypedDependency(PREPOSITIONAL_OBJECT, prep.dep(), head); newDeps.add(newDep);
newtd = new TypedDependency(gr, governor, pobj.dep()); newtd = new TypedDependency(gr, governor, pobj.dep());
GrammaticalRelation reln = getGrammaticalRelationCommonAncestor(gov.headWordNode().label(), gov.label(), dep.headWordNode().label(), dep.label(), basicGraph.getEdges(gov, dep)); basicDep.add(new TypedDependency(reln, new IndexedWord(gov.headWordNode().label()), new IndexedWord(dep.headWordNode().label()))); TypedDependency rootTypedDep = new TypedDependency(ROOT, new IndexedWord(dependencyRoot.label()), new IndexedWord(rootDep.label())); if (puncTypedDepFilter.test(rootTypedDep)) { basicDep.add(rootTypedDep);
newtd = new TypedDependency(gr, governor, pobj.dep()); newtd = new TypedDependency(gr, governor, pobj.dep()); newtd = new TypedDependency(gr, governor, pobj.dep()); newtd = new TypedDependency(gr, governor, pobj.dep());
TypedDependency tdNew = new TypedDependency(reln, td1.gov(), prepDep.first().dep()); newTypedDeps.add(tdNew); if (DEBUG) { TypedDependency tdNew2 = new TypedDependency(conjValue(ccDep.dep().value()), prepDep.first().dep(), prepOtherDep.dep()); newTypedDeps.add(tdNew2); if (DEBUG) { trip.setSecond(new TypedDependency(prepDep.first().reln(), trip.first().dep(), prepDep.first().dep())); trip.setThird(prepDep.second()); TypedDependency tdNew = new TypedDependency(reln, td1.gov(), prepDep.first().dep()); newTypedDeps.add(tdNew); if (DEBUG) { TypedDependency tdNew2 = new TypedDependency(conjValue(ccDep.dep().value()), td1.gov(), label); newTypedDeps.add(tdNew2); tdNew3 = new TypedDependency(reln2, label, prepOtherDep.dep()); newTypedDeps.add(tdNew3); TypedDependency td3 = new TypedDependency(reln, td1.gov(), td2.dep()); if (DEBUG) { log.info("PP adding: " + td3 + " deleting: " + td1 + ' ' + td2);
TypedDependency newDep = new TypedDependency(PREPOSITIONAL_OBJECT, prep.dep(), rel.dep()); newDeps.add(newDep); rel.setReln(KILL);
newtd = new TypedDependency(gr, governor, pobj.dep());
/** returns a list of TypedDependency in the graph * this method goes through all SemanticGraphEdge and converts to TypedDependency. */ public Collection<TypedDependency> typedDependencies() { Collection<TypedDependency> dependencies = new ArrayList<TypedDependency>(); for (SemanticGraphEdge e : this.edgeIterable()){ TreeGraphNode gov = new TreeGraphNode(e.getGovernor()); TreeGraphNode dep = new TreeGraphNode(e.getDependent()); TypedDependency dependency = new TypedDependency(e.getRelation(), gov, dep); dependencies.add(dependency); } return dependencies; }