当前位置: 首页 > 面试题库 >

使用Stanford Parser获得句子的K个最佳解析

墨财
2023-03-14
问题内容

我想拥有一个句子的K个最佳解析,我认为这可以通过ExhaustivePCFGParser类来完成,问题是我不知道如何使用该类,更确切地说,我可以实例化该类吗?(构造函数是:ExhaustivePCFGParser(BinaryGrammar
bg,UnaryGrammar ug,Lexicon lex,Options op,Index stateIndex,Index
wordIndex,Index tagIndex))但我不知道如何适合所有这些参数

有没有更简单的方法来获得K个最佳解析?


问题答案:

通常,您通过一个LexicalizedParser对象来执行操作,该对象是提供所有这些功能的“语法”(语法,词典,索引等)。

在命令行中,将执行以下操作:

java -mx500m -cp "*" edu.stanford.nlp.parser.lexparser.LexicalizedParser -printPCFGkBest 20 edu/stanford/nlp/models/lexparser/englishPCFG.ser.gz data/testsent.txt

在API级别,您需要获取一个LexicalizedParserQuery对象。拥有时LexicalizedParser lp(如中的ParserDemo.java),您可以执行以下操作:

LexicalizedParser lp = ... // Load / train a model
LexicalizedParserQuery lpq = lp.parserQuery();
lpq.parse(sentence);
List<ScoredObject<Tree>> kBest = lpq.getKBestPCFGParses(20);

A
LexicalizedParserQuery相当于Java
regex Matcher

注意:目前,kBest解析仅适用于PCFG(未分解语法)。



 类似资料:
  • 问题内容: 我有ID为的商品。现在我有如下数据。每行都有一个offerId。由数组中的组合组成。是那个的价值 现在,我必须选择所有给我提供最佳ID组合(即最大总折扣)的offerId。 例如,在上述情况下:可能的结果可能是: [o2,o4,o5]最大折扣为。 注意。结果offerId应该不会重复ID。id的示例为[1,3,4],[5],[6]都是不同的。 其他组合可以是: 其id为[1],[3,5

  • 问题内容: 我如何能够在oracle查询中为几个组获得N个结果。 例如,给定下表: 有更多行和更多职业。我想从每个职业中聘请三名员工(可以说)。 有没有不用子查询就可以做到这一点的方法? 问题答案: 这将产生所需的内容,并且不使用供应商特定的SQL功能(例如TOP N或RANK())。 在此示例中,它为三位雇员提供每个职业emp_id最低的值。您可以更改不等式比较中使用的属性,以使其按名称或其他方

  • 假设您有分层数据,并且希望获得单独属性的合并值,那么最优雅的,或者说groovy的方法是什么呢?

  • 问题内容: 我想知道,JavaScript提供了多种方法来从任何元素中获取第一个子元素,但是哪种方法最好呢?最好的意思是:在行为方面,大多数跨浏览器兼容,最快,最全面且可预测。我用作别名的方法/属性的列表: 这适用于两种情况: 在表单或迭代的情况下。如果我可能遇到文字元素: 据我所知,使用来自的NodeList ,并使用。我将这一假设基于MDN参考: 是对元素节点的第一个子元素的引用,或者如果不存

  • 我想知道,JavaScript提供了多种方法从任何元素中获取第一个子元素,但哪种方法最好?我所说的“最佳”是指:在行为方面,最兼容跨浏览器、最快、最全面、最可预测。我用作别名的方法/属性列表: 这适用于两种情况: 这是表单的情况,或