语言模型
从数学角度 $p(W)=p(w_1)p(w_2|w_1)\cdots p(w_n|w_1,w_2,\ldots,w_{n_1})$.
定义 1
n-gram
应用马尔可夫过程.
n-gram 就是每个词的概率只依赖于前 $n-1$ 个词, 即认为 $p(w_k|w_1,w_2,\ldots,w_{k-1})=p(w_k|w_{k-n+1},\ldots,w_{k-1})$.
具体的 - 1-gram/unigram $p(w_1,w_2,\ldots,w_n)=p(w_1)p(w_2)\cdots p(w_n)$. - 2-gram/bigram $p(w_1,w_2,\ldots,w_n)=p(w_1)p(w_2|w_1)p(w_3|w_2)\cdots p(w_n|w_{n-1})$.
实际应用中加入开始标识符和结束标志符, 即第一项为 $p(w_1|<BOS>)$ 最后一项为 $p(<EOS>|w_{n-1})$.
参数计算方法就是用巨大的语料库, 统计连续 $n$ 个词的分布计算条件概率.
参数量
显然 $n$ 越大理论效果越好, 越接近数学层面的定义.
但考虑到实际计算限制, 一般取 $n=3$.
设词典中词数为 $N$, 对于 $n-gram$ 要计算 $p(w_n|w_1,\ldots,w_{n-1})$, 一共有 $N^n$ 个参数, 参数量巨大难以维护, 并且会出现非常多 0 值参数.
数据稀疏
在给定的训练数据中 - 一些词高频出现, 概率很高 - 一些词低频出现, 概率接近 0, 从而造成估计不可靠. 极大似然估计在采样样本总数趋于无穷时达到最小方差.
同时也可能有一些词或词组在数据集未出现, 从而无法计算. 默认 0 的话会导致一个很好的句子被认为概率 0.
解决办法: - 扩大训练数据规模有所帮助, 但增加的数据集仍是高频词占据绝大部分. - 平滑: 重新估计 0 概率和低概率. (Add-one, Good-Turing) - 回退: 高阶 n-gram 的概率难以计算时, 采用低阶 n-gram 统计 (backoff, Linear interpolation)
平滑 Smooth
Add-one: 将所有词/词组出现次数 +1.
设 $c(w)$ 为 $w$ 出现次数, 总词数为 $|V|$, 总出现次数为 $N$. - unigram $p(w)=\frac{c(w)+1}{N+|V|}$. - bigram $p(w_1,w_2)=\frac{c(w_1,w_2)+1}{c(w_1)+|V|}$.
缺点: 会分走过多概率给 0 概率, 修正考虑将 +1, 变为 +$\delta$.
如何选取合适的 $\delta$ (held-out estimation) 从训练数据中分离一部分数据 $H$, 用剩余数据对不同 $\delta$ 训练, 并在 H 上测试表现, 选取最优的 $\delta$.
Good-Turing: 根据仅出现一次的 n-gram 的个数, 来确定未见 n-gram 的概率.
记 $N_r$ 表示出现次数为 $r$ 的词/词组的个数.
将 $r$ 调整为 $$ r^*=\frac{(r+1)N_{r+1}}{N_r} $$ 那么概率
回退
Backoff:
$$
p(w_i \mid w_{i-2}, w_{i-1})= \begin{cases} p(w_i \mid w_{i-2}, w_{i-1}) & \text{if } C(w_{i-2}, w_{i-1}, w_i) > 0 \ \alpha_1\, p(w_i \mid w_{i-1}) & \text{if } C(w_{i-2}, w_{i-1}, w_i)=0 \ \text{and}\ C(w_{i-1}, w_i) > 0 \ \alpha_2\, p(w_i) & \text{otherwise} \end{cases}
$$
Interpolation:
$$
p(w_n \mid w_{n-2}, w_{n-1}) = \lambda_1 p(w_n) + \lambda_2 p(w_n \mid w_{n-1}) + \lambda_3 p(w_n \mid w_{n-2}, w_{n-1}) \quad 0 \le \lambda_i \le 1,\quad i=1,2,3,\qquad \lambda_1+\lambda_2+\lambda_3=1
$$
模型质量评价
好的模型应该给实际使用的句子打较高的概率.
外部评价: 一般用于比较两个模型, 将其应用于同一个任务.
内部评价: 对模型直接评价.
Perplexity (困惑度, PP): P(W) 的几何平均值的倒数
对于 bigram 模型
$$
PP(W)=P(W)^{-\frac 1N}=\left[\prod\limits_{i=1}^N P(w_i|w_{i-1})^{-\frac1N}\right]
$$
PP 越小效果越好
练习 2
题目

题目
