目录

文本预处理

语言模型

n-gram语言模型

神经网络语言模型

循环神经网络基础

简介

计算过程


文本预处理

文本是一类序列数据,一篇文章可以看作是字符或单词的序列,本节将介绍文本数据的常见预处理步骤,预处理通常包括四个步骤:

  1. 读入文本
  2. 分词
  3. 建立字典,将每个词映射到一个唯一的索引(index)
  4. 将文本从词的序列转换为索引的序列,方便输入模型

常用文本预处理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对序列的下一个字符进行预测。

深度学习(二)————文本预处理、语言模型、循环神经网络基础

计算过程

深度学习(二)————文本预处理、语言模型、循环神经网络基础

隐含层计算公式

深度学习(二)————文本预处理、语言模型、循环神经网络基础

输出层计算公式

深度学习(二)————文本预处理、语言模型、循环神经网络基础

其中

深度学习(二)————文本预处理、语言模型、循环神经网络基础

深度学习(二)————文本预处理、语言模型、循环神经网络基础