基于问答系统的对话处理方法、装置和系统及移动设备与流程

文档序号:15163973发布日期:2018-08-14 17:13阅读:149来源:国知局
本发明涉及信息
技术领域
,具体而言,涉及一种基于问答系统的对话处理方法、装置和系统及移动设备。
背景技术
:随着网络和信息技术的快速发展,互联网成为人们获取信息的主要手段,从互联网上获取信息的手段大致有两种:一种是通过搜索引擎搜索关键词来获取相关信息;另一种是通过向网站或社交软件提供的客服来询问问题并获取相应的答案。前者基于关键词搜索,用户很难将自己的检索意图表达清楚,搜索引擎返回的相关网页很多,用户很难快速定位到所需的信息;后者基于自然语言来提问,可以清楚地表达出用户的意图,但是人工问答需要提供大量的客服来解答,造成人力成本的急剧增长。为了解决人力成本问题,各大网站或产品厂商采取“自动回复”的聊天机器人来为用户解答问题,例如,韩国的simsimi、苹果的siri、京东客服、小i机器人、微软小冰、微软小娜(cortana)等。语聊,不仅是微软小冰这种以尝鲜逗乐为主的问答系统的核心,在面向电子商务等垂直领域的对话系统中也发挥着重要作用。良好的聊天回复能力,可以提高自助问答的趣味性,使人机交互更加流畅,是机器智能的重要体现。对于简单的用户问题,例如机器人自身的设定信息和寒暄类问题,可以通过预设知识点,在交互过程中通过模板匹配或分类来定位和解答。对于其他比较复杂的问题,现有技术通常有两种处理方法:第一种,基于检索模型的处理。即依托已有的问答库做出回复。对于通用/开放领域的知识问答,可以通过维护大量通用/开放领域知识,使用检索的方式找出最匹配答案;第二种,基于生成模型的处理。即根据提问直接生成回复。这里的回复生成并非基于模板填充属性后的答案生成,而是指使用基于googlecho等人的文章《learningphraserepresentationsusingrnnencoder-decoderforstatisticalmachinetranslation》提出的sequence-to-sequence序列建模方法,利用recursiveneuralnetwork模型对输入的问题进行「编码」得到其语义向量表示,再根据该语义来「解码」生成回复。由于编码模型和解码模型已预先经过大规模问答数据的训练,因此具有编码语义、生成流畅表述的能力。生成模型能接受各种形式的自然语言输入,并依此生成相关且流畅的回复。但是,上述两种方案都存在一些缺陷,例如,检索模型依赖于问答库,对于问答库可覆盖的用户问题,效果不错,而对于无法覆盖的用户问题,难以给出合理的回复;生成模型要大量高质量的问答对来训练,对于同一个问题,输出结果可能存在差异,可控性较差,无法保证质量。针对上述现有的自动问答系统准确度低、可控性差的问题,目前尚未提出有效的解决方案。技术实现要素:本发明实施例提供了一种基于问答系统的对话处理方法、装置和系统及移动设备,以至少解决现有的自动问答系统准确度低、可控性差的技术问题。根据本发明实施例的一个方面,提供了一种基于问答系统的对话处理方法,包括:接收当前输入的问题;基于检索模型获取问题的至少一个候选答案,并基于生成模型获取问题的第一答案,其中,检索模型为基于搜索技术获取结果的模型,生成模型为基于训练模型获取结果的模型;至少根据第一答案和至少一个候选答案进行评估处理,生成问题的输出答案。根据本发明实施例的另一方面,还提供了一种基于问答系统的对话处理装置,包括:接收模块,用于接收当前输入的问题;第一获取模块,用于基于检索模型获取问题的至少一个候选答案,并基于生成模型获取问题的第一答案,其中,检索模型为基于搜索技术获取结果的模型,生成模型为基于训练模型获取结果的模型;生成模块,用于至少根据第一答案和至少一个候选答案进行评估处理,生成问题的输出答案。根据本发明实施例的另一方面,还提供了一种基于问答系统的对话处理系统,包括:终端设备,用于接收当前输入的问题;服务器,与终端设备通信连接,用于接收问题,基于检索模型获取问题的至少一个候选答案,并基于生成模型获取问题的第一答案,至少根据第一答案和至少一个候选答案进行评估处理,生成问题的输出答案,其中,检索模型为基于搜索技术获取结果的模型,生成模型为基于训练模型获取结果的模型;终端设备还用于接收服务器返回的输出答案。根据本发明实施例的另一方面,还提供了一种移动设备,包括:语音接收装置,用于接收当前输入的问题;存储器,用于存储检索模型和生成模型,其中,检索模型为基于搜索技术获取结果的模型,生成模型为基于训练模型获取结果的模型;处理器,用于基于检索模型获取问题的至少一个候选答案,并基于生成模型获取问题的第一答案,至少根据第一答案和至少一个候选答案进行评估处理,生成问题的输出答案。在本发明实施例中,通过接收当前输入的问题;基于检索模型获取问题的至少一个候选答案,并基于生成模型获取问题的第一答案,其中,检索模型为基于搜索技术获取结果的模型,生成模型为基于训练模型获取结果的模型;至少根据第一答案和至少一个候选答案进行评估处理,生成问题的输出答案,达到了可以针对用户输入的任何问题都可以生成准确的回答的目的,从而实现了扩大问题覆盖面、提高答复准确率的技术效果,进而解决了现有的自动问答系统准确度低、可控性差的技术问题。附图说明此处所说明的附图用来提供对本发明的进一步理解,构成本申请的一部分,本发明的示意性实施例及其说明用于解释本发明,并不构成对本发明的不当限定。在附图中:图1是根据本发明实施例的一种基于问答系统的对话处理系统示意图;图2是根据本发明实施例的一种可选的融合了检索模型和生成模型的算法原理示意图;图3是根据本发明实施例的一种可选的基于问答库的生成模型示意图;图4是根据本发明实施例的一种可选的基于客服记录的生成模型示意图;图5是根据本发明实施例的一种基于问答系统的对话处理方法流程图;图6是根据本发明实施例的一种可选的基于问答系统的对话处理方法流程图;图7是根据本发明实施例的一种可选的基于问答系统的对话处理方法流程图;图8是根据本发明实施例的一种可选的基于问答系统的对话处理方法流程图;图9是根据本发明实施例的一种可选的基于问答系统的对话处理方法流程图;图10是根据本发明实施例的一种可选的基于问答系统的对话处理方法流程图;图11是根据本发明实施例的一种可选的基于问答系统的对话处理方法流程图;图12是根据本发明实施例的一种移动设备示意图;图13是根据本发明实施例的一种可选的基于问答系统的对话处理装置示意图;图14是根据本发明实施例的一种可选的基于问答系统的对话处理装置示意图;以及图15是根据本发明实施例的一种计算机终端的硬件结构框图。具体实施方式为了使本
技术领域
的人员更好地理解本发明方案,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分的实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都应当属于本发明保护的范围。需要说明的是,本发明的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本发明的实施例能够以除了在这里图示或描述的那些以外的顺序实施。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。首先,在对本申请实施例进行描述的过程中出现的部分名词或术语适用于如下解释:用户问题:指用户在使用产品时向客服(自助或人工)提出的问题。语聊:即闲聊,非业务相关的问答,可以是通用领域的知识类问答。问答库:即问题答案库,通常形式为“问题-答案”对,每个问题有一个答案。基于检索的对话系统:给定一个问题,基于搜索技术,检索问答库中最相近的问题,并返回对应的答案。基于生成模型的对话系统:给定一个问题,基于生成模型的技术,自动生成回答,常用的生成模型为序列到序列(sequencetosequence)模型。实施例1根据本发明实施例,提供了一种基于问答系统的对话处理系统实施例,需要说明的是,本实施例提供的基于问答系统的对话处理系统实施例可以应用于任何电子商务网站的智能机器人客服系统中,例如,jimi智能机器人;还可以应用于基于服务器/客户端的自动问答系统中。聊天机器人或自动问答系统通过对大量无序信息进行有序和科学地整理,允许用户以自然语言的形式查询信息,通过对用户问题的理解,能够直接提交给用户准确、简洁的答案。与传统的搜索引擎方法比较,更加方便、快捷和高效。由于人是带有感情且复杂的动物,人的语言也是比较随性自然的,表达同一个意思的语言形式可能有很多种,而且每个人表达的方式都存在差异。因而,当用户利用自然语言与机器通信的过程中,用户输入的问题是多样化的,这对于机器来说,能够理解用户输入的问题所表达的含义已经是很困难的一件事,如果还要为每个多样化的问题都设置一个准确无误的答案,更是不现实的。现有聊天机器人或自动问答系统,一种是通过对用户问题的分析,从问答库中检索与用户问题比较相近的答案,其中,问答库中的问题和答案是一一对应的,如果用户当前输入的问题不在问答库中,则无法对用户的问题进行反馈,出现错误或者不准确的结果。还有一种问答系统是通过对大量问答对进行训练,得到一个答案生成模型,当用户输入问题后,根据该生成模型输出一个答案,这种方案可控性差,无法预料到会输出什么样的答案。由上可知,现有的聊天机器人或自动问答系统对于用户多样化的问题,很难给出较准确且可控的答案。在交互过程中无法满足用户的各种各样的需求。本实施例提供的基于问答系统的对话处理系统融合了检索模型和生成模型,当用户输入某个问题后,该系统基于检索模型可以给出一些候选答案,基于生成模型可以评估这些候选答案和用户问题的相关性,从而从中找出一个最合适的答案。针对问答库不能覆盖的用户问题,可以将基于生成模型生成的答案输出,从而保证交互过程有效地进行。图1示出了一种根据本发明实施例的一种基于问答系统的对话处理系统示意图,如图1所示,该系统包括:终端设备101和服务器103。其中,终端设备101,用于接收当前输入的问题;服务器103,与终端设备通信连接,用于接收问题,基于检索模型获取问题的至少一个候选答案,并基于生成模型获取问题的第一答案,至少根据第一答案和至少一个候选答案进行评估处理,生成问题的输出答案,其中,检索模型为基于搜索技术获取结果的模型,生成模型为基于训练模型获取结果的模型;终端设备101还用于接收服务器返回的输出答案。具体地,上述终端设备可以为能够访问互联网的计算机、笔记本电脑、平板电脑、手机等智能设备;用户输入的问题可以为但不限于文字或语音,该文字或语音不局限于中文、英文,可以是任何国家的语言。上述服务器可以自动客服系统或自动问答系统的服务器。上述候选答案可以为从问答库中查找到的与用户问题相近的一个或多个问题对应的答案,其中,问答库可以为预先设置的包含的多个问答对的资源库,每个问题与其匹配的答案一一对应。服务器(例如,服务器端的智能机器人)在接收到用户输入的问题后,基于检索模型在问答库中查找与该问题相近的一个或多个问题,并获取这些问题的答案;同时,基于预设的生成模型,根据用户当前输入的问题生成一个答案,即上述第一答案。在根据生成模型得到问题的第一答案后,基于该第一答案,对基于检索模型获取到的多个候选答案进行评估,并根据评估结果,生成与该问题最匹配的答案。需要说明的是,上述检索模型是基于搜索技术获取结果数据的一个算法模型,上述生成模型为基于训练的方式得到结果数据的一个算法模型,通常情况下,这个算法模型是对大量问答对进行训练得到的。一种可选的实施例中,上述基于问答系统的对话处理系统可以应用于用户通过客户端的终端设备访问某个交易网站并向该交易网站上提供的智能机器人客服咨询问题的会话过程中,用户在聊天窗口上输入文字或语音内容,该智能机器人客服也会返回相应的文字或语音内容。作为一种可选的实施方式,图2是根据本发明实施例的一种可选的融合了检索模型和生成模型的算法原理示意图,如图2所示,假如用户输入的问题为q,可以基于预先配置的检索模型产出多个候选答案,具体地,可以基于搜索的技术,评估用户问题q和问答库中所有问题的相似性,从问答库中找到与该问题相近的k个问题:q1,q2,…,qk,以及与这k个问题分别对应的答案:r1,r2,…,rk。在用户输入问题q后,还可以基于预先配置的生成模型为该问题生成一个答案r′(即上述第一答案)。基于第一答案r′对候选答案r1,r2,…,rk进行评估处理,得到每个候选答案的置信度,并按照置信度对候选答案进行排序,得到置信度最高的候选答案及其置信度maxo(ri),假设给定阈值t,并判断该最大置信度与预设阈值(t)的大小,如果o(ri)≥t,则输出答案ri,作为该问题q的输出答案;否则用生成模型生成该问题的答案(即上述第一答案r′),然后将这个答案r′输出,作为该问题q的输出答案。此处需要说明的是,在基于第一答案r′对候选答案r1,r2,…,rk进行评估处理的过程中,可以通过如下三种方式中的任意一种方式来计算每个候选答案的置信度:(1)计算第一答案和候选答案的相似度,并将这个相似度作为候选答案的置信度;(2)直接利用生成模型对每个候选问答对打分,输入是q-ri,输出是o(ri),以此类推,每个候选答案都得到一个分数作为候选答案的置信度;(3)获取第一答案对,和多个候选答案对,计算第一答案对和每个候选答案对的相似度,将这个相似度作为候选答案的置信度。容易注意的是,本发明实施例中,利用通过生成模型生成的答案对通过检索模型得到的多个候选答案进行评估的方式不限于上述三种方式,只要是融合了检索模型和生成模型的对话方式都属于本发明保护的范围。此处还需要说明的是,本申请实施例中的生成模型不仅可以用来生成用户问题的答案(第一答案),将该第一答案作为评估多个候选答案的标准;一种可选的实施方式中,该生成模型可以直接用于对每个候选答案进行打分,输入用户问题和每个候选答案,输出每个候选答案的置信度;与预定阈值进行比对,如果候选答案的置信度大于或等于预定阈值,将该候选答案作为用户问题的输出答案;否则,将生成模型生成的第一答案作为问题的输出答案。基于上述实施例,利用生成模型生成用户问题的回答的过程中,生成模型首先会对用户输入的问题进行编码,然后解码出回复。解码时,每次解码一个字,直到一个特殊的结束字符为止,整个过程结束。由上可知,在本申请上述实施例中,采用检索模型与生成模型融合的方式,在接收到用户提出的问题后,基于检索模型从问答库中检索到与该问题匹配的多个问题,以及这些问题对应的答案,同时利用生成模型根据用户的问题生成第一答案,利用第一答案对从问答库中获取到的多个答案进行评估,并根据评估结果得到该问题的输出答案,以便反馈给用户。容易注意的是,在利用第一答案对从问答库中获取到的多个答案进行评估,一种可选的实施方式中,可以将第一答案与从问答库中获取到的多个答案进行比较来对多个候选答案评估,另一种可选的实施方式,可以利用第一答案与用户问题组成的答案对与多个候选答案与用户问题组成的多个答案对进行比较来对多个候选答案评估。通过上述实施例公开的方案,达到了可以针对用户输入的任何问题都可以生成准确的回答的目的,从而实现了扩大问题覆盖面、提高答复准确率的技术效果,进而解决了现有的自动问答系统准确度低、可控性差的技术问题。需要说明的是,上述生成模型可以在每次获取答案之前都获取一次,也可以按照预设时间段周期性地获取和更新,也可以在初始化阶段获取。其中,获取生成模型至少可以通过如下两种方式实现:第一种,基于问答库来建立生成模型;第二种,基于客服记录来建立生成模型。在一种可选的实施例中,如果基于问答库来建立生成模型,则上述服务器还可以用于获取对话数据库,并对对话数据库中的问答对进行训练,得到生成模型,其中,问答对包括预存的问句和问句对应的预存答案;其中,生成模型包括问句和问句对应的答案,以及用于表示标识问句结束或答案结束的结束字符。具体地,上述对话数据库可以为预先配置的包含了多个问答对的问答库,其中,问答对包括预存的问句和问句对应的预存答案;在基于生成模型生成用户问题的第一答案之前,可以基于问答库来构造生成模型,一般而言,生成模型采用高质量的问答数据来训练序列到序列(sequence-to-sequence)模型。在训练过程中,对于每个问答对的问句和答案,其结束部分均会加上特殊的结束字符,例如“<eos>”。基于问答库建立生成模型的训练语料格式如表1所示。表1问答库建立生成模型的训练语料格式原始文本处理后文本问题不好意思,刚有事不好意思,刚有事<eos>答案亲,没事的亲,没事的<eos>在将问答库中的问句和答案在进行分词以后,放到模型中进行训练。基于问答库的生成模型的框架如图3所示,对问答库中问句(“不好意思,刚有事”)和答案(“亲,没事的”)处理后,得到文本“不好意思,刚有事<eos>亲,没事的<eos>”,经过训练后可以生成的答案为“亲,没事的<eos>”。一种可选的实施例中,可以利用自然语言分析技术来对问句和答案进行分词处理。通过上述实施例,可以实现基于问答库来建立生成模型的目的。在一种可选的实施例中,如果基于客服记录来建立生成模型,则上述服务器还可以用于从客服服务器中获取海量的客服记录,并对客服记录中的问句和问句的回复进行训练,得到生成模型;其中,生成模型包括问句和问句对应的答案,以及用于表示标识问句结束或答案结束的结束字符。具体地,客服记录(例如,京东人工客服与用户的聊天记录)可以为从客服服务器中获取到的海量的聊天记录。采用大量的客服记录来训练生成模型。一种可选的实施例中,可以引入三个特殊字符<q>”和“<a>”和“<eos>”,其中,“<q>”和“<a>”分别来表示用户问句和人工客服回复的开始,“<eos>”表示问句或者回复的结束。这样我们就可以把整个会话(包含多轮对话)放到模型中进行训练。基于客服记录建立生成模型的训练语料格式如表2所示。表2基于客服记录建立生成模型的训练语料格式原始文本处理后文本问题你好<q>你好<eos>答案亲你好<a>亲你好<eos>问题不好意思,刚有事<q>不好意思,刚有事<eos>答案亲,没事的<a>亲,没事的<eos>基于上述实施例,在将客服记录中的问句和答案在进行分词以后,放到模型中进行训练。基于客服记录的生成模型的框架如图4所示,其中,从客服记录中获取到的原始文本为:第一轮问句为“你好”,第一轮答案为“亲你好”;第二轮问句为“不好意思,刚有事”,第二轮答案为“亲,没事的”;经过处理后的文本为:“<q>你好<eos><a>亲你好<eos><q>不好意思,刚有事<eos><a>亲,没事的<eos>”;生成的答案文本为:第一轮答案为“a亲你好<eos>”,第二轮答案为“a亲,没事的<eos>”。需要说明的是,图4所示的例子只包含两轮用户和客服人员之间的对话。理论上,上述实施例的模型可以用于任意多轮次的对话。优选地,为了高效地训练模型,通常会限制对话轮数,例如只考虑10轮以内的会话,超过10轮的会话将进行截断。通过上述实施例,可以实现根据客服记录构造生成模型的目的。由于训练生成模型通常需要高质量的问答对,上述实施例中利用大量客服记录来训练生成模型,这种方法可以减轻构建高质量问答对的人力成本。在一种可选的实施例中,上述服务器还可以用于对当前输入的问题进行编码,得到编码结果,其中,编码结果包含了问题的向量数值和用于表示问题结束的结束字符的向量数值;基于生成模型对编码结果进行逐个字符的解码,直至读取到结束字符时结束,得到问题的第一答案。具体地,问答字符为基于问答库或客服记录得到的问答对的问句字符和答案字符;在获取到用户输入的问题(文本内容)后,对文本内容进行编码,得到包含了问句字符、问题的文本内容和结束字符的编码结果,基于生成模型对问题的编码结果进行解码,具体地,在生成模型中找到与该问题的文本内容对应的字符(包含了问句字符、问题的文本内容、结束字符、答案字符、答案文本内容、结束字符),将问题的文本内容后的结束字符后的内容提取出来,得到与该问题对应的第一答案。此处需要说明的是,在根据生成模型生成用户问题的第一答案的过程中,利用递归神经网络模型对输入的问题进行“编码”得到编码结果(用语义向量表示),再根据该编码结果来作为“解码”模块的输入,产出第一个回复的字符,之后把每次产出的回复字符作为输入来产出下一个回复字符,重复这个过程直到解码到一个结束字符为止。以图3为例,当用户问题为“不好意思,刚有事”,对该用户问题编码后得到的编码结果为“不好意思,刚有事<eos>”,基于图3所示的生成模型对该编码结果解码时,将表示问题结束的结束字符后面的字符“亲”作为回复的一个字符,之后,将该字符“亲”作为输入产出下一个字符为“,”,继续将字符“,”作为输入,产出下一个字符为“没事的”,将字符“没事的”作为输入后,下一个字符为“<eos>”,由于该字符为结束字符,则结束解码,并将解码出的所有字符结合作为该用户问题的答案,即“亲,没事的”。通过上述实施例,可以实现基于生成模型得到问题的答案的目的。在一种可选的实施例中,上述服务器还可以用于获取对话数据库,其中,对话数据库包括至少一条预存的问答对,问答对包括预存的问句和问句对应的预存答案;获取当前输入的问题与对话数据库中的每个问句的问题相似度;获取问题相似度超过第一阈值的至少一个问句;提取问题相似度超过第一阈值的至少一个问句所对应的预存答案,得到至少一个候选答案。具体地,上述对话数据库可以为预先配置的包含了多个问答对的问答库,其中,问答对包括预存的问句和问句对应的预存答案;在基于检索模型获取问题的至少一个候选答案的过程中,获取问答库中的多个问答对,将用户输入的问题与问答库中每个问句的问题比对,计算相似度,获取相似度超过第一阈值的至少一个问句,并获取这些问句对应的预存答案,从而得到该问题的至少一个候选答案。通过上述实施例,针对问答库可以覆盖的用户问题,可以给出较准确的备选答案。在一种可选的实施例中,上述服务器还可以用于基于第一答案计算每个候选答案的相似度,得到每个候选答案的置信度;比较每个候选答案的置信度,得到置信度最高的候选答案;根据置信度最高的候选答案确定问题的输出答案。具体地,由于基于检索模型从问答库中可以获取到与用户问题相近的多个问题的答案,这些答案不一定都可以作为用户问题的答案,因而,可以基于生成模型得到一个该用户问题的答案(即第一答案),并利用该第一答案计算与每个候选答案的相似度,从而得到每个候选答案的置信度,按照置信度的大小对每个候选答案进行排序,得到置信度最高的候选答案,根据置信度最高的候选答案确定针对该用户问题的输出答案。需要说明的是,针对用户输入的问题,由于基于生成模型生成的第一答案虽然准确率比较高,但是对于同一问题,每次生成的答案可能存在差异,回答的语气或方式等也可能生硬或者不礼貌,可控性较差,因而,可以在基于检索模型得到的多个候选答案中找出与第一答案语义最近的一个候选答案(预先存储在问答库中答案)输出,从而保证了通话质量。通过上述实施例,利用生成模型得到的第一答案来评估基于检索模型得到的多个候选答案,从而可以给出置信度最高且最合适的答案,提高了自动答复的准确性。在一种可选的实施例中,上述服务器还可以用于将置信度最高的候选答案的置信度与预定的第二阈值进行比对;如果置信度最高的候选答案的置信度大于或等于第二阈值,则确定置信度最高的候选答案为问题的输出答案;如果置信度最高的候选答案的置信度小于第二阈值,则将第一答案作为问题的输出答案。具体地,在得到置信度最高的候选答案后,判断该候选答案的置信度与第二阈值的大小,如果该置信度大于或等于该第二阈值,则将该候选答案作为该用户问题的输出答案,如果该置信度小于该第二阈值,则将该生成模型生成的第一答案作为该用户问题的输出答案。需要说明的是,由于基于检索的对话系统依托已有的问答库做出回复,对于问答库无法覆盖的用户问题,难以给出合理的回复,或者,基于检索模型给出的每个候选答案的置信度都比较低,此时检索模型的候选答案不能保证效果,基于上述实施例,可以将生成模型生成的答案作为输出结果,可以对检索模型起到很好的补充作用。通过上述实施例,可以满足多样化的用户问题的需求,针对问答库中不存在的问题也可以进行回答,并且在候选答案的置信度都较低的情况下,给一个较合适的答案,提高回答的准确性。在一种可选的实施例中,上述服务器还可以用于获取第一问答对和至少一个候选问答对,其中,第一问答对包括:问题和第一答案,候选问答对包括:问题以及对应的候选答案;基于第一问答对计算每个候选问答对的相似度,得到每个候选问答对的置信度;比较每个候选问答对的置信度,得到置信度最高的候选问答对;根据置信度最高的候选问答对确定问题的输出答案。具体地,第一问答对为用户输入的问题和基于生成模型为该问题生成的答案(即第一答案);第二问答对为用户输入的问题和基于检索模型得到的与该问题对应的至少一个问题的答案(即候选答案);在获取到第一问答对后至少一个候选问答对后,基于第一问答对计算每个候选问答对的相似度,得到每个候选问答对的置信度,按照置信度的大小对每个候选问答对排序,得到置信度最高的候选问答对,并根据置信度最高的候选问答对确定问题的输出答案。通过上述实施例,可以实现利用生成模型来评估基于检索模型得到的多个候选问答对,从而可以给出置信度最高且最合适问答对的答案,提高了自动答复的准确性。在一种可选的实施例中,上述服务器还可以用于将置信度最高的候选问答对的置信度与预定的第三阈值进行比对;如果置信度最高的候选问答对的置信度大于或等于第三阈值,则确定置信度最高的候选问答对中的候选答案为问题的输出答案;如果置信度最高的候选问答对的置信度小于第三阈值,则将第一问答对中的第一答案作为问题的输出答案。具体地,在得到置信度最高的候选问答对后,判断该候选问答对的置信度与第三阈值的大小,如果该置信度大于或等于该第三阈值,则将该候选问答对包含的答案作为该用户问题的输出答案,如果该置信度小于该第三阈值,则将该生成模型生成的第一问答对包含的答案作为该用户问题的输出答案。需要说明的是,对于问答库无法覆盖的用户问题,通常生成模型给出的每个候选问答对的置信度都比较低,此时检索模型的候选问答对的答案不能保证效果,基于上述实施例,可以将生成模型生成的第一问答对的答案作为输出结果,对检索模型起到很好的补充作用。通过上述实施例,可以满足多样化的用户问题的需求,针对问答库中不存在的问题也可以进行回答,并且在候选问答对的置信度都较低的情况下,给一个较合适的问答对的答案,提高回答的准确性。在本申请上述实施例中公开的方案中,提出一种融合了检索模型和生成模型的对话系统,对于用户问题,可以采用问答库中的答案,也可以生成新的答案(不同于问答库中的现有答案)。具体地,用生成模型对检索模型给出的候选答案打分,给出置信度,并且输出置信度最高的答案。如果最高的置信度低于阈值,则直接用生成模型的答案进行回复。训练生成模型通常需要大量高质量的问答语料,我们采用大量的客服记录来补充问答库,用以训练生成模型,减少问答库构建的人力成本。通过上述融合了检索模型和生成模型的对话系统,可以满足多样化的用户问题的需求,一方面,针对问答库中存在的问题,可以利用生成模型对检索模型的多个候选答案进行评估打分,给出一个置信度最高的候选答案;另一方面,针对问答库中不存在的问题也可以进行回答,即在每个候选答案的置信度都较低的情况下,给一个较合适的答案,提高回答的准确性。实施例2根据本发明实施例,还提供了一种基于问答系统的对话处理方法实施例,需要说明的是,在附图的流程图示出的步骤可以在诸如一组计算机可执行指令的计算机系统中执行,并且,虽然在流程图中示出了逻辑顺序,但是在某些情况下,可以以不同于此处的顺序执行所示出或描述的步骤。本实施例提供的基于问答系统的对话处理方法可以应用于利用自然语言与手机、计算机、机器人等智能设备进行交互的自动问答系统中。自动问答系统通过对大量无序信息进行有序和科学地整理,允许用户以自然语言的形式查询信息,通过对用户问题的理解,能够直接提交给用户准确、简洁的答案。与传统的搜索引擎方法比较,更加方便、快捷和高效。现有的问答系统大致可以分为两类:第一类为基于检索模型的对话系统,即给定一个问题,基于搜索技术,检索问答库中最相近的问题,并返回对应的答案;第二类是基于生成模型的对话系统,即给定一个问题,基于生成模型的技术,自动生成回答。常用的生成模型为序列到序列(sequencetosequence)模型。其中,基于检索模型的对话系统,依托已有的问答库做出回复。对于通用/开放领域的知识问答,可以通过维护大量通用/开放领域知识,使用检索的方式找出最匹配答案。其缺点是,依赖于问答库。对于问答库可覆盖的用户问题,效果不错;对于无法覆盖的用户问题,难以给出合理的回复。基于生成模型的对话系统,根据提问直接生成回复。采用序列到序列(sequencetosequence)模型,对输入的问题进行「编码」得到其语义向量表示,再根据该语义来「解码」生成回复。由于编码模型和解码模型已预先经过大规模问答数据的训练,因此具有编码语义、生成流畅表述的能力。生成模型能接受各种形式的自然语言输入,并依此生成相关且流畅的回复。其缺点是,需要大量高质量的问答对来训练。对于同一个问题,输出结果可能有差异,可控性较差,无法保证质量。由于针对给定的用户问题,检索模型可以给出一些相关问题和候选答案,生成模型可以用来评估用户问题和候选答案的相关性。结合检索模型和生成模型的上述优点,本发明提出了一种融合了检索模型和生成模型的对话处理方法,可以用于自助型智能客服。对于用户问题,可以采用问答库中的答案,也可以生成新的答案(不同于问答库中的现有答案)。优选地,用生成模型对检索模型给出的候选答案打分,给出置信度,并且输出置信度最高的答案。如果最高的置信度低于阈值,则直接用生成模型的答案进行回复。需要说明的是,本实施例中提供的基于问答系统的对话处理方法不局限于文字、语音等任何形式的提问,其反馈的回答也是不局限于文字、语音等形式;例如,如果将本实施例中提供的对话处理方法应用于各种电子商务或者网站的客服系统中,利用客服聊天软件与客户进行文字交互的过程中,基于本方法实施例,智能客服机器人(软件)可以为用户提出的任何文字形式的问题提供解答,并以文字的形式反馈答案;如果将本实施例中提供的对话处理方法应用于实体机器人(硬件)中,当用户语音的形式与实体机器人对话的过程中,基于本方法实施例,实体机器人可以针对其说的话(可能是问题,有可能是一些寒暄语),同样以语音的形式反馈相应的回答语,从而实现实体机器人与用户的智能会话功能。容易注意的是,上述交互的文字或语音不局限于中文、英文,可以是任何国家的语言,只要基于本实施例中提供的问答处理思想的对话处理方法,都属于本发明的保护的内容。在上述应用环境下,本申请提供了如图5所示的一种基于问答系统的对话处理方法。图5是根据本发明实施例的一种基于问答系统的对话处理方法流程图,包括如下步骤:步骤s502,接收当前输入的问题。具体地,在上述步骤中,上述问题可以为用户在使用产品的过程中向客服(例如,智能聊天机器人)提出的问题,一种可选的实施例中,该问题可以是用户通过手机、笔记本、平板电脑、计算机等智能终端设备在某个网站或交易平台上向客服或者商家咨询问题或者进行会话的过程中,在聊天窗口上输入的文字内容;另一种可选的实施例中,该问题可以是用户与实体机器人进行交互过程中的会话内容;通常情况下,用户在向对方(例如,智能聊天机器人)提出问题后,希望得到该问题的答案。在接收到用户输入的问题后,如果智能聊天机器人可以找到与该问题匹配的答案,则可以自动将该答案反馈给用户,从而实现自动问答。需要说明的是,由于人是带有感情且复杂的动物,人的语言也是比较随性自然的,表达同一个意思的语言形式可能有很多种,而且每个人表达的方式都存在差异。因而,当用户利用自然语言与机器通信的过程中,用户输入的问题是多样化的,这对于机器来说,能够理解用户输入的问题所表达的含义已经是很困难的一件事,如果还要为每个多样化的问题都设置一个准确无误的答案,更是不现实的。现有自动问答系统,一种是通过对用户问题的分析,从问答库中检索与用户问题比较相近的答案,其中,问答库中的问题和答案是一一对应的,如果用户当前输入的问题不在问答库中,则无法对用户的问题进行反馈,出现错误或者不准确的结果。还有一种问答系统是通过对大量问答对进行训练,得到一个答案生成模型,当用户输入问题后,根据该生成模型输出一个答案,这种方案可控性差,无法预料到会输出什么样的答案。作为一种可选的实施例,上述问题可以为用户在各种交互网站上与智能聊天机器人的会话窗口中输入的文字内容,例如,用户在京东网站上网购的过程中,向jimi智能机器人咨询的各种问题,例如,“发什么快递”、“这个商品包邮吗”等等。步骤s504,基于检索模型获取问题的至少一个候选答案,并基于生成模型获取问题的第一答案,其中,检索模型为搜索技术获取结果的模型,生成模型为基于训练模型获取结果的模型。具体地,在上述步骤中,上述候选答案可以为从问答库中查找到的与用户问题相近的一个或多个问题对应的答案,其中,问答库可以为预先设置的包含的多个问答对的资源库,每个问题与其匹配的答案一一对应。智能机器人在接收到用户输入的问题后,基于检索模型在问答库中查找与该问题相近的一个或多个问题,并获取这些问题的答案;同时,智能机器人基于预设的生成模型,根据用户当前输入的问题生成一个答案,即上述第一答案。需要说明的是,上述检索模型是基于搜索技术获取结果数据的一个算法模型,上述生成模型为基于训练的方式得到结果数据的一个算法模型,通常情况下,这个算法模型是对大量问答对进行训练得到的。步骤s506,至少根据第一答案和至少一个候选答案进行评估处理,生成问题的输出答案。具体地,在上述步骤中,在根据生成模型得到问题的第一答案后,基于该第一答案,对基于检索模型获取到的多个候选答案进行评估,并根据评估结果,生成与该问题最匹配的答案。需要说明的是,在根据第一答案对多个候选答案进行评估的过程中,作为一种可选的实施方式,可以计算每个候选答案的置信度,并按照置信度的值进行排序,将置信度最高的答案作为用户问题的答案并输出。一种可选的实施例中,以图2为例来说明上述步骤s502至s506公开的方案,假如用户输入的问题为q,可以基于预先配置的检索模型产出多个候选答案,具体地,可以基于搜索的技术,评估用户问题q和问答库中所有问题的相似性,从问答库中找到与该问题相近的k个问题:q1,q2,…,qk,以及与这k个问题分别对应的答案:r1,r2,…,rk。在用户输入问题q后,还可以基于预先配置的生成模型为该问题生成一个答案r′(即上述第一答案)。基于第一答案r′对候选答案r1,r2,…,rk进行评估处理,得到每个候选答案的置信度,并按照置信度对候选答案进行排序,得到置信度最高的候选答案及其置信度maxo(ri),假设给定阈值t,并判断该最大置信度与预设阈值(t)的大小,如果o(ri)≥t,则输出答案ri,作为该问题q的输出答案;否则用生成模型生成该问题的答案(即上述第一答案r′),然后将这个答案r′输出,作为该问题q的输出答案。此处需要说明的是,在基于第一答案r′对候选答案r1,r2,…,rk进行评估处理的过程中,可以通过如下三种方式中的任意一种方式来计算每个候选答案的置信度:(1)计算第一答案和候选答案的相似度,并将这个相似度作为候选答案的置信度;(2)直接利用生成模型对每个候选问答对打分,输入是q-ri,输出是o(ri),以此类推,每个候选答案都得到一个分数作为候选答案的置信度;(3)获取第一答案对,和多个候选答案对,计算第一答案对和每个候选答案对的相似度,将这个相似度作为候选答案的置信度。容易注意的是,本发明实施例中,利用通过生成模型生成的答案对通过检索模型得到的多个候选答案进行评估的方式不限于上述三种方式,只要是融合了检索模型和生成模型的对话方式都属于本发明保护的范围。此处还需要说明的是,本申请实施例中的生成模型不仅可以用来生成用户问题的答案(第一答案),将该第一答案作为评估多个候选答案的标准;一种可选的实施方式中,该生成模型可以直接用于对每个候选答案进行打分,输入用户问题和每个候选答案,输出每个候选答案的置信度;与预定阈值进行比对,如果候选答案的置信度大于或等于预定阈值,将该候选答案作为用户问题的输出答案;否则,将生成模型生成的第一答案作为问题的输出答案。基于上述实施例,利用生成模型生成用户问题的回答的过程中,生成模型首先会对用户输入的问题进行编码,然后解码出回复。解码时,每次解码一个字,直到一个特殊的结束字符为止,整个过程结束。由上可知,在本申请上述实施例中,采用检索模型与生成模型融合的方式,在接收到用户提出的问题后,基于检索模型从问答库中检索到与该问题匹配的多个问题,以及这些问题对应的答案,同时利用生成模型根据用户的问题生成第一答案,利用第一答案对从问答库中获取到的多个答案进行评估,并根据评估结果得到该问题的输出答案,以便反馈给用户。容易注意的是,在利用第一答案对从问答库中获取到的多个答案进行评估,一种可选的实施方式中,可以将第一答案与从问答库中获取到的多个答案进行比较来对多个候选答案评估,另一种可选的实施方式,可以利用第一答案与用户问题组成的答案对与多个候选答案与用户问题组成的多个答案对进行比较来对多个候选答案评估。通过上述实施例公开的方案,达到了可以针对用户输入的任何问题都可以生成准确的回答的目的,从而实现了扩大问题覆盖面、提高答复准确率的技术效果,进而解决了现有的自动问答系统准确度低、可控性差的技术问题。在基于生成模型获取问题的第一答案之前,首先要建立生成模型,作为一种可选的实施例,可以基于问答库来建立生成模型,具体可以通过如下步骤来实现:步骤s503a,获取对话数据库,并对对话数据库中的问答对进行训练,得到生成模型,其中,问答对包括预存的问句和问句对应的预存答案;其中,生成模型包括问句和问句对应的答案,以及用于表示标识问句结束或答案结束的结束字符。具体地,在上述步骤中,上述对话数据库可以为预先配置的包含了多个问答对的问答库,其中,问答对包括预存的问句和问句对应的预存答案;在基于生成模型生成用户问题的第一答案之前,可以基于问答库来构造生成模型,一般而言,生成模型采用高质量的问答数据来训练序列到序列(sequence-to-sequence)模型。在训练过程中,对于每个问答对的问句和答案,其结束部分均会加上特殊的结束字符,例如“<eos>”。基于问答库建立生成模型的训练语料格式如表1所示。表1问答库建立生成模型的训练语料格式原始文本处理后文本问题不好意思,刚有事不好意思,刚有事<eos>答案亲,没事的亲,没事的<eos>在将问答库中的问句和答案在进行分词以后,放到模型中进行训练。基于问答库的生成模型的框架如图3所示,对问答库中问句(“不好意思,刚有事”)和答案(“亲,没事的”)处理后,得到文本“不好意思,刚有事<eos>亲,没事的<eos>”,经过训练后可以生成的答案为“亲,没事的<eos>”。一种可选的实施例中,可以利用自然语言分析技术来对问句和答案进行分词处理。通过上述实施例,可以实现基于问答库来建立生成模型的目的。作为另一种可选的实施例,在基于生成模型获取问题的第一答案之前,可以基于客服记录来建立生成模型,具体可以通过如下步骤来实现:步骤s503b,从客服服务器中获取海量的客服记录,并对客服记录中的问句和问句的回复进行训练,得到生成模型;其中,生成模型包括问句和问句对应的答案,以及用于表示标识问句的结束或答案结束的结束字符。具体地,在上述步骤中,客服记录(例如,京东人工客服与用户的聊天记录)可以为从客服服务器中获取到的海量的聊天记录。采用大量的客服记录来训练生成模型。一种可选的实施例中,可以引入三个特殊字符<q>”和“<a>”和“<eos>”,其中,“<q>”和“<a>”分别来表示用户问句和人工客服回复的开始,“<eos>”表示问句或者回复的结束。这样我们就可以把整个会话(包含多轮对话)放到模型中进行训练。基于客服记录建立生成模型的训练语料格式如表2所示。表2基于客服记录建立生成模型的训练语料格式原始文本处理后文本问题你好<q>你好<eos>答案亲你好<a>亲你好<eos>问题不好意思,刚有事<q>不好意思,刚有事<eos>答案亲,没事的<a>亲,没事的<eos>基于上述实施例,在将客服记录中的问句和答案在进行分词以后,放到模型中进行训练。基于客服记录的生成模型的框架如图4所示,其中,从客服记录中获取到的原始文本为:第一轮问句为“你好”,第一轮答案为“亲你好”;第二轮问句为“不好意思,刚有事”,第二轮答案为“亲,没事的”;经过处理后的文本为:“<q>你好<eos><a>亲你好<eos><q>不好意思,刚有事<eos><a>亲,没事的<eos>”;生成的答案文本为:第一轮答案为“a亲你好<eos>”,第二轮答案为“a亲,没事的<eos>”。需要说明的是,图4所示的例子只包含两轮用户和客服人员之间的对话。理论上,上述实施例的模型可以用于任意多轮次的对话。优选地,为了高效地训练模型,通常会限制对话轮数,例如只考虑10轮以内的会话,超过10轮的会话将进行截断。通过上述实施例,可以实现根据客服记录构造生成模型的目的。由于训练生成模型通常需要高质量的问答对,上述实施例中利用大量客服记录来训练生成模型,这种方法可以减轻构建高质量问答对的人力成本。在一种可选的实施例中,如图6所示,基于生成模型获取问题的第一答案,可以包括如下步骤:步骤s602,基于生成模型对当前输入的问题进行编码,得到编码结果,其中,编码结果包含了问题的向量数值和用于表示问题结束的结束字符的向量数值;步骤s604,基于生成模型对编码结果进行逐个字符的解码,直至读取到结束字符时结束,得到问题的第一答案。具体地,在上述步骤中,问答字符为基于问答库或客服记录得到的问答对的问句字符和答案字符;在获取到用户输入的问题(文本内容)后,对文本内容进行编码,得到包含了问句字符、问题的文本内容和用于表示问题结束的结束字符的编码结果,基于生成模型对问题的编码结果进行解码,具体地,在生成模型中找到与该问题的文本内容对应的字符(包含了问句字符、问题的文本内容、结束字符、答案字符、答案文本内容、结束字符),将问题的文本内容后的结束字符后的内容提取出来,得到与该问题对应的第一答案。此处需要说明的是,在根据生成模型生成用户问题的第一答案的过程中,利用递归神经网络模型模型对输入的问题进行“编码”得到编码结果(用语义向量表示),再根据该编码结果来作为“解码”模块的输入,产出下一个回复的字符,之后把每次产出的回复字符作为输入来产出下一个回复字符,重复这个过程直到解码到一个结束字符为止。以图3为例,当用户问题为“不好意思,刚有事”,对该用户问题编码后得到的编码结果为“不好意思,刚有事<eos>”,基于图3所示的生成模型对该编码结果解码时,将表示问题结束的结束字符后面的字符“亲”作为回复的一个字符,之后,将该字符“亲”作为输入产出下一个字符为“,”,继续将字符“,”作为输入,产出下一个字符为“没事的”,将字符“没事的”作为输入后,下一个字符为“<eos>”,由于该字符为结束字符,则结束解码,并将解码出的所有字符作为该用户问题的答案,即“亲,没事的”。容易注意的是,对于一个输入的句子,进行向量化表示的方法可以有很多种,比方说可以用生成模型来对输入的问题进行编码,也可以用传统的词袋模型表示(即用一个词表长度的向量表示,其中每个位置的值为该词在输入句子里的出现频次)。本申请实施例中对问题或答案进行向量化的方式不限于上述任意一种方式,只要可以将问题或答案进行向量化,则均在本发明保护的范围内。通过上述实施例,可以实现基于生成模型得到问题的答案的目的。在一种可选的实施例中,如图7所示,基于检索模型获取问题的至少一个候选答案,可以包括如下步骤:步骤s702,获取对话数据库,其中,对话数据库包括至少一条预存的问答对,问答对包括预存的问句和问句对应的预存答案;步骤s704,获取当前输入的问题与对话数据库中的每个问句的问题相似度;步骤s706,获取问题相似度超过第一阈值的至少一个问句;步骤s708,提取问题相似度超过第一阈值的至少一个问句所对应的预存答案,得到至少一个候选答案。具体地,在上述步骤中,上述对话数据库可以为预先配置的包含了多个问答对的问答库,其中,问答对包括预存的问句和问句对应的预存答案;上述第一阈值是指搜索召回的一个预设阈值,即召回阈值,可以针对不同应用环境设置为不同的值;在基于检索模型获取问题的至少一个候选答案的过程中,获取欧问答库中的多个问答对,将用户输入的问题与问答库中每个问句的问题比对,计算相似度,获取相似度超过第一阈值的至少一个问句,并获取这些问句对应的预存答案,从而得到该问题的至少一个候选答案。通过上述实施例,针对问答库可以覆盖的用户问题,可以给出较准确的备选答案。在一种可选的实施例中,如图8所示,至少根据第一答案和至少一个候选答案进行评估处理,生成问题的输出答案,包括如下步骤:步骤s802,基于第一答案计算每个候选答案的相似度,得到每个候选答案的置信度;步骤s804,比较每个候选答案的置信度,得到置信度最高的候选答案;步骤s806,根据置信度最高的候选答案确定问题的输出答案。具体地,在上述步骤中,由于基于检索模型从问答库中可以获取到与用户问题相近的多个问题的答案,这些答案不一定都可以作为用户问题的答案,因而,可以基于生成模型得到一个该用户问题的答案(即第一答案),并利用该第一答案计算每个候选答案与第一答案的相似度,从而得到每个候选答案的置信度,按照置信度的大小对每个候选答案进行排序,得到置信度最高的候选答案,根据置信度最高的候选答案确定该用户问题的输出答案。作为一种可选的实施方案,在基于第一答案计算每个候选答案置信度的过程中,可以首先将第一答案和每个候选答案进行向量化,再计算每个候选答案与第一答案的距离,将该距离作为每个候选答案与第一答案的相似度,具体地,假设将第一答案进行向量化后,得到向量v,然后对每个候选答案也进行向量化表示,对于候选答案i,同样可以得到向量vi。最后,每个候选答案i的置信度为它的向量和第一答案向量的余弦距离,即cosine(v,vi),将该距离作为第一答案与每个候选答案的相似度,也即每个候选答案的置信度。需要说明的是,本发明实施例中,基于第一答案计算每个候选答案的置信度的方法不限于上述方式,还可以是其他计算每个候选答案与第一答案相似度的方式,只要可以表征每个候选答案与第一答案的相似度,则均属于本发明保护的范围,例如,在将每个候选答案和第一答案向量化后,还可以计算每个候选答案的向量与第一答案的向量的欧几里德距离、曼哈顿距离、spearman秩相关系数、tanimoto系数等。通过上述实施例,利用生成模型得到的第一答案来评估基于检索模型得到的多个候选答案,从而可以给出置信度最高且最合适的答案,提高了自动答复的准确性。在一种可选的实施例中,如图9所示,根据置信度最高的候选答案确定问题的输出答案,包括如下步骤:步骤s902,将置信度最高的候选答案的置信度与预定的第二阈值进行比对;步骤s904,如果置信度最高的候选答案的置信度大于或等于第二阈值,则确定置信度最高的候选答案为问题的输出答案;步骤s906,如果置信度最高的候选答案的置信度小于第二阈值,则将第一答案作为问题的输出答案。具体地,在上述步骤中,上述第二阈值可以为预设的一个置信度的值,即置信阈值,可以针对不同应用环境设置为不同的值;在得到置信度最高的候选答案后,判断该候选答案的置信度与第二阈值的大小,如果该置信度大于或等于该第二阈值,则将该候选答案作为该用户问题的输出答案,如果该置信度小于该第二阈值,则将该生成模型生成的第一答案作为该用户问题的输出答案。需要说明的是,对于问答库无法覆盖的用户问题,通常生成模型给出的每个候选答案的置信度都比较低,此时检索模型的候选答案不能保证效果,基于上述实施例,可以将生成模型生成的答案作为输出结果,对检索模型起到很好的补充作用。通过上述实施例,可以满足多样化的用户问题的需求,针对问答库中不存在的问题也可以进行回答,并且在候选答案的置信度都较低的情况下,给一个较合适的答案,提高回答的准确性。在一种可选的实施例中,如图10所示,至少根据第一答案和至少一个候选答案进行评估处理,生成问题的输出答案,包括:步骤s1002,获取第一问答对和至少一个候选问答对,其中,第一问答对包括:问题和第一答案,候选问答对包括:问题以及对应的候选答案;步骤s1004,基于第一问答对计算每个候选问答对的相似度,得到每个候选问答对的置信度;步骤s1006,比较每个候选问答对的置信度,得到置信度最高的候选问答对;步骤s1008,根据置信度最高的候选问答对确定问题的输出答案。具体地,在上述步骤中,第一问答对为由用户输入的问题和基于生成模型为该问题生成的答案(即第一答案)组成的问答对;第二问答对为由用户输入的问题和基于检索模型得到的与该问题对应的至少一个问题的答案(即候选答案)组成的问答对;在获取到第一问答对后,基于第一问答对计算每个候选问答对的相似度,得到每个候选问答对的置信度,按照置信度的大小对每个候选问答对排序,得到置信度最高的候选问答对,并根据置信度最高的候选问答对确定问题的输出答案。作为一种可选的实施方案,在基于第一问答对计算每个候选问答对的置信度的过程中,首先利用生成模型对第一问答对(由第一答案和用户问题构成的问答对)打分,算出解码出的第一答案中的所有字符的平均概率p,同样对每个候选问答对(由候选答案分别与用户问题构成的问答对)打分,对于每个候选问答对i,得到每个候选问答对的概率pi。最后,每个候选问答对i的置信度为pi/p。需要说明的是,本发明实施例中,基于第一问答对计算每个候选问答对的置信度的方法不限于上述实施方案中提到的方式,还可以将第一问答对和多个候选问答对构成二维向量,计算每个候选问答对的二维向量与第一问答对的二维向量的欧几里德距离、曼哈顿距离等,只要可以表征每个候选问答对与第一问答对的相似度,则均属于本发明保护的范围。通过上述实施例,可以实现利用生成模型来评估基于检索模型得到的多个候选问答对,从而可以给出置信度最高且最合适问答对的答案,提高了自动答复的准确性。在一种可选的实施例中,如图11所示,根据置信度最高的候选问答对确定问题的输出答案,包括:步骤s112,将置信度最高的候选问答对的置信度与预定的第三阈值进行比对;步骤s114,如果置信度最高的候选问答对的置信度大于或等于第三阈值,则确定置信度最高的候选问答对中的候选答案为问题的输出答案;步骤s116,如果置信度最高的候选问答对的置信度小于第三阈值,则将第一问答对中的第一答案作为问题的输出答案。具体地,在上述步骤中,上述第三阈值也是预设的一个置信度的值,即置信阈值,可以针对不同应用环境设置为不同的值,在得到置信度最高的候选问答对后,判断该候选问答对的置信度与第三阈值的大小,如果该置信度大于或等于该第三阈值,则将该候选问答对包含的答案作为该用户问题的输出答案,如果该置信度小于该第三阈值,则将该生成模型生成的第一问答对包含的答案作为该用户问题的输出答案。需要说明的是,对于问答库无法覆盖的用户问题,通常生成模型给出的每个候选问答对的置信度都比较低,此时检索模型的候选问答对的答案不能保证效果,基于上述实施例,可以将生成模型生成的第一问答对的答案作为输出结果,对检索模型起到很好的补充作用。通过上述实施例,可以满足多样化的用户问题的需求,针对问答库中不存在的问题也可以进行回答,并且在候选问答对的置信度都较低的情况下,给一个较合适的问答对的答案,提高回答的准确性。需要说明的是,对于前述的各方法实施例,为了简单描述,故将其都表述为一系列的动作组合,但是本领域技术人员应该知悉,本发明并不受所描述的动作顺序的限制,因为依据本发明,某些步骤可以采用其他顺序或者同时进行。其次,本领域技术人员也应该知悉,说明书中所描述的实施例均属于优选实施例,所涉及的动作和模块并不一定是本发明所必须的。通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到根据上述实施例的基于问答系统的对话处理方法可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质(如rom/ram、磁碟、光盘)中,包括若干指令用以使得一台终端设备(可以是手机,计算机,服务器,或者网络设备等)执行本发明各个实施例所述的方法。实施例3根据本发明实施例,还提供了一种移动设备实施例,图12是根据本发明实施例的一种移动设备示意图,如图12所示,该移动设备包括:语音接收装置121、存储器123和处理器125。其中,语音接收装置121,用于接收当前输入的问题;存储器123,用于存储检索模型和生成模型,其中,检索模型为基于搜索技术获取结果的模型,生成模型为基于训练模型获取结果的模型;处理器125,用于基于检索模型获取问题的至少一个候选答案,并基于生成模型获取问题的第一答案,至少根据第一答案和至少一个候选答案进行评估处理,生成问题的输出答案。具体地,上述移动设备可以为能够访问互联网的计算机、笔记本电脑、平板电脑、手机等智能设备;上述语音接收装置可以为手机、笔记本电脑、平板电脑上的麦克风,对于台式机电脑,上述语音接收装置可以为外置麦克风设备;该语音接收装置接收到用户输入的语音后,将语音转换为相应的文字内容,基于上述检索模型和生成模型生成相应的回答,可以以文字或语音的方式输出。上述候选答案可以为从问答库中查找到的与用户问题相近的一个或多个问题对应的答案,其中,问答库可以为预先设置的包含的多个问答对的资源库,每个问题与其匹配的答案一一对应。移动设备在接收到用户输入的问题后,基于检索模型在问答库中查找与该问题相近的一个或多个问题,并获取这些问题的答案;同时,基于预设的生成模型,根据用户当前输入的问题生成一个答案,即上述第一答案。在根据生成模型得到问题的第一答案后,基于该第一答案,对基于检索模型获取到的多个候选答案进行评估,并根据评估结果,生成与该问题最匹配的答案。需要说明的是,上述检索模型是基于搜索技术获取结果数据的一个算法模型,上述生成模型为基于训练的方式得到结果数据的一个算法模型,通常情况下,这个算法模型是对大量问答对进行训练得到的。由上可知,在本申请上述实施例中,采用检索模型与生成模型融合的方式,在接收到用户提出的问题后,基于检索模型从问答库中检索到与该问题匹配的多个问题,以及这些问题对应的答案,同时利用生成模型根据用户的问题生成第一答案,利用第一答案对从问答库中获取到的多个答案进行评估,并根据评估结果得到该问题的输出答案,以便反馈给用户。容易注意的是,在利用第一答案对从问答库中获取到的多个答案进行评估,一种可选的实施方式中,可以将第一答案与从问答库中获取到的多个答案进行比较来对多个候选答案评估,另一种可选的实施方式,可以利用第一答案与用户问题组成的答案对与多个候选答案与用户问题组成的多个答案对进行比较来对多个候选答案评估。通过上述实施例公开的方案,达到了可以针对用户输入的任何问题都可以生成准确的回答的目的,从而实现了扩大问题覆盖面、提高答复准确率的技术效果,进而解决了现有的自动问答系统准确度低、可控性差的技术问题。在一种可选的实施例中,上述处理器还可以用于获取对话数据库,并对对话数据库中的问答对进行训练,得到生成模型,其中,问答对包括预存的问句和问句对应的预存答案;其中,生成模型包括问句和问句对应的答案,以及用于表示标识问句结束或答案结束的结束字符。在一种可选的实施例中,上述服务器还可以用于从客服服务器中获取海量的客服记录,并对客服记录中的问句和问句的回复进行训练,得到生成模型;其中,生成模型包括问句和问句对应的答案,以及用于表示标识问句结束或答案结束的结束字符。在一种可选的实施例中,上述处理器还可以用于对当前输入的问题进行编码,得到编码结果,其中,编码结果包含了问题的向量数值和用于表示问题结束的结束字符的向量数值;基于生成模型对编码结果进行逐个字符的解码,直至读取到结束字符时结束,得到问题的第一答案。在一种可选的实施例中,上述处理器还可以用于获取对话数据库,其中,对话数据库包括至少一条预存的问答对,问答对包括预存的问句和问句对应的预存答案;获取当前输入的问题与对话数据库中的每个问句的问题相似度;获取问题相似度超过第一阈值的至少一个问句;提取问题相似度超过第一阈值的至少一个问句所对应的预存答案,得到至少一个候选答案。在一种可选的实施例中,上述处理器还可以用于基于第一答案计算每个候选答案的相似度,得到每个候选答案的置信度;比较每个候选答案的置信度,得到置信度最高的候选答案;根据置信度最高的候选答案确定问题的输出答案。在一种可选的实施例中,上述处理器还可以用于将置信度最高的候选答案的置信度与预定的第二阈值进行比对;如果置信度最高的候选答案的置信度大于或等于第二阈值,则确定置信度最高的候选答案为问题的输出答案;如果置信度最高的候选答案的置信度小于第二阈值,则将第一答案作为问题的输出答案。在一种可选的实施例中,上述处理器还可以用于获取第一问答对和至少一个候选问答对,其中,第一问答对包括:问题和第一答案,候选问答对包括:问题以及对应的候选答案;基于第一问答对计算每个候选问答对的相似度,得到每个候选问答对的置信度;比较每个候选问答对的置信度,得到置信度最高的候选问答对;根据置信度最高的候选问答对确定问题的输出答案。在一种可选的实施例中,上述处理器还可以用于将置信度最高的候选问答对的置信度与预定的第三阈值进行比对;如果置信度最高的候选问答对的置信度大于或等于第三阈值,则确定置信度最高的候选问答对中的候选答案为问题的输出答案;如果置信度最高的候选问答对的置信度小于第三阈值,则将第一问答对中的第一答案作为问题的输出答案。实施例4根据本发明实施例,还提供了一种用于实施上述基于问答系统的对话处理方法的装置实施例,如图13所示,该装置包括:接收模块131、第一获取模块133和生成模块135。其中,接收模块131,用于接收当前输入的问题;第一获取模块133,用于基于检索模型获取问题的至少一个候选答案,并基于生成模型获取问题的第一答案,其中,检索模型为基于搜索技术获取结果的模型,生成模型为基于训练模型获取结果的模型;生成模块135,用于至少根据第一答案和至少一个候选答案进行评估处理,生成问题的输出答案。此处需要说明的是,接收模块131、第一获取模块133和生成模块135可以对应于实施例2中的步骤s502至步骤s506,三个模块与对应的步骤所实现的实例和应用场景相同,但不限于上述实施例2所公开的内容。由上可知,在本申请上述实施例中,采用检索模型与生成模型融合的方式,在接收到用户提出的问题后,基于检索模型从问答库中检索到与该问题匹配的多个问题,以及这些问题对应的答案,同时利用生成模型根据用户的问题生成第一答案,利用第一答案对从问答库中获取到的多个答案进行评估,并根据评估结果得到该问题的输出答案,以便反馈给用户。容易注意的是,在利用第一答案对从问答库中获取到的多个答案进行评估,一种可选的实施方式中,可以将第一答案与从问答库中获取到的多个答案进行比较来对多个候选答案评估,另一种可选的实施方式,可以利用第一答案与用户问题组成的答案对与多个候选答案与用户问题组成的多个答案对进行比较来对多个候选答案评估。通过上述实施例公开的方案,达到了可以针对用户输入的任何问题都可以生成准确的回答的目的,从而实现了扩大问题覆盖面、提高答复准确率的技术效果,进而解决了现有的自动问答系统准确度低、可控性差的技术问题。在一种可选的实施例中,如图13所示,上述装置还包括:第一处理模块,用于获取对话数据库,并对对话数据库中的问答对进行训练,得到生成模型,其中,问答对包括预存的问句和问句对应的预存答案;其中,生成模型包括问句和问句对应的答案,以及用于表示标识问句结束或答案结束的结束字符。此处需要说明的是,第一处理模块可以对应于实施例2中的步骤s503a,该模块与对应的步骤所实现的实例和应用场景相同,但不限于上述实施例2所公开的内容。在一种可选的实施例中,如图13所示,上述装置还包括:第二处理模块,用于从客服服务器中获取海量的客服记录,并对客服记录中的问句和问句的回复进行训练,得到生成模型;其中,生成模型包括问句和问句对应的答案,以及用于表示标识问句的结束或答案结束的结束字符。此处需要说明的是,第二处理模块可以对应于实施例2中的步骤s503b,该模块与对应的步骤所实现的实例和应用场景相同,但不限于上述实施例2所公开的内容。在一种可选的实施例中,如图13所示,上述第一获取模块133还包括:编码模块,用于对当前输入的问题进行编码,得到编码结果,其中,编码结果包含了问题的向量数值和用于表示问题结束的结束字符的向量数值;解码模块,用于基于生成模型对编码结果进行逐个字符的解码,直至读取到结束字符时结束,得到问题的第一答案。此处需要说明的是,编码模块和解码模块可以对应于实施例2中的步骤s602至步骤s604,两个模块与对应的步骤所实现的实例和应用场景相同,但不限于上述实施例2所公开的内容。在一种可选的实施例中,如图13所示,上述第一获取模块133包括:第二获取模块,用于获取对话数据库,其中,对话数据库包括至少一条预存的问答对,问答对包括预存的问句和问句对应的预存答案;第三获取模块,用于获取当前输入的问题与对话数据库中的每个问句的问题相似度;第四获取模块,用于获取问题相似度超过第一阈值的至少一个问句;提取模块,用于提取问题相似度超过第一阈值的至少一个问句所对应的预存答案,得到至少一个候选答案。此处需要说明的是,第二获取模块、第三获取模块、第四获取模块和提取模块可以对应于实施例2中的步骤s702至步骤s708,四个模块与对应的步骤所实现的实例和应用场景相同,但不限于上述实施例2所公开的内容。在一种可选的实施例中,如图13所示,上述生成模块135包括:第一计算模块,用于基于第一答案计算每个候选答案的相似度,得到每个候选答案的置信度;第一比较模块,用于比较每个候选答案的置信度,得到置信度最高的候选答案;第一确定模块,用于根据置信度最高的候选答案确定问题的输出答案。此处需要说明的是,第一计算模块、第一比较模块和第一确定模块可以对应于实施例2中的步骤s802至步骤s806,三个模块与对应的步骤所实现的实例和应用场景相同,但不限于上述实施例2所公开的内容。在一种可选的实施例中,如图13所示,上述第一确定模块包括:第一比对模块,用于将置信度最高的候选答案的置信度与预定的第二阈值进行比对;第一执行模块,用于如果置信度最高的候选答案的置信度大于或等于第二阈值,则确定置信度最高的候选答案为问题的输出答案;第二执行模块,用于如果置信度最高的候选答案的置信度小于第二阈值,则将第一答案作为问题的输出答案。此处需要说明的是,第一比对模块、第一执行模块和第二执行模块可以对应于实施例2中的步骤s902至步骤s906,三个模块与对应的步骤所实现的实例和应用场景相同,但不限于上述实施例2所公开的内容。在一种可选的实施例中,如图14所示,上述生成模块135包括:第五获取模块,用于获取第一问答对和至少一个候选问答对,其中,第一问答对包括:问题和第一答案,候选问答对包括:问题以及对应的候选答案;第二计算模块,用于基于第一问答对计算每个候选问答对的相似度,得到每个候选问答对的置信度;第二比较模块,用于比较每个候选问答对的置信度,得到置信度最高的候选问答对;第二确定模块,用于根据置信度最高的候选问答对确定问题的输出答案。此处需要说明的是,第五获取模块、第二计算模块、第二比较模块和第二确定模块可以对应于实施例2中的步骤s1002至步骤s1008,四个模块与对应的步骤所实现的实例和应用场景相同,但不限于上述实施例2所公开的内容。在一种可选的实施例中,如图14所示,上述第二确定模块包括:第二比对模块,用于将置信度最高的候选问答对的置信度与预定的第三阈值进行比对;第三执行模块,用于如果置信度最高的候选问答对的置信度大于或等于第三阈值,则确定置信度最高的候选问答对中的候选答案为问题的输出答案;第四执行模块,用于如果置信度最高的候选问答对的置信度小于第三阈值,则将第一问答对中的第一答案作为问题的输出答案。此处需要说明的是,第二比对模块、第三执行模块和第四执行模块可以对应于实施例2中的步骤s112至步骤s116,三个模块与对应的步骤所实现的实例和应用场景相同,但不限于上述实施例2所公开的内容。实施例5本发明的实施例可以提供一种计算机终端,该计算机终端可以是计算机终端群中的任意一个计算机终端设备。可选地,在本实施例中,上述计算机终端也可以替换为移动终端等终端设备。可选地,在本实施例中,上述计算机终端可以位于计算机网络的多个网络设备中的至少一个访问设备。图15示出了一种计算机终端的硬件结构框图。如图15所示,计算机终端15可以包括一个或多个(图中采用152a、152b,……,152n来示出)处理器152(处理器152可以包括但不限于微处理器mcu或可编程逻辑器件fpga等的处理装置)、用于存储数据的存储器154、以及用于通信功能的传输装置156。除此以外,还可以包括:显示器、输入/输出接口(i/o接口)、通用串行总线(usb)端口(可以作为i/o接口的端口中的一个端口被包括)、网络接口、电源和/或相机。本领域普通技术人员可以理解,图15所示的结构仅为示意,其并不对上述电子装置的结构造成限定。例如,计算机终端15还可包括比图15中所示更多或者更少的组件,或者具有与图15所示不同的配置。应当注意到的是上述一个或多个处理器152和/或其他数据处理电路在本文中通常可以被称为“数据处理电路”。该数据处理电路可以全部或部分的体现为软件、硬件、固件或其他任意组合。此外,数据处理电路可为单个独立的处理模块,或全部或部分的结合到计算机终端15中的其他元件中的任意一个内。如本申请实施例中所涉及到的,该数据处理电路作为一种处理器控制(例如与接口连接的可变电阻终端路径的选择)。处理器152可以通过传输装置调用存储器存储的信息及应用程序,以执行下述步骤:获取密钥的滑窗序列,其中,滑窗序列包括:对密钥进行滑窗处理后得到的多个滑窗;对滑窗序列中的至少一个滑窗进行加扰处理,得到加扰后的滑窗序列;遍历加扰后的滑窗序列,使用蒙哥马利模乘器对加扰后的滑窗序列进行后处理。存储器154可用于存储应用软件的软件程序以及模块,如本发明实施例中的密钥的处理方法对应的程序指令/数据存储装置,处理器152通过运行存储在存储器154内的软件程序以及模块,从而执行各种功能应用以及数据处理,即实现上述的应用程序的密钥的处理方法。存储器154可包括高速随机存储器,还可包括非易失性存储器,如一个或者多个磁性存储装置、闪存、或者其他非易失性固态存储器。在一些实例中,存储器154可进一步包括相对于处理器152远程设置的存储器,这些远程存储器可以通过网络连接至计算机终端15。上述网络的实例包括但不限于互联网、企业内部网、局域网、移动通信网及其组合。传输装置156用于经由一个网络接收或者发送数据。上述的网络具体实例可包括计算机终端15的通信供应商提供的无线网络。在一个实例中,传输装置156包括一个网络适配器(networkinterfacecontroller,nic),其可通过基站与其他网络设备相连从而可与互联网进行通讯。在一个实例中,传输装置156可以为射频(radiofrequency,rf)模块,其用于通过无线方式与互联网进行通讯。显示器可以例如触摸屏式的液晶显示器(lcd),该液晶显示器可使得用户能够与计算机终端15的用户界面进行交互。此处需要说明的是,在一些可选实施例中,上述图15所示的计算机终端15可以包括硬件元件(包括电路)、软件元件(包括存储在计算机可读介质上的计算机代码)、或硬件元件和软件元件两者的结合。应当指出的是,图15仅为特定具体实例的一个实例,并且旨在示出可存在于上述计算机终端15中的部件的类型。在本实施例中,上述计算机终端15可以执行应用程序的漏洞检测方法中以下步骤的程序代码:接收当前输入的问题;基于检索模型获取问题的至少一个候选答案,并基于生成模型获取问题的第一答案,其中,检索模型为基于搜索技术获取结果的模型,生成模型为基于训练模型获取结果的模型;至少根据第一答案和至少一个候选答案进行评估处理,生成问题的输出答案。可选的,上述处理器还可以执行如下步骤的程序代码:获取对话数据库,并对对话数据库中的问答对进行训练,得到生成模型,其中,问答对包括预存的问句和问句对应的预存答案;其中,生成模型包括问句和问句对应的答案,以及用于表示标识问句结束或答案结束的结束字符。可选的,上述处理器还可以执行如下步骤的程序代码:从客服服务器中获取海量的客服记录,并对客服记录中的问句和问句的回复进行训练,得到生成模型;其中,生成模型包括问句和问句对应的答案,以及用于表示标识问句的结束或答案结束的结束字符。可选的,上述处理器还可以执行如下步骤的程序代码:对当前输入的问题进行编码,得到编码结果,其中,编码结果包含了问题的向量数值和用于表示问题结束的结束字符的向量数值;基于生成模型对编码结果进行逐个字符的解码,直至读取到结束字符时结束,得到问题的第一答案。可选的,上述处理器还可以执行如下步骤的程序代码:获取对话数据库,其中,对话数据库包括至少一条预存的问答对,问答对包括预存的问句和问句对应的预存答案;获取当前输入的问题与对话数据库中的每个问句的问题相似度;获取问题相似度超过第一阈值的至少一个问句;提取问题相似度超过第一阈值的至少一个问句所对应的预存答案,得到至少一个候选答案。可选的,上述处理器还可以执行如下步骤的程序代码:基于第一答案计算每个候选答案的相似度,得到每个候选答案的置信度;比较每个候选答案的置信度,得到置信度最高的候选答案;根据置信度最高的候选答案确定问题的输出答案。可选的,上述处理器还可以执行如下步骤的程序代码:将置信度最高的候选答案的置信度与预定的第二阈值进行比对;如果置信度最高的候选答案的置信度大于或等于第二阈值,则确定置信度最高的候选答案为问题的输出答案;如果置信度最高的候选答案的置信度小于第二阈值,则将第一答案作为问题的输出答案。可选的,上述处理器还可以执行如下步骤的程序代码:获取第一问答对和至少一个候选问答对,其中,第一问答对包括:问题和第一答案,候选问答对包括:问题以及对应的候选答案;基于第一问答对计算每个候选问答对的相似度,得到每个候选问答对的置信度;比较每个候选问答对的置信度,得到置信度最高的候选问答对;根据置信度最高的候选问答对确定问题的输出答案。可选的,上述处理器还可以执行如下步骤的程序代码:将置信度最高的候选问答对的置信度与预定的第三阈值进行比对;如果置信度最高的候选问答对的置信度大于或等于第三阈值,则确定置信度最高的候选问答对中的候选答案为问题的输出答案;如果置信度最高的候选问答对的置信度小于第三阈值,则将第一问答对中的第一答案作为问题的输出答案。本领域普通技术人员可以理解,图15所示的结构仅为示意,计算机终端也可以是智能手机(如android手机、ios手机等)、平板电脑、掌声电脑以及移动互联网设备(mobileinternetdevices,mid)、pad等终端设备。图15其并不对上述电子装置的结构造成限定。例如,计算机终端15还可包括比图15中所示更多或者更少的组件(如网络接口、显示装置等),或者具有与图15所示不同的配置。本领域普通技术人员可以理解上述实施例的各种方法中的全部或部分步骤是可以通过程序来指令终端设备相关的硬件来完成,该程序可以存储于一计算机可读存储介质中,存储介质可以包括:闪存盘、只读存储器(read-onlymemory,rom)、随机存取器(randomaccessmemory,ram)、磁盘或光盘等。实施例6本发明的实施例还提供了一种存储介质。可选地,在本实施例中,上述存储介质可以用于保存上述实施例一所提供的基于问答系统的对话处理方法所执行的程序代码。可选地,在本实施例中,上述存储介质可以位于计算机网络中计算机终端群中的任意一个计算机终端中,或者位于移动终端群中的任意一个移动终端中。可选地,在本实施例中,存储介质被设置为存储用于执行以下步骤的程序代码:接收当前输入的问题;基于检索模型获取问题的至少一个候选答案,并基于生成模型获取问题的第一答案,其中,检索模型为基于搜索技术获取结果的模型,生成模型为基于训练模型获取结果的模型;至少根据第一答案和至少一个候选答案进行评估处理,生成问题的输出答案。可选地,在本实施例中,存储介质被设置为存储用于执行以下步骤的程序代码:获取对话数据库,并对对话数据库中的问答对进行训练,得到生成模型,其中,问答对包括预存的问句和问句对应的预存答案;其中,生成模型包括问句和问句对应的答案,以及用于表示标识问句结束或答案结束的结束字符。可选地,在本实施例中,存储介质被设置为存储用于执行以下步骤的程序代码:从客服服务器中获取海量的客服记录,并对客服记录中的问句和问句的回复进行训练,得到生成模型;其中,生成模型包括问句和问句对应的答案,以及用于表示标识问句的结束或答案结束的结束字符。可选地,在本实施例中,存储介质被设置为存储用于执行以下步骤的程序代码:对当前输入的问题进行编码,得到编码结果,其中,编码结果包含了问题的向量数值和用于表示问题结束的结束字符的向量数值;基于生成模型对编码结果进行逐个字符的解码,直至读取到结束字符时结束,得到问题的第一答案。可选地,在本实施例中,存储介质被设置为存储用于执行以下步骤的程序代码:获取对话数据库,其中,对话数据库包括至少一条预存的问答对,问答对包括预存的问句和问句对应的预存答案;获取当前输入的问题与对话数据库中的每个问句的问题相似度;获取问题相似度超过第一阈值的至少一个问句;提取问题相似度超过第一阈值的至少一个问句所对应的预存答案,得到至少一个候选答案。可选地,在本实施例中,存储介质被设置为存储用于执行以下步骤的程序代码:基于第一答案计算每个候选答案的相似度,得到每个候选答案的置信度;比较每个候选答案的置信度,得到置信度最高的候选答案;根据置信度最高的候选答案确定问题的输出答案。可选地,在本实施例中,存储介质被设置为存储用于执行以下步骤的程序代码:将置信度最高的候选答案的置信度与预定的第二阈值进行比对;如果置信度最高的候选答案的置信度大于或等于第二阈值,则确定置信度最高的候选答案为问题的输出答案;如果置信度最高的候选答案的置信度小于第二阈值,则将第一答案作为问题的输出答案。可选地,在本实施例中,存储介质被设置为存储用于执行以下步骤的程序代码:获取第一问答对和至少一个候选问答对,其中,第一问答对包括:问题和第一答案,候选问答对包括:问题以及对应的候选答案;基于第一问答对计算每个候选问答对的相似度,得到每个候选问答对的置信度;比较每个候选问答对的置信度,得到置信度最高的候选问答对;根据置信度最高的候选问答对确定问题的输出答案。可选地,在本实施例中,存储介质被设置为存储用于执行以下步骤的程序代码:将置信度最高的候选问答对的置信度与预定的第三阈值进行比对;如果置信度最高的候选问答对的置信度大于或等于第三阈值,则确定置信度最高的候选问答对中的候选答案为问题的输出答案;如果置信度最高的候选问答对的置信度小于第三阈值,则将第一问答对中的第一答案作为问题的输出答案。上述本发明实施例序号仅仅为了描述,不代表实施例的优劣。在本发明的上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述的部分,可以参见其他实施例的相关描述。在本申请所提供的几个实施例中,应该理解到,所揭露的技术内容,可通过其它的方式实现。其中,以上所描述的装置实施例仅仅是示意性的,例如所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,单元或模块的间接耦合或通信连接,可以是电性或其它的形式。所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。所述集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可为个人计算机、服务器或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:u盘、只读存储器(rom,read-onlymemory)、随机存取存储器(ram,randomaccessmemory)、移动硬盘、磁碟或者光盘等各种可以存储程序代码的介质。以上所述仅是本发明的优选实施方式,应当指出,对于本
技术领域
的普通技术人员来说,在不脱离本发明原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也应视为本发明的保护范围。当前第1页12
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1