文本预处理
- 先分词,将长句文本划分为词(token),转化成词序列。然后建立字典,将词映射到索引编号,即将字符串转化为数字以方便模型处理。接着就可以把文本的句子转化为索引序列。spaCy、NLTK是很好的分词工具。
语言模型
- 语言模型的参数就是词的概率以及给定前几个词情况下的条件概率。n元语法通过马尔可夫假设简化模型,马尔科夫假设是指一个词的出现只与前面n个词相关,即阶马尔可夫链,存在参数空间过大和数据稀疏的问题。时序数据的采样常用随机采样和相邻采样。
循环神经网络基础
- 基于当前的输入与过去的输入序列,预测序列的下一个输出,同时这个输出也是下一个时刻的输入。one-hot向量指只有一个元素是1,其他元素为0的向量。循环神经网络中较容易出现梯度衰减或梯度爆炸,这会导致网络几乎无法训练。裁剪梯度(clip gradient)是一种应对梯度爆炸的方法。