我有一个句子和语法树的形式。我需要从它训练一个概率上下文无关的语法,这样我就可以给它最好的解析。 我使用Viterbi-CKY算法来获得最好的解析。 这些句子的格式如下: (顶部(NP(DT The)(NN航班))(VP(MD should)(VP(VB be)(NP(CD十一)(RBA.m))(NP(NN明天)))(PUNC.)
我已经建立了一个系统,从宾州树库的ATIS部分学习了概率语法,现在可以给出上面句子的可能的解析输出。在
我读过关于水平和垂直标记技术的文章,这些技术可以通过使用注释来帮助提高准确性。 我对它们的工作原理有点困惑。 有人能给我一些解释性的例子或说明它们是如何工作的,以及它们是如何影响准确性的吗。在
值得一看克莱恩和曼宁的这篇论文:
http://nlp.stanford.edu/~manning/papers/unlexicalized-parsing.pdf
垂直标记是一种为给定规则提供上下文的技术。根据上述文件:
通过使用这个额外的父注释重写这些规则,我们添加了关于您要重写的规则的位置的信息,这些附加信息提供了一个更准确的重写特定规则的概率。在
它的实现非常简单。使用训练数据,从底部的非终端开始(这些规则重写到终端,如DT、NNP、NN、VB等),并附加一个^,后跟其父非终端。在您的示例中,第一次重写将是NP^S,依此类推。继续向上爬,直到到达顶部(您不会重写)。在你的例子中,最后的重写将是S^TOP。剥离输出上的标记将得到最终的解析树。在
至于水平标记,请参见下面的帖子进行讨论: Horizontal Markovization。在
相关问题 更多 >
编程相关推荐