首页> 中国专利> 训练韵律统计模型、韵律切分和语音合成的方法及装置

训练韵律统计模型、韵律切分和语音合成的方法及装置

摘要

本发明提供了利用生语料训练韵律统计模型的方法和装置、韵律切分的方法和装置、语音合成方法和系统。本发明利用的生语料是未经人工韵律标注的语料,包含多个带有标点符号的句子。上述利用生语料训练韵律统计模型的方法,包括:将语料中的每一个句子转换为语言符号序列;统计上述语言符号序列中相邻的语言符号对以及在该各个语言符号对的关联位置上出现表示停顿的标点符号的次数;计算每个上述语言符号对的关联位置上的停顿概率;以及根据上述各个语言符号对及其关联位置上的停顿概率,创建上述韵律统计模型。

著录项

  • 公开/公告号CN1945693A

    专利类型发明专利

  • 公开/公告日2007-04-11

    原文格式PDF

  • 申请/专利权人 株式会社东芝;

    申请/专利号CN200510108186.3

  • 发明设计人 王海峰;李国华;

    申请日2005-10-09

  • 分类号G10L13/08(20060101);G10L13/00(20060101);

  • 代理机构11247 北京市中咨律师事务所;

  • 代理人李峥;杨晓光

  • 地址 日本东京都

  • 入库时间 2023-12-17 18:25:15

法律信息

  • 法律状态公告日

    法律状态信息

    法律状态

  • 2010-10-13

    授权

    授权

  • 2007-06-06

    实质审查的生效

    实质审查的生效

  • 2007-04-11

    公开

    公开

说明书

技术领域

本发明涉及语音合成技术,具体地,涉及语音合成中的韵律切分的技术以及训练韵律统计模型的技术。

背景技术

从文本到语音的语音合成系统(TTS)的目标是让计算机能够像人一样说出自然的语音。人类在自然地朗读句子时,除了部分标点符号(如:句号、逗号、顿号等)是固有的停顿标志外,在很多没有标点符号的位置也会有所停顿。因此,为了获得更高质量的合成语音,语音合成系统就需要有能力自动判断哪些没有标点符号的位置也需要停顿。这就需要作为前端处理对文本进行韵律切分,以帮助改善语音合成的质量。

在赵晟等人著的“基于规则学习的韵律结构预测”(发表于中文信息学报,Vol.16,No.5,2002.9,PP.30-37)中提出了一种基于规则学习的汉语韵律结构预测方法。该方法从人工韵律标注的语料库中提取语言学特征和两级韵律结构标记,构建实例数据库,再利用规则学习算法从实例中自动归纳韵律短语预测规则。

但是,在上述以往的方法中,需要大量事先做过韵律切分的语料,而对语料进行韵律切分又是一件特别费时费力的工作,并且很难控制质量。

发明内容

为了解决上述现有技术中存在的问题,本发明提供了利用无需人工标注的生语料训练韵律统计模型的方法和装置、韵律切分的方法和装置、语音合成方法和系统。

根据本发明的一个方面,提供了一种利用生语料训练韵律统计模型的方法,该生语料包含多个带有标点符号的句子,上述方法包括:将语料中的每一个句子转换为语言符号序列(token sequence);统计上述语言符号序列中相邻的语言符号对(token pair)以及在该各个语言符号对的关联位置上出现表示停顿的标点符号的次数;计算每个上述语言符号对的关联位置上的停顿概率;以及根据上述各个语言符号对及其关联位置上的停顿概率,创建上述韵律统计模型。

根据本发明的另一个方面,提供了一种韵律切分的方法,包括:利用前面所述利用生语料训练韵律统计模型的方法训练韵律统计模型;输入需要进行韵律切分的文本,该文本包括至少一个句子;把该句子转换为语言符号序列(token sequence);根据上述韵律统计模型,计算上述语言符号序列中的每个停顿位置的权值;以及根据上述计算出来的每个停顿位置的权值,选择一个或多个停顿位置,插入停顿标记。

根据本发明的另一个方面,提供了一种文本到语音(TTS)的语音合成方法,包括:利用前面所述的韵律切分的方法在文本中插入停顿标记;以及利用上述插入了停顿标记的文本,进行语音合成。

根据本发明的另一个方面,提供了一种利用生语料训练韵律统计模型的装置,该生语料包含多个带有标点符号的句子,上述装置包括:语言符号序列转换单元,用于将语料中的每一个句子转换为语言符号序列;统计计数单元,用于统计上述语言符号序列中相邻的语言符号对(token pair)以及在该各个语言符号对的关联位置上出现表示停顿的标点符号的次数;停顿概率计算器,用于计算每个上述语言符号对的关联位置上的停顿概率;以及韵律统计模型创建单元,用于根据上述各个语言符号对及其关联位置上的停顿概率,创建上述韵律统计模型。

根据本发明的另一个方面,提供了一种韵律切分的装置,包括:文本输入单元,用于输入需要进行韵律切分的文本,该文本包括至少一个句子;语言符号转换单元,用于把上述输入的文本中的句子转换为语言符号序列;停顿权值计算器,用于根据韵律统计模型计算上述语言符号序列中的每个停顿位置的权值,其中,上述韵律统计模型是利用生语料训练的,包含多个语言符号对以及每个语言符号对的关联位置的停顿概率;以及停顿标记设置单元,用于根据上述计算出来的每个停顿位置的权值,选择一个或多个停顿位置,插入停顿标记。

根据本发明的另一个方面,提供了一种一种文本到语音的语音合成系统,包括:前面所述的韵律切分的装置;以及语音合成器,用于利用上述插入了停顿标记的文本进行语音合成。

附图说明

相信通过以下结合附图对本发明具体实施方式的说明,能够使人们更好地了解本发明上述的特点、优点和目的。

图1是根据本发明一个实施例的利用生语料训练韵律统计模型的方法的流程图;

图2是根据本发明一个实施例的韵律切分的方法的流程图;

图3是根据本发明一个实施例的文本到语音的语音合成方法(TTS)的流程图;

图4是根据本发明一个实施例的利用生语料训练韵律统计模型的装置的框图;

图5是根据本发明一个实施例的韵律切分装置的框图;

图6是根据本发明一个实施例的文本到语音的语音合成系统的框图;以及

图7是根据本发明另一个实施例的文本到语音的语音合成系统的框图。

具体实施方式

下面就结合附图对本发明的各个优选实施例进行详细的说明。

本发明的发明人注意到,在未经人工处理的语料(句子)中包含了大量的停顿信息,例如,句号、逗号、顿号等标点符号。可以利用这些表示停顿的标点符号的信息训练韵律统计模型,从而避免人工对语料进行韵律标注的问题。

图1是根据本发明一个实施例的利用生语料训练韵律统计模型的方法的流程图。利用本实施例的方法训练的韵律统计模型将被用于后面结合其它实施例描述的韵律切分方法和语音合成方法及装置。

如图1所示,首先在步骤101,将生语料中的句子转换为语言符号序列(token sequence)。在本实施例中采用的是未经人工标注的生语料,该生语料包含多个句子,每个句子包含一个或多个标点符号。本实施例就是要利用这些标点符号来训练韵律统计模型,提取韵律信息。

具体地,在本步骤中,逐一地将语料中的句子转换为语言符号序列。在此,语言符号(token)是自然语言处理技术领域的术语,表示构成自然语言的句子的基本单位。将语料中的句子转换为语言符号序列的过程通常被称为“tokenization”(语言符号化)。在本实施例中的语言符号可以是字的形式、词的形式、词及词性的形式或短语的形式等等,只要是与后面实施例描述的韵律切分方法和语音合成方法中采用相同形式的语言符号即可。

接着,在步骤105,计数统计这些语言符号序列中连续的语言符号对(token pair)以及在各个语言符号对的关联位置上出现表示停顿的标点符号的次数。具体地,每个语言符号对的关联位置包括:该语言符号对的前、后和中间。假设一个语言符号序列为“t1,t2,punct,t3,t4”,其中在t2和t3之间包含一个表示停顿的标点符号punct,例如,逗号。

在这种情况下,语言符号对(t1,t2)、(t2,t3)和(t3,t4)的出现次数分别增加1;

语言符号对(t1,t2)后方的停顿(t1,t2,punct)的出现次数增加1(ttp类型Token Token Punctuation);

语言符号对(t2,t3)之间的停顿(t2,punct,t3)的出现次数增加1(tpt类型Token Punctuation Token);

语言符号对(t3,t4)前方的停顿(punct,t3,t4)的出现次数增加1(ptt类型Punctuation Token Token)。

在本步骤中,逐一地处理语料中的每个句子,对全部出现的语言符号对以及在该各个语言符号对的关联位置上出现表示停顿的标点符号的次数进行计数和统计。

接着,在步骤110,计算每个语言符号对的关联位置上的停顿概率。具体地,利用以下公式(1)计算语言符号对的前方的停顿概率Probptt

> >Prob>ptt>>=> >Count>ptt> >Count>tt> >->->->>(>1>)>>>s>

其中,Counttt是该语言符号对的出现次数,Countptt是在该语言符号对之前出现表示停顿的标点符号的次数。

利用以下公式(2)计算语言符号对的后方的停顿概率Probttp

> >Prob>ttp>>=> >Count>ttp> >Count>tt> >->->->>(>2>)>>>s>

其中,Counttt是该语言符号对的出现次数,Countttp是在该语言符号对之后出现表示停顿的标点符号的次数。

利用以下公式(3)计算该语言符号对之间的停顿概率Probtpt

> >Prob>tpt>>=> >Count>tpt> >Count>tt> >->->->>(>3>)>>>s>

其中,Counttt是该语言符号对的出现次数,Counttpt是在该语言符号对之间出现表示停顿的标点符号的次数。

然后,在步骤115,创建韵律统计模型,将前面统计和计算出的各个语言符号对及其关联位置的停顿概率记录在该韵律统计模型中。

通过以上说明可知,本实施例的方法可以利用未经人工标注的生语料训练韵律统计模型,进而该韵律统计模型可以被用于后面描述的韵律切分和语音合成。

另外,根据本发明的其它优选实施例,在计算语言符号对的关联位置上的停顿概率时,对于统计数据进行平滑(smoothing)处理和截取(cutoff)处理,从而可以避免数据稀疏带来的问题。平滑处理和截取处理是本领域常用的处理,可以参考F.Jelinek所著的文章“Self-organized languagemodeling for speech recognition”(发表于Readings in Speech Recognition,A.Waibel and K.F.Lee,eds.,Morgan-Kaufmann,San Mateo,CA,1990,pp.450-506)

另外,根据本发明的另一个优选实施例,还包括一个语言符号转换表,其中记录有每一个在韵律统计模型中涉及的语言符号以及该语言符号对应的编号(ID)。在记录语言符号对的关联位置的停顿概率时,可以利用语言符号的ID来表示相应的语言符号。这样构成的韵律统计模型可以节省存储空间,并且,语言符号转换表还可以作为语言符号索引被用于后面所述的韵律切分中的语言符号转换,提高处理速度。

在同一发明构思下,图2是根据本发明一个实施例的韵律切分的方法的流程图。本实施例韵律切分的方法利用前面实施例的方法训练的韵律统计模型,来对需要处理的句子进行韵律切分。

如图2所示,首先在步骤201,利用生语料训练韵律统计模型。具体地,可以采用前面结合图1描述的训练韵律统计模型的方法训练韵律统计模型。

接着,在步骤205,输入需要进行韵律切分的文本,该文本包括至少一个句子。

接着,在步骤210,将文本中的句子转换为语言符号序列。与前面实施例的步骤101类似,在本实施例中的语言符号可以是字的形式、词的形式、词及词性的形式或短语的形式等等,只要是与前面实施例描述的训练韵律统计模型的方法和后面实施例描述的语音合成方法中采用相同形式的语言符号即可。

接着,在步骤215,根据韵律统计模型,计算上述语言符号序列中的每个停顿位置的权值。具体地,根据上述韵律统计模型中包含的相应的语言符号对的关联位置上的停顿概率,计算上述语言符号序列中的每个停顿位置的权值。

例如,对于语言符号序列“t1,t2,t3,t4”,计算“t2”和“t3”之间的停顿位置的权值weight,可以利用以下公式(4)。

weight=-log(Probttp×Probtpt×Probptt)               (4)

其中,Probttp是在该停顿位置之前的语言符号对的后方的停顿概率,即在t1和t2之后的停顿概率;Probptt是在该停顿位置之后的语言符号对的前方的停顿概率,即在t3和t4之前的停顿概率;Probtpt是在该停顿位置前后的语言符号对的之间的停顿概率,即在t2和t3之间的停顿概率。

优选地,在本实施例中,在语言符号序列的第一个语言符号的后面和最后一个语言符号之前不设置停顿位置。

然后,在步骤220,根据上述计算出来的每个停顿位置的权值,选择一个或多个停顿位置,插入停顿标记。具体地,可以选择那些权值大于一个预先确定的阈值的停顿位置,插入停顿标记。进而,优选地,还要满足一个条件,即,被选中的两个相邻的停顿位置之间的语言符号的数量大于一个预先定义的阈值,这样可以避免停顿的过多过碎。

通过以上描述可知,采用本实施例的韵律切分方法,可以根据利用生语料训练的韵律统计模型来对文本中的句子进行韵律切分,插入停顿标记。

在同一发明构思下,图3是根据本发明一个实施例的文本到语音的语音合成(TTS)方法的流程图。下面就结合该图,对本实施例进行描述。对于那些与前面实施例相同的部分,在附图中标以相同的标号,并适当省略其说明。

如图3所示,本实施例的步骤201~220与前面图2所示的实施例相同,不再重复说明。在步骤325,利用通过前面步骤201~220插入了停顿标记的文本,进行语音合成。具体地,与插入的停顿标记相对应地,在语音中插入相应的停顿。

采用本实施例的文本到语音的语音合成方法,可以根据利用生语料训练的韵律统计模型来对文本中的句子插入停顿标记,进而,根据这些停顿标记,帮助改善语音合成的质量,从而使得合成的语音更自然、易懂。

在同一发明构思下,图4是根据本发明一个实施例的利用生语料训练韵律统计模型的装置的框图。下面就结合该图,对本实施例进行描述。对于那些与前面实施例相同的部分,适当省略其说明。

如图4所示,本实施例的利用生语料训练韵律统计模型的装置400包括:生语料库401,其中保存有未经人工韵律标注的生语料(raw corpus),该生语料包含多个带有标点符号的句子;语言符号序列转换单元(tokenization unit)402,用于将语料中的句子转换为语言符号序列;统计计数单元(counting unit)403,用于统计上述语言符号序列中相邻的语言符号对(token pair)以及在该各个语言符号对的关联位置上出现表示停顿的标点符号的次数;停顿概率计算器(pause probability calculator)404,用于计算上述语言符号对的关联位置上的停顿概率;韵律统计模型创建单元(prosody statistic model constructor)405,用于根据停顿概率计算器404计算的各个语言符号对及其关联位置上的停顿概率,创建韵律统计模型406。

与前面的实施例相同,在本实施例中,语言符号(token)可以是字、词、词及词性以及短语的任意一种形式。语言符号对的关联位置包括:该语言符号对的前、后和中间。统计计数单元403,对各个语言符号对的前、后和中间位置上出现表示停顿的标点符号的情况进行计数。

停顿概率计算器404,根据语言符号对的出现次数和在该语言符号对之前出现表示停顿的标点符号的次数,计算该语言符号对的前方的停顿概率,例如,利用以下公式计算该语言符号对的前方的停顿概率Probptt

> >Prob>ptt>>=> >Count>ptt> >Count>tt> >>s>

其中,Counttt是该语言符号对的出现次数,Countptt是在该语言符号对之前出现表示停顿的标点符号的次数。

进而,根据该语言符号对的出现次数和在该语言符号对之后出现表示停顿的标点符号的次数,计算该语言符号对的后方的停顿概率,例如,利用以下公式计算该语言符号对的后方的停顿概率Probttp

> >Prob>ttp>>=> >Count>ttp> >Count>tt> >>s>

其中,Counttt是该语言符号对的出现次数,Countttp是在该语言符号对之后出现表示停顿的标点符号的次数。

进而,根据该语言符号对的出现次数和在该语言符号对之间出现表示停顿的标点符号的次数,计算该语言符号对之间的停顿概率,利用以下公式计算该语言符号对之间的停顿概率Probtpt

> >Prob>tpt>>=> >Count>tpt> >Count>tt> >>s>

其中,Counttt是该语言符号对的出现次数,Counttpt是在该语言符号对之间出现表示停顿的标点符号的次数。

另外,虽然图中未示出,本实施例的利用生语料训练韵律统计模型的装置400还可以包括:平滑处理单元(smoothing unit),用于对计算出的停顿概率进行平滑处理;以及截取处理单元(cutoff unit),用于对计算出的停顿概率进行截取处理。

另外,与前面所述的实施例类似,优选地,本实施例还可以包括一个语言符号转换表,其中记录有在韵律统计模型和语料中涉及的语言符号以及该语言符号对应的编号(ID)。该语言符号转换表可以包含在语言符号转换单元402中,作为其一部分实现,也可以单独实现。进而,在韵律统计模型中记录语言符号对的关联位置的停顿概率时,可以利用语言符号的ID来表示相应的语言符号。这样构成的韵律统计模型可以节省存储空间,并且,语言符号转换表还可以作为语言符号索引被用于后面所述的韵律切分中的语言符号转换,提高处理速度。而且,该语言符号转换表可以作为韵律统计模型的一部分,一同传递给后面描述的韵律切分装置和语音合成系统。

本实施例中的利用生语料训练韵律统计模型的装置400及其各个组成部分,可以用专用的电路或芯片构成,也可以通过计算机(处理器)执行相应的程序来实现。并且,本实施例的利用生语料训练韵律统计模型的装置400,操作上可以实现前面结合图1描述的实施例的利用生语料训练韵律统计模型的方法。

在同一发明构思下,图5是根据本发明一个实施例的韵律切分装置的框图。下面就结合该图,对本实施例进行描述。对于那些与前面实施例相同的部分,适当省略其说明。

如图5所示,本实施例的韵律切分装置500,包括:文本输入单元(textinput unit)501,用于输入需要进行韵律切分的文本,该文本包括至少一个句子;语言符号转换单元(tokenization unit)502,用于把上述输入的文本中的句子转换为语言符号序列;停顿权值计算器(pause weightcalculator)503,用于根据韵律统计模型406计算上述语言符号序列中的每个停顿位置的权值,其中,上述韵律统计模型406是利用生语料训练的,包含多个语言符号对以及每个语言符号对的关联位置的停顿概率;停顿标记设置单元(pause tag setting unit)504,用于根据停顿权值计算器503计算出来的该句子中每个停顿位置的权值,选择一个或多个停顿位置,插入停顿标记。

与前面的实施例相同,在本实施例中,语言符号(token)可以是字、词、词及词性以及短语的任意一种形式。上述语言符号对的关联位置包括:该语言符号对的前、后和中间。

上述停顿权值计算器503利用上述韵律统计模型中包含的相应的语言符号对的关联位置上的停顿概率,计算上述语言符号序列中的每个停顿位置的权值。例如,利用以下公式计算每个停顿位置的权值weight

weight=-log(Probttp×Probtpt×Probptt)

其中,Probttp是在该停顿位置之前的语言符号对的后方的停顿概率,Probptt是在该停顿位置之后的语言符号对的前方的停顿概率,Probtpt是在该停顿位置前后的语言符号对的之间的停顿概率。

在本实施例中,优选地,上述停顿标记设置单元504在上述语言符号序列的第一个语言符号的后面和最后一个语言符号之前不设置停顿标记。

上述停顿标记设置单元504选择停顿权值高于一个预先确定的阈值的停顿位置,插入停顿标记。进而,优选地,还要满足一个条件,即,被选中的两个相邻的停顿位置之间的语言符号的数量大于一个预先定义的阈值,这样可以避免停顿的过多过碎。

另外,与前面所述的实施例类似,优选地,当韵律统计模型包含语言符号转换表时,本实施例的语言符号转换单元502可以利用韵律统计模型中的语言符号转换表来进行语言符号的转换。如果韵律统计模型没有包含语言符号转换表,则本实施例的语言符号转换单元502可以利用本身具有的或者从其它途径得到的语言符号转换表来进行语言符号的转换。

本实施例中的韵律切分装置500及其各个组成部分,可以用专用的电路或芯片构成,也可以通过计算机(处理器)执行相应的程序来实现。并且,本实施例的韵律切分装置500,操作上可以实现前面结合图2描述的实施例的韵律切分的方法。

在同一发明构思下,图6是根据本发明一个实施例的文本到语音的语音合成系统的框图。下面就结合该图,对本实施例进行描述。对于那些与前面实施例相同的部分,适当省略其说明。

如图6所示,本实施例的文本到语音的语音合成系统600,包括:韵律切分装置500和语音合成器601。其中,韵律切分装置500可以是前面结合图5描述的实施例的韵律切分装置。需要进行语音合成处理的文本被输入给该韵律切分装置500。由该韵律切分装置500插入了停顿标记的文本,再输入给语音合成器601。在此,语音合成器601可以是任意一种语音合成器601,只要是可以根据文本中的停顿标记在合成的语音中生成相应的停顿即可。

需要指出,本实施例中的语音合成系统600及其各个组成部分,可以用专用的电路或芯片构成,也可以通过计算机(处理器)执行相应的程序来实现。语音合成系统600中的韵律切分装置500和语音合成器601以及它们各自的组成部分,可以物理上相互分离,而操作上协同工作。例如,韵律切分装置500和语音合成器601可以是物理上独立的两台设备,通过网络或者其他通信介质进行数据的传递。本实施例的语音合成系统600,操作上可以实现前面结合图2描述的实施例的语音合成方法。

在同一发明构思下,图7是根据本发明另一个实施例的文本到语音的语音合成系统的框图。下面就结合该图,对本实施例进行描述。对于那些与前面实施例相同的部分,适当省略其说明。

如图7所示,本实施例的语音合成系统600’与前面图6所示的实施例的区别在于还包括韵律统计模型训练装置400,其可以是前面结合幅图4描述的实施例的利用生语料训练韵律统计模型的装置。

韵律统计模型训练装置400利用未经人工韵律标注的生语料训练韵律统计模型,然后,将该韵律统计模型提供给韵律切分装置500用于韵律切分。

与前面的实施例一样,本实施例中的语音合成系统600’及其各个组成部分,可以用专用的电路或芯片构成,也可以通过计算机(处理器)执行相应的程序来实现。并且本实施例的语音合成系统600’的各个组成部分,可以物理上相互分离,而操作上协同工作。

在实际应用中,本实施例的语音合成系统600的韵律统计模型训练装置400可以在语音合成处理之前独立地进行韵律统计模型训练,因此也被称为“offline”模块。

以上虽然通过一些示例性的实施例对本发明的利用生语料训练韵律统计模型的方法和装置、韵律切分的方法和装置、语音合成方法和系统进行了详细的描述,但是以上这些实施例并不是穷举的,本领域技术人员可以在本发明的精神和范围内实现各种变化和修改。因此,本发明并不限于这些实施例,本发明的范围仅由所附权利要求为准。

去获取专利,查看全文>

相似文献

  • 专利
  • 中文文献
  • 外文文献
获取专利

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号