具体实施方式
为使本发明的目的、技术方案和优点更加清楚,下面将结合附图对本发明实施方式作进一步地详细描述。本发明的实施例以及实施例的具体特征是对本发明实施例技术方案的详细说明,而非对本发明说明书技术方案的限定,在不冲突的情况下,本发明的实施例以及实施例的技术特征可以相互结合。
1、语音助手系统
图1示出了语音助手系统的框图。本发明中,语音助手系统也可以简称为语音助手。所述语音助手系统可以在独立的设备上实现,也可以跨多个设备来实现。在某些实施例中,所述语音助手系统的部分模块、单元或功能属于服务器,其余部分模块、单元或功能属于终端,所述终端可通过一个或多个网络与所述服务器进行通信。在某些实施例中,语音助手系统的部分模块,例如处理单元102、交互引擎112,可以既属于服务器,也属于终端,其余部分模块属于服务器或终端中的一者。
所述语音助手系统主要包括:收发单元101,处理单元102,数据库103等。其中,处理单元包含n个交互引擎112,n为大于等于1的正整数,每个交互引擎112可以包含语义理解模块201,对话管理和控制模块202,对话生成模块203,命令执行模块204。其中,处理单元102与收发单元101相互连接,可以通过收发单元101接收用户输入的数据,以及通过收发单元101向用户输出交互数据,例如,反馈给用户的对话数据、任务执行过程及结果。在所述语音助手代替用户进行通话如接听呼叫或发起呼叫时,所述收发单元还用于从例如移动终端的通信单元等部件接收对端用户的通话语音,从例如移动终端的通信单元等部件接收来自调度器的消息如优先控制响应、用户状态消息,从用户指令采集单元如输入法或麦克风等部件接收语音助手用户的指令,并将语音助手生成的或从语音助手用户接收到的通话语音通过移动终端的通信单元等部件发送给对端用户,将语音助手生成的消息例如下文中提及的第一更新消息、第二更新消息、优先控制请求通过移动终端的通信单元等部件发送给调度器。即本发明中收发单元用于语音助手接收和/或发送消息,语音助手的其余功能均由处理单元来完成。收发单元101可以包括人机交互界面等。
在某些实施例中,交互引擎112可以包括一个交互主引擎和/或至少一个交互子引擎。其中,交互主引擎为语音助手系统的默认引擎。服务器上的交互子引擎可以是语音助手系统自有,也可以由终端在本地训练生成并通过专有接口上传,终端中的交互子引擎可以是语音助手系统自有,也可以由终端本地训练生成并加载在语音助手系统中,还可以是终端从服务器下载并加载在语音助手系统中。
在某些实施例中,每个交互引擎(交互主引擎、交互子引擎)能够执行至少一种任务,即每个交互引擎可以与至少一个任务相关联,不同的交互子引擎所能够执行的任务可能相同或不同。交互引擎针对与其相关联的每一个任务定义了至少一个槽位。终端可以从服务器下载一个或多个交互子引擎,并加载在终端的语音助手系统中,典型的交互子引擎示例如下:
天气交互子引擎可执行的任务为天气查询,其针对天气查询任务所定义的槽位为城市和日期,用户可以下载天气交互子引擎,并与天气交互子引擎进行交互以查询城市天气预报;
音乐交互子引擎可执行的任务为音乐播放,针对音乐播放任务所定义的槽位包括歌手姓名和歌曲名称,用户可以下载音乐交互子引擎,并与音乐交互子引擎进行交互以按照用户要求播放音乐;
来电接听子引擎可执行的任务为来电接听任务,包括以各种不同的通话模式接听来电并向用户提供通话内容的记录等。针对该任务所定义的槽位包括来电人身份、社会关系等。用户可以下载来电接听子引擎,并利用来电接听子引擎接听来电。当检测到来电时,语音助手或语音助手的交互主引擎自动触发或调用来电接听子引擎,来电接听子引擎或交互主引擎根据来电接听规则确定该来电应当由用户来接听,还是由语音助手来接听,但无论是由用户接听来电,还是语音助手接听来电,只要来电被接通、与主叫语音助手的用户建立通话,所述来电接听子引擎均为该通话建立一个通话会话进程,以与用户与语音助手的本地对话进程所区分开来。
主呼子引擎可执行的任务为主呼任务,具体的,主呼子引擎代替主叫用户主动呼叫被叫用户,并全部或部分代替主叫用户与被叫用户进行通话。针对该任务定义的槽位包括被叫用户号码、被叫用户类别、主呼意图等。用户可以下载主呼子引擎,并利用主呼子引擎进行自动的主叫呼叫,主呼子引擎具体的通话模式在下文中进行具体描述。当被叫用户应答呼叫后,所述主呼子引擎与被叫用户建立通话,为该通话建立一个通话会话进程,以与用户与语音助手的本地对话进程所区分开来。
上述来电接听任务和主呼任务均属于通话任务。本发明中,将语音助手能够执行的、除通话任务以外的其他任务称为本地任务,用户可以通过本地任务指令来触发本地任务,所述本地任务指令不属于所述通话会话进程,其作用是使得语音助手执行特定的其他任务,即所述本地任务,但这并不意味着所述本地任务指令与主叫用户和被叫用户的通话内容无关,而仅仅是指不需要将该本地任务指令加载到通话会话进程从而不需要将其发送给第二用户,也不需要将本地任务的执行结果加载到通话会话进程。例如,语音助手的来电接听子引擎处于用户通话模式且主叫用户询问被叫用户明天是否有空时,被叫用户想通过询问语音助手来确定自己明天是否有空,于是发出语音指令“静音,我明天是否有空”,该语音指令即为本地任务指令,但其与通话内容有关,该本地任务指令将会触发主引擎或者日程子引擎执行本地任务即日程查询任务,以确定用户明天的日程,并向用户答复查询结果如“明天下午有空”。值得注意的是,上述本地任务指令和本地任务中“本地”的含义仅仅用于说明该任务并非通话任务,而并非是指在执行该任务时语音助手不需要接入网络并利用网络中的信息。
针对本地任务,用户可通过语音或者文字等方式与语音助手系统进行交互,语音助手系统根据用户的指令确定用户意图(即确定任务),确定与该用户意图相关联的各个槽位相应的关键知识数据,并将所述关键知识数据填充到相应的槽位中。随后,语音助手系统基于填充好的一个或多个槽位执行该任务。
在某些实施例中,交互主引擎只基于用户指令确定能够处理该用户指令的交互子引擎,其自身不执行具体的任务。因此,在上述本地任务过程中确定用户意图可以由语音助手系统中的交互主引擎来完成,交互主引擎还用于基于确定出的用户意图选择一个或多个交互子引擎来处理上述用户指令,上述过程中的槽位填充和本地任务执行由交互主引擎确定出的一个或多个交互子引擎来执行。
在某些实施例中,上述来电接听子引擎和/或主呼子引擎的功能由交互主引擎来完成,即不设立单独的来电接听子引擎和/或主呼子引擎。
本发明中主要针对语音助手的主呼功能进行改进,因此,在本发明中,语音助手也可以称为呼叫助手,但这不应当视为对本发明的限制,尤其是不意味着本发明的语音助手不能执行其他功能如来电接听功能。
2、主叫通话模式
下文中,主叫用户、语音助手的使用者和第一用户指代相同,三者在任意场景下可以相互替代,被叫用户、第二用户指代相同,二者在任意场景下可以相互替代。下文中,若未明确指明,提及的用户均指代第一用户。
本发明中,语音助手代替主叫用户主动呼叫被叫用户,并能够全部或部分代替主叫用户与被叫用户进行通话。主叫用户可以根据其意愿主动对通话进行控制,也可以是响应于语音助手的触发对通话进行控制,例如语音助手根据通话内容确定需要主叫用户对当前通话进行控制(例如,介入当前通话)。本发明中,主要针对后者进行改进。
本发明中,将被叫用户在通话中的语音称为第二通话语音,针对所述第二通话语音,语音助手向被叫用户发送第三通话语音作为对第二通话语音的响应,其中,在不同主叫通话模式下,语音助手生成或获取第三通话语音的过程不同,这将在下文中具体描述。
根据用户是否控制通话以及控制模式的不同,本发明的语音助手能够提供三种主叫通话模式,分别为语音助手通话模式、辅助通话模式、用户通话模式。值得注意的是,在本申请中,语音助手的主叫通话模式泛指其工作的模式,其可以为上述三种主叫通话模式之一,而语音助手通话模式特指语音助手代替主叫用户与被叫用户进行通话的这一种通话模式。
(1)语音助手通话模式
语音助手可代替用户自动向被叫用户发出呼叫(例如,根据用户预先设置的呼叫规则),当呼叫被接通后,所述语音助手默认工作于语音助手通话模式下。在语音助手通话模式下,语音助手代替主叫用户与被叫用户进行通话。具体的,当被叫用户接听来电后语音助手与被叫用户建立通话,语音助手为该通话新建一个通话会话进程。此后,语音助手自主生成第三通话语音发送给被叫用户,并接收来自被叫用户的第二通话语音。同时,语音助手实时地将包括上述第三通话语音和第二通话语音的通话内容提供给用户,供用户查看或收听。所述通话内容可以为语音或文本。
(2)辅助通话模式
在辅助通话模式下,主叫用户以第一控制模式对通话进行第一预设轮对话的辅助控制,具体的,所述语音助手从主叫用户接收通话内容指令,基于所述通话内容指令生成第三通话语音发送给被叫用户。在辅助通话模式下,语音助手还接收被叫用户的第二通话语音,并将其提供给主叫用户。随着通话的进行,语音助手重复执行上述过程。所述通话内容指令可以为语音或文本。
在上述预设轮对话结束后,主叫用户对该语音助手的辅助控制结束,所述语音助手自动将其主叫通话模式切换为语音助手通话模式。
基于所述通话内容指令生成第三通话语音发送给被叫用户,具体为:语音助手基于所述通话内容指令确定主叫用户的意图,基于所述意图更新用于生成第三通话语音的决策图状态,根据改变后的决策图状态生成第三通话语音。
基于所述通话内容指令生成第三通话语音发送给被叫用户,具体为:将所述通话内容指令作为第三通话语音发送给被叫用户。
将所述通话内容指令作为第三通话语音发送给被叫用户,具体为:当用户通过文字的形式给出通话内容指令时,语音助手按照所述通话内容指令采用语音合成的方式生成第三通话语音,或者语音助手基于通话内容指令生成语义相同或类似的第三通话内容,按照第三通话内容采用语音合成的方式生成第三通话语音。例如,通话内容指令为“预约具体时间”时,第三通话内容为“那您看什么时间再给您打电话方便呢?”。
将所述通话内容指令作为第三通话语音发送给被叫用户,具体为:当用户通过语音的形式给出通话内容指令时,语音助手将所述通话内容指令本身作为第三通话语音。
将所述通话内容指令作为第三通话语音发送给被叫用户,具体为:当用户通过语音的形式给出通话内容指令时,语音助手采用语音合成的方式生成第三通话语音,具体的,语音助手对所述通话内容指令进行语音识别,并按照语音识别结果采用语音合成的方式生成第三通话语音,通过该方式能够屏蔽被叫用户获知主叫用户所处环境中的环境声音,从而保护主叫用户隐私,同时能够确保第三通话语音的清晰度。
将所述通话内容指令作为第三通话语音发送给被叫用户,具体为:当用户通过语音的形式给出通话内容指令时,语音助手采用语音合成的方式转述所述通话内容指令生成第三通话语音,具体的,对所述通话内容指令进行语音识别,并基于语音识别结果生成语义相同或类似第三通话内容,按照第三通话内容采用语音合成的方式生成第三通话语音。通过该方式,能够屏蔽主叫用户获知被叫用户所处环境中的环境声音,从而保护主叫用户隐私,还能够确保第三通话语音的清晰度,此外,使得用户能够以更加简短的语音参与通话,避免了主叫用户同时处理多个终端的语音助手的主叫通话时感觉时间紧张而过于混乱,同时不会让被叫用户感到冒犯或不礼貌。
当将所述通话内容指令作为第三通话语音发送给被叫用户时,所述语音助手基于所述主叫用户的通话内容指令和所述被叫用户的第二通话语音理解第一用户和第二用户的通话内容和通话进度,以在语音助手切换到其他通话模式如语音助手通话模式时,能够基于对通话内容和通话进度的理解生成第三通话语音。
本发明中,所述主叫用户可以仅以第一控制模式同时控制多个语音助手的多个通话,也可以以第一控制模式同时控制多个语音助手的多个通话,同时,以第二控制模式控制上述多个通话以外的一个通话。
(3)用户通话模式
在用户通话模式下,主叫用户以第二控制模式对通话进行完全的控制。当主叫用户以第二控制模式进行控制或当语音助手处于用户通话模式时,所述语音助手从主叫用户接收通话内容指令,基于所述通话内容指令生成第三通话语音发送给被叫用户,接收被叫用户的第二通话语音,并将其提供给主叫用户。随着通话的进行,语音助手重复执行上述过程,直到通话结束或从主叫用户接收到通话控制结束指令/从调度器接收到控制模式切换指令。所述通话内容指令可以为语音或文本,优选的,为语音。
在用户通话模式下,基于所述通话内容指令生成第三通话语音发送给被叫用户,具体为,将所述通话内容指令作为第三通话语音发送给被叫用户。将所述通话内容指令作为第三通话语音发送给被叫用户的具体实施方式与辅助通话模式相同,此处不再赘述。
所述用户通话模式可以持续到通话结束,或者,主叫用户根据通话内容确定其对所述通话的控制结束时,发出通话控制结束指令,所述语音助手响应于所述指令,将其通话模式从用户通话模式切换为语音助手通话模式,或者,语音助手从调度器接收到控制模式切换指令时,将其通话模式从用户通话模式切换为辅助通话模式。
在主叫用户和被叫用户的通话进行过程中,所述语音助手基于所述主叫用户的通话内容指令和所述被叫用户的第二通话语音理解第一用户和第二用户的通话内容和通话进度,这是为了在语音助手切换到其他通话模式如语音助手通话模式时,能够基于对通话内容和通话进度的理解生成第三通话语音。
本发明中,主叫用户在一段时间内仅能够以第二控制模式控制一个通话,但在以第二控制模式控制一个通话的同时能够以第一控制模式控制其他多个通话,即主叫用户不能以第二控制模式同时控制两个以上的通话。
3、语音助手主叫通话过程
本发明中,主叫用户A使用或具有至少P个终端,包括终端1、终端2、…、终端P,每个终端均包括一个语音助手,分别为语音助手1、语音助手2、…、语音助手P,每个语音助手均具有其对应的标识符;其中,P≥2,上述P个终端中的M个均处于主叫通话过程中,即同时存在M个通话,上述M个通话可以由上述M个终端或M个语音助手同时或不同时发起,将上述M个终端对应的被叫用户为被叫用户1、被叫用户2、…、被叫用户M,其中,M≤P。下文中的第一终端(第一语音助手)可以为上述M个终端(语音助手)中的任意一者,第二终端(第二语音助手)可以为上述M个终端中与第一终端(第一语音助手)不同的任意一者。
在一个实施例中,调度器对主叫用户状态信息进行记录和维护,例如,调度器记录当前主叫用户是处于空闲状态,还是正在控制某个或某几个通话;优选的,所述调度器还记录主叫用户当前正以第一控制模式或第二控制模式中的哪一者来控制上述通话。
优选的,所述调度器还维护该主叫用户的等候控制队列,其中存储当前等待主叫用户对其与相应被叫用户之间的通话进行控制的语音助手标识符。优选的,所述等待控制队列中还可以对应的存储与队列中每个语音助手标识符对应的所请求的主叫用户控制模式。表1示出了一种可能的等待控制队列。
表1等待控制队列
序号 |
语音助手标识符 |
请求的控制模式 |
1 |
语音助手2 |
第一控制模式 |
2 |
语音助手5 |
第二控制模式 |
3 |
语音助手3 |
第二控制模式 |
所述调度器可以为独立于所述P个语音助手或终端的设备,也可以位于所述P个语音助手或终端中的一者,例如,主语音助手或主终端。
本发明提供一种控制通话的方法,参见图2,所述方法包括如下步骤:
步骤101,所述语音助手确定需要主叫用户对第一通话进行控制,所述第一通话为所述语音助手代替主叫用户发起的与第一被叫用户之间的通话;
步骤102,所述语音助手判断主叫用户是否正在控制第二通话,所述第二通话为第二语音助手代替主叫用户发起的与第二被叫用户之间的通话;如果是,执行步骤S103;
步骤103,所述语音助手获取第一时长,所述第一时长为从当前时刻到主叫用户能够对所述第一通话进行控制所需要的时长;
步骤104,根据所述第一时长,调整对话策略,使得所述语音助手与第一被叫用户的对话得以持续所述第一时长,从而在所述第一时长之后,由所述主叫用户对所述第一通话进行控制。
其中,所述语音助手为第一终端的语音助手,所述第二语音助手为第二终端的语音助手,所述第一终端和第二终端均属于所述主叫用户。
优选的,所述第二通话为所述主叫用户的多个语音助手正在进行的多个通话(如前述的M个通话)中除第一通话以外的其他任一通话。所述多个语音助手正在进行的通话对应的被叫用户各不相同。
优选的,在步骤101中所述语音助手确定需要主叫用户对第一通话进行控制之前,语音助手处于语音助手通话模式,即语音助手自主生成第三通话语音发送给被叫用户。
优选的,在步骤101中,需要主叫用户对第一通话进行控制,具体为,需要主叫用户给出通话内容指令,所述语音助手基于所述通话内容指令生成第三通话语音发送给第一被叫用户,从而与第一被叫用户进行通话交互。
优选的,在步骤101中,所述语音助手基于其与第一被叫用户之间的通话内容确定需要主叫用户对第一通话进行控制。
优选的,在步骤101中,所述语音助手确定需要主叫用户以第二控制模式对第一通话进行控制。
优选的,在所述步骤102中,若判断结果为否,即若主叫用户并未控制第二通话,则执行步骤105,所述语音助手向主叫用户输出控制请求消息,并从主叫用户获取控制响应消息。在获取到所述控制响应消息后,所述语音助手将其通话模式由语音助手通话模式切换为用户通话模式,从而使得主叫用户以第二控制模式对所述第一通话进行控制。
优选的,在步骤102中,若主叫用户正在控制第二通话,则进一步判断主叫用户是否正在以第二控制模式控制第二通话,如果是,则执行步骤103。
优选的,在步骤102中,若主叫用户并非正在以第二控制模式控制第二通话,则执行步骤106,所述语音助手向主叫用户输出控制请求消息,并获取主叫用户的控制响应消息,在语音助手获取主叫用户的控制响应消息后,所述语音助手将其通话模式由语音助手通话模式切换为用户通话模式,从而使主叫用户以第二控制模式对所述第一通话进行控制,同时以第二控制模式外的其他控制模式如第一控制模式对第二通话进行控制。
优选的,在步骤105和/或步骤106中,所述语音助手将其通话模式由语音助手通话模式切换为用户通话模式之后,还向调度器发送第一更新信息,以使得所述调度器更新其记录和维护的用户状态信息。所述第一更新信息中携带所述语音助手的标识符和主叫用户对所述第一通话的控制模式。
优选的,在步骤102中所述语音助手判断主叫用户是否正在控制第二通话以及是否正在以第二控制模式控制第二通话,具体为,所述语音助手从调度器接收用户状态消息,基于所述用户状态消息判断主叫用户是否正在控制第二通话以及是否正在以第二控制模式控制第二通话。
优选的,在步骤103后,所述方法还包括步骤103a,所述语音助手判断所述第一时长是否小于等于第一等待阈值,如果是,执行步骤104。
优选的,若所述第一时长大于第一等待阈值,执行步骤108,向第一被叫用户发送预设的第三通话语音,结束所述第一通话。例如,所述预设的第三通话语音可以为“抱歉,当前系统繁忙,我们将于十分钟后再次与您联系,再见”。
优选的,步骤103,所述语音助手获取第一时长,具体为,所述语音助手从调度器获取第一时长。
优选的,所述调度器基于主叫用户与第二被叫用户之间的通话进度确定所述第一时长。
优选的,调度器确定从当前时刻到主叫用户结束对第二通话的控制所需要的第二时长,确定主叫用户对等候控制队列中请求第二控制模式的语音助手对应的通话进行控制所需要的第三时长,将所述第二时长和第三时长之和作为第一时长。
优选的,在步骤104中,在所述第一时长之后,所述语音助手向主叫用户输出控制请求消息,并从主叫用户获取控制响应消息。在获取到所述控制响应消息后,所述语音助手将其通话模式由语音助手通话模式切换为用户通话模式,从而使得主叫用户以第二控制模式对所述第一通话进行控制。
优选的,在步骤103后,所述方法包括步骤103b,所述语音助手判断所述第一时长是否小于等于第二等待阈值,判断等候控制队列的长度是否小于等于队列阈值,如果上述两个判断的判断结果均为是,再执行步骤104。如果上述两个判断的判断结果至少之一为否,则向第一被叫用户发送预设的第三通话语音,结束所述第一通话。所述第二等待阈值大于第一等待阈值。
优选的,在步骤104中,所述语音助手向调度器发送第二更新信息,以使得所述调度器根据所述第二更新信息维护等候控制队列。例如,第二更新信息中携带所述语音助手的标识符和所请求的主叫用户控制模式,所述调度器将所述语音助手的标识符加入所述等候控制队列,并对应存储所请求的主叫用户控制模式。
优选的,在步骤102之后、步骤103之前,还包括步骤102a,所述语音助手获取第二被叫用户的用户等级(例如,从调度器获取),并判断所述第二被叫用户的用户等级是否低于所述第一被叫用户的用户等级,如果是,执行步骤107,否则,执行步骤103。
所述步骤107为:所述语音助手向调度器发送优先控制请求,在接收到调度器的优先控制响应后,所述语音助手向主叫用户输出控制请求消息,并获取主叫用户的控制响应消息,在语音助手获取主叫用户的控制响应消息后,所述语音助手将其通话模式由语音助手通话模式切换为用户通话模式,由主叫用户以第二控制模式对所述第一通话进行控制,同时以第一控制模式对第二通话进行控制。具体的,所述语音助手向调度器发送优先控制请求,以使得所述调度器在接收到所述优先控制请求后,向所述第二语音助手发送控制模式切换指令,所述第二语音助手在收到所述控制模式切换指令后,将其通话模式从用户通话模式切换为辅助通话模式,并向主叫用户输出第一提示消息,并向所述调度器发送控制模式切换响应,所述调度器在接收到所述控制模式切换响应后,向所述语音助手发送优先控制响应,所述语音助手在接收到所述优先控制响应后,向主叫用户输出控制请求消息,并获取主叫用户的控制响应消息,在语音助手获取主叫用户的控制响应消息后,所述语音助手将其通话模式由语音助手通话模式切换为用户通话模式,由主叫用户以第二控制模式对所述第一通话进行控制,同时以第二控制模式对第一通话进行控制。
优选的,在步骤104或步骤105或步骤106或步骤107后,所述方法还包括步骤108,所述语音助手将其通话模式由用户通话模式切换为语音助手通话模式。
优选的,在步骤108中,所述语音助手根据从主叫用户获取的通话控制结束指令切换其通话模式,所述语音助手向所述调度器发送第一更新信息,以使得所述调度器更新其记录和维护的用户状态信息。所述第一更新信息中指示所述主叫用户对所述第一通话的控制已经结束。
优选的,在步骤107中,所述调度器还将所述语音助手和所述第二语音助手关联存储,在步骤108中,所述调度器在接收到所述语音助手发送的第一更新信息后,若判断所述主叫用户对与所述语音助手关联存储的第二语音助手的所述第二通话的第一控制模式的控制尚未结束,则向所述第二语音助手发送控制模式切换指令,所述第二语音助手在收到所述控制模式切换指令后,向主叫用户输出控制请求消息,并获取主叫用户的控制响应消息,在所述第二语音助手获取主叫用户的控制响应消息后,所述第二语音助手将其通话模式从辅助通话模式切换为用户通话模式,从而由主叫用户以第二控制模式对所述第二通话进行控制,所述第二语音助手还向所述调度器发送控制模式切换响应,所述调度器在接收到所述控制模式切换响应后,更新其记录和维护的用户状态信息。
优选的,在所述用户以第二控制模式控制所述第一通话时,所述语音助手接收所述调度器发送的控制模式切换指令,之后的操作与上述步骤107和108中所记载的第二语音助手的操作类似,此处不再赘述。上述两个步骤中,接收信息和发送信息的操作由所述语音助手的收发单元完成,其余操作由处理单元完成。
优选的,在步骤107中,所述调度器在发送优先控制响应后,更新其记录和维护的用户状态信息。
通过本发明的方法,提供了多种主叫用户控制通话的模式,并给出了合理的主呼通话控制策略,使得主叫用户能够灵活地控制多个终端或语音助手的通话,提升了语音助手主动呼叫的用户体验。
本发明还提供一种语音助手,参见图3,所述语音助手包括收发单元和处理单元;
所述处理单元,用于确定需要主叫用户对第一通话进行控制,所述第一通话为所述语音助手代替主叫用户发起的与第一被叫用户之间的通话;判断主叫用户是否正在控制第二通话,所述第二通话为第二语音助手代替主叫用户发起的与第二被叫用户之间的通话;如果是,触发所述收发单元获取第一时长,所述第一时长为从当前时刻到主叫用户能够对所述第一通话进行控制所需要的时长,根据所述第一时长,调整对话策略,使得所述语音助手与第一被叫用户的对话得以持续所述第一时长,从而在所述第一时长之后,由所述主叫用户对所述第一通话进行控制。
所述收发单元,用于响应所述处理单元的触发获取第一时长。
其中,所述语音助手为第一终端的语音助手,所述第二语音助手为第二终端的语音助手,所述第一终端和第二终端均属于所述主叫用户。
优选的,所述第二通话为所述主叫用户的多个语音助手正在进行的多个通话(如前述的M个通话)中除第一通话以外的其他任一通话。所述多个语音助手正在进行的通话对应的被叫用户各不相同。
优选的,在确定需要主叫用户对第一通话进行控制之前,所述语音助手处于语音助手通话模式,即语音助手的处理单元自主生成由收发单元发送给被叫用户的第三通话语音。
优选的,需要主叫用户对第一通话进行控制,具体为,需要主叫用户给出通话内容指令,所述处理单元基于所述通话内容指令生成第三通话语音,所述收发单元将所述第三通话语音发送给被叫用户。
优选的,所述处理单元基于其与第一被叫用户之间的通话内容确定需要主叫用户对第一通话进行控制。
优选的,所述处理单元确定需要主叫用户以第二控制模式对第一通话进行控制。
优选的,若判断结果为否,即若主叫用户并未控制第二通话,则所述处理单元触发所述收发单元,所述收发单元响应于处理单元的触发,向主叫用户输出控制请求消息,并从主叫用户获取控制响应消息,在获取到控制响应消息后触发所述处理单元。所述处理单元响应于收发单元的触发,将通话模式由语音助手通话模式切换为用户通话模式,从而使得主叫用户以第二控制模式对所述第一通话进行控制。
优选的,若主叫用户正在控制第二通话,则所述处理单元进一步判断主叫用户是否正在以第二控制模式控制第二通话,如果是,触发所述收发单元获取第一时长。
优选的,若主叫用户并非正在以第二控制模式控制第二通话,则所述处理单元触发所述收发单元,所述收发单元响应于处理单元的触发,向主叫用户输出控制请求消息,并获取主叫用户的控制响应消息,在获取到控制响应消息后触发所述处理单元。所述处理单元响应于收发单元的触发,将通话模式由语音助手通话模式切换为用户通话模式,从而使主叫用户以第二控制模式对所述第一通话进行控制,同时以第二控制模式外的其他控制模式如第一控制模式对第二通话进行控制。
优选的,所述处理单元将通话模式由语音助手通话模式切换为用户通话模式之后,还触发收发单元,所述收发单元响应于处理单元的触发,向调度器发送第一更新信息,以使得所述调度器更新其记录和维护的用户状态信息。所述第一更新信息中携带所述语音助手的标识符和主叫用户对所述第一通话的控制模式。
优选的,所述判断主叫用户是否正在控制第二通话以及是否正在以第二控制模式控制第二通话,具体为,所述收发单元从调度器接收用户状态消息,所述处理单元基于所述用户状态消息判断主叫用户是否正在控制第二通话以及是否正在以第二控制模式控制第二通话。
优选的,在所述收发单元获取第一时长后,所述处理单元判断所述第一时长是否小于等于第一等待阈值,如果是,再执行根据所述第一时长调整对话策略及其后续操作。
优选的,若所述第一时长大于第一等待阈值,所述处理单元触发所述收发单元向第一被叫用户发送预设的第三通话语音,并结束所述第一通话。例如,所述预设的第三通话语音可以为“抱歉,当前系统繁忙,我们将于十分钟后再次与您联系,再见”。所述收发单元响应于处理单元的触发,向第一被叫用户发送预设的第三通话语音。
优选的,获取第一时长,具体为,所述收发单元从调度器获取第一时长。
优选的,所述调度器基于主叫用户与第二被叫用户之间的通话进度确定所述第一时长。
优选的,调度器确定从当前时刻到主叫用户结束对第二通话的控制所需要的第二时长,确定主叫用户对等候控制队列中请求第二控制模式的语音助手对应的通话进行控制所需要的第三时长,将所述第二时长和第三时长之和作为第一时长。
优选的,在所述第一时长之后,所述处理单元触发所述收发单元,所述收发单元响应于处理单元的触发,向主叫用户输出控制请求消息,并获取主叫用户的控制响应消息,在获取到控制响应消息后触发所述处理单元。所述处理单元响应于收发单元的触发,将通话模式由语音助手通话模式切换为用户通话模式,从而使得主叫用户以第二控制模式对所述第一通话进行控制。
优选的,所述处理单元判断所述第一时长是否小于等于第二等待阈值,判断等候控制队列的长度是否小于等于队列阈值,如果上述两个判断的判断结果均为是,再执行根据所述第一时长调整对话策略及其后续操作。如果上述两个判断的判断结果至少之一为否,则所述处理单元触发所述收发单元向第一被叫用户发送预设的第三通话语音,并结束所述第一通话。所述收发单元响应于处理单元的触发,向第一被叫用户发送预设的第三通话语音。所述第二等待阈值大于第一等待阈值。
优选的,所述处理单元根据所述第一时长,调整对话策略之前或之后,触发所述收发单元向调度器发送第二更新信息,以使得所述调度器根据所述第二更新信息维护等候控制队列。例如,第二更新信息中携带所述语音助手的标识符和所请求的主叫用户控制模式,所述调度器将所述语音助手的标识符加入所述等候控制队列,并对应存储所请求的主叫用户控制模式。
优选的,所述处理单元在触发所述收发单元获取第一时长之前,先触发所述收发单元获取第二被叫用户的用户等级(例如,从调度器获取),所述处理单元判断所述第二被叫用户的用户等级是否低于所述第一被叫用户的用户等级,如果是,所述处理单元触发所述收发单元向调度器发送优先控制请求并接收调度器发送的优先控制响应,向主叫用户输出控制请求消息,并获取主叫用户的控制响应消息,所述处理单元将其通话模式由语音助手通话模式切换为用户通话模式,由主叫用户以第二控制模式对所述第一通话进行控制,同时以第一控制模式对第二通话进行控制。所述收发单元响应于所述处理单元的触发,向调度器发送优先控制请求并接收调度器发送的优先控制响应,向主叫用户输出控制请求消息,并获取主叫用户的控制响应消息。具体的,所述收发单元向调度器发送优先控制请求,所述调度器在接收到所述优先控制请求后,向所述第二语音助手发送控制模式切换指令,所述第二语音助手在收到所述控制模式切换指令后,向主叫用户输出第一提示消息,将其通话模式从用户通话模式切换为辅助通话模式,并向所述调度器发送控制模式切换响应,所述调度器在接收到所述控制模式切换响应后,向所述语音助手的收发单元发送优先控制响应,所述收发单元从调度器接收所述优先控制响应,向主叫用户输出控制请求消息,并获取主叫用户的控制响应消息,在获取到控制响应消息后触发所述处理单元。所述处理单元响应于收发单元的触发,将通话模式由语音助手通话模式切换为用户通话模式,从而由主叫用户以第二控制模式对所述第一通话进行控制,同时以第二控制模式对第一通话进行控制;否则,所述处理单元触发所述收发单元获取第一时长并执行后续操作。
优选的,所述处理单元还在用户对通话的控制结束后,将其通话模式由用户通话模式切换为语音助手通话模式。
优选的,所述处理单元根据所述收发单元从主叫用户获取的通话控制结束指令切换其通话模式,并触发所述收发单元向所述调度器发送第一更新信息,以使得所述调度器更新其记录和维护的用户状态信息,并选择用户控制的下一个通话(具体参见后文描述)。所述第一更新信息中指示所述主叫用户对所述第一通话的控制已经结束。
所述收发单元还用于在所述用户以第二控制模式控制所述第一通话时,接收所述调度器发送的控制模式切换指令,触发所述处理单元将其通话模式从用户通话模式切换为辅助通话模式,所述处理单元还触发所述收发单元向主叫用户输出第一提示消息。
优选的,所述调度器在发送优先控制响应后,更新其记录和维护的用户状态信息。
通过本发明的方法及语音助手,向用户提供了多种主叫用户控制通话的模式,并给出了合理的主呼通话控制策略,使得主叫用户能够灵活地控制多个终端或语音助手的通话,提升了用户在语音助手主动呼叫时的用户体验。
本发明提供一种语音助手主呼的方法,参见图4,所述方法包括如下步骤:
步骤201,所述语音助手确定需要主叫用户对第一通话进行控制,所述第一通话为所述语音助手代替所述主叫用户发起的与第一被叫用户之间的通话;
步骤202,所述语音助手判断主叫用户是否正在控制第二通话,所述第二通话为第二语音助手代替所述主叫用户发起的与第二被叫用户之间的通话;如果是,执行步骤S203;
步骤203,所述语音助手向主叫用户输出第一提示消息,接收所述主叫用户在控制第二通话的同时响应于所述第一提示消息给出的通话内容指令,所述语音助手根据所述通话内容指令继续与第一被叫用户的第一通话。
其中,所述语音助手为第一终端的语音助手,所述第二语音助手为第二终端的语音助手,所述第一终端和第二终端均属于所述主叫用户。
优选的,所述第二通话为所述主叫用户的多个语音助手正在进行的多个通话(如前述的M个通话)中除第一通话以外的其他任一通话。所述多个语音助手正在进行的通话对应的被叫用户各不相同。
优选的,在步骤201中所述语音助手确定需要主叫用户对第一通话进行控制之前,语音助手处于语音助手通话模式,即语音助手自主生成第三通话语音发送给被叫用户。
优选的,在步骤201中,需要主叫用户对第一通话进行控制,具体为,需要主叫用户给出通话内容指令,所述语音助手基于所述通话内容指令生成第三通话语音发送给被叫用户。
优选的,在步骤201中,所述语音助手基于其与第一被叫用户之间的通话内容确定需要主叫用户对第一通话进行控制。
优选的,在步骤201中,所述语音助手确定需要主叫用户以第二控制模式对第一通话进行控制。
优选的,在所述步骤202中,若判断结果为否,即若主叫用户并未控制第二通话,则执行步骤205,所述语音助手向主叫用户输出控制请求消息,并从主叫用户获取控制响应消息。在获取到所述控制响应消息后,所述语音助手将其通话模式由语音助手通话模式切换为用户通话模式,从而使得主叫用户以第二控制模式对所述第一通话进行控制。
优选的,在步骤202中,若主叫用户正在控制第二通话,则进一步判断主叫用户是否正在以第二控制模式控制第二通话,如果是,则执行步骤203。
优选的,在步骤202中,若主叫用户并非正在以第二控制模式控制第二通话,则执行步骤206,所述语音助手向主叫用户输出控制请求消息,并获取主叫用户的控制响应消息,在语音助手获取主叫用户的控制响应消息后,所述语音助手将其通话模式由语音助手通话模式切换为用户通话模式,从而使主叫用户以第二控制模式对所述第一通话进行控制,同时以第二控制模式外的其他控制模式如第一控制模式对第二通话进行控制。
优选的,在步骤205和/或步骤206中,所述语音助手将其通话模式由语音助手通话模式切换为用户通话模式之后,还向调度器发送第一更新信息,以使得所述调度器更新其记录和维护的用户状态信息。所述第一更新信息中携带所述语音助手的标识符和主叫用户对所述第一通话的控制模式。
优选的,在步骤202中所述语音助手判断主叫用户是否正在控制第二通话以及是否正在以第二控制模式控制第二通话,具体为,所述语音助手从调度器接收用户状态消息,基于所述用户状态消息判断主叫用户是否正在控制第二通话以及是否正在以第二控制模式控制第二通话。
步骤203实质上是将对第一通话的控制由第二控制模式降级为第一控制模式。步骤203还包括语音助手将其通话模式由语音助手通话模式切换为辅助通话模式,所述语音助手还向调度器发送第一更新信息,以使得所述调度器更新其记录和维护的用户状态信息。所述第一更新信息中携带所述语音助手的标识符和主叫用户对所述第一通话的控制模式。
优选的,在步骤202之后、步骤203之前,还包括步骤202a,所述语音助手获取第二被叫用户的用户等级(例如,从调度器获取),并判断所述第二被叫用户的用户等级是否低于所述第一被叫用户的用户等级,如果是,执行步骤207,否则,则执行步骤203。
所述步骤207具体为:所述语音助手向调度器发送优先控制请求,在接收到调度器的优先控制响应后,所述语音助手向主叫用户输出控制请求消息,并获取主叫用户的控制响应消息,在语音助手获取主叫用户的控制响应消息后,所述语音助手将其通话模式由语音助手通话模式切换为用户通话模式,由主叫用户以第二控制模式对所述第一通话进行控制,同时以第一控制模式对第二通话进行控制。具体的,所述语音助手向调度器发送优先控制请求,以使得所述调度器在接收到所述优先控制请求后,向所述第二语音助手发送控制模式切换指令,所述第二语音助手在收到所述控制模式切换指令后,将其通话模式从用户通话模式切换为辅助通话模式,并向主叫用户输出第一提示消息,并向所述调度器发送控制模式切换响应,所述调度器在接收到所述控制模式切换响应后,向所述语音助手发送优先控制响应,所述语音助手在接收到所述优先控制响应后,向主叫用户输出控制请求消息,并获取主叫用户的控制响应消息,在语音助手获取主叫用户的控制响应消息后,所述语音助手将其通话模式由语音助手通话模式切换为用户通话模式,由主叫用户以第二控制模式对所述第一通话进行控制,同时以第二控制模式对第一通话进行控制。
优选的,在步骤207中,所述调度器在发送优先控制响应后,更新其记录和维护的用户状态信息。
优选的,在步骤205或步骤206或步骤207后,所述方法还包括步骤208a,所述语音助手将其通话模式由用户通话模式切换为语音助手通话模式。
优选的,在步骤208a中,所述语音助手根据从主叫用户获取的通话控制结束指令切换其通话模式,所述语音助手向所述调度器发送第一更新信息,以使得所述调度器更新其记录和维护的用户状态信息。所述第一更新信息中指示所述主叫用户对所述第一通话的控制已经结束。此外,在图2的实施例中对步骤107和108的相关记载同样适用于本实施例中的步骤207和208a,此处不再赘述。
优选的,在步骤203中根据所述通话内容指令继续与第一被叫用户的第一通话之后,执行步骤208b:所述语音助手将其通话模式由辅助通话模式切换为语音助手通话模式,例如,在前述的预设轮对话结束后。
优选的,在步骤203中,所述语音助手向主叫用户输出第一提示消息之前,所述语音助手判断所述需要的控制是否可以由第二控制模式降级为第一控制模式,如果是,向主叫用户输出第一提示消息,否则,执行前述的步骤103,即所述语音助手获取第一时长及其后续操作。
所述第一提示消息用于提示主叫用户所述语音助手对应的通话需要以第一控制模式进行控制。
优选的,所述语音助手判断所述需要的控制是否可以由第二控制模式降级为第一控制模式,具体为,所述语音助手判断所述需要的控制是否紧急,如果是,则判断所述需要的控制可以由第二控制模式降级为第一控制模式。
优选的,在步骤101或步骤201中,若所述语音助手确定需要主叫用户以第一控制模式对第一通话进行控制,执行步骤203,即所述语音助手向主叫用户输出第一提示消息,接收所述主叫用户响应于所述第一提示消息给出的通话内容指令,根据所述通话内容指令继续与第一被叫用户的第一通话。
优选的,在步骤101或步骤201中,若所述语音助手确定需要主叫用户以第一控制模式对第一通话进行控制,则执行步骤109或209,判断所述主叫用户当前控制的通话数量是否小于预设数量,如果是,则执行步骤203,即所述语音助手向主叫用户输出第一提示消息,接收所述主叫用户响应于所述第一提示消息给出的通话内容指令,根据所述通话内容指令继续与第一被叫用户的第一通话;否则,执行步骤110或步骤210,所述语音助手获取第四时长,所述第四时长为从当前时刻到主叫用户能够对所述第一通话进行第一控制模式的控制所需要的时长,根据所述第四时长,调整对话策略,使得所述语音助手与第一被叫用户的对话得以持续所述第四时长,从而在所述第四时长之后,由所述主叫用户对所述第一通话进行第一控制模式的控制。
优选的,在步骤110或步骤210中,所述语音助手还向所述调度器发送第二更新信息,以使得所述调度器根据所述第二更新信息维护等候控制队列。例如,第二更新信息中携带所述语音助手的标识符和所请求的主叫用户控制模式,所述调度器将所述语音助手的标识符加入所述等候控制队列,并对应存储所请求的主叫用户控制模式。
所述语音助手判断所述主叫用户当前控制的通话数量小于预设数量时,所述语音助手还用于向调度器发送第一更新信息,以使得所述调度器更新其记录和维护的用户状态信息。所述第一更新信息中携带所述语音助手的标识符和主叫用户的控制模式。
所述语音助手判断所述主叫用户当前控制的通话数量不小于预设数量时,所述语音助手还用于向调度器发送第二更新信息,以使得所述调度器根据所述第二更新信息维护等候控制队列。例如,第二更新信息中携带所述语音助手的标识符和所请求的主叫用户控制模式,所述调度器将所述语音助手的标识符加入所述等候控制队列,并对应存储所请求的主叫用户控制模式。
所述语音助手判断所述主叫用户当前控制的通话数量是否小于预设数量,具体为,从调度器获取用户状态消息,基于所述用户状态消息确定所述主叫用户当前控制的通话数量,并进一步判断所述主叫用户当前控制的通话数量是否小于预设数量。
所述语音助手从调度器获取所述第四时长。
本发明还提供一种语音助手,如前文所述和图3所示的,所述语音助手包括收发单元和处理单元;上述两个单元除了前文所述的功能外,还具有如下功能:
所述处理单元,用于确定需要主叫用户对第一通话进行控制,所述第一通话为所述语音助手发起的与第一被叫用户之间的通话;判断主叫用户是否正在控制第二通话,所述第二通话为第二语音助手发起的与第二被叫用户之间的通话;如果是,触发所述收发单元向主叫用户输出第一提示消息,接收所述主叫用户在控制第二通话的同时响应于所述第一提示消息给出的通话内容指令;所述处理单元还用于根据所述通话内容指令继续与第一被叫用户的第一通话。
所述收发单元,用于响应于所述处理单元的触发,向主叫用户输出第一提示消息,接收所述主叫用户在控制第二通话的同时响应于所述第一提示消息给出的通话内容指令。
其中,所述语音助手为第一终端的语音助手,所述第二语音助手为第二终端的语音助手,所述第一终端和第二终端均属于所述主叫用户。
优选的,所述第二通话为所述主叫用户的多个语音助手正在进行的通话中除第一通话以外的其他任一通话。所述多个语音助手正在进行的通话对应的被叫用户各不相同。
优选的,在确定需要主叫用户对第一通话进行控制之前,所述语音助手处于语音助手通话模式,即语音助手的处理单元自主生成由收发单元发送给被叫用户的第三通话语音。
优选的,需要主叫用户对第一通话进行控制,具体为,需要主叫用户给出通话内容指令,所述处理单元基于所述通话内容指令生成第三通话语音,所述收发单元将所述第三通话语音发送给被叫用户。
优选的,所述处理单元基于其与第一被叫用户之间的通话内容确定需要主叫用户对第一通话进行控制。
优选的,所述处理单元确定需要主叫用户以第二控制模式对第一通话进行控制。
优选的,若判断结果为否,即若主叫用户并未控制第二通话,则所述处理单元触发所述收发单元,所述收发单元响应于处理单元的触发,向主叫用户输出控制请求消息,并从主叫用户获取控制响应消息,在获取到控制响应消息后触发所述处理单元。所述处理单元响应于收发单元的触发,将通话模式由语音助手通话模式切换为用户通话模式,从而使得主叫用户以第二控制模式对所述第一通话进行控制。
优选的,若主叫用户正在控制第二通话,则所述处理单元进一步判断主叫用户是否正在以第二控制模式控制第二通话,如果是,触发所述收发单元向主叫用户输出第一提示消息,接收所述主叫用户在控制第二通话的同时响应于所述第一提示消息给出的通话内容指令;所述处理单元还用于根据所述通话内容指令继续与第一被叫用户的第一通话。
优选的,若主叫用户并非正在以第二控制模式控制第二通话,则所述处理单元触发所述收发单元,所述收发单元响应于处理单元的触发,向主叫用户输出控制请求消息,并获取主叫用户的控制响应消息,在获取到控制响应消息后触发所述处理单元。所述处理单元响应于收发单元的触发,将通话模式由语音助手通话模式切换为用户通话模式,从而使主叫用户以第二控制模式对所述第一通话进行控制,同时以第二控制模式外的其他控制模式如第一控制模式对第二通话进行控制。
优选的,所述处理单元将通话模式由语音助手通话模式切换为用户通话模式之后,还触发收发单元,所述收发单元响应于处理单元的触发,向调度器发送第一更新信息,以使得所述调度器更新其记录和维护的用户状态信息。所述第一更新信息中携带所述语音助手的标识符和主叫用户对所述第一通话的控制模式。
优选的,所述判断主叫用户是否正在控制第二通话以及是否正在以第二控制模式控制第二通话,具体为,所述收发单元从调度器接收用户状态消息,所述处理单元基于所述用户状态消息判断主叫用户是否正在控制第二通话以及是否正在以第二控制模式控制第二通话。
所述处理单元触发所述收发单元向主叫用户输出第一提示消息,接收所述主叫用户在控制第二通话的同时响应于所述第一提示消息给出的通话内容指令,实质上是将对第一通话的控制由第二控制模式降级为第一控制模式。所述处理单元还将通话模式由语音助手通话模式切换为辅助通话模式,所述处理单元还触发所述收发单元向调度器发送第一更新信息,以使得所述调度器更新其记录和维护的用户状态信息。所述第一更新信息中携带所述语音助手的标识符和主叫用户的控制模式。
优选的,所述处理单元触发所述收发单元向主叫用户输出第一提示消息之前,先触发所述收发单元获取第二被叫用户的用户等级(例如,从调度器获取),所述处理单元判断所述第二被叫用户的用户等级是否低于所述第一被叫用户的用户等级,如果是,所述处理单元触发所述收发单元向调度器发送优先控制请求并接收调度器发送的优先控制响应,向主叫用户输出控制请求消息,并获取主叫用户的控制响应消息,所述处理单元将其通话模式由语音助手通话模式切换为用户通话模式,由主叫用户以第二控制模式对所述第一通话进行控制,同时以第一控制模式对第二通话进行控制。所述收发单元响应于所述处理单元的触发,向调度器发送优先控制请求并接收调度器发送的优先控制响应,向主叫用户输出控制请求消息,并获取主叫用户的控制响应消息。具体的,所述收发单元向调度器发送优先控制请求,所述调度器在接收到所述优先控制请求后,向所述第二语音助手发送控制模式切换指令,所述第二语音助手在收到所述控制模式切换指令后,向主叫用户输出第一提示消息,将其通话模式从用户通话模式切换为辅助通话模式,并向所述调度器发送控制模式切换响应,所述调度器在接收到所述控制模式切换响应后,向所述语音助手的收发单元发送优先控制响应,所述收发单元从调度器接收所述优先控制响应,向主叫用户输出控制请求消息,并获取主叫用户的控制响应消息,在获取到控制响应消息后触发所述处理单元。所述处理单元响应于收发单元的触发,将通话模式由语音助手通话模式切换为用户通话模式,从而由主叫用户以第二控制模式对所述第一通话进行控制,同时以第二控制模式对第一通话进行控制;否则,所述处理单元触发所述收发单元向主叫用户输出第一提示消息。
优选的,所述调度器在发送优先控制响应后,更新其记录和维护的用户状态信息。
优选的,在用户对通话的控制结束后,,所述处理单元将通话模式由用户通话模式切换为语音助手通话模式。
优选的,当用户以第二控制模式控制所述第一通话时,所述处理单元根据所述收发单元从主叫用户获取的通话控制结束指令切换其通话模式,并触发所述收发单元向所述调度器发送第一更新信息,以使得所述调度器更新其记录和维护的用户状态信息,并选择用户控制的下一个通话(具体参见后文描述)。所述第一更新信息中指示所述主叫用户对所述第一通话的控制已经结束。
优选的,所述处理单元根据所述通话内容指令继续与第一被叫用户的第一通话之后,还用于将通话模式由辅助通话模式切换为语音助手通话模式,例如,在前述的预设轮对话结束后。所述处理单元还用于触发所述收发单元向调度器发送第一更新信息,以使得所述调度器更新其记录和维护的用户状态信息,例如,从用户正在控制的语音助手列表中删除所述语音助手。
优选的,所述处理单元触发所述收发单元向主叫用户输出第一提示消息之前,所述处理单元判断所述需要的控制是否可以由第二控制模式降级为第一控制模式,如果是,触发所述收发单元向主叫用户输出第一提示消息,否则,所述处理单元触发所述收发单元获取第一时长,所述第一时长为从当前时刻到主叫用户能够对所述第一通话进行控制所需要的时长,根据所述第一时长,调整对话策略,使得所述语音助手与第一被叫用户的对话得以持续所述第一时长,从而在所述第一时长之后,由所述主叫用户对所述第一通话进行控制。
所述第一提示消息用于提示主叫用户所述语音助手对应的通话需要以第一控制模式进行控制。
优选的,所述处理单元判断所述需要的控制是否可以由第二控制模式降级为第一控制模式,具体为,所述处理单元判断所述需要的控制是否紧急,如果是,则判断所述需要的控制可以由第二控制模式降级为第一控制模式。
优选的,若所述处理单元确定需要主叫用户以第一控制模式对第一通话进行控制,则所述处理单元触发所述收发单元向主叫用户输出第一提示消息,接收所述主叫用户响应于所述第一提示消息给出的通话内容指令;所述处理单元还用于根据所述通话内容指令继续与第一被叫用户的第一通话。
优选的,若所述处理单元确定需要主叫用户以第一控制模式对第一通话进行控制,则所述处理单元判断所述主叫用户当前控制的通话数量是否小于预设数量,如果是,则所述处理单元触发所述收发单元向主叫用户输出第一提示消息,接收所述主叫用户在控制第二通话的同时响应于所述第一提示消息给出的通话内容指令;所述处理单元还用于根据所述通话内容指令继续与第一被叫用户的第一通话;否则,触发所述收发单元获取第四时长,所述第四时长为从当前时刻到主叫用户能够对所述第一通话进行控制所需要的时长,根据所述第四时长,调整对话策略,使得所述语音助手与第一被叫用户的对话得以持续所述第四时长,从而在所述第四时长之后,由所述主叫用户对所述第一通话进行控制。
所述处理单元判断所述主叫用户当前控制的通话数量小于预设数量时,所述处理单元还用于触发所述收发单元向调度器发送第一更新信息,以使得所述调度器更新其记录和维护的用户状态信息。所述第一更新信息中携带所述语音助手的标识符和主叫用户的控制模式。
所述处理单元判断所述主叫用户当前控制的通话数量不小于预设数量时,所述处理器还用于触发所述收发单元向调度器发送第二更新信息,以使得所述调度单元根据所述第二更新信息维护等候控制队列。例如,第二更新信息中携带所述语音助手的标识符和所请求的主叫用户控制模式,所述调度器将所述语音助手的标识符加入所述等候控制队列,并对应存储所请求的主叫用户控制模式。
所述处理单元判断所述主叫用户当前控制的通话数量是否小于预设数量,具体为,所述处理单元触发所述收发单元从调度器获取用户状态消息,所述处理单元基于所述用户状态消息确定所述主叫用户当前控制的通话数量,并进一步判断所述主叫用户当前控制的通话数量是否小于预设数量。
所述收发单元从调度器获取所述第四时长。
通过本发明的方法及语音助手,向用户提供了多种主叫用户控制通话的模式,并给出了合理的主呼通话控制策略,使得主叫用户能够同时控制多个终端或语音助手的通话,提升了用户在语音助手主动呼叫时的用户体验。
本发明还提供一种语音助手处理主叫用户语音指令的方法,参见图5,所述方法包括如下步骤:
步骤301,所述语音助手接收主叫用户的语音指令;
步骤302,所述语音助手判断所述主叫用户是否正在控制所述第一通话,所述第一通话为所述语音助手代替所述主叫用户发起的与第一被叫用户之间的通话,如果是,执行步骤303;
步骤303,所述语音助手判断所述主叫用户是否同时正在控制至少一个第二通话,其中,所述至少一个第二通话为至少一个第二语音助手代替所述主叫用户发起的与至少一个第二被叫用户之间的通话,所述至少一个第二语音助手与所述语音助手为不同终端的语音助手,所述不同终端均属于所述主叫用户;如果是,执行步骤304;
步骤304,所述语音助手基于被控语音助手标识符确定是否处理语音指令内容,其中,所述语音指令包括被控语音助手标识符和语音指令内容。
优选的,在步骤304中,若所述语音指令包括的被控语音助手标识符为所述语音助手的标识符,则处理所述语音指令,否则,不对所述语音指令进行处理。
优选的,在步骤301之后,步骤302之前,还包括步骤301a,所述语音助手判断所述语音指令是否包括本地任务指令标识词,如果是,则确定所述语音指令为本地任务指令,执行步骤304,否则,确定所述语音指令为通话语音指令,执行步骤302。
优选的,所述本地任务指令标识词为所述语音助手的唤醒词。
优选的,所述本地任务指令标识词为用户自定义的任意词语。
优选的,当所述语音指令为本地任务指令时,在步骤304中处理所述语音指令,具体为,将所述本地任务指令加载到所述语音助手的本地会话进程中。
优选的,将所述任务指令加载到所述语音助手的本地会话进程中,具体为:当主叫用户与语音助手之间存在与所述本地任务指令相关联的本地会话进程时,将所述任务指令加载到所述本地会话进程中进行处理,当用户与语音助手之间不存在与所述任务指令相关联的本地会话进程时,新建一个本地会话进程,并加载所述任务指令。
优选的,在步骤302中,若所述语音助手判断所述主叫用户并未正在控制所述第一通话,则不对所述语音指令进行处理。
优选的,在步骤302中,若所述语音助手判断所述主叫用户正在控制所述第一通话,则在执行步骤303之前,所述语音助手进一步判断所述主叫用户是以第一控制模式还是第二控制模式来控制所述第一通话,若所述主叫用户是以第二控制模式控制所述第一通话,则执行步骤303,若所述主叫用户是以第一控制模式控制所述第一通话,则执行步骤304。
优选的,若所述主叫用户是以第二控制模式控制所述第一通话,则在执行步骤303之前,判断所述语音指令是否为通话控制结束指令,如果否,则所述语音指令中的所述语音指令内容为通话内容指令,执行步骤303。如果是,则所述语音助手将通话模式由用户通话模式切换为语音助手通话模式,并向所述调度器发送第一更新信息。
优选的,当所述语音指令并非通话控制结束指令时,在步骤304中处理所述语音指令,具体为,将所述语音指令内容加载到所述第一通话对应的通话会话进程中。
优选的,若所述主叫用户是以第一控制模式控制所述第一通话,则在执行完步骤304中的处理所述语音指令后,所述语音助手对主叫用户的控制轮数进行更新,判断更新后的控制轮数是否达到第一预设轮,如果是,所述语音助手将其通话模式由辅助控制模式切换为语音助手控制模式,并向调度器发送第一更新信息,以使得所述调度器选择所述主叫用户控制的下一个通话并更新其记录和维护的用户状态信息,例如,从用户正在控制的语音助手列表中删除所述语音助手,将所述下一个通话加入用户正在控制的语音助手列表中。
优选的,在步骤303中,若所述语音助手判断所述主叫用户并未同时正在控制至少一个第二通话,则处理所述语音指令。
优选的,当所述语音指令为通话语音指令且所述主叫用户是以第一控制模式控制所述第一通话时,在步骤304中处理所述语音指令,具体为,将所述语音指令内容加载到所述第一通话对应的通话会话进程中,所述语音指令内容为通话内容指令。
优选的,所述语音助手判断所述主叫用户是否正在控制所述第一通话,和/或,所述语音助手进一步判断所述主叫用户是以第一控制模式还是第二控制模式来控制所述第一通话,具体为,所述语音助手通过判断其通话模式来完成上述判断,若所述语音助手处于语音助手通话模式,则主叫用户并未正在控制所述第一通话,若所述语音助手处于辅助通话模式,则所述主叫用户是以第一控制模式控制所述第一通话,若所述语音助手处于用户通话模式,则所述主叫用户是以第二控制模式控制所述第一通话。
优选的,所述语音助手判断所述主叫用户是否同时正在控制至少一个第二通话,具体为,所述语音助手从调度器接收用户状态消息,基于所述用户状态消息判断所述主叫用户是否同时正在控制至少一个第二通话。
本发明还提供一种语音助手,如前文所述和图3所示的,所述语音助手包括收发单元和处理单元;上述两个单元除了前文所述的功能外,还具有如下功能:
所述收发单元,用于接收所述主叫用户的语音指令;
所述处理单元,用于判断所述主叫用户是否正在控制所述第一通话,所述第一通话为所述语音助手发起的与第一被叫用户之间的通话,如果所述主叫用户正在控制所述第一通话,判断所述主叫用户是否同时正在控制至少一个第二通话,其中,所述至少一个第二通话为至少一个第二语音助手发起的与至少一个第二被叫用户之间的通话,所述至少一个第二语音助手与所述语音助手为不同终端的语音助手,所述不同终端均属于所述主叫用户;如果所述主叫用户同时正在控制至少一个第二通话,基于被控语音助手标识符确定是否处理语音指令内容,其中,所述语音指令包括被控语音助手标识符和语音指令内容。
若所述语音指令包括的被控语音助手标识符为所述语音助手的标识符,则处理单元处理所述语音指令,否则,不对所述语音指令进行处理。
优选的,所述处理单元在判断所述主叫用户是否正在控制所述第一通话之前,还用于判断所述语音指令是否包括本地任务指令标识词,如果是,则确定所述语音指令为本地任务指令,基于被控语音助手标识符确定是否处理语音指令内容,否则,确定所述语音指令为通话语音指令,判断所述主叫用户是否正在控制所述第一通话。
优选的,当所述语音指令为本地任务指令时,处理所述语音指令,具体为,将所述本地任务指令加载到所述语音助手的本地会话进程中。
优选的,将所述任务指令加载到所述语音助手的本地会话进程中,具体为:当用户与语音助手之间存在与所述任务指令相关联的本地会话进程时,将所述任务指令加载到所述本地会话进程中进行处理,当用户与语音助手之间不存在与所述任务指令相关联的本地会话进程时,新建一个本地会话进程,并加载所述任务指令。
优选的,若所述处理单元判断所述主叫用户并未正在控制所述第一通话,则不对所述语音指令进行处理。
优选的,若所述处理单元判断所述主叫用户正在控制所述第一通话,则在判断所述主叫用户是否同时正在控制至少一个第二通话之前,所述语音助手进一步判断所述主叫用户是以第一控制模式还是第二控制模式来控制所述第一通话,若所述主叫用户是以第二控制模式控制所述第一通话,则执行判断所述主叫用户是否同时正在控制至少一个第二通话及其后续操作,若所述主叫用户是以第一控制模式控制所述第一通话,则基于被控语音助手标识符确定是否处理语音指令内容。
优选的,若所述主叫用户是以第二控制模式控制所述第一通话,则在判断所述主叫用户是否同时正在控制至少一个第二通话之前,所述处理单元判断所述语音指令是否为通话控制结束指令,如果否,则所述语音指令中的所述语音指令内容为通话内容指令,此时,判断所述主叫用户是否同时正在控制至少一个第二通话。如果是,则所述处理单元将通话模式由用户通话模式切换为语音助力通话模式,并触发所述收发单元向所述调度器发送第一更新信息。所述收发单元响应于所述处理单元的触发,向调度器发送第一更新信息。
优选的,当所述语音指令并非通话控制结束指令时,处理所述语音指令,具体为,将所述语音指令内容加载到所述第一通话对应的通话会话进程中。
优选的,若所述主叫用户是以第一控制模式控制所述第一通话,则在处理完所述语音指令后,所述处理单元对主叫用户的控制轮数进行更新,判断更新后的控制轮数是否达到第一预设轮,如果是,所述处理单元将通话模式由辅助控制模式切换为语音助手控制模式,并触发所述收发单元向调度器发送第一更新信息,以使得所述调度器更新其记录和维护的用户状态信息,例如,从用户正在控制的语音助手列表中删除所述语音助手。所述收发单元响应于所述处理单元的触发,向调度器发送第一更新信息。
优选的,若所述处理单元判断所述主叫用户并未同时正在控制至少一个第二通话,则处理所述语音指令。
优选的,当所述语音指令为通话语音指令且所述主叫用户是以第一控制模式控制所述第一通话时,则处理所述语音指令,具体为,将所述语音指令内容加载到所述第一通话对应的通话会话进程中,所述语音指令内容为通话内容指令。
优选的,所述处理单元判断所述主叫用户是否正在控制所述第一通话,和/或,所述处理单元进一步判断所述主叫用户是以第一控制模式还是第二控制模式来控制所述第一通话,具体为,所述处理单元通过判断语音助手的通话模式来完成上述判断,若所述语音助手处于语音助手通话模式,则主叫用户并未正在控制所述第一通话,若所述语音助手处于辅助通话模式,则所述主叫用户是以第一控制模式控制所述第一通话,若所述语音助手处于用户通话模式,则所述主叫用户是以第二控制模式控制所述第一通话。
优选的,所述处理单元判断所述主叫用户是否同时正在控制至少一个第二通话,具体为,所述处理单元触发所述收发单元从调度器接收用户状态消息,并基于所述用户状态消息判断所述主叫用户是否同时正在控制至少一个第二通话。所述收发单元响应于所述处理单元的触发从调度器接收用户状态消息。
通过上述方法及语音助手,使得语音助手在用户同时控制多个语音助手的通话时,能够准确地处理用户指令,同时能够兼顾本地任务和通话的顺利进行,提升了用户在语音助手主动呼叫时的用户体验。
本发明还提供一种对主叫用户的调度方法,参见图6,所述方法包括如下步骤:
步骤401,判断是否从多个语音助手中的第一语音助手接收到第一更新信息,如果是,执行步骤402;
其中,所述第一语音助手在确定所述主叫用户已完成对与其对应的第一通话的控制时发送所述第一更新信息;
步骤402,基于所述第一更新信息在主叫用户状态信息中查询所述主叫用户对所述第一通话的控制模式;
其中,所述主叫用户状态信息中记录了所述主叫用户正在同时控制的多个通话所对应的多个语音助手及相应的控制模式,所述多个通话为多个语音助手分别与多个不同被叫用户所建立的通信;所述第一语音助手属于所述多个语音助手,所述第一通话属于所述多个通话;
步骤403,基于查询得到的所述控制模式,从等待控制队列中选择第二语音助手,向所述第二语音助手发送控制模式切换指令,所述第二语音助手在收到所述控制模式切换指令后,触发所述主叫用户以所述控制模式对第二语音助手的通话进行控制。
优选的,在步骤403之后,更新所述主叫用户状态信息,具体的,将所述第一语音助手及相应的控制模式删除,增加第二语音助手及相应的控制模式。
优选的,在执行步骤402之后、步骤403之前,先执行步骤402a,判断是否存在与所述第一语音助手关联存储的第三语音助手,如果存在,基于所述主叫用户状态信息判断所述主叫用户对所述第三语音助手的第三通话的控制是否结束,若未结束,则向所述第三语音助手发送控制模式切换指令,从而由主叫用户以第二控制模式对所述第三通话进行控制;如果不存在或如果对第三通话的控制已经结束,则执行步骤403。
优选的,所述第三语音助手接收到控制模式切换指令后,向所述主叫用户输出控制请求消息,并获取主叫用户的控制响应消息,将其通话模式从辅助通话模式切换为用户通话模式。
优选的,所述第一语音助手确定需要主叫用户以第二控制模式对其第一通话进行控制时,所述主叫用户正在以第二控制模式对第三通话进行控制,但第一通话的被叫用户等级高于所述第三通话的被叫用户等级,此时,触发所述主叫用户以第二控制模式控制所述第一通话,以第一控制模式控制所述第三通话。
优选的,在接收到上述第一语音助手发送的优先控制请求时,向所述第三语音助手发送控制模式切换指令,并从所述第三语音助手接收到控制模式切换响应后,将所述第一语音助手和第三语音助手关联存储。
优选的,还从所述第三语音助手接收控制模式切换响应,并更新所述主叫用户状态信息,具体的,修改所述第三语音助手相应的控制模式为第二控制模式。
优选的,若在主叫用户状态信息中查询得到的所述控制模式为第二控制模式,则执行上述步骤402a,即“判断是否存在与所述第一语音助手关联存储的第三语音助手”及其后续操作。若在主叫用户状态信息中查询得到的所述控制模式为第一控制模式,则执行步骤403,即“基于所述控制模式,从等待控制队列中选择第二语音助手”及其后续操作。
优选的,所述第二语音助手在收到所述控制模式切换指令后,还将其通话模式从语音助手通话模式切换到与所述控制模式对应的通话模式。
优选的,若查询得到的所述控制模式为第一控制模式,则所述控制模式切换指令指示所述第二语音助手将其通话模式从语音助手通话模式切换到与辅助通话模式。
优选的,若查询得到的所述控制模式为第一控制模式,所述第二语音助手触发所述主叫用户以所述控制模式对第二语音助手的通话进行控制,具体为,所述第二语音助手向主叫用户输出第一提示消息,接收所述主叫用户响应于所述第一提示消息给出的通话内容指令,根据所述通话内容指令继续与第一被叫用户的第一通话。
优选的,若查询得到的所述控制模式为第二控制模式,所述第二语音助手触发所述主叫用户以所述控制模式对第二语音助手的通话进行控制,具体为,所述第二语音助手向主叫用户输出控制请求消息,并获取主叫用户的控制响应消息。
优选的,若查询得到的所述控制模式为第二控制模式,则所述控制模式切换指令指示所述第二语音助手将其通话模式从语音助手通话模式切换到与用户通话模式。
优选的,所述方法由前述的调度器来执行。
优选的,所述多个为前述的预设数量。
优选的,所述第二语音助手为最早加入所述等待控制队列中且相应的控制模式为所述查询得到的所述控制模式的语音助手。
优选的,所述等待控制队列的形成过程参见图2和图4对应的方法实施例。此处不再赘述。
本发明还提供一种对主叫用户的调度装置,参见图7,所述装置包括收发单元、处理单元和存储单元;
所述收发单元,判断是否从上述多个语音助手中的第一语音助手接收到第一更新信息,如果是,触发所述处理单元;
其中,所述第一语音助手在确定所述主叫用户已完成对与其对应的第一通话的控制时发送所述第一更新信息;
所述处理单元,用于响应于所述收发单元的触发,基于所述第一更新信息在主叫用户状态信息中查询所述主叫用户对所述第一通话的控制模式;
其中,所述主叫用户状态信息中记录了所述主叫用户正在同时控制的多个通话所对应的多个语音助手及相应的控制模式,所述多个通话为多个语音助手分别与多个不同被叫用户所建立的通信;所述第一语音助手属于所述多个语音助手,所述第一通话属于所述多个通话;
所述处理单元还用于基于查询得到的所述控制模式,从等待控制队列中选择第二语音助手,触发所述收发单元向所述第二语音助手发送控制模式切换指令,所述第二语音助手在收到所述控制模式切换指令后,触发所述主叫用户以所述控制模式对第二语音助手的通话进行控制;
所述收发单元用于响应于所述处理单元的触发,向所述第二语音助手发送控制模式切换指令;
所述存储单元用于存储所述主叫用户状态信息和等待控制队列。
优选的,所述处理单元还用于更新所述主叫用户状态信息,具体的,将所述第一语音助手及相应的控制模式删除,增加第二语音助手及相应的控制模式。
优选的,所述处理单元还用于:在查询得到所述控制模式之后、从等待控制队列中选择第二语音助手之前,判断是否存在与所述第一语音助手关联存储的第三语音助手,如果存在,基于所述主叫用户状态信息判断所述主叫用户对所述第三语音助手的第三通话的控制是否结束,若未结束,则触发所述收发单元向所述第三语音助手发送控制模式切换指令,从而由主叫用户以第二控制模式对所述第三通话进行控制;所述处理单元还用于:如果不存在第三语音助手或如果主叫用户对第三通话的控制已经结束,则执行所述从等待控制队列中选择第二语音助手。
优选的,所述第三语音助手接收到控制模式切换指令后,向所述主叫用户输出控制请求消息,并获取主叫用户的控制响应消息,将其通话模式从辅助通话模式切换为用户通话模式。
所述收发单元用于响应于所述处理单元的触发,向所述第三语音助手发送控制模式切换指令。
优选的,所述第一语音助手确定需要主叫用户以第二控制模式对其第一通话进行控制时,所述主叫用户正在以第二控制模式对第三通话进行控制,但第一通话的被叫用户等级高于所述第三通话的被叫用户等级,此时,触发所述主叫用户以第二控制模式控制所述第一通话,以第一控制模式控制所述第三通话。
优选的,所述收发单元在接收到上述第一语音助手发送的优先控制请求时,向所述第三语音助手发送控制模式切换指令,从所述第三语音助手接收控制模式切换响应,并触发所述处理单元,所述处理单元响应于所述收发单元的触发,将所述第一语音助手和第三语音助手关联存储在存储单元中。
优选的,所述存储单元还用于将所述第一语音助手和第三语音助手关联存储。
优选的,所述收发单元,还用于从所述第三语音助手接收控制模式切换响应,并触发所述处理单元;所述处理单元响应于所述收发单元的触发,基于所述控制模式切换响应,更新所述主叫用户状态信息,具体的,修改所述主叫用户状态信息中第三语音助手相应的控制模式为第二控制模式。
优选的,所述处理单元还用于:若在主叫用户状态信息中查询得到的所述控制模式为第二控制模式,则执行所述“判断是否存在与所述第一语音助手关联存储的第三语音助手”及其后续操作,若在主叫用户状态信息中查询得到的所述控制模式为第一控制模式,则执行所述“基于所述控制模式,从等待控制队列中选择第二语音助手”及其后续操作。
优选的,所述第二语音助手在收到所述控制模式切换指令后,还将其通话模式从语音助手通话模式切换到与所述控制模式对应的通话模式。
优选的,若查询得到的所述控制模式为第一控制模式,则所述第二语音助手将其通话模式从语音助手通话模式切换到辅助通话模式。
优选的,若查询得到的所述控制模式为第二控制模式,则所述第二语音助手将其通话模式从语音助手通话模式切换到用户通话模式。
优选的,若查询得到的所述控制模式为第一控制模式,所述第二语音助手触发所述主叫用户以所述控制模式对第二语音助手的通话进行控制,具体为,所述第二语音助手向主叫用户输出第一提示消息,接收所述主叫用户响应于所述第一提示消息给出的通话内容指令,根据所述通话内容指令继续与第一被叫用户的第一通话。
优选的,若查询得到的所述控制模式为第二控制模式,所述第二语音助手触发所述主叫用户以所述控制模式对第二语音助手的通话进行控制,具体为,所述第二语音助手向主叫用户输出控制请求消息,并获取主叫用户的控制响应消息。
优选的,所述调度器包括所述调度装置。
优选的,所述多个为前述的预设数量。
优选的,所述第二语音助手为最早加入所述等待控制队列中且相应的控制模式为所述查询得到的所述控制模式的语音助手。
优选的,所述等待控制队列的形成过程和更新维护过程参见图2和图4对应的方法实施例。此处不再赘述。
通过上述方法及装置,能够在多个语音助手的主叫通话均需用户进行控制时,高效地在上述多个通话之间进行调度,提升了用户使用语音助手主叫通话的用户体验。
本发明还提供一种对通话进行同步控制的方法,参见图8,所述方法包括如下步骤:
步骤501,获取主叫用户的M个语音助手正在进行的M个通话的通话进度,所述M个通话中的一者是由所述M个语音助手中的一者代替所述主叫用户向M个被叫用户中的一者所发起的通话,且所述M个语音助手中的所述一者代替主叫用户与所述M个被叫用户中的所述一者进行对话;
步骤502,基于所述M个通话的通话进度对所述M个通话进行聚类,形成N个通话类;所述M个通话中的每一者仅属于所述N个通话类中的一者;
其中,M和N均为正整数,且M>1,N<M;
步骤503,在一个通话类所包括的多个通话之间进行通话控制同步,以使得主叫用户对所述多个通话中的第一通话进行控制时,所述多个通话中的第二通话被主叫用户同步地控制。
优选的,所述方法的执行主体为前述的调度器。
优选的,对所述M个通话进行聚类,具体为:将通话进度相同或通话进度差值小于阈值的通话聚类为一个通话类。
所述通话进度差值可以用对话轮数来表征。
优选的,还获取所述M个通话的通话意图和/或被叫用户属性,对所述M个通话进行聚类,还基于通话意图、被叫用户属性,具体的,将通话意图相同和/或用户属性相同或相似并且通话进度相同或通话进度差值小于阈值的通话聚类为一个通话类。
优选的,所述通话类中还记录发起其所包括的多个通话的多个语音助手标识符,即与所述多个通话对应的多个语音助手标识符。
优选的,在一个通话类所包括的多个通话之间进行通话控制同步,以使得主叫用户对所述多个通话中的第一通话进行控制时,所述多个通话中的第二通话被主叫用户同步地控制,具体为,接收第一语音助手所发送的第一更新消息,基于所述第一更新消息确定主叫用户开始对所述第一通话进行控制,向第二语音助手发送通话控制同步消息,以使得所述第二语音助手切换其通话模式,所述第一语音助手为发起所述第一通话的语音助手,所述第二语音助手为发起所述第二通话的语音助手。
优选的,基于所述第一更新消息中携带的用户控制模式,确定主叫用户以第一控制模式对所述第一通话进行控制,向所述第二语音助手发送通话控制同步消息,以使得所述第二语音助手将其通话模式切换为辅助控制模式。
优选的,基于所述第一更新消息中携带的用户控制模式,确定主叫用户以第二控制模式对所述第一通话进行控制,向所述第二语音助手发送通话控制同步消息,以使得所述第二语音助手将其通话模式切换为用户控制模式。
优选的,在一个通话类所包括的多个通话之间进行通话控制同步,以使得主叫用户对所述多个通话中的第一通话进行控制时,所述多个通话中的第二通话被主叫用户同步地控制,还包括,从所述第一语音助手接收主叫用户的第三通话语音,将所述第三通话语音发送给所述第二语音助手,以使得所述第二语音助手根据所述第二通话的通话进度,将所述第三通话语音发送给第二被叫用户,所述第二被叫用户为所述第二通话对应的被叫用户。
本实施例中,第一语音助手在何种情况下发送所述第一更新消息以及在辅助控制模式或用户控制模式下,如何生成第三通话语音均与前文所述实施例相同,此处不再赘述。
本发明中,调度器的用户状态信息中仅记录所述第一语音助手及对应的用户控制模式。
优选的,所述方法还包括步骤504,从第三语音助手(即前述实施例步骤107中的所述语音助手)接收优先控制请求,向第四语音助手(即前述实施例步骤107中的第二语音助手)发送控制模式切换指令,向第五语音助手发送通话控制同步消息,其中,第五语音助手对应的第五通话和第四语音助手对应的第四通话属于同一个通话类;所述第四语音助手和第五语音助手接收到上述指令或消息后,将其通话模式切换为辅助通话模式,并向调度器发送控制模式切换响应,所述调度器在接收到所述控制模式切换响应后,向所述第三语音助手(即步骤107中的所述语音助手)发送优先控制响应,向第六语音助手发送通话控制同步消息,以使得所述第六语音助手将其通话模式切换为用户控制模式,所述第六语音助手对应的第六通话和所述第三语音助手对应的第三通话(即所述步骤107中的第一通话)属于同一个通话类。步骤107中的涉及到的其他内容同样适用于步骤504。
优选的,所述方法还包括如下步骤:步骤505,从第一语音助手(即步骤401中的第一语音助手)接收第一更新信息,基于所述第一更新消息确定主叫用户已完成对第一通话(即步骤401中的第一通话)的控制,所述第一语音助手为发起所述第一通话的语音助手;向第二语音助手发送通话控制同步结束消息,以使得所述第二语音助手切换其通话模式为语音助手通话模式。
优选的,所述方法还包括如下步骤:步骤506,基于所述第一更新信息在主叫用户状态信息中查询所述主叫用户对所述第一通话的控制模式;步骤507,基于查询得到的所述控制模式,从等待控制队列中选择第七语音助手,在所述第七通话和第八通话之间进行通话控制同步,其中,第七语音助手对应的第七通话和第八语音助手对应的第八通话属于同一个通话类。具体的,向所述第七语音助手发送控制模式切换指令,向第八语音助手发送通话控制同步消息,所述第七语音助手和第八语音助手将其通话模式切换为与所述控制模式对应的通话模式。
优选的,所述步骤505还可以为,从第三语音助手接收第一更新信息,基于所述第一更新消息确定主叫用户已完成对第三通话的控制,向第六语音助手发送通话控制同步结束消息;所述第六语音助手在接收到所述通话控制同步结束消息后,将其通话模式切换为语音助手通话模式;所述方法还包括步骤505a,判断所述主叫用户对所述第四语音助手的第四通话的控制是否结束,若未结束,则向所述第四语音助手发送控制模式切换指令,并向所述第五语音助手发送通话控制同步消息,从而由主叫用户以第二控制模式对所述第四通话进行控制以及对所述第五通话进行同步控制。所述第四语音助手和第五语音助手在接收到所述指令或消息后,将其通信模式从辅助通信模式切换为用户通信模式;若已结束,执行上述步骤506和507。
优选的,在某个语音助手的当前通话结束、下一通话开始时,判断下一通话是否能够被聚合到某个通话类中。
本发明还提供一种对通话同步控制的装置,所述装置即为图7中的调度装置,所述装置包括收发单元、处理单元和存储单元;上述三个单元除具有前述的功能外,还具有如下功能:
所述收发单元,用于获取主叫用户的M个语音助手正在进行的M个通话的通话进度,所述M个通话中的一者是由所述M个语音助手中的一者代替所述主叫用户向M个被叫用户中的一者所发起的通话,且所述M个语音助手中的所述一者代替主叫用户与所述M个被叫用户中的所述一者进行对话;
所述处理单元,用于基于所述M个通话的通话进度对所述M个通话进行聚类,形成N个通话类;所述M个通话中的每一者仅属于所述N个通话类中的一者;其中,M和N均为正整数,且M>1,N<M;
所述存储单元,用于存储所形成的N个通话类;
所述处理单元还用于:在一个通话类所包括的多个通话之间进行通话控制同步,以使得主叫用户对所述多个通话中的第一通话进行控制时,所述多个通话中的第二通话被主叫用户同步地控制。
优选的,所述装置为前述的调度器。
优选的,对所述M个通话进行聚类,具体为:将通话进度相同或通话进度差值小于阈值的通话聚类为一个通话类。
所述通话进度差值可以用对话轮数来表征。
优选的,所述收发单元还用于:获取所述M个通话的通话意图和/或被叫用户属性;所述处理单元对所述M个通话进行聚类,还基于通话意图、被叫用户属性,具体的,将通话意图相同和/或用户属性相同或相似并且通话进度相同或通话进度差值小于阈值的通话聚类为一个通话类。
优选的,所述通话类中还记录发起其所包括的多个通话的多个语音助手标识符,即与所述多个通话对应的多个语音助手标识符。
优选的,所述收发单元还用于接收第一语音助手所发送的第一更新消息,所述处理单元基于所述第一更新消息确定主叫用户对所述第一通话进行控制,触发所述收发单元向第二语音助手发送通话控制同步消息,以使得所述第二语音助手切换其通话模式,所述第一语音助手为发起所述第一通话的语音助手,所述第二语音助手为发起所述第二通话的语音助手。所述收发单元响应于所述处理单元的触发向第二语音助手发送通话控制同步消息。
优选的,所述处理单元还用于:基于所述第一更新消息中携带的用户控制模式,确定主叫用户以第一控制模式对所述第一通话进行控制,触发所述收发单元向所述第二语音助手发送通话控制同步消息,以使得所述第二语音助手将其通话模式切换为辅助控制模式。
优选的,所述处理单元还用于:基于所述第一更新消息中携带的用户控制模式,确定主叫用户以第二控制模式对所述第一通话进行控制,触发所述收发单元向所述第二语音助手发送通话控制同步消息,以使得所述第二语音助手将其通话模式切换为用户控制模式。
优选的,所述收发单元还用于从所述第一语音助手接收主叫用户的第三通话语音,在所述处理单元的触发下将所述第三通话语音发送给所述第二语音助手,以使得所述第二语音助手根据所述第二通话的通话进度,将所述第三通话语音发送给第二被叫用户,所述第二被叫用户为所述第二通话对应的被叫用户。
本发明中,调度器的用户状态信息中仅记录所述第一语音助手及对应的用户控制模式。
优选的,所述收发单元还用于:从第三语音助手(即前述实施例步骤107中的所述语音助手)接收优先控制请求,在所述处理单元的触发下向第四语音助手(即前述实施例步骤107中的第二语音助手)发送控制模式切换指令,向第五语音助手发送通话控制同步消息,其中,第五语音助手对应的第五通话和第四语音助手对应的第四通话属于同一个通话类;所述第四语音助手和第五语音助手接收到上述指令或消息后,将其通话模式切换为辅助通话模式,并向所述收发单元发送控制模式切换响应,所述收发单元在接收到所述控制模式切换响应后,在处理单元的触发下向所述第三语音助手(即步骤107中的所述语音助手)发送优先控制响应,向第六语音助手发送通话控制同步消息,以使得所述第六语音助手将其通话模式切换为用户控制模式,所述第六语音助手对应的第六通话和所述第三语音助手对应的第三通话(即所述步骤107中的第一通话)属于同一个通话类。类似的,所述收发单元还用于从所述第三语音助手接收主叫用户的第三通话语音,在所述处理单元的触发下将所述第三通话语音发送给所述第六语音助手。所述收发单元还用于从所述第四语音助手接收主叫用户的第三通话语音,在所述处理单元的触发下将所述第三通话语音发送给所述第五语音助手。本发明中,对属于同一通话类的多个通话,均执行上述步骤,下文中不再赘述。
优选的,所述收发单元还用于:从第一语音助手(即步骤401中的第一语音助手)接收第一更新信息,所述处理单元还用于基于所述第一更新消息确定主叫用户已完成对第一通话(即步骤401中的第一通话)的控制,所述第一语音助手为发起所述第一通话的语音助手;触发所述收发单元向第二语音助手发送通话控制同步结束消息,以使得所述第二语音助手切换其通话模式为语音助手通话模式。所述收发单元响应于所述处理单元的触发,向第二语音助手发送通话控制同步结束消息。
优选的,所述处理单元还用于:基于所述第一更新信息在主叫用户状态信息中查询所述主叫用户对所述第一通话的控制模式,基于查询得到的所述控制模式,从等待控制队列中选择第七语音助手,在所述第七通话和第八通话之间进行通话控制同步,其中,第七语音助手对应的第七通话和第八语音助手对应的第八通话属于同一个通话类。具体的,触发所述收发单元向所述第七语音助手发送控制模式切换指令,向第八语音助手发送通话控制同步消息,所述第七语音助手和第八语音助手将其通话模式切换为与所述控制模式对应的通话模式。
优选的,所述收发单元还用于从第三语音助手接收第一更新信息,所述处理单元还用于基于所述第一更新消息确定主叫用户已完成对第三通话的控制,触发所述收发单元向第六语音助手发送通话控制同步结束消息;所述处理单元还用于判断所述主叫用户对所述第四语音助手的第四通话的控制是否结束,若未结束,则触发所述收发单元向所述第四语音助手发送控制模式切换指令,并向所述第五语音助手发送通话控制同步消息,从而由主叫用户以第二控制模式对所述第四通话进行控制以及对所述第五通话进行同步控制。所述第四语音助手和第五语音助手在接收到所述指令或消息后,将其通信模式从辅助通信模式切换为用户通信模式;若已结束,所述处理单元基于所述第一更新信息在主叫用户状态信息中查询所述主叫用户对所述第一通话的控制模式,基于查询得到的所述控制模式,从等待控制队列中选择第七语音助手,在所述第七通话和第八通话之间进行通话控制同步。
通过上述方法及装置,在一个通话类所包括的多个通话之间进行通话控制同步,以使得主叫用户对所述多个通话中的第一通话进行控制时,所述多个通话中的第二通话被主叫用户同步地控制,提高了用户对语音助手主呼的通话进行控制的效率,提升了语音助手主动呼叫的用户体验。
本发明还提供一种对通话进行聚类和控制的方法,参见图9,所述方法包括如下步骤:
步骤601,对主叫用户的M个语音助手正在进行的M个通话进行聚类,形成L个通话类;所述M个通话中的一者是由所述M个语音助手中的一者代替所述主叫用户向M个被叫用户中的一者所发起的通话,且所述M个语音助手中的所述一者代替主叫用户与所述M个被叫用户中的所述一者进行对话,所述M个通话中的每一者仅属于所述L个通话类中的一者,其中,M和L均为正整数,且M>1,L<M;
步骤602,从第一语音助手接收所述主叫用户在控制第一通话时的用户控制通话内容,将所述用户控制通话内容发送给第二语音助手,以使得所述第二语音助手基于所述用户控制通话内容生成第三通话语音;其中,所述第一语音助手为发起所述第一通话的语音助手;第二语音助手为发起第二通话的语音助手,第一通话和第二通话同属于第一通话类。
优选的,所述方法由前述的调度器来执行。
优选的,步骤601中,获取所述M个通话的通话意图和/或被叫用户属性,基于通话意图和/或被叫用户属性对所述M个通话进行聚类,将通话意图相同和/或用户属性相同或相似的通话聚类为一个通话类。
优选的,所述用户控制通话内容包括主叫用户发出的通话内容指令、所述语音助手生成的第三通话语音以及从被叫用户接收的第二通话语音。
优选的,当主叫用户对所述第一通话的控制结束后,所述第一语音助手发送所述用户控制通话内容,此时,从第一语音助手接收用户控制通话内容。
优选的,所述第一语音助手每次从主叫用户接收通话内容指令并生成第三通话语音发送给第一被叫用户后,立即将所述通话内容指令、第三通话语音以及相关联的从被叫用户接收的第二通话语音携带在所述用户控制通话内容进行发送,例如,发送给所述调度器。
优选的,当主叫用户以第一控制模式对所述第一通话进行控制时,当主叫用户对所述第一通话的控制结束后,所述第一语音助手发送所述用户控制通话内容。
优选的,当主叫用户以第二控制模式对所述第一通话进行控制时,第一语音助手每次从主叫用户接收通话内容指令并生成第三通话语音发送给第一被叫用户后,立即将所述通话内容指令、第三通话语音以及相关联的从被叫用户接收的第二通话语音携带在所述用户控制通话内容进行发送。
优选的,所述第二语音助手基于所述用户控制通话内容生成第三通话语音,具体为,所述第二语音助手基于其与第二被叫用户的通话进度,判断所述用户控制通话内容是否与当前通话进度匹配,如果是,基于所述用户控制通话内容生成第三通话语音。
优选的,在上述匹配的情况下,所述第二语音助手还判断在此后的第二预设轮对话内是否需要主叫用户对第二通话进行控制,如果是,所述第二语音助手发送用户控制通话内容无效消息,并执行如前述的步骤102及其后续步骤,如果否,则所述第二语音助手发送用户控制通话内容有效消息。
优选的,所述方法还包括步骤603,从所述第二语音助手接收用户控制通话内容无效消息或用户控制通话内容有效消息。
优选的,所述方法还包括:步骤604,从第三语音助手接收第三通话结束消息和第四通话开始消息,判断所述第四通话是否能够被聚合到所述第一通话类,如果是,将所述用户控制通话内容发送给所述第三语音助手。
所述第三通话和第四通话为由所述第三语音助手顺次发起的两个通话,对应不同的被叫用户。
优选的,所述第三语音助手可以为第一语音助手、第二语音助手或者M个语音助手中的其他任意一个语音助手。
优选的,所述方法还包括:在满足预设条件时,计算接收到的控制通话内容有效消息数量与接收到的控制通话内容无效消息数量的比值,若所述比值大于更新阈值,则更新主呼子引擎,并向所述M个语音助手发送更新消息,以使得所述M个语音助手下载所述更新后的主呼子引擎。
将图8中的聚类方式称为第一聚类方式,图9中的聚类方式称为第二聚类方式,主叫用户可以根据其需求预先设置聚类方式为第一聚类方式或第二聚类方式中的哪一种,所述调度器根据上述预先设置的聚类方式进行聚类并执行后续操作。
本发明还提供一种对通话进行聚类和控制的装置,参见图7,所述装置包括收发单元、处理单元和存储单元,除前述的功能外,上述单元还具有如下功能:
所述处理单元,用于对主叫用户的M个语音助手正在进行的M个通话进行聚类,形成L个通话类;所述M个通话中的一者是由所述M个语音助手中的一者代替所述主叫用户向M个被叫用户中的一者所发起的通话,且所述M个语音助手中的所述一者代替主叫用户与所述M个被叫用户中的所述一者进行对话,所述M个通话中的每一者仅属于所述L个通话类中的一者,其中,M和L均为正整数,且M>1,L<M;
所述存储单元,用于存储所形成的L个通话类;
所述收发单元,用于从第一语音助手接收所述主叫用户在控制第一通话时的用户控制通话内容;
所述处理单元还用于触发所述收发单元将接收到的用户控制通话内容发送给第二语音助手;
所述收发单元还用于响应于所述处理单元的触发,将所述用户控制通话内容发送给第二语音助手,以使得所述第二语音助手基于所述用户控制通话内容生成第三通话语音;其中,所述第一语音助手为发起所述第一通话的语音助手;第二语音助手为发起第二通话的语音助手,第一通话和第二通话同属于第一通话类。
优选的,所述装置为前述的调度器。
优选的,所述收发单元,还用于获取所述M个通话的通话意图和/或被叫用户属性,所述处理单元基于通话意图和/或被叫用户属性对所述M个通话进行聚类,将通话意图相同和/或用户属性相同或相似的通话聚类为一个通话类。
优选的,所述用户控制通话内容包括主叫用户发出的通话内容指令、所述语音助手生成的第三通话语音以及从被叫用户接收的第二通话语音。
优选的,当主叫用户对所述第一通话的控制结束后,所述第一语音助手发送所述用户控制通话内容。
优选的,所述第一语音助手每次从主叫用户接收通话内容指令并生成第三通话语音发送给第一被叫用户后,立即将所述通话内容指令、第三通话语音以及相关联的从被叫用户接收的第二通话语音携带在所述用户控制通话内容进行发送,例如,发送给所述调度器。
优选的,当主叫用户以第一控制模式对所述第一通话进行控制时,当主叫用户对所述第一通话的控制结束后,所述第一语音助手发送所述用户控制通话内容。
优选的,当主叫用户以第二控制模式对所述第一通话进行控制时,第一语音助手每次从主叫用户接收通话内容指令并生成第三通话语音发送给第一被叫用户后,立即将所述通话内容指令、第三通话语音以及相关联的从被叫用户接收的第二通话语音携带在所述用户控制通话内容进行发送。
优选的,所述第二语音助手基于所述用户控制通话内容生成第三通话语音,具体为,所述第二语音助手基于其与第二被叫用户的通话进度,判断所述用户控制通话内容是否与当前通话进度匹配,如果是,基于所述用户控制通话内容生成第三通话语音。
优选的,在上述匹配的情况下,所述第二语音助手还判断在此后的第二预设轮对话内是否需要主叫用户对第二通话进行控制,如果是,所述第二语音助手发送用户控制通话内容无效消息,并执行如前述的步骤102及其后续步骤,如果否,则所述第二语音助手发送用户控制通话内容有效消息。
优选的,所述收发单元还用于从所述第二语音助手接收用户控制通话内容无效消息或用户控制通话内容有效消息。
优选的,所述收发单元还用于从第三语音助手接收第三通话结束消息和第四通话开始消息,所述处理单元还用于判断所述第四通话是否能够被聚合到所述第一通话类,如果是,触发所述收发单元将所述用户控制通话内容发送给所述第三语音助手。所述收发单元还用于响应于所述处理单元的触发将所述用户控制通话内容发送给所述第三语音助手
优选的,所述第三语音助手可以为第一语音助手、第二语音助手或者M个语音助手中的其他任意一个语音助手。
优选的,所述处理单元还用于在满足预设条件时,计算接收到的控制通话内容有效消息数量与接收到的控制通话内容无效消息数量的比值,若所述比值大于更新阈值,则更新主呼子引擎,并触发所述收发单元向所述M个语音助手发送更新消息,以使得所述M个语音助手下载所述更新后的主呼子引擎。
优选的,所述处理单元根据主叫用户预先设置的聚类方式进行聚类并执行后续操作。
通过本发明的上述方法和装置,与第一通话同属于一个通话类的第二通话对应的第二语音助手,能够获得主叫用户对其他通话的控制情况,并对其与第二被叫用户之间的对话逻辑进行调整,而无需切换其通话模式,减少了第二语音助手触发用户进行控制的次数,提升了语音助手主动呼叫的用户体验。
本发明中的所有方法/装置均涉及语音助手的主呼通话模式和对主叫用户的调度,其互相之间可以任意的组合、结合。
本发明中的处理单元触发收发单元接收或发送某个消息或指令,则收发单元响应于处理单元的触发接收或发送上述某个消息或指令。
可以采用一个或多个计算机可读的介质的任意组合。计算机可读介质可以是计算机可读信号介质或者计算机可读存储介质。计算机可读存储介质例如可以是但不限于电、磁、光、电磁、红外线、或半导体的系统、装置或器件,或者任意以上的组合。计算机可读存储介质可以包括:具有一个或多个导线的电连接、便携式计算机磁盘、硬盘、随机存取存储器(RAM)、只读存储器(ROM)、闪存、可擦式可编程只读存储器(EPROM)、光纤、便携式紧凑磁盘只读存储器(CD-ROM)、光存储器件、磁存储器件、或者上述的任意合适的组合。在本文件中,计算机可读存储介质可以是任何包含或存储程序的有形介质,该程序可以被指令执行系统、装置或者器件使用或者与其结合使用。
可以以一种或多种程序设计语言或其组合来编写用于执行本发明操作的计算机程序代码。
以上说明只是为了方便理解本发明而举出的例子,不用于限定本发明的范围。在具体实现时,本领域技术人员可以根据实际情况对装置的部件进行变更、增加、减少,在不影响方法所实现的功能的基础上可以根据实际情况对方法的步骤进行变更、增加、减少或改变顺序。
尽管已经示出和描述了本发明的实施例,本领域技术人员应当理解:在不脱离本发明的原理和宗旨的情况下可以对这些实施例进行多种变化、修改、替换和变型,本发明的范围由权利要求及其等同替换所限定,在未经创造性劳动所作的改进等,均应包含在本发明的保护范围之内。