NLP 实践 TensorFlow 打造聊天机器人
【课程介绍】目前NLP非常火爆,本课程以聊天机器人为案例,使用TensorFlow作为训练框架,并以Android APP为载体从0开始带领大家搭建一个聊天机器人应用并部署。重点讲解NLP与深度学习相关领域知识点,并通过实际的项目快速上手,使同学们能够举一反三,更好的运用到实际工作中。
【课程目录】
- 第1章 课程导学对课程章节、知识点、课程安排、适用人群、前提条件以及学习完成后达到的程度进行了介绍,让同学们对本课程有基本的认识。
- 1-1 课程导学
- 第2章 基础知识介绍tensorflow的基础知识和原理,介绍tensorflow的基本训练方法和训练的注意点,介绍什么是Android系统及Android系统的四大基本组件,以及如何开发Android APP,开发工具用什么,环境如何搭建。
- 2-1 什么是TensorFlow
- 2-2 张量、图、会话
- 2-3 TensorFlow原理及模型训练
- 2-4 Android操作系统
- 2-5 Java安装
- 2-6 Java环境搭建
- 2-7 Android安装及运行
- 2-8 第一个Android程序
- 第3章 循环神经网络(RNN与LSTM)本章主要讲解了循环神经网络的相关知识,并介绍了循环神经网络的衍生网络LSTM,并对sequence to sequence和神经网络训练过程中的梯度爆炸和梯度消失相关内容介绍了解决方法。
- 3-1 常用模型
- 3-2 BP神经网络
- 3-3 循环神经网络(1)
- 3-4 循环神经网络(2)
- 3-5 循环神经网络(双向RNN)
- 3-6 循环神经网络(梯度爆炸和梯度消失1)
- 3-7 循环神经网络(梯度爆炸和梯度消失2)
- 3-8 长短期记忆网络(LSTM)
- 第4章 NLP基础介绍什么是RNN和LSTM,并介绍他们在NLP处理中如何去使用,介绍什么是NLP语言模型,以及常用的工作方式,介绍什么是word2vec,并进行详细解释;
- 4-1 NLP基础
- 4-2 分词技术
- 4-3 词性标注
- 4-4 命名实体识别
- 4-5 贝叶斯与朴素贝叶斯(1)
- 4-6 贝叶斯与朴素贝叶斯(2)
- 4-7 隐马尔科夫模型
- 4-8 隐马尔科夫模型实现命名实体识别
- 4-9 朴素贝叶斯例子(1)
- 4-10 朴素贝叶斯例子(2)
- 4-11 朴素贝叶斯例子(3)
- 第5章 文本处理方法介绍如何建立语料库,以及可以通过什么方式去收集语料库,并介绍常用的语料库,以及介绍如何进行语料的处理和其处理思路等
- 5-1 语料的获取与处理
- 5-2 NLP中的语言模型
- 5-3 NLP中的语言模型 一元模型和二元模型
- 5-4 NLP中的语言模型 N元模型
- 5-5 词向量与Word2vec
- 5-6 文本处理方法
- 第6章 实战之聊天语料处理结合上章节讲解的内容,本章主要针对我们在聊天机器人训练部分所使用的聊天语料进行处理,处理方法包括但不限于数据清洗、切词、训练语句划分、句子向量等
- 6-1 数据处理-环境搭建
- 6-2 聊天机器人语料处理流程介绍
- 6-3 数据处理-句子的构造和判断
- 6-4 数据处理-正则表达式
- 6-5 数据处理-句子编码化处理(字典定义及转换)
- 6-6 数据处理-句子编码化处理(训练字典)
- 6-7 数据处理-句子编码化处理(句子和向量之间的转换)
- 6-8 数据处理-训练语料库的解压处理
- 6-9 数据处理-训练语料问答对的处理(1)
- 6-10 数据处理-训练语料问答对的处理(2)
- 6-11 数据处理-数据模型打包处理
- 6-12 语料处理实战小结
- 第7章 聊天机器人原理介绍什么是聊天机器人,以及聊天机器人的基本原理,并介绍如何将我们拿到的基础语料处理成我们想要的形式,最后整体阐述聊天机器人的架构设计及详细设计。
- 7-1 Seq2Seq模型
- 7-2 Seq2Seq模型(注意力机制)
- 7-3 聊天机器人模型(1)
- 7-4 聊天机器人模型(2)
- 第8章 聊天机器人训练-TensorFlow的模型前期处理本章介绍了TensorFlow关于模型的处理部分的内容,其中包括GPU和CPU的选择,batch的操作等,这些方法是模型训练的基础,在模型训练过程中起着关键的作用。
- 8-1 线程处理(1)
- 8-2 线程处理(2)
- 8-3 TensorFlow环境搭建
- 8-4 TensorFlow相关信息操作
- 8-5 数据操作 转换长度
- 8-6 batch_flow(1)
- 8-7 batch_flow(2)
- 8-8 batch_flow(3)
- 8-9 batch_flow_bucket(1)
- 8-10 batch_flow_bucket(2)
- 8-11 batch_flow_bucket(3)
- 8-12 batch_flow_bucket(4)生成虚假数据
- 8-13 batch_flow_bucket(5)测试
- 第9章 聊天机器人训练-seq2seq的模型编写本章使用TensorFlow来进行seq2seq模型训练,从头开始构建了一个seq2seq模型,并将这个模型在训练中进行使用。
- 9-1 基本流程介绍
- 9-2 基本参数保存,参数验证(1)
- 9-3 基本参数保存,参数验证(2)
- 9-4 基本参数保存,参数验证(3)
- 9-5 基本参数保存,参数验证(4)
- 9-6 构建模型(1)
- 9-7 构建模型(2)
- 9-8 构建一个单独的RNN cell
- 9-9 构建单独的编码器cell(1)
- 9-10 构建单独的编码器cell(2)
- 9-11 构建单独的编码器cell(3)
- 9-12 构建解码器(1)
- 9-13 构建解码器(2)
- 9-14 构建解码器(3)
- 9-15 构建解码器(4)
- 9-16 构建解码器(5)
- 9-17 构建解码器(6)
- 9-18 构建解码器(7)
- 9-19 构建解码器(8)
- 9-20 构建优化器(1)
- 9-21 构建优化器(2)
- 9-22 构建优化器(3)
- 9-23 输入检查
- 9-24 训练模型
- 9-25 预测模型
- 第10章 聊天机器人模型的训练和验证本章讲解如何使用tensorflow来训练聊天机器人,并将训练好的聊天机器人进行验证 ,验证后打包成webservice接口进行发布,从而使前端可以进行调用。
- 10-1 第一种模型训练(1)
- 10-2 第一种模型训练(2)
- 10-3 第一种模型训练(3)
- 10-4 第一种模型训练(4)
- 10-5 第一种模型训练(5)
- 10-6 第二种模型训练(1)
- 10-7 第二种模型训练(2)
- 10-8 第二种模型训练(3)
- 10-9 利用flask发布成Webservice接口
- 第11章 Android的打包与发布介绍开发好的Android应用程序如何进行打包部署,以及在是打包部署过程中的注意事项,并带领大家将聊天机器人应用进行发布。
- 11-1 新建项目
- 11-2 代码结构讲解
- 11-3 私有变量的定义
- 11-4 参数初始化
- 11-5 听写UI监听器
- 11-6 合成回调监听器
- 11-7 听写监听器
- 11-8 语音合成参数设置
- 11-9 完善项目
- 11-10 打包发布