NLP-Tutorial
nlp-tutorial -это учебник для тех, кто изучает NLP (обработка естественного языка) с использованием Pytorch . Большинство моделей в NLP были реализованы с менее чем 100 строк кода. (За исключением комментариев или пустых строк)
- [08-14-2020] Старый код Tensorflow v1 архив в архивной папке. Для читаемости начинающего поддерживается только Pytorch версия 1.0 или выше.
Учебная программа - (пример цели)
1. Основная модель встраивания
- 1-1. NNLM (модель языка нейронной сети) - прогнозируйте следующее слово
- Бумага - нейронная вероятностная языковая модель (2003)
- Colab - nnlm.ipynb
- 1-2. Word2VEC (Skip -Gram) - встраивание слов и показать график
- Бумага - Распределенные представления слов и фраз и их композиции (2013)
- Colab - Word2vec.ipynb
- 1-3. FASTTEXT (уровень приложения) - Классификация предложений
- Бумага - мешок с трюками для эффективной классификации текста (2016)
- Colab - fasttext.ipynb
2. CNN (сверточная нейронная сеть)
- 2-1. TextCnn - Классификация двоичных настроений
- Документ - сверточные нейронные сети для классификации предложений (2014)
- Textcnn.ipynb
3. RNN (повторяющаяся нейронная сеть)
- 3-1. Textrnn - прогнозируйте следующий шаг
- Бумага - Поиск структуры во времени (1990)
- Colab - textrnn.ipynb
- 3-2. Textlstm - Автозаполнение
- Бумага - длинная кратковременная память (1997)
- Colab - Textlstm.ipynb
- 3-3. BI -LSTM - предсказать следующее слово в длинном предложении
4. механизм внимания
- 4-1. Seq2seq - изменить слово
- Paper - Обучающие фразы с использованием RNN Encoder -Decoder для перевода статистической машины (2014)
- Colab - seq2seq.ipynb
- 4-2. Seq2seq с вниманием - перевести
- Бумага - перевод нейронной машины путем совместного обучения для выравнивания и перевода (2014)
- Colab - seq2seq (внимание) .ipynb
- 4-3. BI -LSTM с вниманием - Классификация двоичных настроений
- Colab - bi_lstm (внимание) .ipynb
5. Модель на основе трансформатора
- 5-1. Трансформатор - перевод
- Бумага - Внимание - это все, что вам нужно (2017)
- Colab - transformer.ipynb, трансформатор (greedy_decoder) .ipynb
- 5-2. BERT - Классификация Следующее предложение и предсказание токенов замаскируют
- Бумага - Берт: предварительное обучение глубоких двунаправленных трансформаторов для понимания языка (2018)
- Colab - Bert.ipynb
Зависимости
- Python 3.5+
- Pytorch 1.0.0+
Автор
- Tae Hwan Jung (Джефф Юнг) @graykode
- Автор Электронная почта: [email protected]
- Благодарности Мохитоку в качестве стажировки НЛП.