nlp-tutorial
nlp-tutorial 是为使用 Pytorch 学习 NLP(自然语言处理)的人准备的教程。NLP 中的大多数模型都是用不到100行代码实现的。(注释或空行除外)
- [08-14-2020] 旧版 TensorFlow v1 代码被归档到 archive 文件夹中。为了方便初学者阅读,只支持pytorch 1.0 或更高版本。
课程表 --(示例目的)
- 1-1. NNLM(Neural Network Language Model) -- 预测下一个词
- 论文 -- 神经概率语言模型(2003)
- Colab -- NNLM.ipynb
- 1-2. Word2Vec(Skip-gram) -- 嵌入单词并显示图表
- 论文 -- 词和短语的分布式表示及其构成性(2013)
- Colab - Word2Vec.ipynb
- 1-3. FastText(Application Level) -- 句子分类
- 论文 -- 高效文本分类的锦囊妙计(2016)
- Colab -- FastText.ipynb
2. CNN(卷积神经网络)
- 2-1. TextCNN -- 二元情感分类
3. RNN(递归神经网络)
- 3-1. TextRNN -- 预测下一个步骤
- 论文 -- 在时间中寻找结构(1990)
- Colab - TextRNN.ipynb
- 3-2. TextLSTM -- 自动完成
- 论文 -- 长短期记忆(1997)
- Colab - TextLSTM.ipynb
- 3-3. Bi-LSTM -- 预测长句中的下一个单词
- Colab - Bi_LSTM.ipynb
4. 注意机制(Attention Mechanism)
- 4-1. Seq2Seq -- 更改单词
- 论文 -- 使用 RNN 编码器-解码器学习短语表示,用于统计机器翻译的(2014)
- Colab -- Seq2Seq.ipynb
- 4-2. Seq2Seq with Attention - 翻译
- 论文 -- 联合学习对齐翻译的神经机器翻译(2014)
- Colab -- Seq2Seq(Attention).ipynb
- 4-3. Bi-LSTM with Attention -- 二进制情绪分类
- Colab -- Bi_LSTM(Attention).ipynb
5. 基于 Transformer 的模型
- 5-1. The Transformer -- 翻译
- 5-2. BERT -- 分类下一个句子并预测掩蔽标记
- 论文 -- BERT:语言理解的深度双向变换预训练(2018)
- Colab - BERT.ipynb
依赖
- Python 3.5 以上
- Pytorch 1.0.0 以上
作者
- Tae Hwan Jung (Jeff Jung) @graykode
- 作者邮箱:nlkey2022@gmail.com
- 感谢 mojitok 作为 NLP 研究实习生。