确定热词适合度的制作方法

文档序号:12476053阅读:228来源:国知局
确定热词适合度的制作方法与工艺

相关申请的交叉引用

本申请要求于2012年7月3日提交的美国临时专利申请第61/667,817号以及于2012年8月6日提交的美国专利申请第13/567,572号的权益,这两个申请的通过引用全文结合于此。

技术领域

本说明书涉及热词适合度的确定。



背景技术:

热词有时也被称作“关注词”或“唤醒词”,其为用户提供了与支持语音的计算设备开始交互的免提方式。当该计算设备检测到用户讲出热词时,该设备进入接收进一步的用户命令的准备状态。设备制造商和软件开发商通常提供供用户采用以便与其设备或软件应用进行交互的预定热词。



技术实现要素:

根据该说明书中所描述的主题的一个创新方面,移动设备的用户可以定义其自己的热词以便由移动设备使用。候选热词能够被评估以例如确定该候选热词是否容易被设备与另一个词进行混淆,或者该候选热词是否不适合作为热词使用。该评估结果被显示给用户,用户随后可以确认其是否想要指定该候选热词作为热词,或者提交不同的候选热词进行评估。

作为该说明书中所描述的主题的另一个创新方面,一种过程包括:接收对用户所讲出的候选热词进行编码的语音数据;使用一种或多种预定准则对该语音数据或者候选热词的转录进行评估;使用一种或多种预定准则,基于对该语音数据或该候选热词的转录的评估而针对该候选热词生成热词适合度分数;以及提供该热词适合度分数的表示以便向用户显示。

这些方面的其它实施例包括相应的系统、装置以及在计算机存储设备上编码的计算机程序,其被配置为执行该方法的操作。

这些和其它实施例可选地均可以包括以下一个或多个特征。例如,该热词适合度分数反映候选热词作为热词使用的适合度;热词是用于唤醒设备的关键词或关键短语;热词是用于解锁设备的关键词或关键短语;热词是语音密码;该语音数据从用户所操作的移动设备进行接收;生成热词适合度分数包括使用两个或更多预定准则,基于对该语音数据或者该候选热词的转录的评估而针对该预定准则中的每一个预定准则生成特征分数,对该特征分数进行汇总,并且输出经汇总的特征分数以作为热词适合度分数;评估该语音数据或候选热词的转录包括以帧为单位确定该语音数据的词长度,其中较长的词长度与较高的热词适合度分数相关联;评估该语音数据或候选热词的转录包括确定与候选热词相关联的音节或音素的数量,其中较大的音节或音素的数量与较高的热词适合度分数相关联;评估该语音数据或候选热词的转录包括确定该候选热词的转录和与该候选热词共享相同语言的一个或多个其它词之间的编辑距离,其中较小的编辑距离与较低的热词适合度分数相关联;评估该语音数据或候选热词的转录包括确定针对该候选热词规定的发音的数量,其中较少的发音的数量与较高的热词适合度分数相关联;评估该语音数据或候选热词的转录包括确定在该候选热词的转录中出现一个或多个特定音素;特定音素在该转录中的出现与较高的热词适合度分数相关联;特定音素在该转录中的出现与较低的热词适合度分数相关联;评估该语音数据或候选热词的转录包括确定语音识别器可用的热词的训练示例的数量,其中较小的训练示例的数量与较低的热词适合度分数相关联;评估该语音数据或候选热词的转录包括确定该候选热词的发音在用户对该候选热词的多个语音表达(utterance)中发生变化的程度,其中较大的程度与较低的热词适合度分数相关联;热词适合度分数的表示包括指示候选热词适合作为热词的数据;热词适合度分数的表示包括指示候选热词已经被接受作为热词的数据;热词适合度分数的表示包括热词适合度分数的经色彩编码的表示;和/或热词适合度分数的表示包括条(bar)、量计(gauge)或仪表。

有利的实施方式可以包括以下一个或多个特征。在对热词进行评估时可以考虑与候选热词以及特定讲话者(例如,设备用户)相关的准则。可以对各种热词适合度准则进行计分并汇总,这确保了每个准则都被加以考虑,并且特定准则在热词评估过程期间不会占据主导。设备用户可以在为其设备选择热词时接收热词适合度分数以便做出知情决策。使用适当热词可以改进设备执行热词检测的能力,因此改善设备性能和用户体验。此外,使用适当热词可以限制出现“错误肯定”的热词检测而错误地激活设备的可能性,因此节省了设备资源。

附图和以下的描述中给出了一种或多种实施方式的细节。其它可能的特征和优势将由于描述、附图和权利要求变得显而易见。

附图说明

图1和2是可以确定所讲出的热词的适合度的示例系统的示图。

图3是图示用于确定所讲出的关键词并且用于提供适合度的表示的示例处理的流程图。

图4示出了一般计算机设备和一般移动计算机设备的示例。

各图中同样的附图标记和标注指示同样的元素。

具体实施方式

图1是可以确定所讲出的热词的适合度的示例系统100的示图。图1还图示了以阶段(A)至(H)所示的示例数据流。阶段(A)至(H)可以以所图示的顺序进行,或者它们可以以与所图示的顺序不同的顺序进行。

通常,热词适合度可以由系统100作为热词指定处理的一部分来确定。热词可以包括用户所讲出的用于与静态、便携式或移动计算设备进行交互或者对它们进行控制的关键词或关键短语。例如,热词可以由用户讲出以发起与计算设备的通信,这通常将设备置于其可以接收另外的语音命令的状态。例如,在检测到所讲出的热词时,计算设备可以执行各种操作,包括激活(即,从休眠或空闲状态“唤醒”)、解锁、开启设备应用(例如,搜索应用、地图应用等)、加载优选用户设置和/或其它适当操作。

设备用户可能想要选择特定的词或短语来用作其计算设备的热词。例如,对个人具有意义的词或短语可以用来对设备进行定制,可以以幽默的方式对设备进行个性化,并且与设备制造商所提供的词或短语相比用户更易于记住或发音。此外,用户所选择的热词可以提供安全措施,特别是用作密码。然而,一些词或短语与其它词或短语相比可能更容易被计算设备所检测,并且因此可以用作更好的热词。如以下示例中所描述的,热词的可检测性取决于与特定词或短语相关并且与特定讲话者相关的各种因素,诸如词或短语的长度、词或短语中所包括的音节或语音的数量、特定语音的出现、词或短语被识别的发音的数量、讲话者所讲出的词或短语发音的变化、来自各个其它讲话者的词或短语的训练示例的可用性以及所讲出的词或短语与共享语言的其它词或短语之间的编辑距离。每种准则可以进行打分、汇总并且向用户输出,因此提供候选热词的适合度的整体指示。例如,基于热词适合度分数,用户可以在为其设备选择热词时做出知情决策。

更为详细地,系统100包括计算设备102(这里在各个操作阶段被示为计算设备102a、102b和102c),其能够呈现界面104(这里在各个操作阶段被示为界面104a、104b和104c)以便向用户显示。计算设备102包括一个或多个处理器,其被配置为执行由计算机可读介质所存储的用于执行诸如输入/输出、通信、数据处理等的各种设备操作的指令。例如,计算设备102可以包括一个或多个客户端计算设备(例如,台式计算机、膝上型计算机、笔记本计算机、导航系统、智能电话和或者其它适当计算设备)和/或可以包括一个或多个服务器(例如,后端服务器集群)。例如,客户端计算设备所接收的输入可以在本地进行处理,或者可以被提供至后端系统(例如,云端)以便进行处理。作为另一个示例,该处理可以在一个或多个客户端计算设备(例如,处于端对端配置)和/或服务器之间进行分布。

参考示例数据流,在阶段(A),提示用户讲出或键入候选热词。例如,计算设备102(这里被示为102a)可以经由界面104(这里被示为界面104a)向用户提供指令消息“请讲出您所期望的热词”。在当前示例中,用户语音表达出候选热词“pizza”并且计算设备102基于该语音表达捕获、编码和/或生成语音数据110。

该语音数据110例如可以包括音频源数据112(例如,音频流、数字采样的音频文件或者另一种适当的数据格式)、相对应的音素(phone)集合114(即,说话声),以及可选地包括转录116。例如,为了识别音素集合114(例如,在用户语音表达的“pizza”中所检测到的语音声音),计算设备102和/或后端计算设备能够对音频源数据112中所包括的声信号进行分析,并且能够基于该分析来计算声音特征并对其进行分类。另外,为了生成转录116(例如,所转录的词“pizza”),计算设备102和/或后端计算设备能够使用语音识别技术(例如,隐马尔科夫模型、神经网络或其它适当技术)将音素集合114与词或短语相关联。例如,在捕获、编码和/或生成语音数据110时,该数据可以被提供至一个或多个热词强度评估引擎120。

在阶段(B)期间,对语音数据进行处理和评估。在当前示例中,热词强度评估引擎120可以处理并评估语音数据110。热词强度评估引擎120例如可以包括被配置为对语音数据进行处理和评估的一个或多个硬件和/或软件组件(例如,模块、对象、库等),并且可以由计算设备102和/或其它相关联的设备(例如,后端服务器、对等设备等)的一个或多个处理器执行。

通常,可以使用各种准则来评估语音数据。例如,每种准则可以与不同的热词强度评估引擎相关联,后者进而可以基于特定准则产生特征分数。每个不同的热词强度评估引擎例如可以评估音频源数据、所得出的音素集合、转录和/或与候选热词相关联的其它适当语音数据。此外,在一些实施方式中,可以对训练示例(与讲话者和/或其它讲话者所讲出的候选热词的过去语音表达相关联的语音数据)进行评估。例如,训练示例可以由训练示例数据存储库122进行维护。训练示例数据存储库122能够实施数据库、数据服务、文件系统等以增加、删除并维护系统100所使用的数据。

在当前示例中,热词强度评估引擎120中的一个或多个可以对音频源数据112进行评估以按照帧(即,基于时间的音频分段)来确定词长度。例如,后选热词“pizza”可以被认为与其它词相比相对简短,或者特定讲话者可能与其它词或其它讲话者相比恰好相对快速地语音表达出词“pizza”。例如,基于词长度准则,热词长度评估引擎120之一可以产生相对应的特征分数124a(例如,低分数)。

继续当前示例,热词强度评估引擎120之一可以对音素集合114和/或转录116进行评估以识别候选热词与讲话者的语言中的其它词或短语的编辑距离或音素混淆度。例如,为了识别编辑距离,可以使用有限状态换能器、音素至音素换能器和/或语言模型来确定可能与候选热词相混淆的最可能的词或短语。在当前示例中,可以确定诸如“visa”、“piece of”和“beet saw”(除其它之外)之类的若干个词或短语很可能与候选热词“pizza”相混淆。基于编辑距离准则,例如,热词强度评估引擎120之一可以确定有中等数量的词或短语与候选热词“pizza”具有小的编辑距离,并且因此可以产生相对应的特征分数124b(例如,中等或低等分)。

另外,在当前示例中,热词强度评估引擎120之一可以对转录116和/或训练示例数据存储库122所提供的数据进行评估以识别针对候选热词所指定的发音数量。例如,为了识别词“pizza”的可能发音,热词强度评估引擎可以基于转录116参考词典或发音指南中的词。作为另一个示例,热词强度评估引擎可以参考训练示例数据存储库122中的词“pizza”,并且可以识别各个讲话者如何对该词进行发音的变化。在当前示例中,可以确定的是,虽然在词典或发音指南中仅找到了词“pizza”的一种官方美式英语发音,但是美国讲话者如何对该词发音则存在一些变化。例如,一些美国讲话者可能会使用词“pizza”的本土意大利讲话者的发音。例如,基于发音数量准则,热词强度评估引擎120之一可以确定针对候选词“pizza”存在少量到中等数量的发音,并且因此可以产生相对应的特征分数124c(例如,高或中等分数)。

在阶段(C)期间,生成热词适合度分数。例如,在生成每个特征分数124a、124b和124c时,特征分数的集合126可以被提供至热词分数生成器128。热词分数生成器128例如可以对分数124a、124b和124c进行汇总并且提供经汇总的特征分数作为热词适合度分数。例如,为了生成热词适合度分数,热词分数生成器128可以使用逻辑回归或可替换分类器来训练用于估计候选热词(例如,词“pizza”)的置信度值的模型。通常,高的置信度值可以与可能适合的热词相关联。作为另一个示例,热词分数生成器可以为每个特征分数124a、124b和124c指定适当权重(例如,基于经验分析)并且可以执行汇总操作。

在阶段(D)期间,提供热词适合度分数的表示以便向用户显示。例如,计算设备102(在这里被示为设备102b)可以经由界面(这里被示为界面104b)向用户提供热词适合度的一个或多个指示(例如,视觉和/或音频的)。在当前示例中,界面104b可以向用户呈现消息(例如,候选热词“pizza”相对“弱”),以及与各种热词打分准则(例如,汇总热词适合度分数12/100)相关联的特征和/或汇总分数的一种或多种文本或图形表示(例如,线状图、柱状图、象限图等)。此外,在当前示例中,用户可以被呈现以提交另一个候选热词的提示(例如,“请重试”)。该提示例如可以在热词适合度分数低于预定阈值的情况下被提供。

同样参考该示例数据流,类似于阶段(A),在阶段(E)期间,用户再次被提示提供候选热词。在当前示例中,用户语音表达出候选热词“smorgasbord(自助餐)”,并且计算设备102基于该语音表达捕获、编码和/或生成语音数据130。例如,类似于语音数据110,语音数据130可以包括音频源数据132、相对应的音素集合134,以及可选地包括转录136。例如,在捕获、编码和/或生成语音数据130时,可以向一个或多个热词强度评估引擎120提供该数据。

类似于阶段(B),在阶段(F)期间,对语音数据进行处理和评估。在当前示例中,热词强度评估引擎120可以对语音数据130进行处理和评估。例如,热词强度评估引擎120可以对音频源数据132、音素集合134、转录136以及与候选热词“smorgasbord”相关联的其它适当语音数据进行评估。

在当前示例中,热词强度评估引擎120之一可以对音频源数据132进行评估以按帧确定词长度。例如,候选热词“smorgasbord”可以被认为与其它词相比相对更长(例如,基于平均词长度),或者特定讲话者恰好与其它词或其它讲话者相比相对缓慢地语音表达出词“pizza”。例如,基于词长度准则,一个或多个热词强度评估引擎120可以产生相对应的特征分数124a(例如,高分数)。

继续当前示例,热词强度评估引擎120之一可以对音素集合134和/或转录136进行评估以识别候选热词与讲话者语言中的其它词或短语的编辑距离。在当前示例中,可以确定词“harpsichord”具有与候选热词“smorgasbord”相混淆的极小可能性。例如,基于编辑距离准则,热词强度评估引擎120之一可以确定少量词或短语与候选热词“smorgasbord”具有中等的编辑距离,并且因此可以产生相对应的特征分数124b(例如,高分数)。

另外,在当前示例中,热词强度评估引擎120之一可以对转录136和/或训练示例数据存储库122所提供的数据进行评估以识别针对该候选热词所指定的发音数量。例如,类似于词“pizza”,可以确定的是,虽然在词典或发音指南中仅找到了词“smorgasbord”的一种官方美式英语发音,但是美国讲话者如何对该词进行发音具有一些变化。例如,一些美国讲话者可能会使用词“smorgasbord”的瑞典发音。例如,基于发音数量准则,热词强度评估引擎120之一可以确定针对候选热词“smorgasbord”存在少量到中等数量的发音,并且因此可以产生相对应的特征分数124c(例如,高或中等分数)。

类似于阶段(C),在阶段(G)期间,生成热词适合度分数。例如,在针对语音数据130生成每个特征分数124a、124b和124c时,特征分数的集合126可以被提供至热词分数生成器128。另外,类似于阶段(D),在阶段(H)期间,提供热地适合度分数的表示以便向用户显示。在当前示例中,界面104(这里被示为界面104c)可以向用户呈现消息(例如,候选热词“smorgasbord”相对“强”),以及与各种热词打分准则(例如,汇总热词适合度分数93/100)相关联的特征和/或汇总分数的一种或多种文本或图形表示。此外,在当前示例中,用户可以被呈现有候选热词被指定为设备热词的消息(例如,热词“被接受”)。该消息例如可以在热词适合度分数高于预定阈值的情况下被提供。

如之前示例中所描述的,在对热词进行评估时可以考虑与候选热词以及特定讲话者相关的准则。设备用户可以对计算设备102所提供的热词适合度信息进行审阅以选择热词。使用适当的热词可以改善设备所进行的热词检测,因此提高设备性能并节约设备资源。在之前示例中已经描述了用于评估语音数据并且用于生成热词适合度分数的若干准则。然而,如以下另外的示例中将要描述的,可以考虑另外的准则、较少的准则和/或不同的准则。

图2是可以确定所讲出的热词的适合度的示例系统200的示图。例如,系统200可以包括一个或多个客户端计算设备和/或后端服务器的硬件和/或软件组件。总体上,系统200可以接收对用户所讲出的候选热词进行编码的语音数据,并且能够对该语音数据进行评估和转录,能够针对候选热词生成热词适合度分数,并且能够提供热词适合度分数的表示以便向用户显示。

系统200可以包括计算机可读介质202(例如,一个或多个软盘设备、硬盘设备、光盘设备、带式设备、闪存设备或其它类似固态存储器设备,或者设备的阵列)以用于存储执行这里所描述的处理的指令(例如,应用程序代码)。另外,系统200可以包括一个或多个处理器204,其被配置为执行指令并且实施各种设备操作,诸如输入/输出、通信、数据处理等。

系统200可以包括用户界面生成器206,其用于在系统200和用户之间提供接口(例如,图形、音频和/或触觉)界面。例如,用户界面生成器206可以提供(图1所示的)界面104a、104b和104c以便向用户提供提示、消息以及热词适合度的表示。另外,系统200可以包括音频接口208。音频接口208例如可以包括一个或多个用于从用户接收所讲出的词和短语的麦克风,以及一个或多个用于向用户提供音频提示和反馈(例如,音调、录音、计算机所生成的语音等)的扬声器。此外,音频接口208可以向处理器204提供与所接收的所讲出的词和短语相关联的音频信号以便进行数字采样和编码。

系统200可以包括n-gram/音素生成器210。例如,n-gram/音素生成器210可以对经由音频接口208和处理器204提供的编码语音数据进行分析,并且可以识别相对应的一系列n-gram和/或音素。例如,n-gram/音素可以被语音识别引擎212用来执行机器翻译和转录。

系统200可以包括多个热词强度评估引擎214。热词强度评估引擎214可以考虑各种预定的准则来评估语音数据。例如,准则可以包括词或短语的长度、词或短语中所包括的音节或音素的数量、特定音素的出现、针对词或短语所识别的发音的数量、讲话者对词或短语的发音可变性、来自各个讲话者的词或短语的训练示例的可用性和/或所讲出的词或短语与共享语言的其它词或短语之间的编辑距离。例如,每个热词强度评估引擎214可以使用一种或多种准则对语音数据进行评估。

系统200可以包括分数生成器216。例如,分数生成器216可以针对每个热词强度评估引擎214确定特征分数,并且总的热词可用性分数可以通过对特征分数进行汇总来确定。热词适合度分数的表示例如可以经由用户界面生成器206所生成的界面而被提供给用户。

图3是图示用于确定所讲出的热词的适合度并且用于提供该适合度的表示的示例过程300的流程图。在一些实施方式中,过程300可以由系统100和/或200执行,并且出于清楚的原因将如此进行描述。简单来讲,过程300包括接收所讲出的热词,对该热词进行评估,对该热词进行打分,并且提供热词适合度的表示。

更为详细地,当过程300开始时(302),接收对用户所讲出的候选热词进行编码的语音数据(304)。例如,用户可能想要提供用于唤醒和/或解锁其静态设备(例如,家庭自动化系统)或移动设备(例如,智能电话)的关键词或关键短语。在当前示例中,用户可以选择提供其能够记住而且还不太可能被其它用户所想到的短语(即,语音密码)。因此,当前示例中的用户讲出了短语“pizza smorgasbord”。

参考图2,例如,音频接口208能够接收用户所语音表达出的候选热词并且能够将与所接收到的语音表达相关联的音频信号提供至处理器204以便进行数字采样和编码。另外,经采样和编码的音频信号能够被n-gram/音素生成器210分解为一系列n-gram和音素,并且能够被语音识别引擎212进行转录。例如,该语音数据和转录可以被提供至热词强度评估引擎214。

使用一种或多种预定准则对该语音数据或者候选热词的转录进行评估(306)。例如,每个热词强度评估引擎214可以被配置为基于特定准则或相关准则集合对语音数据和/或转录进行评估。通常,可以提取并评估可能与热词检测性能相关的热词特征或特性。

在一些实施方式中,评估语音数据和/或候选热词的转录可以包括确定该语音数据的词长度(例如,以帧为单位)。例如,可以使用帧化处理将与候选热词相关联的语音信号划分为较短的语音信号,由此识别相对稳定的频率特性。通常,较长的词长度(例如,较大的帧数量)可以与较高的热词适合度分数相关联。在当前示例中,候选热词“pizza smorgasbord”与典型热词相比可以是相对更长的,并且在考虑词长度特征时可以与相对高的热词适合度分数相关联。

在一些实施方式中,评估语音数据和/或候选热词的转录可以包括确定与候选热词相关联的音节或音素的数量。例如,与候选热词相关联的音节数量可以通过使用语音识别引擎212所生成的热词的转录来参考包括各个词的音节计数的词典来确定。作为另一个示例,与候选热词相关联的音素的数量可以通过由n-gram/音素生成器210对针对热词所识别的音素集合进行评估而确定。在当前示例中,候选热词“pizza smorgasbord”可以被识别为总共包括五个音节(例如,单个词“pizza”包括两个音节以及词“smorgasbord”包括三个音节),并且可以被识别为总共包括十个音素(例如,单个词“pizza”包括三个音素以及词“smorgasbord”包括七个音素)。通常,较大的词或音素数量可以与较高的热词适合度分数相关联。当前示例中的候选热词“pizza smorgasbord”与典型热词相比可以具有相对更大数量的音节和/或音素,并且在考虑音节和/或音素数量特征时可以与相对高的热词适合度分数相关联。

在一些实施方式中,评估语音数据和/或候选热词的转录可以包括确定候选热词的转录与和该候选热词共享相同语言的一个或多个其它词之间的编辑距离。例如,彼此之间具有小的编辑距离的词或短语一般可能是易混淆的,而彼此之间具有大的编辑距离的词或短语一般更容易区分。在当前示例中,可以确定短语“piece of harpsichord(大键琴)”与候选热词“pizza smorgasbord”可能具有中等的编辑距离(即,可能稍微容易与其混淆)。通常,较小的编辑距离可以与较低的热词适合度分数相关联。因此,在当前示例中,由于短语“piece of harpsichord”与候选热词“pizza smorgasbord”之间具有中等的编辑距离,所以该候选热词在考虑编辑距离特征时可以与中等的热词适合度分数相关联。

在一些实施方式中,在识别出在候选热词的预定编辑距离范围之内的一个或多个词或短语时,可以在确定编辑距离特征分数时考虑这样的词的数量。例如,短语“piece of harpsichord”可能已经被识别为在候选热词“pizza smorgasbord”的预定编辑距离范围内,但是可能仅有几个(如果存在)其它短语可能同样被识别为在该编辑距离范围内。因此,在当前示例中,该候选热词可以与较高的特征分数相关联。另外,在一些实施方式中,在确定热词适合度分数时可以考虑候选热词和/或处于该候选热词的预定编辑距离范围之内的每个词或短语(即,可能易混淆的词或短语)在一般对话中被使用的可能性。例如,一个或多个候选热词评估引擎214可以确定候选热词“pizza smorgasbord”和/或可能混淆的短语“piece of harpsichord”在一般对话中被讲出(例如,由设备用户和/或一般由人)的可能性相对低,并且该候选热词可以与平均更高的特征分数相关联。

在一些实施方式中,评估语音数据和/或候选热词的转录可以包括确定针对该候选热词所指定的发音的数量。例如,与候选热词相关联的发音的数量可以通过使用语音识别引擎212所生成的热词的转录来参考包括该热词的常见或被接受的发音的词典而被确定。作为另一个示例,可以对用户和/或其它用户已经讲出的候选热词的录制实例进行评估。通常,较少的发音数量可以与较高的热词适合度分数相关联。例如,热词强度评估引擎214之一可以从词典源识别出短语“pizza smorgasbord”的单个官方发音,但是可以识别出讲话者群体对该短语的较少或中等数量的不同发音。因此,在当前示例中,候选热词“pizza smorgasbord”在考虑发音数量特征时可以与相对高到中等的热词适合度分数相关联。

在一些实施方式中,评估语音数据和/或候选热词的转录可以包括确定在候选热词的转录中出现的一个或多个特定音素或音节。例如,为了识别特定音节,候选热词的转录可以被用来参考词典或发音指南,并且可以识别与热词相关联的定义的音节。作为另一个示例,热词强度评估引擎214之一可以评估由n-gram/音素生成器210针对讲出的候选热词所识别出的音素。通常,在转录中出现的某些音素或音节可以与较高的热词适应性分数相关联。例如,短语“pizza smorgasbord”中所包括的词“pizza”的第二音节(即,“suh”)可以与高的可检测置信水平相关联,并且与相对高的热词适合度相关联。然而,转录中出现的某些其他音素一般可以与较低的热词适合度分数相关联。例如,词“pizza”的第一音节(即,“peet”)可以与低的可检测置信水平相关联(例如,其可能容易与音节“beet相混淆”),并且与相对低的热词适合度相关联。例如,当确定并评估了出现在候选热词中的特定音素或音节时,与每个音素或音节相关联的构成分数可以被用于确定汇总分数。例如,候选热词“pizza smorgasbord”可以包括与低、中等和高分数相关联的特定音素或音节。因此,当前示例中的候选热词在考虑特定音素和/或音节特征时可以与中等热词适合度分数相关联。

在一些实施方式中,评估语音数据和/或候选热词的转录可以包括确定语音识别器可用的热词的训练示例的数量。例如,参考图1,各个个体(例如,设备用户和/或其它用户)已经讲出的各种词和短语的录制实例可以由训练示例数据存储库122维护。此外,训练示例数据存储库122例如可以包括转录和/或索引数据,从而所录制的特定词和/或短语的实例可以被参考并分析。通常,较小数量的训练示例可以与较低的热词适合度分数相关联。当前示例中的候选热词“pizza smorgasbord”与典型热词相比可以具有相对较小数量的训练示例,并且在考虑训练示例数量特征时可以与相对低的热词适合度分数相关联。

如果针对特定候选热词没有找到训练示例,则在一些实施方式中,可以对最接近的相邻热词(即,与相似音素、音节或其它适当特征相关联的词或短语)进行评估。例如,用户可以选择提供所发明的词(即,词典中并不存在的词)作为候选热词。在当前示例中,由于针对所发明的候选热词无法找到训练示例,所以该热词的训练示例特征分数可以较低,但是其它特征分数可以相对较高,因此在确定汇总的热词适合度分数时抵消低的特征分数。例如,特定的所发明的词可以包括与高特征分数相关联的一个或多个音节或音素,并且所发明的词可以在考虑编辑距离特征时与高分数相关联。

在一些实施方式中,评估语音数据和/或候选热词的转录可以包括确定候选热词的发音在用户所进行的该候选热词的多个语音表达中发生变化的程度。参考图1,例如,用户可以被计算设备102a多次提示“请讲出您所期望的热词”,并且所讲出的热词的多个实例(例如,相关联的音频信号)可以由一个或多个热词强度评估引擎120针对一致性而进行互相比较。在当前示例中,用户可能在对候选热词“pizza smorgasbord”发音时稍有不一致——该短语对于特定讲话者而言可能难以一致地发音。通常,较大的发音变化程度可以与较低的热词适合度分数相关联。因此,在当前示例中,在考虑发音变化特征时,候选热词“pizza smorgasbord”可以与相对低的热词适合度分数相关联。

之前的示例中已经对各种可能的热词特征,用于评估语音数据的准则以及用于生成热词适合度分数的技术进行了描述。然而,可以采用附加、更少和/或不同的特征、准则和/或技术。通常,可以对分类器进行训练以识别并考虑与语音数据相关的可能有所影响的特征和准则。此外,用于生成热词适合度分数的技术可以在考虑附加语音数据(例如,训练示例)时随时间发生变化。

使用一种或多种预定准则(例如,在之前示例中所描述的准则),基于对语音数据或候选热词的转录的评估而生成候选热词的热词适合度分数(308)。该热词适合度分数可以反映候选热词被作为热词使用的适合度。例如,高的热词适合度分数可以与在被用来激活计算设备时可能工作良好的候选热词相关联,而低的热词适合度分数则可以与可能工作不佳的候选热词相关联。例如,工作良好的热词可以被容易检测到并且不太可能与自然语言对话相混淆。例如,工作不佳的热词令计算设备难以检测并且可能与其它词和短语相混淆。

在一些实施方式中,生成热词适合度分数可以包括使用预定准则,针对两种或更多的预定准则基于对语音数据(或者候选热词的转录)的评估生成特征分数,对该特征分数进行汇总,并且输出经汇总的特征分数作为热词适合度分数。在当前示例中,候选热词“pizza smorgasbord”针对词长度准则、音节或音素数量准则、编辑距离准则、发音数量准则以及出现特定音素或音节的准则而具有高或中等的特征分数。然而,当前示例中的候选热词“pizza smorgasbord”也可以针对训练示例数量准则和发音变化准则而具有低的特征分数。例如,对热词适合度分数进行汇总可以取决于如何向各个特征分数应用权重,和/或可以取决于如何对生成分数的分类器进行训练。在当前示例中,候选热词“pizza smorgasbord”可以与中等至高的热词适合度分数相关联。

提供热词适合度分数的表示(310)以便向用户显示,由此结束该过程(312)。参考图1,例如,示出界面104b和104c以便向用户显示热词适合度分数的表示。例如,界面104b示出了热词适合度分数的表示,其中该表示包括指示该候选热词不适合作为热词并且该候选热词已经被拒绝的数据。例如,界面104c示出了热词适合度分数的表示,其中该表示包括指示该候选热词适合作为热词并且该候选热词已经被接受的数据。然而,在一些实施方式中,热词适合度分数可以作为关于热词被预测在计算设备上工作得如何的一般信息,并且用户可以选择对该信息施加操作或者将其忽略。

可以向用户提供热词适合度分数的各种表示(例如,视觉和/或音频的)。在一些实施方式中,可以提供文本分数(例如,十分制规模、百分制规模、字母等级等)。例如,界面可以针对候选热词“pizza smorgasbord”显示字母等级“B+”。在一些实施方式中,热词适合度分数的表示可以包括分数的经色彩编码的表示。例如,与交通灯类似,绿色可以与高适合度分数相关联,黄色可以与中等适合度分数相关联,而红色则可以与低适合度分数相关联。在一些实施方式中,热词适合度分数的表示包括条、量计或仪表。例如,高的总体适合度分数可以利用成比例地高(或长)的条状指示器来表示。作为另一个示例,所汇总的热词适合度分数中所包括的每个个体特征分数可以由单独的条、量计或仪表来表示。因此,在当前示例中,如果用户被通知候选热词“pizza smorgasbord”已经针对除了训练示例准则和发音变化准则之外的大多数特征而获得了相对高的分数,则该用户可以使用该信息来改进候选热词(例如,通过提供更多训练示例和/或更为清晰的发音),或者选择不同的候选热词。

图4示出了可与这里所描述的技术一起使用的通用计算设备400和通用移动计算设备450的示例。计算设备400意在表示各种形式的数字计算机,诸如膝上型计算机、台式机、工作站、个人数字助理、服务器、刀片式服务器、主机和其它适当计算机。计算设备450意在表示各种形式的移动设备,诸如个人数字助理、移动电话、智能电话和其它类似的计算设备。这里所示出的组件、其连接和关系以及其功能仅意在进行示例,而并非意在对本文中所描述和/或要求保护的发明的实施方式进行限制。

计算设备400包括处理器402、存储器404、存储设备406、连接到存储器404和高速扩展端口410的高速接口408,以及连接到低速总线414和存储设备406的低速接口412。每个组件402、404、406、408、410和412使用各种总线进行互连,并且可以安装在共用主板上,或者以其它适宜方式进行安装。处理器402能够处理指令以便在计算设备400内执行以在诸如耦合到高速接口408的显示器416的外部输入/输出设备上显示用于GUI的图形信息,该指令包括存储在存储器404中或者存储设备406中的指令。在其它实施方式中,如果适宜,可使用多个处理器和/或多个总线,以及多个存储器和存储器类型。而且,多个计算设备400可以与提供各部分必要操作的每个设备进行连接(例如,作为服务器组、刀刃服务器分组或多处理器系统)。

存储器404存储计算设备400内的信息。在一种实施方式中,存储器404是一个或多个易失性存储单元。在另一实施方式中,存储器404是一个或多个非易失性存储单元。存储器404还可以是其它形式的计算机可读介质,诸如磁盘或光盘。

存储设备406能够为计算设备400提供大型存储。在一种实施方式中,存储设备406可以是或者可包含计算机可读介质,诸如软盘设备、硬盘设备、光盘设备、磁带设备、闪存或其它类似固态存储设备,或者设备阵列,包括存储域网络或其它配置中的设备。计算机程序产品可有形地实现在信息载体中。该计算机程序产品还可以包含指令,当被执行时,该指令执行诸如以上所描述的一个或多个方法。该信息载体是计算机或机器可读介质,诸如存储器404、存储设备406、处理器402上的存储器或传播信号。

高速控制器408管理计算设备400的带宽密集操作,而低速控制器412管理较低带宽密集的操作。这样的功能分配仅是示例性的。在一种实施方式中,高速控制器408耦合到存储器404、显示器416(例如,通过图形处理器或加速器),并且耦合到可接受各种扩展卡(未示出)的高速扩展端口410。在该实施方式中,低速控制器412耦合到存储设备406和低速扩展端口414。可以包括各种通信端口(例如,USB、蓝牙、以太网、无线以太网)的低速控制端口414可耦合到一个或多个输入/输出设备,诸如键盘、指示设备、扫描仪,或者例如通过网络适配器耦合到诸如交换机和路由器之类的联网设备。

如图所示,计算设备400能够以各种不同形式来实现。例如,其可以实现为标准服务器420,或者这种服务器的群组中的多个服务器。其还可以被实现为机架式服务器系统424的一部分。此外,其还可以以诸如膝上计算机422的个人计算机来实施。作为选择,来自计算设备400的组件可以与诸如设备450的移动设备(未示出)中的其它组件相结合。每个这样的设备可包含一个或多个计算设备400、450,并且整个系统可由多个互相通信的计算设备400、450所构成。

除其它组件之外,计算设备450包括处理器452、存储器464、诸如显示器454的输入/输出设备、通信接口466和收发器468。设备450还可以被提供以诸如微驱动器或其它设备的存储设备以提供附加存储。每个组件450、452、464、454、466和468使用各种总线进行互连,并且若干组件可安装在共用主板上或者以其它适宜方式进行安装。

处理器452可以执行计算设备450内的指令,包括存储在存储器464中的指令。该处理器可以被实现为包括单独且多个的模拟和数字处理器的芯片的芯片组。例如,该处理器可提供设备450的其它组件的协同,诸如控制用户接口、设备450所运行的应用程序以及设备450所进行的无线通信。

处理器452可以通过耦合到显示器454的控制接口458和显示接口456与用户进行通信。显示器454例如可以是TFT LCD(薄膜晶体管液晶显示器)显示器或OLED(有机发光二极管)显示器,或者其它适当的显示技术。显示接口456可以包括用于驱动显示器454以向用户显示图形和其它信息的适当电路。控制接口458可以接收来自用户的命令并且对其进行转以便向提交至处理器452。此外,可提供与处理器452进行通信的外部接口462,从而使得设备450能够与其它设备进行近域通信。例如,外部接口462在一些实施方式中可提供有线通信,或者在其它实施方式中提供无线通信,并且也可使用多个接口。

存储器464存储计算设备450内的信息。存储器464可以实施为一个或多个计算机可读介质、一个或多个易失性存储器单元或者一个或多个非易失性存储器单元。也可以提供扩展存储器474并通过扩展接口442连接到设备450,例如,该扩展接口442可以包括SIMM(单列存储模块)卡接口。这样的扩展存储器474可为设备450提供额外的存储空间,或者还可以为设备450存储应用程序或其它信息。特别地,扩展存储器474可以包括指令以执行或补充以上所描述的处理,并且还可以包括安全信息。例如,扩展存储器474由此可被提供作为设备450的安全模块,并且可利用允许对设备450进行安全使用的指令进行编程。此外,可经由SIMM卡提供安全应用程序以及附加信息,诸如以不可破坏的方式在SIMM卡上设置识别信息。

例如,如以下所描述的,该存储器可以包括闪存和/或NVRAM存储器。在一种实施方式中,计算机程序产品有形地实现在信息载体中。该计算机程序产品还可包含指令,当被执行时,该指令执行诸如以上所描述的一种或多种方法。该信息载体是计算机或机器可读介质,诸如存储器464、扩展存储器474、处理器452上的存储器或者可例如在收发器468或外部接口462上接收的传播信号。

设备450可通过通信接口466进行无线通信,在必要情况下,该通信接口466包括数字信号处理电路。通信接口466可在各种模式或协议下提供通信,除其它之外,该模式或协议诸如GSM语音呼叫、SMS、EMS或MMS消息发送、CDMA、TDMA、PDC、WCDMA、CDMA2000或GPRS。例如,这样通信可通过射频收发器468进行。此外,诸如可使用蓝牙、WiFi或其它这样的收发器(未示出)进行短距离通信。此外,GPS(全球定位系统)接收器模块440可为设备450提供附加的导航和位置相关的无线数据,其可由设备450上运行的应用程序适当使用。

设备450还使用音频编解码器460进行可听通信,该音频编解码器460接收来自用户的语音信息并且将其转换为可用的数字信息。音频编解码器460同样可以诸如通过扬声器为用户生成可听声音,例如在设备450的听筒中。这样的声音可以包括来自语音电话呼叫的声音,可以包括录制的声音(例如,语音消息、音乐文件等),并且还可以包括设备450上运行的应用程序所生成的声音。

如图所示,计算设备450可以以多种不同方式来实现。例如,其可以实现为蜂窝电话480。其还可以实现为智能电话482、个人数字助理或其它类似移动设备的一部分。

这里所描述的系统和技术的各种实施方式可以以数字电路、集成电路、专门设计的ASIC(应用特定集成电路)、计算机硬件、固件、软件和/或其组合来实现。这些各种实施方式可以包括一个或多个计算机程序中的实施方式,该计算机程序可在包括至少一个可编程处理器的可编程系统上执行和/或解释,该可编程系统可以为专用或通用,其耦合以从存储设备、至少一个输入设备以及至少一个输出设备接收数据和指令并且向其传送数据和指令。

这些计算机程序(也称作程序、软件、软件应用程序或代码)包括用于可编程处理器的机器指令,并且能够以高级程序和/或面向对象编程语言来实施,和/或以汇编/机器语言来实施。如这里所使用的,术语“机器可读介质”、“计算机可读介质”是指用来向可编程处理器提供机器指令和/或数据的任意计算机程序产品、装置和/或设备(例如,磁碟、光盘、存储器、可编程逻辑设备PLD),其包括接收机器指令作为机器可读信号的机器可读介质。术语“机器可读信号”是指被用来为可编程处理器提供机器指令和/或数据的任意信号。

为了提供与用户的交互,这里所描述的系统和技术可在具有用于向用户显示信息的显示设备(例如,CRT(阴极射线管)或LCD(液晶显示器)监视器)和用户能够通过其为计算机提供输入的键盘和指示设备(例如,鼠标或轨迹球)的计算机上实施。也可以使用其它类型的设备来提供与用户的交互;例如,提供给用户的反馈可以为任意形式的传感器反馈(例如,视觉反馈、听觉反馈或触觉反馈);并且来自用户的输入可以以任意形式接收,包括声音、语音或触觉输入。

这里所描述的系统和技术可在计算系统中实现,该计算系统包括后端组件(例如,数据服务器),或者其包括中间件组件(例如,应用服务器),或者其包括前端组件(例如,具有用户能够通过其与这里所描述的系统和技术的实施方式进行交互的图形用户节目或网络浏览器的客户端计算机),或者这些后端、中间件或前端组件的任意组合。该系统的组件可通过任意形式的介质或数字数据通信(例如,通信网络)进行互连。通信网络的示例包括局域网(LAN)、广域网(WAN)和互联网。

该计算系统可以包括客户端和服务器。客户端和服务器通常彼此远离并且典型地通过通信网络进行交互。客户端和服务器的关系源自于在各自计算机上运行的计算机程序并且具有彼此的客户端-服务器关系。

已经描述了多个实施例。然而,将要理解的是,能够进行各种修改而并不背离本发明的精神和范围。此外,图中所描绘的逻辑流程并不要求所示出的特定顺序或连续顺序来实现所期望的结果。此外,可以提供其它步骤,或者可以从所描述的流程中消除捕获,并且可以向所描述的系统增加其它组件或者从中去除组件。因此,其它实施例处于以下权利要求的范围之内。

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