Una base de código pequeña e interpretable que contiene la reimplementación de algunos modelos de PNL "profundos" en PyTorch.
Esto se presenta como un punto de partida (incompleto) para aquellos interesados en adentrarse en las arquitecturas DL en PNL. Los modelos comentados se presentan junto con algunas notas.
Hay enlaces para ejecutar estos modelos en colab con GPU ?️ a través de portátiles.
Modelos actuales : word2vec, CNN, transformador, gpt. ( Trabajo en progreso )
BERT: Leyendo. Comprendiendo.
Nota: Estas son versiones de juguete de cada modelo.
Estos modelos de PNL se presentan cronológicamente y, como es de esperar, se complementan entre sí.
Clase de modelo | Modelo | Año |
---|---|---|
Incrustaciones | ||
1. | Integraciones de Word2Vec (aprendizaje autosupervisado) | 2013 |
CNN | ||
2. | Clasificación de texto basada en CNN (clasificación binaria) | 2014 |
Transformadores | ||
3. | El transformador OG (traducción automática) | 2017 |
4. | Modelo GPT de OpenAI (modelo de lenguaje) | 2018, 2019, 2020 |
Este repositorio tiene las siguientes características:
Después de revisar estos modelos, el mundo está en sus ostras en términos de otros modelos para explorar:
Char-RNN, BERT, ELMO, XLNET, todos los demás BERT, BART, Performer, T5, etc.
Modelos futuros a implementar:
Funciones de repositorio futuro:
Puedes instalar el repositorio usando pip
:
pip install git + https : // github . com / will - thompson - k / deeplearning - nlp - models
Aquí hay un desglose del repositorio:
nlpmodels/models
: el código de modelo para cada artículo. nlpmodels/utils
: contiene todas las clases auxiliares relacionadas con la construcción de un modelo, incluidos conjuntos de datos, vocabulario, tokenizadores, muestreadores y clases de entrenador. ( Nota: la mayoría de los archivos que no son de modelo se incluyen en utilidades. Lo desaconsejaría en un repositorio más grande). tests
: Cobertura ligera (y de ninguna manera completa). notebooks
: Contiene los cuadernos y anotaciones para la implementación de cada modelo.Algunos comandos útiles:
make test
: ejecuta el conjunto completo de pruebas (también puedes usar setup.py test
y run_tests.sh
). make test_light
: ejecuta todas las pruebas excepto las pruebas de regresión. make lint
: si realmente te gusta el código linting (también puedes ejecutar run_pylint.sh
). Pitón 3.6+
Estos son los requisitos del paquete (que se encuentran en requisitos.txt)
@ misc { deeplearning - nlp - models ,
author = { Thompson , Will },
url = { https : // github . com / will - thompson - k / deeplearning - nlp - models },
year = { 2020 }
}
MIT