语音识别方法和设备与流程

文档序号:21093800发布日期:2020-06-16 20:07阅读:347来源:国知局
语音识别方法和设备与流程

本申请要求于2018年11月21日提交到韩国知识产权局的第10-2018-0144753号韩国专利申请的权益,所述韩国专利申请的全部公开出于各种目的通过引用包含于此。

以下描述涉及语音识别。



背景技术:

已经通过作为专门的计算架构的处理器实现的神经网络模型使语音识别自动化,其中,在训练之后,处理器实现的神经网络模型可提供输入模式与输出模式之间的计算上直观的映射。产生这样映射的训练能力可被称为神经网络的学习能力。由于专门的训练,因此这样专门训练的神经网络具有针对神经网络可能还未针对其进行训练的输入模式生成相对准确的输出的能力。然而,因为通过专门的计算架构来执行这样的操作或应用,并且以与以非计算机实现的或非自动化的方法来执行这样的操作或应用的方式不同的自动化方式来执行他们,所以由于用于实现神经网络的计算架构的自动化的或专门的方式而出现一些问题。



技术实现要素:

提供本发明内容,以按照简化的形式介绍下面在具体实施方式中进一步描述的构思的选择。本发明内容不意在标识要求权利的主题的关键特征或必要特征,也不意在用于帮助确定要求权利的主题的范围。

在一个总体方面,提供一种语音识别方法,其中,所述语音识别方法包括:基于输入语音,确定多个候选文本的第一分数;基于输入语音,确定语言模型的输出的权重;将权重施加到从语言模型输出的所述多个候选文本的第二分数以获得加权的第二分数;基于第一分数和与目标候选文本对应的加权的第二分数,从所述多个候选文本之中选择目标候选文本;以及将目标候选文本确定为与输入语音的一部分对应。

确定权重的步骤可包括:基于输入语音和在先前时间确定的目标文本,确定在当前时间将被施加到语言模型的输出的权重。

在先前时间确定的目标文本可包括:从可开始语音识别的时间到紧接在当前时间之前的时间确定的目标文本中的任何一个或任何组合。

确定权重的步骤可包括:基于输入语音和上下文信息来确定权重。

上下文信息可包括以下项中的任何一个或任何组合:关于输入输入语音的用户的信息、时间信息、位置信息、语言信息、语音识别历史信息和关于当前操作的应用程序的信息。

确定权重的步骤可包括:基于输入语音、在先前时间确定的目标文本以及上下文信息,确定在当前时间将被施加到语言模型的输出的权重。

选择目标候选文本的步骤可包括:从所述多个候选文本,选择具有第一分数与加权的第二分数的最大和的候选文本,作为目标候选文本。

确定权重的步骤可包括:从输入语音提取特征值;以及将特征值提供给基于神经网络的权重确定器来确定权重。

确定第一分数的步骤可包括:使用基于神经网络的编码器,从输入语音提取特征值;以及使用基于神经网络的解码器,从提取的特征值确定所述多个候选文本中的每个候选文本的第一分数。

语言模型可包括多个语言模型,其中,确定权重的步骤可包括:确定将被施加到所述多个语言模型中的每个语言模型的输出的权重。

所述多个语言模型可包括第一语言模型和第二语言模型,其中,第一语言模型可被配置为:输出所述多个候选文本的第二分数,第二语言模型可被配置为:输出所述多个候选文本的第三分数,其中,确定权重的步骤可包括:确定将被施加到第二分数的第一权重以及将被施加到第三分数的第二权重,选择目标候选文本的步骤可包括:基于第一分数、可被施加第一权重的第二分数和可被施加第二权重的第三分数选择目标候选文本。

语言模型可包括多个语言模型,并且确定权重的步骤可包括:从所述多个语言模型之中选择至少一个语言模型;以及确定将被施加到选择的至少一个语言模型的输出的权重。

语言模型可被配置为:输出与所述多个候选文本中的每个候选文本对应的第二分数,以基于在先前时间确定的目标文本确定在先前时间确定的目标文本之后的下一目标文本。

所述多个候选文本中的每个候选文本可以是词、子词、短语或句子中的一个。

权重可基于输入语音的类型来调节。

确定第一分数的步骤可包括:基于输入语音和基于神经网络的解码器在先前时间段的输出,确定第一分数。

语言模型可针对装置的类型的语法被配置。

语言模型可包括多个语言模型,并且所述多个语音模型中的每个语言模型的权重可基于输入语音的类型动态地调节。

输入语音的类型可包括以下项中的任何一个或任何组合:输入语音的上下文、可执行语音识别的环境、输入语音中的词的类型、可执行语音识别的装置的类型、以及可执行语音识别的话语的类型。

在另一总体方面,提供一种语音识别设备,其中,所述语音识别设备包括:声音接口,被配置为:从用户接收输入语音;以及处理器,被配置为:基于输入语音确定多个候选文本的第一分数;基于输入语音确定语言模型的输出的权重;将权重施加到从语言模型输出的所述多个候选文本的第二分数以获得加权的第二分数;基于第一分数和与目标候选文本对应的第二分数,从所述多个候选文本选择目标候选文本;以及将目标候选文本识别为与输入语音的一部分对应。

处理器还可被配置为:基于输入语音和在先前时间确定的目标文本,确定在当前时间将被施加到语言模型的输出的权重。

处理器可被配置为:基于输入语音和上下文信息确定权重。

处理器可被配置为:从输入语音提取特征值;以及使用被配置为输出与提取的特征值对应的权重的基于神经网络的权重确定器,来确定权重。

语言模型可包括第一语言模型和第二语言模型,其中,第一语言模型被配置为输出所述多个候选文本的第二分数,第二语言模型被配置为输出所述多个候选文本的第三分数;其中,处理器可被配置为:确定将被施加到第二分数的第一权重以及将被施加到第三分数的第二权重;以及基于第一分数、可被施加第一权重的第二分数以及可被施加第二权重的第三分数选择目标候选文本。

语言模型可包括多个语言模型,其中,处理器可被配置为:从所述多个语言模型选择可被施加权重的至少一个语言模型;以及确定将被施加到所述至少一个语言模型的输出的权重。

在另一总体方面,提供一种语音识别设备,其中,所述语音识别设备包括:传感器,被配置为接收语音;存储器,被配置为存储语言模型和指令;以及处理器,被配置为执行指令以:实现编码器,其中,编码器被配置为对语音进行编码,实现解码器,其中,解码器被配置为基于编码的语音确定多个候选文本的第一分数,实现权重确定器,其中,权重确定器被配置为基于编码器的输出确定各个语言模型中每个的权重,基于各个语言模型确定所述多个候选文本的第二分数,将权重施加到从各个语言模型获得的所述多个候选文本的第二分数,以获得加权的第二分数,以及基于第一分数和与目标候选文本对应的加权的第二分数的总和,从所述多个候选文本识别目标候选文本,以与语音的一部分对应。

编码器还可被配置为:从语音提取特征值,并且解码器可被配置为基于特征值输出所述多个候选文本和第一分数。

权重确定器还可被配置为:响应于在语音中检测到用户姓名,增大与存储在实现语音识别设备的装置上的联系信息对应的语言模型的权重。

权重确定器还可被配置为:基于编码器的输出和先前确定的目标文本来确定权重。

权重确定器还可被配置为:基于编码器的输出和上下文信息确定权重,并且上下文信息可包括以下项中的任何一个或任何组合:可产生语音的情况、用户信息、与当前位置、当前时间、当前操作的程序、语音识别历史和用户的对话历史相关联的信息。

编码器、解码器和权重确定器中的每个可被实现在神经网络上。

根据以下具体实施方式、附图和权利要求,其他特征和方面将是清楚的。

附图说明

图1是示出语音识别装置的示例的示图。

图2是示出语音识别方法的示例的示图。

图3、图4和图5是示出执行语音识别的示例的示图。

图6和图7是示出执行语音识别的示例的示图。

图8和图9是示出执行语音识别的示例的示图。

图10是示出执行语音识别的示例的示图。

图11是示出语音识别设备的示例的示图。

贯穿附图和具体实施方式,除非另有描述或提供,否则相同的附图参考标记将被理解为表示相同的元件、特征和结构。附图可不按比例绘制,并且为了清楚、说明和方便起见,可夸大附图中元件的相对尺寸、比例和描绘。

具体实施方式

提供以下具体实施方式以帮助读者获得对这里所描述的方法、设备和/或系统的全面理解。然而,在理解本申请的公开后,这里所描述的方法、设备和/或系统的各种改变、修改及等同物将是清楚的。例如,这里所描述的操作顺序仅仅是示例,并不局限于这里所阐述的顺序,而是除了必须以特定顺序发生的操作之外,可如在理解本申请的公开之后清楚地那样被改变。此外,为了更加清楚和简明,可省略对于本领域已知的特征的描述。

这里所描述的特征可以以不同的形式实现,并且将不被解释为限于这里所描述的示例。更确切地说,已经提供这里所描述的示例,仅为了实现这里所描述的方法、设备和/或系统的在理解本申请的公开之后将是清楚的很多可行的方式中的一些方式。

这里使用的术语仅用于描述各种示例且不用于限制本公开。除非上下文另外清楚地指出,否则单数形式也意图包括复数形式。术语“包含”、“包括”和“具有”说明存在所陈述的特征、数量、操作、构件、元件和/或它们的组合,但是不排除存在或添加一个或多个其他特征、数量、操作、构件、元件和/或它们的组合。

尽管可在这里使用诸如“第一”、“第二”和“第三”的术语来描述各种构件、组件、区域、层或部分,但是这些构件、组件、区域、层或部分不被这些术语限制。更确切地说,这些术语仅用于将一个构件、组件、区域、层或部分与另一构件、组件、区域、层或部分区分开。因此,在不脱离示例的教导的情况下,这里所描述的示例中被称为第一构件、组件、区域、层或部分还可被称为第二构件、组件、区域、层或部分。

贯穿说明书,当组件被描述为“连接到”或“结合到”另一组件时,该组件可直接“连接到”或“结合到”另一组件,或者可存在介于其间的一个或多个其他组件。相反,当元件被描述为“直接连接到”或“直接结合到”另一元件时,不会存在介于其间的其他元件。同样地,例如,“在…之间”和“紧接在…之间”以及“与…邻近”和“与…紧密相邻”的表达也可如前面所述地那样解释。如这里所使用的,术语“和/或”包括相关所列项中的任何一个和任何两个或更多个的任何组合。

在此针对示例或实施例使用术语“可”(例如,关于示例或实施例可包括或实现什么)表示存在包括或实现这样的特征的至少一个示例或实施例,而所有示例和实施例不限于此。

此外,在示例实施例的描述中,当认为在理解本申请的公开之后由此已知的结构或功能的详细描述将导致示例实施例的模糊解释时,将省略这样的描述。

在下文中,将参照附图详细描述示例,并且附图中相同的参考标号始终表示相同的元件。

图1是示出语音识别装置的示例的示图。

参照图1,语音识别装置100可在包括服务器或用户终端的至少一个计算机中实现。在一个示例中,如所示出的,用户通过输入语音120向语音识别装置100给予命令,并且语音识别装置100分析输入语音120并估计对应于输入语音120的文本140,例如,“呼叫jane。”。语音识别装置100从估计的文本140提取命令,执行提取的命令,并向用户提供执行该命令的结果。输入语音120可包括多个词的序列,并且该序列可包括词、短语或句子。除了如上所述识别包括在用户的输入语音中的命令之外,语音识别装置100可应用于各种领域,诸如,例如机器翻译、人机交互或对话等。

语音识别装置100包括语音识别设备110,其中,语音识别设备110被配置为或被编程为从用户接收输入语音120并将输入语音120转换为文本140。语音识别设备110可识别输入语音并生成对应于输入语音的文本数据。语音识别设备110可实现在被配置为将包括在输入语音中的词转换为文本的硬件模块。

在一个示例中,语音识别设备110可被嵌入在移动电话、蜂窝电话、个人计算机(pc)、膝上型计算机、上网本、平板pc、个人数字助理(pda)、数码相机、游戏机、mp3播放器、个人多媒体播放器(pmp)、电子书、导航系统、磁盘播放器、机顶盒、家用电器、通信装置、显示装置或被配置为与语音识别设备110交互的其他电子装置中。在一个示例中,语音识别设备110可被嵌入在智能手表、智能家用电器、智能车辆、自动驾驶车辆或装置、智能家居环境、智能建筑环境、智能办公环境、智能电子安全系统,或者被配置为与语音识别设备110交互的其他智能装置中。此外,语音识别设备110可被包括在佩戴在用户身体上的可穿戴装置中,或者可被配置为与可穿戴装置交互。例如,可以以戒指、手表、眼镜、手镯、腰带、带、项链、耳环、头盔和衣服的形式来提供可穿戴装置。

语音识别设备110使用存储在语言模型数据库(db)130中的语言模型来提高语音识别的准确性。语言模型可以是包括在自然语言处理引擎中的组件,并且用于提供识别以自然语言输入的语音的结果。在一个示例中,语言模型可提供与子词、词、短语和/或句子中的每个相关联的概率值,并且语音识别设备110基于由语言模型提供的文本表达以及文本表达的概率值,来确定语音识别结果。针对语音识别,可使用单个语言模型或语言模型的集合。例如,用于语音识别的语言模型可以是独立于输入语音的域(domain)的通用语言模型、使用包括主要在不同的域中使用的语音表达的语料库训练的语言模型、以及基于用户信息或存储在用户终端(诸如,智能电话)中的信息(例如,联系信息)被个性化的个性化语言模型(plm)。

用户的语音的类型、包括在输入的语音中的词、或语音模式可基于执行语音识别的情况或域而变化。例如,当语音识别用在电视(tv)时,输入语音可包括主要与tv的功能(例如,节目搜索、频道选择和音量控制)相关联的语音。又例如,当语音识别用在智能电话时,输入语音可包括主要与智能电话的功能相关联的语音。在该示例中,包括在输入语音中的词或语音模式可基于例如以下项而变化:用户是否将通过语音识别使用智能电话中的短消息服务(sms)、从地图搜索餐馆的位置、或呼叫用户的朋友。因此,通过使用适合于执行语音识别的域或情况的期望语言模型,语音识别的性能可被提高。

在另一示例中,当基于与用户的语音相关联的各种域执行语音识别时,如当智能电话或各种家用电器需要被整体管理的智能家居时,可需要基于语音的类型来调节语言模型的影响。在一个示例中,当用户将通过语音识别呼叫智能电话上的朋友时,可期望增大plm的影响,以从来自用户的输入语音区分朋友的姓名。在该示例中,当用户将通过语音识别执行智能电话中的应用时,可期望增大与智能电话相关联的语言模型对确定语音识别的结果的影响。

这里描述的示例通过基于执行语音识别的情况或域动态地确定将被施加到至少一个语言模型的输出的权重来提供更准确的语音识别的结果。例如,语音识别设备110可基于输入语音对输入语音的域进行分类,基于通过分类获得的域来调节将被施加到语言模型的输出的组合权重,从而基于输入语音的域有效地调节语言模型对语音识别的结果的影响。

图2是示出语音识别方法的示例的示图。可通过这里描述的语音识别设备来执行下文将被描述的语音识别方法。虽然图2中的操作可以以所示的顺序和方式来执行,但是在不脱离所描述的说明性示例的精神和范围的情况下,一些操作的顺序可被改变或一些操作可被省略。图2中所示的许多操作可并行或同时执行。图2的一个或多个块以及块的组合可通过执行指定功能的基于专用硬件的计算机(诸如,处理器)或者专用硬件和计算机指令的组合来实现。除了下面图2的描述之外,图1的描述也适用于图2并通过引用包含于此。因此,这里可不重复以上描述。

参照图2,在操作210中,语音识别设备接收语音输入(也被称为语音输入)。用户可通过声音接口(诸如,麦克风)输入语音,以给出声音命令,并且输入语音的语音信号可被发送到语音识别设备。

在操作220中,语音识别设备基于语音输入确定多个候选文本中的每个候选文本的第一分数。例如,语音识别设备可确定指示输入的语音的一部分(其作为将被分析的当前目标)是否对应于候选文本“呼叫”的第一分数,以及指示语音输入的所述一部分是否对应于候选文本“发送”的第一分数。除了候选文本“呼叫”和“发送”之外,语音识别设备还可确定分别对应于其他候选文本的多个第一分数。多个候选文本可包括各种子词、词、短语和/或句子,并且第一分数可指示多个候选文本中的每个候选文本的概率值或期望值。例如,候选文本“呼叫”的第一分数为0.75可指示:输入的语音的一部分(其作为当前将被识别的目标)对应于候选文本“呼叫”的概率为0.75(其被表示为相对值)。

在一个示例中,语音识别设备可使用基于神经网络的编码器-解码器语言识别模型来确定多个候选文本中的每个候选文本的第一分数。语音识别设备可使用编码器从语音输入提取特征值(例如,特征向量),并使用解码器从提取的特征值确定多个候选文本中的每个候选文本的第一分数。在该示例中,编码器被配置为将语音输入转换为抽象的特征向量,并且解码器被配置为基于特征向量确定候选文本的概率值或期望值。

为了便于描述,下文将主要描述基于编码器-解码器的语音识别模型。然而,示例不限于使用基于编码器-解码器的语音识别模型。例如,包括声学模型和基本语言模型的语言识别模型可用于确定多个候选文本中的每个候选文本的第一分数。在该示例中,声学模型被配置为基于从语音输入提取的特征来输出由音素单元(phonemeunit)识别语音输入的结果。基本语言模型被配置为基于由音素单元执行的识别的结果,将基于词之间的关系的概率信息设置为第一分数。

在操作230中,语音识别设备基于语音输入确定将被施加到语言模型的输出的权重。在一个示例中,语音识别设备从语音输入提取特征值,并基于提取的特征值确定权重。在一个示例中,所述权重用于调节语言模型的输出对语音识别的结果的影响。例如,将被施加到语言模型l的输出的权重越大,语言模型l的重要性或依赖性越大。

根据一个示例,许多语言模型用于语音识别,并且语音识别设备确定将被施加到多个语言模型中的每个的权重。在一个示例中,当语言模型包括被配置为输出多个候选文本中的每个候选文本的第二分数的第一语言模型以及被配置为输出多个候选文本中的每个候选文本的第三分数的第二语言模型时,语音识别设备可确定将被施加到第二分数的第一权重以及将被施加到第三分数的第二权重。在另一示例中,语音识别设备可从多个语言模型选择将被施加权重的至少一个语言模型,并确定将被施加到所选择的语言模型的输出的权重。可从许多语言模型之中选择性地使用语音识别所需的语言模型,从而提高效率。

在一个示例中,语音识别设备可使用基于神经网络的权重确定器来确定权重,其中,该权重确定器被配置为使用从基于神经网络的编码器-解码器语言识别模型的编码器输出的特征值作为输入,并输出对应于该特征值的权重。在一个示例中,权重确定器接收编码器的输出、解码器在先前时间的输出(例如,在先前时间的语音识别的结果)和上下文信息中的至少一个,然后提供将被施加到多个语言模型中的每个的权重。在一个示例中,权重确定器可输出指示概率的向量值作为将被施加到每个语言模型的权重,并且输出的向量值可用作组合权重以确定每个语言模型将被反映或考虑的每个语言模型的比例或比率。

在一个示例中,语音识别设备可基于语音输入和在先前时间确定的目标文本,来确定在当前时间将被施加到语言模型的输出的权重。在该示例中,编码器的输出和与在先前时间确定的目标文本相关联的信息可被输入到权重确定器。在一个示例中,在先前时间确定的目标文本可包括从开始语音识别的时间到在当前时间之前的时间确定的至少一个目标文本。目标文本指示最终被确定为对应于语音输入的一部分的文本。

在另一示例中,语音识别设备可基于语音输入和上下文信息来确定将被施加到语言模型的输出的权重。在一个示例中,上下文信息从编码器的输出分离并被输入到权重确定器。上下文信息可包括与用户的语音输入相关联的所有信息的集合。例如,上下文信息可包括以下中的任何一个或任何组合:输入语音的用户的信息(诸如,例如,用户的性别、年龄、国籍、地址、职业和办公室)、时间信息、位置信息、语言信息、语音识别历史信息和关于装置上的当前操作的应用程序的信息。

在另一示例中,语音识别设备可基于语音输入、在先前时间确定的目标文本以及上下文信息,来确定在当前时间将被施加到语言模型的输出的权重。在该示例中,解码器的输出、关于在先前时间确定的目标文本的信息以及上下文信息可被输入到权重确定器。

在一个示例中,使用具有作为输出值的与用户的语音输入对应的标签的训练数据,来预先训练权重确定器。在训练期间,权重确定器可被训练为接收编码器的输出或者编码器的输出和解码器的输出二者作为输入,并且预测与该输入对应的标签。然而,当不存在将被预测的标签时,权重确定器可被训练为提高语音识别模型的性能分数,例如,字错误率(wer)以及双语评估替换(bilingualevaluationunderstudy,bleu)。

在操作240中,语音识别设备将在操作230中确定的权重施加到从语言模型输出的多个候选文本中的每个候选文本的第二分数。多个候选文本可以是子词、词、短语和句子中的一个。类似于第一分数,第二分数指示与多个候选文本中的每个候选文本对应的概率值或期望值。例如,在语言模型包括多个语言模型的情况下,多个语言模型可提供相同的候选文本。根据一个示例,多个语言模型可提供不同的候选文本。多个语言模型中的每个可基于在先前时间确定的目标文本,输出多个候选文本中的每个候选文本的分数(例如,第二分数和第三分数),以确定在先前时间确定的目标文本之后的下一目标文本。然后,语音识别设备可将与每个语言模型对应的权重施加到从每个语言模型输出的多个候选文本中的每个候选文本的分数。例如,在操作230中确定的权重可乘以从语言模型输出的多个候选文本中的每个候选文本的分数。

在操作250中,语音识别设备基于在操作220中确定的第一分数以及在操作240中施加了权重的第二分数,从多个候选文本选择目标候选文本。例如,语音识别设备可从多个候选文本选择具有第一分数与施加了权重的第二分数的最大和的候选文本作为目标候选文本。如上所述,语音识别设备可基于组合分数的结果,来选择一个目标候选文本。

在一个示例中,语言模型可包括被配置为输出多个候选文本中的每个候选文本的第二分数的第一语言模型以及被配置为输出多个候选文本中的每个候选文本的第三分数的第二语言模型。第一语言模型和第二语言模型可针对相同的候选文本集合来独立地确定分数。在该示例中,当与第二分数和第三分数分别对应的第一权重和第二权重被确定时,语音识别设备可基于在操作220中确定的第一分数、施加了第一权重的第二分数以及施加了第二权重的第三分数,从多个候选文本选择目标候选文本。

在操作260中,语音识别设备将在操作250中选择的目标候选文本确定为与输入语音的一部分对应的目标文本。在一个示例中,语音识别设备可重复地执行操作220至操作260,以顺序地确定与语音输入的一部分分别对应的多个目标文本,并且通过组合确定的多个目标文本,来确定与整个语音输入对应的文本。

如上所述,语音识别设备可选择适合于由用户发出的可根据情况变化的语音的类型的期望的语言模型,或者通过基于语音输入动态地调节将被施加到语言模型的输出的权重来期望地调节每个语言模型的影响,从而可提高语音识别的结果的准确性。因此,语音识别设备可有效地用于需要在执行各种应用的域(例如,智能电话和智能家居)中执行的自然语言处理。

图3是示出如何基于编码器的输出确定权重的示例的示图。虽然图3中的操作可以以所示的顺序和方式来执行,但是在不脱离所描述的说明性示例的精神和范围的情况下,一些操作的顺序可被改变或一些操作可被省略。图3中所示的许多操作可并行或同时执行。图3的一个或多个块以及块的组合可通过执行指定功能的基于专用硬件的计算机(诸如,处理器)或专用硬件和计算机指令的组合来实现。除了下面图3的描述之外,图1至图2的描述也适用于图3并通过引用包含于此。因此,这里可不重复以上描述。

参照图3,基于神经网络的编码器-解码器语言识别模型可用作语言识别模型。编码器-解码器语言识别模型可通过各种解码处理,顺序地估计包括在与输入语音310对应的整个文本中的多个词。如所示出的,输入语音310被输入到编码器320。从编码器320输出输入语音310的抽象的特征值(例如,特征向量),特征值被输入到解码器330和基于神经网络的权重确定器340。

在一个示例中,基于神经网络的编码器320、解码器330和基于神经网络的权重确定器340可被配置为单个网络,并且还可被配置为循环网络(recurrentnetwork)。在一个示例中,基于神经网络的编码器320、解码器330和基于神经网络的权重确定器340可以是深度神经网络(dnn)。dnn可包括全连接网络(fcn)、深度卷积网络(dcn)、循环神经网络(rnn)、长短期存储器(lstm)网络和门控循环单元(gru)。

在一个示例中,基于神经网络的编码器320、基于神经网络的解码器330和基于神经网络的权重确定器340可被实现为具有包括输入、特征图和输出的多个层的架构。在神经网络中,输入图像与被称为内核的过滤器之间的卷积运算被执行并且特征图作为卷积运算的结果被输出。这里,输出的特征图是输入特征图,输出特征图与内核之间的卷积运算被再次执行,结果,输出新的特征图。基于这种重复执行的卷积运算,可输出经由神经网络识别输入图像的特性的结果。

在一个示例中,神经网络可接收输入源句子(例如,语音输入)。利用内核对输入源句子、输入词、输入短语或输入子句执行卷积运算,结果,输出特征图。对作为输入特征图的输出特征图与内核再次执行卷积操作,并输出新的特征图。当如此重复执行卷积运算时,可通过神经网络最终输出关于输入源语句的特征的识别结果。

基于神经网络的编码器320,基于神经网络的解码器330和基于神经网络的权重确定器340可基于深度学习来映射具有非线性关系的输入数据和输出数据,以执行任务(诸如,例如,声音识别、特征提取和权重确定)。深度学习可以是一种应用于从大数据集执行语音识别的机器学习。深度学习可以以监督和/或无监督的方式执行,其可以应用于执行输入数据和输出数据的映射。

解码器330基于从编码器320接收的特征值以及在先前时间确定的先前目标文本350,来确定多个候选文本的多个第一分数。例如,当因为语音识别处于它的初始状态所以不存在先前目标文本350时,解码器330可在不使用先前目标文本350的情况下,仅使用从编码器320接收的特征值,来确定多个候选文本的多个第一分数。

可基于包括音频信号和与音频信号对应的文本的训练数据,来预先训练编码器320和解码器330。这里,当在训练处理中未遇到话语(utterance)或表达(expression)时,多个语言模型(例如,如示出的第一语言模型362、第二语言模型364和第三语言模型366)中的一个或多个可用于在语音识别处理中补偿这样的话语或表达。语音识别设备使用多个语言模型(例如,语言模型362、364和366)以识别在各种域中由用户发出的语音。例如,语言模型362、364和366可基于神经网络、n-gram、或词/字符串表,并且提供各种话语或语音作为输入语音310。

在编码器-解码器语言识别模型的示例中,解码器330可用作语言模型。然而,为了在语音识别中进一步提高性能,至少一个语言模型(例如,语言模型362、364和366)可用作外部的语言模型。在一个示例中,语言模型可包括针对特定域的语言模型。例如,在语言识别模型用于tv中的语音识别的情况下,语言模型可包括被配置为提供与执行tv的功能相关联的多个候选文本的语言模型。因此,在一个示例中,语言模型可专用于针对装置的类型所使用的语法。

例如,当语言模型包括第一语言模型362、第二语言模型364和第三语言模型366时,第一语言模型362、第二语言模型364和第三语言模型366中的每个可基于先前目标文本350提供将被用于确定先前目标文本350之后的下一目标文本的多个候选文本,以及与多个候选文本中的每个候选文本对应的第二分数、第三分数和第四分数。例如,在“everybody”被确定为先前目标文本350的情况下,第一语言模型362可提供多个候选文本(例如,可能跟随“everybody”的“needto”、“meta”和“neat”),并且可提供多个候选文本“needto”、“meta”和“neat”中的每个在“everybody”之后的概率,作为第二分数。在该示例中,第二语言模型364还可提供多个候选文本“needto”、“meta”和“neat”中的每个在“everybody”之后的概率,作为第三分数。第三语言模型366还可类似于第一语言模型362和第二语言模型364来执行功能。在一个示例中,基于动态重打分(on-the-flyrescoring)方法,由语言模型362、364和366提供的第二分数、第三分数和第四分数可应用于解码器330每个解码步骤中。

权重确定器340基于编码器320的输出(例如,特征向量),来确定将被施加到语言模型362、364和366的输出的权重。权重确定器340可以是被训练为基于输入数据输出将被施加到语言模型362、364和366中的每个的输出的权重的神经网络。例如,权重确定器340可确定将被施加到从第一语言模型362输出的第二分数的第一权重、将被施加到从第二语言模型364输出的第三分数的第二权重以及将被施加到从第三语言模型366输出的第四分数的第三权重。第一权重、第二权重和第三权重可用作语言模型362、364和366的输出的组合权重。在一个示例中,第一权重、第二权重和第三权重可由权重确定器340来确定,然后可在每个解码步骤中保持相同的值。

在另一示例中,权重确定器340可基于编码器320的输出,从语言模型362、364和366选择将被施加权重的至少一个语言模型,并且确定将被施加到选择的语言模型的权重。在该示例中,适合于输入语音310的类型的语音识别的语言模型可被选择,因此,语音识别的结果的准确性可被提高。根据一个示例,权重确定器340可仅针对选择的语言模型来确定权重,或者将将被施加到未选择的语言模型的权重设置为0。

基于编码器320的输出,从输入语音310导出的信息可用于权重确定器340以确定权重,从而实现更加准确的语音识别。例如,语言模型362、364和366在语音识别结果中的贡献可基于由权重确定器340确定的权重而改变,从而实现针对输入语音310的类型而优化的语音识别。在该示例中,将被施加到语言模型362、364和366的权重可被调节,使得与输入语音310的类型相关联的语言模型的输出被更大地施加到语音识别结果。输入语音310的类型可被不同地定义。例如,该类型可以是执行语音识别的环境(诸如,例如,tv、冰箱、智能电话和智能家居装置)。在另一示例中,该类型可以是在智能电话中执行语音识别的话语或语音的类型(诸如,例如,打电话、消息发送、应用执行和搜索)。在另一示例中,该类型可以是包括在输入语音310中的词的类型(诸如,例如,人名、地址以及诸如餐厅和酒店的特定类别中的词)。此外,该类型可包括输入语音的上下文、执行语音识别的装置的类型以及以上描述的项中的任何一个或任何组合。因此,可基于输入语音的类型动态地改变语言模型362、364和366中的每个的权重。

在阶段345中,语音识别设备将由权重确定器340确定的权重施加到语言模型362、364和366的输出。例如,如所示出的,语音识别设备将从第一语言模型362输出的第二分数乘以第一权重,将从第二语言模型364输出的第三分数乘以第二权重,并且将从第三语言模型366输出的第四分数乘以第三权重。

语音识别设备从多个候选文本选择目标候选文本。例如,如所示出的,在阶段355中,语音识别设备计算第一分数、乘以第一权重的第二分数、乘以第二权重的第三分数与乘以第三权重的第四分数之和,并且选择多个候选文本之中的具有最大和的候选文本作为目标候选文本。例如,语音识别设备可基于等式1来确定针对多个候选文本中的每个候选文本的最终分数。

[等式1]

p(s)=de(s)+wa×lma(s)+wb×lmb(s)+wc×lmc(s)

在等式1中,p(s)表示候选文本s的最终分数,de(s)表示从解码器330输出的候选文本s的第一分数。lma(s)、lmb(s)和lmc(s)分别表示针对候选文本s的第一语言模型362的第二分数、针对候选文本s的第二语言模型364的第三分数以及针对候选文本s的第三语言模型366的第四分数。此外,wa、wb和wc分别表示由权重确定器340确定的第一权重、第二权重和第三权重。在等式1中,可基于诸如输入语音310的类型、产生输入语音310的环境以及执行语音识别的装置的类型的因素,来调节wa、wb和wc的值。例如,与将被施加到与输入语音310的类型不太相关联的其他语言模型的权重相比,将被施加到与输入语音310的类型更加相关联的语言模型的权重可被设置为更高。基于上面的等式1,语音识别设备从多个候选文本选择具有p(s)的最大值的候选文本作为目标候选文本。

语音识别设备在当前的解码步骤中,将选择的目标候选文本确定为最终的当前目标文本370。在每个解码步骤中,单个词或子词可被确定为当前目标文本370。

图4是示出基于编码器的输出确定权重的示例的示图。虽然图4中的操作可以以所示的顺序和方式来执行,但是在不脱离所描述的说明性示例的精神和范围的情况下,一些操作的顺序可被改变或一些操作可被省略。图4中所示的许多操作可并行或同时执行。图4的一个或多个块以及块的组合可通过执行指定功能的基于专用硬件的计算机(诸如,处理器)或专用硬件和计算机指令的组合来实现。除了下面图4的描述之外,图1至图3的描述也适用于图4并通过引用包含于此。因此,这里可不重复以上描述。

参照图4,在操作410中,语音识别设备接收输入语音。在操作420中,语音识别设备使用编码器320对输入语音进行编码以提取输入语音的抽象的特征值。在操作440中,语音识别设备通过使用解码器330对编码的语音输入进行解码,来计算多个候选文本中的每个候选文本的第一分数。

在操作430中,语音识别设备使用将编码器320的输出作为输入的权重确定器340,来确定将被施加到语言模型的输出的权重。语言模型可包括多个语言模型中的一个或多个,并且权重确定器340可确定将被施加到每个语言模型的输出的权重。在操作450中,语音识别设备从语言模型获得多个候选文本中的每个候选文本的第二分数。语言模型可基于在先前时间确定的先前目标文本,提供与多个候选文本中的每个候选文本对应的第二分数,以确定先前目标文本之后的当前目标文本。

在操作460中,语音识别设备将在操作430中确定的权重施加到多个候选文本中的每个候选文本的第二分数。在操作470中,语音识别设备基于在操作440中确定的第一分数以及在操作460中施加了权重的第二分数,从多个候选文本选择目标候文本,并且将选择的目标候选文本确定为在当前时间的目标文本。例如,语音识别设备可针对多个候选文本中的每个候选文本计算第一分数与施加了权重的第二分数之和,并且将具有最大和的候选文本确定为目标候选文本。在操作480中,语音识别设备输出在操作470中确定的目标文本。在操作470中确定的目标文本可用作下一解码步骤中的语言模型和解码器330的输入,并且操作440、操作450、操作460、操作470和操作480可被重复地执行以确定下一目标文本。

图5是示出使用n-best重打分方法和语音识别设备执行语音识别的示例的示图。

参照图5,编码器520从输入语音510提取抽象的特征值。解码器530基于从编码器520输出的特征值来执行解码,并且输出与输入语音510对应的候选词序列550。例如,当解码被完成时,解码器530从具有最大第一分数(例如,概率)的序列开始,以第一分数的顺序来输出n个候选词序列550。

语言模型560基于解码器530的输出,提供候选词序列550以及与候选词序列550中的每个对应的第二分数。语言模型560可包括单个语言模型或者多个语言模型。例如,在语言模型560包括多于一个语言模型的情况下,多个语言模型中的每个可提供与候选词序列550中的每个对应的分数。

基于神经网络的权重确定器540基于编码器520的输出,确定将被施加到语言模型560的输出的权重。例如,当语言模型560包括多于一个语言模型时,权重确定器540可确定将被施加到多个语言模型中的每个的输出的权重。在阶段545,语音识别设备将由权重确定器540确定的权重施加到从语言模型560输出的第二分数。例如,与候选词序列550中的每个对应的第二分数可乘以权重。

目标文本确定器570可基于从解码器530输出的候选词序列550的第一分数以及施加了权重的候选词序列550的第二分数,从候选词序列550选择目标词序列。例如,目标文本确定器570可从候选词序列550,选择候选词序列550之中的具有最大的最终分数的词序列作为目标词序列。然后,目标文本确定器570输出选择的目标词序列作为目标文本580。

图6是示出基于编码器的输出以及先前目标文本确定权重的示例的示图。除了下面图6的描述之外,图3的描述也适用于图6并通过引用包含于此。因此,这里可不重复以上描述。

在识别单个语音输入(例如,语音输入610)的处理中,可需要基于包括在语音输入610中的文本,不同地施加每个语言模型的权重。例如,当与语音输入610(例如,“呼叫chaewon”)对应的语音信号被输入到用于语音识别的智能电话时,语音输入610的前部分“呼叫”可以是针对智能电话中的语音识别主要输入的话语或语音,因此可使用与智能电话的域相关联的语言模型或通用语言模型来识别。然而,语音输入610的后部分“chaewon”可以是消息发送者的姓名,因此为了更加准确的语音识别,可期望增大与存储在智能电话中的联系信息的域相关联的语言模型的比例,以将该姓名与相似发音的姓名(例如,“jaewon”、“chawon”和“cheon”)进行区分。

参照图6,解码器630基于从编码器620输出的特征值以及在先前时间确定的先前目标文本,来确定多个候选文本的多个第一分数。在每个解码步骤中,除了基于作为由用户发出的语音的语音输入610之外,权重确定器640还基于来自先前的解码步骤的语音识别的结果,来确定将被施加到语言模型650的输出的权重。例如,权重确定器640可基于先前目标文本以及编码器620的输出,来确定将被施加到从语言模型650输出的第二分数的第一权重。在该示例中,直到当前时间为止确定的一个或多个目标文本中的至少一个可被输入到权重确定器640。

在一个示例中,在每个解码步骤中,权重确定器640确定将被施加到语言模型650的输出的权重。在每个解码步骤中,权重确定器640接收编码器620的输出以及先前输出的目标文本,并且确定在当前时间的权重。在该示例中,在上面等式1中的wa、wb和wc可在每个解码步骤中变化。例如,在先前时间确定的wa以及在当前时间确定的wa可彼此不同。

在上述示例中,权重确定器640可将将被施加到与智能电话的域相关联的语言模型的输出的权重设置为高,直到前部分“呼叫”被输出在如上所述的示例的语音信号中的时间点为止。在随后的时间,权重确定器640可基于先前目标文本(例如,“呼叫”)来确定权重,因此权重确定器640可确定跟随先前目标文本“呼叫”的智能电话的联系列表上的人名的概率为高。因此,权重确定器640可将将被施加到与联系列表的域相关联的语言模型的输出的权重设置为高。换言之,权重确定器还可被配置为:响应于在语音中检测到用户姓名,增大与存储在实现语音识别设备的装置上的联系信息对应的语言模型的权重。

语音识别设备在阶段645中,将在每个解码步骤中确定的权重施加到语言模型650的输出,并且基于施加权重的结果从多个候选文本选择当前目标文本660。将被施加到第二分数的权重可在每个解码步骤中改变。例如,如所示出的,语音识别设备将与多个候选文本中的每个候选文本对应的第二分数乘以由权重确定器640确定的权重。语音识别设备在阶段655中,针对多个候选文本中的每个候选文本计算第一分数与施加了权重的第二分数之和,并且基于和的计算的结果,从多个候选文本之中,确定在当前时间的目标文本660(例如,“chaewon”)。例如,语音识别设备可将多个候选文本之中的具有最大和的候选文本确定为目标文本660。

图7是示出基于编码器的输出和先前目标文本确定权重的示例的示图。虽然图7中的操作可以以所示的顺序和方式来执行,但是在不脱离所描述的说明性示例的精神和范围的情况下,一些操作的顺序可被改变或一些操作可被省略。图7中所示的许多操作可并行或同时执行。图7的一个或多个块以及块的组合可通过执行指定功能的基于专用硬件的计算机(诸如,处理器)或专用硬件和计算机指令的组合来实现。除了下面图7的描述之外,图2和图6的描述也适用于图7并通过引用包含于此。因此,这里可不重复以上描述。

参照图7,在操作710中,语音识别设备基于编码器320的输出和先前确定的目标文本,来确定将被施加到语言模型的输出的权重。在每个解码步骤中,语音识别设备基于先前确定的多个目标文本中的至少一个,来确定权重。在操作460中,语音识别设备将在操作710中确定的权重施加到从语言模型获得的第二分数。在操作470中,语音识别设备基于在操作440中确定的第一分数以及在操作460中施加了权重的第二分数,从多个候选文本选择目标候选文本,并且将选择的目标候选文本确定为在当前时间的目标文本。在操作710中,确定的目标文本可用于确定在随后时间的权重。在操作480中,语音识别设备输出在当前时间确定的目标文本,并且重复地执行操作440、操作450、操作460、操作470、操作480和操作710。

图8是示出基于编码器的输出和上下文信息确定权重的示例的示图。虽然图8中的操作可以以所示的顺序和方式来执行,但是在不脱离所描述的说明性示例的精神和范围的情况下,一些操作的顺序可被改变或一些操作可被省略。图8中所示的许多操作可并行或同时执行。图8的一个或多个块以及块的组合可通过执行指定功能的基于专用硬件的计算机(诸如,处理器)或专用硬件和计算机指令的组合来实现。除了下面图8的描述之外,图3的描述也适用于图8并通过引用包含于此。因此,这里可不重复以上描述。

参照图8,权重确定器820基于由用户发出的输入语音310以及上下文信息810,来确定将被施加到语言模型(例如,第一语言模型362、第二语言模型364和第三语言模型366)的输出的权重。例如,权重确定器820基于编码器320的输出以及上下文信息810,来确定将被分别施加到从第一语言模型362、第二语言模型364和第三语言模型366分别输出的第二分数、第三分数和第四分数的第一权重、第二权重和第三权重。上下信息810可包括与产生输入语音310的情况相关联的信息或者可基于用户信息。例如,上下文信息810可包括用户信息(诸如,例如,用户的性别、年龄、国籍和职业概况)以及与当前位置、当前时间、当前操作的程序、语音识别历史和对话历史相关联的信息。上下文信息810还可用于确定权重,使得执行的语音识别更加适合于产生输入语音310的情况或用户的个人特点。语音识别设备在阶段345中,将在每个解码步骤中确定的权重施加到语言模型(例如,第一语言模型362、第二语言模型364和第三语言模型366)的输出,并且基于施加权重的结果,从多个候选文本选择当前目标文本370。

图9是示出基于编码器的输出和上下文信息确定权重的示例的示图。虽然图9中的操作可以以所示的顺序和方式来执行,但是在不脱离所描述的说明性示例的精神和范围的情况下,一些操作的顺序可被改变或一些操作可被省略。图9中所示的许多操作可并行或同时执行。图9的一个或多个块以及块的组合可通过执行指定功能的基于专用硬件的计算机(诸如,处理器)或者专用硬件和计算机指令的组合来实现。除了下面图9的描述之外,图2和图8的描述也适用于图9并通过引用包含于此。因此,这里可不重复以上描述。

参照图9,在操作910中,语音识别设备读取上下文信息。在操作920中,语音识别设备基于编码器320的输出以及上下文信息,来确定将被施加到语言模型的输出的权重。在操作460中,语音识别设备将在操作920中确定的权重施加到从语言模型获得的第二分数。在操作470中,语音识别设备基于在操作440中确定的第一分数以及在操作460中施加了权重的第二分数,从多个候选文本选择目标候选文本,并且将选择的目标候选文本确定为在当前时间的目标文本。在操作480中,语音识别设备输出在当前时间确定的目标文本,并且重复地执行操作440、操作450、操作460、操作470、操作480和操作910。

图10是示出基于编码器的输出、先前目标文本和上下文信息中的一个或多个确定权重的示例的示图。

参照图10,编码器1020从输入语音1010提取特征值。解码器1030基于从解码器1020输出的特征值以及在先前时间确定的先前目标文本,来确定多个候选文本的各自的第一分数。语言模型1050基于先前目标文本,来输出先前目标文本之后的多个候选文本以及与多个候选文本中的每个候选文本对应的第二分数。权重确定器1040基于编码器1020的输出、先前目标文本和上下文信息1060中的至少一个,来确定将被施加到语言模型1050的输出的权重。在阶段1045中,语音识别设备将由权重确定器1040确定的权重施加到从语言模型1050输出的第二分数。例如,语音识别设备可将与多个候选文本中的每个候选文本对应的第二分数乘以由权重确定器1040确定的权重。在阶段1055,语音识别设备针对多个候选文本中的每个候选文本,计算第一分数与施加了权重的第二分数之和,并且将多个候选文本之中的具有最大和的候选文本确定为目标文本1070。

图11是示出语音识别设备的示例的示图。

参照图11,语音识别设备1100包括处理器1110、存储器1120以及输入和输出接口1130。根据一个示例,语音识别设备1100还可包括存储了至少一个语言模型的语言模型db1140。

在一个示例中,输入和输出接口1130是包括一个或多个硬件组件的物理结构,所述一个或多个硬件组件提供呈现用户接口、呈现显示器和/或接收用户输入的能力。输入和输出接口1130可包括用于接收语音输入的声音接口,例如,麦克风。此外,输入和输出接口1130可包括输入接口(诸如,键盘、触摸屏和触摸板)以及用于输出语音识别的结果的输出接口(诸如,显示器)。然而,输入和输出接口1130不限于上述示例,并且在不脱离所描述的说明性示例的精神和范围的情况下,可使用可操作地连接到语音识别设备1100的任何其他显示器(诸如,例如,智能电话和眼镜显示器(egd))。

存储器1120可连接到处理器1110,并且存储能够由处理器1110执行的指令以及将由处理器1110操作或计算的数据或者由处理器1110处理的数据。此外,存储器1120存储在处理器1110处理期间生成的各种信息。存储器1120可包括非暂时性计算机可读介质(例如,高速随机存取存储器(ram))和/或非易失性计算机可读存储介质(例如,至少一个磁盘存储装置和闪存装置、以及其他非易失性固态存储装置)。下面提供关于存储器1120的进一步细节。

处理器1110可控制语音识别设备1100的整体操作,并且执行语音识别设备1100的功能和/或指令。处理器1100可基于语音输入来执行语音识别,并且执行上面参照图1至图10描述的一个或多个方法或操作。

例如,处理器1110可基于语音输入来确定多个候选文本中的每个候选文本的第一分数。处理器1110可使用基于编码器-解码器的语言识别模型或者基于声学语言模型的语言识别模型,来确定第一分数。处理器1110可从语音输入提取特征值,并且使用被配置为输出与提取的特征值对应的权重的基于神经网络的权重确定器,来确定将被施加到语言模型的输出的权重。处理器1110可根据上述各种实施例来确定权重。例如,语言模型可包括多个语言模型。在该示例中,处理器1110可确定将被施加到多个语言模型中的每个的权重,或者从多个语言模型选择将被施加权重的至少一个语言模型,并且确定将被施加到选择的语言模型的权重。语言模型可存储在语言模型db1140中。

处理器1110可将权重施加到从语言模型输出的多个候选文本中的每个候选文本的第二分数。处理器1110可基于第一分数和施加了权重的第二分数,从多个候选文本选择目标候选文本,并且将选择的目标候选文本确定为与语音输入的至少一部分对应的目标文本。如上所述,处理器1110可通过以序列顺序顺序地在每个解码步骤中确定目标文本,来确定与整个输入语音对应的文本。处理器1110可将与整个输入语音对应的文本显示在输入和输出接口1130的显示器上。此外,处理器1110执行上面参照图1至图10描述的至少一种方法与其对应的算法。

处理器1110是指被配置为具有物理结构中的电路的硬件以执行期望的操作的数据处理装置。例如,期望的操作可包括程序中所包括的代码或指令。例如,配置为硬件的数据处理设备可包括微处理器、中央处理单元(cpu)、处理器核、多核处理器、多处理器、专用集成电路(asic)和现场可编程门阵列(fpga)。处理器1110执行程序并控制图像识别模型。在一个示例中,处理器1110可以是图形处理器单元(gpu)、可重构处理器,或者具有任何其他类型的多处理器或单处理器配置。由处理器1110执行的程序代码被存储在存储器1120中。下面提供关于处理器1110的进一步细节。

在这里针对图1、图3、图5、图6、图8、图10和图11描述的语音识别装置100、语音识别设备110、编码器320、解码器330、权重确定器340、编码器520、解码器530、权重确定器540、目标文本确定器570、解码器630、编码器620、权重确定器640、权重确定器820、解码器1030、编码器1020、权重确定器1040、语音识别设备1100、以及其他设备、装置、单元、模块和其他组件由硬件组件来实现。可用于执行本申请中描述的操作的硬件组件的示例适当地包括:控制器、传感器、发生器、驱动器、存储器、比较器、算术逻辑单元、加法器、减法器、乘法器、除法器、积分器和被配置为执行本申请中描述的操作的任何其他电子组件。在其他示例中,执行本申请中描述的操作的一个或多个硬件组件由计算硬件(例如,由一个或多个处理器或计算机)实现。处理器或计算机可由一个或多个处理元件(例如,逻辑门阵列、控制器和算术逻辑单元、数字信号处理器、微型计算机、可编程逻辑控制器、现场可编程门阵列、可编程逻辑阵列、微处理器或被配置为以限定的方式响应和执行指令以实现期望的结果的任何其他装置或装置的组合)实现。在一个示例中,处理器或计算机包括或连接到存储由处理器或计算机执行的指令或软件的一个或多个存储器。由处理器或计算机实现的硬件组件可执行指令或软件(诸如,操作系统(os)和在os上运行的一个或多个软件应用),以执行本申请中描述的操作。硬件组件还可响应于指令或软件的执行来访问、操纵、处理、创建和存储数据。为简单起见,单数形式的术语“处理器”或“计算机”可用于本申请中描述的示例的描述中,但是在其他示例中,多个处理器或计算机可被使用,或者处理器或计算机可包括多个处理元件或多种类型的处理元件或者二者。例如,单个硬件组件或两个或更多个硬件组件可由单个处理器或者两个或更多个处理器或者处理器和控制器实现。一个或多个硬件组件可由一个或多个处理器或者处理器和控制器实现,并且一个或多个其他硬件组件可由一个或多个其他处理器或者另一处理器和另一控制器实现。一个或多个处理器或者处理器和控制器可实现单个硬件组件,或者两个或更多个硬件组件。硬件组件可具有不同的处理配置中的任何一种或多种,其中,不同的处理配置的示例包括:单个处理器、独立处理器、并行处理器、单指令单数据(sisd)多处理、单指令多数据(simd)多处理、多指令单数据(misd)多处理和多指令多数据(mimd)多处理。

图2和图10中示出的执行本申请中描述的操作的方法由计算硬件(例如,由一个或多个处理器或计算机)执行,其中,该计算硬件被实现为如以上描述地执行用于执行本申请中描述的通过所述方法执行的操作的指令或软件。例如,单个操作或两个或更多个操作可由单个处理器、或者两个或更多个处理器、或者处理器和控制器执行。一个或多个操作可由一个或多个处理器或者处理器和控制器执行,并且一个或多个其他操作可由一个或多个其他处理器或者另一处理器和另一控制器执行。一个或多个处理器或者处理器和控制器可执行单个操作、或者两个或更多个操作。

用于控制处理器或计算机以实现硬件组件并执行上述的方法的指令或软件被写为计算机程序、代码段、指令或它们的任何组合,用于单独地或共同地指示或配置处理器或计算机,以作为机器或专用计算机进行操作,来执行由如上所述的硬件组件和方法执行的操作。在一个示例中,指令或软件包括小程序(applet)、动态链接库(dll)、中间件、固件、装置驱动器、存储输出的状态信息的方法的应用程序中的至少一个。在一个示例中,指令或软件包括由处理器或计算机直接执行的机器代码(诸如,由编译器产生的机器代码)。在另一示例中,指令或软件包括由处理器或计算机使用解释器执行的高级代码。本领域普通编程技术人员可基于附图中示出的框图和流程图以及说明书中的相应的描述来容易地编写指令或软件,其中,附图中示出的框图和流程图以及说明书中的相应的描述公开了用于执行由如上所述的硬件组件和方法执行的操作的算法。

用于控制计算硬件(例如,一个或多个处理器或计算机)实现硬件组件并执行如上所述的方法的指令或软件、以及任何相关联的数据、数据文件以及数据结构可被记录、存储或固定在一个或多个非暂时性计算机可读存储介质中或一个或多个非暂时性计算机可读存储介质上。非暂时性计算机可读存储介质的示例包括:只读存储器(rom)、随机存取可编程只读存储器(prom)、电可擦除可编程只读存储器(eeprom)、随机存取存储器(ram)、动态随机存取存储器(dram)、静态随机存取存储器(sram)、闪存、非易失性存储器、cd-rom、cd-r、cd+r、cd-rw、cd+rw、dvd-rom、dvd-r、dvd+r、dvd-rw、dvd+rw、dvd-ram、bd-rom、bd-r、bd-rlth、bd-re、蓝光或光盘存储、硬盘驱动器(hdd)、固态驱动器(ssd)、卡型存储器(诸如,多媒体卡、安全数字(sd)卡或者极端数字(xd)卡)、磁带、软盘、磁光数据存储装置、光学数据存储装置、硬盘、固态盘、以及任何其他装置,该任何其他装置被配置为以非暂时方式存储指令或软件以及任何相关联的数据、数据文件以及数据结构,并向处理器或计算机提供指令或软件以及任何相关联的数据、数据文件以及数据结构,使得该处理器和计算机能够执行指令。在一个示例中,指令或软件以及任何相关联的数据、数据文件和数据结构分布在联网的计算机系统上,使得指令和软件以及任何相关联的数据、数据文件和数据结构通过一个或多个处理器或者计算机以分布式方式被存储、访问和执行。

虽然本公开包括特定示例,但是在理解了本申请的公开之后将清楚,在不脱离权利要求及它们的等同物的精神和范围的情况下,可在这些示例中做出形式上和细节上的各种变化。这里所描述的示例将仅被理解为描述性,而非出于限制的目的。在每个示例中的特征或方面的描述将被认为是适用于其他示例中的类似特征或方面。如果以不同的顺序执行描述的技术,和/或如果以不同的方式组合描述的系统、架构、装置或者电路中的组件和/或所述组件被其他组件或它们的等同物替换或补充,则可获得适当的结果。

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