语音识别中的统计语言模型研究

  • 格式:pdf
  • 大小:2.07 MB
  • 文档页数:4

文章编号= 1009 -2552(2017)01-0044-03D O I:10. 13274/j. cnki. hdzj. 2017. 01. O il语音识别中的统计语言模型研究惠益龙\张太红2,吕莲花3,王蓓蓓4(1.新疆农业大学草业与环境科学学院,乌鲁木齐830052; 2.新疆农业大学计算机与信息工程学院,乌鲁木齐830052;3.新疆维吾尔自治区软件行业协会,乌鲁木齐830000;4.新疆科技发展战略研究院,乌鲁木齐830000)摘要:就语音识别中所用到的语言模型进行了详细阐述,对语言模型中涉及到的N-gram模型 进行了解析,以及对在训练语言模型过程中遇到的零概率问题相应的平滑处理方法进行了讲解。

利用N-gram训练的语言模型运用到语音识别中,取得了相当好的效果。

关键词:语音识别;语言模型;零概率中图分类号:TP391 文献标识码:AResearch on statistical language model for speech recognition HUI Yi-long1 , ZHANG Tai-hong2, LV Lian-hua3, WANG Bei-bei4(1. School o f G rassland and E nvironm ent S cien ces,X injiang A gricultural U n iversity,U rum qi 830052,C h in a;2. School o f C om puter &In form ation E n g in eerin g,X injiang A gricu ltu ral U n iversity,U rum qi 830052,C h in a;3. X injiang U ygu r A u tonom ou s R egion Softw are Industry A sso cia tio n,U rum qi 830000,C h in a;4. X injiang A cadem y o f Scien ce and T ech nology for D ev elo p m en t,U rum qi 830000,C h in a) Abstract:This paper described language model in the speech recognition process in detail,analyzed N-gram which was associated with language model,and explained the corresponding smoothing methodwhich could solve the zero probability problem in the process ol training the language model.By usingtrained language model that was trained by N-gram,applied to speech recognition,which achieved verygood results.Key words:speech recognition;language model;zero probability7信息疼术2017年第1期0引言语音识别是让计算机理解人说的话,然后做出 正确的反应或者输出相应的文字,这一直是人们追 求的理想[|]。

近期,语音识别在移动设备上的应用 层出不穷,许多互联网公司纷纷投入人力、财力展开 这方面的研究[2],如科大讯飞、百度等。

而语言模 型是语音识别过程当中的一个模块,它要将声学模 型的输出结果作为输入数据进行处理,主要的功能 是在众多可选择的字符串间搜索选择,将中间表示 形式转化为可读的语言文字序列[3]。

语言模型在 整个语音识别过程中的作用非常重要,其性能的好 坏直接影响到了整个语音识别系统的使用范围和识 别效率[4]。

比较流行的语言模型有两种,一种是基 于统计的语言模型,一种是基于规则的语言模型[5]。

本文主要介绍基于统计的语言模型。

统计语言模型是自然语言处理的基础,现在它 被广泛运用于机器翻译、语音识别、印刷体或手写体 识别、拼写纠错和汉字输入等领域。

而统计语言模 型产生的初衷是为了解决语音识别问题,在语音识 别中,计算机要做的工作是产生一个人可以理解的 且有意义的文字序列,然后以文本的形式显示出来。

作为人工智能研究的分支,自然语言处理技术中也 涉及到数学模型的问题[6],语音识别中的语言模型,就是要建立一个数学模型,对于大量的文本,通 过归纳总结,做一个概率统计。

对于一个句子,它的合理性可以通过它的可能 性来做判断,而它的可能性可以通过概率来衡量。

收稿日期:2016 -01-11基金项目:新疆维吾尔自治区科技计划项目基金资助(2015X0106)作者简介:惠益龙(1988 -),男,硕士研究生,研究方向为数据库技术。

通讯作者:张太红。

—44 —哪一个句子出现的概率最大,哪个句子就最为合理。

而语言模型正是通过统计大量相关的文本,从而训 练一个统计概率的模型,通过这个模型可以得到某 个句子的最大概率,即为最合理的句子。

1N-gram模型假定W表示一个句子,它由一连串特定顺序的字% ,%,…,%组成,总长度为^,求W这个句子 在整个语料库中出现的可能性,即W)的值。

在 此展开P(『),即=P(%,『2,…,『…)。

利用 条件概率的公式,%,^2,…,这个序列出现的概 率等于每一个字在整个语料库中出现的条件概率的 乘积,所以P(『1,『2,…,『…)展开为:尸(『1,%,…,『…) =^妒丨)•"『21妒丨)•"『31妒丨,『2卜子(『…1『1,『2,—,『…-1)。

其中,P(『丨)表示第一个字『丨出现的概率;P(『2I 『丨)是已知第一个字,第二个字出现的概率;以此类 推。

从上面的推理可以看出,每个字的出现概率和 它前面的所有字有关。

按上面的推理,计算量是非常庞大的。

在此,有 一个简单的办法,句子中的任何一个字『'出现的 概率只与它前面的丨个字相关,也就是『,只与『,_丨相关,即为二元模型,那么p(『)就可以写为:p(『)=P(『丨)•p(『21『丨)•p(『31『2)…八『t I 『,_丨)…p(『…I『…_丨)。

那么,如果假定句子中的任 何一个字『,出现的概率与它前面W-丨个字相关, 与W个字以前的字都无关,这样当前字『,的概率 只取决于它前面W- i个字,即计算P(『,I『,-^丨,『,4 +2,…,『,-丨),这样建立的模型称为W元模型,即尽gram。

理论上讲,W值越大,计算出来的值精 确度越高。

但是精确度越高,模型的复杂度也越大[7],计算第一个字出现的概率容易,第二个也不 麻烦,但是到第三个字时,计算P(『3I『丨,『2)已经很困难了,计算到第W个值,计算量将非常大。

在实际中应用最多的是W=3的三元模型,还 有W= 2的二元模型相对使用的多一些,W= 4的四 元模型效果的提升已经不是很明显了,所以更高阶 的模型很少被使用。

接下来以2-gram为例,计算条件概率P(『,I『,-丨),可根据定义,如公式(丨):P(『,|『,_丨)=P(『[_丨,『[)/P(『,_丨)(丨)计算P(『,-丨,『,)的概率时,统计语料库中字 『,-丨和字『,在整个语料库中相邻出现的次数,计为 咖m(『卜丨,『,),语料库总的大小计为rawm,则计算 得到的相对频率如公式(2):/(『,_丨,『,)=num(『,_丨,『,)/num(2)同样,计算P(『,-丨)的概率时,统计语料库中字『,-丨在整个语料库中出现的次数,计为:rau m(『,-丨),则计算得到的相对频率如公式(3): /(『,_丨)=raum(『,_丨)/num(3)根据大数定理,只要语料库足够大,相对频率就约等于它们的概率值,则计算得到的概率值如公式(4) - (5)所示:P(『;_丨,『;)=raum(『;_丨,『;)/num(4) P(『,_丨)=raum(『,_丨)/num(5)因此通过公式(4)和(5)得条件概率P(『,I 『,-丨),如公式(6)所示:P(『,I『卜丨)=ra u m(『卜"『J/ra u m(『卜丨)(6)以此类推,可以计算得到『丨,『2,…,『ra这个序列在语料库中出现的概率P(『)的值。

2平滑处理方法N-gram模型训练完之后,在进行语音识别过程中,它不一定能完全涵盖所有的情况,如(『,_丨,『,)这对词在整个语料库中出现的次数很少或者根本没有出现,由此得到的条件概率值可能非常小,甚至为零,这样特殊的情况被称作“不平滑问题”,或者“零 概率问题”。

处理零概率问题的技术被称为平滑处理方法[8-9]。

这些方法有三种:一种是直接对最大似然法的估计结果进行修整,这种方法又称为古德-图灵估计(Go o d-T u rin g E stim ate);另一•种是通过对单 个词的聚类减小模型空间来解决零概率的问题,包 括各种聚类算法[叫。

下文将介绍Go o d-T u rin g方法。

G o o d-T uring方法是在语料库统计样本不足的情况,对统计数据打折扣的一种概率估计方法,同时 将折扣出来的那一小部分概率分给零概率那些情况。

在此,假定在语料库中出现r次的词有阶个,零概率的词有&个,语料库总大小为#。

那么,W =玄「%。

出现「次的词在整个语料库中的相对频度则是^Wr/W,—般情况下,这个相对频度就是这些词的概率估计。

当r小到一定值时,计算出来的概率估计就可能不准确,这个值在语言建模时,叫做 临界值,用:T表示。

当r<r时,要使用一个更小的值,用7>表示,计算如公式(7 )所示:'=(r + 丨)^+丨^(7)显然,S I •W r= W。

一般情况,出现一次的词的数量比出现两次的多,出现两次的比出现三次的多,根据Zipf定律(Zipf’s L aw),r值越大,词出现的数量W r越小,即—45 —W+1 <阶。

那么当r < r时,o < 7> < r,在这种情况 下,出现r次的词的概率估计为7W,当r= 0时, 也分配了一个较小的概率。

以2-gram的概率值为 例,2-gram的概率公式如式(8)所示:/(R I D r 多TP(wt I W t_t)= <f T(w,I W,_,)0 < r < T(8)侧-J•/(『,)r = 0其中,T值是临界值,大约在8到10之间。