Python聊天机器人开发:基于自然语言处理与机器学习

Python聊天机器人开发:基于自然语言处理与机器学习
作 者: Sumit Raj 黄光远
出版社: 电子工业出版社
丛编项:
版权说明: 本书为出版图书,暂不支持在线阅读,请支持正版图书
标 签: 暂缺
ISBN 出版时间 包装 开本 页数 字数
未知 暂无 暂无 未知 0 暂无

作者简介

  Sumit Raj是一个喜欢编程和搭建应用的技术人员,也是一位对机器学习和自然语言处理有浓厚兴趣的Python专家。他相信通过程序,可以直接影响公司的营收情况。Sumit曾在多个领域工作,如个人财务管理、房地产、电子商务和收益分析,完成了多个可扩展的应用程序。他曾帮助多个早期创业公司完成了他们产品的初始设计和架构,这些公司后来得到了投资者和政府的赞助。他拥有尖端技术的丰富经验,这些经验被用于互联网/企业级应用的可扩展性、性能调优和降低成本等方面。译者黄光远:阿里巴巴高级算法工程师,现于阿里达摩院人工智能实验室,从事天猫精灵人工智能语音交互领域,专攻语音系统算法架构与NLP算法应用;曾在阿里数据技术部负责电商场景的数据化运营、圈人投放、差异化选品、场景挖掘与用户画像,以及在淘宝技术部负责复杂网络、Spark图算法并行化研发等工作。

内容简介

本书是使用 Python 动手搭建聊天机器人的入门书籍。全书共 5 章,包含聊天机器人的发展历史、自然语言处理的相关知识,以及多种搭建、部署聊天机器人的基本方法。此外,作者还提供了丰富的源码和细致的教程,极具实操性。无论你是具有一定 Python 编程基础的技术人员,还是想更多了解聊天机器人相关知识的产品经理、项目管理人员,都能从本书学习到搭建聊天机器人的相关内容,并能在本书的指导下实际完成聊天机器人的搭建和对外发布。

图书目录

第 1 章 心爱的聊天机器人 1

聊天机器人的受欢迎程度 2

Python 之禅以及为什么它适用于聊天机器人 3

对聊天机器人的需求 4

商业视角 5

开发者视角 9

受聊天机器人影响的行业 11

聊天机器人的发展历程 12

1950 12

1966 12

1972 12

1981 12

1985 12

1992 13

1995 13

1996 13

2001 13

2006 13

2010 13

目录 XIII

2012 14

2014 14

2015 14

2016 14

2017 14

我可以用聊天机器人解决什么样的问题 15

这个问题能通过简单的问答或来回交流解决吗 15

这个工作是否有高度重复性,需要进行数据收集和分析 15

你的机器人的任务可以自动化和固定化吗 16

一个 QnA 机器人 16

从聊天机器人开始 17

聊天机器人中的决策树 18

在聊天机器人中使用决策树 18

决策树如何起到作用 18

最好的聊天机器人/机器人框架 21

聊天机器人组件和使用的相关术语 23

意图(Intent) 23

实体(Entities) 23

话术(Utterances) 24

训练机器人 24

置信度得分 24

第 2 章 聊天机器人中的自然语言处理 25

为什么我需要自然语言处理知识来搭建聊天机器人 25

spaCy 是什么 26

spaCy 的基准测试结果 27

spaCy 提供了什么能力 27

spaCy 的特性 28

安装和前置条件 29

spaCy 模型是什么 31

搭建聊天机器人所使用的自然语言处理基本方法 32

XIV Python 聊天机器人开发

词性标注 32

词干提取和词性还原 36

命名实体识别 38

停用词 41

依存句法分析 43

名词块 47

计算相似度 49

搭建聊天机器人时自然语言处理的一些好方法 51

分词 51

正则表达式 52

总结 53

第 3 章 轻松搭建聊天机器人 55

Dialogflow 简介 55

开始 56

搭建一个点餐机器人 57

确定范围 57

列举意图 57

列举实体 58

搭建点餐机器人 58

Dialogflow 入门 59

创建意图的几大要点 62

创建意图并添加自定义话术 62

为意图添加默认回复 63

菜品描述意图及附属实体 64

理解用户需求并回复 67

将 Dialogflow 聊天机器人发布到互联网上 72

在 Facebook Messenger 上集成 Dialogflow 聊天机器人 75

设置 Facebook 76

创建一个 Facebook 应用程序 76

设置 Dialogflow 控制台 77

配置 Webhook 79

目录 XV

测试信使机器人 80

Fulfillment 83

启用 Webhook 85

检查响应数据 87

总结 89

第 4 章 从零开始搭建聊天机器人 91

Rasa NLU 是什么 92

我们为什么要使用 Rasa NLU 92

深入了解 Rasa NLU 93

从零开始训练和搭建聊天机器人 94

搭建一个星座聊天机器人 94

星座机器人和用户之间的对话脚本 95

为聊天机器人准备数据 96

训练聊天机器人模型 101

从模型进行预测 103

使用 Rasa Core 进行对话管理 105

深入了解 Rasa Core 及对话系统 105

理解 Rasa 概念 108

为聊天机器人创建域文件 111

为聊天机器人编写自定义动作 113

训练机器人的数据准备 116

构造故事数据 117

交互学习 119

将对话导出成故事 132

测试机器人 133

测试用例一 133

测试用例二 134

总结 135

XVI Python 聊天机器人开发

第 5 章 部署自己的聊天机器人 137

前提条件 137

Rasa 的凭据管理 137

在 Facebook 上部署聊天机器人 139

在 Heroku 上创建一个应用 139

在本地系统中安装 Heroku 140

在 Facebook 上创建和设置应用程序 140

在 Heroku 上创建和部署 Rasa 动作服务器应用程序 143

创建 Rasa 聊天机器人 API 应用程序 144

创建一个用于 Facebook Messenger 聊天机器人的独立脚本 144

验证对话管理应用程序在 Heroku 上的部署情况 147

集成 Facebook Webhook 148

部署后验证:Facebook 聊天机器人 149

在 Slack 上部署聊天机器人 151

为 Slack 创建独立脚本 151

编辑 Procfile 154

将 Slack 机器人最终部署到 Heroku 上 154

订阅 Slack 事件 155

订阅机器人事件 156

部署后验证:Slack 机器人 156

独立部署聊天机器人 157

编写脚本实现自己的聊天机器人通道 158

编写 Procfile 并部署到 Web 上 159

验证你的聊天机器人 API 160

绘制聊天机器人的图形界面 161

总结 165