语音控制方法、装置、电子设备和存储介质与流程
未命名
07-14
阅读:121
评论:0
1.本公开涉及语音处理技术领域,尤其涉及语音识别、语音交互和自然语言处理技术领域。更具体地,本公开提供了一种语音控制方法、装置、电子设备和存储介质。
背景技术:
2.智能汽车逐渐普及,大部分智能汽车都包含了语音助手,使得用户能够通过语音对车辆进行控制,例如控制车窗的打开和关闭、控制导航以及控制各种车载应用等。
技术实现要素:
3.本公开提供了一种语音控制方法、装置、设备以及存储介质。
4.根据第一方面,提供了一种语音控制方法,该方法包括:响应于接收到输入语音,将与输入语音对应的输入文本与第一指令文本集合进行匹配;响应于输入文本与第一指令文本集合未匹配成功,确定当前页面上的至少一个元素各自的元素文本;针对每个元素文本,根据输入文本与元素文本之间的公共文本,将输入文本与第二指令文本集合进行匹配,得到针对元素的匹配结果;根据至少一个元素各自的匹配结果,从至少一个元素中确定目标元素;以及执行针对目标元素的控制操作。
5.根据第二方面,提供了一种语音控制装置,该装置包括:第一匹配模块,用于响应于接收到输入语音,将与输入语音对应的输入文本与第一指令文本集合进行匹配;元素文本确定模块,用于响应于输入文本与第一指令文本集合未匹配成功,确定当前页面上的至少一个元素各自的元素文本;第二匹配模块,用于针对每个元素文本,根据输入文本与元素文本之间的公共文本,将输入文本与第二指令文本集合进行匹配,得到针对元素的匹配结果;目标元素确定模块,用于根据至少一个元素各自的匹配结果,从至少一个元素中确定目标元素;以及控制模块,用于执行针对目标元素的控制操作。
6.根据第三方面,提供了一种电子设备,包括:至少一个处理器;以及与至少一个处理器通信连接的存储器;其中,存储器存储有可被至少一个处理器执行的指令,指令被至少一个处理器执行,以使至少一个处理器能够执行根据本公开提供的方法。
7.根据第四方面,提供了一种存储有计算机指令的非瞬时计算机可读存储介质,该计算机指令用于使计算机执行根据本公开提供的方法。
8.根据第五方面,提供了一种计算机程序产品,包括计算机程序,所述计算机程序存储于可读存储介质和电子设备其中至少之一上,所述计算机程序在被处理器执行时实现根据本公开提供的方法。
9.应当理解,本部分所描述的内容并非旨在标识本公开的实施例的关键或重要特征,也不用于限制本公开的范围。本公开的其它特征将通过以下的说明书而变得容易理解。
附图说明
10.附图用于更好地理解本方案,不构成对本公开的限定。其中:
11.图1是根据本公开的一个实施例的语音控制方法的场景示意图;
12.图2是根据本公开的一个实施例的语音控制方法的流程图;
13.图3是根据本公开的一个实施例的确定候选元素的方法的流程图;
14.图4是根据本公开的另一个实施例的确定候选元素的方法的流程图;
15.图5是根据本公开的一个实施例的语音控制装置的框图;
16.图6是根据本公开的一个实施例的语音控制方法的电子设备的框图。
具体实施方式
17.以下结合附图对本公开的示范性实施例做出说明,其中包括本公开实施例的各种细节以助于理解,应当将它们认为仅仅是示范性的。因此,本领域普通技术人员应当认识到,可以对这里描述的实施例做出各种改变和修改,而不会背离本公开的范围和精神。同样,为了清楚和简明,以下的描述中省略了对公知功能和结构的描述。
18.随着智能汽车逐渐地普及,智能座舱为用户提供的功能越来越丰富。驾驶员在驾驶过程中操作智能座舱中控系统的情况不断增加。例如:操控导航应用,可以对当前导航路线进行控制;操控多媒体应用,可以使用户按照个人喜好切换、点播多媒体内容;操控车辆,比如空调控制、车窗/天窗/遮阳帘控制等等;操控蓝牙电话,可以精准拨打具体联系人。
19.虽然当下大部分智能汽车都包含了语音助手,能够通过语音控制中控系统。但其能力颇为有限,常常难以完全实现所有功能的操控,比如几乎所有的语音助手都无法实现语音对车辆控制意图的百分百覆盖。仍然有不少功能,需要驾驶员通过触控的方式达成,大大增加了安全风险。
20.因此全场景语音触控屏的需求孕育而生,具体来讲,语音触控屏是指通过“语音”代替驾驶员“触控屏幕”,以实现对中控系统的操作。所见即可说是指只要是屏幕上有的功能,都可以通过语音进行控制,是全场景语音触控屏的有效解决方案。具体实现可以是扫描页面上的元素,得到页面元素文本,当用户发起语音时,通过语音识别得到文本,将语音识别得到的文本与扫描到的页面元素文本进行匹配,匹配上了就模拟点击屏幕上元素的位置,实现语音控制。
21.所见即可说中可以采取模糊匹配的策略将语音识别结果与页面元素进行匹配。模糊匹配是指用户的语音识别文本和页面元素文本的公共文本的长度大于预设数值(例如3),便认为用户语音命中页面元素。模糊匹配的策略在实践中仍然存在较为严重的过度召回问题,造成不应该命中语音触控屏的识别结果,却错误命中了。
22.如下表1示出了模糊匹配的几种错误命中的情况。
23.表1
[0024][0025][0026]
如表1所示,例如,页面元素为文本控件,该文本控件的文本内容为“氛围灯”,点击该文本控件可以打开氛围灯设置页面。用户的语音识别结果为“打开氛围灯”,根据所见即可说的模糊匹配策略,可以将语音识别结果与该文本控件匹配成功,即用户语音命中了氛围灯控件,从而模拟点击该氛围灯控件,打开了氛围灯设置页面。这与用户实际要打开氛围灯的真实意图不符。
[0027]
例如,页面元素为开关控件,且该开关控件已关,该开关控件的文本内容为“静音模式”。用户的语音识别结果为“关闭静音模式”,根据模糊匹配策略,用户语音命中了静音模式的开关控件,从而执行了模拟点击操作,使得静音模式再次打开,这与用户实际要关闭静音模式的真实意图不符。
[0028]
例如,页面元素为应用图标,文本内容为“xxx”(应用图标的名称,例如包含3个字)。用户的语音识别结果为“不要打开xxx”,根据模糊匹配策略,用户语音命中了应用图标,从而执行模拟点击操作,打开该应用,这与用户实际不要打开xxx的真实意图不符。
[0029]
因此,模糊匹配的过度召回问题,会出现较多的与用户真实意图不符的错误操作,造成用户体验差。
[0030]
本公开的技术方案中,所涉及的用户个人信息的收集、存储、使用、加工、传输、提供和公开等处理,均符合相关法律法规的规定,且不违背公序良俗。
[0031]
在本公开的技术方案中,在获取或采集用户个人信息之前,均获取了用户的授权或同意。
[0032]
图1是根据本公开一个实施例的语音控制方法的场景示意图。
[0033]
如图1所示,本实施例可以为车载终端的显示屏,显示屏中的页面可以包括多个页面元素,页面元素可以包括文本控件、开关控件和应用图标等。
[0034]
例如,元素101为文本控件,元素101的文本内容为“主页”。点击元素101可以显示多个应用图标。应用图标例如包括元素104、元素105和元素106等等。元素104可以是某视频播放软件的应用图标,元素105可以是某音乐播放软件的应用图标,元素106可以是某导航软件的应用图标。
[0035]
元素102为文本控件,元素102的文本内容为“空调”,点击元素102可以打开空调的设置页面,例如设置运行模式,设置温度等。
[0036]
元素103为开关控件,元素103的文本内容为“静音模式”,点击元素103可以将打开或关闭静音模式。
[0037]
本实施例的语音控制方法可以通过语音代替用户的触控操作,将用户的输入语音识别为输入文本,将输入文本与各个元素的文本内容进行匹配,响应于输入文本与目标元素匹配成功,则模拟点击目标元素在屏幕上的位置,实现语音控制。
[0038]
需要注意的是,图1所示仅为可以应用本公开实施例的场景,以帮助本领域技术人员理解本公开的技术内容,但并不意味着本公开实施例不可以用于其他设备、系统、环境或场景。
[0039]
图2是根据本公开的一个实施例的语音控制方法的流程图。
[0040]
如图2所示,该语音控制方法200包括操作s210~操作s250。
[0041]
在操作s210,响应于接收到输入语音,将与输入语音对应的输入文本与第一指令文本集合进行匹配。
[0042]
例如,接收到用户的输入语音,对输入语音进行语音识别,得到输入文本。
[0043]
第一指令文本集合可以包括车控类指令,例如打开氛围灯、关闭车窗、开启雨刮器、关掉内灯光、开启蓝牙模式、打开hud(head up display,抬头显示)等。这类指令的优先级高于所见即可说的触控指令。也就是说,用户发出这类车控类指令的意图是控制车辆上的具体装置(如车窗、雨刷器、蓝牙电话等),并非要触控屏幕。
[0044]
由于所见即可说场景下的全场景语音触控屏幕上可以包含有氛围灯、车窗、蓝牙等元素,因此,为避免在所见即可说场景下,车控类指令被屏幕上的元素命中,导致这些车控类指令无法正确执行的情况,可以设置黑名单将这些车控类指令进行拦截。
[0045]
黑名单可以包含上述车控类指令的文本内容,具体可以包含各类车控类指令的动词文本、名词文本。动词文本可以包括打开、开一下、开启、关闭、关一下、关掉等。名词文本可以包括车窗、氛围灯、蓝牙模式等。
[0046]
接收到用户语音之后,在与所见即可说的页面元素进行匹配之前,可以先将语音识别出的输入文本与第一指令文本集合进行匹配,匹配过程中可以逐一匹配黑名单中的各种动名词组合,一旦命中黑名单中的动名词组合,所见即可说模块便可以丢弃本次匹配结
果,并将用户的输入文本发送给车控模块,执行对应的车控指令。
[0047]
使用黑名单拦截车控类指令,可以避免车控类指令被所见即可说命中,从而保证车控类指令的正确执行。
[0048]
在操作s220,响应于输入文本与第一指令文本集合未匹配成功,确定当前页面上的至少一个元素各自的元素文本。
[0049]
如果输入文本未与黑名单匹配成功,则可以将输入文本与页面元素进行匹配。
[0050]
页面元素可以包括文本控件、开关控件、应用图标等。文本控件包括文本内容,例如用于设置氛围灯灯色的控件,该控件的文本内容为“氛围灯”。用于设置空调温度或模式的控件,该控件的文本内容为“空调”。开关控件可以包括文本内容、按钮或者“on或off”的图标。例如,用于打开或关闭静音模式的开关控件,该开关控件的文本内容为“静音模式”。应用控件可以包括文本内容和应用图标。例如,用于播放视频的应用控件,文本内容可以是视频软件的名称。
[0051]
响应于接收到用户的输入语音,可以扫描当前页面上的元素,获得每个元素的文本内容作为元素文本。
[0052]
在操作s230,针对每个元素文本,根据输入文本与元素文本之间的公共文本,将输入文本与第二指令文本集合进行匹配,得到针对元素的匹配结果。
[0053]
针对每个元素文本,可以确定输入文本与元素文本之间的公共文本,公共文本指输入文本和元素文本共同包含的字符,公共文本可以是二者共同包含的最长公共字符串。例如输入文本可以是“打开电视剧”,元素文本可以是“电视剧”,二者的公共文本为“电视剧”。
[0054]
如果公共文本的长度大于阈值(例如3),模糊匹配成功。接下来为优化模糊匹配的过度召回问题。可以使用预设的白名单进行进一步的过滤。
[0055]
白名单可以包括第二指令文本集合,第二指令文本集合包括被允许的指令文本中除与页面元素的最长公共文本以外的动词文本。例如,“打开”、“关闭”、“开启”、“关掉”、“开一下”、“关一下”、“开开”、“关了”等等。
[0056]
因此,在将输入文本与白名单进行匹配时,可以将公共文本从输入文本中去除,并且以公共文本所在位置为间隔,将输入文本拆分为至少一个子文本,再使用子文本与白名单进行匹配。如果子文本在白名单中,则匹配成功。经过白名单匹配成功的元素可以作为候选元素。
[0057]
例如,输入文本为“不要打开xxx,关闭”,与元素文本“xxx”的公共文本为“xxx”,将“xxx”从输入文本中删除,剩余文本为“不要打开,关闭”,以公共文本“xxx”的位置为间隔,剩余文本可以拆分为“不要打开”、“关闭”两个子文本。使用该两个子文本与白名单进行匹配,例如“关闭”子文本在白名单中,则匹配成功,可以将与元素文本“xxx”对应的页面元素确定为候选元素。
[0058]
使用白名单保存所见即可说场景下被允许的动作指令,经过白名单的匹配可以避免模糊匹配造成的错误指令执行,提高用户体验。
[0059]
在操作s240,根据至少一个元素各自的匹配结果,从至少一个元素中确定目标元素。
[0060]
在操作s250,执行针对目标元素的控制操作。
[0061]
例如,在将输入文本与页面上所有元素匹配完成之后,可以得到至少一个匹配成功的候选元素,可以基于当前应用场景、输入文本的语义等从至少一个元素中确定与当前场景和用户意图最相符的目标元素。
[0062]
在确定目标元素之后,可以模拟点击该目标元素在当前屏幕上的位置,实现语音控制点击该目标元素的效果。
[0063]
本公开的实施例使用第一指令文本集合(黑名单)拦截车控类指令,使用第二指令文本集合(白名单)过滤所见即可说场景下不被允许的动作指令,经过黑名单和白名单的匹配可以优化模糊匹配的过度召回问题,避免过度召回配造成的错误指令执行,提高用户体验。
[0064]
图3是根据本公开的一个实施例的确定候选元素的方法的流程图。
[0065]
如图3所示,该语音控制方法包括操作s310~操作s390。
[0066]
在操作s310,接收输入语音,对输入语音进行语音识别,得到输入文本。
[0067]
在操作s320,将输入文本与黑名单进行匹配。
[0068]
黑名单包含了优先级较高的车控类指令,可以包括车控类指令的动词黑名单和名词黑名单。在匹配时,可以对所有的黑名单动名词组合逐一进行匹配。
[0069]
在操作s330,确定输入文本是否命中黑名单。如果否则执行操作s340,如果是则执行操作s390。
[0070]
利用黑名单可以拦截车控类指令,避免车控类指令被所见即可说命中,从而保证车控类指令的正确执行。
[0071]
在操作s340,确定输入文本与页面元素之间的最长公共文本,根据最长公共文本将输入文本进行拆分,得到至少一个子文本。
[0072]
例如,可以将输入文本中的最长公共文本用特殊符号代替,以特殊符号为间隔,将输入文本中除特征符号外的剩余文本进行拆分,得到至少一个子文本。
[0073]
在操作s350,判断是否还有未与当前白名单进行匹配的子文本,如果是,则执行操作s360,否则匹配完成,结束流程。
[0074]
在操作s360,将未匹配的子文本与白名单进行匹配。
[0075]
在操作s370,确定当前子文本是否命中白名单,如果是,则执行操作s380,否则返回操作s350。
[0076]
子文本可以是一些动词,如打开、关闭等。如果子文本命中白名单,说明输入文本中的动作指令是被允许的。
[0077]
在操作s380,将当前元素确定为候选元素。
[0078]
在操作s390,将输入文本发送给车控模块,以使车控模块执行车控操作。
[0079]
本实施例是将输入文本与当前一个页面元素进行匹配的流程。当前页面上可以包含多个页面元素,因此需要将输入文本与多个页面元素逐一进行匹配。
[0080]
图4是根据本公开的另一个实施例的确定候选元素的方法的流程图。
[0081]
如图4所示,该语音控制方法包括操作s401~s416。
[0082]
在操作s401,接收输入语音,对输入语音进行语音识别,得到输入文本q1。
[0083]
在操作s402,判断输入文本q1是否等于黑名单动词加黑名单名词的组合。如果是,说明输入文本q1命中黑名单,执行操作s416。否则执行操作s403。
[0084]
在操作s403,判断输入文本q1是否等于黑名单名词加黑名单动词的组合。如果是,说明输入文本q1命中黑名单,执行操作s416。否则执行操作s404。
[0085]
操作s402~操作s403是将输入文本q1与黑名单进行匹配的步骤。其中,黑名单可以包括车控类指令集合,具体地,黑名单可以包括黑名单名词子集合(即名词文本子集合)和黑名单动词子集合(即动词文本子集合)。可以将车控类指令的名词添加到黑名单名词子集合,将车控类指令的动词添加到黑名单动词子集合。
[0086]
表2示出了黑名单名词子集合中的部分名词文本。
[0087]
表2
[0088][0089]
表3示出了黑名单动词子集合中的部分动词文本。
[0090]
表3
[0091][0092][0093]
如表2所示的黑名单名词子集合以及如表3所示的黑名单动词子集合中的文本内容可以实时更新。
[0094]
在进行黑名单匹配时,可以先从黑名单动词子集合中取出待匹配的动词,然后将待匹配动词与黑名单名词子集合中的名词逐一进行组合,得到动词在前名词在后的动名词组合文本集合。例如“打开氛围灯”、“打开hud”、“开启氛围灯”、“开启hud”等等。将输入文本q1与动词在前名词在后的所有动名词组合文本一一进行匹配。如果输入文本q1命中任一动词在前名词在后的动名词组合文本,可以确定输入文本q1命中黑名单。
[0095]
在输入文本q1未命中任一动词在前名词在后的动名词组合文本的情况下,可以从黑名单名词子集合中取出待匹配的名词,然后将待匹配名词与黑名单动词子集合中的动词逐一进行组合,得到名词在前动词在后的动名词组合文本集合。例如“氛围灯打开”、“hud打开”、“氛围灯开启”、“hud开启”等等。将输入文本q1与名词在前动词在后的所有动名词组合文本一一进行匹配。如果输入文本q1命中任一名词在前动词在后的动名词组合文本,可以确定输入文本q1命中黑名单。
[0096]
如果输入文本q1未命中任一动词在前名词在后的动名词组合文本,且未命中任一名词在前动词在后的动名词组合文本,可以确定输入文本q1未命中黑名单。
[0097]
在操作s414,判断是否还有未与输入文本q1进行匹配的页面元素。如果是,则执行操作s405。否则,说明所有的页面元素均已输入文本q1匹配完成,流程结束;或者当前页面没有要与输入文本q1进行匹配的页面元素,流程结束。
[0098]
在确定输入文本q1未命中黑名单的情况下,将输入文本q1与页面元素进行匹配。由于页面元素可以有一个或多个,因此需要将输入文本q1与至少一个页面元素逐一进行匹配。
[0099]
在操作s405,将还未与输入文本q1匹配的页面元素取出,将页面元素的文本内容作为当前元素文本t1,确定输入文本q1与当前元素文本t1之间的最长公共文本。
[0100]
如果最长公共文本的长度大于阈值(例如3),可以确定输入文本q1与元素文本t1模糊匹配成功。接下来进行白名单的匹配。
[0101]
在操作s406,根据最长公共文本将输入文本q1拆分为至少一个子文本t2。
[0102]
例如,响应于最长公共文本的长度大于阈值,可以将输入文本q1中的最长公共文本替换为特殊符号,然后以特殊符号为间隔,将除特殊符号以外的剩余文本进行拆分,得到子文本t2。子文本t2可以有一个或多个。
[0103]
在操作s407,判断子文本t2是否为空。如果是,执行操作s415。否则执行操作s408。
[0104]
如果子文本t2为空,说明输入文本q1与最长公共文本相同,输入文本q1完全包含在元素文本中,或与元素文本相同,这属于全匹配的情况。可以确定输入文本q1命中当前页面元素。
[0105]
在操作s408,判断是否还有未匹配的子文本t2。如果是,执行操作s409。否则说明所有子文本t2均与白名单匹配完成,返回操作s404,针对下一个页面元素进行匹配。
[0106]
在确定子文本t2不为空的情况下,将子文本t2与白名单进行匹配。由于子文本t2可以有一个或多个,因此,需要判断是否还有未匹配的子文本t2。
[0107]
在操作s409,将未匹配的当前子文本t2与选择类白名单进行匹配。
[0108]
白名单可以包括选择类白名单(选择类指令文本子集合)、打开类白名单(打开类指令文本子集合)和关闭类白名单(关闭类指令文本子集合)。将未匹配的子文本t2取出,作为当前子文本t2,可以将先将当前子文本t2与选择类白名单进行匹配。
[0109]
选择类白名单例如包括“选择”、“选中”、“选取”、“选”等动词。
[0110]
在操作s410,判断当前子文本t2是否命中选择类白名单。如果是,执行操作s415,否则执行操作s411。
[0111]
例如,输入文本q1为“选电视剧”,“电视剧”为与页面元素匹配的最长公共文本,“选”为子文本t2,“选”在选择类白名单中,因此可以确定命中选择类白名单。可以将当前元素确定为候选元素,作为匹配结果(操作s415)。
[0112]
在当前子文本t2未命中选择类白名单的情况下,执行操作s411。
[0113]
在操作s411,将当前子文本t2与打开类白名单进行匹配。
[0114]
打开类白名单可以包括“打开”、“开开”、“开一下”等动词。打开类动作不局限于开关类元素的应用,可以应用于任何场景,例如在桌面上打开应用类元素(如xxx应用图标)、文本控件类元素(例如氛围灯文本控件)等。
[0115]
在操作s412,判断当前子文本t2是否命中打开类白名单。如果是,执行操作s415,否则执行操作s413。
[0116]
在子文本t2命中打开类白名单的情况下,还需要根据元素类型和状态,进一步确定匹配结果(操作s415)。例如,在当前元素为开关类型的情况下,响应于开关状态为关,将当前元素确定为候选元素,作为匹配结果。响应于开关状态为开,则确定本次匹配不成功,本次匹配结果为空,不返回候选元素。
[0117]
例如,当前元素为“静音模式”的开关控件且为关闭状态,子文本t2为“打开”,子文本t2命中打开类白名单,可以确定本次匹配成功,将当前元素确定为候选元素,作为匹配结
果。
[0118]
又例如,当前元素为“静音模式”的开关控件且为打开状态,子文本t2为“打开”,虽然命中打开类白名单,但是模拟点击该“静音模式”开关控件,会使“静音模式”错误关闭,因此,在子文本t2为“打开”的情况下,如果当前元素为开关类型且为打开状态,则确定本次匹配不成功,不返回候选元素,可以避免这种错误关闭的情况。
[0119]
在子文本t2命中打开类白名单的情况下,如果当前元素不是开关类型,由于打开类指令可以支持所有类型的元素(如开关、图标等),因此,可以确定本次匹配成功,将当前元素确定为候选元素,作为匹配结果(操作s415)。
[0120]
在子文本t2未命中打开类白名单的情况下,执行操作s413。
[0121]
在操作s413,将当前子文本t2与关闭类白名单进行匹配。
[0122]
关闭类白名单可以包括“关闭”、“关掉”、“关一下”等动词。
[0123]
在操作s414,判断当前子文本t2是否命中关闭类白名单。如果是,执行操作s415,否则返回操作s408。
[0124]
在子文本t2命中关闭类白名单的情况下,还需要根据开关类型和状态进一步确定匹配结果(操作s415)。例如,在当前元素为开关类型的情况下,响应于开关状态为开,将元素确定为候选元素,作为匹配结果。响应于开关状态为关,确定本次匹配不成功,不返回匹配结果。
[0125]
例如,当前元素为“静音模式”的开关控件且为打开状态,子文本t2为“关闭”,子文本t2命中关闭类白名单,可以确定本次匹配成功,将元素确定为候选元素,作为匹配结果。
[0126]
又例如,当前元素为“静音模式”的开关控件且为关闭状态,子文本t2为“关闭”,虽然命中关闭类白名单,但是模拟点击该“静音模式”开关控件,会使“静音模式”错误打开,因此,这种情况下确定本次匹配不成功,不返回匹配结果,可以避免这种错误打开的情况。
[0127]
如果子文本t2未命中关闭类白名单,或者虽然命中了关闭类白名单但是开关状态为关的情况,当前子文本t2匹配结束。返回操作s408,判断是否还有下一个待匹配的子文本t2。
[0128]
在操作s416,将输入文本q1发送给车控模块,以使车控模块执行车控操作。
[0129]
该步骤是在输入文本q1与黑名单匹配成功的情况下执行的。输入文本q1与黑名单匹配成功说明与输入文本对应的指令为车控类指令,用户意图为控制车辆,并非触控屏幕。因此将该输入文本发送给车控模块,避免车控类指令被所见即可说命中,从而保证车控类指令的正确执行。
[0130]
本实施例将输入文本与当前页面上的至少一个页面元素逐一进行匹配,从当前页面中确定至少一个匹配成功的候选元素,避免漏召风险。
[0131]
本实施例使用黑名单拦截车控类指令,使用白名单召回至少一个候选元素,能够解决模糊匹配的过度召回问题。
[0132]
相对于模糊匹配的错误命中情况,本实施例的命中结果如下表4所示。
[0133]
表4
[0134][0135][0136]
如表4所示,“打开氛围灯”的语音指令被黑名单拦截。“关闭静音模式”的语音指令,由于开关状态为关,因此被拦截。“不要打开xxx”的语音指令,由于“不要”不在白名单中,因此被拦截。
[0137]
图5是根据本公开的一个实施例的语音控制装置的框图。
[0138]
如图5所示,该语音控制装置500包括第一匹配模块501、元素文本确定模块502、第二匹配模块503、目标元素确定模块504以及控制模块505。
[0139]
第一匹配模块501用于响应于接收到输入语音,将与输入语音对应的输入文本与第一指令文本集合进行匹配。
[0140]
元素文本确定模块502用于响应于输入文本与第一指令文本集合未匹配成功,确定当前页面上的至少一个元素各自的元素文本。
[0141]
第二匹配模块503用于针对每个元素文本,根据输入文本与元素文本之间的公共文本,将输入文本与第二指令文本集合进行匹配,得到针对元素的匹配结果。
[0142]
目标元素确定模块504用于根据至少一个元素各自的匹配结果,从至少一个元素中确定目标元素。
[0143]
控制模块505用于执行针对目标元素的控制操作。
[0144]
第二匹配模块503包括拆分子模块和第一匹配子模块。
[0145]
拆分子模块用于针对每个元素文本,响应于公共文本的长度大于阈值,以公共文本为间隔,将输入文本中除公共文本外的剩余文本进行拆分,得到至少一个子文本。
[0146]
第一匹配子模块用于针对每个子文本,将子文本与第二指令文本集合进行匹配,响应于子文本与第二指令文本集合匹配成功,将与元素文本对应的元素确定为候选元素,作为匹配结果。
[0147]
根据本公开的实施例,第二指令文本集合包括选择类指令文本子集合、打开类指令文本子集合以及关闭类指令文本子集合。第一匹配子模块包括匹配单元、第一匹配结果确定单元、第二匹配结果确定单元和第三匹配结果确定单元。
[0148]
匹配单元用于针对每个子文本,将子文本分别与选择类指令文本子集合、打开类指令文本子集合以及关闭类指令文本子集合进行匹配。
[0149]
第一匹配结果确定单元用于响应于子文本与选择类指令文本匹配成功,将与元素文本对应的元素确定为候选元素,作为匹配结果。
[0150]
第二匹配结果确定单元用于响应于子文本与打开类指令文本子集合匹配成功,根据与元素文本对应的元素的类型和状态,确定匹配结果。
[0151]
第三匹配结果确定单元用于响应于子文本与关闭类指令文本子集合匹配成功,根据与元素文本对应的元素的类型和状态,确定匹配结果。
[0152]
第二匹配结果确定单元包括第一类型确定子单元、第一匹配结果确定子单元和第二匹配结果确定子单元。
[0153]
第一类型确定子单元用于确定与元素文本对应的元素的类型。
[0154]
第一匹配结果确定子单元用于响应于元素的类型为开关类型,根据元素的开关状态,确定匹配结果。
[0155]
第二匹配结果确定子单元用于响应于元素的类型为非开关类型,将元素确定为候选元素,作为匹配结果。
[0156]
第一匹配结果确定子单元,用于确定元素的开关状态;响应于开关状态为关,将元素确定为候选元素,作为匹配结果。
[0157]
第三匹配结果确定单元包括第二类型确定子单元和第三匹配结果确定子单元。
[0158]
第二类型确定子单元用于确定与元素文本对应的元素的类型。
[0159]
第三匹配结果确定子单元用于响应于元素的类型为开关类型,根据元素的开关状态,确定匹配结果。
[0160]
第三匹配结果确定子单元,用于确定元素的开关状态;响应于开关状态为开,将元素确定为候选元素,作为匹配结果。
[0161]
语音控制装置500还包括第三匹配模块。
[0162]
第三匹配模块用于针对每个元素文本,响应于公共文本的长度大于阈值且输入文本与公共文本相同,将与元素文本对应的元素确定为候选元素,作为匹配结果。
[0163]
目标元素确定模块504包括候选元素确定子模块和目标元素确定子模块。
[0164]
候选元素确定子模块用于从匹配结果中确定至少一个候选元素。
[0165]
目标元素确定子模块用于从至少一个候选元素中确定目标元素。
[0166]
第一指令文本集合包括动词文本子集合和名词文本子集合。第一匹配模块501包括动名词组合文本集合确定子模块和第二匹配子模块。
[0167]
动名词组合文本集合确定子模块,用于根据动词文本子集合和名词文本子集合,确定动名词组合文本集合。
[0168]
第二匹配子模块用于将输入文本与动名词组合文本集合进行匹配。
[0169]
根据本公开的实施例,动名词组合文本集合包括动词在前名词在后的组合文本、以及名词在前动词在后的组合文本中的至少一种。
[0170]
第一指令文本集合包括车控类指令文本,第二指令文本集合包括与当前页面上的元素相关联的操作指令,车控类指令的优先级高于与当前页面上的元素相关联的操作指令。
[0171]
根据本公开的实施例,本公开还提供了一种电子设备、一种可读存储介质和一种计算机程序产品。
[0172]
图6示出了可以用来实施本公开的实施例的示例电子设备600的示意性框图。电子设备旨在表示各种形式的数字计算机,诸如,膝上型计算机、台式计算机、工作台、个人数字助理、服务器、刀片式服务器、大型计算机、和其它适合的计算机。电子设备还可以表示各种形式的移动装置,诸如,个人数字处理、蜂窝电话、智能电话、可穿戴设备和其它类似的计算
装置。本文所示的部件、它们的连接和关系、以及它们的功能仅仅作为示例,并且不意在限制本文中描述的和/或者要求的本公开的实现。
[0173]
如图6所示,设备600包括计算单元601,其可以根据存储在只读存储器(rom)602中的计算机程序或者从存储单元608加载到随机访问存储器(ram)603中的计算机程序,来执行各种适当的动作和处理。在ram 603中,还可存储设备600操作所需的各种程序和数据。计算单元601、rom 602以及ram 603通过总线604彼此相连。输入/输出(i/o)接口605也连接至总线604。
[0174]
设备900中的多个部件连接至i/o接口605,包括:输入单元606,例如键盘、鼠标等;输出单元607,例如各种类型的显示器、扬声器等;存储单元608,例如磁盘、光盘等;以及通信单元609,例如网卡、调制解调器、无线通信收发机等。通信单元609允许设备600通过诸如因特网的计算机网络和/或各种电信网络与其他设备交换信息/数据。
[0175]
计算单元601可以是各种具有处理和计算能力的通用和/或专用处理组件。计算单元601的一些示例包括但不限于中央处理单元(cpu)、图形处理单元(gpu)、各种专用的人工智能(ai)计算芯片、各种运行机器学习模型算法的计算单元、数字信号处理器(dsp)、以及任何适当的处理器、控制器、微控制器等。计算单元601执行上文所描述的各个方法和处理,例如语音控制方法。例如,在一些实施例中,语音控制方法可被实现为计算机软件程序,其被有形地包含于机器可读介质,例如存储单元608。在一些实施例中,计算机程序的部分或者全部可以经由rom 602和/或通信单元609而被载入和/或安装到设备600上。当计算机程序加载到ram 603并由计算单元601执行时,可以执行上文描述的语音控制方法的一个或多个步骤。备选地,在其他实施例中,计算单元601可以通过其他任何适当的方式(例如,借助于固件)而被配置为执行语音控制方法。
[0176]
本文中以上描述的系统和技术的各种实施方式可以在数字电子电路系统、集成电路系统、场可编程门阵列(fpga)、专用集成电路(asic)、专用标准产品(assp)、芯片上系统的系统(soc)、复杂可编程逻辑设备(cpld)、计算机硬件、固件、软件、和/或它们的组合中实现。这些各种实施方式可以包括:实施在一个或者多个计算机程序中,该一个或者多个计算机程序可在包括至少一个可编程处理器的可编程系统上执行和/或解释,该可编程处理器可以是专用或者通用可编程处理器,可以从存储系统、至少一个输入装置、和至少一个输出装置接收数据和指令,并且将数据和指令传输至该存储系统、该至少一个输入装置、和该至少一个输出装置。
[0177]
用于实施本公开的方法的程序代码可以采用一个或多个编程语言的任何组合来编写。这些程序代码可以提供给通用计算机、专用计算机或其他可编程数据处理装置的处理器或控制器,使得程序代码当由处理器或控制器执行时使流程图和/或框图中所规定的功能/操作被实施。程序代码可以完全在机器上执行、部分地在机器上执行,作为独立软件包部分地在机器上执行且部分地在远程机器上执行或完全在远程机器或服务器上执行。
[0178]
在本公开的上下文中,机器可读介质可以是有形的介质,其可以包含或存储以供指令执行系统、装置或设备使用或与指令执行系统、装置或设备结合地使用的程序。机器可读介质可以是机器可读信号介质或机器可读储存介质。机器可读介质可以包括但不限于电子的、磁性的、光学的、电磁的、红外的、或半导体系统、装置或设备,或者上述内容的任何合适组合。机器可读存储介质的更具体示例会包括基于一个或多个线的电气连接、便携式计
算机盘、硬盘、随机存取存储器(ram)、只读存储器(rom)、可擦除可编程只读存储器(eprom或快闪存储器)、光纤、便捷式紧凑盘只读存储器(cd-rom)、光学储存设备、磁储存设备、或上述内容的任何合适组合。
[0179]
为了提供与用户的交互,可以在计算机上实施此处描述的系统和技术,该计算机具有:用于向用户显示信息的显示装置(例如,crt(阴极射线管)或者lcd(液晶显示器)监视器);以及键盘和指向装置(例如,鼠标或者轨迹球),用户可以通过该键盘和该指向装置来将输入提供给计算机。其它种类的装置还可以用于提供与用户的交互;例如,提供给用户的反馈可以是任何形式的传感反馈(例如,视觉反馈、听觉反馈、或者触觉反馈);并且可以用任何形式(包括声输入、语音输入或者、触觉输入)来接收来自用户的输入。
[0180]
可以将此处描述的系统和技术实施在包括后台部件的计算系统(例如,作为数据服务器)、或者包括中间件部件的计算系统(例如,应用服务器)、或者包括前端部件的计算系统(例如,具有图形用户界面或者网络浏览器的用户计算机,用户可以通过该图形用户界面或者该网络浏览器来与此处描述的系统和技术的实施方式交互)、或者包括这种后台部件、中间件部件、或者前端部件的任何组合的计算系统中。可以通过任何形式或者介质的数字数据通信(例如,通信网络)来将系统的部件相互连接。通信网络的示例包括:局域网(lan)、广域网(wan)和互联网。
[0181]
计算机系统可以包括客户端和服务器。客户端和服务器一般远离彼此并且通常通过通信网络进行交互。通过在相应的计算机上运行并且彼此具有客户端-服务器关系的计算机程序来产生客户端和服务器的关系。
[0182]
应该理解,可以使用上面所示的各种形式的流程,重新排序、增加或删除步骤。例如,本公开中记载的各步骤可以并行地执行也可以顺序地执行也可以不同的次序执行,只要能够实现本公开公开的技术方案所期望的结果,本文在此不进行限制。
[0183]
上述具体实施方式,并不构成对本公开保护范围的限制。本领域技术人员应该明白的是,根据设计要求和其他因素,可以进行各种修改、组合、子组合和替代。任何在本公开的精神和原则之内所作的修改、等同替换和改进等,均应包含在本公开保护范围之内。
技术特征:
1.一种语音控制方法,包括:响应于接收到输入语音,将与所述输入语音对应的输入文本与第一指令文本集合进行匹配;响应于所述输入文本与所述第一指令文本集合未匹配成功,确定当前页面上的至少一个元素各自的元素文本;针对每个元素文本,根据所述输入文本与所述元素文本之间的公共文本,将所述输入文本与第二指令文本集合进行匹配,得到针对所述元素的匹配结果;根据所述至少一个元素各自的匹配结果,从所述至少一个元素中确定目标元素;以及执行针对所述目标元素的控制操作。2.根据权利要求1所述的方法,其中,所述针对每个元素文本,根据所述输入文本与所述元素文本之间的公共文本,将所述输入文本与第二指令文本集合进行匹配,得到针对所述元素的匹配结果包括:针对每个元素文本,响应于所述公共文本的长度大于阈值,以所述公共文本为间隔,将所述输入文本中除所述公共文本外的剩余文本进行拆分,得到至少一个子文本;以及针对每个子文本,将所述子文本与所述第二指令文本集合进行匹配,响应于所述子文本与所述第二指令文本集合匹配成功,将与所述元素文本对应的元素确定为候选元素,作为所述匹配结果。3.根据权利要求2所述的方法,其中,所述第二指令文本集合包括选择类指令文本子集合、打开类指令文本子集合以及关闭类指令文本子集合;所述针对每个子文本,将所述子文本与所述第二指令文本集合进行匹配,响应于所述子文本与所述第二指令文本集合匹配成功,将与所述元素文本对应的元素确定为候选元素,作为所述匹配结果包括:针对每个子文本,将所述子文本分别与所述选择类指令文本子集合、打开类指令文本子集合以及关闭类指令文本子集合进行匹配;响应于所述子文本与所述选择类指令文本匹配成功,将与所述元素文本对应的元素确定为候选元素,作为所述匹配结果;响应于所述子文本与所述打开类指令文本子集合匹配成功,根据与所述元素文本对应的元素的类型和状态,确定所述匹配结果;以及响应于所述子文本与所述关闭类指令文本子集合匹配成功,根据与所述元素文本对应的元素的类型和状态,确定所述匹配结果。4.根据权利要求3所述的方法,其中,所述响应于所述子文本与所述打开类指令文本子集合匹配成功,根据与所述元素文本对应的元素的类型和状态,确定所述匹配结果包括:确定与所述元素文本对应的元素的类型;响应于所述元素的类型为开关类型,根据所述元素的开关状态,确定所述匹配结果;以及响应于所述元素的类型为非开关类型,将所述元素确定为候选元素,作为所述匹配结果。5.根据权利要求4所述的方法,其中,所述响应于所述元素的类型为开关类型,根据所述元素的开关状态,确定所述匹配结果包括:
确定所述元素的开关状态;以及响应于所述开关状态为关,将所述元素确定为候选元素,作为所述匹配结果。6.根据权利要求3所述的方法,其中,所述响应于所述子文本与所述关闭类指令文本子集合匹配成功,根据与所述元素文本对应的元素的类型和状态,确定所述匹配结果包括:确定与所述元素文本对应的元素的类型;以及响应于所述元素的类型为开关类型,根据所述元素的开关状态,确定所述匹配结果。7.根据权利要求6所述的方法,其中,所述响应于所述元素的类型为开关类型,根据所述元素的开关状态,确定所述匹配结果包括:确定所述元素的开关状态;以及响应于所述开关状态为开,将所述元素确定为候选元素,作为所述匹配结果。8.根据权利要求1所述的方法,还包括:针对每个元素文本,响应于所述公共文本的长度大于阈值且所述输入文本与所述公共文本相同,将与所述元素文本对应的元素确定为候选元素,作为所述匹配结果。9.根据权利要求2至8中任一项所述的方法,其中,所述根据所述至少一个元素各自的匹配结果,从所述至少一个元素中确定目标元素包括:从所述匹配结果中确定至少一个候选元素;以及从所述至少一个候选元素中确定所述目标元素。10.根据权利要求1所述的方法,其中,所述第一指令文本集合包括动词文本子集合和名词文本子集合;所述响应于接收到输入语音,将与所述输入语音对应的输入文本与第一指令文本集合进行匹配包括:根据所述动词文本子集合和所述名词文本子集合,确定动名词组合文本集合;以及将所述输入文本与所述动名词组合文本集合进行匹配。11.根据权利要求10所述的方法,其中,所述动名词组合文本集合包括动词在前名词在后的组合文本、以及名词在前动词在后的组合文本中的至少一种。12.根据权利要求1至11中任一项所述的方法,其中,所述第一指令文本集合包括车控类指令文本,所述第二指令文本集合包括与所述当前页面上的元素相关联的操作指令,所述车控类指令的优先级高于与所述当前页面上的元素相关联的操作指令。13.一种语音控制装置,包括:第一匹配模块,用于响应于接收到输入语音,将与所述输入语音对应的输入文本与第一指令文本集合进行匹配;元素文本确定模块,用于响应于所述输入文本与所述第一指令文本集合未匹配成功,确定当前页面上的至少一个元素各自的元素文本;第二匹配模块,用于针对每个元素文本,根据所述输入文本与所述元素文本之间的公共文本,将所述输入文本与第二指令文本集合进行匹配,得到针对所述元素的匹配结果;目标元素确定模块,用于根据所述至少一个元素各自的匹配结果,从所述至少一个元素中确定目标元素;以及控制模块,用于执行针对所述目标元素的控制操作。14.根据权利要求13所述的装置,其中,所述第二匹配模块包括:拆分子模块,用于针对每个元素文本,响应于所述公共文本的长度大于阈值,以所述公
共文本为间隔,将所述输入文本中除所述公共文本外的剩余文本进行拆分,得到至少一个子文本;以及第一匹配子模块,用于针对每个子文本,将所述子文本与所述第二指令文本集合进行匹配,响应于所述子文本与所述第二指令文本集合匹配成功,将与所述元素文本对应的元素确定为候选元素,作为所述匹配结果。15.根据权利要求14所述的装置,其中,所述第二指令文本集合包括选择类指令文本子集合、打开类指令文本子集合以及关闭类指令文本子集合;所述第一匹配子模块包括:匹配单元,用于针对每个子文本,将所述子文本分别与所述选择类指令文本子集合、打开类指令文本子集合以及关闭类指令文本子集合进行匹配;第一匹配结果确定单元,用于响应于所述子文本与所述选择类指令文本匹配成功,将与所述元素文本对应的元素确定为候选元素,作为所述匹配结果;第二匹配结果确定单元,用于响应于所述子文本与所述打开类指令文本子集合匹配成功,根据与所述元素文本对应的元素的类型和状态,确定所述匹配结果;以及第三匹配结果确定单元,用于响应于所述子文本与所述关闭类指令文本子集合匹配成功,根据与所述元素文本对应的元素的类型和状态,确定所述匹配结果。16.根据权利要求15所述的装置,其中,所述第二匹配结果确定单元包括:第一类型确定子单元,用于确定与所述元素文本对应的元素的类型;第一匹配结果确定子单元,用于响应于所述元素的类型为开关类型,根据所述元素的开关状态,确定所述匹配结果;以及第二匹配结果确定子单元,用于响应于所述元素的类型为非开关类型,将所述元素确定为候选元素,作为所述匹配结果。17.根据权利要求16所述的装置,其中,所述第一匹配结果确定子单元,用于确定所述元素的开关状态;响应于所述开关状态为关,将所述元素确定为候选元素,作为所述匹配结果。18.根据权利要求15所述的装置,其中,所述第三匹配结果确定单元包括:第二类型确定子单元,用于确定与所述元素文本对应的元素的类型;以及第三匹配结果确定子单元,用于响应于所述元素的类型为开关类型,根据所述元素的开关状态,确定所述匹配结果。19.根据权利要求18所述的装置,其中,所述第三匹配结果确定子单元,用于确定所述元素的开关状态;响应于所述开关状态为开,将所述元素确定为候选元素,作为所述匹配结果。20.根据权利要求12所述的装置,还包括:第三匹配模块,用于针对每个元素文本,响应于所述公共文本的长度大于阈值且所述输入文本与所述公共文本相同,将与所述元素文本对应的元素确定为候选元素,作为所述匹配结果。21.根据权利要求14至20中任一项所述的装置,所述目标元素确定模块包括:候选元素确定子模块,用于从所述匹配结果中确定至少一个候选元素;以及目标元素确定子模块,用于从所述至少一个候选元素中确定所述目标元素。22.根据权利要求13所述的装置,其中,所述第一指令文本集合包括动词文本子集合和名词文本子集合;所述第一匹配模块包括:
动名词组合文本集合确定子模块,用于根据所述动词文本子集合和所述名词文本子集合,确定动名词组合文本集合;以及第二匹配子模块,用于将所述输入文本与所述动名词组合文本集合进行匹配。23.根据权利要求22所述的装置,其中,所述动名词组合文本集合包括动词在前名词在后的组合文本、以及名词在前动词在后的组合文本中的至少一种。24.根据权利要求13至23中任一项所述的装置,所述第一指令文本集合包括车控类指令文本,所述第二指令文本集合包括与所述当前页面上的元素相关联的操作指令,所述车控类指令的优先级高于与所述当前页面上的元素相关联的操作指令。25.一种电子设备,包括:至少一个处理器;以及与所述至少一个处理器通信连接的存储器;其中,所述存储器存储有可被所述至少一个处理器执行的指令,所述指令被所述至少一个处理器执行,以使所述至少一个处理器能够执行权利要求1至12中任一项所述的方法。26.一种存储有计算机指令的非瞬时计算机可读存储介质,其中,所述计算机指令用于使所述计算机执行根据权利要求1至12中任一项所述的方法。27.一种计算机程序产品,包括计算机程序,所述计算机程序存储于可读存储介质和电子设备其中至少之一上,所述计算机程序在被处理器执行时实现根据权利要求1至12中任一项所述的方法。
技术总结
本公开提供了一种语音控制方法,涉及语音处理技术领域,尤其涉及语音识别、语音交互和自然语言处理技术领域。具体实现方案为:响应于接收到输入语音,将与输入语音对应的输入文本与第一指令文本集合进行匹配;响应于输入文本与第一指令文本集合未匹配成功,确定当前页面上的至少一个元素各自的元素文本;针对每个元素文本,根据输入文本与元素文本之间的公共文本,将输入文本与第二指令文本集合进行匹配,得到针对元素的匹配结果;根据至少一个元素各自的匹配结果,从至少一个元素中确定目标元素;以及执行针对目标元素的控制操作。本公开还提供了一种语音控制装置、电子设备和存储介质。介质。介质。
技术研发人员:刘嵘
受保护的技术使用者:阿波罗智联(北京)科技有限公司
技术研发日:2023.05.26
技术公布日:2023/7/13
版权声明
本文仅代表作者观点,不代表航空之家立场。
本文系作者授权航家号发表,未经原创作者书面授权,任何单位或个人不得引用、复制、转载、摘编、链接或以其他任何方式复制发表。任何单位或个人在获得书面授权使用航空之家内容时,须注明作者及来源 “航空之家”。如非法使用航空之家的部分或全部内容的,航空之家将依法追究其法律责任。(航空之家官方QQ:2926969996)
飞行汽车 https://www.autovtol.com/
上一篇:手推式植物施肥施药装置 下一篇:机械轴套筒的制作方法
