Package org.maltparserx.core.syntaxgraph.node

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


    }
    return 0;
  }
 
  public Edge addDependencyEdge(int headIndex, int dependentIndex) throws MaltChainedException {
    DependencyNode head = null;
    DependencyNode dependent = null;
    if (headIndex == 0) {
      head = root;
    } else if (headIndex > 0) {
      head = getOrAddTerminalNode(headIndex);
    }
View Full Code Here


      throw new SyntaxGraphException("Head or dependent node is missing.");
    } else if (!dependent.isRoot()) {
      if (singleHeadedConstraint && dependent.hasHead()) {
        throw new SyntaxGraphException("The dependent already have a head. ");
      }
      DependencyNode hc = ((DependencyNode)head).findComponent();
      DependencyNode dc = ((DependencyNode)dependent).findComponent();
      if (hc != dc) {
        link(hc, dc);
        numberOfComponents--;   
      }
      Edge e = edgePool.checkOut();
View Full Code Here

      throw new SyntaxGraphException("Head node is not a root node or a terminal node.");
    }
  }
 
  public Edge moveDependencyEdge(int newHeadIndex, int dependentIndex) throws MaltChainedException {
    DependencyNode newHead = null;
    DependencyNode dependent = null;
    if (newHeadIndex == 0) {
      newHead = root;
    } else if (newHeadIndex > 0) {
      newHead = terminalNodes.get(newHeadIndex);
    }
View Full Code Here

 
  public void linkAllTerminalsToRoot() throws MaltChainedException {
    clear();

    for (int i : terminalNodes.keySet()) {
      DependencyNode node = terminalNodes.get(i);
      addDependencyEdge(root,node);
    }
  }
View Full Code Here

//    }
//  }
 
  public String toStringTerminalNode(TokenNode node) {
    final StringBuilder sb = new StringBuilder();
    final DependencyNode depnode = node;

    sb.append(node.toString().trim());
    if (depnode.hasHead()) {
      sb.append('\t');
      try {
        sb.append(depnode.getHead().getIndex());
        sb.append('\t');
        sb.append(depnode.getHeadEdge().toString());
      } catch (MaltChainedException e) {
        System.err.println(e);
      }
    }
    sb.append('\n');
View Full Code Here

        id++;
        if (!pdg.isTree()) {
            configLogger.info("\n[Warning: Sentence '" + id + "' cannot projectivize, because the dependency graph is not a tree]\n");
            return;
        }
        DependencyNode deepestNonProjectiveNode;
        initProjectivization(pdg);
        if (rootAttachment == CoveredRootAttachment.IGNORE) {
        if (markingStrategy != PseudoProjectiveEncoding.NONE) {
          while (!pdg.isProjective()) {
            if (liftingOrder == LiftingOrder.DEEPEST) {
              deepestNonProjectiveNode = getDeepestNonProjectiveNode(pdg);
            } else {
              deepestNonProjectiveNode = getShortestNonProjectiveNode(pdg);
            }
            if (!attachCoveredRoots(pdg, deepestNonProjectiveNode)) {
              nodeLifted.set(deepestNonProjectiveNode.getIndex(), true);
              setHeadDeprel(deepestNonProjectiveNode, deepestNonProjectiveNode.getHead());
              setPath(deepestNonProjectiveNode.getHead());
              pdg.moveDependencyEdge(pdg.getDependencyNode(deepestNonProjectiveNode.getHead().getHead().getIndex()).getIndex(), deepestNonProjectiveNode.getIndex());
            }
          }
          deattachCoveredRootsForProjectivization(pdg);
        }
        } else {
          if (rootAttachment != CoveredRootAttachment.NONE) {
              for (int index : pdg.getTokenIndices()) {
                  attachCoveredRoots(pdg, pdg.getTokenNode(index));
              }
          }
          if (markingStrategy != PseudoProjectiveEncoding.NONE) {
              while (!pdg.isProjective()) {
                  if (liftingOrder == LiftingOrder.DEEPEST) {
                      deepestNonProjectiveNode = getDeepestNonProjectiveNode(pdg);
                  } else {
                      deepestNonProjectiveNode = getShortestNonProjectiveNode(pdg);
                  }
                  nodeLifted.set(deepestNonProjectiveNode.getIndex(), true);
                  setHeadDeprel(deepestNonProjectiveNode, deepestNonProjectiveNode.getHead());
                  setPath(deepestNonProjectiveNode.getHead());
                  pdg.moveDependencyEdge(pdg.getDependencyNode(deepestNonProjectiveNode.getHead().getHead().getIndex()).getIndex(), deepestNonProjectiveNode.getIndex());
              }
          }
        }
        // collectTraceStatistics(pdg);
        assignPseudoProjectiveDeprels(pdg);
View Full Code Here

    DependencyStructure outputGraph = new DependencyGraph(singleMalt.getSymbolTables());
   
    for (int i = 0; i < tokens.length; i++) {
      Iterator<ColumnDescription> columns = dataFormatInstance.iterator();
      DependencyNode node = outputGraph.addDependencyNode(i+1);
      String[] items = tokens[i].split("\t");
      for (int j = 0; j < items.length; j++) {
        if (columns.hasNext()) {
          ColumnDescription column = columns.next();
          if (column.getCategory() == ColumnDescription.INPUT && node != null) {
View Full Code Here

    }
    return 0;
  }
 
  public Edge addDependencyEdge(int headIndex, int dependentIndex) throws MaltChainedException {
    DependencyNode head = null;
    DependencyNode dependent = null;
    if (headIndex == 0) {
      head = root;
    } else { // if (headIndex > 0) {
      head = getOrAddTerminalNode(headIndex);
    }
View Full Code Here

      throw new SyntaxGraphException("Head or dependent node is missing.");
    } else if (!dependent.isRoot()) {
      if (singleHeadedConstraint && dependent.hasHead()) {
        return moveDependencyEdge(head, dependent);
      }
      final DependencyNode hc = ((DependencyNode)head).findComponent();
      final DependencyNode dc = ((DependencyNode)dependent).findComponent();
      if (hc != dc) {
        link(hc, dc);
        numberOfComponents--;   
      }
      Edge e = edgePool.checkOut();
View Full Code Here

    }
    DependencyStructure outputGraph = new DependencyGraph(singleMalt.getSymbolTables());
   
    for (int i = 0; i < tokens.length; i++) {
      Iterator<ColumnDescription> columns = dataFormatInstance.iterator();
      DependencyNode node = outputGraph.addDependencyNode(i+1);
      String[] items = tokens[i].split("\t");
      Edge edge = null;
      for (int j = 0; j < items.length; j++) {
        if (columns.hasNext()) {
          ColumnDescription column = columns.next();
View Full Code Here

TOP

Related Classes of org.maltparserx.core.syntaxgraph.node.DependencyNode

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.