用于文本到语音的超结构循环神经网络的制作方法

文档序号:11531114阅读:376来源:国知局
用于文本到语音的超结构循环神经网络的制造方法与工艺



背景技术:

利用文本到语音应用来将书面文本读出来。这样的应用可以协助视力不好的人们、处于不期望阅读文本的位置上(例如,在开车的时候)的人们,以及更喜欢听到文本的阅读而不是阅读文本的人们。在向用户阅读文本的情况中,用户通常想要听到发音更自然并且准确地阅读文本的声音。

实施例是针对这样的情况以及其他一般情况来做出的。同样,虽然已经讨论了相对具体的问题,但是应当理解的是实施例不应被限制为解决背景技术中所识别出的特定问题。



技术实现要素:

在一个方面中,技术关于用于将文本转换为语音的方法。该方法包括接收文本输入以及从由词性特性、音素、语言注音特性、上下文特性、以及语义特性构成的组中接收两个或更多个特性。该两个或更多个拼音特性是由循环神经网络(rnn)模块确定的。该方法还包括基于所接收的两个或更多个特性来确定文本输入的拼音特性,并且生成了生成序列。在一个实施例中,接收到的两个或更多个特性是词性特性和因素。在另一个实施例中,接收到的两个或更多个特性是语言注音特性、上下文特性以及语义特性。在另一个实施例中,接收到的两个或更多个特性是音素、上下文特性、以及语义特性。在另一实施例中,该方法还包括优化生成序列。

在另一个实施例中,该方法包括将生成序列合成为可听见的声音。在另一个实施例中,两个或更多个特性被接收为密集的辅助输入。在另一个实施例中,确定文本的拼音特性是利用循环神经网络来进行确定的。在另一个实施例中,两个或更多个特性是由循环神经网络的隐藏层和输出层来进行接收的。

在另一个方面中,该技术与计算机存储设备相关,所述计算机存储设备具有计算机可执行指令,当由至少一个处理器执行时,所述计算机可执行指令执行用于转换文本到语音的方法。该方法包括接收文本输入,并且从由词性特性、音素、语言注音特性、上下文特性、以及语义特性构成的组中接收两个或更多个特性。两个或更多个特性是由循环神经网络(rnn)模块来进行确定的。该方法还包括基于接收到的两个或更多个特性来确定文本输入的拼音特性,并且生成了生成序列。在一个实施例中,所接收的两个或更多个特性是词性特性以及音素。在另一个实施例中,所接收的两个或更多个特性是音素、上下文特性、以及语义特性。在另一实施例中,该方法还包括优化生成序列。在另一个实施例中,该方法包括将生成序列合成为可听见的声音。

在另一个实施例中,两个或更多个特性被接收为密集的辅助输入。在另一个实施例中,文本输入和两个或更多个特性被接收作为密集的辅助输入。在另一个实施例中,确定文本输入的拼音特性是利用循环神经网络来进行确定的。在另一个实施例中,两个或更多个特性是由循环神经网络的隐藏层和输出层来进行接收的。

在另一个方面中,该技术与用于转换文本到语音的系统有关。该系统包括至少一个处理器和对计算机可执行指令进行编码的存储器,当由至少一个处理器执行时,所述计算机可执行指令执行用于转换文本到语音的方法。该方法包括接收文本输入,并且从由词性特性、音素、语言注音特性、上下文特性、以及语义特性构成的组中接收两个或更多个特性。两个或更多个特性是由循环神经网络模块来进行确定的。该方法还包括基于接收到的两个或更多个特性来确定文本输入的拼音特性。该方法还包括生成了生成序列,其中,生成了生成序列是利用统一的循环神经网络解码器的。

提供该发明内容是为了以简化的形式来引入下文将在具体实施方式中进一步描述的构思的选择。该发明内容不是要识别所要求保护的主题的关键特征或重要特征,也不是要用于限制所要求保护的主题的范围。

附图说明

参考以下的附图描述了非限制性的以及非完全的实施例。

图1示出了根据示例实施例的用于将文本转换为语音的系统。

图2描绘了根据示例实施例的rnn的架构。

图3描绘了根据示例实施例的rnn的另一架构。

图4描绘了根据示例实施例的rnn的另一架构。

图5a描绘了根据示例实施例的rnn的另一架构。

图5b描绘了可以被实现用于文本到语音的基于rnn的系统的实施例。

图6描绘了根据示例实施例的用于利用rnn来确定文本的词性的方法。

图7描绘了根据示例实施例的用于利用rnn来确定文本的音素的方法。

图8描绘了根据示例实施例的用于利用rnn来确定文本的语言注音拼音特性或者语言注音标记的方法。

图9描绘了根据示例实施例的用于利用rnn来确定文本的上下文和/或语义含义的方法。

图10描绘了根据示例实施例的用于确定文本的优选拼音特性的方法。

图11是示出了本公开的实施例可以利用其进行实施的计算设备的示例物理部件的框图。

图12a和图12b是本公开的实施例可以利用其进行实施的移动计算设备的简化的框图。

图13是本公开的实施例可以利用其进行实施的分布式计算系统的简化的框图。

图14示出了用于执行本公开的一个或多个实施例的平板计算设备。

具体实施方式

在下面的具体实施方式中,参照了形成其一部分的附图,并且其中是通过示意性的特定实施例或示例来进行示出的。可以组合这些方面,而可以利用其他方面,并且可以做出结构改变,而不偏离本公开的精神或范围。以下的具体实施方式因此不是在限制的意义上做出的,并且本公开的范围是由所附的权利要求以及其等效物来进行限定的。

本公开通常涉及将文本转换为语音。通常,文本到语音应用是通过使用基于查找表和决策树(例如,分类回归树(cart))的方法来进行执行的。然而,这些现有的方法拥有许多缺点。例如,基于cart的文本到语音通常对于确定读音是困难的,并且传统的文本到语音方法当转换文本到语音时,缺乏对上下文的感知。另外,现有的方法(例如,级联标记模块)在级联时积累错误。此外,利用现有方法,包括额外的上下文或特征信息将导致计算成本的巨大增加。

为了改进文本到语音应用,可以利用循环神经网络(rnn)。rnn具有能够处理在不具有数据分片的情况下的额外的特征和边信息(sideinformation)。同时,rnn还提供了更好的性能。在本发明的实施例中,多个rnn模块被利用来转换文本到语音。可以将模块考虑为三个级别。在第一级别中,rnn模块用于对来自各种规模的文本数据的丰富的拼音特性标记进行建模和预测。拼音特性可以用于确定文本的最佳读音,以及由文本到语音转换而得到的最自然的发声语音。例如,在实施例中,利用用于将词性信息以及语言注音分配给文本的rnn模块。

可以使用另一rnn模块来确定来自字的字母的因素,作为发音(lts)转换的部分。lts转换用于确定所有词的读音,但是它可以对于不在词汇表中的或者未知的词特别有用。利用rnn模块的lts转换还可以利用音节重音等级来增强读音。通过使用用于lts的rnn模块,可以通过分析文本本身以及被分析的文本周围的文本来针对文本确定音素。还部分地基于关于被分析的文本的上下文或者语义信息来确定音素。

第一级别的另一rnn模块可以用于确定输入文本的上下文信息和/或语义信息。在一些实施例中,文本和语义信息可以包括情绪风格、对话状态或风格、当日时刻、应用状态、个人风格,例如,外向型或内向型,和声音环境,以及其他类型的上下文和语义信息。上下文和/或语义信息可以洞察词应该如何进行读音或者应当阅读该词的语气和风格。例如,在分析句子“生气的女士说:‘走开’”,“生气”的情绪风格可以被分配给来自文本的词“走开”。该上下文信息然后可以在语音进行合成中的创建生成序列时被利用。

输入到第一级别的rnn模块中的文本可以取决于rnn模块而具有不同的规模。例如,不同的输入规模包括每一个词的字母索引,句子的词索引、对话中的句子索引、或者对话索引。

在分析的第二级别,可以使用超结构模块来组合来自第一级别的rnn模块的输出。超结构模块可以是另一rnn模块。超结构模块基于来自这些rnn模块中的每一个的输出来选择由第一级别的rnn模块确定的优选拼音特性。根据所确定的优选拼音特性,超结构模块创建了可以由语音合成器使用来产生可听见的语音的生成序列。超结构还将额外的拼音特性分配给文本。虽然超结构的一个目的是改进生成序列的准确性,但是额外的目的是创建可能的最佳的序列,其可能不总是最准确的序列。然而,最佳序列是使得在用户的上下文中以及在应用的上下文中,用户的平均意见分数(mos)最大化的一个。

在分析的第三级别,来自超结构模块的生成序列可以通过全局优化模块来进一步优化。全局优化模块实现了在之前的分析级别中没有说明过的一组特别的规则。全局优化模块可以将生成序列优化为生成序列的全部或者单独的部分。全局优化模块输出用于语音合成到可听见的语音的优化生成序列。

图1描绘了用于超结构循环神经网络文本到语音应用的具有框架100的系统。在所描绘的实施例中,框架100包括在第一级别中的词性(pos)rnn模块104、发音(lts)rnn模块106、语言注音标记rnn模块108、以及上下文感知及语义挖掘rnn模块110。每个模块从文本接收输入102,并且在一些实施例中,接收其他信息。来自posrnn模块104、ltsrnn模块106、语言注音标记rnn模块108、以及上下文感知及语义挖掘rnn模块110的输出被注入到超结构循环神经网络组合模块112。来自超结构循环神经网络组合模块112的输出还被注入到全局优化模块116,其最终输出优化的生成序列118,所述优化的生成序列由语音合成器利用而经由扬声器或者其他输出设备将文本大声地读出来。

posrnn模块104利用rnn来确定来自输入文本102的词的词性。pos从输入102以多个词(例如,句子)的形式来接收文本。根据输入词,训练的rnn确定来自输入102的词中的一个或多个的词性的正确的标记。例如,词可以大量地被标记为动词、名词、形容词、副词、代词、介词、连词或者感叹词。该词还可以被给予更详细的标记,例如,词的时态,例如一般现在时,现在进行时、现在完成时、一般未来时、一般过去时、过去进行时、过去完成时、以及过去将来时。其他详细的标记可以与词是单数还是复数或者词性的类型是例如及物动词或者词汇动词相关。词性标记提供了词的合适的发音的额外的指示符。例如,在句子“我买了唱片”中词“唱片(record)”被标记为名词。在自然语音中,名词“唱片(record)”发音与动词“记录(record)”是不同的。

每一个词的标记是根据训练的posrnn模块处理词本身以及它周围的其他词(例如,目标词前面的词和目标词后面的词)来进行确定的。在一些实施例中,只有目标词前面的词可以被分析,而在其他实施例中,只有目标词后面的词可以被分析。输入可以是以句子和/或段落的形式,使得分析能够确定目标词的词性。rnn结构的更具体的描述将在下面参照图2-图4来进行讨论。

ltsrnn模块106是文本到语音处理中的模块中的另一个模块。利用ltsrnn模块106的一个好处是更具体地确定不常见的词或者不在系统所知道的词汇表中的词的发音。ltsrnn可以包括用于转换发音的一个或多个模块。例如,一个模块可以用于特定的语言,而另一个模块可以用于另一语言。在一些实施例中,单个多语言模块可以被实现为ltsrnn模块106。多语言lts模块合并与语言相关联的不同的模式和规则。在依赖于语言的lts模块中,所说的语言必须是确定的。利用基于rnn的lts模块,多语言可以通过将ltsrnn模块106实现为组合的rnn模块来进行处理,这允许相同的rnn解码器用于语言识别以及音素的生成。在实施例中,统一的rnn模型训练器可以用于训练多语言lts模块。ltsrnn模块106接收多个字母作为输入,例如,形成词的字母。ltsrnn模块106处理输入字母来确定字母和词的音素。换句话说,ltsrnn模块106将字母转换为相对应的音素,所述相对应的音素然后可以被合成为可听见的语音。例如,在实施例中,词“同步(activesync)”中的字母可以转换为音素“aelktihvsihlngk”。

每一个字母或者字母分组的音素是根据训练的ltsrnn模块106来进行确定的,ltsrnn模块106处理目标字母本身以及目标字母周围的字母(例如,目标字母之前的字母以及目标字母之后的字母)。在一些实施例中,只有目标字母之前的字母可以被分析,而在其他实施例中,只有目标字母之后的字母可以被分析。输入可以是词的形式,使得分析能够确定目标字母周围的字母是如何影响读音的。可以在词的字母以逆序被分析的情况下使用返回建模。rnn结构的更详细的描述在下文参考图2-图4来进行讨论。

语言注音标记(lpt)rnn模块108确定来自输入102的字母、词、或一组词的语言注音特性。通常,语言注音特性是指示在语音中使用的韵律以及声音的特性。一些注音特性包括音调升降、阅读文本的持续时间、阅读文本的音量、阅读文本的音调或频率、词的重音或音节,以及阅读文本的频率范围等其他。在确定合适的语言注音特性之后,注音标记rnn模块108利用语言注音特性来对目标文本进行标记。

目标文本的注音标记是根据训练的注音标记rnn模块104来进行确定的,注音标记rnn模块104处理目标文本本身以及其周围的其他文本(例如,目标文本之前的文本以及目标词之后的文本)。在一些实施例中,只有目标文本之前的文本可以被分析,并且在其他实施例中,只有目标文本之后的文本可以被分析。输入可以是句子和/或段落的形式,使得分析能够确定目标文本的词性。目标文本可以是单个词、词的字母、或者一组词,例如,句子、段落或对话。rnn结构的更详细的描述在下文参考图2-图4来进行讨论。

上下文感知及语义挖掘rnn模块110是确定文本到语音应用中的文本的最自然的读音的另一方面。上下文感知及语义挖掘rnn模块110确定与输入文本102相关的上下文信息。上下文信息的示例包括情绪风格、对话状态、当日时刻、应用状态、和声音环境,以及其他类型的上下文信息。在确定上下文信息后,利用确定的上下文信息来标记目标文本。上下文感知及语义挖掘rnn模块110可以包括用于每一个不同类型的上下文信息的多个rnn模块。在其他实施例中,上下文感知及语义挖掘rnn模块110包括能够确定多个类型的上下文信息的单个rnn模块。

用于文本的上下文标记是根据训练的上下文感知及语义挖掘rnn模块110来进行确定的,训练的上下文感知及语义挖掘rnn模块110处理目标文本本身以及其周围的其他文本(例如,目标文本之前的文本以及目标词之后的文本)。在一些实施例中,只有目标文本之前的文本可以被分析,并且在其他实施例中,只有目标文本之后的文本可以被分析。输入可以是句子和/或段落的形式,使得分析能够确定目标文本的词性。目标文本可以是单个词、词的字母、或者一组词,例如,句子、段落或对话。rnn结构的更详细的描述在下文参考图2-图4来进行讨论。

在一些实施例中,上下文信息和/或上下文标记中的一些与输入文本102一起被提供作为额外的信息。在这样的实施例中,上下文感知及语义挖掘rnn模块110可以仅包含不包括在输入中的用于上下文信息的功能。在类似的实施例中,可以在处理输入文本102之前,来确定什么额外的上下文信息随着输入文本102一同被包括。基于该确定,如果相对应的上下文信息已经被包括在输入中,则文本可以不由上下文感知及语义挖掘rnn模块110中的一些来进行处理。

来自上下文感知及语义挖掘rnn模块110、语言注音标记rnn模块108、ltsrnn模块106、以及posrnn模块104的输出(例如,标记和音素)由超结构循环神经网络组合模块112来接收。超结构循环神经网络组合模块112处理输入来确定输入中的任何是否需要基于其他输入来进行调整或修改。例如,基于用于文本段的上下文信息标记,语言注音标记可能需要被修改。不同输入中的每一个可能对于另一个有影响,并且超结构循环神经网络组合模块112处理这些输入来说明这些影响。超结构循环神经网络组合模块112还可以确定不由第一级别的模块所确定的额外的拼音特性和特性类型。在处理来自其他rnn模块的输入之后,超结构循环神经网络组合模块112产生生成序列。生成序列能够由语音合成器利用来生成可听见的语音。生成序列可以指示文本是如何被讲出来并且被合成为可听见的语音的。在一些实施例中,超结构循环神经网络组合模块112的输出是与超结构循环神经网络组合模块112的输入相同的形式,但是数据的值可以是不同的。在其他实施例中,输出可以是指示要被合成的拼音特性的编码串。

正如在图1中示出的,可选的词典114可以被包括作为超结构循环神经网络组合模块112或任何其他模块的输入。词典114可以是在传统文本到语音输入中利用的传统词典。词典114还可以被吸收到rnn模型中作为训练数据,并且因此不需要单独的输入,例如,查找表。

在图1中描绘的实施例中,超结构循环神经网络组合模块112是由全局优化模块116接收的。全局优化模块116处理超结构循环神经网络组合模块112的输出来进一步改进要被合成的文本的拼音特性。例如,存在一些类型的文本输入102,这些文本输入可能受到专门的规则的约束,而这些规则不是由超结构循环神经网络组合模块112、上下文感知及语义挖掘rnn模块110、语言注音标记rnn模块108、ltsrnn模块106、以及posrnn模块104来进行说明的。专门的规则可以包括由全局优化模块116而不是其他模块处理最佳的特殊的规则或应用。例如,一些专门的规则可以包括用于合适的名词的缩写以及读音的规则。例如,在句子“ms是由比尔盖茨和保罗艾伦创建的,”可以使用专门的规则来指示“ms”应当被读作“微软”。全局优化模块116还可以利用一组词、句子、段落等的读音的金局(goldenset)来使用。例如,句子“ms是由比尔盖茨和保罗艾伦创建的,”可以被包括在金局中。全局优化模块116还可以处理数据,如果必要的话,从而以生成序列的适当的形式来输入数据。

全局优化模块的输出是可以生成序列,音频合成器可以利用生成序列来生成与输入文本102相对应的合成的语音。因为生成序列是多个拼音特性以及关于输入文本102的细节的组合,所以合成的音频对于用户而言听起来将更自然。

图2描绘了可以在上下文感知及语义挖掘rnn模块110、语言注音标记rnn模块108、ltsrnn模块106、以及posrnn模块104以及超结构循环神经网络组合模块112中利用的rnn的架构。在图2中示出了rnn的示例架构。在图2阐述的架构中,rnn被示出为随着时间展开来覆盖三个连续的词输入。rnn包括在rnn的底部的输入层202,具有循环连接的在中间的隐藏层204(以虚线示出)、以及在rnn的顶部的输出层206。每一层表示节点的相应的集合,并且层是利用由矩阵u、w、以及v所表示的权重进行连接的。例如,在一个实施例中,隐藏层可以包含800个节点。输入层(向量)w(t)表示使用1-of-n编码(也称为“独热编码”)来进行编码的在时间t的输入词,并且输出层y(t)产生在可分配给输入文本的拼音特性上的概率分布。隐藏层204s(t)维护文本序列历史的表示。输入向量w(t)具有等于词汇大小的维度,并且输出向量y(t)具有等于可能的可分配拼音特性的数量的维度。隐藏层以及输出层中的值被计算如下:

s(t)=f(uw(t)+ws(t-1)),(1)

y(t)=g(vs(t)).(2)

其中

可以使用后向传播来对模型进行训练,从而使数据条件似然性最大化,如下:

πtp(y(t)|w(1),...,w(t))(4)

也可以利用rnn的其他训练方法。

应该注意的是,该模型对于输出值之间不具有直接的相互依赖。然而,概率分布是隐藏层触发的函数,其继而取决于词输入(以及其本身的过去值)。此外,可以在不到达词序列(句子)的末尾的情况下来对y(t)进行决策。这样,拼音特性的最可能的序列可以利用一系列决策来进行输出:

y*(t)=argmaxp((y(t)|w(1)...(w(t))(5)

该概率提供了能够简单地并且在线执行的另外的优点。在实施例中,不必对拼音特性进行动态编程搜索来找到优选结果。

图3中示出了rnn的另一结构。期望的是,给定这样的序列中的所有文本,则识别文本的序列中的文本的最可能的拼音特性序列,“未来(future)”文本可以被期望地采用作为当确定词w(t)的语义标记时的输入。两个示例方法在本文中描述用于这样做。首先,rnn的输入层可以从“独热”表示改变为n热或者文本组表示,在其中,对于不仅仅是当前的文本存在非零值,但是下一个n-1个文本也存在非零值。这样,可以在分析期间考虑未来的词。这种方法的优点是使用更好的上下文,但是潜在的缺点是排序信息可能丢失。

包括未来文本的第二示例方法在图3中示出的架构中进行例示,图3示出了“特征增强”架构。在这样的方式中,边信息是通过利用权重f将额外层302的密集(与“独热”相反)输入f(t)提供给隐藏层304以及利用权重g将额外层302的密集(与“独热”相反)输入f(t)提供给输出层306的。未来文本的连续空间向量表示可以被提供为隐藏层304的输出。在示例实施例中,文本的表示是通过非增强网络(其可以包括来自输入层到隐藏层的权重)来进行学习的。为了保持文本排序信息,表示可以在给定的上下文窗口中按顺序进行连接。训练和解码过程是未改变的。

在图3的架构中,激活计算可以被修改如下:

s(t)=f(ux(t)+ws(t-1)+ff(t)),(6)

y(t)=g(vs(t)+gf(t)),(7)

其中,x(t)可以是w(t)或者文本组向量。例如,x(t)={w(t),w(t+1)},并且包括当前文本以及下一个或者未来文本,形成“2热(2-hot)”表示。

图4示出了适合用于上下文感知及语义挖掘rnn模块110、语言注音标记rnn模块108、ltsrnn模块106、以及posrnn模块104的rnn的高级架构的另一描绘。用于rnn的输入特征{li,fi}402包括来自其他模型的输出的当前模块特征{l}以及辅助特征{f}。下标i表示用于每个词中的字母索引、每个句子中的词索引、对话中的句子索引、和/或对话索引的序列索引,这取决于模块或者实施例。来自rnn架构中的隐藏层404的状态s用于记录序列的历史信息。当前索引的状态s然后被返回到rnn以用于句子中的下一个索引,如由si-1输入406示出的,并且如上文参考图2-图3所讨论的。基于输入,rnn确定输入序列的每个索引的输出408。

图5a示出了被用作超结构rnn组合模块112的rnn的描绘。在一些实施例中,图5所描绘的rnn还可以在上下文感知及语义挖掘rnn模块110、语言注音标记rnn模块108、ltsrnn模块106、以及posrnn模块104中利用。rnn的输入特征{li,fi,fj,fk}包括来自其他模型的输出的当前模块特征{l}和辅助特征{f}。辅助特征{f}可以包括同一规模的输入的当前辅助特征,被表示为fi。辅助特征{f}还可以包括更高规模的辅助特征,被表示为fj。下标i表示用于每个词中的字母索引、每个句子中的词索引、对话中的句子索引、和/或对话索引的序列索引,这取决于模块或者实施例。下标j类似地表示比当前索引更高规模的顺序索引。fj特征可以来自其他rnn模块(上下文感知及语义挖掘rnn模块110、语言注音标记rnn模块108、ltsrnn模块106、以及posrnn模块104)的输出。例如,用于lts的字母规模的rnn建模,更高规模的标记(例如,词、句子、以及对话规模标记)可以被用作辅助特征fj。另一示例,针对用于确定情绪状态或个性类型的句子规模rnn建模,辅助特征fj可以是辅助特征可以是对话规模特征。针对用于个性化或其他语义挖掘标记的对话规模rnn建模,fj特征可以是环境状态。

辅助特征{f}还可以包括更小规模的辅助特征,被表示为fk。下标k表示比当前索引i相比更小规模的顺序索引。fk特征可以来自其他rnn模块(上下文感知及语义挖掘rnn模块110、语言注音标记rnn模块108、ltsrnn模块106、以及posrnn模块104)的输出。

来自rnn架构中的隐藏层504的状态s用于记录序列的历史信息。当前索引的状态s然后被返回到rnn以用于句子中的下一索引,如si-1输入506所示出的,并且如上文参考图2-图3所讨论的。基于输出,rnn确定输入序列的每一个索引级别的输出508。

对于ltsrnn模块106,到rnn的输入文本是以词中的字母的形式。句子中的每一个索引i表示词中的单独的字母。来自ltsrnn模块106的输出是用于词的字母的音素序列。ltsrnn模块106的辅助特征可以包括指示字母或由字母形成的词的上下文的特征。在一些实施例中,辅助特征是与字母同一规模的,或者更高规模,例如,词、句子、或者对话规模。

例如,对于词“hot”,字母“h”可以被考虑为l0。字母“o”将是l1,并且“t”将是l2。在该示例中,字母“h”在隐藏层中处理,并且该处理的解码的历史被表示为s0。基于该处理,与“h”相对应的音素的输出为输出o0。字母“h”的处理还可以基于未来的字母,“o”和“t”。未来的字母可以被输入到rnn作为特征向量的部分。字母“o”输入为l1在隐藏层中处理,并且该处理的编码的历史被表示为s1。处理可以基于之前分析的、被编码为s0字母的历史以及未来字母。通过在确定字母“o”的音素中分析未来字母,可以确定的是字母“o”在词“hot”中应当被分配与短音o发音而不是如在词“hole”中的长音o的发音相对应的音素。基于该处理,与“o”相对应的音素的输出被输出为o1。词中最后的字母,“t”然后被处理。词中的字母历史被编码为s1,并且与字母“t”相对应的音素的输出被输出为o2。在s中编码的历史的量可以被调整为限制被考虑的之前的字母的数量。所考虑的未来的字母的数量还可以被限制为未来字母的预定的数量。

ltsrnn模块还执行返回分析来处理逆序的词中的字母。换句话说,后缀中的字母在词根的字母或者词的前缀中的字母之前被分析。使用以上示例,对于词“hot”,字母“h”可以被考虑为l0。字母“o”将是l1,并且“t”将是l2。通过执行逆分析,可以确认上面示例的音素输出。逆分析还可以用作用于产生与词的字母相对应的音素的主要分析。

对于一些语言,返回分析可以提供与之前的方法(例如,使用caet树决策分析)更准确的结果。以下的表是对来自针对cart树分析的基线的示例测试rnn技术的实验中的结果进行的总结。实验是由关于en-us(具有重音)设置的统一评估脚本具有相同的字母音素。训练集是195080个词,测试集是21678个词,并且结果是基于自然音素序列的(没有合成音素或者空音素)。

根据该结果,rnn处理提供了对于词错误率4.28%的相对改进,以及对于音素错误率15.19%的相对改进。

作为示例,对于posrnn模块104,到rnn的输入文本是句子的词。句子中的每一个索引i表示句子中单独的词。来自pos的输出是用于句子中的每一个词的指示词的词性的标记。在一些情况中,如果没有相关联的或者已知的用于词的pos标记,则标记可以是空。posrnn模块104中的辅助特征可以包括指示词的上下文的特征。例如,词可以利用上下文信息而在先前标记(经由rnn模块或者其他标记方法)。例如,词“boston”先前被标记为城市。将该信息标记为辅助信息还可以由posrnn模块104来影响pos标记。同一规模或者其他规模的其他先前确定的上下文信息还可以被包括作为posrnn模块104的输入。还可以类似于ltsrnn模块106中的字母来分析未来的词。

对于语言注音标记rnn模块108,到rnn的输入文本是以句子中的词的形式。句子中的每一个索引i表示句子中的单独的词。来自语言注音标记rnn模块108的输出是用于句子的词的语言注音标记。在其他实施例中,到语言注音标记rnn模块108的输入文本,到rnn的输入文本是以对话中的句子或者对话本身的形式。在这些实施例中,每一个索引i分别表示对话中的单独句子或者对话本身。语言注音标记rnn模块108中的辅助特性可以包括指示词的上下文的特征。例如,词可以利用上下文信息而先前被标记(经由其他rnn模块或者其他标记方法)。同一规模或者其他规模的其他先前确定的上下文信息还可以被包括作为语言注音标记rnn模块108的输入。还可以类似于ltsrnn模块106中的字母来分析其他词。

对于上下文感知及语义挖掘rnn模块110,输入文本是以句子中的词、对话中的句子、或者对话本身的形式。句子中的每一个索引i分别表示句子中的词、对话中的句子或者对话本身。上下文感知及语义挖掘rnn模块110输出文本的上下文特性,例如,情绪风格、对话状态、当日时刻、应用状态、声音环境等。上下文感知及语义挖掘rnn模块110的辅助特征可以包括指示输入文本在由上下文感知及语义挖掘rnn模块110处理之前先前知道的词、句子、或者对话的上下文的特征。

超结构循环神经网络组合模块112接收上下文感知及语义挖掘rnn模块110、语言注音标记rnn模块108、ltsrnn模块106、以及posrnn模块104的输入和输出。这样,输入文本{l}可以是多个规模。超结构循环神经网络组合模块112从第一级别的模块中接收输出作为辅助特征{f}。这些辅助特征可以位于与被分析的文本相同的规模,或者它可以位于与被分析的文本的当前规模不同的规模。根据输入,超结构循环神经网络组合模块112确定与文本相关联的优选拼音特性和标记。在实施例中,超结构循环神经网络组合模块112确定由第一级别中的模块确定的相同的拼音特性,但是超结构循环神经网络组合模块112能够基于来自第一级别的模块的所有确定的拼音特性来确定优选拼音特性。

图5描绘了可以被实现用于tts的基于rnn的系统的实施例。如图5b所描绘的,上文参考图1所描绘的rnn模块的输出由rnn模块控制512来接收。另外,可以利用其他rnn模块,或者还可以利用组合了其他模块的功能的组合的rnn模块510。rnn模块控制512可以处理从rnn模块池中的模块接收的数据,使得来自rnn模块控制512的输出能够由统一的rnn解码器516使用。统一的rnn解码器516接收输入序列514,并且基于rnn模块池中的rnn模块的功能来输出输出序列518。这样,统一的rnn解码器将rnn模块功能统一为解码器。

图6-图10示出了与将拼音特性分配给文本有关的方法。虽然方法被示出并且被描述为以一序列执行的一系列动作,但是应当理解并且意识到的是方法不限于序列的顺序。例如,一些动作可以以与本文所描述的不同的顺发生。另外,某动作可以与另一动作并行地发生。此外,在一些实例中,并不需要所有的动作来实现本文所描述的方法。

此外,本文所描述的动作可以是可以由一个或多个处理器实现的和/或被存储在计算机可读介质或者媒介上的计算机可执行指令。计算机可执行指令可以包括例程、子例程、程序、执行的线程,和/或其他。此外,方法的动作的结果可以被存储在计算机可读介质上,显示在显示设备上,和/或其他。

图6描绘了用于利用rnn来确定文本的发音的方法600。在操作602处,接收文本输入。文本输入可以以句子中的词的形式被接收。词还可以被接收作为文本组表示或者词袋表示。在操作604处,辅助输入被接收。辅助信息还可以包括关于输入文本的上下文和/或语义信息。辅助信息还可以包括当前文本和未来文本。在所有输入文本被包括作为密集辅助输入的这样的实施例中,在操作602处单独的输入可以是不需要的。

在操作606处,文本的词性拼音特性是利用rnn来确定的。例如,posrnn模块104可以确定文本的词性拼音特性。在操作608处,所确定的词性拼音特性被分配给文本,并且所分配的拼音特性被输出。

图7描绘了用于利用rnn来确定文本的音素的方法700。在操作702处,接收文本输入。文本输入可以以词中字母的形式而被接收。字母还可以被接收作为文本的组表示。在操作704处,辅助输入被接收。辅助信息可以包括关于输入文本的上下文和/或语音信息。辅助信息还可以包括当前文本和未来文本。在所有输入文本被包括作为密集辅助输入的这样的实施例中,在操作702处单独的文本输入可以是不需要的。

在操作706处,文本的发音拼音特性(例如,音素)是利用rnn来确定的。例如,ltsrnn模块106可以确定文本的音素。在操作708处,所确定的音素被分配给文本,并且所分配的音素被输出。

图8描绘了用于利用rnn来确定文本的语言注音拼音特性或者语言注音标记的方法800。在操作802处,接收文本输入。文本输入可以以句子中的词、对话中的句子或者对话的形式被接收。文本还可以被接收作为文本组表示或者词袋表示。在操作804处,辅助输入被接收。辅助信息还可以包括关于输入文本的上下文和/或语义信息。辅助信息还可以包括当前文本和未来文本。在所有输入文本被包括作为密集辅助输入的这样的实施例中,在操作802处单独的文本输入可以是不需要的。

在操作806处,利用rnn来确定文本的语言注音拼音特性或者语言注音标记。例如,语言注音标记rnn模块108可以确定文本的语言注音标记。在操作808处,所确定的语言注音标记被分配给文本,并且所分配的语言注音标记被输出。

图9描绘了用于利用rnn来确定文本的上下文和/或语义含义的方法900。在操作902处,接收文本输入。文本输入可以以句子中的词、对话中的句子或者对话的形式被接收。文本还可以被接收作为文本组表示或者词袋表示。在操作904处,辅助输入被接收。辅助信息还可以包括关于输入文本的上下文和/或语义信息。辅助信息还可以包括当前文本和未来文本。在所有输入文本被包括作为密集辅助输入的这样的实施例中,在操作902处单独的文本输入可以是不需要的。

在操作906处,利用rnn来确定文本的上下文和/或语义含义。例如,上下文感知及语义挖掘rnn模块110可以确定文本的上下文和/或语义含义。在操作908处,所确定的上下文和/或语义含义被分配给文本,并且所分配的上下文和/或语义含义被输出。

图10描绘了用于确定文本的优选拼音特性的方法1000。在操作1002处,接收到文本输入。在一些实施例中,文本输入将以第一级别中的rnn模块接收文本输入相同的形式而被接收。例如,文本输入可以被接收作为文本的组或者密集辅助输入的部分。在操作1004处,接收词性拼音特性。词性拼音特性可以是从posrnn模块104输出的那些。在操作1006处,接收音素。音素可以是从ltsrnn模块106输出的那些。在操作1008处,接收语言注音标记。语言注音标记可以是从语言注音标记rnn模块108输出的那些。在操作1010处,接收上下文和/或语义拼音特性。上下文和/或语义拼音特性可以是从上下文感知及语义挖掘rnn模块110输出的那些。拼音特性、标记以及音素中的每一个可以被接收作为密集辅助输入。

基于接收的输入,在操作1012处确定优选拼音特性。所确定的拼音特性可以具有与所接收的拼音特性相同的类型。还可以确定文本的另外的拼音特性。基于所确定的优选拼音特性,生成能够被合成为可听见的语音的生成序列。优选拼音特性的确定和生成序列的创建可以由超结构循环神经网络组合模块112执行。在操作1018处,生成序列可以是优选的。生成序列的优化可以基于规则的特定集合和/或数据的金局。在操作1020处,优选的生成序列然后可以被合成为可听见的语音。

实施例还引起根据在本申请中所公开的系统的使用的正面结果。例如,以下的表概括了来自最近的基于英文的us实验的结果。

在上面的结果中,“阿波罗基线”是基于在2013公布的阿波罗tts产品的。具有zira_prosps后端的阿波罗产品前端是实验的特定设置。实验利用用于音素序列生成的阿波罗tts产品的前端并且使用具有统计参数合成器的zira_pro语音字体来基于音素序列来生成语音。uhrscmos指的是通用人类关联系统(uhrs)的众包测试以及基于可比较平均意见评分/量表(cmos)的评分。

关于语言注音标记错误率的另外的实验还产生正向结果。以下的表格概括了这些结果:

图11是示出了利用其可以实施本公开的实施例的计算设备1100的物理部件(例如,硬件)的框图。下文所描述的计算设备部件可以具有例如客户端的用于通信应用1113的计算机可执行指令和/或例如客户端的用于拼音特性rnn模块1111的计算机可执行指令,其可以被执行来采用本文所公开的方法400到600。在基本配置中,计算设备1100可以包括至少一个处理单元1102和系统存储器1104。取决于计算设备的配置和类型,系统存储器1104可以包括但不限于易失性存储(例如,随机存取存储器)、非易失性存储(例如,只读存储器)、闪速存储器、或者这样的存储器的任何组合。系统存储器1104可以包括操作系统1105和适合用于运行软件应用1120的一个或多个程序模块1106,例如,用于确定和分配拼音特性的,如参考图1-图10所讨论的,并且特别是通信应用1113或者拼音特性rnn模块1111。操作系统1105例如可以是适合用于控制计算设备1100的操作。此外,本公开的实施例可以结合图形库、音频库、语音数据库、语音合成应用、其他操作系统、或任何其他应用程序,并且不限于任何特定应用或系统。这些基本的配置在图11中通过虚线1108内的这些部件示出。计算设备1100可以具有额外的特征或功能。例如,计算设备1100还可以包括额外的数据存储设备(可移除和/或非可移除),例如,磁盘、光盘、或者带。这样的额外存储在图11中通过可移除存储设备1109以及非可移除存储设备1110示出。

如上文所陈述的,一些程序模块和数据文件可以存储在系统存储器1104中。当在处理单元1102上执行时,程序模块1106(例如,拼音特性rnn模块1111或者通信应用1113)可以执行如下处理,包括但不限于本文所描述的实施例。可以根据本公开的实施例使用的并且特定用于生成屏幕内容和音频内容的其他程序模块可以包括电子邮件及内容应用、文字处理应用、电子表格应用、数据库应用、幻灯片应用、绘图、消息传送应用、地图应用、文本到语音应用、和/或计算机辅助应用程序等。

此外,本公开的实施例可以在电子电路中实施,其包括分立的电子元件、包含逻辑门的分装的或者集成的电子芯片、利用微处理器的电路、或者在包括电子元件或者微处理器的单个芯片上。例如,本公开的实施例可以经由片上系统(soc)来实施,其中,图11中所示出的部件中的每一个或者许多可以集成在单个集成电路上。这样的soc设备可以包括一个或多个处理单元、图形单元、通信单元、系统虚拟单元以及其中的所有被集成(或者“烧制”)在芯片基底上作为单个集成电路的各种应用功能。当经由soc关于用于切换协议的客户端的能力来操作本文所描述的功能可以经由在单个集成电路(芯片)与计算设备600的其他组件集成的专用逻辑操作。本公开的实施例可以使用能够执行逻辑操作的其他技术来实施,逻辑操作例如,与、或,以及非,包括但不限于机械、光学、流体、以及量子技术。另外,本公开的实施例可以在通用计算机或者任何其他电路或者系统中实施。

计算设备1100还可以具有一个或多个输入设备1112,例如,键盘、鼠标、笔、声音或者嗓音输入设备、触摸或者扫动输入设备等。还可以包括输入设备1114,例如,显示器、扬声器、打印机等。上述的设备是示例,还可以使用其他。计算设备1100可以包括允许与其他计算设备1118进行通信的一个或多个通信连接1116。合适的通信连接1116的示例包括但不限于rf发射器、接收机、和/或收发机电路;通用串行总线(usb)、并行和/或串行端口。

本文所使用的术语计算机可读介质可以包括计算机存储介质。计算机存储介质可以包括实现在用于存储信息(例如,计算机可读指令、数据结构或程序模块)的任何方法或技术中的易失性和非易失性、可移动以及非可移动介质。系统存储器1104、非可移除存储存储设备1109、以及非可移除存储设备1110全部是计算机存储介质示例(例如存储器存储)。计算机存储介质可以包括ram、rom、电可擦除只读存储器(eeprom)、闪速存储器或者其他存储器技术、cd-rom、数字多功能盘(dvd)或者其他光存储、磁带盒、磁带、磁盘存储或者其他磁存储设备、或者可以用于存储信息以及可以由计算设备1100访问的任何其他制品。任何这样的计算机存储介质可以是计算设备1100的部分。计算机存储介质不包括载波或者任何传播或者调制数据信号。

通信介质可以通过计算机可读指令、数据结构、程序模块或者在调制数据信号(例如,载波或者其他传输机制)中的其他数据实施,并且包括任何信息传送介质。术语“调制数据信号”可以描述使得一个或多个特性以对信号中的信息进行编码的方式进行设置或者改变的信号。例如并且不限于通信介质可以包括有线介质,例如,有线网络或者直连连接,以及无线介质,例如,声音、射频(rf)、红外线、以及其他无线介质。

图12a和图12b示出了移动计算设备1200,例如,移动电话、智能电话、可穿戴计算机(例如,智能手表)、平板计算机、膝上型计算机、等等,利用它们可以实施本公开的实施例。在一些实施例中,客户端可以是移动计算设备。参考图12a,示出了用于实现实施例的移动计算设备1200的一个实施例。在基本配置中,移动计算设备1200是具有输入单元和输出单元的手持计算机。移动计算设备1200通常包括显示器1205和允许用户将信息输入到移动计算设备1200的一个或多个输入按钮1210。移动计算设备1200的显示器1205还可以用作输入设备(例如,触摸屏显示器)。如果被包括,可选的边输入元素1215还允许用户输入。边输入元素1215可以是旋转式开关、按钮、或者任何其他类型的手动输入单元。在可替换的实施例中,移动计算设备1200可以合并更多或者更少的输入元件。例如,显示器1205在一些实施例中可以不是触摸屏。在另一个可替换的实施例中,移动计算设备1200是便携式电话系统,例如,蜂窝电话。移动计算设备1200还可以包括可选键区1235。可选键区1235可以是物理键区或者在触摸屏显示器上生成的“软”键区。在各种实施例中,输入单元包括用于示出图形用户界面(gui)的显示器1205、可视指示符1220(例如,发光二极管)、和/或音频变压器1225(例如,扬声器)。在一些实施例中,移动计算设备1200包含用于向用户提供触觉反馈的振动传感器。在另一实施例中,移动计算设备1200包含输入和/或输出端口,例如,音频输入(例如,麦克风插孔)、音频输出(例如,耳机插孔)、以及视频输出(例如,hdmi端口),以用于向外部设备发送信号或者从外部设备接收信号。

图12b是示出了移动计算设备的一个实施例的架构的框图。也即,移动计算设备1200可以包含系统(例如,架构)1202来实现一些实施例。在一个实施例中,系统1202可以被实现为能够运行一个或多个应用(例如,浏览器、电子邮件、日历、联系人管理、消息传送客户端、游戏、文本到语音应用、以及介质客户端/播放器)的“智能电话”。在一些实施例中,系统1202被集成为计算设备,例如,集成个人数字助理(pda)以及无线电话。

一个或多个应用程序1266可以装载到存储器1262,并且在操作系统1264上运行,或者与操作系统1264相联系地运行。应用程序的示例包括电话拨号程序、电子邮件程序、个人信息管理(pim)程序、文字处理程序、电子表格程序、互联网浏览器程序、消息传送程序、文本到语音应用等。系统1202还包括在存储器1262中的非易失性存储区1268。非易失性存储区1268可以用于存储如果系统1202断电也不会丢失的永久性信息。应用程序1266可以使用信息,并且将信息存储在非易失性存储区1268中,所述信息例如是,由电子邮件应用使用的电子邮件或者其他消息等。同步应用(未示出)还驻存在系统1202上,并且被编程为与驻存在主机计算机上的相对应的同步应用进行交互来将存储在非易失性存储区1268中的信息与存储在主机计算机上的相对应的信息同步。如应当意识到的是,其他应用可以被装载在存储器1262中,并且在移动计算设备1200上运行,包括用于确定并且分配如本文所描述的拼音特性的指令(例如,和/或可选的拼音特性rnn模块1111)。

系统1202具有电源1270,其可以被实现为一个或多个电池。电源1270还可以包括外部电源,例如,对电池进行补充或者再充电的ac适配器或者电源对接插座。

系统1202还可以包括执行发送和接收射频通信的功能无线电1272。无线电1272经由通信载波或者服务提供商实施系统1202和“外部世界”之间的无线连通。到无线电1272的发送和从无线电1272的发送在操作系统1264的控制下实施。换句话说,由无线电1272接收的通信可以经由通信系统1264传播到应用程序1266,反之亦然。

可视指示符1220可以用于提供可视通知,和/或音频接口1274可以用于经由音频换能器1225产生可听见的通知。在示出的实施例中,可视指示符1220是发光二极管(led)并且音频换能器1225是扬声器。这些设备可以直接耦合到电源1270,使得当被激活时,它们在一段时间内保持由通知系统支配,即使处理器1260和其他部件可能被关闭以用于节省电池功率。led可以被编程而被无限期地保持,直到用户采取动作来指示设备的开机状态。音频接口1274用于向用户提供可听见的信号,以及从用户接收可听见的信号。例如,除了与音频换能器1225耦合,音频接口1274还耦合到麦克风来接收可听见的输入,例如用于实施电话对话。根据本公开的实施例,麦克风还用作音频传感器来实施对通知的控制,正如将在下文所描述的。系统1202还可以包括能够启用车载摄像头1230用于记录图像、视频流等的操作的视频接口1276。

实现系统1202的移动计算设备1200可以具有额外的特征或功能。例如,移动计算设备1200还可以包括额外的数据存储设备(可移除和/或非可移除),例如,磁盘、光盘或带等。这样的额外的存储在图12中由非易失性存储区1268示出。

由移动计算设备1200生成或者捕获的并且经由系统1202存储的数据/信息可以本地存储在移动计算设备1200上,如上文所描述的,或者数据可以被存储在可以由设备经由无线电1272或经由移动计算设备1200以及与移动计算设备1200相关联的单独的计算设备(例如,在分布式计算网络(例如,互联网)中的服务器计算机)之间的无线连接访问的任何数量的存储介质上。正如本文所意识到的,这样的数据/信息可以经由移动计算设备1200经由无线电1272或者经由分布式计算网络访问。类似地,这样的数据/信息可以在计算设备之间容易地传送,以用于根据公知的数据/信息传送和存储手段(包括电子邮件和协作数据/信息共享系统)来存储和使用。

图13示出了用于处理在计算系统处从远程源(例如,计算设备1304、平板计算设备1306、或者移动设备1308)接收的数据的系统的架构的一个实施例,如本文所描述的。在服务器设备1302处显示的内容可以被存储在不同的通信信道或者其他存储类型中。例如,可以使用目录服务1322、网络端口1324、电子邮件服务1326、即时消息传送存储1328或者社交网络站点1330来存储各种文档。通信应用1113可以由与服务器1302进行通信的客户端使用。服务器1302可以通过网络1315将数据提供给客户端计算设备,并且从客户端计算设备取数据,所述客户端计算设备例如个人计算机1304、平板计算设备1306和/或移动计算设备1308(例如,智能电话)。例如,上文关于图1-6描述的计算机系统可以被体现在个人计算机1304、平板计算设备1306和/或移动计算设备1308(例如,智能电话)中。计算设备的这些实施例中的任何一个可以从存储1316获得内容,除了接收图形数据之外,所述图形数据能够用于在源自图形系统处进行预先处理,或者在接收计算系统出进行后处理。

图14示出了可以执行本文所公开的一个或多个实施例的示例平板计算设备1400。另外,本文所描述的实施例和功能可以通过分布式系统(基于云的计算系统)上进行操作,其中,应用功能、存储器、数据存储及取回、以及各种处理功能可以彼此远程地在分布式计算网络(例如,互联网或者内联网)上操作。用户接口和各种类型的信息可以经由车载计算设备显示器或者经由与一个或多个计算设备相关联的远程显示单元来进行显示。例如,用户接口和各种类型的信息可以在墙面上进行显示,并且与墙面进行交互,在墙面上可以对用户接口和各种类型的信息进行投影。与利用其可以实施本发明的实施例的众多计算系统进行的交互包括击键输入、触摸屏输入、声音或者其他音频输入、姿势输入,其中相关联的计算设备配备有检测(例如,摄像头)功能以用于捕获和解释用于控制计算设备的功能等的用户姿势。

本公开的实施例例如在上文中参考根据本公开的实施例的方法、系统、以及计算机程序产品的框图和/或操作示出来进行描述。在框图中指出的功能/动作可以以任何流程图中所示出的顺序之外的顺序发生。例如,连续示出的两个框实际上可以基本上并行执行,或者框有时可以以逆序执行,这取决于所包含的功能/动作。

在本申请中提供的一个或多个实施例的描述和示出不是要以任何方式限制或约束所要求保护的本公开的范围。在本申请中所提供的实施例、示例以及细节被考虑为传达所有物,并且使得其他人能够利用和使用所要求保护的公开的最佳模式。所要求保护的公开不应当被解释为被限制为本申请中提供的任何实施例、示例或者细节。不论是组合或者单独地进行示出以及描述,各种特征(结构上以及方法上)是要被选择性地包括或者省略,来产生具有特定特征集合的实施例。提供了本申请的描述和示出,本领域的技术人员可以设想落在本申请中实现的通用发明概念的宽泛的精神内的变形、修改以及可替换的实施例不偏离所要求公开的宽泛的范围内。

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