1、自然语言处理自然语言处理N a t u r a l L a n g u a g e P r o c e s s i n g第第 十十 章章 自 然 语 言 处 理 任 务 之自 然 语 言 处 理 任 务 之 语 言 分 析语 言 分 析目录Contents章节概述1小节介绍2本章总结3章节概述B A C K G R O U N DONE章节概述 在自然语言中,词语之间的联系往往能对句子的语义产生巨大的影响,语言分析(parsing)是自然语言处理技术的核心任务任意,其涉及语言学、计算语言学、机器学习,以及认知语言等多个学科。近年来,随着人工智能的发展,语言分析因其在下游任务应用广泛而变得越发
2、重要。章节概述目前对自然语言的分析主要涉及两个方向分别是语法分析、语义分析:指对输入的文本句子进行分析以得到句子的语法结构的处理过程。语言学家L.Tesnire认为,一切结构语法现象可以概括为关联、组合和转位这三大核心。句法关联建立起词与词之间的从属关系;组合表现为句子中单个单词组合为短语结构;转位指可以改变语句中单词的相对位置,而不改变语句原本含义的现象。对应于L.Tesnire对关联和组合的阐释,在自然语言处理领域,学术界将语法分析任务划分为了两个子任务依存句法分析(Dependency Parsing)和成分句法分析(Constituence Parsing)。语法分析语法分析 一种相对
3、于语法分析更为高层的语言分析过程,它是指将自然语言转换成为机器可以理解的意义表示。语义分析语义分析章节概述本章将首先分别介绍依存句法分析、成分句法分析、语义分析三项主要语言分析任务的发展概况、任务定义及任务评价标准。章节末尾罗列了近年来学术界在三项任务上的最新研究,旨在帮助读者更好地理解语言分析任务的重点和难点,在掌握基础知识的同时能够产生进一步的思考。TWO小节介绍S E C T I O N I N T R O D U C T I O N概况10.1 依存句法分析10.1.1任务定义10.1.210.1.3评价标准10.1.1 依存句法分析 概况 在自然语言处理中,我们有时需要知道句子中词与
4、词之间的依赖关系,通过这种依赖关系来建模句子的语法结构。如在关系抽取任务领域,存在一种利用依存句法树,查找关系实体单词之间的公共父结点单词,并使用此单词作为关系分类的重要特征的方法。经过实验发现,通过这种方法从句子中找到的单词往往可以作为关系的指示词,对关系预测具有决定性作用。这种用词与词之间的依存关系来描述语法结构的框架称为依存语法,又称从属关系语法。依存语法的本质是一种结构语法,它主要研究以谓词为中心构句时,由深层语义结构映现为表层语法结构的状况及条件。结合到具体的语言中,就是谓词与体词之间的关系,名词与动词间的主谓关系、谓宾关系,形容词与名词间的补语关系等。常用的依存句法结构图有三种:0
5、30201一个句子只有一个独立的成分;句子的其他成分都从属于某一成分;任何一个成分都不能依存于两个或两个以上的成分;1970年,计算机语言学家J.Robinson提出了依存句法的四条公理:04如果成分A直接从属于成分B,而成分C在句子中位于A和B之间,那么,成分C或者属于成分A,或者从属于B,或者从属于A和B之间的某一成分。10.1.1 依存句法分析 概况 这四条公理相当于对依存图和依存树的形式约束:单一父节点、连通、无环和可投射性,由此来保证句子的依存分析结果是一棵有根的树结构。030201非交条件:依存树的树枝不能彼此相交;单一父结点条件:除根节点没有父结点外,所有的结点都只有一个父结点;
6、独根结点条件:一个依存树只能有一个根结点,它支配其他结点;为了便于理解,我国学者经过总结上述公理,提出了依存句法树应满足的5个条件:04互斥条件:从上到下的支配关系和从左到右的前于关系之间是相互排斥的,如果两个结点之间存在着支配关系,它们就不能存在前于关系。10.1.1 依存句法分析 概况 05单纯结点条件:只有终结点,没有非终结点;K.Schubert(舒贝尔特)在研制多语言机器翻译系统DLT的工作中,从语言信息处理的角度出发,也提出了用于语言信息处理的依存语法12条原则:10.1.1 依存句法分析 概况 0504030201句法只与语言符号的形式有关;句法研究从语素到语篇各个层次的形式特征
7、;句子中的单词通过依存关系而相互关联;依存关系是一种有向的同现关系;单词的句法形式通过词法、构词法和词序来体现;06一个单词对于其它单词的句法功能通过依存关系来描述;K.Schubert(舒贝尔特)在研制多语言机器翻译系统DLT的工作中,从语言信息处理的角度出发,也提出了用于语言信息处理的依存语法12条原则:10.1.1 依存句法分析 概况 1110090807词组是作为一个整体与其它词和词组产生聚合关系的语言单位,而词组内部的各个单词之间存在着句法关系,形成语言组合体;一个语言组合体内部只有一个支配词,这个支配词代表该语言组合体与句子中的其它成分发生联系;句子的主支配词支配着句子中的其它词而
8、不受任何词的支配,除了主支配词之外,句子中的其它词只能有一个直接支配它的词;句子中的每一个词只在依存关系结构中出现一次;依存关系结构是一种真正的树结构;12在依存关系结构中应该避免出现空结点。常见的依存句法分析方法可分为生成式依存分析方法、判别式依存分析方法、确定性依存分析方法三类:10.1.1 依存句法分析 概况 01生成式依存分析方法 生成式依存分析方法采用联合概率模型生成一系列依存语法树,并赋予其概率分值,然后采用相关算法找到概率打分最高的分析结果作为最后输出:10.1.1 依存句法分析 概况 判别式依存分析方法 判别式依存分析方法采用条件概率模型,避开了联合概率模型所要求的独立性假设,
9、训练过程即寻找使目标函数(训练样本生成概率)最大的参数(类似Logistic回归和CRF)。0210.1.1 依存句法分析 概况 确定性依存分析方法 确定性依存分析方法以特定的方向逐次取一个待分析的词,为每次输入的词产生一个单一的分析结果,直至序列的最后一个词。这类算法在每一步的分析中都要根据当前分析状态做出决策(如判断其是否与前一个词发生依存关系),所以这种方法又被称为决策式分析方法。而在确定性分析方法中,近年来的依存分析方法又可以被划分为基于图的和基于转移的两类,其中又以基于转移的分析方法最为常用。0310.1.1 依存句法分析 概况 确定性依存分析方法 2003年,Yamada和Mats
10、umoto最先提出了使用SVM(Support Vector Machine)来训练基于转移的依存分析算法。他们根据三种分析行为(shift,right,left)对输入的句子进行从左到右顺序构建一颗依存树,他们的算法属于自底向上的分析算法。分析器算法分为两步:1.使用目标节点周围上下文信息估计合适的分析行为;2.依据所执行的行为构建一个依存树。03概况10.1 依存句法分析10.1.1任务定义10.1.210.1.3评价标准10.1.2 依存句法分析 任务定义 在自然语言处理领域,依存句法分析任务可以看做是给定输入句子S=_0 _1 _2_n,使得句子中每一个词_i都依赖于另一个词_j,并分
11、辨依赖关系的类型,以构建对应于整个句子的依赖树的任务。概况10.1 依存句法分析10.1.1任务定义10.1.210.1.3评价标准10.1.3 依存句法分析 评价标准 针对一个依存句法分析的模型,学术界目前采用两种评价指标对其进行评价。一个是LAS(Labeled Attachment Score)只有arc的箭头方向以及依赖关系均正确时才算正确,以及UAS(Unlabeled Attachment Score)只要arc的箭头方向正确即可。其他有一定参考价值的评价指标:10.1.3 依存句法分析 评价标准 测试集中找到正确支配词非根结点词占所有非根结点词总数的百分比。依存正确率(DA):有
12、两种定义,一种是测试集中正确根结点的个数与句子个数的百分比。另一种是指测试集中找到正确根结点的句子数所占句子总数的百分比。根正确率(RA):测试集中无标记依存结构完全正确的句子占句子总数的百分比。完全匹配率(CM):概况10.2 成分句法分析10.2.1任务定义10.2.210.2.3评价标准10.2.1 成分句法分析 概况 成分句法分析的研究基于上下文无关文法(上下文无关文法(Context Free Grammer,CFG)。上下文无关文法可以定义为四元组,其中表示终结符的集合(即词的集合),N表示非终结符的集合(即文法标注和词性标记的集合),表示充当句法树根节点的特殊非终结符,而R表示文
13、法规则的集合,其中每条文法规则可以表示为Ni这里的表示由非终结符与终结符组成的一个序列。10.2.1 成分句法分析 概况 成分句法分析的研究基于上下文无关文法(上下文无关文法(Context Free Grammer,CFG)。上下文无关文法可以定义为四元组,其中表示终结符的集合(即词的集合),N表示非终结符的集合(即文法标注和词性标记的集合),表示充当句法树根节点的特殊非终结符,而R表示文法规则的集合,其中每条文法规则可以表示为Ni这里的表示由非终结符与终结符组成的一个序列。基于CFG的成分句法分析树10.2.1 成分句法分析 概况添加添加内容内容 由于人工定义语法规则的困难以及CFG无法处
14、理语法的二义性的问题,研究者们提出将上下文无关文法扩展成为概率上下文无关文法(概率上下文无关文法(Probalibity Context Free Grammer,PCFG),),即为每条文法规则指定概率值。概率上下文无关文法的四元组形式与非概率化的上下文无关文法相同,区别在于概率上下文无关文法中的文法规则必须带有概率值。10.2.1 成分句法分析 概况添加添加内容内容基于PCFG的成分句法分析树10.2.1 成分句法分析 概况添加添加内容内容现代成分句法分析方法编码模型解码模型transformer基于转移的解码方法基于动态规划的解码方法10.2.1 成分句法分析 概况添加添加内容内容01基
15、于转移的解码算法 基于转移系统的句法分析解码算法主要通过预测生成句法树的动作序列来还原出一棵句法树。按照遍历树的顺序,具体还可以分为自底向上(bottomup)的转移系统,自顶向下(topdown)的转移系统和基于中序遍历(inorder)的转移系统:10.2.1 成分句法分析 概况添加添加内容内容01基于转移的解码算法 基于转移系统的句法分析解码算法主要通过预测生成句法树的动作序列来还原出一棵句法树。按照遍历树的顺序,具体还可以分为自底向上(bottomup)的转移系统,自顶向下(topdown)的转移系统和基于中序遍历(inorder)的转移系统:10.2.1 成分句法分析 概况添加添加内
16、容内容 基于动态规划的句法分析模型主要通过递归地预测每个得分最高的成分句法子树,最后回溯还原出最优句法树。这种方法的优点就是可以枚举出搜索空间中的所有句法树,解码效果比较好。但是动态规划算法时间消耗较大,复杂度是句子长度的平方级别的:基于动态规划的解码算法0210.2.1 成分句法分析 概况添加添加内容内容 基于序列到序列(endtoend)的句法分析模型主要思想是将句法树映射为一个唯一对应的序列表示,然后通过序列标注,或者序列生成的方式来预测出这个序列。根据句法树序列化的不同定义方式,模型也有许多不同的变体。括号表达式是最为常见的一种序列化方法,图中展示了句子“John has a dog。
17、”对应的括号表达式:基于序列到序列的解码算法03概况10.2 成分句法分析10.2.1任务定义10.2.210.2.3评价标准10.2.2 成分句法分析 任务定义添加添加内容内容 成分句法分析作为自然语言处理中的一项基础任务,它的目标是在给定一个长度为n的句子的情况下,分析出句子的成分句法树T。例如给定句子“The little boy likes red tomatoes”,它的成分句法树如图所示。对于句法树T,有多种方式来对它进行表示。目前比较常用的是基于跨度(基于跨度(span)的表示)的表示,也就是将句法树表示成组成它的所有短语的集合,每个包含若干个单词的短语为一个跨度。而对于每个短语
18、,可以用三元组(i,j,l)来表示它,其中i和j表示这个短语的范围是从第i单词到第j单词,而l表示这个短语的非终结符标签:概况10.2 成分句法分析10.2.1任务定义10.2.210.2.3评价标准10.2.3 成分句法分析 评价标准添加添加内容内容 成分句法分析的评价需综合考量跨度范围预测跨度范围预测(Labeling)的效果以及单词单词成分预测成分预测(Tagging)的效果。在跨度范围预测中,考量的对象为跨度的区间范围,因此主要的评价指标为调和均值(Labeled F1),其中Labeled Precision为跨度范围预测精确率,Labeled Recall为跨度范围预测召回率,通过
19、这二者计算出跨度范围预测的调和均值Labeled F1:10.2.3 成分句法分析 评价标准添加添加内容内容 成分句法分析的评价需综合考量跨度范围预测跨度范围预测(Labeling)的效果以及单词单词成分预测成分预测(Tagging)的效果。在跨度范围预测中,考量的对象为跨度的区间范围,因此主要的评价指标为调和均值(Labeled F1),其中Labeled Precision为跨度范围预测精确率,Labeled Recall为跨度范围预测召回率,通过这二者计算出跨度范围预测的调和均值Labeled F1:TP:真正率,FN:假负率,FP:假正率,TN:真负率10.2.3 成分句法分析 评价标
20、准添加添加内容内容Labeled Precision=3/7=0.429Labeled Recall=3/8=0.375Labeled F1=2*(0.429*0.375)/(0.429+0.375)=0.4Tagging Accuracy=11/11=1概况10.3 语义分析10.3.1抽象语义表示10.3.2普适概念认知标注10.3.30504030201内容摘要观点抽取实体识别情感分析文本分类10.3.1 语义分析 概况 语义是语言形式所要表达的内在含义,如何实现对自然语言句子的完整语义理解,是人工智能和自然语言处理研究领域的一个重要研究目标,在情感分析、实体识别、文本分类等下游任务的研
21、究中均有涉及。从某种意义上来讲,自然语言处理研究的最终目标就是在语义理解的基础上实现各种类型的应用,但是由于语义的模糊性、多义性,实现自然语言的语义理解是一个巨大的挑战。04030201抽象语义表示(AMR)普适概念认知标注(UCCA)结构化查询语言(SQL)其他抽象表示10.3.1 语义分析 概况 语义分析主要方法是将自然语言转换成机器可以理解的表示形式的任务。目前学术界主要使用的表示形式包括可执行语言SQL,抽象含义表示(AMR)、通用概念认知标注(UCCA)以及其他一些抽象表示如逻辑表达式等。概况10.3 语义分析10.3.1抽象语义表示10.3.2普适概念认知标注10.3.310.3.
22、2 语义分析 抽象语义表示 2013年,Banarescu等提出了一种语义表示语言,即抽象语义表示(抽象语义表示(Abstract Meaning Representation,AMR),并开发了一个较大规模的标注语料库,它由自然语言句子和与其对应的用AMR形式表示的句子的逻辑语义图构成:AMR图中常见的概念关系:1.关系集合::arg0,:arg1,:arg22.一般语义关系::age,:destination,:location,:name3.日期实体关系::day,:month,:time10.3.2 语义分析 抽象语义表示4.列表关系::op1,:op2,:op35.数量关系::qua
23、nt,:unit,:scale10.3.2 语义分析 抽象语义表示030201单根结构保持了句子的树形主干;图结构的使用可以较好地描述一个名词由多个谓词支配所形成的论元共享现象;AMR允许补充句中隐含或省略的成分,以还原出较为完整的句子语义,能够更加全面地描写语义,并有利于语义的自动生成。使用AMR表示语义的优势:10.3.2 语义分析 抽象语义表示 针对AMR解析评测广泛采用的是一种称为Smatch的度量方法。它在对两个AMR图进行匹配度计算时,首先将每个AMR图转化成一个逻辑三元组(triple)的集合,其中每个三元组表示图中的一个顶点或一条边:10.3.2 语义分析 抽象语义表示真实AM
24、R预测AMR 由于两个三元组集合内的变量命名如a,b,x,y等不一定是可共享的,针对不同的变量匹配,smatch方法均计算了预测AMR图相对于真实AMR图的精确率,召回率,及调和均值F1:概况10.3 语义分析10.3.1抽象语义表示10.3.2普适概念认知标注10.3.310.3.3 语义分析普适概念认知标注 相比于AMR,UCCA格式的数据集较少,但是仍吸引了学术界很多研究者的关注:122003,Abend 等提出UCCA 语义表示方法2017,Hershcovich等提出基于转移的UCCA分析模型TUPA32019,Jiang等提出基于图的UCCA 分析模型42019,Hershcovi
25、ch等扩展了自己先前的工作,将UCCA与AMR等语义分析联合,进行多任务学习10.3.3 语义分析普适概念认知标注 UCCA形式简洁(标签少)、易于理解,不需要语言学专家参与就可以实现快速标注。如图所示,UCCA采用有向无环图来表示句子的语义结构:UCCA的另一个特征是存在不连续节点,例如图中的节点4,叶子节点everything在它的覆盖范围,但不是它的子孙节点。10.3.3 语义分析普适概念认知标注030201F1值MRP指标UCCA的评价指标:依存句法分析10.4 前沿技术、发展趋势与挑战10.4.1成分句法分析10.4.210.4.3语义分析10.4.1 前沿技术、发展趋势与挑战依存句
26、法分析 在传统基于转移的依存分析模型中,每一个决策过程都是基于当前的状态(configuration)做的决策(transition),做好决策后更新状态进入下一步决策过程中,做决策时采用贪心算法,即每一步都选择当前认为最好的transition,这样只损失了一点准确率,换来了速度的大幅度提升:10.4.1 前沿技术、发展趋势与挑战依存句法分析 2014年,Danqi Chen和Chrsitopher提出使用单词、单词的词性、以及已分析的依赖边的标签作为神经网络的输入,通过神经网络得到每一步决策的结果。相比于传统依存分析,神经依存分析使用了立方作为激活函数以提取特征组合的相关性,而不需要像传统
27、激活函数一样人工组合计算,这样避免了特征的组合数量极大,而实际句子中只出现了少数几种的稀疏特征情况:10.4.1 前沿技术、发展趋势与挑战依存句法分析 2016年,Kiperwasser及Goldberg首次提出基于图的神经依存分析模型,该方法采用如图所示的TreeLSTM描述依存分析树:10.4.1 前沿技术、发展趋势与挑战依存句法分析 在近两年里,不可投射性问题及基于图的方法成为依存句法分析领域的热门问题,2019年Tao Ji等尝试将高阶特征,如父母、子孙结点等有效地结合到图神经网络(GNN)中,他们的模型包含解析器层和解码器层,其中解析器层由递归神经网络和图神经网络构成,输出为带权重图
28、,解码器层根据图中的权重计算最大生成树:10.4.1 前沿技术、发展趋势与挑战依存句法分析 方案主要的创新在于解析器层的图神经网络部分,在此作者采用了如下的更新规则:对于祖父母/子孙间的更新,hi为节点i作为某条依赖边的支配节点时的隐层表示,di为节点i作为某条依赖边依赖节点时的隐层表示,假设我们需要抽取k的特征,当k与i成祖父母关系时,如图(a),要更新节点j作为支配节点的向量,需要同时加入k作为支配节点的信息,即hk;而若当k作为i的子节点时,如图(b),则当要更新i作为依赖节点时的信息,需要加入k作为依赖节点的信息,即dk;最后,当k与i为兄弟关系,则更新节点j的的支配向量时,需要包含i
29、作为依赖节点的信息。通过这种方式引入高阶特征,该模型达到了当时所有基于图的方法和基于转移的方法中的最好效果:依存句法分析10.4 前沿技术、发展趋势与挑战10.4.1成分句法分析10.4.210.4.3语义分析10.4.2 前沿技术、发展趋势与挑战成分句法分析 与依存句法分析相同,得益于神经网络的引入,成分句法分析的效果得到了显著提升。最先基于神经网络设计成分句法分析模型的是Dyer、Cross等的RNNG(Recurrent Neural Network Grammars),他们的模型中包含编码器解码器两部分:编码器读取输入的句子并将其汇总为一个动作向量集,然后解码器使用这些动作向量可逐步构
30、建标记的分析树。这种模型设计很长一段时间都是此领域内模型设计的标准,模型的编码器主要是使用循环神经网络(RNN),尤其是双向长短期记忆网络(BiLSTM):依存句法分析10.4 前沿技术、发展趋势与挑战10.4.1成分句法分析10.4.210.4.3语义分析10.4.2 前沿技术、发展趋势与挑战成分句法分析 在2019年的最新成果中,Mrini,Dernoncourt等指出了传统自注意力模型由于注意力头较多,学习的特征基本是黑箱形式的即其与自然语言的关系难以被人理解。据此,Mrini等改进自注意力模型,提出了Label Attention Layer:10.4.3 前沿技术、发展趋势与挑战语义
31、分析AMRAMR语义分语义分析析一步解析一步解析两步解析两步解析基于基于图的图的方式方式基于基于转移转移的方式的方式从左至右处理句子,通过添加新节点或者增加依赖边的从左至右处理句子,通过添加新节点或者增加依赖边的方式增量更新解析图;方式增量更新解析图;类似于基于转移的方式,在每一步,添加一个新的节点和类似于基于转移的方式,在每一步,添加一个新的节点和一条它与解析图中已存在节点的边。一条它与解析图中已存在节点的边。基于序列基于序列到序列的到序列的方式方式通过一些线性化处理,将它的解析过程转化为序列到序通过一些线性化处理,将它的解析过程转化为序列到序列的解析过程,通过共享词汇表以同时进行概念预测和
32、列的解析过程,通过共享词汇表以同时进行概念预测和关系预测任务;关系预测任务;显示区分出概念显示区分出概念识别识别步骤步骤与与关系关系预测预测步骤,概念步骤,概念识别步骤识别步骤优先于关系预测步骤优先于关系预测步骤10.4.3 前沿技术、发展趋势与挑战语义分析 近年来,两步解析方法取得了突破性进展,逐渐展露出其相对于一步解析方法的优势。在基于图的分析方法上,2019年,Deng Cai等在他们的论文中介绍了一种基于图跨度的分析的两步解析方法GSP:GSP的一个新颖特征是它以自上而下的方式递增地构造了一个解析图。从根开始,在每个步骤中,将共同预测一个新节点及其与现有节点的连接。方法的输出图将节点按
33、到根的距离分区,因为作者认为应该首先捕捉句子中的主要含义,然后挖掘更多细节,而相对来说更加靠近根节点的单词会是句子更加重要的成分。10.4.3 前沿技术、发展趋势与挑战语义分析 之后在Deng Cai等人最新的论文中,他们对GSP进行了改进。新的模型将AMR解析视为对输入序列和AMR图的一系列双重决策。在每个时间步骤中,模型都会进行多轮的关注、推理和组合,以解决两个关键问题:(1)输入序列的哪一部分要抽象化;(2)在输出图中的何处构造新概念:本章总结C H A P T E R S U M M A R YTHREE本章总结 本章主要介绍自然语言处理中的语言分析任务,包括依存句法分析、成分句法分析
34、、语义分析三项子任务。10.1,10.2,10.3节首先介绍了三项子任务的发展历史、基本概念以及几种主流解决方案,随后我们根据学术界的定义给出了各子任务更加公式化的表示和评价方法。10.4节主要介绍了语言分析任务近年来的最新解决方案,在阅读本节的过程中,读者可以明显发现神经网络技术对语言分析任务产生的影响。事实上,从目前的情况上来看,神经网络已成为绝大多数语言模型相关任务的主流方法,并仍在通过模型和训练方法的迭代改进提高其在不同任务上的性能。特别是近年来预训练方法的出现,推动神经网络方法在很多任务上的性能达到了饱和。但是,这样的效果也仅是局限在单一语种数据集范围内,随着数据集的扩大,数据集中的
35、语种数目增多,语言结构更加复杂,神经网络方法如何达到现在的效果,成为很多自然语言工作者需要着重考虑的问题。思考题1.我们可以把CFG最左派生和一个n元语法模型结合起来产生一个使用短语结构的概率统计模型吗?如果可以,我们需要做出什么样的独立性假设呢?2.The agent sees widespread use of the codes as a way of handling the rapidly growing mail volumn and controlling labor costs.在这个句子中找出至少五个完整的句法结构。3.写出一个有重写规则的上下文无关文法的句法分析器,并且使用它来找到句子的所有分析。使用这个句法分析器来分析题2中的句子。