Jos*_*ley 6 tree parsing nlp context-free-grammar
我必须实现水平标记(NLP概念),并且我在理解树的外观方面有点麻烦.我一直在阅读Klein和Manning的论文,但他们没有解释具有2阶或3阶水平标记的树会是什么样子.有人可以对算法有所了解吗?看起来树是什么样的?我对NLP比较陌生.
Foo*_*eth 11
所以,假设你有一堆平常规则,如:
NP
NNP
NNP
NNP
NNP
Run Code Online (Sandbox Code Playgroud)
要么
VP
V
Det
NP
Run Code Online (Sandbox Code Playgroud)
当您对这些进行二值化时,您希望保留上下文(即,这不仅仅是一个Det,而是一个Det作为VP的一部分跟随动词).要这样做,通常使用这样的注释:
NP
NNP
NP->NNP
NNP
NP->NNP->NNP
NNP
NP->NNP->NNP->NNP
NNP
Run Code Online (Sandbox Code Playgroud)
要么
VP
V
VP->V
Det
VP->V->Det
NP
Run Code Online (Sandbox Code Playgroud)
您需要对树进行二值化,但这些注释并不总是非常有意义.对于动词短语的例子,它们可能有些意义,但你真正关心的另一个是名词短语可以是一长串专有名词(例如"Peter B. Lewis Building"或"Hope Memorial Bridge Project"周年").因此,使用水平马尔图化,您将略微折叠一些注释,丢弃一些上下文.Markovization的顺序是您要保留的上下文量.因此,通过正常注释,您基本上处于无限顺序:选择保留所有上下文并且不进行任何折叠.
0阶意味着你要删除所有上下文,你得到的树没有花哨的注释,如下所示:
NP
NNP
NNP
NNP
NNP
NNP
NNP
NNP
Run Code Online (Sandbox Code Playgroud)
订单1意味着您只保留一个上下文术语,并且您得到这样的树:
NP
NNP
NP->...NNP **one term: NP->**
NNP
NP->...NNP **one term: NP->**
NNP
NP->...NNP **one term: NP->**
NNP
Run Code Online (Sandbox Code Playgroud)
第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
Run Code Online (Sandbox Code Playgroud)