嵌入式网络语音识别器集成的制作方法

文档序号:2832716阅读:168来源:国知局
专利名称:嵌入式网络语音识别器集成的制作方法
技术领域
本发明总体上涉及语音识别领域。
背景技术
移动设备中的语音识别系统允许用户使用最少的输入控件(诸如例如,小键盘、按钮和拨号盘)来进行通信并向移动设备提供命令。某些语音识别任务对于移动设备而言可能是复杂的过程,其要求对语音信号的广泛分析以及对词语和语言统计模型的搜索。这是因为移动设备通常具有有限的计算资源、存储器资源和电池资源。因此,更复杂的语音识别任务经常被卸载至位于移动设备外部的语音识别系统,诸如例如,网络服务器中的语音识别系统。由于更复杂的语音识别任务在网络服务器上而不是在移动设备上执行,因此话音 命令的结果可能受限于网络服务器中存储的数据。针对这些语音识别任务,移动设备用户并不得益于基于移动设备中存储的数据查看可以对应于话音命令的查询结果。另外,在向网络服务器传送话音命令、在网络服务器执行语音识别操作以及在将查询结果从网络服务器向移动设备传送中的延迟时间可能是显著的。在对移动设备上的应用(诸如语音识别任务)执行时的显著延迟时间会导致不良的用户体验。因此,需要在客户端设备(诸如,移动设备)上执行语音识别任务的方法和系统,以克服移动应用中语音识别系统的上述限制。

发明内容
各实施方式包括用于在客户端设备上执行话音命令的方法。该方法包括使用位于客户端设备上的第一语音识别器将话音命令的音频流转译成第一机器可读话音命令;以及使用第一机器可读话音命令来查询客户端数据库以生成第一查询结果。另外,可以将音频流传输到使用第二语音识别器将音频流转译成第二机器可读话音命令的远程服务器设备。此外,该方法包括从远程服务器设备接收第二查询结果,其中第二查询结果由使用第二机器可读话音命令来查询远程服务器数据库的远程服务器设备生成;以及在客户端设备上显示第一查询结果和第二查询结果。音频流到远程服务器设备的传输和第二查询结果从远程服务器设备到客户端设备的传输可以与客户端设备生成第一查询结果同时、基本上同时发生或者在与其重叠的时间段发生。各实施方式附加地包括计算机程序产品,该计算机程序产品包括其上记录有用于使得处理器能够在客户端设备上执行话音命令的计算机程序逻辑的计算机可用介质。计算机程序逻辑包括以下各项第一计算机可读程序代码,使得处理器能够使用位于客户端设备上的第一语音识别器将话音命令的音频流转译成第一机器可读话音命令;第二计算机可读程序代码,使得处理器能够使用第一机器可读话音命令来查询客户端数据库以生成第一查询结果;第三计算机可读程序代码,使得处理器能够将音频流传输到使用第二语音识别器将音频流转译成第二机器可读话音命令的远程服务器设备;第四计算机可读程序代码,使得处理器能够处理来自远程服务器设备的第二查询结果,其中第二查询结果由使用第二机器可读话音命令的远程服务器设备生成;以及第五计算机可读程序代码,使得处理器能够控制第一查询结果和第二查询结果在客户端设备上的显示。各实施方式还包括用于在客户端设备上执行话音命令的系统。该系统包括第一语音识别器设备、客户端查询管理器,以及显示器设备。第一语音识别器设备配置用于将话音命令的音频流转译成第一机器可读话音命令。客户端查询管理器配置用于执行以下功能使用第一机器可读话音命令来查询客户端数据库以生成第一查询结果;将音频流传输到使用第二语音识别器将音频流转译成第二机器可读话音命令的远程服务器设备;以及从远程服务器设备接收第二查询结果,其中第二查询结果由使用第二机器可读话音命令来查询远程服务器数据库的远程服务器设备生成。另外,显示器设备配置用于在客户端设备上显示第一查询结果和第二查询结果。在此所述的各实施方式的其他特征和优点以及各种实施方式的结构和操作参考附图在下文进行详细描述。注意,下文所述各实施方式并不限于在此所述的特定实施方式。 在此呈现的此类实施方式仅出于例示的目的。基于在此包含的教导,附加实施方式对于相 关领域技术人员而言将是显而易见的。


并入于此并形成说明书的一部分的附图例示了各实施方式,并且结合描述进一步用于说明各实施方式的原理以及使得相关领域技术人员能够制作并使用各实施方式。图I是其中可以实现各实施方式的示例性通信系统的图示。图2是客户端设备的实施方式的图示。图3是服务器设备的实施方式的图示。图4是用于在客户端设备上执行话音命令的方法的实施方式的图示。图5(a)至图5(c)是根据各实施方式的移动电话上的示例性用户界面的图示。图6是用于在客户端设备上执行话音命令的方法的实施方式的图示。图7(a)和图7(b)是根据各实施方式的移动电话上的另一示例性用户接口的图
/Jn ο图8是用于在客户端设备上执行话音命令的另一方法的实施方式的图示。图9是用于在客户端设备上执行话音命令的另一方法的实施方式的图示。图10(a)至图10(e)是根据各实施方式的移动电话上的另一示例性用户接口的图
/Jn ο图11是其中可以实现各实施方式的示例计算机系统的图示。
具体实施例方式以下详细描述参考了例示示例性实施方式的附图。还可能存在其他实施方式,并且在本说明的精神和范围内可以对各实施方式进行修改。因此,详细描述并不意味着限制以下所述各实施方式。对相关领域技术人员而言,以下所述实施方式可以通过附图中所示软件、硬件、固件和/或实体的许多不同实施方式实现将是显而易见的。通过对硬件的专门控制来实现各实施方式的任意实际软件代码并不限制本说明。因此,鉴于在此所呈现的详尽程度,将通过理解对各实施方式可能进行的修改和变化来描述各实施方式的操作行为。图I是其中可以实现各实施方式的示例性通信系统100的图示。通信系统100包括客户端设备110,该客户端设备110经由网络120通信地耦合至服务器设备130。客户端设备110例如可以是但不限于移动电话、个人数字助理(PDA)、膝上型计算机或其他相似类型的移动设备。服务器设备130例如可以是但不限于电信服务器、web服务器或其他相似类型的数据库服务器。在一个实施方式中,服务器设备130可以具有多个处理器和多个共享或分离的存储器组件,诸如例如但不限于并入集群计算环境或服务器群(serverfarm)的一个或多个计算设备。 由集群计算环境或服务器群执行的计算过程可以跨位于相同或不同位置的多个处理器实现。在一个实施方式中,服务器设备130可以在单个计算设备上实现。计算设备的示例包括但不限于中央处理单元、专用集成电路或具有至少一个处理器和存储器的其他类型的计算设备。此外,网络120例如可以是但不限于将客户端设备110通信地耦合至服务器设备130的有线(例如,以太网)或无线(例如,Wi-Fi和3G)网络。图2是客户端设备110的实施方式的图示。客户端设备110包括语音识别器210、客户端查询管理器220、麦克风230、客户端数据库240和显示器设备250。在一个实施方式中,麦克风230耦合至语音识别器210,语音识别器210耦合至客户端查询管理器220。根据一个实施方式,客户端查询管理器220还耦合至客户端数据库240和显示器设备250。在一个实施方式中,语音识别器210和客户端查询管理器220可以通过软件、固件、硬件或其组合实现。语音识别器210和客户端查询管理器220的实施方式或其各部分还可以实现为在能够实现在此所述功能的一个或多个计算设备上执行的计算机可读代码。计算设备的示例包括但不限于中央处理单元、专用集成电路或具有至少一个处理器和存储器的其他类型的计算设备。在一个实施方式中,麦克风230配置用于接收对应于话音命令的音频流以及向语音识别器210提供话音命令。根据一个实施方式,话音命令从诸如例如但不限于移动电话用户之类的音频源生成。转而,根据一个实施方式,语音识别器210配置用于将音频流转译成机器可读话音命令。相关领域技术人员已知用于将音频流转译成机器可读话音命令的各种方法和技术。这些方法和技术的示例可以在诸如Nuance Communications公司提供的Dragon Naturally Speaking Software 和 MacSpeech Software 之类的商业语音识别软件中找到。在一个实施方式中,基于机器可读话音命令,客户端查询管理器220查询客户端数据库240以生成查询结果。在一个实施方式中,客户端数据库240包含本地存储在客户端设备110中的信息,诸如例如但不限于电话号码、地址信息以及先前话音命令的结果(下面将更详细地进行描述)。基于在此的描述,相关领域技术人员将认识到客户端数据库240中存储的其他数据可以向在此所述的实施方式提供查询结果。在一个实施方式中,客户端查询管理器220还协调对应于话音命令的语音流经由图I的网络120向服务器设备130的传输。可以通过多种类型的音频文件格式(诸如例如但不限于WAVE音频格式)向服务器设备130传输音频流。在服务器设备130对音频流进行处理(其将在下文更详细地进行描述)之后,客户端查询管理器220协调经由网络120从服务器设备130接收查询结果。相关领域技术人员已知向服务器设备130传输数据以及从服务器设备130接收数据可以使用收发器(未在图2中示出)执行。根据一个实施方式,图2的客户端查询管理器220协调音频流向服务器设备130的传输与其查询客户端数据库240同时、基本上同时或者以并行方式进行。因此,在一个实施方式中,来自服务器设备130查询结果可以由客户端查询管理器220接收并与来自客户端设备110的查询结果基本上同时、并行或者稍后显示在显示器设备250上。备选地,根据一个实施方式,取决于客户端查询管理器220查询客户端数据库240的计算时间或者话音命令的复杂度,来自服务器设备130查询结果可以由客户端查询管理器220接收并且在显示来自客户端数据库240的查询结果之前在显示器设备250上显示。
参考图2,在一个实施方式中,显示器设备250配置用于显示来自客户端数据库240以及来自服务器设备130的查询结果。根据一个实施方式,这些查询结果可以存储在客户端数据库240中并且可以基于与用于生成查询结果的话音命令基本上相同或基本上相似的未来话音命令在稍后获取。图3是服务器设备130的实施方式的图示。服务器设备130包括语音识别器310、服务器查询管理器320和服务器数据库330。在一个实施方式中,语音识别器310耦合至服务器查询管理器320,服务器查询管理器320耦合至服务器数据库330。在一个实施方式中,语音识别器310和服务器查询管理器320可以通过软件、固件、硬件或其组合实现。语音识别器310和服务器查询管理器320的实施方式或其各部分还可以实现为在能够实现在此所述功能的一个或多个计算设备上执行的计算机可读代码。计算设备的示例包括但不限于中央处理单元、专用集成电路或具有至少一个处理器和存储器的其他类型的计算设备。如上文所述,关于图2,服务器设备130从客户端设备110接收对应于话音命令的音频流。在一个实施方式中,服务器查询管理器320协调经由收发器(未在图3中示出)从客户端设备110接收音频流和向语音识别器310传送音频流。转而,根据本发明的实施方式,语音识别器310配置用于将音频流转译成机器可读话音命令。在一个实施方式中,语音识别器310配置用于转译简单语音识别任务以及比客户端设备Iio中由语音识别器210转译的那些任务更复杂的语音识别任务两者。这是因为根据本发明的一个实施方式,语音识别器310与语音识别器210相比具有用于将更复杂的话音命令转译成对应的机器可读话音命令的更多的计算资源和存储器资源。相关领域技术人员已知用于处理复杂语音识别任务的方法和技术。在一个实施方式中,基于由语音识别器310转译的机器可读话音命令,服务器查询管理器320查询服务器数据库330以生成查询结果。在一个实施方式中,服务器数据库330包含大量信息,诸如例如但不限于文本数据、图像数据和视频。基于这里的描述,相关领域技术人员将认识到服务器数据库330中存储的其他数据可以向在此所述的实施方式提供查询结果。在从服务器数据库330获取查询结果之后,服务器查询管理器320协调经由图I的网络120向客户端设备110传输查询结果。相关领域技术人员已知向客户端设备110传输数据和从客户端设备110接收数据可以使用收发器(未在图3中示出)执行。图4是用于在客户端设备上执行话音命令的方法400的实施方式的图示。方法400可以使用例如图I的通信系统100中的客户端设备110来实现。不同于将更复杂的话音命令卸载至服务器设备以用于处理并向客户端设备返回对应的查询结果的语音识别系统,根据方法400执行的语音识别系统在客户端设备以及服务器设备上对简单话音命令和复杂话音命令两者进行处理。由客户端设备和服务器设备两者生成的查询结果分别提供来自客户端数据库和服务器数据库的信息。因此,客户端设备的用户得益于查看查询结果,该查询结果可以对应于基于客户端设备上存储的数据以及服务器设备上存储的数据的话音命令。为了便于说明,将使用通信系统100来有助于对方法400的描述。然而,基于这里的描述,相关领域技术人员将认识到方法400可以在其他通信系统上执行。这些其他通信系统在在此所述实施方式的范围和精神内。此外,为了便于说明,将在移动电话(例如,图I的客户端设备110)的上下文中描述方法440,其中移动电话用户作为话音命令的音频源。移动电话经由通信网络(例如,图I的网络120)通信地耦合至网络服务器(例如,图I的服务器设备130)。基于这里的描述,相关领域技术人员将认识到方法400可以在其他类型的客户端设备(诸如例如但不限于, PDA和膝上型计算机)上执行,以及可以利用其他音频源(诸如例如但不限于,收音机和计算机)执行。这些其他类型的客户端设备和音频源在在此所述实施方式的范围和精神内。在步骤410中,话音命令的音频流利用位于移动电话上的语音识别器转译成机器可读话音命令。如上文所述,关于图2,语音识别器210转译由麦克风230接收的音频流。
在步骤420中,基于从步骤410生成的机器可读话音命令,对移动电话的数据库进行查询以生成查询结果。参考图2,基于由语音识别器210转译的机器可读话音命令,客户端查询管理器220查询客户端数据库240以生成查询结果。图5(a)至图5(c)是根据在此所述实施方式的移动电话上的示例性用户界面(UI) 510的图示。这些图示用于帮助有助于对图4的步骤410和步骤420的说明。关于图5(a),移动电话UI510向移动电话用户提示话音命令。在此示例中,移动电话用户提供“Barry Cage”作为话音命令。转而,根据步骤410,移动电话使用其嵌入的语音识别器(例如,图2的语音识别器210)将话音命令的音频流转译成机器可读话音命令。移动电话上的查询管理器(例如,图2的客户端查询管理器220)针对“Barry Cage”对移动电话的数据库进行查询。关于图5(b),移动电话的查询管理器针对名字“Barry Cage”对联系人列表数据库进行查询,并且找到查询结果520。基于这里的描述,相关领域技术人员将认识到可以查询移动电话上的其他数据库以生成查询结果,诸如例如但不限于通话记录信息、音乐库和日历列表。关于图5(c),移动电话用户可以选择查询结果520来查看对应于话音命令的联系人信息530。参考图4,在步骤430中,话音命令的音频流被传输至网络服务器,其中话音命令利用位于网络服务器上的语音识别器被转译成机器可读话音命令。如上文所述,关于图2,客户端查询管理器220协调向服务器设备130传输音频流。在步骤440中,从网络服务器接收查询结果,其中查询结果通过基于来自步骤430的机器可读话音命令对服务器数据库进行查询而生成。关于图3,语音识别器310将话音命令转译成机器可读话音命令。基于机器可读话音命令,服务器查询管理器320查询服务器数据库330以生成查询结果。该查询结果继而经由网络120从服务器设备130传输到客户端设备110。在一个实施方式中,如图6的方法600中所示,音频流到网络服务器的传输(步骤430)和从网络服务器接收查询结果(步骤440)可以与由移动电话进行话音命令的音频流的转译(步骤410)和查询移动电话上的数据库(步骤420)同时或基本上同时或者重叠执行。因此,在一个实施方式中,来自网络服务器的查询结果可以由移动电话接收和显示,这与显示来自移动电话的数据库的查询结果基本上同时、并行或者稍后进行。备选地,根据一个实施方式,取决于查询移动电话的数据库的计算时间或者话音命令的复杂度,来自网络服务器的查询结果可以在显示来自移动电话的数据库的查询结果之前由移动电话接收和显不O在图4的步骤450中,来自步骤420的查询结果和来自步骤440的查询结果显示在移动电话上。在一个实施方式中,来自步骤420和步骤440的查询结果存储在移动电话的数据库中,并且可以基于移动电话用户的未来话音命令进行显示。图7(a)和图7(b)是根据在此所述实施方式的移动电话上的示例性UI710的图·示。这些图示用于帮助有助于对图4的步骤430-步骤450的说明。类似于图5,图7(a)和图7(b)的图示假设移动电话用户提供“Barry Cage”作为话音命令。关于图7(a),根据图4的步骤410和步骤420,字段(field) 720显示对移动电话的数据库(例如,图2的客户端数据库240)进行查询的查询结果。另外,根据步骤430至步骤450,字段730显示对网络服务器(例如,图3的服务器数据库330)进行查询的查询结果。在图7(a)的示例中,字段730是三个条目的列表,其中网络服务器返回针对话音命令的可能匹配“barry cage”;“mary paige” ;和“mary peach”。如果移动电话用户没有决定从字段720中选择条目(即,“Barry Cage”),则移动电话用户可以从字段730选择条目。另外,字段630中列表的局部部分可以在第一时间实例由移动电话接收并在移动电话上显示,而字段730中列表的剩余部分可以在第二时间实例(例如,在时间上晚于第一时间实例)由移动电话接收并在移动电话上显示。通过此方式,移动电话用户可以查看查询结果的一部分,此时查询结果的剩余部分由网络服务器处理并且由移动电话接收。关于图7 (b),如果移动电话用户从图7 (a)的字段730中选择“barry cage”,则在移动电话上显示web搜索的结果740。移动电话用户继而可以滚动搜索结果740来对感兴趣的超链接进行定位。根据图4的步骤450,搜索结果740和图4的步骤420的查询结果(例如,图7(a)的字段720)根据一个实施方式存储在移动电话中以用于移动电话用户的未来话音命令。例如,如果移动电话用户在稍后的时间点提供“Barry Cage”作为话音命令,则图7(a)的字段720中的“Barry Cage”和字段730中的“barry cage”将从移动电话的存储器中获取并向移动电话用户显示。在存储针对“Barry Cage”的web搜索结果方面,移动电话用户得益于查看先前选定的web搜索结果。转而,由于移动电话能够快速恢复来自先前话音命令的选定的条目,移动电话用户的体验得到了提升。用于存储和获取图7(a)的字段720和字段730中的数据的示例性方法和系统可以在题为“Personalization andLatency Reduction for Voice-Activated Commands”的美国专利申请No. 12/783,470 (代理律师卷号2525. 2360000)中找到,并且其全部内容通过引用并入于此。
图8是用于在客户端设备上执行话音命令的另一方法800的图示。方法800可以使用例如图I的通信系统100中的客户端设备110来实现。与图4的方法400类似,为了便于说明,将使用通信系统100以有助于对方法800的描述。此外,为了便于说明,将在移动电话(例如,图I的客户端设备110)的上下文中描述方法800,其中移动电话用户作为话音命令的音频源。在步骤810中,话音命令的音频流由移动电话接收。如上文所述,关于图2,麦克风230配置用于接收话音命令的音频流。在步骤820中,位于移动电话上的语音识别器确定音频流(来自步骤810)是否可以被转译成具有适当的置信度得分的机器可读话音命令。在一个实施方式中,归因于移动电话的计算资源和存储器资源,位于移动电话上的语音识别器(例如,图2的语音识别器210)可能不能够将更复杂的话音命令转译成具有相对高置信度得分的对应的机器可读话音命令。具体地,根据一个实施方式,如果针对话音命令的语音识别置信度得分在预定阈值之下,则不基于话音命令对移动电话的数据库进行查询。相反,在一个实施方式中,移动电话存储具有相对低置信度得分的机器可读话音命令以用于移动电话的未来恢复。这种未来 恢复特征将在下文更详细地进行描述。相关领域技术人员已知用于确定语音识别置信度得分的方法和技术。在步骤830中,如果位于移动电话上的语音识别器能够提供针对话音命令的音频流的机器可读话音命令转译,则利用位于移动电话上的语音识别器将话音命令转译成机器可读话音命令。步骤830执行与图4的步骤410相似的功能。在步骤840中,基于从步骤830生成的机器可读话音命令,对移动电话的数据库进行查询以生成查询结果。步骤840执行与图4的步骤420相似的功能。在步骤850中,无论位于移动电话上的语音识别器是否能够针对话音命令的音频流提供具有适当置信度得分的机器可读话音命令转译,均向网络服务器传输话音命令的音频流,其中利用位于网络服务器上的语音识别器将话音命令转译成机器可读话音命令。步骤850执行与图4的步骤430相似的功能。在步骤860中,从网络服务器接收查询结果,其中根据基于来自步骤850的机器可读话音命令对服务器数据进行查询生成查询结果。步骤860执行与图4的步骤440相似的功能。图9是用于在客户端设备上执行话音命令的另一方法900的图示。与图6的步骤430和步骤440类似,根据一个实施方式,图8的步骤860和步骤870可以与移动电话转译话音命令的音频流(步骤830)和查询移动电话上的数据库(步骤840)同时或基本上同时或者重叠执行。因此,在一个实施方式中,来自网络服务器的查询结果可以与显示来自移动电话数据库的查询结果基本上同时、并行或者稍后由移动电话接收并显示在移动电话上。备选地,根据一个实施方式,取决于查询移动电话的数据库的计算时间或者话音命令的复杂度,来自网络服务器查询结果可以在显示来自移动电话的数据库的查询结果之前由移动电话接收并且在移动电话上显示。参考图8的步骤880,如果位于移动电话上的语音识别器能够提供针对话音命令的音频流的机器可读话音命令转译(见步骤870),则来自步骤820的查询结果和来自步骤840的查询结果显示在移动电话上(见步骤880)。在一个实施方式中,来自步骤820和步骤840的查询结果存储在移动电话的数据库中以用于移动电话用户的未来话音命令。备选地,如果位于移动设备上的语音识别器不能够提供针对话音命令的音频流的机器可读的话音命令转译(见步骤870),则只有来自步骤840的查询结果显示在移动电话上(见步骤890)。在一个实施方式中,来自步骤840的查询结果存储在移动电话的数据库中以用于移动电话用户的未来话音命令。在一个实施方式中,未来话音命令可以转译成机器可读话音命令,其中该机器可读话音命令可以与具有相对低置信度得分的机器可读话音命令(来自图2的步骤820)进行比较。如果两个机器可读话音命令基本上相互匹配或者基本上相互类似,则根据一个实施方法,移动电话显示来自步骤820的查询结果和/或来自步骤840的查询结果。用于存储和获取图7 (a)的字段720和字段730中的数据的示例性方法和系统可以在题为“Personalization and Latency Reduction for Voice-Activated Commands,,的美国专利申请No. 12/783,470(代理律师卷号2525. 2360000)中找到,并且其全部内容通过引用并入于此。 另外,根据一个实施方式,向网络服务器传输对应于未来话音命令的音频流,其中利用位于网络服务器上的语音识别器将话音命令转译成机器可读话音命令。在一个实施方式中,基于对应于未来话音命令的机器可读话音命令,对网络服务器上的数据库进行查询以生成查询结果。根据一个实施方式,该查询结果由移动电话进行接收、显示以及存储。根据一个实施方式,在显示对应于先前话音命令的所存储的查询结果以及对应于未来话音命令的另一查询结果方面中的益处之一在于移动电话用户得益于查看来自网络服务器的更新查询结果(如果有的话)。另外,在一个实施方式中,移动电话上的语音识别器可能将未来话音命令误特征化(mischaracterize)为对应于先前存储的话音命令。在此情况下,根据一个实施方式,位于网络服务器上的语音识别器可以能够通过提供比位于移动电话上的语音识别器提供的转译更精确的对未来话音命令的转译来解决所述误特征化。图10(a)至图10(e)是根据在此所述实施方式的移动电话上的示例性Π1010的图示。这些图示用于帮助有助于对方法800的说明。关于图10(a),移动电话Π1010向移动电话用户提示话音命令。在此示例中,移动电话用户提供“pizza my heart”作为话音命令。转而,根据步骤810和步骤820,移动电话接收话音命令,并且确定话音命令的音频流是否可以转译成具有适当置信度得分的机器可读话首命令。在图10中所示的示例中,话音命令“pizza my heart”没有返回在预定阈值之上的语音识别置信度得分。换言之,话音命令“爱心披萨”没有从位于移动电话上的语音识别器返回高置信度匹配。根据步骤850,向网络服务器传输话音命令的音频流以用于进一步语音识别处理。图10(b)是对网络服务器进行话音命令得到的查询结果1020的示例性列表的图示。根据步骤850,查询结果1020的示例性列表从网络服务器传输到移动电话。根据一个实施方式,当移动电话用户查看查询结果1020的示例性列表时,与每个查询结果相关的信息(例如,网页、图像、文本数据)存储在移动电话的高速缓冲存储器中。这允许移动用户从查询结果1020的示例性列表中选择感兴趣的查询结果并且立即查看与查询结果相关的信息,从而改进移动电话用户的体验。例如,关于图10(c),移动电话用户从查询结果1020的示例性列表中选择顶部条目“pizza my heart”,并且web搜索结果1030的列表显示在移动电话上。如图10(d)的网页1040中所示,移动电话用户可以从web搜索结果选择感兴趣的超链接(例如,www. pizzamyheart. com)并且在移动电话上查看网页的内容。此外,在步骤850的一个实施方式中,查询结果的示例性列表的局部部分可以在第一时间实例由移动电话接收并在其上显示,而查询结果的示例性列表的剩余部分可以在第二时间实例(例如,时间上晚于第一时间实例)由移动电话接收并在其上显示。通过该方式,移动电话用户可以查看查询结果的一部分,同时查询结果的剩余部分由网络服务器处理并由移动电话接收。在一个实施方式中,由移动电话用户选择的查询结果(例如,www. pizzamyheart.com)存储在移动电话的数据库中以用于移动电话用户的未来话音命令。例如,当稍后移动电话用户向移动电话提供“pizza my heart”作为话音命令时,超链接www. pizzamyheart.■作为对移动电话的数据库进行查询的查询结果出现。这在图10(e)的字段1050中 示出。如图10(d)中所示,移动电话用户可以选择字段1050中的查询结果并且查看位于“WWW, pizzamyheart. com”的网页。在存储查询结果和相关联的网页方面中,移动电话用户得益于查看先前选定的web搜索结果。转而,由于移动电话能够快速恢复来自先前语音命令的选定条目,移动电话用户的体验得到了提升。用于存储和获取图10(e)的字段1050中的数据的示例性方法和系统可以在题为“Personalization and LatencyReduction for Voice-Activated Commands”的美国专利申请No. 12/783,470 (代理律师卷号2525. 2360000)中找到,并且其全部内容通过引用并入于此。在此所述各实施方式的多个方面可以通过软件、固件、硬件或其组合实现。图11是示例计算机系统1100的图示,其中各实施方式或其部分可以实现为计算机可读代码。例如,由图4的流程图400、图6的流程图600、图8的流程图800或图9的流程图900所示的方法可以在计算机系统1100中实现。各种实施方式可以根据该示例计算机系统1100进行描述。在读取该描述之后,对相关领域技术人员而言,如何使用其他计算机系统和/或计算机架构实现在此所述的实施方式是显而易见的。计算机系统1100是示例计算设备并且包括一个或多个处理器,诸如处理器1104。处理器1104可以是专用处理器或通用处理器。处理器1104连接至通信基础设施1106(例如,总线或网络)。计算机系统1100还包括主存储器1108,其优选地是随机访问存储器(RAM),并且还可以包括辅助存储器1110。辅助存储器1110例如可以包括例如硬盘驱动器1112、可移除存储驱动器1114和/或记忆棒。可移除存储驱动器1114可以包括软盘驱动器、磁带驱动器、光盘驱动器、闪存等。可移除存储驱动器1114按照公知的方式从可移除存储单元1118读取和/或向其写入。可移除存储单元1118可以包括软盘、磁带、光盘等,其可以由可移除存储驱动器1114来读取和写入。如相关领域技术人员将领会的,可移除存储单元1118包括具有存储在其中的计算机软件和/或数据的计算机可用存储介质。在备选实现方式中,辅助存储器1110可以包括其他类似的用于支持将计算机程序或其他指令加载到计算机系统1100中的设备。此类设备例如可以包括可移除存储单元1122和接口 1120。此类设备的示例可以包括程序带盒和带盒接口(诸如视频游戏设备中的带盒和接口)、可移除存储器芯片(例如,EPROM或PR0M)以及相关联的插口,以及支持将软件和数据从可移除存储单元1122传送到计算机系统1100的其他可移除存储单元1122和接口 1120。计算机系统1100还可以包括通信接口 1124。通信接口 1124支持软件和数据在计算机系统1100和外部设备之间传送。通信接口 1124可以包括调制解调器、网络接口(诸如以太网卡)、通信端口、PCMCIA插槽和卡等。经由通信接口 1124传送的软件和数据采用信号的形式,该信号可以是电信号、电磁信号、光信号或者能够通过通信接口 1124接收的其他信号。这些信号经由通信路径1126向通信接口 1124提供。通信路径1126承载信号并且可以使用有线或电缆、光纤、电话线、蜂窝电话链路、RF链路或其他通信信道实现。在本文档中,术语“计算机程序介质”和“计算机可用介质”通常用来指代诸如可移除存储单元1118、可移除存储单元1122和安装在硬盘驱动器1112中的硬盘之类的介质。计算机程序介质和计算机可用介质还可以指代诸如主存储器1108和辅助存储器1110之类的存储器,其可以是存储器半导体(例如,DRAM等)。这些计算机程序产品向计算机系统1100提供软件。 计算机程序(也称为计算机控制逻辑)存储在主存储器1108和/或辅助存储器1110中。计算机程序还可以经由通信接口 1124接收。当被执行时,此类计算机程序使得计算机系统1100能够实现在此讨论的各种实施方式。具体地,当被执行时,计算机程序使得处理器904能够实现上文所述的各种过程,诸如上文所述由图4的流程图400、图6的流程图600、图8的流程图800和图9的流程图900所示方法中的步骤。因此,此类计算机程序代表计算机系统1100的控制器。其中,在此所述实施方式使用软件实现,该软件可以使用可移除存储驱动器1114、接口 1120、硬盘驱动器1112或通信接口 1124存储在计算机程序产品中并加载至计算机系统1100中。基于这里的描述,相关领域技术人员将认识到,当被执行时,计算机程序可以使得一个或多个处理器能够实现上述过程,诸如由图4的流程图400、图6的流程图600、图8的流程图800和图9的流程图900所示方法中的步骤。在一个实施方式中,一个或多个处理器可以是并入集群计算环境或服务器群中的计算设备的一部分。此外,在一个实施方式中,由集群计算环境执行的计算过程(诸如例如由流程图400、流程图600、流程图800和流程图900所示方法中的步骤)可以跨位于相同或不同位置的多个处理器实现。各实施方式还指向包括存储在任意计算机可用介质上的软件的计算机程序产品。当在一个或多个数据处理设备中执行时,此类软件使得数据处理设备按照这里所述进行操作。各实施方式采用现在已知或未来的任意计算机可用或可读介质。计算机可用介质的示例包括但不限于主存储设备(例如,任意类型的随机访问存储器)、辅助存储设备(例如,硬盘驱动器、软盘、CD ROM,ZIP盘、卡带、磁存储设备、光存储设备、MEMS、纳米技术存储设备等)以及通信介质(例如,有线和无线通信网络、局域网、广域网、内联网等)。尽管上面已经描述了各种实施方式,但是应当理解,这些实施方式仅是作为示例呈现,而不是作为限制。因此,对于相关领域技术人员来说,将理解,可以对其进行各种形式和细节上的改变,而不脱离在此描述的实施方式的精神和范围。应当理解,本描述并不限制于这些示例。本描述可应用于按照在此所述操作的任意元件。因此,本描述的宽度和范围不应当由任何上述示例性实施方式所限制,而是应当仅根据随后的权利要求书及其等同物所限定。
权利要求
1.一种用于在客户端设备上执行话音命令的方法,包括 使用位于所述客户端设备上的第一语音识别器将话音命令的音频流转译成第一机器可读话音命令; 使用所述第一机器可读话音命令来查询客户端数据库以生成第一查询结果; 将所述音频流传输到使用第二语音识别器将所述音频流转译成第二机器可读话音命令的远程服务器设备; 从所述远程服务器设备接收第二查询结果,其中所述第二查询结果由使用所述第二机器可读话音命令来查询远程服务器数据库的所述远程服务器设备生成;以及在所述客户端设备上显示所述第一查询结果和所述第二查询结果。
2.根据权利要求I所述的方法,进一步包括 将所述第一查询结果和所述第二查询结果的至少一部分存储在所述客户端设备上。
3.根据权利要求2所述的方法,进一步包括当确定随后话音命令的转译基本上类似于生成所述第一查询结果和所述第二查询结果的所转译的话音命令时,获取存储的第一查询结果和存储的第二查询结果。
4.根据权利要求3所述的方法,进一步包括 将与所述随后话音命令相关联的第二音频流传输到所述远程服务器设备; 使用所述第二语音识别器将所述第二音频流转译成第三机器可读话音命令; 从所述远程服务器设备接收第三查询结果,其中所述第三查询结果通过基于所述第三机器可读话音命令对所述服务器数据库进行随后查询而生成;以及 在所述客户端设备上显示所述第一查询结果、所述第二查询结果和所述第三查询结果O
5.根据权利要求2所述的方法,进一步包括标识所述第一查询结果和所述第二查询结果中的哪个部分用于存储,所述标识包括 从作为所述第二查询结果的一部分返回的项目列表中接收对感兴趣的项目的用户选择。
6.根据权利要求I所述的方法,其中生成所述第一查询结果包括向所述第二语音识别器传输所述音频流,从而使得基于所述第二机器可读话音命令对所述远程服务器数据库进行的查询在与基于所述第一机器可读话音命令对所述客户端数据库进行的查询重叠的时间段期间发生。
7.根据权利要求I所述的方法,其中传输所述音频流包括将所述话音命令的压缩音频流从所述客户端设备传输至所述服务器设备。
8.根据权利要求I所述的方法,其中显示所述第一查询结果和所述第二查询结果包括在第一时间实例显示第一结果和所述第二查询结果的第一子集,以及在第二时间实例显示所述第一结果、所述第二查询结果的所述第一子集和所述第二查询结果的第二子集。
9.一种计算机程序产品,所述计算机程序产品包括其上记录有用于使得处理器能够在客户端设备上执行话音命令的计算机程序逻辑的计算机可用介质,所述计算机程序逻辑包括 第一计算机可读程序代码,使得处理器能够使用位于所述客户端设备上的第一语音识别器将话音命令的音频流转译成第一机器可读话音命令;第二计算机可读程序代码,使得处理器能够使用所述第一机器可读话音命令来查询客户端数据库以生成第一查询结果; 第三计算机可读程序代码,使得处理器能够将所述音频流传输到使用第二语音识别器将所述音频流转译成第二机器可读话音命令的远程服务器设备; 第四计算机可读程序代码,使得处理器能够接收来自所述远程服务器设备的第二查询结果,其中所述第二查询结果由使用所述第二机器可读话音命令来查询远程服务器数据库的所述远程服务器设备生成;以及 第五计算机可读程序代码,使得处理器能够在所述客户端设备上显示所述第一查询结果和所述第二查询结果。
10.根据权利要求9所述的计算机程序产品,进一步包括 第六计算机可读程序代码,使得处理器能够将所述第一查询结果和所述第二查询结果的至少一部分存储在所述客户端设备上。
11.根据权利要求10所述的计算机程序产品,进一步包括 第七计算机可读程序代码,使得处理器能够当确定随后话音命令的转译基本上类似于生成所述第一查询结果和所述第二查询结果的所转译的话音命令时,获取存储的第一查询结果和存储的第二查询结果。
12.根据权利要求11所述的计算机程序产品,进一步包括 第八计算机可读程序代码,使得处理器能够将与所述随后话音命令相关联的第二音频流传输到所述远程服务器设备; 第九计算机可读程序代码,使得处理器能够使用所述第二语音识别器将所述第二音频流转译成第三机器可读话音命令; 第十计算机可读程序代码,使得处理器能够从所述远程服务器设备接收第三查询结果,其中所述第三查询结果通过基于所述第三机器可读话音命令对所述服务器数据库进行随后查询而生成;以及 第十一计算机可读程序代码,使得处理器能够在所述客户端设备上显示所述第一查询结果、所述第二查询结果和所述第三查询结果。
13.根据权利要求10所述的计算机程序产品,其中所述第六计算机可读程序代码包括 第七计算机可读程序代码,使得处理器能够标识所述第一查询结果和所述第二查询结果中的哪个部分用于存储,所述标识包括从作为所述第二查询结果的一部分返回的项目列表中接收对感兴趣的项目的用户选择。
14.根据权利要求9所述的计算机程序产品,其中所述第二计算机可读程序代码包括 第六计算机可读程序代码,使得处理器能够向所述第二语音识别器传输所述音频流,从而使得基于所述第二机器可读话音命令对所述远程服务器数据库进行的查询在与基于所述第一机器可读话音命令对所述客户端数据库进行的查询重叠的时间段期间发生。
15.一种用于在客户端设备上执行话音命令的系统,包括 第一语音识别器设备,配置用于将话音命令的音频流转译成第一机器可读话音命令; 客户端查询管理器,配置用于 使用所述第一机器可读话音命令来查询客户端数据库以生成第一查询结果;将所述音频流传输到使用第二语音识别器设备将所述音频流转译成第二机器可读话音命令的远程服务器设备;以及 从所述远程服务器设备接收第二查询结果,其中所述第二查询结果由使用所述第二机器可读话音命令来查询远程服务器数据库的所述远程服务器设备生成;以及 显示器设备,配置用于在所述客户端设备上显示所述第一查询结果和所述第二查询结果O
16.根据权利要求15所述的系统,进一步包括 麦克风,配置用于接收所述话音命令的所述音频流以及向所述第一语音识别器设备提供所述音频流;以及 存储设备,配置用于将所述第一查询结果和所述第二查询结果的至少一部分存储在所述客户端设备上。
17.根据权利要求16所述的系统,其中所述客户端查询管理器配置用于当确定随后话音命令的转译基本上类似于生成所述第一查询结果和所述第二查询结果的所转译的话音命令时,获取存储的第一查询结果和存储的第二查询结果。
18.根据权利要求17所述的系统,其中所述客户端查询管理器配置用于 将与所述随后话音命令相关联的第二音频流传输到所述远程服务器设备; 使用所述第二语音识别器设备将所述第二音频流转译成第三机器可读话音命令; 从所述远程服务器设备接收第三查询结果,其中所述第三查询结果通过基于所述第三机器可读话音命令对所述服务器数据库进行随后查询而生成。
19.根据权利要求15所述的系统,其中所述客户端查询管理器配置用于向所述第二语音识别器设备传输所述音频流,从而使得基于所述第二机器可读话音命令对所述远程服务器数据库进行的查询在与基于所述第一机器可读话音命令对所述客户端数据库进行的查询重叠的时间段期间发生。
20.根据权利要求15所述的系统,其中所述显示器设备配置用于在第一时间实例显示第一结果和所述第二查询结果的第一子集,以及在第二时间实例显示所述第一结果、所述第二查询结果的所述第一子集和所述第二查询结果的第二子集。
全文摘要
提供了用于在客户端设备上执行话音命令的方法、计算机程序产品和系统。该方法可以包括使用位于客户端设备上的第一语音识别器将话音命令的音频流转译成第一机器可读话音命令;以及使用第一机器可读话音命令来查询客户端数据库以生成第一查询结果。另外,可以将音频流传输到使用第二语音识别器将音频流转译成第二机器可读话音命令的远程服务器设备。此外,该方法可以包括从远程服务器设备接收第二查询结果,其中第二查询结果由使用第二机器可读话音命令的远程服务器设备生成;以及在客户端设备上显示第一查询结果和第二查询结果。
文档编号G10L15/32GK102884569SQ201180013111
公开日2013年1月16日 申请日期2011年1月25日 优先权日2010年1月26日
发明者A·格伦斯泰恩, W·J·伯恩 申请人:谷歌公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1