尹庆宇作者

ACL 2018 基于强化学习的中文零指代消解模型

1 前言

中文的零指代,作为指代现象中的一种,能够更好地帮助机器理解自然语言。随着计算机技术和互联网的迅速发展,社会的信息化程度已经发展到一个全新的阶段,信息的传递与交流已成为现代社会生活运作的重要基础,各种信息呈爆炸式增长。人们在享受海量信息提供便利的同时,也面临着如何从浩如烟海的信息中找到自己所需内容的困境。一些集成了自然语言处理成果的技术,如信息检索(Information Retrieval)、信息抽取(Information Extraction)、问答(Question Answering)、自动文摘(Automatic Summarization)和机器翻译(Machine Translation)等系统,能够帮助用户更为方便快捷准确地获得自己所需的内容。在这些系统中,自然语言都扮演着很重要的角色。比如在问答系统中,用户的问题都是通过自然语言的形式提出的,而如何能够让机器正确有效地理解这些问题就成了重中之重。

2 任务简介

指代消解是信息抽取不可或缺的组成部分。在信息抽取中,由于用户关心的事件和实体间语义关系往往散布于文本的不同位置,其中涉及到的实体通常可以有多种不同的表达方式,例如某个语义关系中的实体可能是以代词形式出现的,为了更准确且没有遗漏地从文本中抽取相关信息,必须要对文章中的指代现象进行消解。指代消解不但在信息抽取中起着重要的作用,而且在机器翻译、文本摘要和问答系统等应用中也极为关键。

中文的零指代是指代现象中的一种,是指代现象中的一种特殊情况。它是指在篇章中,读者能够根据上下文的关系推断出来的部分经常被省略,被省略的部分在句子中又承担相应的句法成分,并且回指前文中的某个语言单位。被省略掉的部分称为零指代项或者零代词,被指向的语言单位被称为先行语。图1是一个中文零指代现象的示例。在这里,"φ"表示一个零代词,它的先行语为"苹果''。

图1 中文零指代示例

3 我们的方法

3.1 动机

现有的中文零指代消解系统中,都是把零指代消解问题视作一个分类问题。即每次都拿出一个候选先行语和一个零代词进行分类。这种方法每次只会从局部中选取最优的解。也就是说,用这种单分类的方法构建的零指代消解系统不能有效利用之前的候选先行语分类提供的信息,而之类信息是很重要的,我们需要设计一种模型能够很好的利用之前判断出的候选先行语信息来帮助对后续的候选先行语进行分类。因此,我们把分类的模型用一种序列化的决策的方式来进行分类,把所有的候选先行语视为一个序列,在判断序列后放的候选词的时候能够把之前的序列候选词信息考虑进去。这种序列决策的方法能够利用深度强化学习的方法来实现。综上,我们设计了一种基于强化学习的中文零指代消解系统,旨在解决传统的单分类中文零指代系统中不能很好利用全局信息的缺点。

3.2 方法设计

传统的零指代方法主要分为两个步骤:零代词的可消解性识别和零代词的消解。在这篇文章中,同已有的方法啊类似(Chen and Ng, 2016; Yin et al., 2017a; Yin et al., 2017b),我们主要关注第二个子任务,即零代词的消解。图2是本方法的整体流程图。对于一个给定的零代词,我们首先选取它所有的候选先行词,并将其映射成序列,从左到右依次与零代词进行分类。如果一个零代词和候选先行语被分为了可消解类别,那么我们就将这个零代词的信息保存起来,供后边的零代词消解使用。如果没有被选中,则将其舍去。在这个过程中,我们利用了基于策略梯度的深度强化学习算法进行零代词的选择。每一时刻,我们的状态定义为输入的零代词和对应时刻的候选先行语以及之前判断出的所有先行语,动作定义为选中和未选中两个动作--选中代表零代词和候选先行语可以消解。这样,我们就可以利用强化学习的方法进行零代词的消解工作。下边来详细介绍强化学习模型

图2 基于强化学习的中文零指代消解方法流程图

3.2.1 状态

我们的状态向量定义为零代词,候选先行语和先行语信息的组合。对于时间 t, 状态向量st定义为:

这里 vzp  和 vnpt是零代词 zp 和候选先行语 np在时间 t 的向量表示。另外,我们还引入了一些人工设计的特征向量 vfeature进行计算,这些特征都是从以往的零代词消解工作中得到的(Zhao and Ng, 2007; Chen and Ng, 2013; Chen and Ng, 2016)。vante(t)表示先行词信息,这些信息是从之前被判断为正例的先行词中得到的。之后,我们把这个向量当做状态,然后放入后续的深度强化学习智能体(Agent)来产生动作。

3.2.2 回报

我们将回报定义为一个序列上的所有先行词计算出的F值。

3.3 强化学习智能体

在这篇文章中,我们利用 ZP-centered神经网络模型(Yin et al., 2017a)来建模零代词,利用一个RNN来建模候选先行语。通过这种方式,我们可以得到零代词和其候选先行语的向量表示:vzp 和{vnp1, vnp2 ,…, vnpn}。另外,我们利用Pooling的操作来获取先行语信息。对于时间t,我们利用max-pooling和average-pooling产生两个向量,然后把这两个向量当做先行词信息。假设在时间t,之前选取的所有先行语写作 S(t) = [vnpi, vnpj ,…, vnpr],我们的先行语信息向量 vante(t)可以被定义为:

我们的智能体的输入就是状态向量 s,其输出对应着两个动作的概率,结构如图3所示。

图3 智能体结构图

我们的智能体是由一个前馈神经网络构成,其包括了两个隐层,每个隐层的激活函数都是tanh。对于每一层,我们得到其输出:

然后我们将最后隐层的输出当做输入到一个维数为2的得分层:

通过这种方式,我们得到每个动作的得分,然后放入一个softmax得到每个动作的概率:

在这个工作中,我们利用策略梯度网络来进行强化学习。特别的,我们的目标函数定义为最大化回报期望:

这里p(a|zp,npt;θ) 表示选取动作 a的概率。

4 实验结果

我们在OntoNotes 5.0语料上进行了实验,并选取了目前世界上最好的中文指代消解系统作为基准系统进行对比。在实验的过程中,根据不同情况的特点,我们共设计了三组对比实验。OntoNotes语料是由6个不同来源的语料组成的,其分别为:广播新闻(BN)、报纸新闻(NW)、广播采访(BC)、电话通话(TC)、微博(WB)和杂志(MZ)。我们的每组实验除了在整体语料上对比外,还对其不同分类做出了对比。我们假设所有的零代词的可消解性都是标注好了的,即只对可消解的零代词进行消解,并且依存树结构是人工标注的标准树结构(Gold Parse),实验结果如表1所示。

表1 实验结果

从结果中,我们不难看出,我们的方法是整体显著优于基准系统方法的在不同源的语料上测试,我们的方法能够在大部分来源的语料上超越基准系统,尤其是在文本数目最大的BC语料上,我们的方法优于所有的基准系统。综上所述,我们提出的基于强化学习的中文零指代消解算法能有效够提升中文零指代消解的效果。

5 总结

传统的中文零代词消解工作中,都采用了单独选的先行语分类策略,并没有能够充分利用先行语信息。而单个先行语带来的信息是有限的,这种单分类模型只能从局部最优的角度选取先行语,并不能从整体出发而给出答案,因此是不可靠的。为了避免这种情况的发生,我们提出了一种基于强化学习的中文指代消解算法,利用强化学习的思想将但分类问题转化为序列决策分类问题,充分利用了先行语的信息,因而得到更好的结果。论文发表在ACL 2018 https://arxiv.org/abs/1806.03711

哈工大SCIR
哈工大SCIR

哈尔滨工业大学社会计算与信息检索研究中心

入门中文零指代强化学习ACL 2018
相关数据
池化技术

池化(Pooling)是卷积神经网络中的一个重要的概念,它实际上是一种形式的降采样。有多种不同形式的非线性池化函数,而其中“最大池化(Max pooling)”是最为常见的。它是将输入的图像划分为若干个矩形区域,对每个子区域输出最大值。直觉上,这种机制能够有效的原因在于,在发现一个特征之后,它的精确位置远不及它和其他特征的相对位置的关系重要。池化层会不断地减小数据的空间大小,因此参数的数量和计算量也会下降,这在一定程度上也控制了过拟合。通常来说,CNN的卷积层之间都会周期性地插入池化层。

深度强化学习技术

强化学习(Reinforcement Learning)是主体(agent)通过与周围环境的交互来进行学习。强化学习主体(RL agent)每采取一次动作(action)就会得到一个相应的数值奖励(numerical reward),这个奖励表示此次动作的好坏。通过与环境的交互,综合考虑过去的经验(exploitation)和未知的探索(exploration),强化学习主体通过试错的方式(trial and error)学会如何采取下一步的动作,而无需人类显性地告诉它该采取哪个动作。强化学习主体的目标是学习通过执行一系列的动作来最大化累积的奖励(accumulated reward)。 一般来说,真实世界中的强化学习问题包括巨大的状态空间(state spaces)和动作空间(action spaces),传统的强化学习方法会受限于维数灾难(curse of dimensionality)。借助于深度学习中的神经网络,强化学习主体可以直接从原始输入数据(如游戏图像)中提取和学习特征知识,然后根据提取出的特征信息再利用传统的强化学习算法(如TD Learning,SARSA,Q-Learnin)学习控制策略(如游戏策略),而无需人工提取或启发式学习特征。这种结合了深度学习的强化学习方法称为深度强化学习。

激活函数技术

在 计算网络中, 一个节点的激活函数定义了该节点在给定的输入或输入的集合下的输出。标准的计算机芯片电路可以看作是根据输入得到"开"(1)或"关"(0)输出的数字网络激活函数。这与神经网络中的线性感知机的行为类似。 一种函数(例如 ReLU 或 S 型函数),用于对上一层的所有输入求加权和,然后生成一个输出值(通常为非线性值),并将其传递给下一层。

信息检索技术

信息检索(IR)是基于用于查询检索信息的任务。流行的信息检索模型包括布尔模型、向量空间模型、概率模型和语言模型。信息检索最典型和最常见的应用是搜索引擎。

机器翻译技术

机器翻译(MT)是利用机器的力量「自动将一种自然语言(源语言)的文本翻译成另一种语言(目标语言)」。机器翻译方法通常可分成三大类:基于规则的机器翻译(RBMT)、统计机器翻译(SMT)和神经机器翻译(NMT)。

神经网络技术

(人工)神经网络是一种起源于 20 世纪 50 年代的监督式机器学习模型,那时候研究者构想了「感知器(perceptron)」的想法。这一领域的研究者通常被称为「联结主义者(Connectionist)」,因为这种模型模拟了人脑的功能。神经网络模型通常是通过反向传播算法应用梯度下降训练的。目前神经网络有两大主要类型,它们都是前馈神经网络:卷积神经网络(CNN)和循环神经网络(RNN),其中 RNN 又包含长短期记忆(LSTM)、门控循环单元(GRU)等等。深度学习是一种主要应用于神经网络帮助其取得更好结果的技术。尽管神经网络主要用于监督学习,但也有一些为无监督学习设计的变体,比如自动编码器和生成对抗网络(GAN)。

映射技术

映射指的是具有某种特殊结构的函数,或泛指类函数思想的范畴论中的态射。 逻辑和图论中也有一些不太常规的用法。其数学定义为:两个非空集合A与B间存在着对应关系f,而且对于A中的每一个元素x,B中总有有唯一的一个元素y与它对应,就这种对应为从A到B的映射,记作f:A→B。其中,y称为元素x在映射f下的象,记作:y=f(x)。x称为y关于映射f的原象*。*集合A中所有元素的象的集合称为映射f的值域,记作f(A)。同样的,在机器学习中,映射就是输入与输出之间的对应关系。

目标函数技术

目标函数f(x)就是用设计变量来表示的所追求的目标形式,所以目标函数就是设计变量的函数,是一个标量。从工程意义讲,目标函数是系统的性能标准,比如,一个结构的最轻重量、最低造价、最合理形式;一件产品的最短生产时间、最小能量消耗;一个实验的最佳配方等等,建立目标函数的过程就是寻找设计变量与目标的关系的过程,目标函数和设计变量的关系可用曲线、曲面或超曲面表示。

分类问题技术

分类问题是数据挖掘处理的一个重要组成部分,在机器学习领域,分类问题通常被认为属于监督式学习(supervised learning),也就是说,分类问题的目标是根据已知样本的某些特征,判断一个新的样本属于哪种已知的样本类。根据类别的数量还可以进一步将分类问题划分为二元分类(binary classification)和多元分类(multiclass classification)。

前馈神经网络技术

前馈神经网络(FNN)是人工智能领域中最早发明的简单人工神经网络类型。在它内部,参数从输入层经过隐含层向输出层单向传播。与递归神经网络不同,在它内部不会构成有向环。FNN由一个输入层、一个(浅层网络)或多个(深层网络,因此叫作深度学习)隐藏层,和一个输出层构成。每个层(除输出层以外)与下一层连接。这种连接是 FNN 架构的关键,具有两个主要特征:加权平均值和激活函数。

自然语言处理技术

自然语言处理(英语:natural language processing,缩写作 NLP)是人工智能和语言学领域的分支学科。此领域探讨如何处理及运用自然语言;自然语言认知则是指让电脑“懂”人类的语言。自然语言生成系统把计算机数据转化为自然语言。自然语言理解系统把自然语言转化为计算机程序更易于处理的形式。

信息抽取技术

信息/数据抽取是指从非结构化或半结构化文档中提取结构化信息的技术。信息抽取有两部分:命名实体识别(目标是识别和分类真实世界里的知名实体)和关系提取(目标是提取实体之间的语义关系)。概率模型/分类器可以帮助实现这些任务。

强化学习技术

强化学习是一种试错方法,其目标是让软件智能体在特定环境中能够采取回报最大化的行为。强化学习在马尔可夫决策过程环境中主要使用的技术是动态规划(Dynamic Programming)。流行的强化学习方法包括自适应动态规划(ADP)、时间差分(TD)学习、状态-动作-回报-状态-动作(SARSA)算法、Q 学习、深度强化学习(DQN);其应用包括下棋类游戏、机器人控制和工作调度等。

问答系统技术

问答系统是未来自然语言处理的明日之星。问答系统外部的行为上来看,其与目前主流资讯检索技术有两点不同:首先是查询方式为完整而口语化的问句,再来则是其回传的为高精准度网页结果或明确的答案字串。以Ask Jeeves为例,使用者不需要思考该使用什么样的问法才能够得到理想的答案,只需要用口语化的方式直接提问如“请问谁是美国总统?”即可。而系统在了解使用者问句后,会非常清楚地回答“奥巴马是美国总统”。面对这种系统,使用者不需要费心去一一检视搜索引擎回传的网页,对于资讯检索的效率与资讯的普及都有很大帮助。从系统内部来看,问答系统使用了大量有别于传统资讯检索系统自然语言处理技术,如自然语言剖析(Natural Language Parsing)、问题分类(Question Classification)、专名辨识(Named Entity Recognition)等等。少数系统甚至会使用复杂的逻辑推理机制,来区隔出需要推理机制才能够区隔出来的答案。在系统所使用的资料上,除了传统资讯检索会使用到的资料外(如字典),问答系统还会使用本体论等语义资料,或者利用网页来增加资料的丰富性。

推荐文章
暂无评论
暂无评论~