统计语言模型中的平滑、折扣与模型插值方法
在自然语言处理中,统计语言模型是一项重要的技术,它可以帮助我们估计文本序列的概率。然而,在实际应用中,由于数据的稀疏性,模型可能会出现过拟合的问题,导致对未见事件的概率估计不准确。为了解决这个问题,我们可以使用平滑(smoothing)或折扣(discounting)的方法,为未见事件保留一定的概率质量,并将剩余的概率质量分配给训练中出现的事件。本文将介绍一种常用的平滑方法——Good-Turing折扣法,并探讨如何将其应用于一元模型(unigram model)和二元模型(bigram model),最后介绍模型插值的概念和方法。
1. Good-Turing折扣法的基本原理
Good-Turing折扣法基于两个基本思想:
- 频率的频率(frequency of frequencies) :使用频率的频率来平滑计数。
- 单例事件(singleton events) :依赖单例事件(即只出现一次的事件)来估计未见事件的概率质量。
在一元模型中,事件通常指词汇。Good-Turing折扣法提出了以下公式来平滑事件计数:
[c^ = (c + 1) \frac{E{ N_{c+1} }}{E{ N_c }}]
其中,$c^ $ 是给定计数 $c$ 的平滑值,$E{ \cdot }$ 是期望运算符,$N_{c+1}$ 和 $N_c$ 分别是出现 $c + 1$ 次和 $c$ 次的事件总数。例如,训练数据中出现两次的事件的平滑计数等于 $(2 + 1)$ 乘以出现三次的事件的期望数量,再除以出现两次的事件的
超级会员免费看
订阅专栏 解锁全文
1146

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



