首页> 中国专利> 一种基于阅读理解模型的智能对话方法及系统

一种基于阅读理解模型的智能对话方法及系统

摘要

一种基于阅读理解模型的智能对话方法及系统,涉及智能问答技术领域,包括:S1:构建智能对话语料库,包括相互对应的类别,段落,问题,答案;S2:获取用户输入问题并判断输入问题是否包含预设关键字;S3:将输入问题与语料库中的每个段落分别匹配,获得输入问题与每个段落的相关性,返回待定的相关性最高段落以及语料库中与其对应的类别;S4:基于机器阅读理解模型从所述S3返回的选定段落中抽取答案,向用户输出答案;S5:根据用户对答案的反馈,重新训练机器阅读理解模型,完成机器阅读理解模型的迭代优化。本发明提供的一种基于阅读理解模型的智能对话方法及系统,可对于用户提出的业务相关问题进行准确解答并给予辅助。

著录项

  • 公开/公告号CN112163079A

    专利类型发明专利

  • 公开/公告日2021-01-01

    原文格式PDF

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

    申请/专利号CN202011068856.4

  • 申请日2020-09-30

  • 分类号G06F16/332(20190101);G06F16/335(20190101);G06F16/35(20190101);G06F40/289(20200101);G06F40/284(20200101);G06F40/216(20200101);G06Q40/02(20120101);

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

  • 代理人巴晓艳

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

  • 入库时间 2023-06-19 09:24:30

说明书

技术领域

本发明涉及智能问答技术领域,尤其是涉及一种基于阅读理解模型的智能对话方法及系统。

背景技术

银行操作业务场景,是指客户现场去银行办理业务的时候,银行人员根据客户的不同需求为其办理特定的业务。此时在银行人员进行业务操作的时候,他们通常要时刻谨记并熟悉所有业务流程的操作,及时并准确地根据客户提出的业务需求为客户办理。但是偶尔也无法避免临时忘记的情况,那么银行人员需要去查阅大量的手册找到对应的操作内容或者询问其它人员。这样的方式不仅耽误时间,还很容易给客户造成不够专业的误解,影响银行整体形象。银行操作业务领域的知识通常很复杂或繁琐,但是同时也有很多冗余操作。每一种业务下都对应完全不同的操作,稍不留神,可能给银行带来巨大损失。目前市场上出现的智能对话系统大多针对于与用户闲聊,比如微软小冰,主要猜测用户意图并对其给予良好的反馈,目标是使其更像人类一样正常的、有情感的、有温度的进行交流。但是这类系统并不能很好应用到银行业务场景中。首先是针对银行操作业务并没有成熟的数据集可供使用,限制了技术的尝试与创新,其次是现有的对话系统内部的模块设计和银行操作业务的特点不匹配。

发明内容

有鉴于此,本发明提出了一种基于阅读理解模型的智能对话方法及系统,可对于用户提出的业务相关问题进行解答,在银行业务人员进行操作的时候给予辅助。所述系统中的问答逻辑结构主要针对银行操作业务而设计,特定的业务单元下设置特定回答逻辑。主要包含四个模块,分别为判断模块、交互模块、匹配模块和计算模块。判断模块对输入的问题进行判断是否属于引导类问题,交互模块负责系统和用户之间的信息交互,使用户更加明确自己所咨询的问题,确定其所属单元之后进行自上而下匹配。匹配模块利用相似度匹配算法来实现问题和段落之间的匹配,计算模块将所述用户问题和相应匹配的段落组成测试用例,负责调用预先训练的Bert模型进行答案的预测。其中调用的Bert模型是在中文语料库上预训练,之后在构建的银行业务手册数据集上进行参数微调得到。用户可对预测答案进行满意度评价,根据用户的反馈重新训练模型,调整参数。

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

根据本发明的第一方面,提供了一种基于阅读理解模型的智能对话方法,所述方法包括:

S1:构建智能对话语料库,所述语料库包括若干条数据,每条数据包括类别,段落,问题,答案;

S2:获取用户输入问题并判断输入问题是否包含预设关键字;

若用户问题中未包含预设关键字,则进入引导阶段,引导用户重新输入问题;

若用户问题中包含预设关键字,则进入回答阶段,继续执行步骤S3;

S3:将输入问题与语料库中的每个段落分别匹配,获得输入问题与每个段落的相关性,返回待定的相关性最高段落以及语料库中与其对应的类别;

若返回的类别为基础类别时,将待定的相关性最高段落作为选定段落;

若返回的类别为其它类别时,由用户选择与输入问题相关且在所述S1的语料库中存在的类别,缩小段落选择范围,将用户选择的类别下的相关性最高段落作为选定段落;

S4:基于机器阅读理解模型从所述S3返回的选定段落中抽取答案,向用户输出答案;

S5:根据用户对答案的反馈,重新训练机器阅读理解模型,完成机器阅读理解模型的迭代优化。

进一步的,所述S1中的类别包括一级类别和二级类别;

进一步的,所述S3中将输入问题与语料库中的每个段落分别匹配,获得输入问题与每个段落的相关性,具体包括:

S31:对输入问题及语料库中的每个段落进行分词处理,并过滤停用词;

S32:根据词频-逆文档频率算法将输入问题和段落分别转换为问题向量和段落向量;

S33:对问题向量和段落向量进行余弦相似度计算,余弦相似度越大则认为相关性越高。

进一步的,当余弦相似度小于0.05时,则认为无相关性,此时系统将输出预先设定的结束语,并结束本次智能对话过程。

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

词频-逆文档频率算法的计算公式如下:

TF-IDF

其中,TF-IDF

TF计算公式:

其中,n

IDF计算公式:

其中D为段落,|D|代表段落总数,|{j:t

进一步的,所述S33中余弦相似度的计算方式具体为:

其中问题向量为Q,段落向量为D,Q和D两个向量间的夹角余弦值即为他们之间的余弦相似度。

进一步的,在连续问答中,当针对其中某一输入问题在所述S3中返回的类别为其它类别时,将用户选择的类别作为后续其它类别问题的默认类别。

进一步的,所述S4中的机器阅读理解模型由所述S1中构建的智能问答语料库训练得到。

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

若用户评价为满意,则收集相应的问题、段落、答案,若与所述S1中语料库已有的数据不同,将其作为新的训练数据送入所述S4中的机器阅读理解模型;

若用户评价为不满意,则收集相应的问题、段落、答案,重新进行调整,随后将调整正确后的内容作为新的训练数据送入所述S4中的机器阅读理解模型。

根据本发明的第二方面,提供了一种基于阅读理解模型的智能对话系统,所述系统应用如本发明第一方面所述的方法,其特征在于,包括:

判断模块,用于判断输入问题是否包含预设关键字及输入问题的类别;

交互模块,用于获取用户反馈的与输入问题相关且在S1的语料库中存在的类别;

匹配模块,用于将输入问题与语料库中的每个段落分别匹配,获得输入问题与每个段落的相关性;

计算模块,用于基于阅读理解模型从选定段落中抽取答案。

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

相对于现有技术,本发明所述的一种基于阅读理解模型的智能对话方法及系统具有以下优势:

本发明系统获取用户输入问题,根据系统问答逻辑和用户需求,匹配用户所咨询问题和段落库中已有段落,将段落和问题组成测试样例,采用机器阅读模型从段落中进行答案抽取并向用户输出答案。同时用户可对输出答案进行满意度评价,系统模型根据用户的反馈进行相应调整。其中的Bert抽取式阅读理解模型很好利用,相比传统方法来说答案抽取更准确。

1)不同于通用的对话系统,本发明系统和业务领域知识紧密结合,针对应用场景、业务人员问答习惯设计了特定的问答逻辑,根据业务中的不同单元采用不同的处理方式,和应用场景深度融合,为传统服务提供更好的支持。

2)相对搜索式问答系统其只能回答数据集中问题已有答案的限制,本系统基于机器阅读理解模型,可以从业务内容段落中抽取片段作为问题的答案,因此可以应付新的未在训练集中出现的业务问题,更加灵活地给出解答。

3)因通常很多业务之间的操作说明有大量相似之处,导致问题和段落匹配容易出错,因此本发明系统在此业务单元下设计交互模块,系统向用户发起申请类型确认,根据用户所确定的类型定位匹配段落所属范围,缩小段落搜索范围从而提高匹配精度,并且与用户形成了良好互动,提高用户体验感和满意度。

4)系统充分考虑用户对于系统的使用感受,提供用户满意度评价机制,根据用户给予的反馈进行模型调整,很容易地支持新数据的训练,以便系统回答更加准确、有效。

附图说明

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

图1为本发明系统具体工作流程图;

图2为本发明系统工作逻辑图。

具体实施方式

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

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

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

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

如图1~图2所示,本发明提供了一种基于阅读理解模型的智能对话方法,

该方法具体内容包括以下步骤:

S1:将现有手册数据整理成{一级类别,二级类别,段落,问题,答案}形式,构建为智能对话语料库,作为机器阅读理解模型Bert的训练集。首先下载Google提供的预训练好的Bert中文预训练模型,名称为chinese_L-12_H-768_A-12,之后采用该数据集对Bert预训练模型进行fine-tune,具体过程如下:1、将问题和段落分别作为BERT的text1和text2输入;2、start/end表示实际答案在段落对应的输出位置表示,即start和end之前的文本片段为答案,标签为start和end的标签序列。假设段落为“本期可质押产品类型包括:第一期上线随享存、定期存单产品,后续将上线大额存单等产品。存单产品信息列表中,左侧未标明“添加”字样的存单产品,则表示此产品不可质押。”,问题为“左侧未标明“添加”字样的存单产品表示什么意思?”,则标签为:start[0,...,0,0,1,0,0,0,0,0,0],end[0,...0,0,0,0,0,0,0,1]。之后修改Bert中的processor文件来处理以上的手册数据,然后运行run_classsifier.py进行模型的训练。采用以上训练步骤得到了针对抽取式阅读理解任务的在Bert上fine-tune后的模型,用于本发明中后续的任务。

语料库样例如下:基础类别下有产品介绍、开办业务前的准备工作等一级类别,以一级类别为产品介绍举例,对应的二级类别有产品简介、适用客户条件等;其他类别下有具体操作说明、业务申请步骤等一级类别,以一级类别是是具体操作说明举例,它对应的二级类别有操作员权限维护、客户签约等对应具体业务操作的名称。

一级类别和二级类别属于基础类别或其他类别;

其中,基础类别为包括产品介绍、查询办理前的准备材料等;

其它类别包括客户发起具体的业务申请,要进行的具体业务操作等。

S2:获取用户输入问题并判断输入问题是否包含预设关键字;

若用户问题中未包含预设关键字,则进入引导阶段,引导用户重新输入问题;

若用户问题中包含预设关键字,则进入回答阶段,继续执行步骤S3;

S2.1:统计语料库中段落的高频词作为区分引导阶段和回答阶段的关键词,组成关键词集合。

S2.2:对用户输入问题进行结巴分词处理,若分好的词未出现在关键词集合中,进到引导阶段,此单元内容的设置目的为引导用户提出与银行业务有关的问题。

此步骤中设计了几个回答模板。比如

提问:“你好,今天天气怎么样?”

回答:“你好,你想问什么问题?”或“你好,我能为您做些什么?”

S2.3:若分好的词出现在关键词集合中,则进入所述步骤S3。

S3:将输入问题与语料库中的每个段落分别匹配,获得输入问题与每个段落的相关性,返回待定的相关性最高段落以及语料库中与其对应的类别;

若返回的类别为基础类别时,将待定的相关性最高段落作为选定段落;

若返回的类别为其它类别时,由用户选择与输入问题相关且在所述S1的语料库中存在的类别,缩小段落选择范围,将用户选择的类别下的相关性最高段落作为选定段落;

S3.1:对经过分词操作的用户输入的问题和语料库中的所有段落采用词频-逆文档频率(TF-IDF)算法得到其向量。

S3.2:对输入的问题和语料库中的所有段落进行结巴分词处理,之后进行停用词过滤,比如‘公司’、‘业务’此类的词过滤掉。之后根据TF-IDF算法将其转换成段落向量,存储在系统的匹配模块中。

TF-IDF计算公式如下:

TF-IDF

其中,TF-IDF

TF计算公式:

其中,n

IDF计算公式:

其中D为段落,|D|代表段落总数,|{j:t

S3.3:进行问题和所有段落的匹配。对问题采用S2.3中步骤得到每个输入问题的向量,和段落向量进行余弦相似度的计算。计算具体公式如下:

其中问题为Q,段落为D,得出Q和D两个向量间的夹角余弦值,作为他们之间的相似度。取余弦值最大的段落作为匹配到的最相似段落。同时返回匹配到的段落中的所属一级类别和所属二级类别。

S3.4:根据返回的段落所属的类别进行判断。

当判断为与属于其他类别时,进入系统与客户交互模块。该模块目的为使用户进一步明确咨询业务所属类型,给到系统一个反馈,缩小匹配范围提高精准度。系统输出提前划分的单元,使用户对业务申请类型进行选择确认。在一次连续的问答中,业务类别确认只需要确认一次,后续默认第一次确认的类别。之后返回用户选择类别下的段落。

S3.5:当判断为基础类别时,进行基础业务单元,继续将S3.4中最相似的段落返回。

S4:基于Bert机器阅读理解模型从所述S3返回的选定段落中抽取答案,包括如下步骤:

S4.1:首先进行数据预处理,对于问题和段落,进行整体化处理,将问题和段落组成一个字符层面的序列,之后将问题和段落相连接并以特殊标记(special tokens,SEP)分隔。在序列的开头增加添加特殊分类标记(special classification token,CLS)标记,并在连接的序列后做填充处理。序列通过标记向量(token Embedding)、分隔向量(segmentembedding)和位置向量(positional embedding)输入到BERT。最后,通过全连接层和softmax函数将BERT的最终隐藏状态转换为答案文本的起始和结束位置的概率。

S4.2:对于S3.4步骤中,问题和段落匹配的余弦相似度计算值低于0.05的时候,系统设定此类问题为无法回答问题。对于此类问题,系统提前设计了几个回答模板。比如“你的问题超出我的智商范围了,换个简单点的吧。”、“对不起,这个问题我不知道”等诸如此类的模板,在无法回答的同时也给予客户一个及时的反馈。

S5:输出所述用户问题所对应的答案,并展示给用户。用户可对系统输出答案进行满意度评价,可选择满意或不满意。系统收集用户评价结果,重新训练模型。

若用户评价为满意,则收集相应的问题、段落、答案,若与所述S1中语料库已有的数据不同,将其作为新的训练数据送入所述S4中的机器阅读理解模型;

若用户评价为不满意,则收集相应的问题、段落、答案,重新进行调整,随后将调整正确后的内容作为新的训练数据送入所述S4中的机器阅读理解模型。

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

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

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

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

去获取专利,查看全文>

相似文献

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

客服邮箱:kefu@zhangqiaokeyan.com

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

  • 服务号