会员体验
专利管家(专利管理)
工作空间(专利管理)
风险监控(情报监控)
数据分析(专利分析)
侵权分析(诉讼无效)
联系我们
交流群
官方交流:
QQ群: 891211   
微信请扫码    >>>
现在联系顾问~
首页 / 专利分类库 / 乐器;声学 / 一种语音交互方法和电子设备

一种语音交互方法和电子设备

申请号 CN202311861406.4 申请日 2023-12-29 公开(公告)号 CN117894308A 公开(公告)日 2024-04-16
申请人 联通智网科技股份有限公司; 发明人 韦力诚; 赵敬霄; 张宁; 杨竟成;
摘要 本 申请 实施例 提供一种语音交互方法以及 电子 设备。方法应用于电子设备,方法包括:根据控制界面上事件元素与文本信息的绑定关系,标注所述事件元素对应的文本标注;获取控制语音;解析控制语音,获取语音文本;基于所述文本标注,确定所述语音文本对应的事件元素;根据所述语音文本,针对所述语音文本对应的事件元素进行控制操作。根据本申请实施例的方法,在进行语音控制前对控制界面中的元素进行标注,提高了语音控制时对页面元素识别的准确性,提高了语音控制时对页面多个重复元素的匹配效率。
权利要求

1.一种语音交互方法,其特征在于,所述方法应用于电子设备,所述方法包括:
根据控制界面上事件元素与文本信息的绑定关系,标注所述事件元素对应的文本标注;
获取控制语音;
解析控制语音,获取语音文本;
基于所述文本标注,确定所述语音文本对应的事件元素;
根据所述语音文本,针对所述语音文本对应的事件元素进行控制操作。
2.根据权利要求1所述的方法,其特征在于,所述方法还包括:
根据控制界面生成第一界面,显示第一界面,其中,所述第一界面与控制界面的显示内容相同,并且,所述第一界面中的元素,不会触发执行所述控制界面对应的事件;
识别用户针对所述第一界面上的元素的点击操作,根据所述用户点击的元素,获取所述绑定关系。
3.根据权利要求1或2所述的方法,其特征在于,所述方法还包括:
为所述文本标注添加辅助标签。
4.根据权利要求3所述的方法,其特征在于,所述辅助标签包括:所述文本标注的泛化的分词,和/或,所述文本标注的辅助拼音。
5.根据权利要求1‑4中任一项所述的方法,其特征在于,所述确定所述语音文本对应的事件元素,包括:
根据所述语音文本匹确定第一目标元素;
在所述第一目标元素无法处理所述语音文本对应的事件的情况下,确定所述第一目标元素向下的子元素;
判断所述子元素是否可以处理所述语音文本对应的事件且所述子元素不包含文本信息;
在所述子元素可以处理所述语音文本对应的事件且所述子元素不包含文本信息的情况下,确定所述子元素为所述语音文本对应的事件元素。
6.根据权利要求5所述的方法,其特征在于,所述确定所述语音文本对应的事件元素,还包括:
在所述子元素不可以处理所述语音文本对应的事件和/或所述子元素包含文本信息的情况下,确定所述第一目标元素向上的父容器;
判断所述父容器是否可以处理所述语音文本对应的事件且所述父容器不包含文本信息;
在所述父容器可以处理所述语音文本对应的事件且所述父容器不包含文本信息的情况下,确定所述父容器为所述语音文本对应的事件元素。
7.根据权利要求6所述的方法,其特征在于,所述确定所述语音文本对应的事件元素,还包括:
在所述父容器不可以处理所述语音文本对应的事件和/或所述父容器包含文本信息的情况下,确定所述父容器向下的不包含文本信息的第二目标元素;
判断所述第二目标元素是否可以处理所述语音文本对应的事件;
在所述第二目标元素可以处理所述语音文本对应的事件的情况下,确定所述第二目标元素为所述语音文本对应的事件元素。
8.根据权利要求1‑7中任一项所述的方法,其特征在于,所述方法还包括:
在所述语音文本对应的控制对象为播放器的情况下,启动播放器语音控制模
根据所述语音文本,针对所述播放器语音控制模块进行控制操作,通过所述播放器语音控制模块控制所述播放器,其中:
针对原生播放器应用,所述播放器语音控制模块通过模拟媒体会话控制事件和抢占音频焦点的形式实现播放控制;
和/或,
针对超文本标记语言网页播放器,所述播放器语音控制模块通过执行命令脚本,获取到网页音视频元素,适配所述网页音视频元素的播放和暂停。
9.一种电子设备,其特征在于,所述电子设备包括用于存储计算机程序指令的存储器和用于执行计算机程序指令的处理器,其中,当所述计算机程序指令被该处理器执行时,触发所述电子设备执行如权利要求1‑8中任一项所述的方法步骤。
10.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质中存储有计算机程序,当其在计算机上运行时,使得计算机执行如权利要求1‑8中任一项所述的方法。

说明书全文

一种语音交互方法和电子设备

技术领域

[0001] 本申请涉及计算机技术领域,特别涉及一种语音交互方法和电子设备。

背景技术

[0002] 随着智能座舱的发展,智能座舱的车载信息娱乐系统(In‑Vehicle Infotainment,IVI)的中控屏越来越普及且尺寸越来越大,同时智能座舱的信息娱乐应用不断丰富,通过触摸中控屏即可控制车内的各项功能,为用户提供了更加智能、便捷的操作体验。
[0003] 考虑到行车安全,语音控制可以解放双手,因此,IVI的人机交互界面(Human Machine Interface,HMI)提供了语音交互功能。“可见即可说”的语音交互已成为HMI的核心功能之一,用户只需要通过语音指令,即可实现对座舱页面“可见”元素的控制,从而为用户提供了更加智能、便捷和安全的驾驶体验。
[0004] “可见”元素的识别通常借助于系统的无障碍服务对屏幕的实时监控,并对当前页面元素的文本信息进行解析,将收到的语音指令与页面元素进行匹配,成功则触发模拟点击,失败则继续语音其他流程。不仅要准确识别可见元素的文本信息,而且需要正确的获取到可触发的事件。
[0005] 然而,由于HMI的内容丰富,很多功能和应用都由第三方提供,且越来越多的运营服务和个性化生态应用通过小程序或超文本标记语言(Hyper Text Markup Language,HTML)网页实现功能的快速上车。而借助IVI的语音控制服务存在局限性,无法完全还原HTML网页和小程序的页面元素,同时针对音乐和视频网页中最重要的播放器无法进行元素识别和控制,另外对于组合元素也存在文本信息与可点击属性不匹配的情况,从而导致语音控制无法模拟执行,使得“可见即可说”的作用范围和操控效率难以满足要求。发明内容
[0006] 针对如何提高语音控制的作用范围和操控效率的问题,本申请提供了一种语音交互方法和电子设备,本申请还提供一种计算机可读存储介质。
[0007] 本申请实施例采用下述技术方案:
[0008] 第一方面,本申请提供一种语音交互方法,所述方法应用于电子设备,所述方法包括:
[0009] 根据控制界面上事件元素与文本信息的绑定关系,标注所述事件元素对应的文本标注;
[0010] 获取控制语音;
[0011] 解析控制语音,获取语音文本;
[0012] 基于所述文本标注,确定所述语音文本对应的事件元素;
[0013] 根据所述语音文本,针对所述语音文本对应的事件元素进行控制操作。
[0014] 根据本申请实施例的方法,在进行语音控制前对控制界面中的元素进行标注,提高了语音控制时对页面元素识别的准确性,提高了语音控制时对页面多个重复元素的匹配效率。
[0015] 在第一方面的一种实现方式中,所述方法还包括:
[0016] 根据控制界面生成第一界面,显示第一界面,其中,所述第一界面与控制界面的显示内容相同,并且,所述第一界面中的元素,不会触发执行所述控制界面对应的事件;
[0017] 识别用户针对所述第一界面上的元素的点击操作,根据所述用户点击的元素,获取所述绑定关系。
[0018] 在第一方面的一种实现方式中,所述方法还包括:
[0019] 为所述文本标注添加辅助标签。
[0020] 在第一方面的一种实现方式中,所述辅助标签包括:所述文本标注的泛化的分词,和/或,所述文本标注的辅助拼音。
[0021] 在第一方面的一种实现方式中,所述确定所述语音文本对应的事件元素,包括:
[0022] 根据所述语音文本匹确定第一目标元素;
[0023] 在所述第一目标元素无法处理所述语音文本对应的事件的情况下,确定所述第一目标元素向下的子元素;
[0024] 判断所述子元素是否可以处理所述语音文本对应的事件且所述子元素不包含文本信息;
[0025] 在所述子元素可以处理所述语音文本对应的事件且所述子元素不包含文本信息的情况下,确定所述子元素为所述语音文本对应的事件元素。
[0026] 在第一方面的一种实现方式中,所述确定所述语音文本对应的事件元素,还包括:
[0027] 在所述子元素不可以处理所述语音文本对应的事件和/或所述子元素包含文本信息的情况下,确定所述第一目标元素向上的父容器;
[0028] 判断所述父容器是否可以处理所述语音文本对应的事件且所述父容器不包含文本信息;
[0029] 在所述父容器可以处理所述语音文本对应的事件且所述父容器不包含文本信息的情况下,确定所述父容器为所述语音文本对应的事件元素。
[0030] 在第一方面的一种实现方式中,所述确定所述语音文本对应的事件元素,还包括:
[0031] 在所述父容器不可以处理所述语音文本对应的事件和/或所述父容器包含文本信息的情况下,确定所述父容器向下的不包含文本信息的第二目标元素;
[0032] 判断所述第二目标元素是否可以处理所述语音文本对应的事件;
[0033] 在所述第二目标元素可以处理所述语音文本对应的事件的情况下,确定所述第二目标元素为所述语音文本对应的事件元素。
[0034] 在第一方面的一种实现方式中,所述方法还包括:
[0035] 在所述语音文本对应的控制对象为播放器的情况下,启动播放器语音控制模
[0036] 根据所述语音文本,针对所述播放器语音控制模块进行控制操作,通过所述播放器语音控制模块控制所述播放器,其中:
[0037] 针对原生播放器应用,所述播放器语音控制模块通过模拟媒体会话控制事件和抢占音频焦点的形式实现播放控制;
[0038] 和/或,
[0039] 针对超文本标记语言网页播放器,所述播放器语音控制模块通过执行命令脚本,获取到网页音视频元素,适配所述网页音视频元素的播放和暂停。
[0040] 第二方面,本申请提供一种电子设备,所述电子设备包括用于存储计算机程序指令的存储器和用于执行计算机程序指令的处理器,其中,当所述计算机程序指令被该处理器执行时,触发所述电子设备执行如第一方面所述的方法步骤。
[0041] 第三方面,本申请提供一种计算机可读存储介质,所述计算机可读存储介质中存储有计算机程序,当其在计算机上运行时,使得计算机执行如第一方面所述的方法。附图说明
[0042] 图1所示为根据本申请一实施例的控制界面示意图;
[0043] 图2所示为根据本申请一实施例的语音交互方法流程图
[0044] 图3所示为根据本申请一实施例的部分方法流程图;
[0045] 图4所示为根据本申请一实施例的部分方法流程图;
[0046] 图5所示为根据本申请一实施例的语音交互方法流程图;
[0047] 图6所示为根据本申请一实施例的语音交互装置结构示意图;
[0048] 图7为根据本申请一实施例的电子设备结构示意图。

具体实施方式

[0049] 为使本申请的目的、技术方案和优点更加清楚,下面将结合本申请具体实施例及相应的附图对本申请技术方案进行清楚、完整地描述。显然,所描述的实施例仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
[0050] 本申请的实施方式部分使用的术语仅用于对本申请的具体实施例进行解释,而非旨在限定本申请。
[0051] 由于第三方应用、小程序及HTML网页等不同功能应用的不断上车,显示页面(或称为控制面板)中组合元素存在文本信息和事件元素不匹配的情况越来越多。
[0052] 在本说明书的实施例中,根据元素是否可以触发事件执行,页面中的元素可以被划分为事件元素以及非事件元素。事件元素也可以称之为可点击元素,指的是控制界面上用户可以操控并触发对应事件的元素。例如,可以点击的文字、按钮、开关、箭头等。非事件元素指的是控制界面上用户无法操控、无法触发事件执行的元素。例如,仅用于内容展示的文字、图片、表格等。
[0053] 在本说明书的实施例中,根据展示内容的不同,页面中的信息可以被划分为文本信息以及非文本信息。文本信息指的是可以被识别的文本(例如,文字)。非文本信息元素指的是文本信息以外的信息(例如,线条、图片)。
[0054] 事件元素可以包含文本信息。例如,在某控制面板中包含点击后可触发事件执行的按钮A,按钮A上包含有文本信息(文本:“确定”)。按钮A为事件元素,其包含文本信息“确定”。
[0055] 针对事件元素包含文本信息的情况,在语音控制时,通过解析语音内容获取指示控制对象的文本信息,并进一步通过指示控制对象的文本信息匹配到事件元素所包含的文本信息,从而确定作为控制对象的事件元素。
[0056] 例如,通过解析语音内容“点击确定按钮”,可以匹配到按钮A上所包含的文本信息(文本:“确定”),从而可以确定当前的语音操作的控制对象为按钮A。
[0057] 但是,在某些控制面板中,事件元素并不包含文本信息,因此,在语音控制时,无法直接通过解析语音内容对应的文本信息来定位到需要控制的事件元素。
[0058] 例如,图1所示为根据本申请一实施例的控制界面示意图。
[0059] 如图1所示,控制界面包含元素:箭头101、开关102、开关103。箭头101、开关102、开关103可以在被点击后触发对应事件的执行,箭头101、开关102、开关103为事件元素。
[0060] 箭头101、开关102、开关103并不包含文本信息,在进行语音控制时,无法简单直接的通过文本信息匹配到箭头101、开关102、开关103,也就无法通过语音指示对箭头101、开关102、开关103进行操作。
[0061] 在一实施例中,可以通过描述其形状(例如,箭头、开关)或者执行动作(例如,进入、开启、关闭)来对不包含文本信息元素的事件元素进行语音控制。但是,在控制界面包含多个外观相同的事件元素时,通过描述形状或者执行动作的方式,无法定位到一个事件元素。
[0062] 例如,针对图1所示的控制界面,可以通过语音指令“点击箭头”来针对箭头101进行控制。但是,由于开关102、开关103的形状完全一致,通过语音指令“点击开关”进行控制时,无法区分控制对象是开关102、开关103中的哪一个。
[0063] 进一步的,针对包含文本信息的事件元素,可以通过其包含的文本信息进行语音控制,但是,在某些控制面板中,存在多个事件元素包含同样的文本信息的情况。
[0064] 例如,如图1所示,控制面板还包含按钮104、按钮105、按钮106、按钮107、按钮108、按钮109。按钮104、按钮105、按钮106、按钮107、按钮108、按钮109分别包含文本信息“低”114、“中”115、“高”116、“低”117、“中”118、“高”119。按钮104、按钮105、按钮106所包含的文本信息,分别与按钮107、按钮108、按钮109所包含的文本信息相同。通过语音指令“点击“高”按钮”进行控制时,无法区分控制对象是按钮106、按钮109中的哪一个。
[0065] 为了在语音控制过程中,可以准确快速的定位到作为控制对象的事件元素,本申请一实施例提出了一种语音交互方法,在该方法中,通过测试标定提高语音控制时对页面元素识别的准确性,提高语音控制时对页面多个重复元素的匹配效率。
[0066] 图2所示为根据本申请一实施例的语音交互方法流程图。
[0067] 电子设备执行图2所示的方法流程以实现测试标定。
[0068] S200,标注控制界面中的元素,包括,根据事件元素与文本信息的绑定关系,标注事件元素对应的文本标注。
[0069] 事件元素与文本信息的绑定关系,包括,事件元素与事件元素所包含的文本信息间的绑定关系,以及,事件元素与事件元素以外的文本信息间的绑定关系。
[0070] 事件元素对应的文本标注,可以是事件元素所绑定的文本信息的全部文本;也可以是事件元素所绑定的文本信息的部分文本;也可以是根据事件元素所绑定的文本信息的文本所生成的文本。
[0071] 例如,如图1所示,控制界面还包含文本信息:“文本1”111、“文本2”112、“文本3”113文本信息:“文本1”111、“文本2”112、“文本3”113为,事件元素箭头101、开关102、开关
103、按钮104、按钮105、按钮106、按钮107、按钮108、按钮109所包含的文本信息以外的文本信息。
[0072] 针对图1所示的控制界面的事件元素进行标注:
[0073] 将”文本1”111的文本信息绑定到箭头101上,标注箭头101对应的文本标注为“文本1”;
[0074] 将“文本2”112的文本信息绑定到开关102上,标注开关102对应的文本标注为“文本2”;
[0075] 将“文本3”113的文本信息绑定到开关103上,标注开关103对应的文本标注为“文本3”;
[0076] 将事件元素按钮104、按钮105、按钮106与“文本2”112的文本信息绑定,标注事件元素按钮104、按钮105、按钮106对应的文本标注分别为“文本2低”、“文本2中”、“文本2高”;
[0077] 将事件元素按钮107、按钮108、按钮109与“文本3”113的文本信息绑定,标注事件元素按钮107、按钮108、按钮109对应的文本标注分别为“文本3低”、“文本3中”、“文本3高”。
[0078] S210,获取控制语音。
[0079] S220,解析控制语音,获取语音文本。
[0080] S230,基于事件元素对应的文本标注,确定语音文本对应的事件元素。
[0081] S240,根据语音文本,针对语音文本对应的事件元素进行控制操作。
[0082] 例如,用户语音输入的控制语音的语音文本为“点击进入文本1的下一页面”。在S230中,基于箭头101对应的文本标注为“文本1”,根据语音文本中的“文本1”匹配到箭头101,从而确定语音文本“点击进入文本1的下一页面”所对应的控制对象为箭头101。在S240中,根据语音文本中的“点击进入下一页面”,对箭头101进行控制操作,控制操作为点击箭头101进入下一页面。
[0083] 根据本申请实施例的方法,在进行语音控制前对控制界面中的元素进行标注,提高了语音控制时对页面元素识别的准确性,提高了语音控制时对页面多个重复元素的匹配效率。
[0084] 进一步的,在实际应用场景中,在解析控制语音时,用户的发音特征(例如,方言、口音)以及用户说话的分词方式会影响到解析结果。并且,由于驾驶场景的复杂多变,车机的实际网络和流量情况存在诸多不确定性,需要在弱网或离线语音下实现“可见”功能的准确交互控制。
[0085] 为了在语音控制过程中,可以准确快速的定位到作为控制对象的事件元素,在S200的一种实现方式中,标注控制界面中的元素,还包括,为事件元素对应的文本标注添加辅助标签,以使得结合辅助标签的文本标注更符合用户实际语言习惯。例如,辅助标签包含用户所使用的方言的特殊发音方式,文本标注结合辅助标签后,其更符合用户所使用的方言的发音习惯。又例如,辅助标签包含用户自身的分词习惯,文本标注结合辅助标签后,其更符合用户实际语言习惯。
[0086] 具体的,在S230的一种实现方式中,辅助标签包括文本标注的泛化的分词和/或辅助拼音,以使得结合辅助标签后的文本标注更符合用户实际语言习惯。进一步的,在S230中,结合事件元素对应的文本标注以及文本标注的泛化的分词以及辅助拼音,采用双向匹配的方法对语音文本以及事件元素对应的文本标注进行匹配,以确定语音控制所针对的事件元素,从而提高匹配准确率,避免由用户口音、断句等不准所导致的匹配错误。
[0087] 具体的,在一实施例中,辅助拼音被保存到本地热词库,在热词库设计时重点处理了多义词和多音词的问题,避免了用户口音和断句的不同造成的识别偏差。
[0088] 进一步的,在实际应用场景中,不同的事件元素可能具备不同的触发方式。例如:按钮、开关的触发方式为点击;滑块的触发方式为滑动。为了在语音控制过程中,可以正确的对作为控制对象的事件元素进行控制,在S200的一种实现方式中,标注控制界面中的元素,还包括,标注事件元素对应的触发方式。进一步的,在S240中,根据操作内容,结合之前标注的事件元素对应的触发方式,针对控制对象对应的事件元素进行控制操作。
[0089] 进一步的,在实际应用场景中,控制界面上的某些元素具备可触发性,例如,某事件元素(按钮)被点击后会触发事件执行。但是,控制界面上的某些元素不具备可触发性,例如,点击独立于事件元素之外的文字、图片元素并不会触发事件执行。
[0090] 在进行语音控制时,控制对象仅针对具备可触发性的元素(事件元素)。因此,为了在语音控制过程中,区分可以控制的事件元素以及不可控制的其他元素,从而正确的对作为控制对象的事件元素进行控制,在S200的一种实现方式中,标注控制界面中的元素,还包括,标注事件元素的可触发属性。进一步的,在SS230中,基于元素是否被标注有可触发属性,确定元素是否为事件元素。
[0091] 进一步的,本领域的技术人员,可以根据实际情况设计S200的实现方式,本申请对此不做具体限制。
[0092] 例如,在一种实现方式中,电子设备识别控制界面中的文本信息以及事件元素,根据控制界面中文本信息以及事件元素的位置分布,获取事件元素与文本信息间的绑定关系,根据事件元素与文本信息间的绑定关系进行元素标注。
[0093] 又例如,在另一种实现方式中,电子设备识别控制界面中的文本信息以及事件元素,向用户进行展示,由用户输入文本信息以及事件元素间的绑定关系。电子设备根据用户输入进行元素标注。
[0094] 具体的,图3所示为根据本申请一实施例的部分方法流程图。
[0095] 电子设备执行图3所示的下述流程以标注事件元素。
[0096] S300,开启标注模式。
[0097] 本领域的技术人员,可以根据实际情况设计S300的触发方式,本申请对此不做具体限制。
[0098] 例如,在一实施例中,用户点击测试标定按钮,触发电子设备执行S300。
[0099] S310,根据控制界面生成第一界面,显示第一界面。
[0100] 第一界面与控制界面的显示内容相同,并且,在第一界面中,对应控制界面中事件元素的元素,并未关联对应的事件,即,第一界面中的元素,并不会触发控制界面对应的事件执行。
[0101] 例如,在一实施例中,在S310中,显示图1所示的界面内容。但是,基于S310所展示的界面内容,用户点击开关202,并不会触发对应的开启或关闭操作的执行。
[0102] S320,识别用户针对第一界面的点击操作,根据用户点击的元素,获取事件元素与文本信息之间的绑定关系。
[0103] S321,根据事件元素与文本信息之间的绑定关系,标注事件元素对应的文本标注。
[0104] 例如,针对图2所示的内容,用户连续点击“文本2”212以及开关202。则电子设备将“文本2”212绑定到开关202上,为开关202标注文本标注“文本2”。
[0105] 在S320的一种实现方式中,在用户选定文本信息时,可以选定单一文本或多个文本的组合。即,可以将单一文本信息绑定到事件元素,也可以将多个文本的组合信息绑定到事件元素。
[0106] 在S320的一种实现方式中,在用户选定元素时,电子设备识别用户选定的元素,展示该元素的已标注信息,从而用户可以根据展示的已标注信息,确定是否需要重新标注。例如,针对某事件元素,展示该事件元素所标注的文本标注、事件元素的可触发属性、事件元素所标注的文本标注的泛化的分词以及事件元素所标注的文本标注的辅助拼音。
[0107] S330,退出标注模式。
[0108] 进一步的,在实际应用场景中,控制界面上的文本信息以及事件元素并不是一成不变的。
[0109] 在一实施例中,当控制界面上的文本信息和/或事件元素发生变化时,重新对控制界面上的元素进行标注。
[0110] 例如,当控制界面上的文本信息的文本内容发生变化时,根据文本内容的变化,处理文本标注的泛化分词以及辅助拼音。
[0111] 又例如,当控制界面上的事件元素对应的事件发生变化时,根据事件变化重新绑定文本信息,根据新绑定的文本信息重新标注事件元素。
[0112] 进一步的,在实际应用场景中,针对小程序和HTML网页(例如,第五代HTML网页,简称为H5网页)等动态页面,由于页面内的元素是动态变化的,因此无法提前对页面内的元素进行标注。因此,在本申请一实施例中,针对小程序和H5网页等动态页面,通过采用采用责任链机制动态组合父容器内的元素属性以达到动态标定的目的。
[0113] 具体的,图4所示为根据本申请一实施例的部分方法流程图。
[0114] 在一实施例中,在检测到控制界面为动态页面(例如,H5网页)后,电子设备执行图4所示的下述流程以实现语音控制。
[0115] S400,获取控制语音。
[0116] S410,解析控制语音,获取语音文本。
[0117] S420,确定语音文本对应的目标元素。
[0118] S430,判断目标元素是否可以处理语音文本对应的事件。
[0119] 在一实施例中,目标元素不可以处理语音文本对应的事件,包括:
[0120] 目标元素无法触发事件执行(目标元素为非事件元素);
[0121] 或者,目标元素的触发方式与语音文本不匹配。例如,目标元素为滑块,触发方式为滑动,语音文本中包含的触发方式为点击。
[0122] 如果目标元素可以处理语音文本对应的事件,执行S431。
[0123] S431,将语音文本对应的事件分发到目标元素处理,即,根据语音文本,控制目标元素触发事件执行。
[0124] 如果目标元素不可以处理语音文本对应的事件,执行S440。
[0125] S440,确定目标元素向下的子元素。
[0126] S450,判断子元素是否可以处理语音文本对应的事件且子元素不包含文本信息。
[0127] 如果判断结果为是,即,子元素可以处理语音文本对应的事件且子元素不包含文本信息,执行S451。
[0128] S451,将语音文本对应的事件分发到子元素处理,即,根据语音文本,控制子元素触发事件执行。
[0129] 如果判断结果为否,即,子元素不可以处理语音文本对应的事件和/或子元素包含文本信息,执行S460。
[0130] S460,确定目标元素向上的父容器。
[0131] S470,判断父容器是否可以处理语音文本对应的事件且父容器不包含文本信息。
[0132] 如果判断结果为是,即,父容器可以处理语音文本对应的事件且父容器不包含文本信息,执行S471。
[0133] S471,将语音文本对应的事件分发到父容器处理,即,根据语音文本,控制父容器触发事件执行。
[0134] 如果判断结果为否,即,父容器不可以处理语音文本对应的事件和/或父容器包含文本信息,执行S480。
[0135] S480,确定父容器向下的,目标元素以外的,不包含文本信息的一个元素,以该元素作为目标元素,返回S430。
[0136] 进一步的,在一实施例中,在成功根据语音文本,控制父容器触发事件执行后,记录由最初的目标元素到当前触发事件执行的元素的责任链,以该责任链为成功模版。在后续进行语音控制时优先基于成功模板确定触发事件执行的元素。
[0137] 进一步的,在一实施例中,在判定元素不可以处理语音文本对应的事件和/或子元素包含文本信息(S450、S470)时,记录失败次数,当失败次数超过预设值时,停止继续尝试新的元素。
[0138] 进一步的,在图4所示实施例中,在目标元素不可以处理语音文本对应的事件时,首先尝试目标元素向下的子元素。在另一实施例中,在目标元素不可以处理语音文本对应的事件时,首先尝试目标元素向上的父容器。
[0139] 进一步的,在图4所示实施例中,在目标元素不可以处理语音文本对应的事件时,向下子元素以及向上父容器的尝试层数为1。在另一实施例中,可以设定其他尝试层数。例如,设置尝试层数为2,在目标元素不可以处理语音文本对应的事件时,尝试目标元素向下1层的子元素;在目标元素向下1层的子元素不可以处理语音文本对应的事件时,尝试目标元素向下2层的子元素(尝试向上的父容器时类似)。
[0140] 进一步的,在另一实施例中,根据汇总的成功链路层级数据,按照不同地址自动调整向上和/或向下尝试的层级范围(例如,1~3层)。
[0141] 进一步的,在一实施例中,为了正确的对特定应用(例如,播放器)进行语音控制,在一实施例中,针对该特定应用构造对应语音控制的语音控制模块。在针对该特定的应用进行语音控制时,并不基于该特定应用的原始控制界面进行语音控制,而是根据语音文本,对该特定的应用的语音控制模块进行控制,由语音控制模块对特定应用进行控制。这样,就可以有效避免由原始控制界面上元素识别或匹配错误导致的控制失败。
[0142] 具体的,在一实施例中,考虑到播放器是IVI上使用频次较高的应用,因此,针对播放器构造对应语音控制的播放器语音控制模块。
[0143] 图5所示为根据本申请一实施例的语音交互方法流程图。
[0144] 电子设备执行图5所示的方法流程以实现针对播放器的语音控制。
[0145] S500,获取控制语音。
[0146] S510,解析控制语音,获取语音文本。
[0147] S520,在语音文本对应的控制对象为播放器的情况下,启动播放器语音控制模块。
[0148] S530,根据语音文本,针对播放器语音控制模块进行控制操作,通过播放器语音控制模块控制播放器。
[0149] 具体的,在一实施例中,针对原生播放器应用,播放器语音控制模块通过模拟媒体会话控制(Session)事件和抢占音频焦点的形式实现播放控制。在本申请一实施例中,原生播放器应用指的是在IVI上安装的、可以在系统框架中独立运行的播放器应用。
[0150] 在一实施例中,针对HTML网页播放器(例如,H5网页播放器),播放器语音控制模块通过执行命令脚本,获取到网页音视频元素,适配网页音视频元素的播放和暂停。
[0151] 根据本申请实施例的方法,采用测试标定的方案,对车机所有应用页面包括第三方应用进行数据标定,无需代码侵入,同时通过采用焦点和命令脚本的方式,实现了对原生和HTML网页主流播放器控制的兼容适配,减少了各应用页面的功能适配和定制工作,提高了“可见”元素的作用范围和准确率。
[0152] 根据本申请实施例的方法,在标定数据的同时自动添加辅助标签,内容包括进行分词的解析和泛化、辅助拼音及双向匹配规则,通过辅助标签可提高在弱网或离线环境下“可见”元素的模糊匹配率。
[0153] 根据本申请实施例的方法,针对小程序和HTML网页等动态内容,采用动态链及事件分发机制可对文本信息和事件进行自适应调整,降低了网页漏匹配率,提高页面多个重复元素的匹配效率。
[0154] 本申请实施例的方法,建立在无侵入的解耦设计上,提高了车机上各场景下的可见语音交互作用范围和执行效率。
[0155] 进一步的,根据本申请实施例的语音交互方法,本申请一实施例还提出了一种语音交互装置。
[0156] 图6所示为根据本申请一实施例的语音交互装置结构示意图。
[0157] 如图6所示,语音交互装置包括:
[0158] 标注模块610,其用于标注控制界面中的元素。测试标定模块61的可以参照S200的实现。
[0159] 语音解析模块620,其用于获取控制语音,解析控制语音,获取语音文本。
[0160] 控制模块630,其用于:基于事件元素对应的文本标注,确定语音文本对应的事件元素;根据语音文本,针对语音文本对应的事件元素进行控制操作。控制模块630可以参照S230以及S240的实现。
[0161] 可选的,在一实施例中,标注模块610包含热词引擎模块611。热词引擎模块611用于为事件元素对应的文本标注添加辅助标签。具体的,在一实施例中,热词引擎模块611用于对事件元素对应的文本标注进行分词泛化,以获取事件元素对应的文本标注的泛化的分词,以及,针对事件元素对应的文本标注生成辅助拼音。
[0162] 可选的,在一实施例中,控制模块630包含动态链模块631。动态链模块631用于针对小程序和H5网页等动态页面,通过采用采用责任链机制动态组合父容器内的元素属性以达到动态标定的目的。动态链模块631可以参照图4所示实施例。
[0163] 可选的,在一实施例中,控制模块630包含播放器语音控制模块632。播放器语音控制模块632用于控制播放器。播放器语音控制模块632可以参照图5所示实施例。
[0164] 在本申请实施例的描述中,为了描述的方便,描述装置时以功能分为各种模块分别描述,各个模块的划分仅仅是一种逻辑功能的划分,在实施本申请实施例时可以把各模块的功能在同一个或多个软件和/或硬件中实现。
[0165] 具体的,本申请实施例所提出的装置在实际实现时可以全部或部分集成到一个物理实体上,也可以物理上分开。且这些模块可以全部以软件通过处理元件调用的形式实现;也可以全部以硬件的形式实现;还可以部分模块以软件通过处理元件调用的形式实现,部分模块通过硬件的形式实现。例如,检测模块可以为单独设立的处理元件,也可以集成在电子设备的某一个芯片中实现。其它模块的实现与之类似。此外这些模块全部或部分可以集成在一起,也可以独立实现。在实现过程中,上述方法的各步骤或以上各个模块可以通过处理器元件中的硬件的集成逻辑电路或者软件形式的指令完成。
[0166] 例如,以上这些模块可以是被配置成实施以上方法的一个或多个集成电路,例如:一个或多个特定集成电路(Application Specific Integrated Circuit,ASIC),或,一个或多个数字信号处理器(Digital Singnal Processor,DSP),或,一个或者多个现场可编程阵列(Field Programmable Gate Array,FPGA)等。再如,这些模块可以集成在一起,以片上装置(System‑On‑a‑Chip,SOC)的形式实现。
[0167] 本申请一实施例还提出了一种电子设备。
[0168] 图7为根据本申请一实施例的电子设备结构示意图。
[0169] 如图7所示,电子设备700包括用于存储计算机程序指令的存储器702和用于执行程序指令的处理器701,其中,当该计算机程序指令被该处理器701执行时,触发电子设备700执行如本申请实施例所述的方法步骤。
[0170] 具体的,在本申请一实施例中,上述一个或多个计算机程序被存储在上述存储器702中,上述一个或多个计算机程序包括指令,当上述指令被上述电子设备700执行时,使得上述电子设备700执行本申请实施例所述的方法步骤。
[0171] 可以理解的是,本申请实施例对电子设备700的结构描述并不构成对电子设备700的具体限定。在本申请另一些实施例中,电子设备700可以包括处理器701以及存储器702以外的其他部件。
[0172] 处理器701可以是片上装置SOC,该处理器701中可以包括中央处理器(Central Processing Unit,CPU),还可以进一步包括其他类型的处理器。
[0173] 处理器701涉及的处理器可以例如包括CPU、DSP、微控制器数字信号处理器,还可包括GPU、嵌入式神经网络处理器(Neural‑network Process Units,NPU)和图像信号处理器(Image Signal Processing,ISP),处理器还可包括必要的硬件加速器或逻辑处理硬件电路,如ASIC,或一个或多个用于控制本申请技术方案程序执行的集成电路等。此外,处理器可以具有操作一个或多个软件程序的功能,软件程序可以存储在存储介质中。
[0174] 处理器701可以包括一个或多个处理单元。例如:处理器可以包括应用处理器(application processor,AP),调制解调处理器,图形处理器(graphics processing unit,GPU),图像信号处理器(image signal processor,ISP),控制器,视频编解码器数字信号处理器(digital signal processor,DSP),基带处理器,和/或神经网络处理器
(neural‑network processing unit,NPU)等。其中,不同的处理单元可以是独立的部件,也可以集成在一个或多个处理器中。在一些实施例中,电子设备700也可以包括一个或多个处理器701。其中,控制器可以根据指令操作码和时序信号,产生操作控制信号,完成取指令和执行指令的控制。
[0175] 在一些实施例中,处理器701可以包括一个或多个接口。接口可以包括集成电路间(inter‑integrated circuit,I2C)接口,集成电路间音频(integrated circuit sound,I2S)接口,脉冲编码调制(pulse code modulation,PCM)接口,通用异步收发传输器(universal asynchronous receiver/transmitter,UART)接口,移动产业处理器接口(mobile industry processor interface,MIPI),通用输入输出(general‑purpose input/output,GPIO)接口,SIM卡接口,和/或USB接口等。其中,USB接口是符合USB标准规范的接口,具体可以是Mini USB接口,Micro USB接口,USB Type C接口等。USB接口可以用于连接充电器为电子设备充电,也可以用于电子设备与外围设备之间传输数据。
[0176] 电子设备700还可以包括外部存储器接口,外部存储器接口用于连接外部存储卡,例如Micro SD卡,实现扩展电子设备的存储能。外部存储卡通过外部存储器接口与处理器701通信,实现数据存储功能。例如将音乐,视频等文件保存在外部存储卡中。
[0177] 存储器702可以包括代码存储区和数据存储区。其中,代码存储区可存储操作系统。数据存储区可存储电子设备700使用过程中所创建的数据等。此外,存储器702可以包括高速随机存取存储器,还可以包括非易失性存储器,例如一个或多个磁盘存储部件,闪存部件,通用闪存存储器(universal flash storage,UFS)等。
[0178] 存储器702可以是只读存储器(read‑only memory,ROM)、可存储静态信息和指令的其它类型的静态存储设备、随机存取存储器(random access memory,RAM)或可存储信息和指令的其它类型的动态存储设备,也可以是电可擦可编程只读存储器(electrically erasable programmable read‑only memory,EEPROM)、只读光盘(compact disc read‑only memory,CD‑ROM)或其他光盘存储、光碟存储(包括压缩光碟、激光碟、光碟、数字通用光碟、蓝光光碟等)、磁盘存储介质或者其它磁存储设备,或者还可以是能够用于携带或存储具有指令或数据结构形式的期望的程序代码并能够由计算机存取的任何计算机可读介质。
[0179] 处理器701和存储器702可以合成一个处理装置,更常见的是彼此独立的部件。
[0180] 进一步的,本申请实施例阐明的设备、装置、模块,具体可以由计算机芯片或实体实现,或者由具有某种功能的产品来实现。
[0181] 本领域内的技术人员应明白,本申请实施例可提供为方法、装置、或计算机程序产品。因此,本发明可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本发明可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质上实施的计算机程序产品的形式。
[0182] 在本申请所提供的几个实施例中,任一功能如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本申请各个实施例所述方法的全部或部分步骤。
[0183] 具体的,本申请一实施例中还提供一种计算机可读存储介质,该计算机可读存储介质中存储有计算机程序,当其在计算机上运行时,使得计算机执行本申请实施例提供的方法。
[0184] 本申请一实施例还提供一种计算机程序产品,该计算机程序产品包括计算机程序,当其在计算机上运行时,使得计算机执行本申请实施例提供的方法。
[0185] 本申请中的实施例描述是参照根据本申请实施例的方法、设备(装置)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
[0186] 这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
[0187] 这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
[0188] 还需要说明的是,本申请实施例中,“至少一个”是指一个或者多个,“多个”是指两个或两个以上。“和/或”,描述关联对象的关联关系,表示可以存在三种关系,例如,A和/或B,可以表示单独存在A、同时存在A和B、单独存在B的情况。其中A,B可以是单数或者复数。字符“/”一般表示前后关联对象是一种“或”的关系。“以下至少一项”及其类似表达,是指的这些项中的任意组合,包括单项或复数项的任意组合。例如,a,b和c中的至少一项可以表示:a,b,c,a和b,a和c,b和c或a和b和c,其中a,b,c可以是单个,也可以是多个。
[0189] 本申请实施例中,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、商品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、商品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、商品或者设备中还存在另外的相同要素。
[0190] 本申请可以在由计算机执行的计算机可执行指令的一般上下文中描述,例如程序模块。一般地,程序模块包括执行特定任务或实现特定抽象数据类型的例程、程序、对象、组件、数据结构等等。也可以在分布式计算环境中实践本申请,在这些分布式计算环境中,由通过通信网络而被连接的远程处理设备来执行任务。在分布式计算环境中,程序模块可以位于包括存储设备在内的本地和远程计算机存储介质中。
[0191] 本申请中的各个实施例均采用递进的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于装置实施例而言,由于其基本相似于方法实施例,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
[0192] 本领域普通技术人员可以意识到,本申请实施例中描述的各单元及算法步骤,能够以电子硬件、计算机软件和电子硬件的结合来实现。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本申请的范围。
[0193] 所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的装置、装置和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
[0194] 以上所述,仅为本申请的具体实施方式,任何熟悉本技术领域的技术人员在本申请公开的技术范围内,可轻易想到变化或替换,都应涵盖在本申请的保护范围之内。本申请的保护范围应以所述权利要求的保护范围为准。