Examples of DepNode


Examples of com.clearnlp.dependency.DEPNode

    return false;
  }
 
  private int resetBeVerb(DEPState state)
  {
    DEPNode lambda = state.getLambda();
    DEPNode beta   = state.getBeta();
   
    if (isOutOfDomain(state, lambda, beta))
      return -1;
   
    DEPNode beVerb = lambda.getHead();
   
    if (!isAuxiliaryBe(state, beVerb, lambda, beta))
      return -1;
   
    String subj  = lambda.getLabel();
    int    vType = 0;
   
    if (beta.isPos(CTLibEn.POS_VBN))
      vType = 1;
    else if (beta.isPos(CTLibEn.POS_VBG))
      vType = 2;
    else if (beta.isPos(CTLibEn.POS_VBD))
    {
      String p2 = beta.getFeat(DEPLib.FEAT_POS2);
      if (p2 != null && p2.equals(CTLibEn.POS_VBN))  vType = 1;
    }
   
    // be - subj(lambda) -  vb[ng](beta)
    if (vType > 0 && (DEPLibEn.isSubject(subj) || (subj.equals(DEPLibEn.DEP_ATTR) && hasNoDependent(beVerb, 1, lambda.id, state) && hasNoDependent(beVerb, lambda.id+1, beta.id, state))))
    {
    //  System.out.println(beVerb.form+" "+lambda.id+" "+beta.id+"\n"+state.getTree().toStringDEP()+"\n");
      int i, size = beta.id;
      DEPNode node;
     
      for (i=beVerb.id+1; i<size; i++)
      {
        node = state.getNode(i);
       
        if (node.isDependentOf(beVerb))
          node.setHead(beta);
      }
     
      clearPreviousDependents(beVerb, state);
      beVerb.setHead(beta);
     
View Full Code Here

Examples of com.clearnlp.dependency.DEPNode

    return -1;
  }
 
  private boolean isOutOfDomain(DEPState state, DEPNode lambda, DEPNode beta)
  {
    DEPNode node;
    int i;
   
    for (i=beta.id-1; i>lambda.id; i--)
    {
      node = state.getNode(i);
     
      if (node.isDependentOf(beta) && (DEPLibEn.isSubject(node.getLabel()) || DEPLibEn.isAuxiliary(node.getLabel())))
        return true;
    }
   
    return false;
  }
View Full Code Here

Examples of com.clearnlp.dependency.DEPNode

 
  private boolean isAuxiliaryBe(DEPState state, DEPNode beVerb, DEPNode lambda, DEPNode beta)
  {
    if (beVerb != null && beVerb.isLemma(ENAux.BE) && beVerb.id < lambda.id && !beta.isDescendentOf(beVerb))
    {
      DEPNode prev = state.getNode(beVerb.id-1);
      if (prev != null && (prev.isLemma("here") || prev.isLemma("there"))) return false;
     
      DEPNode gHead = beVerb.getHead();
      return gHead == null || gHead.id < beVerb.id;
    }
   
    return false;
  }
View Full Code Here

Examples of com.clearnlp.dependency.DEPNode

    return false;
  }
 
  private boolean hasNoDependent(DEPNode head, int bIdx, int eIdx, DEPState state)
  {
    DEPNode node;
    int i;
   
    for (i=bIdx; i<eIdx; i++)
    {
      node = state.getNode(i);
     
      if (node.isDependentOf(head))
        return false;
    }
   
    return true;
  }
View Full Code Here

Examples of com.clearnlp.dependency.DEPNode

  }
 
  private boolean clearPreviousDependents(DEPNode head, DEPState state)
  {
    boolean found = false;
    DEPNode node;
    int i;
   
    for (i=head.id-1; i>0; i--)
    {
      node = state.getNode(i);
     
      if (node.isDependentOf(head))
      {
        node.clearHead();
        state.pushBack(node.id);
        found = true;
      }
    }
   
View Full Code Here

Examples of com.clearnlp.dependency.DEPNode

  protected void postProcess(DEPState state)
  {
    if (!isDecode()) return;
   
    int i, size = state.getTreeSize(), vCount = 0;
    DEPNode node;
   
    for (i=1; i<size; i++)
    {
      node = state.getNode(i);
     
View Full Code Here

Examples of com.clearnlp.dependency.DEPNode

    }
  }
 
  private boolean postProcessPP(DEPNode node)
  {
    DEPNode head = node.getHead();
    if (head == nullreturn false;
   
    DEPNode gHead = head.getHead();
    if (gHead == nullreturn false;
   
    DEPNode ggHead = gHead.getHead();
    if (ggHead == nullreturn false;
   
    // node ggHead:VB gHead:NN head:IN
    if (node.id < ggHead.id && ggHead.id < gHead.id && gHead.id < head.id && head.isPos(CTLibEn.POS_IN) && MPLibEn.isNoun(gHead.pos) && MPLibEn.isVerb(ggHead.pos))
    {
View Full Code Here

Examples of com.clearnlp.dependency.DEPNode

 
  private boolean postProcessBeProperNounAdjective(DEPNode be, DEPState state)
  {
    if (be.isLemma(ENAux.BE) && MPLibEn.isVerb(be.pos) && be.id+2 < state.getTreeSize())
    {
      DEPNode jj = state.getNode(be.id+2);
     
      if (MPLibEn.isAdjective(jj.pos) && jj.isDependentOf(be) && jj.isLabel(DEPLibEn.DEP_NSUBJ))
      {
        DEPNode nnp = state.getNode(be.id+1);
       
        if (nnp.isPos(CTLibEn.POS_NNP) && nnp.isDependentOf(jj) && nnp.isLabel(DEPLibEn.DEP_NPADVMOD) && !containsDependent(state, be, DEPLibEn.DEP_ATTR, jj.id))
        {
          nnp.setHead(be, DEPLibEn.DEP_NSUBJ);
          jj.setLabel(DEPLibEn.DEP_ATTR);
          return true;
        }
      }
    }
View Full Code Here

Examples of com.clearnlp.dependency.DEPNode

  private boolean postProcessAttributeInQuestion(DEPNode appos, DEPState state)
  {
    if (!appos.isLabel(DEPLibEn.DEP_APPOS))
      return false;
   
    DEPNode nsubj = appos.getHead();
    if (nsubj == null || !nsubj.isLabel(DEPLibEn.DEP_NSUBJ) || nsubj.id > appos.id)
      return false;
   
    DEPNode be = nsubj.getHead();
    if (be == null || !be.isLemma(ENAux.BE) || be.id > appos.id)
      return false;
   
    int i, size = state.getTreeSize();
    DEPNode node;
   
    for (i=appos.id; i<size; i++)
    {
      node = state.getNode(i);
         
      if (node.isDependentOf(be, DEPLibEn.DEP_ATTR))
        return false;
    }
   
    appos.setHead(be, DEPLibEn.DEP_ATTR);
    return true;
View Full Code Here

Examples of com.clearnlp.dependency.DEPNode

    return true;
  }
 
  private boolean containsDependent(DEPState state, DEPNode head, String label, int bIdx)
  {
    DEPNode node;
    int i;
   
    for (i=state.getTreeSize()-1; i>bIdx; i--)
    {
      node = state.getNode(i);
     
      if (node.isDependentOf(head) && node.isLabel(label))
        return true;
    }
   
    return false;
  }
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.