Echemos un vistazo a la incorporación de palabras y exploremos brevemente la codificación de una sola aplicación y el uso de un modelo pre-entrenado.

El Procesamiento del Lenguaje Natural ha llamado la atención en los últimos tiempos gracias a la traducción automática, los chatbots, SIRI y Alexa. Si bien muchas personas están procesando datos de texto, un cambio fundamental que se ha producido en los últimos 5 años es la forma en que procesamos los datos de texto.

Codificación One-Hot

Con el fin de asignar datos de texto en una forma que un algoritmo pueda procesar, transformamos los datos en números mediante la codificación de un solo recurso. Lo que básicamente hacemos aquí, tomamos nuestros vocabulario de decir tamaño N y mapeamos este vocabulario en un conjunto de N vectores de 1 y 0, cada uno de tamaño N. Cada vector representa una palabra, la palabra en posición “i” tiene un 1 en el vector en la posición “i” y el resto del vector es 0. Por ejemplo, si nuestro vocabulario consiste en decir cuatro palabras “Computadora”, “Máquina”, “Aprendizaje”, “Idioma”, entonces representamos este conjunto de texto utilizando 4 vectores de tamaño 4 – [1000], [0100], [0010], [0001]. Hace 5 años, así era como procesabamos los datos de texto antes de aplicar cualquier algoritmo.

Incrustación de Palabras

Una de las principales deficiencias que tenía la técnica de codificación One-Hot era que cada palabra tenía una identidad separada. No había forma de averiguar ninguna correlación entre las palabras, descubrir similitudes o relaciones. Hace aproximadamente una década, Yoshua Bengio propuso una nueva forma de representar vectores. Pero la representación realmente captó la fantasía del mundo de Machine Learning cuando Tomas Mikolov publicó su trabajo en Word2Vec en 2013.

La inserción de palabras se basa en la premisa de que las palabras que se usan y que aparecen en los mismos contexto tienden a significar significados similares. Por lo tanto, lo ideal sería que palabras similares tuvieran vectores similares. Word2Vec no solo creó vectores similares para palabras similares, sino que también mostró cómo se pueden realizar cálculos simples en dichos vectores. Un buen ejemplo sería rey-hombre+mujer = reina. Desde entonces, GloVe creado por Stanford NLP Group y FastText de Facebook también se han utilizado ampliamente para el procesamiento de texto. Múltiples incrustaciones de palabras pre-entrenadas están disponibles de forma gratuita en cada una de estas fuentes y se pueden descargar y usar para el aprendizaje de transferencia si sus datos de texto tratan con datos de texto de dominio abierto como el corpus de noticias o datos de twitter.

Uso del Modelo Pre-Entrenado

Creación de su propio modelo incrustado:

El código para crear su propio modelo de word2vec puede ser tan simple como las 5 líneas de código anteriores. Por supuesto, para su propio conjunto de datos, necesita leer los datos, limpiarlos, personalizarlos y luego almacenarlos en forma de una lista de listas como se muestra arriba en las oraciones variables.


Este artículo esta basado en 5 Minute ML: Word Embedding.

Observaciones:

5 Minutos de Machine Learning: Incrustación de palabras
Si te gusto, comparte ...Email this to someone
email
Share on Facebook
Facebook
Tweet about this on Twitter
Twitter
Share on LinkedIn
Linkedin
Share on Google+
Google+
Etiquetado en:    

Deja un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

Facebook