语音控制方法、装置、服务器、终端设备及存储介质
文献发布时间:2023-06-19 11:52:33
技术领域
本申请属于终端技术领域,尤其涉及语音控制方法、装置、服务器、终端设备及存储介质。
背景技术
在人机自然语言对话系统中,语音助手是一款智能型的应用,可以搭载于手机、电视、平板、电脑或音箱等智能终端设备,通过接收用户的音频信号,进行语音识别,做出判断或回应;语音助手被唤醒、语音识别及回应的对话过程,需要语音数据库进行云端支持;而对话管理(Dialog Manager,DM)则可以作为云端服务,负责维护和更新对话的流程和状态,它的输入是话述(utterance)以及相关上下文,经过对话术理解,输出系统应答。
随着互联网与物联网的发展,基于多个设备之间的网络连接,可以通过语音互相控制,使用多个设备进行跨设备的联合对话,形成全场景会话场景;例如与手机进行语音交互,通过手机控制电视执行相应的任务操作等。
目前,在使用多个设备进行跨设备的联合对话时,针对多个设备,对话管理对用户的任务指令,会进行多个阶段的重复处理,延长了系统的响应时间,增加了对话的时延。
发明内容
本申请实施例提供了语音控制方法、装置、服务器、终端设备及存储介质,可以解决针对多个设备联合对话时,对话管理会对用户的任务指令进行多个阶段的重复处理,而延长系统响应时间及增加对话时延的问题。
第一方面,本申请实施例提供了一种语音控制方法,包括:
接收第一终端发送的语音指令识别结果;对所述语音指令识别结果进行语义处理,得到操作信息,所述操作信息包括第一语义指令和第二语义指令;将所述第一语义指令和所述第二语义指令发送至所述第一终端,所述第一语义指令用于指示所述第一终端将所述第二语义指令发送至第二终端;接收所述第二终端识别所述第二语义指令后反馈的执行命令,并根据所述执行命令将与所述第二语义指令对应的业务逻辑发送至所述第二终端。
采用本申请提供的语音控制方法,以服务器作为执行主体,通过接收第一终端发送的语音指令识别结果,对语音指令识别结果进行语义处理,得到语音指令识别结果中待执行的操作信息,并将操作信息发送至第一终端;由第一终端执行操作信息中的第一语义指令,并将操作信息中的第二语义指令发送至第二终端;在第二终端识别第二语义指令后,服务器可以直接接收到第二终端反馈的执行命令,根据执行命令调用与第二语义指令相对应的业务逻辑,并将业务逻辑发送至第二终端,省去了对第二语义指令的处理流程,缩短了对话的延时,提高了对话系统的响应时间。
在第一方面的一种可能的实现方式中,所述对所述语音指令识别结果进行语义处理,得到操作信息包括:
识别所述语音指令识别结果,得到所述语音指令识别结果的目标意图及目标子意图;根据所述目标意图,预验证所述目标子意图,得到所述目标意图的响应逻辑和所述目标子意图的试运行结果;将所述响应逻辑作为所述操作信息的所述第一语义指令,将所述目标子意图及所述试运行结果作为所述操作信息的第二语义指令。
通过采用该可能的实现方式,在接收到第一终端发送的语音指令识别结果(即用户输入的语音指令对应的文本信息)后,对语音指令识别结果进行语义识别,得到语音指令识别结果中的目标意图及目标子意图;通过根据目标意图预验证目标子意图,得到目标意图的响应逻辑及预验证目标子意图的试运行结果,在将响应逻辑作为第一语义指令发送至第一终端的同时,还将目标子意图及试运行结果作为第二语义指令发送至第一终端;通过在第一终端执行第一语义指令,将第二语义指令发送至第二终端,为对话系统提供信息基础,提高对话系统的响应速度。
在第一方面的一种可能的实现方式中,所述将所述第一语义指令和所述第二语义指令发送至所述第一终端包括:
将所述第一语义指令和所述第二语义指令以语义表征的形式发送至所述第一终端。
在第一方面的一种可能的实现方式中,所述根据所述执行命令将与所述第二语义指令对应的业务逻辑发送至所述第二终端包括:
根据所述执行命令,解析所述试运行结果;根据解析后的所述试运行结果,调用所述业务逻辑,并将所述业务逻辑以语义表征的形式发送至所述第二终端。
通过采用该可能的实现方式,在接收到第二终端发送的执行命令后,可以直接执行相应的命令,对试运行结果进行解析,根据对试运行结果的解析结果直接调用相应的业务逻辑,无需再执行对目标子意图进行语义处理、选择相应的执行方式等流程;缩短的对话系统的响应时间。
第二方面,本申请实施例提供了一种语音控制方法,包括:
接收用户输入的语音指令,并对所述语音指令进行语音识别,得到语音指令识别结果;将所述语音指令识别结果发送至服务器;接收所述服务器对所述语音指令识别结果进行语义处理后反馈的操作信息,所述操作信息包括第一语义指令和第二语义指令;执行所述第一语义指令,将所述第二语义指令发送至第二终端;所述第二语义指令用于指示所述第二终端发送执行命令至服务器,并接收所述服务器反馈的与所述第二语义指令对应的业务逻辑。
采用本申请提供的语音控制方法,以第一终端作为执行主体,第一终端对用户输入的语音指令进行语音识别后,将得到的语音指令识别结果发送至服务器,接收到服务器对语音指令识别结果进行语义处理后的操作信息,执行操作信息中的第一语义指令,将第二语义指令发送至第二终端;接收服务器响应语音指令识别结果,所反馈的第一语义指令和第二语义指令;执行第一语义指令,将第二语义指令发送至第二终端,使第二终端根据第二语义指令直接调用服务器的执行接口,发送执行命令至服务器,并接收服务器反馈的与第二语义指令对应的业务逻辑;为对话系统进一步响应第二语音指令提供了信息基础,节省了对第二语义指令的处理流程,从而可以缩短对话系统的响应时间。
在第二方面的一种可能的实现方式中,所述接收所述服务器对所述语音指令识别结果进行语义处理后反馈的操作信息包括:
接收所述服务器针对所述语音指令识别结果中的目标意图反馈的响应逻辑,以及接收所述服务器针对所述语音指令识别结果中的目标子意图反馈的试运行结果。
在第二方面的一种可能的实现方式中,所述第一语义指令为所述服务器对所述语音指令识别结果中的目标意图反馈的响应逻辑,所述第二语义指令为所述服务器对所述语音指令识别结果中的目标子意图反馈的试运行结果及所述目标子意图;
相应的,执行所述第一语义指令,将所述第二语义指令发送至第二终端包括:
执行所述服务器反馈的所述响应逻辑,将所述服务器反馈的所述目标子意图及所述试运行结果发送所述第二终端。
采用该可能的实现方式,在接收服务器针对语音指令识别结果中的目标意图所反馈的响应逻辑的同时,还接收服务器针对语音指令识别结果中的目标子意图所反馈的试运行结果,将目标子意图的试运行结果作为中间数据传输给第二终端,为第二终端提供数据基础;通过执行服务器反馈的响应逻辑,将目标子意图发送至第二终端的同时,还将试运行结果也发送至第二终端,使得第二终端可以根据试运行结果直接调用服务器的执行接口,无需再将目标子意图上传服务器进行语义处理及判断执行等流程,节省了数据的处理流程,缩短了对话系统的响应时间。
第三方面,本申请实施例提供了一种语音控制方法,包括:
接收第一终端执行第一语义指令时发送的第二语义指令;所述第一语义指令和所述第二语义指令为所述第一终端将语音指令识别结果发送至服务器后,接收到所述服务器根据所述语音指令识别结果反馈的操作信息;识别所述第二语义指令,得到所述第二语义指令的识别结果;根据所述识别结果,发送执行命令至服务器;接收所述服务器根据所述执行命令反馈的与所述第二语义指令对应的业务逻辑,并执行所述业务逻辑。
采用本申请提供的语音控制方法,以第二终端作为执行主体,对接收到的第二语义指令进行识别,根据识别到的结果直接调用服务器的执行接口,指示服务器反馈与第二语义指令相对应的业务逻辑,无需再通过服务器对第二语义指令进行语义处理,节省了数据处理流程,提高了第二终端的响应速度,缩短了会话系统的时延。
在第三方面的一种可能的实现方式中,所述操作信息包括所述服务器对所述语音指令识别结果中的目标意图反馈的响应逻辑,以及所述服务器对所述语音指令识别结果中的目标子意图反馈的试运行结果;
相应的,所述接收第一终端执行第一语义指令时发送的第二语义指令包括:接收第一终端执行所述响应逻辑时发送的所述目标子意图和所述试运行结果。
在第三方面的一种可能的实现方式中,所述第二语义指令包括所述服务器预验证所述语音指令识别结果中的目标子意图得到的试运行结果;
相应的,所述识别所述第二语义指令,得到所述第二语义指令的识别结果包括:识别所述第二语义指令,得到所述目标子意图的所述试运行结果。
在第三方面的一种可能的实现方式中,所述根据所述识别结果,发送执行命令至服务器包括:
根据所述识别结果,将所述试运行结果对应的执行命令发送至所述服务器。
示例性的,所述试运行结果包括技能标识、意图标识、槽位列表,其中槽位包括槽位名称、槽位类型和槽位值。
应理解,所述服务器、所述第一终端、所述第二终端可以在联网的状态下,彼此之间实现互联,通过数据传输协议,实现彼此之间的数据传输;或者三个终端分别连接到云侧服务,通过云侧服务实现数据的交互。
示例性的,所述服务器、所述第一终端、所述第二终端可以通过无线WiFi或蜂窝网络,通过各终端之间地址及接口的相互确认,彼此连接形成对话系统的设备圈,通过语音指令实现互相控制。
示例性的,所述服务器将所述操作信息中的第一语义指令发送至所述第一终端,将所述第二语义指令直接发送至所述第二终端。
第四方面,本申请实施例提供了一种语音控制装置,包括:
第一接收模块,用于接收第一终端发送的语音指令识别结果;
语义处理模块,用于对所述语音指令识别结果进行语义处理,得到操作信息,所述操作信息包括第一语义指令和第二语义指令;
第一发送模块,用于将所述第一语义指令和所述第二语义指令发送至所述第一终端,所述第一语义指令用于指示所述第一终端将所述第二语义指令发送至第二终端;
命令执行模块,用于接收所述第二终端识别所述第二语义指令后反馈的执行命令,并根据所述执行命令将与所述第二语义指令对应的业务逻辑发送至所述第二终端。
在一种可能的实现方式中,所述语义处理模块包括:
语义识别子模块,用于识别所述语音指令识别结果,得到所述语音指令识别结果的目标意图及目标子意图;
任务执行子模块,用于根据所述目标意图,预验证所述目标子意图,得到所述目标意图的响应逻辑和所述目标子意图的试运行结果;将所述响应逻辑作为所述操作信息的所述第一语义指令,将所述目标子意图及所述试运行结果作为所述操作信息的第二语义指令。
在一种可能的实现方式中,所述第一发送模块还用于将所述第一语义指令和所述第二语义指令以语义表征的形式发送至所述第一终端。
在一种可能的实现方式中,所述第一发送模块包括:
第一子模块,用于根据所述执行命令,解析所述试运行结果;
第二字模块,用于根据解析后的所述试运行结果,调用所述业务逻辑,并将所述业务逻辑以语义表征的形式发送至所述第二终端。
第五方面,本申请实施例提供了一种语音控制装置,包括:
语音识别模块,用于接收用户输入的语音指令,并对所述语音指令进行语音识别,得到语音指令识别结果;
第二发送模块,用于将所述语音指令识别结果发送至服务器;
第二接收模块,用于接收所述服务器对所述语音指令识别结果进行语义处理后反馈的操作信息,所述操作信息包括第一语义指令和第二语义指令;
指令执行模块,用于执行所述第一语义指令,将所述第二语义指令发送至第二终端;所述第二语义指令用于指示所述第二终端发送执行命令至服务器,并接收所述服务器反馈的与所述第二语义指令对应的业务逻辑。
在一种可能的实现方式中,所述第二接收模块还用于接收所述服务器针对所述语音指令识别结果中的目标意图反馈的响应逻辑,以及接收所述服务器针对所述语音指令识别结果中的目标子意图反馈的试运行结果。
在一种可能的实现方式中,所述第一语义指令为所述服务器对所述语音指令识别结果中的目标意图反馈的响应逻辑,所述第二语义指令为所述服务器对所述语音指令识别结果中的目标子意图反馈的试运行结果及所述目标子意图;所述指令执行模块还用于执行所述服务器反馈的所述响应逻辑,将所述服务器反馈的所述目标子意图及所述试运行结果发送所述第二终端。
第六方面,本申请实施例提供了一种语音控制装置,包括:
第三接收模块,用于接收第一终端执行第一语义指令时发送的第二语义指令;所述第一语义指令和所述第二语义指令为所述第一终端将语音指令识别结果发送至服务器后,接收到所述服务器根据所述语音指令识别结果反馈的操作信息;
指令识别模块,用于识别所述第二语义指令,得到所述第二语义指令的识别结果;
第三发送模块,用于根据所述识别结果,发送执行命令至服务器;
业务执行模块,用于接收所述服务器根据所述执行命令反馈的与所述第二语义指令对应的业务逻辑,并执行所述业务逻辑。
在一种可能的实现方式中,所述操作信息包括所述服务器对所述语音指令识别结果中的目标意图反馈的响应逻辑,以及所述服务器对所述语音指令识别结果中的目标子意图反馈的试运行结果;所述第三接收模块还用于接收第一终端执行所述响应逻辑时发送的所述目标子意图和所述试运行结果。
在一种可能的实现方式中,所述第二语义指令包括所述服务器预验证所述语音指令识别结果中的目标子意图得到的试运行结果;所述指令识别模块还用于识别所述第二语义指令,得到所述目标子意图的所述试运行结果。
在一种可能的实现方式中,所述第三发送模块还用于根据所述识别结果,将所述试运行结果对应的执行命令发送至所述服务器。
第七方面,本申请实施例提供了一种服务器,所述服务器包括存储器、处理器、自然语言理解模块及对话管理模块,所述存储器用于存储计算机程序,所述计算机程序包括指令,当所述指令被所述服务器执行时,使得所述服务器执行所述语音控制方法。
第八方面,本申请实施例提供了一种终端设备,所述终端设备包括存储器、处理器及语音助手,所述存储器用于存储计算机程序,所述计算机程序包括指令,当所述指令被所述终端设备执行时,使得所述终端设备执行所述语音控制方法。
第九方面,本申请实施例提供了一种终端设备,所述终端设备包括存储器、处理器,所述存储器用于存储计算机程序,所述计算机程序包括指令,当所述指令被所述终端设备执行时,使得所述终端设备执行所述语音控制方法。
第十方面,本申请实施例提供了一种计算机存储介质,所述计算机可读存储介质存储有计算机程序,所述计算机程序包括指令,所述指令在终端设备上运行时,使得所述终端设备执行所述语音控制方法。
第十一方面,本申请实施例提供了一种包含指令的计算机程序产品,所述计算机程序产品在终端设备上运行时,使得终端设备执行上述第一方面中任一项所述的语音控制方法。
可以理解的是,上述第二方面至第十一方面的有益效果可以参见上述第一方面或第一方面的各个实现方式的技术效果,在此不再赘述。
本申请实施例与现有技术相比存在的有益效果是:采用本申请提供的语音控制方法,通过接收第一终端发送的语音指令识别结果,对语音指令识别结果进行语义处理,得到语音指令识别结果中待执行的操作信息,并将操作信息发送至第一终端;由第一终端执行操作信息中的第一语义指令,并将操作信息中的第二语义指令发送至第二终端;在第二终端识别第二语义指令后,可以直接接收到第二终端反馈的执行命令,根据执行命令调用与第二语义指令相对应的业务逻辑,并将业务逻辑发送至第二终端;通过本实施例,在第二终端接收到第二语义指令后,可以直接接收到第二终端根据第二语义指令中包含的任务信息反馈执行命令,无需再对第二终端接收的第二语义指令进行再次语义处理,可以根据反馈的执行命令调用相应的业务逻辑,通过执行接口发送至第二终端,节省了对第二语义指令的处理流程,缩短了对话的延时,提高了对话系统的响应时间。
附图说明
为了更清楚地说明本申请实施例中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1是本申请一实施例提供的多设备互联语音控制的系统架构示意图;
图2是本申请另一实施例提供的多设备互联语音控制的系统架构示意图;
图3是本申请一实施例提供的语音控制方法的流程示意图;
图4是本申请另一实施例提供的语音控制方法的流程示意图;
图5是本申请另一实施例提供的语音控制方法的流程示意图;
图6是本申请一实施例提供的语音控制方法的设备交互示意图;
图7是本申请一实施例提供的语音控制方法的应用场景示意图;
图8是本申请另一实施例提供的语音控制方法的应用场景示意图;
图9是本申请另一实施例提供的语音控制方法的应用场景示意图
图10是本申请一实施例提供的语音控制装置的结构示意图;
图11是本申请另一实施例提供的语音控制装置的结构示意图;
图12是本申请另一实施例提供的语音控制装置的结构示意图;
图13是本申请一实施例提供的服务器的结构示意图;
图14是本申请一实施例提供的终端设备的结构示意图;
图15是本申请另一实施例提供的终端设备的结构示意图。
具体实施方式
以下描述中,为了说明而不是为了限定,提出了诸如特定系统结构、技术之类的具体细节,以便透彻理解本申请实施例。然而,本领域的技术人员应当清楚,在没有这些具体细节的其它实施例中也可以实现本申请。在其它情况中,省略对众所周知的系统、装置、电路以及方法的详细说明,以免不必要的细节妨碍本申请的描述。
应当理解,当在本申请说明书和所附权利要求书中使用时,术语“包括”指示所描述特征、整体、步骤、操作、元素和/或组件的存在,但并不排除一个或多个其它特征、整体、步骤、操作、元素、组件和/或其集合的存在或添加。
还应当理解,在本申请说明书和所附权利要求书中使用的术语“和/或”是指相关联列出的项中的一个或多个的任何组合以及所有可能组合,并且包括这些组合。
如在本申请说明书和所附权利要求书中所使用的那样,术语“如果”可以依据上下文被解释为“当...时”或“一旦”或“响应于确定”或“响应于检测到”。类似地,短语“如果确定”或“如果检测到[所描述条件或事件]”可以依据上下文被解释为意指“一旦确定”或“响应于确定”或“一旦检测到[所描述条件或事件]”或“响应于检测到[所描述条件或事件]”。
另外,在本申请说明书和所附权利要求书的描述中,术语“第一”、“第二”、“第三”等仅用于区分描述,而不能理解为指示或暗示相对重要性。
在本申请说明书中描述的参考“一个实施例”或“一些实施例”等意味着在本申请的一个或多个实施例中包括结合该实施例描述的特定特征、结构或特点。由此,在本说明书中的不同之处出现的语句“在一个实施例中”、“在一些实施例中”、“在其他一些实施例中”、“在另外一些实施例中”等不是必然都参考相同的实施例,而是意味着“一个或多个但不是所有的实施例”,除非是以其他方式另外特别强调。术语“包括”、“包含”、“具有”及它们的变形都意味着“包括但不限于”,除非是以其他方式另外特别强调。
本申请提供的语音控制方法,可以应用在多个设备进行跨设备联合对话时,通过语音相互控制的全场景的会话场景,例如与手机进行语音交互,通过手机控制电视执行相应的业务逻辑等。
目前,多个设备之间通过语音相互控制形成的全场景的会话场景,需要场景内的各设备具备联网功能,各设备之间可以通过地址及接口的相互确认,以有线或无线的方式进行通信,或者各设备连接到云侧服务,通过云侧服务实现通信。其中,无线方式包括互联网、WiFi网络或移动网络;移动网络可以包括现有的2G(如全球移动通信系统(英文:GlobalSystem for Mobile Communication,GSM))、3G(如通用移动通信系统(英文:UniversalMobile Telecommunications System,UMTS))、4G(如FDD LTE、TDD LTE)以及4.5G、5G等。各设备之间通过传输协议,实现数据的传输,例如http等通讯协议。所述的各个设备可以是手机、电视、平板、音箱、电脑等,设备可以具备联网及语音助手等功能。
在实际应用场景中,在多个设备进行跨设备联合对话,通过语音相互控制时,需要对话管理(Dialog Manager,DM)作为云端服务,维护和更新对话的流程和状态,输入语音指令对应的话述(utterance)以及结合相关上下文,经过对话术理解,输出系统应答。
对话管理(Dialog Manager,DM)根据输入的语音指令的语义,获得对应语音指令的任务,明确出任务所需要的信息,然后对接业务平台完成任务,或者要求进一步输入更多的语音指令信息,或者获取业务平台对应任务的业务逻辑,最后将执行结果返回给用户。
其中,不同功能的DM可以对接不同的业务平台,可以是系统预设的业务平台,还可以是第三方平台,例如听歌或电子书的语义可以对接网易云音乐或喜马拉雅等平台,看视频的语义可以对接爱奇艺或哔哩哔哩等第三方平台。
参见图1,是本申请一实施例提供的多设备互联语音控制的系统架构示意图,在各个设备联网或者相互确定地址及接口的情况下,通过语音实现相互控制。第一终端11设置有语音助手,可以通过麦克风接收用户输入的音频信号;第一终端11对接收到的音频信号进行语音识别ASR,得到音频信号对应的文本信息;第一终端11将文本信息传输至服务器12;服务器12可以是对话管理服务器,对接收到的文本信息通过自然语言理解(NaturalLanguage Understanding,NLU)进行语义识别,可以得到语义识别后的目标意图和目标子意图;根据语义识别后输出的语义表征进行业务对接,获取与语义表征对应的业务逻辑,最后将执行结果返回至第一终端11;第一终端11接收到执行结果后,将执行结果发送至第二终端13;或者服务器12直接将执行结果发送至第二终端13;第二终端13对接收到的执行结果进行识别,得到执行结果中目标子意图的试运行结果,根据试运行结果直接发送执行命令至服务器12,调用服务器12的执行接口;服务器12接收到执行命令后,根据试运行结果对接业务逻辑,并将业务逻辑反馈至第二终端13;最后第二终端12执行相应的业务逻辑。
如图1所示,第一终端11可以是手机;服务器12可以是对话管理云端服务,还可以是本地物理服务器;第二终端13可以是电视;通过与手机语音交互,及服务器进行对话管理,实现通过手机控制电视;例如,用户对手机说:用电视播放电影哪吒,手机则显示:正在为您切换到电视(与对话管理服务器交互过程中预验证电视支持播放),最后电视显示:播放电影哪吒(实际开始播放)。
需要说明的是,多设备互联语音控制的系统可以包括多个设备,所实现的语音控制,可以包括跨设备控制的任何类别的语音指令,例如通过跨设备控制电视的播放指令、通过跨设备控制空调调节温度的指令或者通过跨设备控制烹饪工具的烹饪模式的指令等。
在人机自然语言对话系统中,对话管理负责控制对话的流程和状态,通过输入话术以及相关上下文,经过多路并行技能发现、试运行、排序选择、执行和会话接续后,输出系统应答。
参见图2,是本申请另一实施例提供的多设备互联语音控制的系统架构示意图;目前在通过语音相互控制的全场景的会话过程中,第一终端11接收用户输入的语音指令,如“用电视播放电影哪吒”;第一终端11对语音指令进行语音识别,得到语音指令识别结果,即语音指令对应的文本信息;第一终端11将语音指令识别结果发送至服务器12,服务器对语音指令识别结果进行多个阶段的并行处理。
如图2中所示,以第一终端为手机,第二终端为电视,服务器为对话管理服务器为例;多个阶段的并行处理包括:基于手机上下文的技能发现、试运行、选择、执行、会话接续以及基于模拟电视上下文的技能发现、试运行、选择。在对话管理服务器结合手机上下文,对语音指令识别结果进行语义识别,查找对应语义的多个技能,对每个技能进行试运行,将试运行结果汇总在一起,过滤掉试运行失败的结果,对试运行成功的结果基于排序规则或排序模型(如LambdaMART或者搜索引擎常用的排序模型),选择排在第一位的试运行结果作为唯一最理想技能,然后基于试运行结果执行,最后进行会话接续将执行结果返回客户端(即手机端)。
例如,当用于对手机说“用电视播放电影哪吒”时,对话管理服务器基于手机上下文,进行语义识别,确定是“切换”技能,执行该“切换”技能时,需要预验证电视是否支持“播放电影哪吒”;在对话管理服务器中基于模拟的电视上下文识别话术“播放电影哪吒”进行技能发现、试运行及选择的处理流程;若能选择出一个技能,则说明电视端支持;否则,说明电视端不支持该任务,需要返回相应的语义处理结果或向用户进一步确认。
当验证结果为支持时,对话管理服务器返回语义处理后的响应逻辑,即返回技能=切换,目标=电视,话述=播放电影哪吒至手机;在手机接收到“切换”的响应逻辑,则执行切换逻辑:将“播放电影哪吒”发送至电视。电视在接收到“播放电影哪吒”后,识别“播放电影哪吒”的文本信息,再次调用对话管理服务器,基于真实的电视上下文对“播放电影哪吒”进行语义处理:技能发现、试运行、选择,然后根据选择的试运行结果,调用服务器的执行接口,发送执行命令至服务器;服务器根据执行命令对接“播放电影哪吒”的业务逻辑,并将业务逻辑反馈至电视,返回:技能=播放电影,名称=哪吒;由电视完成电影播放。
目前,在对话管理服务器中,可以设置模拟目标终端(电视)的上下文信息,预验证目标终端是否支持当前话术的意图,只得到验证的结果,而不执行任务。
由上述流程可以看出,对话管理服务器在相对手机和电视进行语义处理过程中,对“播放电影哪吒”进行了“技能发现、试运行及选择”流程的重复处理,使得对话系统在语音交互过程中产生了较长的时延,延长了系统的响应时间,增加了对话管理服务器的运行负载,同时使得用户体验较差。
基于上述问题,本申请提供的语音控制方法,在全场景多设备协同对话中,通过控制设备之间的信息交互,当识别到切换设备时,将目标设备进行预验证的试运行结果作为中间数据,由中间设备传输给目标终端,或者通过对话管理服务器直接传输至目标终端。
例如图1中所示的多设备互联语音控制的系统架构,第一终端接收到用户输入的语音指令,第一终端对语音指令进行语音识别,将识别后语音指令识别结果发送至服务器;服务器接收到语音指令识别结果后,对语音指令识别结果进行多阶段的处理,主要包括识别任务、执行任务及结果答复。将处理语音指令识别结果得到的操作信息作为结果答复,反馈至第一终端。其中,操作信息中包括基于第一终端上下文的响应逻辑和基于模拟的第二终端上下文的试运行结果,将试运行结果和第一终端的响应逻辑同时发送至第一终端;或者将响应逻辑发送至第一终端,将试运行结果直接发送至第二终端。当第一终端同时接收到服务器反馈的响应逻辑和试运行结果,则调用第二终端,并将试运行结果发送至第二终端,由第二终端根据试运行结果直接调用服务器的执行接口,第二终端向服务器发送执行命令;服务器根据执行命令对接业务平台,调用相应的业务逻辑,并将业务逻辑反馈至第二终端,由第二终端执行相应的业务逻辑。
当服务器反馈响应逻辑至第一终端,将试运行结果直接发送至第二终端时,第一终端可向用户回应正在切换或正在执行命令的答复。服务器调用第二终端,直接向第二终端发送试运行结果,第二终端识别到试运行结果,直接调用服务器的执行接口,发送执行命令至服务器;服务器根据指令命令对接业务平台,调用相应的业务逻辑,并将业务逻辑反馈至第二终端,由第二终端执行业务逻辑。节省了服务器对话术的重复处理的过程,从而提高目标设备的响应速度,缩短对话系统的响应时间,减少人机语音交互的延时。
参见图3,本申请一实施例提供的语音控制方法的流程示意图,作为本申请提供的语音控制方法的一实施例,以图1中的服务器作为执行主体,所述的服务器可以为对话管理的云端服务或本地物理服务器,在此不做具体限定;该方法具体的实现原理包括以下步骤:
步骤S301,接收第一终端发送的语音指令识别结果。
在本实施例中,服务器接收第一终端发送的语音指令识别结果;语音指令识别结果为第一终端接收到用户输入的语音指令后,对语音指令音频信息进行语音识别,得到的语音指令的文本信息,将语音指令的文本信息作为语音指令识别结果。第一终端可以是设置有语音助手的终端设备,例如手机、电脑、平板、电视或音箱等,通过第一终端的麦克风接收用户的音频信息,例如用户对手机的语音助手说“用电视播放电影哪吒”。
具体的,第一终端对语音指令识别后,得到对应语音指令的文本信息,将文本信息通过无线WiFi或蜂窝移动网络传输至服务器;由服务器进行语义识别及处理。
语音指令可以是任务型的语音控制指令,语音指令识别结果中可以包含目标目标意图及目标子意图。例如“用电视播放电影哪吒”或者“用音箱播放披头士的歌”等,“用电视”或“用音箱”则对应目标意图,“播放电影哪吒”或“播放披头士的歌”可以对应识别为目标子意图。
需要说明的是,在服务器和第一终端都联网的状态下,第一终端和服务器之间可以通过地址和接口的相互确认,实现联网通信;也可以通过网关或者路由实现相互通信。服务器与第一终端之间的信息传输符合数据的传输协议,例如HTTP协议等。
步骤S302,对所述语音指令识别结果进行语义处理,得到操作信息,所述操作信息包括第一语义指令和第二语义指令。
在本实施例中,服务器作为在语音交互过程的对话管理系统,可以通过自然语言理解对语音指令识别结果进行语义识别,得到机器可以识别语义表示。根据语义表示,获取语音指令识别结果中的目标意图和目标子意图,经过多个阶段的并行处理,得到答复第一终端的操作信息,以响应语音指令识别结果。
其中,操作信息可以是服务器完成语音指令识别结果中目标意图的执行结果,即响应逻辑,例如根据语音指令识别结果调用的业务逻辑;还可以是进一步要求客户端输入更多信息,以完成目标意图。
示例性的,服务器在接收到手机发送的“用电视播放电影哪吒”时,服务器基于设置的手机上下文,进行技能发现、试运行及选择等流程,确定“切换”技能;基于语义识别,可以确定目标意图为“切换”,目标子意图为“播放电影哪吒”。根据语义识别,需要切换到目标设备电视,则对电视是否支持“播放电影哪吒”进行预验证,避免在切换到电视后,电视显示不支持或听不懂。在服务器端设置有模拟的电视上下文信息,包括目前对话中的领域、目标对象以及之前对话中提到的槽位信息、顺序、代词等。基于模拟的电视上下文信息,对“播放电影哪吒”的话术进行预验证,即进行技能发现、试运行、选择确定技能的处理流程,若能确定播放技能,则说明电视端支持;则将手机需要执行的“切换”动作及预验证过程的试运行结果生成相应的操作信息,进行会话接续,答复手机。
具体的,在基于手机上下文信息,确定为跨设备控制的“切换”动作时,可以将操作信息划分为当前手机需要执行的操作指令以及目标设备需要执行的操作指令,即将答复手机的操作信息分为第一语义指令和第二语义指令。第一语义指令对应响应当前手机的答复逻辑,对应语音指令识别结果中的目标意图;第二语义指令为目标设备需要执行的逻辑,对应语音指令识别结果中的目标子意图。
需要说明的是,对话管理服务器在根据语音指令识别结果识别任务、执行任务及答复结果的过程中,还可以设置多个槽位与客户端进行多轮的语音交互,以明确目标意图或目标子意图;例如在接收到手机发送的“用电视播放”的话术,服务器可以返回提问“播放什么”,然后接收到“电影哪吒”;通过多轮对话,明确目标话术的任务,从而对话系统进行准确的答复或响应。
在一种可能的实现方式中,所述对所述语音指令识别结果进行语义处理,得到操作信息包括:
3.1、识别所述语音指令识别结果,得到所述语音指令识别结果的目标意图及目标子意图;
3.2、所述目标意图,预验证所述目标子意图,得到所述目标意图的响应逻辑和所述目标子意图的试运行结果;
3.3、将所述响应逻辑作为所述操作信息的所述第一语义指令,将所述目标子意图及所述试运行结果作为所述操作信息的第二语义指令。
在本实施例中,服务器对语音指令识别结果进行语义处理,识别其文本信息中语义信息,得到语音指令识别结果的目标意图和目标子意图,所述目标意图可以为根据语音指令识别结果确定的第一终端需要执行的操作,所述目标子意图可以为语音指令识别结果跨设备控制目标设备需要执行的操作。服务器端基于手机上下文确定语音指令识别结果的目标意图,例如确定的“切换”意图;服务器对目标子意图进行预验证及试运行,以确定目标终端是否支持目标子意图的执行。通过执行流程,确定目标意图的响应逻辑{技能=切换,目标=电视,话述=播放电影哪吒},以及目标子意图的验证结果和试运行结果;验证结果用于表示目标终端是否支持所述目标子意图的执行,试运行结果用于表示对目标子意图模拟运行得到的处理结果。
具体的,响应逻辑和试运行结果可以包括技能标识、意图标识及槽位信息。技能标识确定一个技能,技能为能力的集合,可以支持若干个意图,例如天气技能支持查天气、查PM2.5的意图;意图标识确定技能内的唯一意图;槽位信息为意图执行所需的参数列表。槽位信息中的参数个数可以为任意个,可以为零也可以为多个。槽位信息包括槽位名称、槽位类型及槽位值;槽位名称确定该槽位的参数名称,槽位类型确定该槽位参数的类型,如日期、数字、字符串等,槽位值即为参数值。
示例性的,服务器将响应逻辑和试运行结果作为结果答复,将所述响应逻辑作为所述操作信息的所述第一语义指令,将所述目标子意图对应的话术及所述运行结果作为所述操作信息的第二语义指令。
步骤S303、将所述第一语义指令和所述第二语义指令发送至所述第一终端,所述第一语义指令用于指示所述第一终端将所述第二语义指令发送至第二终端。
在本实施例中,通过有线或无线方式,服务器将第一语义指令和第二语义指令作为结果答复,同时发送至第一终端。
具体的,第一语义指令中包括答复第一终端的响应逻辑,例如在上述场景中,对应第一终端的响应逻辑可以为{技能=切换,目标=电视,话述=播放电影哪吒}。第二语义指令中包括语音指令识别结果中的目标子意图对应的话术和目标子意图的试运行结果,例如试运行结果可以为{技能=播放电影,名称=哪吒}。第一终端执行第一语义指令,将第二语义指令发送至第二终端;第二终端识别第二语义指令,可以在第二语义指令中识别到目标子意图的同时,还可以识别到目标子意图的试运行结果,无需再通过服务器对目标子意图的话术进行技能发现、试运行及选择的处理流程。
另外,在另一种可能的实现方式中,服务器还可以通过有线或无线的方式将第一语义指令发送至第一终端,通过有线或无线的方式将第二语义指令直接发送至第二终端(即目标终端)。第一终端执行切换技能,确定切换到第二终端(目标终端);第二终端(目标终端)直接获取服务器发送的第二语义指令。第二语义指令包括目标子意图的试运行结果;第二终端可以识别出第二语义指令中的试运行结果,根据试运行结果直接发送执行命令至服务器,调用服务器的执行接口。服务器根据执行命令调用目标子意图相对应的业务逻辑,省去了服务器对第二语义指令中的目标子意图的话术再次进行技能发现、试运行及选择的处理过程,提高了对话系统的响应速度。
需要说明的是,在服务器、第一终端及第二终端都联网的状态下,服务器和第一终端之间、服务器和第二终端之间以及第一终端和第二终端之间可以通过地址和接口的相互确认,实现联网通信;也可以通过网关或者路由实现相互通信。因此,第二语义控制指令中的试运行结果可以作为中间结果由第一终端传输至第二终端,还可以由服务器直接发送至第二终端,调用第二终端。
在一种可能的实现方式中,所述将所述第一语义指令和所述第二语义指令发送至所述第一终端包括:
将所述第一语义指令和所述第二语义指令以语义表征的形式发送至所述第一终端。
在本身实施例中,语义表征的形式为机器可读的语言表示方式,服务器将语义处理后的语音指令识别结果,以语义表征的形式作为第一终端或第二终端的答复结果。
相应的,服务器还可以将第一语义指令以语义表征的形式发送至第一终端,如语义表征的形式为{技能=切换,目标=电视,话述=播放电影哪吒};服务器还可以将第二语义指令中的试运行结果以语义表征的形式发送至第二终端,如试运行结果的语义表征形式为{技能=播放电影,名称=哪吒}。
步骤S304,接收所述第二终端识别所述第二语义指令后反馈的执行命令,并根据所述执行命令将与所述第二语义指令对应的业务逻辑发送至所述第二终端。
在本实施例中,第二语义指令中包括目标子意图及预验证目标子意图得到的试运行结果;第二终端在接收到第二语义指令后,通过识别第二语义指令,得到试运行结果;第二终端根据试运行结果直接调用服务器的执行接口,向服务器发送执行命令。服务器接收第二终端发送的执行命令,根据执行命令对接与第二语义指令对应的业务逻辑,将业务逻辑发送至第二终端设备;例如调用服务器中的电影数据,并将电影数据作为响应逻辑发送至第二终端,响应逻辑可以为{技能=播放电影,名称=哪吒}。由第二终端执行相应的业务逻辑,即播放电影哪吒。
在一种可能的实现方式中,所述根据所述执行命令将与所述第二语义指令对应的业务逻辑发送至所述第二终端包括:
3.4、根据所述执行命令,解析所述试运行结果;
3.5、根据解析后的所述试运行结果,调用所述业务逻辑,并将所述业务逻辑以语义表征的形式发送至所述第二终端。
在本实施例中,服务器接收到第二终端发送的执行命令,对目标子意图的试运行结果进行解析,根据解析结果调用与目标子意图对应的业务逻辑,并将业务逻辑以语义表征的形式发送至第二终端,例如服务器向第二终端返回{技能=播放电影,名称=哪吒}。
需要说明的是,对于第一终端对应的对话管理服务器与第二终端对应的对话管理服务器可以为同一个服务器,或者具有相同功能的两个服务器。
采用本申请提供的语音控制方法,以服务器作为执行主体,通过接收第一终端发送的语音指令识别结果,对语音指令识别结果进行语义处理,得到语音指令识别结果中待执行的操作信息,并将操作信息发送至第一终端;由第一终端执行操作信息中的第一语义指令,并将操作信息中的第二语义指令发送至第二终端;在第二终端识别第二语义指令后,可以直接接收到第二终端反馈的执行命令,根据执行命令调用与第二语义指令相对应的业务逻辑,并将业务逻辑发送至第二终端;通过本实施例,在第二终端接收到第二语义指令后,可以直接接收到第二终端根据第二语义指令中包含的任务信息反馈执行命令,无需再对第二终端接收的第二语义指令进行再次语义处理,可以根据反馈的执行命令调用相应的业务逻辑,通过执行接口发送至第二终端,省去了对第二语义指令的处理流程,缩短了对话的延时,提高了对话系统的响应时间。
参见图4,是本申请另一实施例提供的语音控制方法的流程示意图,作为本申请提供的语音控制方法的一实施例,以图1中的第一终端作为执行主体,所述的第一终端可以为手机、电脑、平板、音箱等设备,在此不做具体限定;该方法具体的实现原理包括以下步骤:
步骤S401、接收用户输入的语音指令,并对所述语音指令进行语音识别,得到语音指令识别结果;
步骤S402、将所述语音指令识别结果发送至服务器;
步骤S403、接收所述服务器对所述语音指令识别结果进行语义处理后反馈的操作信息,所述操作信息包括第一语义指令和第二语义指令;
步骤S404、执行所述第一语义指令,将所述第二语义指令发送至第二终端;所述第二语义指令用于指示所述第二终端发送执行命令至服务器,并接收所述服务器反馈的与所述第二语义指令对应的业务逻辑。
在本申请的一些实施例中,第一终端可以设置有语音助手,通过麦克风接收用户输入的语音指令,对语音指令进行语音识别ASR,得到语音指令识别结果,即语音指令对应的文本信息。将语音指令识别结果通过有线或无线的方式发送至服务器,并接收服务器反馈的操作信息;所述操作信息可以包括对应第一终端的第一语义指令和对应第二终端的第二语义指令。第一终端执行操作信息中的第一语义指令,调用并切换到第二终端,同时将第二语义指令发送至第二终端。第二语义指令可以包括语音指令识别结果中目标子意图的试运行结果。第二终端可以识别第二语义指令中的试运行结果,根据试运行结果直接发送执行命令至服务器,调用服务器的执行接口;服务器根据执行命令对接目标子意图对应的业务逻辑,并将业务逻辑反馈至第二终端;由第二终端完成业务逻辑。节省了服务器对目标子意图的话术重复处理的过程,从而提高目标设备的响应速度,缩短对话系统的响应时间,减少人机语音交互的延时。
在一种可能的实现方式中,所述接收所述服务器对所述语音指令识别结果进行语义处理后反馈的操作信息包括:
接收所述服务器针对所述语音指令识别结果中的目标意图反馈的响应逻辑,以及接收所述服务器针对所述语音指令识别结果中的目标子意图反馈的试运行结果。
在一种可能的实现方式中,所述第一语义指令为所述服务器对所述语音指令识别结果中的目标意图反馈的响应逻辑,所述第二语义指令为所述服务器对所述语音指令识别结果中的目标子意图反馈的试运行结果及所述目标子意图;
相应的,执行所述第一语义指令,将所述第二语义指令发送至第二终端包括:
执行所述服务器反馈的所述响应逻辑,将所述服务器反馈的所述目标子意图及所述试运行结果发送所述第二终端。
通过采用本申请实施例,在第一终端获取服务器基于第一终端上下文反馈的响应逻辑的同时,获取语音指令识别结果中目标子意图的试运行结果,并在调用第二终端时,将试运行结果也发送至第二终端,使得第二终端可以直接获取语音指令识别结果中目标子意图的试运行结果,无需再通过服务器对目标子意图的话术进行一系列的语义处理,优化了对话系统的数据处理流程,提高了对话系统的响应速度。
参见图5,是本申请另一实施例提供的语音控制方法的流程示意图,作为本申请提供的语音控制方法的一实施例,以图1中的第二终端作为执行主体,所述的第二终端可以为手机、平板、电脑、音箱及电视等设备,在此不做具体限定;该方法具体的实现原理包括以下步骤:
步骤S501、接收第一终端执行第一语义指令时发送的第二语义指令;所述第一语义指令和所述第二语义指令为所述第一终端将语音指令识别结果发送至服务器后,接收到所述服务器根据所述语音指令识别结果反馈的操作信息;
步骤S502、识别所述第二语义指令,得到所述第二语义指令的识别结果;
步骤S503、根据所述识别结果,发送执行命令至服务器;
步骤S504、接收所述服务器根据所述执行命令反馈的与所述第二语义指令对应的业务逻辑,并执行所述业务逻辑。
在本申请的一些实施例中,第二终端在接收到由服务器通过第一终端反馈的第二语义指令后,对第二语义指令进行识别,可以得到语音指令识别结果中的目标子意图的试运行结果,根据试运行结果,无需再对目标子意图的话术进行语义识别处理,直接发送执行命令至服务器,调用服务器的执行接口,使得服务器根据试运行结果对接相应的业务平台,调用相应的业务逻辑。第二终端接收服务器反馈的业务逻辑,并执行业务逻辑。
在一种可能的实现方式中,所述操作信息包括所述服务器对所述语音指令识别结果中的目标意图反馈的响应逻辑,以及所述服务器对所述语音指令识别结果中的目标子意图反馈的试运行结果;
相应的,所述接收第一终端执行第一语义指令时发送的第二语义指令包括:
接收第一终端执行所述响应逻辑时发送的所述目标子意图和所述试运行结果。
在一种可能的实现方式中,所述第二语义指令包括所述服务器预验证所述语音指令识别结果中的目标子意图得到的试运行结果;
相应的,所述识别所述第二语义指令,得到所述第二语义指令的识别结果包括:
识别所述第二语义指令,得到所述目标子意图的所述试运行结果。
通过本申请实施例,在第二终端接收到语音指令识别结果中目标子意图的试运行结果时,可以直接根据试运行结果调用服务器的执行接口,无需再对目标子意图的话术进行语义识别处理,服务器接收到第二终端的执行命令后,对接与目标子意图对应的业务平台,调用相应的业务逻辑,并将业务逻辑反馈至第二终端,第二终端执行业务逻辑。节省了语音指令识别结果中目标子意图对应的话术的重复语义处理的流程,提高了对话系统的响应速度。
参见图6,本申请一实施例提供的语音控制方法的设备交互示意图,通过多个设备的网络互连,实现跨设备的语音控制。该交互过程包括以下步骤:
1、第一终端接收用户输入的语音指令,并对所述语音指令进行语音识别,得到语音指令识别结果;
2、第一终端将所述语音指令识别结果发送至服务器;
3、服务器对所述语音指令识别结果进行语义处理,得到操作信息;
4、服务器将所述操作信息发送至所述第一终端;所述操作信息包括第一语义指令和第二语义指令;
5、第一终端执行所述第一语义指令;
6、第一终端将所述第二语义指令发送至第二终端;
7、第二终端识别所述第二语义指令;
8、第二终端发送执行命令至所述服务器,调用所述服务器的执行接口;
9、服务器根据所述执行命令,调用与所述第二语义指令相对应的业务逻辑;
10、服务器将所述业务逻辑发送至所述第二终端;
11、第二终端执行所述业务逻辑。
本实施例与以上实施例步骤的执行原理相同,再次不再赘述。
参见图7,是本申请一实施例提供的语音控制方法的应用场景示意图,将第一终端以手机为例,服务器以对话管理服务器为例,第二终端以电视为例,且各设备均处于联网状态,通过地址和接口的确认,可以实现相互通信。
如图所示,手机接收用户输入的“用电视播放电影哪吒”的语音指令,对语音指令进行语音识别,得到语音指令的文本信息,手机将文本信息通过有线或无线的方式发送至对话管理服务器。对话管理服务器基于手机上下文对“用电视播放电影哪吒”进行语义识别,通过技能发现、试运行、选择出最优技能“切换”,确定目标为“电视”,话术为“播放电影哪吒”;在确定是切换的意图时,需要对电视是否支持播放进行预验证,经过基于模拟的电视上下文进行技能发现、试运行、选择一系列处理,得到验证结果为支持,得到试运行结果为“目标对象Object”;将技能“切换”、确定目标、“电视”、话术“播放电影哪吒”作为响应逻辑反馈至手机;手机接收到响应逻辑,执行切换指令,将“播放电影哪吒”发送至电视,并将试运行结果“Object”发送至电视;电视识别到试运行结果“Object”,直接发送执行命令至对话管理服务器,调用对话管理服务器的执行接口;对话管理服务器对接与“播放电影哪吒”对应的业务逻辑,并将业务逻辑反馈至电视,电视根据反馈的业务逻辑执行播放电影哪吒的操作。
在一种可能的实现方式中,如图8所示,本申请另一实施例提供的语音控制方法的应用场景示意图;对话管理服务器在对“播放电影哪吒”,基于模拟的电视上下文进行语义处理,得到试运行结果后,可以将试运行结果通过网络直接发送至电视,通过手机将“播放电影哪吒”的话术发送至电视;电视根据试运行结果直接调用服务器的执行接口,发送执行命令至对话管理服务器;对话管理服务器对接与“播放电影哪吒”对应的业务逻辑,并将业务逻辑反馈至电视,电视根据反馈的业务逻辑执行播放电影哪吒的操作。
在另一种可能的实现方式中,在服务器端基于手机上下文执行后,得到对应目标意图的响应逻辑和目标子意图的试运行结果;服务器可以直接调用电视,将目标子意图的话术“播放电影哪吒”以及试运行结果同时发送至电视。电视识别目标子意图对应的话术及试运行结果,由电视根据试运行结果直接调用对话管理服务器的执行接口,发送执行命令至对话管理服务器;对话管理服务器对接与“播放电影哪吒”对应的业务逻辑,并将业务逻辑反馈至电视,电视根据反馈的业务逻辑执行播放电影哪吒的操作。
参见图9,是本申请另一实施例提供的语音控制方法的应用场景示意图,将第一终端以手机为例,服务器以对话管理服务器为例,第二终端以电视为例,且各设备均处于联网状态,通过地址和接口的确认,可以实现相互通信。
如图9所示,手机接收用户输入的“切到电视播放电影大圣归来”语音指令,对语音指令进行语音识别,得到语音指令对应的文本信息;手机调用对话管理服务器,对语音指令的文本信息进行语音识别,识别出是切换设备的技能和意图,目标设备是电视,目标子意图是“播放电影大圣归来”;对话管理服务器验证电视是否支持“播放电影大圣归来”,基于模拟的电视上下文,进行“技能发现→试运行→选择”语义处理流程,并获取验证结果:支持,以及试运行结果“{skill(技能)=video(播放),intent(意图)=play(播放),slots(槽位)={name(名称)=大圣归来}”。对话管理服务器将技能=switch,意图=switch,目标=TV,目标话述=播放电影大圣归来,试运行结果={skill=video,intent=play,slots={name=大圣归来},返回至手机。手机接收到结果后,识别到是切换,则调用电视,并把目标话术“播放电影大圣归来”,以及试运行结果“{skill=video,intent=play,slots={name=大圣归来}”发送至电视。电视收到切换命令后,识别到试运行结果,则直接调用对话管理服务器的执行接口,执行“{skill=video,intent=play,slots={name=大圣归来}”。对话管理服务器收到执行命令后,解释“{skill=video,intent=play,slots={name=大圣归来}”,直接调用对应业务逻辑,返回技能=video,意图=play,名称=大圣归来至电视。电视收到后,播放电影“大圣归来”。
通过本申请实施例,减少了目标设备的前半部分流程,显著缩短对话系统的响应时延(在实际应用中缩短的时延可达50%以上),提升了对话体验。
对应于上文实施例所述的语音控制方法以及应用场景的实施例,图10示出了本申请实施例提供的语音控制装置的结构框图,为了便于说明,仅示出了与本申请实施例相关的部分。
参照图10,该装置包括第一接收模块101,语义处理模块102,第一发送模块103以及命令执行模块104。其中,各模块功能如下:
第一接收模块101,用于接收第一终端发送的语音指令识别结果;
语义处理模块102,用于对所述语音指令识别结果进行语义处理,得到操作信息,所述操作信息包括第一语义指令和第二语义指令;
第一发送模块103,用于将所述第一语义指令和所述第二语义指令发送至所述第一终端,所述第一语义指令用于指示所述第一终端将所述第二语义指令发送至第二终端;
命令执行模块104,用于接收所述第二终端识别所述第二语义指令后反馈的执行命令,并根据所述执行命令将与所述第二语义指令对应的业务逻辑发送至所述第二终端。
在一种可能的实现方式中,所述语义处理模块包括:
语义识别子模块,用于识别所述语音指令识别结果,得到所述语音指令识别结果的目标意图及目标子意图;
任务执行子模块,用于根据所述目标意图,预验证所述目标子意图,得到所述目标意图的响应逻辑和所述目标子意图的试运行结果;将所述响应逻辑作为所述操作信息的所述第一语义指令,将所述目标子意图及所述试运行结果作为所述操作信息的第二语义指令。
在一种可能的实现方式中,所述第一发送模块还用于将所述第一语义指令和所述第二语义指令以语义表征的形式发送至所述第一终端。
在一种可能的实现方式中,所述第一发送模块包括:
第一子模块,用于根据所述执行命令,解析所述试运行结果;
第二字模块,用于根据解析后的所述试运行结果,调用所述业务逻辑,并将所述业务逻辑以语义表征的形式发送至所述第二终端。
对应于上文实施例所述的语音控制方法以及应用场景的实施例,图11示出了本申请另一实施例提供的语音控制装置的结构框图,为了便于说明,仅示出了与本申请实施例相关的部分。
参照图11,该装置包括语音识别模块111,第二发送模块112,第二接收模块113以及指令执行模块114。其中,各模块功能如下:
语音识别模块111,用于接收用户输入的语音指令,并对所述语音指令进行语音识别,得到语音指令识别结果;
第二发送模块112,用于将所述语音指令识别结果发送至服务器;
第二接收模块113,用于接收所述服务器对所述语音指令识别结果进行语义处理后反馈的操作信息,所述操作信息包括第一语义指令和第二语义指令;
指令执行模块114,用于执行所述第一语义指令,将所述第二语义指令发送至第二终端;所述第二语义指令用于指示所述第二终端发送执行命令至服务器,并接收所述服务器反馈的与所述第二语义指令对应的业务逻辑。
在一种可能的实现方式中,所述第二接收模块还用于接收所述服务器针对所述语音指令识别结果中的目标意图反馈的响应逻辑,以及接收所述服务器针对所述语音指令识别结果中的目标子意图反馈的试运行结果。
在一种可能的实现方式中,所述第一语义指令为所述服务器对所述语音指令识别结果中的目标意图反馈的响应逻辑,所述第二语义指令为所述服务器对所述语音指令识别结果中的目标子意图反馈的试运行结果及所述目标子意图;所述指令执行模块还用于执行所述服务器反馈的所述响应逻辑,将所述服务器反馈的所述目标子意图及所述试运行结果发送所述第二终端。
对应于上文实施例所述的语音控制方法以及应用场景的实施例,图12示出了本申请另一实施例提供的语音控制装置的结构框图,为了便于说明,仅示出了与本申请实施例相关的部分。
参照图12,该装置包括第三接收模块121,指令识别模块122,第三发送模块123以及业务执行模块124。其中,各模块功能如下:
第三接收模块121,用于接收第一终端执行第一语义指令时发送的第二语义指令;所述第一语义指令和所述第二语义指令为所述第一终端将语音指令识别结果发送至服务器后,接收到所述服务器根据所述语音指令识别结果反馈的操作信息;
指令识别模块122,用于识别所述第二语义指令,得到所述第二语义指令的识别结果;
第三发送模块123,用于根据所述识别结果,发送执行命令至服务器;
业务执行模块124,用于接收所述服务器根据所述执行命令反馈的与所述第二语义指令对应的业务逻辑,并执行所述业务逻辑。
在一种可能的实现方式中,所述操作信息包括所述服务器对所述语音指令识别结果中的目标意图反馈的响应逻辑,以及所述服务器对所述语音指令识别结果中的目标子意图反馈的试运行结果;所述第三接收模块还用于接收第一终端执行所述响应逻辑时发送的所述目标子意图和所述试运行结果。
在一种可能的实现方式中,所述第二语义指令包括所述服务器预验证所述语音指令识别结果中的目标子意图得到的试运行结果;所述指令识别模块还用于识别所述第二语义指令,得到所述目标子意图的所述试运行结果。
在一种可能的实现方式中,所述第三发送模块还用于根据所述识别结果,将所述试运行结果对应的执行命令发送至所述服务器。
通过本实施例,采用语音控制方法,通过接收第一终端发送的语音指令识别结果,对语音指令识别结果进行语义处理,得到语音指令识别结果中待执行的操作信息,并将操作信息发送至第一终端;由第一终端执行操作信息中的第一语义指令,并将操作信息中的第二语义指令发送至第二终端;在第二终端识别第二语义指令后,可以直接接收到第二终端反馈的执行命令,根据执行命令调用与第二语义指令相对应的业务逻辑,并将业务逻辑发送至第二终端;通过本实施例,在第二终端接收到第二语义指令后,可以直接接收到第二终端根据第二语义指令中包含的任务信息反馈执行命令,无需再对第二终端接收的第二语义指令进行再次语义处理,可以根据反馈的执行命令调用相应的业务逻辑,通过执行接口发送至第二终端,省去了对第二语义指令的处理流程,缩短了对话的延时,提高了对话系统的响应时间。
所属领域的技术人员可以清楚地了解到,为了描述的方便和简洁,仅以上述各功能单元、模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能单元、模块完成,即将所述装置的内部结构划分成不同的功能单元或模块,以完成以上描述的全部或者部分功能。实施例中的各功能单元、模块可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中,上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。另外,各功能单元、模块的具体名称也只是为了便于相互区分,并不用于限制本申请的保护范围。上述系统中单元、模块的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
图13为本申请一实施例提供的服务器的结构示意图。如图13所示,该实施例的服务器13包括:至少一个处理器131(图13中仅示出一个)、存储器132、存储在所述存储器132中并可在所述至少一个处理器131上运行的计算机程序133、自然语言处理模块134以及对话管理模块135。所述存储器132、自然语言理解模块134及对话管理模块135与处理器131耦合,存储器132用于存储计算机程序133,计算机程序133包括指令,处理器131从所述存储器132中读取指令,使得服务器13执行如下操作:
接收第一终端发送的语音指令识别结果;对所述语音指令识别结果进行语义处理,得到操作信息,所述操作信息包括第一语义指令和第二语义指令;将所述第一语义指令和所述第二语义指令发送至所述第一终端,所述第一语义指令用于指示所述第一终端将所述第二语义指令发送至第二终端;接收所述第二终端识别所述第二语义指令后反馈的执行命令,并根据所述执行命令将与所述第二语义指令对应的业务逻辑发送至所述第二终端。
图14为本申请一实施例提供的终端设备的结构示意图。如图14所示,该实施例的终端设备14包括:至少一个处理器141(图14中仅示出一个)、存储器142、存储在所述存储器142中并可在所述至少一个处理器141上运行的计算机程序143以及语音助手144。所述存储器142、语音助手144与处理器141耦合,存储器142用于存储计算机程序143,计算机程序143包括指令,处理器141从所述存储器142中读取指令,使得终端设备14执行如下操作:
接收用户输入的语音指令,并对所述语音指令进行语音识别,得到语音指令识别结果;将所述语音指令识别结果发送至服务器;接收所述服务器对所述语音指令识别结果进行语义处理后反馈的操作信息,所述操作信息包括第一语义指令和第二语义指令;执行所述第一语义指令,将所述第二语义指令发送至第二终端;所述第二语义指令用于指示所述第二终端发送执行命令至服务器,并接收所述服务器反馈的与所述第二语义指令对应的业务逻辑。
图15为本申请一实施例提供的终端设备的结构示意图。如图15所示,该实施例的终端设备15包括:至少一个处理器151(图15中仅示出一个)、存储器152、存储在所述存储器152中并可在所述至少一个处理器151上运行的计算机程序153。所述存储器152与处理器151耦合,存储器152用于存储计算机程序153,计算机程序153包括指令,处理器151从所述存储器152中读取指令,使得终端设备15执行如下操作:
接收第一终端执行第一语义指令时发送的第二语义指令;所述第一语义指令和所述第二语义指令为所述第一终端将语音指令识别结果发送至服务器后,接收到所述服务器根据所述语音指令识别结果反馈的操作信息;识别所述第二语义指令,得到所述第二语义指令的识别结果;根据所述识别结果,发送执行命令至服务器;接收所述服务器根据所述执行命令反馈的与所述第二语义指令对应的业务逻辑,并执行所述业务逻辑。
所述服务器13可以是云服务器或本地物理服务器等设备;所述终端设备14和所述终端设备15可以是桌上型计算机、笔记本、掌上电脑、手机、电视、音箱等设备。所述服务器13、所述终端设备14和所述终端设备15可包括,但不仅限于,处理器、存储器。本领域技术人员可以理解,图13、图14及图15仅仅是服务器和终端设备的举例,并不构成对服务器和终端设备的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件,例如还可以包括输入输出设备、网络接入设备等。
所称处理器可以是中央处理单元(Central Processing Unit,CPU),该处理器还可以是其他通用处理器、数字信号处理器(Digital Signal Processor,DSP)、专用集成电路(Application Specific Integrated Circuit,ASIC)、现成可编程门阵列(Field-Programmable Gate Array,FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。
所述存储器在一些实施例中可以是所述服务器13、所述终端设备14或所述终端设备15的内部存储单元,例如硬盘或内存。所述存储器在另一些实施例中也可以是所述服务器13、所述终端设备14或所述终端设备15的外部存储设备,例如配备的插接式硬盘,智能存储卡(Smart Media Card,SMC),安全数字(Secure Digital,SD)卡,闪存卡(Flash Card)等。进一步地,所述存储器还可以既包括所述服务器13、所述终端设备14或所述终端设备15的内部存储单元也包括外部存储设备。所述存储器用于存储操作系统、应用、引导装载程序(BootLoader)、数据以及其他程序等,例如所述计算机程序的程序代码等。所述存储器还可以用于暂时地存储已经输出或者将要输出的数据。
本申请实施例还提供了一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,所述计算机程序包括指令,所述指令在终端设备上运行时,使得所述终端设备执行所述皮肤检测方法。
本申请实施例提供了一种包含指令的计算机程序产品,所述计算机程序产品在终端设备上运行时,使得终端设备执行上述第一方面中任一项所述的皮肤检测方法。
所述集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本申请实现上述实施例方法中的全部或部分流程,可以通过计算机程序来指令相关的硬件来完成,所述的计算机程序可存储于一计算机可读存储介质中,该计算机程序在被处理器执行时,可实现上述各个方法实施例的步骤。其中,所述计算机程序包括计算机程序代码,所述计算机程序代码可以为源代码形式、对象代码形式、可执行文件或某些中间形式等。所述计算机可读介质至少可以包括:能够将计算机程序代码携带到拍照装置/终端设备的任何实体或装置、记录介质、计算机存储器、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,RandomAccess Memory)、电载波信号、电信信号以及软件分发介质。例如U盘、移动硬盘、磁碟或者光盘等。在某些司法管辖区,根据立法和专利实践,计算机可读介质不可以是电载波信号和电信信号。
在上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述或记载的部分,可以参见其它实施例的相关描述。
本领域普通技术人员可以意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、或者计算机软件和电子硬件的结合来实现。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本申请的范围。
在本申请所提供的实施例中,应该理解到,所揭露的装置/网络设备和方法,可以通过其它的方式实现。例如,以上所描述的装置/网络设备实施例仅仅是示意性的,例如,所述模块或单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通讯连接可以是通过一些接口,装置或单元的间接耦合或通讯连接,可以是电性,机械或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
以上所述实施例仅用以说明本申请的技术方案,而非对其限制;尽管参照前述实施例对本申请进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本申请各实施例技术方案的精神和范围,均应包含在本申请的保护范围之内。
- 语音控制方法、装置、服务器、终端设备及存储介质
- 终端设备的语音控制方法、终端设备及服务器