语言模型
一段自然语言文本可以看作是一个离散时间序列,给定一个长度为
T的词的序列
ω1,ω2,...,ωT,语言模型的目标就是评估该序列是否合理,即计算该序列的概率。假设序列的每个词是依次生成的,则:
P(ω1,ω2,...,ωT)=Πt=1TP(ωt∣ω1,...,ωt−1)=P(ω1)P(ω2∣ω1)...P(ωT∣ω1ω2...ωT−1)
语言模型的参数就是词的概率以及给定前几个词情况下的条件概率。设训练数据集为一个大型文本语料库,如维基百科的所有条目,词的概率可以通过该词在训练数据集中的相对词频来计算,例如,
ω1的概率可以计算为:
P^(ω1)=nn(ω1)
其中
n(ω1)为语料库中以\omega_{1}作为第一个词的文本的数量,
n为语料库中文本的总数量。
P^(ω2∣ω1)=n(ω1)n(ω1,ω2)
其中
n(ω1,ω2)为语料库中以
ω1作为第一个词,
ω2作为第二个词的文本的数量。
时序数据的采样
时序数据的采样有两种:随机采样和相邻采样。
(1)随机采样
每次迭代中随机采样一个小批量作为训练数据。在随机采样中,每个样本是原始序列上任意截取的一段序列,相邻的两个随机小批量在原始序列上的位置不一定相毗邻。
(2)相邻采样
在相邻采样中,相邻的两个随机小批量在原始序列上的位置相毗邻。