Uma base de código pequena e interpretável contendo a reimplementação de alguns modelos de PNL "profundos" no PyTorch.
Isso é apresentado como um ponto de partida (incompleto) para aqueles interessados em entrar nas ervas daninhas das arquiteturas DL em PNL. Modelos anotados são apresentados juntamente com algumas notas.
Existem links para rodar esses modelos em colab com GPUs ?️ via notebooks.
Modelos atuais : word2vec, CNNs, transformador, gpt. ( Trabalho em andamento )
BERT: Lendo. Compreendendo.
Nota: Estas são versões de brinquedo de cada modelo.
Esses modelos de PNL são apresentados cronologicamente e, como seria de esperar, baseiam-se uns nos outros.
Classe de modelo | Modelo | Ano |
---|---|---|
Incorporações | ||
1. | Embeddings Word2Vec (aprendizagem auto-supervisionada) | 2013 |
CNN | ||
2. | Classificação de texto baseada em CNN (classificação binária) | 2014 |
Transformadores | ||
3. | O transformador OG (tradução automática) | 2017 |
4. | Modelo GPT da OpenAI (modelo de linguagem) | 2018, 2019, 2020 |
Este repositório possui os seguintes recursos:
Depois de analisar esses modelos, o mundo é sua ostra em termos de outros modelos para explorar:
Char-RNN, BERT, ELMO, XLNET, todos os outros BERTs, BART, Performer, T5, etc....
Modelos futuros a implementar:
Recursos futuros do repositório:
Você pode instalar o repositório usando pip
:
pip install git + https : // github . com / will - thompson - k / deeplearning - nlp - models
Aqui está uma análise do repositório:
nlpmodels/models
: O código do modelo para cada artigo. nlpmodels/utils
: Contém todas as classes auxiliares relacionadas à construção de um modelo, incluindo conjuntos de dados, vocabulário, tokenizadores, amostradores e classes de treinamento. ( Observação: a maioria dos arquivos que não são de modelo são lançados em utilitários. Eu desaconselho isso em um repositório maior.) tests
: Cobertura leve (e de forma alguma abrangente). notebooks
: contém os notebooks e os write-ups para cada implementação do modelo.Alguns comandos úteis:
make test
: execute o conjunto completo de testes (você também pode usar setup.py test
e run_tests.sh
). make test_light
: Execute todos os testes, exceto os testes de regressão. make lint
: Se você realmente gosta de código linting (também pode executar run_pylint.sh
). Python 3.6+
Aqui estão os requisitos do pacote (encontrados em requisitos.txt)
@ misc { deeplearning - nlp - models ,
author = { Thompson , Will },
url = { https : // github . com / will - thompson - k / deeplearning - nlp - models },
year = { 2020 }
}
MIT