一种基于深度特征融合神经网络的问题对匹配方法和装置制造方法及图纸

技术编号:21658691 阅读:18 留言:0更新日期:2019-07-20 05:38
本发明专利技术公开了一种基于深度特征融合神经网络的问题对匹配方法和装置,属于自然语言处理领域,本发明专利技术要解决的技术问题为如何准确地判断用户问题与标准问题的匹配程度,整理出一套完整的问题对匹配模型,技术方案为:①该方法包括如下步骤:S1、构建问题对知识库;S2、构建问题对匹配模型训练数据集;S3、构建问题对匹配模型,步骤如下:S301、构建字符映射转换表;S302、构建输入层;S303、构建字符向量映射层;S304、构建基于深度特征融合的神经网络编码层;S305、构建文本相似度匹配层;S4、训练问题对匹配模型和标准问题选择。②该装置包括问题对知识库构建单元、问题对匹配模型训练数据集生成单元、问题对匹配模型构建单元以及问题对匹配模型训练单元。

A Matching Method and Device for Problem Pairs Based on Neural Network of Deep Feature Fusion

【技术实现步骤摘要】
一种基于深度特征融合神经网络的问题对匹配方法和装置
本专利技术涉及自然语言处理
,具体地说是一种基于深度特征融合神经网络的问题对匹配方法和装置。
技术介绍
随着信息化时代的发展,人们习惯于借助于网络解决各种生活中遇到的问题。比如网上医疗问答社区,患者可在网上向医生咨询自己的病症,医生同样会在网上答复患者的问题。类似的网络问答社区,还有百度知道等,这些问答社区为用户提供了极大的便利。随着在线提问的用户数量的增加,各种各样的新问题被不断提出,但是能够解答问题的专家却相对数量较少,解答问题的速度也难以提高。这给网络问答社区的用户体验造成了较大的不良影响。面对迅速增长的咨询用户所提出的海量问题,如何为咨询用户快速找到答案或及时答复是一个亟待解决的问题。随着人工智能技术的快速发展,传统行业开始拥抱人工智能,涌现了一大批适用于服务行业的应用;其中智能问答系统发展极为迅速,已广泛应用于各种自助客服(咨询)系统。自动问答系统能够减少消费者与人工客服之间交流的环节,大大减轻了客服的工作量,降低企业运营成本。用户可以直接在线进行问题提问,系统会根据相应问题,自动给出合理答案,避免传统问询需要等待人工客服答复的麻烦,也降低了用户的咨询成本。随着使用人数的激增,自动问答系统的优势更加明显,其快速处理能力和全天候服务能力远远超出人工客服。显然,对于传统的网络问答社区所面临的困境,自动问答系统是一种有效的解决方案。尽管用户的数量以及用户提出的问题的数量在迅速增长,不同用户提出的问题的形式可能会有所差异,但是他们本质上的语义意图可能会是一致的。即:针对同一问题有不同的表述形式,虽然问题表述形式不同,但是用户表示的是同一问题,即语义上是相同的。也就是说,问答社区中存在着大量的重复问题。对于这些重复的问题,其实并不需要人工专家来进行答复处理。我们只需要将这些重复问题,映射为标准问答知识库中已有的标准问题;将标准问题的答案,答复给用户就能圆满地解决用户的问题。故如何准确地判断用户问题与标准问题的匹配程度,将用户问题映射到标准问题,整理出一套完整的问题对匹配模型成为自动问答系统的一个核心问题。专利号为CN107798624A的专利文献公开了基于深度学习提出面向软件问答社区的标签推荐方法。该项方法包括:步骤1,预处理;步骤2,词义表示学习;步骤3,短语以及句子语义学习;步骤4,语义融合;在预处理前为训练阶段,所述训练阶段用于构造词典并保存模型的结构与权重;在预处理后为部署阶段,所述部署阶段则是对于新的问题,在转化成索引序列后,加载保存的模型以预测并推荐最有可能的K个标签,K为正整数。但是该技术方案不能准确地判断用户问题与标准问题的匹配程度,将用户问题映射到标准问题,整理出一套完整的问题对匹配模型。
技术实现思路
本专利技术的技术任务是提供一种基于深度特征融合神经网络的问题对匹配方法和装置,来解决如何准确地判断用户问题与标准问题的匹配程度,将用户问题映射到标准问题,整理出一套完整的问题对匹配模型的问题。本专利技术的技术任务是按以下方式实现的,一种基于深度特征融合神经网络的问题对匹配方法,该方法包括如下步骤:S1、构建问题对知识库:从互联网问答社区爬取问题对,并对问题对进行预处理,初步构建问题对知识库;S2、构建问题对匹配模型训练数据集:对于每个问题,在问题对知识库中至少有一个与该问题相匹配的标准问题,将标准问题与该问题构建训练正例;将除标准问题以外的问题与该问题构建训练负例;用户依据收集的问题对知识库的大小设定训练负例的数量,构建训练数据集;S3、构建问题对匹配模型:利用深度特征融合神经网络构建问题对匹配模型,具体步骤如下:S301、构建字符映射转换表;S302、构建输入层:输入层包括两个输入,从问题对知识库中分别获取question1、question2,将其形式化为:(question1,question2);再根据步骤S301中得到的字符映射转换表将输入数据中的字符转化为数字表示;S303、构建字符向量映射层;S304、构建基于深度特征融合的神经网络编码层;S305、构建文本相似度匹配层;S4、训练问题对匹配模型和标准问题选择:在步骤S2所得的训练集上对步骤S3构建的问题对匹配模型进行训练。作为优选,所述步骤S304中构建基于深度特征融合的神经网络编码层的具体步骤如下:S30401、将步骤303处理后的输入文本进行编码和语义提取;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,通过相似本文档来自技高网
...

【技术保护点】
1.一种基于深度特征融合神经网络的问题对匹配方法,其特征在于,该方法包括如下步骤:S1、构建问题对知识库:从互联网问答社区爬取问题对,并对问题对进行预处理,初步构建问题对知识库;S2、构建问题对匹配模型训练数据集:对于每个问题,在问题对知识库中至少有一个与该问题相匹配的标准问题,将标准问题与该问题构建训练正例;将除标准问题以外的问题与该问题构建训练负例;S3、构建问题对匹配模型:利用深度特征融合神经网络构建问题对匹配模型,具体步骤如下:S301、构建字符映射转换表;S302、构建输入层:输入层包括两个输入,从问题对知识库中分别获取question1、question2,将其形式化为:(question1,question2);再根据步骤S301中得到的字符映射转换表将输入数据中的字符转化为数字表示;S303、构建字符向量映射层;S304、构建基于深度特征融合的神经网络编码层;S305、构建文本相似度匹配层;S4、训练问题对匹配模型和标准问题选择:在步骤S2所得的训练集上对步骤S3构建的问题对匹配模型进行训练。

【技术特征摘要】
1.一种基于深度特征融合神经网络的问题对匹配方法,其特征在于,该方法包括如下步骤:S1、构建问题对知识库:从互联网问答社区爬取问题对,并对问题对进行预处理,初步构建问题对知识库;S2、构建问题对匹配模型训练数据集:对于每个问题,在问题对知识库中至少有一个与该问题相匹配的标准问题,将标准问题与该问题构建训练正例;将除标准问题以外的问题与该问题构建训练负例;S3、构建问题对匹配模型:利用深度特征融合神经网络构建问题对匹配模型,具体步骤如下:S301、构建字符映射转换表;S302、构建输入层:输入层包括两个输入,从问题对知识库中分别获取question1、question2,将其形式化为:(question1,question2);再根据步骤S301中得到的字符映射转换表将输入数据中的字符转化为数字表示;S303、构建字符向量映射层;S304、构建基于深度特征融合的神经网络编码层;S305、构建文本相似度匹配层;S4、训练问题对匹配模型和标准问题选择:在步骤S2所得的训练集上对步骤S3构建的问题对匹配模型进行训练。2.根据权利要求1所述的基于深度特征融合神经网络的问题对匹配方法,其特征在于,所述步骤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的编码结果的最终向量。3.根据权利要求1或2所述的基于深度特征融合神经网络的问题对匹配方法,其特征在于,所述步骤S305中构建文本相似度匹配层的具体步骤如下:S30501、根据步骤S304分别得到question1、question2的最终向量表示vectorquestion1、vectorquestion2;S30502、针对步骤S30501中的两个向量分别按照如下公式计算两个向量之间的差异:abs=|vectorquestion1-vectorquestion2|;cos=cos(vectorquestion1-vectorquestion2);mul=vectorquestion1*vector1uestion2;其中,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,通过相似度的值判别问题对相似程度。4.根据权利要求1所述的基于深度特征融合神经网络的问题对匹配方法,其特征在于,所述步骤S1中构建问题对知识库的具体步骤如下:S101、利用爬虫技术,从互联网问答社区爬取问题对,问答社区均采用Web形式进行展示,利用Scrapy工具获取语义相似的问题集合,构建问题对知识库;S102、对问题对知识库进行预处理,对句子进行断字处理:将百度知道知识库中的每个问题对,以汉字字符为基本单位,进行断字处理,每个字之间用空格分开,保留文本中所有内容,文本中所有内容包括数字、标点及特殊字符。5.根据权利要求1所述的基于深度特征融合神经网络的问题对匹配方法,其特征在于,所述步骤S2中构建问题对匹配模型训练数据集的具体步骤如下:S201、构建训练正例:将问题与问题语义相同的问题进行组合,构建正例;正例形式化为:(question1,question2,1);其中,question1表示问题1,question2表示问题2,1表示正例,即问题1和问题2两者语义相同;S202、构建训练负例:选中一个问题q1,再从问题对知识库中随机选择一个与问题q1不同的问题q2,将q1与q2组合,构建负例;负例形式化为:(question1,question2,0);其中,question1指问题q1,question2指问...

【专利技术属性】
技术研发人员:鹿文鹏张旭禹继国
申请(专利权)人:齐鲁工业大学
类型:发明
国别省市:山东,37

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1