深度学习02
文本预处理、语言模型、循环神经网络
文中图片皆来自伯禹学习的网课
文本预处理
文本预处理过程包括:
读入文本
分词(token)
建立字典,将每个词映射到一个唯一的索引(index)
将文本从词的序列转换为索引的序列,方便输入模型
常用的工具包有spacy,NLTK
语言模型
一段自然语言文本可以看作是一个离散时间序列,给定一个长度为T的词的序列w1,w2,…,wT,语言模型的目标就是评估该序列是否合理,即计算该序列的概率:P(w1,w2,…,wT).n阶马尔科夫链认为第(n+1)位置的字符只与前n个字符相关,也叫(n-1)元语法
时序数据采样包括随机采样和相邻采样。
随机采样:每次从数据里随机采样一个小批量。其中批量大小batch_size是每个小批量的样数,num_steps是每个样本所包含的时间步数。 在随机采样中,每个样本是原始序列上任意截取的一段序列,相邻的两个随机小批量在原始序列上的位置不一定相毗邻。
在相邻采样中,相邻的两个随机小批量在原始序列上的位置相毗邻。下图来自“小罗同学”评论,方便帮助理解,更详细的可以看代码部分。