HI,欢迎来到起点商标网!
24小时服务QQ:2880605093

交互方法、系统、设备和存储介质与流程

2021-01-28 13:01:19|273|起点商标网
交互方法、系统、设备和存储介质与流程

本发明涉及互联网技术领域,尤其涉及一种交互方法、系统、设备和存储介质。



背景技术:

传统的图形用户界面(graphicaluserinterface,简称gui)控件,又俗称视图控件或视图组件,只支持触控、鼠标、键盘的交互方式,也就是说,用户可以使用手指、鼠标或移动键盘光标来实现与gui控件的人机交互。

随着语音交互时代的到来,为便利用户,也需要能够通过语音方式与gui控件进行交互。



技术实现要素:

本发明实施例提供一种交互方法、系统、设备和存储介质,用以实现用户以语音方式与gui控件进行交互。

第一方面,本发明实施例提供一种交互方法,由对应于某应用程序的应用程序框架来执行,该方法包括:

获取指令,所述指令根据接收的语音信息确定;

在显示的视图控件中确定支持所述指令的目标视图控件;

向所述目标视图控件或所述目标视图控件对应的控制对象发送通知,以通过所述目标视图控件响应所述指令。

第二方面,本发明实施例提供一种交互装置,位于某应用程序的应用程序框架中,该装置包括:

指令获取模块,用于获取指令,所述指令根据接收的语音信息确定;

控件确定模块,用于在显示的视图控件中确定支持所述指令的目标视图控件;

通知发送模块,用于向所述目标视图控件或所述目标视图控件对应的控制对象发送通知,以通过所述目标视图控件响应所述指令。

第三方面,本发明实施例提供一种电子设备,包括第一处理器、第一存储器,所述第一存储器上存储有可执行代码,当所述可执行代码被所述第一处理器执行时,使所述第一处理器至少实现上述第一方面所述的交互方法。

第四方面,本发明实施例提供了一种非暂时性机器可读存储介质,所述非暂时性机器可读存储介质上存储有可执行代码,当所述可执行代码被电子设备的处理器执行时至少实现上述第一方面中的交互方法。

第五方面,本发明实施例提供一种交互方法,由引擎执行,该方法包括:

确定与语音信息对应的指令;

将所述指令发送至应用程序框架,以使所述应用程序框架在显示的视图控件中确定支持所述指令的目标视图控件,并通知所述目标视图控件或所述目标视图控件对应的控制对象,以通过所述目标视图控件响应所述指令。

第六方面,本发明实施例提供一种交互装置,位于引擎中,该装置包括:

指令确定模块,用于确定与语音信息对应的指令;

指令发送模块,用于将所述指令发送至应用程序框架,以使所述应用程序框架在显示的视图控件中确定支持所述指令的目标视图控件,并通知所述目标视图控件或所述目标视图控件对应的控制对象,以通过所述目标视图控件响应所述指令。

第七方面,本发明实施例提供一种电子设备,包括第二处理器、第二存储器,所述第二存储器上存储有可执行代码,当所述可执行代码被所述第二处理器执行时,使所述第二处理器至少实现上述第五方面所述的交互方法。

第八方面,本发明实施例提供了一种非暂时性机器可读存储介质,所述非暂时性机器可读存储介质上存储有可执行代码,当所述可执行代码被电子设备的处理器执行时至少实现上述第五方面中的交互方法。

第九方面,本发明实施例提供了一种交互系统,包括:

引擎和应用程序框架;

所述引擎,用于确定与语音信息对应的指令,将所述指令发送至所述应用程序框架;

所述应用程序框架,用于在所述应用程序显示的视图控件中确定支持所述指令的目标视图控件;以及,向所述目标视图控件或所述目标视图控件对应的控制对象发送通知,以通过所述目标视图控件响应所述指令。

第十方面,本发明实施例提供一种交互方法,由对应于某应用程序的应用程序框架来执行,该方法包括:

获取指令,所述指令根据接收的语音信息确定;

在显示的视图控件中确定支持所述指令的目标视图控件;

向所述目标视图控件或所述目标视图控件对应的控制对象发送通知。

在本发明实施例中,提供了一种通过语音方式与gui控件进行交互的方案。其中,在应用程序开发所基于的应用程序框架中为应用开发者提供了支持语音交互功能的gui控件,也就是说,在gui控件内部内置了支持了某一种或多种指令,该指令即为对应于语音交互方式的指令。基于此,当用户基于某应用程序当前某界面的显示内容说出了想要与某个gui控件进行交互的语音信息时,通过语音识别和语义理解处理,应用程序框架可以获取与该语音信息对应的指令。应用程序框架在应用程序当前显示的各gui控件中,确定支持该指令的目标gui控件,进而通知该目标gui控件其某个指令被命中,使得该目标gui控件响应该指令。

在上述方案中,由于根据gui控件可以提供的功能,在gui控件中内置对应于语音交互方式的指令,使得应用开发者在开发应用程序时无需自行编写各种语音事件及其回调函数,只需根据业务需求创建所需的gui控件即可,简化了应用开发过程。而且,在用户交互过程中,在确定出与用户的语音信息对应的指令后,仅需要在应用程序框架内执行指令的分发处理即可,比如将指令分发到对应的目标gui控件,由目标gui控件根据内置的回调函数进行处理,整个交互过程更为简单。

附图说明

为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作一简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。

图1为本发明实施例提供的一种交互方法的流程图;

图2为本发明实施例提供的一种交互过程的示意图;

图3为本发明实施例提供的另一种交互方法的流程图;

图4为本发明实施例提供的一种交互系统的组成示意图;

图5为本发明实施例提供的另一种交互系统的组成示意图;

图6为本发明实施例提供的一种交互装置的结构示意图;

图7为与图6所示实施例提供的交互装置对应的电子设备的结构示意图;

图8为本发明实施例提供的另一种交互装置的结构示意图;

图9为与图8所示实施例提供的交互装置对应的电子设备的结构示意图。

具体实施方式

为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。

在本发明实施例中使用的术语是仅仅出于描述特定实施例的目的,而非旨在限制本发明。在本发明实施例和所附权利要求书中所使用的单数形式的“一种”、“所述”和“该”也旨在包括多数形式。除非上下文清楚地表示其他含义,“多种”一般包含至少两种。

取决于语境,如在此所使用的词语“如果”、“若”可以被解释成为“在……时”或“当……时”或“响应于确定”或“响应于检测”。类似地,取决于语境,短语“如果确定”或“如果检测(陈述的条件或事件)”可以被解释成为“当确定时”或“响应于确定”或“当检测(陈述的条件或事件)时”或“响应于检测(陈述的条件或事件)”。

还需要说明的是,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的商品或者系统不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种商品或者系统所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的商品或者系统中还存在另外的相同要素。

另外,下述各方法实施例中的步骤时序仅为一种举例,而非严格限定。

先对本文提供的交互方法的核心思想或者说该交互方法的实现基础进行介绍:为使得gui控件能够被用户通过语音的方式进行交互,在gui控件内部添加了对应于语音交互方式的指令以及与指令对应的回调函数。由于本文中对gui控件的交互操作主要是指语音交互,因此,下文中的指令均是指对应于语音交互方式的指令,也可以称为语音指令,不会再做特殊说明。

这里,需要先做两点说明:其一,本文中的视图控件是指可以显示出来的控件,控件是指对数据和方法的封装,控件可以有自己的属性和方法,其中,方法是指控件支持的功能和使用方法。简单来说,本文中的视图控件是指用户可见的支持一些交互功能的控件。其二,本文中所述的将指令及其回调函数内置于视图控件内,是指视图控件对应有数据结构体,在该数据结构体内描写了视图组件所支持的指令及对应的回调函数等信息。实际应用中可能会用到各自类型的gui控件,比如textview类型的控件、listview类型的控件、switch类型的控件等等,可以根据每种gui控件所提供的操作行为,亦即根据每种gui控件所提供的操作功能,定义好每种gui控件可以支持的指令。

比如,对于textview类型的控件,可以实现“读一下”功能,即读出textview控件上承载的文字,因此,可以定义一条对应于“读一下”功能的指令,假设命名为read(text_data),其中,read为指令名称,text_data为该指令的数据变量。另外,与该指令对应的回调函数所反映的处理逻辑比如是:当该指令被触发时,将该textview控件置于选中状态,向并应用程序触发该textview控件被选中的事件通知。具体举例来说,假设在某应用程序的开发过程中,开发者在某界面中创建了两个textview控件,其上分别承载的文字为确定、取消,从而,“确定”控件中内置的指令可以表示为:read(确定),“取消”控件中内置的指令可以表示为:read(取消)。

再比如,可以实现滚动功能的gui控件,比如scrollview控件、listview控件,实际应用中,具体可以实现诸如滚动半屏、上一页、下一页、翻至第x页等功能。因此,针对提供滚动功能的gui控件,可以结合实际应用中可能用到的这些具体的滚动功能定义相应的指令,比如如下指令:“上一页”、“下一页”、“翻页至(第x页)”其中,x是一个数据变量,在实际人机交互过程中,根据用户的语音信息提取该变量的赋值。相应地,这些指令对应的回调函数所对应的处理逻辑比如可以是gui控件执行相应的滚动操作,并将滚动操作的执行结果告知应用程序。

由于每种gui控件所提供的功能是一定的,可以预先针对每种gui控件进行相关的指令及其回调函数的内置,应用开发者不需要在每次使用某个gui控件时再重复进行指令及其回调函数的定义,因此,内置了指令的gui控件具有更好的通用性,还可以简化应用开发者对应用程序的开发过程。

具体来说,应用开发者在应用程序的开发过程中,如果需要在某个界面中创建某个gui控件,仅需将该gui控件添加到所需的位置,进行gui控件界面显示属性的相关配置即可,而不需要对该gui控件实现语音交互所需的相关信息进行设置。因为响应于对某gui控件的创建操作,应用程序框架会加载已经内置有指令以及指令的回调函数的该gui控件。

值得说明的是,当被创建该gui控件所支持的指令是不具有数据变量的指令时,应用程序框架加载该gui控件后,应用开发者对该gui控件的显示属性的设置一般不会影响该gui控件内置的指令。但是,当该被创建的gui控件所支持的指令中包含数据变量时,比如该gui控件为textview控件,应用程序框架可以基于应用开发者对该textview控件上承载的文字的设置结果,提取该文字为该指令中的数据变量赋值,从而最终形成与该承载了特定文字的textview控件对应的指令。

在一种具体实现方式中,gui控件内置的一种指令可以被描述在一个数据结构体中,在该数据结构体中可以包括该gui控件所支持的一种指令及其回调函数。当然,该数据结构体中还可以包括该gui控件被应用于的应用程序的标识,以及后续实施例中所提及的语种信息等其他信息。可以理解的是,当某个gui控件支持多个指令时,该gui控件可以绑定有多个数据结构体,每个数据结构体中包含一种指令。

基于上述对gui控件内置指令的介绍,下面结合如下的一些实施例对本文提供的交互方法的执行过程进行介绍。

图1为本发明实施例提供的一种交互方法的流程图,如图1所示,该方法包括如下步骤:

101、获取指令,该指令根据接收到的语音信息确定。

102、在显示的视图控件中确定支持指令的目标视图控件。

103、向目标视图控件或目标视图控件对应的控制对象发送通知,以通过目标视图控件响应指令。

其中,这里的控制对象可以是目标视图控件所对应的应用程序,当然,不以此为限,比如,还可以是该目标视图组件所对应的某个页面、服务等等。

本实施例提供的交互方法可以由某应用程序对应的应用程序框架来执行。其中,对应于某应用程序的应用程序框架是指:该应用程序是基于通用的应用程序框架所提供的功能和接口进行开发的,从而可以将该应用程序开发时所使用的通用应用程序框架所提供的那些功能视为该应用程序的应用程序框架。

为实现用户对gui控件的语音交互,应用程序框架需要与引擎配合来为用户提供交互服务。实际应用中,该引擎可以位于应用程序框架内,即为位于应用程序框架内的提供语音交互功能的功能模块,也可以独立于应用程序框架但是与应用程序框架之间可以实现通信的提供语音交互功能的功能模块。该引擎可以位于用户侧也可以位于云端。比如,当用户的终端设备中安装有一个或多个应用程序时,在该终端设备中的引擎可以供该一个或多个应用程序使用。也就是说,本文中引擎与应用程序的对应关系可以是一一对应,也可以是一对多对应。

由于本文主要说的是语音交互方式,因此,该引擎是语音引擎,可以实现对用户触发的语音信息进行语音识别、语义理解的功能。

从而,假设用户当前真正使用某个应用程序,该应用程序当前正显示某个界面,该界面中显示有多个gui控件,用户想要对其中的某个gui控件进行交互操作时,可以说出用于与该gui控件进行交互的语音信息。

比如,如图2所示,假设当前界面中显示有多个textview控件,每个textview控件上承载的文字不完全相同。为描述方便,将这些textview控件称为按钮,从而假设当前界面中包括“上一步”按钮、“下一步”按钮、“取消”按钮。当用户想要点击“取消”按钮时,可以说出诸如“点取消键”这种语音信息。

假设引擎独立于应用程序框架,则引擎接收到语音采集设备发送的该语音信息后,确定与该语音信息对应的指令,进而将确定出的指令发送至应用程序框架。在图2中,假设引擎确定出的指令为“取消”,则将该指令发送至应用程序框架。

另外,假设引擎位于应用程序框架内,则应用程序框架接收到语音采集设备发送的该语音信息后,可以调用引擎来确定与该语音信息对应的指令。

当然,在一些可选实施例中,语音采集设备采集到用户发出的上述语音信息后,还可以通过某些功能模块对该语音信息进行文本转换处理,转换为文本信息,将文本信息提供给引擎,从而,引擎根据该文本信息确定对应的指令。

其中,基于应用程序框架已经在引擎中注册多个指令这个前提,引擎才能确定出接收到的语音信息是否对应于其中的某个指令。应用程序框架向引擎进行指令的注册的过程将在后续实施例中说明。

在一种可选方式中,在引擎中已经存储了多个指令的情况下,引擎可以先将接收到的语音信息转换为文本信息,进而可以识别文本信息中的关键词,将识别的关键词与多个指令进行相似性匹配,从而确定是否命中了其中的某个指令。其中,关键词识别可以通过预先机器学习训练得到的模型实现,也可以基于设定的规则进行识别,该设定的规则比如可以是:对文本信息进行分词处理以及词性标注处理,从中提取出特定词性的词语作为关键词。

在另一可选方式中,应用程序框架在将某指令注册到引擎中时,还可以将该指令对应的语料样本也提供给引擎,从而引擎中可以存储有指令与语料样本的对应关系。其中,语料样本可以俗称为话术,可以辅助引擎进行语音信息到指令的转换。针对某个gui控件来说,其对应的语料样本可以通过对用户的各种习惯语言表述进行总结、归纳得到。此时,引擎在接收到语音信息后,可以将该语音信息与各语料样本进行匹配度计算,得到与该语音信息匹配的语料样本,进而确定与该语料样本对应的指令为与该语音信息对应的指令。

应用程序框架接收到引擎发送的指令后,遍历当前处于显示状态的各gui控件,以从中确定支持该指令的gui控件,称为目标gui控件。进而,向目标gui控件发送通知,以通知该目标gui控件其某个指令被触发,使得目标gui控件执行内置的与该指令对应的响应逻辑。以图2来说,基于当前显示的三个按钮各自支持的指令,确定其中的“取消”按钮被命中,此时,“取消”按钮执行与“取消”这个指令对应的响应逻辑,比如为将自身置于选中状态,即被点击状态,进而将自己被置于选中状态的执行结果通知给应用程序,应用程序进而比如可以进行界面的跳转,并将“上一步”按钮、“下一步”按钮置于隐藏状态。

其中,应用程序框架之所以在显示状态的gui控件中寻找与用户触发的指令对应的目标gui控件,是因为用户往往是基于看到了某个gui控件之后才会输出用于与该gui控件进行交互的语音信息的。

综上,在上述方案中,由于根据gui控件可以提供的功能,在gui控件中内置对应于语音交互方式的指令,使得应用开发者在开发应用程序时无需自行编写各种语音事件及其回调函数,只需根据业务需求创建所需的gui控件即可,简化了应用开发过程。而且,在用户交互过程中,在确定出与用户的语音信息对应的指令后,仅需要在应用程序框架内执行指令的分发处理即可,将指令分发到对应的目标gui控件,由目标gui控件根据内置的回调函数进行处理,整个交互过程更为简单。

另外,在一可选实施例中,还提供了如下的交互方法:

获取指令,该指令根据接收的语音信息确定;

在显示的视图控件中确定支持该指令的目标视图控件;

向目标视图控件或目标视图控件对应的控制对象发送通知。

在该实施例中,在向目标视图控件发送通知的情况下,可以由该目标视图控件直接响应该指令,即目标视图控件调用与该指令对应的回调函数来响应该指令。而在向目标视图控件对应的控制对象发送通知的情况下,可以由该控制对象来响应该指令。实际应用中,该控制对象比如可以是目标视图控件对应的应用程序、页面等,以控制对象为该应用程序为例,应用程序可以转发该通知到目标视图控件,以使目标视图控件响应该指令,或者,应用程序可以调用目标视图控件的与该指令对应的回调函数,以响应该指令。

下面对指令向引擎中的注册过程进行说明。

在一可选实施例中,该注册过程可以实现为:将应用程序中全部gui控件所支持的指令集合注册到引擎中。其中,假设本文中的视图组件是某应用程序内的视图组件,则该引擎与该应用程序相对应,即该引擎为用户对该应用程序的语音交互提供服务。

应用程序开发完成之后,整个应用程序中往往会用到多个gui控件,不同的gui控件中所内置的指令可能会有部分重叠,即不同的gui控件可能会支持同一条指令,此时,没有必要将重复的指令在引擎中注册多份,因为引擎的作用仅是判断用户触发的语音信息是否对应于某个指令。因此,应用程序框架可以遍历应用程序中包含的全部gui控件各自支持的指令,以获得这些gui控件整体所对应的指令集合,从而一次性将该指令集合注册到引擎中。其中,引入集合的概念是想说明集合中包含的元素具有排他性即唯一性,集合中不会存在相同的两个元素。

在另一可选实施例中,该注册过程可以实现为:响应于gui控件的显示,将gui控件所支持的指令集合注册到引擎中。在该实施例中,首先,某gui控件所支持的指令向引擎中注册的时机是该gui控件被显示后,其次,由于同时处于显示状态的gui控件可能不止一个,因此,当多个gui控件都被显示出来时,可以根据这多个gui控件各自所支持的指令,形成这多个gui控件所对应的指令集合,将这个指令集合注册到引擎中。

另外,在该实施例的情形下,可能引擎中之前已经注册有一些指令,而已经注册的指令无需重复注册,因此,对于上述多个gui控件对应的指令集合,若该指令集合中包含不存在于引擎中的至少部分指令,则将该至少部分指令注册到引擎中即可。

基于上述指令的注册过程,可选地,指令的注销过程可以实现为:若处于显示状态的视图控件中的至少一个视图控件由显示状态转换为隐藏状态,且该至少一个视图控件所支持的目标指令不被剩余的视图控件支持,则可以将目标指令从引擎中注销。举例来说,假设控件a和控件b均支持同一指令z,控件a由显示状态转换为隐藏状态,而控件b仍保持显示状态,那么此时,在引擎中已经注册的该指令z不应该被注销。当控件a和控件b都为隐藏状态,而且没有其他处于显示状态的控件支持该指令z时,才可以将该指令z从引擎中注销。

由上述两个可选实施例可知,在应用程序中各gui控件不发生改变的情况下,指令向引擎中进行注册的时机有两种,一种是在应用程序初始运行时,一种是gui控件被显示时。下面介绍的几种注册过程中涉及到的细节方案(比如语料样本的注册、基于语种的注册)同样是基于这两种注册时机的,下文不赘述。

在另一可选实施例中,除了可以将上述指令集合向引擎中进行注册外,还可以将指令集合中各指令对应的语料样本也注册到引擎中,以便于如前文所述,供引擎确定与用户说出的语音信息对应的指令。

在另一可选实施例中,不管是上述全部gui控件所对应的指令集合,还是同处于显示状态的多个gui控件所对应的指令集合,指令集合向引擎的注册过程,还可以具体实现为:根据指令集合中各指令所支持的语种,将各指令及其对应的语料样本注册到对应语种的引擎中。

该实施例对应于用户可以使用不同语种来实现与gui控件的语音交互的场景。当某个gui控件的某个指令支持a和b两个语种,意味着用户即可以使用语种a说出语音信息也可以使用语种b说出语音信息,这两种语音信息均可以命中该指令。比如,某gui控件具有“下一页”这个指令,且该指令支持中文和英文两个语种,那么,用户用中文说出“翻至下一页”或者用英文说出“nextpageplease”,引擎可将这两个语音信息都确定为对应“下一页”这个指令。

其中,gui控件的某个指令支持哪些语种是可以由应用开发者配置的,当然,如果应用开发者未进行自定义的配置,在默认配置下,应用程序中每个gui控件所支持的指令均认为支持某一种语种。

另外,与指令可以对应于多种语种相对应地,也可以配置多种引擎,引擎与语种具有一一对应关系。但是,值得说明的是,该一一对应关系强调的是某种引擎更主要地是适用于某个语种环境下,不表示对应于某语种的引擎只能对该语种的语音内容进行识别处理。比如,某引擎主要用于对中文语音的识别处理,但是,如果一句中文中夹杂着几个英文单词,那么该引擎同样适用。

此外,针对某个指令来说,当该指令支持多个语种时,假设支持语种a和语种b,可以预先为该指令设置分别对应于这两种语种的语料样本,从而,可以将该指令以及其在语种a下对应的语料样本注册到语种a对应的引擎a中,将该指令以及其在语种b下对应的语料样本注册到语种b对应的引擎b中。

此外,假设某指令支持n种语种,n大于或等于1,可选地,可以同时将该指令及其在每个语种下所分别对应的语料样本一一对应地向该n种语种所对应的n个引擎中进行注册。但是,可选地,也可以仅在该n种语种中包含当前生效的语种时,将该指令及其在当前生效的语种下所对应的语料样本注册到当前生效的语种所对应的引擎中。也就是说,针对前述实施例中的指令集合来说,只将其中支持当前生效的语种的指令及其语料样本注册到当前生效的语种所对应的引擎中。

其中,当前生效的语种由用户的语种设置信息或用户当前的位置信息确定。举例来说,假设用户将安装有应用程序的终端设备或应用程序的语种设置信息由中文设置为英文,或者用户由中文国家即中国来到了英文国家(是指说英文的国家),当前生效的语种则为英文,那么针对某gui控件来说,如果该gui控件所支持的某条指令支持英文,那么可以将该指令及其在英文下对应的语料样本注册到英文对应的引擎中。

值得说明的是,在支持多语种的情况下,在引擎侧可以设置一个引擎调度器,应用程序框架可以告知该引擎调度器当前生效的语种是什么,从而,引擎调度器可以开启相应的引擎。

结合上述各可选实施例,应用程序框架实现了指令向引擎中的注册。下面结合图3所示实施例介绍引擎的工作过程。

图3为本发明实施例提供的另一种交互方法的流程图,该交互方法可以由引擎来执行。如图3所示,该方法可以包括如下步骤:

301、确定与语音信息对应的指令。

可选地,语音采集设备在采集到用户触发的语音信息后,可以直接将该语音信息提供至引擎,以使引擎确定与语音信息对应的指令。可选地,语音采集设备在采集到用户触发的语音信息后,还可以通过其他功能模块先将该语音信息转换为文本信息,之后将文本信息提供至引擎,以使引擎确定与文本信息亦即与语音信息对应的指令。

其中,可选地,在已经注册给引擎各指令以及每个指令对应的语料样本的情况下,引擎可以从已注册的语料样本中确定与该语音信息匹配的目标语料样本,进而,根据语料样本与指令的对应关系确定与目标语料样本对应的指令。

302、将指令发送至应用程序框架,以使应用程序框架在显示的视图控件中确定支持该指令的目标视图控件,并通知目标视图控件或目标视图控件对应的控制对象,以通过该目标视图控件响应指令。

本实施例未详尽描述的部分可以参考图1所示实施例中的相关描述,在此不赘述。

图4为本发明实施例提供的一种交互系统的组成示意图,如图4所示,该交互系统包括:引擎和应用程序框架。

结合以上各实施例可知,其中,引擎用于确定与语音信息对应的指令,将确定出的指令发送至应用程序框架。应用程序框架,用于在应用程序显示的视图控件中确定支持该指令的目标视图控件;以及,向目标视图控件或目标视图控件对应的控制对象发送通知,以通过目标视图控件响应该指令。

本实施例中,引擎和应用程序框架的详细执行过程可以参考前述实施例中的相关说明,在此不赘述。

图5为本发明实施例提供的另一种交互系统的组成示意图,如图5所示,该交互系统包括:

应用程序框架、对应于不同语种的引擎以及引擎协调器。

由前述相关实施例中的介绍可知,应用程序内的gui控件所内置的指令,可以关联有一种或多种语种信息,意味着这条指令可以在一种或多种语种的语言环境中使用。可以设置不同语种对应的引擎以用于对不同语种的输入语音信息进行语音、语义识别处理。比如图5中示意的中文引擎、英文引擎、日文引擎,等等。

另外,当用户主动执行的语种切换操作或者由于用户位置的变更而导致的语种切换时,为了适应于语种的切换结果,可以设置引擎协调器,由引擎协调器对各引擎的使用进行控制。具体地,应用程序框架发现发生了语种切换事件后,可以告知引擎协调器当前切换至哪种语种,从而,引擎协调器可以开启相应语种的引擎。

另外,不管是对应于哪种语种的引擎,其作用主要是对输入的语音信息进行处理,其内部可以包括语音识别(automaticspeechrecognition,简称asr)模块,自然语言理解(naturallanguageunderstanding,简称nlu)模块。

其中,asr实现将语音信息到文本信息的转换。nlu实现对文本信息进行语义理解,以确定与语音信息对应的指令,并向应用程序框架发送确定出的指令。

以下将详细描述本发明的一个或多个实施例的交互装置。本领域技术人员可以理解,这些交互装置均可使用市售的硬件组件通过本方案所教导的步骤进行配置来构成。

图6为本发明实施例提供的一种交互装置的结构示意图,如图6所示,该装置包括:指令获取模块11、控件确定模块12、通知发送模块13。

指令获取模块11,用于获取指令,所述指令根据接收的语音信息确定。

控件确定模块12,用于在显示的视图控件中确定支持所述指令的目标视图控件。

通知发送模块13,用于向所述目标视图控件或所述目标视图控件对应的控制对象发送通知,以通过所述目标视图控件响应所述指令。

可选地,所述控制对象包括所述目标视图控件对应的应用程序。

可选地,所述指令和响应所述指令的回调函数内置于所述目标视图控件。

可选地,所述装置还包括:注册模块,用于响应于视图控件的显示,将所述视图控件所支持的指令集合注册到引擎中,所述引擎与所述目标视图控件对应的应用程序相对应。基于此,所述指令获取模块11具体用于:接收所述引擎发送的指令,所述指令由所述引擎根据接收的语音信息确定。

可选地,所述注册模块具体可以用于:若所述指令集合中包含不存在于所述引擎中的至少部分指令,则将所述至少部分指令注册到所述引擎中。

可选地,所述注册模块具体可以用于:将所述目标视图控件对应的应用程序中全部视图控件所支持的指令集合注册到引擎中。

可选地,所述注册模块具体可以用于:将所述指令集合以及所述指令集合中各指令分别对应的语料样本注册到引擎中,以使所述引擎在确定接收的语音信息与目标语料样本匹配时确定所述目标语料样本对应的指令被命中。

可选地,所述注册模块具体可以用于:根据所述指令集合中各指令所支持的语种,将所述各指令及其对应的语料样本注册到对应语种的引擎中。

可选地,所述注册模块具体可以用于:将支持当前生效的语种的指令及其语料样本,注册到所述当前生效的语种所对应的引擎中。

其中,所述当前生效的语种由用户的语种设置信息或用户当前的位置信息确定。

可选地,所述装置还包括:注销模块,用于若所述显示的视图控件中的至少一个视图控件由显示状态转换为隐藏状态,且所述至少一个视图控件所支持的目标指令不被剩余的视图控件支持,则将所述目标指令从所述引擎中注销。

图6所示装置可以执行前述各实施例中应用程序框架所执行的方法,本实施例未详细描述的部分,可参考前述实施例的相关说明,在此不再赘述。

在一个可能的设计中,上述图6所示的交互装置的结构可实现为一电子设备,如图7所示,该电子设备可以包括:第一处理器21、第一存储器22。其中,所述第一存储器22上存储有可执行代码,当所述可执行代码被所述第一处理器21执行时,使所述第一处理器21至少可以执行如前述图1所示实施例中提供的交互方法。

实际上,该电子设备中也可以包括第一通信接口23,用于与其他设备进行通信。

另外,本发明实施例提供了一种非暂时性机器可读存储介质,所述非暂时性机器可读存储介质上存储有可执行代码,当所述可执行代码被电子设备的处理器执行时,使所述处理器至少可以执行如图1所示实施例中的交互方法。

图8为本发明实施例提供的另一种交互装置的结构示意图,如图8所示,该装置包括:指令确定模块31、指令发送模块32。

指令确定模块31,用于确定与语音信息对应的指令。

指令发送模块32,用于将所述指令发送至应用程序框架,以使所述应用程序框架在显示的视图控件中确定支持所述指令的目标视图控件,并通知所述目标视图控件或所述目标视图控件对应的控制对象,以通过所述目标视图控件响应所述指令。

其中,所述指令确定模块31具体用于:从已注册的语料样本中确定与所述语音信息匹配的目标语料样本;根据语料样本与指令的对应关系,确定与所述目标语料样本对应的指令。

图8所示装置可以执行前述各实施例中引擎所执行的方法,本实施例未详细描述的部分,可参考前述实施例的相关说明,在此不再赘述。

在一个可能的设计中,上述图8所示的交互装置的结构可实现为一电子设备,如图9所示,该电子设备可以包括:第二处理器41、第二存储器42。其中,所述第二存储器42上存储有可执行代码,当所述可执行代码被所述第二处理器41执行时,使所述第二处理器41至少可以执行如前述图3所示实施例中提供的交互方法。

实际上,该电子设备中也可以包括第二通信接口43,用于与其他设备进行通信。

另外,本发明实施例提供了一种非暂时性机器可读存储介质,所述非暂时性机器可读存储介质上存储有可执行代码,当所述可执行代码被电子设备的处理器执行时,使所述处理器至少可以执行如图3所示实施例中的交互方法。

以上所描述的装置实施例仅仅是示意性的,可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。本领域普通技术人员在不付出创造性的劳动的情况下,即可以理解并实施。

最后应说明的是:以上实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围。

起点商标作为专业知识产权交易平台,可以帮助大家解决很多问题,如果大家想要了解更多知产交易信息请点击 【在线咨询】或添加微信 【19522093243】与客服一对一沟通,为大家解决相关问题。

此文章来源于网络,如有侵权,请联系删除

tips