自然语言处理基础教程
作者 : 王刚 郭蕴 王晨 编著
出版日期 : 2021-11-01
ISBN : 978-7-111-69259-1
适用人群 : 高校计算机、人工智能、大数据相关专业的本科生
定价 : 69.00元
教辅资源下载
扩展信息
语种 : 简体中文
页数 : 228
开本 : 16
原书名 :
原出版社:
属性分类: 教材
包含CD : 无CD
绝版 :
图书简介

本书面向初学者介绍了自然语言处理的基础知识,包括词法分析、句法分析、基于机器学习的文本分析、深度学习与神经网络、词嵌入与词向量以及自然语言处理与卷积神经网络、循环神经网络技术及应用。本书深入浅出,案例丰富,可作为高校人工智能、大数据、计算机及相关专业本科生的教材,也可供对自然语言处理有兴趣的技术人员作为参考书。

图书特色

图书前言

自然语言是指人们日常交流使用的语言,例如汉语、英语、日语、法语等。语言是人类区别于其他动物的根本标志之一,在人类社会中扮演着重要的角色。人们借助约定俗成的语法规则,通过声音、文字、图像等不同类型的信号来传递思想、表达情感、记录观察到的现象等。语言的使用扩展了人类理解的范围,使人类可以借助复杂的概念体系和思维模式进行系统的、逻辑的思考和推论,从而提升智力水平。
本书主要介绍自然语言处理(Natural Language Processing,NLP)的基本概念、相关技术和常见应用。自然语言处理是语言学、计算机科学和人工智能的一个分支,研究如何使用计算机自动或半自动地处理、理解、分析以及运用人类语言。从广义上来讲,自然语言处理包含所有用计算机对自然语言进行操作的方法,既包含通过统计词频来比较不同写作风格的简单手段,也包含能够完全“理解”人类语言的终极目标。
基于NLP的技术正在广泛地影响人类的生活、工作、学习、社交等方方面面。例如:百度翻译、谷歌翻译等可以利用机器翻译将一种语言迅速翻译为另一种语言;当我们在百度或者谷歌上搜索内容时,只要输入两三个词,自动补全功能就会显示可能的搜索内容,自动更正功能还可以纠正错别字等错误;小爱同学、Siri、谷歌助手、小度等语音助手可以通过语音识别和自然语言理解等技术来处理我们的口头命令并执行相应的操作;邮件分类和过滤功能则可以对邮件进行自动分类,并过滤垃圾邮件;等等。通过提供设计良好的人机界面和更高级的存储信息访问方式,自然语言处理正在多语言交流的信息社会中发挥着重要的作用。
本书面向高等院校理工科特别是新工科相关专业的学生,帮助其掌握自然语言处理的相关概念,使其具备利用自然语言处理进行算法分析和解决相关专业问题的能力。
全书共9章,主要内容如下。
第1章介绍自然语言处理的基本概念、主要研究任务和技术,以及自然语言处理开发环境的搭建。
第2章介绍词法分析的基本概念,以及词法分析中的几个子任务和典型算法,包括分词、关键词提取、词性标注和命名实体识别,并通过实例来介绍如何使用词法分析工具。
第3章介绍句法分析的基本概念和典型算法,以及常用的中文句法分析工具,并通过一个实例来说明基于PCFG算法的句法分析。
第4章介绍机器学习的基本概念、典型算法,以及scikit-learn机器学习库的使用方法,并通过一个垃圾邮件分类的实例来介绍多个基于机器学习的文本分类器。
第5章介绍如何用基于人工神经网络的深度学习方法解决NLP问题。本章涵盖深度学习的入门知识,可为后续章节的学习打下基础。
第6章介绍文本向量化的基本概念和常用的文本向量化方法,包括词嵌入、Word2Vec和Doc2Vec,并通过利用Doc2Vec计算文档相似度的实例来介绍文本向量化工具的使用。
第7章介绍卷积神经网络(Convolutional Neural Network,CNN)的基本概念,以及如何使用卷积神经网络处理NLP问题,并通过使用CNN实现新闻文本分类的实例说明使用CNN完成NLP任务的基本方法。
第8章介绍循环神经网络(Recurrent Neural Network,RNN)的基本概念,以及如何使用循环神经网络处理NLP问题,并通过使用LSTM网络实现文本情感分析的实例说明使用RNN完成NLP任务的基本方法。
第9章介绍序列到序列模型和注意力机制的基本概念,并通过基于注意力机制的机器翻译实例说明如何使用编码–解码架构来构建序列到序列模型。
本书是教育部产学合作协同育人项目(2019 年第 2 批)的成果,由南开大学计算机学院公共计算机基础教学部的老师结合多年的教学和项目实践经验,针对新工科相关专业对自然语言处理的学习需要编写而成。在本书的编写过程中,得到了北京华育兴业科技有限公司王鹏总监的大力支持,在此表示真诚的感谢!
本书在准备和编写的过程中参考了国内外机器学习、深度学习及自然语言处理领域的一些开放课程、书籍、论坛、博客、论文和开源资料等,在此对资源的作者表示感谢。由于编者能力和时间的限制,书中难免有不妥或错误之处,恳请同行和读者斧正。

作 者
2021年7月于南开园

上架指导

计算机\人工智能

封底文字

自然语言处理是语言学、计算机科学和人工智能的一个分支,研究如何使用计算机自动或半自动地处理、理解、分析以及运用人类语言。目前,自然语言处理已经应用于工作、生活的很多领域,在信息社会中发挥着越来越重要的作用。
本书面向高等院校理工科相关专业的初学者,介绍自然语言处理的基本概念、常用技术和常见应用,帮助读者初步具备利用自然语言处理相关技术和算法解决问题的能力。
本书特点:
选材得当,循序渐进。本书内容包括自然语言处理概述、词法分析、句法分析、基于机器学习的文本分类、深度学习与神经网络、词嵌入与词向量、卷积神经网络、循环神经网络、序列到序列模型与注意力机制等,由浅入深,帮助读者逐步掌握自然语言处理的基本理论和常用技术。
案例丰富,实践性强。本书始终以培养读者的问题解决能力为宗旨,在各章中安排了丰富的实例,帮助读者更直观地理解自然语言处理的理论、算法,并掌握利用相关技术和算法解决本领域实际问题的能力。
资源齐备,便于学习。本书为用书教师和学生提供了相关的学习和教学资源,包括教学用PPT、本书案例的数据集和源代码、习题答案,需要的老师和读者请登录华章网站下载相关学习资源。
每章还配有类型丰富的习题和案例,既方便教师授课,也可以帮助读者通过这些学习资源巩固所学知识。

图书目录

前言
第1章 自然语言处理概述1
1.1 自然语言处理的基本概念1
1.1.1 什么是自然语言处理1
1.1.2 自然语言处理的层次2
1.1.3 自然语言处理的发展历程3
1.2 自然语言处理技术面临的困难6
1.2.1 歧义6
1.2.2 知识的获取、表达及运用7
1.2.3 计算问题8
1.3 自然语言处理的主要研究任务和应用8
1.3.1 自然语言处理的主要研究任务8
1.3.2 自然语言处理的典型应用10
1.4 搭建自然语言处理开发环境11
1.4.1 Anaconda11
1.4.2 scikit-learn15
1.4.3 Jupyter Notebook15
1.5 本章小结16
1.6 习题17
第2章 词法分析18
2.1 什么是词法分析18
2.2 分词19
2.2.1 中文分词简介19
2.2.2 基于词典的分词方法20
2.2.3 基于统计的分词方法21
2.2.4 实例—使用N-gram语言模型进行语法纠正24
2.2.5 中文分词工具简介27
2.2.6 实例—使用jieba进行高频词提取30
2.3 关键词提取32
2.3.1 TF-IDF算法32
2.3.2 TextRank算法33
2.3.3 实例—提取文本关键词34
2.4 词性标注40
2.4.1 词性标注简介40
2.4.2 隐马尔可夫模型41
2.4.3 Viterbi算法43
2.4.4 最大熵模型44
2.5 命名实体识别46
2.5.1 命名实体识别简介46
2.5.2 条件随机场模型47
2.5.3 实例—使用jieba进行日期识别48
2.6 本章小结52
2.7 习题53
第3章 句法分析54
3.1 什么是句法分析54
3.2 句法分析树库及性能评测56
3.2.1 句法分析语料库56
3.2.2 句法分析模型的性能评测59
3.3 概率上下文无关文法59
3.4 依存句法分析62
3.4.1 基于图模型的依存句法分析63
3.4.2 基于转移模型的依存句法分析63
3.5 中文句法分析工具简介65
3.6 实例—中文句法分析66
3.7 本章小结68
3.8 习题68
第4章 基于机器学习的文本分类69
4.1 机器学习简介69
4.1.1 scikit-learn简介71
4.1.2 机器学习基本概念72
4.1.3 机器学习问题分类73
4.2 朴素贝叶斯分类器76
4.3 逻辑回归分类器80
4.4 支持向量机分类器84
4.5 文本聚类89
4.6 实例—垃圾邮件分类94
4.7 本章小结99
4.8 习题99
第5章 深度学习与神经网络101
5.1 深度学习与神经网络简介101
5.2 人工神经网络102
5.2.1 生物神经元102
5.2.2 感知器103
5.2.3 激活函数105
5.2.4 神经网络110
5.3 前馈神经网络110
5.3.1 前馈神经网络的结构110
5.3.2 前向传播111
5.3.3 损失函数112
5.3.4 反向传播算法113
5.3.5 优化方法114
5.4 深度学习框架116
5.4.1 TensorFlow116
5.4.2 Keras118
5.4.3 PyTorch119
5.4.4 PaddlePaddle120
5.5 实例—使用MLP实现手写数字识别122
5.5.1 数据准备122
5.5.2 创建MLP122
5.5.3 模型训练123
5.5.4 模型评价124
5.6 本章小结125
5.7 习题126
第6章 词嵌入与词向量127
6.1 文本向量化127
6.2 One-Hot编码128
6.3 词嵌入130
6.3.1 什么是词嵌入130
6.3.2 词嵌入的实现131
6.3.3 语义信息132
6.4 Word2Vec133
6.4.1 Word2Vec简介133
6.4.2 Word2Vec的应用134
6.4.3 使用gensim包训练词向量136
6.5 Doc2Vec138
6.5.1 PV-DM139
6.5.2 PV-DBOW140
6.6 实例—利用Doc2Vec计算文档相似度140
6.6.1 准备语料库140
6.6.2 定义和训练模型141
6.6.3 分析文本相似度142
6.7 本章小结145
6.8 习题145
第7章 卷积神经网络与自然语言处理146
7.1 卷积神经网络简介146
7.1.1 深层神经网络用于图像处理存在的问题146
7.1.2 什么是卷积148
7.1.3 填充150
7.1.4 步长151
7.1.5 什么是卷积神经网络151
7.2 应用卷积神经网络解决自然语言处理问题152
7.2.1 NLP中的卷积层152
7.2.2 NLP中的池化层154
7.2.3 NLP中CNN的基本架构155
7.3 CNN在应用中的超参数选择156
7.3.1 激活函数156
7.3.2 卷积核的大小和个数156
7.3.3 dropout层156
7.3.4 softmax分类器157
7.4 实例—使用CNN实现新闻文本分类158
7.4.1 准备数据158
7.4.2 定义和训练模型163
7.5 本章小结165
7.6 习题166
第8章 循环神经网络与自然语言处理167
8.1 循环神经网络的基本结构168
8.2 循环神经网络应用于自然语言处理170
8.2.1 序列到类别170
8.2.2 同步序列到序列171
8.2.3 异步序列到序列172
8.3 循环神经网络的训练173
8.3.1 随时间反向传播算法173
8.3.2 权重的更新174
8.3.3 梯度消失与梯度爆炸175
8.4 长短期记忆网络175
8.4.1 细胞状态177
8.4.2 门控机制 177
8.5 门控循环单元网络 181
8.6 更深的网络184
8.6.1 堆叠循环神经网络184
8.6.2 双向循环神经网络185
8.7 实例—使用LSTM网络实现文本情感分析186
8.7.1 数据准备186
8.7.2 构建和训练模型187
8.8 本章小结190
8.9 习题191
第9章 序列到序列模型与注意力机制192
9.1 序列到序列模型192
9.1.1 什么是序列到序列模型192
9.1.2 编码–解码架构193
9.1.3 编码器194
9.1.4 解码器195
9.1.5 模型训练197
9.2 注意力机制198
9.2.1 什么是注意力机制198
9.2.2 计算语义向量200
9.2.3 自注意力机制200
9.2.4 Transformer模型202
9.3 实例—基于注意力机制的机器翻译203
9.3.1 准备数据203
9.3.2 构建并训练模型207
9.3.3 使用模型进行翻译211
9.4 本章小结212
9.5 习题213
参考文献215

教学资源推荐
作者: 汪荣贵 编著
作者: [美] 迪帕克·K. 阿加瓦尔(Deepak K. Agarwal) 陈必衷(Bee-Chung Chen) 著
作者: [美]蓝光辉(Guanghui Lan) 著
作者: [美]陈光祯(Kwang-Cheng Chen) 著
参考读物推荐
作者: [澳] 图珊·加内格达拉(Thushan Ganegedara)著
作者: 张春强 张和平 唐振 著
作者: 吴茂贵 王冬 李涛 杨本法 张利 著