当前位置:   article > 正文

神经网络与深度学习(四)--自然语言处理NLP

神经网络与深度学习(四)--自然语言处理NLP

1.序列模型

分类问题与预测问题

  • 图像分类:当前输入->当前输出
  • 时间序列预测:当前+过去输入->当前输出

自回归模型

2.数据预处理

2.1特征编码

在这里插入图片描述

  • 第1列表示年龄,是一个数值特征
  • 第2列表示性别,是一个只有位( 0,1)的特征
    0 -> Male, 1 > Male, 1 > Male, 1 > Male, 1 -> Female > Female > Female
  • 第3列表示国籍,目前有 197 个国家1 -> US, 2 -> China,
    可以用一个整数来表示,或者独热 向量来表示 , 如US: [1,0, ….,0]
    在这里插入图片描述

2.2文本处理

按字母处理
例如:S=“… to be or not to be”
将文本切分为字母排列:
L=[…, ‘t’, ‘o’, ’ ', ‘b’, ‘e’]

按单词处理文本切分
给定文本片段,如:S=“… to be or not to be”
将文本切分为单词序列:
L=[…,to,be,or,not,to,be]

3.文本预处理与词嵌入

3.1文本预处理

一篇文章可以被简单地看作一串单词序列,甚至是一串字符序列。我们将解析文本的常见预处理步骤。 这些步骤通常包括:

  1. 将文本作为字符串加载到内存中。
  2. 将字符串切分为词元(如单词和字符)。
  3. 建立一个字典,将拆分的词元映射到数字索引。
  4. 将文本转换为数字索引序列,方便模型操作。

第一步:读取数据集
以H.G.Well的时光机器为例,从中加载文本。 这是一个相当小的语料库,只有30000多个单词,而现实中的文档集合可能会包含数十亿个单词。如Chatgpt包含65T数据
在这里插入图片描述
第二步:词汇切分
将原始文本以文本行为单位进行切分
在这里插入图片描述
第三步:构建词索引表
在这里插入图片描述

3.2文本嵌入

如何将词映射成向量?
直接想法:使用之前所述的独热向量

在这里插入图片描述
问题:维数过高→解决方案:

词嵌入(word embedding),将独热向量映射为低维向量
在这里插入图片描述
在这里插入图片描述
映射参数矩阵
在这里插入图片描述
词嵌入训练效果
在这里插入图片描述
准确率74%(测试集),不好不差

3.RNN模型

3.1RNN概要

用RNN建模序列数据
输入:The cat sat on the mat
在这里插入图片描述
问题
随着输入的增加,会产生“遗忘”问题

在这里插入图片描述

3.2RNN误差反传

每个时间步的隐状态和输出可以写为:

在这里插入图片描述
通过一个目标函数在所有

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/IT小白/article/detail/519580
推荐阅读