CN114968164A - 语音处理方法、系统、装置和终端设备 - Google Patents
语音处理方法、系统、装置和终端设备 Download PDFInfo
- Publication number
- CN114968164A CN114968164A CN202110212473.8A CN202110212473A CN114968164A CN 114968164 A CN114968164 A CN 114968164A CN 202110212473 A CN202110212473 A CN 202110212473A CN 114968164 A CN114968164 A CN 114968164A
- Authority
- CN
- China
- Prior art keywords
- page
- information
- voice
- matching
- display interface
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
- 238000003672 processing method Methods 0.000 title abstract description 14
- 238000000034 method Methods 0.000 claims abstract description 59
- 230000009471 action Effects 0.000 claims description 23
- 238000012545 processing Methods 0.000 claims description 16
- 238000004458 analytical method Methods 0.000 claims description 10
- 238000010191 image analysis Methods 0.000 claims description 4
- 238000004088 simulation Methods 0.000 claims description 4
- 230000000007 visual effect Effects 0.000 claims description 4
- 230000006870 function Effects 0.000 abstract description 13
- 238000012986 modification Methods 0.000 abstract description 2
- 230000004048 modification Effects 0.000 abstract description 2
- 230000000694 effects Effects 0.000 description 13
- 238000010586 diagram Methods 0.000 description 12
- 230000003993 interaction Effects 0.000 description 8
- 238000007667 floating Methods 0.000 description 6
- 238000004590 computer program Methods 0.000 description 4
- 230000002085 persistent effect Effects 0.000 description 4
- 238000004422 calculation algorithm Methods 0.000 description 3
- 238000005516 engineering process Methods 0.000 description 3
- 230000003287 optical effect Effects 0.000 description 3
- 230000002618 waking effect Effects 0.000 description 3
- 241000282376 Panthera tigris Species 0.000 description 2
- 238000013459 approach Methods 0.000 description 2
- 238000013475 authorization Methods 0.000 description 2
- 238000004364 calculation method Methods 0.000 description 2
- 238000004891 communication Methods 0.000 description 2
- 238000012937 correction Methods 0.000 description 2
- 230000007774 longterm Effects 0.000 description 2
- 238000013507 mapping Methods 0.000 description 2
- 230000004044 response Effects 0.000 description 2
- 238000012546 transfer Methods 0.000 description 2
- 241001465754 Metazoa Species 0.000 description 1
- 230000006399 behavior Effects 0.000 description 1
- 230000005540 biological transmission Effects 0.000 description 1
- 238000012790 confirmation Methods 0.000 description 1
- 238000013135 deep learning Methods 0.000 description 1
- 239000002355 dual-layer Substances 0.000 description 1
- 238000005538 encapsulation Methods 0.000 description 1
- 238000009432 framing Methods 0.000 description 1
- 230000003562 morphometric effect Effects 0.000 description 1
- 238000013425 morphometry Methods 0.000 description 1
- 230000008569 process Effects 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
- 238000000638 solvent extraction Methods 0.000 description 1
- 230000003068 static effect Effects 0.000 description 1
- 230000000153 supplemental effect Effects 0.000 description 1
- 210000003813 thumb Anatomy 0.000 description 1
- 230000001960 triggered effect Effects 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/16—Sound input; Sound output
- G06F3/167—Audio in a user interface, e.g. using voice commands for navigating, audio feedback
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F18/00—Pattern recognition
- G06F18/20—Analysing
- G06F18/22—Matching criteria, e.g. proximity measures
-
- G—PHYSICS
- G10—MUSICAL INSTRUMENTS; ACOUSTICS
- G10L—SPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
- G10L17/00—Speaker identification or verification techniques
- G10L17/22—Interactive procedures; Man-machine interfaces
- G10L17/24—Interactive procedures; Man-machine interfaces the user being prompted to utter a password or a predefined phrase
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- Audiology, Speech & Language Pathology (AREA)
- General Engineering & Computer Science (AREA)
- Human Computer Interaction (AREA)
- Data Mining & Analysis (AREA)
- Health & Medical Sciences (AREA)
- Multimedia (AREA)
- General Physics & Mathematics (AREA)
- Life Sciences & Earth Sciences (AREA)
- Artificial Intelligence (AREA)
- Bioinformatics & Cheminformatics (AREA)
- Evolutionary Computation (AREA)
- Evolutionary Biology (AREA)
- Computer Vision & Pattern Recognition (AREA)
- General Health & Medical Sciences (AREA)
- Bioinformatics & Computational Biology (AREA)
- Acoustics & Sound (AREA)
- User Interface Of Digital Computer (AREA)
Abstract
公开了一种语音处理方法、系统、装置和终端设备。所述方法,包括获取语音输入;获取所述语音输入的识别结果;获取当前应用程序的显示界面;解析所述显示界面以获取可操作页面对象和页面信息;将所述识别结果与所述页面信息进行匹配;基于匹配结果从所述可操作页面对象中确定待操作页面对象;以及针对所述页面对象生成与所述语音输入相对应的控制指令。本发明通过利用操作系统现有功能进行页面信息采集,将采集信息与识别出的用户语音相匹配,根据匹配结果生成相应的页面控制指令,能够在对页面及其关联应用无修改的情况下实现一套通用的语音控制方案。
Description
技术领域
本公开涉及语音交互领域,尤其涉及一种语音处理方法、系统、装置和终端设备。
背景技术
图形用户界面是人与机器之间传递和交换信息的媒介,但人与智能设备的图形用户界面之间的交互,相比于人与人之间的沟通质量仍然相距甚远。
随着技术的升级,人们与智能设备的交互方式从按键、触摸屏、遥控器逐步升级到了语音、视觉等多种形态融合交互的智能方式。但是现存市场上大量的应用程序仍只支持传统的触摸屏、按键、遥控器的交互方式,为了使用这些应用支持语音控制操作,通常需要修改应用,用于接入设备端语音助手提供的语音控制SDK(软件开发工具包)。通过SDK,将语音指令和应用界面操作进行映射,由此实现针对应用界面的语音控制。此种方式需要与每个应用对接,成本高,周期长,且在界面变化后需要重新适配,通用性差。
为此,需要一种通用的语音处理方案。
发明内容
本公开要解决的一个技术问题是提供一种通用的语音处理方案,该方案通过利用操作系统现有功能进行页面信息采集,将采集信息与识别出的用户语音相匹配,根据匹配结果生成相应的页面控制指令,由此能够在对页面及其关联应用无修改的情况下实现一套普适的语音控制方案。
根据本公开的第一个方面,提供了一种语音处理方法,包括:获取语音输入;获取所述语音输入的识别结果;获取当前应用程序的显示界面;解析所述显示界面以获取可操作页面对象和页面信息;将所述识别结果与所述页面信息进行匹配;基于匹配结果从所述可操作页面对象中确定待操作页面对象;以及针对所述页面对象生成与所述语音输入相对应的控制指令。
可选地,所述识别结果包括:所述语音输入包含的文字信息;和/或所述语音输入包含的语调、语态和/或声纹信息。其中,所述文字信息包括:与所述页面信息相对应的文字;和/或与操作动作相对应的文字。
可选地,获取当前应用程序的显示界面包括:获取所述语音输入时显示单元所显示的页面。
可选地,该方法还包括:参考所述页面信息,确定所述语音输入的识别结果。
可选地,获取所述语音输入时显示单元所显示的页面包括:获取所述语音输入时的可操作窗口;和/或获取所述语音输入时的所有窗口。
可选地,解析所述显示界面以获取可操作页面对象和页面信息包括:获取所述页面的页面布局信息;和/或采集所述页面包含的可操作页面元素的信息,可以将可操作页面元素看作是页面对象,并可以进一步获取可操作页面元素的层级结构信息。
可选地,该方法还包括:基于所述层级结构确定最上层的可操作页面元素;以及在所述识别结果仅包括操作动作的情况下,生成针对所述最上层的可操作页面元素的控制指令。
可选地,该方法还包括:在语音识别结果仅包括针对特定页面元素的操作的情况下,生成针对所述特定页面元素的控制指令。
可选地,采集所述语音输入所针对页面的页面信息包括如下至少一项:利用操作系统无障碍服务也称为辅助服务来采集所述页面信息;通过操作系统中获取页面信息的其它方法来采集所述页面信息;以及通过修改操作系统来采集所述页面信息。
可选地,获取所述语音输入时显示单元所显示的页面包括:采集所述页面的图像信息;以及对采集的图像进行图像识别,以获取文本化的页面图像信息。采集所述页面的图像信息包括:仅采集页面本身的图像区域;和/或对采集的图像进行压缩,并使用压缩的图像进行图像识别。
可选地,所述控制指令包括:在所述识别结果仅包括页面对象时执行的默认操作指令;基于所述识别结果和/或匹配结果确定的指令;和/或实现基于匹配结果确定的所述指令的前序指令。
可选地,将所述识别结果与所述页面信息进行匹配包括:将所述识别结果与获取的页面文字信息进行匹配;和/或将所述识别结果与获取的页面信息所对应文字进行匹配。
可选地,将所述识别结果与所述页面信息进行匹配还包括:获取采集的页面信息的补充信息;以及将所述识别结果与获取的页面信息连同所述补充信息进行匹配。
可选地,针对所述页面对象生成与所述语音输入相对应的控制指令包括:生成针对所述页面屏幕的模拟操作指令;和/或效果相当于调用元素代码的命令。
可选地,获取当前应用程序的显示界面,并解析所述显示界面以获取可操作页面对象和页面信息包括:在所述当前应用程序开启或进入所述显示界面后,获取所述当前应用程序的显示界面以解析所述显示界面以获取可操作页面对象和页面信息。
可选地,该方法还包括:基于获取可操作页面对象和页面信息,生成候选语音操作,并且将所述识别结果与所述页面信息进行匹配包括:将所述识别结果与所述候选语音操作进行匹配。
可选地,在获取所述可操作页面对象和所述页面信息之后,生成针对所述可操作页面对象的操作语音提示;以及根据用户对所述操作语音提示的反馈,进行与所述操作语音提示对应操作。
可选地,将所述识别结果与所述页面信息进行匹配包括:由客户端对所述识别结果与所述页面信息进行本地匹配;以及在本地匹配失败或可信度低于阈值时,由服务器端对所述识别结果与所述页面信息进行云端匹配。
可选地,服务器端对当前应用程序的显示界面的截图进行图像分析和/或对采集的页面信息进行补充检索,以获取文本化的页面补充信息。
根据本公开的第二个方面,提出了一种语音处理服务器,包括:显示界面获取模块,用于获取目标终端当前应用程序的显示界面;解析模块,用于解析所述显示界面以获取可操作页面对象和页面信息;意图识别匹配模块,用于将语音识别的识别结果与获取的页面信息进行匹配,并且基于匹配结果确定待操作页面对象;以及指令下发模块,用于下发生成的针对所述页面对象的控制指令。
根据本公开的第三个方面,提供了一种语音操作方法,包括:接收用户的语音输入并获取当前应用程序的显示界面;基于生成的控制指令,对所述页面进行操作,其中,将从语音输入识别出的识别结果与显示界面的页面信息进行匹配以从显示界面的可操作页面对象中确定待操作页面对象,并基于所述待操作页面对象和指令,生成针对所述页面对象的控制指令,其中解析所述显示界面以获取所述可操作页面对象和所述页面信息。
根据本公开的第四个方面,提供了一种终端设备,包括:麦克风,用于获取用户的语音输入;处理器,用于响应于获取所述语音输入获取当前应用程序的显示界面,并基于生成的控制指令,对所述页面进行操作;以及显示装置,用于显示所述图像用户界面,以基于所述控制指令对所述页面进行操作的结果页面,其中,将从语音输入识别出的识别结果与显示界面的页面信息进行匹配以从显示界面的可操作页面对象中确定待操作页面对象,并基于所述待操作页面对象和指令,生成针对所述页面对象的控制指令,其中解析所述显示界面以获取所述可操作页面对象和所述页面信息。
根据本公开的第五个方面,提供了一种语音处理装置,包括:语言输入获取单元,用于获取语音输入;识别单元,用于获取所述语音输入的识别结果;显示界面获取单元,用于获取当前应用程序的显示界面;解析单元,用于解析所述显示界面以获取可操作页面对象和页面信息;匹配单元,用于将所述识别结果与所述页面信息进行匹配;对象确定单元,用于基于匹配结果从所述可操作页面对象中确定待操作页面对象;以及指令生成单元,用于针对所述页面对象生成与所述语音输入相对应的控制指令。
根据本公开的第六个方面,提供了一种计算设备,包括:处理器;以及存储器,其上存储有可执行代码,当可执行代码被处理器执行时,使处理器执行如上述第一方面所述的方法。
根据本公开的第七个方面,提供了一种非暂时性机器可读存储介质,其上存储有可执行代码,当可执行代码被电子设备的处理器执行时,使处理器执行如上述第一方面所述的方法。
由此,本发明提出了一种通用的语音控制图形用户界面的方案。该方案通过主动采集页面信息,并将其与识别语音相匹配,能够在对目标页面或应用无改动的情况下,直接利用操作系统自带的功能(例如,辅助服务功能)实现针对各类页面的语音控制。上述方案可以与图像识别进一步结合,以提升语音控制的智能性。
附图说明
通过结合附图对本公开示例性实施方式进行更详细的描述,本公开的上述以及其它目的、特征和优势将变得更加明显,其中,在本公开示例性实施方式中,相同的参考标号通常代表相同部件。
图1示出了根据本发明一个实施例的语音处理方法的示意性流程图。
图2示出了当前页面显示的一个例子。
图3示出了页面显示多个窗口的例子。
图4示出了语音控制页面操作的一个例子。
图5示出了根据本发明一个实施例的语音处理系统的组成示意图。
图6示出了根据本发明一个实施例的语音操作方法的示意性流程图。
图7示出了根据本发明一个实施例可用于实现上述语音处理方法的计算设备的结构示意图。
具体实施方式
下面将参照附图更详细地描述本公开的优选实施方式。虽然附图中显示了本公开的优选实施方式,然而应该理解,可以以各种形式实现本公开而不应被这里阐述的实施方式所限制。相反,提供这些实施方式是为了使本公开更加透彻和完整,并且能够将本公开的范围完整地传达给本领域的技术人员。
图形用户界面(Graphical User Interface,简称GUI,又称图形用户接口)是指采用图形方式显示的计算机操作用户界面。图形用户界面是一种人与计算机通信的界面显示格式,允许用户使用鼠标或触屏等输入设备操纵屏幕上的图标或菜单选项,以选择命令、调用文件、启动程序或执行其它一些日常任务。
图形用户界面是人与机器之间传递和交换信息的媒介,但人与智能设备的图形用户界面之间的交互,相比于人与人之间的沟通质量仍然相距甚远。随着技术的升级,人们与智能设备的交互方式从按键、触摸屏、遥控器逐步升级到了语音、视觉等多种形态融合交互的智能方式。但是现存市场上大量的应用程序仍只支持传统的触摸屏、按键、遥控器的交互方式,为了使用这些应用支持语音控制操作,通常需要修改应用,用于接入设备端语音助手提供的语音控制SDK。通过SDK,将语音指令和应用界面操作进行映射,由此实现针对应用界面的语音控制。此种方式需要与每个应用对接,成本高,周期长,且在界面变化后需要重新适配,通用性差。
提供图形界面的程序通过特定规则的代码或配置文件,将程序想要在操作系统上显示的效果传递给操作系统,操作系统将页面描述信息解析后绘制渲染出图形界面,因此操作系统原本就有页面布局信息。
为此,本发明提出了一种改进的语音处理方案,该方案通过利用操作系统现有功能进行页面信息采集,将采集信息与用户语音输入相匹配,并根据匹配结果生成相应的页面控制指令,由此能够在无需对页面及其相关应用进行修改的情况下实现一套通用的语音控制方案。
图1示出了根据本发明一个实施例的语音处理方法的示意性流程图。
在步骤S110,获取语音输入。在步骤S120,获取所述语音输入的识别结果。即,可以自行识别语音输入所对应的文字信息(或从诸如专门的识别服务器获取上述文字信息),并提取其中有意义的内容作为识别结果。通常情况下,可以将所有识别的文字都看作是所述语音输入的识别结果。所述文字信息可以包括:与所述页面信息相对应的文字;和/或与操作动作相对应的文字。与页面信息对应的文字是能够通过文字本身与页面信息的关联性(亦或是匹配性)来确定控制对象的文字。这些文字如下所述可以是页面对象本身的名字,或是其包含或是关联的内容。由此,本发明的语音处理方案可以允许用户的语音输入仅包括其想控制的对象(例如,参见图2的“XX大侦探”)、仅包括动作本身(例如,“向下翻”或是“播放”),或是同时包括其两者(“播放XX大侦探”)。
某些实施例中,还可以识别语音输入中除了文字信息之外的其他(隐含)信息。例如,可以识别语言输入中所包含的声纹信息,以确定用户身份。确定的用户身份例如可以载入相应的用户偏好,或是给予相应的操作权限(例如,青少年模式下的时间或是内容控制)。再例如,可以识别语言输入中所包含的语调信息,由此判断用户的当前状态(例如,平常、亢奋、疲倦等)并基于上述状态的判断给出反馈。还可以识别语言输入中所包含的语态信息,例如用户说话的习惯(比如,喜欢用把字句、被字句等)并基于上述状态的判断给出反馈。
在步骤S130,获取当前应用程序的显示界面。在此,“当前”可以指代语音输入时的“当前”,即获取语音输入时所显示应用程序的界面。在步骤S140,解析所述显示界面以获取可操作页面对象和页面信息。在步骤S150,将所述识别结果与所述页面信息进行匹配。在步骤S160,基于匹配结果从所述可操作页面对象中确定待操作页面对象。在步骤S170,针对所述页面对象生成与所述语音输入相对应的控制指令。
在此,首先应该明确的是该方法中获取用户语音输入是用户针对终端设备的当前应用程序的显示界面(例如,当前显示的页面内容,在某些情况下,也可以是当前没有被显示的其他窗口)而发出的语音指令。换句话说,直接获取用户语音输入的应该是终端设备所配备的麦克风,或者是与终端设备通信的麦克风,例如终端设备遥控器上的麦克风等。
其次,相比于抽象意义上的用于进行人机交互的“界面(interface)”,实际采集的页面信息是终端设备的显示屏幕上显示的页面(page)信息。图2示出了当前页面显示的一个例子。如图所示,示出的页面可以是智能电视上安装的某视频APP的主页。该页面位于一个全屏显示的窗口内(即,该终端图形用户界面的当前可见部分就是图2所示的视频APP主页),并且其内可以包括多个可操作的页面元素。在此,“页面对象”可以指代可被操作,例如,被点击的一个个页面区域。在一个实施例中,可以将“页面对象”看作是如下将详述的Android系统中的“视图(View)”元素,即可操作页面元素。作为替换或者补充,也可以根据其他原理,例如页面布局信息和/或代码等来进行页面信息采集和对象划分。
在图2的例子中,页面最上方的搜索栏和登录按钮,第二行的各个频道(包括XX电视、精选、电视剧、综艺、VIP、电影、少儿、动漫、音乐、全部频道等)、以及频道栏之下的各个图片栏都可以看作是可操作页面对象,例如可操作页面元素。采集的页面信息可以包括如上所述的页面对象的相关信息。
由于采集到的页面信息通常包括了页面中各个可操作页面对象的信息,例如页面对象的名称,为此,当获取到用户语音“XX大侦探”之后并进行识别之后,可以在步骤S150将识别的语音信息所对应的文本内容“XX大侦探”与获取的页面信息(同样包括“XX大侦探”)相比较,并且基于语音识别文本内容与获取页面信息的匹配,在步骤S160确定对应的待操作页面对象,例如图2所示被框选显示的页面元素201(在此,框选是为了说明该元素是被确定的元素,而非暗示其必须进行加框的实际页面显示)。另外,上例中用户语音输入仅包括了特定操作对象,并未包括需要执行的操作。在此情况下,可以认为将针对被确定的页面元素执行默认操作,例如点击页面元素201并播放相应页面中的视频。在其他的例子中,如果用户的语音输入包括动词,例如“打开XX大侦探”,则可以在确定特定对象为页面元素201之后,对其执行与“打开”相对应的操作,例如,同样是模拟点击操作。换句话说,可以基于用户语音输入中包括的动作,来确定针对匹配页面元素所要执行的操作,并由此生成控制指令。
由此,应该理解的是,如果针对页面中各页面元素能够进行的操作仅为例如“点击”的唯一操作时,用户可以仅语音输入需要操作的对象,而无需额外限定动作,例如“打开”。随后,可以在步骤S170对选定的页面元素执行相应的控制指令,例如,点击页面元素201,以进入“XX大侦探”的对应页面。
另外,由上可知的是,图1所示的方法涉及终端设备(例如,智能手机、平板电脑、智能电视等)获取用户的语音输入以及终端设备的页面信息。在某些实施例中,如上步骤S110-S170可以都在终端设备本地执行。在其他实施例中,如上步骤S110-S170的至少一部分或全部,可由服务器或是边缘计算设备执行,即,可以在本地或是服务器的帮助下实现语音输入与页面元素的匹配,并由此实现针对页面元素的控制。
由此,本发明能够在不对目标应用本身进行修改的情况下(例如,不对图2所示的在智能电视上安装的“XX电视”视频播放APP本身进行修改),通过对页面信息的现场采集和语音输入匹配,来实现针对页面的语音控制。
在图1所示的语音处理方法中,需要在步骤S120将识别的识别结果与采集的页面信息进行匹配。为此,在一个实施例中,获取当前应用程序的显示界面可以是采集语音输入所针对页面的页面信息。即,根据语音输入那一时刻所针对的页面(及其页面状态)来进行采集(例如,获取表征页面各类信息的数据)。在其他实施例中,还可以缓存在前的页面,并存储页面访问路径,以方便用户针对在前页面上的页面元素发出语音指令。
在此,由于页面通常属于一个窗口,为此在一个实施例中,可以仅采集在前景的全屏窗口内的页面信息。由于窗口还包括对话框、状态栏窗口或是Activity窗口(Android系统中能够提供界面的窗口)等,为此在一个实施例中,可以获取当前界面上所有可见的窗口信息。图3示出了页面显示多个窗口的例子。如图所示,在“XXTV”APP界面显示的途中,系统检测到了该APP存在更新,此时弹出了提示框302,以提示用户是否需要升级新版本。在本发明的优选实施例中,可以采集该提示框对应窗口的信息,为此,当获取到用户“不升级”的语音输入时,可以基于识别的文本“升级”匹配至该提示框,基于“不”匹配至该提示框中的“否”,从而生成点击提示框中“否”按钮的虚拟指令,实现对页面弹出框的操作。
在此,获取的窗口信息可以包括窗口所属应用包名、窗口的类名,窗口大小,窗口的层级,通过应用包名和窗口的类名可以用来标示窗口特征。另外,除了获取窗口信息之外,还可以进一步获取窗口所包含页面的页面信息,例如页面元素信息。
即,从一个方面来讲,获取所述语音输入时显示单元所显示的页面可以包括:采集所述语音输入时可操作窗口的窗口信息;和/或采集所述语音输入时所有窗口的窗口信息。上述采集范围或者说语音指令能够控制的范围,可以是系统默认的范围,也可以根据用户选择进行确定。
从另一个方面来讲,解析所述显示界面以获取可操作页面对象和页面信息:获取所述页面的页面布局信息。例如,获取的页面可以是以约定规则封装的协议,可以基于协议规则来获取页面布局信息。所谓页面布局信息,是APP通过特定规则的代码或配置文件,将APP想要在操作系统上显示的效果传递给操作系统,操作系统将页面描述信息绘制渲染出图形界面,为此,可以从操作系统获取页面布局信息。
作为替换或者补充,解析所述显示界面以获取可操作页面对象和页面信息还可以包括:采集所述页面包含的可操作页面元素(例如,View元素)的信息。
进一步地,还可以获取所述可操作页面元素的层级结构。
在此,以Android系统为例,阐述对可操作页面元素及其层级结构的获取。在此,可操作页面元素可以是如上提及的View(视图)元素。在一个实施例中,可以利用Android系统自带的辅助服务获取页面布局信息,和View层级结构,以及页面上每个View的信息,这些信息可以包括如下的一项或多项:View的ID、View是否可见、View是否可滑动、View是否还有子View、View在屏幕上的绝对坐标、View在父节点的相对坐标、View是否可点击、View的类名、View的资源名称、View上面的可见文本信息、View的不可见描述文本信息等。可以在视图层级结构中进行查找,直至视图层级结构检索完毕,得到一个可点击区域列表和区域相关联的View信息。上述可点击区域列表可以具有约定的数据结构,并且例如可以与在前获取的窗口信息合并,作为某一窗口的页面信息,由此分别与语音输入识别文本的匹配操作。还可以找出页面中可操作的各个区域,以及与区域相关联的各个View信息,将各区域组装称一个列表。当语音指令命中View信息后,操作view相关联的区域。
在此,辅助服务又称为无障碍服务,无障碍服务是一种应用,可提供界面增强功能,来协助残障用户或可能暂时无法与设备进行全面互动的用户完成操作,比如点击,返回,长按,获取屏幕信息等能力。辅助服务方法如果在Android设备上如果没有预先获取权限,则需要用户授权才能使用。例如,需要执行本发明的应用可以预先获取读写Settings(设置)数据库的权限,由此使得应用代码中直接将该应用已经获取权限的信息写入Settings数据库中,这样就不需要在执行时获取用户授权。
利用辅助服务采集页面信息的方法不需要修改Android系统和对应的应用(例如,不需要修改“XXTV”和“X音”这两个应用本身),而仅需要将执行本发明的APP(例如,智能语音助手)直接在智能设备安装就能够实现本发明的通用语音控制图形用户界面的能力。
但是如果页面上的View是自定义View,并不是Android系统中已经定义好的继承自View父类的各类View(如TextView(文本视图)、Button(按钮)等),则通常无法直接利用辅助服务来直接获取View的文本信息。此时,可以通过修改Android系统,进行变量赋值来获取自定义View中的文本信息,由此仍然能够通过辅助服务获取自定义View的文本信息,从而实现本发明后续的匹配和控制操作。
除了如上利用操作系统辅助服务采集页面信息之外,作为替换或者补充,还可以如上所示通过系统原有分析页面布局信息的工具来采集页面信息,例如页面布局信息。
具体地,可以在Android系统中通过操作系统原有分析页面布局信息的程序如uiautomator、ViewServer来获取页面布局信息,这类方法获取窗口页面信息和可操作区域列表,也能获取足够的View相关信息(相比于通过辅助服务获取)。
如上两种方法可以在不修改安卓系统的情况下实现页面信息的获取。除此之外,作为替换或者补充,还可以通过修改操作系统来采集所述页面信息,例如修改操作系统将页面上的信息传给本发明的页面信息采集模块。该方法可以用于Android之外的系统,由此将用户可见的页面布局信息构造成类似的数据结构并传递给本发明的页面信息采集模块。另外,对于其它操作系统,还可由终端提供每个元素的文字、图片资源名称、位置、是否可点击是否可见等信息,也能实现根据本发明的通用语音控制效果。
在采集到页面信息,例如获取到如上所述的可点击区域列表,并且在识别出用户的语音输入之后,就可以进行采集信息与语音识别出的识别结果的匹配。在一个实施例中,上述匹配包括:将语音识别出的识别结果与采集到的页面文字信息进行匹配。
具体地,可以将可点击区域列表上面文字和语音识别的结果(即,语音识别出的文字信息)进行匹配(优选地,智能匹配),由此使得用户说出的文字能够与可点击区域列表中的文字相关联,由此确定要操作的页面对象。
在此,如图2所示,页面元素201包括图片和覆盖其上的文字,图片中包括花体的“XX大侦探”,文字则包括“撒明灯再上线,白XX背锅”这一针对最新一期内容的描述。换句话说,显示的页面上其实并不包括“XX大侦探”的文字,但由于除了获取页面上显示的文字之外,在页面信息采集阶段还可以获取页面上的View的类名、位置、资源名等,而这些信息中通常包括能够标示出可操作区域的文字内容(例如,资源名为“XX大侦探”),为此可点击区域列表中不仅可以包括页面上可见文字显示,还可以包括基于View的类名、位置、资源名等获取的不可见文字信息。在一个实施例中,可以将这些不可见文字信息制作成可点击区域列表中针对该页面元素的文字描述信息,由此提示识别文字与页面元素的匹配命中率,从而实现智能匹配。
作为替换或者补充,还可以将语音识别结果与采集到的页面信息所对应文字进行匹配。例如,有些常用的页面元素本身并不包括文字,例如短视频应用中的“点赞”按钮并不包括“点赞”的文字,而只是一张心形图片。此时,可以识别该资源在页面信息中的表示,例如资源id“digg_container”,并将其与表示的文字含义,例如“点赞”相关联。这样在用户说“点赞”时,服务端就可以下发对该资源id“digg_container”的对应元素的点击操作。
在某些实施例中,也可以要求应用出品方为该页面元素添加额外的描述信息文字“点赞”,或者由用户在终端配置该元素的语料。服务器上可以针对大量用户的配置来智能选择该地方触发的语料。端上用户可以选择自己配置的语料也可以选择服务器智能配置的语料。更进一步的,端上用户可以将几个操作组合成一句话,从而智能地得到一组指令来操作界面。
作为替换或者补充,还可以额外获取采集的页面信息的补充信息,并将语音识别结果与采集的页面信息连同所述补充信息进行匹配。例如,可以根据采集到的资源名“XX大侦探”进行后台搜索,以找出其主演名称,并将其例如作为文字补充信息添加至可点击区域列表。此时,用户就可以直接通过输入主演的名称,例如“撒XX”来实现针对页面元素201的点击和观看。换句话说,当用户想要观看“XX大侦探”时,其即可通过语音输入资源名“XX大侦探”来实现观看,也可以通过语音输入页面元素201中所包含的文字“撒明灯(例如,主演“撒XX”在本集中的戏称)”或是“白XX”来实现观看,还可以在包括如上所述的智能补充文字信息的情况下,通过语音输入页面不包括的“撒XX”来实现观看。
进一步地,可以在进行匹配命中时,甚至在语音识别阶段,参考页面信息内容对输入语音的识别结果进行纠错。例如,用户语音输入人名“李四”,但采集的页面信息中包括人名“李似(例如,某电视剧主演的名字)”,为此可以将识别结果修改为“李似”并进行元素匹配和后续控制操作,例如,点击该电视剧对应的页面元素以进行播放。
另外,如果用户说的话同时命中了多个可点击区域,可以默认操作匹配中的第一个,也可以在屏幕中将命令的区域标出,并再次提示用户选取哪一个。例如,可以在操作元素旁边显示标签(如悬浮窗形式的数字标签,无需修改三方APP页面)提示用户选择哪个标签,并基于用户回答进行操作。
另外,诸如浮窗的视觉和/或听觉提示也可以在多命中确认的其他场合中使用。为此,本发明的处理方法还可以包括提供与所述可操作页面对象和/或页面信息的视觉或听觉提示信息。由此,能够引导用户初次使用本发明实现的语音控制能够,或是方便用户的后续使用。
例如,可以在至少部分页面内容附近显示浮窗,并且浮窗的显示内容能够被语音控制。例如,如果页面字体太小,可以用放大字体的浮窗提示用户,说什么命令可以对应执行相关操作。例如,当视频播放页面中包括多部影片时,可以分别为每部音频显示标号,用户只要说“播放影片1”或是“003”(即,标号为003的音频)就可以播放对应影片。另外,还可以通过语音提示告诉用户,可以用语音指令操控哪些功能,这尤其适用于引导用户初次使用本发明的该语音控制功能。另外,还可以在界面上对应的区域生成语音提示,例如“请播放1”、“请播放003”等,以优化用户体验。为此,本发明的处理方法还可以包括:在获取所述可操作页面对象和所述页面信息之后,生成针对所述可操作页面对象的操作语音提示。随后,可以根据用户对所述操作语音提示的反馈,进行与所述操作语音提示对应操作。用户的上述反馈可以是对语音提示的回答,例如“好的”,对语音提示的全部或部分重复,例如“播放003”或是“003”,也可以是基于语音之外的其他方式的反馈,例如直接按压遥控器的“ok”键。
如上的描述中给出了用户的语音输入中包括动作对象的情况。上述动作对象可以通过语音识别,与采集的页面信息进行文本匹配,以确定要操作的页面元素。即便语音输入中仅包括动作对象而不包括具体动作,也可以对所确定的页面元素执行默认操作,例如点击、播放。
而在用户的语音输入中仅包括动作本身时,则需要确定上述动作的执行对象。上述动作可以包括非针对性动作和针对性动作。非针对性操作可以是对很多元素都可以做的操作,例如滑动操作。针对性操作可以是只对特定元素有效的操作,例如仅对音频视频播放元素有效的播放、暂停操作。
为此,在用户说出上滑、下滑、左滑、右滑或类似含义的语音命令后,可以基于所述层级结构确定最上层的可操作页面元素,并且在语音识别结果仅包括如上非针对性操作的情况下,生成针对所述最上层的可操作页面元素的控制指令。图4示出了语音控制页面操作的一个例子。在此例中,用户在例如显示图2所示的页面时输入语音“向上滑”,则可以在默认的语音结果识别区403中显示语音识别结果“向上滑”。此时,终端页面信息采集模块找到可滑动的View区域,同时存在多个可滑动View区域的话,计算出View的面积,选取最大的一个View,并借助例如辅助服务执行滑动操作或模拟用户屏幕滑动操作。如图所示,并非是整个页面向上滑动,而是保持登录搜索行和频道栏不动,将图片页面元素组合而成的最大的View进行向上滑动。
另外,还可以默认配置一个滑动长度和速度。如果对特殊页面可能默认的滑动参数不能达到滑动的效果,则可根据下发的滑动参数来执行模拟滑动操作。
应该明了的是,针对图2所示的当前页面,除了进行针对页面元素的点击(例如,根据用户语音输入“XX大侦探”点击页面元素201)以及针对页面进行诸如图4所示的滑动操作之外,还可以对页面中包含的频道元素进行语音控制操作。例如,用户可以说出“XX电视”,以直接进入“XX电视”的直播页面。在进入直播页面后,例如页面左侧可以包含节目单,此时用户可以通过直接说出节目名称、节目编号或是页面中包含的其他对应文字信息(例如,播放时间信息)来实现特定节目的观看。
而在页面中包括音视频播放操作页面等可以执行特殊操作的页面元素中,可以在用户语音输入针对性操作时(例如,“快进”、“快退”等)定位至这些元素,并对该元素执行模拟拖动进度条的操作,从而达到快进或快退等效果。
另外,应该明了的是,对View的操作类型不限于以上点击、滑动、拖动,还包括双击、长按、放大手势、缩小手势、等各种原本用户可以通过手来执行的操作。
进一步地,在一个优选实施例中,还可以采集页面中图像的信息,用于扩展语音匹配的范围。为此,采集所述语音输入所针对页面的页面信息包括:采集所述页面的图像信息;以及对采集的图像进行图像识别,以获取文本化的页面图像信息。采集所述页面的图像信息可以包括对当前页面进行截图,并进行图像分析。但由于直接截图得到的图片中包含大量的无用信息(每个页面元素的位置及其文字信息已经被采集)并且会增加传输或存储成本,为此可以仅截取有用部分,即获取页面中的图片本身,即八张图片。作为替换或者补充,还可以对采集的图像进行压缩(例如,压缩大小或是仅保留灰度信息),并使用压缩的图像进行图像识别。
对获取的图像,例如可以利用各种深度学习图像识别模型来进行识别,例如,识别出图像中包括的人物名称,动物名称,或是场景位置等。由此,例如,某幅图像中包括一只老虎,通过图像识别可以将“老虎”加入该页面元素的文字描述。由此,当用户语音输入“老虎”时,则可基于该补充的文字化图像信息,实现针对页面元素的匹配,从而进一步提示语音操作的智能性。
如前所示,用于执行的控制指令可以是基于匹配结果确定的指令。例如,在用户语音输入包括动作和对象时,基于匹配操作和匹配对象生成的指令,例如,基于“打开XX大侦探”生成的点击页面元素201的指令。当用户的语音输入仅包括动作时,则可根据动作是否具备针对性,来对特定页面元素或最大的页面元素执行操作。
而当用户的语音输入仅包括对象时,则可对匹配的对象执行默认的操作,例如,基于“XX大侦探”生成的点击页面元素201的指令。
进一步地,所述控制指令还可以包括实现基于匹配结果确定的所述指令的前序指令。例如,在进行视频全屏播放一段时间后,操作面板会被隐藏。此时,用户如果发出语音指令“暂停”,则会由于页面上没有显示“暂停”按钮而无法进行操作。此时,可以确定操作指令之前的前序指令,在此例中为点击屏幕,并在点击屏幕随之出现“暂停”按钮之后再执行暂停指令。换句话说,可以基于语音指令“暂停”生成“点击屏幕”以及“点击暂停按钮”两个组合指令,由此完成相应的语音控制操作。
进一步地,控制指令还可以包括与所获取属性不同的操作指令。例如,当获取的某一元素的属性为不可点击时,仍然可以在元素匹配时生成与该获取指令不同的操作指令(例如,生成点击指令),由此在属性标注有误时仍然能够实现对该元素的操作。
另外,应该理解的是,为了使得终端知晓用户当前说出的语音是针对终端当前页面所发出的语音指令,在实际使用中,用户可以在说出语音指令之前,首先说出唤醒词,例如在图2所示的显示界面中说出“XX精灵,XX大侦探”。这里,“XX精灵”是唤醒词,“XX大侦探”则是用户的语音输入。在捕捉到“XX精灵”的输入语音后,图2所示的界面中也可以显示例如在图4中示出的语音结果识别区403,并在其中显示语音识别结果(除去唤醒词之后的语音输入内容),例如“XX大侦探”。由于识别文本“XX大侦探”能够与采集的页面元素201的关联文字相匹配,因此可以由此针对匹配的页面元素201执行相应操作,例如在语音输入不包括操作动作的情况下,直接执行模拟点击操作。当然唤醒语音助手的方式不限于唤醒词,还包括其它如人脸识别唤醒、手势动作唤醒等方式。
在不同的实现中,生成针对所述页面元素的控制指令可以是生成针对所述页面元素的辅助服务控制指令,也可以是生成针对所述页面元素的模拟操作指令。
具体地,可以下发要点击的视图元素,并直接在辅助服务中执行对应的操作。这种情况下即使界面上有其它窗口覆盖在view之上也能大概率执行成功。另外也可以直接模拟在view所在的位置上执行点击效果,这样跟用户的点击屏幕的效果类似,但是如果view上被别的窗口覆盖就则可能无法执行。还可以修改操作系统,直接将点击的事件发送给要点击的View,这样即能在View被别的窗口覆盖的情况下收到点击事件,也能保证跟用户点击的效果一致。
进一步地,还可以为操作本身添加视觉效果(例如,添加悬浮窗形式的点击动效)以使得用户能从视觉上知晓其语音操作具体对哪个页面元素进行了操作。
应该理解的是,可以在获取到用户的语音输入的情况下,启动当前显示页面的获取与页面对象和信息的解析流程。但在某些情况下,也可以预先进行上述信息的获取。为此,获取当前应用程序的显示界面,并解析所述显示界面以获取可操作页面对象和页面信息可以包括:在所述当前应用程序开启或进入所述显示界面后,获取所述当前应用程序的显示界面以解析所述显示界面以获取可操作页面对象和页面信息。由此,能够实现对页面信息的提前收集,从而在用户进行语音输入时能够进行快速响应。上述提前收集在不同的实施例中,可由客户端(本地设备)或服务器端实现。
另外,同样为了进行快速反馈,还可以基于获取可操作页面对象和页面信息,生成候选语音操作。由此,将所述识别结果与所述页面信息进行匹配包括:将所述识别结果与所述候选语音操作进行匹配。上述候选语音操作的生成和匹配尤其适用于在本地设备上实现,即由客户端完成。如果匹配命中,则可直接执行,如果不命中,则可通过上传服务器端的方式来进行云端匹配。
如前所述,在某些实施例中,如上步骤S110-S170以及描述的其他附加步骤可以都在终端设备本地执行。在其他实施例中,如上步骤S110-S170及其他附加步骤的至少一部分或全部,可由服务器或是边缘计算设备执行,即,可以在本地或是服务器的帮助下实现语音输入与页面元素的匹配,并由此实现针对页面元素的控制。
例如,可以在客户端和服务器端进行合理分工,以在考虑到双方算力的情况下尽可能快速地给出语音输入的反馈。为此,在一个实施例,将所述识别结果与所述页面信息进行匹配可以包括:由客户端对所述识别结果与所述页面信息进行本地匹配;以及在本地匹配失败或可信度低于阈值时,由服务器端对所述识别结果与所述页面信息进行云端匹配。另外,对于一些需要大算力或检索的操作,则可分配给服务器端完成。为此,服务器端可以对当前应用程序的显示界面的截图进行图像分析和/或对采集的页面信息进行补充检索,以获取文本化的页面补充信息。
如下将结合图5描述执行本发明语音处理方法的一个优选系统。图5示出了根据本发明一个实施例的语音处理系统的组成示意图。如图所示,典型的语音处理系统500可以包括服务器510以及与所述服务器连接的多个终端520。各个终端520可以与服务器进行无线通信,以在服务器端实现匹配和指令下发。如图所示,终端520可以是智能电视、手机和平板电脑等终端。具体地,无论终端520具有何种形态,都可以如图所示包括语音助手模块521、页面信息采集模块522和页面操作执行模块523。
语音助手模块521可以起到常规的语音助手功能,或者可以作为附加功能并入常规的语音助手模块,该模块的功能可以通过在终端上安装专用的语音助手APP来获取。语音助手模块521在被唤醒后,可以将唤醒后获取的语音输入上传至服务器510。页面信息采集模块522用于采集页面信息并上传服务器510。页面操作执行模块523则可用于执行针对页面元素的控制指令。
在此,可以利用多种方式来唤醒语音助手,例如可以利用语音唤醒词、特定唤醒手势、人脸识别等等来进行唤醒。还可以与语音助手进行连续对话,比如刷短视频的时候可以多次说向下滑,以实现向下滑动指令的多次执行。
相应地,服务器510包括意图识别匹配模块512和指令下发模块513。意图识别匹配模块512用于将语音识别结果与采集的页面信息进行匹配,并且基于匹配结果确定待操作页面对象(和指令,例如默认指令或识别语音对应的指令)。指令下发模块513用于下发生成的针对所述页面对象的控制指令。
在图5的例示中,服务器510还包括语音识别模块511,用于对获取的用户语音输入执行语音识别操作。在其他实例中,语音识别操作也可以由服务器外的其他方执行,例如终端520还可以语音识别模块,用于对获取的用户语音输入执行语音识别操作。终端包括的语音识别模块可以是语音助手模块的一部分,换句话说,语音助手模块521可以包括至少部分的识别功能,以作为线上识别的替换或者补充。在其他实施例中,甚至可由边缘计算等来进行识别。
具体地,终端520的语音助手模块521在唤醒后将用户语音命令上传到服务器510,并且可以在唤醒后同时触发页面信息采集模块522将当前图形用户界面的页面对象信息(例如,页面元素信息)上传至服务端(也可称为“服务器”或“服务器端”)。终端的页面信息采集模块522于是可以将页面元素信息采集组合成协议上报至服务器(例如,以约定的数据结构和封装等)。
服务器端的语音识别模块511可以在对语音进行算法结果纠错时,参考页面信息内容,例如,将识别结果从“李四”修改为采集内容包括的“李似”。意图识别匹配模块512于是可以通过页面信息内容和语音识别结果进行匹配,识别出用户需要操作的页面元素和指令。指令下发模块513可以将由此生成的控制命令和元素下发至终端的页面操作执行模块523。页面操作执行模块523在接收到服务端下发的指令后对页面元素执行模拟控制操作。
如前所述,页面信息采集模块521可以采集图形用户界面所包含的页面信息,在此,页面信息采集模块521可以获取当前界面上所有的窗口信息,可以在端上排除非关键窗口后将关键用户可见可操作的窗口信息上传至服务端,也可以将所有窗口的页面信息都上传至服务端。可以如上所述通过辅助服务获取窗口信息,并且可以采集页面元素的信息,例如view的信息和视图层级信息,并且按照预定的数据结构生成可点击区域列表以进行符合规定协议的上传。
服务器端的意图识别匹配模块512可以通过将可点击区域列表上面文字和语音识别的结果做智能匹配,来将用户说出的文字与可点击区域列表上可见的文字或不可见的描述文字进行关联匹配。如果页面上没有可见的文字或不可见的描述文字,或是这些文字描述不充分,则还可以利用采集到的页面上的View的类名、位置、资源名等信息来标示大部分可操作的区域。可以在服务端针对这些区域提前进行文字补充描述,以实现文本智能匹配。如果用户说的话同时命中了多个可点击区域,那么可以在屏幕中将命令的区域标出,并再次提示用户选取哪一个。
如果用户说出诸如上滑、下滑、左滑、右滑或类似含义的非针对性语音命令,则经服务端的语音识别模块511、意图识别匹配模块512后将用户需要执行的滑动指令下发到终端,终端的页面信息采集模块522找到可滑动的View区域。如果同时存在多个可滑动View区域,则可计算View的面积,选取最大的一个View,通过辅助服务执行滑动操作。可以对常规页面执行默认配置的滑动长度和速度。在默认滑动参数针对特殊页面不能达到滑动效果,则可由服务端下发该页面配置的滑动参数,使得终端能够按下发的滑动参数来执行模拟滑动操作。
当用户在视频、音乐等有播放进度条的界面说出快进、快退或类似含义的针对性语音命令后,终端的页面信息采集模块522将页面信息传到服务端,经服务端语音识别模块511、意图识别匹配模块512后将用户需要执行的拖动指令和拖动的View下发到终端,终端通过辅助服务执行拖动进度条操作,从而达到快进或快退等效果。
另外,针对页面对象的控制,也可以利用语音指令或是遥控器操作指令之外的其他方式来实现。在一个实施例中,可以通过摄像头识别用户行为来进行页面操作,比如做一个全屏的动作,那么端上的语言助手模块就替换为手势识别模块,将手势做本地或者服务端识别后识别出是全屏播放的意思,然后服务器跟端上上传的页面信息做匹配,下发指令模拟点击全屏的那个view。另外,在短视频页面上还可以通过摄像头识别出用户翘大拇指的手势来给视频点赞。
在某些实施例中,可由客户端执行页面信息的采集和分析,可由客户端执行页面信息采集,并由服务器执行页面信息分析及后续匹配操作,甚至可以如下所述直接由服务器完成页面信息的采集分析和后续页面操作。
具体地,在某些实施例中,上述应用也可以是由服务器实现的云应用,换句话说,就是将应用部署在服务器上,并在服务器上运行,通过流化后显示在用户终端。此时,页面信息采集模块和页面操作执行模块都应该位于服务器之上。此时,一种语音处理系统同样可以包括服务器以及与所述服务器连接的多个终端。不同的是,终端仅包括:语音助手模块,用于在被唤醒后获取用户语音输入并上传所述服务器;以及显示模块,用于显示下发的页面。服务器则包括:页面信息采集模块,用于采集页面信息;意图识别匹配模块,用于将语音识别结果与采集的页面信息进行匹配,并且基于匹配结果确定待操作页面元素;页面操作执行模块,用于执行针对页面元素的控制指令;下发模块,用于下发各类页面,例如下发初始页面,以及经操作的云应用页面。本发明还可以实现为一种语音处理服务器,该服务器可以是图5所示系统中的服务器。该服务器包括:显示界面获取模块,用于获取目标终端当前应用程序的显示界面;解析模块,用于解析所述显示界面以获取可操作页面对象和页面信息;意图识别匹配模块,用于将语音识别的识别结果与获取的页面信息进行匹配,并且基于匹配结果确定待操作页面对象;以及指令下发模块,用于下发生成的针对所述页面对象的控制指令。
在一个实施例中,所述服务器还包括:语音识别模块,用于对获取的用户语音输入执行语音识别操作以获取所述语音输入的识别结果;和/或识别结果获取模块,用于直接获取所述语音输入的识别结果。
在一个实施例中,所述服务器还包括:修正模块,用于基于获取的页面信息修正所述语音识别的识别结果。
在一个实施例中,所述显示界面获取模块用于:获取所述终端上报的由本地采集的页面信息组合成的协议。
本发明还可以实现为一种语音操作方法。图6示出了根据本发明一个实施例的语音操作方法的示意性流程图。该方法尤其可由终端侧实现。在步骤S610,接收用户的语音输入并获取当前应用程序的显示界面。在步骤S620,基于生成的控制指令,对所述页面进行操作,其中,将从语音输入识别出的识别结果与显示界面的页面信息进行匹配以从显示界面的可操作页面对象中确定待操作页面对象,并基于所述待操作页面对象和指令,生成针对所述页面对象的控制指令,其中,解析所述显示界面以获取所述可操作页面对象和所述页面信息。。
本发明还可以实现为一种终端设备,包括:麦克风,用于获取用户的语音输入;处理器,用于响应于获取所述语音输入获取当前应用程序的显示界面,并基于生成的控制指令,对所述页面进行操作;以及显示装置,用于显示所述图像用户界面,以基于所述控制指令对所述页面进行操作的结果页面,其中,将从语音输入识别出的识别结果与显示界面的页面信息进行匹配以从显示界面的可操作页面对象中确定待操作页面对象,并基于所述待操作页面对象和指令,生成针对所述页面对象的控制指令,其中解析所述显示界面以获取所述可操作页面对象和所述页面信息。
本发明还可以实现为一种语音处理装置,包括:语言输入获取单元,用于获取语音输入;识别单元,用于获取所述语音输入的识别结果;显示界面获取单元,用于获取当前应用程序的显示界面;解析单元,用于解析所述显示界面以获取可操作页面对象和页面信息;匹配单元,用于将所述识别结果与所述页面信息进行匹配;对象确定单元,用于基于匹配结果从所述可操作页面对象中确定待操作页面对象;以及指令生成单元,用于针对所述页面对象生成与所述语音输入相对应的控制指令。
图7示出了根据本发明一个实施例可用于实现上述语音处理方法的计算设备的结构示意图。
参见图7,计算设备700包括存储器710和处理器720。
处理器720可以是一个多核的处理器,也可以包含多个处理器。在一些实施例中,处理器720可以包含一个通用的主处理器以及一个或多个特殊的协处理器,例如图形处理器(GPU)、数字信号处理器(DSP)等等。在一些实施例中,处理器720可以使用定制的电路实现,例如特定用途集成电路(ASIC,Application Specific Integrated Circuit)或者现场可编程逻辑门阵列(FPGA,Field Programmable Gate Arrays)。
存储器710可以包括各种类型的存储单元,例如系统内存、只读存储器(ROM),和永久存储装置。其中,ROM可以存储处理器720或者计算机的其他模块需要的静态数据或者指令。永久存储装置可以是可读写的存储装置。永久存储装置可以是即使计算机断电后也不会失去存储的指令和数据的非易失性存储设备。在一些实施方式中,永久性存储装置采用大容量存储装置(例如磁或光盘、闪存)作为永久存储装置。另外一些实施方式中,永久性存储装置可以是可移除的存储设备(例如软盘、光驱)。系统内存可以是可读写存储设备或者易失性可读写存储设备,例如动态随机访问内存。系统内存可以存储一些或者所有处理器在运行时需要的指令和数据。此外,存储器710可以包括任意计算机可读存储媒介的组合,包括各种类型的半导体存储芯片(DRAM,SRAM,SDRAM,闪存,可编程只读存储器),磁盘和/或光盘也可以采用。在一些实施方式中,存储器710可以包括可读和/或写的可移除的存储设备,例如激光唱片(CD)、只读数字多功能光盘(例如DVD-ROM,双层DVD-ROM)、只读蓝光光盘、超密度光盘、闪存卡(例如SD卡、min SD卡、Micro-SD卡等等)、磁性软盘等等。计算机可读存储媒介不包含载波和通过无线或有线传输的瞬间电子信号。
存储器710上存储有可执行代码,当可执行代码被处理器720处理时,可以使处理器720执行上文述及的语音处理方法。
上文中已经参考附图详细描述了根据本发明的语音处理方案。具体地,本发明定义了一套通用的语音控制图形用户界面的流程方法,其能够在不修改操作系统(Android系统)的情况下能实现大部分页面的语音控制,并且能够在修改操作系统的情况下解决自定义View不能获取文本的问题,由此实现针对几乎所有页面的语音控制。进一步地,本发还可以利用终端解析窗口View结构和图片上传相结合的方式,在避免了服务端文字OCR识别耗时和准确问题的同时,拓展页面信息的获取问题。优选地,可以只上传有图片的View截图,以进一步减少传输数据量,和图像算法计算量。
此外,根据本发明的方法还可以实现为一种计算机程序或计算机程序产品,该计算机程序或计算机程序产品包括用于执行本发明的上述方法中限定的上述各步骤的计算机程序代码指令。
或者,本发明还可以实施为一种非暂时性机器可读存储介质(或计算机可读存储介质、或机器可读存储介质),其上存储有可执行代码(或计算机程序、或计算机指令代码),当所述可执行代码(或计算机程序、或计算机指令代码)被电子设备(或计算设备、服务器等)的处理器执行时,使所述处理器执行根据本发明的上述方法的各个步骤。
本领域技术人员还将明白的是,结合这里的公开所描述的各种示例性逻辑块、模块、电路和算法步骤可以被实现为电子硬件、计算机软件或两者的组合。
附图中的流程图和框图显示了根据本发明的多个实施例的系统和方法的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段或代码的一部分,所述模块、程序段或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现中,方框中所标记的功能也可以以不同于附图中所标记的顺序发生。例如,两个连续的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图和/或流程图中的每个方框、以及框图和/或流程图中的方框的组合,可以用执行规定的功能或操作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。
以上已经描述了本发明的各实施例,上述说明是示例性的,并非穷尽性的,并且也不限于所披露的各实施例。在不偏离所说明的各实施例的范围和精神的情况下,对于本技术领域的普通技术人员来说许多修改和变更都是显而易见的。本文中所用术语的选择,旨在最好地解释各实施例的原理、实际应用或对市场中的技术的改进,或者使本技术领域的其它普通技术人员能理解本文披露的各实施例。
Claims (29)
1.一种语音处理方法,包括:
获取语音输入;
获取所述语音输入的识别结果;
获取当前应用程序的显示界面;
解析所述显示界面以获取可操作页面对象和页面信息;
将所述识别结果与所述页面信息进行匹配;
基于匹配结果从所述可操作页面对象中确定待操作页面对象;以及
针对所述页面对象生成与所述语音输入相对应的控制指令。
2.如权利要求1所述的方法,其中,所述识别结果包括:
所述语音输入包含的文字信息;和/或
所述语音输入包含的语调、语态和/或声纹信息。
3.如权利要求2所述的方法,其中,所述文字信息包括:
与所述页面信息相对应的文字;和/或
与操作动作相对应的文字。
4.如权利要求1所述的方法,其中,获取当前应用程序的显示界面包括:
获取所述语音输入时显示单元所显示的页面;
参考所述页面信息,确定所述语音输入的识别结果。
5.如权利要求1所述的方法,还包括:
提供与所述可操作页面对象和/或页面信息的视觉或听觉提示信息。
6.如权利要求4所述的方法,其中,获取所述语音输入时显示单元所显示的页面包括:
获取所述语音输入时所述当前应用程序的可操作窗口;和/或
获取所述语音输入时所有运行中应用程序的所有窗口。
7.如权利要求2所述的方法,其中,解析所述显示界面以获取可操作页面对象和页面信息包括:
获取所述页面的页面布局信息;和/或
采集所述页面包含的可操作页面元素的信息,其中,将所述可操作页面元素作为所述页面对象。
8.如权利要求7所述的方法,还包括:
从采集的所述页面信息中获取所述可操作页面元素的层级结构。
9.如权利要求8所述的方法,还包括:
基于所述层级结构确定最上层的可操作页面元素;以及
在所述识别结果仅包括操作动作的情况下,生成针对所述最上层的可操作页面元素的控制指令。
10.如权利要求4所述的方法,其中,获取所述语音输入时显示单元所显示的页面包括如下至少一项:
利用操作系统辅助服务采集所显示的页面的数据;
通过操作系统中获取页面信息的其它方法来采集所显示的页面的数据;以及
通过修改操作系统来采集所显示的页面的数据。
11.如权利要求4所述的方法,其中,获取所述语音输入时显示单元所显示的页面包括:
采集所述页面的图像信息;以及
对采集的图像进行图像识别,以获取文本化的页面图像信息。
12.如权利要求11所述的方法,其中,采集所述页面的图像信息包括:
仅采集页面本身的图像区域;和/或
对采集的图像进行压缩,并使用压缩的图像进行图像识别。
13.如权利要求1所述的方法,还包括:
在所述识别结果仅包括针对特定页面元素的操作的情况下,生成针对所述特定页面元素的控制指令。
14.如权利要求1所述的方法,其中,所述控制指令包括:
在所述识别结果仅包括页面对象对应信息时执行的默认操作指令;
基于所述识别结果和/或匹配结果确定的指令;和/或
实现基于匹配结果确定的所述指令的前序指令。
15.如权利要求1所述的方法,其中,将所述识别结果与所述页面信息进行匹配包括:
将所述识别结果与获取的页面文字信息进行匹配;和/或
将所述识别结果与获取的页面信息所对应文字进行匹配。
16.如权利要求15所述的方法,其中,将所述识别结果与所述页面信息进行匹配还包括:
获取采集的页面信息的补充信息;以及
将所述识别结果与获取的页面信息连同所述补充信息进行匹配。
17.如权利要求1所述的方法,其中,针对所述页面对象生成与所述语音输入相对应的控制指令包括:
生成针对所述页面屏幕的模拟操作指令;和/或
调用元素代码的命令。
18.如权利要求1所述的方法,其中,获取当前应用程序的显示界面,并解析所述显示界面以获取可操作页面对象和页面信息包括:
在所述当前应用程序开启或进入所述显示界面后,获取所述当前应用程序的显示界面以解析所述显示界面以获取可操作页面对象和页面信息。
19.如权利要求18所述的方法,还包括:
基于获取可操作页面对象和页面信息,生成候选语音操作,并且
将所述识别结果与所述页面信息进行匹配包括:
将所述识别结果与所述候选语音操作进行匹配。
20.如权利要求1所述的方法,其中,在获取所述可操作页面对象和所述页面信息之后,生成针对所述可操作页面对象的操作语音提示;以及
根据用户对所述操作语音提示的反馈,进行与所述操作语音提示对应操作。
21.如权利要求1所述的方法,其中,将所述识别结果与所述页面信息进行匹配包括:
由客户端对所述识别结果与所述页面信息进行本地匹配;以及
在本地匹配失败或可信度低于阈值时,由服务器端对所述识别结果与所述页面信息进行云端匹配。
22.如权利要求21所述的方法,其中,服务器端对当前应用程序的显示界面的截图进行图像分析和/或对采集的页面信息进行补充检索,以获取文本化的页面补充信息。
23.一种语音处理服务器,包括:
显示界面获取模块,用于获取目标终端当前应用程序的显示界面;
解析模块,用于解析所述显示界面以获取可操作页面对象和页面信息;
意图识别匹配模块,用于将语音识别的识别结果与获取的页面信息进行匹配,并且基于匹配结果确定待操作页面对象;以及
指令下发模块,用于下发生成的针对所述页面对象的控制指令。
24.如权利要求23所述的服务器,还包括:
语音识别模块,用于对获取的用户语音输入执行语音识别操作以获取所述语音输入的识别结果;和/或
识别结果获取模块,用于直接获取所述语音输入的识别结果。
25.一种语音操作方法,包括:
接收用户的语音输入并获取当前应用程序的显示界面;
基于生成的控制指令,对所述页面进行操作,其中,将语音输入的识别结果与显示界面的页面信息进行匹配以从显示界面的可操作页面对象中确定待操作页面对象,并基于所述待操作页面对象和指令,生成针对所述页面对象的控制指令,其中,解析所述显示界面以获取所述可操作页面对象和所述页面信息。
26.一种终端设备,包括:
麦克风,用于获取用户的语音输入;
处理器,用于响应于获取所述语音输入获取当前应用程序的显示界面,并基于生成的控制指令,对所述页面进行操作;以及
显示装置,用于显示所述图像用户界面,以基于所述控制指令对所述页面进行操作的结果页面,
其中,将从语音输入识别出的识别结果与显示界面的页面信息进行匹配以从显示界面的可操作页面对象中确定待操作页面对象,并基于所述待操作页面对象和指令,生成针对所述页面对象的控制指令,其中解析所述显示界面以获取所述可操作页面对象和所述页面信息。
27.一种语音处理装置,包括:
语言输入获取单元,用于获取语音输入;
识别单元,用于获取所述语音输入的识别结果;
显示界面获取单元,用于获取当前应用程序的显示界面;
解析单元,用于解析所述显示界面以获取可操作页面对象和页面信息;
匹配单元,用于将所述识别结果与所述页面信息进行匹配;
对象确定单元,用于基于匹配结果从所述可操作页面对象中确定待操作页面对象;以及
指令生成单元,用于针对所述页面对象生成与所述语音输入相对应的控制指令。
28.一种计算设备,包括:
处理器;以及
存储器,其上存储有可执行代码,当所述可执行代码被所述处理器执行时,使所述处理器执行如权利要求1-22中任一项所述的方法。
29.一种非暂时性机器可读存储介质,其上存储有可执行代码,当所述可执行代码被电子设备的处理器执行时,使所述处理器执行如权利要求1-22中任一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110212473.8A CN114968164A (zh) | 2021-02-25 | 2021-02-25 | 语音处理方法、系统、装置和终端设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110212473.8A CN114968164A (zh) | 2021-02-25 | 2021-02-25 | 语音处理方法、系统、装置和终端设备 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN114968164A true CN114968164A (zh) | 2022-08-30 |
Family
ID=82972673
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110212473.8A Pending CN114968164A (zh) | 2021-02-25 | 2021-02-25 | 语音处理方法、系统、装置和终端设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN114968164A (zh) |
Citations (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20060106611A1 (en) * | 2004-11-12 | 2006-05-18 | Sophia Krasikov | Devices and methods providing automated assistance for verbal communication |
KR20070065977A (ko) * | 2005-12-21 | 2007-06-27 | 주식회사 팬택 | 말버릇 교정 기능을 구비한 이동통신 단말기 및 그제어방법 |
JP2014002795A (ja) * | 2013-10-07 | 2014-01-09 | Toshiba Corp | 電子機器、表示方法、およびプログラム |
US20160034253A1 (en) * | 2014-07-31 | 2016-02-04 | Samsung Electronics Co., Ltd. | Device and method for performing functions |
WO2016091087A1 (zh) * | 2014-12-08 | 2016-06-16 | 阿里巴巴集团控股有限公司 | 信息展示方法及装置、电子设备 |
CN107608652A (zh) * | 2017-08-28 | 2018-01-19 | 三星电子(中国)研发中心 | 一种语音控制图形界面的方法和装置 |
CN107919129A (zh) * | 2017-11-15 | 2018-04-17 | 百度在线网络技术(北京)有限公司 | 用于控制页面的方法和装置 |
WO2020119569A1 (zh) * | 2018-12-11 | 2020-06-18 | 阿里巴巴集团控股有限公司 | 一种语音交互方法、装置及系统 |
CN112035727A (zh) * | 2019-06-03 | 2020-12-04 | 阿里巴巴集团控股有限公司 | 信息获取方法、装置、设备、系统及可读存储介质 |
-
2021
- 2021-02-25 CN CN202110212473.8A patent/CN114968164A/zh active Pending
Patent Citations (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20060106611A1 (en) * | 2004-11-12 | 2006-05-18 | Sophia Krasikov | Devices and methods providing automated assistance for verbal communication |
KR20070065977A (ko) * | 2005-12-21 | 2007-06-27 | 주식회사 팬택 | 말버릇 교정 기능을 구비한 이동통신 단말기 및 그제어방법 |
JP2014002795A (ja) * | 2013-10-07 | 2014-01-09 | Toshiba Corp | 電子機器、表示方法、およびプログラム |
US20160034253A1 (en) * | 2014-07-31 | 2016-02-04 | Samsung Electronics Co., Ltd. | Device and method for performing functions |
WO2016091087A1 (zh) * | 2014-12-08 | 2016-06-16 | 阿里巴巴集团控股有限公司 | 信息展示方法及装置、电子设备 |
CN107608652A (zh) * | 2017-08-28 | 2018-01-19 | 三星电子(中国)研发中心 | 一种语音控制图形界面的方法和装置 |
CN107919129A (zh) * | 2017-11-15 | 2018-04-17 | 百度在线网络技术(北京)有限公司 | 用于控制页面的方法和装置 |
WO2020119569A1 (zh) * | 2018-12-11 | 2020-06-18 | 阿里巴巴集团控股有限公司 | 一种语音交互方法、装置及系统 |
CN112035727A (zh) * | 2019-06-03 | 2020-12-04 | 阿里巴巴集团控股有限公司 | 信息获取方法、装置、设备、系统及可读存储介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN107801096B (zh) | 视频播放的控制方法、装置、终端设备及存储介质 | |
EP3701521B1 (en) | Voice recognition apparatus and operation method thereof cross-reference to related application | |
US11200893B2 (en) | Multi-modal interaction between users, automated assistants, and other computing services | |
US20140372892A1 (en) | On-demand interface registration with a voice control system | |
US20140028780A1 (en) | Producing content to provide a conversational video experience | |
JP7348957B2 (ja) | コンピューティングデバイス上でのコンテンツの可聴部分の自動キャプショニング | |
KR102550305B1 (ko) | 머신 러닝 기반의 영상 자동 편집 방법 및 시스템 | |
US10388325B1 (en) | Non-disruptive NUI command | |
CN110968362B (zh) | 应用运行方法、装置及存储介质 | |
US20200396315A1 (en) | Delivery of apps in a media stream | |
US11762451B2 (en) | Methods and apparatus to add common sense reasoning to artificial intelligence in the context of human machine interfaces | |
CN113392273A (zh) | 视频播放方法、装置、计算机设备及存储介质 | |
CN114118064A (zh) | 显示设备、文本纠错方法及服务器 | |
KR102353797B1 (ko) | 영상 컨텐츠에 대한 합성음 실시간 생성에 기반한 컨텐츠 편집 지원 방법 및 시스템 | |
CN110379406A (zh) | 语音评论转换方法、系统、介质和电子设备 | |
US20230300429A1 (en) | Multimedia content sharing method and apparatus, device, and medium | |
CN113068077B (zh) | 一种字幕文件处理方法及装置 | |
JP2022512271A (ja) | 音声パケット記録機能のガイド方法、装置、デバイス、プログラム及びコンピュータ記憶媒体 | |
CN111539215A (zh) | 一种用于自然语言内容标题消歧的方法、设备和系统 | |
CN117809649A (zh) | 显示设备和语义分析方法 | |
KR20220143622A (ko) | 전자 장치 및 그 제어 방법 | |
US20210151030A1 (en) | Information processing device and information processing method | |
CN114968164A (zh) | 语音处理方法、系统、装置和终端设备 | |
CN112380871A (zh) | 语义识别方法、设备及介质 | |
KR102488623B1 (ko) | 영상 컨텐츠에 대한 합성음 실시간 생성에 기반한 컨텐츠 편집 지원 방법 및 시스템 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination |