文章目录
1 文本预处理
文本预处理常见步骤:
1 读入文本
2 分词
3 建立字典,将每个词映射到一个唯一的索引(index)
4 将文本从词的序列转换为索引的序列,方便输入模型
为了方便模型处理,我们需要将字符串转换为数字。因此我们需要先构建一个字典(vocabulary),将每个词映射到一个唯一的索引编号。
语料库,分词等。
将词进行向量化
2 语言模型
n-gram
n-1阶马尔科夫假设
举例:
采样
随机采样:
相邻采样:
3 循环神经网络基础
困惑度
我们通常使用困惑度(perplexity)来评价语言模型的好坏。回忆一下“softmax回归”一节中交叉熵损失函数的定义。困惑度是对交叉熵损失函数做指数运算后得到的值。特别地,
最佳情况下,模型总是把标签类别的概率预测为1,此时困惑度为1;
最坏情况下,模型总是把标签类别的概率预测为0,此时困惑度为正无穷;
基线情况下,模型总是预测所有类别的概率都相同,此时困惑度为类别个数。
显然,任何一个有效模型的困惑度必须小于类别个数。在本例中,困惑度必须小于词典大小vocab_size。
定义模型训练函数
跟之前章节的模型训练函数相比,这里的模型训练函数有以下几点不同:
使用困惑度评价模型。
在迭代模型参数前裁剪梯度。
对时序数据采用不同采样方法将导致隐藏状态初始化的不同。
本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:小结2:文本预处理、语言模型、循环神经网络基础 - Python技术站