se.lth.cs.srl.corpus.Yield.<init>()方法的使用及代码示例

x33g5p2x  于2022-02-05 转载在 其他  
字(3.0k)|赞(0)|评价(0)|浏览(93)

本文整理了Java中se.lth.cs.srl.corpus.Yield.<init>()方法的一些代码示例,展示了Yield.<init>()的具体用法。这些代码示例主要来源于Github/Stackoverflow/Maven等平台,是从一些精选项目中提取出来的代码,具有较强的参考意义,能在一定程度帮忙到你。Yield.<init>()方法的具体详情如下:
包路径:se.lth.cs.srl.corpus.Yield
类名称:Yield
方法名:<init>

Yield.<init>介绍

暂无

代码示例

代码示例来源:origin: com.googlecode.mate-tools/srl

/**
 * Returns the yield of this word, ie the complete phrase that defines the argument,
 * with respect to the predicate. It follows algorithm 5.3 in Richard Johansson (2008), page 88
 * @param pred The predicate of the proposition, required to deduce the yield
 * @return the Yield
 */
public Yield getYield(Predicate pred,String argLabel,Set<Word> argSet){
  Yield ret=new Yield(pred,mySentence,argLabel);
  ret.add(this);
  if(pred==this) //If the predicate is the argument, we don't consider the yield
    return ret;
  for(Word child:children){
    if(!argSet.contains(child)){ //We don't branch down this child if 
      Collection<Word> subtree=getDominated(Arrays.asList(child));
      if(!subtree.contains(pred))
        ret.addAll(subtree);
    }
  }
  //ret.addAll(getDominated(children));
  return ret;
}

代码示例来源:origin: microth/PathLSTM

public Yield getYield(Word pred, String argLabel, Set<Word> argSet) {
  Yield ret = new Yield(pred, mySentence, argLabel);
  ret.add(this);
  if (pred.idx == this.idx) // If the predicate is the argument, we don't
                // consider the yield
    return ret;
  Set<Integer> args = new TreeSet<>();
  for (Word w : argSet)
    args.add(w.getIdx());
  for (Word child : children) {
    if (!args.contains(child.idx)) { // We don't branch down this child
                      // if
      Collection<Word> subtree = getDominated(Arrays.asList(child));
      boolean containspred = false;
      for (Word w : subtree)
        if (w.idx == pred.idx)
          containspred = true;
      if (!containspred)
        // if(!subtree.contains(mySentence.get(pred.idx)));
        ret.addAll(subtree);
    }
  }
  // ret.addAll(getDominated(children));
  return ret;
}

代码示例来源:origin: microth/PathLSTM

Collection<Yield> ret = new TreeSet<>();
String curArgLabel = argLabel;
Yield subYield = new Yield(pred, sen, curArgLabel);
for (int i = this.first().idx; i <= this.last().idx; ++i) {
  Word curWord = sen.get(i);
    subYield = new Yield(pred, sen, curArgLabel);

代码示例来源:origin: com.googlecode.mate-tools/srl

/**
   * Breaks this yield down to continuous yields if this yield is discontinuous, otherwise it returns itself in a list.
   * Yields are labeled lab, C-lab, C-C-lab, etc in a sequential manner from left to right.
   * It follows algorithm 5.3 in Richard Johansson (2008), page 88
   * @return a collection of continuous yields 
   */
  public Collection<Yield> explode() {
    if(isContinuous())
      return Arrays.asList(this);
    Collection<Yield> ret=new TreeSet<Yield>();
    String curArgLabel=argLabel;
    Yield subYield=new Yield(pred,sen,curArgLabel);
    for(int i=sen.indexOf(this.first());i<=sen.indexOf(this.last());++i){
      Word curWord=sen.get(i);
      if(this.contains(curWord)){ //If this yield contain the word, add it, it's continuous.
        subYield.add(curWord);
      } else if(!subYield.isEmpty()) {   //If this yield doesn't contain the word, and we have an unempty subyield, then the subyield is completed
        ret.add(subYield);
        curArgLabel="C-"+curArgLabel;
        subYield=new Yield(pred,sen,curArgLabel);
      }
    }
    if(!subYield.isEmpty()) //Add the last subyield
      ret.add(subYield);
    return ret;
  }
}

相关文章