法律状态公告日
法律状态信息
法律状态
2020-08-04
授权
授权
2019-04-12
实质审查的生效 IPC(主分类):G06F17/27 申请日:20181106
实质审查的生效
2019-03-19
公开
公开
技术领域
本发明涉及信息处理领域,特别涉及一种基于神经网络推理的中文缺失代词补全方法。
背景技术
现有技术表明,英文表述中对于明确代词的使用率超过92%,然而在中文中只有64%,这表明了中文是一种倾向于省略代词的语言。代词补全在翻译任务里——即一种倾向于省略代词的语言(如:中文)翻译成为明确代词语言(如:英文)的过程中,可以避免造成严重的语义混淆问题。因此中文的缺失代词补全是一项非常值得研究的任务。
传统的缺失代词补全问题利用了特征工程的方法,将语义、语法、先行词等信息作为特征,利用有监督的序列标注模型预测每一个输入文本的词语前缺失代词的类型。然而特征工程的方法十分依赖人工设计的特征,对于每一类特征的依赖程度也随着数据不同而变化,需要专家花销大量人工时间来对特征工程进行构建;同时,传统的特征工程方法没有将上下文的信息完整的考虑,会导致关键信息的缺失和忽视。本发明为了解决上述问题,采用了神经网络推理和层级式的注意力机制,通过此结构模拟人脑的推理过程,首先通过注意力模型推理出上下文中关键句子,再通过注意力模型推理上下文关键词,最后将句子层级信息、词语层级信息和输入文本语义信息融合得到推理信息矩阵,最终预测出缺失代词的类型。实验证明本发明在中文缺失代词补全任务上有非常好的效果。
发明内容
为了解决现有的技术问题,本发明提供了一种基于神经网络推理的中文缺失代词补全方法。方案如下:
步骤一,我们将输入文本的每一个词语都映射为词向量,将文本参数化,将输入文本转化为一个文本矩阵。
步骤二,我们使用循环神经网络对输入文本矩阵进行处理,得到输入文本各词向量相关的语义信息矩阵。
步骤三,我们对输入文本上下文的每一个词语都映射为词向量,将文本参数化,将输入文本上下文转化为上下文文本矩阵。
步骤四,我们使用循环神经网络对输入文本上下文矩阵进行处理,分别得到输入文本上下文句子层面语义信息矩阵和输入文本上下文词语层面语义信息矩阵。
步骤五,我们对加入语义信息的输入文本矩阵和输入文本上下文句子层面语义信息矩阵进行处理,通过神经网络推理,得到输入文本上下文句子层面各句子重要程度的注意力权重。
步骤六,我们利用上下文句子层面的注意力权重与句子层面语义信息矩阵在每一维句子层面向量相乘,得到更新后的上下文句子层面语义信息矩阵。
步骤七,我们对加入语义信息的输入文本矩阵和更新后上下文句子层面语义信息矩阵进行拼接,利用前向神经网络,得到融合后的输入文本的推理信息矩阵。
步骤八,我们对输入文本推理信息矩阵和输入文本上下文词语层面语义信息矩阵进行处理,通过神经网络推理,得到输入文本上下文词语层面各词语重要程度的注意力权重。
步骤九,我们利用上下文词语层面的注意力权重与词语层面语义信息矩阵在每一维词语向量上相乘,得到更新后的上下文词语层面语义信息矩阵。
步骤十,我们对加入语义信息的输入文本矩阵、更新后上下文句子层面语义信息矩阵和更新后的上下文词语层面语义信息矩阵进行拼接,利用前向神经网络,得到融合后的最终的输入文本的推理信息矩阵。
步骤十一,我们对最终推理信息矩阵中各词向量的特征表示进行处理,将特征向量经过多层感知器,得到输入文本各词语的缺失代词的概率分布。
步骤十二,我们在整体输入文本层面对各个词语的概率分布进行预测,得到输入文本各词语缺失代词类型。
附图说明
图1是本发明提供的中文缺失代词补全方法的网络结构图;
图2是长短期记忆网络单元内部结构构图。
具体实施方式
接下来将对本发明的实施方案做更详细的描述。
图1是本发明提供的中文缺失代词补全方法的网络结构图,其中包括:
步骤S1:输入文本词语的向量化;
步骤S2:循环神经网络形成输入文本语义信息矩阵;
步骤S3:输入文本上下文词语的向量化;
步骤S4:循环神经网络形成输入文本上下文背景语义信息矩阵;
步骤S5:基于神经网络推理得到输入文本上下文句子层面各句子重要程度的注意力权重;
步骤S6:输入文本上下文句子层面语义信息更新;
步骤S7:基于前向神经网络的推理信息融合;
步骤S8:基于神经网络推理得到输入文本上下文词语层面各词语重要程度的注意力权重;
步骤S9:输入文本上下文词语层面语义信息更新;
步骤S10:基于前向神经网络的推理信息二次融合;
步骤S11:多层感知器得到输入文本各词语的缺失代词的概率分布;
步骤S12:使用概率分布预测输入文本各词语缺失代词类型。
下面将对每个步骤进行具体的说明:
步骤s1:输入文本词语的向量化。本发明首先建立词语到词向量编号的映射表,通过映射,将输入文本的各个词语映射为相应的词语编号。建立词向量矩阵,即建立词语到对应词向量的映射矩阵,词向量矩阵中每一行代表对应词的词向量,行号表示词向量的编号。通过词向量矩阵,将之前表示输入文本的词语编号映射为相应的词向量,通过列连接各个词向量形成输入文本矩阵。假设训练词库中词语数量为N,那么词向量矩阵大小为N*d,其中d表示词向量的维度。输入文本的词语通过编号矩阵和词向量矩阵的两次映射,可得到词向量连接而成的文本矩阵X。
X=x1∞x2∞……∞xs-1∞xs
其中,xi表示输入文本中第i个词的词向量,s表示输入文本的长度,即输入文本中词语个数,“∞”表示向量的列连接。
步骤s2:循环神经网络形成输入文本语义信息:文本数据是一种时序的数据,即每一个输入词语都依赖于上下文的语义信息,循环神经网络的优点在于考虑文本中词汇的空间属性,可以更好地获取时序文本上下文的依赖关系,因此循环神经网络在文本处理领域常常会有很好的效果。传统循环神经网络在解决实际问题时会出现梯度消失或梯度爆炸的问题,而长短期记忆网络可以很好解决梯度问题。单向的长短期记忆网络能够提取当前词语之前(单方向)的语义信息,这会造成后续信息的遗漏,双向长短期记忆网络具有两个不同方向的循环单元——正向与反向,可以全面不遗漏地提取文本上下文的信息。因此,本发明在获得输入文本矩阵的基础上,利用双向长短期记忆网络获取每个词在输入文本中的语义信息,得到输入文本语义信息矩阵。
图2给出了一种长短期记忆网络的单元结构,时刻n的矩阵状态可表示为:
in=σ(Wi·xn+Ui·hn-1+bi)
fn=σ(Wf·xn+Uf·hn-1+bf)
on=σ(Wo·xn+Uo·hn-1+bo)
hn=on⊙tanh(Cn)
其中x是输入的文本向量,C为记忆单元,i是输入门,f是忘记门,o是输出门。σ是sigmoid激活函数。“⊙”是数值对位相乘,“·”是点积。W和U分别是输入和隐藏层的权重矩阵,b是偏置。
双向长短期记忆网络在单向网络基础上添加了两个方向,增加了完整的语义信息。得到各词向量的特征表示由正向及反向单元输出向量拼接而成,即横向连接:
其中
步骤s3:输入文本上下文词语的向量化。本发明根据自然语言处理实验以及经验,将输入文本前5个句子及后2个句子,共7句话作为输入文本上下文。上下文向量化的方式参考输入文本向量化,将输入文本上下文的词语通过编号矩阵和词向量矩阵的两次映射,得到词向量连接而成的上下文文本矩阵C。
C=X1∞X2∞……∞Xm-1∞Xm
其中m表示C中句子的数量,“∞”表示向量的列连接,其中Xm可参考步骤s1得到。
步骤S4:循环神经网络形成输入文本上下文背景语义信息矩阵。循环神经网络的优势是获取前后文的语义背景信息,具体可参见步骤s2,本发明s4步骤中同样使用双向长短期记忆网络来获取输入文本上下文的语义信息。在对输入文本上下文语义信息提取的过程中分为两个层面:
①得到输入文本上下文句子层面语义信息矩阵:对于C中每个句子i,i={1,2,…,m},将输入文本上下文矩阵通过双向长短期记忆网络,在整个文本层面,取输出矩阵中句子i层面的隐藏层向量最后一个状态作为句子层面语义信息表示。
其中i表示上下文中句子个数。
②得到输入文本上下文词语层面语义信息矩阵:对于C中每一个词j,j={1,2,…,k},将输入文本上下文矩阵通过双向长短期记忆网络,在整个文本层面,取输出矩阵在j时刻表征词语的每一个隐藏状态进行连接作为词语层面语义信息表示。
其中i表示上下文中句子个数,j表示通过网络的第j时刻(即第j个词)。
步骤s5:基于神经网络推理得到输入文本上下文句子层面各句子重要程度的注意力权重。本发明基于神经网络推理的框架,模拟人脑思考缺失代词补全问题的方式,先从上下文中判断句子重要程度。此操作旨在找出在上下文中对缺失代词指示词贡献最大的句子,通过在句子层面上计算输入文本语义信息与上下文语义信息相似度得到输入文本上下文句子层面各句子重要程度的注意力权重。
其中
步骤s6:输入文本上下文句子层面语义信息更新。本发明利用输入文本上下文句子层面各句子重要程度的注意力权重对输入文本上下文句子层面语义信息矩阵中表征句子的各向量进行点乘操作,从而在上下文句子层面上加入了每句话重要程度的区分信息,使神经网络推理出含有缺失代词指代的关键句子。
Sn=∑iasi·csi
其中asi为输入文本上下文句子层面各句子重要程度的注意力权重,csi为输入文本上下文句子层面语义信息矩阵,得到Sn为更新后的上下文句子层面语义信息矩阵。
步骤s7:基于前向神经网络的推理信息融合。本发明利用加入语义信息的输入文本矩阵和更新后输入文本上下文句子层面语义信息矩阵进行拼接,通过前向神经网络,将上下文句子层面的信息加入输入文本中,融合成第一次的推理信息矩阵,用于推理后续的词层面的语义信息。
hsn=W2d*4d[hn,sn]+b2d
其中“W”为权重矩阵,b为偏置,hn为加入语义信息的输入文本矩阵,与文本上下文句子层面语义信息矩阵sn连接,把输入文本作为整体,通过前向神经网络,得到第一次的推理信息矩阵hsn。
步骤s8:基于神经网络推理得到输入文本上下文词语层面各词语重要程度的注意力权重。本发明基于神经网络推理的框架,模拟人脑思考缺失代词补全问题的方式,在获得关键句子信息的基础之上,从上下文中判断词语重要程度。此操作旨在找出在上下文中对缺失代词指示词贡献最大的词语,通过在词语层面上计算输入文本语义信息与上下文语义信息相似度得到输入文本上下文词语层面各词语重要程度的注意力权重。
rwn,i,j=W1*2d(hsn⊙cwi,j)+b1
其中hsn为输入文本的推理信息矩阵,cwi,j为输入文本上下文词语层面语义信息矩阵,“W”为权重矩阵,b为偏置,“⊙”是数值对位相乘操作。本发明利用对位相乘计算推理矩阵中词语与上下文矩阵中词语的相似程度向量,将相乘结果通过神经网络推理降维得到相似程度的概率分布。再将概率分布的结果通过softmax网络(详细请参见步骤s5)将概率区分度归一化并两极化,得到最终输入文本上下文词语层面各词语重要程度的注意力权重。
步骤s9:输入文本上下文词语层面语义信息更新。本发明利用输入文本上下文词语层面各词语重要程度的注意力权重对输入文本上下文词语层面语义信息矩阵中表征词语的各向量进行点乘操作,再将得到结果与词语所在句子的权重进行点乘,从而在上下文词语层面上加入了每句话重要程度的区分信息,使神经网络推理出含有缺失代词指代的关键词语。
wn=∑iasi·twn,i
其中awn,i,j为输入文本上下文词语层面各词语重要程度的注意力权重,cwi,j为输入文本上下文词语层面语义信息矩阵,得到将每个词都加上相应权重的词语矩阵twn,i,对得到的矩阵再点乘得到输入文本上下文句子层面各句子重要程度的注意力权重asi,使得词语在区分相似度的同时考虑到关键句子对词语的影响,从而得到最终的输入文本上下文词语层面语义信息矩阵。
步骤s10:基于前向神经网络的推理信息二次融合。本发明利用加入语义信息的输入文本矩阵、更新后输入文本上下文句子层面语义信息矩阵和更新后输入文本上下文词语层面语义信息矩阵进行拼接,通过前向神经网络,将上下文句子、词语层面的信息全部加入输入文本中,融合成最终的推理信息矩阵,用于后续的缺失代词类型的预测。
步骤s11:多层感知器得到输入文本各词语的缺失代词的概率分布。本发明利用步骤s10得到的最终的推理信息矩阵,在整个输入文本层面,将各个词向量的特征表示通过多层感知器网络处理,计算得到输入文本各词语的缺失代词的概率分布。
P(yn|xn,C)=softmax(MLP(hn,sn,wn))
其中MLP为多层感知器,其组成包含前向神经网络以及激活函数,前向神经网络具体可参照步骤s7,激活函数为了是的多层感知器可以实现反向传播的算法,本发明使用的激活函数为Relu函数,此激活函数的优点在于可以解决梯度消失问题并且训练速度很快。softmax函数具体作用可以参照步骤s5。
步骤s12:使用概率分布预测输入文本各词语缺失代词类型。对步骤s11得到各输入文本词语的缺失代词概率进行统计,在整体输入文本层面对各个词语的概率进行预测,缺失代词概率分布最大的类别被认为是最后可能的缺失代词类型,得到预测的缺失代词类别。
以上结合附图对所提出的基于神经网络推理的中文缺失代词补全方法及各步骤的具体实施方式进行了阐述,通过以上实施方式的描述,所属领域的技术人员可以清楚地了解到本发明可借助软件加必需的通用平台的方式来实现。
依据本发明的思想,在具体实施方式及应用范围上均会有改变之处。综上所述,本说明书内容不应理解为对本发明的限制。
以上所述的本发明实施方式,并不构成对发明保护范围的限定。任何在本发明精神和原则之内所做的修改、等同替换和改进等,均应在本发明的保护范围之内。
机译: 基于突发峰值的生成神经网络的方法和基于神经网络的推理装置
机译: 基于卷积神经网络进行音频分析的学习方法和推理方法
机译: 基于神经网络的中文 - 英语翻译方法及其相关设备