10 - Práctica 1 - Word2Vec: de palabras a vectores
Lección 10 del curso Álgebra Lineal para Ciencia de Datos y Machine Learning.
Tabla de contenido
Introducción
En la lección anterior hablamos de las proyecciones vectoriales y de los cambios de base y vimos sus aplicaciones en Ciencia de Datos y Machine Learning.
En esta lección combinaremos todo lo visto hasta el momento en esta primera parte del curso para abordar una disciplina muy interesante en el Machine Learning: el procesamiento del lenguaje natural.
En particular veremos cómo funciona Word2Vec, un modelo de Machine Learning que permite representar texto de manera vectorial, una tarea esencial del Procesamiento del Lenguaje Natural, y usaremos este modelo para realizar un análisis básico de texto.
Suscríbete y accede al código fuente y al video con la explicación detallada de esta lección. Además podrás disfrutar de todos los cursos de la Academia Online
¿Qué es el Procesamiento del Lenguaje Natural?
El Procesamiento del Lenguaje Natural (o Natural Language Processing, NLP) es un área de las Ciencias Computacionales que busca que los computadores logren comprender el lenguaje humano (principalmente escrito).
La codificación del texto en el NLP
Los computadores sólo pueden procesar cantidades numéricas y por tanto el texto debe ser codificado en este formato.
La codificación vectorial del texto
El uso de vectores para codificar el texto es el enfoque usado en Machine Learning.
Existen varias alternativas para realizar esta codificación, pero las usadas convencionalmente son la codificación one-hot y el uso de embeddings (como los generados precisamente por Word2Vec). Veamos en detalle estas dos alternativas.
Codificación one-hot
En esta codificación cada palabra se codifica como un vector que tendrá el mismo tamaño del vocabulario y donde todas las posiciones se codifican con valores de 0 exceptuando una sola (de allí el término one-hot).
La desventajas de este esquema de codificación son:
- Codificación poco densa lo que la hace ineficiente
- Si el tamaño del vocabulario se incrementa se deberán generar vectores one-hotde mayor tamaño.
Codificación con embeddings: Word2Vec
Como alternativa a la codificación one-hot se pueden entrenar modelos de Machine Learning que son capaces de “aprender” a codificar cada palabra con vectores de menor tamaño y mucho más densos.
Un ejemplo de esto es precisamente Word2Vec que toma como entrada una palabra y genera la codificación correspondiente en formato vectorial (conocido como embedding).
Las principales ventajas de Word2Vec en el procesamiento del lenguaje natural son:
- Realiza una codificación densa (con menos datos) de cada palabra
- Si el tamaño del vocabulario se incrementa, no se requieren embeddingsde mayor tamaño
- Y lo más importante, en el contexto del procesamiento del lenguaje natural, es que palabras con similitudes semánticas tienen embeddings similares. Es decir que, de alguna forma, los embeddings generados guardan relación con el significado de la palabra.
Veamos entonces cómo hacer uso de Word2Vec en Python y cómo realizar un análisis de texto básico con este modelo.
Recuerda suscribirte para acceder al código fuente y al video con la explicación detallada de esta lección. Además podrás disfrutar de todos los cursos de la Academia Online
Conclusión
Muy bien, con esta aplicación práctica ya hemos visto el papel tan importante que juegan los vectores en el Machine Learning y en la Ciencia de Datos, y particularmente en el procesamiento del lenguaje natural. Así que con esto terminamos este primer módulo del curso.
En el segundo módulo nos enfocaremos en las matrices. Y en particular, en la siguiente lección, comenzaremos hablando de las matrices y su importancia en la Ciencia de Datos y el Machine Learning.