NLP--4 语言模型

语言模型(属于generative model)

语言定义为字母表的某一子集
统计学语言模型在概率的角度看语言production,从词汇表分配随机的token序列
P(<w1,w2,…wn>)

  • generative model 不考虑condition,语言模型就是, 回答问题2,3(联合分布等),可以用于发现outlier
  • descrimitive 例如逻辑回归 classification model P(x|c),只能回答问题1
    在这里插入图片描述

generative model 例子(贝叶斯)在这里插入图片描述

LM

V->vocalbularies
最近更多的subword 和字母基础的语言模型广泛应用
现在讨论word based language modeling
概率语言模型用于语法检查 预测输入 语音转换,chatbot,翻译,总结等

连续概率建模(token 序列)

在这里插入图片描述
当你想要得出prob of the network,此时也是generative model:classification
在这里插入图片描述
在这里插入图片描述
可以画出树形图->生成text
可能是sub-optimal(第一次选择时很大 后面都很小)
K=5 五个最大的->避免局部最优

Evalution

外部:作为spell checker的一部分
内在:分配的prob.与测试集的文本对应的如何

最常用-perplexity(依赖length)how surprising
在这里插入图片描述
连续prob.连乘(geometric mean)->all words in thecorpus
->log
在这里插入图片描述
->平均交叉熵最小化/平均最大似然估计(MLE)/最小化模型的perplexity

N-gram based modelling

更经典的方式,用现有的counts获取最大似然估计
但是在实际应用时大部分文字不仅出现一次,而是有很多可能的文字。没有足够的data
在这里插入图片描述
解决方案是转换为连续概率:
在这里插入图片描述

估计概率

在这里插入图片描述
存在数据稀疏的问题
在这里插入图片描述
限制序列的长度为K+1 为N-grams语言模型
在这里插入图片描述

Unigram模型

最简单的N-gram语言模型(w1,…,wn)
p(w1)p(w2)…p(wn)
在这里插入图片描述
忽略词的顺序,最可能的序列就是那些包含最频繁词的序列

Bigram模型(N=2)

在这里插入图片描述
计算序列概率 取出第一次乘以每个词和他前一个词的条件概率
在这里插入图片描述

马尔科夫语言模型

N-gram 是finite state machines

增加N

实际应用时人类语言很复杂 更高的N才能有好的效果
概率是爆炸增长的
也会随之而来一些问题,如数据稀疏,模型size大

smoothing

1 additive smoothing,

每次count加上 theta,一般选择为1
分母加上theta V 保证概率和为1
在这里插入图片描述

2 interpolation 插入

加入一个weight-从unigram 频率得到的概率
p ( w 2 ∣ w 1 ) = λ 1 p ( w 3 ∣ w 2 ) / p ( w 1 ) + ( 1 − λ 1 ) p ( w 2 ) / p ( w ) p(w2|w1) =\lambda1 p(w3|w2)/p(w1)+(1-\lambda1 )p(w2)/p(w) p(w2w1)=λ1p(w3w2)/p(w1)+(1λ1)p(w2)/p(w)

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值