一种单选择门与类间度量的细粒度语义相似识别的方法与流程

文档序号:19992958发布日期:2020-02-22 02:28阅读:157来源:国知局
一种单选择门与类间度量的细粒度语义相似识别的方法与流程

本发明涉及自然语言处理技术领域,特别涉及一种单选择门与类间度量的细粒度语义相似识别的方法。



背景技术:

在自然语言处理领域,语义相似度占据着重要的地位,它主要应用于社区问答系统、文本摘要评价、释义识别等方面。语义相似度识别主要分为无核心信息识别的语义相似度模型和有核心识别并匹配的语义相似度识别的模型。但随着注意力模型的出现,语义相似度识别的到了快速的发展。但目前主流的方法是基于注意力的语义相似度的算法。这种算法利用了深度学习技术,使得训练生成的语义相似度得分与语句对标签更加接近。这种模型的缺点是不能提取语句对的核心信息,并利用核心信息得到准确的语义相似度得分。

在传统的语义相似度计算方法中,利用了卷积神经网络将两个句子进行编码并提取特征,在句子特征层上应用余弦函数计算相似度得分。随着深度的发展,注意力机制被应用在神经网络中,使得捕捉核心特征的能力大大提升。利用注意力机制在句子特征层上采用注意池化,在汇集层上得到输入语料对间的相互依从关系,进而完成相似度计算。

由于输入网络中的语句对相关度较高,冗余特征较多,提出了一种基于选择门与类间度量的细粒度语义相似度识别模型,通过选择门对句子对上下文向量赋予不同的权重,可以去除具有相关性的冗余特征,学习到细粒度级别的区分性特征。于此同时还提出了一种基于原损失的融合损失方法,将原损失和句子对语义相关度损失进行加权融合,在网络训练的过程中使得学习的特征类间距离更小,最终本文方法能够有效的提高句子对相似度识别的准确率。



技术实现要素:

针对上述技术问题,本发明提供一种单选择门与类间度量的细粒度语义相似识别的方法。

其技术方案为,包括:

s1、将获取的语料生成中文语句对;

s2、利用词向量模型将s1生成的中文语句对进行向量化,得到词向量;

s3、将s2得到的词向量输入lstm网络中得到语句对的上下文向量;

s4、利用选择门选取语句对上下文向量中的核心信息;

s5、将s4获取的核心信息输入匹配层完成信息匹配,通过信息匹配获取匹配向量;

s6、将匹配向量输入另外一个lstm网络中得到语句对匹配信息的向量,将匹配向量经融合层变为一个固定长度的向量,通过softmax函数得到语句对的相似度得分;

s7、计算经lstm网络输出所述语句对之间的类间损失,将原损失和类间损失进行加权融合,使得学习的特征类间间距更小。

优选为,所述步骤s2中,利用词向量模型将中文语句对进行向量化的具体为:构建词向量模型,所述词向量模型使用300维的glove初始化词向量,权重矩阵使用服从u(-0.01,0.01)的均匀分布随机初始化,偏移矩阵初始化为0;

将中文语句对经jieba分词后输入glove模型中,通过深度学习的方法不断改变网络的权重和偏置,得到每个词对应的向量;

优选为,此处可通过建立损失函数经反向求导,来改变权重和偏执,损失函数即为类间损失计算方法。

语句p表示为p=[p1,p2,...,pi,...,pn],

语句q表示为q=[q1,q2,...,qi,...,qm],

其中,n表示句子p的词语长度,m代语句q的长度;

利用分布式词向量,将语句中的每个词映射为一个向量,

得到词表c∈r|v|×d

其中,|v|表示词表的大小,d为词向量的维度;

将单词pi和qi分别映射为词向量wpi和wqi,

得到语句p的词向量矩阵

同理可得语句q词向量矩阵

优选为,所述步骤s3中将s2得到的词向量输入lstm网络中得到语句对的上下文向量的具体步骤为:

所述词向量矩阵wp和wq分别输入bi-lstm网络提取浅层语义;

为解决rnn网络梯度消失和爆炸问题,本方法采用lstm网络,通过lstm网络捕获文本的长距离依赖关系;

具体为,lstm由遗忘门、输入门、选择门和输出门四个相互交互的门单元组成,其计算表达式如下所示:

ft=σ(wfwt+ufht-1+bf);

it=σ(wiwt+uiht-1+bi);

ot=σ(wowt+uoht-1+bo);

ht=ottanh(ct);

其中:ft为遗忘门的输出;it为输入门的输出;ot为输出门的输出;wf、wi、wo、wc、bf、bi、bo、bc为遗忘门、输入门、输出门、选择门的权重矩阵和偏置向量;为新的记忆信息;ct为更新的lstm网络单元的记忆内容;σ为sigmoid函数;⊙为元素乘积;ht-1为t-1时刻的隐藏层输出,wt为t时刻的输入信息。

优选为,所述s4中,利用选择门选取语句对上下文向量中的核心信息的具体步骤为:

通过lstm网络处理,得到p语句上下文的隐向量表达式矩阵:

和q语句的上下文向量表达式矩阵:

其中,

为前向lstm网络的隐向量,为反向lstm网络的隐向量;

dp、dq分别为语句p和q的隐向量维度;

采用在文本摘要领域广泛应用的选择门提取语句对的核心特征,首先利用语句p和q的上下文隐向量构造其句向量,取语句p和q的隐藏层hn为句向量s,其计算表达式如下:

s=hn;

将句向量和hi作为输入去计算向量sgatei,首次挑选出句子中的关键信息,其计算表达式如下:

sgatei=σ(wshi+uss+b);

其中,ws和us是权重矩阵,b是偏置向量,σ是sigmoid激活函数,是元素之间的点乘;

其中,h′i为第i个语句的核心特征向量,i=1,2,…,l,l为文本中的语句数量。

优选为,所述s5将核心信息输入匹配层完成信息匹配的具体步骤为:

采用双向多视角匹配模型,将p或q的每一个时间步与q或p的所有时间步进行匹配;

首先定义一个多视角比较度量函数:

w=fw(v1,v2;w)∈rl

其中,l是透视的数目,v1,v2∈rd,w∈rl×d是一个可训练的矩阵参数;每个分量wk∈w表示第k个视角的匹配值,它们通过两个加权矢量之间的余弦相似度进行计算:

z1=wk°v1;

z2=wk°v2;

其中,“°”是元素乘法:不用这个符号直接乘,wk是的第k行,wk控制第k个透视图,并为不同维度的空间分配不同的权重;

基于上面定义的公式wk,采用全连接匹配、最大池化匹配、注意力匹配和最大注意力匹配四种匹配策略来比较一个句子的每个时间步长与另一个句子的所有时间步长;

将上述四种匹配策略应用于句子p的每个时间步长,并将生成的八个向量连接为针对p的每个时间步的匹配向量:

优选为,所述s6将匹配向量输入另外一个lstm中得到语句对匹配信息的向量,将匹配向量经融合层变为一个固定长度的向量,通过softmax函数得到语句对的相似度得分,具体为:

将两个语句对序列得到的匹配向量分别通过bi-lstm网络,再将两个语句对序列输出的最后时间步长进行合并,得到固定长度的匹配向量,并送入两层前馈神经网络,在输出层中应用函数对整个通道的值进行归一化。最后,评估概率分布输出结果:

pr=(y|p,q)。

优选为,所述s7中,将匹配向量输入另外一个lstm中得到语句对匹配信息的向量进行类间损失计算具体为,将原损失和类间损失进行加权融合使得学习的特征类间间距更小;

类间损失的计算方法为:

其中v1和v2分别表示p和q语句。此处为将两个wk输入计算余弦值的公式表示。

本发明实施例提供的技术方案带来的有益效果是:本方案对经lstm网络向量化的句子对进行核心特征提取,可以除去具有相关性的冗余特征,学习到细粒度级别的区分性特征。且通过本方案,可将将原损失和类间损失进行加权融合,使得学习的特征类间间距更小。

附图说明

图1为本发明实施例的网络结构图一。

图2为本发明实施例的网络结构图二。

具体实施方式

为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细说明。当然,此处所描述的具体实施例仅用以解释本发明,并不用于限定本发明。

需要说明的是,在不冲突的情况下,本发明创造中的实施例及实施例中的特征可以相互组合。

实施例1

参见图1与图2,本发明提供一种单选择门与类间度量的细粒度语义相似识别的方法,包括:

s1、将获取的语料生成中文语句对;

s2、利用词向量模型将s1生成的中文语句对进行向量化,得到词向量;

其中,利用词向量模型将中文语句对进行向量化的具体为:构建词向量模型,所述词向量模型使用300维的glove初始化词向量,权重矩阵使用服从u(-0.01,0.01)的均匀分布随机初始化,偏移矩阵初始化为0;

将中文语句对经jieba分词后输入glove模型中,通过深度学习的方法不断改变网络的权重和偏置,得到每个词对应的向量;

优选为,此处可通过建立损失函数经反向求导,来改变权重和偏执,损失函数即为类间损失计算方法。

语句p表示为p=[p1,p2,...,pi,...,pn],

语句q表示为q=[q1,q2,...,qi,...,qm],

其中,n表示句子p的词语长度,m代语句q的长度;

利用分布式词向量,将语句中的每个词映射为一个向量,

得到词表c∈r|v|×d

其中,|v|表示词表的大小,d为词向量的维度;

将单词pi和qi分别映射为词向量wpi和wqi,

得到语句p的词向量矩阵

同理可得语句q词向量矩阵

s3、将s2得到的词向量输入lstm网络中得到语句对的上下文向量;

其中将s2得到的词向量输入lstm网络中得到语句对的上下文向量的具体步骤为:

所述词向量矩阵wp和wq分别输入bi-lstm网络提取浅层语义;

为解决rnn网络梯度消失和爆炸问题,本方法采用lstm网络,通过lstm网络捕获文本的长距离依赖关系;

具体为,lstm由遗忘门、输入门、选择门和输出门四个相互交互的门单元组成,其计算表达式如下所示:

ft=σ(wfwt+ufht-1+bf);

it=σ(wiwt+uiht-1+bi);

ot=σ(wowt+uoht-1+bo);

ht=ottanh(ct);

其中:ft为遗忘门的输出;it为输入门的输出;ot为输出门的输出;wf、wi、wo、wc、bf、bi、bo、bc为遗忘门、输入门、输出门、选择门的权重矩阵和偏置向量;为新的记忆信息;ct为更新的lstm网络单元的记忆内容;σ为sigmoid函数;⊙为元素乘积;ht-1为t-1时刻的隐藏层输出,wt为t时刻的输入信息。

s4、利用选择门选取语句对上下文向量中的核心信息;

其中,利用选择门选取语句对上下文向量中的核心信息的具体步骤为:

通过lstm网络处理,得到p语句上下文的隐向量表达式矩阵:

和q语句的上下文向量表达式矩阵:

其中,

为前向lstm网络的隐向量,为反向lstm网络的隐向量;

dp、dq分别为语句p和q的隐向量维度;

采用在文本摘要领域广泛应用的选择门提取语句对的核心特征,首先利用语句p和q的上下文隐向量构造其句向量,取语句p和q的隐藏层hn为句向量s,其计算表达式如下:

s=hn;

将句向量和hi作为输入去计算向量sgatei,首次挑选出句子中的关键信息,其计算表达式如下:

sgatei=σ(wshi+uss+b);

其中,ws和us是权重矩阵,b是偏置向量,σ是sigmoid激活函数,是元素之间的点乘;

其中,h′i为第i个语句的核心特征向量,i=1,2,…,l,l为文本中的语句数量。

s5、将s4获取的核心信息输入匹配层完成信息匹配,通过信息匹配获取匹配向量;具体为,

采用双向多视角匹配模型,将p或q的每一个时间步与q或p的所有时间步进行匹配;

首先定义一个多视角比较度量函数:

w=fw(v1,v2;w)∈rl

其中,l是透视的数目,v1,v2∈rd,w∈rl×d是一个可训练的矩阵参数;每个分量wk∈w表示第k个视角的匹配值,它们通过两个加权矢量之间的余弦相似度进行计算:

z1=wk°v1;

z2=wk°v2;

其中,“°”是元素乘法:不用这个符号直接乘,wk是的第k行,wk控制第k个透视图,并为不同维度的空间分配不同的权重;

基于上面定义的公式wk,采用全连接匹配、最大池化匹配、注意力匹配和最大注意力匹配四种匹配策略来比较一个句子的每个时间步长与另一个句子的所有时间步长;

将上述四种匹配策略应用于句子p的每个时间步长,并将生成的八个向量连接为针对p的每个时间步的匹配向量:

s6、将匹配向量输入另外一个lstm网络中得到语句对匹配信息的向量,将匹配向量经融合层变为一个固定长度的向量,通过softmax函数得到语句对的相似度得分;具体为,

将两个语句对序列得到的匹配向量分别通过bi-lstm网络,再将两个语句对序列输出的最后时间步长进行合并,得到固定长度的匹配向量,并送入两层前馈神经网络,在输出层中应用函数对整个通道的值进行归一化。最后,评估概率分布输出结果:

pr=(y|p,q)。

s7、计算经lstm网络输出所述语句对之间的类间损失,将原损失和类间损失进行加权融合,使得学习的特征类间间距更小。

其中,将匹配向量输入另外一个lstm中得到语句对匹配信息的向量进行类间损失计算具体为,将原损失和类间损失进行加权融合使得学习的特征类间间距更小;

类间损失的计算方法为:

其中v1和v2分别表示p和q语句。此处为将两个wk输入计算余弦值的公式表示。

以上所述仅为本发明的较佳实施例,并不用以限制本发明,凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。

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