做APP好还是建设网站好,遵义网站建设txwl,建设银行网站能不能注销卡,视频链接提取下载分类目录#xff1a;《自然语言处理从入门到应用》总目录 语言模型#xff08;Language Model#xff0c;LM#xff09;#xff08;也称统计语言模型#xff09;是描述自然语言概率分布的模型#xff0c;是一个非常基础和重要的自然语言处理任务。利用语言模型#xff…分类目录《自然语言处理从入门到应用》总目录 语言模型Language ModelLM也称统计语言模型是描述自然语言概率分布的模型是一个非常基础和重要的自然语言处理任务。利用语言模型可以计算一个词序列或一句话的概率也可以在给定上文的条件下对接下来可能出现的词进行概率分布的估计。同时语言模型是一项天然的预训练任务在基于预训练模型的自然语言处理方法中起到非常重要的作用因此这种预训练模型有时也被称为预训练语言模型。本文将主要介绍经典的N元语言模型N-gram Language Model。
N元语言模型
语言模型的基本任务是在给定词序列 w 1 , w 2 , ⋯ , w t − 1 w_1, w_2, \cdots, w_{t-1} w1,w2,⋯,wt−1的条件下对下一时刻 t t t可能出现的词 w t w_t wt的条件概率 P ( w t ∣ w 1 w 2 ⋯ w t − 1 ) P(w_t|w_1w_2\cdots w_{t-1}) P(wt∣w1w2⋯wt−1)进行估计。一般地把 w 1 , w 2 , ⋯ , w t − 1 w_1, w_2, \cdots, w_{t-1} w1,w2,⋯,wt−1称为 w t w_t wt的历史。例如对于历史“我喜欢”希望得到下一个词为“读书”的概率即 P ( 读书 ∣ 我喜欢 ) P(\text{读书}|\text{我喜欢}) P(读书∣我喜欢)。在给定一个语料库时该条件概率可以理解为当语料中出现“我喜欢”时有多少次下一个词为“读书”然后通过最大似然估计进行计算 P ( 读书 ∣ 我喜欢 ) C ( 我喜欢读书 ) C ( 我喜欢 ) P(\text{读书}|\text{我喜欢}) \frac{C(我喜欢读书)}{C(我喜欢)} P(读书∣我喜欢)C(我喜欢)C(我喜欢读书)
式中 C ( ⋅ ) C(·) C(⋅)表示相应词序列在语料库中出现的次数也称为频次。通过以上的条件概率可以进一步计算一个句子出现的概率即相应单词序列的联合概率 P ( w 1 , w 2 , ⋯ , w l ) P(w_1, w_2, \cdots, w_l) P(w1,w2,⋯,wl)式中 l l l为序列的长度。可以利用链式法则对该式进行分解从而将其转化为条件概率的计算问题即 P ( w 1 , w 2 , ⋯ , w l ) ∏ i 1 l P ( w i ∣ w 1 w 2 ⋯ w i − 1 ) P(w_1, w_2, \cdots, w_l)\prod_{i1}^l{P(w_i|w_1w_2\cdots w_{i-1})} P(w1,w2,⋯,wl)i1∏lP(wi∣w1w2⋯wi−1)
然而随着句子长度的增加 w i ∣ w 1 w 2 ⋯ w i − 1 w_i|w_1w_2\cdots w_{i-1} wi∣w1w2⋯wi−1出现的次数会越来越少甚至从未出现过那么 P ( w i ∣ w 1 w 2 ⋯ w i − 1 ) P(w_i|w_1w_2\cdots w_{i-1}) P(wi∣w1w2⋯wi−1)则很可能为0此时对于概率估计就没有意义了。为了解决该问题可以假设“下一个词出现的概率只依赖于它前面 n − 1 n−1 n−1个词”即 P ( w t ∣ w 1 w 2 ⋯ w t − 1 ) ≈ P ( w t ∣ w t − n 1 w t − n 2 ⋯ w t − 1 ) P(w_t|w_1w_2\cdots w_{t-1})\approx P(w_t|w_{t-n1}w_{t-n2}\cdots w_{t-1}) P(wt∣w1w2⋯wt−1)≈P(wt∣wt−n1wt−n2⋯wt−1)
该假设被称为马尔可夫假设Markov Assumption。满足这种假设的模型被称为N元语法或N元文法N-gram模型。特别地当 N 1 N1 N1时下一个词的出现独立于其历史相应的一元语法通常记作unigram。当 N 2 N2 N2时下一个词只依赖于前1个词对应的二元语法记作bigram。二元语法模型也被称为一阶马尔可夫链Markov Chain。类似的三元语法假设 N 3 N3 N3也被称为二阶马尔可夫假设相应的三元语法记作trigram。 N N N的取值越大考虑的历史越完整。在unigram模型中由于词与词之间相互独立因此它是与语序无关的。以bigram模型为例上式可转换为 P ( w 1 , w 2 , ⋯ , w l ) ∏ i 1 l P ( w i ∣ w i − 1 ) P(w_1, w_2, \cdots, w_l)\prod_{i1}^l{P(w_i|w_{i-1})} P(w1,w2,⋯,wl)i1∏lP(wi∣wi−1)
为了使 P ( w i ∣ w i − 1 ) P(w_i|w_{i-1}) P(wi∣wi−1)对于 i 1 i1 i1有意义可在句子的开头增加一个句首标记“BOS”Begin Of Sentence并设 w 0 BOS w_0\text{BOS} w0BOS。同时也可以在句子的结尾增加一个句尾标记“EOS”End Of Sentence设 w l 1 EOS w_{l1}\text{EOS} wl1EOS。
平滑
虽然马尔可夫假设下一个词出现的概率只依赖于它前面 n − 1 n−1 n−1个词降低了句子概率为0的可能性但是当 n n n比较大或者测试句子中含有未登录词Out-Of-VocabularyOOV时仍然会出现“零概率”问题。由于数据的稀疏性训练数据很难覆盖测试数据中所有可能出现的N-gram但这并不意味着这些N-gram出现的概率为0。为了避免该问题需要使用平滑Smoothing技术调整概率估计的结果。本文将介绍一种最基本也最简单的平滑算法——折扣法。折扣法Discounting平滑的基本思想是“损有余而补不足”即从频繁出现的N-gram中匀出一部分概率并分配给低频次含零频次的N-gram从而使得整体概率分布趋于均匀。
加一平滑Add-one Discounting是一种典型的折扣法也被称为拉普拉斯平滑Laplace Smoothing它假设所有N-gram的频次比实际出现的频次多一次。例如对于unigram模型来说平滑之后的概率可由以下公式计算 P ( w l ) C ( w i ) 1 ∑ w ( C ( w ) 1 ) C ( w i ) 1 N ∣ V ∣ P(w_l)\frac{C(w_i) 1}{\sum_w(C(w) 1)}\frac{C(w_i) 1}{N |V|} P(wl)∑w(C(w)1)C(wi)1N∣V∣C(wi)1
在实际应用中尤其当训练数据较小时加一平滑将对低频次或零频次事件给出过高的概率估计。一种自然的扩展是加 δ \delta δ平滑。在加 δ \delta δ平滑中假设所有事件的频次比实际出现的频次多 δ \delta δ次其中 0 ≤ δ ≤ 1 0\leq\delta\leq1 0≤δ≤1。以bigram语言模型为例使用加 δ \delta δ平滑之后的条件概率为 P ( w i ∣ w i − 1 ) C ( w i − 1 w i ) δ ∑ w ( C ( w i − 1 w i ) δ ) C ( w i − 1 w i ) δ C ( w i − 1 ) δ ∣ V ∣ P(w_i|w_{i-1})\frac{C(w_{i-1}w_i)\delta}{\sum_w(C(w_{i-1}w_i)\delta)}\frac{C(w_{i-1}w_i)\delta}{C(w_{i-1})\delta|V|} P(wi∣wi−1)∑w(C(wi−1wi)δ)C(wi−1wi)δC(wi−1)δ∣V∣C(wi−1wi)δ
关于超参数 δ \delta δ的取值需要用到开发集数据。根据开发集上的困惑度对不同 δ \delta δ取值下的语言模型进行评价最终将最优的δ用于测试集。由于引入了马尔可夫假设导致N元语言模型无法对长度超过N 的长距离词语依赖关系进行建模如果将 N 扩大又会带来更严重的数据稀疏问题同时还会急剧增加模型的参数量N-gram数目为存储和计算都带来极大的挑战。5.1节将要介绍的神经网络语言模型可以较好地解决N元语言模型的这些缺陷。
语言模型性能评价
衡量一个语言模型好坏的一种方法是将其应用于具体的外部任务如机器翻译并根据该任务上指标的高低对语言模型进行评价。这种方法也被称为“外部任务评价”是最接近实际应用需求的一种评价方法。但是这种方式的计算代价较高实现的难度也较大。因此目前最为常用的是基于困惑度PerplexityPPL的“内部评价”方式。为了进行内部评价首先将数据划分为不相交的两个集合分别称为训练集 D train D^{\text{train}} Dtrain和测试集 D test D^{\text{test}} Dtest其中 D train D^{\text{train}} Dtrain用于估计语言模型的参数。由该模型计算出的测试集的概率 P ( D test ) P(D^{\text{test}}) P(Dtest)则反映了模型在测试集上的泛化能力。假设测试集 D test w 1 w 2 ⋯ w N D^{\text{test}}w_1w_2\cdots w_N Dtestw1w2⋯wN每个句子的开始和结束分布增加BOS与EOS标记那么测试集的概率为 P ( D test ) P ( w 1 w 2 ⋯ w N ) ∏ i 1 N P ( w i ∣ w 1 w 2 ⋯ w i − 1 ) \begin{aligned} P(D^{\text{test}}) P(w_1w_2\cdots w_N) \\ \prod_{i1}^N P(w_i|w_1w_2\cdots w_{i-1}) \end{aligned} P(Dtest)P(w1w2⋯wN)i1∏NP(wi∣w1w2⋯wi−1)
困惑度则为模型分配给测试集中每一个词的概率的几何平均值的倒数 PPL ( D test ) ( ∏ i 1 N P ( w i ∣ w 1 w 2 ⋯ w i − 1 ) − 1 N \text{PPL}(D^{\text{test}})(\prod_{i1}^NP(w_i|w_1w_2\cdots w_{i-1})^{-\frac{1}{N}} PPL(Dtest)(i1∏NP(wi∣w1w2⋯wi−1)−N1
对于bigram模型而言 PPL ( D test ) ( ∏ i 1 N P ( w i ∣ w i − 1 ) − 1 N \text{PPL}(D^{\text{test}})(\prod_{i1}^NP(w_i|w_{i-1})^{-\frac{1}{N}} PPL(Dtest)(i1∏NP(wi∣wi−1)−N1
在实际计算过程中考虑到多个概率的连乘可能带来浮点数下溢的问题通常需要将上式转化为对数和的形式 PPL ( D test ) 2 − 1 N ∑ i 1 N log 2 P ( w i ∣ w i − 1 ) \text{PPL}(D^{\text{test}})2^{-\frac{1}{N}\sum_{i1}^N\log_2P(w_i|w_{i-1})} PPL(Dtest)2−N1∑i1Nlog2P(wi∣wi−1)
困惑度越小意味着单词序列的概率越大也意味着模型能够更好地解释测试集中的数据。需要注意的是困惑度越低的语言模型并不总是能在外部任务上取得更好的性能指标但是两者之间通常呈现出一定的正相关性。因此困惑度可以作为一种快速评价语言模型性能的指标而在将其应用于下游任务时仍然需要根据其在具体任务上的表现进行评价。
参考文献 [1] 车万翔, 崔一鸣, 郭江. 自然语言处理基于预训练模型的方法[M]. 电子工业出版社, 2021. [2] 邵浩, 刘一烽. 预训练语言模型[M]. 电子工业出版社, 2021. [3] 何晗. 自然语言处理入门[M]. 人民邮电出版社, 2019 [4] Sudharsan Ravichandiran. BERT基础教程Transformer大模型实战[M]. 人民邮电出版社, 2023 [5] 吴茂贵, 王红星. 深入浅出Embedding原理解析与应用实战[M]. 机械工业出版社, 2021. 文章转载自: http://www.morning.ypbdr.cn.gov.cn.ypbdr.cn http://www.morning.stbhn.cn.gov.cn.stbhn.cn http://www.morning.ykwqz.cn.gov.cn.ykwqz.cn http://www.morning.qyrnp.cn.gov.cn.qyrnp.cn http://www.morning.fddfn.cn.gov.cn.fddfn.cn http://www.morning.gbcxb.cn.gov.cn.gbcxb.cn http://www.morning.kqfdrqb.cn.gov.cn.kqfdrqb.cn http://www.morning.skcmt.cn.gov.cn.skcmt.cn http://www.morning.pngfx.cn.gov.cn.pngfx.cn http://www.morning.pnntx.cn.gov.cn.pnntx.cn http://www.morning.fyxr.cn.gov.cn.fyxr.cn http://www.morning.kchwr.cn.gov.cn.kchwr.cn http://www.morning.grwgw.cn.gov.cn.grwgw.cn http://www.morning.ymhzd.cn.gov.cn.ymhzd.cn http://www.morning.zxfdq.cn.gov.cn.zxfdq.cn http://www.morning.yysqz.cn.gov.cn.yysqz.cn http://www.morning.khpgd.cn.gov.cn.khpgd.cn http://www.morning.zshuhd015.cn.gov.cn.zshuhd015.cn http://www.morning.bylzr.cn.gov.cn.bylzr.cn http://www.morning.mlhfr.cn.gov.cn.mlhfr.cn http://www.morning.ktnmg.cn.gov.cn.ktnmg.cn http://www.morning.snzgg.cn.gov.cn.snzgg.cn http://www.morning.rbknf.cn.gov.cn.rbknf.cn http://www.morning.mzwqt.cn.gov.cn.mzwqt.cn http://www.morning.mqgqf.cn.gov.cn.mqgqf.cn http://www.morning.zmbzl.cn.gov.cn.zmbzl.cn http://www.morning.zcsch.cn.gov.cn.zcsch.cn http://www.morning.xnymt.cn.gov.cn.xnymt.cn http://www.morning.rgmd.cn.gov.cn.rgmd.cn http://www.morning.pjbhk.cn.gov.cn.pjbhk.cn http://www.morning.drfrm.cn.gov.cn.drfrm.cn http://www.morning.yrjkp.cn.gov.cn.yrjkp.cn http://www.morning.kpgft.cn.gov.cn.kpgft.cn http://www.morning.ctpfq.cn.gov.cn.ctpfq.cn http://www.morning.jxpwr.cn.gov.cn.jxpwr.cn http://www.morning.hjlsll.com.gov.cn.hjlsll.com http://www.morning.lsssx.cn.gov.cn.lsssx.cn http://www.morning.iiunion.com.gov.cn.iiunion.com http://www.morning.njntp.cn.gov.cn.njntp.cn http://www.morning.mnslh.cn.gov.cn.mnslh.cn http://www.morning.pffx.cn.gov.cn.pffx.cn http://www.morning.kjyfq.cn.gov.cn.kjyfq.cn http://www.morning.fnczn.cn.gov.cn.fnczn.cn http://www.morning.dkbgg.cn.gov.cn.dkbgg.cn http://www.morning.easiuse.com.gov.cn.easiuse.com http://www.morning.rcttz.cn.gov.cn.rcttz.cn http://www.morning.bnwlh.cn.gov.cn.bnwlh.cn http://www.morning.zsyqg.cn.gov.cn.zsyqg.cn http://www.morning.wrbx.cn.gov.cn.wrbx.cn http://www.morning.yrkdq.cn.gov.cn.yrkdq.cn http://www.morning.snrbl.cn.gov.cn.snrbl.cn http://www.morning.mrttc.cn.gov.cn.mrttc.cn http://www.morning.rknjx.cn.gov.cn.rknjx.cn http://www.morning.rtryr.cn.gov.cn.rtryr.cn http://www.morning.frzdt.cn.gov.cn.frzdt.cn http://www.morning.mcpby.cn.gov.cn.mcpby.cn http://www.morning.pzwfw.cn.gov.cn.pzwfw.cn http://www.morning.khyqt.cn.gov.cn.khyqt.cn http://www.morning.hbhnh.cn.gov.cn.hbhnh.cn http://www.morning.qnxtz.cn.gov.cn.qnxtz.cn http://www.morning.dsgdt.cn.gov.cn.dsgdt.cn http://www.morning.syqtt.cn.gov.cn.syqtt.cn http://www.morning.qzfjl.cn.gov.cn.qzfjl.cn http://www.morning.rksg.cn.gov.cn.rksg.cn http://www.morning.mcqhb.cn.gov.cn.mcqhb.cn http://www.morning.jthjr.cn.gov.cn.jthjr.cn http://www.morning.yxyyp.cn.gov.cn.yxyyp.cn http://www.morning.rnxs.cn.gov.cn.rnxs.cn http://www.morning.rjnm.cn.gov.cn.rjnm.cn http://www.morning.tnkwj.cn.gov.cn.tnkwj.cn http://www.morning.knryp.cn.gov.cn.knryp.cn http://www.morning.ymdhq.cn.gov.cn.ymdhq.cn http://www.morning.kwxr.cn.gov.cn.kwxr.cn http://www.morning.gywfp.cn.gov.cn.gywfp.cn http://www.morning.fcrw.cn.gov.cn.fcrw.cn http://www.morning.txlxr.cn.gov.cn.txlxr.cn http://www.morning.tmfhx.cn.gov.cn.tmfhx.cn http://www.morning.tfzjl.cn.gov.cn.tfzjl.cn http://www.morning.rwpjq.cn.gov.cn.rwpjq.cn http://www.morning.kdhrf.cn.gov.cn.kdhrf.cn