Examples of DependencyNode


Examples of org.maltparserx.core.syntaxgraph.node.DependencyNode

    }
    return childSuccess && success;
  }

  private DependencyNode breadthFirstSearchSortedByDistanceForPath(DependencyStructure dg, DependencyNode start, DependencyNode avoid) {
    DependencyNode dependent;
    Vector<DependencyNode> nodes = new Vector<DependencyNode>(), newNodes;
    nodes.addAll(findAllDependentsVectorSortedByDistanceToPProjNode(dg, start, avoid, true));
    while (nodes.size() > 0) {
      dependent = nodes.remove(0);
      if (((newNodes = findAllDependentsVectorSortedByDistanceToPProjNode(dg, dependent, avoid, true)).size()) == 0) {
View Full Code Here

Examples of org.maltparserx.core.syntaxgraph.node.DependencyNode

  }

  private boolean deprojectivizeWithHeadAndPath(DependencyStructure pdg, DependencyNode node) throws MaltChainedException {
    boolean success = true, childSuccess = false;
    int i, childAttempts = 2;
    DependencyNode child, possibleSyntacticHead;
    if (node.hasHead() && node.getHeadEdge().isLabeled() && nodeLifted.get(node.getIndex()) && nodePath.get(node.getIndex())) {
      possibleSyntacticHead = breadthFirstSearchSortedByDistanceForHeadAndPath(pdg, node.getHead(), node, synacticHeadDeprel.get(node
          .getIndex()));
      if (possibleSyntacticHead != null) {
        pdg.moveDependencyEdge(possibleSyntacticHead.getIndex(), node.getIndex());
View Full Code Here

Examples of org.maltparserx.core.syntaxgraph.node.DependencyNode

    return childSuccess && success;
  }

  private DependencyNode breadthFirstSearchSortedByDistanceForHeadAndPath(DependencyStructure dg, DependencyNode start, DependencyNode avoid, String syntacticHeadDeprelCode)
      throws MaltChainedException {
    DependencyNode dependent;
    Vector<DependencyNode> nodes = new Vector<DependencyNode>(), newNodes = null, secondChance = new Vector<DependencyNode>();
    nodes.addAll(findAllDependentsVectorSortedByDistanceToPProjNode(dg, start, avoid, true));
    while (nodes.size() > 0) {
      dependent = nodes.remove(0);
      if (((newNodes = findAllDependentsVectorSortedByDistanceToPProjNode(dg, dependent, avoid, true)).size()) == 0
          && deprelSymbolTable.getSymbolCodeToString(dependent.getHeadEdge().getLabelCode(deprelSymbolTable)).equals(syntacticHeadDeprelCode)) {
        return dependent;
      }
      nodes.addAll(newNodes);
      if (deprelSymbolTable.getSymbolCodeToString(dependent.getHeadEdge().getLabelCode(deprelSymbolTable)).equals(syntacticHeadDeprelCode)
          && newNodes.size() != 0) {
        secondChance.add(dependent);
      }
    }
    if (secondChance.size() > 0) {
View Full Code Here

Examples of org.maltparserx.core.syntaxgraph.node.DependencyNode

   * @param target a target dependency structure
   * @throws MaltChainedException
   */
  protected void copyEdges(DependencyStructure source, DependencyStructure target) throws MaltChainedException {
    for (int index : source.getTokenIndices()) {
      DependencyNode snode = source.getTokenNode(index);
     
      if (snode.hasHead()) {
        Edge s = snode.getHeadEdge();
        Edge t = target.addDependencyEdge(s.getSource().getIndex(), s.getTarget().getIndex());
       
        for (SymbolTable table : s.getLabelTypes()) {
          t.addLabel(table, s.getLabelSymbol(table));
        }
View Full Code Here

Examples of org.maltparserx.core.syntaxgraph.node.DependencyNode

    }
  }
 
  protected void copyDynamicInput(DependencyStructure source, DependencyStructure target) throws MaltChainedException {
    for (int index : source.getTokenIndices()) {
      DependencyNode snode = source.getTokenNode(index);
      DependencyNode tnode = target.getTokenNode(index);
      for (SymbolTable table : snode.getLabelTypes()) {
        if (!tnode.hasLabel(table)) {
          tnode.addLabel(table,snode.getLabelSymbol(table));
        }
      }
    }
  }
View Full Code Here

Examples of org.maltparserx.core.syntaxgraph.node.DependencyNode

    }
    GuideUserAction action = null;
    if (stack.size() < 2) {
      action = updateActionContainers(NonProjective.SHIFT, null);
    } else {
      DependencyNode left = stack.get(stack.size()-2);
      int leftIndex = left.getIndex();
      int rightIndex = stack.get(stack.size()-1).getIndex();
      if (swapArray.get(leftIndex) > swapArray.get(rightIndex)) {
        action =  updateActionContainers(NonProjective.SWAP, null);
      } else if (!left.isRoot() && gold.getTokenNode(leftIndex).getHead().getIndex() == rightIndex
          && nodeComplete(gold, config.getDependencyGraph(), leftIndex)) {
        action = updateActionContainers(NonProjective.LEFTARC, gold.getTokenNode(leftIndex).getHeadEdge().getLabelSet());
      } else if (gold.getTokenNode(rightIndex).getHead().getIndex() == leftIndex
          && nodeComplete(gold, config.getDependencyGraph(), rightIndex)) {
        action = updateActionContainers(NonProjective.RIGHTARC, gold.getTokenNode(rightIndex).getHeadEdge().getLabelSet());
View Full Code Here

Examples of org.maltparserx.core.syntaxgraph.node.DependencyNode

  }
 
  public void setDependencyGraph(DependencyStructure source) throws MaltChainedException {
    dependencyGraph.clear();
    for (int index : source.getTokenIndices()) {
      DependencyNode gnode = source.getTokenNode(index);
      DependencyNode pnode = dependencyGraph.addTokenNode(gnode.getIndex());
      for (SymbolTable table : gnode.getLabelTypes()) {
        pnode.addLabel(table, gnode.getLabelSymbol(table));
      }
     
      if (gnode.hasHead()) {
        Edge s = gnode.getHeadEdge();
        Edge t = dependencyGraph.addDependencyEdge(s.getSource().getIndex(), s.getTarget().getIndex());
View Full Code Here

Examples of org.maltparserx.core.syntaxgraph.node.DependencyNode

        input.add(dependencyGraph.getDependencyNode(sourceInput.get(i).getIndex()));
      }
    } else {
      stack.push(dependencyGraph.getDependencyRoot());
      for (int i = dependencyGraph.getHighestTokenIndex(); i > 0; i--) {
        final DependencyNode node = dependencyGraph.getDependencyNode(i);
        if (node != null && !node.hasHead()) {
          input.push(node);
        }
      }
    }
  }
View Full Code Here

Examples of org.maltparserx.core.syntaxgraph.node.DependencyNode

  public void apply(GuideUserAction currentAction, ParserConfiguration configuration) throws MaltChainedException {
    final StackConfig config = (StackConfig)configuration;
    final Stack<DependencyNode> stack = config.getStack();
    currentAction.getAction(actionContainers);
    Edge e = null;
    DependencyNode head = null;
    DependencyNode dep = null;
    switch (transActionContainer.getActionCode()) {
    case LEFTARC:
      head = stack.pop();
      dep = stack.pop();
      e = config.getDependencyStructure().addDependencyEdge(head.getIndex(), dep.getIndex());
      addEdgeLabels(e);
      stack.push(head);
      break;
    case RIGHTARC:
      dep = stack.pop();
      e = config.getDependencyStructure().addDependencyEdge(stack.peek().getIndex(), dep.getIndex());
      addEdgeLabels(e);
      break;
    default:
      final Stack<DependencyNode> input = config.getInput();
      if (input.isEmpty()) {
View Full Code Here

Examples of org.maltparserx.core.syntaxgraph.node.DependencyNode

      swapArrayActive = true;
    }
    if (stack.size() < 2) {
      return updateActionContainers(NonProjective.SHIFT, null);
    } else {
      final DependencyNode left = stack.get(stack.size()-2);
      final DependencyNode right = stack.get(stack.size()-1);
      final int leftIndex = left.getIndex();
      final int rightIndex = right.getIndex();
      if (swapArray.get(leftIndex) > swapArray.get(rightIndex) && necessarySwap(gold, config.getDependencyGraph(), right, config.getInput())) {
        return updateActionContainers(NonProjective.SWAP, null);
      } else if (!left.isRoot() && gold.getTokenNode(leftIndex).getHead().getIndex() == rightIndex
          && nodeComplete(gold, config.getDependencyGraph(), leftIndex)) {
        return updateActionContainers(NonProjective.LEFTARC, gold.getTokenNode(leftIndex).getHeadEdge().getLabelSet());
View Full Code Here
TOP
Copyright © 2018 www.massapi.com. 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.