一种智能语音对话的方法和装置
技术领域
本发明涉及计算机技术领域,尤其涉及一种智能语音对话的方法和装置。
背景技术
随着计算机和人工智能技术的飞速发展,智能语音对话被广泛的开发和应用,目前已有的智能语音对话方案主要有两种:一种是将对话设定在某一种特定场景中,采用本地知识库结构,根据对话中的问题,索引本地知识库给出相应的答复;另一种是采用机器学习算法,对对话中的问题进行语义解析,并根据一定条目的上下文给出回答。
然而,这两种方案都存在弊端。第一种方案的回答都是被预先设计好的,回答精准,但应用场景太局限,只能进行针对性的回答,实际只属于伪智能;第二种方案虽然对应用场景没有限制,但机器学习的算法决定了智能语音对话的智商,由于算法的局限性导致对话很难避免答非所问,给出的回答往往给人一种比较“傻”的感觉。
发明内容
本发明的目的在于提供一种智能语音对话的方法和装置,旨在解决现有技术中智能语音对话的应用场景的局限性以及对问题的回答答非所问的问题。
本发明的第一方面,提供一种智能语音对话的方法,包括:
接收提问者提出的问题;
提取所述问题的关键字;
根据所述关键字在本地问答系统中查找所述关键字对应的应用场景并判断所述问题的问答属性,所述问答属性包括有逻辑顺序和无逻辑顺序,所述应用场景为预先按照关键字进行整理的问答集合,所述问答集合包括有序问答和无序问答,对所述有序问答按照逻辑顺序进行排序,对所述无序问答按照类别进行归类;
根据所述问答属性在所述应用场景中查找答案,当所述问答属性为有逻辑顺序时,在所述有序问答中按照顺序进行查找,当所述问答属性为无逻辑顺序时,在所述无序问答中按照所述类别进行查找;
根据查找结果并结合外部环境参数,给出对所述问题的模拟人类真实情感交流的回答。
本发明的第二方面,提供一种智能语音对话的装置,包括:
接收模块,用于接收提问者提出的问题;
提取模块,用于提取所述问题的关键字;
属性查找模块,用于根据所述关键字在本地问答系统中查找所述关键字对应的应用场景并判断所述问题的问答属性,所述问答属性包括有逻辑顺序和无逻辑顺序,所述应用场景为预先按照关键字进行整理的问答集合,所述问答集合包括有序问答和无序问答,对所述有序问答按照逻辑顺序进行排序,对所述无序问答按照类别进行归类;
答案查找模块,用于根据所述问答属性在所述应用场景中查找答案,当所述问答属性为有逻辑顺序时,在所述有序问答中按照顺序进行查找,当所述问答属性为无逻辑顺序时,在所述无序问答中按照所述类别进行查找;
回答模块,用于根据查找结果并结合外部环境参数,给出对所述问题的模拟人类真实情感交流的回答。
本发明与现有技术相比存在的有益效果是:
一方面,通过对应用场景中的无序问答按照类别进行归类,使得对没有上下文关联的对话也可以在本地问答系统中通过无序问答查找到答案,从而解决了单一伪智能语音对话只支持固定场景的应用局限性;另一方面,根据查找结果并结合外部环境参数得出模拟人类真实情感交流的回答,即使查找结果为没有找到对应的回答,也能够根据外部环境参数给出特定的回答,使得智能语音对话的回答不再单一,具有更好的个性化特点,避免了在机器学习加语义解析的智能化方法中由于算法局限性导致的答非所问的情况。因此,本发明实现了智能和伪智能的归并,使智能语音对话更加智能化和个性化。
附图说明
图1是本发明实施例一提供的一种智能语音对话的方法的流程图;
图2是本发明实施例二提供的一种智能语音对话的方法的流程图;
图3是本发明实施例三提供的一种智能语音对话的装置的结构示意图;
图4是本发明实施例四提供的一种智能语音对话的装置的结构示意图。
具体实施方式
为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。
以下结合具体附图对本发明的实现进行详细的描述。
实施例一:
图1是本发明实施例一提供的一种智能语音对话的方法的流程图,其执行主体可以是能够进行智能语音对话的智能设备,例如智能机器人。图1示例的智能语音对话的方法具体包括步骤S101至S105,详述如下:
S101、接收提问者提出的问题。
具体地,智能设备接收提问者提出的问题,提问者提出的问题可以是任意问题,没有具体限制。
S102、提取问题的关键字。
具体地,能够进行智能语音对话的智能设备根据提问者所提出的问题的内容,提取相对应的关键字。
S103、根据关键字在本地问答系统中查找关键字对应的应用场景并判断问题的问答属性,问答属性包括有逻辑顺序和无逻辑顺序,应用场景为预先按照关键字进行整理的问答集合,问答集合包括有序问答和无序问答,对有序问答按照逻辑顺序进行排序,对无序问答按照类别进行归类。
本地问答系统中预存了按照关键字进行整理的应用场景,每一个应用场景都是与关键字相对应的问答集合,问答集合包括有上下文关联的有序问答和无上下文关联的无序问答。在每一个应用场景中,对有序问答按照上下文关联的逻辑顺序进行排序,对无序问答按照问答所属的类别进行归类。
具体地,能够进行智能语音对话的智能设备用提取的关键字作为索引,在本地问答系统中查找该关键字对应的应用场景,同时判断问题的问答属性是有逻辑顺序还是无逻辑顺序。
S104、根据问答属性在应用场景中查找答案,当问答属性为有逻辑顺序时,在有序问答中按照顺序进行查找,当问答属性为无逻辑顺序时,在无序问答中按照所述类别进行查找。
具体地,当问题的问答属性为有逻辑顺序时,在问题对应的应用场景的有序问答中根据逻辑顺序查找答案,当问题的问答属性为无逻辑顺序时,在问题对应的应用场景的无序问答中根据问题所属的类别查找答案。
S105、根据查找结果并结合外部环境参数,给出对问题的模拟人类真实情感交流的回答。
具体地,查找结果有两种,一种是找到了问题的答案,另一种是没有找到问题的答案。无论是否找到问题的答案,都可以在查找结果的基础上,进一步根据当前的外部环境参数得出模拟人类真实情感交流的回答。
需要说明的是,如果找到了问题的答案,也可以直接将此答案作为对问题的回答。
进一步地,外部环境参数可以包括日期、时间、地点、天气和系统设置等。由于外部环境参数会随时间和地点等外界环境发生变化,因此即使是对同一个问题,由于外部环境参数的不同,其回答也不相同。因此,即使查找结果为没有找到问题的答案,也可以根据当前的外部环境参数给出相对合理的答案,从而使回答可以很好的模拟人类真实的情感交流,不至于如现有技术那样出现答非所问的情况。
从图1示例的智能语音对话的方法可知,一方面,通过对应用场景中的无序问答按照类别进行归类,使得对没有上下文关联的对话也可以在本地问答系统中通过无序问答查找到答案,从而解决了单一伪智能语音对话只支持固定场景的应用局限性;另一方面,根据查找结果并结合外部环境参数得出模拟人类真实情感交流的回答,即使查找结果为没有找到对应的回答,也能够根据外部环境参数给出特定的回答,使得智能语音对话的回答不再单一,具有更好的个性化特点,避免了在机器学习加语义解析的智能化方法中由于算法局限性导致的答非所问的情况。可见,本实施例实现了智能和伪智能的归并,使智能语音对话更加智能化和个性化。
实施例二:
图2是本发明实施例二提供的一种智能语音对话的方法的流程图,其执行主体可以是能够进行智能语音对话的智能设备,例如智能机器人。图2示例的智能语音对话的方法具体包括步骤S201至S209,详述如下:
S201、判断提问者是否已被认知,若未被认知,则对提问者进行首次认知。
具体地,首先判断提问者是否已经被认知,即是否已经保存了提问者的相关属性,该属性包括提问者的各种个人信息,例如身高、体重、性别、出生日期、国籍、职业和性格特点等其中的一种或者任意组合。如果提问者未被认知,即未保存提问者的相关属性,则对提问者进行首次认知,对提问者的各种个人信息进行记录和保存。
进一步地,如果提问者已经进行了首次认知,但当提问者的相关属性发生变化时,也可以根据需要对提问者进行再次认知,更新提问者的个人信息。
S202、接收提问者提出的问题。
具体地,智能设备接收提问者提出的问题,提问者提出的问题可以是任意问题,没有具体限制。
S203、提取问题的关键字。
具体地,能够进行智能语音对话的智能设备根据提问者所提出的问题的内容,提取相对应的关键字。
S204、根据关键字在本地问答系统中查找关键字对应的应用场景并判断问题的问答属性,问答属性包括有逻辑顺序和无逻辑顺序,应用场景为预先按照关键字进行整理的问答集合,问答集合包括有序问答和无序问答,对有序问答按照逻辑顺序进行排序,对无序问答按照类别进行归类。
本地问答系统中预存了按照关键字进行整理的应用场景,每一个应用场景都是与关键字相对应的问答集合,问答集合包括有上下文关联的有序问答和无上下文关联的无序问答。在每一个应用场景中,对有序问答按照上下文关联的逻辑顺序进行排序,对无序问答按照问答所属的类别进行归类。
具体地,能够进行智能语音对话的智能设备用提取的关键字作为索引,在本地问答系统中查找该关键字对应的应用场景,同时判断问题的问答属性是有逻辑顺序还是无逻辑顺序。
S205、根据问答属性在应用场景中查找答案,当问答属性为有逻辑顺序时,在有序问答中按照顺序进行查找,当问答属性为无逻辑顺序时,在无序问答中按照所述类别进行查找。
具体地,当问题的问答属性为有逻辑顺序时,在问题对应的应用场景的有序问答中根据逻辑顺序查找答案,当问题的问答属性为无逻辑顺序时,在问题对应的应用场景的无序问答中根据问题所属的类别查找答案。
S206、判断在本地问答系统中是否查找到问题的答案,如果查找到问题的答案,则执行步骤S207,否则执行步骤S208。
S207、将查找到的问题的答案作为查找结果。
具体地,如果在本地问答系统中查找到问题的答案,则将该答案作为查找结果。
S208、访问网络智能问答系统进行搜索,并将搜索的结果作为查找结果,同时将查找结果归并到本地问答系统中。
具体地,如果在本地问答系统中查找不到问题的答案,则通过访问网络智能问答系统进一步搜索问题的答案,并将搜索的结果作为该问题的查找结果。同时,将查找结果本地化,归并到本地问答系统中,使得本地问答系统的应用场景内容得到进一步丰富,以便在以后的查找过程中可以缩短寻址路径的长度,减少查询时间,进而提高回答的响应速度。
进一步地,网络智能问答系统可以是保存在网络服务器上的一个智能语音对话的共享系统数据库。
S209、对查找结果附加外部环境参数进行计算,并根据计算结果给出对问题的模拟人类真实情感交流的回答,外部参数包括心情指数和对提问者进行认知后获得的对提问者的友好度。
具体地,查找结果有两种,一种是找到了问题的答案,另一种是没有找到问题的答案。无论是否找到问题的答案,都可以在查找结果的基础上附加外部参数进行计算,并根据计算结果给出对问题的模拟人类真实情感交流的回答。
外部环境参数包括心情指数和对提问者的友好度。心情指数可以根据当前的日期、时间、地点、天气和系统设置等参数,按照预置的指数算法计算得到,例如,当前的天气在下雨则会降低心情指数,当前的日期为节假日则会升高心情指数;对提问者的友好度可以根据在步骤S201中对提问者进行认知所获得的提问者的相关属性,按照预置的友好度算法计算得到。
进一步地,外部环境参数还可以包括一个随机值,该随机值根据预置的概率统计算法计算得到,其效果为逼近人类真实心情起伏的程度。
由于外部环境参数会随时间和地点等外界环境发生变化,因此即使是对同一个问题,由于外部环境参数的不同,计算结果也不相同,因此其回答也就不相同。因此,即使查找结果为没有找到问题的答案,也可以根据当前的外部环境参数给出相对合理的答案,从而使回答可以很好的模拟人类真实的情感交流,不至于出现如现有技术那样答非所问的情况。同时,由于外部环境参数的影响,使答案更加富有人类情感,具有个性化特点,并提升了用户体验。
例如,传统的智能语音对话中,对于同一个问题的重复问答,其回答的方式一般为:预先设定好每一次回答给予的答案,当超过一定次数时,答案被固定设置为反复表达不愿意过多回答的意愿。而采用本实施例的方法,如果提问者对同一个问题反复提问,由于需要综合心情指数和对提问者的友好度给出答案,因此得到的回答将完全无规律可循,即有可能第一次回答就表现出不想过多交涉的想法,也可能百答不厌,都取决于当前的外部环境参数。
从图2示例的智能语音对话的方法可知,首先,通过对应用场景中的无序问答按照类别进行归类,使得对没有上下文关联的对话也可以在本地问答系统中通过无序问答查找到答案,从而解决了单一伪智能语音对话只支持固定场景的应用局限性;其次,当本地问答系统中查找不到问题的答案时,通过访问网络智能问答系统进一步搜索,并将搜索的结果本地化,从而进一步丰富本地问答系统的应用场景内容,以便在以后的查找过程中减少查询时间,提高回答的响应速度;再次,根据查找结果并结合心情指数和对提问者的友好度,得出模拟人类真实情感交流的回答,即使查找结果为没有找到对应的回答,也能够根据外部环境参数给出特定的回答,使得智能语音对话的回答不再单一,更加富有人类情感,并具有更好的个性化特点,避免了在机器学习加语义解析的智能化方法中由于算法局限性导致的答非所问的情况。可见,本实施例实现了智能和伪智能的归并,使智能语音对话更加智能化和个性化,并提高了用户体验。
实施例三:
图3是本发明实施例三提供的一种智能语音对话的装置的结构示意图,为了便于说明,仅示出了与本发明实施例相关的部分。图3示例的智能语音对话的装置可以是前述实施例一提供的智能语音对话的方法的执行主体,其可以是智能设备或者智能设备的一个功能模块。图3示例的智能语音对话的装置主要包括:接收模块31、提取模块32、属性查找模块33、答案查找模块34和回答模块35。各功能模块详细说明如下:
接收模块31,用于接收提问者提出的问题;
提取模块32,用于提取问题的关键字;
属性查找模块33,用于根据关键字在本地问答系统中查找关键字对应的应用场景并判断问题的问答属性,问答属性包括有逻辑顺序和无逻辑顺序,应用场景为预先按照关键字进行整理的问答集合,问答集合包括有序问答和无序问答,对有序问答按照逻辑顺序进行排序,对无序问答按照类别进行归类;
答案查找模块34,用于根据问答属性在应用场景中查找答案,当问答属性为有逻辑顺序时,在有序问答中按照顺序进行查找,当问答属性为无逻辑顺序时,在无序问答中按照所述类别进行查找;
回答模块35,用于根据查找结果并结合外部环境参数,给出对问题的模拟人类真实情感交流的回答。
本实施例提供的一种智能语音对话的装置中各模块实现各自功能的过程,具体可参考前述图1所示实施例的描述,此处不再赘述。
从上述图3示例的智能语音对话的装置可知,一方面,通过对应用场景中的无序问答按照类别进行归类,使得对没有上下文关联的对话也可以在本地问答系统中通过无序问答查找到答案,从而解决了单一伪智能语音对话只支持固定场景的应用局限性;另一方面,根据查找结果并结合外部环境参数得出模拟人类真实情感交流的回答,即使查找结果为没有找到对应的回答,也能够根据外部环境参数给出特定的回答,使得智能语音对话的回答不再单一,具有更好的个性化特点,避免了在机器学习加语义解析的智能化方法中由于算法局限性导致的答非所问的情况。可见,本实施例实现了智能和伪智能的归并,使智能语音对话更加智能化和个性化。
实施例四:
图4是本发明实施例四提供的一种智能语音对话的装置的结构示意图,为了便于说明,仅示出了与本发明实施例相关的部分。图4示例的智能语音对话的装置可以是前述实施例二提供的智能语音对话的方法的执行主体,其可以是智能设备或者智能设备的一个功能模块。图4示例的智能语音对话的装置主要包括:认知模块41、接收模块42、提取模块43、属性查找模块44、答案查找模块45、本地查找处理模块46、网络查找处理模块47和回答模块48。各功能模块详细说明如下:
认知模块41,用于判断提问者是否已被认知,若未被认知,则对提问者进行首次认知;
接收模块42,用于接收提问者提出的问题;
提取模块43,用于提取问题的关键字;
属性查找模块44,用于根据关键字在本地问答系统中查找关键字对应的应用场景并判断问题的问答属性,问答属性包括有逻辑顺序和无逻辑顺序,应用场景为预先按照关键字进行整理的问答集合,问答集合包括有序问答和无序问答,对有序问答按照逻辑顺序进行排序,对无序问答按照类别进行归类;
答案查找模块45,用于根据问答属性在应用场景中查找答案,当问答属性为有逻辑顺序时,在有序问答中按照顺序进行查找,当问答属性为无逻辑顺序时,在无序问答中按照所述类别进行查找;
本地查找处理模块46,用于当在本地问答系统中查找到问题的答案时,将查找到的问题的答案作为查找结果;
网络查找处理模块47,用于当在本地问答系统中查找不到问题的答案时,访问网络智能问答系统进行搜索,并将搜索的结果作为查找结果;
回答模块48,用于根据查找结果并结合外部环境参数,给出对问题的模拟人类真实情感交流的回答。
进一步地,回答模块48包括:
回答处理子模块481,用于对查找结果附加外部环境参数进行计算,并根据计算结果给出对问题的模拟人类真实情感交流的回答,外部环境参数包括心情指数和对提问者进行认知后获得的对提问者的友好度。
进一步地,网络查找处理模块47,还用于当在本地问答系统中查找不到问题的答案时,访问网络智能问答系统搜索问题的答案,并将搜索的结果作为查找结果,同时将查找结果归并到本地问答系统中。
本实施例提供的一种智能语音对话的装置中各模块实现各自功能的过程,具体可参考前述图2所示实施例的描述,此处不再赘述。
从上述图4示例的智能语音对话的装置可知,首先,通过对应用场景中的无序问答按照类别进行归类,使得对没有上下文关联的对话也可以在本地问答系统中通过无序问答查找到答案,从而解决了单一伪智能语音对话只支持固定场景的应用局限性;其次,当本地问答系统中查找不到问题的答案时,通过访问网络智能问答系统进一步搜索,并将搜索的结果本地化,从而进一步丰富本地问答系统的应用场景内容,以便在以后的查找过程中减少查询时间,提高回答的响应速度;再次,根据查找结果并结合心情指数和对提问者的友好度,得出模拟人类真实情感交流的回答,即使查找结果为没有找到对应的回答,也能够根据外部环境参数给出特定的回答,使得智能语音对话的回答不再单一,更加富有人类情感,并具有更好的个性化特点,避免了在机器学习加语义解析的智能化方法中由于算法局限性导致的答非所问的情况。可见,本实施例实现了智能和伪智能的归并,使智能语音对话更加智能化和个性化,并提高了用户体验。
需要说明的是,本说明书中的各个实施例均采用递进的方式描述,每一个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同或者相似的部分互相参见即可。对于装置类实施例而言,由于其与方法实施例基本相似,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
值得注意的是,上述装置实施例中,所包括的各个模块只是按照功能逻辑进行划分的,但并不局限于上述的划分,只要能够实现相应的功能即可;另外,各功能模块的具体名称也只是为了便于相互区分,并不用于限制本发明的保护范围。
本领域普通技术人员可以理解,实现上述各实施例方法中的全部或部分步骤是可以通过程序来指令相关的硬件来完成,相应的程序可以存储于一计算机可读取存储介质中,所述的存储介质,如ROM/RAM、磁盘或光盘等。
以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内所作的任何修改、等同替换和改进等,均应包含在本发明的保护范围之内。