【手把手学习笔记】基于深度学习的自然语言处理(附实现代码)

2018 年 9 月 5 日 中国人工智能学会

【导读】这篇自然语言处理的学习笔记手把手记录了当前基于深度学习的文本分类常见的模型,分别介绍了数据集处理、特征转换、卷积神经网络、循环神经网络、以及最近很火的注意力机制等方法,手把手教大家如何使用不同的深度网络进行文本分类任务。


作者:Antoine J.-P. Tixier

编译:专知


IMDB电影评论数据集:

该任务是对来自互联网电影数据库(IMDB)数据集的评论进行二元分类(积极/消极),这被称为情感分析或意见挖掘。 该数据集包含五万条电影评论,标记为积极或消极。 数据的50%用于训练,50%用于测试。作者在GitHub上的“imdb_preprocess.py” 代码进行预处理评论并将它们放在一个适合传递给神经网络的格式中:每条评论都是来自大小为V的字典的单词索引(整数)列表。


二元分类目标函数:

我们的模型要最小化的目标函数是对数损失,也称为交叉熵(cross entropy.)。更精确地说,在有两个类(比如0和1)的二进制分类设置中,对数损失被定义为:


层次注意力机制(Hierarchical attention):

下图所示的体系结构提供了一个关于自注意力机制如何良好地在实践中运用的简单的例子。在这种体系结构中,自注意力机制发挥了两次作用:在单词级别和句子级别。这种方法有意义的原因有两个:首先,它符合文档的自然层次结构(单词-》句子-》文档)。其次,在计算文档的编码时,它允许模型首先确定每个句子中哪些单词是重要的,然后确定哪些句子是重要的。通过句子的注意力系数重新调整单词的注意力系数,该模型捕获了这样一个事实:当在给定的句子中找到时,给定的单词实例可能非常重要,但是当在另一个句子中找到时,同一单词的另一个实例可能不那么重要。


目录:

1. 免责声明

2. 代码

3. IMDB电影评论数据集

    1. 概述

    2. 二分类目标函数

4. 范式转换

    1. 特征嵌入

    2. 特征嵌入的好处

    3. 结合核心特征

5. 卷积神经网络(CNNs)

    1. 局部不变性与组合性

    2. 卷积与池化

        1. 输入

        2. 卷积层

        3. 池化层

        4. 文档编码

        5. Softmax层

    3. 参数数目

    4. 可视化和理解内部表征和预测

        1. 文档嵌入

        2. 预测区域识别

        3. 显著性图

6. 循环神经网络(RNNs)

    1. RNN框架

        1. 语言模型

    2. LSTM单元

        1. 内部层

        2. 遗忘/学习(Forgetting/learning)

        3. Vanilla RNN类比

    3. Gated Recurrent Unit(GRU)

    4. RNN vs LSTM vs GRU

7. 注意力机制

    1. Encoder-decoder注意力模型

        1. Encoder-decoder 概述

        2. 编码(Encoder)

        3. 解码(Decoder)

        4. 全局注意力

        5. 局部注意力

    2. 自注意力机制(Self-attention)

        1. 与seq2seq注意力机制的不同

        2. 层次注意力机制(Hierarchical attention)


请关注专知公众号(扫一扫最下面专知二维码,或者点击上方蓝色专知),

  • 后台回复“DLNLPN” 就可以获取最新PDF 下载链接~ 


代码:

作者在Keras框架中实现了这篇文档中描述的一些模型,并在IMDB电影评论数据集上进行了测试。代码可以在GitHub上找到:

https://github.com/Tixierae/deep_learning_NLP

https://arxiv.org/pdf/1808.09772.pdf


附PDF内容

参考链接:

https://github.com/Tixierae/deep_learning_NLP

https://arxiv.org/pdf/1808.09772.pdf

-END-

专 · 知


人工智能领域26个主题知识资料全集获取与加入专知人工智能服务群: 欢迎微信扫一扫加入专知人工智能知识星球群,获取专业知识教程视频资料和与专家交流咨询!


请PC登录www.zhuanzhi.ai或者点击阅读原文,注册登录专知,获取更多AI知识资料!


请加专知小助手微信(扫一扫如下二维码添加),加入专知主题群(请备注主题类型:AI、NLP、CV、 KG等)交流~

 AI 项目技术 & 商务合作:bd@zhuanzhi.ai, 或扫描上面二维码联系!

请关注专知公众号,获取人工智能的专业知识!

点击“阅读原文”,使用专知

登录查看更多
7

相关内容

互联网电影资料库(Internet Movie Database,简称IMDb)是一个关于电影演员、电影、电视节目、电视明星和电影制作的在线数据库。
【实用书】学习用Python编写代码进行数据分析,103页pdf
专知会员服务
192+阅读 · 2020年6月29日
【干货书】机器学习Python实战教程,366页pdf
专知会员服务
338+阅读 · 2020年3月17日
Transformer文本分类代码
专知会员服务
116+阅读 · 2020年2月3日
【MIT深度学习课程】深度序列建模,Deep Sequence Modeling
专知会员服务
77+阅读 · 2020年2月3日
一网打尽!100+深度学习模型TensorFlow与Pytorch代码实现集合
【书籍】深度学习框架:PyTorch入门与实践(附代码)
专知会员服务
163+阅读 · 2019年10月28日
深度学习的下一步:Transformer和注意力机制
云头条
56+阅读 · 2019年9月14日
基于LSTM深层神经网络的时间序列预测
论智
21+阅读 · 2018年9月4日
深度学习文本分类方法综述(代码)
专知
11+阅读 · 2018年6月15日
深度学习入门笔记
论智
7+阅读 · 2018年3月31日
tensorflow系列笔记:流程,概念和代码解析
北京思腾合力科技有限公司
30+阅读 · 2017年11月11日
Arxiv
9+阅读 · 2019年4月19日
Arxiv
14+阅读 · 2018年4月18日
Arxiv
7+阅读 · 2018年3月22日
Arxiv
4+阅读 · 2018年1月29日
VIP会员
相关VIP内容
【实用书】学习用Python编写代码进行数据分析,103页pdf
专知会员服务
192+阅读 · 2020年6月29日
【干货书】机器学习Python实战教程,366页pdf
专知会员服务
338+阅读 · 2020年3月17日
Transformer文本分类代码
专知会员服务
116+阅读 · 2020年2月3日
【MIT深度学习课程】深度序列建模,Deep Sequence Modeling
专知会员服务
77+阅读 · 2020年2月3日
一网打尽!100+深度学习模型TensorFlow与Pytorch代码实现集合
【书籍】深度学习框架:PyTorch入门与实践(附代码)
专知会员服务
163+阅读 · 2019年10月28日
相关论文
Arxiv
9+阅读 · 2019年4月19日
Arxiv
14+阅读 · 2018年4月18日
Arxiv
7+阅读 · 2018年3月22日
Arxiv
4+阅读 · 2018年1月29日
Top
微信扫码咨询专知VIP会员