预测自动语音识别系统中的短语识别质量转让专利

申请号 : CN201480071972.8

文献号 : CN105874530B

文献日 :

基本信息:

PDF:

法律信息:

相似专利:

发明人 : A·列夫·托夫A·法伊扎科夫Y·康尼格

申请人 : 格林伊登美国控股有限责任公司

摘要 :

本发明公开了一种用于预测包括至少一个单词的短语的语音识别质量的方法,包括以下步骤:在计算机系统上接收短语,所述计算机系统包括处理器和存储指令的内存;在计算机系统上计算包括与短语相对应的一个或多个特征的特征集;在计算机系统上提供短语给预测模型,并接收基于特征集的预测的质量识别值;和返回预测的识别质量值。

权利要求 :

1.一种用于预测包括至少一个单词的短语的语音识别质量的方法,所述方法包括以下步骤:在包括处理器和存储有指令的内存的计算机系统上接收所述短语,所述短语包括通过键盘提供的纯文本,所述短语包括至少一个单词;

在所述计算机系统上计算包括与所述短语相对应的一个或多个特征的特征集;

将所述短语提供给所述计算机系统上的预测模型,并接收基于所述特征集的预测的识别质量值,预测的识别质量值衡量在出现用户语音时通过自动语音识别系统正确识别的短语的可能;

比较所述预测的识别质量值和阈值;和使用与计算机系统相关联的图形用户界面显示与短语相对应的标记,所述标记基于预测的识别质量值与阈值的比较,所述标记用于指示在出现用户语音时通过自动语音识别系统正确识别的短语的可能。

2.根据权利要求1所述的方法,其中,所述预测模型是神经网络。

3.根据权利要求2所述的方法,其中,所述神经网络是多层感知器神经网络,并且其中所述神经网络通过应用反向传播算法进行训练。

4.根据权利要求1-3中的一项所述的方法,其中,所述预测模型由下述步骤生成:在所述计算机系统上从记录的音频集合中生成多个训练短语;

在所述计算机系统上计算所述多个训练短语中的每一个的目标值;

计算所述多个训练短语中的每一个的多个特征;

在所述计算机系统上根据所述特征训练所述预测模型;和在所述计算机系统上设置过滤阈值。

5.根据权利要求4所述的方法,其中,所述生成所述训练短语的步骤包括以下步骤:将多个真实抄本分段为多个真实短语;

使用自动语音识别系统处理所述记录的音频集合,以生成识别器输出;

在所述真实短语和所述识别器输出之间进行标签匹配,作为命中率;

对命中率的数量大于阈值的短语过滤标记的短语;和返回所述多个训练短语。

6.根据权利要求4所述的方法,其中,通过对所述多个训练短语的测试短语集优化查准率值和查全率值来设置所述过滤阈值。

7.根据权利要求1所述的方法,其中,所述短语的特征包括下述中的至少一个:所述短语中的单词的查准率;

所述短语中的单词的查全率;

短语错误率;

所述短语的查准率和查全率之和;

所述短语中的长单词的数量;

所述短语中的元音的数量;

所述短语的长度;

所述短语的混淆矩阵;和

语言模型的特征。

8.一种用于预测包括至少一个单词的短语的语音识别质量的系统,包括:处理器;和

内存,其中所述内存存储指令,所述指令在由所述处理器执行时使所述处理器进行以下操作:接收短语,所述短语包括通过键盘提供的纯文本,所述短语包括至少一个单词;

计算包括与所述短语相对应的一个或多个特征的特征集;

提供所述短语到预测模型,并接收基于所述特征集的预测的识别质量值,预测的识别质量值衡量在出现用户语音时通过自动语音识别系统正确识别的短语的可能;比较所述预测的识别质量值和阈值;和使用与计算机系统相关联的图形用户界面显示与短语相对应的标记,所述标记基于预测的识别质量值与阈值的比较,所述标记用于指示在出现用户语音时通过自动语音识别系统正确识别的短语的可能。

9.根据权利要求8所述的系统,其中,所述预测模型是神经网络。

10.根据权利要求9所述的系统,其中,所述神经网络是多层感知器神经网络,并且其中神经网络通过应用反向传播算法训练。

11.根据权利要求8-10中的一项所述的系统,其中,所述系统被配置成通过以下步骤生成所述预测模型:从记录的音频集合中生成多个训练短语;

为所述多个训练短语中的每一个计算目标值;

计算所述多个训练短语中的每一个的多个特征;

根据所述特征训练所述预测模型;和设置过滤阈值。

12.根据权利要求11所述的系统,其中,所述系统被配置成通过以下步骤生成多个训练短语:将多个真实抄本分段为多个真实短语;

使用自动语音识别系统处理所述记录的音频集合,以生成识别器输出;

在所述真实短语和所述识别器输出之间进行标签匹配,作为命中率;

对命中率的数量大于阈值的短语过滤标记的短语;和返回所述多个训练短语。

13.根据权利要求11所述的系统,其中,通过对所述多个训练短语的测试短语集优化查准率值和查全率值来设置所述过滤阈值。

14.根据权利要求8所述的系统,其中,所述短语的特征包括下述中的至少一个:所述短语中的单词的查准率;

所述短语中的单词的查全率;

短语错误率;

所述短语的查准率和查全率之和;

所述短语中的长单词的数量;

所述短语中的元音的数量;

所述短语的长度;

所述短语的混淆矩阵;和

语言模型的特征。

说明书 :

预测自动语音识别系统中的短语识别质量

技术领域

[0001] 本发明实施例的多个方面涉及在语音识别系统的输出上进行语音识别和分析的领域。更具体地,本发明实施例的多个方面涉及为了短语识别目的预测自动语音识别(ASR)系统的准确率(查准率(precision))和检出率(查全率 (recall))的计算机实现的系统和方法。

背景技术

[0002] 组织和个人时常记录和存储包含口头交谈的音频。例如,打给大型组织运营的联络中心(例如,由提供顾客支持或销售的代理充当员工的联络中心)的电话呼叫、医疗实践的音频日志(例如,外科医生叙述的外科手术的执行过程)、演讲记录、对执法和紧急调度服务的呼叫等等,都经常被记录下来,以用于培训、保留记录或其他目的。
[0003] 自动语音识别(ASR)系统可以用于处理和识别已记录的或实时口述的语言 (语音)。

发明内容

[0004] 本发明实施例的多个方面涉及一种用于预测给定短语在自动语音识别 (ASR)系统中的识别质量的方法和系统。
[0005] 与系统的顾客、客户或其他用户的交互分析(或执行分析)通常用来识别这些用户行为的趋势和模式。例如,可以分析公司的销售联络中心中已记录的口述交互(例如,电话交谈中的语音),以基于销售代理的效率(例如,向上销售尝试的成功率)对呼叫分类,以识别顾客的抱怨或识别系统中的当前问题。
[0006] 自动语音识别(ASR)系统可以用于处理这些记录下来的交谈,自动识别录制语音中特定的口述短语,并自动将记录的通话分类为基于特定短语的存在的分类。例如,包含短语“您有兴趣更新您当前的计划吗?”或“您对我们的保险提议感兴趣吗?”的交谈可以归类到包含“向上销售尝试”的交谈中。根据一个实施例,与各种类别相关联的短语由用户(他可能具有设计这些分类的专长)生成,用户根据其知识和经验在系统中手动输入短语。然而,对用户来说,预测哪些短语将被ASR系统可信地检出和识别是很困难的,原因是例如受ASR系统的技术水平限制。
[0007] 本发明的实施例的多个方面涉及一种用于预测用户提供的给定短语(或者“术语”或“请求”)(例如,通过计算机键盘或类似设备输入纯文本来提供)的识别质量的系统和方法。因此,开发了感兴趣的术语集或短语集的用户可以在思考时使用计算出的短语预测(或速率),以快速回答下面的问题:“识别好给定短语的概率是多少?”换句话说,本发明的实施例可以帮助用户确定他们输入的任何给定短语是否可能是好的短语(例如,短语识别得准确且可靠),并且可以有助于根据语音识别性能找到性能好的术语。
[0008] 因此,本发明实施例允许在不用慢速的计算集中的音频集分析进程(例如,已记录的电话通话)的情况下进行术语评估,以预测供应短语的识别质量结果。相反,本发明的实施例使用问题中短语的单词顺序和预先训练好的统计模型以生成短语的预测识别质量。在一些实施例中,关于底层识别引擎的机制的知识也可以用于计算预测的识别质量。
[0009] 换言之,本发明的实施例涉及用于在音频集中执行短语的识别之前预测该短语的识别质量(或“置信度”),而不是计算识别后的识别质量。本文中,这种系统和方法也可以被称为术语质量预测器或术语质量预测(TQP)。
[0010] 根据本发明的一个实施例,一种用于预测包括至少一个单词的短语的语音识别质量的方法包括以下步骤:在包括处理器和存储指令的内存的计算机系统上接收短语;在计算机系统上计算包括与短语相对应的一个或多个特征的特征集;在计算机系统上提供短语给预测模型,并接收基于特征集的预测的识别质量值;和返回预测的识别质量值。
[0011] 预测模型可以是神经网络。
[0012] 神经网络可以是多层感知器神经网络,其中所述训练模型的步骤包括应用反向传播算法。
[0013] 可以通过下面步骤生成预测模型:在计算机系统上由记录的音频集合生成多个训练短语;在计算机系统上计算短语中的每一个的目标值;计算短语中的每一个的多个特征;在计算机系统上根据特征训练预测模型;和在计算机系统上设置过滤阈值。
[0014] 所述生成训练短语的步骤包括以下步骤:将多个真实抄本分段为多个真实短语;使用自动语音识别系统处理记录的音频集合,以生成识别器输出;在真实短语和识别器输出之间进行标签匹配,作为命中率;为命中率数量大于阈值的短语过滤标记短语;和返回多个训练短语。
[0015] 可以通过优化多个训练短语的短语测试集的查准率值和查全率值来设置过滤阈值。
[0016] 短语特征可以包括下列内容中的至少一个:短语中的单词的查准率;短语中的单词的查全率;短语错误率;短语的查准率和查全率之和;短语中的长单词的数量;短语中的元音的数量;短语的长度;短语的混淆矩阵;和语言模型的特征。
[0017] 所述方法可以进一步还包括以下步骤:比较预测的识别质量值和阈值;和将表示短语的识别质量的标记作为所述预测的识别质量值返回,该标记基于所述预测的识别质量值和阈值之间的比较。
[0018] 根据本发明的一个实施例,一种系统包括:处理器;和内存,其中所述内存存储指令,当处理器执行指令时,使所述处理器进行以下操作:接收短语;计算包括与短语相对应的一个或多个特征的特征集;提供短语到预测模型和接收基于特征集的预测的识别质量值;和返回预测的识别质量值。
[0019] 预测模型可以是神经网络。
[0020] 神经网络可以是多层感知器神经网络,其中训练模型包括应用反向传播算法。
[0021] 系统可以配置成通过如下步骤生成预测模型:从记录的音频集合生成多个训练短语;计算短语中的每一个的目标值;计算短语中的每一个的多个特征;根据特征训练预测模型;和设置过滤阈值。
[0022] 所述系统可以被配置为通过如下步骤生成多个训练短语:将多个真实抄本分段为多个真实短语;使用自动语音识别系统处理记录的音频集,以生成识别器输出;在真实短语和识别器输出之间进行标签匹配,作为命中率;为命中率的数量大于阈值的短语过滤已标记的短语;和返回多个训练短语。
[0023] 可以通过优化多个训练短语的短语测试集的查准率值和查全率值来设置过滤阈值。
[0024] 短语特征可以包括下列内容中的至少一个:短语中的单词的查准率;短语中的单词的查全率;短语错误率;短语的查准率和查全率之和;短语中的长单词的数量;短语中的元音的数量;短语的长度;短语的混淆矩阵;和语言模型的特征。
[0025] 所述系统可以进一步地被配置成:比较预测的识别质量值和阈值;和将表明短语的识别质量的标记作为预测的识别质量值返回,标记基于预测的识别质量值和阈值之间的比较。

附图说明

[0026] 附图以及说明书说明了本发明的示例性实施例,并且附图及描述用于说明本发明的原理。
[0027] 图1是显示根据本发明的一个实施例的用于计算短语的预测的识别质量的系统的方框图;
[0028] 图2是显示根据本发明的一个实施例的用于训练用于预测短语质量的模型的过程的流程图;
[0029] 图3是显示根据本发明的一个实施例的用于生成训练术语集的方法的流程图;
[0030] 图4是显示根据本发明的一个实施例的用于使用训练模型预测短语质量的方法的流程图;
[0031] 图5示意性地显示了主题与和这些主题的相关联的短语之间的关系;
[0032] 图6、7、8、9和10是根据本发明的一个实施例的终端用户界面的屏幕截图,所述终端用户界面用于向系统提供短语并接收短语识别质量的预测;
[0033] 图11是根据本发明的一个示例性实施例的支持配置为提供记录的音频交谈会话访问的联络中心的系统的示意性方框图;
[0034] 图12A是根据本发明的一个实施例的计算设备的方框图;
[0035] 图12B是根据本发明的一个实施例的计算设备的方框图;
[0036] 图12C是根据本发明的一个实施例的计算设备的方框图;
[0037] 图12D是根据本发明的一个实施例的计算设备的方框图;以及
[0038] 图12E是根据本发明的一个实施例的包括多个计算设备的网络环境的方框图。

具体实施方式

[0039] 在下面的详细说明中,通过举例说明的方式,仅仅显示和说明了本发明特定的示例性实施例。本领域的技术人员应该了解,本发明可以采用许多不同的形式实施,而不应该被解释为受限于在此所述的实施例。相同的附图标记在说明书通篇之中表示相同的元件。
[0040] 如文中所描述,本发明的各种应用和方面可以以软件、固件、硬件及其组合来实现。当以软件实现时,该软件可以在通用目的计算设备上操作,如服务器、台式计算机、平板计算机、智能手机或者个人数字助理。这样的通用目的计算机包括通用目的处理器和内存。
[0041] 本发明的一些实施例会在联络中心的环境下描述。然而,本发明的实施例不限于此,也可以在包括搜索录音记录在内的其他情况下使用,如基于计算机的教育系统、语音消息系统、医疗副本或任何来源的语音资料。
[0042] 为了对录音集进行分类和自动检测模式,通常可以对由自动语音识别系统处理过的语音记录集进行分析。例如,如图5所示,在一个实施例中,每个主题都被定义为短语的组合。如果主叫的人说“我的订单在哪里?”或者“我还没有收到货物,”,那么这一呼叫被归类为“我的东西在哪里?”这一话题。通过识别各种主题相关的通话的数量或者频率,就可以监视和检测总体客户行为的趋势。例如,在一个邮件订购公司的呼叫中心的环境中,大量与“我的东西在哪儿?”有关的呼叫主题可以表示订单履行系统有问题。
[0043] 因为这些自动音频分析系统依赖于与每个主题相对应的短语的准确识别,所以由此得到的数据的质量会取决于选中的短语且可以取决于广泛的变量。
[0044] 通常,自动语音识别系统,特别是大词汇量连续语音识别(LVCSR)抄录引擎,包括三个主要部分:语言模型(LM)、声学模型(AM)和解码器。LM和AM 是通过提供音频文件和它们的抄本(例如,由人来准备的抄本)到学习模块来训练的。通常来说,LM是基于统计的LM(SLM)。
[0045] 通常情况下,使用对给定语言和AM感兴趣的域的环境将系统用于对LM进行预培训。在实践中,这可以通过抄录(手动)足够大量的音频记录(例如,联络中心环境下的电话通话)和将会话的文本表示用作LM训练的输入来完成。因此,训练好的LM包括与在已训练的域中特定短语出现的频率相关的信息。例如,在销售联络中心域中训练好的LM可能表明与产品特征、产品之间的对比、账单地址以及订单状态信息相关联的短语会频繁在该域中出现。相反,这样的域也可能表明短语与棒球队最近表现有关。
[0046] 在语言模型已经过训练后,语言模型可以用来识别语音。音频话语作为解码器的输入,所述解码器输出一系列识别出来的单词,通过对音频记录的每一部分都这样操作(例如,呼叫中心中存储为音频文件的每个呼叫),应用程序可以通过有效的方式对输出编制索引,使得终端用户能够快速搜索文本索引 (LVCSR索引)。在一个实施例中,基于LVCSR的索引本质上允许即席(ad-hoc) 搜索而不需要预定义任何东西。
[0047] 然而,一些ASR系统,例如基于短语的识别器(PR),在预先给出感兴趣查询的一部分时,能在查准率和查全率方面提供更高的精确度,例如,参见:美国申请第7,489,094号“System and methods of call classification with context modeling based on composite words”,该申请的全部公开内容在此并入本文作为参考;2013年5月2日在美国专利及商标局申请的美国专利申请号13/886,205“Fast out-of-vocabulary search in automatic speech recognition systems”,该申请的全部公开内容在此并入本文作为参考。在这样的系统中,短语(也称作“查询”或者“术语”)是预定义的。预定义的短语也可以按不同主题或者类别分组,使得在根据记录(例如,音频通话或者其他交互)是否含有特定预定义短语而进行处理之后可以对该记录进行分类。
[0048] 在很多场景中,预定义是针对特定的领域或者客户定制ASR的过程的一部分。例如,所述过程可以包括一个人聆听语音短语,然后手动选择重要的短语添加到系统配置中。在传统的系统中,通过对短语执行语音识别(在ASR中处理给定短语)和度量选中短语的准确率和检出率,测试选中的短语。例如,参看刊登在《IEEE TRANSACTIONS ON SPEECH AND AUDIO PROCESSING》2002年10  月7日的卷10第7期的Stephen Cox和Srinandan 
Dasmahapatra的“High-Level Approaches to Confidence Estimation in Speech Recognition”一文。可以根据短语度量得到的性能删除或者修改短语。
[0049] 上述的手动过程会耗费大量的时间,这是因为由于底层语音识别引擎不能很好地识别出短语而使很多短语可能不适合这个任务。例如,语音识别系统可以在识别特定单词或短语时很困难,从而很难在记录中检测到该短语。此外,对短语进行语音识别会耗时且计算密集,从而为了基于短语定义主题,用户部署的每一个迭代处理周期也都加长了。
[0050] 因此,所得到的短语集的质量通常高度依赖于开发所述短语集的人的技能,并且可能需要大量的人员执行这样的任务,范围从专家、为客户定制和客户化系统的专业服务分析师到新手和初始化短语和/或通过编辑、删除和/或添加新短语来更新现有短语定义的商务用户。
[0051] 本发明的实施例的多个方面涉及用于预测用户提供的短语(或术语)的识别质量的系统和方法。例如,根据本发明的实施例,如果用户打字输入短语项“我想和主管交谈”并提供该短语项给系统,则系统会评估提供的短语,并提供在训练环境中将会遇到的典型音频记录中正确识别该提供的短语项的概率预测。
[0052] 图1是显示根据本发明的一个实施例的用于计算短语预测识别质量的系统 100的方框图。根据本发明实施例的系统100包括由模型训练器模块120对训练数据训练的机器学习模型110。训练数据包括自动语音识别引擎44a的输出,该自动语音识别引擎的输出可以存储在ASR输出数据库44b中。
[0053] 自动语音识别引擎44a和ASR输出数据库44b可以是声音分析模块44的组成部分。ASR引擎44a被配置为处理存储在音频记录存储服务器42中的记录的音频(例如,存储为PCM、WAV、AIFF、MP3、FLAC、OGG Vorbis等格式的数字音频文件),以识别存储在记录的音频中的口语词汇(如谈话)。在一些实施例中,ASR引擎44a被配置为执行实时音频分析。识别的数据保存在ASR输出数据库44b中。
[0054] 图1还显示了参考抄本数据库48,它存储了为音频记录存储服务器42中存储的至少一些音频的验证过的抄本的“真实抄本”(或“参考”)。在有些实施例中,这些真实抄本可以通过人工抄写录音来生成,或者可以通过首先通过 ASR引擎处理音频、然后校对并更正ASR输出来生成,以生成真实抄本。在抄录和验证过程中由于人工成本高,参考抄本数据库48通常包括的抄本少于存储在音频记录存储服务器42中的所有音频。
[0055] 根据一个实施例,存储在ASR输出数据库44b中的ASR输出数据和存储在参考抄本数据库48中的参考抄本被提供给模型训练器120,以生成训练模型 110。如下面更详细的描述一样,根据本发明的一个实施例,训练模型110是神经网络。管理员130或其他用户可以使用训练用户界面140提供参数以设置模型训练器120。可以使用任何通用的技术来提供训练用户界面,例如使用网页服务器,所述网页服务器被配置成提供允许用户输入参数并接收管理员130提交的参数的网页。类似的,本发明的实施例还提供终端用户160使用的终端用户界面150,其中该终端用户UI150接收短语(或“查询”)并向训练模型110提供短语进行评价。短语的评价结果(例如,为“好”或“差”的短语分类)通过终端用户UI 150返回给终端用户160。
[0056] 本发明的实施例还可以包括特征检测器170,所述特征检测器被配置成计算通过终端用户界面150接收的短语的各种特征。在下面会更详细地描述这些特征,所述特征包括例如短语的长度、短语中元音的数量、短语中单词的数量以及先前度量的短语查准率和查全率。特征检测器170被配置为基于提供的短语输出特征集(或特征向量或包含一个或多个特征的另一种数据结构)。例如,如果正在检测的特征是短语中单词的数量和短语中元音的数量,那么当提供的短语是“当我的订单到达时”,特征检测器170就会返回特征向量(或特征集) [5,8]。
[0057] 图2是根据一个实施例的由模型训练器120为训练模型110执行的训练过程200的流程图。根据一个实施例,模型110包括神经网络(NN)。总的来说,模型训练器120被配置为在为目标值提供了训练短语时,其中目标函数f的输出表示短语识别质量的度量,所述模型训练器试图生成与训练短语上的目标函数f的输出(目标值)近似的模型110。在类似的为训练短语计算目标函数的过程中,目标函数对于记录的音频集(例如,训练数据)外的短语来说是未知的,因为不对包含了训练短语之外的输入音频执行识别,就不可能知道这些输入所对应的确定的目标函数输出值。模型训练器120向模型110提供训练数据,比较模型110的输出和目标函数f的输出,交互式调整模型110的参数,直到确定模型的行为足够类似于目标函数f的行为(或“f度量”)为止。
[0058] 所述过程以操作210开始,模型训练器120由记录的音频集生成训练短语 210,以作为训练模型110的输入被提供。根据一个实施例,参照图3,下面将更详细地说明在操作210中生成训练数据的过程。
[0059] 在操作220中,模型训练器120使用目标函数(f)为每个短语计算目标值,以提供用于分析在操作210中生成的训练短语的目标。在本发明的各实施例中,可以使用各种目标函数f,其中用真正(tp)、假负(fn)和假正(fp)定义目标函数。
[0060] 根据一个实施例,真正(tp)是正确识别的匹配(例如,短语在ASR输出和真实抄本Ref的相应部分中都被发现)。根据一个实施例,假负(fn)是应该识别但没有识别的匹配(例如,短语在真实抄本Ref中被发现,但在ASR输出的相应部分中没有被发现)。根据一个实施例,假正(fp)被识别为匹配,但不应该是匹配(例如,ASR的输出的被识别为包含短语的部分,但真实抄本 Ref显示音频的相应部分不包含该短语)。
[0061] 根据一个实施例,评价短语时同时考虑“查全率”(或检出率)和“查准率”(或准确率)这两个因素,这是因为两者都与短语是好还是差的判定相关。例如,如果只考虑查准率,那么两个具有相似的高查准率的短语被认为是“好”,虽然它们可能具有不同的查全率值。在这个例子中,如果一个短语具有高查全率,一个短语具有低查全率;那么具有低查全率的那个短语应该被认为是“差”。
[0062] 在本发明的一些实施例中,评估短语可以考虑使用“短语错误率”(PER) 这一度量。根据一个实施例,PER像下面公式1这样定义:
[0063] 公式1:
[0064]
[0065] 其中,fp、fn和tp分别代表假正、假负和真正。PER函数将查准率和查全率的多个方面结合起来,在查准率或查全率增加时减少。PER函数的特性是在单个标量函数中结合查准率和查全率的正向变化。
[0066] 在其他实施例中,也可以使用运用查准率或查全率的组成部分的其它函数。例如,在一个实施例中,目标函数f是查准率和查全率的加权和。
[0067] 公式2:
[0068] f=w1·查准率+w2·查全率
[0069] 其中,w1和w2是权重,所述权重可以根据用户情景的需求来调节,以在f度量中改变查准率和查全率的相关影响。在一些实施例中,w1和w2可以具有相等的值(例如,1)。
[0070] 根据一个实施例,查全率(或“灵敏度”)可以通过计算真正(tp)除以真正和假负(fn)的值计算得出,如公式3所示:
[0071] 公式3:
[0072]
[0073] 根据一个实施例,查准率(或“正预测值”)可以通过计算真正除以真正和假正(fp)的值计算得出,如公式4所示:
[0074] 公式4:
[0075]
[0076] 根据本发明的一个实施例,模型训练器120通过比较短语的f值和该目标函数f的阈值来确定短语的值。在一个实施例中,f的阈值用于将短语分类为“好”或“差”。根据一个实施例,f值大于T高阈值的短语被认为是“好”且得到目标值1,f值小于T低阈值的短语被认为是“差”且得到目标值0。一般地,T高﹥T低,在分类中,T高和T低之间差距的大小(例如,︱T高-T低︱)可以根据用户期望的确实性来改变。根据一个实施例,f值在T高和T低之间的短语会被从训练数据中忽略。
[0077] 根据一个实施例,在操作220之后得到的训练数据是元组集,每个元组是一个短语和它相应的目标值,其中目标值1可以为“好”短语,0可以为“差”短语。
[0078] 在操作230中,根据本发明的一个实施例,模型训练器120使用从训练数据得出的信息计算训练数据中短语的特征。在一个实施例中,这些信息包括来自类别的信息,包括但不限于:基于长度的特征、基于混淆矩阵(CM)的特征和基于语言模型(LM)的特征。
[0079] 根据一个实施例,基于长度的特征包括但不限于:短语中长单词的数量;短语中元音的数量;和短语的长度。例如,长单词可以被定义为字母或音素的数量大于阈值的单词。长单词通常比短单词更容易识别,从而增加识别的概率。元音也通常比其它音素更容易识别,因此元音的数量也影响识别概率。
[0080] 另外,在某些实施例中(例如,使用基于短语识别的引擎),较长的短语比较短的短语更可能被识别出来。在其它实施例(例如,使用LVCSR引擎)中,较长的短语被正确识别的概率要小一些。这样的话,调整中的短语长度特征的影响(或权重)基于是否使用的所述类型的底层自动语音识别系统。
[0081] 基于混淆矩阵的特征也可以用于代表来自识别的音频(ASR输出)和它的真实抄本(Ref)中的单词之间的普通混淆。通常,ASR输出包括关于训练数据的过程中遇到的每一个单词的查准率和查全率,并且该数据存储在混淆矩阵中。使用所述矩阵可以从字级(例如,短语中的每个单词)推导出来先验(先验概率)相关的查准率和查全率。考虑所描述的短语中每个单词的先验值,诸如以下的特征:短语中单词的所有先验值的和、平均值或最大值;短语中长单词的先验值的和、平均值或最大值;或者短语中连续n个单词的先验值的平均值或最大值,都可以计算。
[0082] 另外,关于底层语言的先验知识可以用作特征。例如,在识别过程中实际用到的语言模型可以用于检查在语言模型训练域中遇到短语中所给出的特定单词序列的概率(参见上面示例中比较遇到与产品特征有关的单词序列的概率和遇到与联络中心的环境中的篮球队有关的单词的概率)。在另外的实施例中,来自短语的n个单词(元语法模型(n-gram))的任意序列都可以用来通过语言模型进行概率的计算,也可以作为附加特征以及这些单词的平均值。
[0083] 仍然参照图2,根据本发明的一个实施例,在操作240中,模型训练器120 接着训练模型110。在一个实施例中,模型是神经网络,例如多层感知器(MLP),所述多层感知器在输入层有x输入神经元且具有y隐含层,并且在输出层中具有一个神经元。在涉及神经网络的这种实施例中,模型110可以按照本领域技术人员知道的标准技术进行训练。
[0084] 简要来说,根据一个实施例,训练数据被分为训练集、测试集和开发集。训练集的每个短语的特征(在操作230中计算出来)被提供给神经网络的输入层的x输入神经元。使用反向传播算法,迭代调整输入层中的x神经元、y隐含层和输出层中的一个神经元之间的链接的权重,以尝试达到计算出的训练集的目标值,并且在对开发集的性能的提高低于阈值(例如,定义的阈值)时,这个过程才停止。得到的模型接着根据测试集进行验证。根据一个实施例,学习速率和动量被设置为0.1。然而,在本发明另外的实施例中,神经网络的训练的参数可以不同地进行设置。
[0085] 神经网络的更多信息例如在JOURNAL OF MICROBIOLOGICAL METHODS 43(2000)3-31的I.A.Basheer和M.Hajmeer.的Artificial neural networks: fundamentals,
computing,design,and application中发现,其内容在此并入本文作为参考。
[0086] 当训练好的神经网络接收特征向量时,所述神经网络输出值ν,例如,0和 1之间的值。如上所述,这个值用作短语的预测的识别质量的置信度。在一个实施例中,过滤用于根据短语的计算机预测识别质量对短语进行分类(例如,参见图2中的操作250)。可以设置两个阈值以提供这样的过滤:高阈值T好和低阈值T差。如果ν﹥T好,那么相应的短语分类为“好”,而如果ν
[0087] 在本发明的一些实施例中,为了生成该元组集,最初要收集关于短语的性能的统计。图3是显示根据本发明的一个实施例的一种用于如操作210中所示生成训练短语集的方法的流程图。参照图3,根据一个实施例,这些统计通过处理ASR系统中的呼叫、比较ASR输出的搜索和真实抄本(或者“Ref”,其中例如抄本由人工生成)的搜索得到,借助于以下方式而获得:将Ref分段为短语 212;使用ASR系统214处理记录的音频(例如,记录的电话通话);比较Ref 和相应的ASR结果(Hyp),标记相似的值为“命中”,不同的值为“未命中” 216;和对具有足够高命中率(或“例证”)的短语(例如,命中率超过阈值) 过滤标记的短语218。生成训练短语的该过程的输出是记录的音频集中被以足够高的频率正确识别的短语集。
[0088] 在一些实施例中,如果记录的音频已经由ASR系统处理过,那么操作214 被省略。
[0089] 在本发明的特定实施例中,由于受到现实的约束,大量的音频记录不是始终都能获得真实抄本。因此,在一些实施例中,记录的部分抄本(例如,预先选定的特定短语的抄本)和ASR系统的输出进行比较。
[0090] 因此,如果训练数据有足够的质量使得训练过程(或者“学习”)可行,那么训练模型200的过程会生成能够在训练的环境中对给定短语预测识别质量的模型(例如,类似于在训练集中使用的环境的音频记录)。参照图4,考虑像上面描述那样生成的训练模型,例如对于图2,根据一个实施例,系统用于利用训练模型110计算预测的识别质量的过程300从接收一个或多个短语开始,其中短语可以从在用户界面中输入一个或多个短语(例如,在网页上键入表格中) 的用户接收310。在操作320中,特征检测器170度量短语的训练特征(例如,长单词的数量、元音的数量、混淆矩阵特征、语言模型特征等等),归一化度量值,生成与短语相对应的特征向量(或特征集)。计算得到的特征集然后被提供给训练模型110,以通过向训练模型110(例如,在过程200中生成的预测模型)提供归一化的特征向量计算短语的预测识别值330。
[0091] 在一些实施例中,在操作340中比较短语的预测识别值与阈值以对短语进行分类(例如,分为“好”或“差”短语,或“不知道”)。在这种实施例中,在操作350中,基于短语分类的每个短语的质量指示可以接着返回给用户。在根据一个实施例的用户界面中,标签紧挨着用户提供的每个短语,以表明这些短语项的质量(例如,参见图6、图7、图8、图9和图10)。
[0092] 在一些实施例中,计算出的识别值连同操作340中算出的质量指示一起被返回给用户。在其它实施例中,操作340和350可以省略,算出的识别值被返回给用户,但没有其他的识别指示。
[0093] 在本发明的实施例中,训练模型接着可以用于帮助用户设计短语集,该短语集将通过提供所供应的候选短语的识别质量的预测而进行分析。图6、图7、图8、图9和图10是根据本发明的一个实施例的终端用户界面的屏幕截图,所述终端用户界面用于向系统提供短语并接收短语识别质量的预测。
[0094] 在一个实施例中,用户可以如图6所示定义短语,然后按“预测质量”按钮。(在另一个实施例中,在用户停下键入之后或用户键入时,预测的质量可以自动显示)。系统例如通过用红色标记来通知用户该术语被认为是“差”。用户然后可以输入类似的术语,如图7所示,并且系统将新术语标为“好”,这意味着新术语更可能出现在音频中(例如,更可能在与该特定联络中心的通话的环境中谈到),并且更可能被自动语音识别系统正确识别。用户然后可以决定保留后一个短语并删除前一个短语,也可以通过系统的结果继续开发短语集,参见图8、图9和图10。
[0095] 上面描述的本发明的实施例在短语识别(PR)自动语音识别(ASR)系统的环境中。然而,本发明的实施例不限于此。在一些实施例中,可以在ASR引擎上定义术语、主题和类别,该引擎不是基于PR的,例如大词汇量连续的语音识别(LVCSR)引擎。可以用类似的方法进行定义,如图5所示;只有底层识别过程不同:使用LVCSR ASR引擎代替PR ASR引擎。在这些实施例中,定义的术语、主题和类别在LVCSR文本输出中搜索,代替了固有的PR过程所使用的定义。
[0096] 当使用LVCSR ASR引擎时,本发明的实施例可以以附加质量预测信息的形式提供附加值,就像在PR ASR引擎环境中描述的那样,其结果是增加了主题定义过程的效率。
[0097] 本发明的实施例可以应用在各种不同的涉及记录的音频对话的领域中,包括:电台访谈记录;空中和海上交通通信;执法、火灾和紧急通信,等等。根据本发明的一个实施例,在联络中心中实现通话预测系统,其中代理引导与客户、顾客和其他个体的电话和其它话音通信。
[0098] 图11是根据本发明的一个示例性实施例的支持被配置成向顾客服务代理提供顾客可用性信息的联络中心的系统的示意性方框图。联络中心可以是在室内的为企业服务的行业或公司,执行与通过企业提供的产品和服务相关的销售和服务的功能。另一方面,联络中心可以是第三方服务提供者。联络中心可以置于企业或第三方提供者的专用设备中,和/或置于远程计算环境中,如私有云或公有云环境且基础设施用于支持多个企业的多个联络中心。
[0099] 根据一个示例性实施例,联络中心包括资源(例如,人员、计算机和电信设备),以便能够通过电话或其它通信机制传送服务。这种服务可以根据联络中心类型而不同,范围可以从顾客服务到服务台、紧急响应、电话销售、订单受理和类似的服务。
[0100] 需要从联络中心接受服务的顾客、潜在的顾客或其他终端用户(统称为顾客)可以通过他们的终端用户设备10a-10c(统称为10)初始化到联络中心的入站呼叫。终端用户设备10中的每一个都可以是本领域常用的通信设备,例如电话、无线电话、智能电话、个人计算机、电子平板和/或类似设备。操作终端用户设备10的用户可以初始化、管理和响应电话呼叫、电子邮件、聊天、文字消息、网页-浏览会话和其它多媒体事务。
[0101] 到终端用户设备10的和从终端用户设备10出的入站呼叫和出站呼叫可以根据正在使用的设备类型穿通电话、蜂窝和/或数据通信网络14。例如,通信网 14可以包括私有或公共交换电话网络(PSTN)、局域网(LAN)、私有广域网(WAN) 和/或公有广域网(例如互联网)。通信网14也可以包括无线载波网络,包括码分多址(CDMA)网络、全球移动通信系统(GSM)网络和/或本领域熟知的任何3G或4G网络。
[0102] 根据一个示例性实施例,联络中心包括连接在通信网络14中的交换/媒体网关12,用以接收和传送终端用户和联络中心之间的呼叫。交换/媒体网关12 可以包括电话交换机,所述电话交换机被设置为用作用于在联络中心内为代理层级进行路由的中心交换机。从这点上来说,交换机12可以包括自动呼叫分配器、专用分组交换机(PBX)、基于IP的软件交换机和/或其他任何配置为接收源自互联网的呼叫和/或源自电话网络的呼叫的交换机。
根据本发明的一个示例性实施例,交换机连接到呼叫服务器18,举例来说,该呼叫服务器可以作为交换机与联络中心的路由、监控和其他呼叫处理系统的剩余部分之间的适配器或接口。
[0103] 联络中心还可以包括多媒体/社交媒体服务器,所述多媒体/社交媒体服务器用于与终端用户设备10和/或网页服务器32进行媒体交互,而不是语音交互。举例来说,媒体交互可以和电子邮件、语音邮件(通过电子邮件传递的语音邮件)、聊天、视频、文本消息、网页、社交媒体、屏幕共享等相关。网页服务器32可以包括例如用于各种公知的社交交互站点的社交交互站点主机,终端用户可以在所述社交交互站点上进行订阅,例如Facebook、Twitter或类似站点。网页服务器还可以为联络中心支持的企业提供网页。终端用户可以浏览网页,获得关于企业产品和服务的信息。网页还可以提供用于联系联络中心的机制,例如通过网页聊天、语音呼叫、电子邮件、网页实时通信(WebRTC)等。
[0104] 根据本发明的一个示例性实施例,交换机连接到交互式语音应答(IVR)服务器34。例如,IVR服务器34配置有用于查询顾客的需求的IVR脚本。例如,通过IVR脚本,银行的联络中心可以告诉呼叫者,如果他们希望得到账号余额则“按1”。在这种情况下,通过后续和IVR的交互,顾客可以结束服务,而不需要和代理通话。
[0105] 如果呼叫被路由给代理,那么该呼叫被转发到呼叫服务器18,所述呼叫服务器与路由服务器20交互以用于寻找合适的处理呼叫的代理。呼叫服务器18 可以配置用于处理PSTN呼叫、VoIP呼叫和类似呼叫。例如,呼叫服务器18可以包括用于处理SIP呼叫的初始会话协议(SIP)服务器。
[0106] 在一个实例中,当定位代理,并且直到该代理能用时,呼叫服务器可以将呼叫放入例如呼叫队列。呼叫队列可以经由本领域熟知的任何数据结构实现,例如链表、阵列和/或类似数据结构。举例来说,数据结构可以在呼叫服务器18 提供的缓存中维护。
[0107] 一旦合适的代理可用于处理呼叫,就从呼叫队列中移除呼叫,并将呼叫转移到相应的代理设备38a-38c(统称为38)。收集的有关呼叫者的信息或者呼叫者的历史信息也可以提供给代理设备,以便帮助代理更好地为呼叫服务。在这点上,每个代理设备38都可以包括适用于常规电话呼叫、VoIP呼叫和类似呼叫的电话。代理设备38还可以包括计算机,所述计算机用于与联络中心的一个或多个服务器通信,执行与联络中心操作相关联的数据处理,并通过各种通信机制(例如,聊天、即时消息、语音呼叫和类似机制)与顾客接洽。
[0108] 举例来说,可以基于路由服务器20采用的路由策略选择合适的代理对入站呼叫进行路由,进一步的,还可以基于与代理的可用性、技能和例如统计服务器22提供的其它路由参数有关的信息进行选择。根据本发明的一个示例性实施例,统计服务器22包括顾客可用性聚集(CAA)模块36,模块36用于在不同的通信信道上监测终端用户的可用性,提供这些信息给例如路由服务器20、代理设备38a-38c和/或其它联络中心应用程序和设备。CAA模块还可以部署在独立的应用程序服务器中。聚合模块36可以是通过存储在统计服务器22(或其他一些服务器)的内存中的计算机程序指令实现的软件模块,这些程序指令由处理器执行。本领域的技术人员应该理解,聚集模块36还可以通过固件(例如,应用程序专用的集成电路)、硬件或者软件、固件和硬件的组合来实现。
[0109] 根据一个示例性实施例,聚集模块36被配置为从联络中心的中其他设备(例如,多媒体/社交媒体服务器24)接收顾客可用性信息。举例来说,多媒体/社交媒体服务器24可以被配置为检测用户在包括社交媒体站点的不同网站的表现,并提供这些信息给聚集模块36。多媒体/社交媒体服务器24还可以被配置为监控和追踪那些网站上的交互。
[0110] 多媒体/社交媒体服务器24还可以被配置为向终端用户提供移动应用程序 40,所述移动应用程序用来下载到终端用户设备10上。移动应用程序40可以提供用户可配置的设置,例如,表明用户可用、不可用或可用性不知道,目的是让联络中心代理进行联系。多媒体/社交媒体服务器24可以监控状态设置,并在每次状态信息改变时发送更新到聚集模块。
[0111] 联络中心还可以包括报表服务器28,所述报表服务器被配置为从统计服务器22聚集的数据中生成报表。这些报表可以包括关于资源状态(例如,平均等待时间、放弃率、代理机会和类似状态)的准实时报告或历史报告。报表可以自动生成,也可以在响应需求者的具体需求中生成(例如,代理/管理员、联络中心应用程序和/或类似需求)。
[0112] 根据本发明的一个示例性实施例,路由服务器20增强了用于管理分配给代理的后台办公/离线活动的能力。这些活动可以例如包括响应电子邮件、响应信件、参加培训研讨会或任何其他不需要与顾客实时通信的活动。活动一旦分配给代理,活动就可以被推送到代理,或者可以在代理的工作框26a-26c(统称为 26)中显示为要由代理完成的任务。代理的工作框可以通过本领域技术人员熟知的任何数据结构实现,例如链表、阵列和/或类似数据结构。可以维护工作框,例如在每个代理设备38的缓存中维护。
[0113] 根据本发明的一个示例性实施例,联络中心还包括一个或多个大容量存储设备30,用以存储与代理数据(例如,代理配置、进度表等)、顾客数据(例如,顾客配置)、交互数据(例如,每个与顾客交互的细节,包括交互的原因、倾向数据、等待时间、处理时间等)以及类似数据相关的不同的数据库。根据一个实施例,有些数据(例如,顾客配置数据)可以由第三方数据库提供,例如,第三方客户关系管理(CRM)数据库。大容量存储设备可以采用本领域熟知的硬盘或磁盘阵列的形式。
[0114] 根据本发明的一个示例性实施例,联络中心102还可以包括:呼叫记录服务器40,用来记录通过联络中心102引导的通话音频;音频记录存储服务器42 (在呼叫中心的环境中也称为呼叫记录存储服务器),用来存储录制的音频;语音分析服务器44,被配置为处理和分析从联络中心102收集的数字音频形式的音频;语音索引数据库46,用于提供已分析音频的索引;和参考抄本(或真实抄本)数据库48,用于存储和提供录制的通话的抄本集合,其中所述抄本根据准确率生成或校对和改正(例如,通过人手动审核或抄写)。
[0115] 语音分析服务器44可以连接到(或者可以包括)预测服务器100,所述预测服务器包括模型训练器120、训练模型110、用于配置模型110的训练的训练用户界面140和用于接收短语和返回预测结果的终端用户的用户界面150。
[0116] 图11的各种服务器每一个都可以包括一个或多个处理器,所述处理器执行计算机程序指令并与其他系统部件交互以执行此处描述的各种功能。计算机程序指令存储在内存中,所述内存使用标准内存设备(例如,随机存取存储器 (RAM))来实现。计算机程序指令还可以存储在其他非易失性计算机可读介质中,例如CD-ROM、闪存驱动器或类似的介质。另外,虽然每一个服务器的功能都像描述的那样由特定服务器提供,但本领域的技术人员应该了解在不脱离本发明实施例范围的情况下,各种服务器的功能可以合并或集成于单个服务器中,或者一个特定服务器的功能可以分布在一个或多个其他服务器上。
[0117] 图11的各种服务器可以位于与联络中心代理的物理位置一样的现场,或者可以位于地理位置不同的非现场(或在云端),例如在通过网络(例如互联网) 连接到联络中心的远程数据中心。另外,在一些服务器可以位于非现场时,其他的服务器可以位于联络中心现场,或者在现场和非现场同时提供具有冗余功能的服务器,以提供更大的容错能力。在本发明的一些实施例中,位于非现场的服务器提供的功能可以通过虚拟专网(VPN)访问和提供,就好像这些服务器是现场的一样,或者可以使用软件即服务(SaaS)通过互联网使用各种协议来提供功能,例如通过使用编码的扩展标记语言(XML)或JavaScript对象标记 (JSON)交换数据。
[0118] 联络中心中的各种服务器每一个都可以是进程或线程,该进程或线程运行在一个或多个计算设备500(例如,图12A、图12B)中的一个或多个处理器上,执行计算机程序指令和与其他系统组件交互以用于执行此处描述的各种功能。计算机程序指令存储在内存中,所述内存在计算设备中可以使用标准内存设备来实现,例如随机存取存储器(RAM)。计算机程序指令也可以存储在其他非易失性计算机可读介质中,例如CD-ROM、闪存驱动器或类似介质。而且,本领域的技术人员应该了解到计算设备可以通过固件(例如,应用型专用的集成电路)、硬件、或者软件、固件和硬件的组合来实现。本领域的技术人员也应该知道,在不脱离本发明的示例性实施例的范围的情况下,各种计算设备的功能可以组合或集成在单个的计算设备中,或者特定计算设备的功能可以分布在一个或多个其他计算设备上。服务器可以是软件模块,所述软件模块也可以简称为模块。联络中心中的模块组可以包括服务器和其他模块。
[0119] 前述图中的各种服务器、控制器、交换机和/或网关中的每一个都可以是进程或线程,该进程或线程运行在一个或多个计算设备1500(例如,图12A、图 12B)中的一个或多个处理器上,执行计算机程序指令和与其他系统组件交互以用于执行此处描述的各种功能。计算机程序指令存储在内存中,所述内存在计算设备中可以使用标准内存设备来实现,例如随机存取内存(RAM)。计算机程序指令也可以存储在其他非易失性计算机可读介质中,例如CD-ROM、闪存驱动器或类似介质。而且,本领域的技术人员应该了解到计算设备可以通过固件(例如,应用型专用的集成电路)、硬件、或者软件、固件和硬件的组合来实现。本领域的技术人员也应该知道,在不脱离本发明的示例性实施例的范围的情况下,各种计算设备的功能可以组合或集成在单个的计算设备中,或者特定计算设备的功能可以分布在一个或多个其他计算设备上。服务器可以是软件模块,所述软件模块也可以简称为模块。联络中心中的模块组可以包括服务器和其他模块。
[0120] 图12A和图12B描绘了本发明的示例性实施例中可以采用的计算设备1500 的方框图。每个计算设备1500都包括中央处理单元1521和主内存单元1522。如图12A中所示,计算机设备1500还可以包括存储设备1528、可移除介质接口 1516、网络接口1518、输入/输出(I/O)控制器1523、一个或多个显示设备1530c、键盘1530a和指向装置1530b,例如鼠标。存储设备1528可以包括但不限于用于操作系统和软件的存储器。如图12B所示,每个计算设备1500还可以包括附加的可选元件,例如内存端口1503、桥接器1570、一个或多个附加的输入/输出设备1530d、1530e和与央处理单元1521通信的缓存1540。输入/输出设备1530a、
1530b、1530d和1530e在此可以共同使用附图标记1530来表示。
[0121] 中央处理单元1521是响应和处理从主内存单元1522取来的指令的任何逻辑电路。例如,这可以在集成电路中实现,形式为微处理器、微控制器或者图形处理单元(GPU),或者在现场可编程门阵列(FPGA)或应用型专用的集成电路(ASIC)中实现。主内存单元1522可以是能够存储数据并允许中央处理单元 1521直接访问任何存储位置的一个或多个内存芯片。如图12A 所示,中央处理单元1521通过系统总线1550与主内存1522通信。如图12B所示,中央处理单元1521还可以通过内存端口1503直接与主内存1522通信。
[0122] 图12B显示了一个实施例,其中中央处理单元1521通过二级总线直接与缓存1540通信,二级总线有时也被称为后端总线。在其它实施例中,中央处理单元1521使用系统总线1550与缓存1540通信。缓存1540通常具有比主内存1522 更快的响应时间。如图12A所示,中央处理单元1521通过局部系统总线1550 与各种I/O设备1530通信。各种总线都可以用作局部系统总线1550,包括视频电子标准协会(VESA)局部总线(VLB)、工业标准结构(ISA)总线、扩展工业标准结构(EISA)总线、微信道体系结构(MCA)总线、外围组件互联(PCI) 总线、PCI扩展(PCI-X)总线、快速PCI总线或网络用户总线(NuBus)。有些实施例中,I/O设备是显示设备1530c,中央处理单元1521可以通过高级图形端口(AGP)与显示设备1530c通信。图12B显示了计算机1500的一个实施例,其中中央处理单元1521直接与I/O设备1530e通信。图12B还示出了一个实施例,其中局部总线和直接通信被混合:中央处理单元1521使用局部系统总线1550 与I/O设备1530d通信,同时也直接和I/O设备1530e通信。
[0123] 计算设备1500中可以存在各种各样的I/O设备1530。输入设备包括一个或多个键盘1530a、鼠标、触控板、轨迹球、扩音器和画板。输出设备包括视频显示设备1530c、扬声器和打印机。如图12A中所示,I/O控制器1523可以控制 I/O设备。I/O控制器可以控制一个或多个I/O设备,例如键盘1530a和指向装置1530b,例如鼠标或光笔。
[0124] 再参照图12A,计算设备1500可以支持一个或多个可移除介质接口1516,例如软盘驱动器、CD-ROM驱动器、DVD-ROM驱动器、各种格式的磁带驱动器、 USB端口、安全数字或COMPACT FLASHTM存储卡端口、或者适合从只读介质读数据或从读写介质读写数据的其他任何设备。I/O设备1530可以桥接在系统总线 1550和可移除介质接口1516之间。
[0125] 举例来说,可移除介质接口1516可以用于安装软件和程序。计算设备1500 可以还包括存储设备1528,例如一个或多个硬盘驱动器或硬盘驱动器阵列,用于存储操作系统和其他相关软件并用于存储应用软件程序。可选地,可移除介质接口1516还可以用作存储设备。例如,操作系统和软件可以由可启动介质(例如,可启动CD)运行。
[0126] 在一些实施例中,计算设备1500可以包括多个显示设备1530c或连接到多个显示设备1530c,这些显示设备每一个可以是相同或不同的类型和/或形式。因此,I/O设备1530和/或I/O控制器1523中的任何一个可以包括任何类型和/ 或形式的合适的硬件、软件或者硬件和软件的组合,以通过计算设备1500支持、实现或提供到多个显示设备1530c的连接和所述多个显示设备的使用。举例来说,计算设备1500可以包括任何类型和/或形式的视频适配器、视频卡、驱动器和/或库,以接口、通信、连接或用其他方式使用显示设备1530c。在一个实施例中,视频适配器可以包括多个连接器,以连接到多个显示设备1530c。在其他实施例中,计算设备1500可以包括多个视频适配器,每个视频适配器连接到显示设备1530c中的一个或多个。在一些实施例中,计算设备1500的操作系统的任何部分都可以被配置用于使用多个显示设备1530c。在其他实施例中,显示设备1530c中的一个或多个可以由通过网络例如连接到计算设备1500的一个或多个其它计算设备提供。这些实施例可以包括设计和构造成使用另外的计算设备的显示设备作为计算设备1500的第二显示设备1530c的任何类型的软件。本领域的技术人员应该知道和领会不同的方法和实施例中,计算设备1500可以配置为具有多个显示设备1530c。
[0127] 图12A和12B所示类型的计算设备1500可以在操作系统的控制下操作,操作系统控制任务计划和系统资源的访问。计算设备1500可以运行任何操作系统、任何嵌入式操作系统、任何实时操作系统、任何开源操作系统、任何专有操作系统、用于移动计算设备的任何操作系统或者能够运行在计算设备上和执行此处所述的操作的任何其它操作系统。
[0128] 计算设备1500可以是任何工作站、桌面计算机、膝上型电脑或笔记本电脑、服务器机器、掌上电脑、移动电话或其他便携式通信设备、媒体播放设备、游戏系统、移动计算设备或任何其他类型和/或形式的能够通信并具有足够的处理器能力和内存容量来执行这里所描述的操作的计算设备、电信设备或媒体设备。在一些实施例中,计算设备1500可以具有与该设备相容的不同的处理器、操作系统和输入设备。
[0129] 在其他实施例中,计算设备1500是移动设备,例如启用Java的蜂窝电话或个人数字助手(PDA)、智能手机、数字音频播放器或便携式媒体播放器。在一些实施例中,计算设备1500包括设备的组合,例如与数字音频播放器或便携式媒体播放器相组合的移动电话。
[0130] 如图12C所示,中央处理单元1521可以包括多个处理器P1、P2、P3、P4,并且可以提供用于同时执行指令或者同时在多于一个的数据块上执行一个指令的功能。在一些实施例中,计算设备1500可以包括具有单核或多核的并行处理器。在这些实施例中的一个中,计算设备1500是共享内存的并行设备,具有多个处理器和/或多个处理器核,从而能像访问单个的全局地址空间那样访问所有可用的内存。在这些实施例中的另一个中,计算设备1500是具有多个处理器的分布式内存并行设备,其中每个处理器只能访问本地内存。在这些实施例中的另一个实施例中,计算设备1500既有一些共享的内存,又有一些只可以被特定处理器或处理器的子集访问的内存。还是在这些实施例中的另外一个中,中央处理单元1521包括多核微处理器,该微处理器将两个或更多个独立的处理器组合成单个封装体,例如单个集成电路(IC)。在图12D所示的示例性实施例中,计算设备1500包括至少一个中央处理单元1521和至少一个图形处理单元1521′。
[0131] 在一些实施例中,中央处理单元1521提供单个指令、多数据(SIMD)功能,例如同时在多条数据上执行单个指令。在其他的实施例中,中央处理单元1521 中的多个处理器可以提供在多条数据上同时执行多个指令(MIMD)的功能。还是在这些实施例中,在单个设备中,中央处理单元1521可以使用任意组合的SIMD 核和MIMD核。
[0132] 计算设备可以是通过网络连接的多个机器中的一个,或者可以包括多个这样连接的机器。图12E显示一个例示性的网络环境。该网络环境包括通过一个或多个网络1504与一个或多个远程机器1506a、1506b、1506c(通常也称为(多个)服务器机器1506或(多个)远程机器1506)通信的一个或多个本地机器 1502a、1502b(通常也称为(多个)本地机器1502、(多个)客户端1502、(多个)客户端节点1502、(多个)客户端机器1502、(多个)客户端计算机1502、 (多个)客户端设备1502、(多个)端点1502或(多个)端点节点1502)。在一些实施例中,本地机器1502具有下面两个功能:作为客户端节点,寻求访问服务器机器提供的资源;
作为服务器机器,为其他客户端1502a、1502b提供对托管资源的访问。虽然图12E中只显示两个客户端1502和三个服务器机器 1506,但通常每一个可以具有任意数量。网络1504可以是例如为诸如公司互联网的私人网络的局域网(LAN)、城域网(MAN)或者例如为互联网或其他公共网络的广域网(WAN)或它们的组合。
[0133] 计算设备1500可以包括网络接口1518,以通过各种连接与网络1504连接,所述各种连接包括但不限于标准电话线、局域网(LAN)或广域网(WAN)链接、宽带连接、无线连接或上述中的任何一个或全部的组合。可以使用各种通信协议建立连接。在一个实施例中,计算设备1500与其他计算设备1500通过任何类型和/或形式的网关或隧道协议通信,例如安全套接层(SSL)或传输层安全 (TLS)。网络接口1518可以包括内置的网络适配器,例如网络接口卡,适用于将计算设备1500连接到能够通信和执行此处描述的操作的任何类型的网络。 I/O设备1530可以是系统总线1550和外部通信总线之间的桥接器。
[0134] 虽然本发明已经在特定示例性实施例中进行了描述了,但是应该理解本发明并不限于已公开的实施例,相反,在所附权利要求的精神和范围内,本发明意在覆盖各种变形和等效设置。