智能问答方法和装置与流程

文档序号:12720085阅读:178来源:国知局
智能问答方法和装置与流程

本发明涉及数据处理领域,特别是涉及一种智能问答方法和装置。



背景技术:

自动回答智能系统通常是基于受限领域历史积累的FAQ(Frequently Asked Question,常见问题解答)数据进行构建,受限于FAQ数据集的完备性,FAQ数据越多,系统能够回答的问题类型和数量也越多,反之越少。然而,因数据积累不足或没有数据积累的领域,给出的答案准确性较低。



技术实现要素:

基于此,有必要针对传统的FAQ系统回答问题不准确的问题,提供一种智能问答方法和装置。

一种智能问答方法,包括:

获取待解答问题;

将所述待解答问题分别发送给基于常见问题解答的问答系统和基于知识库的问答系统;

获取所述基于常见问题解答的问答系统对所述待解答问题响应的候选答案及对应的可信度,以及获取所述基于知识库的问答系统对所述待解答问题响应的候选答案及对应的可信度;

获取所述可信度中最高可信度,将所述最高可信度与可信度阈值比较;

若所述最高可信度大于或等于所述可信度阈值,则将所述最高可信度对应的候选答案作为所述待解答问题所对应的答案。

一种智能问答装置,包括:

问题获取模块,用于获取待解答问题;

发送模块,用于将所述待解答问题分别发送给基于常见问题解答的问答系统和基于知识库的问答系统;

候选答案获取模块,用于获取所述基于常见问题解答的问答系统对所述待解答问题响应的候选答案及对应的可信度,以及获取所述基于知识库的问答系统对所述待解答问题响应的候选答案及对应的可信度;

比较模块,用于获取所述可信度中最高可信度,将所述最高可信度与可信度阈值比较;

答案确定模块,用于若所述最高可信度大于或等于所述可信度阈值,则将所述最高可信度对应的候选答案作为所述待解答问题所对应的答案。

上述智能问答方法和装置,通过将待解答问题发送给基于常见问题解答的问答系统和基于知识库的问答系统,获取到基于常见问题解答的问答系统反馈的候选答案及对应的可信度,以及基于知识库的问答系统反馈的候选答案及对应的可信度,筛选出最高可信度,若最高可信度大于或等于可信度阈值,则将最高可信度对应的候选答案作为待解答问题的答案,基于两种不同的问答系统得到的答案进行可信度比较,得到的待解答问题的答案的准确性高。

附图说明

图1为一个实施例中智能问答方法的应用环境示意图;

图2为一个实施例中服务器的内部结构示意图;

图3为一个实施例中智能问答方法的流程图;

图4为一个实施例中获取所述基于常见问题解答的问答系统对所述待解答问题响应的候选答案及对应的可信度的流程图;

图5为一个实施例中获取所述基于知识库的问答系统对所述待解答问题响应的候选答案及对应的可信度的流程图;

图6为一个实施例中智能问答装置的结构框图;

图7为一个实施例中智能问答装置的结构框图。

具体实施方式

为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。

可以理解,本发明所使用的术语“第一”、“第二”等可在本文中用于描述各种元件,但这些元件不受这些术语限制。这些术语仅用于将第一个元件与另一个元件区分。举例来说,在不脱离本发明的范围的情况下,可以将第一客户端称为第二客户端,且类似地,可将第二客户端称为第一客户端。第一客户端和第二客户端两者都是客户端,但其不是同一客户端。

图1为一个实施例中智能问答方法的应用环境示意图。如图1所示,该应用环境包括终端110和服务器120。终端110与服务器120进行会话通信。服务器120上包括会话管理器、基于常见问题解答的问答系统和基于知识库的问答系统。会话管理器用于获取待解答问题,将待解答问题分别发送给基于常见问题解答的问答系统和基于知识库的问答系统,并得到基于常见问题解答的问答系统返回的答案及对应的可信度和基于知识库的问答系统返回的答案及对应的可信度,筛选出最高可信度,将最高可信度与可信度阈值比较,若大于或等于可信度阈值,则将最高可信度对应的答案作为该待解答问题的答案。

图2为一个实施例中服务器(或云端等)的内部结构示意图。如图2所示,该服务器包括通过系统总线连接的处理器、非易失性存储介质、内存储器和网络接口。其中,该服务器的非易失性存储介质存储有操作系统、数据库和智能问答装置,数据库中存储有基于常见问题解答的问答系统和基于知识库的问答系统,该智能问答装置用于实现适用于服务器的一种智能问答方法。该服务器的处理器用于提供计算和控制能力,支撑整个服务器的运行。该服务器的内存储器为非易失性存储介质中的智能问答装置的运行提供环境,该内存储器中可储存有计算机可读指令,该计算机可读指令被所述处理器执行时,可使得所述处理器执行一种智能问答方法。该服务器的网络接口用于据以与外部的终端通过网络连接通信,比如接收终端发送的待解答问题以及向终端返回答案等。服务器可以用独立的服务器或者是多个服务器组成的服务器集群来实现。本领域技术人员可以理解,图2中示出的结构,仅仅是与本申请方案相关的部分结构的框图,并不构成对本申请方案所应用于其上的服务器的限定,具体的服务器可以包括比图中所示更多或更少的部件,或者组合某些部件,或者具有不同的部件布置。

图3为一个实施例中智能问答方法的流程图。如图3所示,一种智能问答方法,包括:

步骤302,获取待解答问题。

本实施例中,待解答问题是指用户咨询的问题。待解答问题可通过网页入口输入,或者通过应用App输入等。待解答问题的格式可为语音、文本、图片等至少一种格式。

若提供网页版咨询入口,则启动网页会话窗,在网页会话窗中输入待解答的问题。

若提供应用程序入口,则启动应用程序会话窗,在应用程序会话窗中输入待解答的问题。

步骤304,将所述待解答问题分别发送给基于常见问题解答的问答系统和基于知识库的问答系统。

本实施例中,基于常见问题解答的问答系统是指基于FAQ的问答系统。常见问题是指被提出的次数超过次数阈值的问题。次数阈值可根据需要设定,如100次、10次等。常见问题解答是指常见问题的答案。基于常见问题解答的问答系统是指对常见问题进行解答的问答系统。

知识库是指限定领域内的结构化知识集合。

步骤306,获取所述基于常见问题解答的问答系统对所述待解答问题响应的候选答案及对应的可信度,以及获取所述基于知识库的问答系统对所述待解答问题响应的候选答案及对应的可信度。

本实施例中,基于常见问题解答的问答系统对待解答问题进行检索和查找得到对应的候选答案,并计算候选答案的可信度。基于知识库的问答系统对待解答问题进行语义分析,再对分析后的待解答问题进行匹配得到对应的候选答案,并计算候选答案的可信度。基于FAQ的问答系统的答案的可信度可采用文本间相似度度量的方法计算得到相似度值,将相似度值归一化到0至1之间,作为可信度,1为最可信。基于知识库的问答系统的答案的可信度,若知识库中存在答案,则可信度为1,若不存在,则可信度为0。

步骤308,获取所述可信度中最高可信度,将所述最高可信度与可信度阈值比较。

步骤310,若所述最高可信度大于或等于所述可信度阈值,则将所述最高可信度对应的候选答案作为所述待解答问题所对应的答案。

本实施例中,基于常见问题解答的问答系统对所述待解答问题响应的候选答案的可信度和基于知识库的问答系统对所述待解答问题响应的候选答案的可信度进行比较,获取最高可信度,再将最高可信度与可信度阈值进行比较,若最高可信度大于或等于可信度阈值,则将最高可信度阈值对应的候选答案作为待解答问题的答案。

可信度阈值是指可信度需要满足的最低值。可信度大于或等于可信度阈值,则表示答案可信,否则答案不可信。

上述智能问答方法,通过将待解答问题发送给基于常见问题解答的问答系统和基于知识库的问答系统,获取到基于常见问题解答的问答系统反馈的候选答案及对应的可信度,以及基于知识库的问答系统反馈的候选答案及对应的可信度,筛选出最高可信度,若最高可信度大于或等于可信度阈值,则将最高可信度对应的候选答案作为待解答问题的答案,基于两种不同的问答系统得到的答案进行可信度比较,得到的待解答问题的答案的准确性高。此外,对于复杂类问题,通过基于常见问题解答的问答系统检索和统计可得到对应的答案,实现了快速查找对应的答案,节省了人力;对于简单类问题,通过基于知识库的问答系统的准确性,可得到更加准确的答案。再者,上述智能问答方法,有效缓解了众多受限领域FAQ问题集不足的问题,另一方面有效降低了基于知识库的问答系统的实现复杂度,降低了对复杂类问题构建知识库的问答系统的成本。

在一个实施例中,上述智能问答方法还包括:若所述最高可信度小于所述可信度阈值,则获取人工答案,将所述人工答案作为所述待解答问题所对应的答案。

本实施例中,最高可信度小于可信度阈值,表示候选答案都不可信,需要提示人工解答。获取人工答案作为待解答问题的答案,以保证待解答问题有对应的答案。

在一个实施例中,上述智能问答方法还包括:将所述待解答问题及对应的人工答案更新到所述基于常见问题解答的问答系统中。

本实施例中,将待解答问题及对应的人工答案更新到基于常见问题解答的问答系统中,以便下次遇到相同或类似的待解答问题时能够通过常见问题解答的问答系统回答,降低人工成本。

图4为一个实施例中获取所述基于常见问题解答的问答系统对所述待解答问题响应的候选答案及对应的可信度的流程图。如图4所示,在一个实施例中,所述获取所述基于常见问题解答的问答系统对所述待解答问题响应的候选答案及对应的可信度,包括:

步骤402,对所述待解答问题进行分词,提取关键字,并对所述关键字进行扩展形成第一关键字集合。

本实施例中,对待解答问题进行分词,提取关键字,再基于受限领域同义词库对关键字进行扩展得到第一关键字集合。例如待解答问题为“迈腾有哪些型号”,分词结果为“迈腾”、“有”、“哪些”、“型号?”,关键字提取结果为“迈腾”、“型号”。基于受限领域同义词库对关键字进行扩展,将“型号”扩展为“型号车型”,待解答问题的第一关键字集合即可表示【迈腾型号|车型】。

步骤404,将所述基于常见问题解答的问答系统中的各个问题进行分词,提取关键字,生成各个问题对应的第二关键字集合。

本实施例中,将基于常见问题解答的问答系统中的每个问题分别进行分词,提取问题的关键字,得到每个问题各自所对应的第二关键字集合。例如,将FAQ的问答系统中有问题“迈腾有哪些车型?”,分词结果为“迈腾”、“有”、“哪些”、“车型?”,关键字提取结果为“迈腾”、“车型”,得到的第二关键字集合为【迈腾车型】。

步骤406,获取所述第一关键字集合与各个所述第二关键字集合的相似度值。

本实施例中,可采用杰卡德距离、编辑距离、杰卡德距离与词频-逆向文件频率权重等计算第一关键字集合与第二关键字集合的相似度值。

步骤408,选取与所述第一关键字集合的相似度值最大的第二关键字集合对应的答案作为所述基于常见问题解答的问答系统对所述待解答问题响应的候选答案,并获取所述候选答案的可信度。

本实施例中,相似度值最大对应的第二关键字集合表示在已有的第二关键字集合中与第一关键字集合最相似。可将相似度值作为候选答案的可信度。

通过将待解答问题进行分词提取关键字,并扩展生成第一关键字集合,以及对基于常见问题解答的问答系统中的各个问题进行分词提取关键字生成对应的第二关键字集合,计算第一关键字集合与第二关键字集合的相似度值,选取相似度值最大的第二关键字集合对应的答案作为候选答案,将相似度值作为候选答案的可信度,查找简单方便。

在一个实施例中,所述获取所述第一关键字集合与各个所述第二关键字集合的相似度值,包括:获取所述第一关键字集合与各个所述第二关键字集合的杰卡德距离,根据所述杰卡德距离得到所述第一关键字集合与各个所述第二关键字集合的相似度值,所述相似度值与所述杰卡德距离成正比。

本实施例中,杰卡德距离是用于衡量两个集合之间的相似性的,可采用两个集合交集的元素个数除以两个集合并集中的元素个数。计算公式如下:

其中,A和B为集合,J(A,B)为杰卡德距离。

例如,第一关键字集合为【迈腾型号|车型】,第二关键字集合为【迈腾车型】,扩展后的同义词可能有多个,也作为一个整体计算。第一关键字集合与第二关键字集合的交集中的元素个数为2个,第一关键字集合与第二关键字集合并集中的元素个数为2个,则|【迈腾车型】|/|【迈腾车型】|=2/2。

可将第一关键字集合与第二关键字集合的杰卡德距离作为第一关键字集合与第二关键字集合的相似度值。或者,可将第一关键字集合与第二关键字集合的杰卡德距离乘以正数将得到的结果作为第一关键字集合与第二关键字集合的相似度值。杰卡德距离越大,相似度值越大。

在一个实施例中,所述获取所述第一关键字集合与各个所述第二关键字集合的相似度值,包括:获取所述第一关键字集合与各个所述第二关键字集合的杰卡德距离,以及获取各个所述第二关键字集合的词频-逆向文件频率权重,根据所述杰卡德距离和词频-逆向文件频率权重得到所述第一关键字集合与各个所述第二关键字集合的相似度值,所述相似度值与所述杰卡德距离和词频-逆向文件频率权重的乘积成正比。

本实施例中,词频-逆向文件频率权重是指TF-IDF(term frequency–inverse document frequency)权重。词频(term frequency,TF)指的是某一个给定的词语在该文件中出现的频率。某个词的词频可采用该词在文件中的出现次数除以在文件中所有字词的出现次数之和得到。逆向文件频率(inverse document frequency,IDF)是一个词语普遍重要性的度量。某一特定词语的IDF,可以由总文件数目除以包含该词语的文件的数目,再将得到的商取对数得到IDF值。计算TF与IDF的乘积得到词频-逆向文件频率权重。

假设文档集中有N篇文档,f(i,j)为词项i在文档j中出现的频率(次数),于是,词项i在文档j中的词项频率可以定义为:

公式为词项i在文档j中归一化的结果,其中归一化通过f(i,j)除以同一文档中出现次数最多的词项的频率来算,因此,TF值都是小于或等于1的。

假设文档集中有N篇文档,如果词项i在n篇文档中出现,那么IDF可以定义为:

但是,当词项i没有在任何文档中出现时,上面的式子将会出现分母为零的情况,所以通常将IDF定义为:

基于TF和IDF的定义,词项i在文档j中的得分可以定义为TF(i,j)*IDF(i)也就是:

通过杰卡德距离与词频-逆向文件频率权重得到第一关键字集合与第二关键字集合的相似度值,更加准确,得到的候选答案更加准确。

在一个实施例中,所述获取所述第一关键字集合与各个所述第二关键字集合的相似度值,包括:获取所述第一关键字集合与各个所述第二关键字集合的编辑距离,根据所述编辑距离得到所述第一关键字集合与各个所述第二关键字集合的相似度值,所述相似度值与所述编辑距离成反比。

本实施例中,编辑距离是指Levenshtein距离,是指两个字串之间,由一个转成另一个所需的最少编辑操作次数。采用(最长串长度-编辑操作次数)/最长串长度得到编辑距离。选取编辑距离越小,相似度值越大,得分越高。

图5为一个实施例中获取所述基于知识库的问答系统对所述待解答问题响应的候选答案及对应的可信度的流程图。如图5所示,在一个实施例中,所述获取所述基于知识库的问答系统对所述待解答问题响应的候选答案及对应的可信度,包括:

步骤502,对所述待解答问题进行语义分析生成问句向量。

本实施例中,可预先设置多个问题模板,采用多个问题模板对待解答问题进行语义分析生成问句向量。问题模板例如,【车型】*【属性】有哪些?匹配问题如“迈腾的外观颜色有哪些?”【车型】*【属性】是多少?匹配问题如“迈腾的最小离地间隙是多少?”。问题模板可采用正则表达式表示。问题可采用正则匹配方式进行模板匹配。

在一个实施例中,可采用NLP(Natural Language Processing,自然语言处理)对待解答问题进行语义分析得到对应的问句向量。

步骤504,将所述问句向量转化为查询语句。

本实施例中,将问句向量转化为查询语句sparQL。基于向量语句,使用槽填充方法生成查询语句。生成sparQL语句为:“select?value{<http://autohome/serie/迈腾><http://autohome/property/车型>?value}”。

步骤506,根据所述查询语句从基于知识库的问答系统中查找与所述查询语句对应的查询结果。

本实施例中,查询语句是符合基于知识库的问答系统的。根据查询语句可从基于知识库的问答系统中查找,若存在,则查找到对应的查询结果。若不存在,则返回无结果。

步骤508,将所述查询结果作为所述基于知识库的问答系统对所述待解答问题响应的候选答案,获取所述候选答案对应的可信度。

若查找到候选答案,则候选答案对应的可信度为1,若查找不到候选答案,则基于知识库的问答系统对待解答问题无候选答案。

因基于知识库的问答系统中的问题对应的答案准确度高,通过知识库的问答系统查找到对应的答案,提高了待解答问题对应的答案的准确性,对于复杂类问题,可不建立基于知识库的问答系统,节省成本。

需要说明的是,上述智能问答方法,可应用于所有受限领域的智能客服系统框架,既可以以BS结构(Browser/Server,浏览器/服务器模式)提供服务,也可以在输入和输出端加入语音识别和TTS(Text To Speech,从文本到语言)以在电话等通讯网络中提供服务。具有很强的移植性,可以快速从一个受限领域迁移到另一个受限领域。

图6为一个实施例中智能问答装置的结构框图。如图6所示,一种智能问答装置600,运行于服务器上,包括问题获取模块602、发送模块604、候选答案获取模块606、比较模块608和答案确定模块610。其中:

问题获取模块602用于获取待解答问题。

本实施例中,待解答问题是指用户咨询的问题。待解答问题可通过网页入口输入,或者通过应用App输入等。待解答问题的格式可为语音、文本、图片等至少一种格式。

发送模块604用于将所述待解答问题分别发送给基于常见问题解答的问答系统和基于知识库的问答系统。

候选答案获取模块606用于获取所述基于常见问题解答的问答系统对所述待解答问题响应的候选答案及对应的可信度,以及获取所述基于知识库的问答系统对所述待解答问题响应的候选答案及对应的可信度。

本实施例中,基于常见问题解答的问答系统对待解答问题进行检索和查找得到对应的候选答案,并计算候选答案的可信度。基于知识库的问答系统对待解答问题进行语义分析,再对分析后的待解答问题进行匹配得到对应的候选答案,并计算候选答案的可信度。基于FAQ的问答系统的答案的可信度可采用文本间相似度度量的方法计算得到相似度值,将相似度值归一化到0至1之间,作为可信度,1为最可信。基于知识库的问答系统的答案的可信度,若知识库中存在答案,则可信度为1,若不存在,则可信度为0。

比较模块608用于获取所述可信度中最高可信度,将所述最高可信度与可信度阈值比较。

答案确定模块610用于若所述最高可信度大于或等于所述可信度阈值,则将所述最高可信度对应的候选答案作为所述待解答问题所对应的答案。

上述智能问答装置,通过将待解答问题发送给基于常见问题解答的问答系统和基于知识库的问答系统,获取到基于常见问题解答的问答系统反馈的候选答案及对应的可信度,以及基于知识库的问答系统反馈的候选答案及对应的可信度,筛选出最高可信度,若最高可信度大于或等于可信度阈值,则将最高可信度对应的候选答案作为待解答问题的答案,基于两种不同的问答系统得到的答案进行可信度比较,得到的待解答问题的答案的准确性高。此外,对于复杂类问题,通过基于常见问题解答的问答系统检索和统计可得到对应的答案,实现了快速查找对应的答案,节省了人力;对于简单类问题,通过基于知识库的问答系统的准确性,可得到更加准确的答案。再者,上述智能问答方法,有效缓解了众多受限领域FAQ问题集不足的问题,另一方面有效降低了基于知识库的问答系统的实现复杂度,降低了对复杂类问题构建知识库的问答系统的成本。

在一个实施例中,所述答案确定模块610还用于若所述最高可信度小于所述可信度阈值,则获取人工答案,将所述人工答案作为所述待解答问题所对应的答案。

图7为一个实施例中智能问答装置的结构框图。如图7所示,一种智能问答装置600,运行于服务器上,除了包括问题获取模块602、发送模块604、候选答案获取模块606、比较模块608和答案确定模块610,还包括更新模块612。其中:

更新模块612用于将所述待解答问题及对应的人工答案更新到所述基于常见问题解答的问答系统中。

本实施例中,将待解答问题及对应的人工答案更新到基于常见问题解答的问答系统中,以便下次遇到相同或类似的待解答问题时能够通过常见问题解答的问答系统回答,降低人工成本。

在一个实施例中,所述候选答案获取模块606还用于对所述待解答问题进行分词,提取关键字,并对所述关键字进行扩展形成第一关键字集合;将所述基于常见问题解答的问答系统中的各个问题进行分词,提取关键字,生成各个问题所对应的第二关键字集合;获取所述第一关键字集合与各个所述第二关键字集合的相似度值;以及选取与所述第一关键字集合的相似度值最大的第二关键字集合对应的答案作为所述基于常见问题解答的问答系统对所述待解答问题响应的候选答案,并获取所述候选答案的可信度。

在一个实施例中,所述候选答案获取模块606还用于获取所述第一关键字集合与各个所述第二关键字集合的杰卡德距离,根据所述杰卡德距离得到所述第一关键字集合与各个所述第二关键字集合的相似度值,所述相似度值与所述杰卡德距离成正比。

在一个实施例中,所述候选答案获取模块606还用于获取所述第一关键字集合与各个所述第二关键字集合的杰卡德距离,以及获取各个所述第二关键字集合的词频-逆向文件频率权重,根据所述杰卡德距离和词频-逆向文件频率权重得到所述第一关键字集合与各个所述第二关键字集合的相似度值,所述相似度值与所述杰卡德距离和词频-逆向文件频率权重的乘积成正比。

在一个实施例中,所述候选答案获取模块606还用于获取所述第一关键字集合与各个所述第二关键字集合的编辑距离,根据所述编辑距离得到所述第一关键字集合与各个所述第二关键字集合的相似度值,所述相似度值与所述编辑距离成反比。

在一个实施例中,所述候选答案获取模块606还用于对所述待解答问题进行语义分析生成问句向量;将所述问句向量转化为查询语句;根据所述查询语句从基于知识库的问答系统中查找与所述查询语句对应的查询结果;以及将所述查询结果作为所述基于知识库的问答系统对所述待解答问题响应的候选答案,获取所述候选答案对应的可信度。

本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的程序可存储于一非易失性计算机可读取存储介质中,该程序在执行时,可包括如上述各方法的实施例的流程。其中,所述的存储介质可为磁碟、光盘、只读存储记忆体(Read-Only Memory,ROM)等。

以上所述实施例仅表达了本发明的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对本发明专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本发明构思的前提下,还可以做出若干变形和改进,这些都属于本发明的保护范围。因此,本发明专利的保护范围应以所附权利要求为准。

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