CN112286485B - 通过语音控制应用的方法、装置、电子设备与存储介质 - Google Patents
通过语音控制应用的方法、装置、电子设备与存储介质 Download PDFInfo
- Publication number
- CN112286485B CN112286485B CN202011596720.0A CN202011596720A CN112286485B CN 112286485 B CN112286485 B CN 112286485B CN 202011596720 A CN202011596720 A CN 202011596720A CN 112286485 B CN112286485 B CN 112286485B
- Authority
- CN
- China
- Prior art keywords
- control
- target
- application
- identification information
- information
- 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.)
- Active
Links
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
- G06F40/00—Handling natural language data
- G06F40/30—Semantic analysis
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Audiology, Speech & Language Pathology (AREA)
- Health & Medical Sciences (AREA)
- General Health & Medical Sciences (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Human Computer Interaction (AREA)
- Multimedia (AREA)
- Artificial Intelligence (AREA)
- Computational Linguistics (AREA)
- User Interface Of Digital Computer (AREA)
Abstract
本发明实施例提供一种通过语音控制应用的方法、装置、电子设备与存储介质;方法包括:接收用户发出的语音指令,根据所述语音指令以及目标应用,确定搜索关键词;将所述搜索关键词发送给云端服务器,以使得所述云端服务器根据所述搜索关键词从预先设置的目标应用的控件识别信息集合中确定目标控件的识别信息;接收所述目标控件的识别信息,根据所述目标控件的识别信息以及预先设置的候选控件信息集合,判断所述候选控件信息集合中是否包含所述目标控件的位置信息;当所述候选控件信息集合中包含所述目标控件的位置信息时,根据所述目标控件的位置信息生成模拟点击行为。
Description
技术领域
本发明涉及语音控制技术领域,尤其涉及一种通过语音控制应用的方法、装置、电子设备与存储介质。
背景技术
应用(APP)是在智能移动终端上运行的、能够完成特定功能的软件。传统上的应用一般需要用户的手动操作来实现对应用的控制,如通过点击触摸屏来操控应用的按钮。
但在一些应用场合中,通过手动操作来控制应用会存在一定的不便。如用户在开车时,通过手动操作来控制导航软件,特别是输入文字等较为复杂的手动操作,容易分散用户精力,带来安全隐患。因此希望通过语音的方式来操作应用。
现有的一些应用,如高德地图,通过内部集成用于语音操作的SDK的方式来实现对应用的语音操作。但对于目前的多数应用,并未事先集成用于语音操作的SDK,这就使得这些应用无法通过语音来控制,限制了这些应用的使用场景。
发明内容
针对现有技术存在的问题,本发明实施例提供一种通过语音控制应用的方法、装置、电子设备与存储介质。
本发明第一方面实施例提供一种语音控制应用的方法,应用于电子设备,方法包括:
接收用户发出的语音指令,根据所述语音指令以及目标应用,确定搜索关键词;其中,所述目标应用为当前时刻运行在电子设备最前端的应用;
将所述搜索关键词发送给云端服务器,以使得所述云端服务器根据所述搜索关键词从预先设置的目标应用的控件识别信息集合中确定目标控件的识别信息,所述目标控件为根据所述语音指令所确定的控件;
接收所述目标控件的识别信息,根据所述目标控件的识别信息以及预先设置的候选控件信息集合,判断所述候选控件信息集合中是否包含所述目标控件的位置信息;其中,所述候选控件信息包括候选控件的识别信息与位置信息,所述候选控件为所述目标应用在当前时刻的界面所包含的控件;
当所述候选控件信息集合中包含所述目标控件的位置信息时,根据所述目标控件的位置信息生成模拟点击行为。
根据本发明提供的一种通过语音控制应用的方法,所述根据所述语音指令以及目标应用,确定搜索关键词,包括:
对所述语音指令进行语义识别,得到所述语音指令的意图文本;
获取所述目标应用的标识;
根据所述语音指令的意图文本以及所述目标应用的标识,确定搜索关键词。
根据本发明提供的一种通过语音控制应用的方法,所述识别信息包括文本信息、标识信息以及类型信息;
相应的,所述根据所述目标控件的识别信息以及预先设置的候选控件信息集合,判断所述候选控件信息集合中是否包含所述目标控件的位置信息,包括:
步骤S1、将所述目标控件的文本信息与所述候选控件信息集合中各个候选控件的文本信息进行逐一比对,若比对成功,执行步骤S4;若比对全部失败,将所述目标控件的标识信息与所述候选控件信息集合中各个候选控件的标识信息进行逐一比对,若比对成功,执行步骤S4;若比对全部失败,将所述目标控件的类型信息与所述候选控件信息集合中各个候选控件的类型信息进行逐一比对,若比对成功,执行步骤S4;若比对全部失败,执行步骤S2;
步骤S2、判断比对失败的次数是否达到预设的第一阈值,当已经达到预设的第一阈值,返回任务执行失败的提示信息,结束操作,否则,执行步骤S3;
步骤S3、当与前一次比对操作的时间间隔达到预设的第二阈值,重新执行步骤S1;
步骤S4、输出与所述目标控件相匹配的候选控件的位置信息,结束操作。
根据本发明提供的一种通过语音控制应用的方法,在接收用户发出的语音指令的步骤之前,方法还包括:
监控所述目标应用的界面,当所述目标应用的界面发生变化后,确定所述目标应用在当前时刻的界面所包含的控件为候选控件;
扫描候选控件,得到所述候选控件的识别信息与位置信息;
根据所述候选控件的识别信息与位置信息,得到候选控件信息集合。
本发明第二方面实施例提供一种通过语音控制应用的方法,应用于云端服务器,方法包括:
接收搜索关键词;其中,所述搜索关键词是根据用户发出的语音指令以及目标应用确定的,所述目标应用为当前时刻运行在电子设备最前端的应用;
根据所述搜索关键词从预先设置的目标应用的控件识别信息集合中确定目标控件的识别信息;其中,所述目标控件为根据所述语音指令所确定的控件;
发送所述目标控件的识别信息,以使得所述电子设备根据所述目标控件的识别信息以及预先设置的候选控件信息集合,判断所述候选控件信息集合中是否包含所述目标控件的位置信息;其中,所述候选控件信息包括候选控件的识别信息与位置信息,所述候选控件为所述目标应用在当前时刻的界面所包含的控件;以及当所述候选控件信息集合中包含所述目标控件的位置信息时,所述电子设备根据所述目标控件的位置信息生成模拟点击行为。
根据本发明提供的一种通过语音控制应用的方法,所述搜索关键词包括语音指令的意图文本以及目标应用的标识;控件识别信息至少包括控件的文本信息;
相应的,所述根据所述搜索关键词从预先设置的目标应用的控件识别信息集合中确定目标控件的识别信息,包括:
根据目标应用的标识确定目标应用的控件识别信息集合;
将所述语音指令的意图文本与所述目标应用的控件识别信息集合中各个控件的文本信息进行匹配;
将与所述语音指令的意图文本匹配一致的控件作为目标控件,根据所述目标应用的控件识别信息集合,确定目标控件的识别信息。
根据本发明提供的一种通过语音控制应用的方法,在接收搜索关键词的步骤之前,方法还包括:
扫描应用中的所有控件,得到控件的识别信息;
将属于同一应用的控件的识别信息集中存储,得到应用的控件识别信息集合。
本发明第三方面实施例提供一种通过语音控制应用的***,包括:电子设备与云端服务器,所述电子设备与所述云端服务器通信连接;
所述电子设备,用于执行如本发明第一方面实施例所述的通过语音控制应用的方法的步骤;
所述云端服务器,用于执行如本发明第二方面实施例所述的通过语音控制应用的方法的步骤。
本发明第四方面实施例提供一种电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述程序时实现如本发明第一方面实施例所述的通过语音控制应用的方法的步骤,或实现如本发明第二方面实施例所述的通过语音控制应用的方法的步骤。
本发明第五方面实施例提供一种非暂态计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时实现如本发明第一方面实施例所述的通过语音控制应用的方法的步骤,或实现如本发明第二方面实施例所述的通过语音控制应用的方法的步骤。
本发明实施例提供的通过语音控制应用的方法、装置、电子设备与存储介质,通过用户的语音指令确定搜索关键词,根据搜索关键词确定目标控件的识别信息,进而得到目标控件的位置信息,从而生成模拟点击行为,把语音控制的功能解耦出来,不需要应用的开发者将用于语音控制的软件开发工具包(SDK)集成到应用中就可以实现语音控制,大大降低了语音控制功能的开发成本。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作一简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本发明实施例提供的通过语音控制应用的方法的流程图;
图2为本发明另一实施例提供的通过语音控制应用的方法的流程图;
图3为本发明提供的通过语音控制应用的***中的电子设备的示意图;
图4为本发明提供的通过语音控制应用的***中的云端服务器的示意图;
图5为本发明实施例所涉及的电子设备的实体结构示意图。
具体实施方式
为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
在汽车驾驶、家居生活等多个领域中,对通过语音方式来控制应用有着广泛的需求。但对于目前的多数应用,应用开发者并未在应用内部集成语音控制的方式,这就限制了这些应用的适用场景。
苹果公司的IOS***中,虽然提供了通过Siri的语音交互方式,例如用户通过Siri让Apple Music播放音乐。但Siri仅能控制苹果公司自己开发的功能,对于第三方公司开发的应用,Siri只能打开应用,不能对应用内部的功能做进一步操作。如果要通过Siri做更多的操作,需要第三方应用的开发者自行接入Siri接口,完成大量的接入开发,费时费力。
在安卓(Android)***中,在应用内部未事先集成用于语音操作的SDK的前提下,也不存在能够直接对应用进行操控的功能。
为了对不具备语音控制功能的应用实现语音控制,本发明实施例提供了一种通过语音控制应用的方法。
图1为本发明实施例提供的通过语音控制应用的方法的流程图,如图1所示,本发明实施例提供的通过语音控制应用的方法应用于电子设备,包括:
步骤101、接收用户发出的语音指令,根据所述语音指令以及目标应用,确定搜索关键词。
在本实施例中,所述电子设备为具有语音接收功能的、具备智能操作***的电子设备,如手机、平板电脑、笔记本电脑、掌上电脑、车载终端、可穿戴设备、超级移动个人计算机(ultra-mobile personal computer,UMPC)、上网本或者个人数字助理(personaldigital assistant,PDA)等,本申请实施例不作具体限定。
在本实施例中,语音指令是指用户以语音方式发出的指令。语音指令可以是免唤醒语音指令,也可以是唤醒语音指令,本申请实施例不作具体限定。
在本实施例中,目标应用是指当前运行在电子设备最前端的应用。例如,某智能手机上同时运行着应用A、应用B和应用C。其中应用B是当前用户正在使用的应用,应用B的界面为智能手机的当前界面,而应用A与应用C在智能手机的后台运行。那么应用B即为所述的目标应用。
本步骤进一步包括:
对所述语音指令进行语义识别,得到所述语音指令的意图文本;
获取所述目标应用的标识;
根据所述语音指令的意图文本以及所述目标应用的标识,确定搜索关键词。
在本实施例中,语音指令的意图文本(targetText)是指能够反映语音指令中所包含的用户意图的文本信息。语音指令的意图文本可通过对语音指令进行语义识别得到。
例如,用户说了一句话“请给我找一找最近有什么好电影”。通过对该语音指令进行语义识别,可去除语音指令中诸如语气助词、量词等辅助性用语,得到能够描述用户核心意思表示的意图文本,如“找电影”。
如何对语音指令做语义识别是本领域技术人员的公知常识,不在此处做进一步的说明。
每个应用都有一个用于指代该应用的唯一标识。如在安卓操作***中,将包名(Package Name)作为安卓应用的唯一标识。
根据电子设备当前的运行情况可确定目标应用,进而得到目标应用的唯一标识。将所述目标应用的唯一标识与语音指令的意图文本相结合,可生成搜索关键词。
步骤102、将所述搜索关键词发送给云端服务器,以使得所述云端服务器根据所述搜索关键词从预先设置的目标应用的控件识别信息集合中确定目标控件的识别信息,所述目标控件为根据所述语音指令所确定的控件。
在本实施例中,应用中的元素均可视为控件,如应用中的一个按钮、一张图片、一个段落、一段文字、一个输入框、一个下拉框等均可作为控件。
在本实施例中,控件识别信息可包括控件的文本信息、控件的标识信息以及控件的类型信息。例如,在一个视频播放应用中,包括电视剧、电影、综艺、动漫等多个栏目。在该视频播放应用的首页上,每个栏目会对应有一个按钮,点击按钮就能够进入对应栏目的页面。在该例子中,任意一个按钮都可作为一个控件。按钮上的文本信息,如“电影”,就是控件的文本信息;按钮所对应的独一无二的标记字符串,如123a556d67332&*¥,就是控件的标识信息;“按钮”这一类型就是控件的类型信息。
本领域技术人员很容易理解,一个应用包括有多个控件,每个控件有各自对应的控件识别信息。因此,在本实施例中,将同一个应用中的所有控件的控件识别信息保存在同一个控件识别信息集合中。即一个控件识别信息集合包含了同一个应用中的所有控件的控件识别信息。
云端服务器一般包含有多个应用各自的控件识别信息集合。在之前的描述中已经提到,搜索关键词包括目标应用的唯一标识以及语音指令的意图文本。因此,云端服务器可以根据目标应用的唯一标识找到目标应用所对应的控件识别信息集合。然后将语音指令的意图文本与查找到的控件识别信息集合中的各个控件的文本信息进行比较,当语音指令的意图文本与某一控件的文本信息一致时,该控件即为目标控件。目标控件实际上就是用户期望通过语音指令所控制的控件。在确定目标控件后,所述目标应用的控件识别信息集合,也就能确定目标控件的识别信息。
需要说明的是,在本实施例中所述的一致并不仅仅局限于两个文本信息完全一致,可以是一个文本信息是另一个文本信息的子集,也可以是两个文本信息的文本相似度在预先设置的阈值之上等多种情况。如何计算文本相似度是本领域的公知常识,不在此处做进一步说明。
例如,作为目标应用的应用B中有多个按钮,其中的按钮a的文本信息为电视剧,按钮b的文本信息为电影,按钮c的文本信息为综艺,按钮d的文本信息为动漫。在云端服务器中已经预先设置了目标应用B所对应的控件识别信息集合,该控件识别信息集合中包含了按钮a、按钮b、按钮c和按钮d所对应的控件识别信息。当语音指令的意图文本是“找电影”时,将这一意图文本与目标应用B的控件识别信息集合中的各个控件的文本信息进行比较,发现按钮b的文本信息与语音指令的意图文本相一致,因此将按钮b作为目标控件,进而得到按钮b的识别信息。
云端服务器所确定的目标控件的识别信息可返回给电子设备。
步骤103、接收所述目标控件的识别信息,根据所述目标控件的识别信息以及预先设置的候选控件信息集合,判断所述候选控件信息集合中是否包含所述目标控件的位置信息。
在本实施例中,候选控件是指目标应用在当前时刻的界面所包含的控件。本领域技术人员很容易理解,应用一般会包括多个界面。如一款视频播放应用,点击进入后会首先进入首页的界面,若点击首页中的一个按钮,会进入到子页面的界面,如点击首页中电影栏目的按钮,会进入到电影栏目的界面。将目标应用当前时刻展示给用户的界面称为当前界面,随着用户的操作,目标应用的当前界面会发生变化。
不同界面所包含的控件是不一样的,如视频播放应用的首页的界面中会包含电视剧栏目点击按钮、电影栏目点击按钮、综艺栏目点击按钮、动漫栏目点击按钮等多个控件;而电影栏目的界面中,会包括内地电影栏目点击按钮、港台电影栏目点击按钮、日韩电影栏目点击按钮、欧美电影栏目点击按钮、动作片栏目点击按钮、爱情片栏目点击按钮等多个控件。当目标应用的界面发生变化时,候选控件所对应的控件也会发生变化。
在本实施例中,候选控件信息包括候选控件的识别信息与位置信息。
在之前的描述中已经对识别信息做了说明,如识别信息一般包括文本信息、标识信息以及类型信息。此处不对这些信息的含义做重复说明。
候选控件的位置信息用于描述候选控件在界面中的位置,一般包括候选控件的原点的x坐标、y坐标,候选控件的宽度值和高度值等。在现有技术中,一般默认界面左上角为坐标系的原点(x=0,y=0),将候选控件左侧最上方的点作为原点。将候选控件的原点的x坐标、y坐标,候选控件的宽度值和高度值相结合,可以确定候选控件在界面中的位置。
可选的,候选控件信息还包括可见性标识信息。可见性标识信息用于描述候选控件在界面中是否可见。
在本实施例中,候选控件信息集合包括目标应用的当前界面所包含控件的信息。当目标应用的当前界面发生变化时,候选控件信息集合中的控件信息也会相应发生变化。
由于在目标应用的当前界面中未必包含用户希望调用的目标控件,因此在本步骤中,需要根据目标控件的识别信息以及候选控件信息集合,确定候选控件中是否存在目标控件,如果存在,则从候选控件信息集合中获取目标控件的位置信息。
所述根据所述目标控件的识别信息以及预先设置的候选控件信息集合,判断所述候选控件信息集合中是否包含所述目标控件的位置信息,包括:
步骤S1、将所述目标控件的文本信息与所述候选控件信息集合中各个候选控件的文本信息进行逐一比对,若比对成功,执行步骤S4;若比对全部失败,将所述目标控件的标识信息与所述候选控件信息集合中各个候选控件的标识信息进行逐一比对,若比对成功,执行步骤S4;若比对全部失败,将所述目标控件的类型信息与所述候选控件信息集合中各个候选控件的类型信息进行逐一比对,若比对成功,执行步骤S4;若比对全部失败,执行步骤S2;
步骤S2、判断比对失败的次数是否达到预设的第一阈值,当已经达到预设的第一阈值,返回任务执行失败的提示信息,结束操作,否则,执行步骤S3;
步骤S3、当与前一次比对操作的时间间隔达到预设的第二阈值,重新执行步骤S1;
步骤S4、输出与所述目标控件相匹配的候选控件的位置信息,结束操作。
由于候选控件信息集合中的内容会随着目标应用的界面变化而发生变化,因此在间隔一定的时间(第二阈值)后,如2秒,可以重新进行前述的步骤S1。如果比对操作的次数超过了预设的第一阈值后,如3次,依然失败,可向用户返回任务执行失败的提示信息。
需要说明的是,在将目标控件的文本信息与候选控件信息集合中各个候选控件的文本信息进行逐一比对时,为了提升效率,可以将所述文本信息作为正则表达式,使用pattern.matcher函数来实现比对操作。
步骤104、当所述候选控件信息集合中包含所述目标控件的位置信息时,根据所述目标控件的位置信息生成模拟点击行为。
从之前的描述可以知道,候选控件信息除了包含控件的识别信息外,还包含了控件的位置信息,因此当目标控件的识别信息与某一候选控件的识别信息一致时,可以从候选控件信息集合得到目标控件的位置信息。
在之前的描述中已经提到,控件的位置信息包括有控件的原点的x坐标、y坐标,控件的宽度值和高度值等。根据目标控件的位置信息可计算出目标控件的中心点在目标应用当前界面上的位置信息,将目标控件的中心点在目标应用当前界面上的位置信息与点击操作(click)对应的value值封包成MotionEvent数据包,通过电子设备的屏幕驱动发送出去,可实现模拟点击的行为。
本发明实施例提供的通过语音控制应用的方法通过用户的语音指令确定搜索关键词,根据搜索关键词确定目标控件的识别信息,进而得到目标控件的位置信息,从而生成模拟点击行为,把语音控制的功能解耦出来,不需要应用的开发者将用于语音控制的软件开发工具包(SDK)集成到应用中就可以实现语音控制,大大降低了语音控制功能的开发成本。
基于上述任一实施例,在本实施例中,在接收用户发出的语音指令的步骤之前,方法还包括:
监控所述目标应用的界面,当所述目标应用的界面发生变化后,确定所述目标应用在当前时刻的界面所包含的控件为候选控件;
扫描候选控件,得到所述候选控件的识别信息与位置信息;
根据所述候选控件的识别信息与位置信息,得到候选控件信息集合。
在本发明之前的实施例中,候选控件信息集合是预先设置好的。在本实施例中,对候选控件信息集合的生成过程进行说明。
首先,实时监控目标应用的界面。
在本实施例中,可在电子设备的后台运行一个单独的Service服务,由该服务来监控除自身以外的其它任何第三方应用界面上的变化,特别是目标应用的变化。
其中,所述变化包括但不限于应用被点击、滑动、长按、窗口切换等操作。
接着,当目标应用的界面发生变化时,触发所述Service服务对目标应用界面进行一次控件扫描,在扫描过程中采集目标应用当前界面上所有控件的数据。为每个控件生成各自独立的数据对象NodeInfo,在数据对象NodeInfo中至少包括控件的识别信息和位置信息。所述识别信息一般包括文本信息、标识信息以及类型信息。控件的位置信息包括控件的原点的x坐标、y坐标,控件的宽度值和高度值等。可选的,在数据对象NodeInfo中还包括可见性标识信息。
最终所有的数据对象NodeInfo都保存内存的NodeInfoList链表中。
由于目标应用在当前时刻的界面所包含的控件就是候选控件,因此所得到的内存的NodeInfoList链表也就是候选控件信息集合。
本发明实施例提供的通过语音控制应用的方法通过对目标应用的界面进行监控,能够及时发现目标应用界面的变化,为目标应用在当前时刻的界面所包含的控件建立控件信息集合,有助于确定目标控件的位置信息,从而生成模拟点击行为,把语音控制的功能解耦出来,不需要应用的开发者将用于语音控制的软件开发工具包(SDK)集成到应用中就可以实现语音控制,大大降低了语音控制功能的开发成本。
图2为本发明另一实施例提供的通过语音控制应用的方法的流程图,如图2所示,本发明另一实施例提供的通过语音控制应用的方法应用于云端服务器,方法包括:
步骤201、接收搜索关键词;其中,所述搜索关键词是根据用户发出的语音指令以及目标应用确定的,所述目标应用为当前时刻运行在电子设备最前端的应用。
在本实施例中,所述电子设备为具有语音接收功能的、具备智能操作***的电子设备,如手机、平板电脑、笔记本电脑、掌上电脑、车载终端、可穿戴设备、超级移动个人计算机(ultra-mobile personal computer,UMPC)、上网本或者个人数字助理(personaldigital assistant,PDA)等,本申请实施例不作具体限定。
在本实施例中,语音指令是指用户以语音方式发出的指令。语音指令可以是免唤醒语音指令,也可以是唤醒语音指令,本申请实施例不作具体限定。
在本实施例中,目标应用是指当前运行在电子设备最前端的应用。
对所述语音指令进行语义识别,可得到所述语音指令的意图文本;结合所述目标应用的标识,可生成搜索关键词。
步骤202、根据所述搜索关键词从预先设置的目标应用的控件识别信息集合中确定目标控件的识别信息。
在本实施例中,应用中的元素均可视为控件,如应用中的一个按钮、一张图片、一个段落、一段文字、一个输入框、一个下拉框等均可作为控件。
在本实施例中,控件识别信息可包括控件的文本信息、控件的标识信息以及控件的类型信息。
云端服务器一般包含有多个应用各自的控件识别信息集合。在之前的描述中已经提到,搜索关键词包括目标应用的唯一标识以及语音指令的意图文本。因此,云端服务器可以根据目标应用的唯一标识找到目标应用所对应的控件识别信息集合。然后将语音指令的意图文本与查找到的控件识别信息集合中的各个控件的文本信息进行比较,当语音指令的意图文本与某一控件的文本信息一致时,该控件即为目标控件。目标控件实际上就是用户期望通过语音指令所控制的控件。在确定目标控件后,所述目标应用的控件识别信息集合,也就能确定目标控件的识别信息。
步骤203、发送所述目标控件的识别信息,以使得所述电子设备根据所述目标控件的识别信息以及预先设置的候选控件信息集合,判断所述候选控件信息集合中是否包含所述目标控件的位置信息;其中,所述候选控件信息包括候选控件的识别信息与位置信息,所述候选控件为所述目标应用在当前时刻的界面所包含的控件;以及当所述候选控件信息集合中包含所述目标控件的位置信息时,所述电子设备根据所述目标控件的位置信息生成模拟点击行为。
在本实施例中,候选控件是指目标应用在当前时刻的界面所包含的控件。
在本实施例中,候选控件信息包括候选控件的识别信息与位置信息。可选的,候选控件信息还包括可见性标识信息。
在本实施例中,候选控件信息集合包括目标应用的当前界面所包含控件的信息。当目标应用的当前界面发生变化时,候选控件信息集合中的控件信息也会相应发生变化。
由于在目标应用的当前界面中未必包含用户希望调用的目标控件,因此在本步骤中,需要根据目标控件的识别信息以及候选控件信息集合,确定候选控件中是否存在目标控件,如果存在,则从候选控件信息集合中获取目标控件的位置信息。
在得到目标控件的位置信息后,可计算出目标控件的中心点在目标应用当前界面上的位置信息,将目标控件的中心点在目标应用当前界面上的位置信息与点击操作(click)对应的value值封包成MotionEvent数据包,通过电子设备的屏幕驱动发送出去,可实现模拟点击的行为。
本发明实施例提供的通过语音控制应用的方法通过用户的语音指令确定搜索关键词,根据搜索关键词确定目标控件的识别信息,进而得到目标控件的位置信息,从而生成模拟点击行为,把语音控制的功能解耦出来,不需要应用的开发者将用于语音控制的软件开发工具包(SDK)集成到应用中就可以实现语音控制,大大降低了语音控制功能的开发成本。
基于上述任一实施例,在本实施例中,在接收搜索关键词的步骤之前,方法还包括:
扫描应用中的所有控件,得到控件的识别信息;
将属于同一应用的控件的识别信息集中存储,得到应用的控件识别信息集合。
在之前的实施例中,目标应用的控件识别信息集合是预先设置的,在本实施例中,对应用的控件识别信息集合的生成过程进行说明。
首先,扫描任意一个应用中的所有控件,在扫描的过程中采集控件的识别信息,包括控件的文本信息(text,字符串数组类型)、标识信息(viewId,字符串数组类型)以及类型信息(className,字符串数组类型)。此外,还需要知道控件所属的应用,如应用的标识信息(如安卓应用中的PackageName)。
由于在扫描过程中可以知道控件所属的应用,因此可属于同一应用的控件的识别信息集中存储,如将一个应用的控件识别信息存储在一个数组中。
由于电子设备所使用的应用种类繁多,为了支持本发明的方法实现,需要对尽可能多的应用进行上述处理,所得到的各个应用的控件识别信息集合统一存储在云端服务器中。
本发明提供的通过语音控制应用的方法通过对应用中的控件的扫描与数据采集,能够预先建立控件的识别信息集合,有助于确定目标控件的识别信息,进而确定目标控件的位置信息,从而生成模拟点击行为,把语音控制的功能解耦出来,不需要应用的开发者将用于语音控制的软件开发工具包(SDK)集成到应用中就可以实现语音控制,大大降低了语音控制功能的开发成本。
基于上述任一实施例,本发明还提供了一种通过语音控制应用的***,包括:电子设备与云端服务器,所述电子设备与所述云端服务器通信连接。
图3为本发明提供的通过语音控制应用的***中的电子设备的示意图,如图3所示,电子设备包括:
搜索关键词确定模块301,用于接收用户发出的语音指令,根据所述语音指令以及目标应用,确定搜索关键词;其中,所述目标应用为当前时刻运行在电子设备最前端的应用;
搜索关键词发送模块302,用于将所述搜索关键词发送给云端服务器,以使得所述云端服务器根据所述搜索关键词从预先设置的目标应用的控件识别信息集合中确定目标控件的识别信息,所述目标控件为根据所述语音指令所确定的控件;
目标控件位置信息判断模块303,用于接收所述目标控件的识别信息,根据所述目标控件的识别信息以及预先设置的候选控件信息集合,判断所述候选控件信息集合中是否包含所述目标控件的位置信息;其中,所述候选控件信息包括候选控件的识别信息与位置信息,所述候选控件为所述目标应用在当前时刻的界面所包含的控件;
模拟点击行为生成模块304,用于当所述候选控件信息集合中包含所述目标控件的位置信息时,根据所述目标控件的位置信息生成模拟点击行为。
本发明实施例提供的通过语音控制应用的***中的电子设备通过用户的语音指令确定搜索关键词,根据搜索关键词确定目标控件的识别信息,进而得到目标控件的位置信息,从而生成模拟点击行为,把语音控制的功能解耦出来,不需要应用的开发者将用于语音控制的软件开发工具包(SDK)集成到应用中就可以实现语音控制,大大降低了语音控制功能的开发成本。
图4为本发明提供的通过语音控制应用的***中的云端服务器的示意图,如图4所示,云端服务器包括:
搜索关键词接收模块401,用于接收搜索关键词;其中,所述搜索关键词是根据用户发出的语音指令以及目标应用确定的,所述目标应用为当前时刻运行在电子设备最前端的应用;
目标控件识别信息确定模块402,用于根据所述搜索关键词从预先设置的目标应用的控件识别信息集合中确定目标控件的识别信息;其中,所述目标控件为根据所述语音指令所确定的控件;
目标控件识别信息发送模块403,用于发送所述目标控件的识别信息,以使得所述电子设备根据所述目标控件的识别信息以及预先设置的候选控件信息集合,判断所述候选控件信息集合中是否包含所述目标控件的位置信息;其中,所述候选控件信息包括候选控件的识别信息与位置信息,所述候选控件为所述目标应用在当前时刻的界面所包含的控件;以及当所述候选控件信息集合中包含所述目标控件的位置信息时,所述电子设备根据所述目标控件的位置信息生成模拟点击行为。
本发明实施例提供的通过语音控制应用的***中的云端服务器通过用户的语音指令确定搜索关键词,根据搜索关键词确定目标控件的识别信息,进而得到目标控件的位置信息,从而生成模拟点击行为,把语音控制的功能解耦出来,不需要应用的开发者将用于语音控制的软件开发工具包(SDK)集成到应用中就可以实现语音控制,大大降低了语音控制功能的开发成本。
图5为本发明实施例所涉及的电子设备的实体结构示意图,如图5所示,该电子设备可以包括:处理器(processor)510、通信接口(Communications Interface)520、存储器(memory)530和通信总线540,其中,处理器510,通信接口520,存储器530通过通信总线540完成相互间的通信。处理器510可以调用存储器530中的逻辑指令,以执行如下方法:
接收用户发出的语音指令,根据所述语音指令以及目标应用,确定搜索关键词;其中,所述目标应用为当前时刻运行在电子设备最前端的应用;
将所述搜索关键词发送给云端服务器,以使得所述云端服务器根据所述搜索关键词从预先设置的目标应用的控件识别信息集合中确定目标控件的识别信息,所述目标控件为根据所述语音指令所确定的控件;
接收所述目标控件的识别信息,根据所述目标控件的识别信息以及预先设置的候选控件信息集合,判断所述候选控件信息集合中是否包含所述目标控件的位置信息;其中,所述候选控件信息包括候选控件的识别信息与位置信息,所述候选控件为所述目标应用在当前时刻的界面所包含的控件;
当所述候选控件信息集合中包含所述目标控件的位置信息时,根据所述目标控件的位置信息生成模拟点击行为。
或执行如下方法:
接收搜索关键词;其中,所述搜索关键词是根据用户发出的语音指令以及目标应用确定的,所述目标应用为当前时刻运行在电子设备最前端的应用;
根据所述搜索关键词从预先设置的目标应用的控件识别信息集合中确定目标控件的识别信息;其中,所述目标控件为根据所述语音指令所确定的控件;
发送所述目标控件的识别信息,以使得所述电子设备根据所述目标控件的识别信息以及预先设置的候选控件信息集合,判断所述候选控件信息集合中是否包含所述目标控件的位置信息;其中,所述候选控件信息包括候选控件的识别信息与位置信息,所述候选控件为所述目标应用在当前时刻的界面所包含的控件;以及当所述候选控件信息集合中包含所述目标控件的位置信息时,所述电子设备根据所述目标控件的位置信息生成模拟点击行为。
此外,上述的存储器530中的逻辑指令可以通过软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等各种可以存储程序代码的介质。
另一方面,本发明实施例还提供一种非暂态计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时实现以执行上述各实施例提供的方法,例如包括:
接收用户发出的语音指令,根据所述语音指令以及目标应用,确定搜索关键词;其中,所述目标应用为当前时刻运行在电子设备最前端的应用;
将所述搜索关键词发送给云端服务器,以使得所述云端服务器根据所述搜索关键词从预先设置的目标应用的控件识别信息集合中确定目标控件的识别信息,所述目标控件为根据所述语音指令所确定的控件;
接收所述目标控件的识别信息,根据所述目标控件的识别信息以及预先设置的候选控件信息集合,判断所述候选控件信息集合中是否包含所述目标控件的位置信息;其中,所述候选控件信息包括候选控件的识别信息与位置信息,所述候选控件为所述目标应用在当前时刻的界面所包含的控件;
当所述候选控件信息集合中包含所述目标控件的位置信息时,根据所述目标控件的位置信息生成模拟点击行为。
或例如包括:
接收搜索关键词;其中,所述搜索关键词是根据用户发出的语音指令以及目标应用确定的,所述目标应用为当前时刻运行在电子设备最前端的应用;
根据所述搜索关键词从预先设置的目标应用的控件识别信息集合中确定目标控件的识别信息;其中,所述目标控件为根据所述语音指令所确定的控件;
发送所述目标控件的识别信息,以使得所述电子设备根据所述目标控件的识别信息以及预先设置的候选控件信息集合,判断所述候选控件信息集合中是否包含所述目标控件的位置信息;其中,所述候选控件信息包括候选控件的识别信息与位置信息,所述候选控件为所述目标应用在当前时刻的界面所包含的控件;以及当所述候选控件信息集合中包含所述目标控件的位置信息时,所述电子设备根据所述目标控件的位置信息生成模拟点击行为。
以上所描述的装置实施例仅仅是示意性的,其中所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。本领域普通技术人员在不付出创造性的劳动的情况下,即可以理解并实施。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到各实施方式可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件。基于这样的理解,上述技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品可以存储在计算机可读存储介质中,如ROM/RAM、磁碟、光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行各个实施例或者实施例的某些部分所述的方法。
最后应说明的是:以上实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围。
Claims (10)
1.一种通过语音控制应用的方法,其特征在于,应用于电子设备,方法包括:
接收用户发出的语音指令,根据所述语音指令以及目标应用,确定搜索关键词;其中,所述目标应用为当前时刻运行在电子设备最前端的应用;
将所述搜索关键词发送给云端服务器,以使得所述云端服务器根据所述搜索关键词从预先设置的目标应用的控件识别信息集合中确定目标控件的识别信息,所述目标控件为根据所述语音指令所确定的控件;
接收所述目标控件的识别信息,根据所述目标控件的识别信息以及预先设置的候选控件信息集合,判断所述候选控件信息集合中是否包含所述目标控件的位置信息;其中,所述候选控件信息包括候选控件的识别信息与位置信息,所述候选控件为所述目标应用在当前时刻的界面所包含的控件;
当所述候选控件信息集合中包含所述目标控件的位置信息时,根据所述目标控件的位置信息生成模拟点击行为。
2.根据权利要求1所述的通过语音控制应用的方法,其特征在于,所述根据所述语音指令以及目标应用,确定搜索关键词,包括:
对所述语音指令进行语义识别,得到所述语音指令的意图文本;
获取所述目标应用的标识;
根据所述语音指令的意图文本以及所述目标应用的标识,确定搜索关键词。
3.根据权利要求1所述的通过语音控制应用的方法,其特征在于,所述识别信息包括文本信息、标识信息以及类型信息;
相应的,所述根据所述目标控件的识别信息以及预先设置的候选控件信息集合,判断所述候选控件信息集合中是否包含所述目标控件的位置信息,包括:
步骤S1、将所述目标控件的文本信息与所述候选控件信息集合中各个候选控件的文本信息进行逐一比对,若比对成功,执行步骤S4;若比对全部失败,将所述目标控件的标识信息与所述候选控件信息集合中各个候选控件的标识信息进行逐一比对,若比对成功,执行步骤S4;若比对全部失败,将所述目标控件的类型信息与所述候选控件信息集合中各个候选控件的类型信息进行逐一比对,若比对成功,执行步骤S4;若比对全部失败,执行步骤S2;
步骤S2、判断比对失败的次数是否达到预设的第一阈值,当已经达到预设的第一阈值,返回任务执行失败的提示信息,结束操作,否则,执行步骤S3;
步骤S3、当与前一次比对操作的时间间隔达到预设的第二阈值,重新执行步骤S1;
步骤S4、输出与所述目标控件相匹配的候选控件的位置信息,结束操作。
4.根据权利要求1至3任一项所述的通过语音控制应用的方法,其特征在于,在接收用户发出的语音指令的步骤之前,方法还包括:
监控所述目标应用的界面,当所述目标应用的界面发生变化后,确定所述目标应用在当前时刻的界面所包含的控件为候选控件;
扫描候选控件,得到所述候选控件的识别信息与位置信息;
根据所述候选控件的识别信息与位置信息,得到候选控件信息集合。
5.一种通过语音控制应用的方法,其特征在于,应用于云端服务器,方法包括:
接收搜索关键词;其中,所述搜索关键词是根据用户发出的语音指令以及目标应用确定的,所述目标应用为当前时刻运行在电子设备最前端的应用;
根据所述搜索关键词从预先设置的目标应用的控件识别信息集合中确定目标控件的识别信息;其中,所述目标控件为根据所述语音指令所确定的控件;
发送所述目标控件的识别信息,以使得所述电子设备根据所述目标控件的识别信息以及预先设置的候选控件信息集合,判断所述候选控件信息集合中是否包含所述目标控件的位置信息;其中,所述候选控件信息包括候选控件的识别信息与位置信息,所述候选控件为所述目标应用在当前时刻的界面所包含的控件;以及当所述候选控件信息集合中包含所述目标控件的位置信息时,所述电子设备根据所述目标控件的位置信息生成模拟点击行为。
6.根据权利要求5所述的通过语音控制应用的方法,其特征在于,所述搜索关键词包括语音指令的意图文本以及目标应用的标识;控件识别信息至少包括控件的文本信息;
相应的,所述根据所述搜索关键词从预先设置的目标应用的控件识别信息集合中确定目标控件的识别信息,包括:
根据目标应用的标识确定目标应用的控件识别信息集合;
将所述语音指令的意图文本与所述目标应用的控件识别信息集合中各个控件的文本信息进行匹配;
将与所述语音指令的意图文本匹配一致的控件作为目标控件,根据所述目标应用的控件识别信息集合,确定目标控件的识别信息。
7.根据权利要求5或6所述的通过语音控制应用的方法,其特征在于,在接收搜索关键词的步骤之前,方法还包括:
扫描应用中的所有控件,得到控件的识别信息;
将属于同一应用的控件的识别信息集中存储,得到应用的控件识别信息集合。
8.一种通过语音控制应用的***,其特征在于,包括:电子设备与云端服务器,所述电子设备与所述云端服务器通信连接;
所述电子设备,用于执行如权利要求1至4任一项所述的通过语音控制应用的方法的步骤;
所述云端服务器,用于执行如权利要求5至7任一项所述的通过语音控制应用的方法的步骤。
9.一种电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,其特征在于,所述处理器执行所述程序时实现如权利要求1至4任一项所述的通过语音控制应用的方法的步骤,或实现如权利要求5至7任一项所述的通过语音控制应用的方法的步骤。
10.一种非暂态计算机可读存储介质,其上存储有计算机程序,其特征在于,该计算机程序被处理器执行时实现如权利要求1至4任一项所述的通过语音控制应用的方法的步骤,或实现如权利要求5至7任一项所述的通过语音控制应用的方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011596720.0A CN112286485B (zh) | 2020-12-30 | 2020-12-30 | 通过语音控制应用的方法、装置、电子设备与存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011596720.0A CN112286485B (zh) | 2020-12-30 | 2020-12-30 | 通过语音控制应用的方法、装置、电子设备与存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN112286485A CN112286485A (zh) | 2021-01-29 |
CN112286485B true CN112286485B (zh) | 2021-04-13 |
Family
ID=74426571
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202011596720.0A Active CN112286485B (zh) | 2020-12-30 | 2020-12-30 | 通过语音控制应用的方法、装置、电子设备与存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN112286485B (zh) |
Families Citing this family (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115048161A (zh) * | 2021-02-26 | 2022-09-13 | 华为技术有限公司 | 应用的控制方法及其电子设备、装置和介质 |
CN113050860B (zh) * | 2021-04-27 | 2022-08-02 | 腾讯科技(深圳)有限公司 | 一种控件识别方法和相关装置 |
CN113923295B (zh) * | 2021-11-17 | 2023-04-07 | Oppo广东移动通信有限公司 | 语音控制方法、装置、电子设备以及存储介质 |
CN117992150A (zh) * | 2022-11-04 | 2024-05-07 | 华为技术有限公司 | 一种模拟点击方法和电子设备 |
Family Cites Families (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104899003A (zh) * | 2015-06-12 | 2015-09-09 | 广州视源电子科技股份有限公司 | 终端控制方法和*** |
CN107948698A (zh) * | 2017-12-14 | 2018-04-20 | 深圳市雷鸟信息科技有限公司 | 智能电视的语音控制方法、***及智能电视 |
CN108305626A (zh) * | 2018-01-31 | 2018-07-20 | 百度在线网络技术(北京)有限公司 | 应用程序的语音控制方法和装置 |
CN108538291A (zh) * | 2018-04-11 | 2018-09-14 | 百度在线网络技术(北京)有限公司 | 语音控制方法、终端设备、云端服务器及*** |
CN108958844B (zh) * | 2018-07-13 | 2021-09-03 | 京东方科技集团股份有限公司 | 一种应用程序的控制方法及终端 |
-
2020
- 2020-12-30 CN CN202011596720.0A patent/CN112286485B/zh active Active
Also Published As
Publication number | Publication date |
---|---|
CN112286485A (zh) | 2021-01-29 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN112286485B (zh) | 通过语音控制应用的方法、装置、电子设备与存储介质 | |
US10489112B1 (en) | Method for user training of information dialogue system | |
US11194448B2 (en) | Apparatus for vision and language-assisted smartphone task automation and method thereof | |
CN109002510B (zh) | 一种对话处理方法、装置、设备和介质 | |
CN108369580B (zh) | 针对屏幕上项目选择的基于语言和域独立模型的方法 | |
US10496276B2 (en) | Quick tasks for on-screen keyboards | |
KR20210039997A (ko) | 멀티-턴 대화 중 공개 장면 대화의 백트래킹 방법 및 장치 | |
CN112652302B (zh) | 语音控制方法、装置、终端及存储介质 | |
CN105069013A (zh) | 在搜索界面中提供输入接口的控制方法和装置 | |
CN104111728A (zh) | 基于操作手势的语音指令输入方法及电子设备 | |
CN113094143A (zh) | 跨应用消息发送方法、装置和电子设备、可读存储介质 | |
JP2023506087A (ja) | スキルの音声ウェイクアップ方法および装置 | |
CN103631436A (zh) | 手写输入方法及终端 | |
CN113138702B (zh) | 信息处理方法、装置、电子设备及存储介质 | |
CN114860910A (zh) | 智能对话方法及*** | |
CN117015781A (zh) | 从图形用户界面生成自然语言界面 | |
CN113778596A (zh) | 远程协助方法、装置和电子设备 | |
CN110085237B (zh) | 交互过程的恢复方法、装置及设备 | |
CN108092875B (zh) | 一种表情提供方法、介质、装置和计算设备 | |
CN110543556A (zh) | 对话配置方法及存储介质和电子设备 | |
CN104375884A (zh) | 一种信息处理方法和电子设备 | |
US11195509B2 (en) | System and method for interactive virtual assistant generation for assemblages | |
CN109815325B (zh) | 答案抽取方法、装置、服务器及存储介质 | |
EP4071690A2 (en) | Method and apparatus for task information management, device and storage medium | |
EP4207714A1 (en) | Page display method and electronic device |
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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant |