专利名称:语音命令的多维消歧的制作方法
技术领域:
本说明书涉及搜索引擎。
背景技术:
随着在因特网上可获得的信息量已经显著地扩大,用户明确地表达用于定位特定 的相关信息的有效搜索查询越来越困难。近些年来,在搜索引擎提供商之间的竞争已经引 起在搜索引擎算法的演进以及用于显示搜索结果的用户界面的爆炸性的加速。可以使用各种机制来向搜索引擎提供查询。例如,用户可以使用在计算设备上的 键盘向搜索框中明确地键入查询,并且可以然后提交该查询。查询也可以是隐含的,诸如通 过用户在他们的计算设备上显示的地图上移景(panning),并且通过查询被发送来显示在 地图的该区域中的企业的注释信息。另外,用户可以通过说出查询来输入它们,特别是当使 用键盘可能很小或免提操作可能很重要的移动设备(例如,智能电话或应用手机)时。
发明内容
语音命令的正确解释一般要求它们在至少二维中消歧。在本说明书称作“识别质 量”的维度的第一维中的消岐包括将在语音命令中包括的声音与说话者可能已经说出的 术语匹配。在一个示例中,在识别质量维度中的消岐可以试图确定当说话者发出具有声 音“ka Dbil”(使用国际音标(IPA)注音符号)的语音命令时,他们是否意欲说出类似 发音的词语“call bil”、“call Phil'\"cobble","cable","kill bill","call bull” 或 “Kabul”。本说明书将作为对语音命令执行语音识别过程的结果输出的一个或多个词称作 “候选词语”。在本说明书称作“说话者意图”维度的第二维中的消岐涉及确定当说话者说出构 成语音命令的词语时说话者可能意在进行什么动作。例如,如果假定说话者已经在语音命 令期间说出了词语“call bill”,则在说话者意图维度中的消岐可以试图确定说话者是否 可能意欲“call (呼叫)”名为“Bill”的第一联系人或名为“Bill”的第二联系人,说话者 是否可能意欲“call (呼叫)”在家中或工作中的名为“Bill”的联系人或说话者是否可能 指令应当发出“call”以从服务提供者请求“bill (账单),,(或“invoice (单据)”)。本说 明书将当说话者说出构成语音命令的词语时说话者可能意欲进行的动作称作“可能的意欲 动作”。因此,在这两个维度中的语音命令的消岐可能导致一个候选词语,该候选词语具 有多于一个的相关联的动作,诸如单个词语“call bill”可以与呼叫名为“Bill”的两个联 系人之一的可能意欲动作相关联的情况。另外,语音命令的消岐可能导致两个或更多的候 选词语,每一个具有一个或多个相关联的动作,诸如同一语音命令匹配到词语“callbill” 以呼叫名为“Bill”的联系人并且匹配到词语“Kabul”以购买到Kabul (喀布尔)市的飞机 票的情况。在任何一种情况下,根据在本说明书中描述的主题的一个创新方面,如果不能自 动地解决在不同的候选词语和动作之间的歧义,则可以向用户提供多维消岐的结果以用于选择。—般地,在本说明书中描述的主题的另一个创新方面可以被体现在下述方法中, 该方法包括动作在服务器接收音频信号;由所述服务器对所述音频信号执行语音识别, 以识别与所述音频信号的一个或多个部分匹配的一个或多个候选词语;对于每一个候选词 语识别一个或多个可能的意欲动作;提供信息以在客户端设备上显示,所述信息指定所述 候诜词语和用干毎一个候诜词语的动作;从所述客户端设备接收由用户选择的动作的指 示,其中,所述动作是从在所提供的信息中包括的动作中选择的;以及,调用由所述用户选 择的所述动作。该方面的其他实施例包括被配置为执行编码在计算机存储设备上的方法的 动作的对应系统、装置和计算机程序。这些和其他实施例每一个可以可选地包括下面特征中的一个或多个。例如,服务 器可以是搜索引擎。可以从客户端设备接收索引,其中,执行语音识别进一步包括识别索 引中的与音频信号匹配的候选词语。所述索引可以是由所述客户端设备存储的联系人的索 引。在其他示例中,当候选词语是人的姓名时,与候选词语相关联的动作中的一个或 多个可以启动与该人的呼叫、电子邮件或即时消息会话。当候选词语包括兴趣点(POI)时, 与候选词语相关联的动作中的一个或多个可以获得所述POI的地图、到所述POI的路线指 引(direction)、关于所述POI的详细信息或到所述POI的距离。当候选词语识别媒体内容 时,与该候选词语相关联的动作中的一个或多个可以播放所述媒体内容,启动对于所述媒 体内容的下载或获得关于所述媒体内容的详细信息。与候选词语相关联的动作中的一个或 多个可以使用候选词语作为查询词语来启动web搜索查询。可以对于每一个动作确定歧义 值,其中,可以递增与用户选择的动作相关联的歧义值。在其他示例中,所述动作也可以包括确定特定动作的所述歧义值满足阈值;基 于确定所述歧义值满足所述阈值而自动地调用所述特定动作;确定用户已经取消了所述特 定动作;以及基于确定所述用户已经取消了所述特定动作而递减所述特定动作的所述歧义 值,其中,基于确定所述用户已经取消了所述特定动作而提供所述信息。 在其他示例中,可以对每一个候选词语确定语音识别置信量度,其中,可以基于对 于与动作相关联的候选词语确定的语音识别置信量度来确定每一个动作的歧义值。可以基 于动作各自的歧义值来产生动作的排名,其中,提供所述信息可以进一步包括提供所述排 名。用于识别特定动作的所述信息可以是图标。调用所述用户选择的应用可以进一步包括: 向所述客户端设备提供用于识别由所述客户端设备存储的应用的信息。一般地,在本说明书中描述的主题的另一个创新方面可以被体现在下述方法中, 所述方法包括如下动作通过客户端设备向服务器提供音频信号;获得指定与所述音频信 号的一个或多个部分匹配的一个或多个候选词语和用于每一个候选词语的一个或多个可 能意欲的动作的信息;接收对动作的用户选择;向所述服务器提供所述用户选择的动作的 指示;以及调用由所述用户选择的所述动作。该方面的其他实施例包括被配置为执行编码 在计算机存储设备上的方法的动作的对应系统、装置和计算机程序。在下面的附图和说明书中阐述了在本说明书中描述的主题的一个或多个实施例 的细节。通过说明书、附图和权利要求,所述主题的其他潜在特征、方面和优点将变得显而 易见。
图1是解释响应于语音命令对动作的调用的概念图。图2和7图示了示例性系统。图3和4是示例性过程的流程图。图5A-5B和6A-6B图示了示例性用户界面。在全部附图中,相似的附图标记表示对应的部分。
具体实施例方式图1是用于执行语音命令的多维消岐的示例性框架的概念图。更具体地,该图描 述了客户端设备104(例如,蜂窝电话、PDA或个人计算机)和服务器116,它们一起构成信 息搜索系统100,并且该图也描述了在客户端设备104和服务器116之间的数据流以及在各 种状态中的客户端设备104的用户界面(被标注为分别在时间顺序的状态(a)、(h)、⑴和 “η”中的用户界面102、130、136、150)。服务器116可以是搜索引擎或由搜索引擎用来执行 语音识别的服务器。如状态(a)中所示,在客户端设备104上显示的用户界面102包括控件106,控件 106作为用于接收查询词语的搜索框和用于接收命令的命令提示符。当控件106实现搜索 功能时,客户端设备104的用户可以通过向控件中输入查询词语的一部分或一个或多个完 整的查询词语来启动对于在公用或专用网络上存储的信息的搜索。当控件106实现命令功能时,客户端设备的用户可以发出任何适当的命令,例如 用于指令客户端设备104呼叫在用户的联系人列表中的联系人的命令、用于指示客户端设 备104编写和向在它们的联系人列表中的联系人发送电子通信(例如,电子邮件、即时消 息、文本消息)的命令、用于指令客户端设备104播放各种类型的媒体内容(例如,音频、视 频)、下载各种类型的媒体内容(例如,音频、视频)或与各种类型的媒体内容(例如,音频、 视频)交互的命令或用于指示客户端设备执行任何其他类型的功能的命令。控件106因此 提供简化的、直观的和强大的用户界面,用于允许用户通过单个多功能命令框或提示符输 入或说出多种类型的命令,并且请求多种类型的功能。不不同于在用户界面的不同部分上或在不同的用户界面上提供不同的功能的客 户端设备,客户端设备104可以使用控件106来实现搜索功能和命令功能,而不要求用户首 先输入导航功能,以便调用特定的期望功能。在客户端设备是移动设备的情况下,这样的方 法允许用户界面102最佳地利用小屏幕大小、有限的处理能力和可能在客户端设备104上 存在的完整键盘的缺少。在图1中所示的示例框架中,通过语音命令向控件106输入词语。在一些示例中, 在说出语音命令之前,用户可以选择用户界面控件来激活语音控制,以允许语音命令用于 向控件106内输入词语。控件106可以是用户界面102的永久或半永久特征,例如,在用户 界面102上保持的浏览器工具条上的搜索框,只要浏览器在执行,或者,用户可以例如通过 输入与控件106相关联的统一资源定位符(URL)来导航到控件106。如状态(b)中图示,使用键盘或其他输入机制来向控件106输入词语。当激活语 音控件时,用户108可以向麦克风112说出声音110。用户108可以例如在说话之前按下麦克风112上的按钮,说出语音命令,然后释放麦克风上的按钮,以启动消岐过程。又如,麦克 风112可以被嵌入客户端设备104内或否则安装在客户端设备104上,并且用户108可以 在说话之前选择用户界面控件(例如,麦克风的图标)。又如,麦克风112可以在用户108 说话之前是“打开”的,或可以处于“总是打开”的状态(例如,用户108可以仅说话而不用 “打开”麦克风112)。声音110可以包括一个或多个音素,其中,音素是用于形成在发音之间的有意义 的对比的声音的最小单位。例如,声音Iio包括音素“ka: ”和“bil”。举几个例子,声音 110 可以表示短语“call Bill”、“kill Bill”、“cobble” 或“Kabul” 中的一个。如在状态(c)中所示,与声音110对应的音频信号114被从客户端设备104提供 到服务器116。例如,客户端设备104可以通过记录声音110来建立声音文件或数据流,并 且可以通过诸如因特网的网络来发送声音文件。服务器116可以是一个或多个服务器计算 设备。向服务器116发送音频信号并且使得服务器116执行语音识别、命令消岐和与命令 执行相关的一些或全部处理可以允许对于客户端设备104的低处理要求。然而,在其他示 例实施方式中,语音识别可以发生在客户端设备104,并且,向服务器116发送语音识别的 结果而不是音频信号。如在状态(d)中所示,服务器116对接收的音频信号执行语音识别过程,以识别与 音频信号匹配的一个或多个候选词语118a_d。词语可以包括一个或多个词。例如,对接收 的包括声音110的记录的声音文件执行的语音识别可以识别候选词语“call Bill” 118a、 "kill Bill” 118b、“Kabul”118c 和 “cable” 118d,如在表格 120 的最左列中所示。可以通过选择具有在识别阈值之上的对应语音识别置信量度的候选词语来执行 候选词语118a-d的识别。例如,语音识别过程可以识别由服务器116的语音识别模块返回 的候选词语匹配记录的声音或匹配用户108所说的内容的概率。该置信量度反应了概率; 分值越高,则候选词语越可能匹配记录的声音。可以识别诸如5%的置信度的阈值。可以对于在说话者意图维度中的消岐选择满 足阈值(例如,大于或等于5%)的候选词语,并且,可以忽略或从识别的候选词语118的列 表排除具有不满足该阈值的置信度的候选词语。对于5%的阈值,与候选词语118a-d分别 对应的50% 122a,30% 122bU5% 122c和5% 122d的置信量度值每一个满足阈值。又如,可以识别具有N个最高语音识别置信量度的N个候选词语,其中,N是正整 数(例如,5)。N的选择可以例如基于用户界面102的大小的估计,或基于典型移动设备的 显示器的大小的估计(例如,如下所述,可以在用户界面上呈现候选词语,并且,N的选择可 以基于多少候选词语可以垂直地适配在特定或典型的用户界面显示中)。又如,可以选择置 信量度12加-(1,使得置信量度值的和等于100%或60%。对于由用户108或一般而 言由用户历史选择的候选词语,可以调整(例如,提高)置信量度值。提高量可以基于历史 选择的数量或频率。可以至少部分地基于在从客户端设备接收的数据的索引或数据库中的候选词语 的包含来识别该候选词语。例如,服务器116可以从客户端设备104定期地接收联系人的 索引。语音识别可以包括识别在索引中包括并且与接收的音频信号匹配的候选词语。例 如,由于在从客户端设备104接收的联系人索引中包括姓名“Bill”,所以可以部分地识别 候选词语“call Bill” 118a。如果在客户端提供的索引中未包括“Bill”,则可能不能识别候选词语“call Bill” 118a,可以以较低的置信量度识别候选词语“call Bill” 118a,或可 以将姓名“Bill”仅识别为与“invoice”同义的词。客户端提供的索引也可以包括其他信 息,诸如与客户端设备能够执行的应用程序相关的信息、用户界面尺寸、在客户端设备上可 用的媒体内容等。如在状态(e)中和在表123中所示,服务器116识别与每一个识别的候选词语 118a_d相关联的一个或多个动作124a-e0例如,可以对于“call Bill”候选词语118a 识别 “call Bill at home (呼叫家中的 Bill) ” 124a、“call Bill at work (呼叫工作中 的 Bill) ” 124b 和 “perform a web search for ‘Call Bill,(执行对于“Call Bill,, 的web搜索)” 12 动作。其他示例包括识别与“kill Bill”候选词语118b相关联的 "download ‘Kill Bill,movie (下载“kill Bill ” 电影)”动作 124d、识别与“Kabul ”候选 词语118c相关联的"get directions to Kabul (获得到喀布尔的路线指引),,动作124e 和识别与“cable”候选词语118d相关联的“pay cable bill (支付有线电视账单)”动作 124f。动作的其他示例包括基于人的姓名来启动与人的电子邮件或即时消息会话;基于 媒体内容的题目来播放媒体内容或获得关于媒体内容的详细信息;以及基于POI的名称来 获得POI的地图、POI的详细信息或到POI的距离。当候选词语本身不识别动作或命令时,可以使用词语/动作映射器或其他规则引 擎来确定适当的动作。例如,可以对于包括名称的候选词语选择“启动联系人”动作,可以 对于识别媒体内容的候选词语选择“下载”动作,可以对于识别与用户108有关系的企业的 候选词语选择“支付”动作,以及可以对于识别POI的候选词语选择“地图”动作。如在状态(f)中所示,可以对于每一个动作确定歧义值,其中,歧义值表示用户意 欲进行该动作的可能性。例如,可以对于动作IMa-f分别确定30128aU0128bU0128c, 10128d、0128e和10128f的歧义值。高歧义值可以表示用户意欲进行相关联的动作的概率 的高置信度。例如,30的歧义值128a可以表示相关联的动作12 具有比具有较低的歧义 值(例如,10)的动作124b更高的是用户意欲进行的动作的概率。在一些实施方式中,高歧 义值可以指示相关联的动作是高度模糊的(例如,不可能已经被意欲进行)。例如,在一些实施方式中,基于大于10的歧义值128b的30的歧义值U8a,动作 12 可以被认为比动作124b更不太可能已经被意欲进行。高歧义值可以与服务器116的 用户或其他用户过去已经选择的动作相关联。低歧义值可以与服务器116的用户或其他用 户过去从未选择或仅很少选择的动作相关联。如下更全面所述,低歧义值也可以与用户过 去取消的动作相关联。歧义值可以与语音识别置信量度相关。例如,高的语音识别置信量度可以导致相 关联的动作的高的歧义值(例如,意欲的高可能性),并且反之亦然。如下更详细所述,随 着时间的推移,可以递增与用户选择的动作相关联的歧义值,并且,可以递减与用户取消的 动作相关联的歧义值。如果用户之前未选择动作或如果以前对于用户未识别对应的候选词 语,则该动作的初始歧义值可以是0。可以识别总共M个动作,其中,M是正整数(例如,7)。M的选择可以例如基于用户 界面102的大小的估计,或基于典型的移动设备的显示器的大小的估计(例如,如下所述, 可以在用户界面上呈现候选词语/动作对,并且,M的选择可以基于多少候选词语/动作对 可以垂直地适配在特定或典型的用户界面显示中)。又如,可以在识别的动作12^-e中包括具有在阈值(例如,10)之上的对应歧义值的动作,并且可以从识别的动作12^-e排除具 有在阈值之下的对应歧义值的动作。又如,可以在识别的动作中包括每一个类型的最大数 量的动作。例如,在一些示例中,可以包括“呼叫联系人”类型的最多三个动作,即使可以基 于识别的候选词语来识别超过三个“呼叫联系人”动作。可以对于候选词语识别一个或多个默认动作,而与是否已经对于候选词语识别了 其他类型的动作无关。例如,每一个候选词语可以具有相关联的“web搜索”动作。可以对 于候选词语识别的其他默认动作可以包括在在线词典或在线百科全书中查找候选词语。 对于一些音频信号,可以识别仅一个动作。例如,对于一些音频信号,可以识别仅一个候选词语,并且可以对于候选词语识别 仅一个默认动作(例如,web搜索)。对于一些音频信号,语音识别过程可能不能识别具有 可接受的置信量度的任何适当候选词语,并且在一些实施方式中,服务器116可能不能识 别与不可识别的音频信号相关联的任何动作。在其他实施方式中,服务器116可以识别可 以触发客户端设备104请用户重复它们的命令的未识别的音频信号的动作。如果一组歧义值指示很可能用户意欲进行特定的动作,则可以使用“隐含”的调用 过程来自动地调用那个动作。可以从绝对或相对形式的、用于指示用户的意图很模糊的高 歧义值建立这样的高概率。如果动作具有大于阈值(例如,30)的歧义值,则可以隐含地调 用动作。又如,如果最高歧义值是第二最高歧义值的至少三倍,则可以隐含地调用具有最 高歧义值的动作。作为第三示例,如果最高歧义值是第二最高歧义值的至少四倍并且也大 于阈值(例如,20),则可以隐含地调用具有最高歧义值的动作。换句话说,在一些实施方式 中,在诸如最高歧义值是4并且每一个其他的歧义值是1或更少的示例中,即使最高歧义值 比每一个其他的歧义值大至少4倍,也可以不隐含地调用具有最高歧义值的动作,因为最 高歧义值不超过阈值。状态(g)图示了特定的“call Bill at home”动作12 的隐含调用。例如,由于 在阈值之上的相关联的歧义值IMc (例如,30的歧义值可以超过诸如20的阈值),可以隐 含地调用动作124a。服务器116可以向客户端设备104发送指示要调用的动作的类型(例 如,拨打联系人)和相关联的候选词语(例如,诸如“Bill”的联系人的姓名)的元数据。在 一些示例中,服务器116也可以发送其他信息,诸如联系人的电话号码。换句话说,为了减 少用户108的等待时间,服务器可以向客户端设备104发送要拨打的号码,使得客户端设备 104不必查找联系人的号码。如上所述,与联系人相关联的电话号码可以被包括在从客户端 设备104向服务器116定期地发送的索引中。从服务器116接收的信息可以触发客户端设备104调用动作12如。在一些示例 中,客户端设备104可以立即调用动作IMa(例如,可以在从服务器116接收到信息时立即 拨打Bill的电话号码)。在其他示例中,可以在调用动作12 之前,在用户界面102上显 示窗口 130。窗口 130可以实现“倒计时定时器”,其中,向用户108呈现倒计时消息,用于 指示当倒计时定时器达到0时将执行动作12如。如果用户意欲呼叫Bill,则用户108可以 使得倒计时定时器达到0,并且,在那个点,可以调用对于Bill的呼叫。倒计时定时器倒计时的时间量可以基于相关联的动作的歧义值。例如,如果歧义 值128a指示用户108意欲进行动作12 的概率高(例如,75 ,则可以根本不使用倒 计时定时器。如果歧义值128a指示用户108意欲进行动作12 的概率是中等的(例如,50%),则倒计时定时器可以在小数量的秒数(例如,2)时启动,并且,如果歧义值128a指 示低概率(例如,20%),则倒计时定时器可以在较高的秒数(例如,4)开始。在一些实施 方式中,服务器116确定倒计时定时器开始值,并且向客户端设备104发送该值。可以在窗口 130中包括取消控件132,以允许用户108在调用动作12 之前取消 动作IMa (或者,对于诸如电话号码的拨打的一些动作,一旦其在进行中则取消该动作)。 如在状态(η)中所示,用户108不意欲呼叫Bill,选择取消控件132来取消动作12 的调 用。响应于对取消控件132的选择,可以从客户端设备104向服务器116发送中断信号(如 状态⑴所示)。响应于接收到中断信号,服务器116可以递减动作12 的歧义值,以考虑动作 12 不是用户108意欲进行的动作的事实。例如,状态(j)图示了相关联的歧义值128a减 少值5。递减用户手动取消的动作的歧义值将减少如果在未来的语音命令中说出类似的声 音模式则自动调用所取消的动作的机会。也响应于接收到中断信号,服务器116可以向客户端设备104发送候选词语/动 作对的列表134,使得用户108可以挑选实际上意欲进行的动作。如果歧义值128a-d都不 在阈值之上,则列表134也可以被发送到客户端设备104,或具有隐含地调用动作的元数据 (例如,在状态(g)中)。换句话说,如果歧义值128a-d都不高得足以引起相关联的动作的 隐含调用,则列表134可以被发送到客户端设备104。在一些实施方式中,列表134是基于 其各自的歧义值的动作12^-c的排名。在其他实施方式中,列表134在被服务器116发送 时未被排名(例如,未排序),并且在这样的示例中,列表134可以随后被客户端设备104排 名。可以以替代列表116的另一种数据结构来封装词语/动作对,该数据结构包括表、数据 库或XML文件。在接收到列表134后,客户端设备104可以在用户界面102上显示窗口 136。在一 些实施方式中,服务器116产生用于显示窗口 136的代码(例如,HTML(超文本标记语言) 代码),并且将该代码与列表134相结合地发送。窗口 136包括列表138,列表138显示分 别与动作对应的列表项目140a-f。在一些实施方式中,如果用户108取消隐含动 作的调用(例如,用户108可以通过选择取消控件132来取消动作12 的隐含调用)。则 列表138可以不包括用于所取消的动作的对应列表项目。例如,如果用户已经取消了动作 12 的隐含调用(例如,在状态(h)中),则列表138可以不包括列表项目140a。每一个列表项目140a_f包括对应的图标。图标指示与各列表项 目140a-f对应的动作的类型。例如,图标指示列表项目140a-b对应于“呼叫联系 人”动作。图标142c指示列表项目140c对应于“web搜索”动作。图标142d指示列表项 目140d对应于播放电影(例如,流或购买和下载)动作。图标14 指示列表项目140e对 应于地图或路线指引动作,并且图标142f指示列表项目140f对应于“支付账单”动作。窗口 136包括如果用户108意欲进行的动作未在列表138中被显示则用户108可 以使用来输入或说出不同的命令或动作的搜索框144。如果用户108意义进行的动作被显 示在对应的列表项目140a-d中,则用户108可以选择与意欲进行的动作对应的列表项目 140a-d。例如,如在状态(1)中所示,用户108可以选择列表项目140e,以指示他们希望调 用对应的动作lMe,以显示到喀布尔的路线指引。响应于对列表项目140a_e的用户选择, 客户端设备104向服务器116发送与所选择的列表项目140a-e对应的动作的指示。例如,状态(m)图示了向服务器116发送指示,该指示指示对与请求到喀布尔的路线指引对应的 动作12 的选择。与状态(g)的隐含调用过程相反,状态(k)和(1)提供了对动作的手工 选择,这在本说明书中被称作“显式的,,调用过程。响应于接收到用户选择的动作的指示,服务器116调用用户选择的动作。对于一 些类型的动作,诸如产生地图或产生到一个位置的路线指引,则在服务器116上进行处理, 并且向客户端设备104发送用于显示结果(例如,显示图像、HTML代码)的信息。例如, 对于用户选择的动作lMe,可以通过在服务器116上运行的地图应用来产生喀布尔的地图 和到喀布尔的路线指引。用于显示地图和路线指引的HTML代码可以被发送到客户端设备 104,如状态(η)所示。客户端设备可以在用户界面102中显示所产生的地图和路线指引, 诸如在窗口 150中显示所产生的地图和路线指引。对于一些类型的动作,服务器116可以向客户端设备104发送消息,该消息指示动 作的类型并且有可能指示与动作相关的元数据。在接收到该消息后,客户端设备104可以 执行所示的动作。例如,如果用户108选择列表项目140b来指示选择呼叫工作中的Bill 的动作1Mb,则服务器116可以向客户端设备104发送用于指示客户端设备104应当启动 呼叫的消息。从服务器116向客户端设备104发送的消息可以包括Bill的工作号码。对于一些类型的动作,动作的调用包含在服务器116和客户端设备104上的处理 (例如,除了仅查找信息或仅显示信息之外的处理)。例如,对于播放媒体标题的动作,服务 器116可以从媒体服务器下载标题,处理信用卡交易并且解锁数字媒体权限。服务器116 可以向客户端设备104发送媒体内容。客户端设备104可以解码媒体内容,并且可以播放 该内容。响应于对动作的用户选择,可以递增相关联的歧义值。例如,状态(ο)图示与用户 选择的动作12 对应的歧义值128e增加5。随着时间推移,歧义值可以增加到其在或大于 阈值的点,使得如果动作随后被映射到候选词语,则可以隐含地调用相关联的动作。图2图示了可以用于响应于语音命令或其他音频信号而调用动作的示例性系统 200。系统200包括通过网络206而连接到一个或多个客户端设备204的服务器202。服 务器202除了别的之外包括一个或多个处理器208、网络接口 210、查询修订器212、用户接 口 213和介质214。服务器202可以是搜索引擎,或者,服务器202可以被搜索引擎用于 执行语音识别。客户端设备204包括一个或多个处理器220、用户界面222、网络接口 224、 麦克风2 和介质228。客户端设备204可以是移动电话、膝上型计算机、PDA、智能电话、 BlaclAerry 或其他手持或移动设备。在另一种实施方式中,客户端设备204不是便携或 移动的,而是台式计算机或服务器。介质214和2 存储和记录信息或数据,并且每一个可以是光学存储介质、磁性存 储介质、快闪存储器或任何其他适当的存储介质类型。介质214包括词语消岐器应用230, 并且可能包括一个或多个其他应用232。词语消岐器应用包括语音识别模块234、词语/动 作映射器236、置信分值产生器238、动作启动器240和客户端设备索引M2。语音识别模块234对接收的音频信号执行语音识别,以识别与音频信号匹配的一 个或多个候选词语。语音识别模块可以确定每一个识别的词语的语音识别置信量度,每一 个识别的词语的语音识别置信量度指示候选词语匹配音频信号的置信度。词语/动作映射 器236识别与每一个候选词语相关联的一个或多个动作。置信分值产生器238确定每一个动作的歧义值,该歧义值表示用户意欲进行该动作的可能性。查询修订器212可以调节歧 义值,诸如增加用户选择的动作的歧义值并且减少用户取消的动作的歧义值。客户端设备索引242可以包括从一个或多个客户端设备204接收的一个或多个类 型的索引。例如,服务器202可以定期地从客户端设备204接收联系人的索引。语音识别 模块234可以识别在客户端设备索引242中包括并且匹配所接收的音频信号的候选词语。 客户端设备索引242也可以包括其他信息,诸如与客户端设备204能够执行的应用程序相 关的信息、用户界面尺寸、在客户端设备204上可获得的媒体内容等。其他应用232除了别 的之外可以包括例如地图产生器应用、交易应用(例如,用于支持电子账单或用于管理媒 体内容的购买)和搜索应用。介质2 包括搜索应用250,并且可能包括一个或多个其他应用252。介质2 也 包括用户偏好254、图标数据库256和联系人数据库258。联系人数据库258可以包括例如 在客户端设备204上存储的个人联系人的列表。联系人数据库258的一些或全部内容以被 定期地发送到服务器202。图标数据库256可以包括用于指示特定类型的动作的图标。可 以接着在向客户端设备204的用户呈现的建议的候选词语/动作对的列表中的候选词语/ 动作对或与其一起显示图标。搜索应用250可以向客户端设备204的用户提供搜索用户界面,该搜索用户界面 允许用户输入语音命令来执行因特网搜索,并且执行其他动作,诸如拨打联系人、通过电子 邮件或其他电子通信来与联系人进行通信、进行电子账单支付、获得到POI的路线指引或 关于POI的其他信息或其他动作。用户偏好邪4可以包括用于特定用户的定制阈值,诸如 用于指示用户一般通过语音命令例如意欲呼叫联系人而不是执行web搜索的值;或用于指 示用户偏好立即调用命令而不是使用倒计时定时器的值。其他用户偏好2M可以指示用户 偏好自动地调用特定类型的动作(例如,拨打联系人)或用户偏好看到在建议的候选词语 /动作对的列表中首先呈现web搜索动作的建议。服务器202可以连接到网络206,并且有可能通过网络接口 210连接到一个或多个 其他网络。类似地,客户端设备204可以连接到网络206,并且有可能通过网络接口 2M连接 到一个或多个其他网络。网络206可以包括例如因特网、广域网(WAN)、局域网(LAN)、模拟 或数字有线和无线电话网络(例如,PSTN、综合业务数字网(ISDN)和数字用户线(xDSL))、 无线电、电视机、有线电视、卫星和/或用于承载数据业务的任何适当的其他递送或隧道传 送机制的一个或多个。网络可以包括多个网络或子网,其中每一个可以包括例如有线或无 线数据路径。处理器208包括一个或多个处理器,并且处理用于服务器202的操作系统或应用 程序计算机指令。类似地,处理器220包括一个或多个处理器,并且处理用于客户端设备 204的操作系统或应用程序计算机指令。用户界面222显示应用用户界面,应用用户界面包 括用于在客户端设备204上运行的应用的用户界面控件。例如,用户界面222可以显示用 于搜索应用250的界面。用户界面213显示用于在服务器202上运行的应用的应用用户界 面。例如,用户界面213可以显示用于配置、监控和调用词语消岐器应用230的管理员应用 的界面。图3是图示用于基于语音命令来调用动作的计算机实现的过程300的流程图。简 而言之,过程300包括在服务器接收音频信号;通过所述服务器对音频信号执行语音识别,以识别与音频信号的一个或多个部分匹配的一个或多个候选词语;识别用于每一个候 选词语的一个或多个可能意欲的动作;提供用于在客户端设备上显示的信息,所述信息指 定所述候选词语和用于每一个候选词语的动作;从所述客户端设备接收由用户选择的动作 的指示,其中,从在所提供的信息中包括的动作中选择所述动作;以及调用由所述用户选择 的动作。使用过程300,在至少二维中对构成语音命令的声音进行消岐。进一步详细而言,当过程300开始时(30 ,服务器从客户端设备接收音频信号 (303)。服务器可以间接地从客户端设备接收音频信号,例如,其中客户端设备向搜索引擎 发送音频信号,搜索引擎继而向服务器发送该音频信号。服务器对音频信号执行语音识别,以识别与音频信号的一个或多个部分匹配的一 个或多个候选词语(304)。如图1中所示,服务器116对音频信号114执行语音识别,以识 别候选词语118a_d。执行语音识别可以包括在客户端接收的索引中识别匹配音频信号的 候选词语(例如联系人的姓名)。语音识别用于在“识别质量”维度中执行对语音命令的消岐。使用语音识别, 构成语音命令的声音匹配到说话者可能已经说出的词语。在一个示例中,在识别质量维 度中的消岐可以试图确定当说话者发出语音命令时他们是否意欲说出类似声音的词语 "directions to Paris (到巴黎的路线指引)”、“directions to Perris (到佩里斯的路线 指弓I ),,、“direct to Perry's house (直接至Ij Perry 家),,、“do you reckon two pairs (你 估计两对吗)”、“door erect chintz toupee wrist”或其他可能的候选词语。对于每一个候选词语识别一个或多个可能意欲的动作(306)。例如,如图1中所 示,对于相关联的动作118a-d识别动作12^-e。动作可以包括例如拨打联系人、执行对于 候选词语的web搜索、获得到POI的路线指引、播放媒体内容或支付在线账单。动作的其他 示例包括基于人的姓名来启动与人的电子邮件或即时消息会话;基于媒体内容的标题来 播放媒体内容或获得关于媒体内容的详细信息;以及基于POI的名称来获得POI的地图、关 于POI的详细信息或到POI的距离。由将候选词语匹配到适当动作的在客户端或服务器上的模块执行在“说话者意 图”第二维度中的消岐,并且在“说话者意图”第二维度中的消岐获得与每一个动作相关联 的歧义值。在这样做时,当说话者说出构成语音命令的词语时他们可能已经意欲进行该动 作。用于指定候选词语和用于每一个候选词语的动作的信息被提供来在客户端设备 上显示(308)。例如,可以在客户端设备上显示用户界面,该用户界面包括候选词语/动作 对的列表,并且表示动作类型的图标接着每一个候选词语/动作对或被包括在每一个候选 词语/动作对中。可以以基于用户意欲进行动作的可能性的顺序来在用户界面中排名并且 呈现候选词语/动作对。对于上述的“directions to Paris”示例,用户界面可以向用户提供下述选项 获得到法国巴黎、德克萨斯的巴黎或加利福尼亚的佩里斯的路线指引;确定到用户的朋友 “Perry”的家的路径;使用词语“do you reckon two pairs”来执行web搜索;或者确定电 影“Directions to Paris”的演出时间。如果用户未生活在法国、德克萨斯或加利福尼亚 附近,但是他们有名为“Perry”的朋友,或如果他们的用户偏好指示他们喜欢电影,则可以 将路径和演出时间动作排名得比路线指引和web搜索动作更高。
识别用户选择的动作,并且,接收由用户选择的动作的指示(310)。从在提供的信 息中包括的动作中选择动作。例如,用户可以在用户界面中选择候选词语/动作对,以指示 他们期望调用所选择的动作。用户可以例如说出数字“2”以选择第二个识别的动作。调用由用户选择的动作(312),由此结束过程300 (314)。对于一些类型的动作,诸 如产生地图或产生到位置的路线指引,在服务器上进行处理,并且用于显示结果(例如,显 示图像、HTML代码)的信息被发送到客户端设备。对于其他类型的动作,服务器可以向客 户端设备发送消息,该消息指示要在客户端设备上调用的动作的类型,并且可能指示与动 作相关的元数据。在接收到消息后,客户端设备可以执行所指示的动作。例如,客户端设备 可以启动向联系人的呼叫。对于一些类型的动作,动作的调用包含在服务器和客户端设备 两者上的处理。例如,对于播放媒体标题的动作,服务器可以从媒体服务器下载标题,处理 信用卡交易,并且解锁数字媒体权限。服务器可以向客户端设备发送媒体内容,并且客户端 设备可以解码和播放媒体内容。图4是图示用于基于音频信号调用动作的计算机实现的过程300的流程图。简而 言之,过程400包括通过客户端设备向服务器提供音频信号;获得信息,该信息指定与音 频信号的一个或多个部分匹配的一个或多个候选词语和用于每一个候选词语的一个或多 个可能的意欲动作;接收对动作的用户选择;向服务器提供用户选择的动作的指示;以及 调用由用户选择的动作。进一步详细而言,当过程400开始时002),通过客户端设备向服务器提供音频信 号004)。例如,并且如图1中所示,客户端设备104向服务器116发送音频信号114。可 以例如通过将由用户108说出的语音命令记录到麦克风112中来建立音频信号114。获得用于识别与音频信号匹配的一个或多个词语和与每一个候选词语相关联的 一个或多个动作的信息(406)。例如并且如图1中所示,服务器116可以向客户端设备104 发送候选词语/动作对的列表134。可以通过歧义值来排名列表134,或在一些实施方式中, 不排名列表134。接收对动作的用户选择G08)。例如,用户可以从在客户端设备的用户界面上显示 的建议的候选词语/动作对的列表中选择动作。例如并且如图1中所示,用户108可以选 择与“directions to Kabul”动作12 对应的列表项目140e。用于识别用户选择的动作的信息被提供到服务器(S410)。例如并且如图1中所 示,可以从客户端设备104向服务器116发送对动作12 的选择的指示。调用用户选择的动作012),由此结束过程400 (414)。对于一些类型的动作,诸如 产生地图或产生到一个位置的路线指引,在服务器上进行处理,并且用于显示结果(例如, 显示图像、HTML代码)的信息被发送到客户端设备。对于其他类型的动作,服务器可以向 客户端设备发送消息,该消息指示要在客户端设备上调用的动作的类型,并且可以指示与 动作相关的元数据。在接收到消息后,客户端设备可以执行所指示的动作。例如,客户端设 备可以启动向联系人的呼叫。对于一些类型的动作,动作的调用包含在服务器和客户端设 备两者上的处理。例如,对于播放媒体标题的动作,服务器可以从媒体服务器下载标题,处 理信用卡交易,并且解锁数字媒体权限。服务器可以向客户端设备发送媒体内容,并且客户 端设备可以解码和播放媒体内容。图5A-5B和6A-6B图示了示例性用户界面。图5A图示了可以例如在移动客户端设备上显示的示例用户界面500。用户界面500包括麦克风控件502,用户可以在说出语音 命令之前选择麦克风控件502。用户的语音命令可以被记录,并且对应的音频信号可以被发 送到服务器。服务器可以执行语音识别以识别匹配音频信号的一个或多个候选词语。服务 器也可以识别与每一个识别的候选词语对应的一个或多个动作。服务器可以发送可以在用 户界面500的列表区域506中的列表项目5(Ma-h中识别的候选词语/动作对的列表。在 一些实施方式中,服务器产生用于显示列表区域506的信息(例如,显示图像、HTML代码), 并且移动客户端设备使用所接收的信息来呈现列表区域506。列表项目5(Ma_h每一个分别包括相关联的图标508a_h。图标508a_h的每一个 指示与相应的列表项目5(Ma_h对应的动作或动作的类型。例如,图标508a-f——每一个 包括对应的联系人的图片——每一个指示“call contact (呼叫联系人)”动作类型。图标 508g-h每一个指示“websearch (web搜索),,动作类型。用户可以选择列表项目5(Ma_h来 使得调用对应的动作。例如,用户可以选择列表项目504b,以在他的移动电话上呼叫名为 “Himn”的联系人。又如,用户可以选择列表项目504g以启动对于短语“call Bill(呼叫比 尔),,的web搜索。如果用户选择列表项目50 或列表项目504f,则用户可以被提示来输 入对应的“Jeff”或“billB”联系人的电话号码,因为移动客户端设备不具有那些联系人的 电话号码。响应于用户选择列表项目5(Ma-h,服务器可以递增与用户选择的动作相关联的 歧义值。图5B图示了示例用户界面550。如果用户选择了上面参考图5A描述的列表项目 50 ,则可以例如在移动客户端设备上显示用户界面550。又如,如果服务器隐含地调用 "call Bill at home (呼叫家中的比尔)”,诸如如果认为“call Bill at home”动作很可 能是用户在发出语音命令时意欲进行的动作,则可以显示用户界面阳0(例如,“call Bill at home”动作可能是被用户频繁地请求的动作,和/或语音识别过程可能已经确定了用于 识别随后被映射到“call Bill at home”动作的候选词语的高置信度阈值)。在一些实施 方式中,可以隐含地调用“call Bill at home”动作,而不显示用户界面550。在服务器接收到用于向移动客户端设备指示隐含地调用“call Bill at home”动 作的消息后,客户端设备可以显示用户界面阳0。在一些示例中,移动客户端设备在显示用 户界面550后可以立即启动“call Bill at home”动作。在其他示例中,在调用“call Bill at home”动作之前,在用户界面550上可以显示窗口 552。在一些示例中,响应于用户选择 “拨打”控件5M而调用“call Bill at home”动作。在其他示例中,窗口 552可以实现“倒计时定时器”,其中,向用户呈现倒计时消 息,该消息用于指示当倒计时定时器达到0时将执行“call Bill at home”动作。如果用 户意欲呼叫比尔,则用户可以使得倒计时定时器达到0,并且在那个点,可以调用对于比尔 的呼叫。在定时器达到0之前,用户也可以选择拨打控件554以调用呼叫动作。倒计时定 时器倒计时的时间量可以基于相关联的动作的歧义值。例如,如果歧义值指示用户意欲进 行“call Bill at home”动作的概率高,则可以根本不使用倒计时定时器。如果歧义值指 示用户意欲进行“call Bill at home”动作的概率是中等的,则倒计时定时器可以在小数 量的秒数(例如,2)时启动,并且如果歧义值指示低概率,则倒计时定时器可以在较高的秒 数(例如,4)开始。取消控件556可以被包括在窗口 552中,以允许用户在进行呼叫之前取消“callBill at home”动作,或例如如果移动设备已经拨打但是正在等待比尔的电话回答则取消 呼叫。如果用户选择取消控件556来取消对于比尔的呼叫,则可以从移动客户端设备向服 务器发送中断信号。响应于接收到中断信号,服务器可以递减“call Bill at home”动作 的歧义值,以考虑该动作不是用户意欲进行的动作的事实。另外,如果由于确定隐含地调用 "call Bill at home”动作而显示用户界面550,则服务器可以响应于用户选择取消控件 556来向移动客户端设备发送候选词语/动作对的列表,以指示所述移动客户端设备显示 上面参考图5A描述的界面500,以允许用户选择他们意欲调用的动作。图6A图示了可以例如在移动客户端设备上显示的示例用户界面600。可以响应 于服务器发送候选词语/动作对的列表而显示用户界面600,该候选词语/动作对的列表 对应于一组候选词语,该组候选词语匹配与由移动客户端设备向服务器发送的语音命令相 关联的音频信号。例如,移动客户端设备的用户可能已经说出了语音命令“directions to Paris”。所接收的候选词语/动作对的列表可以用于在用户界面600的列表区域606中显 示列表项目604a-h。列表项目6(Ma_h每一个分别包括相关联的图标608a_h。每一个图标608a_h 指示与相应的列表项目6(Ma_h对应的动作的类型。例如,图标608a_h每一个指示 "get directions(获得路线指引)”动作类型(例如,分别与“directions to Paris”、 "directions to parents''^" direct ions to parris,,禾口 "directions to tears,,动作)。 图标608e-g每一个指示“web search (web搜索)”动作类型(例如,分别与对于短语 "directions to Par is">" direct ions to parents,,禾口"directions to tears,,的 web 搜 索对应)。图标60 指示电影下载动作类型(例如,与“下载‘Directions to Paris,电 影”动作相关联)。用户可以选择列表项目6(Ma_h来使得调用对应的动作。例如,用户可以选择列表 项目604b以获得到“parents (父母)”的路线指弓丨。又如,用户可以选择列表项目604g来 启动对于短语“directions to tears”的web搜索。响应于用户选择列表项目6(Ma_h,服 务器可以递增与用户选择的动作相关联的歧义值。图6B图示了示例用户界面650。如果用户选择了上面参考图6A所述的列表项目 60 ,则用户界面650可以被例如显示在移动客户端设备上。又如,如果服务器隐含地调用 "directions to Paris”,诸如如果认为“directions to Paris”动作很可能是当说出语 音命令时用户意欲进行的动作,则可以显示用户界面650。移动客户端设备在接收到服务 器的用于向移动客户端设备指示隐含地调用“directions to Paris”动作的消息后,可以 显示用户界面650。在一些示例中,可以由移动客户端设备在显示用户界面650后立即启 动“directions to Paris”动作。在其他示例中,可以在调用“directions to Paris”之 前在用户界面650上显示窗口 652。在一些示例中,响应于用户选择“go”控件肪4来调用 "directions to Paris,,动作。在其他示例中,窗口 652可以实现“倒计时定时器”,其中,向用户呈现倒计时消 息,该消息用于指示当倒计时定时器达到0时将执行“directions to Paris”动作。用户 可以使得倒计时定时器达到0,并且在那个点,可以调用该动作。用户也可以选择“go”控 件654,以在定时器达到0之前调用该动作。取消控件656可以被包括在窗口 652中,以允 许用户在调用该动作之前取消“directions to Paris”动作。如果用户选择取消控件656来取消该动作,则可以从移动客户端设备向服务器发送中断信号。响应于接收到中断信号, 服务器可以递减用于“directions to Paris”动作的歧义值,以考虑该动作不是用户意欲 进行的动作的事实。另外,如果由于确定隐含地调用“directions to Paris”动作而显示 用户界面650,则服务器可以响应于用户选择取消控件656来向移动客户端设备发送候选 词语/动作对的列表,以指示移动客户端设备显示上面参考图6A所述的界面600,以允许用 户选择他们意欲调用的动作。图7是一般计算机系统700的示例的示意图。系统700包括处理器710、存储器 720、存储设备730和输入/输出设备740。组件710、720、730和740中的每一个使用系统 总线750互连。处理器710能够处理用于在系统700内执行的指令。在一种实施方式中, 处理器710是单线程的处理器。在另一种实施方式中,处理器710是多线程处理器。处理 器710能够处理在存储器720中或在存储设备730上存储的指令,以在输入/输出设备740 上显示用户界面的图形信息。存储器720存储系统700内信息。在一种实施方式中,存储器720是计算机可读 介质。在另一种实施方式中,存储器720是易失性存储器单元。在另一种实施方式中,存储 器720是非易失性存储器单元。存储设备730能够为系统700提供大容量存储。在一种实施方式中,存储设备730 是计算机可读介质。在各种不同的实施方式中,存储设备730可以是软盘设备、硬盘设备、 光盘设备或带设备。输入/输出设备740为系统700提供输入/输出操作。在一种实施方式中,输入/ 输出设备740包括键盘和/或指示设备。在另一种实施方式中,输入/输出设备740包括 显示单元,用于显示图形用户界面。可以在数字电子电路中、在计算机硬件中或在计算机硬件和固件或软件的组合中 实现所述的特征。可以在计算机可读存储设备中有形地包含的计算机程序产品中实现该装 置,该计算机程序产品由可编程处理器执行;并且可以通过可编程处理器来执行方法步骤, 该可编程处理器通过操作输入数据并且产生输出来执行指令的程序以执行所述实施方式 的功能。可以在一个或多个计算机程序中有益地实现所述的特征,该一个或多个计算机程 序可在包括至少一个可编程处理器的可编程系统上执行,该至少一个可编程处理器耦合来 从数据存储系统、至少一个输入设备和至少一个输出设备接收数据和指令,以及向数据存 储系统、至少一个输入设备和至少一个输出设备发送数据和指令。计算机程序是可以在计 算机中直接地或间接地使用来执行特定动作或带来特定结果的指令集。可以以包括编译型 或解释型语言的编程语言的任何适当形式来编写计算机程序,并且,可以任何适当的形式 来部署计算机程序,包括作为单独程序或作为适合于用在计算环境中的模块、组件、子例程 或其他单元。用于执行指令的程序的适当处理器包括例如通用和专用微处理器以及任何相关 种类的计算机的单个处理器或多个处理器之一。一般地,处理器将从只读存储器或随机存 取存储器或两者接收指令和数据。计算机的必要元件是用于执行指令的处理器和用于存储 指令和数据的一个或多个存储器。一般地,计算机也包括一个或多个大容量存储设备或可 操作地耦合以与一个或多个大容量存储设备进行通信,该一个或多个大容量存储设备用于 存储数据文件;这样的设备包括诸如内部硬盘和移动盘的磁盘、磁光盘和光盘。适合于有形地包含计算机程序指令和数据的存储设备包括所有形式的非易失性存储器,其中例如包 括半导体存储器设备,诸如EPR0M、EEPR0M和快闪存储器设备;磁盘,诸如内部硬盘和移动 盘;磁光盘;以及⑶-ROM和DVD-ROM盘。处理器和存储器可以被ASIC (专用集成电路)补 充或被包含在ASIC中。为了提供与用户的交互,可以在具有显示设备和键盘和指示设备的计算机上实现 特征,该显示设备诸如是CRT(阴极射线管)或LCD(液晶显示器)监控器,用于向用户显示 信息,该键盘和指示设备诸如是鼠标或跟踪球,通过其,用户可以向计算机提供输入。可以在计算机系统中实现特征,该计算机系统包括诸如数据服务器的后端组件, 或者该计算机系统包括诸如应用服务器或因特网服务器的中间件组件,或者该计算机系统 包括前端组件,诸如具有图形用户界面或因特网浏览器的客户端计算机,或者该计算机系 统包括上述的任何可操作组合。系统的组件可以通过诸如通信网络的数字数据通信的任何 相关形式或介质连接。通信网络的示例包括例如局域网、广域网和形成因特网的计算机和 网络。计算机系统可以包括客户端和服务器。客户端和服务器一般彼此远离,并且通常 通过诸如所述的网络来交互。客户端和服务器的关系依靠运行在相应的计算机上并且彼此 具有客户端-服务器关系的计算机程序而出现。电子文档(为了简洁称作文档)可以但是不必对应于文件。文档可以被存储在 保持其他文档的文件的一部分中、在专用于涉及的文档的单个文件中或在多个协同的文件 中。在本说明书中描述的主题和操作的实施例可以被实现在数字电子电路中或在计 算机软件、固件或硬件中或在它们的一个或多个的组合中,该计算机软件、固件或硬件包括 在本说明书中公开的结构及其结构等同物。在本说明书中描述的主题的实施例可以被实现 为一个或多个计算机程序,即计算机程序指令的一个或多个模块,该一个或多个计算机程 序被编码在计算机存储介质上,以由数据处理装置执行或控制数据处理装置的操作。计算机存储介质可以是计算机可读存储装置、计算机可读存储基底、随机或串行 存取存储器阵列或设备或它们的一个或多个的组合或包括在其中。而且,虽然计算机存储 介质不是传播信号,但是计算机存储介质可以是以人为产生的传播信号中编码的计算机程 序指令的源或目的地。计算机存储介质也可以是一个或多个分立的物理组件或介质(例 如,多个CD、盘或其他存储设备),或可以被包括在其中。在本说明书中描述的操作可以被 实现为由数据处理设备对于在一个或多个计算机可读存储设备上存储或从其他源接收的 数据执行的操作。术语“数据处理装置”涵盖用于处理数据的所有种类的设备、装置和机器,包括例 如可编程处理器、计算机、片上系统或上述的多个或组合。该装置可以包括专用逻辑电路, 例如,FPGA(现场可编程门阵列)或ASIC(专用集成电路)。除了硬件之外,该装置也可以 包括创建所讨论的计算机程序的执行环境的代码,例如构成处理器固件、协议栈、数据库管 理系统、操作系统、跨平台运行时间环境、虚拟机或它们的一个或多个的组合的代码。该装 置和执行环境可以实现各种不同的计算模型基础结构,诸如web服务、分布式计算和网格 计算基础结构。可以以任何适当形式的编程语言来编写计算机程序(也称作程序、软件、软件应用、脚本或代码),该任何适当形式的编程语言包括编译型或解释型语言、说明性语言或程 序语言,并且可以以任何可操作形式来部署计算机程序,该任何可操作形式包括作为单独 程序或作为适合于用在计算环境中的模块、组件、子例程、对象或其他单元。计算机程序可 以但是不必对应于在文件系统中的文件。程序可以被存储在保持其他程序或数据(例如, 在标记语言文档中存储的一个或多个脚本)的文件的一部分中、在专用于所涉及的程序的 单个文件中或在多个协调的文件(例如,存储一个或多个模块、支程序或代码的部分的文 件)中。计算机程序可以被部署为在一个计算机上或在位于一个位置或分布在多个位置并 且通过通信网络互连的多个计算机上执行。在本说明书中描述的过程和逻辑流可以被执行一个或多个计算机程序的一个或 多个可编程处理器执行,以通过操作输入数据和产生输出来执行动作。过程和逻辑流也可 以被专用逻辑电路执行,并且装置也可以被实现为专用逻辑电路,该专用逻辑电路例如是 FPGA (现场可编程门阵列)或ASIC (专用集成电路)。适合于计算机程序的执行的处理器包括例如通用和专用微处理器和任何适当种 类的数字计算机的任何一个或多个处理器。一般地,处理器将从只读存储器或随机存取存 储器或两者接收指令和数据。计算机的必要元件是用于根据指令来执行动作的处理器和 用于存储指令和数据的一个或多个存储器设备。一般地,计算机也包括一个或多个大容量 存储设备,或可操作地耦合来从一个或多个大容量存储设备接收数据或向其传送数据或两 者,该一个或多个大容量存储设备用于存储数据,例如磁盘、磁光盘或光盘。然而,计算机不 必具有这样的设备。而且,可以在另一种设备中嵌入计算机,该另一种设备例如是移动电 话、个人数字助理(PDA)、移动音频或视频播放机、游戏控制器、全球定位系统(GPQ接收器 或便携存储设备(例如,通用串行总线(USB)快闪驱动),仅列举出几个。适合于存储计算机 程序指令和数据的设备包括所有形式的非易失性存储器、介质和存储器设备,包括例如半 导体存储器设备,例如,EPROM、EEPROM和快闪存储器设备;磁盘,例如内部硬件或移动盘; 磁光盘;以及⑶-ROM和DVD-ROM盘。处理器和存储器可以被专用逻辑电路补充或被包含在 其中。为了提供与用户的交互,在本说明书中描述的主题的实施例可以被实现在计算机 上,该计算机具有显示设备与键盘和指示设备,该显示设备例如是CRT(阴极射线管)或 IXD(液晶显示器)监控器,用于向用户显示信息,该键盘和指示设备例如是鼠标或跟踪球, 通过其用户可以向计算机提供输入。也可以使用其他种类的设备来提供与用户的交互;例 如,向用户提供的反馈可以是任何适当形式的感官反馈,例如视觉反馈、听觉反馈或触觉反 馈;并且可以以任何相关的形式来接收来自用户的输入,该任何相关的形式包括声音、语音 或触觉输入。另外,计算机可以通过向用户使用的设备发送文档和从用户使用的设备接收 文档来与用户交互;例如通过响应于从web浏览器接收的请求向在用户的客户端设备上的 web浏览器发送网页。可以在计算系统中实现在本说明书中描述的主题的实施例,该计算系统包括后端 组件,例如作为数据服务器,或该计算系统包括中间件组件,例如应用服务器,或该计算系 统包括前端组件,例如具有图形用户界面或web浏览器的客户计算机,通过该图形用户界 面或web浏览器,用户可以与在本说明书中描述的主题的实现交互,或该计算系统包括这 样的后端、中间件或前端组件的一个或多个的组合。系统的组件可以通过任何适当形式或介质的数字数据通信——例如通信网络——来互连。通信网络的示例包括局域网(“LAN”) 和广域网(“WAN”)、国际网络(例如因特网)和对等网络(例如自组织对等网络)。计算系统可以包括客户端和服务器。客户端和服务器一般彼此远离,并且通常通 过通信网络来交互。客户端和服务器的关系依靠运行在相应的计算机上并且彼此具有客户 端-服务器关系的计算机程序而出现。在一些实施例中,服务器向客户端设备发送数据(例 如,HTML页面)(例如,用于显示数据和从与客户端设备交互的用户接收用户输入)。可以 在服务器从客户端设备接收在客户端设备产生的数据(例如,用户交互的结果)。已经描述了多个实施方式。尽管如此,可以明白,在不偏离本公开的精神和范围的 情况下,可以进行各种修改。因此,其他实施方式在所附的权利要求的范围内。
权利要求
1.一种计算机实现的方法,包括 在服务器接收音频信号;通过所述服务器对所述音频信号执行语音识别,以识别匹配所述音频信号的一个或多 个部分的一个或多个候选词语;对于每一个候选词语识别一个或多个可能的意欲动作;提供信息用于在客户端设备上显示,所述信息指定所述候选词语和用于每一个候选词 语的动作;从所述客户端设备接收由用户选择的动作的指示,其中所述动作是从在所提供的信息 中包括的动作中选择的;以及调用由所述用户选择的所述动作。
2.根据权利要求1所述的方法,其中,所述服务器包括搜索引擎。
3.根据权利要求1所述的方法,进一步包括 从客户端设备接收索引,以及其中,执行所述语音识别进一步包括识别所述索引中的匹配所述音频信号的候选词语。
4.根据权利要求3所述的方法,其中,所述索引进一步包括由所述客户端设备存储的 联系人的索引。
5.根据权利要求1所述的方法,其中,当候选词语包括人的姓名时,与所述候选词语相 关联的动作中的一个或多个启动与所述人的呼叫、电子邮件或即时消息会话。
6.根据权利要求1所述的方法,其中,当候选词语包括兴趣点(POI)时,与所述候选词 语相关联的动作中的一个或多个获得所述POI的地图、到所述POI的路线指引、关于所述 POI的详细信息或到所述POI的距离。
7.根据权利要求1所述的方法,其中,当候选词语识别媒体内容时,与所述候选词语相 关联的动作中的一个或多个播放所述媒体内容、启动对于所述媒体内容的下载或获得关于 所述媒体内容的详细信息。
8.根据权利要求1所述的方法,其中,与候选词语相关联的动作中的一个或多个使用 所述候选词语作为查询词语来启动web搜索查询。
9.根据权利要求1所述的方法,进一步包括确定每一个动作的歧义值,所述歧义值表 示所述用户实际上意欲进行所述动作的确定度。
10.根据权利要求9所述的方法,进一步包括响应于接收到由所述用户选择的所述动作的指示,递增与所述用户选择的动作相关联 的所述歧义值。
11.根据权利要求9所述的方法,进一步包括 确定特定动作的所述歧义值满足阈值;基于确定所述歧义值满足所述阈值,自动地调用所述特定动作; 确定用户已经取消了所述特定动作;以及基于确定所述用户已经取消了所述特定动作,递减所述特定动作的所述歧义值, 其中,基于确定所述用户已经取消了所述特定动作来提供所述信息。
12.根据权利要求9所述的方法,进一步包括确定每一个候选词语的语音识别置信量度,其中,基于对于与每一个动作相关联的候选词语确定的所述语音识别置信量度,确定 所述动作的所述歧义值。
13.根据权利要求9所述的方法,进一步包括基于所述动作各自的歧义值,产生所述动作的排名, 其中,提供所述信息进一步包括提供所述排名。
14.根据权利要求1所述的方法,其中,指定特定动作的所述信息包括图标。
15.根据权利要求1所述的方法,其中,调用所述用户选择的应用进一步包括向客户 端设备提供指定由所述客户端设备存储的应用的信息。
16.一种系统,包括 一个或多个计算机;以及耦接到所述一个或多个计算机的计算机可读介质,其上存储有指令,所述指令当被所 述一个或多个计算机执行时使得所述一个或多个计算机执行操作,所述操作包括 在服务器接收音频信号;通过所述服务器对所述音频信号执行语音识别,以识别匹配所述音频信号的一个或多 个部分的一个或多个候选词语;对于每一个候选词语识别一个或多个可能的意欲动作;提供信息用于在客户端设备上显示,所述信息指定所述候选词语和用于每一个候选词 语的动作;从所述客户端设备接收由用户选择的动作的指示,其中所述动作是从在所提供的信息 中包括的动作中选择的;以及调用由所述用户选择的所述动作。
17.一种计算机实现的方法,包括 通过客户端设备向服务器提供音频信号;获得信息,所述信息指定匹配所述音频信号的一个或多个部分的一个或多个候选词语 和用于每一个候选词语的一个或多个可能的意欲动作;从所述一个或多个可能的意欲动作接收对动作的用户选择; 向所述服务器提供所述用户选择的动作的指示;以及 调用由所述用户选择的所述动作。
18.—种编码有计算机程序的计算机存储介质,所述程序包括指令,所述指令当被数据 处理装置执行时使得所述数据处理装置执行操作,所述操作包括通过客户端设备向服务器提供音频信号;获得信息,所述信息指定匹配所述音频信号的一个或多个部分的一个或多个候选词语 和用于每一个候选词语的一个或多个可能的意欲动作;从所述一个或多个可能的意欲动作接收对动作的用户选择; 向所述服务器提供所述用户选择的动作的指示;以及 调用由所述用户选择的所述动作。
19.根据权利要求18所述的介质,其中,所述操作进一步包括从所述客户端设备向所 述服务器发送联系人的索引。
20.根据权利要求18所述的介质,其中,所述操作进一步包括 确定每一个动作的歧义值; 确定特定动作的所述歧义值满足阈值; 基于确定所述歧义值满足所述阈值,自动地调用所述特定动作; 确定所述用户已经取消了所述特定动作;以及基于确定所述用户已经取消了所述特定动作,递减所述特定动作的所述歧义值, 其中,基于确定所述用户已经取消了所述特定动作,提供所述信息。
全文摘要
本发明涉及语音命令的多维消歧。用于处理语音命令的方法、系统和装置,包括编码在计算机存储介质上的计算机程序。在一个方面,一种方法包括在服务器接收音频信号;通过所述服务器对所述音频信号执行语音识别,以识别匹配所述音频信号的一个或多个部分的一个或多个候选词语;对于每一个候选词语识别一个或多个可能的意欲动作;提供信息用于在客户端设备上显示,所述信息指定所述候选词语和用于每一个候选词语的动作;从所述客户端设备接收由用户选择的动作的指示,其中从在所述提供的信息中包括的所述动作中选择这个动作;以及,调用由所述用户选择的这个动作。
文档编号G10L15/00GK102137085SQ20101027914
公开日2011年7月27日 申请日期2010年9月8日 优先权日2010年1月22日
发明者亚历山大·H·格伦斯坦, 威廉·J·伯恩, 约翰·尼古拉斯·吉特科夫, 迈克尔·J·勒博 申请人:谷歌公司