------------------------------------------------------------------
大家好,我是Bright,微软拼音的开发工程师。我之前介绍了语言模型的基本概念,本文介绍一下N-gram语言模型的训练方法。
------------------------------------------------------------------
模型的训练也称为模型的参数估计,参数可以用下式估计:
这样的模型是以词语为基本单位,但是汉语文本没有空格分隔,因此需要先对汉语文本进行分词处理,再在分好词的语料上统计n元对的出现次数。
语言模型的质量依赖于分词语料的质量。为了获得良好的分词语料,可以先用分词工具对未分词语料(生语料)进行自动化的分词标注,然后对其中可能分词错误的地方进行人工校对,最后得到的语料称为熟语料。根据是否需要熟语料,训练方法分为有监督和无监督的两种方式。
有监督的训练方法
有监督的训练方法比较简单。先统计n元对的出现次数,然后采用最大似然估计的方法对参数进行估计(如公式1)。
无监督的训练方法
无监督的训练方法需要适当规模的生语料和词表,然后采用EM算法迭代地对语言模型的参数进行调整。EM 算法是 Dempster Laind Rubin 于 1977 年提出的求参数极大似然估计的一种方法,它可以从非完整数据集中对参数进行估计,是一种非常简单实用的学习算法。

本文由微软拼音开发工程师Bright介绍N-gram语言模型的训练方法,包括有监督和无监督的方式。在有监督训练中,使用最大似然估计;无监督训练则通过EM算法迭代调整参数。在无监督训练的E-step和M-step中,利用前向-后向动态规划算法高效统计n元对。
最低0.47元/天 解锁文章
320

被折叠的 条评论
为什么被折叠?



