基于计数的n-gram语言模型:
出现的问题:
(1)数据稀疏,有些数据未出现过
(2)忽略语义的相关性,如“无聊”与“枯燥”虽然语义相似,但无法共享信息。
词语表示为:one-hot表示法。
基于分布式表示的n-gram语言模型:
出现的问题:
(1)词向量:如何将每个词映射到实数向量空间中的一个点
(2)f函数的设计:设置什么样的神经网络结构模拟f函数
词语表示为:基于连续空间的词语表示。
词表规模V和词向量维度D如何确定:
–V的确定:1:训练数据中所有词;2:频率高于某个阈值的所有词;3:前V个频率最高的词。
–D的确定:超参数,人工设定,一般从几十到几百。
如何学习L:
–通常先随机初始化,然后通过目标函数优化词的向量表达(e.g.最大化语言模型似然度)。
语言模型:
前馈神经网络
问题:
仅对小窗口的历史信息建模。例如5-gram语言模型,仅考虑前面4个词的历史信息。
能否对所有的历史信息进行建模,即第t个词的语言模型概率依赖于所有前t-1个词。
语言模型:
循环神经网络
输入:t-
1时刻的历史与t时刻的输入。
输出:t时刻的历史与下
一时刻t+1输入yt的概率。
问题:
梯度消失和爆炸:所以要有选择地保留和遗忘
语言模型:
长短时记忆网络LSTM
词向量规模、词向量分布