NLP05_noisy channel model、语言模型、马尔科夫假设

给定一个source,转换成text
通过贝叶斯定理,得到如下的公式NLP05_noisy channel model、语言模型、马尔科夫假设
都是将一个信号来转换成文本信息

机器翻译:英译中

根据贝叶斯定理,
P(英文|中文)表示的是翻译模型, 指的是中文对应的英文翻译,这个是提供好的,通过翻译模型得到的是英到中的对照翻译,不考虑语法
P(中文)表示语言模型,用他来保证翻译的语法正确。

拼接纠错

P(错误|正确)可以表示编辑距离,也就是正确的 和错误的差异
P(正确)来保证语法的正确,也就是语言模型
NLP05_noisy channel model、语言模型、马尔科夫假设

语音识别

P(语言|给定文本)即翻译,将文本翻译成语音
P(文本)保证语法正确

密码**

NLP05_noisy channel model、语言模型、马尔科夫假设
上边这些事例,都是左边控制翻译,右边保证语法正确
这就是noisy channel model
NLP05_noisy channel model、语言模型、马尔科夫假设
任何将信号转换成文本,都可以转换成Noisy channel model

语言模型

语言模型来保证句子语法上的通顺
通过预训练好的语言模型,来判断一个句子是否符合语法,最后给出句子符合语法的一个概率,选择出概率最大的那个句子
NLP05_noisy channel model、语言模型、马尔科夫假设

Chain relu

基本的条件概率公式得来
NLP05_noisy channel model、语言模型、马尔科夫假设
算这个概率,就是统计“今天是春节我们都“这个句子在文中出现的次数,接着长句后跟着“休息”的有一个句子,那概率就是1/2
但是这只是理想情况,大部分的长句子在文中可能都找不到,所以概率都是0
这就产生了稀疏性问题
NLP05_noisy channel model、语言模型、马尔科夫假设
解决稀疏性问题的办法

马尔科夫假设Markov Assumption

通过马尔科夫假设来估计概率
概率的近似,只将当前词的前几个词作为条件
NLP05_noisy channel model、语言模型、马尔科夫假设
更通用写法
NLP05_noisy channel model、语言模型、马尔科夫假设
假如已训练好语言模型,概率都知道,使用1st order计算概率
NLP05_noisy channel model、语言模型、马尔科夫假设

根据每一个马尔科夫假设,有一个对应的语言模型

Unigram

当每一个词都不依赖其他词时,也就是每一个单词都当成独立事件看,就得到Unigram LM, 最简单的LM
Unigram的缺陷:不考虑单词的顺序,语法注意不到
NLP05_noisy channel model、语言模型、马尔科夫假设

Bigram LM 对应 1st order markov assumption

可以考虑到词的先后顺序
NLP05_noisy channel model、语言模型、马尔科夫假设
类推

N-gram

当n > 2时,就成为higher order LM
n = 3已经是一个复杂的LM了
NLP05_noisy channel model、语言模型、马尔科夫假设

Bigram用到的是最多的