【问题标题】:checking if a sentence is grammatically correct using stanford parser [duplicate]使用斯坦福解析器检查句子是否语法正确[重复]
【发布时间】:2013-03-07 16:36:45
【问题描述】:

有没有什么方法可以使用斯坦福解析器检查一个句子的语法是否正确?到目前为止,我能够使用斯坦福解析器获得句子的解析树。我被困在这里,不知道如何继续。

【问题讨论】:

  • 这不是像斯坦福这样的解析器所设计的——它们是为强大的解析而构建的,即使在面对不合语法的输入时也是如此。请参阅FAQ
  • 那么,如何检查一个句子的语法是否正确呢?有什么手续吗?
  • 谷歌搜索“Python 语法检查器”。我没有解决这个问题的实际经验,所以我不能推荐任何特定的工具。

标签: python nlp grammar nltk stanford-nlp


【解决方案1】:

larsmans 说得对,这些解析器不是为此而设计的,但这里有一个 hack:

您可以尝试使用解析器“信心”。每个概率解析器计算不同标签的概率并分配最可能的序列。我已经用一个词性标注器(http://www.ark.cs.cmu.edu/TweetNLP/)尝试了这个,其中每个标签都被分配了一些置信度(0.93、0.45等),我计算了一个句子中所有标签的平均置信度并将其与一些标签进行比较置信度阈值(基于语料库中的其他句子)。

显然,如果标签的置信度不够高,我会认为该句子在语法上是不正确的。经过一些启发式方法——比如处理标点符号或一个单词的句子——它对我有用。

Stanford 解析器是概率性的,可以肯定地计算概率,但我无法得到它的置信度。也许您必须深入研究,看看如何才能暴露它。

【讨论】:

  • 你能分享任何示例代码,以便我可以参考..谢谢
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2016-04-30
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2014-03-06
  • 1970-01-01
  • 2013-05-07
相关资源
最近更新 更多