自然语言处理Python进阶
作者:(印)克里希纳 巴夫萨(Krishna Bhavsar)等著
出版时间:2019年版
内容简介
第1章教你使用内置的NLTK语料库和频率分布。我们还将学习什么是WordNet,并探索其特点和用法。 第2章演示如何从各种格式的数据源中提取文本。我们还将学习如何从网络源提取原始文本。zui后,我们将从这些异构数据源中对原始文本进行规范并构建语料库。 第3章介绍一些关键的预处理步骤,如分词、词干提取、词形还原和编辑距离。 第4章介绍正则表达式,它是zui基本、zui简单、zui重要和zui强大的工具之一。在本章中,你将学习模式匹配的概念,它是文本分析的一种方式,基于此概念,没有比正则表达式更方便的工具了。 第5章将学习如何使用和编写自己的词性标注器和文法规则。词性标注是进一步句法分析的基础,而通过使用词性标记和组块标记可以产生或改进文法规则。 第6章帮助你了解如何使用内置分块器以及训练或编写自己的分块器,即依存句法分析器。在本章中,你将学习评估自己训练的模型。 第7章介绍信息抽取和文本分类,告诉你关于命名实体识别的更多信息。我们将使用内置的命名实体识别工具,并使用字典创建自己的命名实体。我们将学会使用内置的文本分类算法和一些简单的应用实例。 第8章介绍高阶自然语言处理方法,该方法将目前为止你所学的所有课程结合到一起,并创建应对你现实生活中各种问题的适用方法。我们将介绍诸如文本相似度、摘要、情感分析、回指消解等任务。 第9章介绍深度学习应用于自然语言处理所必需的各种基本原理,例如利用卷积神经网络(CNN)和长短型记忆网络(LSTM)进行邮件分类、情感分类等,zui后在低维空间中可视化高维词汇。 第10章描述如何利用深度学习解决zui前沿的问题,包括文本自动生成、情景数据问答,预测下一个优词的语言模型以及生成式聊天机器人的开发。
目录
译者序
前言
作者简介
审校者简介
第1章 语料库和WordNet 1
1.1 引言 1
1.2 访问内置语料库 1
1.3 下载外部语料库,加载并访问 3
1.4 计算布朗语料库中三种不同类别的特殊疑问词 5
1.5 探讨网络文本和聊天文本的词频分布 7
1.6 使用WordNet进行词义消歧 9
1.7 选择两个不同的同义词集,使用WordNet探讨上位词和下位词的概念 12
1.8 基于WordNet计算名词、动词、形容词和副词的平均多义性 15
第2章 针对原始文本,获取源数据和规范化 17
2.1 引言 17
2.2 字符串操作的重要性 17
2.3 深入实践字符串操作 19
2.4 在Python中读取PDF文件 21
2.5 在Python中读取Word文件 23
2.6 使用PDF、DOCX和纯文本文件,创建用户自定义的语料库 26
2.7 读取RSS信息源的内容 29
2.8 使用BeautifulSoup解析HTML 31
第3章 预处理 34
3.1 引言 34
3.2 分词——学习使用NLTK内置的分词器 34
3.3 词干提取——学习使用NLTK内置的词干提取器 36
3.4 词形还原——学习使用NLTK中的WordnetLemmatizer函数 38
3.5 停用词——学习使用停用词语料库及其应用 40
3.6 编辑距离——编写计算两个字符串之间编辑距离的算法 42
3.7 处理两篇短文并提取共有词汇 44
第4章 正则表达式 50
4.1 引言 50
4.2 正则表达式——学习使用*、 和? 50
4.3 正则表达式——学习使用$和^,以及如何在单词内部(非开头与结尾处)进行模式匹配 52
4.4 匹配多个字符串和子字符串 54
4.5 学习创建日期正则表达式和一组字符集合或字符范围 56
4.6 查找句子中所有长度为5的单词,并进行缩写 58
4.7 学习编写基于正则表达式的分词器 59
4.8 学习编写基于正则表达式的词干提取器 60
第5章 词性标注和文法 63
5.1 引言 63
5.2 使用内置的词性标注器 63
5.3 编写你的词性标注器 65
5.4 训练你的词性标注器 70
5.5 学习编写你的文法 73
5.6 编写基于概率的上下文无关文法 76
5.7 编写递归的上下文无关文法 79
第6章 分块、句法分析、依存分析 82
6.1 引言 82
6.2 使用内置的分块器 82
6.3 编写你的简单分块器 84
6.4 训练分块器 87
6.5 递归下降句法分析 90
6.6 shift-reduce句法分析 93
6.7 依存句法分析和主观依存分析 95
6.8 线图句法分析 97
第7章 信息抽取和文本分类 101
7.1 引言 101
7.2 使用内置的命名实体识别工具 102
7.3 创建字典、逆序字典和使用字典 104
7.4 特征集合选择 109
7.5 利用分类器分割句子 113
7.6 文本分类 116
7.7 利用上下文进行词性标注 120
第8章 高阶自然语言处理实践 124
8.1 引言 124
8.2 创建一条自然语言处理管道 124
8.3 解决文本相似度问题 131
8.4 主题识别 136
8.5 文本摘要 140
8.6 指代消解 143
8.7 词义消歧 147
8.8 情感分析 150
8.9 高阶情感分析 153
8.10 创建一个对话助手或聊天机器人 157
第9章 深度学习在自然语言处理中的应用 163
9.1 引言 163
9.2 利用深度神经网络对电子邮件进行分类 168
9.3 使用一维卷积网络进行IMDB情感分类 175
9.4 基于双向LSTM的IMDB情感分类模型 179
9.5 利用词向量实现高维词在二维空间的可视化 183
第10章 深度学习在自然语言处理中的高级应用 188
10.1 引言 188
10.2 基于莎士比亚的著作使用LSTM技术自动生成文本 188
10.3 基于记忆网络的情景数据问答 193
10.4 使用循环神经网络LSTM进行语言建模以预测最优词 199
10.5 使用循环神经网络LSTM构建生成式聊天机器人 203