| 作者 |
| [印度] 桑塔努·帕塔纳亚克(Santanu Pattanayak)刘宇 崔燕红 郭师光 党习歌 |
| 丛书名 |
| 智能系统与技术丛书 |
| 出版社 |
| 机械工业出版社 |
| ISBN |
| 9781911191536 |
| 简要 |
| 简介 |
| 内容简介书籍计算机书籍 ---------------------------Python人工智能项目实战--------------------------- 通过结合深度学习和强化学习,帮助你构建智能而且实用的人工智能系统。本书涉及的项目涵盖众多领域,例如医疗健康、电子商务、专家系统、智能安防、移动应用和自动驾驶,使用的技术包括卷积神经网络、深度强化学习、基于LSTM的RNN、受限玻尔兹曼机、生成对抗网络、机器翻译和迁移学习。本书有关构建智能应用的理论知识将帮助读者使用有趣的方法来拓展项目,令其快速创建有影响力的AI应用。读完本书之后,你将有足够的能力建立自己的智能模型,轻松地解决来自任何领域的问题。 ---------------------------聊天机器人:入门、进阶与实战--------------------------- 本书是一本建立在零基础的,以介绍对话机器人领域为目的,通过书中的内容介绍让更多对对话机器人感兴趣的初级读者,可以由浅入深,了解和学习对话机器人的发展现状,用途,原理和技术。 主要内容: 第一部分 数学与统计学基础 数学与统计学是现代机器学习理论的基础,本书会对机器学习中重点涉及的数学与统计学知识做一下整理,方便读者了解和掌握,以便可以顺利的过渡到后面专业知识的理解。 第二部分 自然语言处理模型与技术 对话机器人是以自然语言处理为发展的一个专业领域,基础的自然语言处理模型与技术对于学习后面的专业知识是必要的。本书通过先介绍自然语言处理模型,然后对依赖这个模型所扩展出的自然语言处理技术做详细介绍。使得初学者可以从数学理论到模型,从模型到技术的理论结合实际的方式,学好本书的内容 第三部分 对话机器人的核心技术 在对话机器人的核心技术章节,我们先介绍 . 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人工智能项目实战--------------------------- 译者序 前言 作者简介 审校者简介 第1章 人工智能系统基础知识 1 1.1 神经网络 2 1.2 神经激活单元 5 1.2.1 线性激活单元 5 1.2.2 sigmoid激活单元 6 1.2.3 双曲正切激活函数 6 1.2.4 修正线性单元 7 1.2.5 softmax激活单元 9 1.3 用反向传播算法训练神经网络 9 1.4 卷积神经网络 12 1.5 循环神经网络 13 1.6 生成对抗网络 16 1.7 强化学习 18 1.7.1 Q学习 19 1.7.2 深度Q学习 20 1.8 迁移学习 21 1.9 受限玻尔兹曼机 22 1.10 自编码器 23 1.11 总结 24 第2章 迁移学习 26 2.1 技术要求 26 2.2 迁移学习简介 27 2.3 迁移学习和糖尿病视网膜病变检测 28 2.4 糖尿病视网膜病变数据集 29 2.5 定义损失函数 30 2.6 考虑类别不平衡问题 31 2.7 预处理图像 32 2.8 使用仿射变换生成额外数据 33 2.8.1 旋转 34 2.8.2 平移 34 2.8.3 缩放 35 2.8.4 反射 35 2.8.5 通过仿射变换生成额外的图像 36 2.9 网络架构 36 2.9.1 VGG16迁移学习网络 38 2.9.2 InceptionV3迁移学习网络 39 2.9.3 ResNet50迁移学习网络 39 2.10 优化器和初始学习率 40 2.11 交叉验证 40 2.12 基于验证对数损失的模型检查点 40 2.13 训练过程的Python实现 41 2.14 类别分类结果 50 2.15 在测试期间进行推断 50 2.16 使用回归而非类别分类 52 2.17 使用keras sequential工具类生成器 53 2.18 总结 57 第3章 神经机器翻译 58 3.1 技术要求 59 3.2 基于规则的机器翻译 59 3.2.1 分析阶段 59 3.2.2 词汇转换阶段 60 3.2.3 生成阶段 60 3.3 统计机器学习系统 60 3.3.1 语言模型 61 3.3.2 翻译模型 63 3.4 神经机器翻译 65 3.4.1 编码器–解码器模型 65 3.4.2 使用编码器–解码器模型进行推断 66 3.5 实现序列到序列的神经机器翻译 67 3.5.1 处理输入数据 67 3.5.2 定义神经翻译机器的模型 71 3.5.3 神经翻译机器的损失函数 73 3.5.4 训练模型 73 3.5.5 构建推断模型 74 3.5.6 单词向量嵌入 78 3.5.7 嵌入层 79 3.5.8 实现基于嵌入的NMT 79 3.6 总结 84 第4章 基于GAN的时尚风格迁移 85 4.1 技术要求 85 4.2 DiscoGAN 86 4.3 CycleGAN 88 4.4 学习从手绘轮廓生成自然手提包 89 4.5 预处理图像 89 4.6 DiscoGAN的生成器 91 4.7 DiscoGAN的判别器 93 4.8 构建网络和定义损失函数 94 4.9 构建训练过程 97 4.10 GAN训练中的重要参数值 99 4.11 启动训练 100 4.12 监督生成器和判别器的损失 101 4.13 DiscoGAN生成的样例图像 103 4.14 总结 104 第5章 视频字幕应用 105 5.1 技术要求 105 5.2 视频字幕中的CNN和LSTM 106 5.3 基于序列到序列的视频字幕系统 107 5.4 视频字幕系统数据集 109 5.5 处理视频图像以创建CNN特征 110 5.6 处理视频的带标签字幕 113 5.7 构建训练集和测试集 114 5.8 构建模型 115 5.8.1 定义模型的变量 116 5.8.2 编码阶段 117 5.8.3 解码阶段 117 5.8.4 计算小批量损失 118 5.9 为字幕创建单词词汇表 118 5.10 训练模型 119 5.11 训练结果 123 5.12 对未见过的视频进行推断 124 5.12.1 推断函数 126 5.12.2 评估结果 127 5.13 总结 128 第6章 智能推荐系统 129 6.1 技术要求 129 6.2 什么是推荐系统 129 6.3 基于潜在因子分解的推荐系统 131 6.4 深度学习与潜在因子协同过滤 132 6.5 SVD++ 136 6.6 基于受限玻尔兹曼机的推荐系统 138 6.7 对比分歧 139 6.8 使用RBM进行协同过滤 140 6.9 使用RBM实现协同过滤 142 6.9.1 预处理输入 143 6.9.2 构建RBM网络进行协作过滤 144 6.9.3 训练RBM 147 6.10 使用训练好的RBM进行推断 149 6.11 总结 150 第7章 用于电影评论情感分析的移动应用程序 151 7.1 技术要求 152 7.2 使用TensorFlow mobile构建Android移动应用程序 152 7.3 Android应用中的电影评论评分 153 7.4 预处理电影评论文本 154 7.5 构建模型 156 7.6 训练模型 157 7.7 将模型冻结为protobuf格式 159 7.8 为推断创建单词到表征的字典 161 7.9 应用程序交互界面设计 162 7.10 Android应用程序的核心逻辑 164 7.11 测试移动应用 168 7.12 总结 170 第8章 提供客户服务的AI聊天机器人 171 8.1 技术要求 172 8.2 聊天机器人的架构 172 8.3 基于LSTM的序列到序列模型 173 8.4 建立序列到序列模型 174 8.5 Twitter平台上的聊天机器人 174 8.5.1 构造聊天机器人的训练数据 175 8.5.2 将文本数据转换为单词索引 175 8.5.3 替换匿名用户名 176 8.5.4 定义模型 176 8.5.5 用于训练模型的损失函数 178 8.5.6 训练模型 179 8.5.7 从模型生成输出响应 180 8.5.8 所有代码连起来 180 8.5.9 开始训练 181 8.5.10 对一些输入推特的推断结果 181 8.6 总结 182 第9章 基于增强学习的无人驾驶 183 9.1 技术要求 183 9.2 马尔科夫决策过程 184 9.3 学习Q值函数 185 9.4 深度Q学习 186 9.5 形式化损失函数 186 9.6 深度双Q学习 187 9.7 实现一个无人驾驶车的代码 189 9.8 深度Q学习中的动作离散化 189 9.9 实现深度双Q值网络 190 9.10 设计智能体 191 9.11 自动驾驶车的环境 194 9.12 将所有代码连起来 197 9.13 训练结果 202 9.14 总结 203 第10章 从深度学习的角度看CAPTCHA 204 10.1 技术要求 205 10.2 通过深度学习破解CAPTCHA 205 10.2.1 生成基本的CAPTCHA 205 10.2.2 生成用于训练CAPTCHA破解器的数据 206 10.2.3 CAPTCHA破解器的CNN架构 208 10.2.4 预处理CAPTCHA图像 208 10.2.5 将CAPTCHA字符转换为类别 209 10.2.6 数据生成器 210 10.2.7 训练CAPTCHA破解器 211 10.2.8 测试数据集的准确性 212 10.3 通过对抗学习生成CAPTCHA 214 10.3.1 优化GAN损失 215 10.3.2 生成器网络 215 10.3.3 判别器网络 216 10.3.4 训练GAN 219 10.3.5 噪声分布 220 10.3.6 数据预处理 220 10.3.7 调用训练 221 10.3.8 训练期间CAPTCHA的质量 222 10.3.9 使用训练后的生成器创建CAPTCHA 224 10.4 总结 225 ---------------------------聊天机器人:入门、进阶与实战--------------------------- 推荐序一 推荐序二 前言 第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本章小结 |