Package com.clearnlp.dependency

Examples of com.clearnlp.dependency.DEPArc


    {
      idx    = head.indexOf(DEPLib.DELIM_HEADS_KEY);
      headId = Integer.parseInt(head.substring(0, idx));
      label  = head.substring(idx+1);
     
      sHeads.add(new DEPArc(tree.get(headId), label));
    }
   
    return sHeads;
  }
View Full Code Here


    Set<String> qPreps  = getLemmaSet(qsTree, CTLibEn.POS_IN);
    Set<String> qLabels = qsTree.getBaseLabelSet();
    boolean[] bMod = getModifierAspects(qsTree);
    boolean notAdded = true;
    DEPNode rDep, qDep;
    DEPArc  rHead;
   
    for (DEPArc rArc : rVerb.getDependents())
    {
      rDep  = rArc.getNode();
      rHead = rDep.getSHead(rVerb);
     
      if (notAdded && rDep.id > rVerb.id)
      {
        build.append(delim);
        build.append(rVerb.form);
        notAdded = false;
      }
     
      if (rArc.isLabel(DEPLibEn.DEP_CONJ) || rArc.isLabel(DEPLibEn.DEP_CC) || rArc.isLabel(DEPLibEn.DEP_PRECONJ))
        continue;
      else if (rHead == null || rHead.isLabel(SRLLib.ARGM_MOD) || rHead.isLabel(SRLLib.ARGM_NEG))
      {
        build.append(delim);
        build.append(LGLibEn.getForms(rDep, USE_COREF, delim));
      }
      else if (containsLabel(qsTree, qLabels, qPreps, SRLLib.getBaseLabel(rHead.getLabel()), rDep, bMod[0], bMod[1], bMod[2]))
      {
        if (rDep.getFeat(DEPLibEn.FEAT_PB) != null && (qDep = findPredicateInQuestion(qsTree, rHead.getLabel(), rDep.lemma)) != null)
        {
          getLongAnswerFromDeclarative(qdTree, qdTree.getSRLTree(qDep), rDep, delim, build);
        }
        else
        {
View Full Code Here

  {
    List<DEPArc> deps = verb.getDependents();
    int i, size = deps.size();
    boolean hasAux = false;
    DEPNode node;
    DEPArc  curr;
    String  label;
   
    for (i=size-1; i>=0; i--)
    {
      curr = deps.get(i);
      node = curr.getNode();
     
      if (node.id < verb.id || !curr.isLabel(DEPLibEn.DEP_PUNCT))
        break;
      else if (P_QM.matcher(node.lemma).find())
        return true;
    }
   
    for (i=0; i<size; i++)
    {
      curr  = deps.get(i);
      node  = curr.getNode();
      label = curr.getLabel();
     
      if (node.id < verb.id)
      {
        if (curr.isLabel(DEPLibEn.DEP_PRECONJ))
          return false;
        else if (P_AUX.matcher(label).find())
          hasAux = true;
        else if (node.pos.startsWith("W"))
          return true;
        else if (P_SBJ.matcher(label).find())
          return hasAux;
      }
      else
        break;
    }
   
    if (verb.isLemma("be") || verb.isLemma("do") || verb.isLemma("have"))
    {
      for (; i<size; i++)
      {
        curr  = deps.get(i);
        label = curr.getLabel();
       
        if (P_SBJ.matcher(label).find())
          return true;
      }     
    }
View Full Code Here

      return false;

    List<DEPArc> deps = verb.getDependents();
    int i, size = deps.size();
    DEPNode node;
    DEPArc  dep;
   
    for (i=0; i<size; i++)
    {
      dep  = deps.get(i);
      node = dep.getNode();
     
      if (node.id < verb.id)
      {
        if (dep.isLabel(DEPLibEn.DEP_COMPLM) || dep.isLabel(DEPLibEn.DEP_MARK))
          return false;
       
        if (dep.isLabel(P_AUX) && !node.isLemma("do"))
          return false;
       
        if ((node.isPos(CTLibEn.POS_TO) && node.containsDependent(DEPLibEn.DEP_POBJ)) || node.isPos(CTLibEn.POS_MD) || node.pos.startsWith("W"))
          return false
      }
     
      if (node.id < verb.id && (dep.isLabel(P_SBJ) || dep.isLabel(DEPLibEn.DEP_EXPL)))
        return false;
    }
   
    return true;
  }
View Full Code Here

    List<DEPArc> args;
    PBRoleset roleset;
    String label, n;
    DEPNode node;
    int i, size;
    DEPArc arg;
   
    while ((pred = tree.getNextPredicate(pred.id)) != null)
    {
      args = argLists.get(pred.id);
      size = args.size();
     
      for (i=0; i<size; i++)
      {
        arg   = args.get(i);
        label = arg.getLabel();
       
        if (SRLLib.P_ARG_REF.matcher(label).find())
        {
          if ((n = PBLib.getNumber(label)) != null && !containsNumberedArugment(args, n, 0, i) && containsNumberedArugment(args, n, i+1, size))
          {
            roleset = m_frames.getRoleset(getPBType(pred), pred.lemma, pred.getFeat(DEPLibEn.FEAT_PB));
            n = Integer.toString(Integer.parseInt(n)+1);
           
            if (roleset != null && roleset.isValidArgumentNumber(n) && !containsNumberedArugment(args, n, i+1, size))
            {
              node = arg.getNode();
             
              if (node.getSHead(pred) != null)
                node.getSHead(pred).setLabel(SRLLib.PREFIX_REFERENT+"A"+n);
            }
          }
View Full Code Here

    }
  }
 
  private boolean containsNumberedArugment(List<DEPArc> arguments, String n, int bIdx, int eIdx)
  {
    DEPArc arg;
    int i;
   
    for (i=bIdx; i<eIdx; i++)
    {
      arg = arguments.get(i);
     
      if (n.equals(PBLib.getNumber(arg.getLabel())))
        return true;
    }
   
    return false;
  }
View Full Code Here

      return false;

    List<DEPArc> deps = verb.getDependents();
    int i, size = deps.size();
    DEPNode node;
    DEPArc  dep;
   
    for (i=0; i<size; i++)
    {
      dep  = deps.get(i);
      node = dep.getNode();
     
      if (node.id < verb.id)
      {
        if (dep.isLabel(DEPLibEn.DEP_COMPLM) || dep.isLabel(DEPLibEn.DEP_MARK))
          return false;
       
        if (dep.isLabel(P_AUX) && !node.isLemma("do"))
          return false;
       
        if (node.isPos(CTLibEn.POS_TO) || node.isPos(CTLibEn.POS_MD) || node.pos.startsWith("W"))
          return false
      }
     
      if (dep.isLabel(P_SBJ) || dep.isLabel(DEPLibEn.DEP_EXPL))
        return false;
    }
   
    return true;
  }
View Full Code Here

    Pattern pSbj = Pattern.compile("^[nc]subj.*");
    Pattern pAux = Pattern.compile("^aux.*");
    List<DEPArc> deps = verb.getDependents();
    int i, size = deps.size();
    boolean hasAux = false;
    DEPArc  curr, prev;
    String  label;
    DEPNode node;
   
    for (i=size-1; i>=0; i--)
    {
      curr  = deps.get(i);
      node  = curr.getNode();
      label = curr.getLabel();
     
      if (curr.isLabel(DEPLibEn.DEP_PUNCT))
      {
        if (pPeriod.matcher(node.lemma).find())
          return;
      }
    }
   
    for (i=0; i<size; i++)
    {
      curr  = deps.get(i);
      node  = curr.getNode();
      label = curr.getLabel();
     
      if (node.id > verb.id)
        break;
     
      if (pAux.matcher(label).find())
View Full Code Here

TOP

Related Classes of com.clearnlp.dependency.DEPArc

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.