NLP(4) 语言模型

倒排表

QA system 中 返回相似度最高的答案,对于知识库,需要计算N次相似度,O(N) 每次相似度计算的复杂度,无法满足实时性要求

解决问题核心思想“层次过滤思想”
遇到问题,O 输入,和所有问题匹配,
10^6 多次过滤 -> 10 ^3 -> 10 ^2;最后通过余弦相似度比较最后5个…
核心思想 过滤依次选取时间复杂度最快的,即过滤器1时间复杂度1>>过滤器2

Introducing Inverted Index
demo 搜索引擎
doc1 我们 今天 运动
doc2 我们 昨天 运动
doc3 你们 上课
doc4 你们 上 什么课
词典库 [我们 今天 运动 昨天 上 课 什么]
我们 [doc1,doc2]
今天 [doc1]
运动 [doc1,doc2]
昨天[doc2]
。。。。。。
我们可以快速根据词定位

假设 用户输入“运动”,我们只需要匹配倒排表中运动,最简单的方式是返回 doc1,doc2 的一个排序

假设用户输入“我们 上课”,we know “我们”出现在doc1,doc2;“上课” 出现在 doc3,doc4;由于交集为空,可以简单return 并集

回到QA system
Question:How do you like NLP?
对问题进行 分词,先选择至少包含其中一个单词的question,(此时也可以进行第二轮过滤)然后对于所获得的question进行相似度匹配

Noisy Channel Model

p(text|source) 正比于 p(source|text)p(text)
在这里插入图片描述
在这里插入图片描述

Language Model

判断是否一句话从语法上通顺

Object: Compute the probability of a sentence of a sentence or sequence of words

chain rule

random variable
P(A,B,C,D )=P(A)*P(B|A)*P(C|A,B)*P(D|A,B,C)
右式=P(A,B)*P(C|A,B)*P(D|A,B,C)=P(A,B,C)*P(D|A,B,C)=左式

Markov Assumption

1st order markov assumption p(a|b)
2nd … p(a|b,c)

Language Model

Unigram

把当前单词作为独立对待,假设每一个单词是独立的
问题 不考虑单词顺序
如何计算P(Wi)?
需要有语料库 假设C(我们)=100 V=10^5 p=C/V=1%

Bigram

来自first-order Markov assumption
能解决先后顺序

N-gram

Higher Order

Evaluation of language Model

Perplexity = 2^(-x) average log likelihood
根据不同场景要用不同的
一般而言 更高维度的Gram 效果更好,但是更可能过拟合

为什么需要平滑方法?
因为在训练语料库没出现不意味着在未来也不会出现

Smoothing

Add-one Smoothing Laplace Smoothing
PMLE(Wi|Wi-1)=C(Wi-1,wi)/C(wi)
PAdd-1(Wi|Wi-1)=(C(Wi-1,wi)+1)/(C(wi)+V)
处理了分子为0的情况,分母加V的原因?为了确保条件概率sum 后为1
V是词典的大小

Add-K Smoothing Laplace Smoothing
PAdd-k(Wi|Wi-1)=(C(Wi-1,wi)+k)/(C(wi)+k*V)

  1. k=1,2,3,…
  2. 优化 f(k)
    对于训练好的语言模型 概率C(Wi,we)是已知的
    perplexity=f(k)
    Minimize perplexity
Interpolation

在当前数据中没有出现不意味着在未来也不会出现

在这里插入图片描述
p(kitchen| in the )>>p(arboretum | in the)随着数据增加

核心思想
在计算Trigram概率同时考虑Unigram 和 Bigram,Trigram出现频次

P(wn|wn-1,wn-2)=λ1p(wn|wn-1,wn-2)+λ2p(wn|wn-1)+λ3p(wn)
∑λi=1

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值