CN110188348B - 一种基于深度神经网络的中文语言处理模型及方法 - Google Patents

一种基于深度神经网络的中文语言处理模型及方法 Download PDF

Info

Publication number
CN110188348B
CN110188348B CN201910378653.6A CN201910378653A CN110188348B CN 110188348 B CN110188348 B CN 110188348B CN 201910378653 A CN201910378653 A CN 201910378653A CN 110188348 B CN110188348 B CN 110188348B
Authority
CN
China
Prior art keywords
network
hidden layer
semantic
steps
units
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
CN201910378653.6A
Other languages
English (en)
Other versions
CN110188348A (zh
Inventor
王玉峰
张江
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Nanjing University of Posts and Telecommunications
Original Assignee
Nanjing University of Posts and Telecommunications
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Nanjing University of Posts and Telecommunications filed Critical Nanjing University of Posts and Telecommunications
Priority to CN201910378653.6A priority Critical patent/CN110188348B/zh
Publication of CN110188348A publication Critical patent/CN110188348A/zh
Application granted granted Critical
Publication of CN110188348B publication Critical patent/CN110188348B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/20Natural language analysis
    • G06F40/279Recognition of textual entities
    • G06F40/289Phrasal analysis, e.g. finite state techniques or chunking
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/30Semantic analysis
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/04Architecture, e.g. interconnection topology
    • G06N3/045Combinations of networks
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/08Learning methods

Abstract

本发明公开了一种基于深度神经网络的中文语言处理模型及方法,包括语义编码网络,词性分析网络和语义解码网络三部分,其中语义编码网络、词性分析网络通过注意力网络和语义解码网络进行连接。语义编码网络和词性分析网络首先对源文本生成的词向量进行处理,语义编码网络输出源文本的语义信息向量,词性分析网络输出源文本的词性信息向量,将语义信息向量和词性信息向量进行concat()连接,作为注意力网络的输入,注意力网络根据输入的信息生成包含源文本所有信息的背景向量,作为语义解码网络的输入;语义解码网络根据背景向量计算得到所有候选词的概率分布,根据概率分布逐个输出目标文本的每个元素。提升了文本映射的准确性,和系统性能。

Description

一种基于深度神经网络的中文语言处理模型及方法
技术领域
本发明涉及一种基于深度神经网络的中文语言处理模型及方法,属于自然语言智能化处理技术领域。
背景技术
目前,自然语言处理研究的是可以进行语言表示和语言运用的模型,建立计算框架来实现这样的语言模型,同时提出各种方法完善这个模型,根据这个模型设计各种实用系统,并探索这些实用系统的评测技术。
自然语言处理的最终目标是让机器理解并生成自然语言,具体来说,就是研究一种人类可以用自己的语言与之交流的认知机器。而中文自然语言处理研究的是中文语言的表示以及运用,在运用神经网络的自然语言处理领域,往往对输入序列与输出序列的长度有严格的要求,这与实际应用中的中文语言处理不相符合。在实际应用中,对中文语言进行的处理往往是将中文语言映射到其他语言的翻译系统,本文更倾向于将一个中文文本映射为另一个与其对应的中文文本,实现中文语言内的一种自然语言处理方法。
在中文文本到中文文本的处理中,本发明关注进行中文对联的自动生成,在进行对联自动生成的任务中,词性信息是应该被重点关注的部分,源对联序列与目标对联序列相同位置的词的词性应该保持相同,本发明通过引入句法分析模块以将词性信息引入神经网络,保证了源对联序列与目标对联序列的严格对仗。
发明内容
目的:为了克服现有技术中存在的不足,本发明提供一种基于深度神经网络的中文语言处理模型及方法。
技术方案:为解决上述技术问题,本发明采用的技术方案为:
一种基于深度神经网络的中文语言处理模型,包括:语义编码网络,词性分析网络、语义解码网络,其中语义编码网络、词性分析网络通过注意力网络和语义解码网络进行连接。语义编码网络和词性分析网络首先对源文本生成的词向量进行处理,语义编码网络输出源文本的语义信息向量,词性分析网络输出源文本的词性信息向量,将语义信息向量和词性信息向量进行concat()连接,作为注意力网络的输入,注意力网络根据输入的信息生成包含源文本所有信息的背景向量,作为语义解码网络的输入;语义解码网络根据背景向量逐个输出目标文本的每个元素。
一种基于深度神经网络的中文语言处理方法,具体处理步骤如下:
步骤一:由于中文语言无法直接为计算机所理解,所以需要对待处理的中文文本进行预处理。首先将中文源文本进行分词,将经过分词后的数据使用词向量生成方法生成可以被计算机处理的中文词向量序列X=x1,x2,x3,...,xM。M是源文本经过分词后的数据长度。
步骤二:将源文本的中文词向量序列X=x1,x2,x3,...,xM输入语义编码网络,语义编码网络是一个双向RNN网络,其作用是将长度不确定的中文词向量序列映射为长度确定的向量,这个向量包含了源文本的全部语义信息;语义编码网络的前向网络单元从左至右处理中文词向量序列,后向网络单元从右至左处理中文词向量序列,最后将两个方向对应的隐藏层状态向量相连接,语义编码网络直接输出其隐藏层状态序列H=h1,h2,h3,...,hM,其中H中的元素hi是维度为2D的列向量,i取[1,M]中的整数,D等于RNN网络隐藏层神经单元个数,
Figure BDA0002051070070000031
步骤三:将源文本中文词向量序列X=x1,x2,x3,...,xM输入词性分析网络,词性分析网络是一个双向RNN网络,词性分析网络的作用是融入更多的语言学知识,提高中文处理的准确性,词性分析网络的前向网络单元从左至右处理中文词向量序列,后向网络单元从右至左处理中文词向量序列,最后将两个方向对应的隐藏层状态向量相连接,输出其隐藏层状态序列G=g1,g2,g3,...,gM,G中的元素gi是维度为2D的列向量,i取[1,M]中的整数,D等于RNN网络隐藏层神经单元个数,
Figure BDA0002051070070000032
步骤四:H与G中元素的维度相同,等于2D,将H=h1,h2,h3,...,hM与G=g1,g2,g3,...,gM中的每个元素以concat()的函数方式进行拼接,得到输出E=e1,e2,e3,...,eM,其中
Figure BDA0002051070070000033
i取[1,M]中的整数,是长度为4D的向量。
步骤五:初始时刻k=1时,将E=e1,e2,e3,...,eM作为注意力神经网络的输入,注意力神经网络使用一个随机生成的4D维向量z0与E=e1,e2,e3,...,eM中的每个元素做点积,将所有点积结果通过一个Softmax函数,得到E=e1,e2,e3,...,eM中每个元素所占的初始权重αi1,注意力神经网络输出e1,e2,e3,...,eM的初始加权和,即
Figure BDA0002051070070000034
Figure BDA0002051070070000041
将初始加权和c1作为语义解码网络的输入,生成初始目标序列第1个元素y1,得到初始目标序列隐藏层状态z1
步骤六:在时刻k=j时,注意力网络将语义解码网络前一时刻的隐藏层状态zj-1与E=e1,e2,e3,...,eM中的每个元素做点积,将所有点积结果通过一个Softmax函数,得到E=e1,e2,e3,...,eM中每个元素所占的权重αij(i表示源文本的第i个分词,j表示第j个时刻),αij表示正在生成的目标词与E=e1,e2,e3,...,eM中每个元素的关联程度,0<αij<1,且α1j2j+…+αMj=1;注意力神经网络输出e1,e2,e3,...,eM的加权和,即
Figure BDA0002051070070000042
cj作为语义解码网络的输入,语义解码网络生成目标序列的第j个元素yj,得到当前时刻的隐藏层状态zj
步骤七:在时刻k=M时,注意力网络将语义解码网络前一时刻的隐藏层状态zM-1与E=e1,e2,e3,...,eM中的每个元素做点积,将所有点积结果通过一个Softmax函数,得到E=e1,e2,e3,...,eM中每个元素所占的权重αiM,输出e1,e2,e3,...,eM的加权和,即
Figure BDA0002051070070000043
cM作为语义解码网络的输入,语义解码网络生成目标序列的最后一个元素yM
步骤八:将时刻k从1到M,语义解码网络生成目标序列y1到yM组成最终目标序列Y=y1,y2,y3,...,yM。语义解码网络由单向的RNN网络组成。
步骤九:对基于编码-解码框架的中文语言处理模型进行训练获得神经网络的各项参数。
步骤十:采用基于编码-解码的中文语言处理模型进行中文语言处理。
作为优选方案:所述语义编码网络由双向的RNN网络组成,包括输入层、隐藏层和输出层;其中隐藏层的层数为4。
语义编码网络隐藏层均采用LSTM单元代替基本的RNN单元;
语义编码网络按顺序和逆序两个方向处理中文词向量序列X=x1,x2,x3,...,xM;具体步骤如下:
步骤2-1:将X=x1,x2,x3,...,xM输入语义编码网络的前向网络单元,在每个时间步t上,得到其隐藏层状态
Figure BDA0002051070070000051
计算方法如下:
Figure BDA0002051070070000052
其中
Figure BDA00020510700700000516
是隐藏层的激活函数,可以选择非线性激活函数,xt是在时间步t上处理的源文本分词,/>
Figure BDA0002051070070000053
是上一个时间步的隐藏层状态,/>
Figure BDA0002051070070000054
是偏置项,/>
Figure BDA0002051070070000055
和/>
Figure BDA0002051070070000056
是所有隐藏层单元共享的参数矩阵,/>
Figure BDA0002051070070000057
的维度为D,D为其隐藏层神经单元个数。
步骤2-2:将X=x1,x2,x3,...,xM输入语义编码网络的后向网络单元,在每个时间步t上,得到其隐藏层状态
Figure BDA0002051070070000058
计算方法如下:
Figure BDA0002051070070000059
其中
Figure BDA00020510700700000510
是隐藏层的激活函数,可以选择非线性激活函数,xt是在时间步t上处理的源文本分词,/>
Figure BDA00020510700700000511
是上一个时间步的隐藏层状态,/>
Figure BDA00020510700700000512
是偏置项,/>
Figure BDA00020510700700000513
和/>
Figure BDA00020510700700000514
是所有隐藏层单元共享的参数矩阵,/>
Figure BDA00020510700700000515
的维度为D,D为其隐藏层神经单元个数。
步骤2-3:在每个时间步t上将对应的神经网络隐藏层状态采用concat()函数方法连接,得到
Figure BDA0002051070070000061
ht是一个2D维的向量,将所有M个时间步上得到的ht组成H=h1,h2,h3,...,hM,M是源语言词的个数。
作为优选方案:所述词性分析网络由双向的RNN网络组成,包括输入层、隐藏层和输出层;
词性分析网络的隐藏层神经单元个数与语义编码网络的隐藏层神经单元个数相同;
词性分析网络按顺序和逆序两个方向处理中文词向量序列X=x1,x2,x3,...,xM;具体步骤如下:
步骤3-1:将X=x1,x2,x3,...,xM输入词性分析网络的前向网络单元,在每个时间步t上,得到其隐藏层状态
Figure BDA0002051070070000062
计算方法如下:
Figure BDA0002051070070000063
其中S是隐藏层的激活函数,可以选择非线性激活函数,xt是在时间步t上处理的源文本分词,
Figure BDA0002051070070000064
是上一个时间步的隐藏层状态,/>
Figure BDA0002051070070000065
是偏置项,/>
Figure BDA0002051070070000066
和/>
Figure BDA0002051070070000067
是所有隐藏层单元共享的参数矩阵,/>
Figure BDA0002051070070000068
的维度为D,D为其隐藏层神经单元个数,与语义编码网络隐藏层单元数相同。
步骤3-2:将X=x1,x2,x3,...,xM输入词性分析网络的后向网络单元,在每个时间步t上,得到其隐藏层状态
Figure BDA0002051070070000069
计算方法如下:
Figure BDA00020510700700000610
其中S是隐藏层的激活函数,可以选择非线性激活函数,xt是在时间步t上处理的源文本分词,
Figure BDA00020510700700000611
是上一个时间步的隐藏层状态,/>
Figure BDA00020510700700000612
是偏置项,/>
Figure BDA00020510700700000613
和/>
Figure BDA00020510700700000614
是所有隐藏层单元共享的参数矩阵,/>
Figure BDA00020510700700000615
的维度为D,D为其隐藏层神经单元个数,与语义编码网络隐藏层单元数相同。
步骤3-3:在每个时间步t上将对应的神经网络隐藏层状态采用concat()函数方法连接,得到
Figure BDA0002051070070000071
gt是一个2D维的向量,将总共M个时间步上的gt组成G=g1,g2,g3,...,gM,M是源语言词的个数。
作为优选方案:所述注意力神经网络是一个前馈神经网络,包含输入层,隐藏层和输出层;
其中隐藏层的层数为一,输出层采用Softmax激活函数;
点积计算,记为score(),即:
score(zj-1,ei)=zj-1ei
对点积结果使用Softmax函数计算得到E=e1,e2,e3,...,eM的每个输出所占的权重αij,计算公式如下:
Figure BDA0002051070070000072
0<αij<1,且α1j2j+…+αMj=1。
注意力神经网络输出e1,e2,e3,...,eM的加权和:
Figure BDA0002051070070000073
将c1作为语义解码网络的第一个隐藏层状态参与后续计算。
作为优选方案:所述语义解码网络由单向的RNN组成,包括输入层,隐藏层和输出层,其中隐藏层层数为4;
隐藏层均采用LSTM替代基本的RNN单元;
语义解码网络每个时刻步生成一个目标词,具体步骤如下;
步骤1:在生成目标文本序列的第j个元素时,对应的注意力神经网络输出cj和上一个时间步的隐藏层状态zj-1作为当前隐藏层单元的输入,计算得到当前时刻的隐藏层状态zj,计算公式如下:
Figure BDA0002051070070000081
/>
Figure BDA0002051070070000083
代表语义解码网络的激活函数,Wc代表待训练的参数矩阵。
步骤2:将语义解码网络的隐藏层状态zj通过Softmax输出层得到目标词的概率分布,计算过程如下:
P[yj|{y1,...,yj-1},cj]=softmax(Wszj)
其中,[;]表示串联,Wc和Ws表示待训练的参数矩阵。
步骤3:语义解码网络在目标词所有可能结果中随机抽样得到多个目标词的候选,在通过步骤2中得到的概率分布找出概率最大的一个作为最终输出。
作为优选方案,步骤九具体包括以下步骤:
使用一定数量成对的源文本与目标文本数据(X,Y)对中文语言处理模型进行训练,表示为
Figure BDA0002051070070000082
获得所需要的语义编码网络、词性分析网络中U,W,K,L和语义解码网络中的Wc,Ws矩阵;
使用标准最大似然参数估计优化评估训练结果;
得到最终的中文语言处理模型。
有益效果:本发明提供的一种基于深度神经网络的中文语言处理模型,包括编码阶段与解码阶段。在编码阶段,对待处理的中文文本进行预处理,得到其对应的词向量序列;首先将词向量序列输入语义编码网络,输出D个2D维的语义信息向量(D是语义编码神经网络的隐藏层单元个数),组成语义信息向量序列;再将词向量序列输入词性分析网络,输出D个2D维的词性信息向量;将词性信息向量序列和语义信息向量序列连接,输出一个4D维的向量序列,作为语义编码网络的输出;之后将语义编码网络的输出向量序列输入注意力神经网络,注意力神经网络赋予每一个语义编码向量一个动态的权重,输出所有向量的加权和,即cj,cj是一个4D维的向量;解码阶段,语义解码网络每个时间步输出一个目标文本字符,将注意力神经网络的输出,即cj和上一个时间步的解码网络隐藏单元信息输入语义解码网络当前单元;迭代计算,直到任务完成。该方法相对于已有的方案而言,得到的结果的准确性更高。其优点如下:
1.对数据进行的预处理可以保证源文本与目标文本的严格对应,提升了文本映射的准确性;在语义编码网络模块中引入句法分析模块,将源文本的词性信息引入系统之中,可以提升文本映射的准确性。
2.在纯中文的语言处理中引入注意力机制,可以保证在诸如对联生成任务中的源文本与目标文本的严格对仗,提升系统性能。
附图说明
图1为本发明的整体流程示意图;
图2为注意力神经网络操作流程图。
具体实施方式
下面结合附图对本发明作更进一步的说明。
如图1所示,本实施例提供的基于深度神经网络的中文语言处理模型包括语义编码网络,词性分析网络和语义解码网络三部分。处理流程分为编码与解码两个阶段,语义编码网络,词性分析网络负责编码阶段,语义解码网络负责解码阶段。
编码阶段具体包括以下步骤:
步骤一:对待处理的中文文本进行预处理。首先将中文源文本进行分词,将经过分词后的数据使用词向量生成方法以生成中文词向量序列X=x1,x2,x3,...,xM。M是源文本经过分词后的数据长度。
步骤二:将源文本中文词向量序列X=x1,x2,x3,...,xM输入语义编码网络,语义编码网络是一个双向RNN网络,直接输出隐藏层状态序列H=h1,h2,h3,...,hM,H中的元素hi是维度为2D维的向量,i取[1,M]中的整数,由两个D维的向量
Figure BDA0002051070070000101
和/>
Figure BDA0002051070070000102
拼接而成,即/>
Figure BDA0002051070070000103
D等于RNN网络隐藏层单元个数。
步骤三:将源文本中文词向量序列X=x1,x2,x3,...,xM输入词性分析网络,词性分析网络是一个双向RNN网络,直接输出隐藏层状态序列G=g1,g2,g3,...,gM,G中的元素gi是维度为2D维的向量,i取[1,M]中的整数,D等于RNN网络隐藏层单元个数,
Figure BDA0002051070070000104
步骤四:将H=h1,h2,h3,...,hM与G=g1,g2,g3,...,gM中的每个元素以concat()的函数方式进行拼接,作为语义编码网络的输出E=e1,e2,e3,...,eM,其中
Figure BDA0002051070070000105
i取[1,M]中的整数。ei是长度为4D的向量
在具体实施中,在中文源文本预处理阶段,首先使用已有的分词工具将待处理的中文源文本进行分词,然后使用词向量生成工具分词后的中文源文本表示为一系列的词向量X=x1,x2,x3,...,xM。M是中文源文本经过分词后的单词个数。
在获取语义编码网络隐藏层状态时,先将X=x1,x2,x3,...,xM输入语义编码网络的前向单元,在每个时间步t上,得到其隐藏层状态
Figure BDA0002051070070000111
计算方法如下:
Figure BDA0002051070070000112
其中
Figure BDA0002051070070000113
是隐藏层的激活函数,可以选择非线性激活函数,xt是在时间步t上处理的源文本分词,/>
Figure BDA0002051070070000114
是上一个时间步的隐藏层状态,/>
Figure BDA0002051070070000115
是偏置项,/>
Figure BDA0002051070070000116
和/>
Figure BDA0002051070070000117
是所有隐藏层单元共享的参数矩阵,/>
Figure BDA0002051070070000118
的维度为D,D为其隐藏层神经单元个数。
再将X=x1,x2,x3,...,xM输入语义编码网络的反向单元,在每个时间步t上,得到其隐藏层状态
Figure BDA0002051070070000119
计算方法如下:
Figure BDA00020510700700001110
其中
Figure BDA00020510700700001111
是隐藏层的激活函数,可以选择非线性激活函数,xt是在时间步t上处理的源文本分词,/>
Figure BDA00020510700700001112
是上一个时间步的隐藏层状态,/>
Figure BDA00020510700700001113
是偏置项,/>
Figure BDA00020510700700001114
和/>
Figure BDA00020510700700001115
是所有隐藏层单元共享的参数矩阵,/>
Figure BDA00020510700700001116
的维度为D,D为其隐藏层神经单元个数。
在每个时间步t上将对应的神经网络隐藏层状态采用concat()方法连接,得到
Figure BDA00020510700700001117
将总共M个时间步上的ht组成H=h1,h2,h3,...,hM,M是源语言词的个数。
将X=x1,x2,x3,...,xM输入词性分析网络的前向处理单元,在每个时间步t上,得到其隐藏层状态
Figure BDA00020510700700001118
计算方法如下:/>
Figure BDA00020510700700001119
其中S是隐藏层的非线性激活函数(可以选择多种激活函数),xt是在时间步t上处理的源文本分词,
Figure BDA0002051070070000121
是上一个时间步的隐藏层状态,/>
Figure BDA0002051070070000122
是偏置项,/>
Figure BDA0002051070070000123
和/>
Figure BDA0002051070070000124
是所有隐藏层单元共享的参数矩阵,/>
Figure BDA0002051070070000125
的维度为D,D为其隐藏层神经单元个数。(与语义编码网络隐藏层单元数相同)
再将X=x1,x2,x3,...,xM输入词性分析网络的后向处理单元,在每个时间步t上,得到其隐藏层状态
Figure BDA0002051070070000126
计算方法如下:
Figure BDA0002051070070000127
其中S是隐藏层的激活函数,可以选择非线性激活函数,xt是在时间步t上处理的源语言词,
Figure BDA0002051070070000128
是上一个时间步的隐藏层状态,/>
Figure BDA0002051070070000129
是偏置项,/>
Figure BDA00020510700700001210
和/>
Figure BDA00020510700700001211
是所有隐藏层单元共享的参数矩阵,/>
Figure BDA00020510700700001212
的维度为D,D为其隐藏层神经单元数,与语义编码网络隐藏层单元数相同。
在每个时间步t上将对应的神经网络隐藏层状态采用concat()方法连接,得到
Figure BDA00020510700700001213
gt是一个2D维的向量,将总共M个时间步上的gt组成G=g1,g2,g3,...,gM,M是源语言词的个数。
将H=h1,h2,h3,...,hM与G=g1,g2,g3,...,gM中的对应元素以concat()的方式进行拼接,得到语义编码网络的输出E=e1,e2,e3,...,eM,其中
Figure BDA00020510700700001214
在进行解码阶段前,首先要将语义编码网络的隐藏层状态序列输入注意力神经网络,如图2,在生成目标文本序列的第j个元素时,将语义编码网络的输出e1,e2,e3,...,eM分别和语义解码网络的前一时刻的隐藏层状态zj-1进行点积计算,记为score(),即
Figure BDA00020510700700001215
对点积结果使用Softmax函数计算得到在生成目标文本第j个元素时,E=e1,e2,e3,...,eM中的每个元素所占的权重αij,计算公式如下:
Figure BDA0002051070070000131
注意力神经网络输出语义编码网络的加权和:
Figure BDA0002051070070000132
在解码阶段,步骤在当前时间步上,对应的注意力神经网络输出cj和上一个时间步的隐藏层状态zj-1作为当前隐藏层单元的输入,计算得到当前时刻的隐藏层状态zj,计算公式如下:
Figure BDA0002051070070000133
将语义解码网络的隐藏层状态zj通过Softmax输出层得到目标语言词的概率分布,计算过程如下:
P[yj|{y1,...,yj-1},cj]=softmax(WsZj)
其中,[;]表示串联,Wc和Ws表示待训练的参数矩阵。
根据概率分布,选取所有候选目标词中概率最高的词作为目标文本输出。
最后使用一定数量成对的源文本与目标文本数据(X,Y)对中文语言处理模型进行训练,表示为
Figure BDA0002051070070000134
获得所需要的参数矩阵;使用标准最大似然参数估计优化评估训练结果;得到最终的中文语言处理模型。使用训练好的中文语言处理模型就可以进行中文文本的处理任务。
以上所述仅是本发明的优选实施方式,应当指出:对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也应视为本发明的保护范围。

Claims (6)

1.一种基于深度神经网络的中文语言处理模型的处理方法,其特征在于:包括如下步骤:
步骤一:将中文源文本进行分词,经过分词后的数据使用词向量生成方法生成被计算机处理的中文词向量序列X=x1,x2,x3,…,xM,M是源文本经过分词后的数据长度;
步骤二:将源文本的中文词向量序列X=x1,x2,x3,…,xM输入语义编码网络,语义编码网络的前向网络单元从左至右处理中文词向量序列,后向网络单元从右至左处理中文词向量序列,最后将两个方向对应的隐藏层状态向量相连接,语义编码网络直接输出其隐藏层状态序列H=h1,h2,h3,…,hM,其中H中的元素hi是维度为2D的列向量,i取[1,M]中的整数,D等于RNN网络隐藏层神经单元个数,
Figure FDA0004154012500000011
步骤三:将源文本中文词向量序列X=x1,x2,x3,…,xM输入词性分析网络,词性分析网络的前向网络单元从左至右处理中文词向量序列,后向网络单元从右至左处理中文词向量序列,最后将两个方向对应的隐藏层状态向量相连接,输出其隐藏层状态序列G=g1,g2,g3,…,gM,G中的元素gi是维度为2D的列向量,i取[1,M]中的整数,D等于RNN网络隐藏层神经单元个数,
Figure FDA0004154012500000012
步骤四:H与G中元素的维度相同,等于2D,将H=h1,h2,h3,…,hM与G=g1,g2,g3,…,gM中的每个元素以concat()的函数方式进行拼接,得到输出E=e1,e2,e3,…,eM,其中
Figure FDA0004154012500000013
i取[1,M]中的整数,是长度为4D的向量;
步骤五:初始时刻k=1时,将E=e1,e2,e3,…,eM作为注意力神经网络的输入,注意力神经网络使用一个随机生成的4D维向量z0与E=e1,e2,e3,…,eM中的每个元素做点积,将所有点积结果通过一个Softmax函数,得到E=e1,e2,e3,…,eM中每个元素所占的初始权重αi1,注意力神经网络输出e1,e2,e3,…,eM的初始加权和,即
Figure FDA0004154012500000021
Figure FDA0004154012500000022
将初始加权和c1作为语义解码网络的输入,生成初始目标序列第1个元素y1,得到初始目标序列隐藏层状态z1
步骤六:在时刻k=j时,注意力网络将语义解码网络前一时刻的隐藏层状态zj-1与E=e1,e2,e3,…,eM中的每个元素做点积,将所有点积结果通过一个Softmax函数,得到E=e1,e2,e3,…,eM中每个元素所占的权重αij,i表示源文本的第i个分词,j表示第j个时刻,αij表示正在生成的目标词与E=e1,e2,e3,…,eM中每个元素的关联程度,注意力神经网络输出e1,e2,e3,…,eM的加权和,即
Figure FDA0004154012500000023
cj作为语义解码网络的输入,语义解码网络生成目标序列的第j个元素yj,得到当前时刻的隐藏层状态zj
步骤七:在时刻k=M时,注意力网络将语义解码网络前一时刻的隐藏层状态zM-1与E=e1,e2,e3,…,eM中的每个元素做点积,将所有点积结果通过一个Softmax函数,得到E=e1,e2,e3,…,eM中每个元素所占的权重αiM,输出e1,e2,e3,…,eM的加权和,即
Figure FDA0004154012500000024
cM作为语义解码网络的输入,语义解码网络生成目标序列的最后一个元素yM
步骤八:将时刻k从1到M,语义解码网络生成目标序列y1到yM组成最终目标序列Y=y1,y2,y3,…,yM
2.根据权利要求1所述的一种基于深度神经网络的中文语言处理模型的处理方法,其特征在于:还包括步骤九,所述步骤九:对中文语言处理模型进行训练获得神经网络的各项参数:使用成对的源文本与目标文本数据(X,Y)对中文语言处理模型进行训练,表示为
Figure FDA0004154012500000031
获得所需要的语义编码网络、词性分析网络中U,W,K,L和语义解码网络中的Wc,Ws矩阵,U和W表示语义编码网络所有隐藏层单元共享的参数矩阵,K和L表示词性分析网络所有隐藏层单元共享的参数矩阵,Wc和Ws表示语义解码网络待训练的参数矩阵。
3.根据权利要求1所述的一种基于深度神经网络的中文语言处理模型的处理方法,其特征在于:所述语义编码网络由双向的RNN网络组成,包括输入层、隐藏层和输出层;其中隐藏层的层数为4;
语义编码网络隐藏层均采用LSTM单元代替基本的RNN单元;
语义编码网络按顺序和逆序两个方向处理中文词向量序列X=x1,x2,x3,…,xM;具体步骤如下:
步骤2-1:将X=x1,x2,x3,…,xM输入语义编码网络的前向网络单元,在每个时间步t上,得到其隐藏层状态
Figure FDA0004154012500000032
计算方法如下:
Figure FDA0004154012500000033
其中
Figure FDA0004154012500000034
是隐藏层的激活函数,选择非线性激活函数,xt是在时间步t上处理的源文本分词,/>
Figure FDA0004154012500000035
是上一个时间步的隐藏层状态,/>
Figure FDA0004154012500000036
是偏置项,/>
Figure FDA0004154012500000037
和/>
Figure FDA0004154012500000038
是所有隐藏层单元共享的参数矩阵,/>
Figure FDA0004154012500000039
的维度为D,D为其隐藏层神经单元个数;
步骤2-2:将X=x1,x2,x3,…,xM输入语义编码网络的后向网络单元,在每个时间步t上,得到其隐藏层状态
Figure FDA0004154012500000041
计算方法如下:
Figure FDA0004154012500000042
其中
Figure FDA0004154012500000043
是隐藏层的激活函数,选择非线性激活函数,xt是在时间步t上处理的源文本分词,/>
Figure FDA0004154012500000044
是上一个时间步的隐藏层状态,/>
Figure FDA0004154012500000045
是偏置项,/>
Figure FDA0004154012500000046
和/>
Figure FDA0004154012500000047
是所有隐藏层单元共享的参数矩阵,/>
Figure FDA0004154012500000048
的维度为D,D为其隐藏层神经单元个数;
步骤2-3:在每个时间步t上将对应的神经网络隐藏层状态采用concat()函数方法连接,得到
Figure FDA0004154012500000049
ht是一个2D维的向量,将所有M个时间步上得到的ht组成H=h1,h2,h3,…,hM,M是源语言词的个数。
4.根据权利要求1所述的一种基于深度神经网络的中文语言处理模型的处理方法,其特征在于:所述词性分析网络由双向的RNN网络组成,包括输入层、隐藏层和输出层;
词性分析网络的隐藏层神经单元个数与语义编码网络的隐藏层神经单元个数相同;
词性分析网络按顺序和逆序两个方向处理中文词向量序列X=x1,x2,x3,…,xM;具体步骤如下:
步骤3-1:将X=x1,x2,x3,…,xM输入词性分析网络的前向网络单元,在每个时间步t上,得到其隐藏层状态
Figure FDA00041540125000000410
计算方法如下:/>
Figure FDA00041540125000000411
其中S是隐藏层的激活函数,选择非线性激活函数,xt是在时间步t上处理的源文本分词,
Figure FDA0004154012500000051
是上一个时间步的隐藏层状态,/>
Figure FDA0004154012500000052
是偏置项,/>
Figure FDA0004154012500000053
和/>
Figure FDA0004154012500000054
是所有隐藏层单元共享的参数矩阵,/>
Figure FDA0004154012500000055
的维度为D,D为其隐藏层神经单元个数,与语义编码网络隐藏层单元数相同;
步骤3-2:将X=x1,x2,x3,…,xM输入词性分析网络的后向网络单元,在每个时间步t上,得到其隐藏层状态
Figure FDA0004154012500000056
计算方法如下:
Figure FDA0004154012500000057
其中S是隐藏层的激活函数,选择非线性激活函数,xt是在时间步t上处理的源文本分词,
Figure FDA0004154012500000058
是上一个时间步的隐藏层状态,/>
Figure FDA0004154012500000059
是偏置项,/>
Figure FDA00041540125000000510
和/>
Figure FDA00041540125000000511
是所有隐藏层单元共享的参数矩阵,/>
Figure FDA00041540125000000512
的维度为D,D为其隐藏层神经单元个数,与语义编码网络隐藏层单元数相同;
步骤3-3:在每个时间步t上将对应的神经网络隐藏层状态采用concat()函数方法连接,得到
Figure FDA00041540125000000513
gt是一个2D维的向量,将总共M个时间步上的gt组成G=g1,g2,g3,…,gM,M是源语言词的个数。
5.根据权利要求1所述的一种基于深度神经网络的中文语言处理模型的处理方法,其特征在于:所述注意力神经网络是一个前馈神经网络,包含输入层,隐藏层和输出层;
其中隐藏层的层数为一,输出层采用Softmax激活函数;
点积计算,记为score(),即:
score(zj-1,ei)=zj-1ei
对点积结果使用Softmax函数计算得到E=e1,e2,e3,…,eM的每个输出所占的权重αij,计算公式如下:
Figure FDA0004154012500000061
0<αij<1,且α1j2j+…+αMj=1;
注意力神经网络输出e1,e2,e3,…,eM的加权和:
Figure FDA0004154012500000062
将c1作为语义解码网络的第一个隐藏层状态参与后续计算。
6.根据权利要求1所述的一种基于深度神经网络的中文语言处理模型的处理方法,其特征在于:所述语义解码网络由单向的RNN组成,包括输入层,隐藏层和输出层,其中隐藏层层数为4;
隐藏层均采用LSTM替代基本的RNN单元;
语义解码网络每个时刻步生成一个目标词,具体步骤如下;
步骤1:在生成目标文本序列的第j个元素时,对应的注意力神经网络输出cj和上一个时间步的隐藏层状态zj-1作为当前隐藏层单元的输入,计算得到当前时刻的隐藏层状态zj,计算公式如下:
Figure FDA0004154012500000063
Figure FDA0004154012500000064
代表语义解码网络的激活函数,Wc代表待训练的参数矩阵;
步骤2:将语义解码网络的隐藏层状态zj通过Softmax输出层得到目标词的概率分布,计算过程如下:
P[yj|{y1,…,yj-1},cj]=softmax(Wszj)
其中,[,]表示串联,Wc和Ws表示待训练的参数矩阵;
步骤3:语义解码网络在目标词所有结果中随机抽样得到多个目标词的候选,在通过步骤2中得到的概率分布找出概率最大的一个作为最终输出。
CN201910378653.6A 2019-05-07 2019-05-07 一种基于深度神经网络的中文语言处理模型及方法 Active CN110188348B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201910378653.6A CN110188348B (zh) 2019-05-07 2019-05-07 一种基于深度神经网络的中文语言处理模型及方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201910378653.6A CN110188348B (zh) 2019-05-07 2019-05-07 一种基于深度神经网络的中文语言处理模型及方法

Publications (2)

Publication Number Publication Date
CN110188348A CN110188348A (zh) 2019-08-30
CN110188348B true CN110188348B (zh) 2023-05-19

Family

ID=67715844

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201910378653.6A Active CN110188348B (zh) 2019-05-07 2019-05-07 一种基于深度神经网络的中文语言处理模型及方法

Country Status (1)

Country Link
CN (1) CN110188348B (zh)

Families Citing this family (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111143691B (zh) * 2019-12-31 2023-04-18 四川长虹电器股份有限公司 一种联合信息抽取方法及装置
CN111345817B (zh) * 2020-02-25 2023-04-07 广州视源电子科技股份有限公司 Qrs波群位置确定方法、装置、设备及存储介质
CN112395832A (zh) * 2020-11-17 2021-02-23 上海金桥信息股份有限公司 一种基于序列到序列的文本量化分析与生成方法及系统
CN112966520B (zh) * 2021-02-03 2023-11-14 支付宝(杭州)信息技术有限公司 自然语言生成方法及装置
CN113011555B (zh) * 2021-02-09 2023-01-31 腾讯科技(深圳)有限公司 一种数据处理方法、装置、设备及存储介质
CN113836936B (zh) * 2021-09-22 2023-10-13 珠海格力电器股份有限公司 语义解析方法、系统、装置、设备及存储介质
CN115470799B (zh) * 2022-11-03 2023-04-07 电子科技大学 一种用于网络边缘设备的文本传输和语义理解一体化方法

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106126507A (zh) * 2016-06-22 2016-11-16 哈尔滨工业大学深圳研究生院 一种基于字符编码的深度神经翻译方法及系统
CN107590138A (zh) * 2017-08-18 2018-01-16 浙江大学 一种基于词性注意力机制的神经机器翻译方法
CN107967262A (zh) * 2017-11-02 2018-04-27 内蒙古工业大学 一种神经网络蒙汉机器翻译方法

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106126507A (zh) * 2016-06-22 2016-11-16 哈尔滨工业大学深圳研究生院 一种基于字符编码的深度神经翻译方法及系统
CN107590138A (zh) * 2017-08-18 2018-01-16 浙江大学 一种基于词性注意力机制的神经机器翻译方法
CN107967262A (zh) * 2017-11-02 2018-04-27 内蒙古工业大学 一种神经网络蒙汉机器翻译方法

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
Chinese Poetry Generation with Planning based Neural Network;Zhe Wang 等;《https://arxiv.org/pdf/1610.09889.pdf》;20161207;正文第1-11页 *
结合词性信息的基于注意力机制的双向LSTM的中文文本分类;高成亮 等;《河北科技大学学报》;20181031;第39卷(第5期);第447-454页 *

Also Published As

Publication number Publication date
CN110188348A (zh) 2019-08-30

Similar Documents

Publication Publication Date Title
CN110188348B (zh) 一种基于深度神经网络的中文语言处理模型及方法
CN110781680B (zh) 基于孪生网络和多头注意力机制的语义相似度匹配方法
CN107590138B (zh) 一种基于词性注意力机制的神经机器翻译方法
JP7072585B2 (ja) 文脈固有の単語ベクトルを用いた自然言語処理
CN108334487B (zh) 缺失语意信息补全方法、装置、计算机设备和存储介质
Zhang et al. Understanding subtitles by character-level sequence-to-sequence learning
CN108717574B (zh) 一种基于连词标记和强化学习的自然语言推理方法
CN109661664B (zh) 一种信息处理的方法及相关装置
CN107836000A (zh) 用于语言建模和预测的改进的人工神经网络
CN110781306B (zh) 一种英文文本的方面层情感分类方法及系统
CN111401084A (zh) 一种机器翻译的方法、设备以及计算机可读存储介质
CN111428490B (zh) 一种利用语言模型的指代消解弱监督学习方法
CN110069611B (zh) 一种主题增强的聊天机器人回复生成方法及装置
CN113157919B (zh) 语句文本方面级情感分类方法及系统
CN113065344A (zh) 一种基于迁移学习和注意力机制的跨语料库情感识别方法
Chen et al. Exploiting future word contexts in neural network language models for speech recognition
CN109033073B (zh) 基于词汇依存三元组的文本蕴含识别方法及装置
CN111382568B (zh) 分词模型的训练方法和装置、存储介质和电子设备
Al Faraby et al. Image to Bengali caption generation using deep CNN and bidirectional gated recurrent unit
Wang et al. Human mitochondrial genome compression using machine learning techniques
Zaidi et al. Cross-language speech emotion recognition using multimodal dual attention transformers
CN116226357B (zh) 一种输入中包含错误信息场景下的文档检索方法
CN109918484B (zh) 对话生成方法和装置
Jin et al. Improving deep belief networks via delta rule for sentiment classification
CN115510230A (zh) 一种基于多维特征融合与比较增强学习机制的蒙古语情感分析方法

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant