这门课解决什么问题
做 AI 应用、想自己搭一个会对话的机器人,但被各种名词吓退的人,是这门课的目标读者。TensorFlow、RNN、LSTM、NLP、贝叶斯、隐马尔科夫——这些概念散在不同体系里,学起来碎片化严重。这门课把它们串成一条线:先搞清楚 TensorFlow 这张图怎么跑,再拿循环神经网络处理时间序列,最后用 NLP 做文本理解,目标是能独立实现一个基于深度学习的聊天机器人原型。
它不教如何部署到线上、不教如何接企业 API、也不教大模型微调。你的工作场景应该是:在本地或开发机环境里,把一段对话语料跑通,理解输入词序列如何经过嵌入、循环层、输出层,最终生成回复。适合想做 AI 方向后端、算法工程、智能客服原型的同学。
适合什么基础,建议先看哪几块
需要有 Python 编程基础,知道列表、字典、函数、类的基本用法;线性代数了解矩阵乘法和求导即可;概率论知道条件概率和贝叶斯公式就够了。如果你从未写过 Python 程序,建议先把 Python 基础过一遍,再回来。
学习顺序建议这样走:先花 20 分钟把「什么是 TensorFlow」「张量、图、会话」看懂,这是整个框架的底座;接着进入「循环神经网络」部分,重点理解 BP 为什么不适合长序列、梯度爆炸消失是什么、LSTM 的门控机制如何解决这个问题;然后快速扫过「NLP 基础」里的分词、词性标注、命名实体识别,理解数据预处理流程;最后看「文本处理方法」里的语料获取和语言模型,这是聊天机器人输入的源头。
「Android 操作系统」「Java 安装」这两节是课程附带的环境搭建内容,和对话生成没有直接关系。如果你的目标是做机器人而非移动端部署,可以先跳过,回头有空再看。
学完能独立做什么,资料怎么配合练习
学完后,你应该能在本地环境里完成以下事情:读取一段对话语料,完成分词和编码,构建一个基于 RNN 或 LSTM 的序列到序列模型,训练并验证效果,输出简单的对话回复。你可以把这个原型接到一个简单的命令行界面或 Web 界面上,演示给同学或面试官看。
练习时不要只看不写。每一节后停一下,打开 TensorFlow 文档,照着把张量、图、会话的手写代码跑一遍;学完循环网络后,自己画一张 BP、RNN、LSTM 的对比图,标出它们各自的输入输出形状;学完 NLP 基础后,用 jieba 或其他分词工具对自己的一段文字做分词、词性标注,观察结果是否符合预期。
课程里的朴素贝叶斯和隐马尔科夫章节是传统方法,和深度学习聊天机器人没有直接关系,但它们是理解 NLP 发展历程的一部分。建议快速了解原理即可,重点放在 RNN/LSTM 的实现上。
最后提醒:聊天机器人的难点不在模型结构,而在数据质量。语料少、噪声多、领域不对,模型再好也生成不出像样的对话。练习时选一段自己熟悉领域的对话数据,效果会比盲目跟教程更好。
课程目录
第1章 课程导学 1 节 | 13分钟 1-1 课程导学 (12:34).mp4 第2章 基础知识 8 节 | 71分钟 2-1 什么是TensorFlow (10:24).mp4 2-2 张量、图、会话 (06:17).mp4 2-3 TensorFlow原理及模型训练 (08:37).mp4 2-4 Android操作系统 (16:19).mp4 2-5 Java安装 (10:15).mp4 2-6 Java环境搭建 (02:40).mp4 2-7 Android安装及运行 (10:39).mp4 2-8 第一个Android程序 (05:34).mp4 第3章 循环神经网络(RNN与LSTM) 8 节 | 71分钟 3-1 常用模型 (10:15).mp4 3-2 BP神经网络 (10:53).mp4 3-3 循环神经网络(1) (06:58).mp4 3-4 循环神经网络(2) (06:07).mp4 3-5 循环神经网络(双向RNN) (10:23).mp4 3-6 循环神经网络(梯度爆炸和梯度消失1) (09:44).mp4 3-7 循环神经网络(梯度爆炸和梯度消失2) (06:07).mp4 3-8 长短期记忆网络(LSTM) (10:12).mp4 第4章 NLP基础 11 节 | 108分钟 4-1 NLP基础 (04:19).mp4 4-2 分词技术 (05:29).mp4 4-3 词性标注 (08:34).mp4 4-4 命名实体识别 (08:25).mp4 4-5 贝叶斯与朴素贝叶斯(1) (07:54).mp4 4-6 贝叶斯与朴素贝叶斯(2) (07:28).mp4 4-7 隐马尔科夫模型 (16:37).mp4 4-8 隐马尔科夫模型实现命名实体识别 (07:37).mp4 4-9 朴素贝叶斯例子(1) (13:42).mp4 4-10 朴素贝叶斯例子(2) (15:51).mp4 4-11 朴素贝叶斯例子(3) (11:55).mp4 第5章 文本处理方法 6 节 | 49分钟 5-1 语料的获取与处理 (15:19).mp4 5-2 NLP中的语言模型 (03:47).mp4 5-3 NLP中的语言模型 一元模型和二元模型 (07:43).mp4 5-4 NLP中的语言模型 N元模型 (02:45).mp4 5-5 词向量与Word2vec (07:26).mp4 5-6 文本处理方法 (11:39).mp4 第6章 实战之聊天语料处理 12 节 | 109分钟 6-1 数据处理-环境搭建 (08:40).mp4 6-2 聊天机器人语料处理流程介绍 (05:53).mp4 6-3 数据处理-句子的构造和判断 (07:52).mp4 6-4 数据处理-正则表达式 (07:04).mp4 6-5 数据处理-句子编码化处理(字典定义及转换) (11:29).mp4 6-6 数据处理-句子编码化处理(训练字典) (10:15).mp4 6-7 数据处理-句子编码化处理(句子和向量之间的转换) (11:00).mp4 6-8 数据处理-训练语料库的解压处理 (09:44).mp4 6-9 数据处理-训练语料问答对的处理(1) (08:37).mp4 6-10 数据处理-训练语料问答对的处理(2) (07:20).mp4 6- 11 数据处理-数据模型打包处理 (08:50).mp4 6- 12 语料处理实战小结 (11:36).mp4 第7章 聊天机器人原理 4 节 | 39分钟 7-1 Seq2Seq模型 (10:37).mp4 7-2 Seq2Seq模型(注意力机制) (09:35).mp4 7-3 聊天机器人模型(1) (09:46).mp4 7-4 聊天机器人模型(2) (08:42).mp4 第8章 聊天机器人训练-TensorFlow的模型前期处理 13 节 | 112分钟 8-1 线程处理(1) (09:15).mp4 8-2 线程处理(2) (10:10).mp4 8-3 TensorFlow环境搭建 (06:41).mp4 8-4 TensorFlow相关信息操作 (04:50).mp4 8-5 数据操作 转换长度 (07:39).mp4 8-6 batch_flow(1) (07:28).mp4 8-7 batch_flow(2) (05:49).mp4 8-8 batch_flow(3) (14:43).mp4 8-9 batch_flow_bucket(1) (07:58).mp4 8-10 batch_flow_bucket(2) (09:15).mp4 8-11 batch_flow_bucket(3) (04:54).mp4 8-12 batch_flow_bucket(4)生成虚假数据 (12:50).mp4 8-13 batch_flow_bucket(5)测试 (09:53).mp4 第9章 聊天机器人训练-seq2seq的模型编写 25 节 | 234分钟 9-1 基本流程介绍 (10:37).mp4 9-2 基本参数保存,参数验证(1) (08:59).mp4 9-3 基本参数保存,参数验证(2) (09:28).mp4 9-4 基本参数保存,参数验证(3) (08:35).mp4 9-5 基本参数保存,参数验证(4) (05:15).mp4 9-6 构建模型(1) (06:43).mp4 9-7 构建模型(2) (08:38).mp4 9-8 构建一个单独的RNN cell (06:33).mp4 9-9 构建单独的编码器cell(1) (08:38).mp4 9-10 构建单独的编码器cell(2) (08:05).mp4 9-11 构建单独的编码器cell(3) (08:44).mp4 9-12 构建解码器(1) (08:28).mp4 9-13 构建解码器(2) (09:22).mp4 9-14 构建解码器(3) (07:36).mp4 9-15 构建解码器(4) (09:19).mp4 9-16 构建解码器(5) (10:59).mp4 9-17 构建解码器(6) (09:28).mp4 9-18 构建解码器(7) (14:52).mp4 9-19 构建解码器(8) (17:02).mp4 9-20 构建优化器(1) (09:56).mp4 9-21 构建优化器(2) (08:48).mp4 9-22 构建优化器(3) (06:01).mp4 9- 23 输入检查 (11:51).mp4 9- 24 训练模型 (11:59).mp4 9- 25 预测模型 (07:22).mp4 第10章 聊天机器人模型的训练和验证 9 节 | 118分钟 10-1 第一种模型训练(1) (06:17).mp4 10-2 第一种模型训练(2) (13:28).mp4 10-3 第一种模型训练(3) (12:10).mp4 10-4 第一种模型训练(4) (14:49).mp4 10-5 第一种模型训练(5) (25:35).mp4 10-6 第二种模型训练(1) (11:52).mp4 10-7 第二种模型训练(2) (12:06).mp4 10-8 第二种模型训练(3) (05:34).mp4 10-9 利用flask发布成Webservice接口 (15:45).mp4 第11章 Android的打包与发布 10 节 | 140分钟 11-1 新建项目 (07:49).mp4 11-2 代码结构讲解 (17:15).mp4 11-3 私有变量的定义 (12:25).mp4 11-4 参数初始化 (11:54).mp4 11-5 听写UI监听器 (19:18).mp4 11-6 合成回调监听器 (05:58).mp4 11-7 听写监听器 (27:14).mp4 11-8 语音合成参数设置 (08:59).mp4 11-9 完善项目 (21:32).mp4 11- 10 打包发布 (07:15).mp4






