语言模型-006

语言模型

什么是语言模型?

了解一门语言的人可以判断一句话是否合理

语言模型是用于计算文本的成句概率模型

语言模型的主要用途

语音识别(ASR)

语音识别 : 声音–>文本

声音本质是一种波

将波按时间段切分很多帧,如25ms一段

之后进行声学特征提取,将每一帧转换成一个向量

以声学特征提取后的向量为输入,经过 声学模型 预测得到音素

音素与拼音类似,但要考虑声调

音素序列对应多条文本序列,由语言模型挑选出成句概率最高的序列

使用beam search 或者维特比的方式解码

手写识别 (OCR)

识别模型将图片中文字转化为候选汉字(一般分为识别和定位两位),再有语言模型挑选出成句概率最高的序列

输入法

输入法即为拼音序列,每个拼音自然的有多个候选汉字,根据语言模型挑选高概率序列

需要考虑常见的误读,手误等问题

手写输入法,语言输入法同理

语言模型的分类

按照发展阶段来看,有四个模型,从简单到复杂

1.统计语言模型(SLM) S = Statistics

ngram语言模型等

2.神经语言模型(NLM) N = Neural

rnn语言模型等

3.预训练语言模型(PLM) P = Pre-train

Bert, GPT等

4.大语言模型(LLM) L = Large

ChatGPT等

N-gram语言模型

如何计算成句概率?

用S代表句子,w代表单个字或词

$$
S = w_1w_2w_3w_4

P(S) = P(w_1,w_2,w_3,w_4,…w_n)
$$
成句概率本质上是在计算词W1 – Wn按顺序出现的概率

P(w1,w2,…wn)=P(w1)P(w2∣w1)P(w3∣w1w2)…P(wn∣w1w2…wn−1) P(w_1,w_2,…w_n) = P(w_1)P(w_2 | w1)P(w_3 |w_1w_2)…P(w_n|w_{1}w_{2}…w_{n-1}) P(w1​,w2​,…wn​)=P(w1​)P(w2​∣w1)P(w3​∣w1​w2​)…P(wn​∣w1​w2​…wn−1​)
例子:

以字为单位:

P(今天天气不错) = P(今)* P(天|今) * P(天|今天) * P(气|今天天)* P(不|今天天气) * P(错|今天天气不)

以词为单位:

P(今天 天气 不错) = P(今天)* P(天气 | 今天) * P(不错 | 今天 天气)

计算流程:

如何计算P(今天)?

P(今天) = Count(今天) / Count_total 语料总词数

P(天气 | 今天) = Count(今天 天气) / Count(今天)

P(不错 | 今天 天气) = Count(今天 天气 不错) / Count(今天 天气 )

二元组 : 今天 天气 2 gram

三元组 : 今天 天气 不错 3 gram

困难 : 句子太多了

N-gram 数量非常庞大,无法穷举,需要简化

改善:

马尔可夫假设
P(w∣w1,w2,w3….wn−1)=P(wn∣wn−3,wn−2,wn−1) P(w_ | w_1,w_2,w_3….w_{n-1}) = P(w_n | w_{n-3},w_{n-2},w_{n-1}) P(w∣​w1​,w2​,w3​….wn−1​)=P(wn​∣wn−3​,wn−2​,wn−1​)
假设第n个词出现的概率,仅受其前面有限个词的影响

P(今天天气不错) = P(今)* P(天|今) * P(天|今天) * P(气|天天)* P(不|天气) * P(错|气不)

跟前面几个字相关,可以自己指定

马尔科夫假设的缺陷:

影响第n个词的因素可能出现在前面很远的地方
影响第n个词的因素可能出现在其后面
影响第n个词的因素可能并不在文中

但是马尔科夫假设下依然可以得到非常有效的模型

3 gram 模型:

P(今天 天气 不错) = P(今天)* P(天气 | 今天) * P(不错 | 今天 天气)

2 gram 模型:

P(今天 天气 不错) = P(今天)* P(天气 | 今天) * P(不错 | 天气)

问题:

如何给出语料中没有出现过的词或ngram概率?

P(今天 天气 糟糕) = P(今天)* P(天气 | 今天) * P(糟糕 | 天气)

不能直接给0,否则都失效了

引入:

平滑问题

理论上说,任意的词组合成的句子,概率都不应当为0

如何给没见过的词或ngram分配概率,即为平滑问题

也称折扣问题

平滑方法

1.回退(backoff)

当三元组a b c 不存在时,退而求其次寻找 b c 二元组的概率

P(c | ab) = P(c | b) * Bow(ab)

Bow(ab) : 二元组 a b 的回退概率

回退概率有很多计算方式,甚至可以设定为常数

回退可以迭代进行,如序列 abcd

© 版权声明
THE END
如果内容对您有所帮助,就支持一下吧!
点赞0 分享
评论 抢沙发

请登录后发表评论

    暂无评论内容