用于问答系统的多服务响应方法、装置及问答系统
技术领域
本发明涉及智能问答技术领域,尤其涉及一种用于问答系统的多服务响应方法、装置及问答系统。
背景技术
随着科技的发展,智能问答系统已经广泛地使用在各个领域以及各种平台中,用以满足用户的需求,例如聊天、天气查询等,在一定程度上给用户带来了方便。
但是,现有的智能问答系统在运行一种服务功能时,如果用户试图切换另一种服务功能,由于用户请求超出当前运行的服务功能的服务范围,智能问答系统将无法响应用户请求,此时问答系统将会无法输出用户想要的结果,缺乏有效应答,用户体验差。
发明内容
本发明解决的技术问题是如何实现多服务响应输出的准确性和友好性。
为解决上述技术问题,本发明实施例提供一种用于问答系统的多服务响应方法,用于问答系统的多服务响应方法包括:
接收第一用户请求;基于所述第一用户请求进行服务导航以确定第一服务,并使用所述第一服务对所述第一用户请求进行响应;接收第二用户请求;在所述第一服务无法响应所述第二用户请求时,基于所述第二用户请求进行服务导航以确定导航结果;根据所述第一服务的类型和所述导航结果,确定对所述第二用户请求的响应方式。
可选的,在接收所述第二用户请求时,保留所述第一服务。
可选的,所述第一服务的类型为会话服务,所述导航结果为不同于所述第一服务的第二服务。
可选的,所述第一服务为第一会话服务,所述第二服务为第二会话服务;所述根据所述第一服务的类型和所述导航结果,确定对所述第二用户请求的响应方式包括:退出所述第一会话服务;输出所述第二会话服务响应于所述第二用户请求的结果。
可选的,所述第一服务为第一会话服务,所述第二服务为非会话服务;所述根据所述第一服务的类型和所述导航结果,确定对所述第二用户请求的响应方式包括:保留所述第一会话服务;拦截所述第一会话服务响应于所述第二用户请求的结果,并输出所述非会话服务响应于所述第二用户请求的结果。
可选的,所述第一服务的类型为会话服务,所述导航结果为所述问答系统的聊天功能。
可选的,所述第一服务为第一会话服务;所述根据所述第一服务的类型和所述导航结果,确定对所述第二用户请求的响应方式包括:保留所述第一会话服务;拦截所述聊天功能响应于所述第二用户请求的结果,并输出提示信息,以提示用户所述第一会话服务无法响应所述第二用户请求。
可选的,所述基于所述第二用户请求进行服务导航包括:对所述第二用户请求进行关键词提取处理,以得到至少一个关键词;根据所述至少一个关键词确定指令信息;基于所述指令信息和预设映射关系确定执行所述指令信息的服务,以作为所述导航结果。
可选的,在接收第一用户请求或接收第二用户请求的同时还包括:对接收到的用户请求进行转换,以得到事件请求信息;对所述事件请求信息进行转换,以得到应用请求信息。
可选的,所述对所述第一用户请求进行响应或所述对所述第二用户请求进行响应包括:对所述第一用户请求或所述第二用户请求转换得到的所述应用请求进行处理,以获得与所述应用请求信息对应的应用反馈信息;对所述应用反馈信息进行转换,以得到事件反馈信息;对所述事件反馈信息进行转换,以得到最终反馈信息。
可选的,从服务端接口接收所述事件请求信息和所述最终反馈信息;从应用端接口获取所述应用请求信息和所述事件反馈信息。
可选的,所述多服务响应方法还包括:在所述第一服务连续无法响应所述第二用户请求的次数达到设定次数时,则退出所述第一服务。
为解决上述技术问题,本发明实施例还公开了一种用于问答系统的多服务输出装置,用于问答系统的多服务输出装置包括:接收模块,用以接收第一用户请求;导航模块,用以基于所述第一用户请求进行服务导航以确定第一服务;第一服务响应模块,使用所述第一服务对所述第一用户请求进行响应;所述导航模块在所述接收模块接收第二用户请求,且所述第一服务无法响应所述第二用户请求时,基于所述第二用户请求进行服务导航以确定导航结果;第二响应模块,用以根据所述第一服务的类型和所述导航结果,确定对所述第二用户请求的响应方式。
可选的,在接收所述第二用户请求时,保留所述第一服务。
可选的,所述第一服务的类型为会话服务,所述导航结果为不同于所述第一服务的第二服务。
可选的,所述第一服务为第一会话服务,所述第二服务为第二会话服务;所述第二响应模块包括:退出单元,用以退出所述第一会话服务;第一输出单元,用以输出所述第二会话服务响应于所述第二用户请求的结果。
可选的,所述第一服务为第一会话服务,所述第二服务为非会话服务;所述第二响应模块包括:第一保留单元,用以保留所述第一会话服务;第二输出单元,用以拦截所述第一会话服务响应于所述第二用户请求的结果,并输出所述非会话服务响应于所述第二用户请求的结果。
可选的,所述第一服务的类型为会话服务,所述导航结果为所述问答系统的聊天功能。
可选的,所述第一服务为第一会话服务;所述第二响应模块包括:第二保留单元,用以保留所述第一会话服务;拦截单元,用以拦截所述聊天功能响应于所述第二用户请求的结果,并输出提示信息,以提示用户所述第一会话服务无法响应所述第二用户请求。
可选的,所述导航模块包括:关键词提取单元,用以对所述第二用户请求进行关键词提取处理,以得到至少一个关键词;指令信息确定单元,用以根据所述至少一个关键词确定指令信息;服务确定单元,用以基于所述指令信息和预设映射关系确定执行所述指令信息的服务,以作为所述导航结果。
可选的,所述多服务输出装置还包括:第一适配器,用以对接收到的用户请求进行转换,以得到事件请求信息;第二适配器,用以对所述事件请求信息进行转换,以得到应用请求信息。
可选的,所述第一服务响应模块或所述第二响应模块包括处理单元;所述处理单元用以对所述第一用户请求或所述第二用户请求转换得到的所述应用请求进行处理,以获得与所述应用请求信息对应的应用反馈信息;所述第二适配器对所述应用反馈信息进行转换,以得到事件反馈信息;所述第一适配器用以对所述事件反馈信息进行转换,以得到最终反馈信息。
可选的,所述多服务输出装置还包括:服务端接口,用以接收所述事件请求信息和所述最终反馈信息;应用端接口,用以获取所述应用请求信息和所述事件反馈信息。
可选的,所述多服务输出装置还包括:第一服务响应模块,还用以在所述第一服务连续无法响应所述第二用户请求的次数达到第一服务的设定次数时,退出所述第一服务。
为解决上述技术问题,本发明实施例还公开了一种问答系统,所述问答系统包括所述用于问答系统的多服务响应装置。
与现有技术相比,本发明实施例的技术方案具有以下有益效果:
本发明技术方案接收第一用户请求;基于所述第一用户请求进行服务导航以确定第一服务,并使用所述第一服务对所述第一用户请求进行响应;接收第二用户请求;在所述第一服务无法响应所述第二用户请求时,基于所述第二用户请求进行服务导航以确定导航结果;根据所述第一服务的类型和所述导航结果,确定对所述第二用户请求的响应方式。本发明技术方案可以在基于第一语音数据进入第一服务后,对于后续接收到的第二语音数据,如果第一服务无法响应所述第二用户请求,则基于所述第二用户请求进行服务导航,并根据导航结果和第一服务的类型确定对所述第二用户请求的响应方式;也就是说,根据导航结果可以确定能够响应第二用户请求的服务,进而根据该服务的类型和第一服务的类型确定是否切换至该服务,进而可以确定是否对第二用户请求进行响应,一方面可以实现不同服务之间的切换,实现对第二用户请求的响应输出;另一方面,可以实现在第一服务重要性高的情况下保留第一服务,从而可以实现对用户意图的分析,优化多服务响应输出,提高输出的准确性和友好性。
进一步,根据所述第一服务的类型和所述导航结果,确定对所述第二用户请求的响应方式包括:退出所述第一会话服务;输出所述第二会话服务响应于所述第二用户请求的结果。本发明技术方案在第一服务为第一会话服务,导航确定的服务为第二会话服务时,由于两种会话服务不能同时运行,因此退出所述第一会话服务,执行第二会话服务,以对第二用户请求进行响应,实现了对多服务输出的优化,提高用户体验。
进一步,所述根据所述第一服务的类型和所述导航结果,确定对所述第二用户请求的响应方式包括:保留所述第一会话服务;拦截所述第一会话服务响应于所述第二用户请求的结果,并输出所述非会话服务响应于所述第二用户请求的结果。本发明技术方案在第一服务为第一会话服务,导航确定的服务为非会话服务时,由于非会话服务仅执行一次,因此可以输出所述非会话服务本次响应于所述第二用户请求的结果,同时保留所述第一会话服务,实现了对第二用户请求进行响应的同时,还可以对后续的用户会话请求进行响应,进一步实现了对多服务输出的优化。
进一步,根据所述第一服务的类型和所述导航结果,确定对所述第二用户请求的响应方式包括:保留所述第一会话服务;拦截所述聊天功能响应于所述第二用户请求的结果,并输出所述第一会话服务响应于所述第二用户请求的结果。本发明技术方案在第一服务为第一会话服务,导航确定的服务为聊天功能时,由于会话服务的重要性高,聊天功能重要性低,因此可以拦截所述聊天功能响应于所述第二用户请求的结果,并对用户进行提示;同时保留所述第一会话服务,以便可以对后续的用户会话请求进行响应,进一步实现了多服务输出的友好性。
附图说明
图1是本发明实施例一种用于问答系统的多服务响应方法的流程图;
图2是本发明实施例另一种用于问答系统的多服务响应方法的流程图;
图3是本发明实施例一种用于问答系统的多服务响应装置的结构示意图;
图4是本发明实施例另一种用于问答系统的多服务响应装置的结构示意图。
具体实施方式
如背景技术中所述,现有的智能问答系统在运行一种服务功能时,如果用户试图切换另一种服务功能,由于用户请求超出当前运行的服务功能的服务范围,智能问答系统将无法响应用户请求,此时问答系统将会无法输出用户想要的结果,缺乏有效应答,用户体验差。
本发明实施例在基于第一语音数据经语音识别后得到文本数据作为第一用户请求进入第一服务后,对于后续接收到的第二语音数据,第二语音数据经语音识别后得到文本数据作为第二用户请求,如果第一服务无法响应所述第二用户请求,则基于所述第二用户请求进行服务导航,并根据导航结果和第一服务的类型确定对所述第二用户请求的响应方式;也就是说,根据导航结果可以确定能够响应第二用户请求的服务,进而根据该服务的类型和第一服务的类型确定是否切换至该服务,进而可以确定是否对第二用户请求进行响应,一方面可以实现不同服务之间的切换,实现对第二用户请求的响应输出;另一方面,可以实现在第一服务重要性高的情况下保留第一服务,从而可以实现对用户意图的分析,优化多服务响应输出,提高输出的准确性和友好性。需要说明的是,第一用户请求和第二用户请求不限于文本数据,也可以是用户输入的指令、代码等,并不做限定。
为使本发明的上述目的、特征和优点能够更为明显易懂,下面结合附图对本发明的具体实施例做详细的说明。
图1是本发明实施例一种用于问答系统的多服务响应方法的流程图。
图1所示的用于问答系统的多服务响应方法可以包括以下步骤:
步骤S101:接收第一用户请求;
步骤S102:基于所述第一用户请求进行服务导航以确定第一服务,并使用所述第一服务对所述第一用户请求进行响应;
步骤S103:接收第二用户请求;
步骤S104:在所述第一服务无法响应所述第二用户请求时,基于所述第二用户请求进行服务导航以确定导航结果;
步骤S105:根据所述第一服务的类型和所述导航结果,确定对所述第二用户请求的响应方式。
本实施例中,第一服务可以对用户的用户请求进行多次响应,而非仅执行一次对用户请求的响应就退出,此时,会存在问答系统的多服务响应,并基于此实现对多服务响应的优化。例如,天气服务在执行一次天气查询后就退出,那么天气服务不属于第一服务。
可以理解的是,本发明实施例所称服务可以是能够根据请求执行控制指令的应用程序。
具体实施中,在步骤S101中,接收第一用户请求。具体而言,可以直接接收第一用户请求,也可以间接接收第一用户请求。具体地,在间接接收第一用户请求的情形下,可以是从服务供应端(Service Provider,SP)获取第一用户请求。服务供应端可以是多种不同的可采用问答系统的平台,例如,QQ、Skype、电商客服系统、MSN平台、微信平台、短消息服务平台以及网页服务平台等。
具体实施中,在步骤S102中,可以根据第一用户请求确定能够响应第一用户请求的第一服务,然后使用所述第一服务对所述第一用户请求进行响应。具体而言,第一服务对所述第一用户请求的响应结果可以直接输出。
具体实施中,在步骤S103中,接收第二用户请求。具体而言,可以直接接收第一用户请求,也可以间接接收第一用户请求。具体地,在间接接收第一用户请求的情形下,可以是从服务供应端获取第二用户请求。
具体实施中,由于第一服务可以对用户的用户请求进行多次响应,因此在接收到第二用户请求时,第一服务仍处于运行状态。那么在步骤S104中,如果所述第一服务无法响应所述第二用户请求,那么可以基于所述第二用户请求进行服务导航以确定导航结果。具体而言,所述导航结果可以包括能够响应第二用户请求的服务。其中,第一服务无法响应所述第二用户请求指的是,第一服务无法对第二用户请求做出正确的回复;换言之,第一服务无法执行第二用户请求对应的指令。
可以理解的是,如果第一服务可以响应所述第二用户请求,则继续使用第一服务对所述第二用户请求进行响应。
具体实施中,在步骤S105中,根据所述第一服务的类型和所述导航结果,确定对所述第二用户请求的响应方式。
例如,用户输入第一用户请求“我要打电话”,基于该语音进行服务导航,确定由电话服务对该语音进行响应;电话服务响应于第一用户请求输出“请输入姓名”,用户输入第二用户请求“上海天气”,如果电话服务能够在联系人列表中查找到“上海天气”,则直接进行拨号操作;如果电话服务在联系人列表中未查找到“上海天气”,则基于第二用户请求“上海天气”进行服务导航,确定能够对该语音进行响应的服务,并比较该服务的类型与第一服务的类型,确定执行操作,并输出相应的内容。
本发明实施例在基于第一语音数据进入第一服务后,经语音识别后得到文本数据作为第一用户请求,对于后续接收到的第二语音数据,第二语音数据经语音识别后得到文本数据作为第二用户请求,如果第一服务无法响应所述第二用户请求,则基于所述第二用户请求进行服务导航,并根据导航结果和第一服务的类型确定对所述第二用户请求的响应方式;也就是说,根据导航结果可以确定能够响应第二用户请求的服务,进而根据该服务的类型和第一服务的类型确定是否切换至该服务,进而可以确定是否对第二用户请求进行响应,一方面可以实现不同服务之间的切换,实现对第二用户请求的响应输出;另一方面,可以实现在第一服务重要性高的情况下保留第一服务,从而可以实现对用户意图的分析,优化多服务响应输出,提高输出的准确性和友好性。
优选地,由于第一服务可以对用户的用户请求进行多次响应,因此在接收所述第二用户请求时,保留所述第一服务。具体而言,保留第一服务指的是第一服务未退出,可以在前台或者后台处于运行状态,一旦有用户请求接入,第一服务可以对该用户请求进行处理。
优选地,在所述第一服务连续无法响应所述第二用户请求的次数达到第一服务的设定次数时,退出所述第一服务。其中,所述第一服务的设定次数可以预先设置,不同的第一服务的设定次数可以不同,例如,若第一服务为电话服务,则设定次数可以是三次。具体而言,在基于用户的第一用户请求进入第一服务后,如果用户连续三次的用户请求,第一服务均无法响应,则退出第一服务,从而避免第一服务占用运行资源。
优选地,所述基于所述第二用户请求进行服务导航包括以下步骤:
对所述第二用户请求进行关键词提取处理,以得到至少一个关键词;根据所述至少一个关键词确定指令信息;基于所述指令信息和预设映射关系确定执行所述指令信息的服务,以作为所述导航结果。其中,指令信息和执行所述指令信息的服务之间具备预设映射关系,也就是说,每一指令信息可以确定一个服务,一个服务可以对应多个指令信息;该预设映射关系可以是预先进行配置的。
例如,用户输入第二用户请求“今天上海需要穿外套吗”,对该用户请求进行关键词提取得到多个关键词“上海”、“天气”和“外套”;根据多个关键词“上海”、“天气”和“外套”可以确定指令信息为“上海+天气”;根据指令信息“上海+天气”确定执行第二用户请求的服务为天气查询服务,并将该服务作为导航结果。
优选地,继续参照图1,在执行步骤S101和步骤S103的同时,还可以执行以下步骤:对接收到的用户请求进行转换,以得到事件请求信息;对所述事件请求信息进行转换,以得到应用请求信息。也就是,对第一用户请求或第二用户请求进行转换得到对应的事件请求信息。
优选地,在步骤S102和步骤S105中,确定对所述第一用户请求进行响应或对所述第二用户请求的响应时,可以执行以下步骤:对所述第一用户请求或所述第二用户请求转换得到的所述应用请求进行处理,以获得与所述应用请求信息对应的应用反馈信息;对所述应用反馈信息进行转换,以得到事件反馈信息;对所述事件反馈信息进行转换,以得到最终反馈信息。也就是说,针对用户请求转换得到的应用请求进行处理得到应用反馈信息,所述应用请求可以是基于应用端接口的要求转换得到的。其中,所述应用端接口的要求包括但不限于以下任一种:1)输入信息的数量要求,例如,所需获取的数据项数量等。2)输入信息的形式要求,例如,所需获取的数据的属性、字段长度等。其中,应用供应端通过应用端接口中定义的功能单元和/或基础函数信息,来实现具体服务的各项业务功能。具体而言,所述最终反馈信息可以是响应于第一用户请求或第二用户请求的结果。
优选地,在间接接收第一用户请求或第二用户请求的情形下,可以从服务端接口(Service Provider Interface,SPI)接收对应的所述事件请求信息和所述最终反馈信息。具体而言,服务端接口可以实现服务端与用户设备之间的数据传输,用户设备内集成有所述问答系统。进一步地,事件请求信息可以是基于服务端接口的要求,对接收到的用户请求进行转换得到的;其中,所述服务端接口的要求可以包括但不限于以下任一种:1)输入信息的数量要求,例如,所需获取的数据项数量等。2)输入信息的形式要求,例如,所需获取的数据的属性、字段长度等。最终反馈信息可以是基于服务端的要求,对事件反馈信息进行转换得到的。具体而言,可以将事件反馈信息转换为与服务端对应的最终反馈信息。可以理解的是,所述用户设备包括但不限于任何一种可以与用户通过键盘、鼠标、遥控器、触摸板或声控设备等方式进行交互的电子产品,例如电脑、平板电脑、智能手机或掌上游戏机等。
优选地,可以从应用端接口(Application Provider Interface,API)获取应用请求信息和所述事件反馈信息。具体而言,应用端接口可以实现应用端(ApplicationProvider)与用户设备之间的数据传输,用户设备内集成有所述问答系统。例如,应用端接口可以实现将应用端对所述第一用户请求进行响应的结果传输至用户设备。进一步地,应用端可以提供多个服务,以响应于多种用户请求。例如,天气查询服务、短信服务、电话服务等。进一步地,通过SPI和API可以将通信层与业务层进行分离,可以提高平台个性化问答系统的开发效率,减少代码冗余,降低维护难度。
图2是本发明实施例另一种用于问答系统的多服务响应方法的流程图。
图2所示的用于问答系统的多服务响应方法可以包括以下步骤:
步骤S201:接收第一用户请求;
步骤S202:基于所述第一用户请求进行服务导航以确定第一会话服务,并使用所述第一会话服务对所述第一用户请求进行响应;
步骤S203:接收第二用户请求;
步骤S204:在所述第一会话服务无法响应所述第二用户请求时,基于所述第二用户请求进行服务导航以确定导航结果;
步骤S205:判断导航结果是否为不同于所述第一会话服务的第二服务,如果是进入步骤S206,否则,进入步骤S209;
步骤S206:判断第二服务的类型是否为会话服务,如果是,则进入步骤S207,否则进入步骤S208;
步骤S207:退出所述第一会话服务,并输出所述第二会话服务响应于所述第二用户请求的结果;
步骤S208:保留所述第一会话服务,并拦截所述第一会话服务响应于所述第二用户请求的结果,并输出所述非会话服务响应于所述第二用户请求的结果;
步骤S209:保留所述第一会话服务,并拦截所述聊天功能响应于所述第二用户请求的结果,并输出提示信息,以提示用户所述第一会话服务无法响应所述第二用户请求。
本实施例中,步骤S201至步骤S204的具体实施方式可参照图1所示的步骤S101至步骤S104,此处不再赘述。
由于第一服务可以对用户的用户请求进行多次响应,且会话服务可以对用户的用户请求进行多次响应,因此本发明实施例以第一服务的类型为会话服务为例来进行说明,不构成对本发明实施例的限制。具体而言,会话服务可以是需要与用户交互的服务。
具体实施中,由于导航结果确定的服务的类型可以影响对第二用户请求的响应方式,因此在步骤S205中,首先判断导航结果是否为不同于所述第一会话服务的第二服务。然后在步骤S206中,判断第二服务的类型是否为会话服务,也即是否为第二会话服务。相应地,如果第二服务是第二会话服务,那么此时存在两个会话服务:第二会话服务与第一会话服务。由于两个会话服务不能并存,因此在步骤S207中,退出所述第一会话服务,同时执行第二会话服务,并输出所述第二会话服务响应于所述第二用户请求的结果。本发明实施例在第一服务为第一会话服务,导航确定的服务为第二会话服务时,由于两种会话服务不能同时运行,因此退出所述第一会话服务,执行第二会话服务,以对第二用户请求进行响应,实现了对多服务输出的优化,提高用户体验。
具体实施中,在步骤S206中,判断第二服务的类型是否为会话服务,也即是否为第二会话服务,如果不是,则第二服务为非会话服务。具体而言,非会话服务可以是无需与用户交互的服务。由于非会话服务与会话服务不会发生冲突,也即非会话服务与会话服务可以并存,因此,在步骤S208中,可以保留所述第一会话服务,同时执行非会话服务;还可以拦截所述第一会话服务响应于所述第二用户请求的结果,并输出所述非会话服务响应于所述第二用户请求的结果。例如,用户输入第一用户请求“我要打电话”,基于该语音进行服务导航,确定由电话服务对该语音进行响应;电话服务响应于第一用户请求输出“请输入姓名”,用户输入第二用户请求“上海天气”,如果电话服务能够在联系人列表中查找到“上海天气”,则直接进行拨号操作;如果电话服务在联系人列表中未查找到“上海天气”,则基于第二用户请求“上海天气”进行服务导航,确定能够对该用户请求进行响应的服务为天气查询服务;此时,保留电话服务,然后执行天气查询服务,并输出查询结果;同时,电话服务对于第二用户请求会有相应的提示“未找到联系人,请重新输入”,对于该提示,则可以拦截,不再输出给用户。
本发明实施例在第一服务为第一会话服务,导航确定的服务为非会话服务时,由于非会话服务仅执行一次,因此可以输出所述非会话服务本次响应于所述第二用户请求的结果,同时保留所述第一会话服务,实现了对第二用户请求进行响应的同时,还可以对后续的用户会话请求进行响应,进一步实现了对多服务输出的优化。
具体实施中,在步骤S205中,如果判断导航结果不是第二服务,那么导航结果可以是聊天功能。也就是说,如果导航结果是服务,那么执行该服务时,需要从当前的问答系统跳转至提供该服务的应用端,而如果导航结果是聊天功能,则可以直接在问答系统内查找相应答案即可,不需要从当前的问答系统跳转至提供该服务的应用端。
具体实施中,由于接收第二用户请求时,第一会话服务仍处于保留和等待状态,也就是说,如果导航结果表明可以响应于第二用户请求的是聊天功能,而聊天功能的重要性比会话服务低,因此,在步骤S209中,继续保留所述第一会话服务,并拦截所述聊天功能响应于所述第二用户请求的结果。同时输出第一会话服务响应所述第二用户请求的提示信息,以提示用户所述第一会话服务无法响应所述第二用户请求,以便用户进行后续操作。
本发明实施例在第一服务为第一会话服务,导航确定的服务为聊天功能时,由于会话服务的重要性高,聊天功能重要性低,因此可以拦截所述聊天功能响应于所述第二用户请求的结果,并对用户进行提示;同时保留所述第一会话服务,以便可以对后续的用户会话请求进行响应,进一步实现了多服务输出的友好性。
图3是本发明实施例一种用于问答系统的多服务响应装置的结构示意图。
图3所示的用于问答系统的多服务响应装置30可以包括接收模块301、导航模块302、第一服务响应模块303和第二响应模块304。
其中,接收模块301用以接收第一用户请求;导航模块302用以基于所述第一用户请求进行服务导航以确定第一服务;第一服务响应模块303使用所述第一服务对所述第一用户请求进行响应。
所述导航模块302在所述接收模块301接收第二用户请求,且所述第一服务无法响应所述第二用户请求时,基于所述第二用户请求进行服务导航以确定导航结果;第二响应模块304用以根据所述第一服务的类型和所述导航结果,确定对所述第二用户请求的响应方式。
具体实施中,接收模块301可以直接接收第一用户请求,也可以间接接收第一用户请求。具体地,在间接接收第一用户请求的情形下,可以是从服务供应端(ServiceProvider,SP)获取第一用户请求。服务供应端可以是多种不同的可采用问答系统的平台,例如,QQ、Skype、电商客服系统、MSN平台、微信平台、短消息服务平台以及网页服务平台等。
具体实施中,导航模块302可以根据第一用户请求确定能够响应第一用户请求的第一服务,然后第一服务响应模块303使用所述第一服务对所述第一用户请求进行响应。具体而言,第一服务对所述第一用户请求的响应结果可以直接输出。
具体实施中,接收模块301可以直接接收第一用户请求,也可以间接接收第一用户请求。具体地,在间接接收第一用户请求的情形下,可以是从服务供应端获取第二用户请求。
具体实施中,由于第一服务可以对用户的用户请求进行多次响应,因此在接收到第二用户请求时,第一服务仍处于运行状态。如果所述第一服务无法响应所述第二用户请求,那么导航模块302可以基于所述第二用户请求进行服务导航以确定导航结果。具体而言,所述导航结果可以包括能够响应第二用户请求的服务。其中,第一服务无法响应所述第二用户请求指的是,第一服务无法对第二用户请求做出正确的回复;换言之,第一服务无法执行第二用户请求对应的指令。
可以理解的是,如果第一服务可以响应所述第二用户请求,则继续使用第一服务对所述第二用户请求进行响应。
具体实施中,第二响应模块304可以根据所述第一服务的类型和所述导航结果,确定对所述第二用户请求的响应方式。
例如,用户输入第一用户请求“我要打电话”,导航模块302基于该用户请求进行服务导航,确定由电话服务对该用户请求进行响应;第一服务响应模块303使用电话服务响应于第一用户请求输出“请输入姓名”,用户输入第二用户请求“上海天气”,如果电话服务能够在联系人列表中查找到“上海天气”,则直接进行拨号操作;如果电话服务在联系人列表中未查找到“上海天气””,则导航模块302基于第二用户请求“上海天气”进行服务导航,确定能够对该语音进行响应的服务,第二响应模块304比较该服务的类型与第一服务的类型,确定执行操作,并输出相应的内容。
本发明实施例在基于第一用户请求进入第一服务后,对于后续接收到的第二用户请求,如果第一服务无法响应所述第二用户请求,则基于所述第二用户请求进行服务导航,并根据导航结果和第一服务的类型确定对所述第二用户请求的响应方式;也就是说,根据导航结果可以确定能够响应第二用户请求的服务,进而根据该服务的类型和第一服务的类型确定是否切换至该服务,进而可以确定是否对第二用户请求进行响应,一方面可以实现不同服务之间的切换,实现对第二用户请求的响应输出;另一方面,可以实现在第一服务重要性高的情况下保留第一服务,从而可以实现对用户意图的分析,优化多服务响应输出,提高输出的准确性和友好性。
优选地,继续参照图3,多服务响应装置30可以包括第一适配器(图未示)和第二适配器(图未示):第一适配器用以对接收到的用户请求进行转换,以得到事件请求信息;第二适配器用以对所述事件请求信息进行转换,以得到应用请求信息。也就是,对第一用户请求或第二用户请求进行转换得到对应的事件请求信息。
优选地,所述第一服务响应模块303或所述第二响应模块304可以包括处理单元(图未示);所述处理单元用以对所述第一用户请求或所述第二用户请求转换得到的所述应用请求进行处理,以获得与所述应用请求信息对应的应用反馈信息;所述第二适配器对所述应用反馈信息进行转换,以得到事件反馈信息;所述第一适配器对所述事件反馈信息进行转换,以得到最终反馈信息。也就是说,针对用户请求转换得到的应用请求进行处理得到应用反馈信息,所述应用请求可以是基于应用端接口的要求转换得到的。其中,所述应用端接口的要求包括但不限于以下任一种:1)输入信息的数量要求,例如,所需获取的数据项数量等。2)输入信息的形式要求,例如,所需获取的数据的属性、字段长度等。其中,应用供应端通过应用端接口中定义的功能单元和/或基础函数信息,来实现具体服务的各项业务功能。具体而言,所述最终反馈信息可以是响应于第一用户请求或第二用户请求的结果。
优选地,多服务响应装置30可以包括服务端接口(图未示)和应用端接口(图未示)。服务端接口用以接收所述事件请求信息和所述最终反馈信息;应用端接口用以获取所述应用请求信息和所述事件反馈信息。由此,在间接接收第一用户请求或第二用户请求的情形下,可以从服务端接口(Service Provider Interface,SPI)接收对应的所述事件请求信息和所述最终反馈信息。具体而言,服务端接口可以实现服务端与用户设备之间的数据传输,用户设备内集成有所述问答系统。进一步地,事件请求信息可以是基于服务端接口的要求,对接收到的用户请求进行转换得到的;其中,所述服务端接口的要求可以包括但不限于以下任一种:1)输入信息的数量要求,例如,所需获取的数据项数量等。2)输入信息的形式要求,例如,所需获取的数据的属性、字段长度等。最终反馈信息可以是基于服务端的要求,对事件反馈信息进行转换得到的。具体而言,第一适配器经由服务端接口接收事件反馈信息后,可以将事件反馈信息转换为与服务端对应的最终反馈信息。可以理解的是,所述用户设备包括但不限于任何一种可以与用户通过键盘、鼠标、遥控器、触摸板或声控设备等方式进行交互的电子产品,例如电脑、平板电脑、智能手机或掌上游戏机等。
优选地,可以从应用端接口(Application Provider Interface,API)获取应用请求信息和所述事件反馈信息。具体而言,应用端接口可以实现应用端(ApplicationProvider)与用户设备之间的数据传输,用户设备内集成有所述问答系统。例如,应用端接口可以实现将应用端对所述第一用户请求进行响应的结果传输至用户设备。进一步地,应用端可以提供多个服务,以响应于多种用户的用户请求。例如,天气查询服务、短信服务、电话服务等。进一步地,通过SPI和API可以将通信层与业务层进行分离,可以提高平台个性化问答系统的开发效率,减少代码冗余,降低维护难度。
具体而言,服务端可以通过第一适配器与多服务响应装置进行信息交互;应用端通过第二适配器与多服务响应装置进行信息交互。
优选地,由于第一服务可以对用户的用户请求进行多次响应,因此在接收模块301接收所述第二用户请求时,保留所述第一服务。具体而言,保留第一服务指的是第一服务未退出,可以在前台或者后台处于运行状态,一旦有语音接入,第一服务可以对该语音进行处理。
本发明实施例的具体实施方式可参照图1所示实施例,此处不再赘述。
图4是本发明实施例另一种用于问答系统的多服务响应装置的结构示意图。
图4所示的用于问答系统的多服务响应装置40可以包括接收模块401、导航模块402、第一服务响应模块403和第二响应模块404。
其中,接收模块301用以接收第一用户请求;导航模块302用以基于所述第一用户请求进行服务导航以确定第一服务;第一服务响应模块303使用所述第一服务对所述第一用户请求进行响应。所述导航模块302在所述接收模块301接收第二用户请求,且所述第一服务无法响应所述第二用户请求时,基于所述第二用户请求进行服务导航以确定导航结果;第二响应模块304用以根据所述第一服务的类型和所述导航结果,确定对所述第二用户请求的响应方式。
本实施例中,接收模块401、导航模块402、第一服务响应模块403和第二响应模块404的具体实施方式可参照图3所示的接收模块301、导航模块302、第一服务响应模块303和第二响应模块304,此处不再赘述。
具体实施中,第一服务响应模块403在所述第一服务连续无法响应所述第二用户请求的次数达到第一服务的设定次数时,退出所述第一服务。其中,所述第一服务的设定次数可以预先设置,不同的第一服务的设定次数可以不同,例如若第一服务为电话服务,则设定次数可以是三次。具体而言,在基于用户的第一用户请求进入第一服务后,如果用户连续三次的用户请求,第一服务均无法响应,则退出第一服务,从而避免第一服务占用运行资源。
具体实施中,导航模块402可以包括关键词提取单元4021、指令信息确定单元4022和服务确定单元4023。其中,关键词提取单元4021用以对所述第二用户请求进行关键词提取处理,以得到至少一个关键词;指令信息确定单元4022用以根据所述至少一个关键词确定指令信息;服务确定单元4023用以基于所述指令信息和预设映射关系确定执行所述指令信息的服务,以作为所述导航结果。具体而言,指令信息和执行所述指令信息的服务之间具备预设映射关系,也就是说,每一指令信息可以确定一个服务,一个服务可以对应多个指令信息;该预设映射关系可以是预先进行配置的。
由于第一服务可以对用户的用户请求进行多次响应,且会话服务可以对用户的用户请求进行多次响应,因此本发明实施例以第一服务的类型为会话服务为例来进行说明,不构成对本发明实施例的限制。具体而言,会话服务可以是需要与用户交互的服务。
具体实施中,第二响应模块404可以包括退出单元4041和第一输出单元4042。其中,退出单元4041用以退出所述第一会话服务;第一输出单元4042用以输出所述第二会话服务响应于所述第二用户请求的结果。具体而言,如果第二服务是第二会话服务,那么此时存在两个会话服务:第二会话服务与第一会话服务。由于两个会话服务不能并存,因此退出单元4041可以退出所述第一会话服务,同时执行第二会话服务;第一输出单元4042可以输出所述第二会话服务响应于所述第二用户请求的结果。本发明实施例在第一服务为第一会话服务,导航确定的服务为第二会话服务时,由于两种会话服务不能同时运行,因此退出所述第一会话服务,执行第二会话服务,以对第二用户请求进行响应,实现了对多服务输出的优化,提高用户体验。
具体实施中,第二响应模块404可以包括第一保留单元4043和第二输出单元4044。其中,第一保留单元4043用以保留所述第一会话服务;第二输出单元4044用以拦截所述第一会话服务响应于所述第二用户请求的结果,并输出所述非会话服务响应于所述第二用户请求的结果。
如果第二服务的类型不是会话服务,则第二服务为非会话服务。具体而言,非会话服务可以是无需与用户交互的服务。由于非会话服务与会话服务不会发生冲突,也即非会话服务与会话服务可以并存,因此,第一保留单元4043可以保留所述第一会话服务,同时执行非会话服务;第二输出单元4044还可以拦截所述第一会话服务响应于所述第二用户请求的结果,并输出所述非会话服务响应于所述第二用户请求的结果。例如,用户输入第一用户请求“我要打电话”,基于该语音进行服务导航,确定由电话服务对该语音进行响应;电话服务响应于第一用户请求输出“请输入姓名”,用户输入第二用户请求“上海天气”,如果电话服务能够在联系人列表中查找到“上海天气”,则直接进行拨号操作;如果电话服务在联系人列表中未查找到“上海天气”,则基于第二用户请求“上海天气”进行服务导航,确定能够对该语音进行响应的服务为天气查询服务;此时,保留电话服务,然后执行天气查询服务,并输出查询结果;同时,电话服务对于第二用户请求会有相应的提示“未找到联系人,请重新输入”,对于该提示,则可以拦截,不再输出给用户。
本发明实施例在第一服务为第一会话服务,导航确定的服务为非会话服务时,由于非会话服务仅执行一次,因此可以输出所述非会话服务本次响应于所述第二用户请求的结果,同时保留所述第一会话服务,实现了对第二用户请求进行响应的同时,还可以对后续的用户会话请求进行响应,进一步实现了对多服务输出的优化。
具体实施中,第二响应模块404可以包括第二保留单元4045和拦截单元4046。其中,第二保留单元4045用以保留所述第一会话服务;拦截单元4046用以拦截所述聊天功能响应于所述第二用户请求的结果,并输出提示信息,以提示用户所述第一会话服务无法响应所述第二用户请求。具体而言,如果判断导航结果不是第二服务,那么导航结果可以是聊天功能。也就是说,如果导航结果是服务,那么执行该服务时,需要从当前的问答系统跳转至提供该服务的应用端,而如果导航结果是聊天功能,则可以直接在问答系统内查找相应答案即可,不需要从当前的问答系统跳转至提供该服务的应用端。
具体实施中,由于接收第二用户请求时,第一会话服务仍处于保留和等待状态,也就是说,如果导航结果表明可以响应于第二用户请求的是聊天功能,而聊天功能的重要性比会话服务低,因此,第二保留单元4045继续保留所述第一会话服务,拦截单元4046拦截所述聊天功能响应于所述第二用户请求的结果。同时输出第一会话服务响应所述第二用户请求的提示信息,以提示用户所述第一会话服务无法响应所述第二用户请求,以便用户进行后续操作。
本发明实施例在第一服务为第一会话服务,导航确定的服务为聊天功能时,由于会话服务的重要性高,聊天功能重要性低,因此可以拦截所述聊天功能响应于所述第二用户请求的结果,并对用户进行提示;同时保留所述第一会话服务,以便可以对后续的用户会话请求进行响应,进一步实现了多服务输出的友好性。
本发明实施例的具体实施方式可参照图1和图2所示的实施例,此处不再赘述。
本发明实施例还公开了一种问答系统,所述问答系统包括图3所示的用于问答系统的多服务响应装置30或图4所示的用于问答系统的多服务响应装置40。
本领域普通技术人员可以理解上述实施例的各种方法中的全部或部分步骤是可以通过程序来指令相关的硬件来完成,该程序可以存储于以计算机可读存储介质中,存储介质可以包括:ROM、RAM、磁盘或光盘等。
虽然本发明披露如上,但本发明并非限定于此。任何本领域技术人员,在不脱离本发明的精神和范围内,均可作各种更动与修改,因此本发明的保护范围应当以权利要求所限定的范围为准。