使用序列到序列映射在模拟数据与语音识别输出之间进行协调

文档序号:39303 发布日期:2021-09-24 浏览:63次 >En<

阅读说明:本技术 使用序列到序列映射在模拟数据与语音识别输出之间进行协调 (Reconciling between analog data and speech recognition output using sequence-to-sequence mapping ) 是由 I·阿雷尔 J·B·卢克斯 A·齐亚伊 M·莱夫科维茨 于 2019-12-06 设计创作,主要内容包括:接收合成训练数据项,该合成训练数据项包括表示由模拟器输出的合成句子的第一符号序列。使用机器学习模型处理所述合成训练数据项,该机器学习模型输出表示所述合成句子的第二符号序列。通过用第二符号序列替换第一符号序列来修改所述合成训练数据项。在第一符号序列与第三符号序列之间存在统计学上的显著不匹配,该第三符号序列可由声学模型输出,该声学模型处理表示所述合成句子的话语的一组声学特征,并且在第二符号序列与第三符号序列之间不存在统计学上的显著不匹配。所述经修改的合成训练数据项可以被用于训练第二机器学习模型,该第二机器学习模型处理由所述声学模型输出的数据。(A synthetic training data item is received that includes a first sequence of symbols representing a synthetic sentence output by a simulator. The synthesized training data item is processed using a machine learning model that outputs a second sequence of symbols representing the synthesized sentence. The synthetic training data item is modified by replacing the first symbol sequence with the second symbol sequence. There is a statistically significant mismatch between the first symbol sequence and a third symbol sequence, which may be output by an acoustic model that processes a set of acoustic features representing utterances of the synthesized sentence, and there is no statistically significant mismatch between the second symbol sequence and the third symbol sequence. The modified synthetic training data items may be used to train a second machine learning model that processes data output by the acoustic model.)

具体实施方式

本公开的实施例涉及序列到序列转换器(在本文中还称为符号到符号转换器、协调器或模拟器到声学模型协调器),其将模拟器的输出(例如,诸如合成训练数据项中的词、音节或音素(phoneme)的符号序列)和声学模型或ASR的输出(例如,诸如词、音节或音素的符号序列)协调一致。序列到序列转换器将模拟的训练数据中的符号序列转换为新的符号序列,该新的符号序列更加紧密地匹配声学模型或ASR的输出。可以通过用新的符号序列替换原始的符号序列来修改模拟的训练数据。随后,经修改的训练数据可以被用于训练转码器或NLU。在合成训练数据项中的初始符号序列与由声学模型或ASR输出的符号序列之间可能存在统计学上的显著不匹配。这种不匹配意味着训练转码器或NLU所基于的数据不同于转码器或NLU在操作期间接收的数据。这种不匹配可能显著降低转码器或NLU的从基于真实世界用户话语的符号序列适当地确定意图、动作和/或实体的精确度。然而,通过将序列到序列转换器(协调器)应用于用于训练NLU或转码器的合成数据,经修改的训练数据项中的符号序列可能与由声学模型或ASR产生的符号序列在统计学上没有显著不匹配。

实施例中描述的会话代理包括声学模型(AM)和/或语言模型(ML)、转码器和被布置成管道的业务逻辑系统。声学模型被训练以从表示讲话者的话语的音频波形接收包括声学特征的输入,并且输出表示讲话者的话语的音素序列(语音的基本构建块)。音素序列可以由包括音素概率分布的向量的序列来表示。声学模型还可以可选地输出非音素或韵律特征的序列以及音素序列。这些特征的一些示例包括音调、音量、持续时间等。由声学模型输出的音素(例如,其可以包括音素概率分布的向量)和/或非音素或韵律特征可以以规则和/或不规则间隔出现。

由声学模型输出的音素序列(例如,其可以包括表示音素概率分布的向量的序列)和/或非音素特征可以被输入到转码器中,该转码器被训练以接收音素序列并且基于音素序列来输出关于意图的核心推断(在本文中称为转码)。所确定的意图(转码)可以包括一个或多个所请求的动作(例如,将物品添加到订单、取消订单、从订单移除物品、从订单修改物品)以及与所述一个或多个动作相关联的一个或多个实体(例如,名词)(例如,汉堡、泡菜、饮料、特定飞机航班等)。应该注意,在一些实施例中描述的转码器对音素序列进行操作,而不是对文本进行操作。

在其它实施例中,会话代理管道包括传统的ASR和NLU。会话代理可以在ASR系统处接收音频波形,并且执行特征提取以通过ASR系统将音频波形转换成声学特征的序列,该ASR系统可以包括声学模型(AM)和语言模型(LM)。AM确定从这些声学特征到各种假设音素序列的映射的可能性,而LM确定词序列的先验可能性。AM可以包括发音词汇表,以选择给定输入的最大可能的词序列(例如,充当语音转写引擎)。随后,由ASR输出的文本的序列被输入NLU系统中,该NLU系统基于由ASR输出的文本来确定讲话者的意图。随后,将讲话者的所确定的意图输入到对话管理系统中,该对话管理系统确定要执行以满足所确定的意图的一个或多个动作。

在实施例中,由转码器或NLU输出的转码被输入到业务逻辑系统或层中。业务逻辑系统可以包括检查转码的不一致和/或错误(例如,诸如与蛋黄酱一起订购的健怡可乐,或在短时间范围内订购的多个相同的物品)的一个或多个规则。业务逻辑解决任何所标识的不一致和/或错误,并随后执行一个或多个操作以满足转码中的动作,诸如将物品添加到订单。

可以使用合成的训练数据来对转码器和/或NLU进行训练,该合成训练数据已经被使得训练数据中的符号序列更加接近地类似于由AM或ASR在操作期间输出的符号序列的协调器(序列到序列转换器)处理。

参考会话代理管道来描述一些实施例,该会话代理管道包括输出音素序列的声学模型和将音素序列作为输入的转码器。在这样的实施例中,音素到音素转换器可以被用于将模拟的训练数据项中的音素序列转换成与由声学模型输出的音素序列相类似的音素序列,以训练转码器。例如,在真实世界中,人们可能说出或发出与用于创建合成训练数据项的词典中规定的不同的声音,并且音素到音素转换器可以利用来自真实世界语音的音素来转换模拟数据中的音素。然而,应该理解,在包括以音素级别操作的转码器的实施例中描述的序列到序列转换器(例如,音素到音素转换器)也适用于包括ASR和NLU并且在词级别操作的传统会话代理。对于这样的实施例,序列到序列转换器可以将模拟训练数据项中的文本或词序列与在使用期间与由ASR输出的文本或词序列具有更加接近地匹配的文本或词序列进行转换。另外,序列到序列转换器还可以被用于其它对话代理和/或其它系统,该对话代理和/或其它系统使用具有与从系统将操作于的真实世界数据导出的符号序列不同的符号序列的合成数据来训练机器学习模型。符号序列可以是音素序列、词序列、音节序列等。

在一些实施例中,会话代理管道可以在受限域(restricted field)中操作。在受限域内可能存在适于训练会话代理管道的转码器或NLU的有限数据项(或没有数据项)。因此,在一些实施例中,会话模拟器生成用于训练转码器的合成训练数据项。合成训练数据项可以包括a)合成句子的文本表示,以及b)包括一个或多个动作和与包括在合成句子中的所述一个或多个动作相关联的一个或多个实体的合成句子的转码。合成句子和相关联的转码可以位于会话代理将在其内运行的受限域内。对于每个合成训练数据项,字素(grapheme)到音素转换器可以将合成句子的文本表示转换成表示合成句子的音素序列。因此,第二训练数据集中的数据项可以包括a)表示合成句子的序列音素以及b)合成句子的转码序列。随后,音素到音素转换器可以将音素序列转换成更紧密地匹配声学模型的可能输出的新的音素序列。新的音素序列可以被用作在训练期间到转码器中的输入,并且转码可以是与音素序列相关联的标记或目标。因此,可以在合成训练数据上训练转码器,该合成训练数据是使用域特定信息和/或随机文法规则生成的,并且包括已经由音素到音素转换器输出的音素序列。这使得大范围的可能话语能够被生成,潜在地覆盖了受限域内的可能性的整个范围,该受限域包括与可能由声学模型输出的那些音素序列紧密匹配的音素序列。结果是,转码器可以是鲁棒的,并且可以被训练为在受限域内精确地确定讲话者意图,即使当原始音频包括声学噪声、混响、失真、口音和非标准语法(诸如话语中的停止、重新开始、不完整话语、纠正、“嗯”、“和”等)时。

现在参考附图,图1A是示出了根据本公开的实施例的会话代理管道100A的框图,该会话代理管道包括已经使用合成训练数据集159训练的转码器或NLU 120。会话代理管道100A可以包括声学模型(AM)110、转码器120和业务逻辑130(还称为业务逻辑系统或业务逻辑层)。可选地,会话代理管道100A可以包括ASR 110、NLU 120和业务逻辑130。

声学模型110可以是已经被训练以从声学特征(x)105生成音素序列(标记为符号115)的机器学习模型(或多个机器学习模型的布置),该声学特征(x)105是从话语的音频数据中(例如,从一个或多个讲话者)提取的。术语“符号”在本文中被用作“符号序列”(例如,诸如音素序列、子音素序列、词素序列、词序列等等)的简写。尽管参考音素序列(标记为符号)讨论了实施例,但是应该理解,这样的实施例也可以应用于其它符号的序列。转码器120可以是基于音素序列(例如,符号115)确定讲话者意图的另一机器学习模型(或多个机器学习模型的布置)。意图可以被表示为包括动作和相关联的实体的一个或多个转码125。转码125可以被输入到业务逻辑130中,该业务逻辑130可以确定要执行以满足由所述一个或多个转码125所表示的意图的一个或多个操作(o)135(例如,执行在转码125中标识的一个或多个动作)。

在一些实施例中,会话代理100A不包括ASR或确定特定词序列的概率的其它语言模型。作为代替,声学模型110输出音素序列而不是词序列,并且转码器120基于音素序列而不是基于词序列来确定意图。在一些实施例中,AM包括语言模型。然而,在这样的实施例中,AM仍然输出音素而不是文本。使用音素而不使用词具有多个益处。首先,通过使用音素,可以消除多个子系统,以减少会话代理管道100A所使用的计算资源、存储器资源和/或网络带宽资源的数量。另外,通过使用音素级别信息而不是词级别信息,声学模型110的输出域从数千种可能性(例如,对于英语来说大约180000个词)减少到少于100种可能性(例如,在卡内基梅隆大学发音词典中39个音素)。因此,在音素级别,39个不同的音素可以被用于表示英语词典中的所有词。此外,音素还可以覆盖任何话语,包括具有词汇表之外的词和短语的那些话语,该词汇表之外的词和短语没有被包括在任何语言词典中。当使用不在词典中的词时,在词级别操作的标准ASR和NLU可能会失效,这正是由于它们必须将所有或大部分输入映射到文本。然而,即使在话语中使用这些词汇表之外的词时,会话代理管道100A也能够精确地确定讲话者意图。

声学模型110可以以规则或不规则间隔输出音素和/或非音素或韵律特征。例如,声学模型110可以以规则或不规则间隔输出音素序列(以及可选地,非音素或韵律特征),其中在每个间隔处输出不同的音素(或音素概率的向量)。某一时间间隔内的输出音素可以是具有成为正确的最高概率的单个音素。在一个实施例中,输出音素是包括针对每个音素的单独元素的稀疏向量。输出音素可以具有与具有最高概率的获胜音素相关联的1值和与其它音素相关联的0值。可选地,输出音素可以是包括对于一些或所有可能音素的概率的向量。例如,声学模型110的输出可以是向量序列(例如,如果CMU音素未与非音素特征一起使用,则为39个元素向量),其中每个向量包括针对每一个元素的概率值(例如,第一音素的10%概率、第二向量的90%概率和其余音素的0%概率;[0.1,0.9,0,…,0])。在一个实施例中,音素序列被表示为包括一系列对准(alignment)值(例如,0、1、2、3等)的点阵(lattice),每个对准值表示一个时间步,其中每个对准值与稀疏向量相关联,该稀疏向量对于获胜的音素类别为值1,而对于其余音素类别为值0。在一个实施例中,音素序列被表示为包括一系列对准值(例如,0、1、2、3等)的点阵,每个对准值表示规则或不规则的时间步,其中每个对准值与语音后验概率(phonetic posteriorgram)相关联。语音后验概率由概率向量来定义,该概率向量表示针对语音帧(例如,来自语音帧的窗口)的一组预定义语音类别(例如,39个CMU音素类别)的后验概率。

在一个实施例中,声学模型110是将音频数据输入(例如,诸如从音频波形中提取的MFCC的声学特征)映射成诸如如上所述的音素序列的隐马尔可夫模型(hidden Markovmodel,HMM)。HMM是统计学马尔可夫模型,在其中正被建模的系统被假定为具有隐藏状态的马尔可夫过程。马尔可夫模型是一种用于对随机变化的系统进行建模的随机模型。隐马尔可夫模型利用随时间改变的随机变量对系统的状态进行建模,其中状态仅是部分可观察的。换句话说,观察与系统的状态相关,但是它们通常不足以精确地确定系统的状态。例如,对于HMM,观察到的数据是语音音频波形的嵌入(例如,MFCC和/或其它声学特征),并且隐藏状态是讲出的音素。

在一个实施例中,声学模型110是经训练的神经网络,诸如循环神经网络(RNN)。RNN是一种类型的神经网络,其包括记忆以使神经网络能够捕获时间依赖性。RNN能够学习取决于当前输入和过去输入两者的输入-输出映射。可以使用训练数据集来训练RNN,以生成固定数量的输出(例如,将诸如音频数据的随时间变化的数据分类为属于固定数量的类别,诸如音素类别)。可以使用的一种类型的RNN是长短期记忆(LSTM)神经网络。在一个实施例中,使用六层LSTM。

在一个实施例中,声学模型110是神经网络(例如,RNN)和隐马尔可夫模型的组合。在一个实施例中,声学模型具有两个主要部分,包括隐马尔可夫模型(HMM)和HMM内部的对特征统计进行建模的长短期记忆(LSTM)。可选地,AM可以基于高斯混合模型(GaussianMixture Model,GMM)和HMM的组合(例如,GMM-HMM)。在一个实施例中,声学模型110是基于框架的实现,以输出音素(以及可选地非音素或韵律特征)而不是文本。其它机器学习模型也可以用于声学模型110。

转码器120是被训练为从音素序列(例如,符号115)生成转码125的机器学习模型。转码器120可以是或包括神经网络。在一个实施例中,转码器120是循环神经网络。在一个实施例中,转码器120是使用联结主义时间分类(CTC)损失函数的LSTM。

转码器120接收音素序列(例如,符号115)作为输入,并且输出一个或多个转码125,其中转码125表示对与在原始音频数据的声学特征(x)105中捕获的话语相关联的意图的推断。可以由转码器120输出的可能的转码的集合可以取决于受限域(针对该受限域来训练会话代理管道100A)。可以在不同域中跨不同会话代理管道使用相同的声学模型110,但是在实施例中,转码器120可以被用于特定域。在快餐订购的示例中,用于转码的可能动作可以包括将实体添加到订单、从订单中移除实体以及修改实体。可被添加到订单的可能实体可以基于与快餐饭店相关联的菜单。每个条目可以与附加的实体相关联,诸如尺寸实体、组分/成分实体等。例如,汉堡实体可以与肉、番茄酱、芥末、蛋黄酱、洋葱、莴苣和泡菜的子实体相关联,并且这些子实体中的任何一个以及汉堡实体可以被添加、移除或修改。

在示例中,可以从陈述“can I please have a hamburger with no pickles,oh,and please add extra onions(我想要一个不加泡菜的汉堡,但是多加点洋葱).”的话语的波形中提取声学特征105。声学模型110可以接收这些音频数据的声学特征(例如,包括MFCC的嵌入)105作为输入,并且可以输出如下的音素序列:“k ah n ay p l iy z hh ae vah hh ae m b er g er w ih th n ow p ih k ah l z ow ae n d p l iy z ae d eh ks t er ah n y ah n z.”。随后,可以将该音素序列(例如,符号115)输入到转码器120中,其可以输出表示原始话语的意图的一个或多个转码125。例如,转码器120可以输出如下转码序列:{[order(订单)]、[hamburger(汉堡)]、[remove(移除)]、[pickles(泡菜)]、[add(添加)]、[onions(洋葱)]}。

将由转码器120输出的转码125输入业务逻辑130中。业务逻辑130可以基于转码125作出最终决策。业务逻辑130可以执行一个或多个操作或动作(o)135以满足与转码125相关联的意图。在以上示例中,业务逻辑130可以将汉堡添加到订单,并且可以在订单中指定汉堡没有泡菜但有额外的洋葱。在一些实施例中,业务逻辑130可以包括将一个或多个规则应用于转码的规则引擎。随后,业务逻辑130可以基于是否满足该一个或多个规则来执行一个或多个操作。在一个实施例中,业务逻辑130包括确定转码125是否有意义和/或是否已连续订购了多个相同实体的一个或多个规则。在一个实施例中,业务逻辑130包括用于在转码指示不可能的或模糊不清的意图时产生要输出给讲话者的后续问题的一个或多个规则。

在一个实施例中,ASR 110可以是已经被训练为从声学特征105生成词序列(例如,符号115)的机器学习模型(或多个机器学习模型的布置),该声学特征是从话语的音频数据中(例如,从一个或多个讲话者)提取的。NLU 120可以是基于词序列(例如,符号115)确定讲话者意图的另一机器学习模型(或多个机器学习模型的布置)。意图可以被表示为包括动作和相关联的实体的一个或多个转码125。转码125可以被输入到业务逻辑130中,该业务逻辑130可以确定要执行以满足由所述一个或多个转码125所表示的意图的一个或多个操作135(例如,执行在转码125中标识的一个或多个动作或操作(o)135)。

在实施例中,使用训练数据集139来训练声学模型或ASR 110。训练数据集139中的训练数据项140可以是或包括真实世界数据。例如,可以使用用于训练语音识别系统的可用训练数据集139(诸如Common Voice和Libre语音数据集),其可以包括音频数据和该音频数据的相关联的文本转写。对于训练数据集139中的训练数据项140中的每个训练数据项,可以从训练数据项140的音频数据中提取声学特征(x)。训练数据项140则可以包括声学特征(x)145和符号序列(y)150。符号序列(y)可以是词序列、音节序列、音素序列等。在一些情况下,符号序列150最初是词序列,但是使用字素到音素转换器变换成音素序列。

由于声学特征145和声学特征105两者均来自真实世界话语,所以它们两者均利用(x)表示。另外,声学特征145和相关联的符号序列150被用于训练声学模型或ASR 110。因此,由声学模型或ASR 110输出的符号序列115在统计学上类似于训练数据集139中的训练数据项140的具有类似的声学特征105至声学特征145的符号序列150。

然而,在所示的会话代理管道100A中,训练数据集139不被用于训练转码器或NLU120,这是由于训练数据集139可能不在转码器或NLU 120将进行操作的域中,或者否则由于训练数据集139中没有足够的数据用于训练转码器或NLU 120。因此,转码器或NLU 120是使用包括由模拟器155输出的合成训练数据项160的合成训练数据集159而进行训练的。合成训练数据项160可以包括符号序列(y’)和转码序列(z)170。符号序列165可以是例如词序列、音节序列、音素序列等。在一个实施例中,模拟器155生成包括词序列的合成训练数据项160,并且使用字素到音素转换器将词序列变换成音素序列。

由模拟器155生成(并且可选地由字素到音素转换器修改)的合成训练数据项160中的符号序列(y’)165可以以统计学上显著的方式不同于训练数据集139的训练数据项140中的符号序列(y)150以及不同于由声学模型或ASR 110输出的符号序列115。例如,如果合成训练数据集159中的词的发音与训练数据集139中的词的发音不同,就会造成这种情况。因此,在用于训练转码器或NLU 120的合成训练数据项160中的符号序列165与转码器或NLU在操作期间实际接收的符号序列115之间可能存在统计学上显著的差异。这种符号序列165与符号序列115之间的不匹配能够引起转码125的精确度的降低(例如,在一些情况下高达50%的降低)。换句话说,训练数据与操作期间接收的实际数据之间的不匹配可能引起转码器或NLU 120不正确地确定讲话者意图,或无法确定讲话者意图。

图1B是示出根据本公开的实施例的包括转码器或NLU 120的会话代理管道100B的框图,已使用合成训练数据159对该转码器或NLU进行了训练,该合成训练数据集159已经过协调器(序列到序列转换器)175处理。会话代理管道100B可以基本上类似于会话代理管道100A,并且可以包括AM或ASR 110、转码器或NLU 120以及业务逻辑130。然而,会话代理管道100B中的转码器或NLU 120已经在合成训练数据集159上被训练,该合成训练数据集159包括已经由协调器(序列到序列转换器)175修改过的合成训练数据项160。

协调器175包括已被训练成接收符号序列(y')165作为输入并且输出新的符号序列180的机器学习模型,其中新的符号序列180在统计学上类似于可能由声学模型或ASR 110输出的符号序列115。因此,协调器175被训练以执行在针对可能不逼真的合成话语的合成的干净的符号序列(如由模拟器155输出的)与将紧密对应于声学模型或ASR 110针对类似话语将输出的那些的逼真音素序列之间的映射。结果是,使用表示转码器或NLU 120将在操作期间从其接收到输入的相同声学模型或ASR110的数据来训练转码器或NLU 120。

在一个实施例中,协调器175包括循环神经网络(RNN)。在一个实施例中,协调器175包括编码器-解码器循环神经网络。例如,编码器-解码器可以包括将任何长度的输入向量(音素和/或i-向量的输入序列)折叠(collapse)成固定维度的第一输出向量的第一长短期记忆(LSTM)机器学习模型,以及将固定维度的第一输出向量展开成第二输出向量(输出的音素序列)的第二LSTM机器学习模型。在一个实施例中,协调器175包括RNN,其包括变换器/注意力模型。在一个实施例中,协调器175是生成对抗网络(GAN)或其它生成机器学习模型。

可以使用包括成对的符号150和相关联的符号115的经修改的训练数据集139来训练协调器175。为了生成经修改的训练数据集,训练数据集139中的训练数据项140可以由声学模型或ASR 110来处理以输出符号115。对于训练数据集139中的每个训练数据项140,可以移除声学特征145并且可以添加符号115。符号序列150可以在训练期间用作对协调器175的输入,而符号序列115可以在训练期间用作目标输出。因此,对于来自经修改的训练数据集139的经修改的训练数据项140,第一符号序列150可以在训练期间被输入到协调器175中,并且相关联的第二符号序列115可以被用作目标以调整协调器175中的节点的权重。

在一些实施例中,另一机器学习模型或特征提取器(未示出)可以处理声学特征145以生成表示讲话者特性、噪声特性、麦克风特性和/或信道特性的一个或多个向量。例如,其它机器学习模型或特征提取器可以从声学特征145的每个集合生成身份向量(i-向量)。i-向量可以捕获例如口音、语音模式、语速和/或其它讲话者特性和/或音频特性(例如,性别、年龄、麦克风等)。i-向量可以被添加到相应的训练数据项,并且在训练期间输入到协调器175的数据项可以包括i-向量(或者一个或多个其它向量)以及一组符号150。可以将表示讲话者特性、噪声特性、麦克风特性和/或信道特性的i-向量和/或一个或多个其它向量添加到合成训练数据项160。这可以训练协调器175以输出表示讲话者特性、噪声特性、麦克风特性和/或信道特性中的特定特性或特性组合的符号180。例如,如果转码器或NLU120被训练用于特定地理位置的免下车餐馆中,则可以生成表示来自该地理位置的讲话者的i-向量。这种i-向量可以通过从来自该地理位置的一个或多个讲话者的语音中提取i-向量来生成。随后,可以将这些i-向量添加到输入协调器175中的合成训练数据项160,以产生表示来自该地理位置的讲话者的符号序列180。随后,在转码器或NLU 120的训练期间,可以将这些符号序列和相关联的转码170输入转码器或NLU 120中,其将训练转码器或NLU 120以确定该特定地理区域的讲话者的意图。

在另一实施例中,可以为训练数据项确定表示讲话者特性的标记,诸如性别、年龄、国籍、地理区域等的标记,随后将其添加到那些训练数据项。这些标记随后可以用作到协调器175中的进一步输入,以训练协调器175输出表示与那些标记相关联的讲话者的音素序列。

使用协调器175来修改用于训练转码器或NLU 120的合成训练数据项160可以显著地提高转码器或NLU 120的性能。例如,在使用协调器175的实验中,已经表明转码器或NLU120的精确度提高了20-40%。

图2A是示出根据本公开的实施例的协调器(序列到序列转换器)训练管道200的框图。协调器训练管道200包括协调器175,该协调器基于其它符号序列(例如,其它音素序列)的输入来输出符号序列(例如,音素序列)。参考作为音素到音素转换器操作的协调器175来描述协调器训练管道200。然而,应该理解,类似的协调器训练管道200还可以用于训练作为序列到序列转换器的协调器,该序列到序列转换器对除音素以外的符号进行操作(例如,对词序列和/或音节序列进行操作)。

为了使协调器175被训练为输出音素序列(例如,表示音素概率的向量序列),训练数据集(经修改的训练数据集249)应该包括数据项(例如,经修改的训练数据项238),其包括第一音素序列235(或其它符号序列)和第二音素序列240(或其它符号序列)两者。

为了产生这样的经修改的训练数据集249,选择初始训练数据集202。初始训练数据集202可以是例如Common Voice和/或Libre语音数据集。初始训练数据集202中的训练数据项205可以包括音频数据210和该音频数据的相关联的文本转写(词序列)215。初始训练数据集202可以对应于可能已经被用于训练声学模型110的相同训练数据集以输出来自音频特征的音素(或其它符号)序列,该音频特征是从音频数据210中提取的。

在实施例中,初始训练数据集202中的训练数据项205的文本转写215被输入到字素到音素转换器228中,其将文本转写215转换成第一音素序列235。在一个实施例中,字素到音素转换器228是已经被训练来将文本(字素)转换成音素的机器学习模型。在一个实施例中,字素到音素转换器228是神经网络。例如,字素到音素转换器228可以是RNN或隐马尔可夫模型。在一个实施例中,字素到音素转换器228包括将文本映射到音素中的查找表。例如,查找表可以包括英语词典,在其中词典中的每个词包括与该词相关联的音素序列。因此,字素到音素转换器228可以从表上的输入文本中找到词,确定对于该文本的词的音素序列,并且输出所确定的音素序列。

初始训练数据集202可以包括缺少背景噪声、振动、混响、失真等的数据。然而,在使用期间由会话代理100B接收到的音频数据可以包括这样的背景噪声、失真、混响等。因此,为了训练声学模型110以精确地确定甚至具有这样的失真和其它噪声和混响的音素,来自初始训练数据集202的训练数据项205可以被输入音频失真器218中。音频失真器218可以通过将背景音乐、背景噪声、混响等添加到音频数据210来扩增训练数据项205的音频数据210,以产生包括具有失真的音频数据224的失真/扩增的训练数据项220的失真或扩增的训练数据集222。

失真训练数据项220和训练数据项205可以被输入字素到音素转换器228中以生成非自然的音素序列235,其中非自然的音素序列是通过字素到音素转换器228映射的人工或机械文本转写,并且不一定听起来像人会说出的音素序列。随后,初始训练数据集202和/或扩增训练数据集222可以通过用非自然的音素序列235替换数据的文本转写215而进行修改,以产生经修改的训练数据集230。随后,经修改的训练数据集230可以包括经修改的训练数据项232,这些经修改的训练数据项分别包括相应的音频数据210(例如,声学特征/嵌入)和/或失真的音频数据224(例如,声学特征/嵌入)和相应的非自然的音素序列235。

来自经修改的训练数据集230的经修改的训练数据项232可以被输入声学模型110中。随后,声学模型110可以输出用于每个相应的经修改的训练数据项232的自然音素序列(例如,基于输入音频数据(例如,从音频文件中提取的声学特征)210和/或失真的音频数据224),其中自然音素序列235听起来像人会说出的音素序列并且是由经训练的声学模型110输出的假设。随后,声学模型110的输出可以被用于进一步修改经修改的训练数据项232,以产生经修改的训练数据项238。在实施例中,经修改的训练数据项232通过移除音频数据210和/或失真的音频数据224并且添加自然音素序列240而被修改。因此,经修改的训练数据项238包括非自然音素序列235和自然音素序列240。来自经修改的训练数据集249的经修改的训练数据项238随后被用于训练协调器175。例如,对于每个扩增的训练数据项238,可以将非自然音素序列235输入到协调器175中,用以训练协调器175,以产生相关联的自然音素序列240。

由声学模型110输出的自然音素序列240大体上将不与由字素到音素转换器228输出的非自然音素序列235相匹配(例如,在它们之间具有统计学上显著的不匹配)。然而,字素到音素转换器228可以是与在用于训练转码器120的模拟数据项上使用的字素到音素转换器相同的字素到音素转换器。因此,如果可以确定字素到音素转换器的输出(非自然音素序列235)到声学模型110的输出(自然音素序列235)之间的映射,则该映射可以被用于使得由模拟数据的字素到音素转换器228生成的音素序列在统计学上类似于在会话代理管道100B的操作期间由声学模型110输出的音素序列。因此,协调器175可以被训练为桥接字素到音素转换器228的输出与声学模型110的输出之间的间隙。

在一些实施例中,可以通过向经修改的训练数据项238添加i-向量242或表示讲话者特性、噪声特性、麦克风特性和/或信道特性的其它向量来进一步修改该经修改的训练数据项238。为了生成i-向量242,可以将音频数据210和/或失真的音频数据224输入到向量提取器239(例如,i-向量提取器)中,该i-向量提取器可以基于音频数据210和/或失真的音频数据224来确定i-向量242和/或其它向量。向量提取器239被训练成能够提取的其它向量包括表示年龄、麦克风、口音、性别、讲话者的地理位置、语速/讲话速率等的向量。在一个实施例中,向量提取器239包括被训练为从音频数据(例如,从音频数据的声学特征)中提取i-向量的机器学习模型。在一个实施例中,向量提取器239包括一个或多个机器学习模型,其中每个机器学习模型可以被训练以确定讲话者的特定特性或特性集合(例如,诸如性别、年龄、国籍、讲话速率/语速等)。

从经修改的训练数据项232的音频数据210或失真的音频数据224生成的i-向量242(和/或其它向量)可以被添加到相关联的经修改的训练数据项238。这些i-向量242(和/或其它向量)、第一音素序列235和第二音素序列240可以被用于训练协调器175,以基于输入音素序列和输入i-向量(和/或其它向量)来生成音素序列。因此,与第一i-向量配对的相同的输入音素序列可以使协调器175输出与具有第二i-向量的相同输入音素序列不同的输出音素序列。在一个实施例中,使用包括组合地覆盖大量不同的i-向量和/或其它向量的经修改的训练数据项238的经修改的训练数据集249来训练协调器175。因此,协调器175可以被训练为针对任何指定的i-向量(或其它向量)生成适当的输出符号序列(例如,输出音素序列)。

图2B是示出根据本公开的实施例的转码器训练管道250的框图。转码器训练管道250包括要被训练为基于音素序列的输入来输出一个或多个转码(例如,转码序列)的转码器120的机器学习模型。在其它实施例中,协调器175可以被包括在NLU训练管道中。

为了将转码器120训练成基于音素序列输出转码,训练数据集应该包括训练数据项,该训练数据项包括音素序列和转码两者,其中转码表示目标。然而,在特定域内通常没有足够的可用音频数据来将转码器120训练成精确地生成针对这样的领域的转码。因此,在实施例中,转码器训练管道250包括会话模拟器255。

会话模拟器255是自然语言生成器,其可以被配置为生成应用于特定域(例如,快餐订购、网络旅行预订、店内信息亭等)的合成句子和相关联的描述符(例如,转码)。每个转码集合可以包括一个或多个动作以及一个或多个相关联的实体。例如,在网络旅行预订的域中,动作可以包括预订行程、取消行程以及修改行程,并且相关联的实体可以包括航班、时间、位置等。会话模拟器255可以包括语法规则的集合,其与随机性一起被应用(例如,使用随机数生成器或伪随机数生成器)以生成包括合成训练数据项260的大型语料库的初始合成训练数据集258。

在一个实施例中,会话模拟器255包括神经网络或被训练为在受限域内生成似乎合理的句子的其它机器学习模型。在一个实施例中,会话模拟器255是生成合成训练数据项260的生成对抗网络(GAN)。

在一个实施例中,会话模拟器255包括上下文无关语法。上下文无关语法是用于生成字符串模式的一组递归重写规则。每个规则可以引起从初始对象到一个或多个输出对象的扩展。上下文无关语法可以包括一组终结符(terminal symbol),其是出现在由上下文无关语法生成的字符串中的字母的字符。上下文无关语法可以具有能够被用于生成数量非常大的独特句子的一小组规则。每个独特的句子可以通过使用上下文无关语法的一个或多个规则来构建树而生成。树的叶子可以包含可以形成字符串或句子(例如,词序列)的终结符。在一个实施例中,上下文无关语法具有生成文本的规则以及生成转码的规则。另外地或可选地,单个规则可以生成文本(例如,字符串)以及相关联的转码两者。因此,使用上下文无关语法形成的树的叶子可以包括一对序列,该对序列包括文本序列(句子)以及转码序列。

在示例中,上下文无关语法可以包括用于订单类别的第一规则。可以为订单创建树,其中树在完成时将包括文本序列和相关联的转码序列。上下文无关语法可以具有将订单类别扩展为添加、更新或拆分类别的规则。上下文无关语法还可以具有引起到可选问候的扩展、一个或多个规则表达(regular expression)、联结(join)等的规则。上下文无关语法还可以具有将对象扩展到一个或多个可选请求短语、可选暂停等的一个或多个规则。上下文无关语法还可以具有将对象扩展到一个或多个名词短语和/或动词短语的一个或多个规则。上下文无关语法还可以具有将对象扩展到一个或多个后置修饰语的一个或多个规则。

在简单的上下文无关语法中,在名词短语和/或动词短语之间不存在关系。缺乏这种关系可能导致在特定域内不合理的句子。因此,在实施例中,上下文无关语法可以包括生成作为上下文无关语法的终结符的变量的规则。每个变量可以映射到一个或多个实体列表、特性列表、短语列表(例如,后置修饰语)等。例如,食物实体的变量可以映射到来自菜单的食物项的列表或表格。在另一示例中,汉堡选项的变量可以映射到汉堡选项的列表,并且仅在食物条目的先前终结符已被解析为汉堡时才可由上下文无关语法生成。由会话模拟器使用的变量和相关联列表或表格可以是特定于会话模拟器为其生成合成句子的特定域。

会话模拟器255可以从与所生成的树中的变量相关联的适当列表中选择实体(例如,条目)。一旦用实体替换了变量,关于所选实体的信息就可以被用于限制树上的其它扩展和/或叶子的选项,从而将用于稍后扩展或叶子的选项的范围减少到与所选实体相关联的合理范围。因此,当由上下文无关语法生成信息时,该信息可以在树中向上向下传递。因此,一旦选择了特定实体,会话模拟器255就可以将为句子创建的其它语法限制为在所选实体的上下文中合理的语法。

当多个选项在由上下文无关语法生成的树的特定分支处可用时(例如,在特定扩展处),特定选项的特定选择可以是基于随机数生成器或伪随机数生成器的输出的随机或伪随机选择。类似地,从与变量相关联的列表中选择选项可以是基于随机数生成器或伪随机数生成器的输出的随机或伪随机选择。一些实体可以具有与它们相关联的多个不同特性。一旦选择了这样的实体,树中的稍后的叶就可以包括与该实体相关联的一个或多个特性的值。具有一个或多个特性的一些实体可以具有针对一些特性或所有特性的默认选项。这样的默认选项可以与特定概率权重(例如,权重70%、80%、90%等)相关联,该特定概率权重促使与替代选项相比那些默认选项被更频繁地选择。对于每个特性,会话模拟器255可以使用伪随机数生成器和与特性的默认选项相关联的概率权重来确定是选择默认选项还是选择替代选项。如果针对特性选择了默认选项,则不向针对该特性的树添加文本或相关联的转码。

字素到音素转换器228将由会话模拟器255输出的合成训练数据项260的合成句子265的文本表示转换成非自然音素序列285。因此,在对初始合成训练数据集258使用了字素到音素转换器228之后,生成包括合成训练数据项280的经修改的合成训练数据集275,该合成训练数据项280包括非自然音素序列285和合成句子270的相关联的转码。

在一些实施例中,通过添加i-向量288和/或表示讲话者特性、麦克风/信道、噪声特性等的其它向量来进一步修改经修改的合成训练数据集275中的合成训练数据项280。可以指示向量生成器282输出i-向量和/或以特定地理位置、年龄、性别、语速/讲话速率、口音等表示语音的(一个或多个)其它向量。可选地,向量生成器282可以对应于向量提取器239,并且音频数据可以被输入向量生成器282中。随后,向量生成器282可以从音频数据中确定i-向量和/或(一个或多个)其它向量。随后,可以将所生成或提取的i-向量288和/或(一个或多个)其它向量添加到合成训练数据项280。在示例中,向量生成器282可以被提供来自特定地理位置的讲话者的音频数据,并且可以从该音频数据生成一个或多个i-向量288。

来自经修改的合成训练数据集275的合成训练数据项280可以被输入协调器175中。特别地,非自然音素序列285以及可选地i-向量288和/或表示讲话者特性、信道等的其它向量可以被输入协调器175中。协调器275可以输出自然音素序列294。可以通过用自然音素序列294替换合成训练数据项292中的非自然音素序列285来生成经修改的合成训练数据集290。如果特定i-向量288和/或其它向量被输入到协调器175中,则输出的自然音素序列294可以至少部分基于那些i-向量288和/或其它向量。因此,协调器175可以将表示来自词典的适当语音的音素序列转换成表示来自特定地理区域的讲话者、具有特定口音的讲话者、特定年龄范围的讲话者、通过特定质量的麦克风讲话的讲话者等的音素序列。

经修改的合成训练数据集290可以被输入到转码器120中以用于训练。因此,可以训练转码器120以确定具有特定特性的讲话者和/或通过具有特定特性的麦克风说话的讲话者的意图。例如,可以训练转码器120以确定来自特定地理位置的讲话者的意图,该讲话者可能具有与来自其它地理位置的讲话者非常不同的语音模式。这使得转码器120能够简单地通过从新的地理位置收集几分钟或几小时的讲话者的语音、将该语音输入向量生成器282中、生成新的i-向量288、通过协调器175馈送具有新的i-向量288的合成训练数据项、以及使用包括由协调器175输出的自然音素序列294的经修改的合成训练数据集290来训练或重新训练转码器120来快速适应该新的地理位置。

图3-5为根据本发明的实施例的流程图,其示出了用于训练协调器(序列到序列转换器)的方法,用于使用这样的协调器来训练转码器或NLU的方法,以及将音频数据应用于经训练的会话代理以确定讲话者意图的方法。该方法可以由处理逻辑执行,该处理逻辑包括硬件(例如,电路、专用逻辑、可编程逻辑、微代码等)、软件(例如,在处理器上运行的指令)、固件或其组合。方法可以例如通过诸如计算装置600的计算装置执行图6的会话代理管道682、协调器训练管道680和/或转码器训练管道684来执行。

为了简化解释,方法被描绘和描述为一系列动作。然而,根据本公开的动作可以以各种顺序发生和/或同时发生,并且与本文未呈现和描述的其它动作一起发生。此外,并非所有示出的动作都是实现根据所公开主题的方法所必需的。此外,本领域技术人员将理解和领会,方法可以可选地通过状态图或事件表示为一系列相互关联的状态。

图3是示出根据本公开的实施例的将机器学习模型训练为转码器或NLU的方法300的流程图。在实施例中,方法300可以例如使用图2B的转码器训练管道250来执行。在框305处,处理逻辑使用会话模拟器255来生成合成训练数据项,该合成训练数据项包括a)合成句子的文本表示(例如,文本字符/词的序列)和b)表示合成句子的意图的零个或多个转码的对应序列。例如,合成句子可以是“can I please have a hamburger with no pickles,oh,and please add extra onions(我想要一个不加泡菜的汉堡,但是多加点洋葱”,并且转码序列可以是“[order(订单)]、[hamburger(汉堡)]、[remove(移除)]、[pickles(泡菜)]、[add(添加)]、[onions(洋葱)]”或“[add hamburger(添加汉堡)]、[no pickles(无泡菜)]、[add onions(添加洋葱)]”。

在框315处,处理逻辑可以使用字素到音素转换器228将合成句子的文本表示(例如,词序列)转换成表示合成句子的音素序列。可选地,如果使用以词级别操作的NLU,则可以省略框315的操作。

在框318处,处理逻辑可以将表示一个或多个讲话者特性、一个或多个麦克风特性、一个或多个信道特性和/或一个或多个噪声特性的一个或多个向量附加到合成训练数据项。在一个实施例中,将表示特定讲话者特性或讲话者特性集合的i-向量附加到合成训练数据项。在一个实施例中,随机地选择i-向量以仿真随机讲话者和信道变化。

在框320处,处理逻辑使用协调器(序列到序列转换器)175来处理合成训练数据项(例如,合成训练数据项的音素序列和/或附加的i-向量)。例如,协调器175可以将词序列转换为词序列、将音节序列转换为音节序列、或者将音素序列转换为音素序列。协调器175可以输出表示合成句子的第二符号序列(例如,第二音素序列)。

在框322处,通过用协调器输出的第二符号序列(例如,第二音素序列)替换第一符号序列(例如,第一音素序列)来修改合成数据集。

在框325处,处理逻辑可以将一个或多个机器学习模型训练为转码器120,该转码器120使用包括第二符号序列(例如,音素)和转码序列的经修改的合成训练数据来从音素序列确定转码序列。可选地,处理逻辑可以使用包括第二符号序列(例如,词)和转码序列的经修改的合成训练数据集来训练从词序列确定转码序列的NLU。

在框330处,处理逻辑确定转码器或NLU 20的训练是否完成。如果转码器或NLU120具有目标精确度水平,则训练可以完成。如果训练未完成,则该方法返回到框305,并生成另一合成训练数据项。如果训练完成,则该方法结束。

图4是示出根据本公开的实施例的将机器学习模型训练为协调器(序列到序列转换器)的方法400的流程图。在实施例中,方法400可以例如使用图2A的协调器训练管道200来执行。在方法400的框405处,处理逻辑接收包括多个数据项的训练数据集。训练数据集中的每个数据项可以包括用于话语的音频数据(例如,音频波形)和话语的文本表示。

在框410处,处理逻辑从训练数据集中的数据项的音频数据确定声学特征。在框412处,处理逻辑可以处理数据项的声学特征以生成表示一个或多个讲话者特性、麦克风特性和/或噪声特性的一个或多个向量(例如,i-向量)。

在框414处,字素到音素转换器228可以将用于数据项的话语的文本表示(例如,文本词的序列)转换成表示话语的符号的序列(例如,音素序列)。在框416处,声学模型处理(解码)数据项的声学特征以输出表示话语的第二符号序列(例如,第二音素序列)。在框418处,处理逻辑通过移除音频数据/声学特征、添加表示话语的第二符号序列(例如,第二音素序列)以及可选地将一个或多个向量(例如,i-向量)添加到数据项来修改数据项。

在框420处,处理逻辑使用经修改的数据项来将机器学习模型训练作为协调器(序列到序列转换器),该协调器使声学模型或ASR的输出与模拟器和/或字素到音素转换器的输出协调一致。第一符号序列可以在训练期间(可选地利用所述一个或多个向量)被输入到机器学习模型中,并且第二符号序列可以在训练期间被用作用来调整机器学习模型中的节点的权重的目标。

在框424处,处理逻辑确定训练是否完成。如果训练完成,则该方法结束。如果训练未完成,则该方法返回到框410,并且处理另一训练数据项。

图5为示出根据本公开的实施例的使用会话代理(例如,会话代理管道100B)从音频数据确定讲话者意图的方法500的流程图。在框505处,处理逻辑在被训练为声学模型110的第一机器学习模型处接收新的话语(例如,话语的音频波形)。在框510处,处理逻辑使用第一机器学习模型来处理(解码)新话语(例如,来自话语的音频波形的声学特征),以产生表示新话语的音素序列。

在框515处,处理逻辑使用被训练为转码器120的第二机器学习模型来处理新的音素序列,以确定包括一个或多个新动作和一个或多个相关联实体的一个或多个新的转码。已经使用由协调器175修改过的合成训练数据对转码器120进行了训练。在框520处,处理逻辑使用业务逻辑130处理新转码(其包括所述一个或多个新动作和一个或多个新的相关联的实体),以确定要执行以满足所述一个或多个动作的一个或多个操作。在一个实施例中,业务逻辑在框525处确定新转码是否违反了任何规则。如果违反了任何规则,则处理逻辑可以在框530处修改从转码推断出的一个或多个操作。业务逻辑还可以从转码确定讲话者意图是模糊不清的并输出询问。在框535处,业务逻辑可以执行所述一个或多个所确定的操作以满足讲话者意图。

图6示出了处于计算装置600的示例性形式的机器的图形表示,在该计算装置600内可以执行用于使机器执行本文所讨论的方法中的任何一个或多个的指令集。计算装置600可以是计算装置的形式,在该计算装置内可以执行用于使机器执行本文所讨论的方法中的任何一个或多个的指令集。在可选实施例中,机器可以连接(例如,联网)到LAN、内联网、外联网或因特网中的其它机器。机器可以在客户端-服务器网络环境中以服务器机器的能力来操作。机器可以是个人计算机(PC)、机顶盒(STB)、服务器计算装置、网络路由器、交换机或网桥或者能够执行指定该机器要采取的动作的指令集(顺序的或其它方式的)的任何机器。此外,虽然仅示出了单个机器,但是术语“机器”还应被理解为包括单独地或联合地执行一组(或多组)指令以执行本文所讨论的方法中的任何一个或多个的机器的任何集合。

计算装置600包括处理装置(处理器)602、主存储器604(例如,只读存储器(ROM)、闪存、诸如同步DRAM(SDRAM)的动态随机存取存储器(DRAM))、静态存储器606(例如,闪存、静态随机存取存储器(SRAM))以及数据存储装置618,它们经由总线630彼此通信。

处理装置602表示一个或多个通用处理装置,诸如微处理器、中央处理单元等。更特别地,处理装置602可以是复杂指令集计算(CISC)微处理器、精简指令集计算(RISC)微处理器、超长指令字(VLIW)微处理器、或实现其它指令集的处理器或实现指令集的组合的处理器。处理装置602还可以是一个或多个专用处理装置,诸如专用集成电路(ASIC)、现场可编程门阵列(FPGA)、数字信号处理器(DSP)、网络处理器等。

计算装置600还可以包括网络接口装置608。计算装置600还可以包括视频显示单元610(例如,液晶显示器(LCD)或阴极射线管(CRT))、字母数字输入装置612(例如,键盘)、光标控制装置614(例如,鼠标)和信号生成装置616(例如,讲话者)。

数据存储装置618可以包括计算机可读介质628,其上存储有体现本文所述的方法或功能中的任何一个或多个的一个或多个指令集622(例如,协调器训练管道680、转码器训练管道684和/或会话代理管道682的指令)。在实施例中,会话代理管道682可以对应于图1B的会话代理管道100B。在实施例中,协调器训练管道680可以对应于图2A的协调器训练管道200。在实施例中,转码器训练管道684可以对应于图2B的转码器训练管道250。指令622还可以在其由计算机系统600执行的期间完全或至少部分地驻留在主存储器604和/或处理装置602内,主存储器604和处理装置602还构成计算机可读介质。尽管示出了包括会话代理管道682、协调器训练管道680和转码器训练管道684的单个计算装置600,但是这些管道中的每一个可以驻留在单独的计算装置上。另外,单独的计算装置中的每一个可以是一起操作以实现本文所述的方法或功能中的一个或多个的多个计算装置(例如,计算装置的集群)。

虽然在示例性实施例中将计算机可读存储介质628表示为单个介质,但是术语“计算机可读存储介质”应该被理解为包括存储一个或多个指令集的单个介质或多个介质(例如,集中式或分布式数据库和/或相关联的高速缓存和服务器)。术语“计算机可读存储介质”还应该被视为包括能够存储、编码或携带由机器执行的指令集并且使机器执行本文所述方法中的任何一种或多种方法的任何非暂时性介质。术语“计算机可读存储介质”因此应该被理解为包括,但不限于固态存储器、光学介质和磁性介质。

前面的描述阐述了诸如特定系统、组件、方法等的示例的很多具体细节,以便提供对若干本公开实施例的良好理解。然而,对于本领域技术人员来说将是显而易见的是,可以在没有这些具体细节的情况下实践本公开的至少一些实施例。在其它情况下,没有详细描述公知的组件或方法或以简单框图格式呈现公知的组件或方法,以便避免对使得本公开的实施例不必要的模糊。因此,上述具体细节仅仅是示例性的。特定实现可能不同于这些示例性细节,并且仍然被理解为在本公开的范围内。

在以上描述中,阐述了许多细节。然而,对于获得本公开益处的本领域普通技术人员来说将明显的是,可以在没有这些具体细节的情况下实践本公开的实施例。在一些情况下,以框图形式而不是详细地示出公知的结构和装置,以避免使描述模糊。

详细描述的一些部分以算法、和对计算机存储器内的数据位的操作的符号表示的形式存在。这些算法描述和表示是数据处理领域技术人员所使用的最有效地将他们工作的实质传递给本领域其它技术人员的手段。算法在此并且大体上被认为是导致所期望结果的步骤的自相容序列。步骤是那些需要对物理量进行物理操纵的步骤。通常,尽管不一定,这些量呈现电的和/或磁性信号的形式,这些信号能够被存储、传输、组合、比较和以其它方式操纵。已经证明将这些信号称为位、值、元素、标记、字符、项、数字等有时是方便的,这主要是出于通用的原因。

然而,应该记住,所有这些和类似的术语均应与适当的物理量相关联,并且仅仅是应用于这些量的方便的标记。除非具体说明,否则,如从以上讨论中显而易见的,应该理解,在整个说明书中,使用诸如“修改”、“转换”、“训练”、“确定”、“接收”、“处理”等术语的讨论指的是计算机系统或类似的电子计算装置的动作和过程,它们将计算机系统的寄存器和存储器内表示为物理(例如,电子)量的数据处理和/或变换成计算机系统存储器或寄存器或其它这种信息存储、传输或显示设备内类似地表示为物理量的其它数据。

本公开的实施例还涉及用于执行本文的操作的设备。该设备可以被专门构造成用于所需目的,或者其可以包括由存储在计算机中的计算机程序选择性地激活或重新配置的通用计算机。这种计算机程序可以存储在计算机可读存储介质上,诸如,但不限于,任何类型的盘,包括软盘、光盘、CD-ROM,以及磁性光盘、只读存储器(ROM)、随机存取存储器(RAM)、EPROM、EEPROM、磁卡或光卡,或适于存储电子指令的任何类型的介质。

应该理解,以上描述旨在是说明性的而非限制性的。在阅读并理解以上描述之后,许多其它实施例对本领域技术人员而言将是显而易见的。因此,本公开的范围应该参考所附权利要求书以及这些权利要求所授权的等效物的完整范围来确定。

29页详细技术资料下载
上一篇:一种医用注射器针头装配设备
下一篇:用于频域分组丢失隐藏的方法及相关解码器

网友询问留言

已有0条留言

还没有人留言评论。精彩留言会获得点赞!

精彩留言,会给你点赞!