句法分析是自然语言处理中的关键技术之一,其基本任务是确定句子的句法结构或者句子中词汇之间的依存关系。
主要包括两方面的内容:
句法分析需要遵循某一语法体系,根据该体系的语法确定语法树的表示形式,如:
西门子将努力参与中国的三峡工程建设。
短语结构树由终节点、非终结点以及短语标记三部分组成。分句语法规则,若干终结点构成一个短语,作为非终结点参与下一次规约,直至结束。
依存语法的结构没有非终结点,词与词之间直接发生依存关系,构成一个依存对,其中一个是核心词,也叫支配词,另一个叫修饰词,也叫从属词。 依存关系用一个有向弧表示,叫做依存弧。依存弧的方向为由从属词指向支配词,当然反过来也是可以的,按个人习惯统一表示即可。
从分析结果中我们可以看到,句子的核心谓词为“提出”,主语是“李克强”,提出的宾语是“支持上海…”,“调研…时”是“提出”的 (时间) 状语,“李克强”的修饰语是“国务院总理”,“支持”的宾语是“探索 新机制”。有了上面的句法分析结果,我们就可以比较容易的看到,“提出者”是“李克强”,而不是“上海”或“外高桥”,即使它们都是名词,而且距离“提出”更近。
依存句法通过分析语言单位内成分之前的依存关系解释其句法结构,主张句子中核心动词是支配其他成分的中心成分。而它本身却不受其他任何成分的支配,所有受支配成分都以某种关系从属于支配者。
依存句法分析通常满足3个约束:
(1)一个句子中只有一个成分是独立的 (2)句子的其他成分都从属于某一成分 (3)任何一个成分都不能依存于两个或两个以上的成分 (4)如果成分A直接从属成分B,而成分C在句子中位于A和B之间,那么,成分C或者从属于A,或者从属于B,或者从属于A 和B之间的某一成分 (5)中心成分左右两边的其他成分相互不发生关系
一共14种,具体含义如下:
输入:句子 输出:分值最高的依存树。
因此其包含两个基本问题:
6.1. 基于图的依存句法分析方法
6.2. 基于转移的依存句法分析方法
6.3 两种方式对比
转移系统:初始状态—(状态转移动作)—>n个中间状态----(状态转移动作)---->接受状态,将一个状态表示为<栈,缓存,已分析好的依存弧>
初始状态:栈中只有伪词 w0 , 整个词语都在缓存中,没有依存弧。
接受状态:栈中只有伪词,缓存清空,所有的依存弧。
状态转移动作:移进,左规约,右规约。
移进表示将缓存中的第一个词移入栈中。
栈中词从左往右排序【…,X3,X2,X1】,栈顶词为X1,后进先出。 左规约表示栈顶的第一个词与第二个词产生了左指向依存弧,即第一个词依存于第二个词,将栈顶第二个词(核心词)下栈。
右规约表示栈顶第一个词与第二个词产生了右指向依存弧,即第二个次依存于第一个词,将栈顶第一个词下栈。