-----------第1篇 快速入门
/
第1章 初识对话机器人 2
1.1 实例:对话机器人的一个例子 2
1.2 对话机器人的商业价值 3
∣1.2.1 满足人工智能时代的社交需求 3
∣1.2.2 宣传商品和服务 4
∣1.2.3 提供客户服务 4
1.3 本书的学习路径图 5
1.4 对话机器人所需的理论知识 7
∣1.4.1 构建对话机器人所需的知识体系 7
∣1.4.2 理论知识的学习路径图 8
/
第2章 对话机器人的系统架构 10
2.1 产品需求定义 10
∣2.1.1 封闭域对话vs开放域对话 10
∣2.1.2 本书所定义的产品需求 12
2.2 产品架构设计 13
∣2.2.1 产品整体架构 13
∣2.2.2 前端:微信小程序 14
∣2.2.3 中台:Apache Tomcat + Java 15
∣2.2.4 后台:TensorFlow + Python 16
2.3 开发环境准备 17
∣2.3.1 申请微信小程序账号 17
∣2.3.2 下载安装微信小程序开发环境 20
∣2.3.3 下载安装Java开发环境 20
∣2.3.4 下载安装Tomcat软件 21
∣2.3.5 下载安装MySQL数据库 21
∣2.3.6 下载安装Python及TensorFlow开发环境 21
∣2.3.7 购买配置中台以及后台服务器 22
/
-----------第2篇 理论基础
/
第3章 人工智能基础 26
3.1 入门知识:分类任务 26
∣3.1.1 从二分类任务说起 26
∣3.1.2 特征及特征提取 27
∣3.1.3 如何分类:训练分类器 29
∣3.1.4 感知器 31
∣3.1.5 支持向量机 33
∣3.1.6 多类别分类 34
3.2 人工神经网络的工作原理 35
∣3.2.1 为什么需要人工神经网络 35
∣3.2.2 人工神经网络如何工作 37
/
第4章 自然语言处理基础 42
4.1 自然语言处理的发展 42
∣4.1.1 从规则引擎到概率统计 42
∣4.1.2 自然语言处理要解决的问题 44
4.2 基于概率统计的解题思路 46
∣4.2.1 语音识别 46
∣4.2.2 中文自动分词 48
∣4.2.3 文本匹配 49
∣4.2.4 机器翻译 51
/
第5章 与对话机器人相关的深度学习 53
5.1 词向量 53
∣5.1.1 基本概念 53
∣5.1.2 词向量的意义及语言模型 55
∣5.1.3 Skip∣Gram模型 56
∣5.1.4 CBOW模型 58
∣5.1.5 词向量的实现方式 59
∣5.1.6 词向量的应用 61
5.2 Encoder∣Decoder模型 61
∣5.2.1 Encoder∣Decoder模型的工作原理 61
∣5.2.2 Attention模型 63
5.3 BERT模型 64
∣5.3.1 从词向量到BERT:预训练技术的发展简史 64
∣5.3.2 BERT模型的运作机制 65
∣5.3.3 BERT模型的意义 67
/
第6章 对话机器人的实现方式 68
6.1 实现对话机器人的主流技术 68
∣6.1.1 基于人工模版的技术 68
∣6.1.2 基于检索的技术 69
∣6.1.3 基于机器翻译的技术 71
∣6.1.4 基于深度学习的技术 72
6.2 对话管理 73
∣6.2.1 对话管理的主要任务 74
∣6.2.2 对话管理的实现方法 75
∣6.2.3 基于结构的方法 76
∣6.2.4 基于规则的方法 76
∣6.2.5 基于统计的方法 77
/
-----------第3篇 动手实战
/
第7章 前端:对话机器人的用户界面 80
7.1 创建对话机器人小程序 80
∣7.1.1 新建对话机器人小程序 80
∣7.1.2 代码构成 82
∣7.1.3 小程序调试 83
7.2 对话机器人小程序开发及测试 83
∣7.2.1 用户界面设计 84
∣7.2.2 实战:开发主页面 84
∣7.2.3 实战:添加对话框 85
∣7.2.4 实战:添加录音、输入框、发送按钮 86
∣7.2.5 实战:添加功能代码 87
/
第8章 中台:数据和服务管理 93
8.1 创建对话机器人的中台项目 93
∣8.1.1 新建中台项目 93
∣8.1.2 准备开发功能 95
8.2 编写中台功能代码 97
∣8.2.1 实战:创建小程序信息处理接口SendMessageService 97
∣8.2.2 实战:创建语音对话接口SendAudioService 103
/
第9章 后台:对话服务 114
9.1 准备数据 114
∣9.1.1 下载及安装语料库 114
∣9.1.2 实战:文本预处理 115
∣9.1.3 实战:生成词向量 117
∣9.1.4 实战:生成训练和测试数据 120
9.2 建立模型 122
∣9.2.1 实战:加载预处理好的词向量 122
∣9.2.2 实战:建立模型 126
9.3 训练及测试模型 128
∣9.3.1 实战:训练和测试模型 128
∣9.3.2 实战:验证模型的效果 130
9.4 前台、中台、后台系统集成 136
∣9.4.1 实战:创建后台对话服务 137
∣9.4.2 实战:联合调试前台、中台、后台程序 139
/
-----------第4篇 扩展应用
/
第10章 任务型机器人 142
10.1 任务型机器人的概念和实现方式 142
∣10.1.1 任务型机器人的架构 142
∣10.1.2 自然语言理解模块 143
∣10.1.3 对话管理模块 144
∣10.1.4 自然语言生成模块 145
10.2 实战:创建一个任务型机器人 145
∣10.2.1 实战:准备任务型机器人所需的数据 145
∣10.2.2 实战:创建任务型机器人模型 146
/
第11章 情感分析 155
11.1 基本概念和实现方式 155
∣11.1.1 什么是情感分析 155
∣11.1.2 实现方式之一:基于词典的方法 156
∣11.1.3 实现方式之二:基于机器学习的方法 158
11.2 实战:基于深度学习的情感分析 158
∣11.2.1 实战:准备情感分析所需的数据 158
∣11.2.2 实战:创建情感分析模型 166