APP下载

基于转移的中文篇章结构解析研究

2019-01-22成,孔

中文信息学报 2018年12期
关键词:语料解析状态

孙 成,孔 芳

(苏州大学 计算机科学与技术学院,江苏 苏州 215006)

0 引言

篇章是句子层级之上的自然语言单位。篇章分析技术旨在研究篇章内部的语义关系,从整体上理解篇章[1]。篇章分析技术由底向上可以分为: 篇章理论的建立、篇章解析器的自动构建和篇章分析技术的上层应用。其中,篇章解析器的自动构建研究是篇章分析技术的核心。近年来,随着中文篇章理论的不断完善和篇章资源构建工作的进展[2-5],数据驱动的中文篇章解析器的自动构建成为可能。

本文使用汉语连接依存树篇章结构语料(Chinese connective-driven discourse treebank, CDTB)[5](以下简称汉语篇章结构语料),其结合了RST[6]的树形层次结构、PDTB[7]的连接词以及汉语复句理论[8]的单复句的理论优点,自底向上地将子句(即篇章基本单元,以下简称子句)在连接词的驱动下组合为一棵篇章结构树,用连接词表征篇章关系的类型,并在内部节点中标出篇章关系和核心位置。针对该语料构建自动篇章解析器可以大致划分为三个子任务: ①子句的自动分割,也就是篇章基本单元(EDU)的识别;②篇章树形结构的解析,即以段落为基本单元,迭代地将EDU构建成上层节点,并最终组织成一棵独立的篇章树;③篇章关系识别与分类,即判别联接形成上层节点的EDU间表达的逻辑语义关系。其中,中文篇章关系识别的相关研究和工作较多,方法也更为完善[9-11],本文并不关注这一任务。相对而言,篇章结构对于篇章级别的上层应用非常有帮助[12-13],本文研究的重点是中文篇章树形结构自动生成。此外,我们认为篇章树形结构对于篇章关系类型的判断也起着至关重要的约束作用。

本文的主要工作包括: 详细分析了中文篇章结构语料的统计特征;提出了一个完整的从篇章纯文本到篇章树形层次结构的解析框架,及可供参考的性能评价标准;对比使用不同方式对子句进行特征表示对最终性能的影响表明,浅层词法特征仍然在篇章结构解析中发挥主要作用;最后,本文分析了结构解析中误差传播对于最后性能的影响。文章的组织如下: 第1节首先介绍实验使用的中文篇章语料以及相关的统计结果;第2节介绍相关工作,并详述本文使用的篇章结构解析框架;第3节给出实验配置、实验结果以及对实验结果的分析;最后一节是对当前工作的总结和展望。

1 汉语连接依存树篇章语料

1.1 连接依存树篇章结构理论

图1给出了CDTB语料中文件名为chtb_0083.xml文档中编号401的篇章结构树。其中叶子节点用于表示子句。连接依存理论[14]中,子句定义为复句理论中的单句或者复句的分句,其至少包含一个谓语结构和表示一个完整主题。篇章结构树的中间节点为篇章关系节点,关系节点将下一级的篇章子结构组合为上一级的篇章结构,最终形成一棵完整的篇章树。篇章子结构的组合可由连接词驱动,形成的篇章关系称为显式关系;而缺乏显式连接词指导,由语义关系的组合则称为隐式篇章关系。和修辞结构理论相似,连接依存理论中,篇章关系也有主次之分,核心部分表达文章主体意图,次要部分起对核心部分修饰和补充的功能。

1.2 语料统计

汉语篇章结构语料以段落为单位,在宾州中文树库6.0版本(CTB 6.0)的基础上标注了500篇文档,包含段落数2 342个,每个段落独立标注为篇章结构树。共包含10 638个子句, 平均每个篇章结构树包含4.54个子句。篇章结构树的平均高度为2.43,平均包含3.12个关系节点。语料中,篇章关系按核心位置分为三个类别: 核心在左、核心在右和多个核心(所有子节点都为核心)。表1给出了篇章关系中,各个核心位置的数量和占比。

a. 据卢仁法介绍,经过全国税务系统八十万干部的努力,今年全国工商税收收入任务已提前十一天超额完成,b. 总体情况比较好。c. 但企业欠缴税款的情况比较严重,d. 尤其是企业欠缴增值税和消费税这“两税”的问题突出,e. 严重影响了今年“两税”任务的完成。f. 到十一月底,全国企业欠缴的工商税款累计达到了四百一十九亿元,g. 其中欠缴国内增值税和消费税就达三百零七亿元。图1 CDTB语料中文件名为chtb_0083.xml文档编号401的连接依存篇章结构树图示下划线表示连接词,图例中“-”表示缺省连接词

表1 篇章关系核心位置数量和占比

不同于RST-DT将整个篇章标注为一棵篇章结构树的策略,汉语篇章结构语料以段落为单位,包含子句更少,树的高度也更低,而且子句边界都有标点符号作为标识,给篇章结构解析中的树形结构的建立带来帮助。然而,中文篇章结构语料中隐式篇章关系占比达75.2%。另外,核心位置分布不平衡,多个核心的关系占比达51.3%,使得篇章核心位置的自动判定成为挑战。

2 汉语篇章结构解析框架

2.1 相关工作

篇章结构解析是一类结构预测(structured prediction)任务。对于给定的子句序列,模型需要预测出组织这些子句的最合适的篇章结构。目前的篇章解析工作大多参照句法解析的方法,可以分为基于图(如Cocke-Younger-Kasami,CYK算法)的解析方法和基于转移系统的解析方法。其中,基于转移系统的方法将篇章树的构建过程看成是一个状态转移路径的搜索过程。一个确定的状态转移序列对应一棵确定的篇章树形结构,从而将结构预测问题转换成为对每个状态正确预测下一个局部转移动作的分类问题。基于转移的解析策略因其具有线性的时间复杂度并取得了与CYK等基于图的解析方法相当的性能,因而被广泛应用。

相较于中文,英文篇章解析研究工作开展较早,其中关于篇章结构解析任务主要围绕RST-DT展开。其中具有代表性的有: Hernault等开发的基于线性SVM、采用自底向上贪婪策略的HILDA篇章解析器[15];Feng和Hirst提出了一种两步解析的方法,分别使用两个线性链条件随机场模型依次构建句内和句间的篇章结构[16];Ji和Eisenstein等尝试通过线性变换,将稀疏的子句特征转换为低维度的向量表示,并通过线性SVM预测转移系统的动作[17];Jiwei Li等基于递归神经网络对篇章子结构进行建模,使用表解析的方法完成自动篇章分析[18]。中文方面,由于篇章理论不够完善,篇章自动分析技术发展缓慢。可供参考的工作有: 孔芳等基于CDTB语料采用流水线的方式构建的端到端的中文篇章解析器[19];吴永芃等为简化篇章分析难度,提出了篇章依存树的篇章结构体系[20]。

2.2 基于转移的结构预测方法

本文使用的Shift-Reduce转移系统可以由式(1)所示的五元组定义:

SR=C,T,Cs,Ct,o

(1)

C:所有可行的状态,每个状态包含一个栈和一个队列结构。队列中存放待处理的子句,栈中存放正在处理的篇章子结构(包含子句和篇章树的子树)。

T: 每个状态对应的可行动作,在表2中给出。Shift动作执行是会从队列中弹出顶部子句,压入栈中;Reduce动作将栈顶的头两个树节点组合成一个节点,并将合并的两个节点作为新节点的子节点。

Cs: 初始状态集合,栈为空,队列中依次存放篇章所有的子句。

Ct: 终止状态集合,队列为空,栈中之包含篇章结构树的根节点,终止状态不能执行任何转移动作。

o:Oracle函数,给定状态,始终返回该状态生成正确篇章结构的下一个转移动作。从初始状态,不断执行Oracle函数返回的动作,最后到达终止状态的状态转移序列对应一棵正确的篇章结构树。

表2 Shift-Reduce状态转移动作

图1的篇章树形结构可以由初始状态在Oracle函数的指导下执行多次状态转移确定。表3给出了该正确的状态转移序列。可以看出,Shift-Reduce转移系统自底向上地构建出篇章结构树。给定一棵二元的篇章树,Oracle函数的输出动作序列可通过从标准二元篇章结构树的根节点开始后序遍历变形实现,遍历中遇到叶子节点则输出Shift动作,遇到关系节点则输出Reduce动作。由于Shift-Reduce生成的树结构为二叉树,所以状态转移次数为2n-1,其中n为篇章中包含的子句数目。

表3 状态转移序列示例

续表

2.3 基于SPINN模型的状态动作预测

由2.1节可知,基于转移的篇章结构解析的关键在于构建模型模仿Oracle函数,因此可以看成对给定状态进行分类的问题。为了在确定结构的同时确定篇章关系的核心位置,我们将Reduce动作扩展为Reduce-左核心、Reduce-右核心和Reduce-全核心。总的分类标签数变成4个,是一个结构生成和核心关系判定的联合模型。

神经网络和文本分布式表示的应用使得在自然语言处理领域取得了突破性的进展。本文使用SPINN(Stack-augmented Parser-Interpreter Neural Network)模型[21],对历史转移状态序列、篇章子结构进行分布式表示,得到当前状态的表示,用于预测下一个转移动作。

2.3.1 SPINN模型

图2 SPINN模型示例

图2给出了SPINN模型在表3中时刻4的模型图示。SPINN用一个tracking LSTM网络维护整个解析过程的历史转移状态。每个时刻tracking LSTM输入栈的头两个元素和队列的头一个元素,其中如果栈的头两个元素结合紧密则应该执行Reduce操作,而栈的头元素与队列的头元素决定是否将队列的头元素移入栈内。时刻t的解析状态trackingt用于预测时刻t下一个动作的概率分布,并且作为下一个时刻的输入表示解析状态的历史信息。在一个解析过程中,模型的状态随着状态转移不断推进。我们使用动态计算图而不是每次转移后重新生成计算图,以保留模型的状态。

2

2.3.2 子句的特征表示

栈和队列中每个元素,对应部分解析的篇章结构树的某个叶子节点(子句节点)或者内部节点(关系节点)。每个元素分别表示为一个状态向量c和一个输出向量h。我们首先介绍如何使用不同的方法对子句进行特征表示,不同表示方法的性能差异在第3节中以最后性能评价的方式给出。

1. 基本特征

首先我们使用规则的方法从子句中提取启发式的特征作为子句表示的性能基准,包括第一个词和最后一个词的Embedding,其中Word Embedding在GigaWords上预训练,并在训练中不断优化;另外还有第一个词的词性的向量表示,词性由Berkeley Parser解析获得。词向量的维度为50,词性的Embedding维度为15。

将上述特征向量拼接之后通过一个线性变换得到子句的c和h的表示,如式(4)所示。

2. 基本特征 + Average BOW Embedding

除基本特征外,Average BOW Embedding的子句表示方法对子句中所有词对应的词向量w1,w2,…,wk求和取平均,用上文同样的线性映射方法取得子句的h和c,如式(5)、式(6)所示。

3. 基本特征 + BiLSTM with Self-Attention

我们首先使用一个双向LSTM对子句的词序列进行正向和反向序列编码,将正反向LSTM的输出拼接后作为子句中词w1,w2,…,wk编码为包含上下文序列信息的序列表示hw1,hw2,…,hwk。使用自注意力机制取得编码后的信息的权重,按权重将hwi相加作为子句的特征表示。

其中,向量q是注意力机制中的Query,可以被解释为哪些LSTM序列编码输出对于篇章结构解析比较重要。q在训练开始时随机初始化并随着训练学习合适的参数。

4. 基本特征 + CNN

卷积神经网络广泛用于提取句子的词汇特征。首先,对于子句中的每一个词分别用50维、15维、15维的向量分布式表示词、词性和位置信息。词向量同上使用在GigaWords上预训练的词向量,词性和位置的Embedding随机初始化。拼接后的每个词的向量表示维度为dw。如图3所示,我们使用60个1×dw、30个2×dw和10个3×dw窗口大小的卷积核从子句中提取一元、二元和三元的词汇特征。然后使用最大池化方法挑选每个卷积核的最显著的词卷积特征,最后将池化后的特征与基础特征拼接起来,经过线性变换得到子句的c和h的表示。

2.3.3 关系节点的特征表示

受逻辑语义学的组合原则启发,我们相信篇章关系节点的语义与其组成部分的语义及其部分的组合方式密切相关。Tree-LSTM已经被证明在组合语义的表示方面十分有效[22],我们引入Tree-LSTM作为转移状态栈中的部分篇章子树的组合语义表示方法。如表3中时刻2,我们需要执行Reduce动作,并将a和b两个叶子节点组合为其父关系节点r1,设此时根据上一节介绍的策略将a和b表示为ca,ha,(cb,hb)。根据Tree-LSTM做如下推导,得到其a、b父节点r1的特征表示,如式(10)~式(12)所示。

图3 用于子句特征提取的CNN网络图示

3 实验配置

3.1 语料的划分与预处理

中文篇章语料(CDTB)[5]包含500篇文档,每个文档包含不等的若干以段落为单位的篇章树形结构。在分割之前为了方便处理,我们去掉了组织不良的编号为150、193、208、287、300、644的文档,其他的文档按表4划分为训练集、开发集和测试集。由于Shift-Reduce框架只能生成二叉树,而中文篇章结构语料中的多核心节点可能包含多个孩子节点,所以我们在训练和评测之前会将所有的篇章树结构中多元节点通过不断归并,最后到两个孩子转换为二叉树。

表4 语料划分

3.2 性能评价方法

相对于RST在整个篇章上标注篇章结构,中文篇章结构语料以段落为单位,树的高度和节点数都少得多。但RST的评价方法是将核心位置和篇章关系放在子节点上,如果子节点的边界位置和核心标注正确,则视为一个正确的节点。为了更好地反映篇章结构解析的性能,本次实验采用更为严格的性能评价方法。评价包括两方面:

① 节点结构正确的评价: 对于一棵自动解析篇章结构树的内部节点,与其标准篇章结构树比对时,只有其子节点的边界位置全部正确,才能算作是一个结构正确的节点。

② 关系核心正确的评价: 只有在结构正确的前提下,节点的核心位置判定正确,才能算作是一个核心位置正确的内部节点。

依据上述评价准则,我们得到了如下计算每棵树的准确率P和召回率R,如式(13)、式(14)所示。

在求出测试集每棵树的准确率和召回率后,取平均求得平均准确率Pavg和平均召回率Ravg,使用式(15)求得整个系统F1性能指标:

3.3 模型训练

模型的训练以单棵篇章树为单位。首先将篇章树的子句节点按照2.2节的方法编码为cb,hb,然后在Oracle函数的引导下不断执行状态转移,并保存每一步的预测状态转移动作概率分布pi和正确的转移动作o(ct)。对于每个转移状态,栈中的编码和元素cs,hs和队列中的编码后元素cb,hb以及tracking LSTM的隐藏状态(ctracking,htracking)的维度均为128。假设一个篇章包含n个子句,则除终止状态外,构建对应篇章解析树有状态序列c0,c1…c2n-2,每个状态由SPINN模型输出下一个动作的预测概率分布p1,p2…p2n-1,损失函数定义为式(6)所示。

L2正则化项系数λ设置为0.000 01,使用 Adam 优化器训练优化模型参数,学习速率设置为0.001并随着训练次数线性下降。

模型在训练集上迭代训练优化参数,保存每次训练过程中开发集上表现最好的模型用于最后性能评价的模型。

4 实验结果与分析

4.1 标准子句分割下的篇章结构解析的性能

标准子句分割是指,对于测试集中的标准篇章结构树,我们保留其子句的划分,去掉篇章树的内部关系节点,用上述模型重新构建篇章结构,最后使用3.2节介绍的性能评价方法给出最终的模型在结构构建和核心判定方面的性能。

表5给出了在标准子句分割下使用不同子句特征表示,最终取得的解析性能。值得指出的是,由于在标准分割的子句上构建关系,二叉树的内部节点数比关系节点数少1,所以自动生成篇章结构树的内部数与标准篇章结构树的内部节点相等,所以准确率、召回率和F1值在同一个指标下相等。由实验结果可知,在标准子句分割下,average BOW Embedding、BiLSTM with Attention和CNN的子句表示的方法相对于只使用基本特征,都会带来性能提升。使用卷积神经网络对子句进行表示在结构和核心位置的判别上都取得了最好的性能,说明词汇短语特征对于启发式的篇章结构分析仍然起主要作用,应该放到结构生成的首选位置。

表5 标准子句分割下的结构解析性能

4.2 自动子句分割下的篇章结构解析性能

中文篇章结构语料中,子句都有标点作为边界标识,但不是所有的标点都可以作为边界标识。比如图1中的f子句:

f. 到十一月底,全国企业欠缴的工商税款累计达到了四百一十九亿元,

“到十一月底”单独并不能表达一个主题,所以其后面的逗号不能作为边界的标识。我们参照文献[23]中的方法,对是否为边界标识包含歧义的标点分类。先使用文本中出现的“。!?”标点作为分割标识,将篇章文本切割为句子。然后依照文献[23]从逗号和分号的上下文中抽取词法、句法等特征,使用SVM分类器将句子中的逗号和分号分类为“是边界标识”和“不是边界标识”两个类别。逗号和分号的分类性能在表6中给出。

表6 逗号、分号是否为子句边界分类性能

将分割后的子句作为输入,使用上述篇章结构解析框架构建篇章结构,最后测试集上的性能在表7 中给出。

表7 自动子句分割下的结构解析性能

从性能中可以看出,虽然逗号、分号的分类性能达到0.93的F1值,但是由于我们采用严格的结构评价方法,边界分割的错误直接或间接影响篇章树上层结构,子句分割的错误会对最后结果造成较大影响。另外,在标准子句分割下,采用基本特征+BOW和基本特征+BiLSTM with Attention在核心位置检测上取得了相当的性能,而在自动子句分割下,采用基本特征+BiLSTM with Attention的核心位置检测性能相比基本特征+BOW配置有较大差距。我们的解释为: 由于LSTM擅长捕获序列上长短距离的语义依赖关系,因而自动子句分割的错误更容易影响到LSTM的序列模型。

表8给出了自动子句分割、子句表示使用基本特征+CNN的配置下,核心位置判别的性能。再次强调,文本给出的评价机制中,只有在节点结构正确的前提下才能保证评价核心位置判别的正确性。自动子句分割和节点结构的性能都对核心位置性能的判断产生影响,因此表8中给出的核心位置判别的准确率和召回率都偏低。此外,最终的性能印证了1.2节对于核心位置统计结果的推断。篇章关系核心位置的分布不平衡和隐式篇章关系的高占比,使得核心位置的自动判定需要在数量不多的篇章语言资源的上学习篇章单元之间的深层语义信息,因而很难取得理想的判定效果。

表8 整个结构解析框架的核心位置判定性能

5 总结和展望

本文在中文篇章结构语料上,基于转移系统和神经网络的方法,构建了面向中文的篇章结构解析框架。其能够从纯篇章纯文本构建篇章树形结构,并具有线性的时间复杂度,有望为下游如篇章摘要生成、篇章级的情感分析等任务提供帮助。

相较于句子,篇章中远距离的语义依赖关系更多,中文在行文时句子的组织更为松散。自底向上的结构解析方式只从局部特征考虑篇章结构的组织,缺乏全局信息如篇章主题的指引。我们未来的工作将考虑篇章整体信息,尝试用自顶向下的方法依次分解篇章组成成分,完成篇章结构的构建。

猜你喜欢

语料解析状态
基于归一化点向互信息的低资源平行语料过滤方法*
三角函数解析式中ω的几种求法
状态联想
生命的另一种状态
睡梦解析仪
电竞初解析
对称巧用解析妙解
坚持是成功前的状态
《苗防备览》中的湘西语料
国内外语用学实证研究比较:语料类型与收集方法