首页 > 编程语言 > 详细

task02打卡 语言模型与循环神经网络

时间:2020-02-13 18:25:15      阅读:54      评论:0      收藏:0      [点我收藏+]

语言模型

语?模型(language model)是?然语?处理的重要技术。?然语?处理中最常?的数据是?本数据。我们可以把?段?然语??本看作?段离散的时间序列。假设?段?度为T的?本中的词依次为\(w_1, w_2, \dots, w_T\),那么在离散的时间序列中,\(w_t ( 1 \leqslant t \leqslant T)\)可看作在时间步(time step)t的输出或标签。给定?个?度为\(t\)的词的序列\(w_1, w_2, \dots, w_T\),语?模型将计算该序列的概率:

\[ P (w_1, w_2, \dots, w_T) \]

语言模型计算

假设\(w_1, w_2, \dots, w_T\)依次生成一句话,可以得到\[P\left(w_{1}, w_{2}, \ldots, w_{T}\right)=\prod_{t=1}^{T} P\left(w_{t} | w_{1}, \ldots, w_{t-1}\right)\]

\(P(w_1)\) 可以是某语料库中\(w_1\)的词频占所有词频的比例, \(P(w_2|w_1)\)可以表示为该语料库中\(w_1, w_2\)相邻的词频占\(w_1\)的词频的比例即\(P(w_1, w_2)/P(w_1)\) ,以此类推。

序列长度增加时计算过于复杂,由此引入\(n\)元语法的概念。

\(n\)元语法

\(n\)元语法通过?尔可夫假设(虽然并不?定成?)简化了语?模型的计算。?个词的出现只与前?\(n\)个词相关,即\(n\)阶?尔可夫链(Markov chain of order \(n\))。 \(n\) 元语法基于\(n-1\)阶马尔科夫链,模型为\(P\left(w_{1}, w_{2}, \ldots, w_{T}\right) \approx \prod_{t=1}^{T} P\left(w_{t} | w_{t-(n-1)}, \ldots, w_{t-1}\right)\)。 n分别为1、2和3时,我们将其分别称作?元语法(unigram)、?元语法(bigram)和三元语法(trigram)。

循环神经网络

循环神经?络。它并?刚性地记忆所有固定?度的序列,而是通过隐藏状态来存储之前时间步的信息。时间步t的隐藏变量的计算由当前时间步的输?和上?时间步的隐藏变量共同决定:

\[\boldsymbol{H}_{t}=\phi\left(\boldsymbol{X}_{t} \boldsymbol{W}_{x h}+\boldsymbol{H}_{t-1} \boldsymbol{W}_{h h}+\boldsymbol{b}_{h}\right)\]

隐藏变量能够捕捉截?当前时间步的序列的历史信息,就像是神经?络当前时间步的状态或记忆?样。

简言之,每一次循环都会用到上一次循环中的信息。

task02打卡 语言模型与循环神经网络

原文:https://www.cnblogs.com/amber-cui/p/12304292.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!