一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

用于语音识别训练和评分的音译的制作方法

2021-09-15 03:01:00 来源:中国专利 TAG:音译 评分 语音识别 用于 训练

用于语音识别训练和评分的音译


背景技术:

1.口语和书面语言的许多实例包括来自两种或更多种不同语言或方言的词。许多语音识别系统很难准确地转录结合了来自不同语言或方言的词的语音。类似地,通常难以使用包括以不同语言或方言——尤其是来自多种书写系统的语言——的词的书面语言示例来训练语音识别系统。


技术实现要素:

2.在一些实施方式中,可以处理语言示例以将至少一些词音译成不同的脚本,以增强对语音识别模型的训练并提供对语音识别模型的更准确的评估。在某些情况下,书面语言示例,诸如用于训练或测试语言模型的书面语言示例,可以包括以一个脚本(例如,第一脚本或主要脚本)书写的词以及以不同脚本书写的一个或多个词。在训练或评估模型之前,可以通过将脚本外的词音译为主要脚本来对语言样本进行标准化。可以对所有脚本外的词执行此操作,也可以更选择性地执行此操作(例如,不对专有名称进行音译)。与从训练中排除带有混合脚本的示例的模型和使用不带音译的混合脚本的模型相比,生成的模型提供了更好的准确性。
3.通常,在单个短语或句子中使用多个脚本可能会使语言模型难以适当地学习对不在主脚本中的词的正确使用。结果,通常从训练数据集中移除带有混合脚本的示例,使得它们不会在语言模型训练中使用。这样做的缺点是限制了模型可以从中学习的示例数量,尤其是消除了模型学习多个脚本中的词一起使用的上下文和用法的机会。为了提高识别准确性,音译可用于对所需脚本的训练数据集进行标准化,从而提高建模的准确性。
4.语言模型训练数据的音译减少了转录中的不一致,提供了更好的标准化并提高了自动语音识别器系统的整体性能。此功能允许扩充语言模型训练数据,并强制识别器的假设以符合一个书写系统。相反,如果模型训练仅允许训练中的次要书写系统的所有语音,则生成的模型将倾向于在次要书写系统中输出更多语音,从而进一步增加了模型假设和转录真相之间已经存在的书写脚本不匹配的情况。即使两个词都指代相同的语义和发音,它也会在两个或更多个表示形式——例如,第一个脚本中的词以及第二个脚本中的词——中分散字数统计。通过音译训练数据,模型输出主要保留在所需的脚本中,同时由于针对任何脚本中的实例合并了相同词的词计数,从而提高了准确性。
5.在一些实施方式中,由一个或多个计算机执行的方法包括:访问指示用于第一脚本的语言示例的数据集,其中语言示例中的至少一些包括所述第一脚本中的词和一个或多个其他脚本中的词;将语言示例中的一些的至少一部分音译到第一脚本,以生成具有被音译到第一脚本的词的训练数据集;基于具有被音译到所述第一脚本的词的所述训练数据集中的词的序列的出现,来生成语音识别模型。该方法可以可选地进一步包括使用语音识别模型来针对话语执行语音识别。
6.在一些实施方式中,语音识别模型是语言模型、声学模型、序列到序列模型或端到端模型。
7.在一些实施方式中,音译包括将表示来自不同脚本的文本的不同形符映射到单个标准化音译表示。
8.在一些实施方式中,对所述语言示例进行音译包括将所述语言示例中的不在所述第一脚本中的词音译到所述第一脚本。
9.在一些实施方式中,对所述语言示例进行音译包括:访问不同于所述第一脚本的脚本中的词项的黑名单;并绕过所述语言示例中出现的、来自黑名单中的词项实例的音译。
10.在一些实施方式中,对所述语言示例进行音译包括生成改变的语言示例,其中以不同于所述第一脚本的第二脚本书写的词被替换为近似所述第一脚本中的词的声学特性的所述第一脚本中的一个或多个词。
11.在一些实施方式中,在逐个词的基础上,将以所述第二脚本书写的词分别音译到所述第一脚本。
12.在一些实施方式中,该方法包括:确定用于测试所述语音识别模型的语言示例的测试集;通过将所述测试集中的语言示例中的、未以所述第一脚本书写的词音译到所述第一脚本,来生成标准化的测试集;获取与所述测试集中的语言示例相对应的语音识别模型的输出;通过将语音识别模型输出的未以所述第一脚本书写的词音译到所述第一脚本,来对所述语音识别模型的输出进行标准化;基于所述标准化测试集与标准化语音识别模型输出的比较,确定所述语音识别模型的错误率。
13.在一些实施方式中,所述错误率是词错误率,并且其中所述方法包括基于所述词错误率:确定是继续训练还是终止所述语音识别模型的训练;改变用于训练所述语音识别模型的训练数据集;设置所述语音识别模型的大小、结构或其他特征;或为语音识别任务选择一个或多个语音识别模型。
14.在一些实施方式中,该方法包括确定所述语音识别模型的建模错误率,其中以多个脚本中的任何一个书写的声学相似的词被接受为正确的转录,而不会惩罚与参考转录中的对应词不同的脚本中的词的输出。
15.在一些实施方式中,该方法包括确定所述语音识别模型的渲染错误率,所述渲染错误率是所述语音识别模型的输出中的词的脚本相对于参考转录中的对应词的脚本之间的差异的度量。
16.在一些实施方式中,使用有限状态换能器网络来执行音译,所述有限状态换能器网络被训练为执行到第一脚本的音译成。
17.在一些实施方式中,音译包括,对于至少一个语言示例,执行脚本之间的多轮音译以达到包括在所述第一脚本中的训练数据集中的所述第一脚本中的音译表示。
18.在一些实施方式中,该方法包括确定指示所述语言示例中的脚本的混合程度的评分;基于评分,选择用于裁剪有限状态换能器网络以进行音译的参数;选择用于裁剪所述语音识别模型的参数;或为所述语音识别模型选择大小或结构。
19.在一些实施方式中,生成所述语音识别模型包括:在将一些语言示例的至少一部分音译到所述第一脚本之后,由所述一个或多个计算机确定在所述第一脚本中的训练数据集中的不同词序列的出现次数;由所述一个或多个计算机基于所述第一脚本中的训练数据集中的不同词序列的出现次数来生成语音识别模型。
20.在一些实施方式中,所述语音识别模型包括递归神经网络,并且生成所述语音识
别模型包括训练所述递归神经网络。
21.本公开还提供一种执行语音识别的方法,包括:由一个或多个计算机接收表示话语的音频数据;并由一个或多个计算机使用语音生成模型将音频数据映射到表示话语的文本(或一些其他符号表示),其中语音识别模型是根据本文公开的任何内容事先生成的。应当理解,用于生成语音识别模型的计算机可以与用于执行语音识别的计算机不同。该方法可以进一步包括输出表示输出的文本。
22.该方面的其他实施例包括记录在计算机存储设备上的相应的系统、装置和计算机程序,各自被配置为执行方法的操作。
23.本说明书中描述的主题的一个或多个实施例的细节在附图和以下描述中阐述。根据说明书、附图和权利要求书,本主题的其他特征、方面和优点将变得显而易见。
附图说明
24.图1是示出用于语音识别和评估的音译的系统的示例的框图。
25.图2是示出用于音译的有限状态换能器网络的示例的图。
26.图3是示出相对于数据集中的代码转换量的错误率的图表。
27.各个附图中类似的附图标记和标号指示相似的元件。
具体实施方式
28.图1是示出用于语音识别和评估的音译的系统100的示例的图。该系统包括计算机系统110,该计算机系统110可以包括一起或彼此远离放置的一个或多个计算机。计算机系统110具有音译模块120、模型训练模块130和评分模块140。在图1的示例中,系统100用于训练和评估语音识别模型,诸如语言模型150。
29.在该示例中,从诸如查询日志、网页、书籍、人或机器识别的语音转录等的各种来源中获得语言示例集112。语言示例112主要在第一脚本中。如本文所使用的,术语“脚本”通常是指书写系统。书写系统是用于表示自然语言的符号系统。可以与本文所公开的技术一起使用的脚本的示例包括拉丁语、西里尔文、希腊文、阿拉伯文、印度文或其他书写系统。语言模型150将被训练以提供主要表示第一脚本中的文本的输出。然而,在许多情况下,主要写在一个脚本中的短语或句子通常包含一个或多个使用另一脚本写的词。语言示例112通常主要包括纯用第一脚本写的示例,但是还包括一些语言示例,这些语言示例包括另一脚本中的词以及第一脚本中的词的组合。
30.音译模块120处理语言示例112以生成第一脚本的标准化数据集。在训练语言模型150之前,音译模块120处理语言示例112以将不在第一脚本中的词的实例音译到第一脚本。音译模块120可以使用有限状态换能器(fst)网络来执行音译。可以通过对语言示例112的分析或从其他数据来学习音素和不同脚本的词之间的关系。在一些实施方式中,对每个单独的词分别进行音译,例如,在逐个词的基础上,以实现音译中的高质量对应。该处理可以可选地考虑周围词的上下文,以提供高精度的音译。通过音译处理,被音译成第一脚本的所生成的词可以是具有与语言示例112中出现的相应原始词的发音相匹配或近似的发音的词。因此,音译处理可以针对未在第一脚本中原始书写的原始词,利用表示与原始词相同或相似的声学特征或声音的第一脚本中的替换词,来更改书写系统。
31.在一些实施方式中,不在第一脚本中的所有词都被音译为第一脚本。在其他实施方式中,音译选择性地进行。例如,音译黑名单126可以指示不应被音译的词或短语。音译模块120,因此,音译模块120在生成训练数据和测试数据时将这些词项保留在其原始脚本中,即使原始脚本与第一脚本不同。如果包括例如人、地名、公司和其他实体的专有名称——与音译版本相比,其在本地书写系统中可能更常见或更易识别,则黑名单可能特别有用。例如,甚至在主要在诸如印度语、西里尔字母、汉字、假名、汉字等的其他脚本中的文本当中,某些名称(例如“george washington”、“new york”或“google”)最好保留在拉丁脚本中。在训练数据集中包括脚本外的词可以允许语言模型150学习预测这些词在其本地脚本中的输出,即使这些脚本与主要脚本不同。
32.根据语言示例112,音译模块120生成用于训练语言模型150的脚本标准化的训练数据122。音译模块120还生成用于测试语言模型150的脚本标准化的测试数据124。测试可以在各个阶段发生,例如在完成一定数量的测试之后。可以在训练处理之间反复测试语言模型150,直到达到期望的性能水平。
33.在一些实施方式中,语言模型150被配置为接收表示发音的数据或表示语言序列的语言单元——例如,指示语言序列的发音的数据——作为输入。例如,输入可以指示一系列电话(其可以是上下文相关的或上下文无关的),或一组电话的评分分布。可以以多种方式中的任何一种为语言示例112确定这些发音。对于音频数据可用的语言示例,发音可以是音频数据的声学模型的输出。对于不存在相应音频数据的语言示例,例如来自网页、书籍、键盘输入的查询等的示例,系统可以使用发音生成器126从书面文本中自动生成发音。发音生成器126可以访问词汇表(lexicon)128,该词汇表128指示语言示例112的语言中的词的发音,例如,字素序列到音素序列的映射,以执行字素到音素的转换。另外,对于某些语言示例,词可能具有由语言学家手动注释提供的发音。
34.尽管图1示出了发音生成器126和词汇表128,这些元素在某些实施方式中是可选的。例如,可以接收已经具有与文本相关联的对应发音的语言示例112。而且,在一些实施方式中,语言模型150不接收语言单元信息作为输入,而是仅接收指示字素或词序列的数据。例如,某些语言模型可以用于候选转录的第二遍重新评分,因此可以接收指示建议的词序列的数据。在这种情况下,语言模型可以接收指示词本身的数据,而不是接收语音的语言单元,并且可以被配置为提供评分,该评分指示对整个序列进行语言模型训练的可能性。
35.模型训练模块130对语言模型150进行训练。例如,语言模型150可以是统计语言模型,诸如n

gram模型,其是基于不同词的出现次数和脚本标准化训练数据122中的短语生成的。可以附加地或替代地使用其他类型的模型,例诸如经网络模型。例如,语言模型150可以包括神经网络,模型训练模块130使用误差的反向传播、随机梯度下降或其他技术来训练该神经网络。神经网络可以是循环神经网络,例如包括具有长短期记忆(lstm)单元的一层或多层的神经网络。可以通过最小化目标函数——诸如连接主义时间分类(ctc)目标函数、状态级最小贝叶斯风险(smbr)目标函数或其他目标函数——来训练模型。
36.通常,训练语言模型150以至少部分地基于语言上下文,例如一个或多个周围的词或短语,来预测例如指示词的相对出现可能性。因此,语言模型150可以被配置为提供输出,该输出指示在出现一个或多个紧接在前的词的情况下词汇中的不同词将出现的概率。该预测还可以基于声学或语言单元,诸如指示电话序列的语音或语言模型的输出。当与指示语
音中存在的声音的声学模型——例如,作为电话或其他语言单元——一起使用时,语言模型150可以根据从脚本标准化训练数据122观察到的实际语言用法的模式,指示哪些词和词序列最能表示那些声音。语言模型150可以用于生成评分,例如概率评分或置信度评分,指示不同词彼此跟随的相对可能性,这可以用于生成语音晶格,然后光束搜索过程可以用于确定通过表示最可能考虑的转录的晶格的最佳路径,例如评分最高或成本最低的路径。
37.在训练之后或训练期间,评分模块140用于评估语言模型150的准确性。评估的结果包括指示语言模型150的性能的一个或多个评分142的生成。计分模块140可以提供来自脚本标准化测试数据124的示例作为对语言模型150的输入,从而使语言模型150针对每个输入示例生成输出,例如预测或概率评分。语言模型的输出可以进一步处理,例如,使用晶格搜索和光束搜索或通过其他技术,以生成针对每个输入示例的语言序列输出。
38.可选地,使用音译模块120对输出序列中不在第一书写系统中的词进行音译(为清楚起见,在图中将其复制)。对于如上所述生成的语言模型150,除了黑名单126中的词,模型150学会仅指示主要的第一脚本中的词。结果,如此训练的模型将指示第一脚本中的输出序列。但是,对于更通用的方法,并允许评估所有类型的语言模型,包括未在相同条件或数据集下训练的语言模型,可以使用音译对输出序列进行标准化,以进行更准确的比较。
39.计分模块140可以生成词错误率,该词错误率指示输出序列包括与原始语言示例112不同的词的比率。但是,即使两个词在彼此的音译上是等同的(例如,表示相同的声音和语义),如果其在与原始不同的脚本中,则常规词错误率计算将认为词不正确。当在语言和书写系统之间进行转换很普遍时,当模型有效地预测了正确的词时,这可能人为地提高明显的错误率。为了避免这种和其他不准确性,计分模块140可以生成修改后的词错误率,被称为建模错误率,其将标准化为第一脚本的输出序列与标准化为第一脚本的测试数据124进行比较。结果,即使原始语言示例具有以不同脚本书写的一个或多个等效词,当语言模型150完全在第一脚本中生成语言序列时,也不会计数错误。生成单独的评分,即脚本错误率,以测量输出序列的脚本与原始语言示例112的脚本不同的比率。
40.来自评分模块140的评估评分142可以被提供以输出给用户,并且还可以用于管理语言模型150的训练。例如,建模错误率可以用于确定是继续训练语言模型150还是终止训练语言模型150。可以将训练设置为继续,直到错误率低于阈值水平为止。作为另一示例,基于一个或多个错误率,计算机系统110可以改变用于训练语言模型150的训练数据集,例如,以引入不同或扩展的数据集以获得更好的准确性。作为另一示例,基于一个或多个评分142,计算机系统110可以设置语言模型150的大小、结构或其他特征。作为另一示例,基于对语言模型150的评估和用于评估一种或多种其他语言模型的潜在评分,计算机系统110可以选择一种或多种语言模型以用于执行语音识别任务。
41.在一些实施方式中,确定其他评分并将其用于调整语言模型150和/或音译模块120的训练。例如,计算机系统110可以获取指示总体上针对语言或者在特定数据集中(例如语言示例112)发生的脚本混合使用,例如“代码转换”的比率的数据。利用该评分,系统可以选择用于裁剪有限状态换能器网络以进行音译的参数、可以选择用于裁剪语言模型的参数、或者选择语言模型的大小或结构。实际上,可以使用评分来设置用于语言模型150的结构、训练和操作的许多不同参数,这些评分包括对数据开发集(例如,用于调整训练算法并防止过度拟合的验证集)、训练数据集、模型大小、训练过程中的学习率、所用模型的类型
(例如,n

gram、神经网络、最大熵模型等)或该模型的输出目标集的选择(例如,以预测词、词片段或字素)。
42.通常,本技术中的技术可用于训练和测试各种不同类型的模型中的任何一种,而不仅是语言模型。例如,音译数据可用于训练和评分语言模型、声学模型、序列到序列模型和/或端到端模型(例如,接收声学信息或特征并提供指示词、词片段或字素的可能性的输出的模型)。序列到序列模型可以将输入序列映射到输出序列。例如,序列到序列模型可以接收表示一个或多个口头词的声音信息或特征,并产生表示这些词的符号输出(例如,文本)。
43.在许多多语言社区中,代码转换是普遍发生的现象。代码转换通常是指说话者在单个话语内在语言之间进行转换。由于转录、拼写错误和从两个不同书写系统借用词的模棱两可,常规的词错误率(wer)措施不足以测量代码混合语言的性能。这些渲染错误人为地使自动语音识别(asr)系统的wer膨胀,并使评估复杂化。此外,这些错误使更难于准确评估源自代码转换语言和声学模型的建模错误。如以下进一步讨论的那样,通过将所有文本映射到一个书写系统,新的度量标准、音译优化的词错误率(tower)可以消除许多此类不规则现象。
44.这些技术还可以用于改进针对双语代码转换话语的声学和语言建模。详细讨论了示例印度语言,尽管该技术可用于语言和书写系统的任何组合。音译方法可用于规范三种类型的语言模型的数据,即常规的n

gram语言模型、基于最大熵的语言模型和长期短期记忆(lstm)语言模型以及现有状态的连接主义者时间分类(ctc)声学模型。在语音搜索业务中的几种印度语言上证明了所提出方法的鲁棒性,在asr性能方面获得了显着提高,例如,相对于现有状态基准而言,最高可提高10%。
45.在印地语

英语、孟加拉语

英语、阿拉伯语

英语和中文

英语以及许多其他双语者中,代码转换是常见的。当来自外语(例如英语)的词成为母语(例如印地语)的词汇的一部分时,在母语的词汇表中,代码转换、借用词和新词的创建之间的区别是通常不是很清楚,并且是连续的。这种现象使代码转换语音的转录变得困难且不一致,从而导致使用不同的书写系统来转录相同的词。这些不一致可能导致在声学和语言模型中具有相似声学和词汇上下文的词之间的计数分配不正确。
46.已经提出了几种用于代码转换语音识别的方法。一种方法是使用多程语音识别,其中首先通过仅使用声学信息的语言识别方法来识别代码转换区域。随后,可能使用第二遍合并和记录,使用相应的单语声学和语言模型识别语音片段。这样的方法不仅需要多次处理,而且还依赖于代码转换检测和语言识别的准确性。它们也无法在代码转换边界处捕获上下文信息。其他方法需要约束条件,诸如跨多种语言的统一语音字母,对词汇表中的发音变化进行建模以及其他无法持续提高语音识别性能的技术。
47.本文的技术提供了基于音译的新策略,用于改善asr性能。加权有限状态换能器(wfst)已用于语音识别解码,其中表示上下文相关的电话序列模型(c)、发音词汇表(l)和语言模型(g)的wfst可以组成单个大的换能器0或简称clg),其将上下文相关的电话序列映射到词序列。在代码转换语言中,说话者将罗马化的序列与本地语言脚本混合在一起,本地语言脚本诸如印地语情况下的梵文。处理流程采用类似的方法,在声音和语言模型中都使用音译模型来捕获代码转换。一系列wfst优化提供了改进,以实现准确性、延迟和
存储器使用操作点,从而有效地进行操作。重要的是,该系统使用基于音译的方法证明了印度语言在asr性能方面的显着提高。
48.下面讨论印度语言的语音识别中的一些挑战。引入了新的度量,音译优化的词错误率(tower),以及所提出的方法和wsft优化。然后,以印地语为例,讨论了通过消除代码转换来评估asr系统的重要性,并讨论了在普通音译空间中进行评分的问题。将音译结合到声学和语言模型的训练中,可以显着提高性能。最后,通过其他印度语言的示例验证了所提出方法的通用性。
49.虽然本文中的技术适用于任何两种语言之间的代码转换,但是印度语言提出了特别有趣的挑战。在印度,双语现象很普遍,母语和英语之间的代码转换经常发生。表1显示了在建立印度语言的语言模型所使用的两个语料库中看到的拉丁语脚本的分布。包含类型化搜索查询的语料库远比包含口头查询转录的语料库包含更多的拉丁语。这似乎是由于转录者试图遵守的转录约定,而基于网络的搜索查询没有任何限制。
[0050][0051]
表1
[0052]
在两种包含书写和口头查询的不同语料库中以印度语的拉丁语脚本的分布
[0053][0054]
表2
[0055]
包含梵文和拉丁语书写系统的示例表1示出了代码转换的广泛分布。
[0056]
下面使用印地语讨论对所提出的方法的详细分析,印地语是具有大量代码转换和训练数据的一种语言,同时还示出了该方法的泛化及其对其他印度语言的影响。
[0057]
在多个书写系统中存在代码转换。例如,印地语使用梵文脚本,而乌尔都语则使用阿拉伯语书写系统。由于大多数说印地语的人都是双语人,因此代码转换是日常生活的一部分,这种现象通常发生在休闲对话、语音搜索查询和演示中,从而导致了通常所说的hinglish。这种类型的代码转换可以在短语级别的句子中发生。表2呈现了一些常用转录语音的示例。第一列显示了常用的混合书写系统。第二列显示了拉丁语脚本中的等效文本,以简化可读性并示出数据中看到的印地语和英语的混合。尽管有指示以德瓦纳加里语脚本转
录印地语和以拉丁语脚本中的英语起源词的指令,但是双语转录员在所得到的转录中可以观察到许多不一致之处。像其他印度语言一样,印地语在社交和新闻媒体上以用户生成的文本进行罗马化,尤其是带有命名实体的提述、url、数字实体和首字母缩写词,因此使梵文中的印地语词的转录对于转录员更加困难。这些类型的不一致直接影响错误的定义以及用于评估asr系统的度量,即词错误率(wer)。这些称为渲染错误。
[0058]
母语(印地语)和外语(英语)的用法的可变性使得建模发生代码转换的上下文具有挑战性。虽然已经提出了几种使用语言、韵律和语义线索的方法来建模和捕获代码转换现象,但几乎没有提出并成功地改善了asr系统的性能的方法。转录中缺乏一致性和不正确的标准化也会影响语言和声学模型的建模能力。这种类型的错误称为建模错误。接下来讨论的技术提供了一种解决建模和渲染错误的统一方法。
[0059]
音译(transliteration)是将序列从一个书写系统转换为另一个书写系统的处理。由于辅音、元音和变音符号的大量组合会导致非唯一的映射,因此将印度语音译成拉丁语脚本的过程尤其具有挑战性。值得注意的是,两个脚本中都存在非标准拼写,例如,借方词在梵文中具有可变的可能拼写形式,而印地语词则具有可变的罗马化形式。
[0060]
通用音译方法适用于解决任何两种语言或书写系统的代码转换。音译可以通过加权有限状态换能器有效完成。为了生成源数据,要求人类转录员以母语书写脚本(在这种情况下为梵文)转录语音,但某些常用的英语词将以拉丁语脚本书写。因此,与通过键盘无限制的文本输入不同,来自两个书写系统的输入内容和范围仅限于话语中所说的内容。但是,由于两个书写系统之间缺乏规范的音译以及转录之间的不一致,因此引入了大量的建模和渲染错误。为了解决这个问题,音译换能器t由三个换能器组成:其中i将输入unicode符号映射到成对语言模型中的符号,p是一个双字母成对语言模型,在两个书写脚本,英语和梵文,中的符号之间进行映射,并且o将成对语言模型符号映射到目标输出梵文符号(如图2所示)。通过将t的联合概率除以所有输入和输出序列上的边缘化和,可获得音译词的条件概率。通过计算t中的最短路径可以有效地实现此计算。
[0061]
为了相对于用于建立大规模语言模型的存储器、速度和等待时间要求提高音译的性能,可以进行几种优化。
[0062]
在一些实施方式中,音译换能器计算最短路径,并且通过有效裁剪搜索空间获得了明显的速度改进。评分低于裁剪阈值的所有路径都将被丢弃。该阈值是根据经验确定的,以便不影响asr性能。将5的裁剪权重阈值确定为是好的操作点,特别是因为最佳路径是最受关注的路径。
[0063]
在一些实施方式中,当减少wfst中的ε周期时,使用ε

转变来减少缺失和插入的数目是重要的。使用并行实现ε去除,并利用八个线程。
[0064]
在一些实施方式中,用于ε去除的操作导致存储器使用的急剧增加,使得音译处理不可用于大规模语言模型。此问题已通过在去除ε之前进行基于权重的裁剪得到解决,而对音译性能没有影响。
[0065]
在一些实施方式中,鉴于双语词用法分布远非统一,所以几个词非常频繁地再次出现在训练数据中。为了利用这一优势,引入了成功音译的高速缓存,最大大小为100k元素,从而减少了常用词项对表查找的音译。
[0066]
表3呈现了上述优化步骤对加速/存储器减少的贡献。例如,上述优化可以将对
2800亿个词进行训练的语言模型的总体训练时间从165小时减少到12小时。
[0067]
优化速度(毫秒)基准123 音译换能器裁剪109.0 并行ε去除72.6 ε去除之前基于权重的裁剪61.6 缓存频繁音译25.0
[0068]
表3
[0069]
在平均包含四个词的发音上计算出的各种优化对音译速度的影响
[0070]
下面讨论的实验是在训练和测试集上进行的,这些训练和测试集是匿名的,并且用手工转录的语音代表了印度语语音搜索业务。通过使用房间模拟器添加不同程度的噪声和混响,使训练集增加了一些原始副本,这些副本被人为破坏,从而使总snr在0到20db之间变化。所有语言的信号处理管道均以10ms的标准帧速率提取了80维对数mel滤波器组输出特征。所有语言的声学模型都是具有5层的lstm,每层由768个lstm单元组成。声学模型在tensorflow中使用异步随机梯度下降使连接主义时间分类(connectionist temporal classification:ctc)和状态级最小贝叶斯风险(smbr)目标函数最小化进行了训练。表4呈现了每种印度语语言在实验中使用的训练数据量。测试数据在6,000到10,000个词之间变化。可以看出,这些语言之间的可用数据差异很大。呈现对印地语进行详细分析,因为印地语是与英语代码转换次数最多、训练形符(token)数量最多的一种语言。印地语训练数据集包括来自1000万次话语的大约10,000小时的训练数据。所建议的方法也已在其他印度语语言上得到验证,这些语言通常具有印地语数据的10%至20%。
[0071][0072]
表4
[0073]
印度语训练集
[0074]
表5示出了在校正与书写系统有关的误差之后,测得的wer的显着差异。在将参考和假设均音译为与本地语言环境相对应的一个书写系统后,计算提出的tower度量。可以看出,拉丁语脚本的百分比与建议的度量之间存在相关性,其可以用作很好地指示这些语言
中代码转换的程度。在诸如马拉雅拉姆语、泰卢固语、马拉地语和乌尔都语的语言中,代码转换的数量比诸如印地语和孟加拉语的语言少,并且tower反映了这一点。因此,音译可以是一种纠正由于不一致而引起的书写系统错误的手段,也可以是一种将建模错误与渲染错误分开的手段。音译评分可以减少由代码转换引起的歧义,并可以消除歧义和转录错误。因此,提出的tower是评估任何算法改进的更好指标。
[0075][0076]
表5
[0077]
在测量几种印度语言的语音搜索查询上的wer时,tower对修复渲染错误的影响
[0078]
受音译优化评分的影响,还探索了使用音译对语言模型的训练数据进行标准化的方法。首先,讨论了在印地语上训练音译语言模型(lm)的结果。首先将用于构建印地语语言模型的各种语料库中的所有文本音译,以消除任何拉丁语脚本。随后,将梵文中的规范化脚本用于训练用于第一遍的5

gram lm,并用于训练第二遍的基于类的最大熵模型。表6呈现了使用这些模型对包括语音搜索查询和听写数据的两个不同测试集进行解码时获得的结果。为了与作为语言模型输入的各种书写系统进行比较,我们将基于仅梵文数据的lm定义为仅使用包含梵文脚本的所有话语所构建的lm。语言模型构建中未使用梵文和拉丁语脚本中包含双语文本的任何语音。不出所料,这导致上下文建模丢失,数据减少,并在训练和测试集分布之间引入了不匹配。该lm产生的假设的音译评分修复与参考转录的不匹配(第2行)。保留两个书写系统中的数据确保保留代码转换的上下文,但是会引入第2节中讨论的所有挑战,包括在梵文和拉丁语中出现的相同词。由于来自拉丁语的所有其他数据都按原样包含在lm中,因此参考与假设之间的不匹配甚至会进一步增加,从而导致人为地夸大了常规wer(第3行)。tower度量反映了实际错误率(第4行)。可以看出,使用所有转译为梵文的数据对lm进行再训练,可以在语音搜索和听写测试集上获得显着的收益(第5行)。因此,通过将所有训练数据音译为梵文,从而引入一致的文本规范化来构建lm,从而使两个测试集的wer收益相对提高了3%至8%。
[0079][0080]
表6
[0081]
音译对使用基于最大熵的语言模型的印地语中语音搜索查询和听写的固定建模和渲染错误的影响
[0082]
还研究了音译对长期短期记忆(lstm)神经网络模型的影响。如表7所示,带有音译文本的训练模型提供的性能提升与语音搜索任务的基于最大熵的lm相似,而小于听写任务。尽管不足为奇,但它验证了以下假设:用于训练的基于音译的标准化和评分有助于将建模错误与渲染错误分开,并有助于准确评估模型的性能。对于表6和7中所示的语音搜索任务,可以得出结论,在使用常规wer时,lstm lm和基于最大熵的lm的性能非常相似(32.0vs 31.5),而tower表明基于最大熵的lm比lstm更好(20.6vs 22.3)。这些收益的重要性实际上可以由人类评估者在下面解释的并排比较研究中进行衡量。
[0083]
音译还可以提高声学建模的准确性。在印地语上的声学模型(am)训练中,使用每种话语的音译进行了各种实验。首先用拉丁语写的am训练数据中的所有词都被音译成梵文脚本,并且发音是用印地语拼音字母得出的。使用ctc准则训练模型收敛后,音译的am与使用两个书写系统训练的模型相比在性能上显示出很小的提高(参见表8)。预计smbr训练的改进将更加明显,因为smbr训练所需的分子和分母晶格将始终以梵文脚本呈现。
[0084][0085]
表7
[0086]
音译对lsr lm的语音搜索查询和听写话语的asr性能的影响
[0087][0088]
表8
[0089]
提出的方法对声学建模的影响
[0090]
接下来,下面的表9呈现了所提出的方法对其他几种印度语言的影响。除马拉雅拉姆语和泰米尔语外,所有其他语言均获得了显着且一致的收益。这可以归因于训练语料库中存在的拉丁语数量。对于这两种语言,从图2中可以看出,包含口头查询的语音搜索语料库中几乎没有拉丁语,而包括基于网络查询的语料库中包含更多拉丁语。但是,基于网络语料库接收对于此任务的插值权重非常低,因此对wer的影响很小。用音译的lm进行听写任务也观察到类似的趋势(参见表10,tower相对降低最多10%)。
[0091][0092]
表10
[0093]
带有音译lm对于多种印度语的听写任务的asr性能
[0094]
图3是示出了wer值、tower值以及与被测量为数据中的拉丁语百分比的代码转换百分比的相关性的图表。
[0095]
音译可以导致识别结果的正面和负面变化。表11示出了几个示例,其中常规wer指标人为地增加了误差。在第一示例中,satta matka的话语用拉丁语脚本转录,而asr系统在梵文中假设,因此算作两个替换错误。但是,由于tower在计算错误率之前已音译为梵文,因此它不会产生任何错误。在第二示例中,对于discovery一词可以看到类似的情况。
[0096][0097]
表11
[0098]
由tower修复的样本错误
[0099]
然而,并非仅通过音译就可以解决所有与代码转换有关的问题。表12中突出显示了一些这样的实例,其中音译处理引入了以前不存在的错误。在第一示例中,拉丁语的话语被视为《猛虎还活着(tiger zinda hai)》整部电影。该参考文献包含拉丁语的前三个词和梵文的后两个词。按照设计,asr假设是梵文。将参考和假设音译成常见的梵文书写系统的结果,导致了zinda vs jinda的错误。类似地,在第二示例中,参考被音译为jamuna,而假设产生了jumna,这是音译处理中模棱两可的结果,其中任何一种形式都是可以接受的。第三示例产生了更经典的错误。话语在拉丁语中读为ba第一年时间表。请注意,在此示例中,转录员仅在梵文中产生文本时是一致的。asr系统正确地假设了话语,但结合了书写系统,并
根据wer度量计算了三个替换错误。在对假设进行音译的过程中,ba被映射到梵文中的ba(在“bar”一词中发音为bah),并在该缩写ba的后面丢失了“a”。这将导致使用tower度量的替换错误。总体而言,尽管存在上述突出的情况,但与传统的wer相比,提出的度量确实更准确地反映了系统的性能。
[0100][0101]
表12
[0102]
tower引入的样本错误
[0103]
作为对所提出的方法的附加评估,进行了几个“并排”(sxs)实验,其中每个匿名的测试话语都由两个asr系统(基准与音译lm)自动转录。如果两个假设不同,则会将其呈现给人类评估者。sxs实验可以准确地测量语义变化,而不是微小的词汇差异。我们还针对由单个asr系统生成假设的情况进行sxs实验,但评估者在多个书写系统以及单个本地书写系统(在此示例中为梵文)中都看到了原始假设。在表13中,呈现了有关500种不同发音话语的以下结果:(1)变化:两个系统产生不同转录的业务的百分比。(2)获利/损失:实验系统中的获利与损失之比与基准之比。小于<5%的p值被认为具有统计学意义。
[0104]
从表13中可以明显看出,与基于混合书写系统的假设相比,人类评估者对音译假设给出了中性评级。这并不出乎意料,因为正在比较的两个系统的语义内容没有改变。但是,tower可以消除渲染错误并提供更好的视角。同样,第二行比较两个lm,即基准系统(表6中的行2,tower为20.6%)和具有音译lm的系统(表6中的行4,tower为17.2%)。对于音译lm(实验系统)获利多于损失。
[0105][0106]
表13
[0107]
人类评估者对tower和音译lm结果的判断
[0108]
所有印度语示出在拉丁语中书写的文字的量与在语音搜索任务上使用音译lm和tower度量获得的收益之间的相关性。但是,在卡纳达语中,听写任务的性能有所下降。为了更好地理解这些错误的来源,在音译空间中为卡纳达语生成了字素错误率,并将其与诸如孟加拉语等语言进行了比较,该语言在音译lm方面显示出明显的收益。
[0109]
足够有趣的是,从表14可以看出,基准和音译lm之间的删除错误数在卡纳达语中比孟加拉语(保持不变)高得多(相对增加了30%)。卡纳达语中的替代错误也相对增加了约3%,而孟加拉语中的替代错误则相对减少了6.4%。但是,虽然使用音译的lm的孟加拉语的字素错误率从18.7%降低到17.6%,但卡纳达语的字素错误率仅从10.27%降低到10.23%。对假设的仔细观察指示,许多错误或者是当两个词合并为一个词时由音译引入的,或者是由于合并和拆分形式都被认为是正确的语言的歧义所致。这些因素的组合最终导致tower劣化。字素错误率的改善很好地指示音译的lm仍然有用。由音译处理引起的某些错误很可能可以通过在匹配数据上训练模型来纠正。
[0110][0111]
表14
[0112]
孟加拉语和卡纳达语的听写任务中的字素错误率、删除和替换错误。所有数字均以%为单位。
[0113]
简而言之,由于在转录、拼写错误和从两个不同书写系统借用词的歧义,常规的词错误率(wer)度量不足以测量代码混合语言的性能。可以使用提出的基于音译的“tower”度量来精确测量建模错误,该度量可以消除渲染错误。相对于使用语音搜索和听写业务的几种代码转换的印度语言而言,用于语言和声学建模的训练转录的一致标准化可以提供高达10%的显着收益。使用基于音译的简单方法来一致地标准化训练数据并准确地测量模型的鲁棒性和准确性,可以获得显着的收益。
[0114]
本说明书中描述的本发明的实施例和所有功能性操作可以在数字电子电路中或在计算机软件、固件或硬件中实施,包括在本说明书中公开的结构及其等同结构或其一个或多个组合。本发明的实施例可以被实现为一种或多种计算机程序产品,即,在计算机可读介质上编码的计算机程序指令的一个或多个模块,以由数据处理装置执行或控制数据处理装置的操作。所述计算机可读介质可以是非暂时性计算机可读存储介质、机器可读存储设备、机器可读存储基板、存储器设备、影响机器可读传播信号的物质组成或其一种或多种的组合。所述计算机可读介质可以是瞬时介质,例如电、光或电磁信号。术语“数据处理装置”涵盖用于处理数据的所有设备、装置和机器,例如包括可编程处理器、计算机或多个处理器或计算机。除了硬件之外,该装置还可以包括为所讨论的计算机程序创建执行环境的代码,例如,构成处理器固件、协议栈、数据库管理系统、操作系统或其一种或多种的组合的代码。传播的信号是人工产生的信号,例如机器产生的电、光或电磁信号,其被产生以对信息进行编码以传输到合适的接收器装置。
[0115]
计算机程序(也称为程序、软件、软件应用、脚本或代码)可以用任何形式的编程语言,包括编译或解释的语言来书写,并且可以以任何形式进行部署,包括独立程序或适合在计算环境中使用的模块、组件、子例程或其他单元。计算机程序不一定与文件系统中的文件相对应。程序可以存储在保存其他程序或数据的文件的一部分中(例如,存储在标记语言文档中的一个或多个脚本),专用于所讨论程序的单个文件中,或多个协调文件中(例如,存储一个或多个模块、子程序或部分代码的文件)。可以将计算机程序部署为在位于一个站点上或分布在多个站点上并通过通信网络互连的一个计算机或多个计算机上执行。
[0116]
本说明书中描述的过程和逻辑流程可以由执行一个或多个计算机程序以通过对输入数据进行操作并生成输出来执行功能的一个或多个可编程处理器来执行。处理和逻辑流程也可以由专用逻辑电路执行,并且装置也可以实现为专用逻辑电路,例如,fpga(现场可编程门阵列)或asic(专用集成电路)。
[0117]
例如,适合于执行计算机程序的处理器包括通用微处理器和专用微处理器,以及任何类型的数字计算机的任何一个或多个处理器。通常,处理器将从只读存储器或随机存取存储器或两者接收指令和数据。计算机的基本元件是用于执行指令的处理器和用于存储指令和数据的一个或多个存储设备。通常,计算机还将包括或可操作地耦合以从一个或多个用于存储数据的大容量存储设备——例如,磁、磁光盘或光盘——接收数据或将数据传输到一个或多个大容量存储设备或这两者。但是,计算机不必具有此类设备。此外,计算机可以被嵌入在另一设备中,例如,平板计算机、移动电话、个人数字助理(pda)、移动音频播放器、全球定位系统(gps)接收器等。适用于存储计算机程序指令和数据的计算机可读介质包括所有形式的非易失性存储器、介质和存储设备,包括例如半导体存储设备,例如,eprom、eeprom和闪存设备;磁盘,例如内部硬盘或可移动磁盘;磁光盘;以及cd rom和dvd

rom磁盘。处理器和存储器可以由专用逻辑电路补充或并入专用逻辑电路中。
[0118]
为了提供与用户的交互,本发明的实施例可以在具有用于向用户显示信息的显示设备——例如crt(阴极射线管)或lcd(液晶显示器)监视器、键盘和指示设备——例如鼠标或轨迹球,用户可以通过它们向计算机提供输入——的计算机上实现。也可以使用其他类型的设备来提供与用户的交互;例如,提供给用户的反馈可以是任何形式的感觉反馈,例如视觉反馈、听觉反馈或触觉反馈;并且可以以任何形式接收来自用户的输入,包括声音、语音或触觉输入。
[0119]
本发明的实施例可以在包括后端组件——例如作为数据服务器,或者包括中间件组件——例如应用服务器,或者包括前端组件——例如,具有图形用户界面或网络浏览器的客户端计算机,用户可以通过该网络浏览器与本发明的实现进行交互,或者一种或多种此类后端、中间件或前端组件的任意组合的计算系统中实现。系统的组件可以通过数字数据通信的任何形式或介质——例如,通信网络——互连。通信网络的示例包括局域网(“lan”)和广域网(“wan”),例如因特网。
[0120]
计算系统可以包括客户端和服务器。客户端和服务器通常彼此远离,并且通常通过通信网络进行交互。客户端和服务器之间的关系是通过在各自计算机上运行并彼此具有客户端

服务器关系的计算机程序产生的。
[0121]
虽然本说明书包含许多细节,但是这些细节不应被解释为对本发明的范围或所要求保护的范围的限制,而应被解释为对本发明的特定实施例特定的特征的描述。在单独的
实施例的上下文中在本说明书中描述的某些特征也可以在单个实施例中组合地实现。相反,在单个实施例的上下文中描述的各种特征也可以分别在多个实施例中或以任何合适的子组合来实现。而且,尽管以上可以将特征描述为以某些组合起作用并且甚至最初如此声称,但是在某些情况下,可以从该组合中切除来自所要求保护的组合的一个或多个特征,并且可以将所要求保护的组合用于子组合或子组合变型。
[0122]
类似地,虽然在附图中以特定顺序描绘了操作,但是这不应被理解为要求以所示的特定顺序或以连续的顺序执行这样的操作,或者执行所有示出的操作以实现期望的结果。在某些情况下,多任务和并行处理可能是有利的。此外,上述实施例中的各种系统组件的分离不应被理解为在所有实施例中都需要这种分离,并且应当理解,所描述的程序组件和系统通常可以集成在单个软件产品中或打包成多个软件产品。
[0123]
在提到html文件的每个实例中,可以替换其他文件类型或格式。例如,html文件可以替换为xml、json、纯文本或其他类型的文件。此外,在提到表或哈希表的地方,可以使用其他数据结构(诸如电子表格、关系数据库或结构化文件)。
[0124]
至此,已经描述了本发明的特定实施例。其他实施例在所附权利要求的范围内。例如,权利要求中记载的动作可以以不同的顺序执行并且仍然实现期望的结果。
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文章

  • 日榜
  • 周榜
  • 月榜