内容来自哈工大车万翔老师团队的作品《自然语言处理:基于预训练模型的方法》。
2. 平滑
马尔可夫假设降低了句子概率为0的可能性,但是当n比较大或者测试句子含有未登录词(Out-Of-Vacabulary,OOV)时,仍然会出现“零概率”问题。
由于数据的稀疏性,训练数据很难覆盖测试数据中所有可能出现的N-gram,但这并不意味着这些N-gram出现的概率为0。为了避免该问题,使用平滑(Smoothing)计算调整概率估计的结果
折扣法
折扣法(Discounting)平滑的基本思想时“损有余而补不足”,即从频繁出现的N-gram中匀出一部分概率并分配给低频次(含零频次)的N-gram,从而使得整体概率分布趋于均匀。
加1平滑(Add-one Discounting)是一种典型折扣法,又称拉普拉斯平滑(Laplace Discounting)。其假设所有N-gram的频次都比实际出现的频次多一次。
例:unigram模型,平滑后概率公式为
式中,是词表大小。所有未登录词可以映射为一个区别于其他已知词汇的独立标记,如<UNK>。
bigram则为:
注意,实际使用中,尤其训练数据较小时,加1平滑将对低频次或零频次时间给出过高的概率估计。于是扩展为加平滑,即假设所有事件的频次比实际出现的频次多次,其中。于是bigram语言模型的条件概率为:
至于超参数的取值,需要根据开发集数据上的困惑度对不同取值下的语言模型进行评价,最终确定最优的用于测试集。
N元模型的问题:马尔可夫假设使得N元语言模型无法对长度超过N的长距离词语依赖关系进行建模,如果N扩大又会带来严重的数据稀疏问题,同时还会急剧增加模型的参数量。后续会讲到神经网络语言模型可以解决上述问题。