语音控制方法及装置、存储介质、电子设备与流程

文档序号:15450843发布日期:2018-09-14 23:59阅读:182来源:国知局

本公开涉及智能控制技术领域,具体地,涉及一种语音控制方法及装置、存储介质、电子设备。



背景技术:

随着智能技术的不断发展,智能设备在日常生活中也越来越普及,尤其是智能家居中各种智能设备的出现,大大的提高了家庭生活的便利性。

在实际应用过程中,用户可以通过语音遥控器,控制智能设备执行相关操作。对于具有显示屏幕的智能设备来说,一个重要的功能就是“所见即所说”,也就是说,对于显示屏幕上展示的文字,用户可以直接以语音输入的方式,直接说出屏幕上展示的文字,以此控制智能设备执行相关操作。以智能电视机为例,用户可以说出屏幕上的文字,触发电视机播放这个文字对应的节目;以智能空调为例,用户可以说出屏幕上的文字,触发空调执行这个文字对应的动作,例如调整室温等。

通常,在进行语音控制之前,智能设备需要预先将页面包括的文字上传给语音服务器,由语音服务器处理并保存,这样,当用户喊出对应的文字时,语音服务器可以进行语音识别,将识别出的文字发送给智能设备,由智能设备对文字对应的界面元素执行相关操作。需要说明的是,目前的文字上传过程,主要是由页面开发商实现,具体地,智能设备先对接语音服务器提供的统一接口,然后将各页面包含的文字上传到语音服务器。

结合实际应用效果来看,目前的语音控制效果不理想,存在语音识别失败的情况,影响了用户体验。



技术实现要素:

本公开的主要目的是提供一种语音控制方法及装置、存储介质、电子设备,有助于提高语音控制效果。

为了实现上述目的,本公开提供一种语音控制方法,所述方法包括:

获取当前页面的页面图像,识别所述页面图像中包含的文字;

将连续排列的文字确定为一个文字单元,并确定出所述文字单元所在显示区域;

获取所述当前页面中可操作元素所在显示区域,与所述文字单元所在显示区域相匹配,确定出可操作元素对应的文字单元;

将所述可操作元素对应的文字单元上传至语音服务器保存;

获取用户输入的语音数据,并将所述语音数据转发至所述语音服务器进行语音识别,所述语音服务器用于根据上传的所述文字单元,确定出所述语音数据对应的待操作文字单元;

接收所述语音服务器发送的所述待操作文字单元,对所述待操作文字单元对应的可操作元素执行操作。

可选地,所述获取当前页面的页面图像,包括:

从智能设备的硬件显示缓冲区获取所述页面图像;或者,

接收智能设备的显示系统发送的所述页面图像;或者,

通过截屏方式获取所述页面图像。

可选地,所述将连续排列的文字确定为一个文字单元,包括:

判断相邻文字单元之间的间距是否超过预设距离;

如果相邻文字单元之间的间距未超过预设距离,则将所述相邻文字单元合并为一个文字单元。

可选地,所述将连续排列的文字确定为一个文字单元之后,所述方法还包括:

对所述文字单元进行预处理,得到处理后的文字单元,所述预处理包括:

基于预设的指定文字,筛除所述文字单元中的提示性文字;和/或,

基于预设的词性组合,筛除所述文字单元中无意义的文字,所述词性组合中至少包括名词;和/或,

基于预设的词缀,与所述文字单元中的文字进行组合处理。

本公开提供一种语音控制装置,所述装置包括:

页面图像获取模块,用于获取当前页面的页面图像,识别所述页面图像中包含的文字;

文字单元确定模块,用于将连续排列的文字确定为一个文字单元,并确定出所述文字单元所在显示区域;

显示区域匹配模块,用于获取所述当前页面中可操作元素所在显示区域,与所述文字单元所在显示区域相匹配,确定出可操作元素对应的文字单元;

文字单元上传模块,用于将所述可操作元素对应的文字单元上传至语音服务器保存;

语音数据转发模块,用于获取用户输入的语音数据,并将所述语音数据转发至所述语音服务器进行语音识别,所述语音服务器用于根据上传的所述文字单元,确定出所述语音数据对应的待操作文字单元;

文字单元接收模块,用于接收所述语音服务器发送的所述待操作文字单元,对所述待操作文字单元对应的可操作元素执行操作。

可选地,所述页面图像获取模块,用于从智能设备的硬件显示缓冲区获取所述页面图像;或者,接收智能设备的显示系统发送的所述页面图像;或者,通过截屏方式获取所述页面图像。

可选地,所述文字单元确定模块,用于将连续排列的文字确定为一个文字单元;判断相邻文字单元之间的间距是否超过预设距离;如果相邻文字单元之间的间距未超过预设距离,则将所述相邻文字单元合并为一个文字单元。

可选地,所述装置还包括:

文字单元预处理模块,用于对所述文字单元确定模块确定出的文字单元进行预处理,得到处理后的文字单元,所述预处理包括:

基于预设的指定文字,筛除所述文字单元中的提示性文字;和/或,

基于预设的词性组合,筛除所述文字单元中无意义的文字,所述词性组合中至少包括名词;和/或,

基于预设的词缀,与所述文字单元中的文字进行组合处理。

本公开提供一种存储介质,其中存储有多条指令,所述指令由处理器加载,执行上述语音控制方法的步骤。

本公开提供一种电子设备,所述电子设备包括;

上述的存储介质;以及

处理器,用于执行所述存储介质中的指令。

本公开方案中,可以获取当前页面包含的文字单元以及该文字单元所在显示区域,同时,还可以获取当前页面包含的可操作元素所在显示区域;如此,通过显示区域匹配,可以确定出可操作元素对应的文字单元,即确定出可上传至语音服务器的文字。相对于现有技术全部或有选择性的部分进行文字上传,本公开方案以当前页面的可操作元素为依据实现的文字上传,更具客观性,不仅有助于确保不同页面所传文字集成度的一致性,还有助于确保所传文字均属于用户可操控的对象。完成文字上传后,可以持续进行语音数据拾取,以便将用户所说语音数据发送至语音服务器进行语音识别,进而根据语音服务器识别出的待操作文字单元,确定出对应的可操作元素,执行相关操作,完成整个语音控制过程。对于当前页面来说,实时进行文字上传以及语音数据拾取,有助于确保语音服务器保存的文字单元、用户当前所见所说的文字单元之间的一致性,可以进一步提高语音控制的准确性。

本公开的其他特征和优点将在随后的具体实施方式部分予以详细说明。

附图说明

附图是用来提供对本公开的进一步理解,并且构成说明书的一部分,与下面的具体实施方式一起用于解释本公开,但并不构成对本公开的限制。在附图中:

图1为本公开方案语音控制方法的流程示意图;

图2为本公开方案中当前页面中文字单元所在显示区域的示意图;

图3为本公开方案中当前页面中可操作元素所在显示区域的示意图;

图4为本公开方案中显示区域匹配后的示意图;

图5为本公开方案语音控制装置的构成示意图;

图6为本公开方案用于语音控制的电子设备的结构示意图。

具体实施方式

以下结合附图对本公开的具体实施方式进行详细说明。应当理解的是,此处所描述的具体实施方式仅用于说明和解释本公开,并不用于限制本公开。

发明人在研发过程中发现,现有技术的语音控制效果不理想,主要是页面开发商提供的文字集成度不一致导致的。例如,有的页面开发商会将所有界面元素对应的文字均上传至语音服务器,有的页面开发商则只会上传部分界面元素对应的文字,当用户说出未上传的文字时,很可能导致语音识别失败,影响整个语音控制过程,降低用户体验。此外,即使页面开发商上传了所有界面元素对应的文字,考虑到不同页面开发商可能对文字的处理程度有所不同,仍会对语音服务器的语音识别结果产生影响,进而影响整个语音控制过程。

针对于此,本公开提供一种新的语音控制方案,可以以当前页面的可操作元素为准,实时提取当前页面上与可操作元素对应的文字,这样,不仅可以确保文字提取的一致性,又可以确保所提取文字均属于可被用户操作的对象。下面对本公开方案的实现过程进行解释说明。

参见图1,示出了本公开语音控制方法的流程示意图。可以包括以下步骤:

s101,获取当前页面的页面图像,识别所述页面图像中包含的文字。

作为一种示例,可以获取智能设备正在展示的当前页面的页面图像,并以此为基础,进行文字提取以及语音识别。举例来说,可以每隔预设时长获取一次页面图像;或者可以实时监测,并在页面发生变化时获取页面图像,本公开方案对此可不做具体限定,只要在用户输入语音数据之前,完成当前页面的文字上传即可。可以理解地,页面发生变化至少可以是,用户所见的页面元素发生了变化,例如,页面元素可以体现为页面上的文字、图片、音频、动画、视频中的至少一种,本公开方案对此亦可不做具体限定。

作为一种示例,至少可以通过以下方式获取当前页面的页面图像:

(1)可以从智能设备的硬件显示缓冲区获取当前页面的页面图像。通常,显示缓冲区存储的是rgb格式数据或者yuv格式数据,本公开方案对此可不做具体限定。

(2)可以由智能设备的显示系统主动提供当前页面的页面图像。例如,显示系统可以是android系统或者web浏览器,本公开方案对此可不做具体限定。

(3)通过截屏方式获取当前页面的页面图像。

获取到当前页面的页面图像后,可以进行图像处理,识别出其中包含的文字,例如,可以通过ocr(英文:opticalcharacterrecognition,中文:光学字符识别)进行文字识别,得到页面图像对应的识别文本,本公开方案对图像处理采用的具体技术可不做限定,可以利用云端文字识别服务或者本地文字识别服务,进行图像处理,具体可依据智能设备本身的处理能力确定。

s102,将连续排列的文字确定为一个文字单元,并确定出所述文字单元所在显示区域。

进行图像处理之后,便可得到当前页面包含的所有文字,以及文字所在显示区域,即文字所在位置。考虑到具有相关性的文字,通常会连续排列在一起,基于这一特性,可以将连续排列的同一横行、连续排列的同一竖列的文字,组合成一个文字单元,得到当前页面包含的所有文字单元、以及文字单元所在显示区域。

以图2所示页面图像为例,可以得到以下文字单元:推荐/影视/体育/应用/游戏/儿童/当前时间19:15,为您推荐以下节目/三生三世/十里桃花/三生三世再叙前缘/不死之身的浪漫爱情/太平洋战争最后一战/王牌对王牌/祖蓝源源撕逼大战/战胜/曾经的自己/正在直播亚洲冠军杯/海洋之歌/年度评分最高动画电影。

在实际应用过程中,可能存在一些因为隔行或者隔列被分开的文字单元,例如,图2中“三生三世十里桃花”被分隔为2个文字单元,用户进行语音控制时,很可能说出“三生三世十里桃花”,为了提高语音识别准确性,本公开方案还可以提供一种文字单元的合并方案。具体地,可以判断相邻文字单元之间的间距是否超过预设距离;如果相邻文字单元之间的间距未超过预设距离,则可将该相邻文字单元合并为一个文字单元。

可以理解地,对于相邻横行的文字单元来说,本公开方案中的间距指的是行间距;对于相邻列的文字单元来说,本公开方案中的间距指的是列间距。此外,针对行间距、列间距,可以设置相同预设距离,也可以设置不同预设距离,本公开方案对此可不做具体限定。

作为一种示例,可以利用合并得到的文字单元,替换合并前的相邻文字单元,例如,利用“三生三世十里桃花”替换掉“三生三世”和“十里桃花”;或者,可以同时保留合并得到的文字单元、合并前的相邻文字单元。本公开方案对此可不做限定,具体可结合实际应用需求确定。

s103,获取所述当前页面中可操作元素所在显示区域,与所述文字单元所在显示区域相匹配,确定出可操作元素对应的文字单元。

如上文所做介绍,本公开方案可以依据当前页面的可操作元素,确定出最终上传至语音服务器的文字。作为一种示例,可以通过匹配可操作元素所在显示区域、文字单元所在显示区域的方式,得到最终上传的文字单元。

作为一种示例,本公开方案可以通过显示结构,获知当前页面中可操作元素所在显示区域。举例来说,android系统发送的当前页面的显示结构可以是layout-view结构,web浏览器发送的当前页面的显示结构可以是dom结构,当前页面包括的所有可操作元素都依存于这些显示结构中。通常,显示结构中至少可以包含以下信息:可操作元素的名称;可操作元素的大小,即长宽;可操作元素所在显示区域,通常以x,y坐标表示,以屏幕左上方为坐标原点;可操作元素绑定的操作事件,例如,点击操作、长按操作等。如图3所示,框选出的即为当前页面中可操作元素所在显示区域。

作为一种示例,可以结合图2框选出的当前页面中文字单元所在显示区域、图3框选出的当前页面中可操作元素所在显示区域,进行图像的交集运算,对框选出的地方进行显示区域匹配,得到可操作元素对应的文字单元,即最终上传至语音服务器的文字单元。作为一种示例,显示区域相匹配可以是完全匹配,如图4中的文字单元:推荐/影视/体育/应用/游戏/儿童;或者,显示区域相匹配也可以是部分匹配,如图4中的文字单元:三生三世/十里桃花/三生三世再叙前缘/不死之身的浪漫爱情/太平洋战争最后一战/王牌对王牌/祖蓝源源撕逼大战/战胜/曾经的自己/正在直播亚洲冠军杯/海洋之歌/年度评分最高动画电影。也就是说,文字单元所在显示区域位于可操作元素所在显示区域内即可。

s104,将所述可操作元素对应的文字单元上传至语音服务器保存。

获得可操作元素对应的文字单元后,可以将这些文字单元发送至语音服务器保存,以便在接收到用户输入的语音数据时,可以据此进行语音识别,得到识别的文字后,确定出用户想要语音控制的对象。本公开方案中,将文字单元发送至语音服务器可以理解为,将文字单元包含的文字上传至语音服务器。

本公开方案可以及时将智能设备正在展示的当前页面上的文字,上传至语音服务器保存,确保语音服务器保存的文字单元、用户当前所见所说的文字单元之间的一致性,有助于提高语音控制的准确性。

s105,获取用户输入的语音数据,并将所述语音数据转发至所述语音服务器进行语音识别,所述语音服务器用于根据上传的所述文字单元,确定出所述语音数据对应的待操作文字单元。

作为一种示例,可以通过智能设备的麦克风拾取用户输入的语音数据,本公开方案对此可不做具体限定。可以理解地,本步骤的语音识别主要是根据上传至语音服务器的文字单元,确定出语音数据对应的待操作文字单元。语音服务器进行语音识别的过程,可参照相关技术实现,此处不做详述。

s106,接收所述语音服务器发送的所述待操作文字单元,对所述待操作文字单元对应的可操作元素执行操作。

语音服务器进行语音识别,得到待操作文字单元,即用户语音控制的对象后,可以根据文字单元与可操作元素之间的对应关系,确定出待操作文字单元对应的可操作元素,进而对该可操作元素执行相关操作。举例来说,可以通过显示结构得到可操作元素绑定的操作事件,即得到可操作元素需要执行的操作动作。

综上,对于用户所见的当前页面来说,本公开方案可以当前页面的可操作元素为依据,进行文字提取以及文字上传,相对于现有技术全部或有选择性的部分进行文字上传,本公开方案进行文字上传的依据更具客观性,不仅有助于确保不同页面所传文字集成度的一致性,还有助于确保所传文字均属于用户可操控的对象,这样,既不会因为上传了不可操控的文字,造成传输资源、存储资源的浪费,又不会因为漏传了可操作的文字,造成语音控制失败。此外,对于当前页面来说,实时进行文字上传以及语音数据拾取,还有助于确保语音服务器保存的文字单元、用户当前所见所说的文字单元之间的一致性,可以进一步提高语音控制的准确性。

作为一种示例,为了进一步提高语音控制的效果,本公开还提供一种文字单元的预处理方案,具体可体现为以下情况中的至少一种:

(1)基于预设的指定文字,筛除文字单元中的提示性文字。

在实际应用过程中,页面中可能会包含一些介绍性、提示性的文字,这类文字通常属于用户不可操控的对象,如图2中的文字单元“当前时间19:15,为您推荐以下节目”。针对于此,本公开方案可以预设一些指定文字,通过指定文字筛除文字单元中的提示性文字。可以理解地,筛除文字单元中的提示性文字,可以是筛除整个文字单元,也可以是筛除文字单元中的部分文字,本公开方案对此可不做具体限定。

另外,指定文字可以结合实际应用需求设置,本公开方案对此亦可不做具体限定。

(2)基于预设的词性组合,筛除文字单元中无意义的文字。

在实际应用过程中,用户可能并不会完全按照页面上显示的文字进行语音输入,即对于用户来说,文字单元中包括一些冗余、无意义的文字,如图2中的文字单元“正在直播亚洲冠军杯”,用户可能直接语音输入的是“亚洲冠军杯”或者“冠军杯”。针对于此,本公开方案可以预设一些词性组合,据此筛除文字单元中无意义的文字。

作为一种示例,可以利用预先保存的分词词典对文字单元进行分词处理,得到每个单词的词性,然后根据预设的词性组合进行文字筛除。举例来说,可以针对不同应用场景设置不同的分词词典,也可以设置统一的分词词典;分词词典中可以包含常用的影视名词、通用领域名词等,本公开方案对分词词典的内容可不做具体限定。

以上文所举文字单元“正在直播亚洲冠军杯”为例,可以得到两种分词结果:“正在:副词/直播:动词/亚洲:形容词/冠军杯:名词”、“正在:副词/直播:动词/亚洲冠军杯:名词”,针对于此,可以将“形容词+名词”或者“名词”作为预设词性组合,得到处理后的文字单元“亚洲冠军杯”或者“冠军杯”。本公开方案对预设的词性组合可不做具体限定,通常,词性组合中至少可以包括名词。

(3)基于预设的词缀,与文字单元中的文字进行组合处理。

在实际应用过程中,用户可能并不会完全按照页面上显示的文字进行语音输入,即对于用户来说,可能在语音输入时添加一些语气词、助动词,例如添加“打开”、“我要看”等词缀。针对于此,本公开方案可以预设一些词缀,并利用词缀对文字单元中的文字进行组合处理,以使上传至语音服务器的文字单元,更贴近用户实际的说法。

作为一种示例,本公开方案中的词缀可以具体体现为前缀词和/或后缀词,本公开方案对此可不做具体限定,可以结合实际应用需求设置。

举例来说,文字单元“正在直播亚洲冠军杯”经预设词性组合处理后,可以得到文字单元“亚洲冠军杯”;再经预设词缀处理后,可以得到文字单元“我要看亚洲冠军杯”。

参见图5,示出了本公开语音控制装置的构成示意图。所述装置可以包括:

页面图像获取模块201,用于获取当前页面的页面图像,识别所述页面图像中包含的文字;

文字单元确定模块202,用于将连续排列的文字确定为一个文字单元,并确定出所述文字单元所在显示区域;

显示区域匹配模块203,用于获取所述当前页面中可操作元素所在显示区域,与所述文字单元所在显示区域相匹配,确定出可操作元素对应的文字单元;

文字单元上传模块204,用于将所述可操作元素对应的文字单元上传至语音服务器保存;

语音数据转发模块205,用于获取用户输入的语音数据,并将所述语音数据转发至所述语音服务器进行语音识别,所述语音服务器用于根据上传的所述文字单元,确定出所述语音数据对应的待操作文字单元;

文字单元接收模块206,用于接收所述语音服务器发送的所述待操作文字单元,对所述待操作文字单元对应的可操作元素执行操作。

可选地,所述页面图像获取模块,用于从智能设备的硬件显示缓冲区获取所述页面图像;或者,接收智能设备的显示系统发送的所述页面图像;或者,通过截屏方式获取所述页面图像。

可选地,所述文字单元确定模块,用于将连续排列的文字确定为一个文字单元;判断相邻文字单元之间的间距是否超过预设距离;如果相邻文字单元之间的间距未超过预设距离,则将所述相邻文字单元合并为一个文字单元。

可选地,所述装置还包括:

文字单元预处理模块,用于对所述文字单元确定模块确定出的文字单元进行预处理,得到处理后的文字单元,所述预处理包括:

基于预设的指定文字,筛除所述文字单元中的提示性文字;和/或,

基于预设的词性组合,筛除所述文字单元中无意义的文字,所述词性组合中至少包括名词;和/或,

基于预设的词缀,与所述文字单元中的文字进行组合处理。

关于上述实施例中的装置,其中各个模块执行操作的具体方式已经在有关该方法的实施例中进行了详细描述,此处将不做详细阐述说明。

参见图6,示出了本公开用于语音控制的电子设备300的结构示意图。参照图6,电子设备300包括处理组件301,其进一步包括一个或多个处理器,以及由存储介质302所代表的存储设备资源,用于存储可由处理组件301的执行的指令,例如应用程序。存储介质302中存储的应用程序可以包括一个或一个以上的每一个对应于一组指令的模块。此外,处理组件301被配置为执行指令,以执行上述语音控制方法。

电子设备300还可以包括一个电源组件303,被配置为执行电子设备300的电源管理;一个有线或无线网络接口304,被配置为将电子设备300连接到网络;和一个输入输出(i/o)接口305。电子设备300可以操作基于存储在存储介质302的操作系统,例如windowsservertm,macosxtm,unixtm,linuxtm,freebsdtm或类似。

以上结合附图详细描述了本公开的优选实施方式,但是,本公开并不限于上述实施方式中的具体细节,在本公开的技术构思范围内,可以对本公开的技术方案进行多种简单变型,这些简单变型均属于本公开的保护范围。

另外需要说明的是,在上述具体实施方式中所描述的各个具体技术特征,在不矛盾的情况下,可以通过任何合适的方式进行组合,为了避免不必要的重复,本公开对各种可能的组合方式不再另行说明。

此外,本公开的各种不同的实施方式之间也可以进行任意组合,只要其不违背本公开的思想,其同样应当视为本公开所公开的内容。

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