课程大纲
第一课: 自然语言处理概论
1. 自然语言处理的难点
2. 经典问题以及解决问题的经典思路
3. 本次课程覆盖的主要范围:基本分类器,经典序列模型,神经序列模型。
第二课: 基本分类器
1. Naive Bayes / Perceptron / SVM / Decision Tree / GBT
2. Quora相似问题判断:
a. 数据清理
b. "人眼"智能
c. 特征提取
d. 各个分类器的表现:速度,内存,准确率
第三课: 经典序列模型 I:
1. EM 算法
2. HMM 隐马尔科夫模型
3. Conditional Random Field (CRF)
4. 如何用Lattice来统一理解以上模型
第四课: 经典序列模型 II:
1. 自动机(WFSA, WFST)
2. 利用 EM 算法来实现WFST的参数的推倒
3. 实践展示:教中国人说外语 (语音拟合)
第五课: 经典序列模型 III:
1. 语言模型
2. OOV及平滑方法 (Modified Kneser-Ney Smoothing)
3. 神经语言模型简介
4. 实践展示:KenLM 语言模型
第六课: 神经序列模型 I:
1. 基础的神经网络回顾:
a. Forward / backward propagation;
b. 计算能力的衡量
c. Word2vec 以及 King:Man = Queen:Women的本质解释
2. RNN 基本概念以及问题:
a. Gradients Vanishing / Explosion
3. RNN 变种: LSTM
a. Gate的作用
b. 可视化: 在机器翻译以及语言模型中产生的特殊的gate
第七课: 神经序列模型 II:
1. LSTM语言模型的实现
a. Tensorflow 框架理解
b. Padding, Bucketing 以及最佳Bucket算法
c. Dropout 作用
d. 多GPU实现
e. 多种优化方法对比:SGD, Adagrad 等
f. 超参数测试策略
2. 实践展示:LSTM语言模型
第八课: 神经序列模型 III:
1. Seq2Seq模型及神经机器翻译
2. Decoding: Beam search
3. Attention 机制
4. 实践展示:英法翻译系统
第九课: 神经序列模型 IV:
1. Seq2Seq 模型的提速
a. 训练提速:NCE
b. 测试提速:利用Word Alignment / LSH
c. Knowledge Distillation
d. 最近前沿架构
第十课: 神经序列模型 V:
1. Sequence + FSA
2. 对话生成
3. 情感分类 Supervised / Unsupervised
4. 实践展示:基于LSTM的推荐系统