Para abordar este problema, nos inspiramos en cómo los humanos aprendemos adecuadamente a partir de un número relativamente pequeño de ejemplos: mediante generalización.
Los algoritmos de aprendizaje automático más sofisticados tratan de incorporar mecanismos de generalización que permitan tratar casos nunca vistos.
En particular, en el lenguaje natural, la generalización suele involucrar acercarnos
al significado o a la intención subyacente al texto. Más técnicamente, queremos acercarnos a la causa latente que generó una expresión lingüística. Por ejemplo, para describir un texto, en lugar de quedarnos en las palabras que lo componen, queremos
llegar hasta los conceptos que expresa (independientemente de las palabras
que use para expresarlos) o hasta la intención comunicativa del autor (convencer, conmover, argumentar, cuestionar, apelar…).
En este camino nos encontramos con métodos alentadores: los llamados “proyectivos” o “de embeddings”.
Inferir los significados: Hipótesis distribucional
Ya Zellig Harris, en 1954, desarrolló la hipótesis distribucional, que sostiene que podemos inferir el significado de una palabra sobre la base de las otras que la rodean. Por ejemplo, si no sabemos lo que es un “lichi”, a partir del ejemplo de texto que utiliza
esta palabra podemos obtener algunas conclusiones: que los chefs usan lichis en sus platos, que tienen un sabor ligeramente dulce, que son tropicales… de esta forma podemos construir su significado.
La hipótesis distribucional no es nueva y se ha aplicado en diferentes versiones, pero en los últimos años ha conocido un gran desarrollo gracias a los embeddings neuronales. Como en los enfoques clásicos basados en la hipótesis distribucional, los embeddings neuronales parten de una representación de las palabras en un espacio vectorial, donde cada dimensión es una de las palabras que puede acompañar a otra palabra en un texto. Pero los embeddings neuronales aportan dos grandes avances: primero, obtienen información a partir de texto sin procesamiento humano adicional. Por otro lado, se pueden calcular de forma distribuida, y así procesar grandes volúmenes de datos. Estas dos propiedades se complementan perfectamente con dos evoluciones recientes de nuestra sociedad: la gran cantidad de textos disponibles libremente en formato electrónico y la gran capacidad de cómputo.
El resultado de aplicar embeddings neuronales
es descubrir nuevas dimensiones en las que describir las palabras o los textos. En estas nuevas dimensiones, las palabras ya no se caracterizan por las otras palabras que las pueden acompañar, sino por conceptos más abstractos, inferidos de su comportamiento en miles de millones de ejemplos.
Por el momento, no podemos interpretar el significado de estas nuevas dimensiones, pero sí observar que se corresponden bien con nuestras intuiciones sobre el significado. Por ejemplo, si representamos en estas nuevas dimensiones la palabra “rey”, le restamos la representación de “hombre” y le sumamos la representación de “mujer”, obtenemos un punto muy cercano a “reina”. En otras palabras, en estas nuevas dimensiones conseguimos representar que si le sacamos los valores que tienen que ver con lo masculino al concepto “rey” y le agregamos
los valores que describen lo femenino, entonces cambiamos su significado a algo similar a “reina”.
Uno de los casos más icónicos es el algoritmo word2vec, implementado por Mikolov en el año 2013. Este algoritmo y otros semejantes se han aplicado para obtener embeddings neuronales de palabras, mejorando el rendimiento en multitud de tareas
de procesamiento del lenguaje natural. Pero su efectividad no se limita al lenguaje natural: también en el procesamiento de imágenes los embeddings neuronales están aportando muy buenos resultados. Sin embargo, esta es solo la punta del iceberg en el procesamiento del lenguaje natural; aún queda mucho camino que recorrer hasta llegar a una verdadera comprensión del lenguaje humano.
El resultado de aplicar embeddings neuronales es descubrir nuevas dimensiones en las que describir las palabras o los textos. En estas nuevas dimensiones, las palabras ya no se caracterizan por las otras palabras que las pueden acompañar, sino por conceptos más abstractos, inferidos de su comportamiento en miles de millones de
ejemplos.
Agua, madera y caldo
Pensemos en describir las palabras “agua”, “caldo” y “madera” con puntos en un gráfico cartesiano con un eje X y un eje Y. Solo tenemos dos dimensiones, por lo que solo podremos representar dos aspectos del significado de “agua”, “caldo” y “madera”. Decidimos, al azar, que en el eje horizontal representaremos qué tan líquido es algo,
mientras que en el eje vertical representaremos la cualidad de ser algo artificial. Entonces, “agua” y “caldo” tendrán valores altos en el eje horizontal, porque son efectivamente líquidos, mientras que “madera” estará cerca del valor cero. Por otra parte, “agua” y “madera” no son artificiales, y en el eje vertical pondremos esos puntos en el origen, mientras que “caldo” se encontrará más arriba en nuestro
gráfico. Sin embargo, para representar adecuadamente conceptos complejos necesitamos muchas más que dos dimensiones, por lo que los embeddings son, en realidad, puntos en un espacio de N dimensiones que no podemos visualizar en nuestras mentes, pero que una computadora puede procesar.
https://practia.global