一、学习目标
1.了解句法分析中的依存关系分析方法的内容
2.学习如何评价分析结果
3.认识短语结构与依存关系的联系
4.对比英汉句法结构特点的不同
二、依存关系分析方法
1.什么是依存关系分析方法
在一节课中,我们学习了句法分析的短语结构分析方法,依存分析方法是另外一种句法分析方法。
依存关系方法认为:(1)谓词中的动词是一个句子的中心,(2)其他成分与动词是直接或间接地产生联系。(3)依存不仅指动词对其他词的支配,而是普遍地指词与词之间的关系,这种关系是有方向的。(4)对于动词,根据其能支配几个行动元,定义其是几价动词。
关于第(4)点,有以下例子:
关于第(3)点,有以下例子:
同样,我们可以用树结构来表示:(但一般还是上面的更常用)
2.依存关系分析法的约束:
依存语法被定义以下四条公理:
而表达在依存图或者依存树中,则是:
通俗的说:(1)和(3)保证其是一棵树,(2)保证这不是森林,(4)表示如下:(即不要出现交叉现象)
3.如何画一个依存图
画依存图的关键是找到中心词,即当前词的父节点应该是谁。以下是总结汉语单词的规律后得到的一些规律:
以下有两个例子:
其正确标注如下:
4.依存关系分析法的优势
三、依存关系分析方法实现
依存关系分析方法要完成的任务是:
目前拥有的方法有:(其中黄色为我们需要掌握的方法)
1.决策式分析方法
决策式分析方法的思想有点像贪心思想。具体思想如下:
一个十分经典的决策式分析方法是Arc-eager算法:
我们这里先认识三元组和4种操作,后面会有例子用以理解其是什么。然后4种操作的执行条件和操作流程的官方定义如下:(能直接看懂就很厉害,不懂还是看后面的例子)
2.Arc-eager算法的一个例子的流程图:
(1)由于栈为空,所以进行左移操作;
(2)由于“脚步”没有父节点,根据词典或者模型判断“声”支配“脚步”,于是执行左指操作;
(3)左指之后,栈为空,于是左移;
(4)同(2)理,进行左指;
(5)同(3)理,执行左移;
(6)“了”是用来形容“打断”的(这也是通过模型或者词典得到的),于是执行右指;
(7)“了”与“我”没有关系(词典或模型所得),于是进行规约;
(8)“打断我”是有可能被模型所认可的,但这里实际上应该“打断沉思”,需要有强模型才能判断得到。于是按正确的思想来,则认为“打断”与“我”没有关系,进行左移;
(9)“的”支配“我”(模型得到的),于是左指;
(10)“打断”与“的”无关,于是左移;
(11)“的”是形容“沉思”的,于是左指;
(12)“打断”支配“沉思”,于是右指;
(13)输入为空,“沉思”不会再右指,于是进行规约。End
通过以上例子的变化过程,可以了解该算法的总体思想了。其中可以发现:规约只会出现在右指之后,实际上,进行左指的操作就直接进行了规约。之所以不同来源于这个算法是一个从左至右的算法。而整体上的难点就在于词典或者模型如何精炼地得到两个词依存关系。
3.Acg-eager算法的优缺点
4.神经网络与决策方法的结合
主要问题:决策方法使用的特征主要是离散的,使用线性模型;而神经网络一般使用连续性的词向量作为基本特征。如何将二者结合起来是一个关键技术。
尝试一:直接结合(连续向量为词向量所得)
尝试二:连续向量离散化后结合
尝试三:连续向量降维后结合
四、分析结果评价指标
在句子层面:(判断句子正确了多少)
在语料库层面:(统计对了多少句子)
以一个例子来认识句子层面的三个正确率计算吧:
于是,计算得到的正确率如下:
五、句法结构转化依存关系的方法
以一个例子来说明:
(1)找到最底层的子树结构,即“这”和“本”,其他部分都是直指的。判断出“这”是支配“本”的(词典或模型判断),于是作出“这”->“本”;
(2)如果同层还有别的子树,则对这些树进行判断,如果没有,再上一层进行判断。即QM和NP这层,发现“书”是中心词,作出“书”->“这”;
(3)(4)(5)同理。