En este artículo te contaremos algunas generalidades sobre los word embeddings, algoritmos muy usados en Natural Language Processing o NLP.
Generalidades sobre los Word Embeddings: ¿qué son?
Como una de las generalidades sobre los word embeddings, es importante definirlos. Son aquellas técnicas y modelos de lenguaje que permiten mapear palabras a vectores de valores continuos. Durante el entrenamiento de dichos vectores se buscará que capturen la información semántica de las palabras.
Gracias a que los vectores tienen información sobre la semántica, mediante operaciones vectoriales podemos encontrar palabras (o documentos) que tienen un significado similar.
La idea principal de este tipo de modelos es que palabras que aparecen en contextos similares tienen semánticas similares. Concepto de sustituibilidad.
Tipos de Word Embeddings
Si hablamos de generalidades sobre los word embeddings, es necesario hablar de los tipos que existen. En este caso son dos:
Word2Vec
Word2Vec es el modelo más famoso de word embeddings. Fue inventado por Tomas Mikolov en 2013 en Google.
Hiperparámetros
Algunos de los hiperparámetros que deberemos tener en cuenta y configuraremos son:
- size: dimensionalidad de las palabras vector.
- window: ventana para obtener el contexto de cada palabra. Se mide en número de palabras máximo entre la palabra actual y la palabra a predecir.
- min_count: frecuencia mínima de aparición de una palabra para que sea considerada en el entrenamiento.
- sg: algoritmo escogido. 1 para Skip – Gram, 0 para CBOW.
- hs: si = 1, se utiliza una softmax jerárquica. Si = 0 y negative != 0, se emplea negative sampling.
- negative: si = 0, no se usa negative sampling. Si es > 0, se usará negative sampling. El valor indica el número de palabras ruidosas que se incluirán (usual entre 5 – 20 para datasets pequeños, entre 2 – 5 para datasets grandes).
Noción de contexto
Atributos
- wv: word vectors, contiene el mapeo entre palabras y vectores (embeddings).
- vocabulary: vocabulario (o diccionario) del modelo.
Negative sampling
Dentro de las generalidades sobre los word embeddings se encuentra el negative sampling.
Cuando se trabaja en NLP, el tamaño del vocabulario suele tener una cardinalidad enorme. Esto afecta a los modelos de lenguaje a la hora de predecir aquellas palabras que, aunque correctas, no son demasiado frecuentes.
Además, contextos muy comunes (como los que podrían ser aquellos en los que se encuentran muchas stopwords) hacen que el entrenamiento sea lento. Se emplea, por tanto, para reducir la carga computacional al problema.
La solución es que cada palabra tenga una determinada probabilidad de ser eliminada del training set. Dicha probabilidad estará relacionada con la frecuencia de repetición de la misma.
Arquitecturas
Para adentrarnos más en las generalidades sobre los word embeddings, hablemos de sus arquitecturas.
CBOW (Continuous Bag of Words)
Durante el entrenamiento, el modelo tratará de predecir la palabra actual dado el contexto en el que se encuentre. La capa de entrada contendrá las palabras-contexto y la de salida será la palabra actual (o palabra a predecir). La capa intermedia tendrá una dimensión igual al número de dimensiones en el que queremos representar la palabra actual a la salida.
Skip Gram
Durante el entrenamiento, el modelo tratará de predecir el contexto (palabras-contexto) a una palabra dada. La capa de entrada contendrá la palabra actual y la de salida serán las palabras contexto. La capa intermedia es análoga a la presente en la arquitectura CBOW.
¿Cuál es mejor?
Si entre todas estas generalidades sobre los word embeddings te surge la duda acerca de cuál es mejor, debes saber que, en general, depende.
CBOW, al haber sido entrenado para predecir una palabra dado un contexto, será algo mejor rellenando huecos, aunque eso puede significar que palabras correctas, pero menos comunes, no aparezcan como resultado algunas veces.
Si atendemos a los comentarios de Mikolov:
- Skip – gram: funciona bien con conjuntos de datos pequeños, representando bien incluso palabras o frases extrañas (poco comunes).
- CBOW: es un entrenamiento varias veces más rápido, su performance es mejor para aquellas palabras más frecuentes que el resto.
¿Quieres seguir avanzando?
Ahora que hemos visto algunas generalidades sobre los word embeddings, es la hora de seguir adelante en nuestro proceso formativo. Para acceder a las ofertas laborales del Big Data, una de las áreas en el mundo IT mejor pagadas y más demandadas, tenemos para ti el Big Data, Inteligencia Artificial & Machine Learning Full Stack Bootcamp. Con esta formación de alta calidad adquirirás, en muy pocos meses, los conocimientos imprescindibles para conseguir el trabajo de tus sueños. ¡No esperes más para impulsar tu futuro y pide información ahora!