• 设为首页
  • 点击收藏
  • 手机版
    手机扫一扫访问
    迪恩网络手机版
  • 关注官方公众号
    微信扫一扫关注
    迪恩网络公众号

Java HeadFinder类代码示例

原作者: [db:作者] 来自: [db:来源] 收藏 邀请

本文整理汇总了Java中edu.stanford.nlp.trees.HeadFinder的典型用法代码示例。如果您正苦于以下问题:Java HeadFinder类的具体用法?Java HeadFinder怎么用?Java HeadFinder使用的例子?那么恭喜您, 这里精选的类代码示例或许可以为您提供帮助。



HeadFinder类属于edu.stanford.nlp.trees包,在下文中一共展示了HeadFinder类的20个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于我们的系统推荐出更棒的Java代码示例。

示例1: makeConcreteCParse

import edu.stanford.nlp.trees.HeadFinder; //导入依赖的package包/类
/**
 * Whenever there's an empty parse, this method will set the required
 * constituent list to be an empty list. It's up to the caller on what to do
 * with the returned Parse.
 *
 * @param n
 *          is the number of tokens in the sentence
 *
 * @throws AnalyticException
 */
private Parse makeConcreteCParse(Tree root, int n, UUID tokenizationUUID, HeadFinder hf) throws AnalyticException {
  int left = 0;
  int right = root.getLeaves().size();
  if (right != n)
    throw new AnalyticException("number of leaves in the parse (" + right + ") is not equal to the number of tokens in the sentence (" + n + ")");

  Parse p = new ParseFactory(this.gen).create();
  TheoryDependencies deps = new TheoryDependencies();
  deps.addToTokenizationTheoryList(tokenizationUUID);
  AnnotationMetadata md = new AnnotationMetadata("Stanford CoreNLP", Timing.currentLocalTime(), 1);
  p.setMetadata(md);
  constructConstituent(root, left, right, n, p, tokenizationUUID, hf);
  if (!p.isSetConstituentList()) {
    LOGGER.warn("Setting constituent list to compensate for the empty parse for tokenization id {} and tree {}", tokenizationUUID, root);
    p.setConstituentList(new ArrayList<Constituent>());
  }
  return p;
}
 
开发者ID:hltcoe,项目名称:concrete-stanford-deprecated2,代码行数:29,代码来源:PreNERCoreMapWrapper.java


示例2: UnlabeledAttachmentEval

import edu.stanford.nlp.trees.HeadFinder; //导入依赖的package包/类
public UnlabeledAttachmentEval(String str, boolean runningAverages, HeadFinder headFinder, Filter<String> punctRejectFilter) {
  super(str, runningAverages);
  this.headFinder = headFinder;
  this.punctRejectWordFilter = punctRejectFilter;
 
  this.punctRejectFilter = new Filter<Dependency<Label,Label,Object>>() {
    private static final long serialVersionUID = 649358302237611081L;
    // Semantics of this method are weird. If accept() returns true, then the dependent is
    // *not* a punctuation item. This filter thus accepts everything except punctuation
    // dependencies.
    public boolean accept(Dependency<Label, Label, Object> dep) {
      String depString = dep.dependent().value();
      return punctRejectWordFilter.accept(depString);
    }
  };
}
 
开发者ID:benblamey,项目名称:stanford-nlp,代码行数:17,代码来源:UnlabeledAttachmentEval.java


示例3: PreNERCoreMapWrapper

import edu.stanford.nlp.trees.HeadFinder; //导入依赖的package包/类
/**
 *
 */
public PreNERCoreMapWrapper(final CoreMap cm, final HeadFinder hf, final AnalyticUUIDGenerator gen) {
  this.wrapper = new CoreMapWrapper(cm, gen);
  this.hf = hf;
  this.tree = Optional.ofNullable(cm.get(TreeAnnotation.class));
  this.basicDeps = Optional.ofNullable(cm.get(BasicDependenciesAnnotation.class));
  this.colDeps = Optional.ofNullable(cm.get(CollapsedDependenciesAnnotation.class));
  this.colCCDeps = Optional.ofNullable(cm.get(CollapsedCCProcessedDependenciesAnnotation.class));
  this.gen = gen;
}
 
开发者ID:hltcoe,项目名称:concrete-stanford-deprecated2,代码行数:13,代码来源:PreNERCoreMapWrapper.java


示例4: annotationToSentenceList

import edu.stanford.nlp.trees.HeadFinder; //导入依赖的package包/类
private static List<Sentence> annotationToSentenceList(Annotation anno, HeadFinder hf, final List<Sentence> origSentListRef, final AnalyticUUIDGenerator gen)
    throws AnalyticException {
  List<Sentence> slist = new ArrayList<>();
  List<CoreMap> cmList = anno.get(SentencesAnnotation.class);
  final int cmListSize = cmList.size();
  for (int i = 0; i < cmListSize; i++) {
    CoreMap cm = cmList.get(i);
    Sentence orig = origSentListRef.get(i);
    final int sentOff = orig.getTextSpan().getStart();
    Sentence merged = new PreNERCoreMapWrapper(cm, hf, gen).toSentence(sentOff, orig);
    slist.add(merged);
  }

  return slist;
}
 
开发者ID:hltcoe,项目名称:concrete-stanford-deprecated2,代码行数:16,代码来源:ConcreteStanfordPreCorefAnalytic.java


示例5: headFinder

import edu.stanford.nlp.trees.HeadFinder; //导入依赖的package包/类
/**
 * returns a NegraHeadFinder
 */
@Override
public HeadFinder headFinder() {
  return new TigerHeadFinder();

  //return new NegraHeadFinder();
  //return new LeftHeadFinder();
}
 
开发者ID:FabianFriedrich,项目名称:Text2Process,代码行数:11,代码来源:NegraPennTreebankParserParams.java


示例6: tigerSemanticHeadFinder

import edu.stanford.nlp.trees.HeadFinder; //导入依赖的package包/类
/** Vends a "semantic" NegraHeadFinder---one that disprefers modal/auxiliary verbs as the heads of S or VP.
 * 
 * @return a NegraHeadFinder that uses a "semantic" head-finding rule for the S category. 
 */
public static HeadFinder tigerSemanticHeadFinder() {
  TigerHeadFinder result = new TigerHeadFinder();
  result.nonTerminalInfo.put("S", new String[][]{{result.right,  "VVFIN",  "VVIMP"}, {"right", "VP","CVP"}, { "right", "VMFIN", "VAFIN", "VAIMP"}, {"right", "S","CS"}}); 
  result.nonTerminalInfo.put("VP", new String[][]{{"right","VVINF","VVIZU","VVPP"}, {result.right, "VZ", "VAINF", "VMINF", "VMPP", "VAPP", "PP"}}); 
  result.nonTerminalInfo.put("VZ", new String[][]{{result.right,"VVINF","VAINF","VMINF","VVFIN","VVIZU"}}); // note that VZ < VVIZU is very rare, maybe shouldn't even exist.
  return result;
}
 
开发者ID:FabianFriedrich,项目名称:Text2Process,代码行数:12,代码来源:TigerHeadFinder.java


示例7: TregexParser

import edu.stanford.nlp.trees.HeadFinder; //导入依赖的package包/类
public TregexParser(java.io.Reader stream,
                    Function<String, String> basicCatFunction,
                    HeadFinder headFinder) {
  this(stream);
  this.basicCatFunction = basicCatFunction;
  this.headFinder = headFinder;
}
 
开发者ID:paulirwin,项目名称:Stanford.NER.Net,代码行数:8,代码来源:TregexParser.java


示例8: getRelation

import edu.stanford.nlp.trees.HeadFinder; //导入依赖的package包/类
/**
 * Static factory method for all relations with no arguments. Includes:
 * DOMINATES, DOMINATED_BY, PARENT_OF, CHILD_OF, PRECEDES,
 * IMMEDIATELY_PRECEDES, HAS_LEFTMOST_DESCENDANT, HAS_RIGHTMOST_DESCENDANT,
 * LEFTMOST_DESCENDANT_OF, RIGHTMOST_DESCENDANT_OF, SISTER_OF, LEFT_SISTER_OF,
 * RIGHT_SISTER_OF, IMMEDIATE_LEFT_SISTER_OF, IMMEDIATE_RIGHT_SISTER_OF,
 * HEADS, HEADED_BY, IMMEDIATELY_HEADS, IMMEDIATELY_HEADED_BY, ONLY_CHILD_OF,
 * HAS_ONLY_CHILD, EQUALS
 *
 * @param s The String representation of the relation
 * @return The singleton static relation of the specified type
 * @throws ParseException If bad relation s
 */
static Relation getRelation(String s,
                            Function<String, String> basicCatFunction,
                            HeadFinder headFinder)
  throws ParseException
{
  if (SIMPLE_RELATIONS_MAP.containsKey(s))
    return SIMPLE_RELATIONS_MAP.get(s);

  // these are shorthands for relations with arguments
  if (s.equals("<,")) {
    return getRelation("<", "1", basicCatFunction, headFinder);
  } else if (parentOfLastChild.matcher(s).matches()) {
    return getRelation("<", "-1", basicCatFunction, headFinder);
  } else if (s.equals(">,")) {
    return getRelation(">", "1", basicCatFunction, headFinder);
  } else if (lastChildOfParent.matcher(s).matches()) {
    return getRelation(">", "-1", basicCatFunction, headFinder);
  }

  // finally try relations with headFinders
  Relation r;
  if (s.equals(">>#")) {
    r = new Heads(headFinder);
  } else if (s.equals("<<#")) {
    r = new HeadedBy(headFinder);
  } else if (s.equals(">#")) {
    r = new ImmediatelyHeads(headFinder);
  } else if (s.equals("<#")) {
    r = new ImmediatelyHeadedBy(headFinder);
  } else {
    throw new ParseException("Unrecognized simple relation " + s);
  }

  return Interner.globalIntern(r);
}
 
开发者ID:paulirwin,项目名称:Stanford.NER.Net,代码行数:49,代码来源:Relation.java


示例9: negraSemanticHeadFinder

import edu.stanford.nlp.trees.HeadFinder; //导入依赖的package包/类
/** Vends a "semantic" NegraHeadFinder---one that disprefers modal/auxiliary verbs as the heads of S or VP.
 * 
 * @return a NegraHeadFinder that uses a "semantic" head-finding rule for the S category. 
 */
public static HeadFinder negraSemanticHeadFinder() {
  NegraHeadFinder result = new NegraHeadFinder();
  result.nonTerminalInfo.put("S", new String[][]{{result.right,  "VVFIN",  "VVIMP"}, {"right", "VP","CVP"}, { "right", "VMFIN", "VAFIN", "VAIMP"}, {"right", "S","CS"}}); 
  result.nonTerminalInfo.put("VP", new String[][]{{"right","VVINF","VVIZU","VVPP"}, {result.right, "VZ", "VAINF", "VMINF", "VMPP", "VAPP", "PP"}}); 
  result.nonTerminalInfo.put("VZ", new String[][]{{result.right,"VVINF","VAINF","VMINF","VVFIN","VVIZU"}}); // note that VZ < VVIZU is very rare, maybe shouldn't even exist.
  return result;
}
 
开发者ID:benblamey,项目名称:stanford-nlp,代码行数:12,代码来源:NegraHeadFinder.java


示例10: main

import edu.stanford.nlp.trees.HeadFinder; //导入依赖的package包/类
public static void main(String[] args) {
  // simple testing code
  Treebank treebank = new DiskTreebank();
  CategoryWordTag.suppressTerminalDetails = true;
  treebank.loadPath(args[0]);
  final HeadFinder chf = new NoPunctuationHeadFinder();
  treebank.apply(new TreeVisitor() {
    public void visitTree(Tree pt) {
      pt.percolateHeads(chf);
      pt.pennPrint();
      System.out.println();
    }
  });
}
 
开发者ID:benblamey,项目名称:stanford-nlp,代码行数:15,代码来源:NoPunctuationHeadFinder.java


示例11: constructConstituent

import edu.stanford.nlp.trees.HeadFinder; //导入依赖的package包/类
/**
 *
 * @param root
 * @param left
 * @param right
 * @param n
 *          is the length of the sentence is tokens.
 * @param p
 * @param tokenizationUUID
 * @return The constituent ID
 * @throws AnalyticException
 */
private static int constructConstituent(Tree root, int left,
    int right, int n, Parse p, UUID tokenizationUUID, HeadFinder hf)
    throws AnalyticException {

  Constituent constituent = new Constituent();
  constituent.setId(p.getConstituentListSize());
  constituent.setTag(root.value());
  constituent.setStart(left);
  constituent.setEnding(right);
  p.addToConstituentList(constituent);
  Tree headTree = null;
  if (!root.isLeaf()) {
    try {
      headTree = hf.determineHead(root);
    } catch (java.lang.IllegalArgumentException iae) {
      LOGGER.warn("Failed to find head, falling back on rightmost constituent.", iae);
      headTree = root.children()[root.numChildren() - 1];
    }
  }
  int i = 0, headTreeIdx = -1;

  int leftPtr = left;
  for (Tree child : root.getChildrenAsList()) {
    int width = child.getLeaves().size();
    int childId = constructConstituent(child, leftPtr, leftPtr
        + width, n, p, tokenizationUUID, hf);
    constituent.addToChildList(childId);

    leftPtr += width;
    if (headTree != null && child == headTree) {
      assert (headTreeIdx < 0);
      headTreeIdx = i;
    }
    i++;
  }

  if (headTreeIdx >= 0)
    constituent.setHeadChildIndex(headTreeIdx);

  if (!constituent.isSetChildList())
    constituent.setChildList(new ArrayList<Integer>());
  return constituent.getId();
}
 
开发者ID:hltcoe,项目名称:concrete-stanford-deprecated2,代码行数:56,代码来源:PreNERCoreMapWrapper.java


示例12: headFinder

import edu.stanford.nlp.trees.HeadFinder; //导入依赖的package包/类
/** {@inheritDoc} */
public HeadFinder headFinder() {
  return new TueBaDZHeadFinder();
}
 
开发者ID:FabianFriedrich,项目名称:Text2Process,代码行数:5,代码来源:TueBaDZLanguagePack.java


示例13: headFinder

import edu.stanford.nlp.trees.HeadFinder; //导入依赖的package包/类
/** {@inheritDoc} */
public HeadFinder headFinder() {
  return new TigerHeadFinder(this);
}
 
开发者ID:FabianFriedrich,项目名称:Text2Process,代码行数:5,代码来源:NegraPennLanguagePack.java


示例14: setHeadFinder

import edu.stanford.nlp.trees.HeadFinder; //导入依赖的package包/类
static void setHeadFinder(HeadFinder hf) {
  headFinder = hf;
}
 
开发者ID:FabianFriedrich,项目名称:Text2Process,代码行数:4,代码来源:Relation.java


示例15: main

import edu.stanford.nlp.trees.HeadFinder; //导入依赖的package包/类
/**
 * For testing.
 */
public static void main(String[] args) {
  if (args.length < 2) {
    System.err.println("usage: Relation treebank numberRanges");
    return;
  }
  FileFilter testFilt = new NumberRangesFileFilter(args[1], true);
  TreeReaderFactory trf = new PennTreeReaderFactory(new NPTmpRetainingTreeNormalizer());
  DiskTreebank testTreebank = new DiskTreebank(trf);
  testTreebank.loadPath(new File(args[0]), testFilt);
  HeadFinder hf = new ModCollinsHeadFinder();
  List<Relation> relations = new ArrayList<Relation>();
  relations.addAll(Arrays.asList(SIMPLE_RELATIONS));
  relations.add(new HasIthChild(2));
  relations.add(new HasIthChild(-1));
  relations.add(new IthChildOf(1));
  relations.add(new IthChildOf(-2));
  relations.add(new HeadedBy(hf));
  relations.add(new Heads(hf));
  relations.add(new ImmediatelyHeadedBy(hf));
  relations.add(new ImmediatelyHeads(hf));
  relations.add(new UnbrokenCategoryDominates("NP"));
  relations.add(new UnbrokenCategoryDominates("VP"));
  relations.add(new UnbrokenCategoryIsDominatedBy("NP"));
  relations.add(new UnbrokenCategoryIsDominatedBy("VP"));
  int trees = 0, subtrees = 0;
  for (Tree root : testTreebank) {
    for (Tree tree : root.subTrees()) {
      boolean error = false;
      for (Relation relation : relations) {
        error = error || relation.testRelation(tree, root);
      }
      if (error) {
        System.err.println("Tree: ");
        root.pennPrint(System.err);
        System.err.println();
        System.err.println("SubTree: ");
        tree.pennPrint(System.err);
        System.err.println();
        System.exit(0);
      }
      subtrees++;
    }
    trees++;
  }
  System.out.println("Tested all relations on " + subtrees
      + " subtrees in " + trees + " trees with no errors.");
}
 
开发者ID:FabianFriedrich,项目名称:Text2Process,代码行数:51,代码来源:Relation.java


示例16: Heads

import edu.stanford.nlp.trees.HeadFinder; //导入依赖的package包/类
Heads(HeadFinder hf) {
  super(">>#");
  this.hf = hf;
}
 
开发者ID:FabianFriedrich,项目名称:Text2Process,代码行数:5,代码来源:Relation.java


示例17: HeadedBy

import edu.stanford.nlp.trees.HeadFinder; //导入依赖的package包/类
HeadedBy(HeadFinder hf) {
  super("<<#");
  this.heads = Interner.globalIntern(new Heads(hf));
}
 
开发者ID:FabianFriedrich,项目名称:Text2Process,代码行数:5,代码来源:Relation.java


示例18: ImmediatelyHeads

import edu.stanford.nlp.trees.HeadFinder; //导入依赖的package包/类
ImmediatelyHeads(HeadFinder hf) {
  super(">#");
  this.hf = hf;
}
 
开发者ID:FabianFriedrich,项目名称:Text2Process,代码行数:5,代码来源:Relation.java


示例19: ImmediatelyHeadedBy

import edu.stanford.nlp.trees.HeadFinder; //导入依赖的package包/类
ImmediatelyHeadedBy(HeadFinder hf) {
  super("<#");
  this.immediatelyHeads = Interner
      .globalIntern(new ImmediatelyHeads(hf));
}
 
开发者ID:FabianFriedrich,项目名称:Text2Process,代码行数:6,代码来源:Relation.java


示例20: ChineseGrammaticalStructureFactory

import edu.stanford.nlp.trees.HeadFinder; //导入依赖的package包/类
public ChineseGrammaticalStructureFactory(Filter<String> puncFilter, HeadFinder hf) {
  this.puncFilter = puncFilter;
  this.hf = hf;
}
 
开发者ID:paulirwin,项目名称:Stanford.NER.Net,代码行数:5,代码来源:ChineseGrammaticalStructureFactory.java



注:本文中的edu.stanford.nlp.trees.HeadFinder类示例整理自Github/MSDocs等源码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。


鲜花

握手

雷人

路过

鸡蛋
该文章已有0人参与评论

请发表评论

全部评论

专题导读
上一篇:
Java RecompilableScriptFunctionData类代码示例发布时间:2022-05-22
下一篇:
Java OpenSessionInViewFilter类代码示例发布时间:2022-05-22
热门推荐
阅读排行榜

扫描微信二维码

查看手机版网站

随时了解更新最新资讯

139-2527-9053

在线客服(服务时间 9:00~18:00)

在线QQ客服
地址:深圳市南山区西丽大学城创智工业园
电邮:jeky_zhao#qq.com
移动电话:139-2527-9053

Powered by 互联科技 X3.4© 2001-2213 极客世界.|Sitemap