Package com.clearnlp.constituent

Examples of com.clearnlp.constituent.CTTree


    }
    else if (inputPath.endsWith(parseExt))
    {
      PrintStream fout = UTOutput.createPrintBufferedFileStream(UTFile.replaceExtension(inputPath, outputExt));
      CTReader reader = new CTReader(UTInput.createBufferedFileReader(inputPath));
      CTTree tree;
     
      while ((tree = reader.nextTree()) != null)
      {
        remove(inputPath, tree.getRoot());
        fout.println(tree.toString()+"\n");
      }
     
      fout.close();
      reader.close();
    }
View Full Code Here


  }
 
  /** Fixes illegal PROs. */
  private void fixIllegalPROs(PBInstance instance)
  {
    CTTree tree = instance.getTree();
    CTNode node;
   
    for (PBArg arg : instance.getArgs())
    {
      if (arg.isLabel(PBLib.PB_REL))  continue;
     
      for (PBLoc loc : arg.getLocs())
      {
        if (loc.terminalId > instance.predId)
        {
          node = tree.getNode(loc);
         
          if (node.isEmptyCategoryRec() && node.hasFTag(CTLibEn.FTAG_SBJ) && node.getParent().isPTag(CTLibEn.PTAG_S))
            loc.height++;
        }
      }
View Full Code Here

   * Adds antecedents from manual annotation of LINK-*.
   * PRE: {@link PBInstance#sortArgs()} is called.
   */
  private void getLinks(PBInstance instance)
  {
    CTTree tree = instance.getTree();
    CTNode node, link;
    List<PBArg> lLinks = new ArrayList<PBArg>();
    PBLoc loc; int i;
   
    for (PBArg arg : instance.getArgs())
    {
      if (arg.label.startsWith("LINK"))
        lLinks.add(arg);
     
      for (i=arg.getLocSize()-1; i>0; i--)
      {
        loc  = arg.getLoc(i);
        node = tree.getNode(loc);
       
        if (node.pTag.startsWith("WH"))
        {
          link = CTLibEn.getComplementizer(node);

          if (link.getAntecedent() == null)
          {
            link.setAntecedent(tree.getNode(arg.getLoc(i-1)));
            break;
          }
        }
        else if (CTLibEn.isComplementizer(node))
        {
          if (node.getAntecedent() == null)
          {
            node.setAntecedent(tree.getNode(arg.getLoc(i-1)));
            break;
          }
        }
        else if (node.isEmptyCategoryRec() && loc.isType("*"))
        {
          link = node.getFirstTerminal();
         
          if (link.getAntecedent() == null)
            link.setAntecedent(tree.getNode(arg.getLoc(i-1)));
        }
      }
    }
   
    if (!lLinks.isEmpty())
View Full Code Here

   * PRE: {@link CTTree#setPBLocs()} and {@link C} needs to be called before.
   */
  private void normalizeLinks(PBInstance instance)
  {
    List<PBLoc> lDel = new ArrayList<PBLoc>();
    CTTree tree = instance.getTree();
    CTNode curr, node, ante;
    PBLoc  cLoc; int i;
    List<CTNode> list;
    CTNode pred = tree.getTerminal(instance.predId);
   
    for (PBArg arg : instance.getArgs())
    {
      if (arg.isLabel(PBLib.PB_REL))  continue;
      lDel.clear();
     
      for (i=0; i<arg.getLocSize(); i++// size() gets changed dynamically
      {
        cLoc = arg.getLoc(i);
        curr = tree.getNode(cLoc);
       
        if (CTLibEn.isComplementizer(curr))
        {
          if ((ante = curr.getAntecedent()) != null)
            arg.addLoc(new PBLoc(ante.getPBLoc(), "*"));
         
          if ((node = getCoIndexedWHNode(curr)) != null)
            cLoc.set(node.getPBLoc(), "*");
        }
        else if (curr.pTag.startsWith("WH"))
        {
          if ((node = CTLibEn.getComplementizer(curr)) != null && (ante = node.getAntecedent()) != null)
            arg.addLoc(new PBLoc(ante.getPBLoc(), "*"));
        }
        else if (curr.isEmptyCategoryRec())    // *T*, *
        {
          cLoc.height = 0;
          node = tree.getTerminal(cLoc.terminalId);
         
          if ((ante = node.getAntecedent()) != null)
            arg.addLoc(new PBLoc(ante.getPBLoc(), "*"));
        }
        else if (!(list = curr.getIncludedEmptyCategory("\\*(ICH|RNR)\\*.*")).isEmpty())
 
View Full Code Here

    return false;
  }
 
  private boolean findOverlappingArguments(PBInstance instance)
  {
    CTTree  tree = instance.getTree();
    PBArg ai, aj;
    IntOpenHashSet si, sj;
    int i, j, size = instance.getArgSize(), ni, nj;
    List<PBArg> lDel = new ArrayList<PBArg>();
   
View Full Code Here

    return set;
  }
 
  private void addLinks(PBInstance instance)
  {
    CTTree tree = instance.getTree();
    CTNode node, comp, ante = null;
    String label;
    List<PBArg> lAdd = new ArrayList<PBArg>();
    PBArg nArg;
   
    for (PBArg arg : instance.getArgs())
    {
      for (PBLoc loc : arg.getLocs())
      {
        node  = tree.getNode(loc);
        label = null;
       
        if (node.pTag.startsWith("WH"))
        {
          if ((comp = CTLibEn.getComplementizer(node)) != null && (ante = comp.getAntecedent()) != null)
View Full Code Here

    instance.addArgs(lAdd);
  }
 
  private void raiseEmptyArguments(PBInstance instance)
  {
    CTTree tree = instance.getTree();
    CTNode node, parent;
    int i, size;
    PBLoc loc;
   
    for (PBArg arg : instance.getArgs())
    {
      if (arg.isLabel(PBLib.PB_REL))  continue;
      size = arg.getLocSize();
     
      for (i=0; i<size; i++)
      {
        loc  = arg.getLoc(i);
        node = tree.getNode(loc);
        parent = node.getParent();
       
        if (parent != null && !parent.isPTag(CTLib.PTAG_TOP) && parent.getChildrenSize() == 1)
          node = parent;
       
View Full Code Here

    if (fout != nullfout.close();
  }
 
  private PBArg getArgDSP(PBInstance instance)
  {
    CTTree tree = instance.getTree();
    CTNode pred = tree.getTerminal(instance.predId);
    Pair<CTNode,CTNode> pair = getESMPair(pred);
    if (pair == nullreturn null;
   
    Pair<PBArg,IntOpenHashSet> max = new Pair<PBArg,IntOpenHashSet>(null, new IntOpenHashSet());
    IntOpenHashSet set;
View Full Code Here

 
  private void printTree(PrintStream fout, String inputFile)
  {
    CTReader reader = new CTReader();
    StringBuilder build;
    CTTree tree;
   
    reader.open(UTInput.createBufferedFileReader(inputFile));
   
    while ((tree = reader.nextTree()) != null)
    {
      build = new StringBuilder();
     
      for (CTNode node : tree.getTerminals())
      {
        build.append(node.form);
        build.append("\t");
        build.append(node.pTag);
        build.append("\n");
View Full Code Here

 
  private List<CTTree> getTrees(String parseFile)
  {
    CTReader reader = new CTReader(UTInput.createBufferedFileReader(parseFile));
    List<CTTree> trees = new ArrayList<CTTree>();
    CTTree tree;
   
    while ((tree = reader.nextTree()) != null)
      trees.add(tree);
   
    return trees;
View Full Code Here

TOP

Related Classes of com.clearnlp.constituent.CTTree

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.