智能应答方法及装置与流程

文档序号:12666208阅读:202来源:国知局
智能应答方法及装置与流程

本发明涉及通信领域,具体而言,涉及一种智能应答方法及装置。



背景技术:

传统的客户服务中心以电话呼叫中心为主,但随着互联网的发展、用户数量的增多以及用户问题多样等因素的影响,传统客户服务中心逐渐不能满足客户的需要。很多大型服务企业在不断拓展更为经济高效的客服中心,减小人工成本,增强用户体验,如智能在线客服、智能手机应用等。智能客服的核心是智能问答,问答系统能够根据用户输入得到简短、精确的答案。

随着问答系统被大量广泛的研究,智能问答系统的相关技术及其产品引起了国内外许多科研机构和公司的极大兴趣,已经有许多产品出现,很好的适应了市场的需求。

在智能客服系统中,如何对用户输入问题进行处理,从预设的问题答案中正确选择出用户所需的答案是系统的核心。在智能问答中,用户输入的问题都不全是标准问题,和问答库保存的标准问答对差距较大,只用搜索或相似度计算很难从中找出用户想要的答案。并且,在相关技术中的智能问答系统中,所有的问题和答案都只保存在一个问答库中,对语义的支持不灵活,更新维护也不方便。

针对相关技术中,智能问答系统对语义支持不灵活,维护不方便的问题,目前尚未提出有效的解决方案。



技术实现要素:

本发明提供了一种智能应答方法及装置,以至少解决相关技术中智能问答系统对语义支持不灵活,维护不方便的问题。

根据本发明的一个方面,提供了一种智能应答方法,包括:接收通过用户终端输入的问题信息;从多个问答库中,查找与该问题信息的类型对应的问答库;按照预设规则从与该问题信息的类型对应的问答库中查找与该问题信息对应的答案;将与该问题信息对应的答案作为返回结果返回给用户终端。

在本发明实施例中,按照预设规则从与该问题信息的类型对应的问答库中查找与该问题信息对应的答案包括:从该问题信息的类型对应的问答库中,按照该问题信息和在与该问题信息的类型对应的问答库中存储的问题的相似度,对该问题信息的类型对应的问答库中的问题进行过滤;将过滤后的该问题对应的答案作为与该问题信息对应的答案。

在本发明实施例中,按照该问题信息和在与该问题信息的类型对应的问答库中存储的问题的相似度,对该问题信息的类型对应的问答库中的问题进行过滤包括:从与该问题信息的类型对应的问答库中获取与该问题信息匹配的目标问题;获取该问题信息和该目标问题的相似度;过滤与该问题信息的类型对应的问答库中该相似度小于预设阈值的目标问题,得到第一过滤结果;在该第一过滤结果中仅包含一个该目标问题时,将该一个该目标问题对应的答案作为与该问题信息对应的答案;在该第一过滤结果中包括多个该目标问题时,取该多个该目标问题中优先级最高的该目标问题对应的答案作为与该问题信息对应的答案。

在本发明实施例中,通过以下至少之一方式获取该问题信息和该目标问题的相似度值:方式一:S=alpha1+beta1*(length2/length1);其中,S表示该问题信息和该目标问题的相似度值;length2为该问题信息的信息长度和该目标问题的信息长度较大者,length1为该问题信息的信息长度和该目标问题的信息长度较小者;alpha1和beta1都为实数;方式二:S=alpha*(Samewords/words1+Samewords/words2)/2+beta*dp*(num1/words1+num2/words2);其中,words1为对该问题信息进行分词后所包含的词的个数;words2为对该目标问题进行分词后所包含的词的个数;Samewords为对该问题信息进行分词后与对该目标问题进行分词后所包含的相同的词的个数;num1为Samewords中包含的对该问题信息进行分词后的词的个数;num2为Samewords中包含的对该目标问题进行分词后的词的个数;dp为words1/words2与words2/words1中的最小值,alpha和beta都为实数。

在本发明实施例中,该方式一应用于以下至少之一场景:该问题信息与该目标问题相同;该问题信息包含该目标问题;该目标问题包含该问题信息。

在本发明实施例中,通过以下规则获取对该问题信息分词后所包含的词的个数:对该问题信息进行分词,得到多个词;按照每个该词的词性对每个该词分配权重;将该多个该词的每个词的个数和该每个词的加权和作为对该问题信息分词后所包含的词的个数;通过以下规则获取对该目标问题分词后所包含的词的个数:对该目标问题进行分词,得到多个词;按照每个该词的词性对每个该词分配权重;将该多个该词的每个词的个数和该每个词的加权和作为对该目标问题分词后所包含的词的个数。

在本发明实施例中,从多个问答库中,查找与所述问题信息的类型对应的问答库包括:判断该问题信息是否是第一类问题信息;在该问题信息是该第一类问题信息的情况下,获取与该第一类问题信息对应的第一类问答库;在该问题信息不是该第一类问题信息的情况下,判断该问题信息是否是第二类问题信息;在该问题信息是第二类问题信息的情况下,获取与该第二类问题信息对应的第二类问答库;从该第二类问答库中,按照该预设规则重新确认该问题信息;判断该重新确认的问题信息是否是第三类问题信息;在该重新确认的问题信息是第三类问题信息的情况下,获取与该重新确认的问题信息对应的第三类问答库。

在本发明实施例中,该第一类问题信息包括:寒暄语;该第一类问答库包括:寒暄语语料库;其中,该寒暄语语料库中存储有寒暄语以及与该寒暄语对应的答案;该第二类问题信息包括:特定问题信息;该第二类问答库包括:等价句与标准句库;其中,该等价句与标准句库中存储有该特定问题以及与该特定问题对应的标准句或者等价句;该第三类问题信息包括:普通问题信息;该第三类问答库包括:普通问题以及与该普通问题对应的答案。

在本发明实施例中,从该第二类问答库中,按照该预设规则重新确认该问题信息包括:从该第二类问答库中,查询与该问题信息对应的所有问题;按照该预设规则对该所有问题进行过滤后,得到第二过滤结果;在该第二过滤结果唯一的情况下,将该过滤结果作为该重新确认后的问题信息;在不存在该第二过滤结果的情况下,将通过该用户终端输入的问题信息作为该重新确认后的问题信息。

在本发明实施例中,在将与该问题信息对应的答案作为返回结果返回给该用户终端之前,该方法还包括:判断与该问题信息对应的答案是否是第四类问题信息;其中,该第四类问题信息包括:引导式问题;如果是,触发显示提示信息,其中,该提示信息用于提示通过用户终端输入与该第四类问题信息对应的引导信息;如果不是,直接将与该问题信息对应的答案作为返回结果返回给该用户终端。

根据本发明实施例的另一个实施例,提供了一种智能应答装置,包括:接收模块,用于接收通过用户终端输入的问题信息;第一查找模块,用于从多个问答库中,查找与该问题信息的类型对应的问答库;第二查找模块,用于按照预设规则从与该问题信息的类型对应的问答库中查找与该问题信息对应的答案;返回模块,用于将与该问题信息对应的答案作为返回结果返回给该用户终端。

在本发明实施例中,该第二查找模块还用于从该问题信息的类型对应的问答库中,按照该问题信息和在与该问题信息的类型对应的问答库中存储的问题的相似度,对该问题信息的类型对应的问答库中的问题进行过滤;将过滤后的该问题对应的答案作为与该问题信息对应的答案。

在本发明实施例中,该第二查找模块包括:第一获取单元,用于从与该问题信息的类型对应的问答库中获取与该问题信息匹配的目标问题;第二获取单元,用于获取该问题信息和该目标问题的相似度;过滤单元,用于过滤与该问题信息的类型对应的问答库中该相似度小于预设阈值的目标问题,得到第一过滤结果;查找单元,用于在该第一过滤结果中仅包含一个该目标问题时,将该一个该目标问题对应的答案作为与该问题信息对应的答案;以及在该第一过滤结果中包括多个该目标问题时,取该多个该目标问题中优先级最高的该目标问题对应的答案作为与该问题信息对应的答案。

在本发明实施例中,该第二获取单元通过以下至少之一方式获取该问题信息和该目标问题的相似度值:方式一:S=alpha1+beta1*(length2/length1);其中,S表示该问题 信息和该目标问题的相似度值;length2为该问题信息的信息长度和该目标问题的信息长度较大者,length1为该问题信息的信息长度和该目标问题的信息长度较小者;alpha1和beta1都为实数;方式二:S=alpha*(Samewords/words1+Samewords/words2)/2+beta*dp*(num1/words1+num2/words2);其中,words1为对该问题信息进行分词后所包含的词的个数;words2为对该目标问题进行分词后所包含的词的个数;Samewords为对该问题信息进行分词后与对该目标问题进行分词后所包含的相同的词的个数;num1为Samewords中包含的对该问题信息进行分词后的词的个数;num2为Samewords中包含的对该目标问题进行分词后的词的个数;dp为words1/words2与words2/words1中的最小值,alpha和beta都为实数。

在本发明实施例中,该第一查找模块包括:第一判断单元,用于判断该问题信息是否是第一类问题信息;第三获取单元,用于在该问题信息是该第一类问题信息的情况下,获取与该第一类问题信息对应的第一类问答库;第二判断单元,用于在该问题信息不是该第一类问题信息的情况下,判断该问题信息是否是第二类问题信息;第四获取单元,用于在该问题信息是第二类问题信息的情况下,获取与该第二类问题信息对应的第二类问答库;确认单元,用于从该第二类问答库中,按照该预设规则重新确认该问题信息;第三判断单元,用于判断该重新确认的问题信息是否是第三类问题信息;第五获取单元,用于在该重新确认的问题信息是第三类问题信息的情况下,获取与该重新确认的问题信息对应的第三类问答库。

在本发明实施例中,该确认单元包括:查询子单元,用于从该第二类问答库中,查询与该问题信息对应的所有问题;过滤子单元,用于按照该预设规则对该所有问题进行过滤后,得到第二过滤结果;确认子单元,用于在该第二过滤结果唯一的情况下,将该过滤结果作为该重新确认后的问题信息;以及在不存在该第二过滤结果的情况下,将通过该用户终端输入的问题信息作为该重新确认后的问题信息。

在本发明实施例中,该装置还包括:判断模块,用于判断与该问题信息对应的答案是否是第四类问题信息;其中,该第四类问题信息包括:引导式问题;显示模块,用于在与该问题信息对应的答案是第四类问题信息的情况下,触发显示提示信息,其中,该提示信息用于提示通过用户终端输入与该第四类问题信息对应的引导信息;该返回模块,还用于在与该问题信息对应的答案不是第四类问题信息的情况下,直接将与该问题信息对应的答案作为返回结果返回给该用户终端。

通过本发明,采用接收通过用户终端输入的问题信息;从多个问答库中,查找与该问题信息的类型对应的问答库;按照预设规则从与该问题信息的类型对应的问答库中查找与该问题信息对应的答案;将与该问题信息对应的答案作为返回结果返回给用户终端。即将问答库分为多个问答库,根据输入的问题信息的类型,从多个问答库中的与该问题信息的类型对应的问答库中查找该问题信息对应的答案,解决了相关技术中智能问答系统对语义支持不灵活,维护不方便的问题,进而提高了语义支持的灵活度,方便维护和 更新智能问答系统。

附图说明

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

图1是根据本发明实施例的智能应答方法的流程图一;

图2是根据本发明实施例的智能应答方法的流程图二;

图3是根据本发明实施例的智能应答方法的流程图三;

图4是根据本发明实施例的智能应答方法的流程图四;

图5是根据本发明优选实施例的智能问答方法的流程图;

图6是根据本发明优选实施例的查询问答处理流程示意图;

图7是根据本发明实施例的智能应答装置的结构框图一;

图8根据本发明实施例的智能应答装置的结构框图二;

图9根据本发明实施例的智能应答装置的结构框图三;

图10根据本发明实施例的智能应答装置的结构框图四;

图11根据本发明实施例的智能应答装置的结构框图五;

图12是根据本发明优选实施例的智能问答系统的架构示意图。

具体实施方式

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

需要说明的是,本发明的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。

在本实施例中提供了一种智能应答方法,图1是根据本发明实施例的智能应答方法的流程图一,如图1所示,该流程包括如下步骤:

步骤S102,接收通过用户终端输入的问题信息;

步骤S104,从多个问答库中,查找与该问题信息的类型对应的问答库;

步骤S106,按照预设规则从与该问题信息的类型对应的问答库中查找与该问题信息对应的答案;

步骤S108,将与该问题信息对应的答案作为返回结果返回给用户终端。

由于相关技术中的智能应答系统,所有的问题和答案只保存在一个问答库中,从而对更新和维护该问答库并不方便,通过上述步骤,通过将问答库分为多个,不同的问题信息的类型对应不同的问答库,即不同的问答库中存储有不同类型的问题和答案,当接收输入的问题信息时,通过问题信息的类型,从与该问题信息的类型对应的问答库中来查找与该问题信息对应的答案,增强了语义支持能力,提高了问答的速度,同时,由于不同的问答库中存储有不同类型的问题和答案,因而可以更方便地问答库进行针对性的更新和维护,进而解决了相关技术中,智能问答系统对语义支持不灵活,维护不方便的问题。

需要说明的是,上述问题信息可以包括:“你好”、“天气怎么样”之类的寒暄语,具有一定特点比如采用方言描述怎样查询话费等之类的特定问题信息,“怎样查询话费”、“怎样发送短信”之类的普通问题信息,“查询话费”之类的引导式问题;上述问答库的类型可以包括:寒暄语语料库、等价句与标准句库、普通问答库;其中,该寒暄语语料库中存储有寒暄语以及与该寒暄语对应的答案;该等价句与标准句库中存储有该特定问题以及与该特定问题对应的标准句或者等价句;普通问答库中存储有普通问题以及与该普通问题对应的答案。每种类型的问题信息对应一个类型的问答库。

在本发明的一个实施例中,上述步骤S104可以包括:从该问题信息的类型对应的问答库中,按照该问题信息和在与该问题信息的类型对应的问答库中存储的问题的相似度,对该问题信息的类型对应的问答库中的问题进行过滤;将过滤后的该问题对应的答案作为与该问题信息对应的答案。具体地,可以通过以下方式实现:从与该问题信息的类型对应的问答库中获取与该问题信息匹配的目标问题;获取该问题信息和该目标问题的相似度;过滤与该问题信息的类型对应的问答库中该相似度小于预设阈值的目标问题,得到第一过滤结果;在该第一过滤结果中仅包含一个该目标问题时,将该一个该目标问题对应的答案作为与该问题信息对应的答案;在该第一过滤结果中包括多个该目标问题时,取该多个该目标问题中优先级最高的该目标问题对应的答案作为与该问题信息对应的答案。

需要说明的是,上述目标问题可以为与该问题信息相关的问题,在与该问题信息的类型对应的问答库中找到这些相关的问题,在通过计算问题信息和这些相关的问题的相似度,先将相似度小于一定阈值的这些相关的问题滤掉,如果滤掉后,只剩一个相关的问题,那么将该相关的问题对应的答案作为该问题信息对应的答案;如果滤掉后还有多个相关的问题时,可以按照这些相关的问题的优先级,取优先级最高的问题对应的答案作为该问题信息对应的答案。需要说明的是,该优先级可以是该相关的问题的搜索引擎的排序得分,排序的分高的优先级高。即通过搜索和相似度结合过滤的方式,找到与该问题信息对应的答案,解决了相关技术中搜索引擎命中到的结果过多,不能直接返回给用户答案的问题,同时克服了普通的相似度计算对语义支持较弱的问题。

上述预设阈值可以是预先设定的,可以是一个固定值,也可以是根据实际情况进行实时调整,该预设阈值的设定可以是经验数据。

在本发明的一个实施例中,通过以下至少之一方式获取该问题信息和该目标问题的相似度值:方式一:S=alpha1+beta1*(length2/length1);其中,S表示该问题信息和该目标问题的相似度值;length2为该问题信息的信息长度和该目标问题的信息长度较大者,length1为该问题信息的信息长度和该目标问题的信息长度较小者;alpha1和beta1都为实数;方式二:S=alpha*(Samewords/words1+Samewords/words2)/2+beta*dp*(num1/words1+num2/words2);其中,words1为对该问题信息进行分词后所包含的词的个数;words2为对该目标问题进行分词后所包含的词的个数;Samewords为对该问题信息进行分词后与对该目标问题进行分词后所包含的相同的词的个数;num1为Samewords中包含的对该问题信息进行分词后的词的个数;num2为Samewords中包含的对该目标问题进行分词后的词的个数;dp为words1/words2与words2/words1中的最小值,alpha和beta都为实数;words1/words2为words1与words2的比值,words2/words1为words2与words1的比值。

在本发明的一个实施例中,可以通过以下规则获取对该问题信息分词后所包含的词的个数:对该问题信息进行分词,得到多个词;按照每个该词的词性对每个该词分配权重;将该多个该词的每个词的个数和该每个词的加权和作为对该问题信息分词后所包含的词的个数;可以通过以下规则获取对该目标问题分词后所包含的词的个数:对该目标问题进行分词,得到多个词;按照每个该词的词性对每个该词分配权重;将该多个该词的每个词的个数和该每个词的加权和作为对该目标问题分词后所包含的词的个数。

需要说明的是,不同的词性分配的权重不同,比如名词的权重可以为2,动词的权重可以为2,形容词的权重为1,其中,权重为1代表在计算包含的词的总数时,该词只计算一次,若权重为2,则表示在计算包含的词的总数时,该词需要计算两次,比如:问题信息为查询1月份的话费;进行分词得到3个词:查询(动词)、1月份的(形容词)、话费(名词);根据动词和名词词性的权重为2,形容词的权重为1,那么在计算分词后的该问题信息包含的词的个数时,查询算2个词,1月份的算1个词,话费算2个词;即分词后的该问题信息包含的词的个数为2+1+2=5个。

需要说明的是,上述方式一可以应用于以下至少之一场景:该问题信息与该目标问题相同;该问题信息包含该目标问题;该目标问题包含该问题信息。在除了上述场景之外,可以采用方式二,但并不限于此。

在本发明的一个实施例中,图2是根据本发明实施例的智能应答方法的流程图二,如图2所示,上述步骤S104可以包括:

步骤S104-1,判断该问题信息是否是第一类问题信息;

步骤S104-2,在该问题信息是该第一类问题信息的情况下,获取与该第一类问题信 息对应的第一类问答库;

步骤S104-3,在该问题信息不是该第一类问题信息的情况下,判断该问题信息是否是第二类问题信息;

步骤S104-4,在该问题信息是第二类问题信息的情况下,获取与该第二类问题信息对应的第二类问答库;

步骤S104-5,从该第二类问答库中,按照该预设规则重新确认该问题信息;

步骤S104-6,判断该重新确认的问题信息是否是第三类问题信息;

步骤S104-7,在该重新确认的问题信息是第三类问题信息的情况下,获取与该重新确认的问题信息对应的第三类问答库。

在本发明实施例中,上述第一类问题信息可以包括:上述寒暄语;上述可以第一类问答库包括:上述寒暄语语料库;上述第二类问题信息可以包括:特定问题信息;上述第二类问答库可以包括:等价句与标准句库;上述第三类问题信息可以包括:普通问题信息;上述第三类问答库可以包括:普通问答库。

需要说明的是,上述特定问题可以是一些个性化的问题,对于这些个性化的问题,通过从等价句与标准句库中寻找与其对应的等价句或者标准句的方式来找到对应的答案。

在本发明的一个实施例中,图3是根据本发明实施例的智能应答方法的流程图三,如图3所示,上述步骤S212可以包括:

步骤S212-1,从该第二类问答库中,查询与该问题信息对应的所有问题;

步骤S212-2,按照该预设规则对该所有问题进行过滤后,得到第二过滤结果;

步骤S212-3,在该第二过滤结果唯一的情况下,将该过滤结果作为该重新确认后的问题信息;在不存在该第二过滤结果的情况下,将通过该用户终端输入的问题信息作为该重新确认后的问题信息。

需要说明的是,该预设规则可以是上述的相似度过滤方式,通过计算该问题信息和与该问题信息对应的所有问题的相似度,通过阈值的设定将相似度低的问题滤掉,剩下的问题可能就是重新确认的问题。

在本发明的一个实施例中,图4是根据本发明实施例的智能应答方法的流程图四,如图4所示,在步骤S108之前,该方法还可以包括:

步骤S402,判断与该问题信息对应的答案是否是第四类问题信息;其中,该第四类问题信息包括:引导式问题;

步骤S404,如果是,触发显示提示信息,其中,该提示信息用于提示通过用户终端输入与该第四类问题信息对应的引导信息;

步骤S406,如果不是,直接将与该问题信息对应的答案作为返回结果返回给该用户终端。

需要说明的是,上述引导式问题可以是普通问答的扩展,该引导式问题不能直接获取答案,必须经过交互引导获取一些必要信息后才能得到最后的结果。

比如:输入“查询话费”,这个问题,需要引导用户输入手机号码、月份等信息才能获取最终的答案,引导问题即为“查询话费”,引导信息为手机号码、月份等信息。

需要说明的是,在步骤S104之前,上述方法还包括:判断该问题信息中是否包含敏感词,如果包含敏感词,则不再执行步骤S104至步骤S108,而是直接返回,提示包含敏感词;如果不包含敏感词,则执行步骤S104。需要说明的是,敏感词可以是涉毒、涉黄等违法之类的词。

为了更好地理解本发明实施例,以下结合优选的实施例对本发明做进一步解释。

本发明提供了一种优选的智能问答方法,在本优选实施例中,需要对用户输入问题的分类,在智能问答系统中,用户的输入可以分为以下几类:

普通寒暄对话(相当于上述实施例中的寒暄语):如“你好”、“天气怎么样”等,这类问题属性寒暄式问题。

普通问答(相当于上述实施例中的普通问题信息):普通问答是用户输入一个问题,想直接获得问题答案。与普通搜索引擎的区别在于:搜索引擎对一个问题会返回多个答案,需要用户从多个答案中选择出想要的结果;而智能问答系统则直接把最相似的答案返回给用户。

引导式问答(相当于上述实施例中的引导式问题):引导式问答属于普通问答的扩展,一个问题不能直接获得答案,必须经过交互引导获得一些必要信息后才能得到最后的结果。如用户输入“查询话费”,这个问题,必须引导用户输入手机号码、月份等信息才能获得最终的答案。

针对问题的类型的不同,智能问答系统有不同的处理逻辑。

另外,在本优选实施例中,智能问答系统中问答库分为以下几种类型,通过以下的问答库来保存相应的数据:

寒暄数据库(相当于上述实施例中的寒暄语语料库):寒暄对话的语料比如寒暄语以及该寒暄语对应的答案,这些数据保存到系统索引库(相当于上述实施例中的寒暄语语料库)。

普通问答库(相当于上述实施例中的普通问答库):保存普通问题及与该普通问题对应的答案,引导式问题的语料。

等价句与标准句库(相当于上述实施例中的等价句与标准句库):保存个性化问题及个性化问题对应的标准句,在智能问答系统中,普通问答库中存放的是标准问题及与该标准问题对应的答案,这种语料比较少,而在正式的智能问答系统中,用户的输入问题却是各种形式,等价句与标准句库中也存放用户输入问题与标准问题的对应关系。

在上述的基础上,上述优选的智能问答方法可以包括以下步骤:

步骤1,用户输入问题;

步骤2,敏感词判定,具体包括步骤:步骤21、判断输入是否包含敏感词,如果包含敏感词,执行步骤22,不包含执行步骤31;步骤22、包含敏感词,直接返回,不继续执行,提示包含敏感词;

步骤3,寒暄语判断:步骤31、判断用户输入是否是寒暄语,从寒暄语语料中搜索,如果搜索出的结果经过阈值过滤后有值,则认为输入问题是寒暄对话;步骤32、如果输入是寒暄对话,从结果中选择一条返回给用户,不继续执行;如果不是寒暄对话,执行步骤41;

步骤4,等价句搜索及标准问题替换:步骤41、把用户输入问题作为查询条件,在等价句与标准句库中进行查询,查询出所有相关结果;步骤42、把查询结果进行相似度计算,计算结果过滤后如果存在唯一一条结果,则把该结果的标准问题替换用户的输入问题,如果不存在,保留原始问题;

步骤5,搜索问答库:步骤51、经过步骤4处理后,用处理后的问题搜索普通问答库,查询出所有相关结果;步骤52、把查询结果进行相似度计算,计算结果过滤后如果存在唯一一条结果,则把该结果作为问答记录,取记录的答案字段,作为预返回结果。

步骤6,流程编排处理,判断结果是否是引导式问题:步骤61、经步骤5处理后,把预返回结果进行引导式问题判断;步骤62、如果是引导式问题,有后续处理,则进行流程编排处理,提示用户输入;步骤63、如果不是引导式问题,直接把预返回结果作为答案返回给用户。

需要说明的是,步骤1相当于上述实施例中的步骤S102,上述步骤2至4相当于上述实施例中的步骤S202至步骤S214;上述步骤5相当于步骤S108,上述步骤6相当于上述步骤S402至步骤S406。

在本发明的优选实施例中,上述相似度计算方法可以为:参数1:用户输入(相当于上述实施例中的问题信息)参数2:搜索结果(相当于上述实施例中的目标问题),上述相似度计算方法包括步骤S1至步骤S6:

步骤S1、如果用户输入与搜索结果完全相同,相似度为1.0;如果参数1包含参数2,或者参数2包含参数1执行步骤S2;否则执行步骤S3。

步骤S2、取参数较长的值为length1,另一个为length2,计算相似度得分:alpha1+beta1*length2/length1;返回计算结果。其中,该alpha1和beta1为经验值。

步骤S3、对用户输入及搜索结果做分词及词性标注。

步骤S4、调整分词后的权重,名词和动词调整为2,其它词性不变。

步骤S5、统计参数1和参数2分词后相同的词的个数,权重为2按两次来计算,计数为samewords。

步骤S6、参数1分词后为words1,参数2分词后为words2,samewords包含words1中词的个数为num1,samewords包含words2中词的个数为num2。具体相似度的算法为:

double dp=Math.min(1.0*words1.size()/words2.size(),1.0*words2.size()/words1.size());

double part1=alpha*(1.0*samewords.size()/words1.size()+1.0*samewords.size()/words2.size())/2.0;

double part2=beta*dp*(num1/words1.size()+num2/words2.size())/2.0;

相似度为:part1+part2的值,其中,本优选实施例中的size()用于计算元素的个数。

在本优选的实施例中,该阈值过滤的方法包括以下步骤1至步骤4:

步骤1,计算输入问题与搜索命中结果问题(相当于上述实施例中的目标问题)字段的相似度;

步骤2,取相似度阈值,将所有相似度小于该相似度阈值的结果问题过滤掉;其中,该相似度阈值similarityThreshold=百分比*最大相似度,其中,该百分比为经验值;

步骤3,如果经过步骤1、2,处理后只剩一条问题结果,则该结果即为最终结果,从该结果中取答案字段值返回。如果经过步骤1、2处理后的问题结果大于1条,把剩余的结果用从问答库中搜索出的搜索引擎的排序打分再进行一次过滤,取排序得分最大的项scoreMax作为最终结果,将其余的问题结果都过滤掉。

步骤4,经过步骤3处理后,如果最终结果为一条,则该结果即为最终结果,从该结果中取答案字段值返回。

本发明实施例还提供了另一种优选的智能问答方法,如图5所示,该智能问答方法包括:

步骤S502,用户输入问题;

步骤S504,判断是否设置session(会话);在否的情况下,执行步骤S506;在是的情况下,执行步骤S508;

步骤S506,进行普通搜索;

步骤S508,机器人搜索用户输入的问题是否包含敏感词;如果包含,执行步骤S510;如果没有包含,执行步骤S512;

步骤S510,直接返回,提醒用户包含敏感词;

步骤S512,对用户输入的问题进行标准化处理,比如特殊符号处理等;

步骤S514,判断会话是否存在且有缓存;如果是,执行步骤S516;如果否,执行步骤S522;

步骤S516,进行引导式问题处理;

步骤S518,判断该引导式问题是否处理正常,在处理正常的情况下,执行步骤S520;在处理不正常的情况下,执行步骤S522;

步骤S520,缓存问题,并且返回结果;

步骤S522,判断所述问题是否是寒暄语;如果是,执行步骤S524;如果否,执行步骤S526;

步骤S524,返回对话;

步骤S526,查询问答处理流程;

步骤S528,得到结果数,在结果数为1的情况下,执行步骤S530;在结果数为0的情况下,执行步骤S532;在结果数大于1的情况下,执行步骤S534;

步骤S530,判断是否是引导式问题,如果是,执行步骤S536;如果否,执行步骤S538;

步骤S532,对上下文信息判定;执行步骤S538;

步骤S534,更新结果;

步骤S536,交互问题处理;

步骤S538,更新结果并且缓存该更新结果;

步骤S540,返回结果。

在上述优选实施例中,步骤S526可以通过以下流程实现,如图6所示,该流程包括步骤S602至步骤S626:

步骤S602,在等价句与标准句库中精确查询等价句;

步骤S604,判断是否查找到等价句,如果是,执行步骤S606;如果否,执行步骤S608;

步骤S606,进行标准句替换;

步骤S608,采用正则表达式匹配;

步骤S610,判断是否匹配到唯一结果;如果是,执行步骤S606;

步骤S612,在普通问答库中搜索该标准句;

步骤S614,进行相似度过滤;

步骤S616,判断相似度过滤后是否有与该标准句对应的问题结果;如果否,执行步骤S618;如果是,执行步骤S626;

步骤S618,分词查询标准句;即将标准句进行分词,将与该标准句对应的问题进行分词;

步骤S620,进行相似度过滤;

步骤S622,判断过滤后是否存在唯一的与该标准句对应的问题结果;如果是,执行步骤S624;

步骤S624,搜索普通问答库查询答案;

步骤S626,得到答案的个数。

需要说明的是,具体的相似度计算方法与上述步骤S1至步骤S6所示的相同,相似度过滤与上述步骤1至步骤4所示的方式相同。

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

在本实施例中还提供了一种智能应答装置,该装置用于实现上述实施例及优选实施方式,已经进行过说明的不再赘述。如以下所使用的,术语“模块”可以实现预定功能的软件和/或硬件的组合。尽管以下实施例所描述的装置较佳地以软件来实现,但是硬件,或者软件和硬件的组合的实现也是可能并被构想的。

图7是根据本发明实施例的智能应答装置的结构框图一,如图7所示,该装置包括:

接收模块72,用于接收通过用户终端输入的问题信息;

第一查找模块74,与上述接收模块72连接,用于从多个问答库中,查找与该问题信息的类型对应的问答库;

第二查找模块76,与上述第一查找模块74连接,用于按照预设规则从与该问题信息的类型对应的问答库中查找与该问题信息对应的答案;

返回模块78,与上述第二查找模块76连接,用于将与该问题信息对应的答案作为返回结果返回给该用户终端。

通过上述装置,接收模块72接收到输入的问题信息后,通过第一查找模块74和第二查找模块76根据该问题信息的类型,从与该问题信息的类型对应的问答库中来查找与该问题信息对应的答案,即通过将问答库分为多个,不同的问题信息的类型对应不同的问答库,即不同的问答库中存储有不同类型的问题和答案,相对于相关技术中的智能应答系统,增强了语义支持能力,提高了问答的速度,同时,由于不同的问答库中存储有不同类型的问题和答案,因而可以更方便地问答库进行针对性的更新和维护,进而解决了相关技术中,智能问答系统对语义支持不灵活,维护不方便的问题。

需要说明的是,上述问题信息可以包括:“你好”、“天气怎么样”之类的寒暄语,具有一定特点比如采用方言描述怎样查询话费等之类的特定问题信息,“怎样查询话费”、“怎样发送短信”之类的普通问题信息,“查询话费”之类的引导式问题;上述问答库的类型可以包括:寒暄语语料库、等价句与标准句库、普通问答库;其中,该寒暄语语料库中存储有寒暄语以及与该寒暄语对应的答案;该等价句与标准句库中存储有该特定问题以及与该特定问题对应的标准句或者等价句;普通问答库中存储有普通问题以及与该普通问题对应的答案。每种类型的问题信息对应一个类型的问答库。

在本发明的一个实施例中,上述第二查找模块76还用于从该问题信息的类型对应的问答库中,按照该问题信息和在与该问题信息的类型对应的问答库中存储的问题的相似度,对该问题信息的类型对应的问答库中的问题进行过滤;将过滤后的该问题对应的答案作为与该问题信息对应的答案。具体地,图8根据本发明实施例的智能应答装置的结构框图二,如图8所示,上述第二查找模块76包括:

第一获取单元82,用于从与该问题信息的类型对应的问答库中获取与该问题信息匹配的目标问题;

第二获取单元84,与上述第一获取单元82连接,用于获取该问题信息和该目标问题的相似度;

过滤单元86,与上述第二获取单元84连接,用于过滤与该问题信息的类型对应的问答库中该相似度小于预设阈值的目标问题,得到第一过滤结果;

查找单元88,与过滤单元86连接,用于在该第一过滤结果中仅包含一个该目标问 题时,将该一个该目标问题对应的答案作为与该问题信息对应的答案;以及在该第一过滤结果中包括多个该目标问题时,取该多个该目标问题中优先级最高的该目标问题对应的答案作为与该问题信息对应的答案。

需要说明的是,上述目标问题可以为与该问题信息相关的问题,上述第二查找模块76在与该问题信息的类型对应的问答库中找到这些相关的问题,在通过计算问题信息和这些相关的问题的相似度,先将相似度小于一定阈值的这些相关的问题滤掉,如果滤掉后,只剩一个相关的问题,那么将该相关的问题对应的答案作为该问题信息对应的答案;如果滤掉后还有多个相关的问题时,可以按照这些相关的问题的优先级,取优先级最高的问题对应的答案作为该问题信息对应的答案。需要说明的是,该优先级可以为该相关的问题的搜索引擎的排序得分,排序的分高的优先级高。即通过搜索和相似度结合过滤的方式,找到与该问题信息对应的答案,解决了相关技术中搜索引擎命中到的结果过多,不能直接返回给用户答案的问题,同时克服了普通的相似度计算对语义支持较弱的问题。

上述预设阈值可以是预先设定的,可以是一个固定值,也可以是根据实际情况进行实时调整,该预设阈值的设定可以是经验数据。

在本发明的一个实施例中,该第二获取单元84可以通过以下至少之一方式获取该问题信息和该目标问题的相似度值:方式一:S=alpha1+beta1*(length2/length1);其中,S表示该问题信息和该目标问题的相似度值;length2为该问题信息的信息长度和该目标问题的信息长度较大者,length1为该问题信息的信息长度和该目标问题的信息长度较小者;alpha1和beta1都为实数;方式二:S=alpha*(Samewords/words1+Samewords/words2)/2+beta*dp*(num1/words1+num2/words2);其中,words1为对该问题信息进行分词后所包含的词的个数;words2为对该目标问题进行分词后所包含的词的个数;Samewords为对该问题信息进行分词后与对该目标问题进行分词后所包含的相同的词的个数;num1为Samewords中包含的对该问题信息进行分词后的词的个数;num2为Samewords中包含的对该目标问题进行分词后的词的个数;dp为words1/words2与words2/words1中的最小值,alpha和beta都为实数。

其中,上述第二获取单元84可以通过以下规则获取对该问题信息分词后所包含的词的个数:对该问题信息进行分词,得到多个词;按照每个该词的词性对每个该词分配权重;将该多个该词的每个词的个数和该每个词的加权和作为对该问题信息分词后所包含的词的个数;可以通过以下规则获取对该目标问题分词后所包含的词的个数:对该目标问题进行分词,得到多个词;按照每个该词的词性对每个该词分配权重;将该多个该词的每个词的个数和该每个词的加权和作为对该目标问题分词后所包含的词的个数。

需要说明的是,不同的词性分配的权重不同,比如名词的权重可以为2,动词的权重可以为2,形容词的权重为1,其中,权重为1代表在计算包含的词的总数时,该词只计算一次,若权重为2,则表示在计算包含的词的总数时,该词需要计算两次,比如:问题信息为查询1月份的话费;进行分词得到3个词:查询(动词)、1月份的(形容词)、 话费(名词);根据动词和名词词性的权重为2,形容词的权重为1,那么在计算分词后的该问题信息包含的词的个数时,查询算2个词,1月份的算1个词,话费算2个词;即分词后的该问题信息包含的词的个数为2+1+2=5个。

需要说明的是,上述方式一可以应用于以下至少之一场景:该问题信息与该目标问题相同;该问题信息包含该目标问题;该目标问题包含该问题信息。在除了上述场景之外,可以采用方式二,但并不限于此。

图9根据本发明实施例的智能应答装置的结构框图三,如图9所示,上述第一查找模块74可以包括:

第一判断单元92,用于判断该问题信息是否是第一类问题信息;

第三获取单元94,与上述第一判断单元92连接,用于在该问题信息是该第一类问题信息的情况下,获取与该第一类问题信息对应的第一类问答库;

第二判断单元96,与上述第三获取单元94连接,用于在该问题信息不是该第一类问题信息的情况下,判断该问题信息是否是第二类问题信息;

第四获取单元98,与第二判断单元96连接,用于在该问题信息是第二类问题信息的情况下,获取与该第二类问题信息对应的第二类问答库;

确认单元910,与第四获取单元98连接,用于从该第二类问答库中,按照该预设规则重新确认该问题信息;

第三判断单元912,与确认单元910连接,用于判断该重新确认的问题信息是否是第三类问题信息;

第五获取单元914,与第三判断单元912连接,用于在该重新确认的问题信息是第三类问题信息的情况下,获取与该重新确认的问题信息对应的第三类问答库。

在本发明实施例中,上述第一类问题信息可以包括:上述寒暄语;上述可以第一类问答库包括:上述寒暄语语料库;上述第二类问题信息可以包括:特定问题信息;上述第二类问答库可以包括:等价句与标准句库;上述第三类问题信息可以包括:普通问题信息;上述第三类问答库可以包括:普通问答库。

需要说明的是,上述特定问题可以是一些个性化的问题,对于这些个性化的问题,通过从等价句与标准句库中寻找与其对应的等价句或者标准句的方式来找到对应的答案。

图10根据本发明实施例的智能应答装置的结构框图四,如图10所示,上述确认单元910可以包括:

查询子单元1002,用于从该第二类问答库中,查询与该问题信息对应的所有问题;

过滤子单元1004,与上述查询子单元1002连接,用于按照该预设规则对该所有问题进行过滤后,得到第二过滤结果;

确认子单元1006,与上述过滤子单元1004连接,用于在该第二过滤结果唯一的情况下,将该过滤结果作为该重新确认后的问题信息;以及在不存在该第二过滤结果的情况下,将通过该用户终端输入的问题信息作为该重新确认后的问题信息。

需要说明的是,该预设规则可以是上述的相似度过滤方式,通过计算该问题信息和与该问题信息对应的所有问题的相似度,通过阈值的设定将相似度低的问题滤掉,剩下的问题可能就是重新确认的问题。

图11根据本发明实施例的智能应答装置的结构框图五,如图11所示,上述装置还包括:

判断模块1102,用于判断与该问题信息对应的答案是否是第四类问题信息;其中,该第四类问题信息包括:引导式问题;

显示模块1104,与上述判断模块1102连接,用于在与该问题信息对应的答案是第四类问题信息的情况下,触发显示提示信息,其中,该提示信息用于提示通过用户终端输入与该第四类问题信息对应的引导信息;

上述返回模块78,还用于在与该问题信息对应的答案不是第四类问题信息的情况下,直接将与该问题信息对应的答案作为返回结果返回给该用户终端。

需要说明的是,上述引导式问题可以是普通问答的扩展,该引导式问题不能直接获取答案,必须经过交互引导获取一些必要信息后才能得到最后的结果。

比如:输入“查询话费”,这个问题,需要引导用户输入手机号码、月份等信息才能获取最终的答案,引导问题即为“查询话费”,引导信息为手机号码、月份等信息。

需要说明的是,上述装置还可以包括另一个判断模块,与接收模块72连接,用于判断该问题信息中是否包含敏感词,如果包含敏感词,则不再查询与该问题信息对应的答案,而是直接返回,提示包含敏感词;如果不包含敏感词,上述第一查找模块74,第二查找模块76,返回模块78继续工作。需要说明的是,敏感词可以是涉毒、涉黄等违法之类的词。

为了更好的理解本发明,以下结合优选的实施例对本发明做进一步地解释。

本发明提供了一种优选实施例的智能问答系统的架构图,图12是根据本发明优选实施例的智能问答系统的架构示意图,如图12所示,该智能问答系统包括:管理平台1202,搜索引擎模块1204,交互问答服务模块1206;

其中,交互问答服务模块1206包括:敏感词过滤模块1208,用于判断用户输入的问题是否包含敏感词;寒暄对话模块1210(相当于上述实施例中的第一判断单元92), 用于判断用户输入的问题是否是寒暄语;等价句与标准句转换模块1212(相当于上述实施例中的第二判断单元96和第四获取单元98),用于将用户输入的问题转换为等价句或者标准句;正则表达式匹配模块1214,用于没有找到与用户输入的问题对应的等价句的情况下,对用户输入的问题进行正则表达式匹配;分词词性标注模块1216,用于对用户输入的问题进行分词,并标注分词后的词的词性,和/或,搜索到的结果进行分词,并标注分词后的词的词性;相似度计算模块1218(相当于上述实施例中的过滤子单元1004),用于计算用户输入的问题和搜索到的问题结果的相似度,其中,具体的相似度的计算算法,参见上述方法实施例中的相似度计算算法,此处不再赘述;流程编排模块1220,用于在用户输入的问题是引导式问题的情况下,进行流程编排处理,提示用户输入相关的引导信息。

需要说明的是,上述各个模块是可以通过软件或硬件来实现的,对于后者,可以通过以下方式实现,但不限于此:上述模块均位于同一处理器中;或者,上述模块分别位于多个处理器中。

本发明的实施例还提供了一种存储介质。可选地,在本实施例中,上述存储介质可以被设置为存储用于执行以下步骤的程序代码:

S1,接收通过用户终端输入的问题信息;

S2,从多个问答库中,查找与该问题信息的类型对应的问答库;

S3,按照预设规则从与该问题信息的类型对应的问答库中查找与该问题信息对应的答案;

S4,将与该问题信息对应的答案作为返回结果返回给用户终端。

可选地,在本实施例中,上述存储介质可以包括但不限于:U盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、移动硬盘、磁碟或者光盘等各种可以存储程序代码的介质。

可选地,本实施例中的具体示例可以参考上述实施例及可选实施方式中所描述的示例,本实施例在此不再赘述。

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

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

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