目录
文本预处理
文本是一类序列数据,一篇文章可以看作是字符或单词的序列,本节将介绍文本数据的常见预处理步骤,预处理通常包括四个步骤:
- 读入文本
- 分词
- 建立字典,将每个词映射到一个唯一的索引(index)
- 将文本从词的序列转换为索引的序列,方便输入模型
常用文本预处理python库有Standford NLP 和NLTK
语言模型
一段自然语言文本可以看作是一个离散时间序列,给定一个长度为T的词的序列w1,w2,…,wT,语言模型的目标就是评估该序列是否合理,即计算该序列的概率:
n-gram语言模型
为了解决自由参数数目过多的问题,引入了马尔科夫假设:随意一个词出现的概率只与它前面出现的有限的n个词有关。基于上述假设的统计语言模型被称为N-gram语言模型。
神经网络语言模型
基本的思想其实与上述的前置知识有所联系,既然是神经概率语言模型,那么实现的时候自然有一个神经网络,它包括了四个层:输入层、投影层、隐藏层和输出层。结构图如下:
更多语言模型请跳转https://blog.csdn.net/qq_36330643/article/details/80143960
循环神经网络基础
简介
本节介绍循环神经网络,下图展示了如何基于循环神经网络实现语言模型。我们的目的是基于当前的输入与过去的输入序列,预测序列的下一个字符。循环神经网络引入一个隐藏变量H,用Ht表示H在时间步t的值。Ht的计算基于Xt和Ht−1,可以认为Ht记录了到当前字符为止的序列信息,利用Ht对序列的下一个字符进行预测。
计算过程
隐含层计算公式
输出层计算公式
其中
本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:深度学习(二)————文本预处理、语言模型、循环神经网络基础 - Python技术站