交互方法和装置与流程

文档序号:17735281发布日期:2019-05-22 03:08阅读:365来源:国知局
交互方法和装置与流程

本申请涉及计算机领域,具体涉及人机交互领域,尤其涉及交互方法和装置。



背景技术:

诸如智能音箱的智能设备可以通过语音的方式与用户进行交互,对用户的指示期望其执行的操作的语音进行分析,确定用户期望其执行的操作,执行用户期望其执行的操作。目前,通常需要用户发出诸如包含智能设备的名称的语音首先唤醒智能设备,然后,再由智能设备执行用户期望其执行的操作。一方面,导致交互过程较为繁琐,另一方面,智能设备无法与用户通过自然语言形式的语音进行交互。



技术实现要素:

本申请实施例提供了交互方法和装置。

第一方面,本申请实施例提供了交互方法,该方法包括:响应于获取到用户的语音,利用唤醒判断模型基于参考信息,判断是否执行唤醒操作,参考信息包括:所述用户的语音对应的文本、智能设备最近一次执行唤醒操作的时刻与判断是否执行唤醒操作的时刻之间的时长;响应于得到判断结果,执行与所述判断结果相关联的操作。

第二方面,本申请实施例提供了交互装置,该装置包括:判断单元,被配置为响应于获取到用户的语音,利用唤醒判断模型基于参考信息,判断是否执行唤醒操作,参考信息包括:所述用户的语音对应的文本、智能设备最近一次执行唤醒操作的时刻与判断是否执行唤醒操作的时刻之间的时长;执行单元,被配置为响应于得到判断结果,执行与所述判断结果相关联的操作。

本申请实施例提供的交互方法和装置,通过响应于获取到用户的语音,利用唤醒判断模型基于参考信息,判断是否执行唤醒操作,参考信息包括:所述用户的语音对应的文本、智能设备最近一次执行唤醒操作的时刻与判断是否执行唤醒操作的时刻之间的时长;响应于得到判断结果,执行与所述判断结果相关联的操作。一方面,避免了每一次交互过程中均依靠输入诸如包含智能设备的名称的语音来唤醒智能设备才能进行交互而引起的交互繁琐的问题,简化了交互流程。另一方面,智能设备与用户可以通过自然语言形式的语音进行交互。

附图说明

通过阅读参照以下附图所作的对非限制性实施例所作的详细描述,本申请的其它特征、目的和优点将会变得更明显:

图1示出了适于用来实现本申请实施例的示例性系统架构;

图2示出了根据本申请的交互方法的一个实施例的流程图;

图3示出了根据本申请的交互装置的一个实施例的结构示意图;

图4是适于用来实现本申请实施例的电子设备的计算机系统的结构示意图。

具体实施方式

下面结合附图和实施例对本申请作进一步的详细说明。可以理解的是,此处所描述的具体实施例仅仅用于解释相关发明,而非对该发明的限定。另外还需要说明的是,为了便于描述,附图中仅示出了与有关发明相关的部分。

需要说明的是,在不冲突的情况下,本申请中的实施例及实施例中的特征可以相互组合。下面将参考附图并结合实施例来详细说明本申请。

图1示出了适于用来实现本申请实施例的示例性系统架构。

如图1所示,系统架构可以包括智能设备101、网络102、服务器103。网络102可以为有线网络或无线网络。

智能设备101通过网络102与服务器103传输数据,智能设备101可以包括但不限于:智能音箱、智能交互机器人。智能设备101上的麦克风可以采集到智能设备附近的用户的语音,从而,获取到用户的语音。智能设备101可以对用户的语音进行识别,得到用户的语音对应的文本,利用运行在智能设备101上的唤醒判断模型判断是否执行唤醒操作,即判断是否将智能设备101设置为被唤醒状态。当可以得到判断结果时,智能设备101执行与判断结果相关联的操作。智能设备101也可以将获取到的用户的语音发送至服务器103,由对用户的语音进行识别,得到用户的语音对应的文本,利用运行在服务器103上的唤醒判断模型判断是否执行唤醒操作,当得到判断结果时,服务器103将判断结果发送至智能设备101。

请参考图2,其示出了根据本申请的交互方法的一个实施例的流程。该方法包括以下步骤:

步骤201,响应于获取到用户的语音,利用唤醒判断模型基于参考信息,判断是否执行唤醒操作。

在本实施例中,参考信息包括:获取到的用户的语音对应的文本、智能设备最近一次执行唤醒操作的时刻与判断是否执行唤醒操作的时刻之间的时长。

在本实施例中,判断是否执行唤醒操作的时刻并不特指某一时刻。每一次判断是否执行唤醒操作的时刻均可以称之为判断是否执行唤醒操作的时刻。

在本实施例中,可以将智能设备可以执行用户需要由智能设备执行的操作的状态称之为被唤醒状态。当智能设备未被唤醒时,智能设备处于待机状态。当智能设备获取到用户的语音之后,可以判断是否执行唤醒操作,当确定执行唤醒操作时,执行唤醒操作,使得智能设备处于被唤醒状态,然后,再执行用户需要由智能设备执行的操作。

在本实施例中,可以将用于判断是否执行唤醒操作的神经网络称之为唤醒判断模型。用于判断是否执行唤醒操作的神经网络通过预先利用训练样本进行训练得到。每一个训练样本包括:用于训练的文本、智能设备最近一次执行唤醒操作的时刻与判断是否执行唤醒操作的时刻之间的时长、用于训练的文本对应的目标输出。用于训练的文本指示用户的需求。用户的需求的类型可以包括但不限于:需要由智能设备执行操作、需要由智能设备查询信息。

例如,一个训练样本包含文本“帮我查一下天气情况”,该文本指示用户查询天气情况的需求,该用于训练的文本对应的目标输出为指示智能设备执行唤醒操作。再例如,一个训练样本包含用于训练的文本“帮我关一下窗户”,该用于训练的文本对应的目标输出为指示智能设备不执行唤醒操作。

在本实施例中,用于判断是否执行唤醒操作的神经网络在创建时具有初始的网络参数。可以通过多个训练样本进行训练,迭代地调整网络参数。经过多个训练样本训练之后,用于判断是否执行唤醒操作的神经网络可以基于用户的语音对应的文本、智能设备最近一次执行唤醒操作的时刻与判断是否执行唤醒操作的时刻之间的时长,判断是否执行唤醒操作。

换言之,用于判断是否执行唤醒操作的神经网络即唤醒判断模型可以基于智能设备最近一次执行唤醒操作的时刻与判断是否执行唤醒操作的时刻之间的时长、用户的语音对应的文本,判断是否唤醒智能设备。

在进行训练时,对于每一个训练样本,可以对训练样本中的用于训练的文本进行编码,得到用于训练的文本的编码表示。可以对智能设备最近一次执行唤醒操作的时刻与判断是否执行唤醒操作的时刻之间的时长进行编码,得到时长的编码表示。在用于判断是否执行唤醒操作的神经网络中,可以基于用于训练的文本的编码表示、时长的编码表示,得到预测结果,预测结果预指示智能设备是否执行唤醒操作。可以根据指示预测出结果与目标输出结果之间差异的损失函数,计算出需要调整的网络参数,对需要调整的网络参数进行调整。

在本实施例中,唤醒判断模型可以根据获取到的用户的语音对应的文本、智能设备最近一次执行唤醒操作的时刻与判断获取到的用户的语音的时刻之间的时长,判断是否执行唤醒操作,即判断是否唤醒智能设备。

在本实施例中,训练样本中的最近一次执行唤醒操作的时刻与判断是否执行唤醒操作的时刻之间的时长可以根据训练样本中的用于训练的文本反映用户的需求的置信度设置。

在本实施例中,当用于训练的文本可以明确反映出用户需要由智能设备执行操作、需要由智能设备查询信息等用户的需求时,则用于训练的文本反映用户的需求的置信度较高,训练样本中的智能设备最近一次执行唤醒操作的时刻与判断是否执行唤醒操作的时刻之间的时长可以较长例如1小时,该训练样本中的目标输出为指示智能设备执行唤醒操作。当用于训练的文本既可以指示用户需要由智能设备执行操作、需要由智能设备查询信息等用户的需求,也是用户在日常的语音对应的文本时,训练样本中的最近一次执行唤醒操作的时刻与判断是否执行唤醒操作的时刻之间的时长可以较短例如10分钟,该训练样本中的目标输出为指示智能设备执行唤醒操作。

在本实施例中,经过利用训练样本进行训练之后,用于判断是否执行唤醒操作的神经网络即唤醒判断模型可以基于获取到的用户的语音对应的文本反映用户的需求的置信度、智能设备最近一次执行唤醒操作的时刻与判断是否执行唤醒操作的时刻之间的时长,判断是否执行唤醒操作。

在本实施例中,当用户的语音对应的文本明确反映出

用户需要由智能设备执行操作、需要由智能设备查询信息等用户的需求时,即使智能设备最近一次执行唤醒操作的时刻与判断是否执行唤醒操作的时刻之间的时长较长例如1小时,由于用户的语音对应的文本明确反映出用户的需要由智能设备执行操作、需要由智能设备查询信息等用户的需求,判断结果可以为执行唤醒操作。当用于训练的文本既可以指示用户的需要由智能设备执行操作、需要由智能设备查询信息等用户的需求,也是用户在日常的语音对应的文本时,当智能设备最近一次执行唤醒操作的时刻与判断获取到的用户的语音的时刻之间的时长较短例如10分钟时,判断结果可以为执行唤醒操作。当智能最近一次执行唤醒操作的时刻与判断获取到的用户的语音的时刻之间的时长较长例如1小时,判断结果可以为不执行唤醒操作。

步骤202,执行与判断结果相关联的操作。

在本实施例中,在利用唤醒判断模型根据获取到的用户的语音对应的文本、智能设备最近一次执行唤醒操作的时刻与判断获取到的用户的语音的时刻之间的时长,判断是否执行唤醒操作之后,当可以得到判断结果时,可以执行与判断结果相关联的操作。当判断结果为执行唤醒操作时,与判断结果相关联的操作可以包括由执行设备执行唤醒操作,将智能设备设置处于被唤醒状态,然后,再执行与获取到的用户的语音相关联的操作。当判断结果为不执行唤醒操作时,与判断结果相关联的操作可以包括更新累积未唤醒时长参数的参数值。累积未唤醒时长参数的参数值为从上一次执行唤醒操作的时刻之后智能设备未执行唤醒操作的累积的时长。在利用唤醒判断模型判断是否执行唤醒操作时,可以将累积未唤醒时长参数的参数值作为参考信息中的智能设备最近一次执行唤醒操作的时刻与判断获取到的用户的语音的时刻之间的时长。

在本实施例的一些可选的实现方式中,当利用唤醒判断模型根据获取到的用户的语音对应的文本、智能设备最近一次执行唤醒操作的时刻与判断获取到的用户的语音的时刻之间的时长,判断是否执行唤醒操作时,可以由唤醒判断模型确定获取到的用户的语音对应的文本中是否包含唤醒词语。当唤醒判断模型确定获取到的用户的语音对应的文本中包括唤醒词语时,可以得到指示执行唤醒操作的判断结果。

例如,智能设备为智能音箱,智能音箱的名称是小a,唤醒词语为智能音响的名称,获取到的用户的语音为“小a,帮我查一下今天的天气”,此时,可以确定获取到的用户的语音对应的文本包含唤醒词语,可以得到指示执行唤醒操作的判断结果。

在本实施例的一些可选的实现方式中,当利用唤醒判断模型基于获取到的用户的语音对应的文本、智能设备最近一次执行唤醒操作的时刻与判断是否执行唤醒操作的时刻之间的时长时,可以由唤醒判断模型判断获取到的用户的语音对应的文本是否包括与智能设备无法执行的操作相关联的关键词。当判断出获取到的用户的语音对应的文本包括与智能设备无法执行的操作相关联的关键词时,可以得到指示不执行唤醒操作的判断结果。可以预先设置与智能设备无法执行的操作相关联的关键词,当用户的语音对应的文本包括指示与智能设备无法执行的操作相关联的关键词,得到指示不执行唤醒操作的判断结果。

例如,获取到的用户的语音为“帮我关一下窗户”,由于智能设备无法执行关闭窗户的操作,与智能设备无法执行的操作相关联的关键词包含关、窗户这两个关键词,因此,可以确定获取到的用户的语音对应的文本包含与智能设备无法执行的操作相关联的关键词,可以得到指示不执行唤醒操作的判断结果。

在本实施例的一些可选的实现方式中,当利用唤醒判断模型基于获取到的用户的语音对应的文本、最近一次执行唤醒操作的时刻与判断获取到的用户的语音的时刻之间的时长,判断是否执行唤醒操作之后未得到判断结果时,可以播放用于引导交互语句。当获取到用户的指示需要智能设备执行与用户的语音相关联的操作的反馈语音时,可以响应于获取到的用户的反馈语音指示需要智能设备执行与用户的语音相关联的操作,生成获取到的用户的语音的标注信息。然后,可以生成唤醒判断模型的训练样本,该唤醒判断模型的训练样本包括:获取到的用户的语音、获取到的用户的语音的标注信息,获取到的用户的语音的标注信息指示执行唤醒操作。可以利用生成的唤醒判断模型的训练样本继续对唤醒判断模型进行训练。在进行训练时,生成的训练样本中的获取到的用户的语音作为唤醒判断模型的输入,生成的训练样本中的获取到的用户的语音的标注信息作为目标输出。

例如,获取到的用户的语音为“帮我查一下......”,该语音用于查询某一个方面的信息,在预先对用于判断是否执行唤醒操作的神经网络进行训练时,未利用由指示用户需要获取该方面的信息的语音和指示执行唤醒操作的指示信息组成的训练样本对用于判断是否执行唤醒操作的神经网络进行训练。相应的,唤醒判断模型无法基于获取到的该用户的语音,判断出确定是否执行唤醒操作,无法得到判断结果。此时,智能设备可以播放引导语音“请问是在跟我说话吗”。用户的反馈语音为“是的”,该用户的反馈语音“是的”指示需要智能设备执行与获取到的用户的语音相关联的操作。智能设备可以播放反馈语音“好的”。此时,可以生成一个训练样本。该训练样本包含获取到的用户的语音“帮我查一下......”、获取到的用户的语音“帮我查一下......”的标注信息,获取到的用户的语音“帮我查一下......”的标注信息指示执行唤醒操作。

在本实施例的一些可选的实现方式中,当利用唤醒判断模型基于获取到的用户的语音对应的文本、最近一次执行唤醒操作的时刻与判断获取到的用户的语音的时刻之间的时长,判断是否执行唤醒操作之后未得到判断结果时,可以播放用于引导交互语句。当获取到用户的指示不需要智能设备执行与用户的语音相关联的操作的反馈语音时,可以响应于获取到的用户的反馈语音指示不需要智能设备执行与用户的语音相关联的操作,可以生成获取到的用户的语音的标注信息。然后,可以生成唤醒判断模型的训练样本,该唤醒判断模型的训练样本包括:获取到的用户的语音、获取到的用户的语音的标注信息,获取到的用户的语音的标注信息指示不执行唤醒操作。可以利用生成的唤醒判断模型的训练样本继续对唤醒判断模型进行训练。在进行训练时,生成的训练样本中的获取到的用户的语音作为唤醒判断模型的输入,生成的训练样本中的获取到的用户的语音的标注信息作为目标输出。

例如,获取到的用户的语音为“饭做好了吗”,在预先对用于判断是否执行唤醒操作的神经网络进行训练时,未利用由指示用户需要获取该方面的信息的语音和指示不执行唤醒操作的指示信息组成的训练样本对用于判断是否执行唤醒操作的神经网络进行训练。当获取到用户的语音“饭做好了吗”,无法得到判断结果。此时,智能设备可以播放引导语音“请问是在跟我说话吗”。然后,可以获取到用户的反馈语音“不是的”,该用户的反馈语音“不是的”指示不需要智能设备执行与获取到的用户的语音相关联的操作。该智能设备可以播放反馈语音“好的”。此时,可以生成一个训练样本,该训练样本包含获取到的用户的语音“饭做好了吗”、获取到的用户的语音“饭做好了吗”的标注信息,该获取到的用户的语音“饭做好了吗”的标注信息指示不执行唤醒操作。

请参考图3,作为对上述各图所示方法的实现,本申请提供了一种交互装置的一个实施例,该装置实施例与图2所示的方法实施例相对应。交互装置中的各个单元被配置为完成的操作的具体实现方式可以参考方法实施例中描述的相应的操作的具体实现方式。

如图3所示,本实施例的交互装置包括:判断单元301、执行单元302。其中,判断单元301被配置为响应于获取到用户的语音,利用唤醒判断模型基于参考信息,判断是否执行唤醒操作,参考信息包括:所述用户的语音对应的文本、智能设备最近一次执行唤醒操作的时刻与判断是否执行唤醒操作的时刻之间的时长;执行单元302被配置为响应于得到判断结果,执行与所述判断结果相关联的操作。

在本实施例的一些可选的实现方式中,交互装置还包括:第一收集单元,被配置为响应于未得到判断结果,播放引导交互语句,引导交互语句用于引导用户确定是否需要智能设备执行与获取到的用户的语音相关联的操作;响应于获取到的用户的反馈语音指示需要智能设备执行与获取到的用户的语音相关联的操作,生成所述获取到的用户的语音的标注信息,所述获取到的用户的语音的标注信息指示智能设备执行唤醒操作;生成唤醒判断模型的训练样本,所述训练样本包括:所述获取到的用户的语音、所述获取到的用户的语音的标注信息。

在本实施例的一些可选的实现方式中,交互装置还包括:第二收集单元,被配置为响应于未得到判断结果,播放引导交互语句,引导交互语句用于引导用户确定是否需要智能设备执行与用户的语音相关联的操作;响应于获取到的用户的反馈语音指示不需要执行与用户的语音相关联的操作,生成所述获取到的用户的语音的标注信息,所述获取到的用户的语音的标注信息指示智能设备不执行唤醒操作;生成唤醒判断模型的训练样本,所述训练样本包括:所述获取到的用户的语音、所述获取到的用户的语音的标注信息。

在本实施例的一些可选的实现方式中,判断单元包括:第一唤醒判断子单元,被配置为利用唤醒判断模型确定获取到的用户的语音对应的文本中是否包括唤醒词语;响应于确定获取到的用户的语音对应的文本中包括唤醒词语,得到指示执行唤醒操作的判断结果。

在本实施例的一些可选的实现方式中,判断单元包括:第二唤醒判断子单元,被配置为利用唤醒判断模型确定用户的语音对应的文本是否包括指示与智能设备无法执行的操作相关联的关键词;响应于确定用户的语音对应的文本包括指示与智能设备无法执行的操作相关联的关键词,得到指示不执行唤醒操作的判断结果

图4示出了适于用来实现本申请实施例的电子设备的计算机系统的结构示意图。

如图4所示,计算机系统包括中央处理单元(cpu)401,其可以根据存储在只读存储器(rom)402中的程序或者从存储部分408加载到随机访问存储器(ram)403中的程序而执行各种适当的动作和处理。在ram403中,还存储有计算机系统操作所需的各种程序和数据。cpu401、rom402以及ram403通过总线404彼此相连。输入/输出(i/o)接口405也连接至总线404。

以下部件连接至i/o接口405:输入部分406;输出部分407;包括硬盘等的存储部分408;以及包括诸如lan卡、调制解调器等的网络接口卡的通信部分409。通信部分409经由诸如因特网的网络执行通信处理。驱动器410也根据需要连接至i/o接口405。可拆卸介质411,诸如磁盘、光盘、磁光盘、半导体存储器等等,根据需要安装在驱动器410上,以便于从其上读出的计算机程序根据需要被安装入存储部分408。

特别地,本申请的实施例中描述的过程可以被实现为计算机程序。例如,本申请的实施例包括一种计算机程序产品,其包括承载在计算机可读介质上的计算机程序,该计算机程序包括用于执行流程图所示的方法的指令。该计算机程序可以通过通信部分409从网络上被下载和安装,和/或从可拆卸介质411被安装。在该计算机程序被中央处理单元(cpu)401执行时,执行本申请的方法中限定的上述功能。

本申请还提供了一种电子设备,该电子设备可以配置有一个或多个处理器;存储器,用于存储一个或多个程序,一个或多个程序中可以包含用以执行上述实施例中描述的操作的指令。当一个或多个程序被一个或多个处理器执行时,使得一个或多个处理器执行上述实施例中描述的操作的指令。

本申请还提供了一种计算机可读介质,该计算机可读介质可以是电子设备中所包括的;也可以是单独存在,未装配入电子设备中。上述计算机可读介质承载有一个或者多个程序,当一个或者多个程序被电子设备执行时,使得电子设备执行上述实施例中描述的操作的指令。

需要说明的是,本申请所述的计算机可读介质可以是计算机可读信号介质或者计算机可读存储介质或者是上述两者的任意组合。计算机可读存储介质例如可以包括但不限于电、磁、光、电磁、红外线、或半导体的系统、装置或器件,或者任意以上的组合。计算机可读存储介质的更具体的例子可以包括但不限于:具有一个或多个导线的电连接、便携式计算机磁盘、硬盘、随机访问存储器(ram)、只读存储器(rom)、可擦式可编程只读存储器(eprom或闪存)、光纤、便携式紧凑磁盘只读存储器(cd-rom)、光存储器件、磁存储器件、或者上述的任意合适的组合。在本申请中,计算机可读存储介质可以是任何包含或存储程序的有形介质,该程序可以被消息执行系统、装置或者器件使用或者与其结合使用。而在本申请中,计算机可读的信号介质可以包括在基带中或者作为载波一部分传播的数据信号,其中承载了计算机可读的程序代码。这种传播的数据信号可以采用多种形式,包括但不限于电磁信号、光信号或上述的任意合适的组合。计算机可读的信号介质还可以是计算机可读存储介质以外的任何计算机可读介质,该计算机可读介质可以发送、传播或者传输用于由消息执行系统、装置或者器件使用或者与其结合使用的程序。计算机可读介质上包含的程序代码可以用任何适当的介质传输,包括但不限于:无线、电线、光缆、rf等等,或者上述的任意合适的组合。

附图中的流程图和框图,图示了按照本申请各种实施例的系统、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段、或代码的一部分,该模块、程序段、或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行消息。也应当注意,在有些作为替换的实现中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个接连地表示的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图和/或流程图中的每个方框、以及框图和/或流程图中的方框的组合,可以用执行规定的功能或操作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机消息的组合来实现。

以上描述仅为本申请的较佳实施例以及对所运用技术原理的说明。本领域技术人员应当理解,本申请中所涉及的发明范围,并不限于上述技术特征的特定组合而成的技术方案,同时也应涵盖在不脱离所述发明构思的情况下,由上述技术特征或其等同特征进行任意组合而形成的其它技术方案。例如上述特征与本申请中公开的(但不限于)具有类似功能的技术特征进行互相替换而形成的技术方案。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1