Examples of DepTree


Examples of com.clearnlp.dependency.DEPTree

  protected DEPTree getDEPTree(List<String[]> lines)
  {
    String form, lemma, pos, feats, nament;
    int id, i, size = lines.size();
    DEPTree tree = new DEPTree();
    DEPNode node;
    String[] tmp;
   
    // initialize place holders
    for (i=0; i<size; i++)
      tree.add(new DEPNode());
   
    if (i_xheads >= 0)
      tree.get(0).setXHeads(new ArrayList<DEPArc>());
   
    if (i_sheads >= 0)
      tree.get(0).setXHeads(new ArrayList<DEPArc>());
   
    for (i=0; i<size; i++)
    {
      tmp    = lines.get(i);
      form   = tmp[i_form];
      id     = (i_id     < 0) ? i+: Integer.parseInt(tmp[i_id]);
      lemma  = (i_lemma  < 0) ? null : tmp[i_lemma];
      pos    = (i_pos    < 0) ? null : tmp[i_pos];
      feats  = (i_feats  < 0) ? AbstractColumnReader.BLANK_COLUMN : tmp[i_feats];
      nament = (i_nament < 0) ? null : tmp[i_nament];

      node = tree.get(id);
      node.init(id, form, lemma, pos, new DEPFeat(feats));
      node.nament = nament;
     
      if (i_headId >= 0 && !tmp[i_headId].equals(AbstractColumnReader.BLANK_COLUMN))
        node.setHead(tree.get(Integer.parseInt(tmp[i_headId])), tmp[i_deprel]);
     
      if (i_xheads >= 0)
        node.setXHeads(getXHeads(tree, tmp[i_xheads]));
     
      if (i_sheads >= 0)
        node.setSHeads(getSHeads(tree, tmp[i_sheads]));
     
      if (i_gpos >= 0)
        node.addFeat(DEPLib.FEAT_GPOS, tmp[i_gpos]);
    }
   
    if (i_coref >= 0) tree.setMentions(getMentions(lines));
    return tree;
  }
View Full Code Here

Examples of com.clearnlp.dependency.DEPTree

  }
 
  @Override
  public DEPTree next()
  {
    DEPTree tree = null;
   
    try
    {
      List<String[]> lines = readLines();
      if (lines == nullreturn null;
View Full Code Here

Examples of com.clearnlp.dependency.DEPTree

    String form, lemma, pos, label;
    DEPFeat feats;
    String[] tmp;
    DEPNode node;
   
    DEPTree tree = new DEPTree();
    for (i=0; i<size; i++tree.add(new DEPNode());
   
    for (i=0; i<size; i++)
    {
      tmp   = lines.get(i);
      id    = Integer.parseInt(tmp[i_id]);
      form  = tmp[i_form];
      lemma = tmp[i_lemma];
      pos   = tmp[i_pos];
      feats = new DEPFeat(tmp[i_feats]);
     
      node = tree.get(id);
      node.init(id, form, lemma, pos, feats);
         
      if (i_xheads >= 0 && !tmp[i_xheads].equals(AbstractColumnReader.BLANK_COLUMN))
      {
        for (String head : tmp[i_xheads].split(DEPLib.DELIM_HEADS))
        {
          tmp    = head.split(DEPLib.DELIM_HEADS_KEY);
          headId = Integer.parseInt(tmp[0]);
          label  = tmp[1];
         
          node.addXHead(tree.get(headId), label);
        }
      }
    }
   
    return tree;
View Full Code Here

Examples of com.clearnlp.dependency.DEPTree

  }
 
  void generation(String[] args)
  {
    Pattern ignore = Pattern.compile("AM-MOD|AM-ADV|C-.+|R-.+");
    DEPTree tree = new DEPTree();
   
    tree.add(new DEPNode(1, "Tell"   , "tell" , "VB" , new DEPFeat()));
    tree.add(new DEPNode(2, "me"     , "me"   , "PRP", new DEPFeat()));
    tree.add(new DEPNode(3, "about"  , "about", "IN" , new DEPFeat()));
    tree.add(new DEPNode(4, "berries", "berry", "NNS", new DEPFeat()));

    tree.get(1).setHead(tree.get(0), DEPLibEn.DEP_ROOT);
    tree.get(2).setHead(tree.get(1), DEPLibEn.DEP_DOBJ);
    tree.get(3).setHead(tree.get(1), DEPLibEn.DEP_PREP);
    tree.get(4).setHead(tree.get(3), DEPLibEn.DEP_POBJ);
   
    tree.setDependents();
    tree.initSHeads();
   
    tree.get(1).addFeat(DEPLib.FEAT_PB, "tell.01");
    tree.get(2).addSHead(tree.get(1), "A2");
    tree.get(3).addSHead(tree.get(1), "A1");
   
    SRLTree sTree = tree.getSRLTree(1);
    System.out.println(sTree.getRichKeyEn(ignore, "."));
  }
View Full Code Here

Examples of com.clearnlp.dependency.DEPTree

  }
 
  /** Generates a question from a declarative sentence. */
  public DEPTree generateQuestionFromDeclarative(DEPNode root, boolean convertUnI)
  {
    DEPTree tree = new DEPTree();
   
    for (DEPNode node : root.getSubNodeSortedList())
      tree.add(node);
   
    return generateQuestionFromDeclarative(tree, convertUnI);
  }
View Full Code Here

Examples of com.clearnlp.dependency.DEPTree

 
  /** Called by {@link LGAsk#generateQuestionFromAsk(DEPTree, String)}. */
  public DEPTree generateQuestion(DEPNode verb, List<DEPNode> prevNodes)
  {
    Set<DEPNode> added = new HashSet<DEPNode>();
    DEPTree tree = new DEPTree();
    DEPNode rel, aux;
   
    if (prevNodes != null)
    {
      tree.addAll(prevNodes);
      added.addAll(prevNodes);
    }
   
    verb.setHead(tree.get(0), DEPLibEn.DEP_ROOT);
    rel = setRelativizer(tree, verb, added);
   
    aux = setAuxiliary(tree, verb, added, rel);
    setRest(tree, verb, added);
    resetDEPTree(tree, verb);
View Full Code Here

Examples of com.googlecode.clearnlp.dependency.DEPTree

  @Override
  public void process(JCas jCas) throws AnalysisEngineProcessException {
    for (Sentence sentence : JCasUtil.select(jCas, Sentence.class)) {
      List<BaseToken> tokens = JCasUtil.selectCovered(jCas, BaseToken.class, sentence);
      DEPTree tree = new DEPTree();

      // Convert CAS data into structures usable by ClearNLP
      for (int i = 0; i < tokens.size(); i++) {
        BaseToken token = tokens.get(i);
        String lemma = useLemmatizer ? lemmatizer.getLemma(token.getCoveredText(), token.getPartOfSpeech()) : token.getNormalizedForm();
        DEPNode node = new DEPNode(i+1, token.getCoveredText(), lemma, token.getPartOfSpeech(), new DEPFeat());
        tree.add(node);
      }

      // Run parser and convert output back to CAS friendly data types
      parser.process(tree);
      ArrayList<ConllDependencyNode> nodes = ClearDependencyUtility.convert(jCas, tree, sentence, tokens);
View Full Code Here

Examples of com.googlecode.clearnlp.dependency.DEPTree

  @Override
  public void process(JCas jCas) throws AnalysisEngineProcessException {
    for (Sentence sentence : JCasUtil.select(jCas, Sentence.class)) {
      List<BaseToken> tokens = JCasUtil.selectCovered(jCas, BaseToken.class, sentence);
      DEPTree tree = new DEPTree();

      // Build map between CAS dependency node and id for later creation of
      // ClearNLP dependency node/tree
      Map<ConllDependencyNode, Integer> depNodeToID = new HashMap<ConllDependencyNode, Integer>();
      int nodeId = 1;
      for (ConllDependencyNode depNode : JCasUtil.selectCovered(jCas, ConllDependencyNode.class, sentence)) {
        //if (depNode instanceof TopDependencyNode) {
      if (depNode.getHead() == null) {
        // A node without the head is the head of the sentence
          depNodeToID.put(depNode, 0);
        } else {
          depNodeToID.put(depNode, nodeId);
          nodeId++;
        }
      }
     
      int[] headIDs = new int[tokens.size()];
      String[] deprels = new String[tokens.size()];

      // Initialize Token / Sentence info for the ClearNLP Semantic Role Labeler
      // we are filtering out newline tokens
      // use idIter as the non-newline token index counter
      int idIter = 0;
      for (int i = 0; i < tokens.size(); i++) {
        BaseToken token = tokens.get(i);
        // ignore newline tokens within a sentence - newline = whitespace = non-token
        if(!(token instanceof NewlineToken)) {
          // Determine HeadId
          List<ConllDependencyNode> casDepNodes = JCasUtil.selectCovered(jCas, ConllDependencyNode.class, token);
         
          ConllDependencyNode casDepNode = casDepNodes.get(0);
          if(casDepNode.getId() == 0) casDepNode = casDepNodes.get(1);
 
          deprels[i] = casDepNode.getDeprel();
          ConllDependencyNode head = casDepNode.getHead();
 
          // If there is no head, this is the head node, set node to 0
          headIDs[i] = (head == null) ? 0 : depNodeToID.get(head);
 
          // Populate Dependency Node / Tree information
          int id = idIter + 1;
          String form = casDepNode.getForm();
          String pos = casDepNode.getPostag();
          String lemma = casDepNode.getLemma();
         
          DEPNode node = new DEPNode(id, form, lemma, pos, new DEPFeat());
          tree.add(node);
          idIter++;
        }
      }

      for (int i=1; i<tree.size(); i++)
      {
        DEPNode node = tree.get(i);
        DEPNode head = tree.get(headIDs[i-1]);
        String  label = deprels[i-1];
        node.setHead(head, label);
      }
     
      tree.initSHeads();
     
      // Run the SRL
      identifier.process(tree);
      classifier.process(tree);
      srlabeler.process(tree);
View Full Code Here

Examples of com.googlecode.clearnlp.dependency.DEPTree

  @Override
  public void process(JCas jCas) throws AnalysisEngineProcessException {
    for (Sentence sentence : JCasUtil.select(jCas, Sentence.class)) {
      List<BaseToken> tokens = JCasUtil.selectCovered(jCas, BaseToken.class, sentence);
      DEPTree tree = new DEPTree();

      // Convert CAS data into structures usable by ClearNLP
      for (int i = 0; i < tokens.size(); i++) {
        BaseToken token = tokens.get(i);
        DEPNode node = new DEPNode(i+1, token.getCoveredText());
        tree.add(node);
      }

      // Run parser and convert output back to CAS friendly data types
      postagger.process(tree);
     
      for (int i = 0; i < tokens.size(); i++) {
        BaseToken token = tokens.get(i);
        DEPNode node = tree.get(i+1);
        token.setPartOfSpeech(node.pos);
      }
     
    }
   
View Full Code Here

Examples of com.googlecode.clearnlp.dependency.DEPTree

  @Override
  public void process(JCas jCas) throws AnalysisEngineProcessException {
    for (Sentence sentence : JCasUtil.select(jCas, Sentence.class)) {
      List<BaseToken> tokens = JCasUtil.selectCovered(jCas, BaseToken.class, sentence);
      DEPTree tree = new DEPTree();

      // Convert CAS data into structures usable by ClearNLP
      for (int i = 0; i < tokens.size(); i++) {
        BaseToken token = tokens.get(i);
        String lemma = useLemmatizer ? lemmatizer.getLemma(token.getCoveredText(), token.getPartOfSpeech()) : token.getNormalizedForm();
        DEPNode node = new DEPNode(i+1, token.getCoveredText(), lemma, token.getPartOfSpeech(), new DEPFeat());
        tree.add(node);
      }

      // Run parser and convert output back to CAS friendly data types
      parser.process(tree);
      ArrayList<ConllDependencyNode> nodes = ClearDependencyUtility.convert(jCas, tree, sentence, tokens);
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.