动手学深度学习笔记2文本预处理

一、文本预处理
1.四个步骤:
①读入文本
②分词
③建立字典,将每个词映射到一个唯一的索引(index)
④将文本从词的序列转换为索引的序列,方便输入模型
读入文本:
在这里插入图片描述
分词:
在这里插入图片描述
建立字典:将字符串转换为数字,将每个词映射到一个唯一的索引编号。
在这里插入图片描述
两个重要的分词库:NLTK与spaCy

二、语言模型
定义:一段自然语言文本可以看作是一个离散时间序列,给定一个长度为T的时间序列w1~wt,语言模型的目标就是评估该序列是否合理,即计算该序列的概率:
在这里插入图片描述
语言模型:
在这里插入图片描述
在这里插入图片描述
即,语言模型的参数就是词的概率以及给定前几个词情况下的条件概率。
N元语法:
序列长度增加,计算和存储多个词共同出现的概率的复杂度会呈指数级增加。
在这里插入图片描述
在这里插入图片描述
注意:当n较小时,n元语法往往不准确;当n较大时,n元语法需要计算并存储大量词频和多词相邻概率。
N元语法的缺陷:1.参数空间过大 2.数据稀疏

三、循环神经网络
1.模型结构:
在这里插入图片描述
注意:在这里插入图片描述
循环神经网络的构造:
在这里插入图片描述
其实,循环神经网络的本质是增加了时间序列对于下一次预测的影响

2.梯度裁剪:
循环神经网络中较容易出现梯度衰减或梯度爆炸,这会导致网络几乎无法训练。裁剪梯度(clip gradient)是一种应对梯度爆炸的方法。假设我们把所有模型参数的梯度拼接成一个向量g,并设裁剪的阈值是θ。裁剪后的梯度
在这里插入图片描述
其中L2的二范数不超过θ

3.困惑度:
我们通常使用困惑度(perplexity)来评价语言模型的好坏。困惑度是对交叉熵损失函数做指数运算后得到的值。特别地
①最佳情况下,模型总是把标签类别的概率预测为1,此时困惑度为1;
②最坏情况下,模型总是把标签类别的概率预测为0,此时困惑度为正无穷;
③基线情况下,模型总是预测所有类别的概率都相同,此时困惑度为类别个数。

注意:任何一个有效模型的困惑度必须小于类别个数

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值