本书消除了智能聊天领域的门槛,目的是培养复合型技术人才。本书通过多个案例,逐步介绍聊天机器人开发各个阶段可能遇到的技术难题、业务需求以及相对应的技术解决方案和实践解析,让读者身临其境,探寻智能聊天机器人的奥秘。本书覆盖面全,涵盖了所有关键的技术。可实践性强,通过大量实践才能积累宝贵的经验,限度地根据理论知识弥补技术方案的空白。这有利于技术人员针对不同的业务需求,制定更为合理的技术方案。
基本信息商品名称: | 智能聊天机器人——核心技术与算法 | 开本: | 16开 |
作者: | 黄申 | 定价: | 128.00 |
ISBN号: | 9787302570783 | 出版时间: | 2021-06-01 |
出版社: | 清华大学出版社 | 印刷时间: | 2021-05-01 |
版次: | 1 | 印次: | 1 |
章 聊天机器人概述 1
1.1 聊天机器人的发展历史 1
1.2 聊天机器人的类型和应用 3
1.3 聊天机器人的模块和框架 4
第2章 自动语音识别 7
2.1 自动语音识别的发展概述 7
2.2 隐马尔可夫模型 8
2.2.1 概率论基础知识 9
2.2.2 隐马尔可夫模型是怎么来的 18
2.2.3 求解隐马尔可夫模型 25
2.3 Python实战 28
第3章 自然语言处理 33
3.1 自然语言处理的发展概述 33
3.2 常见的自然语言处理技术 34
3.2.1 停用词 34
3.2.2 同义词和近义词 37
3.2.3 多元语法 39
3.2.4 词袋模型和TF-IDF机制 40
3.2.5 语义相关的词 44
3.2.6 词性标注 61
3.2.7 实体识别 64
3.2.8 语法分析和语义分析 66
3.3 针对中英文的特殊处理 70
3.3.1 取词干和词形还原 71
3.3.2 中文分词 72
第4章 基于信息检索的问答系统 78
4.1 问答系统的发展概述 78
4.2 信息检索 78
4.2.1 如何地找到信息 79
4.2.2 相关性模型 84
4.2.3 其他扩展 95
4.2.4 基于信息检索的问答系统架构 99
4.3 基于Elasticsearch搜索引擎的问答系统 103
4.3.1 软件和数据的准备 103
4.3.2 Elasticsearch的基本概念和使用 105
4.3.3 在Elasticsearch中处理自然语言 114
4.3.4 自定义Elasticsearch的排序 123
4.3.5 Elasticsearch中搜索结果的统计 126
4.3.6 Elasticsearch集群 129
4.3.7 集成的问答系统 136
第5章 用机器学习提升基于信息检索的问答系统 141
5.1 如何提升问答系统 141
5.2 分析用户提出的问题 142
5.2.1 分类模型和算法 142
5.2.2 利用朴素贝叶斯模型进行文本分类 148
5.2.3 问题分类的Python实战 152
5.2.4 实体识别及其Python实战 159
5.3 检索结果的优化 166
5.3.1 线性回归的基本概念 166
5.3.2 线性回归的求解和拟合度的评估 168
5.3.3 线性回归的Python实战 181
5.3.4 聚类模型和算法 184
5.3.5 向量空间模型上的聚类 189
第6章 基于社区和的问答系统 195
6.1 什么是社区和 195
6.2 基于社区的问答系统 195
6.3 系统的原理和算法 199
6.3.1 系统 199
6.3.2 协同过滤 206
6.3.3 使用Python实现协同过滤 211
6.4 基于的问答系统 214
6.5 答案的摘要 218
6.5.1 文本摘要原理和算法 218
6.5.2 文本摘要的Python实战 219
第7章 使用深度学习加强问答系统 227
7.1 神经网络 227
7.1.1 神经网络的基础知识 227
7.1.2 使用TensorFlow实现基本的神经网络 234
7.2 深度学习 243
7.2.1 卷积神经网络 243
7.2.2 深度学习在问答系统上的应用 248
第8章 使用知识图谱构建问答系统 261
8.1 什么是知识图谱 261
8.1.1 知识图谱的起源 261
8.1.2 知识图谱的应用 263
8.1.3 知识图谱的关键要素 264
8.2 基于模板的知识图谱问答 269
8.2.1 基于模板方法的主要步骤 269
8.2.2 使用SPARQL和Python实战 271
8.2.3 可能的改进 304
第9章 打造任务型和闲聊型聊天系统 306
9.1 什么是任务型聊天系统 306
9.2 理解用户的意图 307
9.2.1 基本方法 307
9.2.2 Python实战 308
9.3 识别任务相关的属性 314
9.4 对话流程的管理 324
9.4.1 基于规则的方法 325
9.4.2 基于数据统计的方法 334
9.5 闲聊型聊天系统的情感分析 342
第2章 自动语音识别
2.1 自动语音识别的发展概述
有时候,我们需要通过语音和聊天机器人进行沟通,这种方式更加符合我们的行为习惯。可是,让机器理解我们的语音不是件容易的事情。自从19世纪电话机问世以来,人们就可以通过机器进行人类声音的处理。可是,无论是电话机对讲机,还是录音机,都只能存储和播放人类说话的声音,而无法理解这些话语。从20世纪至今,科学家们一直在探索如何利用计算机领域的知识,让机器“听懂”我们的语言,这也是本章的主题—自动语音识别(以下简称语音识别)。
早的语音识别系统可以追溯到20世纪的50年代,专家们根据具体的业务需求,设计了简单的语音交互系统。客户只需要简单地说出“是”“否”或者一些基于数字和单词的简单选项,就能和系统进行交互。时至,在一些银行等企事业单位的电话热线中,我们还能常常碰到并使用这种系统。这种系统已经具备了语音识别的基本形式,只需要区分固定集合内、数量有限的若干语音模式。
20世纪70年代初期,语音识别技术进入快速发展时期,其中比较有代表性的方法包括模式识别、动态规划和线性预测编码。由于口语的发音数量是有限的,所以通过这些技术,机器能够比较准确地识别单个词的语音。美国国防部研究计划署(Defense Advanced Research Projects Agency,DARPA)也曾经投资语音识别项目,在其资助下,卡内基-梅隆大学创造出了一台能够识别1000多个单词的机器,识别成功率也是不错的。到了20世纪70年代后期,一些大公司包括IBM、Bell等开始研发基于海量词汇的连续语音识别系统,而此时基于专家系统的方法逐步被淘汰,而基于统计建模的方法逐步兴起。
我们可以认为20世纪80、90年代是语音识别技术的一个突破期。一些成熟的算法,如基于隐马尔可夫模型和N元语法(N-gram)语言模型。特别是HMM,它从基于简单的模板匹配方法转向基于概率统计建模的方法,时下主流的方法也有一部分采用了HMM框架。在各种HMM中,为主流的方法是GMM-HMM,它一方面通过高斯混合模型(Gaussian Mixture Model,GMM)对语音状态的观察概率进行建模;另一方面通过HMM对语音状态的时序进行建模。进入20世纪90年代之后,基于HMM的一系列语音识别技术趋于成熟,商业软件和应用也层出不穷,包括DragonDecitate的Dragon系统,微软的Whisper系统,IBM的Via-vioce系统和英国剑桥大学的HTK系统等。
可是,这些方法和系统在进入21世纪之后,面临不少新的挑战。人们使用语音识别的场景越来越多,不再局限于专业性的文稿输入。比如,汽车、手机、会议室里的语音助手,它们需要处理的是随意性的对话,甚至是多人之间的交谈。随着深度学习的兴起,语音识别技术找到了新的发展方向。其实,早在20世纪80年代,已经有学者开始将神经网络运用到语音识别中,只是未能取得满意的效果。而在目前深度学习的研究领域中,人们已经可以构建并训练深层的神经网络(DNN)和循环神经网络(RNN)。某些实验数据表明,在理想情况下,基于RNN模型的语音识别准确度达到了90%~95%,这一指标已经非常接近人类大脑识别的精度了。
正是由于语音识别技术的长足进步,时下各种语音识别的硬件、软件和应用层出不穷。这项技术让人类可以通过一种更自然的方式和机器进行交互,所以被广泛运用在各种聊天机器人中。其中比较主流的形式是语音助手,包括亚马逊在2014年推出的Echo,谷歌在2016年推出的Google Home等。而国内的公司也正在迎头赶上,推出了智能音响、智能鼠标、智能遥控器等各种周边设备,作为语音识别的硬件载体。
在经历了几十年的发展后,语音识别技术日趋成熟,其主流的处理框架也相对稳定。图2-1列出了其中很常见的一种语音识别框架。
......
黄申,博士,2015年美国杰出人才,微软学者,IBM ExtremeBlue天才计划成员。2006年博士毕业与上海交通大学计算机科学与工程专业,师从俞勇教授,拥有20余篇国际论文和30多项国际专利。他有超过20年机器学习和大数据领域的从业经验,现任Glassdoor机器学习研发经理,曾任职于LinkedIn全球数据科学部、微软亚洲研究院、IBM研究院、eBay中国研发中心科学家,1号店和大润发飞牛网。出版过《大数据架构和算法实现之路:电商系统的技术实战》《大数据架构商业之路:从业务需求到技术方案》《程序员的数学》等技术书籍和专栏,累计读者数万人。