分布式语音识别系统的制作方法_2

文档序号:9476316阅读:来源:国知局
述了使用截断的语言模型确定声音命令和在预期目标上执行命令的过程的实施方案。
[0040]如图3所示,在步骤302中,本发明的实施方案通过如图1中的一个或多个启动器102^1025接收表示声音命令的数据。
[0041]在步骤304中,基于传感器信息、状态信息、启动器的位置、其它信息或其组合,本发明的实施方案可以生成可能的目标列表。例如,如果传感器显示外部温度是30华氏度,则可能的目标列表可以包含加热器,或如果光传感器显示是晚上,则可能的目标列表可以包含灯。在另一个实施例中,如果电视和收音机是打开的(即具有“开”的状态),则可能的目标列表可以包含电视和收音机,因为声音命令可能针对这些目标。在又一个实施例中,如果与特殊房间(如启动器区域202f20212)相关的启动器处理声音命令,则与特殊房间相关的目标可以被包含在可能的目标列表中。
[0042]在步骤306中,基于用于环境中的目标的可能的命令,实施方案可以创建语言模型。例如,在图2中的家用环境200中,可能有电视、HVAC、灯和烤箱,因此,在语言模型中将包含用于电视、HVAC、灯和烤箱(如“调大音量”、“降低温度”、“调暗灯光”以及“预热烤箱”)的命令。在接收到可能的目标列表后,实施方案可以截断语言模型以去除不适用的命令。例如,如果来自步骤304的可能目标列表不包含灯,则诸如“开灯”和“关灯”的命令可以从语言模型中被删除或被去除。
[0043]在实施方案中,可能的目标的状态信息也可能用于截断语言模型。例如,可能的目标列表可能包含电视。状态信息可能显示电视现在是关闭的(即“关”状态)。在这个实例中,诸如“将频道切换到频道10”或“调大音量”等与电视处于“开”状态有关的命令将从语言模型中被删除,因为这些命令不适用目标的状态。然而,诸如“打开电视”等与电视处于“关”状态有关的命令可能被保留,因为这些命令适用目标的当前状态。
[0044]在步骤308中,基于所截断的语言模型,实施方案可以解码声音命令。例如,如果电视当前是关闭的,则与电视处于“关”状态有关的命令(如命令“打开电视”)被用于解码声音命令。由于使用了更小的语言模型,基于所截断的语言模型解码声音命令的益处,包括更快地处理声音命令和正确处理声音命令的更高的准确性等。
[0045]在步骤310中,基于声音命令,实施方案可以从可能的目标列表中选择目标。在实施方案中,可能的目标列表可以包含单一目标(或“所选择的目标”)且流程图300进行到步骤312。例如,如果声音命令数据是“打开电视”或“将电视切换到频道12”且目标列表包含电视、HVAC单元、收音机和台灯,由于目标在声音命令数据中被识别出,所以可以确定命令的意图是在电视上执行。
[0046]在其它实施方案中,目标列表可以包含两个或多于两个目标。例如,声音命令诸如,举例来说,“打开”、“切换频道”和“降低音量”可以应用于电视和收音机。在实施方案中,步骤310将可能的目标列表减少至单一目标(或“所选择的目标”)。图4中的流程图400阐述了选择单一目标的过程的实施方案。
[0047]在步骤402中,如果多于一个目标被选择,则实施方案可以继续至步骤404以澄清哪个目标是预期的。例如,如果声音命令是“调大音量”且目标列表包含电视和收音机,则实施方案可以继续至步骤404。
[0048]在步骤404中,实施方案可以使用一个或多个判定准则以确定可能的目标列表中的哪个目标是预期的目标。在一个实施例中,实施方案可以请求用户澄清是电视还是收音机是预期的目标。在另一个实施例中,如果声音命令是“调大音量”且如果电视是打开的(即“开”状态)而收音机是关闭的(即“关”状态),则实施方案可以将电视作为所选择的目标返回给步骤312以在电视上执行“调大音量”。
[0049]当相同或类似的情况发生时,实施方案可以从过去的事件中学习以确定哪个目标是预期目标。在实施方案中,系统可以学习如何基于一个或多个过去的选择在目标之间进行选择。例如,用户可能在一个房间里布置了两盏灯。在过去,用户可能说过“开灯”并且系统可能已经请求过关于是哪盏灯的澄清。基于用户过去的澄清,系统可能获知打开其中一盏灯。
[0050]在另一个实施方案中,系统还可以学习基于用户的位置做出选择或限制可能的目标列表。例如,如果用户在没有电视的厨房,且说了 “打开电视”,则系统可能最初需要用户是指起居室的电视还是卧室中的电视的相关澄清。基于用户的位置,如果用户从厨房做出请求,则系统可能获知是将打开起居室的电视。
[0051]参考图3中的流程图300,在步骤312中,实施方案可以在所选择的目标上执行声音命令。实施方案可以使用执行器改变不同目标的状态。执行器可以被放置在目标内,如放置在电视的电源开关和音量控制器中、远离目标(如在顶灯的灯开关中),或在集中的区域中(如在家庭娱乐服务器或移动设备中)。
[0052]基于本文的描述,相关领域的普通技术人员将认识到图3所示的步骤302-312可以在一个或多个处理模块上执行。在实施方案中,这些处理模块包含数据接收模块、列表生成模块、语言截断模块、声音解码器、目标生成模块和任务执行模块以分别执行步骤302、304、306、308、310和312。这些处理模块可以被集成在计算机系统中,诸如,举例来说,被集成在图5中的计算机系统500中(下面将详细描述)。另外,参考图1中的通信系统100,数据接收模块、列表生成模块、声音解码器、目标生成模块和任务执行模块可以被集成在启动器102、中央调度单元106、执行器104或其组合中。
[0053]4.示例性计算机系统
[0054]本发明的各个方面可以在软件、固件、硬件或其组合中实施。图5是示例性计算机系统500的图示,在该计算机系统中本发明的实施方案或其部分可以作为计算机可读代码被实施。例如,图3中的流程图300所示的方法和图4中的流程图400所示的方法可以在系统500中实施。本发明的各种实施方案依据该示例计算机系统500描述。在阅读此描述后,如何使用其他计算机系统和/或计算机架构来实施本发明的实施方案对相关领域技术人员将是明显的。
[0055]应该注意到本发明的各种实施方案的仿真、综合和/或生产可以部分通过使用计算机可读代码完成,计算机可读代码包含通用编程语言(如C或C++)、硬件描述语言(HDL)如,举例来说,Verilog HDL、VHDL, AlteraHDL(AHDL)或其他可获得的编程和/或原理图捕捉工具(如电路捕捉工具)。该计算机可读代码可以在包括半导体、磁盘、光盘(如CD-ROM、DVD-ROM)的任何计算机可用介质上被处理。因此,代码可以通过包括因特网的通信网络传输。应理解由系统完成的功能和/或提供的结构以及上述的技术可以在存储器中表示。
[0056]计算机系统500包含一个或多个处理器,例如处理器504。处理器504可能是专用或通用处理器。处理器504被连接到通信基础架构506 (如总线或网络)。
[0057]计算机系统500还包含主存储器508,优选地是随机存取存储器(RAM),并且还可能包含次存储器510。次存储器510可以包括,举例来说,硬盘驱动512、可移动存储驱动514和/或记忆棒。可移动存储驱动514可以包括软盘驱动、磁带驱动、光盘驱动、闪速存储器或类似驱动。可移动存储驱动514以众所周知的方式读取和/或写入可移动存储单元518。可移动存储单元518可以包括由可移动存储驱动514读取和写入的软盘、磁带、光盘等。如相关领域技术人员将认识到,可移动存储单元518包含其上存储了计算机软件和/或数据的计算机可用存储介质。
[0058]计算机系统500(可选的)包含显示接口 502(其可以包含输入设备和输出设备,如键盘、鼠标等)用于转发在显示单元530上显示的图形、文本和来自通信基础架构506(或来自未显示的帧缓冲区)的其它数据。
[0059]在可选的实现方式中,次存储器510可以包含其它类似的设备用于允许计算机程序或其他指令被加载进计算机系统500内。该设备可以包括,举例来说,可移动存储单元522和接口 520。这些设备的实施例可以包含程序盒和盒接口(比如可以在视频游戏设备中找到的程序盒和盒接口)、可移动存储器芯片(如EPROM或PROM)和相关的基座以及其他可移动存储单元522和允许软件和数据从可移动存储单元522被传输至计算机系统500的接口 520。
[0060]计算机系统500还可以包含通信接口 524。通信接口 524允许软件和数据在计算机系统500和外部设
当前第2页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1