语音交互方法及电子设备与流程

文档序号:22034655发布日期:2020-08-28 17:26阅读:298来源:国知局
语音交互方法及电子设备与流程

本方案涉及通信领域,特别涉及一种语音交互方法及电子设备。



背景技术:

电子设备通常采用图形用户界面(graphicaluserinterface,gui)向电子设备的用户输出信息,当前随着设备形态的丰富,语音交互已成为常用的交互方式之一,用户可通过语音与电子设备之间实现语音交互,且电子设备会通过gui向用户呈现响应于用户的输入语音的操作和界面。

现有的电子设备实现语音交互的方法通常是在电子设备的系统中预先设置好系统级指令集,然后根据用户的输入语音在系统级指令集中提取与用户的输入语音对应的指令,并由电子设备的系统执行与该指令对应的系统预设的动作和行为。这种语音交互的方法,更多的是基于系统级别,通常只能实现系统级别的语音交互,比如打开某个应用、进行闹钟设置等,但是在打开应用后,则不能进一步实现对应用的用户界面组件的语音控制。



技术实现要素:

本申请实施例提供了一种语音交互方法及电子设备,在用户与电子设备的语音交互过程中,可以实现用户对应用的用户界面组件的语音控制,以提高用户的体验。

为解决上述技术问题,第一方面,本申请的实施方式提供了一种语音交互方法,用于电子设备,包括:接收来自用户的语音,并且将语音解析成语义指令;基于语义指令,确定与语义指令对应的指令执行主体;指令执行主体为电子设备的操作系统、电子设备中的应用以及与电子设备中的应用关联的语音用户界面组件中的任意一个;与语义指令对应的所述指令执行主体执行基于语义指令的动作。

本申请实施例中,该电子设备可以实现用户对电子设备的操作系统、电子设备中的应用,以及与电子设备中的应用关联的用户界面组件的语音控制,极大地扩展了语音交互的应用范围,可以实现全面地语音控制,可以在用户与电子设备的语音交互中,实现全程语音交互,提高了用户的使用体验。

在上述第一方面的一种可能的实现中,该方法还包括:开启应用;应用包括至少一个与应用关联的语音用户界面组件;基于语义指令,确定与语义指令对应的语音用户界面组件;与语义指令对应的语音用户界面组件执行基于语义指令的动作。

本申请实施例中,电子设备中的应用至少包括一个与应用关联的语音用户界面组件,该语音用户界面组件为与应用的界面对应的用户界面组件,且该语音用户界面组件具备语音交互能力,能够识别用户的语音,即该应用具备组件级语音。示例性的,在进行语音交互时,电子设备接收来自用户的语音,将该语音解析成语义指令,并将该语义指令与该电子设备的应用包括的至少一个语音用户界面组件进行匹配,以确定能够识别该语义指令的语音用户界面组件,并且使得语音用户界面组件执行基于语义指令的动作,该语音用户界面组件即为听得懂前述用户语音的语音用户界面组件,且该语音用户界面组件能够根据用户语音执行相应的动作,由此在用户与电子设备的语音交互过程中,可以实现用户对与在电子设备的前台运行的应用的界面对应的用户界面组件的语音控制,极大地扩展了语音控制功能的应用范围,可以实现更为深度地语音交互,以及更为全面地语音交互,有效地提高了用户体验。

在上述第一方面的一种可能的实现中,每个语音用户界面组件包括语音信息和动作信息;其中语音信息包括至少一条语音文本,并且每条语音文本包括对应的动作信息;动作信息用于描述对应的语音用户界面组件执行的动作。

在上述第一方面的一种可能的实现中,基于语义指令,在至少一个语音用户界面组件中匹配能够识别语义指令的语音用户界面组件,并使得语音用户界面组件执行基于语义指令的动作,包括:在至少一个语音用户界面组件的语音文本中搜索与语义指令匹配的语音文本;确定与语义指令匹配的语音文本对应的动作信息;以及使得语音用户界面组件根据动作信息执行相应的动作。

本申请实施例中,语音用户界面组件包括语音信息,且语音信息包括语音文本,在进行语义指令的匹配时,在前述确定的至少一个语音用户界面组件中的语音文本中搜索与语义指令匹配的语音文本,从而可以确定与该语义指令对应的语音用户界面组件。

该语音用户界面组件还包括动作信息,该语音用户界面组件执行基于该语义指令的动作,具体是根据该动作信息,执行与该动作信息对应的动作。

本申请实施例中,通过语音用户界面组件包括的语音信息和动作信息,即可以确定与语义指令对应的语音用户界面组件,以及令语音用户界面组件执行与该语义指令对应的动作,从而方便地实现了根据用户语音实现对语音用户界面组件的控制。

在上述第一方面的一种可能的实现中,语音用户界面组件包括提示信息,提示信息呈现与语音信息相关联的内容。

电子设备可以通过提示信息在其用户界面上呈现与该提示信息对应的提示,以用于用户进行观看。并且,提示信息呈现与语音信息相关联的内容,即使得该提示可以是与语音文本对应的信息,即该提示具体可以是与该语义指令对应的信息,则用户可以根据该提示进行语音输入,使得用户输入的语音即为与该语义指令对应的用户语音,由此可以使用户更为精准地对语音用户界面组件进行语音控制,即电子设备可以根据用户的输入语音更为准确、快速地确定与用户语音对应的语音用户界面组件。

在上述第一方面的一种可能的实现中,语音用户界面组件之间,语音用户界面组件包括不相同的语音信息。

本申请实施例中,不同的语音用户界面组件的语音信息不同,由此可以在进行语音用户界面组件的语音控制的实现,能够确定与该用户语音对应的唯一语音用户界面组件,避免出现语音用户界面组件的语义指令冲突,实现语音用户界面组件的精准语音控制。

在上述第一方面的一种可能的实现中,该至少一个与应用关联的语音用户界面组件包括以可见的方式显示在应用的界面上的语音用户界面组件,和/或以不可见的方式被包括在应用中的语音用户界面组件。

本申请实施例中,前述应用的界面包括至少一个语音用户界面组件,具体可以是通过电子设备的屏幕的显示界面呈现的语音用户界面组件,也可以是未在电子设备的屏幕的显示界面上呈现的语音用户界面组件。

在上述第一方面的一种可能的实现中,语音用户界面组件包括反馈信息,语音用户界面组件执行基于语义指令的动作,并且显示与动作相关联的反馈信息,其中,反馈信息包括视觉反馈内容和/或听觉反馈内容。

本申请实施例中,语音用户界面组件在执行对于语义指令的动作后,该语音用户界面组件还可以在应用的界面上呈现反馈信息,以告知用户动作的执行情况,可以有效地增强用户与电子设备之间的交互,提高用户的体验感。

在上述第一方面的一种可能的实现中,语音用户界面组件包括开关信息,语音用户界面组件根据开关信息确定是否允许被进行语义指令匹配。示例性的,在开关信息为开时,语音用户界面组件允许被进行语义指令匹配,在开关信息为关时,语音用户界面组件不允许被进行语义指令匹配。

在上述第一方面的一种可能的实现中,应用具有至少一条应用级语音文本及至少一条应用级动作信息,其中每条应用级语音文本包括对应的应用级动作信息;在匹配到与语义指令对应的应用级语音文本的情况下,或在匹配到与语义指令对应的应用级语音文本和语音用户界面组件的语音文本的情况下,执行与应用级语音文本相对应的应用级动作信息所描述的动作。

在上述第一方面的一种可能的实现中,基于语义指令,在应用的应用级语音文本和在应用的界面中包括的至少一个语音用户界面组件的语音文本中进行搜索,以及在匹配到与语义指令对应的应用级语音文本和语音用户界面组件的语音文本的情况下,执行与应用级语音文本相对应的应用级动作信息所描述的动作。

本申请实施例中,电子设备中的应用在具备前述组件级语音的同时,还可以具备应用级的语音,使得电子设备的语音交互更具层次,以满足不同情况下的语音控制。

在进行语音交互的过程中,可以将前述语义指令与该电子设备中应用的应用级语音文本进行匹配,以确定与该语义指令对应的应用级语音文本,并使得电子设备根据与该应用级语音文本对应的应用级动作信息执行相应动作,从而实现应用级的语音交互。

并且应用级的语音优先级高于组件级的语音,在根据语义指令同时确定与该语义指令对应的应用级语音文本和语音用户界面组件的语音文本的情况下,执行与应用级语音文本相对应的应用级动作信息所描述的动作。

在上述第一方面的一种可能的实现中,电子设备的操作系统具有至少一条系统级语音文本及至少一条系统级动作信息,其中每条系统级语音文本包括对应的系统级动作信息;且在匹配到与语义指令对应系统级语音文本的情况下,或在匹配到与语义指令对应的应用级语音文本和语音用户界面组件的语音文本中的任一与系统级语音文本的情况下,执行与系统级语音文本相对应的系统级动作信息所描述的动作。

在上述第一方面的一种可能的实现中,基于语义指令,在系统级语音文本、应用级语音文本和在应用的界面中包括的至少一个语音用户界面组件的语音文本中进行搜索,并且在匹配到与语义指令对应的应用级语音文本和语音用户界面组件的语音文本中的任一与系统级语音文本的情况下,执行与系统级语音文本相对应的系统级动作信息所描述的动作。

本申请实施例中,电子设备中的应用在具备前述组件级的语音及应用级的语音的同时,还可以进一步具备系统级的语音,进一步使得电子设备的语音交互更具层次,以满足不同情况下的语音控制。

在进行语音交互的过程中,可以将语义指令与该电子设备中的系统级语音文本进行匹配,以确定与该语义指令对应的系统级语音文本,并使得电子设备根据与该系统级语音文本对应的系统级动作信息执行相应动作,从而实现系统级的语音交互。

本申请实施例中,该电子设备具备组件级、应用级和系统级的语音控制,可以实现全面地语音控制,可以在用户与电子设备的语音交互中,实现全程语音交互,提高了用户的使用体验。

并且系统级的语音优先级高于应用级的语音,在根据语义指令在同时匹配到与语义指令对应的应用级语音文本和语音用户界面组件的语音文本中的任一与系统级语音文本的情况下,执行与系统级语音文本相对应的系统级动作信息所描述的动作。

第二方面,本申请的实施方式提供了一种用于语音交互的电子设备,包括:语音接收模块,用于接收来自用户的语音;语义解析模块,用于将语音解析成语义指令;语义指令定向决策引擎,用于基于语义指令,确定与语义指令对应的指令执行主体;指令执行主体为电子设备的操作系统、电子设备中的应用以及与电子设备中的应用关联的语音用户界面组件中的任意一个;指令执行模块,用于使得与语义指令对应的所述指令执行主体执行基于语义指令的动作。

在上述第二方面的一种可能的实现中,该电子设备还包括:语音用户界面组件检索模块,用于确定应用包括的至少一个与应用关联的语音用户界面组件。

在上述第二方面的一种可能的实现中,每个语音用户界面组件包括语音信息和动作信息;其中语音信息包括至少一条语音文本,并且每条语音文本包括对应的动作信息;动作信息用于描述对应的语音用户界面组件执行的动作。

在上述第二方面的一种可能的实现中,还包括指令匹配模块,指令匹配模块用于在至少一个语音用户界面组件的语音文本中搜索与语义指令匹配的语音文本,并确定与语义指令匹配的语音文本对应的动作信息;指令执行模块还用于使得语音用户界面组件根据动作信息执行相应的动作。

在上述第二方面的一种可能的实现中,语音用户界面组件包括提示信息,提示信息呈现与语音信息相关联的内容。

在上述第二方面的一种可能的实现中,语音用户界面组件之间,语音用户界面组件包括不相同的语音信息。

在上述第二方面的一种可能的实现中,该至少一个与应用关联的语音用户界面组件包括以可见的方式显示在应用的界面上的语音用户界面组件,和/或以不可见的方式被包括在应用中的语音用户界面组件。

在上述第二方面的一种可能的实现中,语音用户界面组件包括反馈信息,语音用户界面组件执行基于语义指令的动作,并且显示与动作相关联的反馈信息,其中,反馈信息包括视觉反馈内容和/或听觉反馈内容。

在上述第二方面的一种可能的实现中,语音用户界面组件包括开关信息,语音用户界面组件根据开关信息确定是否允许被进行语义指令匹配。

在上述第二方面的一种可能的实现中,应用具有至少一条应用级语音文本及至少一条应用级动作信息,其中每条应用级语音文本包括对应的应用级动作信息;且在匹配到与语义指令对应的应用级语音文本的情况下,或在匹配到与语义指令对应的应用级语音文本和语音用户界面组件的语音文本的情况下,执行与应用级语音文本相对应的应用级动作信息所描述的动作。

在上述第二方面的一种可能的实现中,指令匹配模块,还用于基于语义指令,在应用的应用级语音文本和在应用的界面中包括的至少一个语音用户界面组件的语音文本中进行搜索,并且在匹配到与语义指令对应的应用级语音文本和语音用户界面组件的语音文本的情况下,确定执行与应用级语音文本相对应的应用级动作信息所描述的动作;指令执行模块,还用于使得应用执行与应用级语音文本相对应的应用级动作信息所描述的动作。

在上述第二方面的一种可能的实现中,还包括应用自定义指令检索模块,用于基于语义指令,在应用的应用级语音文本中进行搜索。

在上述第二方面的一种可能的实现中,电子设备的操作系统具有至少一条系统级语音文本及至少一条系统级动作信息,其中每条系统级语音文本包括对应的系统级动作信息;且在匹配到与语义指令对应系统级语音文本的情况下,或在匹配到与语义指令对应的应用级语音文本和语音用户界面组件的语音文本中的任一与系统级语音文本的情况下,执行与系统级语音文本相对应的系统级动作信息所描述的动作。

在上述第二方面的一种可能的实现中,指令匹配模块,还用于基于语义指令,在系统级语音文本、应用级语音文本和在应用的界面中包括的至少一个语音用户界面组件的语音文本中进行搜索,并且在匹配到与语义指令对应的应用级语音文本和语音用户界面组件的语音文本中的任一与系统级语音文本的情况下,确定执行与系统级语音文本相对应的系统级动作信息所描述的动作;指令执行模块,还用于使得系统执行与系统级语音文本相对应的系统级动作信息所描述的动作。

在上述第二方面的一种可能的实现中,还包括系统指令检索模块,用于基于语义指令,在系统级语音文本中进行搜索。

在上述第二方面的一种可能的实现中,还包括指令分发模块,指令分发模块用于分发语义指令至指令执行主体。

本申请提供的电子设备,包括用于执行上述第一方面和/或第一方面的任意一种可能的实现方式所提供的语音交互方法的模块,因此也能实现第一方面提供的语音交互方法所具备的有益效果(或优点)。

第三方面,本申请的实施方式提供了一种电子设备,包括:存储器,用于存储计算机程序,计算机程序包括程序指令;处理器,用于执行程序指令,以使该电子设备执行以下语音交互方法:接收来自用户的语音,并且将语音解析成语义指令;基于语义指令,确定与语义指令对应的指令执行主体;指令执行主体为电子设备的操作系统、电子设备中的应用以及与电子设备中的应用关联的语音用户界面组件中的任意一个;与语义指令对应的所述指令执行主体执行基于语义指令的动作。

第四方面,本申请的实施方式提供了一种计算机可读取存储介质,计算机可读取存储介质存储有计算机程序,计算机程序包括程序指令,程序指令被计算机运行以使计算机以下语音交互方法:接收来自用户的语音,并且将语音解析成语义指令;基于语义指令,确定与语义指令对应的指令执行主体;指令执行主体为电子设备的操作系统、电子设备中的应用以及与电子设备中的应用关联的语音用户界面组件中的任意一个;与语义指令对应的所述指令执行主体执行基于语义指令的动作。

附图说明

为了更清楚地说明本申请实施例的技术方案,下面将对实施例描述中所使用的附图作简单介绍。

图1是根据本申请的一些实施例,示出了一种电子设备的结构框图;

图2是根据本申请的一些实施例,示出了一种电子设备的软件结构框图;

图3a-3c是根据本申请的一些实施例,示出了一些语音用户界面组件的示意图;

图3d是根据本申请的一些实施例,示出了一种电子设备的界面示意图;

图3e是根据本申请的一些实施例,示出了一些指令集和执行集的示意图;

图4a-4c是根据本申请的一些实施例,示出了一些电子设备的界面示意图;

图4d是根据本申请的一些实施例,示出了一种应用声明语音能力的示意图;

图5a是根据本申请的一些实施例,示出了一种语音交互方法的方法流程图;

图5b是根据本申请的一些实施例,示出了一种电子设备的界面示意图;

图6a是根据本申请的一些实施例,示出了另一种语音交互方法的方法流程图;

图6b是根据本申请的一些实施例,示出了另一种语音交互方法的方法流程图;

图7a-7f是根据本申请的一些实施例,示出了一些语音交互场景;

图8是根据本申请的一些实施例,示出了一种多模态交互ui系统;

图9是根据本申请的一些实施例,示出了一种电子设备的结构示意图;

图10是根据本申请的一些实施例,示出了一种片上系统(soc)的结构示意图。

具体实施方式

以下由特定的具体实施例说明本申请的实施方式,本领域技术人员可由本说明书所揭示的内容轻易地了解本申请的其他优点及功效。虽然本申请的描述将结合实施例一起介绍,但这并不代表此申请的特征仅限于该实施方式。恰恰相反,结合实施方式作申请介绍的目的是为了覆盖基于本申请的权利要求而有可能延伸出的其它选择或改造。为了提供对本申请的深度了解,以下描述中将包含许多具体的细节。本申请也可以不使用这些细节实施。此外,为了避免混乱或模糊本申请的重点,有些具体细节将在描述中被省略。需要说明的是,在不冲突的情况下,本申请中的实施例及实施例中的特征可以相互组合。

应注意的是,在本说明书中,相似的标号和字母在下面的附图中表示类似项,因此,一旦某一项在一个附图中被定义,则在随后的附图中不需要对其进行进一步定义和解释。

为使本申请的目的、技术方案和优点更加清楚,下面将结合附图对本申请的实施方式作进一步地详细描述。

需要说明的是,本申请实施例中的电子设备具体可以为手机、平板电脑、个人数字助理(personaldigitalassistant,pda)、电视(tv)、台式电脑、可穿戴电子设备、虚拟现实设备等电子设备。

在用户使用电子设备的过程中,由于电子设备之间的差异性,导致用户与电子设备的交互也有所区别,例如,当前用户与手机的交互主要以触控为主,用户与电视的交互主要以遥控为主。触控的交互方式需要用户与电子设备保持近距离,使得电子设备触手可及;而遥控的交互方式主要考虑距离限制,在遥控范围内,可以实现遥控,另外,遥控的体验本身依靠有限的遥控按键,其操作效率并不高。

电子设备通常采用图形用户界面向电子设备的用户输出信息,当前随着设备形态的丰富,语音交互已成为常用的交互方式之一,用户可通过语音与电子设备之间实现语音交互,且电子设备会通过图形用户界面向用户呈现响应于用户的输入语音的操作和界面。

因此,语音交互成为与电子设备的类型无关的通用交互方式之一。本申请旨在如何解决提升语音交互的体验,满足不同的设备下,都可以进行很好的语音交互的问题。

为解决上述技术问题,本申请提供了一种语音交互方法及电子设备。

图1示出了本申请实施例提供的一种电子设备100的结构示意图。

其中,电子设备100可以包括处理器110,外部存储器接口120,内部存储器121,通用串行总线(universalserialbus,usb)接口130,充电管理模块140,电源管理模块141,电池142,天线1,天线2,移动通信模块150,无线通信模块160,音频模块170,扬声器170a,受话器170b,麦克风170c,耳机接口170d,传感器模块180,按键190,马达191,指示器192,摄像头193,显示屏194,以及用户标识模块(subscriberidentificationmodule,sim)卡接口195等。其中传感器模块180可以包括压力传感器,陀螺仪传感器,指纹传感器,温度传感器,触摸传感器等传感器。

可以理解的是,本发明实施例示意的结构并不构成对电子设备100的具体限定。在本申请另一些实施例中,电子设备100可以包括比图示更多或更少的部件,或者组合某些部件,或者拆分某些部件,或者不同的部件布置。图示的部件可以以硬件,软件或软件和硬件的组合实现。

处理器110可以包括一个或多个处理单元,例如:处理器110可以包括应用处理器(applicationprocessor,ap),调制解调处理器,图形处理器(graphicsprocessingunit,gpu),图像信号处理器(imagesignalprocessor,isp),控制器,视频编解码器,数字信号处理器(digitalsignalprocessor,dsp),基带处理器,和/或神经网络处理器(neural-networkprocessingunit,npu)等。其中,不同的处理单元可以是独立的器件,也可以集成在一个或多个处理器中。

其中,控制器可以根据指令操作码和时序信号,产生操作控制信号,完成取指令和执行指令的控制。

处理器110中还可以设置存储器,用于存储指令和数据。在一些实施例中,处理器110中的存储器为高速缓冲存储器。该存储器可以保存处理器110刚用过或循环使用的指令或数据。如果处理器110需要再次使用该指令或数据,可从所述存储器中直接调用。避免了重复存取,减少了处理器110的等待时间,因而提高了系统的效率。

在一些实施例中,处理器110可以包括一个或多个接口。接口可以包括集成电路内置音频(inter-integratedcircuitsound,i2s)接口,脉冲编码调制(pulsecodemodulation,pcm)接口,移动产业处理器接口(mobileindustryprocessorinterface,mipi),通用输入输出(general-purposeinput/output,gpio)接口等。

i2s接口可以用于音频通信。在一些实施例中,处理器110可以包含多组i2s总线。处理器110可以通过i2s总线与音频模块170耦合,实现处理器110与音频模块170之间的通信。在一些实施例中,音频模块170可以通过i2s接口向无线通信模块160传递音频信号,实现通过蓝牙耳机接听电话的功能。

pcm接口也可以用于音频通信,将模拟信号抽样,量化和编码。在一些实施例中,音频模块170与无线通信模块160可以通过pcm总线接口耦合。在一些实施例中,音频模块170也可以通过pcm接口向无线通信模块160传递音频信号,实现通过蓝牙耳机接听电话的功能。所述i2s接口和所述pcm接口都可以用于音频通信。

mipi接口可以被用于连接处理器110与显示屏194,摄像头193等外围器件。mipi接口包括摄像头串行接口(cameraserialinterface,csi),显示屏串行接口(displayserialinterface,dsi)等。在一些实施例中,处理器110和摄像头193通过csi接口通信,实现电子设备100的拍摄功能。处理器110和显示屏194通过dsi接口通信,实现电子设备100的显示功能。

gpio接口可以通过软件配置。gpio接口可以被配置为控制信号,也可被配置为数据信号。在一些实施例中,gpio接口可以用于连接处理器110与摄像头193,显示屏194,无线通信模块160,音频模块170,传感器模块180等。

可以理解的是,本发明实施例示意的各模块间的接口连接关系,只是示意性说明,并不构成对电子设备100的结构限定。在本申请另一些实施例中,电子设备100也可以采用上述实施例中不同的接口连接方式,或多种接口连接方式的组合。

充电管理模块140用于从充电器接收充电输入。电源管理模块141用于连接电池142,充电管理模块140与处理器110。

电子设备100的无线通信功能可以通过天线1,天线2,移动通信模块150,无线通信模块160,调制解调处理器以及基带处理器等实现。

电子设备100通过gpu,显示屏194,以及应用处理器等实现显示功能。gpu为图像处理的微处理器,连接显示屏194和应用处理器。gpu用于执行数学和几何计算,用于图形渲染。处理器110可包括一个或多个gpu,其执行程序指令以生成或改变显示信息。

显示屏194用于显示图像,视频等。显示屏194包括显示面板。在一些实施例中,电子设备100可以包括1个或n个显示屏194,n为大于1的正整数。

电子设备100可以通过isp,摄像头193,视频编解码器,gpu,显示屏194以及应用处理器等实现拍摄功能。

外部存储器接口120可以用于连接外部存储卡,例如microsd卡,实现扩展电子设备100的存储能力。

内部存储器121可以用于存储计算机可执行程序代码,所述可执行程序代码包括指令。内部存储器121可以包括存储程序区和存储数据区。

电子设备100可以通过音频模块170,扬声器170a,受话器170b,麦克风170c,耳机接口170d,以及应用处理器等实现音频功能。例如音乐播放,录音等。

音频模块170用于将数字音频信息转换成模拟音频信号输出,也用于将模拟音频输入转换为数字音频信号。音频模块170还可以用于对音频信号编码和解码。在一些实施例中,音频模块170可以设置于处理器110中,或将音频模块170的部分功能模块设置于处理器110中。

扬声器170a,也称“喇叭”,用于将音频电信号转换为声音信号。电子设备100可以通过扬声器170a收听音乐,或收听免提通话。

受话器170b,也称“听筒”,用于将音频电信号转换成声音信号。当电子设备100接听电话或语音信息时,可以通过将受话器170b靠近人耳接听语音。

麦克风170c,也称“话筒”,“传声器”,用于将声音信号转换为电信号。当拨打电话或发送语音信息时,用户可以通过人嘴靠近麦克风170c发声,将声音信号输入到麦克风170c。电子设备100可以设置至少一个麦克风170c。在另一些实施例中,电子设备100可以设置两个麦克风170c,除了采集声音信号,还可以实现降噪功能。在另一些实施例中,电子设备100还可以设置三个,四个或更多麦克风170c,实现采集声音信号,降噪,还可以识别声音来源,实现定向录音功能等。

耳机接口170d用于连接有线耳机。耳机接口170d可以是usb接口130,也可以是3.5mm的开放移动电子设备平台(openmobileterminalplatform,omtp)标准接口,美国蜂窝电信工业协会(cellulartelecommunicationsindustryassociationoftheusa,ctia)标准接口。

按键190包括开机键,音量键等。按键190可以是机械按键。也可以是触摸式按键。电子设备100可以接收按键输入,产生与电子设备100的用户设置以及功能控制有关的键信号输入。

马达191可以产生振动提示。马达191可以用于来电振动提示,也可以用于触摸振动反馈。

指示器192可以是指示灯,可以用于指示充电状态,电量变化,也可以用于指示消息,未接来电,通知等。

sim卡接口195用于连接sim卡。

图2示出了本申请实施例提供的电子设备100的软件结构框图。

其中,分层架构将软件分成若干个层,每一层都有清晰的角色和分工。层与层之间通过软件接口通信。

如图2所示,该软件框架包括具有一系列应用程序的应用程序层,该应用程序层包括例如应用a、应用b、应用c等应用程序,该应用a、应用b、应用c等应用程序可以是图库,日历,通话,蓝牙,音乐,视频等应用程序。

该软件框架还包括系统平台,其中系统平台包括用户界面组件。如前所述,电子设备100中通常包含多个应用,应用可以通过应用包括的界面向用户呈现内容,与应用的界面对应的通常包括多个用户界面组件。该用户界面组件具体为系统中的比如editview组件,searchbox组件,listview组件等。本申请实施例中该用户界面组件能够听得懂用户语音,且可以被定义为语音用户界面(voiceuserinterface,vui)组件。

进一步地,语音用户界面组件还包括语音用户界面组件语音原子能力,使得语音用户界面组件可以听得懂至少一种语义指令。

系统平台还包括用于实现本申请实施例提供的语音交互方法的相关模块,具体的,如图2所示,系统平台包括语音能力模块,该语音能力模块包括语音接收模块和语义解析模块,以及进一步地还可以包括语义指令定向决策引擎。

其中,语音接收模块用于接收用户的语音输入,语义解析模块用于对语音接收模块接收到的语音进行解析,以得到语义指令,语义指令定向决策引擎用于根据语音接收模块接收到的语音确定对该语义指令进行匹配的范围,或者根据语义解析模块得到的语义指令确定对该语义指令进行匹配的范围,例如将该语义指令与该语音用户界面组件进行匹配。

系统平台还包括语音用户界面组件执行框架,该语音用户界面组件执行框架包括语音用户界面组件检索模块、指令匹配模块及指令执行模块。

其中,语音用户界面组件检索模块用于检索语音用户界面组件,示例性的,用于检索确定应用包括的至少一个语音用户界面组件。

进一步地,本申请实施例中,应用包括至少一个语音用户界面组件,该至少一个语音用户界面组件包括以可见的方式显示在应用的界面上的语音用户界面组件,和/或以不可见的方式被包括在应用中的语音用户界面组件。即前述确定的在电子设备100的前台运行的应用的界面包括至少一个语音用户界面组件,具体可以是在电子设备的屏幕上的显示界面上呈现的语音用户界面组件,也可以是未在电子设备的屏幕的显示界面上呈现的语音用户界面组件。

当然,语音用户界面组件检索模块检索语音用户界面组件,可以是只检索电子设备100的前台运行的应用的界面包括的语音用户界面组件,也可以检索该电子设备100中的所有语音用户界面组件,其可以根据需要具体设置。

进一步,该语音用户界面组件执行框架还包括指令分发模块,其中,语音用户界面组件检索模块用于检索确定语音用户界面组件,指令匹配模块用于进行语义指令的匹配,指令分发模块用于分发语义指令,例如将语义指令分发至语音用户界面组件,指令执行模块与实现指令执行相关,例如该指令执行模块使得语音用户界面组件执行该语义指令。

进一步,该语音用户界面组件执行框架还可以包括应用自定义指令检索模块,应用检索应用自定义指令。

另外,该软件框架还包括前端框架uikit-vui组件,用于进行语音用户界面组件的相关配置。

需要说明的是,该软件框架还包括与当前andriod系统相同或相类似的模块,本申请实施例不再一一详细说明。

本申请实施例将该电子设备100的组件模块中的组件定义为语音用户界面组件,该语音用户界面组件包括信息,且该信息具体可以是以文本的形式进行设置。

在本申请的一种实现方式中,语音用户界面组件包括与语音用户界面组件对应的语音信息、动作信息、提示信息、反馈信息和开关信息,

其中,每个语音用户界面组件包括语音信息和动作信息;语音信息包括至少一条语音文本,语音文本用于表明该语音用户界面组件能听得懂的语义指令,即通过该语音文本可以设置该语音用户界面组件能听得懂的语义指令。并且每条语音文本包括对应的动作信息,动作信息用于描述对应的语音用户界面组件执行的动作,即表明该语音用户界面组件听懂语义指令后,将执行的内容。

在进行语义指令的匹配时,在前述确定的至少一个语音用户界面组件中的语音文本中搜索与语义指令相同的语音文本,从而可以确定与该语音文本关联的语音用户界面组件。在确定语音用户界面组件后,使得该语音用户界面组件根据该语音用户界面组件中与的与该语音文本对应的动作信息,执行相应的动作。

提示信息用于呈现与语音信息相关联的内容,通过提示信息的设置,电子设备可以在其用户界面上呈现与该提示信息对应的提示,以用于用户进行观看。

示例性的,该提示信息包括前述的用于提示用户进行语音输入的提示,提示信息具体可以与语义指令相同,即该提示具体可以是与该语义指令对应的信息,用于友好的告知用户怎么操作。则用户可以根据该提示进行语音输入,使得用户输入的语音即为语义指令,即电子设备100可以根据用户的输入语音更为准确、快速地确定与用户语音对应的语音用户界面组件,由此可以使用户更为精准地对语音用户界面组件进行语音控制。

进一步地,本申请实施例中,语音用户界面组件执行基于语义指令的动作后,还包括基于前述反馈信息,在应用的用户界面上显示与动作相关联的反馈信息,以告知用户动作的执行情况,及在用户界面上呈现关于语音用户界面组件所处语音交互阶段的视觉反馈信息;语音交互阶段包括执行语音用户界面组件触发操作前阶段、执行语音用户界面组件触发操作中阶段,执行语音用户界面组件触发操作后阶段中的至少一个。例如,用于表明该语音用户界面组件在听用户的语音输入、以及已听完用户的语音输入等阶段的在用户界面上给用户的视觉反馈,可以有效地增强用户与电子设备之间的交互,提高用户的体验感。其中,反馈信息包括视觉反馈内容和/或听觉反馈内容。

本申请实施例中,开关信息用于定义语音用户界面组件语音功能的开和关,具体的,对于语音用户界面组件的语音功能,可以将所有的用户界面组件配置为语音用户界面组件,通过该语音开关信息,可以使得语音用户界面组件根据语音开关信息控制语音用户界面组件的语音功能的开启与关闭,在开关信息配置为“开启”时,该语音用户界面组件的语音功能为开启状态,该语音用户界面组件能够识别用户的语音输入,支持语音交互功能,在开关信息配置为“关闭”时,该语音用户界面组件的语音功能为关闭状态,该语音用户界面组件不能识别用户的语音输入,不支持语音交互功能。

示例性的,请参见图3a,本申请实施例中,前述语音信息可以定义为v指令,用于定义语音用户界面组件能听懂的语义指令(语音交互指令);动作信息可以定义为v执行,用于定义语音用户界面组件听懂语义指令后,将执行什么;提示信息可以被定义为v提示,用于定义在ui界面上给用户显示的提示;反馈信息可以被定义为v反馈,用于定义语音用户界面组件在听、听完的过程中执行的视觉反馈;开关信息可以被定义为v开关,用于定义语音用户界面组件的语音功能的开或者关。

进一步地,请参见图3b,v指令、v提示、v执行可以作为一个v指令执行集,一个语音用户界面组件可以有多组v指令执行集。

其中v指令的组件属性和方法可以是:组件预设指令,该指令可以是直接将指向组件的text作为指令。另外,部分组件指令,可以考虑给开发者覆写。另外,该v指令的方法示例可以是xx.setvclickvcommd(“xxx”)。

v执行是内部方法,表示收到v指令后,语音用户界面组件将执行什么,例如可能是click(点击),可能是下拉等。

v提示的组件属性和方法可以是:其由平台预设,一般与v指令相同,用于友好的告知用户怎么操作;另外,其也可以由该语音用户组件的开发者自定义,如该v提示对应的配置信息可以是xx.setvclickvtips(“请点击我”)。

v反馈可以是用于定义语音用户界面组件在听、听完的过程中执行的视觉反馈,其可以参照现有技术中的小e。

v开关的组件属性和方法可以是:语音用户界面组件可以自带veable,默认true和false根据语音用户界面组件的特性设定。另外,语音用户界面组件也可以开放setvenable和getveable接口使开发者对该语音开关信息进行配置。

示例性的,请参见图3c,本申请实施例中,一种语音用户界面组件的信息,具体为:

v开关信息为@enable=true;即语音功能开启。

v指令信息为@vclickuivcommd=@text;即其文本就是其语义指令。

v提示信息为@vclickuivtips=@vclickuivcommd;即其指令本身就是其提示。

v执行信息为onclick,即,触发语义指令后,button将执行onclick操作。

v反馈在接收指令时,按钮周围进行的视觉反馈。

示例性的,如图3d所示,其中实线框中的“确认”为v提示,在接收到用户的确认语义指令后,虚线框中的确认button将执行onclick操作。

进一步地,本申请实施例中,可以给该语音用户界面组件配置常用的v指令和v执行,以及v提示,且可以配置多项,即可以使该语音用户界面组件具备原子能力,基本可以提供完善的常用的语音交互指令的实现。例如,该v指令、v执行、v提示可以作为该语音用户界面组件的语义指令执行集,一个语音用户界面组件可以有一个或多个语义指令执行集。即语音用户界面组件的语音信息包括一个或数个与触发用户界面组件的语义指令对应的语音文本,使得一个语音用户界面组件可以听得懂多条语义指令,根据该多条语义指令执行一个动作,生成一个提示,或者根据该多条语义指令分别执行多个动作,且分别显示与各动作对应的提示。

示例性的,请参见图3e,vui原子能力中,常见/通用的指令集和常见的执行集中的系统功能集合包括如下示例:id为vui-next的语音用户界面组件,该语音用户界面组件的v指令具体可以只包括“下一集”一个语音文本,也可以同时包括“下一集”、“播放下一集”、“下一首”、“下一页”、“请播放下一首”、“下一个”、“往下一个”等多个语音文本。以使接收到语义指令为前述“下一集”、“播放下一集”、“下一首”、“下一页”、“请播放下一首”、“下一个”、“往下一个”中的任意一个时,都可以将该语音用户界面组件确定为与该语音对应的语音用户界面组件,以使该语音用户界面组件执行与该语音对应的操作。

进一步地,示例性的,常用的执行集的系统功能中,v执行包括以下示例:

vui-do-home回桌面

vui-do-openbt打开蓝牙

需要说明的是,本申请实施例中,该语音用户界面组件具体是指前述组件模块中的组件,该语音用户界面组件的信息由该语音用户界面组件的开发者进行配置,使用该语音用户界面组件的电子设备100可以使用该语音用户界面组件,且安装在该电子设备100中的应用可以使用该语音用户界面组件。

例如,应用可以通过声明来使用该语音用户界面组件,具体的,应用开发者在开发应用时,直接声明使用系统的语音用户界面组件的能力,由此可以实现该应用调用系统用户界面组件实现该应用的语音交互功能。

进一步地,通过声明来使用系统vui组件的语音能力,可以是通过应用原生的一些说明文件或新建一个说明文件来进行语音能力描述。

示例性的,该声明具体可以是指语音用户界面组件的非侵入式注册,且具体声明可以如下所示:

id-view1:

venable=true,

vcmd:@text,

vtip:@vcmd

vd0:onclick

另外,应用的开发者也可以在开发应用的时候,为该应用单独配置前述语音用户界面组件,使得该应用天然具备语音交互功能。

进一步地,该应用可以是指安装于该电子设备中的原始应用,也可以是指第三方开发者开发的第三方应用,在该第三方开发者开发该第三方应用的时候,可以将该第三方应用配置为可以使用该电子设备100中的该语音用户界面组件,例如通过前述声明的方式实现。

需要说明的是,本申请实施例中,语音用户界面组件之间,语音用户界面组件包括彼此不同的语音信息。不同的语音用户界面组件的语音信息不同,由此可以在进行语音控制的实现中,能够确定与该用户语音对应的唯一语音用户界面组件,实现语音用户界面组件的精准语音控制。

即为了避免在用户的使用过程中,发生语义指令冲突的情况,即避免一个语义指令可以同时匹配到至少两个用户界面组件的情况,可以预先设置电子设备100中的各用户界面所支持的语音用户界面组件的语音信息中的语音信息皆不相同,由此,在接收到的语义指令只与电子设备100的前台运行的应用的当前用户界面组件进行匹配时,可以避免发出语义指令冲突的情况,可以有效地提高用户的体验感。

另外,也可以在电子设备100中预先设置该电子设备100所支持的所有语音用户界面组件的语音信息皆不相同,由此不论是将语义指令与当前用户界面组件进行匹配,还是和电子设备100所支持的任意用户界面组件进行匹配,其皆可以避免产生指令冲突的情况。

详细的,为避免产生前述的冲突,具体可以是由该电子设备100的开发者和应用的开发者在进行该电子设备100和应用的开发工作时,通过用户页面组件的语音信息中的语音信息进行配置,避免出现不同的用户界面组件的语音信息中具有相同的语义指令集。

示例性的,请参见图4a,电子设备100中有应用使用两个相同的语音用户界面组件,其语音文本都为“确认”,则用户如果语音输入“确认”,则会导致语义指令冲突的产生,为避免产生语义指令冲突的产生,以实现精准定位,可以在该电子设备100和应用的开发阶段对语音用户界面组件的语音文本进行配置。

具体的,电子设备100的开发者对电子设备中的语音用户界面组件的语音信息进行配置,可以由电子设备100的开发者为该语音用户界面组件的语义指令加标签。例如,请参见图4b,系统会给两个“确认”添加标签,给其中一个添加“确认1”的标签,给另一个添加“确认2”的标签。

需要说明的是,此处的添加标签,具体可以是指在语音信息中进行该“确认1”和“确认2”语音文本的配置。

另外,本申请实施例中,该语音用户界面组件可以开放给第三方应用开发者进行覆写,若该语音用户界面组件的语音信息为允许第三方开发者覆写的,则也可以由应用的开发者,对该语音用户界面组件的语音信息进行语义指令集和提示信息等内容的覆写。例如,请参见图4c,第三方应用开发者将两个“确认”中的其中一个覆写为“条款确认”。

进一步地,本申请实施例中,在进行语音输入和语义指令的匹配后,若未匹配到与语义指令对应的语音用户界面组件,则不进行语义指令的执行操作,且显示用于提示用户进行下一步操作的操作提示信息,以告知用户匹配结果,或告知用户下一步操作。

进一步地,在电子设备100中,通过设置前述的语音用户界面组件,使得用户可以通过语音实现对电子设备100中的用户界面组件的语音控制,即本申请实施例可以实现组件级的语音交互。

进一步地,本申请实施例还可以实现用户对系统以及应用等在该电子设备100的使用过程中的全程语音控制。

进一步地,本申请的另一种实现方式中,该电子设备还支持应用级的语音交互。具体的,本申请实施例中,应用具有至少一条应用级语音文本及至少一条应用级动作信息,作为应用级语义指令集,其中每条语音文本包括对应的动作信息。且应用级语音文本被响应执行的优先级高于语音用户界面组件的语音文本。

即本申请实施例中,在进行语音交互的过程中,电子设备100将根据用户的语音得到的语义指令与应用的应用级语音文本进行匹配,以确定与该语义指令对应的应用级语音文本,若根据该语义指令匹配到对应的应用级语音文本,则由应用根据该应用级语音文本对应的应用级动作信息执行相应操作,从而实现应用级的语音交互。

进一步地,本申请实施例中,基于语义指令,在应用的应用级语音文本和在应用的界面中包括的至少一个语音用户界面组件的语音文本中进行搜索,以及与匹配到与语义指令对应的应用级语音文本,或在同时匹配到与该语义指令对应的应用级语音文本和语音用户界面组件的语音文本的情况下,执行与应用级语音文本相对应的应用级动作信息所描述的动作,即应用级的语音优先级高于组件级的语音,在根据语义指令同时确定与该语义指令对应的应用级语音文本和语音用户界面组件的语音文本的情况下,执行与应用级语音文本相对应的应用级动作信息所描述的动作。

该应用具有的至少一条应用级语音文本及至少一条应用级动作信息,具体可以通过应用的sdk包进行设置。

进一步地,应用向电子设备100的系统注册应用级语义指令级包括,通过xml(extensiblemarkuplanguage,可扩展标记语言)或dls(deeplearningservice)非侵入式描述的方式进行注册。

另外,系统收到用户自定义的语义指令后,可以发送信号给应用,或直接执行应用设定的执行命令。

本申请实施例中,应用具有至少一条应用级语音文本及至少一条应用级动作信息,作为应用级语义指令集,其中每条语音文本包括对应的动作信息.

示例性的,应用通过该应用级语义指令集声明语音能力,且其格式可以为指令|信号|执行。

示例性的,请参见图4d:

//应用声明语音能力,格式为指令|信号|执行

vcmdhistory|1|0

*科幻片*|2|0

*不看了*|null|home

其中,指令为支持开发者自定义的指令,例如“退出”,也支持指令的通配符描述,例如“科幻片”,表示包含科幻片的指令。支持调用系统预设指令id,例如vcmdhistory,系统内置场景说法。另外,长远考虑支持安卓资源字串id引用,即idstringxxxx。

进一步地,null表示不接收信号,一般会配合后面的“执行”使用,即不需要发送信号给应用,希望系统直接执行一些指令。另外,该信号具体可以由开发者自定义信号,然后系统会发送应用设定好的信号给应用。

“0”,表示应用不需要系统执行什么,由应用在回调处理中处理。其可以是系统开放的常见命令,例如home(回桌面)。另外,也可以是指具体的activity,系统会自动跳转。

进一步地,该系统语音交互指令集具体可以通过语义指令表的形式进行存储。进一步地,应用的开发者也可以对该应用进行应用语音交互指令集的配置,其类似于该系统语音交互指令集。

进一步地,本申请实施例中,电子设备还支持系统级的语音交互,即电子设备中具有至少一条系统级语音文本及至少一条系统级动作信息,其中每条系统级语音文本包括对应的系统级动作信息;且系统级语音文本被响应执行的优先级高于系统级语音文本。

在进行语音交互的过程中,可以将前述语义指令与该电子设备中的系统级语音文本进行匹配,以确定与该语义指令对应的系统级语音文本,并使得电子设备根据与该系统级语音文本对应的系统级动作信息执行相应动作,从而实现系统级的语音交互。

进一步地,基于语义指令,在系统级语音文本、应用级语音文本和在应用的界面中包括的至少一个语音用户界面组件的语音文本中进行搜索,并且在同时匹配到与该语义指令对应的应用级语音文本和语音用户界面组件的语音文本中的任一与系统级语音文本的情况下,执行与系统级语音文本相对应的系统级动作信息所描述的动作。即系统级的语音优先级高于应用级的语音,在根据语义指令在同时匹配到应用级语音文本和语音用户界面组件的语音文本中的任一与系统级语音文本的情况下,执行与系统级语音文本相对应的系统级动作信息所描述的动作。

具体的,可以预先在电子设备100中预先设置系统级语义指令模块,该系统级语义指令模块包括系统语音交互指令集,该系统语音交互指令集包括前述至少一条系统级语音文本及至少一条系统级动作信息,该系统级语音文本比如具体可以包括“回桌面”、“打开视频”、“设置闹钟”等。其与当前的小e等功能相同,本申请不再详细说明。

本申请实施例中,该电子设备100具备组件级、应用级和系统级的语音交互,使得电子设备100的语音交互更具层次,以满足不同情况下的语音控制,进一步地还可以实现全面地语音控制,可以在用户与电子设备的语音交互中,实现全程语音交互,提高了用户的使用体验。

进一步地,本申请实施例中,前述语义指令定向决策引擎的设置用于确定对语义指令进行匹配的范围。

具体的,可通过指令定向决策引擎对电子设备100在获取到语义指令后,进行语义指令匹配的语义指令匹配范围进行预先限定。具体的,可以定义语义指令匹配范围为在获取到语义指令后,将语义指令与当前电子设备100在前台运行的应用的用户界面所支持的语音用户界面组件进行匹配,也可以将语义指令匹配范围确定为在获取到语义指令后,将语义指令与当前电子设备100的所支持的所有语音用户界面组件进行匹配,即相当于与电子设备100中安装的所有语音用户界面组件进行匹配。进一步地,还可以包括将该语义指令与前述系统级语义指令集进行匹配,以及将该语义指令与应用级语义指令集进行匹配。

需要说明的是,本申请实施例中,该指令定向决策引擎可以完全按照优先级进行定向决策,其中系统级语义指令的优先级大于应用级语义指令的优先级,应用级语义指令的优先级大于组件级语义指令的优先级。另外,也可以为该系统级语义指令、应用级语义指令和组件级语义指令分别设置独立的标识词,例如,系统级语义指令的标识词为“小e小e”,若用户的语音中包括“小e小e”,则语义指令决策模块确定该语义指令为系统级语义指令,应用级语义指令的标识词为“hello”,若用户的语音中包括“hello”,则该语义指令为应用级语义指令,若用户的语音中皆不包括前述“小e小e”和“hello”,则为组件级语义指令。进一步地,还可以定义在应用中,应用级语义指令的优先级大于组件级语义指令的优先级。

进一步地,需要说明的是,本申请实施例中:

系统级指令的指令来源为:平台统一定义和管理(例如,可开放board平台给各业务定义);指令生效场景为:全场景;指令执行为:由系统执行,或者系统调用应用能力执行;示例:在任意界面进行语音搜索、闹钟设置等,打开某个应用;适用范畴为:与场景无关、高频的交互命令。

应用级指令的指令来源为:应用自定义;指令执行主体为:应用;示例:视频播放应用,通过语音进行播放进度控制,切换播放节目等;适用范畴为:应用针对业务做自己的精确语音交互;

组件级指令的指令来源为:系统组件定义;指令执行主体为:系统,即vui组件;示例:可以当前editbox直接进行语音输入,直接对button按钮进行语音点击;为适用范畴:通用交互。

具体的,基于本申请实施例提供的语音用户界面组件,可以提供关于本申请实施例中的语音用户界面组件的开发、使用平台,以供各方使用者使用。比如,可以提供给第三方应用的开发者在进行应用开发的时候直接使用该语音用户界面组件,若该应用直接使用了该语音用户界面组件,则在安装于电子设备100中的,只需要打开v开关,即可以实现电子设备100可以在接收到语义指令后,对该应用进行语音控制。

请参见图5a,图5a为本申请实施例提供的一种语音交互方法,应用于前述电子设备100,且该方法包括:

s100:接收来自用户的语音,并且将语音解析成语义指令;

s200:基于语义指令,确定与语义指令对应的指令执行主体;指令执行主体为电子设备的操作系统、电子设备中的应用以及与电子设备中的应用关联的语音用户界面组件中的任意一个;

s300:与语义指令对应的指令执行主体执行基于语义指令的动作。

下面结合前述电子设备100和电子设备100的软件结构框图,对本申请实施例提供的语音交互方法进行详细说明。

具体的,本申请实施例提供了一种可以实现用户通过语音对语音用户界面组件进行语音控制的电子设备100,以及用户与该电子设备100进行语音交互的方法,以使用户在使用电子设备100的过程中,可以实现对电子设备100中执行的语音用户界面组件的语音控制,以提高用户的体验感。

示例性的,该应用可以是视频应用,则视频应用进行视频播放,用户可以通过用户界面观看该电视呈现的视频,以下以用户使用电视进行视频播放的情景进行示例说明。

示例性的,如图5b所示,在电视播放视频的用户界面上通常包括视频画面显示区域,以及其他用于进行播放视频的控制操作的各种语音用户界面组件的提示信息显示区域,例如该“暂停”、“截屏”、“录制”、“快进”、“设置”、“投硬币”等语音用户界面组件都是显示提示信息的组件,其以可见的方式显示在应用的界面上的语音用户界面组件,进一步地,应用还包括以不可见的方式被包括在所述界面中的语音用户界面组件,比如“下滑”、“上滑”、“下一集”等组件。

在视频的播放过程中,用户可以向电视进行语音数据输入。电视获得用户输入的语音数据,比如用户可以对着电视说“下一集”。

电视接收到用户输入的语音数据后,对该语音数据进行语义解析,以关键词提取生成语义指令。该语义指令具体可以是电视可以识别的字符串。

示例性的,比如用户输入的语音数据为“请播放下一集”或“下一集”,则语义解析模块进行关键词提取后得到的语义指令为字符串“下一集”。

电视对当前在电视的前台运行的应用的界面包括的语音用户界面组件进行检索,以确定在电视的前台运行的应用的界面包括的至少一个语音用户界面组件。

确定语义指令和至少一个语音用户界面组件后,电视将语义指令与语音用户界面组件的语音信息进行匹配,以确定与语义指令对应的语音用户界面组件。

进一步地,确定语音用户界面组件后,电视将该语义指令分发至该语音用户界面组件,以使语音用户界面组件根据动作信息执行与语义指令对应的语音用户界面组件的触发操作。

比如,用户想进行“暂停”操作,则在看到当前视频播放界面上的“播放”文字后,知道自己需要输入的语义指令为“暂停”,则用户直接向电子设备说“暂停”,即可实现对该播放视频的暂停操作。

另外,用户也可以向电视说“请暂停”,根据前述关于语音信息的设置,此时电视亦可以实现根据该语义指令准确地确定,与该语义指令对应的语音用户界面组件。

为方便用户了解用户界面所处的语音交互阶段,以及提高语音交互的乐趣,可以在用户界面上呈现视觉反馈信息。示例性的,若用户向电视说“投硬币”,则触发与该“投硬币”对应的语音用户界面组件进行点击操作,以执行“投硬币”操作,在执行完“投硬币”操作后,进一步,生成提示该“投硬币”操作已完成的反馈信息。

示例性的,具体可以是在该“投硬币”的显示框上显示“已投1硬币”的文字,或者显示硬币被投出的动画等。

通过本申请实施例提供的语音交互方法可以方便地实现对用户界面组件的语音控制,增强了用户语音交互的深度,有效地提高了用户的体验。

本申请的一种实现方式中,该电子设备100支持系统级语音交互、应用级语音交互和组件级语音交互。

请参见图6a,本申请实施例提供一种语音交互方法,具体可以应用于手机,该方法包括:

s210,手机接收用户的语音输入。

s220,手机根据语音得到语义指令,及确定该语义指令的类型。

具体的,手机中的语义指令具有三层指令集,包括系统级语义指令、应用级语义指令和组件级语义指令,需要语义指令决策模块决策指令的响应体,若用户的语音中包括“小e小e”,则语义指令决策模块确定该语义指令为系统级语义指令,若用户的语音中包括“hello”,则该语义指令为应用级语义指令,若用户的语音中皆不包括前述“小e小e”和“hello”,则为组件级语义指令。

s230,手机将语义指令根据前述确定的指令类型进行指令匹配,且根据匹配结果将该语义指令发送给该语义指令的执行主体执行。

具体的,若该语义指令为系统级语义指令,则执行主体为系统,执行s240,若该语义指令为应用级语义指令,则执行主体为应用,执行s250,若该语义指令为应用级语义指令,则执行主体为语音用户界面组件,执行s260。

s240,手机系统执行语义指令。其相当于现有技术的小e等,此处不再赘述。

s250,手机中的应用执行语义指令。

s260,手机中的语音用户界面组件执行语义指令。语音用户界面组件执行语义指令具体如前所述,此处不再赘述。

进一步地,本申请实施例中,系统收到用户自定义的语义指令后,可以发送信号给应用,或直接执行应用设定的执行命令。

请参见图6b,进行语义指令的分发包括:

s310,根据用户语音输入确定语义指令。

s320,判断当前应用是否注册了该指令,若否,则结束本次语音交互;若是,则执行步骤s330。

s330,判断应用是否注册了系统指令命令,若是,则执行s340,若否,则执行步骤s350。

s340,执行系统级语义指令。

s350,判断应用是否注册了信号发送,若是,则执行s360。

s360,发送信号给应用,并进一步执行s370。

s370,应用处理回调。

应用处理回调即应用会按照自己注册的指令,收到对应的消息回调,回调函数中,应用可以自己处理指令的执行。

指令回调处理的示例具体如下所示:

//应用声明语音能力,格式为指令|信号|执行

singlehistory1

singlemovietypescience

vcmdhistory|1|0

*科幻片*|2|0

*不看了*|null|home

应用callback示例

示例性的,请参见图7a-7f,示出了一种本申请实施例提供的语音交互方法的一种具体应用场景,以视频播放的语音交互体验为例。

示例性的,如图7a所示,手机处于桌面。

用户想看视频的时候,向手机输入语音“我想看视频”。

需要说明的是,本实施方式以手机中只设置有一个视频应用为例进行说明。当系统中有多个视频应用时,则用户可以说明该视频应用的名称,比如“我想通过a应用看视频”等。

手机的语音接收模块接收到“我想看视频”后,将该语音发送至语义解析模块,语义解析模块对该“我想看视频”语音进行语义解析后,得到语义指令“打开视频应用”。然后语义解析模块将“打开视频应用”发送给指令匹配模块。

指令匹配模块对该语义指令进行匹配,具体的,该指令匹配模块对该语义指令进行系统级语义指令、应用级语义指令和组件级语义指令的匹配,即指令匹配模块将该语义指令分别与系统级语音文本、应用级语音文本和当前界面上的语音用户界面组件的语音信息进行一一匹配,最终确定由系统执行该语义指令,则语义解析模块将该语义指令发给系统,由系统根据执行该语义指令,以实现视频应用的打开。

示例性的,系统执行完该语义指令后,该手机的用户界面具体如图7b所示。

需要说明的,系统级语义指令可以完成该视频应用的打开/关闭等。

进一步地,用户对该手机说“打开播放记录”,则语义解析模块解析得到语义指令“播放记录”,且指令匹配模块对该语义指令进行匹配后,确定该“打开播放记录”的执行主体为该视频应用,则语义解析模块将该“播放记录”语义指令发给该视频应用,由该视频应用执行该语义指令。该“播放记录”语义指令具体为应用注册好的应用级语义指令。

示例性的,该视频应用执行完该语义指令后,该手机的用户界面具体如图7c所示。

进一步地,用户输入语音“下滑”,则语义解析模块解析得到语义指令“下滑”,且指令匹配模块对该语义指令进行匹配后,确定该语义指令的执行主体为“list”语音用户界面组件,“下滑”为“list”语音用户界面组件自带的语义指令,语义解析模块将该语义指令发送给该“list”语音用户界面组件,由该“list”语音用户界面组件执行该语义指令,将播放历史记录列表自动下滑预设的像素。

示例性的,“list”语音用户界面组件执行完该语义指令后的该手机的用户界面具体如图7d所示。

进一步地,用户选中其中一个视频播放,比如用户输入语音“视频e”,则语义解析模块对该语义指令进行匹配后,确定该语义指令的执行主体为“list”语音用户界面组件,由该“list”语音用户界面组件执行该语义指令,该“list”语音用户界面组件的textview的字串即为item的点击语义指令,则如图7e所示,手机触发点击“视频e”组件的操作。“list”语音用户界面组件执行完该语义指令后的该手机的用户界面具体如图7f所示,该视频应用开始播放视频。

需要理解的是,对于图7a-7f,在视频画面(图像)的显示处,用多条不规则排列的横线示例性了具体的视频画面(图像),其并不是对具体视频画面(图像)的限定。

进一步地,在该视频应用播放视频的时候,该播放视频的界面上亦呈现有例如图7f所示的各种语音用户界面组件,以用于用户进行语音交互,其与图5b类似,此处不再赘述。

通过本申请实施例提供的语音交互方法,用户可以实现对该手机的全程进行语音控制,提高了语音交互的便捷性及提高了用户的体验。

综上所述,本申请实施例提供的语音交互方法,相比于现有技术中的例如小e等语音交互方法的实现,不仅可以实现系统级的语音交互,还可以实现应用级的语音交互和组件级的语音交互,极大地扩展了语音交互功能的应用范围,可以实现更为深度地语音交互,以及更为全面地语音交互,有效地提高了用户体验。

进一步地,本申请实施例提供的语音交互方法,避免了语音交互过程中的语义指令冲突的发生,可以更为准确地实现语音控制,提高了用户的体验。

另外,第三方开发者开发的应用可以基于本申请实施例提供的电子设备和语音用户界面组件实现语音交互功能,即扩展了电子设备的语音交互框架的开放功能,可以满足用户随时安装应用随时实现语音交互的需求,提高了用户体验。另外,如果第三方开发者想要实现其开发的应用的语音交互,则不需要为该应用再单独打造语音功能,降低了应用的开发成本。

进一步地,需要说明的是,本申请实施例提供的语音交互方法可以应用于多模态交互ui系统,具体的,请参见图8,该多模态交互ui系统包括多模态交互ui系统开发框架及组件,以及基于该多模态交互ui系统开发框架及组件的多种ui交互方式,该ui交互方式包括触控交互、遥控交互、语音交互、手势交互、注视交互等。其中,语音交互方式为基于本申请实施例提供的语音交互方法实现。另外,还可以进一步扩展其他类似的ui交互方式。

随着未来的多设备全场景,尤其是大屏摄像头的使用,可以便于注视交互的发展,另外,也便于手势交互的发展。该多模态的交互ui系统,可以大大地提升用户的体验。

参见图9,图9所示为根据本申请的一实施方式提供的电子设备900的结构示意图。电子设备900可以包括耦合到控制器中枢904的一个或多个处理器901。对于至少一个实施例,控制器中枢904经由诸如前端总线(fsb)之类的多分支总线、诸如快速通道互连(qpi)之类的点对点接口、或者类似的连接与处理器901进行通信。处理器901执行控制一般类型的数据处理操作的指令。在一实施例中,控制器中枢904包括,但不局限于,图形存储器控制器中枢(gmch)(图中未示出)和输入/输出中枢(ioh)(其可以在分开的芯片上)(图中未示出),其中gmch包括存储器和图形控制器并与ioh耦合。

电子设备900还可包括耦合到控制器中枢904的协处理器906和存储器902。或者,存储器902和gmch中的一个或两者可以被集成在处理器901内(如本申请中所描述的),存储器902和协处理器906直接耦合到处理器901以及控制器中枢904,控制器中枢904与ioh处于单个芯片中。

存储器902可以是例如动态随机存取存储器(dram)、相变存储器(pcm)或这两者的组合。

在一个实施例中,协处理器906是专用处理器,诸如例如高吞吐量mic处理器、网络或通信处理器、压缩引擎、图形处理器、gpgpu、或嵌入式处理器等等。协处理器906的任选性质用虚线表示在图9中。

在一个实施例中,电子设备900可以进一步包括网络接口(nic)903。网络接口903可以包括收发器,用于为电子设备900提供无线电接口,进而与任何其他合适的设备(如前端模块,天线等)进行通信。在各种实施例中,网络接口903可以与电子设备900的其他组件集成。网络接口903可以实现上述实施例中的通信单元的功能。

电子设备900可以进一步包括输入/输出(i/o)设备905。输入/输出(i/o)设备905可以包括:用户界面,该设计使得用户能够与电子设备900进行交互;外围组件接口的设计使得外围组件也能够与电子设备900交互;和/或传感器设计用于确定与电子设备900相关的环境条件和/或位置信息。

值得注意的是,图9仅是示例性的。即虽然图9中示出了电子设备900包括处理器901、控制器中枢904、存储器902等多个器件,但是,在实际的应用中,使用本申请实施例各方法的设备,可以仅包括电子设备900各器件中的一部分器件,例如,可以仅包含处理器901和nic903。图9中可选器件的性质用虚线示出。

在该电子设备900的存储器中可以包括用于存储数据和/或指令的一个或多个有形的、非暂时性计算机可读介质。计算机可读存储介质中存储有指令,具体而言,存储有该指令的暂时和永久副本。

本申请实施例中,该电子设备900具体可以是手机,该电子设备的存储器中存储的指令可以包括:由处理器中的至少一个单元执行时导致手机实施如前述提到的语音交互方法的指令。

参见图10,图10所示为根据本申请的一实施方式提供的soc(systemonchip,片上系统)1000的结构示意图。在图10中,相似的部件具有同样的附图标记。另外,虚线框是更先进的soc1000的可选特征。该soc1000可以被用于根据本申请实施例的任一电子设备。根据其所在的设备不同以及其内所存储的指令的不同,可以实现相应的功能。

在图10中,soc1000包括:互连单元1002,其被耦合至处理器1001;系统代理单元1006;总线控制器单元1005;集成存储器控制器单元1003;一组或一个或多个协处理器1007,其可包括集成图形逻辑、图像处理器、音频处理器和视频处理器;sram(静态随机存取存储器)单元1008;dma(直接存储器存取)单元1004。在一个实施例中,协处理器1007包括专用处理器,诸如例如网络或通信处理器、压缩引擎、gpgpu、高吞吐量mic处理器、或嵌入式处理器等等。

sram单元1008中可以包括用于存储数据和/或指令的一个或多个计算机可读介质。计算机可读存储介质中可以存储有指令,具体而言,存储有该指令的暂时和永久副本。该指令可以包括:由处理器中的至少一个单元执行时导致电子设备实施如前述所提到的语音交互方法的指令。

本申请实施例公开的机制的各实施例均可以以软件、硬件、固件或这些实现方法的组合等方式实现。本申请的实施例可实现为在可编程系统上执行的计算机程序或程序代码,该可编程程序包括至少一个处理器、存储器(或存储系统,包括易失性和非易失性存储器和/或存储单元)。

可将程序代码应用于输入指令,以执行文本描述的各功能并生成输出信息。可以按已知方式将输出信息应用于一个或多个输出设备。可以理解,在本申请的实施例中,处理系统可以是微处理器、数字信号处理器(dsp)、微控制器、专用集成电路(asic)等,和/或其任何组合。根据另一方面,处理器可以是单核处理器、多核处理器等,和/或其任何组合。

程序代码可以用高级程序化语音或面向对象的编程语音来实现,以便与处理器通信。在需要时,也可用汇编语音或机器语音来实现程序代码。事实上,文本中描述的机制不限于任何特定编程语音的范围。在任一情形下,该语音可以是编译语音或解释语音。

在一些情况下,所公开的实施例可以以硬件、固件、软件或其他任何组合来实现。所公开的实施例可以被实现为一个或多个暂时或非暂时性及其可读(例如,计算机可读)存储介质承载或存储在其上的指令,其可以由一个多个处理器读取和执行。例如,指令通过网络或气压计算机可读取介质分发。因此,机器可读取介质可以包括用于机器(例如,计算机)可读的形式存储或传输信息的任何机制,包括但不限于,软盘、光盘、光碟、只读存储器(cd-roms)、磁光盘、只读存储器(rom)、随机存取存储器(ram)、可擦除可编程只读存储器(eprom)、电可擦除可编程只读存储器(eeprom)、磁卡或光卡、闪卡、或用于利用因特网以电、光、声或其他形式的传播信号来传输信息(例如,载波、红外信号数字等)的有形的机器可读取存储器。因此,机器可读取介质包括适合于以机器可读的形式存储或传输电子指令或信息的任何类型的机器可读介质。

虽然通过参照本申请的某些优选实施方式,已经对本申请进行了图示和描述,但本领域的普通技术人员应该明白,以上内容是结合具体的实施方式对本申请所作的进一步详细说明,不能认定本申请的具体实施只局限于这些说明。本领域技术人员可以在形式上和细节上对其作各种改变,包括做出若干简单推演或替换,而不偏离本申请的精神和范围。

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