动手学深度学习——语言模型

语言模型

一段自然语言文本可以看作是一个离散时间序列,给定一个长度为 T T 的词的序列 ω 1 , ω 2 , . . . , ω T {\omega_{1},\omega_{2},...,\omega_{T}} ,语言模型的目标就是评估该序列是否合理,即计算该序列的概率。假设序列的每个词是依次生成的,则:
P ( ω 1 , ω 2 , . . . , ω T ) = Π t = 1 T P ( ω t ω 1 , . . . , ω t 1 ) = P ( ω 1 ) P ( ω 2 ω 1 ) . . . P ( ω T ω 1 ω 2 . . . ω T 1 ) P(\omega_{1},\omega_{2},...,\omega_{T})=\Pi_{t=1}^{T}P(\omega_{t} | \omega_{1},...,\omega_{t-1})=P(\omega_{1})P(\omega_{2} | \omega_{1})...P(\omega_{T} | \omega_{1}\omega_{2}...\omega_{T-1})
语言模型的参数就是词的概率以及给定前几个词情况下的条件概率。设训练数据集为一个大型文本语料库,如维基百科的所有条目,词的概率可以通过该词在训练数据集中的相对词频来计算,例如, ω 1 \omega_{1} 的概率可以计算为:
P ^ ( ω 1 ) = n ( ω 1 ) n \hat{P}(\omega_{1}) = \frac{n(\omega_{1})}{n}
其中 n ( ω 1 ) n(\omega_{1}) 为语料库中以\omega_{1}作为第一个词的文本的数量, n n 为语料库中文本的总数量。
P ^ ( ω 2 ω 1 ) = n ( ω 1 , ω 2 ) n ( ω 1 ) \hat{P}(\omega_{2} | \omega_{1}) = \frac{n(\omega_{1},\omega_{2})}{n(\omega_{1})}
其中 n ( ω 1 , ω 2 ) n(\omega_{1},\omega_{2}) 为语料库中以 ω 1 \omega_{1} 作为第一个词, ω 2 \omega_{2} 作为第二个词的文本的数量。

时序数据的采样

时序数据的采样有两种:随机采样和相邻采样。

(1)随机采样
每次迭代中随机采样一个小批量作为训练数据。在随机采样中,每个样本是原始序列上任意截取的一段序列,相邻的两个随机小批量在原始序列上的位置不一定相毗邻。
(2)相邻采样
在相邻采样中,相邻的两个随机小批量在原始序列上的位置相毗邻。

发布了19 篇原创文章 · 获赞 17 · 访问量 1463

猜你喜欢

转载自blog.csdn.net/weixin_43839651/article/details/104319384