[套装书]聊天机器人:入门、进阶与实战+Python自然语言处理(2册)

作者
刘宇 崔燕红 郭师光 党习歌[印度]雅兰·萨纳卡(Jalaj Thanaki)
丛书名
智能系统与技术丛书
出版社
机械工业出版社
ISBN
9781911059513
简要
简介
内容简介书籍计算机书籍 ---------------------------聊天机器人:入门、进阶与实战--------------------------- 本书是一本建立在零基础的,以介绍对话机器人领域为目的,通过书中的内容介绍让更多对对话机器人感兴趣的初级读者,可以由浅入深,了解和学习对话机器人的发展现状,用途,原理和技术。 主要内容: 第一部分 数学与统计学基础 数学与统计学是现代机器学习理论的基础,本书会对机器学习中重点涉及的数学与统计学知识做一下整理,方便读者了解和掌握,以便可以顺利的过渡到后面专业知识的理解。 第二部分 自然语言处理模型与技术 对话机器人是以自然语言处理为发展的一个专业领域,基础的自然语言处理模型与技术对于学习后面的专业知识是必要的。本书通过先介绍自然语言处理模型,然后对依赖这个模型所扩展出的自然语言处理技术做详细介绍。使得初学者可以从数学理论到模型,从模型到技术的理论结合实际的方式,学好本书的内容 第三部分 对话机器人的核心技术 在对话机器人的核心技术章节,我们先介绍 1.对话机器人的发展综述。 2.自然语言理解NLU的部分,让读者可以更加清晰的认识到Intent (目的)识别和 Entities (命名实体)识别的重要性。为了更加了解一句话中各个实体间的形容和被形容关系,我们引入句法树和依存句法分析的概念。这样机器人就可以简单的弄清一句话说的是什么,和各个实体间的关系。 3.为了让机器像人类一样可以有更多的知识积累和进行简单的逻辑推理,我们接下来要介绍知识图谱。这里我们重点介绍知识图谱的模型,知识抽取,知识图谱数据库的搭建和存储,以及在简单的了解到Intent和各个实体间关系后,如何根据知识图谱进行推理计算和理解 4.在对句子有了一定的深入理解后,我们需要介绍预测会话和答复生成。在机器理解了问题的内容后,如何给出精确的答复。这里会介绍用于客服机器人的Question to Question 的匹配来得到预先准备好的标准答案。也会介绍通话自然语言理解利用知识图谱得到生成答案,以及通过互联网检索的方式,得到置信度较高的问题答案。最后还会了解如何存储我们学到的问题和答案的配对。 5.在机器学会了一问一答后,我们需要介绍 1.根据上下文理解的对话生成。 . 2.多轮对话的控制和生成。 3.多主题多轮对话的切换。 6.人机对话过程中的情感计算 1.设计情感计算的对话场景 2.情感计算的建模与识别 3.根据情感计算生成带情感色彩的回复 第四部分 对话机器人实战 本书的第四个部分会详细分以下三个方面阐述 1.实战对话机器人的架构 2.对话机器人的开发流程和方案 3.对话机器人的开发案例 在对话机器人的开发案例里面,我们会介绍: 1.垂直领域的客服机器人 2.开放领域的知识问答类型机器人 3.闲聊型的情感机器人 第五部分 附录 附录里会有我们总结的机器学习的模型列表,自然语言模型列表,深度学习的模型列表以及每一章的实战代码 ---------------------------Python自然语言处理--------------------------- 本书旨在回答三个问题:第一个,什么是自然语言处理;第二个,为什么大多数人会使用Python来开发自然语言处理应用程序;最后一个也很重要的问题,在学习自然语言处理的时候,有哪些Python相关资源可用。读完本书,读者便会对此了然于胸。
目录



---------------------------聊天机器人:入门、进阶与实战---------------------------


推荐序一
推荐序二
前言
第1章概率统计与应用数学的基础知识
1.1概率的定义
1.2条件概率与贝叶斯公式
1.3随机变量与分布函数
1.4概率分布与参数估计
1.5随机过程与马尔可夫模型
1.6信息熵
1.7本章小结
第2章语言模型与多元文法
2.1词袋模型
2.2N-Gram模型
2.2.1N-Gram简介
2.2.2N-Gram算法
2.2.3N-Gram用途
2.3数据平滑
2.3.1加法平滑方法
2.3.2Good-Turing估计法
2.3.3组合平滑方法
第3章序列标注模型
3.1中文分词
3.1.1条件随机场
3.1.2条件随机场进行中文分词
3.2词性标注
3.2.1词性标注的标准
3.2.2利用隐马尔可夫进行词性标注
3.3命名实体识别
3.3.1利用条件随机场模型进行命名实体识别
3.3.2命名实体识别在对话系统中的作用
3.4序列标注模型
3.5本章小结
第4章文本分析
4.1关键词抽取
4.1.1词频-逆文档频次算法
4.1.2Text Rank
4.2文本分类
4.2.1贝叶斯文本分类模型
4.2.2决策树文本分类模型
4.2.3SVM文本分类模型
4.3主题模型
4.3.1基础知识回顾
4.3.2吉布斯采样
4.3.3隐狄利克雷分配模型
4.4本章小结
第5章深度学习模型
5.1基于深度学习的自然语言模型
5.1.1神经网络自然语言模型与词向量
5.1.2A Neural Probabilistic Language Model
5.1.3CBOW和Skip-Gram
5.1.4Huffman编码与Huffman tree
5.1.5CBOW-Hierarchical Softmax
5.1.6Skip-Gram-Hierarchical Softmax
5.1.7FastText
5.1.8词的全局向量表示
5.2卷积网络CNN
5.2.1卷积网络CNN理论
5.2.2利用CNN进行文本分类
5.3循环网络RNN
5.3.1循环网络RNN(LSTM,GRU)理论
5.3.2利用RNN 进行情感分析
5.3.3Sequence-to-Sequence with Attention Model
5.4Transformer
5.4.1ResNet(Residual Network)残差网络模型
5.4.2Attention is all you need(Transformer)
5.5预训练模型
5.5.1Embeddings from Language Models(ELMo)
5.5.2BERT
第6章对话机器人的发展综述
6.1对话机器人发展史
6.1.1对话机器人的近况
6.1.2开放域
6.1.3垂直领域
6.1.4对话机器人的未来发展趋势
6.2人工智能在对话机器人中的应用
6.2.1深度学习在机器人方面的应用
6.2.2强化学习在机器人方面的应用
6.2.3知识图谱在机器人方面的应用
第7章自然语言理解与知识图谱
7.1知识图谱的表示:三元组模型
7.2知识抽取
7.2.1知识抽取-命名实体识别
7.2.2利用CRF模型识别 NER
7.2.3利用BiLSTM+CRF模型进行命名实体识别
7.3知识抽取-实体关系抽取:Relation Extraction
7.4知识图谱的构建
第8章答案生成与多轮对话
8.1预测会话与答案生成
8.1.1信息检索:利用搜索来预测答案
8.1.2句型模板匹配标准问题生成答案
8.1.3根据知识图谱推理得到答案
8.2多轮对话
8.2.1多轮对话概述
8.2.2任务型多轮对话的控制和生成
8.2.3多主题多轮对话
第9章对话系统的工程架构
9.1对话系统的工程技术
9.1.1常用技术
9.1.2对话系统的分类
9.1.3主要系统软件介绍
9.1.4系统运维相关
9.2对话系统的架构实现
9.2.1阿里小蜜
9.2.2百度对话系统
9.2.3垂直领域对话系统的架构
9.2.4开放领域对话系统的架构
9.3本章小结
第10章实战场景之一——客服机器人
10.1客服机器人架构
10.1.1功能需求
10.1.2系统逻辑架构图
10.2客服机器人设计
10.2.1FAQ的设计
10.2.2导购机器人的设计
10.2.3实例分析
10.3本章小结
第11章实战场景之二——开放域的QA问答
11.1开放领域问答机器人的架构
11.2开放领域问答机器人的开发流程和方案
11.3开放领域问答机器人的开发案例
第12章实战场景之三——聊天机器人
12.1Seq2Seq以及Attention机制
12.2Beam Search
12.3基于Seq2Seq的聊天机器人开发流程
12.3.1语料准备
12.3.2定义Encoder和Decoder
12.3.3模型训练和评估模块
12.3.4模型预测和Beam Search模块
12.4本章小结


---------------------------Python自然语言处理---------------------------


译者序
推荐序
作者介绍
关于审校人员
前言
第1章 引言 1
1.1 自然语言处理 1
1.2 基础应用 5
1.3 高级应用 6
1.4 NLP和Python相结合的优势 7
1.5 nltk环境搭建 7
1.6 读者提示 8
1.7 总结 9
第2章 实践理解语料库和数据集 10
2.1 语料库 10
2.2 语料库的作用 11
2.3 语料分析 13
2.4 数据属性的类型 16
2.4.1 分类或定性数据属性 16
2.4.2 数值或定量数据属性 17
2.5 不同文件格式的语料 18
2.6 免费语料库资源 19
2.7 为NLP应用准备数据集 20
2.7.1 挑选数据 20
2.7.2 预处理数据集 20
2.8 网页爬取 21
2.9 总结 23
第3章 理解句子的结构 24
3.1 理解NLP的组成 24
3.1.1 自然语言理解 24
3.1.2 自然语言生成 25
3.1.3 NLU和NLG的区别 25
3.1.4 NLP的分支 26
3.2 上下文无关文法 26
3.3 形态分析 28
3.3.1 形态学 28
3.3.2 词素 28
3.3.3 词干 28
3.3.4 形态分析 28
3.3.5 词 29
3.3.6 词素的分类 29
3.3.7 词干和词根的区别 32
3.4 词法分析 32
3.4.1 词条 33
3.4.2 词性标注 33
3.4.3 导出词条的过程 33
3.4.4 词干提取和词形还原的区别 34
3.4.5 应用 34
3.5 句法分析 34
3.6 语义分析 36
3.6.1 语义分析概念 36
3.6.2 词级别的语义 37
3.6.3 上下位关系和多义词 37
3.6.4 语义分析的应用 38
3.7 消歧 38
3.7.1 词法歧义 38
3.7.2 句法歧义 39
3.7.3 语义歧义 39
3.7.4 语用歧义 39
3.8 篇章整合 40
3.9 语用分析 40
3.10 总结 40
第4章 预处理 42
4.1 处理原始语料库文本 42
4.1.1 获取原始文本 42
4.1.2 小写化转换 44
4.1.3 分句 44
4.1.4 原始文本词干提取 46
4.1.5 原始文本词形还原 46
4.1.6 停用词去除 48
4.2 处理原始语料库句子 50
4.2.1 词条化 50
4.2.2 单词词形还原 51
4.3 基础预处理 52
4.4 实践和个性化预处理 57
4.4.1 由你自己决定 57
4.4.2 预处理流程 57
4.4.3 预处理的类型 57
4.4.4 理解预处理的案例 57
4.5 总结 62
第5章 特征工程和NLP算法 63
5.1 理解特征工程 64
5.1.1 特征工程的定义 64
5.1.2 特征工程的目的 64
5.1.3 一些挑战 65
5.2 NLP中的基础特征 65
5.2.1 句法分析和句法分析器 65
5.2.2 词性标注和词性标注器 81
5.2.3 命名实体识别 85
5.2.4 n元语法 88
5.2.5 词袋 89
5.2.6 语义工具及资源 91
5.3 NLP中的基础统计特征 91
5.3.1 数学基础 92
5.3.2 TF-IDF 96
5.3.3 向量化 99
5.3.4 规范化 100
5.3.5 概率模型 101
5.3.6 索引 103
5.3.7 排序 103
5.4 特征工程的优点 104
5.5 特征工程面临的挑战 104
5.6 总结 104
第6章 高级特征工程和NLP算法 106
6.1 词嵌入 106
6.2 word2vec基础 106
6.2.1 分布语义 107
6.2.2 定义word2vec 108
6.2.3 无监督分布语义模型中的必需品 108
6.3 word2vec模型从黑盒到白盒 109
6.4 基于表示的分布相似度 110
6.5 word2vec模型的组成部分 111
6.5.1 word2vec的输入 111
6.5.2 word2vec的输出 111
6.5.3 word2vec模型的构建模块 111
6.6 word2vec模型的逻辑 113
6.6.1 词汇表构建器 114
6.6.2 上下文环境构建器 114
6.6.3 两层的神经网络 116
6.6.4 算法的主要流程 119
6.7 word2vec模型背后的算法和数学理论 120
6.7.1 word2vec算法中的基本数学理论 120
6.7.2 词汇表构建阶段用到的技术 121
6.7.3 上下文环境构建过程中使用的技术 122
6.8 神经网络算法 123
6.8.1 基本神经元结构 123
6.8.2 训练一个简单的神经元 124
6.8.3 单个神经元的应用 126
6.8.4 多层神经网络 127
6.8.5 反向传播算法 127
6.8.6 word2vec背后的数学理论 128
6.9 生成最终词向量和概率预测结果的技术 130
6.10 word2vec相关的一些事情 131
6.11 word2vec的应用 131
6.11.1 实现一些简单例子 132
6.11.2 word2vec的优势 133
6.11.3 word2vec的挑战 133
6.11.4 在实际应用中使用word2vec 134
6.11.5 何时使用word2vec 135
6.11.6 开发一些有意思的东西 135
6.11.7 练习 138
6.12 word2vec概念的扩展 138
6.12.1 para2vec 139
6.12.2 doc2vec 139
6.12.3 doc2vec的应用 140
6.12.4 GloVe 140
6.12.5 练习 141
6.13 深度学习中向量化的重要性 141
6.14 总结 142
第7章 规则式自然语言处理系统 143
7.1 规则式系统 144
7.2 规则式系统的目的 146
7.2.1 为何需要规则式系统 146
7.2.2 使用规则式系统的应用 147
7.2.3 练习 147
7.2.4 开发规则式系统需要的资源 147
7.3 规则式系统的架构 148
7.3.1 从专家系统的角度来看规则式系统的通用架构 149
7.3.2 NLP应用中的规则式系统的实用架构 150
7.3.3 NLP应用中的规则式系统的定制架构 152
7.3.4 练习 155
7.3.5 Apache UIMA架构 155
7.4 规则式系统的开发周期 156
7.5 规则式系统的应用 156
7.5.1 使用规则式系统的NLP应用 156
7.5.2 使用规则式系统的通用AI应用 157
7.6 使用规则式系统来开发NLP应用 157
7.6.1 编写规则的思维过程 158
7.6.2 基于模板的聊天机器人应用 165
7.7 规则式系统与其他方法的对比 168
7.8 规则式系统的优点 169
7.9 规则式系统的缺点 169
7.10 规则式系统面临的挑战 170
7.11 词义消歧的基础 170
7.12 规则式系统近期发展的趋势 171
7.13 总结 171
第8章 自然语言处理中的机器学习方法 172
8.1 机器学习的基本概念 172
8.2 自然语言处理应用的开发步骤 176
8.2.1 第一次迭代时的开发步骤 177
8.2.2 从第二次到第N次迭代的开发步骤 177
8.3 机器学习算法和其他概念 179
8.3.1 有监督机器学习方法 179
8.3.2 无监督机器学习方法 206
8.3.3 半监督机器学习算法 210
8.3.4 一些重要概念 211
8.3.5 特征选择 215
8.3.6 维度约减 219
8.4 自然语言处理中的混合方法 221
8.5 总结 221
第9章 NLU和NLG问题中的深度学习 223
9.1 人工智能概览 223
9.1.1 人工智能的基础 223
9.1.2 人工智能的阶段 225
9.1.3 人工智能的种类 227
9.1.4 人工智能的目标和应用 227
9.2 NLU和NLG之间的区别 232
9.2.1 自然语言理解 232
9.2.2 自然语言生成 232
9.3 深度学习概览 233
9.4 神经网络基础 234
9.4.1 神经元的第一个计算模型 235
9.4.2 感知机 236
9.4.3 理解人工神经网络中的数学概念 236
9.5 实现神经网络 249
9.5.1 单层反向传播神经网络 249
9.5.2 练习 251
9.6 深度学习和深度神经网络 251
9.6.1 回顾深度学习 251
9.6.2 深度神经网络的基本架构 251
9.6.3 NLP中的深度学习 252
9.6.4 传统NLP和深度学习NLP技术的区别 253
9.7 深度学习技术和NLU 255
9.8 深度学习技术和NLG 262
9.8.1 练习 262
9.8.2 菜谱摘要和标题生成 262
9.9 基于梯度下降的优化 265
9.10 人工智能与人类智能 269
9.11 总结 269
第10章 高级工具 270
10.1 使用Apache Hadoop作为存储框架 270
10.2 使用Apache Spark作为数据处理框架 272
10.3 使用Apache Flink作为数据实时处理框架 274
10.4 Python中的可视化类库 274
10.5 总结 275
第11章 如何提高你的NLP技能 276
11.1 开始新的NLP职业生涯 276
11.2 备忘列表 277
11.3 确定你的领域 277
11.4 通过敏捷的工作来实现成功 278
11.5 NLP和数据科学方面一些有用的博客 278
11.6 使用公开的数据集 278
11.7 数据科学领域需要的数学知识 278
11.8 总结 279
第12章 安装指导 280
12.1 安装Python、pip和NLTK 280
12.2 安装PyCharm开发环境 280
12.3 安装依赖库 280
12.4 框架安装指导 281
12.5 解决你的疑问 281
12.6 总结 281




有问题微信扫码联系

推荐

Understand China
桂ICP备20004708号-4