CN113113012B - 一种基于协作语音交互引擎簇进行交互的方法及装置 - Google Patents

一种基于协作语音交互引擎簇进行交互的方法及装置 Download PDF

Info

Publication number
CN113113012B
CN113113012B CN202110405253.7A CN202110405253A CN113113012B CN 113113012 B CN113113012 B CN 113113012B CN 202110405253 A CN202110405253 A CN 202110405253A CN 113113012 B CN113113012 B CN 113113012B
Authority
CN
China
Prior art keywords
voice interaction
interaction engine
intelligent terminal
voice
task execution
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
CN202110405253.7A
Other languages
English (en)
Other versions
CN113113012A (zh
Inventor
牛坤
张伟萌
戴帅湘
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Beijing Haiyunjiexun Technology Co ltd
Original Assignee
Beijing Haiyunjiexun Technology Co ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Beijing Haiyunjiexun Technology Co ltd filed Critical Beijing Haiyunjiexun Technology Co ltd
Priority to CN202110405253.7A priority Critical patent/CN113113012B/zh
Publication of CN113113012A publication Critical patent/CN113113012A/zh
Application granted granted Critical
Publication of CN113113012B publication Critical patent/CN113113012B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
    • G10L15/00Speech recognition
    • G10L15/22Procedures used during a speech recognition process, e.g. man-machine dialogue
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/011Arrangements for interaction with the human body, e.g. for user immersion in virtual reality
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
    • G10L15/00Speech recognition
    • G10L15/28Constructional details of speech recognition systems
    • G10L15/34Adaptation of a single recogniser for parallel processing, e.g. by use of multiple processors or cloud computing
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
    • G10L15/00Speech recognition
    • G10L15/22Procedures used during a speech recognition process, e.g. man-machine dialogue
    • G10L2015/223Execution procedure of a spoken command

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Human Computer Interaction (AREA)
  • Acoustics & Sound (AREA)
  • Computational Linguistics (AREA)
  • Health & Medical Sciences (AREA)
  • Audiology, Speech & Language Pathology (AREA)
  • Multimedia (AREA)
  • General Engineering & Computer Science (AREA)
  • Mathematical Physics (AREA)
  • Computing Systems (AREA)
  • General Physics & Mathematics (AREA)
  • Telephonic Communication Services (AREA)
  • Telephone Function (AREA)

Abstract

本发明公开了基于协作语音交互引擎簇进行交互的方法及装置,所述方法包括:获取用户指令;基于所述用户指令确定第一任务和能够执行所述第一任务的第一语音交互引擎,并确定所述第一语音交互引擎所属的第一协作语音交互引擎簇;将所述用户指令发送给第二智能终端的第一语音交互引擎,从所述第二智能终端的第一语音交互引擎接收终端间槽位同步信息;将终端间槽位同步信息转发给至少一个第三智能终端的至少一个第二语音交互引擎;从第二智能终端和所述至少一个第三智能终端分别接收第一任务执行结果和至少一个第二任务执行结果。通过本发明的方法,提升了硬件设备受限的智能终端的语音助手的智能化程度,为用户提供良好的语音交互体验。

Description

一种基于协作语音交互引擎簇进行交互的方法及装置
技术领域
本发明实施例涉及信息处理技术领域,特别涉及一种基于协作语音交互引擎簇进行交互的方法及装置。
背景技术
近年来,智能语音交互技术得到了快速的发展,物联网的发展也使得智能终端都能连接到互联网,这使得语音助手的应用场景越来越广泛,众多的智能终端如智能电视、智能音箱等都开始提供语音助手功能,允许用户通过语音指令请求各种任务的执行,例如查询天气、订机票等。
考虑到尺寸、价格等因素,一些智能终端的处理能力或存储空间存在限制,而可供用户下载的语音处理引擎数量巨大,在每个智能终端上均下载或加载很多语音处理引擎显然是不现实的。在不同智能终端的语音助手之间实现互补、协作功能能够很好的解决这一问题。
现有技术中,各个智能终端的语音助手之间仅能实现有限的互补、协作功能,例如,在没有经过方言训练的智能电视接收到用户的方言语音指令后发现其自身无法识别该语音指令,则向附近的其他智能终端请求协作,从中选择一个能够识别该语音指令的智能终端,将上述语音指令发送给该智能终端,并接收语音识别结果,从而基于语音识别结果执行特定的操作,如打开电视、换台。现有技术中,尽管智能电视最终能够对用户指令进行响应,但响应时效性很差,难以满足用户实时交互的需求。此外,现有技术中仅能够提供语音识别功能的有限协作,而无法实现智能终端之间语音交互引擎的互相调用或协作,当用户所要使用的语音交互引擎仅在其部分设备上安装时,用户需要记忆其在哪个智能终端上安装了那些语音交互引擎,造成用户使用语音助手的体验不好。
现有技术还可以在单个智能终端上形成语音交互引擎簇,其中包括多个语音交互引擎,当其中一个语音交互引擎被激活时,其所属的语音交互引擎簇中的其他语音交互引擎也会被激活,在上述多个语音交互引擎之间进行槽位的即时同步,并将上述多个语音交互引擎的执行结果同时提供给用户,为用户提供智能化的任务执行方式,提高了用户体验。然而,上述现有技术仅限于构成语音交互引擎簇的多个语音交互引擎位于同一个智能终端,不能在多个设备之间形成语音交互引擎簇,当用户的不同设备分别安装了不同的语音交互引擎时,用户享受不到语音交互引擎簇所带来的良好体验。
基于上述分析,如何更好地实现多个智能终端的语音助手之间的互补、协作以更快速地响应用户,如何基于多个智能终端的语音助手所包括的语音交互引擎构建交互引擎簇以及如何对其进行使用,当多个终端均可协作时如何进行选择是亟需解决的问题。
发明内容
针对现有技术中的问题,本发明提供一种基于协作语音交互引擎簇进行交互的方法及装置。
本发明提供一种基于协作语音交互引擎簇进行交互的方法,所述方法包括:
步骤300,获取用户指令;
步骤301,基于所述用户指令确定第一任务,基于第一语音处理能力列表确定能够执行所述第一任务的第一语音交互引擎;所述第一语音处理能力列表中包括不同任务与语音交互引擎的对应关系;
步骤302,基于本地存储的协作语音交互引擎簇确定所述第一语音交互引擎所属的第一协作语音交互引擎簇;其中,所述第一协作语音交互引擎簇包括所述第一语音交互引擎和至少一个第二语音交互引擎;
步骤303,基于所述第一语音处理能力列表确定与所述第一协作语音交互引擎簇所包括的语音交互引擎相对应的智能终端集合,其中包括与第一语音交互引擎对应的第二智能终端和与所述至少一个第二语音交互引擎对应的至少一个第三智能终端;
步骤304,将所述用户指令发送给所述第二智能终端的第一语音交互引擎,从所述第二智能终端的第一语音交互引擎接收终端间槽位同步信息,其中携带所述第二智能终端的第一语音交互引擎需要同步给所述至少一个第三智能终端的至少一个第二语音交互引擎的关键知识数据;将所述终端间槽位同步信息转发给所述至少一个第三智能终端的至少一个第二语音交互引擎;从第二智能终端的第一语音交互引擎和所述至少一个第三智能终端的至少一个第二语音交互引擎分别接收第一任务执行结果和至少一个第二任务执行结果,并将所述第一任务执行结果和至少一个第二任务执行结果同时提供给用户。
本发明提供基于协作语音交互引擎簇进行交互的装置,用于第一智能终端,所述装置包括:
用户指令获取单元,用于获取用户指令;
任务执行控制单元,用于基于所述用户指令确定第一任务,基于第一语音处理能力列表确定能够执行所述第一任务的第一语音交互引擎;所述第一语音处理能力列表中包括不同任务与语音交互引擎的对应关系;基于本地存储的协作语音交互引擎簇确定所述第一语音交互引擎所属的第一协作语音交互引擎簇;其中,所述第一协作语音交互引擎簇包括所述第一语音交互引擎和至少一个第二语音交互引擎;基于所述第一语音处理能力列表确定与所述第一协作语音交互引擎簇所包括的语音交互引擎相对应的智能终端集合,其中包括与第一语音交互引擎对应的第二智能终端和与所述至少一个第二语音交互引擎对应的至少一个第三智能终端;触发通信单元;
所述通信单元,用于响应于所述任务执行控制单元的触发,将所述用户指令发送给所述第二智能终端的第一语音交互引擎,从所述第二智能终端的第一语音交互引擎接收终端间槽位同步信息,其中携带所述第二智能终端的第一语音交互引擎需要同步给所述至少一个第三智能终端的至少一个第二语音交互引擎的关键知识数据;将所述终端间槽位同步信息转发给所述至少一个第三智能终端的至少一个第二语音交互引擎;
任务执行结果接收单元,用于从第二智能终端的第一语音交互引擎和所述至少一个第三智能终端的至少一个第二语音交互引擎分别接收第一任务执行结果和至少一个第二任务执行结果,将所述第一任务执行结果和至少一个第二任务执行结果同时提供给用户;
存储单元,用于存储协作语音交互引擎簇。
本发明还提供了一种计算机设备,其特征在于,所述计算机设备包括处理器和存储器,所述存储器中存储有可在处理器上运行的计算机程序,所述计算机程序在被所述处理器执行时实现如上所述的方法。
本发明还提供了一种计算机可读存储介质,其特征在于,所述计算机可读存储介质中存储有可在处理器上运行的计算机程序、所述计算机程序在被执行时实现如上所述的方法。
本发明还提供了一种语音助手,其特征在于,包括如上所述的装置。
通过本发明的方法及装置,用户可以基于多个设备的语音助手所包括的语音交互引擎生成的协作语音交互引擎簇与语音助手进行语音交互,从而提升了硬件设备受限的智能终端的语音助手的智能化程度,能够为用户提供良好的语音交互体验。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作一简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是本发明一个实施例中的语音助手系统。
图2是本发明一个实施例中的动态构建语音处理能力列表的方法。
图3是本发明另一个实施例中的构建协作语音交互引擎簇的方法。
图4是本发明另一个实施例中的基于协作语音交互引擎簇与语音助手进行交互的方法。
图5是本发明一个实施例中的动态构建语音处理能力列表的装置。
图6是本发明另一个实施例中的构建协作语音交互引擎簇的装置。
图7是本发明另一个实施例中的基于协作语音交互引擎簇与语音助手进行交互的装置。
具体实施方式
为使本发明的目的、技术方案和优点更加清楚,下面将结合附图对本发明实施方式作进一步地详细描述。本发明的实施例以及实施例的具体特征是对本发明实施例技术方案的详细说明,而非对本发明说明书技术方案的限定,在不冲突的情况下,本发明的实施例以及实施例的技术特征可以相互结合。
1、语音助手系统
图1示出了智能终端上的语音助手系统的框图。所述语音助手系统主要包括:人机交互界面,处理模块,数据库等。其中,处理模块包含m个语音识别引擎和n个语音交互引擎,m和n为大于等于1的正整数。其中,处理模块与人机交互界面相互连接,可以通过人机交互界面接收用户输入的数据,以及通过人机交互界面向用户输出交互数据,例如,反馈给用户的对话数据、任务执行过程及结果。
语音识别引擎用于将用户的语音指令识别为文本;语音交互引擎用于基于所述的文本识别结果或用户文本指令执行特定的任务,每个语音交互引擎可以包含语义理解模块、对话管理和控制模块、对话生成模块、命令执行模块。具体的,语音交互引擎确定用户意图(即确定任务),确定与该用户意图相关联的各个槽位相应的关键知识数据,并将所述关键知识数据填充到相应的槽位中,随后基于填充好的一个或多个槽位执行该任务。
在某些实施例中,处理模块可以包括一个交互主引擎和/或至少一个交互子引擎。其中,语音交互主引擎为语音助手系统的默认语音交互引擎。每个语音交互引擎(语音交互主引擎、语音交互子引擎)能够执行至少一种任务,即每个语音交互引擎可以与至少一个任务相关联,不同的语音交互子引擎所能够执行的任务可能相同或不同。
在某些实施例中,语音交互主引擎只基于用户指令确定能够处理该用户指令的语音交互子引擎,其自身不执行具体的任务。因此,在上述过程中确定用户意图可以由语音助手系统中的语音交互主引擎来完成,语音交互主引擎还用于基于确定出的用户意图选择一个或多个语音交互子引擎来处理上述用户指令,上述过程中的槽位填充和任务执行由语音交互主引擎确定出的一个或多个语音交互子引擎来执行。本发明中,智能终端所执行的方法均可以由其语音助手或语音助手的语音交互主引擎来完成。
2、动态构建语音处理能力列表
本发明提供一种在本地无线网络中动态构建语音处理能力列表的方法,参见图2,所述方法包括如下步骤:
步骤101,响应于首次成功接入所述本地无线网络,第一智能终端获取其能够执行的第一语音处理能力,初始化其本地的第一语音处理能力列表;
步骤102,所述第一智能终端判断在其自身接入所述本地无线网络之前是否有至少一个第二智能终端已首次成功接入所述本地无线网络,如果是,执行步骤103;
步骤103,所述第一智能终端生成第一语音处理能力交互消息,并在所述本地无线网络内广播所述第一语音处理能力交互消息,以使得所述至少一个第二智能终端在接收到第一语音处理能力交互消息后,生成第二语音处理能力交互消息,向所述第一智能终端发送第二语音处理能力交互消息,并基于所述第一语音处理能力交互消息更新其本地的第二语音处理能力列表;
其中,所述第一语音处理能力交互消息包括所述第一智能终端能够执行的第一语音处理能力;所述第二语音处理能力交互消息包括所述第二智能终端所能够执行的第二语音处理能力;
步骤104,所述第一智能终端接收所述至少一个第二智能终端所发送的第二语音处理能力交互消息,基于所述第二语音处理能力交互消息更新所述第一语音处理能力列表。
如步骤101所述,本发明的方法仅在首次成功接入所述本地无线网络时执行,因此,即使此后智能终端相对于所述本地无线网络处于离线状态一段时间后再次上线,也无需再次执行本发明的上述步骤101-104。
优选的,所述第一智能终端和第二智能终端能够通过接入本地无线网络实现对互联网的访问。
优选的,首次接入所述本地无线网络的过程为:所述第一智能终端向所述本地无线网络中的服务器发送首次接入请求,所述服务器对所述第一智能终端进行认证,若认证通过,则向所述第一智能终端返回首次接入成功响应,并记录所述第一智能终端的信息,如MAC地址等能够唯一确定第一智能终端的标识符。所述服务器还记录所述第一智能终端的连网状态。
优选的,所述语音处理能力包括语音识别能力和语音交互能力。所述语音识识别能力包括某个智能终端的语音助手所包括的语音识别引擎(称为本地语音识别引擎)的语音识别能力,如中文识别能力、美式英语识别能力、英式英语识别能力、普通话识别能力、四川方言识别能力等。所述语音交互能力包括某个智能终端的语音助手所包括的语音交互引擎(称为本地语音交互引擎)所能够执行的任务,如机票预定、天气查询等。
优选的,第一语音处理能力列表包括语音处理引擎类型、语音处理引擎名称、能力名称、能力提供终端标识符。例如,第一智能终端能够执行的语音识别能力包括普通话识别能力,能够执行的语音交互能力即任务包括机票预定、外卖订餐,则在步骤101中初始化得到的第一语音处理能力列表如表1所示。下文中,当语音处理能力为语音交互引擎时,能力名称与语音处理引擎能够执行的任务含义相同,二者可以相互替代使用。
表1第一语音处理能力列表
优选的,在步骤102中,所述第一智能终端向所述本地无线网络的服务器发送查询请求,所述服务器将在所述第一智能终端首次接入所述本地无线网络之前已首次成功接入所述本地无线网络的所有第二智能终端标识符携带在查询响应中发送给所述第一智能终端。例如,在第一智能终端首次入网之前,第二智能终端A和第二智能终端B已经依次首次成功接入所述本地无线网络,则在所述查询响应中包括第二智能终端A和第二智能终端B的标识符。若除第一智能终端外,没有其他设备接入所述本地无线网络,则所述查询响应为空。
优选的,在步骤103中,所述第一智能终端向所述服务器发送所述第一语音处理能力交互消息,所述第一语音处理能力交互消息中携带广播标识符,所述服务器在所述本地无线网络内广播所述第一语音处理能力交互消息。
优选的,在步骤104中,所述第一智能终端可以在接收一个第二智能终端所发送的第二语音处理能力交互消息后即基于该第二语音处理能力交互消息更新第一语音处理能力列表,也可以在接收到所有第二智能终端所发送的第二语音处理能力交互消息后再基于所接收到的所有第二语音处理能力交互消息进行更新。例如,其中第二智能终端A能够执行的语音识别能力包括普通话识别能力、四川方言识别能力,能够执行的语音交互能力包括天气查询,第二智能终端B能够执行的语音识别能力包括普通话识别能力、广东方言识别能力,能够执行的语音交互能力包括天气查询、酒店预定,则更新后的第一语音处理能力列表如表2所示。
表2第一语音处理能力列表
优选的,所述第一智能终端和第二智能终端还可以互相交换智能终端参数信息,例如在第一语音处理能力交互消息和第二语音处理能力交互信息或单独的智能终端参数交互消息中携带各自的智能终端参数信息,包括以下至少一者:处理器能力、通信能力、能量获取方式。所述处理器能力可以为CPU型号、版本、内存大小等;所述通信能力包括:是否支持高速蜂窝通信(如4G、5G等)、是否支持终端间直接通信(如wifi直连、蓝牙通信、一对多蓝牙通信);所述能量获取方式可以为:交流电供电、电池供电且不支持无线充电、电池供电且支持无线充电等。所述第一智能终端和第二智能终端在接收到上述交互消息后,各自本地记录上述参数信息,如在第一语音处理能力列表、第二语音处理能力列表中记录,或在专门的智能终端参数表中记录。
优选的,若在预设时间内,所述第一智能终端仅从所述至少一个第二智能终端中的部分第二智能终端接收到第二语音处理能力交互消息,而未从其余部分第二智能终端接收到第二语音处理能力交互消息,则所述第一智能终端从接收到第二语音处理能力交互消息的所述部分第二智能终端中选择一个第二智能终端作为中继第二智能终端,向该中继第二智能终端发送语音处理能力中继请求消息,其中携带所述其余部分第二智能终端的标识符,所述中继第二智能终端在接收到所述语音处理能力中继请求消息后,从本地的第二语音处理能力列表中查询得到上述其余部分第二智能终端的语音处理能力,并携带在语音处理能力中继响应消息中发送给所述第一智能终端。此时,所述第一智能终端还基于所述语音处理能力中继响应消息更新所述第一语音处理能力列表。
优选的,所述第一智能终端从接收到第二语音处理能力交互消息的所述部分第二智能终端中选择一个第二智能终端,具体为选择所述部分第二智能终端中最早回复第二语音处理能力交互消息的第二智能终端。
优选的,在步骤102中的所述查询响应中还携带所述在所述第一智能终端接入所述本地无线网络之前已首次成功接入所述本地无线网络的至少一个第二智能终端在所述本地无线网络的实时连网状态。所述实时连网状态为在网或离线中的一者。
优选的,当本地无线网络中存在智能终端的连网状态发生变化时,所述服务器将这一变化同步到网络中的所有(在网)智能终端。
优选的,所述第一语音处理能力列表和第二语音处理能力列表中还可以包括能力提供终端的实时连网状态。
优选的,所述步骤104中,所述第一智能终端接收所述实时连网状态为在网的至少一个第二智能终端所发送的第二语音处理能力交互消息,基于所述第二语音处理能力交互消息更新所述第一语音处理能力列表。此后,所述第一智能终端从实时联网状态为在网的至少一个第二智能终端中选择一个第二智能终端作为中继第二智能终端,向该中继第二智能终端发送语音处理能力中继请求消息,其中携带实时连网状态为离线的第二智能终端的标识符,所述中继第二智能终端在接收到所述语音处理能力中继请求消息后,从本地的第二语音处理能力列表中查询得到上述实时连网状态为离线的第二智能终端的语音处理能力,并携带在语音处理能力中继响应消息中发送给所述第一智能终端,以便所述第一智能终端还基于所述语音处理能力中继响应消息更新所述第一语音处理能力列表。
优选的,所述本地无线网络中的智能终端还可以记录其他智能终端的低电量状态,例如在语音处理能力列表中包括低电量状态。当第一智能终端的电池电量低于预设阈值且无法通过无线充电补充电量(如不支持,或自动无线充电系统出现故障)时,在所述本地无线网络中广播低电量告警消息,以使得所述本地无线网络中的其他智能终端在接收到该消息后,记录所述第一智能终端当前处于低电量状态。类似的,第一智能终端也能够接收其他智能终端发送的低电量告警消息。
优选的,所述方法还包括步骤105,所述第一智能终端接收用户指令,基于第一语音处理能力列表确定能够处理所述用户指令的第一语音处理引擎;判断所述第一语音处理引擎是否为所述第一智能终端的本地语音处理引擎,如果否,将所述用户指令发送给所述第一语音处理引擎所属的协作智能终端,并从所述协作智能终端接收语音处理结果;如果是,则第一智能终端采用所述第一语音处理引擎获得语音处理结果。此外,当语音处理结果为任务执行结果时,所述第一智能终端还将语音处理结果提供给用户。
优选的,所述第一智能终端接收用户指令,具体为接收用户语音指令,此后,还执行下文所述的步骤300中清晰度判断的相关操作。之后,再执行基于第一语音处理能力列表确定能够处理所述用户指令的第一语音处理引擎。
优选的,所述步骤105还可以为:所述第一智能终端接收用户指令,当判断本地无法处理所述用户指令时,基于所述第一语音处理能力列表选择能够处理所述用户指令的第二智能终端作为协作智能终端,将所述用户指令发送给该协作智能终端,并从所述协作智能终端接收语音处理结果。
优选的,所述基于所述第一语音处理能力列表选择能够处理所述用户指令的第二智能终端作为协作智能终端,具体为:若存在两个以上的第二智能终端均能够处理所述用户指令,根据本地记录的智能终端参数信息选择其中一个作为协作智能终端。
优选的,按照至少以下之一进行选择:
根据所记录的所述两个以上的第二智能终端的处理器能力选择其中一个作为协作智能终端;
判断所述两个以上的第二智能终端在所述本地无线网络的连网状态和通信能力,排除符合以下之一的第二智能终端后在剩余的第二智能终端中选择其中一个(例如根据处理器能力、能量获取方式):连网状态为离线且不支持高速蜂窝通信;连网状态为离线、支持高速蜂窝通信但无法与第一智能终端进行信息交互(例如通过高速蜂窝通信、wifi直连、蓝牙通信、一对多蓝牙通信等方式);
根据所记录的能量获取方式和/或低电量状态选择其中一个作为协作智能终端,例如依次优先选择能量获取方式为交流电供电、电池供电且支持无线充电、电池供电且不支持无线充电的第二智能终端;和/或,排除处于低电量状态的第二智能终端后在剩余的第二智能终端中选择其中一个。
当同时考虑上述几个因素中的部分时,可以先考虑连网状态和通信能力,在考虑处理器能力,最后考虑能量获取方式。
优选的,当所述用户指令为语音指令时,判断本地无法处理所述用户指令可以为本地无法对该语音指令进行语音识别;此外,判断本地无法处理所述用户指令还可以为本地无法处理基于所述语音指令确定的任务,即本地不具有与该任务相关联的语音交互引擎,或与该任务相关联的语音交互引擎属于其他智能终端的语音助手。
优选的,若所述用户指令为语音指令,且本地无法处理所述用户指令为本地无法对该语音指令进行语音识别,则所述步骤105还包括:基于所述用户指令提取该用户的声纹特征,将所述声纹特征与上述协作智能终端关联存储。
优选的,所述方法还包括:当所述第一智能终端再次接收到具有上述声纹特征的语音指令时,不再尝试本地语音识别,直接将该语音指令发送给上述协作智能终端,并从上述协作智能终端获取语音识别结果。
优选的,第一智能终端和/或第二智能终端在离线一段时间并再次在网后,向所述本地无线网络中在网的至少一个其他智能终端发送语音处理能力列表同步请求,并从所述至少一个其他智能终端接收语音处理能力列表同步响应,基于所述语音处理能力列表同步响应更新本地的语音处理能力列表。
优选的,第一智能终端和/或第二智能终端在离线一段时间并再次在网后,从所述服务器获取本地无线网络中所有智能终端的连网状态。
优选的,在智能终端之间发送的消息例如第二语音处理能力交互消息可以通过所述服务器转发。
优选的,所述方法还包括步骤106,当语音处理能力发生变化时,第一智能终端更新本地的第一语音处理能力列表,生成第一语音处理能力更新消息,并在所述本地无线网络内广播所述第一语音处理能力更新消息,以使得所述至少一个第二智能终端在接收到第一语音处理能力更新消息后,更新其本地的第二语音处理能力列表。
优选的,所述方法还包括步骤107,第一智能终端接收所述至少一个第二智能终端发送的第二语音处理能力更新消息,更新所述第一语音处理能力列表。
值得注意的是,步骤105-107可以先执行其中任一者,本发明不限定执行上述三个步骤的先后顺序。
基于本发明的上述方法,能够在智能终端初次接入本地无线网络时,即与该网络中的其他智能终端互相交换语音处理能力,从而在接收到自身无法处理的用户指令后,能够及时选择合适的智能终端进行协作处理,加快了对用户的响应速度,提升了用户体验。
3、构建协作语音交互引擎簇
以下先对现有技术中的交互引擎簇(也可称为语音交互引擎簇)进行简要介绍(详细介绍可参考中国发明专利申请CN201911220477.X,该专利申请的全部内容通过引用的方式结合或合并到本申请中)。
一个语音交互引擎簇中包括至少两个语音交互引擎。其中,语音交互引擎簇中的任意一个语音交互引擎相关联的任务与所述语音交互引擎簇中的其他语音交互引擎相关联的任务不同,语音交互引擎簇中的任意一个语音交互引擎相关联的任务与所述语音交互引擎簇中的至少一个其他语音交互引擎相关联的任务具有至少一个相同或者相应的槽位。
智能终端可以从服务器下载语音交互引擎簇的属性信息,并根据下载的语音交互引擎簇的属性信息,在本地构建语音交互引擎簇;智能终端也可以根据用户与语音助手系统的历史对话记录在本地聚合生成语音交互引擎簇。
在使用语音交互引擎簇时,若语音交互引擎簇中的任意一个语音交互引擎(下文用第一语音交互引擎来指代)被激活,则智能终端的语音助手激活所述语音交互引擎簇中的其他语音交互引擎(下文用至少一个第二语音交互引擎来指代),且根据第一语音交互引擎相关联的第一任务的第一槽位所填充的关键知识数据对至少一个第二语音交互引擎相关联的至少一个第二任务的第一槽位和/或第二槽位进行即时同步,所述至少一个第二语音交互引擎相关联的至少一个第二任务具有所述第一槽位和/或与所述第一槽位相应的第二槽位,从语音交互引擎簇中的所有或部分语音交互引擎获取任务执行结果并同时提供给用户。
上述即时同步包括第一槽位从未填充变化为填充第一关键知识数据时的即时同步,也包括第一槽位所填充的关键知识数据从第一关键知识数据变化为第二关键知识数据时的即时同步。
所述语音交互引擎簇所包括的至少两个语音交互引擎中的其中一个或多个为主导语音交互引擎,其余语音交互引擎为从语音交互引擎,在语音助手系统处于簇任务工作模式时,若第一语音交互引擎为其所属的语音交互引擎簇的主导语音交互引擎,则在激活第一语音交互引擎时,还激活该语音交互引擎簇中其他语音交互引擎,并进行语音交互引擎之间槽位的即时同步,若第一语音交互引擎不是其所属的语音交互引擎簇的主导语音交互引擎,仅激活所述第一语音交互引擎。
然而,在现有技术中,构成语音交互引擎簇的多个语音交互引擎均属于同一个智能终端的语音助手,不能利用分别属于不同智能终端的语音助手的语音交互引擎形成语音交互引擎簇,当用户的不同智能终端的语音助手分别安装了不同的语音交互引擎(例如第一智能终端的智能助手中包括机票预定语音交互引擎,第二智能终端的智能助手中包括天气查询语音交互引擎)时,用户不能享受上述不同的语音交互引擎所构成的语音交互引擎簇所带来的良好体验。
基于此,本发明提出了一种特殊的语音交互引擎簇,称为协作语音交互引擎簇,除了语音交互引擎簇中的语音交互引擎位于同一智能终端这一特性外,协作语音交互引擎簇具有语音交互引擎簇的其余所有特性。
参见本发明前文所述,所述本地无线网络中的第一智能终端和至少一个第二智能终端在首次成功接入所述本地无线网络时,彼此交换了语音处理能力(语音识别能力和语音交互能力),并能够彼此相互调用或彼此协作,其效果等同于所述无线网络中的任意一个智能终端具有了其自身与所述本地无线网络中的其余智能终端的所有语音处理能力,这就使得构建协作语音交互引擎簇成为了可能。
本发明提供一种在本地无线网络中构建协作语音交互引擎簇的方法,根据第一智能终端在首次成功接入所述本地无线网络后生成第一语音处理能力列表,基于属于不同智能终端的语音交互引擎构建协作语音交互引擎簇,接收到用户指令的第一智能终端控制所述不同智能智能终端基于所述协作语音交互引擎簇与用户进行语音交互。
参见图3,所述方法包括如下步骤:
步骤200,第一智能终端在首次成功接入所述本地无线网络后生成第一语音处理能力列表;所述第一语音处理能力列表中包括所述第一智能终端包括的至少一个第一语音交互引擎和至少一个第二智能终端包括的至少一个语音交互引擎;所述第二智能终端在所述第一智能终端接入所述本地无线网络之前已首次成功接入所述本地无线网络;
步骤201,第一智能终端向语音助手云服务器发送语音交互引擎簇搜索请求,其中携带所述至少一个第一语音交互引擎;
步骤202,第一智能终端从语音助手云服务器接收语音交互引擎簇搜索响应,其中携带至少一个第一语音交互引擎簇的属性信息,所述第一语音交互引擎簇所包括的语音交互引擎中包括所述第一语音交互引擎和至少一个第二语音交互引擎;
步骤203,所述第一智能终端查询第一语音处理能力列表,确定与所述至少一个第二语音交互引擎相对应的至少一个第二智能终端;
步骤204,所述第一智能终端根据所述语音交互引擎簇搜索响应构建生成第一协作语音交互引擎簇属性信息,所述第一协作语音交互引擎簇属性信息包括所述第一语音交互引擎与第一智能终端的对应关系以及所述至少一个第二语音交互引擎与至少一个第二智能终端的对应关系。
优选的,所述方法还包括步骤205,所述第一智能终端将所述第一协作语音交互引擎簇的属性信息发送给所述本地无线网络中的至少一个第二智能终端。从而,无论是包括协作语音交互引擎簇中的至少一个语音交互引擎的第二智能终端,还是不包括协作语音交互引擎簇中的任意一个语音交互引擎的第二智能终端,均能够接收到上述协作语音交互引擎簇的属性信息,进而使用该协作语音交互引擎簇,使得用户在所述本地无线网络的任何一个终端上均可以享受到协作语音交互引擎簇所带来的良好体验。
优选的,步骤202中的第一语音交互引擎簇的属性信息包括所述第一语音交互引擎簇的簇名称、所述第一语音交互引擎簇所包括的至少两个语音交互引擎的名称、所述至少两个语音交互引擎所能够执行(或相关联)的任务所具有的相同或相应的槽位。
可替换的,在上述方法中,语音交互引擎簇搜索响应中携带的是至少一个第一语音交互引擎簇的配置信息,其中携带与所述语音交互引擎簇配置信息所包括的第一语音交互引擎相关联的任务和至少一个第二语音交互引擎相关联的任务。在步骤203中,所述第一智能终端查询第一语音处理能力列表,确定能够完成至少一个第二语音交互引擎相关联的任务的至少一个第二智能终端和相应的至少一个第三语音交互引擎。所述第一协作语音交互引擎簇属性信息包括所述第一语音交互引擎与第一智能终端的对应关系以及所述至少一个第三语音交互引擎与至少一个第二智能终端的对应关系。
在上述方法中,构建协作语音交互引擎簇时利用了语音助手云服务器中此前已经存储的语音交互引擎簇的信息,能够简化并加快协作语音交互引擎簇的构建,使得用户尽快享受到交互引擎簇所带来的良好体验。
优选的,所述步骤204还包括:在构建生成所述协作语音交互引擎簇属性信息之前,所述第一智能终端向与所述至少一个第二语音交互引擎相对应或向完成与所述至少一个第二语音交互引擎的相关联的任务的至少一个第二智能终端发送协作语音交互引擎簇构建问询请求,并在接收到协作语音交互引擎簇构建同意响应后,再根据所述语音交互引擎簇搜索响应构建协作语音交互引擎簇的属性信息;其中,所述第二智能终端在接收到协作语音交互引擎簇构建问询请求后,判断自身是否支持协作语音交互引擎簇功能,如果是,生成协作语音交互引擎簇构建同意响应并将其发送给所述第一智能终端。即第一智能终端通过构建问询请求和构建同意响应的方式确定所要构建的协作语音交互引擎簇中的每个语音交互引擎所属的智能终端均支持协作语音交互引擎簇这一功能,避免第一智能终端构建协作语音交互引擎簇后由于部分智能终端不支持而导致该协作语音交互引擎簇无法正常使用。
优选的,若所述第一智能终端向所述至少一个第二智能终端发送协作语音交互引擎簇构建问询请求后,未从其中一个或多个第二智能终端接收到协作语音交互引擎簇构建同意响应,则所述第一智能终端向该一个或多个第二智能终端发送语音助手升级请求消息,在接收到所述一个或多个第二智能终端发送的语音助手升级完成消息后,再根据所述语音交互引擎簇搜索响应构建协作语音交互引擎簇的属性信息。所述一个或多个第二智能终端在接收到语音助手升级请求消息后,启动语音助手升级,并在升级完成后,生成并向第一智能终端发送所述语音助手升级完成消息。
优选的,协作语音交互引擎簇的属性信息包括所述协作语音交互引擎簇的簇名称、所述协作语音交互引擎簇所包括的至少两个语音交互引擎的名称、至少两个语音交互引擎所属的智能终端标识符(即前文所述的对应关系)、所述至少两个语音交互引擎所能够执行(或相关联)的任务所具有的相同或相应的槽位。在一个具体实施例中,构建得到的协作语音交互引擎簇的属性信息如下表3所示。
表3协作语音交互引擎簇的属性信息
优选的,所述第一语音交互引擎是所述第一语音交互引擎簇的主导交互引擎,即搜索响应中仅包括以所述第一语音交互引擎为主导交互引擎的语音交互引擎簇。同时,将所述第一语音交互引擎设置为所述第一协作语音交互引擎簇的主导交互引擎,并记录在协作语音交互引擎簇的属性信息中。
优选的,在步骤205中,在所述第一智能终端将所述协作语音交互引擎簇的属性信息发送给所述本地无线网络中的至少一个第二智能终端之前,所述第一智能终端向用户发出第一指令,指示用户对所述协作语音交互引擎簇进行命名(当语音交互引擎簇搜索响应中携带配置信息时)或重命名(当语音交互引擎簇搜索响应中携带属性信息时),并接收用户的命名或重命名指令,将所述命名指令中携带的簇名称记录在协作语音交互引擎簇的属性信息中,或使用所述重命名指令中携带的簇名称更新协作语音交互引擎簇的属性信息中的簇名称,之后,再将所述协作语音交互引擎簇的属性信息发送给所述本地无线网络中的至少一个第二智能终端。
优选的,在步骤203中,若所述第一智能终端确定与某个第二语音交互引擎相对应的第二智能终端或能够完成与某个第二语音交互引擎相关联的任务的第二智能终端为多个时,从中选择一个第二智能终端作为与该第二语音交互引擎相对应的第二智能终端或作为能够完成第二语音交互引擎相关联的任务的第二智能终端。
优选的,按照以下至少之一进行选择:
所述第一智能终端从所述本地无线网络中的服务器获取上述多个第二智能终端的离线时长,选择其中离线时长最短的第二智能终端;
根据所记录的所述多个第二智能终端的处理器能力选择其中一个第二智能终端;
根据所记录的通信能力选择其中支持高速蜂窝通信和至少一个终端间直接通信的第二智能终端;
依次优先选择交流电供电、电池供电且支持无线充电的第二智能终端。
若综合考虑上述至少两个选择因素,则依次优先考虑通信能力选择、处理器能力、离线时长、能量获取方式。
优选的,在步骤203中,若所述第一智能终端确定与某个第二语音交互引擎相对应的第二智能终端或能够完成与某个第二语音交互引擎相关联的任务的第二智能终端为多个时,从中选择一个第二智能终端作为与该第二语音交互引擎相对应的第二智能终端或作为能够完成第二语音交互引擎相关联的任务的第二智能终端(如按照上述方式进行选择,也可以随机选择一个),并将其余第二智能终端作为与该第二语音交互引擎相对应的并存第二智能终端或作为能够完成第二语音交互引擎相关联的任务的并存第二智能终端;相应的,步骤204还包括:所述第一智能终端根据所述语音交互引擎簇搜索响应构建生成第一协作语音交互并存引擎簇属性信息,所述第一协作语音交互并存引擎簇属性信息包括所述第一语音交互引擎与第一智能终端的对应关系以及所述至少一个第二语音交互引擎与至少一个并存第二智能终端的对应关系。
优选的,所述方法还包括步骤205,所述第一智能终端将所述第一协作语音交互并存引擎簇的属性信息发送给所述本地无线网络中的至少一个第二智能终端。
优选的,若按照前述的通信能力选择、处理器能力、离线时长、能量获取方式选择了第二智能终端,则基于该第二智能终端构建的第一协作语音交互引擎簇的优先级最高,并按照上述选择因素,对第一协作语音交互并存引擎簇进行优先级排序。
上述第一协作语音交互引擎簇、第一协作语音交互并存引擎簇仅仅是为了描述的方便,其特性相同,在下文中可以互换使用。
优选的,所述方法还包括如下步骤:
步骤206,接收所述本地无线网络中的所述至少一个第二智能终端所发送的代理构建协作语音交互引擎簇请求,其中携带所述至少一个第二智能终端所包括的至少一个第二语音交互引擎;
所述第一智能终端采用构建第一协作语音交互引擎簇的类似方式构建第二协作语音交互引擎簇属性信息,所述第二协作语音交互引擎簇包括所述至少一个第二语音交互引擎,具体的,执行下述的步骤207-211。通过上述方法,第一智能终端可以代替部分处理能力较低的第二智能终端来执行协作语音交互引擎簇的构建。
步骤207,所述第一智能终端向语音助手云服务器发送语音交互引擎簇搜索请求,其中携带支持所述至少一个第二语音交互引擎;
步骤208,第一智能终端从语音助手云服务器接收语音交互引擎簇搜索响应,其中携带至少一个第二语音交互引擎簇的属性信息,所述第二语音交互引擎簇所包括的语音交互引擎中包括所述至少一个第二语音交互引擎和至少一个第四语音交互引擎;
步骤209,所述第一智能终端查询第一语音处理能力列表,确定与所述至少一个第四语音交互引擎相对应的至少一个第四智能终端;所述至少一个第四智能终端是在所述第一智能终端接入所述本地无线网络之前已首次成功接入所述本地无线网络的至少一个第二智能终端中的至少一个;
步骤210,所述第一智能终端根据所述语音交互引擎簇搜索响应构建生成所述第二协作语音交互引擎簇属性信息,其中包括所述至少一个第二语音交互引擎与至少一个第二智能终端的对应关系以及所述至少一个第四语音交互引擎与至少一个第四智能终端的对应关系。
优选的,所述方法还包括步骤211,所述第一智能终端将所述协作语音交互引擎簇的属性信息发送给所述本地无线网络中的至少一个第二智能终端。
本发明中前述对于步骤201-205的所有进一步限定均适用于步骤207-210中的相应步骤,此处不再赘述。
4、协作语音交互引擎簇的使用
本发明还提供一种基于协作语音交互引擎簇与语音助手进行交互的方法,用于第一智能终端,参见图4,所述方法包括如下步骤:
步骤300,获取用户指令;
步骤301,基于所述用户指令确定第一任务,基于第一语音处理能力列表确定能够执行所述第一任务的第一语音交互引擎;所述第一语音处理能力列表中包括不同任务与语音交互引擎的对应关系;
步骤302,基于本地存储的协作语音交互引擎簇确定所述第一语音交互引擎所属的第一协作语音交互引擎簇;其中,所述第一协作语音交互引擎簇包括所述第一语音交互引擎和至少一个第二语音交互引擎;
步骤303,基于所述第一语音处理能力列表确定与所述第一协作语音交互引擎簇所包括的语音交互引擎相对应的智能终端集合,其中包括与第一语音交互引擎对应的第二智能终端和与所述至少一个第二语音交互引擎对应的至少一个第三智能终端;
步骤304,将所述用户指令发送给所述第二智能终端的第一语音交互引擎,从所述第二智能终端的第一语音交互引擎接收终端间槽位同步信息,其中携带所述第二智能终端的第一语音交互引擎需要同步给所述至少一个第三智能终端的至少一个第二语音交互引擎的关键知识数据;将所述终端间槽位同步信息转发给所述至少一个第三智能终端的至少一个第二语音交互引擎;从第二智能终端的第一语音交互引擎和所述至少一个第三智能终端的至少一个第二语音交互引擎分别接收第一任务执行结果和至少一个第二任务执行结果,并将所述第一任务执行结果和至少一个第二任务执行结果同时提供给用户。
优选的,步骤304具体为:
执行第一判断:判断所述第一智能终端与所述第二智能终端是否为同一个终端,即判断所述第一语音交互引擎是否为第一智能终端的本地语音交互引擎;
情况1:如果第一判断的结果为是,将所述语音指令发送给所述第一语音交互引擎,从所述第一语音交互引擎接收终端间槽位同步信息,并将其发送给上述至少一个第三智能终端,以使得上述至少一个第三智能终端的至少一个第二语音交互引擎基于所述终端间槽位同步信息对至少一个第二语音交互引擎相关联的至少一个第二任务的槽位进行即时同步;从所述第一语音交互引擎和所述至少一个第三智能终端分别接收第一任务执行结果和至少一个第二任务执行结果,并将所述第一任务执行结果和至少一个第二任务执行结果同时提供给用户;
情况2:如果第一判断的结果为否,当所述第一智能终端与至少一个第三智能终端中的一者为同一个终端时,将所述语音指令发送给第一语音交互引擎对应的第二智能终端,激活协作语音交互引擎簇中属于第一智能终端的第二语音交互引擎即本地的第二语音交互引擎,从第二智能终端接收终端间槽位同步信息,基于所述终端间槽位同步信息对本地的所述第二语音交互引擎相关联的第二任务的槽位进行即时同步;从所述本地的第二语音交互引擎和所述第二智能终端分别接收第二任务执行结果和第一任务执行结果,并将所述第一任务执行结果和第二任务执行结果同时提供给用户;
情况3:如果第一判断的结果为否,当所述第一智能终端与至少一个第三智能终端中的任意一者均不为同一个终端时,将所述语音指令发送给第一语音交互引擎对应的第二智能终端,并通知所述至少一个第三智能终端激活所述至少一个第二语音交互引擎,从第二智能终端接收终端间槽位同步信息,将终端间槽位同步信息转发给所述至少一个第三智能终端,以使得至少一个第三智能终端基于所述终端间槽位同步信息对所述至少一个第二语音交互引擎相关联的至少一个第二任务的槽位进行即时同步;从所述第二智能终端和至少一个第三终端分别接收第一任务执行结果和至少一个第二任务执行结果,并将所述第一任务执行结果和第二任务执行结果同时提供给用户。
优选的,在情况2即第一判断的结果为否,且所述第一智能终端与至少一个第三智能终端中的一者为同一个终端时,所述第一智能终端在将所述语音指令发送给第一语音交互引擎对应的第二智能终端之后通知所述至少一个第三智能终端激活所述至少一个第二语音交互引擎,并将接收到的终端间槽位同步信息转发给其他第三智能终端,以使得所述其他第三智能终端基于所述终端间槽位同步信息对相应的第二交互引擎相关联的第二任务的槽位进行同步,从所述其他第三智能终端接收第二任务执行结果,将所述从其他第三智能终端接收到的第二任务执行结果与所述第一任务执行结果和从所述本地的第二语音交互引擎接收到的第二任务执行结果同时提供给用户。
优选的,所述终端间槽位同步信息包括第一语音交互引擎对第一任务的第一槽位所填充的关键知识数据;所述对至少一个第二语音交互引擎相关联的至少一个第二任务的槽位进行即时同步,具体为,对至少一个第二交互引擎相关联的至少一个第二任务的第一槽位和/或与第一槽位对应的第二槽位进行即时同步。
优选的,在步骤302中,进一步执行第二判断,即判断所述第一语音交互引擎是否为所述第一协作语音交互引擎簇的主导交互引擎,如果第二判断的结果为是,则按照协作语音交互引擎簇的方式来执行,即执行步骤303及其后续步骤。如果第二判断的结果为否,执行步骤305,步骤305类似前述步骤105的过程(其中语音处理引擎为语音交互引擎的情况),即判断所述第一语音交互引擎是否为第一智能终端的本地语音交互引擎,如果是,将所述语音指令发送给所述第一语音交互引擎,以使得所述第一语音交互引擎基于所述语音指令对所述第一任务的槽位进行填充,从第一语音交互引擎接收第一任务执行结果,将其提供给用户,如果否,将所述语音指令发送给所述第一语音交互引擎所属的协作智能终端,以使得所属协作智能终端基于所述语音指令对所述第一任务的槽位进行填充,从所述协作智能终端接收第一任务执行结果,并将其提供给用户。
在步骤301之后,判断所述第一智能终端是否处于协作交互引擎簇工作模式以及判断所述用户指令中是否包括协作交互引擎簇工作模式变更指令,上述两个判断中有一者结果为是,则执行步骤302,若两者判断结果均为否,则执行步骤305。
优选的,步骤300中获取用户语音指令,之后,所述第一智能设备基于接收到的用户的语音指令,确定所述语音指令的第一清晰度值,将所述第一清晰度值广播给本地无线网络中的至少一个其他智能设备,并从上述至少一个其他智能设备接收第二清晰度值,判断所述第一清晰度值是否大于所述第二清晰度值,如果是,执行后续步骤。
优选的,步骤300具体为:步骤300-1:接收用户的语音指令;步骤300-2,第一智能终端基于第一语音能力列表选择能够对该语音指令进行语音识别处理的智能终端,基于该智能终端的处理结果获取用户指令。
优选的,若基于第一语音处理能力列表确定能够执行所述第一任务的第一语音交互引擎为多个,首先按照前文图2和图3实施例中介绍的从多个智能设备中选择一个的方法从所述多个第一交互引擎中选择一个,随后再基于本地存储的协作语音交互引擎簇确定选择出的第一语音交互引擎所属的第一协作语音交互引擎簇。
若确定所述第一语音交互引擎所属的第一协作语音交互引擎簇(第一协作语音交互共存引擎簇)为多个,则先选择其中一个,再执行步骤303。选择方法可以为如下之一:
按照第一协作语音交互引擎簇的优先级排序进行选择;
若第一语音交互引擎在不同第一协作语音交互引擎簇中对应不同的所属智能终端,则若存在其中一个第一协作语音交互引擎簇中第一语音交互引擎对应的所属智能终端为所述第一智能终端,则选择该第一协作语音交互引擎簇,继续执行步骤303;
若所有第一协作语音交互引擎簇中第一语音交互引擎对应的所属智能终端均不为所述第一智能终端,则按照前文图2和图3实施例中介绍的从多个智能设备中选择一个的方法从第一语音交互引擎在不同第一协作语音交互引擎簇中所对应的不同的所属智能终端中选择一个,并将该所属智能终端对应的协作语音交互引擎簇作为选择出的协作语音交互引擎簇;
若至少一个第二语音交互引擎在不同第一协作语音交互引擎簇中对应同一个所属智能终端,则若存在其中一个第一协作语音交互引擎簇中至少一个第二语音交互引擎对应的所属智能终端为所述第一智能终端,则选择该第一协作语音交互引擎簇,继续执行步骤303;
若所有第一协作语音交互引擎簇中至少一个第二语音交互引擎对应的所属智能终端均不为所述第一智能终端,则按照前文图2和图3实施例中介绍的从多个智能设备中选择一个的方法从至少一个第二语音交互引擎在不同第一协作语音交互引擎簇中所对应的不同的所属智能终端中选择一个,并将该所属智能终端对应的协作语音交互引擎簇作为选择出的协作语音交互引擎簇。
上述选择一个第一协作语音交互引擎簇和前述第二判断可以先执行其中任意一者。这是由于若第一语音交互引擎在其中一个第一协作语音交互引擎簇中为主导语音交互引擎,则在其所属的其他第一协作语音交互引擎簇中也为主导语音交互引擎。
本发明图2-4的三个方法应用于相同的场景且属于同一个构思体系,上述三个方法之间可以任意的结合。
本发明还提供一种动态构建语音处理能力列表的装置,参见图5,所述装置包括:
语音处理能力列表动态构建单元,用于响应于首次成功接入所述本地无线网络,获取所述装置能够执行的第一语音处理能力,初始化本地的第一语音处理能力列表;判断在其自身接入所述本地无线网络之前是否有至少一个第二智能终端已首次成功接入所述本地无线网络,如果是,生成第一语音处理能力交互消息,并触发所述通信单元在所述本地无线网络内广播所述第一语音处理能力交互消息,以使得所述至少一个第二智能终端在接收到第一语音处理能力交互消息后,生成第二语音处理能力交互消息,向所述装置发送第二语音处理能力交互消息,并基于所述第一语音处理能力交互消息更新其本地的第二语音处理能力列表;
通信单元,用于在所述本地无线网络内广播所述第一语音处理能力交互消息;
其中,所述第一语音处理能力交互消息包括所述装置能够执行的第一语音处理能力;所述第二语音处理能力交互消息包括所述第二智能终端所能够执行的第二语音处理能力;
所述通信单元,用于接收所述至少一个第二智能终端所发送的第二语音处理能力交互消息;
所述语音处理能力列表动态构建单元还用于基于所述第二语音处理能力交互消息更新所述第一语音处理能力列表。
优选的,所述通信单元,还用于向所述本地无线网络中的服务器发送首次接入请求,并接收所述服务器在对所述装置认证通过后返回的首次接入成功响应;
所述装置还包括存储单元,用于存储所述第一语音处理能力列表。
优选的,所述通信单元,还用于向所述本地无线网络的服务器发送查询请求,并接收所述服务器发送的查询响应,所述查询响应中携带在所述装置首次接入所述本地无线网络之前已首次成功接入所述本地无线网络的所有第二智能终端标识符。所述语音处理能力列表动态构建单元基于所述查询响应判断在其自身接入所述本地无线网络之前是否有至少一个第二智能终端已首次成功接入所述本地无线网络。
优选的,所述通信单元在所述本地无线网络内广播所述第一语音处理能力交互消息,具体为:所述通信单元向所述服务器发送所述第一语音处理能力交互消息,所述第一语音处理能力交互消息中携带广播标识符,所述服务器在所述本地无线网络内广播所述第一语音处理能力交互消息。
优选的,所述通信单元还用于发送前文所述的其他消息如智能终端参数交互消息。
所述所述语音处理能力列表动态构建单元还用于将其他智能终端的参数信息记录在存储单元中。
优选的,所述语音处理能力列表动态构建单元还用于:在判断出在预设时间内所述通信单元仅从所述至少一个第二智能终端中的部分第二智能终端接收到第二语音处理能力交互消息,而未从其余部分第二智能终端接收到第二语音处理能力交互消息,则从接收到第二语音处理能力交互消息的所述部分第二智能终端中选择一个第二智能终端作为中继第二智能终端,触发所述通信单元向该中继第二智能终端发送语音处理能力中继请求消息,其中携带所述其余部分第二智能终端的标识符,所述中继第二智能终端在接收到所述语音处理能力中继请求消息后,从本地的第二语音处理能力列表中查询得到上述其余部分第二智能终端的语音处理能力,并携带在语音处理能力中继响应消息中发送给所述装置的通信单元。此时,所述语音处理能力列表动态构建单元还基于所述语音处理能力中继响应消息更新所述第一语音处理能力列表。
优选的,所述通信单元还用于接收服务器发送的指示其他智能终端连网状态变化的同步消息。
优选的,所述通信单元还发送电池电量低于预设阈值且无法通过无线充电补充电量(如不支持,或自动无线充电系统出现故障)时,在所述本地无线网络中广播低电量告警消息。
所述通信单元还用于接收其他智能终端发送的低电量告警消息。
所述语音处理能力列表动态构建单元还用于基于所述低电量告警消息将所述其他智能终端的低电量状态记录在存储单元中。
优选的,所述通信单元接收所述实时连网状态为在网的至少一个第二智能终端所发送的第二语音处理能力交互消息,所述语音处理能力列表动态构建单元基于所述第二语音处理能力交互消息更新所述第一语音处理能力列表。此后,所述语音处理能力列表动态构建单元从实时联网状态为在网的至少一个第二智能终端中选择一个第二智能终端作为中继第二智能终端,触发所述通信单元向该中继第二智能终端发送语音处理能力中继请求消息,其中携带实时连网状态为离线的第二智能终端的标识符,所述中继第二智能终端在接收到所述语音处理能力中继请求消息后,从本地的第二语音处理能力列表中查询得到上述实时连网状态为离线的第二智能终端的语音处理能力,并携带在语音处理能力中继响应消息中发送给所述装置的通信单元,所述语音处理能力列表动态构建单元还基于所述语音处理能力中继响应消息更新所述第一语音处理能力列表。
所述装置还包括用户指令获取单元,用于接收用户指令;
所述装置还包括任务执行控制单元,用于基于第一语音处理能力列表确定能够处理所述用户指令的第一语音处理引擎;判断所述第一语音处理引擎是否为所述装置的本地语音处理引擎,如果否,触发所述通信单元将所述用户指令发送给所述第一语音处理引擎所属的协作智能终端,并从所述协作智能终端接收语音处理结果;如果是,则采用所述第一语音处理引擎获得语音处理结果。
所述装置还包括任务执行结果提供单元,用于当语音处理结果为任务执行结果时,还将语音处理结果提供给用户。
所述任务执行控制单元,还用于基于用户指令获取单元接收的用户指令进行清晰度判断的相关操作(具体参见下文),之后,再基于第一语音处理能力列表确定能够处理所述用户指令的第一语音处理引擎。
所述任务执行控制单元还用于:当判断所述装置无法处理所述用户指令时,基于所述第一语音处理能力列表选择能够处理所述用户指令的第二智能终端作为协作智能终端,触发所述通信单元将所述用户指令发送给该协作智能终端,并从所述协作智能终端接收语音处理结果。
所述任务执行控制单元选择协作智能终端的过程具体参见前述记载。
所述任务执行控制单元,还用于若所述用户指令为语音指令,且本地无法处理所述用户指令为本地无法对该语音指令进行语音识别,则基于所述用户指令提取该用户的声纹特征,将所述声纹特征与上述协作智能终端关联存储。
所述任务执行控制单元,还用于判断所述用户指令获取单元再次接收的语音指令具有上述声纹特征时,不再尝试本地语音识别,触发所述通信单元直接将该语音指令发送给上述协作智能终端,并从上述协作智能终端获取语音识别结果。
所述语音处理能力列表动态构建单元,还用于在所述装置离线一段时间并再次在网后,触发所述通信单元向所述本地无线网络中在网的至少一个其他智能终端发送语音处理能力列表同步请求,并从所述至少一个其他智能终端接收语音处理能力列表同步响应;所述语音处理能力列表动态构建单元还用于基于所述语音处理能力列表同步响应更新本地的语音处理能力列表。
所述语音处理能力列表动态构建单元,还用于在所述装置离线一段时间并再次在网后,触发所述通信单元从所述服务器获取本地无线网络中所有智能终端的连网状态。
所述语音处理能力列表动态构建单元,还用于当语音处理能力发生变化时,更新本地的第一语音处理能力列表,生成第一语音处理能力更新消息,并触发所述通信单元在所述本地无线网络内广播所述第一语音处理能力更新消息,以使得所述至少一个第二智能终端在接收到第一语音处理能力更新消息后,更新其本地的第二语音处理能力列表。
所述通信单元,还用于接收所述至少一个第二智能终端发送的第二语音处理能力更新消息;所述语音处理能力列表动态构建单元还用于基于所述第二语音处理能力更新消息更新所述第一语音处理能力列表。
优选的,所述装置用于所述第一智能终端。
本发明还提供一种动态构建语音处理能力列表的装置,所述装置用于所述第二智能终端。其中,第二智能终端所执行的发送消息、接收消息由所述装置的通信单元来执行,其余步骤由所述装置的语音处理能力列表动态构建单元来执行,所述装置还包括存储单元,用于存储第二语音处理能力列表。
本发明还提供一种在本地无线网络中构建协作语音交互引擎簇的装置,参见图6,所述装置包括:
语音处理能力列表动态构建单元,用于所述装置在首次成功接入所述本地无线网络后生成第一语音处理能力列表;所述第一语音处理能力列表中包括所述装置包括的至少一个第一语音交互引擎和至少一个第二智能终端包括的至少一个语音交互引擎;所述第二智能终端在所述装置接入所述本地无线网络之前已首次成功接入所述本地无线网络;
通信单元,用于向语音助手云服务器发送语音交互引擎簇搜索请求,其中携带所述至少一个第一语音交互引擎;从语音助手云服务器接收语音交互引擎簇搜索响应,其中携带至少一个第一语音交互引擎簇的属性信息,所述第一语音交互引擎簇所包括的语音交互引擎中包括所述第一语音交互引擎和至少一个第二语音交互引擎;
协作语音交互引擎簇构建单元,用于查询第一语音处理能力列表,确定与所述至少一个第二语音交互引擎相对应的至少一个第二智能终端;根据所述语音交互引擎簇搜索响应构建生成第一协作语音交互引擎簇属性信息,所述第一协作语音交互引擎簇属性信息包括所述第一语音交互引擎与所述装置的对应关系以及所述至少一个第二语音交互引擎与至少一个第二智能终端的对应关系。
优选的,所述装置用于所述第一智能终端。
优选的,所述装置还包括存储单元,用于存储所述第一协作语音交互引擎簇属性信息。
所述通信单元还用于将所述第一协作语音交互引擎簇的属性信息发送给所述本地无线网络中的至少一个第二智能终端。
所述协作语音交互引擎簇构建单元,还用于在语音交互引擎簇搜索响应中携带的是至少一个第一语音交互引擎簇的配置信息时,查询第一语音处理能力列表,确定能够完成至少一个第二语音交互引擎相关联的任务的至少一个第二智能终端和相应的至少一个第三语音交互引擎。此时,生成的所述第一协作语音交互引擎簇属性信息包括所述第一语音交互引擎与所述装置的对应关系以及所述至少一个第三语音交互引擎与至少一个第二智能终端的对应关系。
所述协作语音交互引擎簇构建单元,还用于在构建生成所述协作语音交互引擎簇属性信息之前,触发所述通信单元向与所述至少一个第二语音交互引擎相对应或向完成与所述至少一个第二语音交互引擎的相关联的任务的至少一个第二智能终端发送协作语音交互引擎簇构建问询请求,并在所述通信单元接收到协作语音交互引擎簇构建同意响应后,再根据所述语音交互引擎簇搜索响应构建协作语音交互引擎簇的属性信息;其中,所述第二智能终端在接收到协作语音交互引擎簇构建问询请求后,判断自身是否支持协作语音交互引擎簇功能,如果是,生成协作语音交互引擎簇构建同意响应并将其发送给所述装置。
所述协作语音交互引擎簇构建单元,还用于在判断出所述装置向所述至少一个第二智能终端发送协作语音交互引擎簇构建问询请求后,未从其中一个或多个第二智能终端接收到协作语音交互引擎簇构建同意响应,则触发所述通信单元向该一个或多个第二智能终端发送语音助手升级请求消息,在所述通信单元接收到所述一个或多个第二智能终端发送的语音助手升级完成消息后,再根据所述语音交互引擎簇搜索响应构建协作语音交互引擎簇的属性信息。所述一个或多个第二智能终端在接收到语音助手升级请求消息后,启动语音助手升级,并在升级完成后,生成并向所述装置发送所述语音助手升级完成消息。
所述协作语音交互引擎簇构建单元,还用于将所述第一语音交互引擎设置为所述第一协作语音交互引擎簇的主导交互引擎,并记录在协作语音交互引擎簇的属性信息中。
所述协作语音交互引擎簇构建单元,还用于在触发所述通信单元将所述协作语音交互引擎簇的属性信息发送给所述本地无线网络中的至少一个第二智能终端之前,触发所述任务执行结果提供单元向用户发出第一指令,指示用户对所述协作语音交互引擎簇进行命名(当语音交互引擎簇搜索响应中携带配置信息时)或重命名(当语音交互引擎簇搜索响应中携带属性信息时),触发所述用户指令获取单元接收用户的命名或重命名指令;所述协作语音交互引擎簇构建单元,还用于将所述命名指令中携带的簇名称记录在协作语音交互引擎簇的属性信息中,或使用所述重命名指令中携带的簇名称更新协作语音交互引擎簇的属性信息中的簇名称。
所述协作语音交互引擎簇构建单元,还用于当所述第一智能终端确定与某个第二语音交互引擎相对应的第二智能终端或能够完成与某个第二语音交互引擎相关联的任务的第二智能终端为多个时,从中选择一个第二智能终端作为与该第二语音交互引擎相对应的第二智能终端或作为能够完成第二语音交互引擎相关联的任务的第二智能终端。选择的具体过程如前文所述,不再赘述。
所述协作语音交互引擎簇构建单元,还用于从中选择一个第二智能终端作为与该第二语音交互引擎相对应的第二智能终端或作为能够完成第二语音交互引擎相关联的任务的第二智能终端后,将其余第二智能终端作为与该第二语音交互引擎相对应的并存第二智能终端或作为能够完成第二语音交互引擎相关联的任务的并存第二智能终端;根据所述语音交互引擎簇搜索响应构建生成第一协作语音交互并存引擎簇属性信息,所述第一协作语音交互并存引擎簇属性信息包括所述第一语音交互引擎与第一智能终端的对应关系以及所述至少一个第二语音交互引擎与至少一个并存第二智能终端的对应关系。
所述通信单元还用于将所述第一协作语音交互并存引擎簇的属性信息发送给所述本地无线网络中的至少一个第二智能终端。
所述协作语音交互引擎簇构建单元,还用于若按照前述的通信能力选择、处理器能力、离线时长、能量获取方式选择了第二智能终端,则基于该第二智能终端构建的第一协作语音交互引擎簇的优先级最高,并按照上述选择因素,对第一协作语音交互并存引擎簇进行优先级排序。
所述协作语音交互引擎簇构建单元,还用于在确定与某个第二语音交互引擎相对应的第二智能终端或能够完成与某个第二语音交互引擎相关联的任务的第二智能终端为多个时,触发所述通信单元从所述本地无线网络中的服务器获取上述多个第二智能终端的离线时长,将其中离线时长最短的第二智能终端作为与该第二语音交互引擎相对应的第二智能终端,或将其中离线时长最短的第二智能终端作为能够完成第二语音交互引擎相关联的任务的第二智能终端。
所述通信单元,还用于接收所述本地无线网络中的所述至少一个第二智能终端所发送的代理构建协作语音交互引擎簇请求,其中携带所述至少一个第二智能终端所包括的至少一个第二语音交互引擎。
所述协作语音交互引擎簇构建单元,还用于采用构建第一协作语音交互引擎簇的类似方式构建第二协作语音交互引擎簇属性信息,所述第二协作语音交互引擎簇包括所述至少一个第二语音交互引擎,触发所述通信单元将所述第二协作语音交互引擎簇的属性信息发送给所述本地无线网络中的至少一个第二智能终端。
本发明还提供一种动态构建语音处理能力列表的装置,所述装置用于所述第二智能终端。其中,第二智能终端所执行的发送消息、接收消息由所述装置的通信单元来执行,所述装置还包括存储单元,用于存储第一协作语音交互引擎簇和第二协作语音交互引擎簇的属性信息。
本发明还提供一种基于协作语音交互引擎簇与语音助手进行交互的装置,参见图7,所述装置包括:
用户指令获取单元,用于获取用户指令;
任务执行控制单元,用于基于所述用户指令确定第一任务,基于第一语音处理能力列表确定能够执行所述第一任务的第一语音交互引擎;所述第一语音处理能力列表中包括不同任务与语音交互引擎的对应关系;基于本地存储的协作语音交互引擎簇确定所述第一语音交互引擎所属的第一协作语音交互引擎簇;其中,所述第一协作语音交互引擎簇包括所述第一语音交互引擎和至少一个第二语音交互引擎;基于所述第一语音处理能力列表确定与所述第一协作语音交互引擎簇所包括的语音交互引擎相对应的智能终端集合,其中包括与第一语音交互引擎对应的第二智能终端和与所述至少一个第二语音交互引擎对应的至少一个第三智能终端;触发通信单元;
所述通信单元,用于响应于所述任务执行控制单元的触发,将所述用户指令发送给所述第二智能终端的第一语音交互引擎,从所述第二智能终端的第一语音交互引擎接收终端间槽位同步信息,其中携带所述第二智能终端的第一语音交互引擎需要同步给所述至少一个第三智能终端的至少一个第二语音交互引擎的关键知识数据;将所述终端间槽位同步信息转发给所述至少一个第三智能终端的至少一个第二语音交互引擎;
任务执行结果接收单元,用于从第二智能终端的第一语音交互引擎和所述至少一个第三智能终端的至少一个第二语音交互引擎分别接收第一任务执行结果和至少一个第二任务执行结果,将所述第一任务执行结果和至少一个第二任务执行结果同时提供给用户;
存储单元,用于存储协作语音交互引擎簇。
优选的,所述任务执行结果接收单元可以通过所述通信单元从第二智能终端的第一语音交互引擎和所述至少一个第三智能终端的至少一个第二语音交互引擎分别接收第一任务执行结果和至少一个第二任务执行结果。
所述任务执行控制单元,还用于执行第一判断:判断所述装置与所述第二智能终端是否为同一个终端,即判断所述第一语音交互引擎是否为所述装置的本地语音交互引擎;
情况1:如果第一判断的结果为是,将所述语音指令发送给所述第一语音交互引擎,从所述第一语音交互引擎接收终端间槽位同步信息,并触发所述通信单元将其发送给上述至少一个第三智能终端,以使得上述至少一个第三智能终端的至少一个第二语音交互引擎基于所述终端间槽位同步信息对至少一个第二语音交互引擎相关联的至少一个第二任务的槽位进行即时同步;还用于触发所述任务执行结果接收单元,以使得所述任务执行结果接收单元执行:从所述第一语音交互引擎接收第一任务执行结果,通过所述通信单元从所述至少一个第三智能终端接收至少一个第二任务执行结果,并将所述第一任务执行结果和至少一个第二任务执行结果同时提供给用户;
情况2:如果第一判断的结果为否,当所述装置与至少一个第三智能终端中的一者为同一个终端时,触发所述通信单元将所述语音指令发送给第一语音交互引擎对应的第二智能终端;任务执行控制单元还用于所述激活协作语音交互引擎簇中属于第一智能终端的第二语音交互引擎即本地的第二语音交互引擎,并触发所述通信单元从第二智能终端接收终端间槽位同步信息;任务执行控制单元还用于基于所述终端间槽位同步信息对本地的所述第二语音交互引擎相关联的第二任务的槽位进行即时同步;所述任务执行控制单元还用于触发所述任务执行结果接收单元,以使得所述任务执行结果接收单元执行:从所述本地的第二语音交互引擎接收第二任务执行结果,通过所述通信单元从所述第二智能终端接收第一任务执行结果,并将所述第一任务执行结果和第二任务执行结果同时提供给用户;
情况3:如果第一判断的结果为否,当所述装置与至少一个第三智能终端中的任意一者均不为同一个终端时,触发所述通信单元,以使得所述通信单元执行:将所述语音指令发送给第一语音交互引擎对应的第二智能终端,并通知所述至少一个第三智能终端激活所述至少一个第二语音交互引擎,从第二智能终端接收终端间槽位同步信息,将终端间槽位同步信息转发给所述至少一个第三智能终端,以使得至少一个第三智能终端基于所述终端间槽位同步信息对所述至少一个第二语音交互引擎相关联的至少一个第二任务的槽位进行即时同步;触发所述任务执行结果接收单元,以使得所述任务执行结果接收单元执行:通过通信单元从所述第二智能终端和至少一个第三终端分别接收第一任务执行结果和至少一个第二任务执行结果,并将所述第一任务执行结果和第二任务执行结果同时提供给用户。
优选的,所述任务执行控制单元,还用于:在情况2即第一判断的结果为否,且所述第一智能终端与至少一个第三智能终端中的一者为同一个终端时,触发所述通信单元:在将所述语音指令发送给第一语音交互引擎对应的第二智能终端之后通知所述至少一个第三智能终端激活所述至少一个第二语音交互引擎,并将接收到的终端间槽位同步信息转发给其他第三智能终端,以使得所述其他第三智能终端基于所述终端间槽位同步信息对相应的第二交互引擎相关联的第二任务的槽位进行同步;触发所述任务执行结果接收单元,以使得所述任务执行结果接收单元执行:从所述其他第三智能终端接收第二任务执行结果,将所述从其他第三智能终端接收到的第二任务执行结果与所述第一任务执行结果和从所述本地的第二语音交互引擎接收到的第二任务执行结果同时提供给用户。
所述任务执行控制单元,还用于:在确定所述第一语音交互引擎所述的第一协作语音交互引擎簇之后,执行第二判断,即判断所述第一语音交互引擎是否为所述第一协作语音交互引擎簇的主导交互引擎,如果第二判断的结果为是,则按照上述协作语音交互引擎簇的方式来执行;如果第二判断的结果为否,判断所述第一语音交互引擎是否为第一智能终端的本地语音交互引擎,如果是,将所述语音指令发送给所述第一语音交互引擎,以使得所述第一语音交互引擎基于所述语音指令对所述第一任务的槽位进行填充,触发所述任务执行结果接收单元从第一语音交互引擎接收第一任务执行结果,将其提供给用户;如果否,触发所述通信单元将所述语音指令发送给所述第一语音交互引擎所属的协作智能终端,以使得所属协作智能终端基于所述语音指令对所述第一任务的槽位进行填充,触发所述任务执行结果接收单元通过所述通信单元从所述协作智能终端接收第一任务执行结果,并将其提供给用户。
所述任务执行控制单元,还用于:判断所述第一智能终端是否处于协作交互引擎簇工作模式以及判断所述用户指令中是否包括协作交互引擎簇工作模式变更指令,上述两个判断中有一者结果为是,则执行基于本地存储的协作语音交互引擎簇确定所述第一语音交互引擎所属的第一协作语音交互引擎簇及其后续步骤,若两者判断均为否,则执行判断所述第一语音交互引擎是否为第一智能终端的本地语音交互引擎及其后续步骤。
所述任务执行控制单元,还用于:基于所述用户指令单元接收到的用户的语音指令,确定所述语音指令的第一清晰度值,将触发所述通信单元所述第一清晰度值广播给本地无线网络中的至少一个其他智能设备并从上述至少一个其他智能设备接收第二清晰度值;所述任务执行控制单元还用于判断所述第一清晰度值是否大于所述第二清晰度值,如果是,执行后续步骤。
所述用户指令获取单元具体用于获取用户语音指令;
所述任务执行控制单元,还用于:基于第一语音能力列表选择能够对该语音指令进行语音识别处理的智能终端,基于该智能终端的处理结果获取用户指令。
所述任务执行控制单元,还用于若基于第一语音处理能力列表确定能够执行所述第一任务的第一语音交互引擎为多个,先从所述多个第一交互引擎中选择一个,随后再基于本地存储的协作语音交互引擎簇确定选择出的第一语音交互引擎所属的第一协作语音交互引擎簇。
所述任务执行控制单元,还用于若确定所述第一语音交互引擎所属的第一协作语音交互引擎簇(第一协作语音交互共存引擎簇)为多个,则先选择其中一个,再基于所述第一语音处理能力列表确定与所述第一协作语音交互引擎簇所包括的语音交互引擎相对应的智能终端集合。
本发明还提供一种动态构建语音处理能力列表的装置,所述装置用于所述第二智能终端。其中,第二智能终端所执行的发送消息、接收消息由所述装置的通信单元来执行,其余步骤由所述装置的任务执行控制单元来执行。
本发明的用于第一智能终端的所述装置的三个实施例中,名称相同的单元具有其他实施例中该单元所具有的所有功能。上述三个实施例中的所述装置可以任意的组合。
本发明还提供了一种计算机设备,其特征在于,所述计算机设备包括处理器和存储器,所述存储器中存储有可在处理器上运行的计算机程序,所述计算机程序在被所述处理器执行时实现如上所述的方法。
本发明还提供了一种计算机可读存储介质,其特征在于,所述计算机可读存储介质中存储有可在处理器上运行的计算机程序、所述计算机程序在被执行时实现如上所述的方法。
本发明还提供了一种语音助手,其特征在于,包括如上所述的装置。
本发明还提供了一种终端,其特征在于,包括如上所述的装置或如上所述的语音助手。
可以采用一个或多个计算机可读的介质的任意组合。计算机可读介质可以是计算机可读信号介质或者计算机可读存储介质。计算机可读存储介质例如可以是但不限于电、磁、光、电磁、红外线、或半导体的系统、装置或器件,或者任意以上的组合。计算机可读存储介质可以包括:具有一个或多个导线的电连接、便携式计算机磁盘、硬盘、随机存取存储器(RAM)、只读存储器(ROM)、闪存、可擦式可编程只读存储器(EPROM)、光纤、便携式紧凑磁盘只读存储器(CD-ROM)、光存储器件、磁存储器件、或者上述的任意合适的组合。在本文件中,计算机可读存储介质可以是任何包含或存储程序的有形介质,该程序可以被指令执行系统、装置或者器件使用或者与其结合使用。
可以以一种或多种程序设计语言或其组合来编写用于执行本发明操作的计算机程序代码。
以上说明只是为了方便理解本发明而举出的例子,不用于限定本发明的范围。在具体实现时,本领域技术人员可以根据实际情况对装置的部件进行变更、增加、减少,在不影响方法所实现的功能的基础上可以根据实际情况对方法的步骤进行变更、增加、减少或改变顺序。
尽管已经示出和描述了本发明的实施例,本领域技术人员应当理解:在不脱离本发明的原理和宗旨的情况下可以对这些实施例进行多种变化、修改、替换和变型,本发明的范围由权利要求及其等同替换所限定,在未经创造性劳动所作的改进等,均应包含在本发明的保护范围之内。

Claims (11)

1.一种基于协作语音交互引擎簇进行交互的方法,其特征在于,所述方法包括:
步骤300,获取用户指令;
步骤301,基于所述用户指令确定第一任务,基于第一语音处理能力列表确定能够执行所述第一任务的第一语音交互引擎;所述第一语音处理能力列表中包括不同任务与语音交互引擎的对应关系;
步骤302,基于本地存储的协作语音交互引擎簇确定所述第一语音交互引擎所属的第一协作语音交互引擎簇;其中,所述第一协作语音交互引擎簇包括所述第一语音交互引擎和至少一个第二语音交互引擎;
步骤303,基于所述第一语音处理能力列表确定与所述第一协作语音交互引擎簇所包括的语音交互引擎相对应的智能终端集合,其中包括与第一语音交互引擎对应的第二智能终端和与所述至少一个第二语音交互引擎对应的至少一个第三智能终端;
步骤304,将所述用户指令发送给所述第二智能终端的第一语音交互引擎,从所述第二智能终端的第一语音交互引擎接收终端间槽位同步信息,其中携带所述第二智能终端的第一语音交互引擎需要同步给所述至少一个第三智能终端的至少一个第二语音交互引擎的关键知识数据;将所述终端间槽位同步信息转发给所述至少一个第三智能终端的至少一个第二语音交互引擎;从第二智能终端的第一语音交互引擎和所述至少一个第三智能终端的至少一个第二语音交互引擎分别接收第一任务执行结果和至少一个第二任务执行结果,并将所述第一任务执行结果和至少一个第二任务执行结果同时提供给用户。
2.根据权利要求1所述的方法,其特征在于,所述步骤304具体为:执行第一判断:判断第一智能终端与所述第二智能终端是否为同一个终端;
如果第一判断的结果为是,将语音指令发送给所述第一语音交互引擎,从所述第一语音交互引擎接收终端间槽位同步信息,并将其发送给上述至少一个第三智能终端,以使得上述至少一个第三智能终端的至少一个第二语音交互引擎基于所述终端间槽位同步信息对至少一个第二语音交互引擎相关联的至少一个第二任务的槽位进行即时同步;从所述第一语音交互引擎和所述至少一个第三智能终端分别接收第一任务执行结果和至少一个第二任务执行结果,并将所述第一任务执行结果和至少一个第二任务执行结果同时提供给用户。
3.根据权利要求1所述的方法,其特征在于,所述步骤304具体为:执行第一判断:判断第一智能终端与所述第二智能终端是否为同一个终端;
如果第一判断的结果为否,当所述第一智能终端与至少一个第三智能终端中的一者为同一个终端时,将语音指令发送给第一语音交互引擎对应的第二智能终端,激活协作语音交互引擎簇中属于第一智能终端的第二语音交互引擎即本地的第二语音交互引擎,从第二智能终端接收终端间槽位同步信息,基于所述终端间槽位同步信息对本地的所述第二语音交互引擎相关联的第二任务的槽位进行即时同步;从所述本地的第二语音交互引擎和所述第二智能终端分别接收第二任务执行结果和第一任务执行结果,并将所述第一任务执行结果和第二任务执行结果同时提供给用户。
4.根据权利要求1所述的方法,其特征在于,所述步骤304具体为:执行第一判断:判断第一智能终端与所述第二智能终端是否为同一个终端;
如果第一判断的结果为否,当所述第一智能终端与至少一个第三智能终端中的任意一者均不为同一个终端时,将语音指令发送给第一语音交互引擎对应的第二智能终端,并通知所述至少一个第三智能终端激活所述至少一个第二语音交互引擎,从第二智能终端接收终端间槽位同步信息,将终端间槽位同步信息转发给所述至少一个第三智能终端,以使得至少一个第三智能终端基于所述终端间槽位同步信息对所述至少一个第二语音交互引擎相关联的至少一个第二任务的槽位进行即时同步;从所述第二智能终端和至少一个第三终端分别接收第一任务执行结果和至少一个第二任务执行结果,并将所述第一任务执行结果和第二任务执行结果同时提供给用户。
5.一种基于协作语音交互引擎簇进行交互的装置,用于第一智能终端,其特征在于,所述装置包括:
用户指令获取单元,用于获取用户指令;
任务执行控制单元,用于基于所述用户指令确定第一任务,基于第一语音处理能力列表确定能够执行所述第一任务的第一语音交互引擎;所述第一语音处理能力列表中包括不同任务与语音交互引擎的对应关系;基于本地存储的协作语音交互引擎簇确定所述第一语音交互引擎所属的第一协作语音交互引擎簇;其中,所述第一协作语音交互引擎簇包括所述第一语音交互引擎和至少一个第二语音交互引擎;基于所述第一语音处理能力列表确定与所述第一协作语音交互引擎簇所包括的语音交互引擎相对应的智能终端集合,其中包括与第一语音交互引擎对应的第二智能终端和与所述至少一个第二语音交互引擎对应的至少一个第三智能终端;触发通信单元;
所述通信单元,用于响应于所述任务执行控制单元的触发,将所述用户指令发送给所述第二智能终端的第一语音交互引擎,从所述第二智能终端的第一语音交互引擎接收终端间槽位同步信息,其中携带所述第二智能终端的第一语音交互引擎需要同步给所述至少一个第三智能终端的至少一个第二语音交互引擎的关键知识数据;将所述终端间槽位同步信息转发给所述至少一个第三智能终端的至少一个第二语音交互引擎;
任务执行结果接收单元,用于从第二智能终端的第一语音交互引擎和所述至少一个第三智能终端的至少一个第二语音交互引擎分别接收第一任务执行结果和至少一个第二任务执行结果,将所述第一任务执行结果和至少一个第二任务执行结果同时提供给用户;
存储单元,用于存储协作语音交互引擎簇。
6.根据权利要求5所述的装置,其特征在于,所述任务执行控制单元,还用于:
执行第一判断,判断第一智能终端与所述第二智能终端是否为同一个终端;
如果第一判断的结果为是,将语音指令发送给所述第一语音交互引擎,从所述第一语音交互引擎接收终端间槽位同步信息,并触发所述通信单元将其发送给上述至少一个第三智能终端,以使得上述至少一个第三智能终端的至少一个第二语音交互引擎基于所述终端间槽位同步信息对至少一个第二语音交互引擎相关联的至少一个第二任务的槽位进行即时同步;触发所述任务执行结果接收单元,以使得所述任务执行结果接收单元执行:从所述第一语音交互引擎接收第一任务执行结果,通过所述通信单元从所述至少一个第三智能终端接收至少一个第二任务执行结果,并将所述第一任务执行结果和至少一个第二任务执行结果同时提供给用户。
7.根据权利要求5所述的装置,其特征在于,所述任务执行控制单元,还用于:
执行第一判断:判断第一智能终端与所述第二智能终端是否为同一个终端;
如果第一判断的结果为否,当所述装置与至少一个第三智能终端中的一者为同一个终端时,触发所述通信单元将语音指令发送给第一语音交互引擎对应的第二智能终端;任务执行控制单元还用于激活协作语音交互引擎簇中属于第一智能终端的第二语音交互引擎即本地的第二语音交互引擎,并触发所述通信单元从第二智能终端接收终端间槽位同步信息;任务执行控制单元还用于基于所述终端间槽位同步信息对本地的所述第二语音交互引擎相关联的第二任务的槽位进行即时同步;所述任务执行控制单元还用于触发所述任务执行结果接收单元,以使得所述任务执行结果接收单元执行:从所述本地的第二语音交互引擎接收第二任务执行结果,通过所述通信单元从所述第二智能终端接收第一任务执行结果,并将所述第一任务执行结果和第二任务执行结果同时提供给用户。
8.根据权利要求5所述的装置,其特征在于,所述任务执行控制单元,还用于:
执行第一判断:判断第一智能终端与所述第二智能终端是否为同一个终端;
如果第一判断的结果为否,当所述装置与至少一个第三智能终端中的任意一者均不为同一个终端时,触发所述通信单元,以使得所述通信单元执行:将语音指令发送给第一语音交互引擎对应的第二智能终端,并通知所述至少一个第三智能终端激活所述至少一个第二语音交互引擎,从第二智能终端接收终端间槽位同步信息,将终端间槽位同步信息转发给所述至少一个第三智能终端,以使得至少一个第三智能终端基于所述终端间槽位同步信息对所述至少一个第二语音交互引擎相关联的至少一个第二任务的槽位进行即时同步;触发所述任务执行结果接收单元,以使得所述任务执行结果接收单元执行:通过通信单元从所述第二智能终端和至少一个第三终端分别接收第一任务执行结果和至少一个第二任务执行结果,并将所述第一任务执行结果和第二任务执行结果同时提供给用户。
9.一种计算机设备,其特征在于,所述计算机设备包括处理器和存储器,所述存储器中存储有可在处理器上运行的计算机程序,所述计算机程序在被所述处理器执行时实现如权利要求1至4任一项所述的方法。
10.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质中存储有可在处理器上运行的计算机程序、所述计算机程序在被执行时实现如权利要求1至4任一项所述的方法。
11.一种语音助手,其特征在于,包括如权利要求5至8任一项所述的装置。
CN202110405253.7A 2021-04-15 2021-04-15 一种基于协作语音交互引擎簇进行交互的方法及装置 Active CN113113012B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202110405253.7A CN113113012B (zh) 2021-04-15 2021-04-15 一种基于协作语音交互引擎簇进行交互的方法及装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202110405253.7A CN113113012B (zh) 2021-04-15 2021-04-15 一种基于协作语音交互引擎簇进行交互的方法及装置

Publications (2)

Publication Number Publication Date
CN113113012A CN113113012A (zh) 2021-07-13
CN113113012B true CN113113012B (zh) 2024-06-21

Family

ID=76717143

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202110405253.7A Active CN113113012B (zh) 2021-04-15 2021-04-15 一种基于协作语音交互引擎簇进行交互的方法及装置

Country Status (1)

Country Link
CN (1) CN113113012B (zh)

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107886948A (zh) * 2017-11-16 2018-04-06 百度在线网络技术(北京)有限公司 语音交互方法及装置,终端,服务器及可读存储介质
CN109901896A (zh) * 2018-12-06 2019-06-18 华为技术有限公司 一种人机交互系统及人机交互系统中多任务处理方法

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110442438B (zh) * 2019-02-26 2022-06-07 杭州蓦然认知科技有限公司 一种多设备之间的任务协作方法、设备及系统
US11468881B2 (en) * 2019-03-29 2022-10-11 Samsung Electronics Co., Ltd. Method and system for semantic intelligent task learning and adaptive execution
CN111128153B (zh) * 2019-12-03 2020-10-02 北京蓦然认知科技有限公司 一种语音交互方法及装置
CN111091825B (zh) * 2019-12-03 2022-09-23 杭州蓦然认知科技有限公司 一种构建交互引擎簇的方法及装置
CN111223485A (zh) * 2019-12-19 2020-06-02 深圳壹账通智能科技有限公司 智能交互方法、装置、电子设备及存储介质
CN111292749B (zh) * 2020-02-10 2023-06-09 北京声智科技有限公司 智能语音平台的会话控制方法及装置

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107886948A (zh) * 2017-11-16 2018-04-06 百度在线网络技术(北京)有限公司 语音交互方法及装置,终端,服务器及可读存储介质
CN109901896A (zh) * 2018-12-06 2019-06-18 华为技术有限公司 一种人机交互系统及人机交互系统中多任务处理方法

Also Published As

Publication number Publication date
CN113113012A (zh) 2021-07-13

Similar Documents

Publication Publication Date Title
CN107545892B (zh) 设备的控制方法、装置及系统
CN110310630B (zh) 一种语音助手的训练和分享方法
CN111128153B (zh) 一种语音交互方法及装置
CN110932953A (zh) 智能家居控制方法、装置、计算机设备及存储介质
CN105825851A (zh) 一种基于Android系统的语音控制方法及系统
CN110333839B (zh) 一种音频数据处理方法、装置及介质
CN112953993B (zh) 资源调度方法、设备、网络系统及存储介质
CN112003943A (zh) 语音数据同步方法和装置
CN110555075B (zh) 数据处理方法、装置、电子设备以及计算机可读存储介质
CN113113012B (zh) 一种基于协作语音交互引擎簇进行交互的方法及装置
CN113096668B (zh) 一种构建协作语音交互引擎簇的方法及装置
CN111091825B (zh) 一种构建交互引擎簇的方法及装置
CN113114546B (zh) 一种动态构建语音处理能力列表的方法及装置
CN111124347A (zh) 一种聚合形成交互引擎簇的方法、装置
CN109962834B (zh) 信息处理方法、系统、终端和计算机存储介质
CN110347656A (zh) 文件存储系统中请求的管理方法和装置
CN111128154B (zh) 一种聚合形成交互引擎簇的方法及装置
CN110570859B (zh) 智能音箱控制方法、装置、系统及存储介质
CN114844961A (zh) 一种分布式系统协议互通方法、装置、设备及存储介质
CN113691575B (zh) 通信方法、装置及系统
CN111105795B (zh) 一种智能家居训练离线语音固件的方法及装置
CN113055195A (zh) 基于sdon的多域控制器集群和sdon系统
CN111046256B (zh) 一种基于交互引擎簇进行语音交互的方法及装置
CN111124348B (zh) 一种生成交互引擎簇的方法及装置
CN111385358B (zh) 会话控制对象的同步方法、装置和服务器

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
TA01 Transfer of patent application right

Effective date of registration: 20220111

Address after: 310024 floor 5, zone 2, building 3, Hangzhou cloud computing Industrial Park, Zhuantang street, Xihu District, Hangzhou City, Zhejiang Province

Applicant after: Hangzhou suddenly Cognitive Technology Co.,Ltd.

Address before: 100083 gate 3, block a, 768 Creative Industry Park, Zhongguancun, No.5 Xueyuan Road, Haidian District, Beijing

Applicant before: BEIJING MORAN COGNITIVE TECHNOLOGY Co.,Ltd.

TA01 Transfer of patent application right
TA01 Transfer of patent application right

Effective date of registration: 20240529

Address after: Room 1101, 11th Floor, Pacific International Building, No.106 Zhichun Road, Haidian District, Beijing, 100086

Applicant after: Beijing Haiyunjiexun Technology Co.,Ltd.

Country or region after: China

Address before: 310024 floor 5, zone 2, building 3, Hangzhou cloud computing Industrial Park, Zhuantang street, Xihu District, Hangzhou City, Zhejiang Province

Applicant before: Hangzhou suddenly Cognitive Technology Co.,Ltd.

Country or region before: China

TA01 Transfer of patent application right
GR01 Patent grant
GR01 Patent grant