Package com.clearnlp.dependency

Examples of com.clearnlp.dependency.DEPNode


    else      label(state);
  }
 
  private void addLexica(SRLState state)
  {
    DEPNode pred, head;
   
    while ((pred = state.moveToNextPredicate()) != null)
    {
      for (DEPArc arc : pred.getGrandDependents())
        collectDown(pred, arc.getNode());
   
      head = pred.getHead();
      if (head != null) collectUp(pred, head.getHead());
    }
  }
View Full Code Here


    return paths;
  }
 
  private void label(SRLState state)
  {
    DEPNode pred;
   
    while ((pred = state.moveToNextPredicate()) != null)
    {
      setRoleset(pred, state);
View Full Code Here

  }
 
  /** Called by {@link AbstractSRLabeler#label(DEPTree)}. */
  private void labelAux(SRLState state)
  {
    DEPNode head = state.getLowestCommonAncestor();
   
    if (!state.isSkip(head))
    {
      state.setArgument(head);
      addArgument(getLabel(state), state)
    }
   
    labelDown(head.getDependents(), state);
  }
View Full Code Here

  }
 
  /** Called by {@link AbstractSRLabeler#labelAux(DEPNode, IntOpenHashSet)}. */
  private void labelDown(List<DEPArc> arcs, SRLState state)
  {
    DEPNode pred = state.getCurrentPredicate();
    DEPNode arg;
   
    for (DEPArc arc : arcs)
    {
      arg = arc.getNode();
     
      if (!state.isSkip(arg))
      {
        state.setArgument(arg);
        addArgument(getLabel(state), state);
       
        if (state.isLowestCommonAncestor(pred))
        {
          if (s_down.contains(getDUPath(pred, arg)))
            labelDown(arg.getDependents(), state);
          else if ((arg = getPossibleDescendent(pred, arg)) != null)
            labelDown(arg.getDependents(), state);
        }
       
//        if (state.isLowestCommonAncestor(pred) && s_down.contains(getDUPath(pred, arg)))
//          labelDown(arg.getDependents(), state);
      }
View Full Code Here

    return p;
  }

  private void addArgument(StringPrediction p, SRLState state)
  {
    DEPNode arg = state.getCurrentArgument();
    ObjectDoublePair<DEPNode> prev;
    DEPNode node;

    state.addArgumentToSkipList();
   
    if (!p.label.equals(LB_NO_ARG))
    {
      if (PBLib.isNumberedArgument(p.label))
      {
        state.addNumberedArgument(p.label);
       
        if (PBLib.isCoreNumberedArgument(p.label))
        {
          if ((prev = state.getCoreNumberedArgument(p.label)) != null)
          {
            node = (DEPNode)prev.o;
            node.removeSHeadsByLabel(p.label);
          }
         
          state.putCoreNumberedArgument(p.label, new ObjectDoublePair<DEPNode>(arg, p.score));
        }
      }
View Full Code Here

//  ================================ FEATURE EXTRACTION ================================

  @Override
  protected String getField(FtrToken token, SRLState state)
  {
    DEPNode node = state.getNode(token);
    if (node == nullreturn null;
    Matcher m;
   
    if (token.isField(JointFtrXml.F_FORM))
    {
      return node.form;
    }
    else if (token.isField(JointFtrXml.F_LEMMA))
    {
      return node.lemma;
    }
    else if (token.isField(JointFtrXml.F_POS))
    {
      return node.pos;
    }
    else if (token.isField(JointFtrXml.F_DEPREL))
    {
      return node.getLabel();
    }
    else if (token.isField(JointFtrXml.F_DISTANCE))
    {
      return getDistance(node, state);
    }
    else if ((m = JointFtrXml.P_ARGN.matcher(token.field)).find())
    {
      return state.getNumberedArgument(Integer.parseInt(m.group(1)));
    }
    else if ((m = JointFtrXml.P_PATH.matcher(token.field)).find())
    {
      String type = m.group(1);
      int    dir  = Integer.parseInt(m.group(2));
     
      return getPath(type, dir, state);
    }
    else if ((m = JointFtrXml.P_SUBCAT.matcher(token.field)).find())
    {
      String type = m.group(1);
      int    dir  = Integer.parseInt(m.group(2));
     
      return getSubcat(node, type, dir);
    }
    else if ((m = JointFtrXml.P_FEAT.matcher(token.field)).find())
    {
      return node.getFeat(m.group(1));
    }
    else if ((m = JointFtrXml.P_BOOLEAN.matcher(token.field)).find())
    {
      DEPNode pred = state.getCurrentPredicate();
      int    field = Integer.parseInt(m.group(1));
     
      switch (field)
      {
      case 0: return (node.isDependentOf(pred)) ? token.field : null;
      case 1: return (pred.isDependentOf(node)) ? token.field : null;
      case 2: return (pred.isDependentOf(state.getLowestCommonAncestor())) ? token.field : null;
      case 3: return (state.isLowestCommonAncestor(pred)) ? token.field : null;
      case 4: return (state.isLowestCommonAncestor(node)) ? token.field : null;
      }
    }
   
View Full Code Here

  }
 
  @Override
  protected String[] getFields(FtrToken token, SRLState state)
  {
    DEPNode node = state.getNode(token);
    if (node == nullreturn null;
   
    if (token.isField(JointFtrXml.F_DEPREL_SET))
    {
      return getDeprelSet(node.getDependents());
    }
    else if (token.isField(JointFtrXml.F_GRAND_DEPREL_SET))
    {
      return getDeprelSet(node.getGrandDependents());
    }
   
    return null;
  }
View Full Code Here

    else          return "3";
  }
 
  private String getPath(String type, int dir, SRLState state)
  {
    DEPNode pred = state.getCurrentPredicate();
    DEPNode arg  = state.getCurrentArgument();
    DEPNode lca  = state.getLowestCommonAncestor();
   
    if (dir == PATH_UP)
    {
      if (lca != pred)
        return getPathAux(lca, pred, type, SRLLib.DELIM_PATH_UP, true);
View Full Code Here

  }
 
  private String getPathAux(DEPNode top, DEPNode bottom, String type, String delim, boolean includeTop)
  {
    StringBuilder build = new StringBuilder();
    DEPNode head = bottom;
    int dist = 0;
   
    do
    {
      if (type.equals(JointFtrXml.F_POS))
      {
        build.append(delim);
        build.append(head.pos);
      }
      else if (type.equals(JointFtrXml.F_DEPREL))
      {
        build.append(delim);
        build.append(head.getLabel());
      }
      else if (type.equals(JointFtrXml.F_DISTANCE))
      {
        dist++;
      }
   
      head = head.getHead();
    }
    while (head != top && head != null);
   
    if (type.equals(JointFtrXml.F_POS))
    {
View Full Code Here

  public void countAccuracy(DEPTree sTree, Object[] gHeads)
  {
    StringIntPair[] heads = (StringIntPair[])gHeads;
    int i, size = sTree.size();
    StringIntPair p;
    DEPNode node;
   
    n_total += size - 1;
   
    for (i=1; i<size; i++)
    {
      node = sTree.get(i);
      p = heads[i];
     
      if (node.isDependentOf(sTree.get(p.i)))
      {
        n_uas++;
        if (node.isLabel(p.s)) n_las++;
      }
     
      if (node.isLabel(p.s)) n_ls++;
    }
  }
View Full Code Here

TOP

Related Classes of com.clearnlp.dependency.DEPNode

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.