一种基于参数线性约束的多任务分词方法与流程

文档序号:12666041阅读:169来源:国知局

本发明涉及基于深度学习的自然语言处理,尤其是涉及一种基于参数线性约束的多任务分词方法。



背景技术:

自然语言处理是计算机学科人工智能的一个重要研究方向,它研究如何使得人与计算机之间能够使用自然语言进行有效通信。它是一门融语言学、计算机科学、数学于一体的学科。中文分词是自然语言处理的基础任务,是许多上游任务比如情感分类、机器翻译等的预处理步骤。

中文分词研究一直是学术界的热点。传统的方法使用面向特定任务的人工定义的特征,起到了很好的效果,但是对于特定任务如何定义有效人工特征并不是一件容易的事情。近年来随着神经网络的兴起,不少工作探索了如何使用神经网络来对中文分词进行建模(参见文献:[1~7]),效果达到甚至超过了传统方法。使用神经网络进行建模的优点在于不需要人工定义特征,网络模型能够学习有益分词任务的特征表示。工作(参见文献:[3])中使用一个长短时记忆(Long-short Term Memory,简称LSTM)神经网络模型进行中文分词任务,效果达到了目前最好的水平。另一方面,学术界对分词任务的基础即词的基本定义有着不用的看法。许多研究者提出了不同的分词标准,并且人工标注了相应的分词语料数据。传统研究基于特定分词标准的数据集,训练出一个中文分词模型。然而这些研究受限于数据集的大小,无法充分利用不同的分词标准的数据集。对此,近年来许多研究者对如何利用不同分词标准的数据集展开了深入研究(参见文献[8~10])。文献[8]和[9]都是先在某个分词标准的数据集上训练出一个初步的分词模型,然后使用这个模型的输出作为其他分词标准的分词模型的特征。文献[10]中探索了不同分词标准的标签映射,这样可以达到数据映射的目的。但是,目前没有相关研究探索如何在深度学习中同时应用不同分词标准的数据来联合训练不同的分词模型,该问题值得深入研究。参考文献:

[1]Pei W,Ge T,Chang B.Max-Margin Tensor Neural Network for Chinese Word Segmentation[C]//ACL(1).2014:293-303.

[2]Zheng X,Chen H,Xu T.Deep Learning for Chinese Word Segmentation and POS Tagging[C]//EMNLP.2013:647-657.

[3]Chen X,Qiu X,Zhu C,et al.Long short-term memory neural networks for chinese word segmentation[C]//Proceedings of the Conference on Empirical Methods in Natural Language Processing.2015:1385-1394.

[4]Chen X,Qiu X,Zhu C,et al.Gated recursive neural network for Chinese word segmentation[C]//Proceedings of Annual Meeting of the Association for Computational Linguistics.pendency parsing using two heterogeneous gated recursive neural networks.In Proceedings of the Conference on Empirical Methods in Natural Language Processing.2015.

[5]Chen X,Qiu X,Huang X.A Long Dependency Aware Deep Architecture for Joint Chinese Word Segmentation and POS Tagging[J].arXiv preprint arXiv:1611.05384,2016.

[6]Xu J,Sun X.Dependency-based gated recursive neural network for chinese word segmentation[C]//The 54th Annual Meeting of the Association for Computational Linguistics.2016:567.

[7]Yao Y,Huang Z.Bi-directional LSTM Recurrent Neural Network for Chinese Word Segmentation[J].arXiv preprint arXiv:1602.04874,2016.

[8]Jiang W,Huang L,Liu Q.Automatic adaptation of annotation standards:Chinese word segmentation and POS tagging:a case study[C]//Proceedings of the Joint Conference of the 47th Annual Meeting of the ACL and the 4th International Joint Conference on Natural Language Processing of the AFNLP:Volume 1-Volume 1.Association for Computational Linguistics,2009:522-530.

[9]Sun W,Wan X.Reducing approximation and estimation errors for Chinese lexical processing with heterogeneous annotations[C]//Proceedings of the 50th Annual Meeting of the Association for Computational Linguistics:Long Papers-Volume 1.Association for Computational Linguistics,2012:232-241.

[10]Qiu X,Zhao J,Huang X.Joint Chinese Word Segmentation and POS Tagging on Heterogeneous Annotated Corpora with Multiple Task Learning[C]//EMNLP.2013:658-668.

[11]Duchi J,Hazan E,Singer Y.Adaptive subgradient methods for online learning and stochastic optimization[J].Journal of Machine Learning Research,2011,12(Jul):2121-2159.



技术实现要素:

本发明的目的在于提供一种基于参数线性约束的多任务分词方法。

本发明包括以下步骤:

1)使用不同分词标准的数据对不同中文分词模型进行初步训练;

2)对于不同中文分词模型,共享部分参数,对另外的参数建立线性约束关系;

3)建立统一的目标函数,进行不同分词模型的训练。

在步骤1)中,所述使用不同分词标准的数据对不同分词模型进行初步训练的具体方法可为:

(1)对基于长短时记忆(Long-short Term Memory,简称LSTM)的中文分词模型,字符的嵌入表示如下:

用神经网络处理字符数据的第一步是用向量来表示字符的语义,即Character Embedding,用C表示大小为|C|的字符词典,任何在字典中的字符c都用一个实数向量vc∈Rd表示,其中d是向量空间的维度,所有字符的嵌入表示组成字符嵌入表示矩阵M(M∈R|C|×d),矩阵M中的每一行都表示对应某个字符的嵌入表示,某个字符对应的行可以通过查找表找到;

标签打分如下:

把中文分词看成一个分类问题,任何一个字符可以被分成四类B,M,E,S标签中的一类,分别表示一个词的开头,中间,结尾和单独一个字作为词,给定一个字符序列x=(x1,x2,…,xn),使用LSTM网络对标签进行打分;对于字符xt(1≤t≤n),网络的输入为:

其中,表示拼接,k1、k2分别表示当前字符左边和右边的窗口大小,将x输入到LSTM单元,进一步得到:

ht=ot⊙tanh(ct)

其中,ct,ht分别表示LSTM单元在t时刻的记忆单元和隐层状态,向量it,ot,ft分别表示时刻t的LSTM输入,输出和遗忘门,用于控制LSTM单元信息记忆存储,⊙表示对应的元素相乘。W1,b1是模型的参数;

再根据以下公式计算在当前上下文下各个标签的分数:

st=W2ht+b2

其中,W2和b2也为网络的参数;

为了建模标签之间的关系,进一步引入来度量从标签yt-1转移到yt的概率,yt表示xt对应的标签,经过上述过程,输入句子x的标签序列y的分数计算如下:

其中,y表示标签序列,表示网络对应于标签yt的输出分数,θ表示模型的参数,n为x的长度;给定一个训练样本(x,y),用表示预测得到的标签序列,则:

其中,Y(x)为序列x所有可能的标签序列集合。

定义边缘损失为:

其中,1{*}为指示函数,当时,取值为1,否则为0,而η为折扣因子。

最后,在给定一个数据集D,目标函数定义为:

其中,λ为正则化项对应的权重;

(2)基于多任务学习的中文分词模型

将步骤(1)的建模过程推广到不同分词标准的分词模型建模,使用多任务学习框架来进行不同模型的联合训练,对于不同的模型,共享字符嵌入表示矩阵M和LSTM模型参数,而对于分词标签的相关参数,即W2、b2,使用线性约束来建模他们之间的关系;

用i、j分别表示两个不同的模型,这两者之间的约束关系可以表示成:

其中,表示第i个模型的分词标签相关参数,表示网络的参数;

综上述,多任务学习框架下模型的目标函数包含分词损失以及约束损失:

其中,Jii)表模型i的分词损失,λw表示模型约束项对应的权重,N表示模型个数。

(3)模型训练

采用Mini-batch的训练方式,同时使用不同分词标准的数据来联合训练不同标准分词模型;在这个过程中,使用AdaGrad(参见文献:[11])进行参数优化求解。

本发明以多任务学习为基本框架主要包括如下几个内容:

(1)共享不同的分词模型的部分参数,对另外的参数引入线性约束;

(2)对不同的分词模型,建立统一的目标函数,进行联合训练。

本发明利用参数的线性约束来建模不同分词模型之间的关系,使得不同分词标准模型的训练能够使用另外分词标准的训练数据。本发明算法明确、思路清晰,利用这个方法能够扩增现有分词模型的训练数据,提高中文分词任务的性能,更好地服务于基于分词的其他自然语言处理任务。

本发明提供了一种新的中文分词模型的多任务训练方法。该方法基于多任务学习框架对不同的分词模型进行联合训练。对不同分词标准的模型建立参数线性约束来建模不同分词模型之间的关系。使得不同模型能够共享不同分词标准数据的特征属性,同时根据不同分词任务保留各自模型的特性。

本发明的具体思想如下:

把不同分词标注模型的训练过程看成一个多任务学习的建模过程,不同分词标准模型的部分参数可以共享,而部分参数不能共享但是相关,对此,在不同分词模型之间引入参数线性映射来建模这种约束关系。

附图说明

图1为本发明基于LSTM中文分词模型结构图。在图1中,加下标的x表示输入的字符;x由所有输入字符的向量表示拼接而成;d表示字符向量表示的维度;ht,ct表示LSTM单元的隐层状态和记忆;W2,b2,A是模型参数;B、M、E、S是分词标签。

具体实施方式

本发明具体实施方式如下:

第一步使用不同分词标准的数据对不同分词模型进行初步训练;

第二步对于不同分词模型,共享部分参数,对另外的参数建立线性约束关系;

第三步建立统一的目标函数,进行不同分词模型的训练。

对于训练不同的分词模型,首先在第一部分介绍分词模型模型的训练,在第二部分介绍如何通过建立线性约束建立统一的目标函数,在第三部分说明模型的训练方式,下面介绍具体的实现细节:

1.基于LSTM的中文分词模型

模型的网络结构如图所示。

1)字符的嵌入表示

用神经网络处理字符数据的第一步是用向量来表示字符的语义,即Character Embedding。用C表示大小为|C|的字符词典。任何在字典中的字符c都用一个实数向量vc∈Rd表示,其中d是向量空间的维度。所有字符的嵌入表示组成字符嵌入表示矩阵M(M∈R|C|×d),矩阵M中的每一行都表示对应某个字符的嵌入表示,某个字符对应的行可以通过查找表找到。

2)标签打分

把中文分词看成一个分类问题,任何一个字符可以被分成四类B,M,E,S标签中的一类,分别表示一个词的开头,中间,结尾和单独一个字作为词。给定一个字符序列x=(x1,x2,…,xn),使用LSTM网络对标签进行打分。对于字符xt(1≤t≤n),网络的输入为:

其中,表示拼接,k1、k2分别表示当前字符左边和右边的窗口大小。将x输入到LSTM单元,进一步得到:

ht=ot⊙tanh(ct)

其中,ct,ht分别表示LSTM单元在t时刻的记忆单元和隐层状态,向量it,ot,ft分别表示时刻t的LSTM输入,输出和遗忘门,用于控制LSTM单元信息记忆存储。⊙表示对应的元素相乘。W1,b1是模型的参数。

然后,根据下面的公式计算在当前上下文下各个标签的分数:

st=W2ht+b2

这里的W2和b2也为网络的参数。

为了建模标签之间的关系,进一步引入来度量从标签yt-1转移到yt的概率,yt表示xt对应的标签。经过上述过程,输入句子x的标签序列y的分数计算如下:

其中,y表示标签序列,表示网络对应于标签yt的输出分数,θ表示模型的参数,n为x的长度。给定一个训练样本(x,y),用表示预测得到的标签序列,则:

其中,Y(x)为序列x所有可能的标签序列集合。

定义边缘损失为:

其中,1{*}为指示函数,当时,取值为1,否则为0,而η为折扣因子。

最后,在给定一个数据集D,目标函数定义为:

其中,λ为正则化项对应的权重。

2.基于多任务学习的中文分词模型

将上述步骤的建模过程推广到不同分词标准的分词模型建模。具体而言,使用多任务学习框架来进行不同模型的联合训练。不同的是,对于不同的模型共享字符嵌入表示矩阵M和LSTM模型参数,而对于分词标签的相关参数,即W2、b2,使用线性约束来建模他们之间的关系。

用i、j分别表示两个不同的模型,这两者之间的约束关系可以表示成:

其中,表示第i个模型的分词标签相关参数,表示网络的参数。

综上述,多任务学习框架下模型的目标函数包含分词损失以及约束损失:

其中,Jii)表模型i的分词损失,λw表示模型约束项对应的权重,N表示模型个数。

3.模型训练

采用Mini-batch的训练方式,同时使用不同分词标准的数据来联合训练不同标准分词模型。特别地,在这个过程中,使用AdaGrad(参见文献:[11])进行参数优化求解。

当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1