句法分析
一般而言,句法分析分为两个主要的方向:
一是句法结构分析,或称成分句法分析、短语句法分析,亦即context-free grammers(CFGs),将语句视为嵌套的短语组合:
Basic unit: words
the, cat, cuddly, by, door
det, N, Adj, P, N
Words combine into phrases
the cuddly cat, by the door
NP -> Det Adj N,PP -> P NP
Phrases can combine into bigger phrases
the cuddly cat by the door
NP -> NP PP
使用语法树表示更为方便:
一是依存分析,研究单词之间的依赖关系:
同样,依存关系也适于用树来表达:
首先来看看CFGs。
CFGs
CFGs的定义包括四个集合:
N:有限的非终端语法标识的集合,亦即语法树上非叶子结点的集合。
S:起始标识
E:有限的终端标识集合,也是语句中所有单词的集合,位于句法树的叶子结点。但是要注意,句法树的叶子节点允许为空。
R:构建句法树的有限个规则的集合,表述了句法树的构建过程。
即G=(N,E,S,R)
例:
基于以上集合可构建句法树:
但是,构建过程也可能会有歧义:
left-most derivation是句法树构建过程中的一串序列,例:
s1=S
s2=NP VP.(基于规则s->NP VP)
s3=DT NN VP(nP->DT NN)
s4=the NN VP(DT->the)
s5=the man VP(NN->man)
s6=the man Vi(VP->Vi)
s7=the