首页> 中国专利> 一种基于孪生网络BERT模型的智能问答匹配方法及系统

一种基于孪生网络BERT模型的智能问答匹配方法及系统

摘要

一种基于孪生网络BERT模型的智能问答匹配方法及系统,涉及智能分类技术领域,所述方法包括S1:收集问题和答案作为数据集;S2:对所述数据集中的问题进行分词操作,获得智能问答语料库;S3:将智能问答语料库导入数据库,在数据库中建立词语对应问题的倒排索引;S4:获取用户问题,将用户问题分词后得到的每个词语放入数据库中检索得到若干候选问题;S5:分别利用编辑距离、TF‑IDF、word2vec和基于孪生网络的BERT模型得出相似度得分;S6:综合考虑相似度得分,将得分最高的问题作为匹配问题并输出相应的答案。本发明能够在用户输入问题后,快速准确的从问答问答数据库中匹配相似度最高的问题并显示其答案。

著录项

  • 公开/公告号CN112667794A

    专利类型发明专利

  • 公开/公告日2021-04-16

    原文格式PDF

  • 申请/专利权人 民生科技有限责任公司;

    申请/专利号CN202011640995.X

  • 申请日2020-12-31

  • 分类号G06F16/332(20190101);G06F16/335(20190101);G06F16/31(20190101);G06F40/216(20200101);G06F40/284(20200101);G06F40/289(20200101);G06F40/30(20200101);

  • 代理机构11401 北京金智普华知识产权代理有限公司;

  • 代理人巴晓艳

  • 地址 101300 北京市顺义区马坡镇顺安南路86号

  • 入库时间 2023-06-19 10:38:35

说明书

技术领域

本发明涉及智能问答技术领域,尤其是涉及一种基于孪生网络BERT模型的智能问答匹配方法及系统。

背景技术

客服是一种解答顾客疑问,满足顾客合理诉求的职业。其形式以文字客服为主,如淘宝客服、京东客服等。客服是一种机械重复性高,人力密集型的工作。客服人员每天需要接收大量顾客的不同情绪,难免会影响服务质量。

基于NLP技术实现的客服问答系统,可以精准捕捉用户意图,理解用户自然语言提问,将答案直接返回给用户,能够有效减少客服的工作量。

在银行领域,有很多不同的理财产品或业务系统,用户或客户经理在操作中难免遇到很多问题,针对这些问题,如果用人工的方式进行解答将会浪费大量人力成本。另外还存在以下几点问题:1、银行已有的问答系统也只是主要基于关键字匹配,无法完全理解用户的问题,给出的答案往往不尽人意,用户体验也十分不好。2、很多问题都是来自同一产品或业务,有的问题可能只差几个字,但是问题的意思完全不相同,如果回答相同则会造成错误,导致一定的经济损失,这是传统的问答系统难以解决的问题。基于以上问题,本发明提出了一种针对银行业务的基于孪生网络BERT模型的智能问答匹配方法。

发明内容

有鉴于此,本发明提出了一种基于孪生网络BERT模型的智能问答匹配方法及系统,在用户输入问题后,快速准确的从问答问答数据库中匹配相似度最高的问题并显示其答案。

为实现上述目的,本发明采用如下技术方案:

根据本发明的第一方面,提供了一种基于孪生网络BERT模型的智能问答匹配方法,所述方法包括以下步骤:

S1:收集问题和答案作为数据集;

S2:对所述数据集中的问题进行分词操作,获得智能问答语料库;

S3:将智能问答语料库导入数据库,在数据库中建立词语对应问题的倒排索引;

S4:获取用户问题,将用户问题分词后得到的每个词语放入数据库中检索得到若干候选问题;

S5:分别利用编辑距离、TF-IDF和word2vec三种算法得出用户问题与每个候选问题的字面相似度得分,并利用基于孪生网络的BERT模型得出用户问题与每个候选问题的语义相似度得分;

S6:将所述S5中得到的字面相似度得分和语义相似度得分输入逻辑回归模型,得到最终得分,将最终得分最高的候选问题作为最相似问题,从数据库中检索最相似问题对应的答案,完成智能问答匹配。

进一步的,所述S1具体包括:

收集问题和答案,根据关键词词典将问题和答案中的关键词别称改写为标准表述方式,将改写后的问题和答案作为数据集。

进一步的,所述S2具体包括:

利用结巴分词工具对所述数据集中的问题进行分词、过滤停用词,获得智能问答语料库,所述智能问答语料库包括词语、问题和答案。

进一步的,所述S4具体包括:

利用结巴分词工具对用户问题进行分词、过滤停用词,将用户问题分词后得到的每个词语放入数据库中检索得到若干候选问题;

进一步的,所述S5具体包括:

基于编辑距离算法获得用户问题与每个候选问题的字面相似度得分;

基于TF-IDF算法分别获得用户问题和每个候选问题的词频向量,将用户问题的词频向量与每个候选问题的词频向量的余弦相似度作为字面相似度得分;

基于word2vec算法分别获得用户问题和每个候选问题的句向量,将用户问题的句向量与每个候选问题的句向量的余弦相似度作为字面相似度得分;

将用户问题分别与每个候选问题分别组合,同时输入基于孪生网络的BERT模型,两个BERT模型共享参数,采用平均池化策略,得到输入的两个问题的语义向量,将两个语义向量的余弦相似度作为语义相似度得分。

进一步的,所述编辑距离算法指两个字符串之间,由一个转成另一个所需要的最少编辑操作次数,次数越少则相似度越高。

进一步的,所述S6具体包括:

将3种字面相似度得分和语义相似度得分作为特征,对每一个特征乘以一个权重,训练逻辑回归模型,得到最终得分,将最终得分最高的候选问题作为最相似问题,从数据库中检索最相似问题对应的答案,完成智能问答匹配。

根据本发明的第二方面,提供了一种基于孪生网络BERT模型的智能问答匹配系统,包括:

数据采集模块,用于收集问题和答案作为数据集;

语料库构建模块,用于对所述数据集中的问题进行分词操作,获得智能问答语料库;

数据库索引模块,用于将智能问答语料库导入数据库,在数据库中建立词语对应问题的倒排索引;

问题检索模块,用于获取用户问题,将用户问题分词后得到的每个词语放入数据库中检索得到若干候选问题;

相似度计算模块,用于分别基于编辑距离、TF-IDF和word2vec三种算法得出用户问题与每个候选问题的字面相似度得分,并基于孪生网络的BERT模型得出用户问题与每个候选问题的语义相似度得分;

问答匹配模块,用于将所述S5中得到的字面相似度得分和语义相似度得分输入逻辑回归模型,得到最终得分,将最终得分最高的候选问题作为最相似问题,从数据库中检索最相似问题对应的答案,完成智能问答匹配。

根据本发明的第三方面,提供了一种计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现如前所述方法的步骤。

根据本发明的第四方面,提供了一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,其特征在于,所述处理器执行所述程序时实现如前所述方法的步骤。

相对于现有技术,本发明所述的一种基于孪生网络BERT模型的智能问答匹配方法及系统具有以下优势:

1、本发明所提供的方法能够根据历史问题和答案构建问答数据集,并对用户的提问进行自动回复,极大地节省人力成本。

2、BERT预训练模型能够很好地得到文本的深度语义信息,本发明的方法采用BERT模型用于句向量提取,采用平均池化策略和余弦相似度的方法能够很好地度量文本间的语义相似度。

3、BERT模型虽然能力强大,但是也在计算时间太长的问题。本方法通过BERT+Siamese Network(孪生网络)的网络结构预先训练得到问题库中所有问题的句向量表征,每次匹配只需计算输入问题的BERT向量和计算其与候选问题的余弦相似度,极大减少了计算时间。

4、本方法先通过检索召回模块对问题进行粗筛,大大减轻后续模块的计算压力。后面通过排序模块对多种匹配得分进行综合排序,能够很好地提高匹配结果精度。

附图说明

构成本发明的一部分的附图用来提供对本发明的进一步理解,本发明的示意性实施例及其说明用于解释本发明,并不构成对本发明的不当限定。在附图中:

图1为本发明所述方法的具体流程图;

图2为本发明所述的BERT+孪生网络结构示意图。

具体实施方式

这里将详细地对示例性实施例进行说明,其示例表示在附图中。下面的描述涉及附图时,除非另有表示,不同附图中的相同数字表示相同或相似的要素。以下示例性实施例中所描述的实施方式并不代表与本公开相一致的所有实施方式。相反,它们仅是与如所附权利要求书中所详述的、本公开的一些方面相一致的装置和方法的例子。

本公开的说明书和权利要求书中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本公开的实施例,例如能够以除了在这里图示或描述的那些以外的顺序实施。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。

多个,包括两个或者两个以上。

和/或,应当理解,对于本公开中使用的术语“和/或”,其仅仅是一种描述关联对象的关联关系,表示可以存在三种关系。例如,A和/或B,可以表示:单独存在A,同时存在A和B,单独存在B这三种情况。

如图1所示,本发明提供了一种基于孪生网络BERT模型的智能问答匹配方法,包括:

1.数据采集:

对历史问题和回答做数据清洗,构建问答数据集,同时根据专有名词和关键词词典对其中一些专有名词和关键词的缩写或其他表述形式做改写,作为系统的支撑数据集。

2.语料库构建:

利用结巴分词工具对所述数据集中的问题进行分词、过滤停用词,获得智能问答语料库,所述智能问答语料库包括词语、问题和答案。

3.数据库索引:

在检索召回模块,建立词语对应问题的倒排索引。可以将预处理后的问答问题集存入elastic search数据库,借助其搜索引擎功能实现对问题的快速查询。

4.问题检索:

利用结巴分词工具对用户问题进行分词、过滤停用词,对分词后的每个词语在elastic search中进行搜索,初步召回一批候选集作为粗排结果传入后面的模块进行进一步精确匹配。

5.相似度计算:

在字面信息匹配模块,使用编辑距离、TF-IDF和word2vec三种算法做相似度匹配,得出用户问题与候选问题的相似度得分。

5.1编辑距离算法

编辑距离是指两个字符串之间,由一个转成另一个所需要的最少编辑操作次数。通过编辑距离可以在字面层面度量文本相似度。用动态规划的方法可以实现。

5.2TF-IDF算法

TF-IDF是一种用于信息检索与数据挖掘的常用加权技术。TF意思是词频,即一个词在文中出现的次数;IDF的意思是逆文本频率指数,是一个词语普遍重要性的度量。可以由总文件数目除以包含该词语之文件的数目,再将得到的商取以10为底的对数得到。TF-IDF为TF与IDF的乘积。

通过TF-IDF方法可以得到每个词在问题中的权重,根据权重筛选出关键词,每篇文章各取出若干个关键词,合并成一个集合,计算每篇文章对于这个集合中的词的词频。这里事先计算好候选问题中每个问题对应的词频向量,并保存下来。

同时每个词语的IDF值也保存下来,可以在问句输入时减少计算量。

当用户输入问题时,计算TF-IDF值,并生成问题的词频向量,然后与保存的所有词频向量做余弦相似度计算,值越大就表示越相似。

所述余弦相似度的计算公式如下:

5.3word2vec算法:

word2vec是用来产生词向量的一组相关模型。它利用输入的语料来产生一个向量空间,在这个向量空间中,每个词对应一个点,语义上相近的词在向量空间上对应的点也相近。

本方法基于问答数据集训练得到word2vec词向量,然后使用问句中每个预处理后词对应词向量的算术平均作为问句的句向量。提前生成并保存问答数据集中每个问题的句向量。使用余弦相似度的方法度量用户输入问题句向量和候选问题句向量的相似度。

5.4深度语义匹配

深度语义匹配模块使用BERT模型提取问题的句向量,获得句子的深度语义表征。网络结构是BERT模型+孪生网络(Siamese Network)。由于孪生网络由两个并行的BERT模型组成,每次输入的数据是一组问题对,因此需要对数据做一些加工处理完成训练。对问答数据集中的问题,需要构造每个问题的相似问题和不相似问题,其中不相似问题可以通过对问题集的不同问题采样获得。训练数据格式如(q1,q2,label)形式,q1和q2分别为两个问题,label值为0,1表示两个问题是否相似。

训练过程是将上述两个问题输入到孪生网络的BERT模型中,两个BERT模型共享参数,分别取最后一层的输出,采用平均池化策略,对所有token的每一维度输出取平均值作为Embedding向量。假设第一个句子的输出向量为u,第二个句子的输出向量为v,我们采用cos相似度作为优化的目标函数。使用这个新的网络进行训练,对BERT网络进行FineTurning。具体网络结构如图2所示。

深度语义匹配模块会预先训练好模型,并生成问答问题集中每个问题的深度语义向量,当用户输入问题时,计算输入问题的深度语义向量,并计算其与每个候选问题向量的相似度。

6.问答匹配模块

在排序模块,会对各种匹配方法的结果综合给出最终候选答案的排序。具体做法是使用3种字面信息相似度和深度语义相似度得分作为特征,对每一个特征乘以一个权重,训练Logistic Regression模型,目标值为0或1表示句子是否相似。最后通过最终得分,对问题进行排序,选出得分最高的作为最终相似问题,从数据库中检索最相似问题对应的答案,完成智能问答匹配。

需要说明的是,在本文中,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者装置不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者装置所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括该要素的过程、方法、物品或者装置中还存在另外的相同要素。

上述本发明实施例序号仅仅为了描述,不代表实施例的优劣。

通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到上述实施方法可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质(如ROM/RAM、磁碟、光盘)中,包括若干指令用以使得一台终端(可以是手机,计算机,服务器,空调器,或者网络设备等)执行本发明各个实施例所述的方法。

上面结合附图对本发明的实施例进行了描述,但是本发明并不局限于上述的具体实施方式,上述的具体实施方式仅仅是示意性的,而不是限制性的,本领域的普通技术人员在本发明的启示下,在不脱离本发明宗旨和权利要求所保护的范围情况下,还可做出很多形式,这些均属于本发明的保护之内。

去获取专利,查看全文>

相似文献

  • 专利
  • 中文文献
  • 外文文献
获取专利

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号