[发明专利]一种基于深度特征融合神经网络的问题对匹配方法和装置有效
申请号: | 201910323729.5 | 申请日: | 2019-04-22 |
公开(公告)号: | CN110032635B | 公开(公告)日: | 2023-01-20 |
发明(设计)人: | 鹿文鹏;张旭;禹继国 | 申请(专利权)人: | 齐鲁工业大学 |
主分类号: | G06F16/332 | 分类号: | G06F16/332;G06F16/33;G06F16/36 |
代理公司: | 济南信达专利事务所有限公司 37100 | 代理人: | 孙园园 |
地址: | 250022 山东*** | 国省代码: | 山东;37 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 基于 深度 特征 融合 神经网络 问题 匹配 方法 装置 | ||
1.一种基于深度特征融合神经网络的问题对匹配方法,其特征在于,该方法包括如下步骤:
S1、构建问题对知识库:从互联网问答社区爬取问题对,并对问题对进行预处理,初步构建问题对知识库;
S2、构建问题对匹配模型训练数据集:对于每个问题,在问题对知识库中至少有一个与该问题相匹配的标准问题,将标准问题与该问题构建训练正例;将除标准问题以外的问题与该问题构建训练负例;
S3、构建问题对匹配模型:利用深度特征融合神经网络构建问题对匹配模型,具体步骤如下:
S301、构建字符映射转换表;
S302、构建输入层:输入层包括两个输入,从问题对知识库中分别获取question1、question2,将其形式化为:(question1,question2);再根据步骤S301中得到的字符映射转换表将输入数据中的字符转化为数字表示;
S303、构建字符向量映射层;
S304、构建基于深度特征融合的神经网络编码层;具体步骤如下:
S30401、将步骤S303处理后的输入文本进行编码和语义提取;
S30402、使用两个长短期记忆网络LSTM分别对文本进行编码,两者语义特征进行加法操作;
S30403、同时使用两个基于时间序列TimeDistribued的全连接Dense层对两者语义特征进行加法操作,具体公式如下:
其中,i表示相应词向量在句子中的相对位置;pi表示句子question1中每个字符的相应向量表示;表示经过其中一个LSTM编码后的question1句子向量;表示经过另一个LSTM编码后的question1句子向量;表示使用其中一个基于时间序列TimeDistribued的全连接Dense层编码的句子向量;表示使用另一个基于时间序列TimeDistribued的全连接Dense层编码的句子向量;表示两个LSTM编码层的输出结果加法运算的结果;表示使用两个基于时间序列TimeDistribued的全连接Dense层编码的输出结果加法运算的结果;
S30404、将步骤S30403中的两种语义特征编码结果进行连接,作为该问题的语义特征,公式如下:
其中,表示向量连接的结果,即为句子编码的最终向量表示,使用vectorquestion1、vectorquestion2来具体表示对于question1、question2的编码结果的最终向量;
S305、构建文本相似度匹配层;具体步骤如下:
S30501、根据步骤S304分别得到question1、question2的最终向量表示vectorquestion1、vectorquestion2;
S30502、针对步骤S30501中的两个向量分别按照如下公式计算两个向量之间的差异:
abs=|vectorquestion1-vectorquestion2|;
cos=cos(vectorquestion1-vectorquestion2);
mul=vectorquestion1*vectorquestion2;
其中,abs表示向量vectorquestion1、vectorquestion2逐元素之间求差取绝对值;cos表示向量vectorquestion1、vectorquestion2逐元素之间求差的余弦值;mul表示向量vectorquestion1、vectorquestion2逐元素之间求积;
S30503、将步骤S30502中的三个结果进行连接,作为问题对的相似度的全面表征,公式如下:
con=[abs,cos,mul];
其中,con表示将步骤S30502中的三个结果,即abs、cos和mul,进行连接后得到的相似度表征;
S30504、将步骤S30503中得到的相似度表征向量经过全连接层进行解码,采用sigmoid函数进行相似度计算,得到处于[0,1]之间的相似度表示ypred,通过相似度的值判别问题对相似程度;
S4、训练问题对匹配模型和标准问题选择:在步骤S2所得的训练集上对步骤S3构建的问题对匹配模型进行训练;具体步骤如下:
S401、构建损失函数:为了解决在匹配过程中出现的过拟合问题,使模型在优化时将注意力更集中于难以分类的样本,利用单位阶跃函数来修正交叉熵损失函数,公式如下:
得到新的交叉熵损失函数,公式如下:
为了防止分类过于自信,使用修正的均方误差损失函数来进一步改进Lnew(cross_entropy),得到:
其中,ypred为根据步骤S305得到的相似度计算结果;ytrue为两个句子相似与否的真实表示,取值为0或1;m表示阈值,m∈(0.5,1);n为数据集大小,n∈N+;ones_like即使用数据1对于张量进行填充;
S402、构建优化函数:使用Adam算法作为模型的优化函数,学习率设置为0.002,超参数使用Keras中的默认值即可;
S403、问题对选择:将一个新的问题与问题对知识库中的所有候选的与之相匹配的问题组成输入样本;再分别利用步骤S3训练完成的问题对匹配模型,计算问题与候选的与之相匹配的问题之间相似度的数值;最后从所有结果中选取相似度值最高的一组作为新问题最有可能匹配的问题并将该问题推送给用户。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于齐鲁工业大学,未经齐鲁工业大学许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201910323729.5/1.html,转载请声明来源钻瓜专利网。