• Inicio
  • TICS
  • Procesamiento del Lenguaje Natural con Aprendizaje Profundo en Python
Viernes, 13 Octubre 2017 17:18

Procesamiento del Lenguaje Natural con Aprendizaje Profundo en Python

Written by
Rate this item
(0 votes)
 Guía completa sobre cómo derivar e implementar word2vec, GLoVe, incorporaciones de palabras y análisis de sentimientos con redes recursivas. 

¿Qué aprenderé?

ü  Entender e implementar word2vec

ü  Entender el método CBOW en word2vec

ü  Entender el método skip-gram en word2vec

ü  Entender la optimización del muestreo negativo en word2vec

ü  Entender e implementar GLoVe usando el descenso gradiente y alternando los mínimos cuadrado 

ü  Utilizar redes neuronales recurrentes para el etiquetado de partes de voz

ü  Utilizar redes neuronales recurrentes para el reconocimiento de entidad con nombre

ü  Comprender e implementar redes neuronales recursivas para el análisis del sentimiento 

ü  Entender e implementar redes recursivas de tensores neuronales para el análisis del sentimiento

Requisitos

·      Instalar NumPy, Matplotlib, SCI-kit Learn, Theano, y TensorFlow (debe ser extremadamente fácil por ahora). 

·      Entender la propagación de la retrodispersión y gradiente, ser capaz de derivar y codificar las ecuaciones en su propio código. 

·      Una red neuronal recurrente de primitivas básicas en Theano (o Tensorflow), especialmente la función de la exploración.

·      El código a feedforward la red de los nervios en Theano (o Tensorflow). 

·      Provechoso tener experiencia con los algoritmos del árbol

Descripción

En este curso vamos a ver la PNL avanzada.

Anteriormente, usted aprendió acerca de algunos de los conceptos básicos, como cuantos problemas de PNL son sólo aprendizaje de máquina regular y problemas de ciencias de datos disfrazados, y métodos simples y prácticos como bolsas de palabras y matrices de término-documento.

Esto nos permitió hacer algunas cosas interesantes, como detectar correos electrónicos de spam, escribir poesía, hacer giros de artículos y agrupar palabras similares.

En este curso voy a mostrarte cómo hacer cosas aún más impresionantes. Aprenderemos no sólo 1, sino 4 nuevas arquitecturas en este curso.

Primero es word2vec.

En este curso, voy a mostrarle exactamente cómo funciona word2vec, desde la teoría a la implementación, y verá que es simplemente la aplicación de habilidades que ya conoce.

Word2vec es interesante porque mágicamente las palabras de mapas a un espacio vectorial donde se pueden encontrar analogías, como:

v rey - hombre = reina - mujer

v Francia - París = Inglaterra - Londres

v Diciembre - Noviembre = Julio – Junio

También vamos a mirar el método GLoVe, que también encuentra vectores de palabras, pero utiliza una técnica llamada factorización de matriz, que es un algoritmo popular para los sistemas de recomendación.

Sorprendentemente, la palabra vectores producidos por GLoVe son tan buenos como los producidos por word2vec, y es mucho más fácil de entrenar.

También examinaremos algunos problemas clásicos de PNL, como el etiquetado de partes de voz y el reconocimiento de entidades nombradas, y usaremos redes neuronales recurrentes para resolverlos. Verá que casi cualquier problema puede resolverse utilizando redes neuronales, pero también aprenderá los peligros de tener demasiada complejidad. 

Por último, aprenderá sobre redes neuronales recursivas, que finalmente nos ayudarán a resolver el problema de la negación en el análisis del sentimiento. Las redes neuronales recursivas explotan el hecho de que las oraciones tienen una estructura de árbol, y finalmente podemos alejarnos ingenuamente de las palabras.

Todos los materiales necesarios para este curso se pueden descargar e instalar GRATIS. Haremos la mayor parte de nuestro trabajo en Numpy, Matplotlib, y Theano. Siempre estoy disponible para responder sus preguntas y ayudarle a lo largo de su viaje de ciencia de datos.

Este curso se centra en "cómo construir y entender", no sólo "cómo usar". Cualquier persona puede aprender a usar una API en 15 minutos después de leer alguna documentación. No se trata de "recordar hechos", sino de "ver por sí mismo" a través de la experimentación. Le enseñará a visualizar lo que está sucediendo en el modelo internamente. Si desea algo más que una mirada superficial a los modelos de aprendizaje automático, este curso es para usted. 

¡Te veo en clases!

 

NOTAS:

Todo el código para este curso se puede descargar desde mi github: / lazyprogrammer / machine_learning_examples

En el directorio: nlp_class2 

Asegúrese de que siempre "git pull" para que tenga la última versión!

CONSEJOS (para obtener el curso):

·      Míralo a 2x.

·      Tome notas escritas a mano. Esto aumentará drásticamente su capacidad de retener la información.

·      Escriba las ecuaciones. Si no lo haces, te garantizo que sólo se verá como un charlatán.

·      Haga muchas preguntas en el tablero de discusión. ¡Mientras más, mejor!

·      Darse cuenta de que la mayoría de los ejercicios le llevará días o semanas para completar.

·      Escriba el código usted mismo, no sólo sentarse allí y mirar mi código.

ORDEN DE CURSO ÚTIL:

·      (La pila Numpy en Python)

·      Regresión lineal en Python

·      Regresión Logística en Python

·      (Aprendizaje supervisado de la máquina en Python)

·      (Bayesian Machine Learning en Python: Pruebas A / B)

·      Aprendizaje Profundo en Python

·      Aprendizaje profundo práctico en Theano y TensorFlow

·      (Supervised Machine Learning en Python 2: Ensemble Methods)

·      Redes Neuronales Convolucionales en Python

·      (PNL fácil)

·      (Análisis de Cluster y Aprendizaje Automático no Supervisado)

·      Aprendizaje profundo sin supervisión

·      (Modelos ocultos de Markov)

·      Redes neuronales recurrentes en Python

·      Inteligencia Artificial: Aprendizaje de Refuerzo en Python

·      Procesamiento del Lenguaje Natural con Aprendizaje Profundo en Python

DIFÍCILES PRERREQUISITOS / CONOCIMIENTOS USTED ES ASUMADO A TENER:

·      cálculo

·      álgebra lineal

·      probabilidad (distribuciones condicionales y conjuntas)

·      Codificación Python: if / else, loops, lists, dicts, sets

·      Codificación Numpy: operaciones matriciales y vectoriales, cargando un archivo CSV

·      redes neuronales y backpropagation, ser capaz de derivar y codificar algoritmos de descenso gradiente por su cuenta

·      Puede escribir una red neuronal feedforward en Theano y TensorFlow

·      Puede escribir una red neural recurrente / LSTM / GRU en Theano y TensorFlow a partir de primitivas básicas, especialmente la función de exploración

·      Útil para tener experiencia con algoritmos de árbol

¿A quién está dirigido? 

·      Estudiantes y profesionales que desean crear representaciones vectoriales de palabras para diversas tareas de PNL

·      Los estudiantes y profesionales interesados en arquitecturas de redes neuronales de vanguardia como las redes neuronales recursivas

·      NO DEBE: Cualquiera que no se sienta cómodo con los requisitos previos.

 

Read 849 times Last modified on Lunes, 12 Noviembre 2018 21:17