掌桥专利:专业的专利平台
掌桥专利
首页

正则化词分割

文献发布时间:2024-04-18 20:01:55


正则化词分割

技术领域

本公开涉及正则化词分割。

背景技术

自动语音识别(ASR)系统已经从其中每个模型具有专用目的的多个模型(例如,声学、发音和语言模型)演变为其中使用单个神经网络将音频波形(即,输入序列)直接映射到输出句子(即,输出序列)的集成模型。这种集成产生了序列到序列的方法,当给定音频特征序列时,该方法生成词或字素的序列。使用集成结构,模型的所有组件可以作为单个端到端(E2E)神经网络被联合训练。这里,E2E模型是指其架构完全由神经网络构建的模型。完全神经网络无需外部和/或手动设计的组件(例如,有限状态换能器、词典或文本标准化模块)即可运行。附加地,在训练E2E模型时,这些模型通常不需要从决策树引导或从单独的系统进行时间对准。

发明内容

本公开的一个方面提供了一种用于子词分割的计算机实现的方法。该计算机实现的方法当在数据处理硬件上施行时使数据处理硬件执行操作,这些操作包括接收要被分割成多个子词单元的输入词。操作还包括施行子词分割例程以通过以下方式将输入词分割成多个子词单元:访问子词单元的训练词汇集;以及通过从输入词贪婪地寻找在训练词汇集中存在的最长子词单元,直到到达输入词的末尾为止,从输入词中选择多个子词单元。

本公开的实施方式可以包括以下可选特征中的一个或多个。在一些实施方式中,选择多个子词单元包括,对于输入词的多个不同位置中的每个对应位置:在对应位置处从输入词识别存在于训练词汇集中的所有可能的候选子词单元;以及,通过将1-p概率指配给最长的可能候选子词单元,并在对应位置处来自输入词的所有可能的候选子词单元之间均匀地划分剩余的p概率,从所有可能的候选子词单元中随机采样。操作可以进一步包括:在施行子词分割例程之前,通过使用预先指定的概率独立地随机删除来自输入词的字符来创建对输入词的拼写错误。

在一些示例中,操作进一步包括:在施行子词分割例程之前,通过以下方来式创建对输入词的拼写错误:预先指定用于交换相邻字符对的顺序的概率;以及对于输入词中的每个相邻字符对,基于预先指定的概率交换来自输入词中的相邻字符对中的字符的顺序。这里,输入词中的任何给定字符的顺序被限制为至多一个交换。

在一些实施方式中,操作还包括:接收包括表征输入词的话语的音频数据的训练示例;以及,处理音频数据以生成针对输入词的话语的语音识别结果以由语音识别模型输出。这里,语音识别结果包括假设子词单元序列,每个假设子词单元在对应的输出步骤处从语音识别模型输出。在这些实施方式中,操作进一步包括:基于假设子词单元序列和由子词分割例程从输入词中选择的多个子词单元来确定监督损失项;以及,基于监督损失项来更新语音识别模型的参数。在一些示例中,语音识别模型包括具有音频编码器、预测网络和联合网络的循环神经网络换能器(RNN-T)模型架构。这里,音频编码器可以包括多个长短期记忆(LSTM)层、多个变换器层或多个适形器层中的一个。在其他示例中,语音识别模型包括具有音频编码器、注意力机制和解码器的听、注意、拼写(LAS)模型架构。

本公开的另一方面提供了一种用于子词分割的系统,其包括数据处理硬件和与数据处理硬件通信的存储器硬件。存储器硬件存储指令,当该指令在数据处理硬件上施行时使数据处理硬件执行操作,这些操作包括接收要被分割成多个子词单元的输入词。操作还包括执行子词分割例程以通过以下方式将输入词分割成多个子词单元:访问子词单元的训练词汇集;以及,通过从输入词贪婪地寻找训练词汇集中存在的最长子词单元,直到到达输入词的末尾为止,从输入词中选择多个子词单元。

本公开的实施方式可以包括以下可选特征中的一个或多个。在一些实施方式中,选择多个子词单元包括,对于输入词的多个不同位置中的每个对应位置:在对应位置处从输入词识别存在于训练词汇集中的所有可能的候选子词单元;以及,通过将1-p概率指配给最长的可能候选子词单元,并在对应位置处来自输入词的所有可能的候选子词单元之间均匀地划分剩余的p概率,从所有可能的候选子词单元中随机采样。操作可以进一步包括:在施行子词分割例程之前,通过使用预先指定的概率独立地随机删除来自输入词的字符来创建对输入词的拼写错误。

在一些示例中,操作还包括:在施行子词分割例程之前,通过以下方式创建对输入词的拼写错误:预先指定用于交换相邻字符对的顺序的概率;以及对于输入词中的每个相邻字符对,基于预先指定的概率交换来自输入词中的相邻字符对的字符的顺序。这里,输入词中的任何给定字符的顺序被限制为至多一个交换。

在一些实施方式中,操作还包括:接收包括表征输入词的话语的音频数据的训练示例;以及,处理音频数据以生成输入词的话语的语音识别结果以由语音识别模型输出。这里,语音识别结果包括假设子词单元序列,每个假设子词单元在对应的输出步骤处从语音识别模型输出。在这些实施方式中,操作进一步包括:基于假设子词单元序列和由子词分割例程从输入词选择的多个子词单元来确定监督损失项;以及,基于监督损失项来更新语音识别模型的参数。在一些示例中,语音识别模型包括具有音频编码器、预测网络和联合网络的循环神经网络换能器(RNN-T)模型架构。这里,音频编码器可以包括多个长短期记忆(LSTM)层、多个变换器层或多个适形器层中的一个。在其他示例中,语音识别模型包括具有音频编码器、注意力机制和解码器的听、注意、拼写(LAS)模型架构。

本公开的一个或多个实施方式的细节在附图和以下描述中阐述。其他方面、特征和优点将从描述和附图以及权利要求中变得显而易见。

附图说明

图1是用于训练语音识别模型的子词分割的示例系统的示意图。

图2A是示例循环神经网络换能器(RNN-T)模型架构的示意图。

图2B是示例听、注意和拼写模型架构的示意图。

图3是将输入词分割成多个子词段的子词分割例程的示例。

图4是表示图3的子词分割例程的示例算法。

图5是表示从所有可能的子词单元采样的候选子词单元的示例部分图的示意图。

图6是用于分割子词单元的计算机实现的方法的示例操作布置的流程图。

图7是可以用于实现本文描述的系统和方法的示例计算设备的示意图。

各个附图中相同的附图标记指示相同的元件。

具体实施方式

现代自动语音识别(ASR)系统不仅专注于提供高质量(例如,低字错率(WER)),而且专注于提供低延迟(例如,用户说话和转录出现之间的短延迟)。端到端序列ASR模型的开发提供了单一的神经网络模型以直接接收表示语音的音频作为输入和输出识别文本,而无需使用不同且单独训练的声学、语言和发音模型。对于端到端序列ASR模型,基于词和基于字素的文本表示是表示输出识别文本的两种简单技术。一般来说,与基于字素的表示相比,基于词的表示会导致文本序列的长度更短,从而使ASR模型更容易学习跨上下文的依赖关系。然而,实现ASR模型以使用基于词的表示需要预定义的词汇表来识别可能的词,从而限制了处置训练数据中不存在的词汇表外(OOV)术语/词的能力。基于词的表示的另一个缺点是,如果不将附加信息合并到生成的词嵌入中,ASR模型无法学习语言相关词之间的关系,例如“catch”与“catching”、“book”与“books”、“help”与“helpful”等。

另一方面,基于字素的表示包括形成词的单个字符序列的输出。虽然使用基于字素的表示的ASR模型理论上能够学习拼写相似的词之间的关系并且处置OOV术语/词,但一个主要缺点是需要用于生成更长的文本序列所需的更大的存储器占用空间和计算时间。换句话说,产生基于字素的表示会增加许多解码步骤,这具有降低推断速度的不利影响。此外,基于字素的表示抑制了从数据中学习模式的能力,导致性能不佳。

本文的实施方式涉及使用端到端序列ASR模型,其将输入音频数据(即,输入序列)直接映射到以基于子词的文本表示形式的输出序列,该输出序列包括形成一个或多个词的子词单位序列。基于子词的文本表示实现了基于词的表示和基于字素的表示两种方法之间的权衡。本文的实施方式更具体地针对子词分割例程(也称为“词标记化例程/算法”或简称为“词片段模型”),其改进用于训练序列ASR模型的基于子词的文本表示。如下文将更详细地讨论的,施行子词分割例程通过以下方式将输入词分割成多个子词单元:访问子词单元的训练词汇集,并且通过从输入词贪婪地寻找训练词汇集中存在的最长子词单元,直到到达输入词的末尾为止,顺序地选择子词单元以包括在多个子词单元中。如本文所使用的,术语“子词单元”可以互换地称为“词片段”并且范围可以从字素一直到整个词。值得注意力的是,由子词分割例程访问的子词单元的词汇集不需要包括任何OOV术语/词,需要训练子词分割例程以仅最大化输入词训练集上的语言模型似然性。子词分割例程可以与使用从文本数据获得的词计数训练的统计词片段模型相关以用于将每个输入词单独地分割成子词单元。表示单独空间的符号可以被包括在子词单元中。

输入词可以包括由训练音频数据表征的训练话语的真实值转录中的一个或多个词之一。这样,从输入词分割并且由子词分割例程选择的多个子词单元可以用作真实值子词单元,该真实值子词单元用于训练ASR模型以学习从表征训练话语的输入训练音频数据来预测子词单元的输出序列。表征训练话语的音频数据可以包括对应于人类说出训练话语的非合成语音表示;或通过文本到语音从输入文本(例如,真实值转录)转换的合成语音表示。

附加的实施方式涉及在由子词分割例程进行分割之前将一种或多种正则化技术应用于输入词。如以下更详细地讨论的,这些正则化技术可以包括在施行子词分割例程之前改变输入词的拼写,从而提供复杂形式的标签平滑以改进ASR模型的性能。

图1是用于语音环境的示例系统100的示例。在语音环境中,用户104与诸如用户设备10的计算设备交互的方式可以是通过话音输入。用户设备10(通常也称为设备10)被配置为从语音环境内的一个或多个用户104捕获声音(例如,流式音频数据)。这里,流式音频数据可以指由用户104发出的口头话语106,该口头话语106用作可听查询、针对设备10的命令、或由设备10捕获的可听通信。设备10的语音使能系统可以通过回答查询和/或使该命令由一个或多个下游应用执行/履行来应对查询或命令。

用户设备10可以对应于与用户104相关联并且能够接收音频数据的任何计算设备。用户设备10的一些示例包括但不限于移动设备(例如,移动电话、平板计算机、笔记本计算机等)、计算机、可穿戴设备(例如,智能手表、智能耳机、头戴式耳机等)、智能电器、物联网(IoT)设备、车辆娱乐系统、智能显示器、智能扬声器等。用户设备10包括数据处理硬件12和与数据处理硬件12通信并存储指令的存储器硬件14,当该指令由数据处理硬件12施行时,使数据处理硬件12执行一项或多项操作。用户设备10进一步包括音频系统16,其具有音频捕获设备(例如麦克风)16、16a以用于捕获语音环境内的口头话语106并且将其转换为电信号;以及语音输出设备(例如扬声器)16b,16b以用于传送可听音频信号(例如,作为来自设备10的输出音频数据)。尽管在所示示例中用户设备10实现了单个音频捕获设备16a,但是用户设备10可以实现音频捕获设备16a的阵列而不脱离本公开的范围,由此阵列中的一个或多个捕获设备16a可以物理上不驻留在用户设备10上,但是与音频系统16通信。

系统100包括实现端到端序列ASR模型200的自动语音识别(ASR)系统118,该端序列ASR模型200被训练以将对应于话语106的输入音频数据110直接映射到基于子词的文本表示119,该基于子词的文本表示119包括在话语106的转录120中形成词的子词单元119的序列。ASR系统118施行子词分割例程300(也称为“词标记化例程/算法”或简称为“词片段模型”),其改进了用于训练序列ASR模型200的基于子词的文本表示119。如下面参考图3更详细地讨论,ASR系统118施行子词分割例程300以将输入词302(图3)分割成多个子词单元119,以用于提高被训练以预测以基于子词的文本表示119的形式的输出标签的ASR模型200的语音识别准确度。

值得注意的是,由子词分割例程300分割的子词单元119更好地反映具有口音、变化的发音和/或不流畅的人类语音。这样,子词分割例程300补充了能够识别以不同语言说出的语音的多语言ASR模型200。例如,多语言ASR模型200可以被训练以识别来自多语言说话者(诸如在不同印度语言之间进行代码切换的说话者)的语音,由此由子词分割例程300分割的子词单元119在以下情况下改进ASR模型200上的性能:当这些多语言说话者在语言之间切换并且改变词及其邻近词的发音。按照相同的概念,由子词分割例程300分割的子词单元119可以使得ASR模型200(单语言或多语言)能够包括识别可能由不同说话者说出的所有类型的非典型/口音语音。

ASR系统118可以驻留在用户104的用户设备10上和/或驻留在经由网络40与用户设备10通信的远程计算设备60(例如,在云计算环境中施行的分布式系统的一个或多个远程服务器)上。用户设备10和/或远程计算设备60还包括音频子系统108,该音频子系统108被配置为接收由用户104说出并且由音频捕获设备16a捕获的话语106,并且将话语106转换为与能够由ASR系统118处理的输入声学帧(例如,音频数据)110相关联的对应数字格式。在所示示例中,用户说出对应的话语106,并且音频子系统108将话语106转换成对应的音频数据(例如,声学帧)110以用于输入到ASR系统118。此后,ASR模型200接收对应于话语106的音频数据110作为输入,并且生成/预测作为在多个输出步骤的每个处的输出的、对应的子词单元以形成话语106的转录120(例如,识别结果/假设)。在所示示例中,ASR模型200可以执行流式语音识别以产生初始语音识别结果120,其可以被重新评分以产生最终语音识别结果120。

用户设备10和/或远程计算设备60还施行用户界面生成器107,该用户界面生成器107被配置为向用户设备10的用户104呈现话语106的转录120的表示。如下面更详细地描述的,用户界面生成器107可以以流方式显示初始语音识别结果120,并且随后显示最终语音识别结果120。在一些配置中,从ASR系统118输出的转录120例如通过在用户设备10或远程计算设备60上施行的自然语言理解(NLU)模块处理,以施行话语106指定的用户命令/查询。附加地或可替选地,文本到语音系统(未图示)(例如,在用户设备10或远程计算设备60的任何组合上施行)可以将转录转换成合成语音以供用户设备10和/或另一设备进行可听输出。

在所示示例中,用户104与使用ASR系统118的用户设备10的程序或应用50(例如,数字助理应用50)交互。例如,图1描绘了用户104与数字助理应用50通信,并且数字助理应用50在用户设备10的屏幕上显示数字助理界面18以描绘用户104与数字助理应用50之间的对话。在该示例中,用户104询问数字助理应用50:“今晚音乐会几点?”来自用户104的这个问题是由音频捕获设备16a捕获并且由用户设备10的音频系统16处理的口头话语106。在该示例中,音频系统16接收口头话语106并且将其转换为声学帧110以用于输入到ASR系统118。

在图1的所示示例中,数字助理应用50可以使用自然语言处理来响应于用户104提出的问题。自然语言处理一般是指解释书面语言(例如,初始语音识别结果120a和/或最终语音识别结果120b)并且确定书面语言是否提示任何动作的过程。在该示例中,数字助理应用50使用自然语言处理来识别来自用户104的涉及用户的日程并且更具体地涉及在用户日程上的音乐会的问题。通过使用自然语言处理来识别这些细节,自动化助理返回对用户查询的响应19,其中,响应19指出“场地大门在下午6:30打开,并且音乐会在晚上8点开始”。在一些配置中,自然语言处理发生在与用户设备10的数据处理硬件12通信的远程服务器60上。

参考图2A,在一些实施方式中,ASR模型200包括循环神经网络换能器(RNN-T)模型200a架构(或其他类型的基于帧对准的换能器模型),其遵守与交互式应用相关联的延迟约束。RNN-T模型200a提供小的计算占用空间并且利用比传统ASR架构更少的存储器需求,使得RNN-T模型架构适合于完全在用户设备102上执行语音识别(例如,不需要与远程服务器的通信)。RNN-T模型200a包括编码器网络210、预测网络220和联合网络230。预测网络220和联合网络230可以共同提供RNN-T解码器231。编码器网络210(其大致类似传统ASR系统中的声学模型(AM))可能包括堆叠长短期记忆(LSTM)层的循环网络。例如,编码器读取d维特征向量序列(例如,声学帧110(图1))x=(x

类似地,预测网络220也是LSTM网络,其与语言模型(LM)类似,将迄今为止由最终Softmax层240输出的非空白子词单元序列y

最后,利用RNN-T模型架构,由编码器和预测网络210、220产生的表示由联合网络230组合。然后联合网络预测

Softmax层240可以采用任何技术来选择在分布中具有最高概率的输出子词单元作为由RNN-T模型200a在对应的输出步骤处预测的下一个子词单元。以这种方式,RNN-T模型200a不做出条件独立假设,而是不仅以声学为条件而且以迄今为止输出的子词单元的序列为条件的每个子词单元的预测。RNN-T模型200a确实假设输出子词单元独立于未来声学帧110,这允许以流方式采用RNN-T模型。

在一些示例中,RNN-T模型200的编码器网络210由八个2048维LSTM层组成,每个层后面跟随有640维投影层。在其他实施方式中,编码器网络210包括适形器或变换器层的网络。预测网络220可以具有两个2,048维LSTM层,每个层之后还跟随有640维投影层以及128个单元的嵌入层。最后,联合网络230还可以具有640个隐藏单元。Softmax层240可以由使用训练数据中的所有独特词片段/子词单元生成的统一词片段/子词单元集组成。

参照图2B,在其他实施方式中,ASR模型200包括提供单个神经网络的听、注意和拼写(LAS)模型200b架构,该单个神经网络包括类似于传统声学模型的收听者编码器模块211、充当对准模型的注意者模块221、以及类似于传统系统中的语言模型的解码器231。具体地,收听者编码器模块211获取输入特征(例如,声学帧110(图1))x,并且将它们映射到更高级别的特征表示h

收听者编码器模块211的输出被传递到注意者模块221,该注意者模块221确定应该关注h

最后,注意者221的输出被传递到解码器231,该解码器231获取由注意者221输出的注意力上下文(例如,上下文向量或注意力分布)c

尽管未示出,但是LAS模型200b可以包括接收解码器231的输出的softmax层。在一些实施方式中,softmax层与解码器231分离并且处理来自解码器231的输出y

解码器231和/或相关联的softmax层可以被训练以输出指示子词单元119的预定组中的每一个的出现可能性的一组值。该组值能够是向量并且能够指示在子词单元集上的概率分布。解码器231和/或softmax层的输出分布能够包括每个不同子词单元的后验概率值。因此,如果有4,096个不同的子词单元标签,则解码器的输出y

图3示出了施行以将输入词302分割成多个子词单元119、119a-b的子词分割例程300(例如,轻量级WPM)的示例。在子词分割例程300的施行期间,例程300访问子词单元的训练词汇集350。在一些示例中,训练词汇集350包括4,096个不同的子词单元,其包括词片段以及字素和整个词。训练词汇集350可以存储在远程系统60的数据存储360上。在子词分割例程300的施行期间,例程300通过贪婪地从输入词302中找到训练词汇集350中存在的最长子词单元直到到达输入词302的末尾为止,来从输入词302中选择多个子词单元219。也就是说,由例程300执行的所有处理都是严格从左到右执行的,以便顺序地找到训练词汇集350中存在的每个位置/索引处的最长子词。例如,当输入词302包括词“Interspeech”,在第一个位置/索引处选择的最长子词单元将是“Inter”,随后是“sp”、“ee”和“ch”到达末尾。图4示出了表示子词分割例程300的示例算法400。

图3还示出了使用多个子词单元119、119a-n作为用于训练ASR模型200的真实值子词单元。这里,包括表征输入词302的话语的音频数据110T的训练示例可以与真实值子词单元119配对。ASR模型200处理训练音频数据110以生成输入词302的话语的语音识别结果201作为输出。这里,语音识别结果201包括假设子词单元119的序列,其中,假设子词单元序列中的每个假设子词单元在对应的输出步骤处从语音识别模型200输出。此后,损失函数380(例如,交叉熵损失或RNN-T损失)基于假设子词单元的序列和通过子词分割例程300从输入词中选择的多个子词单元119来确定监督损失项390。监督损失项390用于在训练期间更新ASR模型200的参数。

在一些实施方式中,通过从所有可能的子词单元中对每个索引处的子词单元的选择进行采样而不是仅仅总是选择每个索引处的最长子词单元而将随机性添加到子词单元选择步骤(例如,图4的算法400的第4行)。也就是说,对于输入词的多个不同位置的每个对应位置(例如,索引),例程300可以在对应位置处从输入词302识别存在于训练词汇集中的所有可能的候选子词单元。此后,对于输入词302的对应位置,例程300然后可以通过以下方式从所有可能的候选子词单元中随机采样:将1-p概率指配给可能的候选子词单元中最长的一个并且在对应位置处来自输入词302的所有可能的候选子词单元之间将p概率的其余部分均匀划分。继续上面的示例,其中,输入词302是“Interspeech”,图5示出了用于从所有可能的子词单元中对每个位置处的子词单元的选择进行随机采样的训练过程的部分图500。这里,正则化率可以是统一的并且包括值0.1,使得为每个位置处的最长候选子词单元指配0.9的概率,而在所有候选子词单元(包括最长候选)之间均匀指配剩余的0.1。值得注意的是,在不同位置处,可以对共享相同前缀的多个子词单元候选进行采样,从而具有以下两个效果:始终选择最长子词单元的黄金分布不太尖锐,因此防止模型过度自信;并且模型变得知道子词单元的前缀关系。

返回参考图3,在一些实施方式中,在施行子词分割例程300之前应用一种或多种正则化技术305,以便将随机性引入到例程300中,以进一步提高ASR模型200的语音识别性能的增益。在一些示例中,正则化技术305包括通过使用预先指定的概率独立地从输入词中随机删除字符来创建输入词302的拼写错误。应用上面的示例,输入词302“interspeech”将变成“intrspeech”。值得注意的是,并参考图5的部分图500,由于输入词中的任何字母都潜在地被跳过/删除以创建拼写错误,因此所有候选子词单元仍将存在,尽管具有不同的概率分配。附加地,通过删除随机字符来创建拼写错误,例程300可以通过学习对应的后缀结构(以及一般拼写的相似性)来学习除前缀结构之外的词之间的附加关系。例如,如果金色标签是“ing”,并且跳过字母“i”,则模型会将概率指配给子词“ng”,从而学习“ing”和“ng”之间的关系。此外,由于可以跳过多个字母,所以在任何位置处的金色标签都可以来自更远的未来,使得例程300能够更好地学习数据中的长期依赖性。

在附加的示例中,在施行子词分割例程(例如,轻量级WPM)300之前应用的正则化技术305包括通过以下方式来创建输入词302的拼写错误:预先指定交换相邻字符对的顺序的概率,并且,对于输入词中的每个相邻字符对,基于预先指定的概率交换来自输入词中相邻字符对的字符的顺序。这里,输入词中任何给定字符的顺序仅限于至多一个交换。例如,如果原始词是“the”,并且我们交换t和h使其成为“hte”,则在第一次交换之后不会对“te”对执行附加的交换。作为第二示例,输入词302“center”可以变成“center”。

图6示出了用于改进语音识别的子词单元分割方法600的示例操作布置。在操作602处,方法600包括接收要被分割成多个子词单元119的输入词302。在施行子词分割例程300的同时执行操作604和606以将输入词302分割成多个子词单元119。在操作604处,方法600包括访问子词单元的训练词汇集350。在操作606处,方法600包括通过从输入词302中贪婪地寻找存在于训练词汇集350中的最长子词单元直到到达输入词302的结尾为止,从输入词302中选择多个子词单元119。

图7是可以用于实现在本文档中描述的系统和方法的示例计算设备700的示意图。计算设备700旨在表示各种形式的数字计算机,例如膝上型计算机、台式计算机、工作站、个人数字助理、服务器、刀片服务器、大型机和其他适当的计算机。这里图示的组件、它们的连接和关系以及它们的功能仅意味着是示例性的,并且并不意味着限制本文档中描述和/或要求保护的本发明的实施方式。

计算设备700包括处理器710、存储器720、存储设备730、连接到存储器720和高速扩展端口750的高速接口/控制器740以及连接到低速总线770和存储设备730的低速接口/控制器760。组件710、720、730、740、750和760的每个使用各种总线互连,并且可以安装在公共主板上或以其他适当的方式安装。处理器(例如,远程服务器60的数据处理硬件710)710能够处理用于在计算设备700内施行的指令,包括存储在存储器720中或存储设备730上的指令,以在外部输入/输出设备(诸如耦合到高速接口740的显示器780)上显示用于图形用户界面(GUI)的图形信息。在其他实施方式中,可以酌情使用多个处理器和/或多条总线以及多个存储器和存储器类型。此外,可以连接多个计算设备700,每个设备提供必要操作的部分(例如,作为服务器组、一组刀片服务器或多处理器系统)。

存储器(例如,远程服务器60的存储器硬件720)720将信息非暂时性地存储在计算设备700内。存储器720可以是计算机可读介质、(多个)易失性存储器单元、或(多个)非易失性存储器单元。非暂时性存储器720可以是用于临时或永久存储程序(例如,指令序列)或数据(例如,程序状态信息)以供计算设备700使用的物理设备。非易失性存储器的示例包括但不限于闪存和只读存储器(ROM)/可编程只读存储器(PROM)/可擦除可编程只读存储器(EPROM)/电可擦除可编程只读存储器(EEPROM)(例如,通常用于固件,例如引导程序)。易失性存储器的示例包括但不限于随机存取存储器(RAM)、动态随机存取存储器(DRAM)、静态随机存取存储器(SRAM)、相变存储器(PCM)以及磁盘或磁带。

存储设备730能够为计算设备700提供大容量存储。在一些实施方式中,存储设备730是计算机可读介质。在各种不同的实施方式中,存储设备730可以是软盘设备、硬盘设备、光盘设备、或磁带设备、闪存或其他类似的固态存储设备、或设备阵列,包括在存储区域网络或其他配置中的设备。在附加的实施方式中,计算机程序产品有形地体现在信息载体中。计算机程序产品包含指令,当该指令被施行时,执行一种或多种方法,诸如上面描述的那些方法。信息载体是计算机或机器可读介质,例如存储器720、存储设备730或处理器710上的存储器。

高速控制器740管理计算设备700的带宽密集型操作,而低速控制器770管理较低带宽密集型操作。这种职责分配仅是示例性的。在一些实施方式中,高速控制器740耦合到存储器720、显示器780(例如,通过图形处理器或加速器),并且耦合到高速扩展端口750,该高速扩展端口750可以接受各种扩展卡(未图示)。在一些实施方式中,低速控制器770耦合到存储设备730和低速扩展端口790。可以包括各种通信端口(例如,USB、蓝牙、以太网、无线以太网)的低速扩展端口790可以例如通过网络适配器耦合到一个或多个输入/输出设备,诸如键盘、定点设备、扫描仪或诸如交换机或路由器之类的联网设备。

计算设备700可以以多种不同的形式来实现,如图所示。例如,它可以被实现为标准服务器700a或者在一组这样的服务器700a中多次实现为膝上型计算机700b、或者实现为机架服务器系统700c的一部分。

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

软件应用(即,软件资源)可以指使计算设备执行任务的计算机软件。在一些示例中,软件应用可以被称为“应用”、“app”或“程序”。示例应用包括但不限于系统诊断应用、系统管理应用、系统维护应用、文字处理应用、电子表格应用、消息传送应用、媒体流应用、社交网络应用和游戏应用。

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

本说明书中描述的过程和逻辑流程能够由施行一个或多个计算机程序的一个或多个可编程处理器(也称为数据处理硬件)来执行,以通过对输入数据进行操作并生成输出来执行功能。过程和逻辑流程还能够由专用逻辑电路(例如,FPGA(现场可编程门阵列)或ASIC(专用集成电路))来执行。举例来说,适合于执行计算机程序的处理器包括通用和专用微处理器这两者,以及任何类型的数字计算机的任何一个或多个处理器。通常,处理器将从只读存储器或随机存取存储器或这两者接收指令和数据。计算机的基本元件是用于执行指令的处理器以及用于存储指令和数据的一个或多个存储器设备。一般而言,计算机还将包括用于存储数据的一个或多个大容量存储设备,例如磁盘、磁光盘或光盘,或者可操作地耦合以从其接收数据或向其传送数据或这两者。然而,计算机不需要具有这样的设备。适合于存储计算机程序指令和数据的计算机可读介质包括所有形式的非易失性存储器、介质和存储设备,包括例如半导体存储设备,例如EPROM、EEPROM和闪存设备;磁盘,例如内置硬盘或可移动磁盘;磁光盘;以及,CD ROM和DVD-ROM盘。处理器和存储器可以由专用逻辑电路补充或并入专用逻辑电路中。

为了提供与用户的交互,本公开的一个或多个方面能够在计算机上实现,该计算机具有显示设备(例如,CRT(阴极射线管)、LCD(液晶显示器)监视器),或用于向用户显示信息触摸屏以及可选地,用户能够通过其向计算机提供输入的键盘和定点设备(例如,鼠标或轨迹球)。其他类型的设备也能够用于提供与用户的交互;例如,提供给用户的反馈可以是任何形式的感官反馈,例如视觉反馈、听觉反馈或触觉反馈;并且,来自用户的输入能够以任何形式被接收,包括声音、语音或触觉输入。此外,计算机能够通过向用户使用的设备发送文档以及从用户使用的设备接收文档来与用户交互;例如,通过响应于从网络浏览器接收到的请求而将网页发送到用户客户端设备上的网络浏览器。

已经描述了多种实施方式。然而,应当理解,在不脱离本公开的精神和范围的情况下可以做出各种修改。因此,其他实施方式也在所附权利要求的范围内。

相关技术
  • 一种处理器接口装置以及处理器数据处理方法
  • 一种样本数据处理方法、样本数据处理装置及电子设备
  • 数据处理方法、数据处理装置以及电子设备
  • 数据处理方法、数据处理装置及电子设备
  • 基于集群计算的数据批处理方法、装置、电子设备及介质
  • 处理器、用于处理器的数据处理方法及电子设备
  • 数据处理器、数据处理方法和电子设备
技术分类

06120116571759