基于LSTM网络的中文文本分词外文翻译资料

 2021-11-24 09:11

英语原文共 10 页

基于LSTM网络的中文文本分词

摘要

目前大多数最先进的中文分词方法都是基于监督学习,其特点主要是从局部文本中提取出来的。这些方法不能利用对分词也至关重要的长距离信息。本文提出了一种新的基于神经网络的中文分词模型,该模型采用长短期记忆模型 (LSTM)在内存单元中保留先前的重要信息,避免了局部上下文窗口大小的限制。在 PKU 、MSRA 和 CTB6 基准数据集上的实验表明,我们的模型优于以前的神经网络模型以及其他最先进的方法。

  1. 引言

分词是中文语言处理的一项基本任务。近年来,汉语分词 (CWS) 得到了很大的发展。目前流行的方法是将分词任务重新编码为序列标签问题。序列标记的目标是将标签分配给序列中的所有元素,这些元素可以通过监督学习算法 (如最大熵ME)和条件随机场 (CRF)来处理。然而,这些模型的处理能力被特征的设计所限制, 同时特征的数量可能非常大,以至于模型结果过大而不能用于实际使用且容易出现训练数据的过拟合现象。

最近,神经网络模型已逐步应用于 NLP 任务,并以最小的代价解决在工程中的特征标注问题。Collobert 等人 (2011) 开发了 SENNA 系统,在各种序列标签的任务上已经接近或超过国家的最先进的系统。Zheng等人 (2013) 将 Collobert 等人 (2011) 的原型构造应用到中文分词和词性标注中, 他还提出了一种感性的算法,以加快样本训练过程,并做到在性能上的损失忽略不计。Pei 等人 (2014) 在Zheng(2013)的基础上提出标签-标签相互作用,标签-字符相互作用和字符间相互作用的模型。Chen 等人 (2015) 提出了一种门控递归神经网络 (GRNN) 来显式建模汉字组合的中文分词模型。GRNN 中的每个神经元可视为输入字符的不同组合。因此,整个 GRNN 能够模拟传统方法中复杂特征的设计。

尽管他们取得了成功,但其中的一个限制是,他们的模型的表现很容易受到上下文窗口大小的影响。直观地说,许多词语很难根据本地信息进行分割。例如,以下句子的分段须要长途搭配的信息。

没有词语“夏天 ”或“冬天”,很难将“能穿多少穿多少”这个句子进行分词。因此,我们通常需要对非局部信息进行更精确的分词。但是,它不能通过简单地增加上下文窗口大小来工作。例如(Zheng等人,2013),他们的模型当窗口大小大于3时性能下降地很平滑。究其原因,是因为他们的向量太大而训练网络出现了过拟合的现象。因此,有必要用捕获潜在的长短期决定因素的方法来取代提升上下文窗口大小的方法。

为了解决这个问题,我们提出了一个基于长期短期记忆模型 (LSTM) (Hochreiter 和 schmidhuber,1997) 的神经网络模型。通过利用输入、输出和获取门来显式建模以前的信息,以决定如何利用和更新先前信息的记忆。直观地说,如果 LSTM 单元在早期从输入序列检测到一个重要的特征,它很容易在很长的时间内携带这种信息 (特征的存在),并捕获潜在的=有用信息。我们在三个流行的基准数据集 (PKU,MSRA 和 CTB6) 评估我们的模型, 实验结果表明,该模型在较小的上下文窗口大小 (0,2) 下达到了最优的性能。

本文的贡献可以概括如下。

(1)首先介绍了用于中文分词的 LSTM 神经网络。LSTM 可以捕获潜在的长距离数据,并在内存中保留以前有用的信息,从而避免了上下文窗口大小的限制。

(2)虽然在 LSTM 中应用dropout方法的研究相对较少,但我们研究了几种 随机失活策略,发现随机失活也有效地避免了 LSTM 的过度拟合。

(3)尽管中文分词是一个,但我们的模型可以很容易地产生并应用到其他序列标签化任务中。

  1. 中文分词的神经模型

中文分词通常被视为基于字符的序列标记。每个字符标记为 {B,M,E,S},以指示分割。{B,M,E} 表示开始、中间、结束的多字符分割,而S代表单个字符分割。神经模型通常具有三个专门的层次:(1)字符嵌入层;(2)一系列经典神经网络层和(3)标签推理层,如图1所示。

图1 中文分词神经模型一般结构图

最常见的标记方法是基于本地窗口。窗口方法推断一个字符的标签很大程度上取决于它的相邻字符。给定一个输入序列C(1: n),一个大小K的窗口从字符C(1)滑动到字符C(N),其中N是句子的长度。如图1所示,对于每个字符C(T),当窗口大小文本字符进入查找表层时K是5。超过边界的字符分成两个特别的符号,即 “开始” 和 “结束” 符号。然后将查找表层提取的字符嵌入连接到单个向量中。X(T)被输入到下一层执行线性变换,公式如下:

在给定标签数目的情况下,可以产生一个类似的线性变化如下:

要对标签依赖关系进行建模,需要引入转换系数A来衡量从一个标签跳转到另一个标签的概率。虽然该模型适用于中文分词和其他序列的任务,但它只是利用了有限长度窗口的文本信息,而一些有用的长距离信息被忽略了。

  1. 基于LSTM神经网络的中文分词

在这一部分,我们介绍了 LSTM 神经网络的中文分词。

首先是字符嵌入。使用神经网络处理字符数据的第一步是将它们表示成分布式向量,也称为嵌入 (Bengio 等人,2003; Collobert 和 Weston,2008)。

正式地讲,在中文分词任务中,我们有一个大小|C|的字符字典C。如果未指定,则从训练集中提取字符字典,并将未知字符映射到其他未使用特殊符号的地方。每个字符c作为实值向量 (字符嵌入) 被重新设置,然后将字符嵌入堆叠到嵌入矩阵中。对于一个字符c,它们对应的字符嵌入Vc由查找表层检索。查找表层可以看作是一个简单的投影层,其中每个上下文字符的字符嵌入是通过表查找操作根据其索引实现的。

长短期记忆神经网络 (LSTM) (Hochreiter 和 Schmidhuber,1997) 是递归神经网络 (RNN) 的扩展。RNN 具有经常性的隐藏状态,其每次输出都依赖于以前的时间。更正式的,给定一个序列X(1: n)= (X(1),X(2),hellip;hellip;,X(T),hellip;hellip;,X(N)),RNN通过H(T)更新其经常性隐藏状态。

虽然 RNN 在许多任务上已被证明成功,如语音识别 (Vinyals 等人,2012),语言建模 (Mikolov 等人,2010) 和文本生成 (Sutskever 等人, 2011)等,但由于部分消失和爆炸梯度问题 (Hochreiter 和 Schmidhuber,1997) ,模型很难训练他们去学习长期动态,这也是RNN模型存在的缺点之一。

LSTM 通过合并内存单元,允许网络了解何时忘记以前的信息,以及何时更新内存单元提供的新信息以提供解决方案。因此,将 LSTM 神经网络应用于分词任务是一个自然的选择,因为 LSTM 神经网络可以从具有远程暂时依赖 (内存) 的数据中学习,输入和相应输出之间存在可考虑的时间滞后。此外,LSTM 已成功应用于许多 NLP 任务,如文本分类 (liu等人,2015) 和机器翻译 (Sutskever 等人,2014)。

LSTM 模型的核心是内存单元,对每次输入进内存的信息进行编码。单元的行为由三个 “门” 控制,即输入门i、抛弃门F和输出门O。门上的运算被定义为元素的乘法,因此如果门是非零矢量,门可以缩放输入值,而当门是零矢量时可以省略输入。输出门的输出将被输入到下一个时间步骤t 1作为先前的隐藏状态以及当前时间步骤t的上层神经网络的输入。LSTM内存单元的工作示意图如图2所示。内存单元包含一个由三个门控制的单元格C。绿色链接显示时间T-1的信号,而黑色链接显示当前信号。虚线链接表示从开始到结束的权重矩阵是对角矩阵。此外,实体指针意味着在连接上有权重矩阵,空心指针意味着无。当前输出信号通过三个门回溯到下一时刻T 1,并且成为神经网络的高级层的输入。

图2 LSTM内存单元结构图

图中sigma;和Phi;分别代表logistic sigmoid函数和双曲正切函数;I、F、O、C分别是输入门,抛弃门,输出门,和内存单元激活向量。在时间步骤T时,所有这些都与隐藏向量有相同的大小。参数矩阵虽然下标不相同,但都是方形矩阵。我们注意到,输入门、抛弃门以及输出门的参数矩阵都是双列矩阵。

为了充分利用 LSTM,我们提出了四种不同的神经网络结构,通过内存单元选择有效的特征。图3展示了我们提出的体系结构。

图3 LSTM的体系结构

LSTM体系主要有以下四种:

(1)LSTM-1:LSTM-1简单地使用LSTM单元替换隐藏神经元,其单元的输入来自上下文字符窗口。LSTM单元的输出在经过线性变换以后被用在最终的推断函数中。

(2)LSTM-2:LSTM-2 可以通过多个 LSTM 隐藏层堆叠在彼此之上,使一层的输出序列形成下一个输入序列来创建 (参见图 3b)。这里我们使用两个 LSTM 层。具体来说,需要从较低的 LSTM 层提取H(T),在没有任何转换的情况下输入到上LSTM层。第一层的输入与 LSTM-1 相同,第二层的输出与 LSTM-1 相同。

(3)LSTM-3:LSTM-3是 LSTM-1 的扩展,它采用 LSTM 层的局部上下文作为最后一层的输入 (见图3c)。对于每个时间步骤T,我们将LSTM层的窗口和向量H链接起来,该向量在经过线性变换后被用于一个最终的判决函数中。

(4)LSTM-4 :LSTM-4(见图 3d) 是LSTM-2 和LSTM-3 的混合结构,由两个 LSTM 层组成。下 LSTM 层的输出序列构成上 LSTM 层的输入序列。最后一层采用 LSTM 上层的局部上下文作为输入。

为了对标签的独立性进行建模,先前的神经网络模型引入了转换系数A来衡量一个标签转变到另一个标签的概率。对于一个带着标签序列的输入句子,该句子的水平系数可以通过标签转换系数以及网络标签系数之和得到。

  1. 训练

我们使用最大间距准则来训练我们的模型。直观地说,最大间距准则可以取代利用决策边界的鲁棒性模型(taskar等人,2005年)进行概率估计的方法。我们用y(xi)来表示所有可能的标记序列的集合,给定句子xi,那么正确的标记序列是yi。我们模型的参数集是theta;。我们首先为标签序列定义一个结构间距损失函数:

损失与建议的标签序列中带有错误标记的字符数成比例。给定一个训练集D,归一化的目标函数即是损失函数。为了最小化损失函数,我们使用一个梯度下降生成多项式,这个方法可以用来计算方向梯度。

随机失活是对抗神经网络训练过程中过拟合的一种有效方法。当神经网络中的一个单元随机失活后,我们暂时将它从网络中移除,同时移除它的输入与输出连接。在最简单的情况下,每一个单元以一个独立于其他单元的概率p被移除,我们称之为随机失活率。

随机失活的一般设想是在神经网络的学习过程中,随机将部分隐含层节点的权重归零,由于每次迭代受归零影响的节点不同,因此各节点会被平衡。引入随机失活后,神经网络的每个节点都会贡献内容,不会出现少数高权重节点完全控制输出结果的情况,因此降低了网络的结构风险。

按神经网络自身的不同结构,随机失活的实现方法有差异。对多层感知器,随机失活通常将选中节点的输出归零;对卷积神经网络,随机失活可以随机将卷积核的部分元素归零,即随机连接失活,或在多通道情形下随机归零整个特征图的通道,即空间随机失活;对循环神经网络,随机失活按网络的拓扑结构可以作用于每个时间步的输入和状态矩阵。

随机失活通常降低了神经网络的计算开销,因为归零操作可以得到稀疏矩阵。但在迭代次数较多的学习任务,例如RNN的学习中,反复生成随机数会带来额外的计算开销。

  1. 实验

我们使用PKU、MSRA、CTB6三个流行的数据集来评估我们的模型。这些数据集被广泛地使用在最先进的模型以及神经网络模型当中。除此以外,我们利用90%的训练数据作为训练集,而其余的10%的数据集用作检验集。

所有的数据集已经经过了预处理,包括去除中文俗语和一些英文符号,并标注上了唯一的标签。为了进行评估,我们使用标准的评分程序计算精确度、召回率等。

神经网络模型的超参数深刻影响着算法的表现。根据实验结果,我们选择在图1中的模型的超参数,批训练大小设置为20。一般来说,隐藏单元的数量对只要足够大,那么对算法表现的影响就有限。经过研究发现150是对速度以及模型表现的很好的折中。当字符嵌入的维度被设置成100时模型性能最优。所有的超参数根据他们在三个数据集

原文和译文剩余内容已隐藏,您需要先支付 20元 才能查看原文和译文全部内容!立即支付

以上是毕业论文外文翻译,课题毕业论文、任务书、文献综述、开题报告、程序设计、图纸设计等资料可联系客服协助查找。