基于机器学习的问答交互方法及装置与流程

文档序号:21267816发布日期:2020-06-26 22:46阅读:173来源:国知局
基于机器学习的问答交互方法及装置与流程

本发明涉及智能问答领域,具体而言,涉及一种基于机器学习的问答交互方法及装置。



背景技术:

近年来随着人工智能技术的迅速发展,智能客服机器人在各行各业的运用越来越广泛。在银行大数据领域也需要这样的智能客服机器人,以帮助用户解答在查询数据湖或数据仓库时遇到的问题。目前已有的智能客服系统主要是基于语料库,计算用户问题与语料库中已有问题的相似度,取相似度最高的答案。这种方法虽能回答很多问题,但一旦有用户问起语料库中没有问过的问题就会无法答复或答非所问。因此现有技术缺少一种能够更为准确的回答用户问题的智能客服系统。



技术实现要素:

本发明为了解决上述背景技术中的至少一个技术问题,提出了一种基于机器学习的问答交互方法及装置。

为了实现上述目的,根据本发明的一个方面,提供了一种基于机器学习的问答交互方法,该方法包括:

获取用户的问题文本,并提取出所述问题文本的问题要素;

根据所述问题要素从预设的知识图谱中检索所述问题文本对应的问题答案;

若检索出的问题答案的数量大于1,则将所述问题文本以及所述问题答案输入到预设的语料分类模型中,得到各问题答案的准确性概率,其中,所述语料分类模型为根据预设的机器学习算法并采用标注出答案正确性的问题答案对作为训练样本训练得出的;

根据各问题答案的准确性概率确定出所述问题文本对应的推送答案,并将所述推送答案发送给所述用户。

可选的,该基于机器学习的问答交互方法还包括:

获取标注出答案正确性的问题答案对;

将所述问题答案对转换为词向量;

将转换为词向量的所述问题答案对作为训练样本并根据预设的机器学习算法训练出所述语料分类模型。

可选的,该基于机器学习的问答交互方法还包括:

获取全量知识数据;

将所述全量知识数据以键值对的格式存储到图数据库中,得到所述知识图谱。

可选的,该基于机器学习的问答交互方法还包括:

若检索出的问题答案的数量等于1,则将检索出的问题答案发送给所述用户。

可选的,该基于机器学习的问答交互方法还包括:

若检索出的问题答案的数量等于0,则将预设的缺省答案发送给所述用户。

可选的,所述机器学习算法包括:stacking算法。

为了实现上述目的,根据本发明的另一方面,提供了一种基于机器学习的问答交互装置,该装置包括:

问题要素提取单元,用于获取用户的问题文本,并提取出所述问题文本的问题要素;

知识图谱检索单元,用于根据所述问题要素从预设的知识图谱中检索所述问题文本对应的问题答案;

答案准确性概率确定单元,用于当检索出的问题答案的数量大于1时将所述问题文本以及所述问题答案输入到预设的语料分类模型中,得到各问题答案的准确性概率,其中,所述语料分类模型为根据预设的机器学习算法并采用标注出答案正确性的问题答案对作为训练样本训练得出的;

答案推送单元,用于根据各问题答案的准确性概率确定出所述问题文本对应的推送答案,并将所述推送答案发送给所述用户。

可选的,该基于机器学习的问答交互装置还包括:

问题答案对获取单元,用于获取标注出答案正确性的问题答案对;

词向量转换单元,用于将所述问题答案对转换为词向量;

模型训练单元,用于将转换为词向量的所述问题答案对作为训练样本并根据预设的机器学习算法训练出所述语料分类模型。

可选的,该基于机器学习的问答交互装置还包括:

全量知识数据获取单元,用于获取全量知识数据;

知识图谱构建单元,用于将所述全量知识数据以键值对的格式存储到图数据库中,得到所述知识图谱。

可选的,所述答案推送单元,还用于当检索出的问题答案的数量等于1时将检索出的问题答案发送给所述用户。

可选的,所述答案推送单元,还用于若检索出的问题答案的数量等于0时将预设的缺省答案发送给所述用户。

为了实现上述目的,根据本发明的另一方面,还提供了一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现上述基于机器学习的问答交互方法中的步骤。

为了实现上述目的,根据本发明的另一方面,还提供了一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,所述计算机程序在计算机处理器中执行时实现上述基于机器学习的问答交互方法中的步骤。

本发明的有益效果为:本发明基于知识图谱,从知识图谱中检索答案,因此可以回答语料库中没有问过的问题;同时,基于语料库中的问题答案对采用机器学习的方法训练出一个语料分类模型,用于判断从知识图谱中检索出的答案的准确性概率,并基于准确性概率向用户反馈问题答案。本发明将知识图谱和语料库结合起来使用,不仅大大拓展了能回答问题的范围,而且还提升了回答问题的准确性。

附图说明

为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。在附图中:

图1是本发明实施例基于机器学习的问答交互方法的流程图;

图2是本发明实施例训练模型的流程图;

图3是本发明实施例构建知识图谱的流程图;

图4是本发明另一实施例基于机器学习的问答交互方法的流程图;

图5是本发明实施例基于机器学习的问答交互装置的第一结构框图;

图6是本发明实施例基于机器学习的问答交互装置的第二结构框图;

图7是本发明实施例基于机器学习的问答交互装置的第三结构框图;

图8是本发明实施例计算机设备示意图。

具体实施方式

为了使本技术领域的人员更好地理解本发明方案,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分的实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都应当属于本发明保护的范围。

本领域内的技术人员应明白,本发明的实施例可提供为方法、系统、或计算机程序产品。因此,本发明可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本发明可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、cd-rom、光学存储器等)上实施的计算机程序产品的形式。

需要说明的是,本发明的说明书和权利要求书及上述附图中的术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。

需要说明的是,在不冲突的情况下,本发明中的实施例及实施例中的特征可以相互组合。下面将参考附图并结合实施例来详细说明本发明。

图1是本发明实施例基于机器学习的问答交互方法的流程图,如图1所示,本实施例的基于机器学习的问答交互方法包括步骤s101至步骤s104。

步骤s101,获取用户的问题文本,并提取出所述问题文本的问题要素。

在本发明实施例中,问题要素的提取需要用到中文分词技术,即把问题文本进行合理分词,并按照词性区分主谓宾成分,从而得到问题要素达到理解问题的目的。中文分词也有很多成熟产品,可以是本领域人员知晓的任意一种成熟产品。这里可以采用中文分词器jieba,这个分词器使用了统计语言模型,利用中文词库确定汉字间的关联概率,概率大的组成词组,形成分词结果,并能给出词性标注,从而可判断语句的主谓宾状等成分要素。

步骤s102,根据所述问题要素从预设的知识图谱中检索所述问题文本对应的问题答案。

在本发明实施例中,本步骤将问题要素输入到预设的知识图谱中,检索出用户的问题对应的答案,组合得到"问题-答案"对,进而根据检索出问题答案的数量后续进行不同的答案推送处理。

步骤s103,若检索出的问题答案的数量大于1,则将所述问题文本以及所述问题答案输入到预设的语料分类模型中,得到各问题答案的准确性概率,其中,所述语料分类模型为根据预设的机器学习算法并采用标注出答案正确性的问题答案对作为训练样本训练得出的。

在本发明实施例中,若通过知识图谱检索出的问题答案的数量多于1个,则将多个问题答案与问题进行组合,形成多个"问题-答案"对,进而将该多个"问题-答案"对输入到语料分类模型中,得到各"问题-答案"对的准确性概率。

步骤s104,根据各问题答案的准确性概率确定出所述问题文本对应的推送答案,并将所述推送答案发送给所述用户。

在本发明可选实施例中,可以将准确性概率最高的问题答案作为推送答案。在本发明的其他可选实施例中,也可以将准确性概率大于预设值的问题答案都作为推送答案,发送给用户。

在本发明实施例中,若检索出的问题答案的数量等于1,则将检索出的问题答案直接发送给所述用户。在本发明实施例中,若检索出的问题答案的数量等于0,则可以将预设的缺省答案发送给所述用户。缺省答案可以是“很抱歉,未能查到相关答案,请您拨打人工客服电话xxx-xxxxxxxx。”等预设的语言本文。

由以上描述可以看出,本发明基于知识图谱,从知识图谱中检索答案,因此可以回答语料库中没有问过的问题;同时,基于语料库中的问题答案对采用机器学习的方法训练出一个语料分类模型,用于判断从知识图谱中检索出的答案的准确性概率,并基于准确性概率向用户反馈问题答案。本发明将知识图谱和语料库结合起来使用,不仅大大拓展了能回答问题的范围,而且还提升了回答问题的准确性。

图2是本发明实施例训练模型的流程图,如图2所示,上述步骤s103中的语料分类模型的训练流程包括以下步骤s201至步骤s203。

步骤s201,获取标注出答案正确性的问题答案对。

在本发明实施例中,本步骤通过人工整理银行大数据问答语料,成为标准的"问题-答案"语料(即问题答案对),并打上答案正确与否的标签。所谓大数据问答语料就是历史记录的"问题-答案"语料文本,例如:问题:如何查一个客户的活期存款?答案:活期存折分户帐dcm_prs_xxxxxsub_s。

这些问答语料是在过去人工客服时代积累的,蕴含了丰富的银行大数据知识,是今后答复新问题时很好的参考资料。但由于其并不全面,有些知识点若没有用户问过就不会包含在其中,所以光用这些语料作为智能客服机器人的答复依据是不够的。但这些语料提供了一个有用的样本集,其中既包含正样本(得到用户认可的正确答案)、也包括负样本(没有得到用户认可的错误答案),可以用来训练一个语料分类模型,用以预测一个"问题-答案"语料是否准确以及准确性概率。

步骤s202,将所述问题答案对转换为词向量。

在本发明实施例中,在机器学习模型训练前要将"问题-答案"语料文本(即问题答案对)都转换为词向量,即文本向量化。这已经有成熟的产品,可以是本领域人员知晓的任意一种成熟的文本向量化产品,例如可直接采用腾讯开源的ailab中文词向量库。

步骤s203,将转换为词向量的所述问题答案对作为训练样本并根据预设的机器学习算法训练出所述语料分类模型。

在本发明实施例中,语料分类模型训练可以采用机器学习算法。为了保证预测准确性,这里采用stacking算法模型。stacking算法模型采用logistic、rf、lightgbm、catboost、svm五种分类算法作为基学习器组成基本分类器池,采用xgboost作为第二层分类器。因为这种算法经实际验证具有较高的预测能力,并能方便的得到分类概率。

需要说明的是,以上算法的选用仅是本发明的一个示例,但并不限制算法的选用。在本发明的实现架构中,在能带来更高的准确性和效率原则下,选用其他的机器学习算法进行文本分类也是可以的,例如也可采用facebook公司开源的fasttext算法。

图3是本发明实施例构建知识图谱的流程图,如图3所示,上述步骤s102中的知识图谱的构建流程包括以下步骤s301至步骤s302。

步骤s301,获取全量知识数据。

步骤s302,将所述全量知识数据以键值对的格式存储到图数据库中,得到所述知识图谱。

在本发明实施例中,知识图谱可以是以图数据库方式存储的知识库,可以是本领域人员知晓的任意一种成熟的图数据库产品。本说明书以开源分布式图数据库产品janusgraph为例进行说明,通过人工整理银行大数据领域全量知识数据,以k/v(键值对)格式存储到janusgraph图数据库。

银行大数据领域知识数据主要包括当事人、产品、协议、事件、内部机构等多种实体、实体属性、以及实体与实体之间的关系。以数据湖表“个人客户表”和“活期存折分户帐”为例进行说明,其k/v(键值对)表示如下表1:

表1

其中个人客户表和活期存折分户帐分别是两个实体,在图数据库中表示为两个顶点(vertex);其属性key是name,属性value分别是实体名称dcm_ecs_tbxxxx_s和dcm_prs_xxxxxsub_s;它们各有一条有向边(edge)指向对方,分别是“拥有帐户”和“所属客户”,其属性key是name,属性value分别是dcm_prs_xxxxxsub_s和dcm_ecs_tbxxxx_s。上表1中的顶点和边清楚地表明了数据湖表“个人客户表”和“活期存折分户帐”的属性和相互间的紧密关系。

图4是本发明另一实施例基于机器学习的问答交互方法的流程图,具体流程包括以下步骤s401至步骤s406。

步骤s401:本步骤完成银行大数据问答语料的整理和语料分类模型训练。

步骤s402:本步骤完成银行大数据领域知识的整理并构建知识图谱。

步骤s403:本步骤完成用户问题的读取和要素提取。

步骤s404:本步骤根据知识图谱完成问题答案的检索。

本步骤根据问题要素(即问题语句的主谓宾状等成分要素)从janusgraph图数据库检索问题答案,这里检索到的答案可能会有多个。

步骤s405:本步骤完成问题答案的准确性甄别,决定最终给客户的答案。

正如上述实施例的说明,若根据知识图谱检索到的"问题-答案"数=1,说明只检索到唯一答案,则可直接将这个答案作为该问题最终答案。

若检索到的"问题-答案"数>1,则将这些"问题-答案"一起发送给训练好的语料分类模型,并接收返回的各"问题-答案"的准确性概率,将准确性概率最高的答案作为该问题的最终答案;

否则,检索到的"问题-答案"数=0,此时没有检索到合适的答案(虽然使用了知识图谱,仍不能完全排除这种可能性),需要人工介入,因此用缺省答案作为最终答案,缺省答案可以是“很抱歉,未能查到相关答案,请您拨打人工客服电话xxx-xxxxxxxx。”

步骤s406:本步骤完成将最终问题答案返回给用户。

由以上实施例可以看出,本发明的基于机器学习的问答交互方法克服了现有智能客服机器人能够回答的问题范围小及准确性无法判断的缺陷,大大拓展了回答问题的范围并提升了回答问题的准确性。

需要说明的是,在附图的流程图示出的步骤可以在诸如一组计算机可执行指令的计算机系统中执行,并且,虽然在流程图中示出了逻辑顺序,但是在某些情况下,可以以不同于此处的顺序执行所示出或描述的步骤。

基于同一发明构思,本发明实施例还提供了一种基于机器学习的问答交互装置,可以用于实现上述实施例所描述的基于机器学习的问答交互方法,如下面的实施例所述。由于基于机器学习的问答交互装置解决问题的原理与基于机器学习的问答交互方法相似,因此基于机器学习的问答交互装置的实施例可以参见基于机器学习的问答交互方法的实施例,重复之处不再赘述。以下所使用的,术语“单元”或者“模块”可以实现预定功能的软件和/或硬件的组合。尽管以下实施例所描述的装置较佳地以软件来实现,但是硬件,或者软件和硬件的组合的实现也是可能并被构想的。

图5是本发明实施例基于机器学习的问答交互装置的第一结构框图,如图5所示,本发明实施例基于机器学习的问答交互装置包括:问题要素提取单元1、知识图谱检索单元2、答案准确性概率确定单元3以及答案推送单元4。

问题要素提取单元1,用于获取用户的问题文本,并提取出所述问题文本的问题要素。

知识图谱检索单元2,用于根据所述问题要素从预设的知识图谱中检索所述问题文本对应的问题答案。

答案准确性概率确定单元3,用于当检索出的问题答案的数量大于1时将所述问题文本以及所述问题答案输入到预设的语料分类模型中,得到各问题答案的准确性概率,其中,所述语料分类模型为根据预设的机器学习算法并采用标注出答案正确性的问题答案对作为训练样本训练得出的。

答案推送单元4,用于根据各问题答案的准确性概率确定出所述问题文本对应的推送答案,并将所述推送答案发送给所述用户。

在本发明可选实施例中,所述答案推送单元4,还用于当检索出的问题答案的数量等于1时将检索出的问题答案发送给所述用户。

在本发明可选实施例中,所述答案推送单元4,还用于若检索出的问题答案的数量等于0时将预设的缺省答案发送给所述用户。

图6是本发明实施例基于机器学习的问答交互装置的第二结构框图,如图6所示,本发明实施例基于机器学习的问答交互装置还包括:问题答案对获取单元5、词向量转换单元6以及模型训练单元7。

问题答案对获取单元5,用于获取标注出答案正确性的问题答案对。

词向量转换单元6,用于将所述问题答案对转换为词向量。

模型训练单元7,用于将转换为词向量的所述问题答案对作为训练样本并根据预设的机器学习算法训练出所述语料分类模型。

在本发明可选实施例中,所述机器学习算法包括:stacking算法。

图7是本发明实施例基于机器学习的问答交互装置的第三结构框图,如图7所示,本发明实施例基于机器学习的问答交互装置还包括:全量知识数据获取单元8和知识图谱构建单元9。

全量知识数据获取单元8,用于获取全量知识数据。

知识图谱构建单元9,用于将所述全量知识数据以键值对的格式存储到图数据库中,得到所述知识图谱。

为了实现上述目的,根据本申请的另一方面,还提供了一种计算机设备。如图8所示,该计算机设备包括存储器、处理器、通信接口以及通信总线,在存储器上存储有可在处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现上述实施例方法中的步骤。

处理器可以为中央处理器(centralprocessingunit,cpu)。处理器还可以为其他通用处理器、数字信号处理器(digitalsignalprocessor,dsp)、专用集成电路(applicationspecificintegratedcircuit,asic)、现场可编程门阵列(field-programmablegatearray,fpga)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等芯片,或者上述各类芯片的组合。

存储器作为一种非暂态计算机可读存储介质,可用于存储非暂态软件程序、非暂态计算机可执行程序以及单元,如本发明上述方法实施例中对应的程序单元。处理器通过运行存储在存储器中的非暂态软件程序、指令以及模块,从而执行处理器的各种功能应用以及作品数据处理,即实现上述方法实施例中的方法。

存储器可以包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需要的应用程序;存储数据区可存储处理器所创建的数据等。此外,存储器可以包括高速随机存取存储器,还可以包括非暂态存储器,例如至少一个磁盘存储器件、闪存器件、或其他非暂态固态存储器件。在一些实施例中,存储器可选包括相对于处理器远程设置的存储器,这些远程存储器可以通过网络连接至处理器。上述网络的实例包括但不限于互联网、企业内部网、局域网、移动通信网及其组合。

所述一个或者多个单元存储在所述存储器中,当被所述处理器执行时,执行上述实施例中的方法。

上述计算机设备具体细节可以对应参阅上述实施例中对应的相关描述和效果进行理解,此处不再赘述。

为了实现上述目的,根据本申请的另一方面,还提供了一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,所述计算机程序在计算机处理器中执行时实现上述基于机器学习的问答交互方法中的步骤。本领域技术人员可以理解,实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的程序可存储于一计算机可读取存储介质中,该程序在执行时,可包括如上述各方法的实施例的流程。其中,所述存储介质可为磁碟、光盘、只读存储记忆体(read-onlymemory,rom)、随机存储记忆体(randomaccessmemory,ram)、快闪存储器(flashmemory)、硬盘(harddiskdrive,缩写:hdd)或固态硬盘(solid-statedrive,ssd)等;所述存储介质还可以包括上述种类的存储器的组合。

显然,本领域的技术人员应该明白,上述的本发明的各模块或各步骤可以用通用的计算装置来实现,它们可以集中在单个的计算装置上,或者分布在多个计算装置所组成的网络上,可选地,它们可以用计算装置可执行的程序代码来实现,从而,可以将它们存储在存储装置中由计算装置来执行,或者将它们分别制作成各个集成电路模块,或者将它们中的多个模块或步骤制作成单个集成电路模块来实现。这样,本发明不限制于任何特定的硬件和软件结合。

以上所述仅为本发明的优选实施例而已,并不用于限制本发明,对于本领域的技术人员来说,本发明可以有各种更改和变化。凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。

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