【发布时间】:2012-10-04 18:21:44
【问题描述】:
我必须实现水平标记化(NLP 概念),但我在理解树的样子时遇到了一些麻烦。我一直在阅读Klein and Manning paper,但他们没有解释具有 2 阶或 3 阶水平标记化的树会是什么样子。有人可以阐明算法以及树应该是什么样子吗?我对 NLP 比较陌生。
【问题讨论】:
标签: parsing tree nlp context-free-grammar
我必须实现水平标记化(NLP 概念),但我在理解树的样子时遇到了一些麻烦。我一直在阅读Klein and Manning paper,但他们没有解释具有 2 阶或 3 阶水平标记化的树会是什么样子。有人可以阐明算法以及树应该是什么样子吗?我对 NLP 比较陌生。
【问题讨论】:
标签: parsing tree nlp context-free-grammar
所以,假设您有一堆扁平规则,例如:
NP
NNP
NNP
NNP
NNP
或
VP
V
Det
NP
当您对这些进行二值化时,您希望保留上下文(即,这不仅仅是一个 Det,而是一个作为 VP 一部分的 Verb 之后的 Det)。为此,您通常使用如下注释:
NP
NNP
NP->NNP
NNP
NP->NNP->NNP
NNP
NP->NNP->NNP->NNP
NNP
或
VP
V
VP->V
Det
VP->V->Det
NP
您需要对树进行二值化,但这些注释并不总是很有意义。它们对于动词短语的例子可能有些意义,但你真正关心的只是名词短语可以是相当长的专有名词串(例如“Peter B. Lewis Building”或“Hope Memorial Bridge Project”周年纪念日”)。因此,使用水平马尔可夫化,您将稍微折叠一些注释,丢弃一些上下文。 Markovization 的顺序是您要保留的上下文的数量。因此,使用普通注释,您基本上处于无限顺序:选择保留所有上下文并且不折叠任何内容。
Order 0 意味着你将删除所有上下文,你会得到一棵没有花哨注释的树,如下所示:
NP
NNP
NNP
NNP
NNP
NNP
NNP
NNP
顺序 1 意味着您将只保留一个上下文术语,并且您会得到这样的树:
NP
NNP
NP->...NNP **one term: NP->**
NNP
NP->...NNP **one term: NP->**
NNP
NP->...NNP **one term: NP->**
NNP
顺序 2 意味着您将保留两个上下文术语,并且您会得到这样的树:
NP
NNP
NP->NNP **two terms: NP->NNP**
NNP
NP->NNP->...NNP **two terms: NP->NNP->**
NNP
NP->NNP->...NNP **two terms: NP->NNP->**
NNP
【讨论】:
我相信这个想法是在估计规则概率时考虑垂直标记的父节点和水平的兄弟节点,并且顺序表明其中包括了多少。有一张不错的图供父注解here。
另外,引用http://www.timothytliu.com/files/NLPAssignment5.pdf:
为了接近词汇化,将更多信息添加到父级 每棵树的节点。这正确区分了不同的 附件以及是否向左分支或向右分支。 水平马尔可夫化是通过跟踪兄弟姐妹来完成的 因为树是二值化的。垂直马尔可夫化是通过 跟踪树中节点的父节点。这些创造了新的 依赖关系,因为现在规则是深度和 广度。
【讨论】: