具体实施方式
虽然下面以用于执行本发明的最佳模式(以下称为实施例)来说明本发明,但是,下面的实施例不限制按照权利要求的范围的本发明,并且在所述实施例中所述的特征的所有组合对于本发明的解决手段而言不必然是必需的。
图1示出了识别系统10的整体配置。识别系统10包括存储单元20和重音识别单元40。输入文本15和输入语音18被输入到重音识别单元40,并且重音识别单元40识别如此输入的输入语音18的重音。输入文本15是用于指示输入语音18的内容的数据,并且例如是诸如其中布置了字符的文件的数据。另外,输入语音18是读出输入文本15的语音。这种语音被转换为用于指示在频率上的时间系列变化等的声音数据或者被转换为用于指示所述时间系列变化的特性等的输入语音数据,然后被记录在识别系统10中。而且,语 音表示例如下述信息:所述信息用于指示对于在输入语音18中的每个短音节,所述短音节属于用于指示应当以较高的语音来说出所述短音节的H类型,还是所述短音节属于用于指示应当以较低的语音来说出所述短音节的L类型。为了识别所述重音,除了与输入语音18相关联地输入的输入文本15之外,还使用在存储单元20中存储的各种数据。存储单元20存储培训用语数据200、培训语音数据210、培训边界数据220、培训词性数据230和培训重音数据240。按照这个实施例的识别系统10的目的是通过有效地使用这些数据来精确地识别输入语音18的重音。
注意,如此识别的重音的每个包括是用于指示韵律词组的分段的边界数据和关于韵律词组的重音类型的信息。所识别的重音与输入文本15相关联,并且被输出到文本语音合成器30。通过使用关于重音的这个信息,文本语音合成器30从文本产生然后输出合成语音。使用按照这个实施例的识别系统10,可以仅仅通过输入文本15和输入语音18的输入来有效地和高度精确地识别重音。因此,可以节省用于手动输入重音和用于校正自动识别的重音的时间和麻烦,以使得能够有效地产生其中文本与读出相关联的大量的数据。为此,可以在文本语音合成器30中获得关于语音的高度可靠的统计数据,由此,可合成对于听者听起来更自然的语音。
图2示出了输入文本15和培训用语数据200的配置的具体示例。如上所述,输入文本15是诸如其中布置了字符的文件的数据,并且培训用语数据200是示出在预先准备的培训文本中的每个字的用语的数据。每个数据包括多个句子,其例如通过日语中的所谓“kuten(句号)”而被彼此分段。另外,每个句子包括多个声调词组(IP),其例如通过在日语中的所谓“touten(逗号)”而彼此分段。每个声调词组还包括韵律词组(PP)。所述韵律词组在韵律学领域中是连续说出的一组字。
另外,每个韵律词组包括多个字。字主要是词素,并且是用于指示具有在语音上的含义的最小单位的概念。另外,字包括作为其发音的多个短音节。短音节在韵律学领域中是具有特定长度的语音分段单位,并且是例如对应于日语中的“hiragana(平假名)”的一个字符的发音。
图3示出了在存储单元20中存储的各种数据的一个示例。如上所述,存储单元20具有培训用语数据200、培训语音数据210、培训边界数据220、培训词性数据230和培训重音数据240。培训用语数据200包含每个字的用 语,其例如作为连续多个字符的数据。在图3的示例中,在句子“oo saka huzai ji u no kata ni kagi ri ma su”中的每个字符的数据对应于这个数据。另外,培训用语数据200包含在字之间的边界上的数据。在图3的示例中,以虚线示出边界。具体上,“oosaka”、“fu”、“zaijiu”、“no”、“kata”、“ni”、“kagi”、“ri”、“ma”和“su”是在培训用语数据200中的字。而且,培训用语数据200包含用于指示在每个字中的短音节的数量的信息。在附图中,例示了在每个韵律词组中的短音节的数量,可以根据在每个字中的短音节的数量来容易地计算在每个韵律词组中的短音节的数量。
培训语音数据210是用于指示在培训语音中的每个字的语音的特征的数据。具体上,培训语音数据210可以包括用于表达对应的字的发音的字母表的字符串。即,下述信息对应于这个字符串:被写为“oosakafu”的词组包括作为其发音的5个短音节并且被发音为“o、o、sa、ka、fu”。另外,培训语音数据210可以包括读出在培训语音中的字的语音频率数据。这个频率数据是例如声带肌带的振荡频率,并且最好通过排除在口腔中谐振的频率(这个频率被称为基本频率)而获得这个频率数据。另外,培训语音数据210可以存储这个基本频率数据,其不是以频率的值本身的形式,而是以诸如示出那些值的时间系列变化的图的斜率的数据的形式。
培训边界数据220是用于指示是否在培训文本中的每个字对应于韵律词组的边界的数据。在图3的示例中,培训边界数据220包括韵律词组边界300-1和韵律词组边界300-2。韵律词组边界300-1指示字“fu”的结尾对应于韵律词组的边界。韵律词组边界300-2表示字“ni”的结尾对应于韵律词组的边界。培训词性数据230是用于指示在培训文本中的字的词性的数据。在此所述的词性是这样的一个概念,其不仅包括在严格的语法意义上的词性,而且包含这些词性根据其角色被进一步详细划分为的词性。例如,培训词性数据230包括与字“oosaka”相关联的、关于其是“专有名词”的词性的信息。同时,培训词性数据230包括与字“kagi”相关联的、关于其是“动词”的词性的信息。培训重音数据240是用于指示在培训文本中的每个字的重音类型的数据。在每个韵律词组中包含的每个短音节被划分为H类型或者L类型。
另外,通过将韵律词组分类为多个预定重音类型的任何一个而确定所述韵律词组的重音类型。例如,在通过连续的重音“LHHHL”而发音由5个短音节构成的韵律词组的情况下,韵律词组的重音类型是类型4。培训重音数 据240可以包括用于直接地指示韵律词组的重音类型的数据,可以仅仅包括用于指示是否每个短音节是H类型或者L类型的数据,或者可以包括两种数据。
所述各种数据是已经例如被语言学或者语言识别等方面的专家分析的有效信息。通过具有用于存储这样的有效信息的存储单元20,重音识别单元40可以通过使用这个信息而准确地识别输入语音的重音。
注意,为了简化说明,已经通过将下述情况作为示例而描述了图3:对于所有的相关字同样已知培训用语数据200、培训语音数据210、培训边界数据220、培训词性数据230和培训重音数据240。相反,存储单元20可以存储除了在数量上较大的第一培训文本的培训语音数据210之外的所有数据,并且可以存储对应于在数量上较小的第二培训文本的第二培训语音的所有数据。因为培训语音数据210是一般非常依赖于字的说话者的数据,因此,难于大量地收集所述数据。相反,培训重音数据240和培训用语数据200等经常是与说话者的属性无关的一般数据,并且容易被收集。以这种方式,所存储的数据量可以根据收集的容易程度而在相应的培训数据之间不同。对于按照这个实施例的识别系统10,在独立于语言学和声学信息而评估概率后,根据那些概率的乘积来识别韵律词组。因此,虽然有所存储的数据量上的变化,但是保持了识别的精度。而且,通过在其中反映按照说话者而不同的语音的特征而使得高精度的重音识别成为可能。
图4示出了重音识别单元40的功能配置。重音识别单元40包括第一计算单元400、第二计算单元410、偏好判定单元420、韵律词组搜索单元430、第三计算单元440、第四计算单元450和重音类型搜索单元460。首先,将说明在硬件资源和在这个附图中示出的每个单元之间的关系。用于实现按照本发明的识别系统10的程序首先被后述的信息处理系统500读取,然后被CPU1000执行。随后,CPU 1000和RAM 1020彼此协作地使得信息处理装置500能够作为存储单元20、第一计算单元400、第二计算单元410、偏好判定单元420、韵律词组搜索单元430、第三计算单元440、第四计算单元450和重音类型搜索单元460。
诸如输入文本15和输入语音18的要实际进行重音识别的数据在一些情况下被输入到重音识别单元40中,并且其重音已经被预先识别的测试文本等在其他情况下在重音识别之前被输入。在此,首先说明输入要实际进行重音 识别的数据的情况。
在输入输入文本15和输入语音18后,在通过第一计算单元400的处理之前,重音识别单元40执行下面的步骤。首先,重音识别单元40将输入文本15划分为字的分段,同时通过对于输入文本15执行形态学分析(morphological analysis)而产生与每个字相关联的关于词性的信息。其次,重音识别单元40分析在每个字的发音中的短音节的数量,从输入语音18提取对应于所述字的部分,然后将所述短音节的数量与所述字相关联。在被输入的输入文本15和输入语音18已经进行了形态学分析的情况下,不需要这些处理。
以下,将依序说明通过使用语言学模型和声学模型的组合进行的韵律词组的识别和通过使用同一模型的组合来进行重音类型的识别,通过语言学模型的韵律词组的识别例如是使用下述趋势:特定类字的字的结尾和特定用语有可能是韵律词组的边界,所述字是预先从培训文本获得的。通过第一计算单元400来实现所述处理。通过声学模型而进行的韵律词组的识别例如是使用下述趋势:韵律词组的边界可能出现在特定频率的语音与频率改变之后,所述特定频率的声音与频率改变预先从培训语音获得。通过第二计算单元410来实现这个处理。
所述第一计算单元400、第二计算单元410和韵律词组搜索单元430对于每个句子通过逗号等而被分段为的每个声调词组执行下面的处理。被输入到第一计算单元的是边界数据的候选者,所述边界数据用于指示是否在对应于这些声调词组的每个的输入语音中的每个字是韵律词组的边界。这些边界数据候选者的每个被表达为例如向量变量:其元素是用于指示是否字的结尾是是韵律词组的边界的逻辑值;并且,其元素的数量是通过从字的数量减去1而获得的数量。为了从可被假定为韵律词组的边界的所有组合中搜索最可能的组合,优选的是,每个字被设置或者不被设置为韵律词组的边界的所有情况的组合被依序输入到第一计算单元400中来作为边界数据候选者。
然后,对于这些边界数据候选者的每个,第一计算单元400根据下述内容来计算第一概率:输入的用语数据,用于指示在输入文本15内的字的用语;从存储单元20读出的培训用语数据200;培训边界数据220;以及培训词性数据230。第一概率表示在输入文本15中的字的韵律词组的每个边界变为边界数据候选者的概率。像在对于第一计算单元400的情况中那样,边界数据 候选者依序被输入到第二计算单元410中。然后,第二计算单元410根据下述内容来计算第二概率:用于指示在输入语音18中的相应字的语音的特征的输入语音数据;从存储单元20读出的培训语音数据210;以及,培训边界数据220。第二概率指示这样的概率:在输入语音18具有被所述边界数据候选者指定的韵律词组的边界的情况下,相应字的语音与由输入语音数据指定的语音一致。
然后,韵律词组搜索单元430从这些边界数据候选者搜索出一个边界数据候选者,并且作为将输入文本15分段为韵律词组的边界数据输出已经被搜索出的那个边界数据候选者,所述那个候选者最大化所计算的第一和第二概率的乘积。通过下面示出的方程1来表达上述的处理:
方程1
在这个方程中,向量变量V是用于指示在输入语音18中的字的语音的特征的输入语音数据。作为用于指示输入语音18的特性的指示符,这个输入语音数据可以被从外部输入,或者可以被第一计算单元400或者第二计算单元410计算。当r表示字的数量,并且vr表示每个字的语音的特征的每个指示符时,V被表达为V=(v1,...,vr)。另外,向量变量W是用于指示在输入文本15中的字的用语的输入用语数据。当wr表示每个字的用语时,变量W被表达为W=(w1,...,wr)。另外,向量变量B指示边界数据候选者,当br=1表示字wr的结尾是韵律词组的边界的情况并且br=0表示字wr的结尾不是边界的情况时,B被表达为B=(b1,...,br-1)。另外,argmax是用于找到最大化在方程1中的argmax之后所述的P(B|W,V)的B的函数。即,方程1的第一行表达下述问题:通过在已知V和W的条件下最大化B的条件概率,找到具有最大概率的韵律词组边界列Bmax。
根据条件概率的定义,方程1的第一行被转换为在方程1的第二行中的表达式。然后,因为P(V|W)是不变的,与边界数据候选者无关,因此方程1的第二行被变换为在方程1的第三行中的表达式。而且,在方程1的第三行右边出现的P(V|B,W)指示根据韵律词组的边界和字的用语来确定语音的特征的数量。同时,在假定通过韵律词组边界的存在与否而确定这些特征数量的 每个时,可以将P(V|B,W)近似为P(V|B)。结果,找到韵律词组边界列Bmax的问题被表达为P(B|W)和P(V|B)的乘积。P(B|W)是通过上述的第一计算单元400而计算的第一概率,P(V|B)是通过上述的第二计算单元410而计算的第二概率。因此,找到最大化所述两者的乘积的B的处理对应于由韵律词组搜索单元430执行的搜索处理。
随后,将依序说明通过组合语言学模型和声学模型而实现的重音类型的识别。使用语言学模型的重音类型的识别是例如使用下述趋势:当一起考虑紧前和紧后的字的用语时,从培训文本预先获得的特定词性和用语有可能形成特定的重音类型。通过第三计算单元440来实现这个处理。使用声学模型的重音类型的识别是例如使用下述趋势:从培训语音预先获得的具有特定频率的语音和具有频率改变的字有可能形成特定的重音类型。这个处理是通过第四计算单元430实现的。
对于通过由韵律词组搜索单元430搜索出的边界数据而分段的每个韵律词组,在每个韵律词组中的字的重音类型的候选者被输入到第三计算单元440中。而且对于这些重音类型,类似于上述对于边界数据的情况,期望构成所述韵律词组的字的所有组合(假定作为重音类型)作为重音类型的多个候选者被依序输入。对于每个输入的重音类型的候选者,第三计算单元440根据输入语音数据、培训用语数据200和培训重音数据240来计算第三概率。第三概率指示在每个韵律词组中的字的重音类型与每个输入的重音类型的候选者一致的概率。
同时,对于通过由韵律词组搜索单元430搜索出的边界数据分段的每个韵律词组,在每个韵律词组中的字的重音类型的候选者被依序输入到第四计算单元450中。然后,对于每个输入的重音类型的候选者,第四计算单元450根据输入语音数据、培训语音数据210和培训重音数据240来计算第四概率。第四概率指示下述概率:在每个韵律词组中的字具有由输入的重音类型的候选者指定的重音类型的情况下,相应的韵律词组的语音与由输入语音数据指定的语音一致。
然后,重音类型搜索单元460从多个输入的候选者搜索出重音类型的候选者之一,这个候选者最大化由第三计算单元440计算的第三概率和由第四计算单元450计算的第四概率的乘积。可以通过下述方式来执行这个搜索:计算每个重音类型的候选者的第三和第四概率的乘积,其后指定对应于在那 些乘积中的最大值的一个重音类型的候选者。其后,重音类型搜索单元460向语音合成器30输出作为韵律词组的重音类型的所搜索出的重音类型的候选者。优选的是,与输入文本15和与用于指示韵律词组的边界的边界数据相关联地输出重音类型。
通过下面示出的方程2来表达上述处理:
方程2
像在对于方程1的情况那样,向量变量V是输入语音数据,用于指示在输入语音18中的字的语音的特征。但是,在方程2中,向量变量V是用于指示在进行所述处理的韵律词组中的短音节的语音的特征的索引值。当m表示在韵律词组中的短音节的数量并且vm表示用于指示每个短音节的语音的特征的每个指示符时,V被表达为V=(v1,...,vm)。另外,向量变量W是用于指示在输入文本15中的字的用语的输入用语数据。当wn表示每个字的每个用语时,变量W被表达为W=(w1,...,wn)。另外,向量变量A表示在韵律词组中的每个字的重音类型的组合。另外,argmax是用于找到最大化在方程2中的argmax之后描述的P(A|W,V)的函数。即,方程2的第一行表达下述问题:通过在已知V和W的条件下最大化A的条件概率来找到具有最大概率的重音类型组合A。
根据条件概率的定义,方程2的第一行被变换为在方程2的第二行中所示的表达式。然后,因为P(V|W)不变,与重音类型无关,因此方程2的第二行被变换为在方程2的第三行中的表达式。P(V|W,A)是由上述第三计算单元440计算的第三概率,并且P(A|W)是由上述的第四计算单元450计算的第四概率。因此,找到最大化所述两者的乘积的A的处理对应于由重音类型搜索单元460执行的搜索处理。
接着,将说明输入测试文本的处理函数。向重音识别单元40中输入其韵律词组的边界被预先识别的测试文本,而不是输入文本15,并且输入用于指示所述测试文本的发音的测试语音数据,而不是输入语音18。然后,在还没有识别在测试语音数据之间的边界的假设下,第一计算单元400通过对于所述测试文本执行与对于输入语音18执行的处理相同的处理来计算第一概率。 同时,第二计算单元410通过使用所述测试文本而不是输入文本15、并且使用测试语音数据而不是输入语音18来计算第二概率。其后,偏好判定单元420判定在第一和第二计算单元400和410中,已经计算了先前识别的测试语音数据的韵律词组的边界的较高概率的计算单元是应当优先使用的偏好计算单元。然后,偏好判定单元420向韵律词组搜索单元430通知判定的结果。作为响应,在对于韵律词组搜索输入语音18的上述步骤中,韵律词组搜索单元430在向由偏好计算单元计算的概率分配较大的加权后计算第一和第二概率的乘积。由此,可以在搜索韵律词组中使用更可靠的概率,因为向所述更可靠的概率提供了优先选择。同样,通过使用测试语音数据和其韵律词组的边界被预先识别的测试文本,偏好判定单元420可以判定向第三计算单元440或者第四计算单元450提供优先选择。
图5示出了重音识别单元40识别重音的处理的流程图。首先,通过使用测试文本和测试语音数据,重音识别单元40判定:在由第一计算单元400计算的概率或者由第二计算单元410计算的概率中,哪些概率被评估得较高;并且/或者,在由第三计算单元440计算的概率或者由第四计算单元450计算的概率中,那些概率被评估得较高(S500)。随后,一旦输入了输入文本15和输入语音18,按照需要,重音识别单元40执行:形态学分析处理;将字与这些字的语音数据相关联的处理;在相应字中计数短音节的数量的处理,等等(S510)。
接着,对于输入的边界数据候选者,即例如对于可被假定为在输入文本15中的边界数据的边界数据候选者的每个,第一计算单元400计算第一概率(S520)。如上所述,每个第一概率的计算对应于在方程1的第三行中的P(B|W)的计算。另外,例如通过下示的方程3来实现这个计算。
方程3
在方程3的第一行中,向量变量B根据其定义被扩展。但是,在这个方程中,在音调词组的每个中包含的字的数量被表示为1。方程3的第二行是基于条件概率的定义的变换的结果。这个方程指示以如下的方式来计算特定边界数据B的概率。首先,通过扫描在来自每个音调词组的开始位置的字之 间的边界,并且然后通过依序将其中在所述字之间的边界是/不是韵律词组的边界的每个情况的概率相乘。如在方程3的第三行中的wi和wi+1所示,可以根据随后的字wi+1以及字wi来确定用于指示是否特定字wi的结尾是韵律词组的边界的概率值。而且,可以通过信息bi-1来确定所述概率值,所述信息bi-1用于指示是否在字wi紧前的字是韵律词组的边界。可以通过使用判定树来计算P(b|W)。在图6中示出了判定树的一个示例。
图6示出了在重音边界的识别中由重音识别单元40使用的判定树的一个示例。这个判定树用于计算特定字的结尾是韵律词组的边界的概率。通过使用下述信息作为解释变量来计算所述概率:用于指示用语的信息、用于指示特定字的词性的信息和用于指示是否在特定字紧前的另一个字的结尾是韵律词组的边界的信息。通过向用于判定树结构的传统已知软件提供下面的信息而自动产生这种判定树:变为解释变量的参数的识别信息;用于指示期望预测的重音边界的信息;培训用语数据200;培训边界数据220;以及培训词性数据230。
在图6中所示的判定树用于计算用于指示是否特定字wi的结尾部分是韵律词组的边界的概率。例如,第一计算单元400根据对于输入文本15执行的形态学分析来判定是否字wi的词性是及物动词。如果词性是及物动词,则将该字wi的结尾部分是韵律词组的边界的概率判定为18%。如果所述词性不是及物动词,则第一计算单元400判定是否字wi的词性是名词修饰语。如果所述词性是名词修饰语(adnominal),则将特定字wi的结尾部分是韵律词组的边界的概率判定为8%。如果所述词性不是名词修饰语,则第一计算单元400判定是否字wi之后的字wi+1的词性是“词尾”。如果所述词性是“词尾”,则第一计算单元400判定字wi的结尾部分是韵律词组的边界的概率是23%。如果所述词性不是“词尾”,则第一计算单元400判定是否在字wi之后的字wi+1的词性是及物动词。如果所述词性是及物动词,则第一计算单元400判定字wi的结尾部分是韵律词组的边界的概率是98%。
如果所述词性不是及物动词,则第一计算单元400判定是否在字wi之后的字wi+1的词性是“符号”。如果词性是“符号”,则第一计算单元400通过使用bi-1判定是否在字wi紧前的字wi-1的结尾是韵律词组的边界。如果所述结尾不是韵律词组的边界,则第一计算单元400判定字wi的结尾部分是韵律词组的边界的概率是35%。
因此,所述判定树的构成是:用于表达各种判定的节点;用于指示判定的结果的边;用于指示应当计算的概率的叶节点。作为在判定中使用的信息的种类,除了在图6中例示诸如词性的信息之外还可以使用用语本身。即,例如,判定树可以包括用于按照是否字的用语是预定用语而判定节点应当过渡到哪个子节点的节点。通过使用这个判定树,对于每个输入的边界数据候选者,在计算由每个候选者表示的韵律词组的概率后,第一计算单元400可以计算作为第一概率的、如此计算的概率的乘积。
再次在此参见图5。随后,对于输入的边界数据候选者,诸如对于可被假定作为在输入文本15中的边界数据的所有的边界数据候选者,第二计算单元410计算第二概率(S530)。如上所述,第二概率的每个的计算对应于P(V|B)的计算。另外,这个计算处理被例如表达为下示的方程4。
方程4
在方程4中,变量V和B的定义与如上所述的那些相同。另外,方程4的左侧被变换为在其右侧所示的表达式。在下述假定下,变换方程4:对于特定字的语音的特征的确定依赖于是否该特定字是韵律词组的边界,并且那些特征独立于与所述特定字相邻的字的特征。在P(vi|bi)中,变量vi是由多个指示符构成的向量变量,所述指示符用于指示字wi的语音的特征。由第二计算单元410根据输入语音18来计算索引值。将参见图7来说明由变量vi的每个元素表示的指示符。
图7示出了接近当说出一个字时的时间附近的所述字的基本频率,所述字变为韵律词组边界的候选者。水平轴表示时间的过去,垂直轴表示基本频率。另外,在图中的曲线表示在培训语音的基本频率上的改变。作为用于指示语音的特征的第一指示符,例示了在图中的斜率g2。这个斜率g2是这样的指示符,其通过使用字wi来作为参考而指示在位于在字wi后连续发音的随后字的开始位置的短音节中随着时间在基本频率上的改变。这个指示符被计算为在位于所述随后字的开始位置的短音节在基本频率上的最小值和最大值之间的改变的斜率。
用于指示语音的另一个特征的第二指示符被表达为例如在图中的斜率g1和斜率g2之间的差。斜率g1表示在用作参考的字wi的结尾的短音节中随着时间在基本频率上的改变。这个斜率g1可以被近似地计算为例如在位于字wi 的结尾的短音节中基本频率的最大值和在位于字wi后的随后字的开始位置的短音节中的最小值之间的改变的斜率。另外,用于指示语音的另一个特征的第三指示符被表达为位于参考字wi的结尾的短音节中基本频率的改变的数量。这个改变数量具体上是位于这个短音节的开始位置的基本频率的值和在这个短音节的结尾的其值之间的差。
取代所述实际基本频率及其改变数量,它们的对数可以被用作指示符。另外,对于输入语音18,由第二计算单元410相对于其中的每个字来计算索引值。另外,对于培训语音,可以对于其中的每个字预先计算索引值,并且在存储单元20中存储所述索引值。或者,对于所述培训语音,可以由第二计算单元410根据在存储单元20中存储的基本频率的数据而计算这些索引值。
对于字wi的结尾是和不是韵律词组的边界这两种情况,第二计算单元410根据这些索引值和培训边界数据220来产生概率密度函数。具体上,第二计算单元410通过使用包含字wi的每个指示符的向量变量来作为随机变量来产生概率密度函数,所述概率密度函数每个表示字wi的语音与由指示符的组合指定的语音一致的概率。
通过将根据逐个字离散地观察到的索引值而发现的离散概率函数近似为连续函数,产生这些概率密度函数的每个。具体上,通过根据所述索引值和培训边界数据220而确定高斯混合的参数,第二计算单元410可以产生这些概率密度函数。
通过使用如此产生的概率密度函数,第二计算单元410计算第二概率,所述第二概率是在在输入文本15中包含的每个字的结尾部分是韵律词组的边界的情况下,输入文本15的语音与由输入语音18指定的语音一致的概率。具体上,首先,根据输入的边界数据候选者,第二计算单元410依序选择相对于在输入文本15中的每个字的概率密度函数之一。例如,在从其开始位置扫描每个边界数据候选者期间,第二计算单元410进行选择如下。
当特定字的结尾是韵律词组的边界时,第二计算单元410选择对于字是边界的情况的概率密度函数。相反,当在特定字之后的字的结尾不是韵律词组的边界时,第二计算单元410选择对于所述字不是边界的情况的概率密度函数。
然后,第二计算单元410将对应于在输入语音18中的每个字的索引值的向量变量代入对于每个字选择的概率密度函数。如此计算的每个计算值对应 于在方程4的右侧所示的P(vi|bi)。然后,第二计算单元410被允许通过将所计算的值相乘在一起而计算第二概率。
再次在此参见图5。接着,从其他候选者中,韵律词组搜索单元430搜索出最大化第一和第二概率的乘积的一个边界数据候选者(S540)。可以通过下述方式来搜索出最大化所述乘积的边界数据候选者:对于字的所有组合(即当N表示字的数量时,2N-1个组合)计算第一和第二概率的乘积,所述组合可被假定为边界数据;并且,比较所述乘积的值的数量。详细而言,韵律词组搜索单元430可以通过使用被称为维特比算法的传统方法来搜索最大化第一和第二概率的一个边界数据候选者。而且,韵律词组搜索单元430可以计算仅关于可被假定为边界数据的整个字组合的一部分的第一和第二概率。其后,韵律词组搜索单元430可以计算最大化如此发现的第一和第二概率的乘积的一个字组合来作为用于指示近似地最大化第一和第二概率的字组合的边界数据。所搜索出的边界数据表示输入文本15和输入语音18的具有最大概率的韵律词组。
随后,第三计算单元440、第四计算单元450和重音类型搜索单元460对于通过由韵律词组搜索单元430搜索出的边界数据分段的每个韵律词组执行下面的处理。首先,在韵律词组中包含的每个字的重音类型的候选者被输入到第三计算单元440中。像在如上所述的边界数据的情况中那样,也期望构成韵律词组的字的所有组合(被假定作为重音类型)被依序作为重音类型的多个候选者而输入。第三计算单元440根据输入语音数据、培训用语数据200和培训重音数据240来计算每个输入的重音类型的候选者的第三概率。第三概率表示在韵律词组中的字的重音类型与每个输入的重音类型的候选者一致的概率(S540)。如上所述,第三概率的这种计算对应于在方程2的第三行中所示的P(A|W)的计算。通过计算在下面示出的方程5来实现这种计算。
方程5
在这个方程5中,向量变量A表示在韵律词组中的每个的重音类型的组合。这个向量变量A的元素表示在韵律词组中的每个字的重音类型。即,当wi表示在韵律词组中的第i个位置处布置的字,并且n表示在韵律词组中的字的数量时,A被表达为A=(A1,...,An)。P’(A|W)表示相对于给定字的用语的组合W的、这些用语的组合的语音与重音类型的组合A的语音一致的概率。 在为了在使用所述计算方法中的方便,概率不被归一化并且它们的总和不等于1的情况下,方程5用于使得每个组合的概率的总数等于1。通过下面示出的方程6来定义P’(A|W)。
方程6
方程6表示对于每个字Wi的条件概率,所述条件概率是在通过扫描韵律词组直到扫描到达这个字Wi而获得的一组字中的字W1-Wi-1的重音类型是A1-Ai-1的条件下,第i个字的重音类型是Ai的概率。这表示当值i接近韵律词组的结尾时,已经被扫描到这个点的所有字被设置为用于计算概率的条件。另外,这表示如此计算的在韵律词组中的所有字的条件概率被相乘在一起。可以通过第三计算单元400执行下述步骤来实现每个条件概率:在培训用语数据200中从多个位置搜索其中字W1-Wi连接在一起的用语;从培训重音数据240搜索每个字的重音类型;并且计算每个重音类型的出现频率。但是,在韵律词组中的字的数量大的情况下,即在值i可能变大的情况下,难于在培训用语数据200中找到用语良好地匹配输入文本15的一部分的用语的字组合。为此,期望近似地找到在方程6中所示的值。
具体上,第三计算单元440可以根据培训用语数据200来计算由n个字形成的相应的字组合的出现频率(其中n是预定数量),然后将这些出现频率用于计算包括超过预定数量n的字的组合的出现频率。在以n表示构成每个字组合的字的数量的情况下,这种方法被称为n个gram模型。在其中字的数量的2的2gram模型中,第三计算单元440计算在培训重音数据240中的出现频率,在此出现频率,通过重音类型的对应的组合来说出在培训文本中连续写入的每个两个字的组合。然后,通过使用每个所计算的出现频率,第三计算单元440近似地计算P’(A|W)的值。作为一个示例,对于在韵律词组中的每个字,第三计算单元440选择通过使用所涉及的字和连续写入的其下一个字的组合的2gram模型而预先计算的出现频率的值。然后,第三计算单元440通过将如此选择的出现频率的值相乘在一起来获得P’(A|W)。
在此再次参见图5。接着,根据输入语音数据、培训语音数据210和培训重音数据240,第四计算单元450计算每个输入的重音类型候选者的第四概率(S560)。第四概率是在韵律词组中的字具有由重音类型的候选者指定的重音类型的情况下,韵律词组的语音与由输入语音数据指定的语音一致的概 率。如上所述,第四概率的这种计算对应于在方程2的第三行中所示的P(V|W,A),并且被表达为下示的方程7。
方程7
在方程7中,向量变量V、W和A的定义与如上所述的那些相同。注意,作为向量变量V的元素的变量vi表示每个短音节i的语音的特征,其包括作为下标的、用于指定在韵律词组中的短音节的变量i。另外,vi可以表示在方程7和4中的不同种类的特征。而且,变量m表示在韵律词组中的短音节的总数。在每个短音节的语音的特征独立于其相邻的短音节的假设下,方程7的第一行的左侧被近似为在其右侧的表达式。在方程7中的第一行的右侧表达通过将基于每个短音节的特征的概率相乘在一起而计算用于指示韵律词组的语音的特征的概率。
如在方程7中的第二行中所示,取代字的实际用语,W可以被近似为在韵律词组中的每个字的短音节的数量或者每个短音节在韵律词组中占用的位置。即,在作为在方程7中的“|”右侧的条件部分中,变量i表示短音节i的位置,即在韵律词组中从第一短音节到短音节i存在多少短音节。(m-i)表示短音节i的位置,即在韵律词组中从短音节i到最后的短音节存在多少短音节。另外,在所述方程的条件部分中,变量ai表示在韵律词组中的第i个短音节的重音的是H或者L类型的哪个。这个条件部分包括变量ai和ai-1。即,在这个方程中,通过相邻的两个短音节的组合而不是通过关于在韵律词组中的所有短音节的重音的所有组合来确定A。
接着,为了解释计算这样概率密度函数P的方法,将参见图8来说明在这个实施例中由变量vi表示的每个指示符的一个具体示例。
图8示出了进行重音识别的特定短音节的基本频率的一个示例。向对于图7的情况中那样,水平轴表示时间的过去的方向,垂直轴表示语音的基本频率的数量。在图中的曲线表示在特定短音节中的基本频率中的时间序列变化。另外,在附图中的虚线表示在这个短音节和另一个短音节之间的边界。用于指示这个短音节i的语音的特征的向量变量vi表示例如一个三维的向量,其元素是三个指示符的索引值。第一指示符表示在其开始位置在这个短音节中的基本频率的值。第二指示符表示在这个短音节i中的语音的基本频率的 改变量。这个改变数量是在这个短音节i的开始位置和其结尾位置的基本频率的值之间的差。这个第二指示符可以通过在下面的方程8中所示的计算被归一化为在0-1的范围内的值。
方程8
按照这个方程8,根据在基本频率的最小值和最大值之间的差将在短音节i的开始位置和其结尾位置的基本频率的值之间的差归一化为在范围0-1中的值。
第三指示符表示在这个短音节中随着时间的语音的基本频率的改变,即在图中的直线的斜率。为了掌握示出在基本频率中的改变的曲线的一般趋势,可以通过使用最小二乘法等将基本频率的曲线近似为线性函数而获得这条线。取代实际基本频率及其改变量,可以将它们的对数用作所述指示符。另外,对于培训语音,可以将索引值预先在存储单元20中存储为培训语音数据210,或者可以通过第四计算单元450根据在存储单元20中存储的基本频率的数据来计算索引值。对于输入语音18,可以由第四计算单元450计算所述索引值。
根据培训语音的每个指示符、培训用语数据200和培训重音数据240,第四计算单元450产生判定树,用于确定在方程7的第二行的右侧上所示的概率密度函数P。这个判定树包括解释变量:短音节的重音是H类型或者L类型的哪个;包含那个短音节的韵律词组中的短音节的数量;在那个短音节紧前连续的另一个短音节的重音是H类型或者L向量的哪个;以及,由那个短音节在韵律词组中占用的位置。这个判定树包括作为目标变量的概率密度函数,其包括作为随机变量的向量变量v,用于指示对于满足所述每个条件的情况的语音的特征。
当在向用于构成判定树的软件加上下述信息后设置上述的解释变量和目标变量时自动产生判定树:培训语音的每个短音节的索引值;培训用语数据200;以及,培训重音数据240。结果,第四计算单元450产生多个概率密度函数,其通过上述的解释变量的值的每个组合而被分类。注意,因为从培训语音计算的索引值在实际中采用离散值,因此可以通过确定高斯混合的参数的手段来将所述概率密度函数近似地产生为连续函数。
第四计算单元450通过从韵律词组的开始扫描其中的多个短音节而对于 每个短音节执行下面的处理。首先,第四计算单元450从通过解释变量的值的每个组合分类的、所产生的概率密度函数中选择一个概率密度函数。根据对应于上述的解释变量的参数(诸如在韵律词组中的短音节的数量;在输入的重音类型候选者中,每个短音节具有重音类型H或者L的哪个)来执行概率密度函数的选择。然后,第四计算单元450通过将指示在输入语音18中的每个短音节的特征的索引值代入所选择的概率密度函数而计算概率值。随后,第四计算单元450通过将对于如此扫描的每个短音节计算的概率值相乘在一起而计算第四概率。
在此再次参见图5。随后,重音类型搜索单元460从多个输入的重音类型候选者中搜索一个重音类型的候选者。所搜索出的一个候选者自大化由第三计算单元440计算的概率和由第四计算单元450计算的概率的乘积(S570)。可以通过下述方式来实现这个搜索:计算每个重音类型候选者的第三和第四概率的乘积,其后指定对应于这些乘积的最大者的候选者。或者,像在上述的对于韵律词组的边界的搜索的情况中那样,可以通过使用维特比算法来执行这个搜索。
对于由韵律词组搜索单元430搜索出的每个韵律词组重复上述的处理,随后,输出在输入文本15中的每个韵律词组的重音类型。
图9示出了作为识别系统10的信息处理装置500的硬件配置的一个示例。所述信息处理装置500包括:CPU外围部分,其包括CPU 1000、RAM 1020和图形控制器1075,它们通过主机控制器1082而相互连接;输入/输出部分,其包括通信接口1030、硬盘1040和CD-ROM驱动器1060,它们通过输入/输出控制器1084而连接到主机控制器1082;以及,传统输入/输出部分,其包括ROM 1010、软盘驱动器1050和输入/输出芯片1070,它们连接到输入/输出控制器1084。
主机控制器1082将RAM 1020与CPU 1000和图形控制器1075相互连接,所述CPU 1000和图形控制器1075以高的传送率来访问RAM 1020。CPU1000根据在ROM 1010和RAM 1020中存储的程序而运行,由此对于相应的部分执行控制。图形控制器1075获取在RAM 1020中提供的帧缓冲器上的由CPU 1000等产生的图像数据,并且在显示器1020上显示所述图像数据。相反,图形控制器1075可以在其本身中包括帧缓冲器,其中存储由CPU 1000等产生的图像数据。
输入/输出控制器1084将主机控制器1082与通信接口1030、硬盘驱动器1040和CD-ROM驱动器1060(它们是较高速的输入/输出装置)连接。通信接口1030通过网络与外部装置通信。硬盘驱动器1040存储由信息处理装置500使用的程序和数据。CD-ROM驱动器1060从CD-ROM 1095读取程序或者数据,并且向RAM 1020或者硬盘驱动器1040提供所述程序或者数据。
另外,ROM 1010和较低速的输入/输出装置(诸如软盘驱动器1050和输入/输出芯片1070)连接到输入/输出控制器1084。ROM 1010存储:由CPU1000在信息处理装置500的启动时执行的引导程序;依赖于信息处理装置500的硬件的其他程序;等等。软盘驱动器1050从软盘1090读取程序或者数据,并且通过输入/输出芯片1070向RAM 1020或者向硬盘驱动器1040提供所述程序或者数据。输入/输出芯片1070通过并行端口、串行端口、键盘端口、鼠标端口等而连接到CPU 1000、软盘1090和各种输入/输出装置。
用户向信息处理装置500提供在诸如软盘1090、CD-ROM 1095或者IC卡之类的记录介质中存储的程序。所述程序在从记录介质通过输入/输出芯片1070和输入/输出控制器1084的至少任何一个被读取后被执行,然后被安装在信息处理装置500中。关于所述程序使得信息处理装置500执行的操作的说明将被省略,因为这些操作与已经结合图1-8所述的在识别装置10中的那些相同。
如上所述的程序可以被存储在外部记录介质中。作为记录介质,除了软盘1090和CD-ROM 1095之外,有可能使用:光学记录介质,诸如DVD或者PD;磁光记录介质,诸如MD;磁带介质;半导体存储器,诸如IC卡;等等。另外,也可能通过使用作为所述记录介质的、在连接到专用通信网络或者因特网的服务器系统中提供的记录装置(诸如硬盘或者RAM)来经由网络向信息处理装置500提供所述程序。
如上所述,按照这个实施例的识别装置10,可以通过组合语言学信息(诸如字的用语和词性)和声学信息(诸如在发音频率上的改变)来有效地和高度精确地搜索出韵律词组的边界。而且,对于所搜索出的每个韵律词组,可以通过组合所述语言学信息和声学信息来有效地和高度精确地搜索出重音类型。作为使用输入文本和输入语音(其中,预先知道韵律词组的边界和重音类型)而实际执行试验的结果,确认获得高度准确的识别结果,其相当接近这些预先已知的信息。另外,与独立地使用所述语言学信息和声学信息的情 况下相比较,确认这些信息的组合使用增强了识别的精度。
虽然已经通过使用所述实施例而描述了本发明,但是本发明的技术范围不限于如上所述的实施例的范围,对于本领域内的技术人员显然,可以向上述的实施例增加多种替换和改进。另外,从权利要求的范围中的说明显然也可以在本发明的技术范围中并入被增加所述替换或者改进的实施例。