前言
为什么要写这本书
2015年我跳出一家传统的软件公司,重新做回文本挖掘的相关工作。那个时候心中的执念是想把自己读硕士时的研究方向 继续下去。跳出人生的舒适区,发现周围的技术真的是日新月异,从而感叹自己的落伍和脱节。于是开始从最简单的分词做起, 职业生涯起起伏伏,在那段岁月中依然保持着心中的执念和对求知的渴望。有幸的是,在这个过程中结识了一些业内的好友,在 他们的不断指引下,感觉每天都小有进步。在学习的过程中,我正好也赶上了自然语言处理技术的浪潮,在AI技术深入人心的阶 段入行实是我人生的一大幸事!
对话系统是自然语言处理(NLP)领域的一颗璀璨明珠,它源于专家库系统。从技术的角度讲,它集结了自然语言理解 (NLU)技术和自然语言生成(NLG)技术,而自然语言处理又恰恰是人工智能(AI)最难破解的领域。就是在那段时间里, 我萌发了要做对话系统的想法。万事开头难,在这个过程中翻阅了不少参考资料,但是发现一个问题,市场上专门写对话系统的 书寥寥无几,介绍自然语言处理的专业书籍也特别少。所以只能翻看一些论文,但论文的理论性很强,实操性又太差,对初学者 和基础薄弱者来讲很不友好。当时市场上流行的自然语言处理的书籍可以分以下几种类型:第一,经典的教材,如宗成庆老师的 《统计自然语言处理》;第二,经典实操教材,如《Python自然语言处理》;第三,经典的翻译教材,如《统计自然语言处理 基础》。而讲解中文自然语言处理的实操性的书籍着实太少了。
2018年冬天的一个午后,我和郭师光几个人一起吃饭,茶余饭后聊起聊天机器人,大家有很多共同的想法。在自然语言处 理、深度学习以及人工智能领域,大家都积累了一些经验,所以我就提议:大家能不能围绕自然语言处理和对话系统写一本书, 写写大家对自然语言处理技术以及对话系统的认识,帮初学者归纳总结一些在中文文本挖掘方面的知识点和成功经验。我的提议 很快得到了崔燕红博士的响应和支持,就这样,本书的创作团队正式成立。不过,在创作过程中也遇到了很多问题。对话系统本 身要求技术人员对算法和工程都要有一个清晰和完整的认识,而且需要有很强的工程实践能力。我在书中这部分的讲解过程中提 到,在不同公司的应用场景和数据集上做优化就会诞生不同的对话系统。但是,对话系统也有一些共同的部分,比如通用的自然 语言处理方法、通用的架构,以及针对不同业务场景所采用的相同的解决方法。所以本书旨在帮助读者梳理相关知识点和思考问 题的方式。许多个不眠之夜的奋笔疾书,许多个节假日的思考和资料的查阅,将我们的分享像涓涓细流,浇灌在每一个读者心 间,我想我们的这些努力就是最大的价值。
读者对象
·自然语言处理入门者和爱好者
·初中级自然语言处理工程师
·AI技术入门者和爱好者
·开设相关课程的大专院校的师生
目录
推荐序二
前言
第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本章小结
评论(0)