本文主要是介绍计算机语言学笔记(三)N-gram和数据平滑,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
3 N-gram和数据平滑
3.1 语言建模
语言建模:对于一个服从某个未知概率分布P的语言L,根据给定的语言样本估计P的过程被称作语言建模。
语言建模技术首先在语音识别研究中提出,后来陆续用到OCR、,手写体识别,机器翻译,信息检索等领域。
在语音识别中,如果识别结果有多个,则可以根据语言模型计算每个识别结果的可能性,然后挑选一个可能性 较大的识别结果。
对于给定句子s= w1w2w3…,使用链式规则计算P(s)。
P(s)=P(w1)P(w2|w1)P(w3|w2w1)…
3.2 n-gram
由于语言的规律性,句子中前面出现的词 对后面可能出现的词有很强的预示作用。
n-gram:为了便于计算,一般只考虑前面n-1个词构成的历史即P(wi|wi-n+1…wi-1)。
n较大时:提供了更多的语境信息,语境更具区别性,但是参数个数多,计算代价大,训练语料需要多,参数估计不可靠。
n较小时:语境信息少,不具区别性。但是参数个数少,计算代价小,训练语料无需太多,参数估计可靠。
n=1:p(wi) 若语言中有20000个词,则需要估计20000个参数。
n=1:p(wi|wi-1) 若语言中有20000个词,则需要估计20000的平方个参数。
n=3:p(wi|wi-2wi-1) 若语言中有20000个词,则需要估计20000的立方个参数
建立过程:
1.数据准备:确定训练语料,
这篇关于计算机语言学笔记(三)N-gram和数据平滑的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!