Técnicas modernas de aprendizaje profundo aplicados al procesamiento del lenguaje natural
Este proyecto contiene una visión general de las tendencias recientes en el procesamiento del lenguaje natural basado en el aprendizaje profundo (PNL). Cubre las descripciones teóricas y los detalles de implementación detrás de los modelos de aprendizaje profundo, como las redes neuronales recurrentes (RNN), las redes neuronales convolucionales (CNN) y el aprendizaje de refuerzo, utilizados para resolver varias tareas y aplicaciones de PNL. La descripción general también contiene un resumen de resultados de última generación para tareas de PNL, como traducción automática , respuesta de preguntas y sistemas de diálogo . Puede encontrar el recurso de aprendizaje en la siguiente dirección: https://nlpoverview.com/. A continuación se proporciona una instantánea del sitio web:

Sobre este proyecto
Las principales motivaciones para este proyecto son las siguientes:
- Mantenga un recurso de aprendizaje actualizado que integre información importante relacionada con la investigación de PNL, como:
- Resultados de última generación
- conceptos y aplicaciones emergentes
- nuevos conjuntos de datos de referencia
- Lanzamientos de código/conjunto de datos
- etc.
- Cree un recurso amigable y abierto para ayudar a guiar a los investigadores y cualquier persona interesada en aprender sobre las técnicas modernas aplicadas a la PNL
- Un proyecto de colaboración donde los investigadores expertos pueden sugerir cambios (por ejemplo, incorporar resultados de SOTA) basados en sus hallazgos recientes y resultados experimentales
Tabla de contenido
- Introducción
- Representación distribuida
- Incrustaciones de palabras
- Word2vec
- Incrustaciones de personajes
- INCURSIONES DE LA PALABRAS CONTEXTUALIZADAS
- Redes neuronales convolucionales
- CNN básico
- Modelado de oraciones
- Enfoque de ventana
- Aplicaciones
- Redes neuronales recurrentes
- Necesidad de redes recurrentes
- Modelos RNN
- RNN simple
- Memoria a corto plazo
- Unidades recurrentes cerradas
- Aplicaciones
- RNN para la clasificación a nivel de palabra
- RNN para la clasificación a nivel de oración
- RNN para generar lenguaje
- Mecanismo de atención
- Atención paralela: el transformador
- Redes neuronales recursivas
- Modelos reforzados profundos y aprendizaje profundo sin supervisión
- Aprendizaje de refuerzo para la generación de secuencias
- Aprendizaje de representación de oraciones no supervisada
- Modelos generativos profundos
- Redes acuáticas de memoria
- Rendimiento de diferentes modelos en diferentes tareas de PNL
- Etiquetado POS
- Analizador
- Reconocimiento de la entidad nombrada
- Etiquetado de rol semántico
- Clasificación de sentimientos
- Traducción automática
- Respuesta de preguntas
- Sistemas de diálogo
- Incrustos contextualizados
¿Cómo contribuir?
Hay varias formas de contribuir a este proyecto.
- La forma más rápida de proponer un texto editar o agregar es la siguiente:
fork el repositorio, navegar al chapter correspondiente y luego hacer clic en el botón edit para agregar su información. La siguiente imagen muestra los últimos dos pasos después de haber bifurcado el repositorio. Luego puede enviar una solicitud de extracción y lo aprobaremos en consecuencia. Si desea cambiar una gran parte del proyecto o incluso agregar un capítulo, le recomendamos ver la sección "Build site locally" a continuación.

- También puede proponer adiciones de texto en este documento público compartido si no está familiarizado con
git . Ayudaremos a editar y revisar el contenido y luego lo ayudaremos aún más a incorporar las contribuciones al proyecto. - Consulte la sección del problema para obtener más información sobre otras formas en que puede ayudar.
- O puede hacer sugerencias enviando un nuevo problema. Instrucciones más detalladas próximamente.
Sitio de construcción localmente
Si planea cambiar algún aspecto del sitio (por ejemplo, agregar sección o estilo) y desea obtener una vista previa localmente en su máquina, le sugerimos que construya y ejecute el sitio localmente usando jekyll . Aquí están las instrucciones:
- Primero, verifique que
Ruby 2.1.0 o superior esté instalado en su computadora. Puede verificar usando el comando ruby --version . Si no, instálelo utilizando las instrucciones proporcionadas aquí. - Después de asegurarse de que Ruby esté instalado, instale Bundler con
gem install bundler . - Clon este repositorio localmente:
git clone https://github.com/omarsar/nlp_overview.git - Navegue a la carpeta de repo con
cd nlp_overview - Instalar jekyll:
bundle install - Ejecute el sitio Jekyll localmente:
bundle exec jekyll serve - Sitio de vista previa en el navegador en
http://localhost:4000
Mantenimiento
Este proyecto es mantenido por Elvis Saravia y Soujanya Poria. También puede encontrarme en Twitter si tiene comentarios o preguntas directas. Una parte importante de este proyecto ha sido prestada directamente del trabajo de Young et al. (2017). Estamos agradecidos con los autores.