¿Qué es la incrustación de palabras?
La incrustación de palabras establece una conexión entre una o varias palabras introducidas y el diccionario de un red neuronal. El término incrustación contiene la palabra embedding, que tiene su origen en las matemáticas. - En pocas palabras, se trata de un subconjunto de un conjunto mayor. Como subconjunto del Procesamiento del lenguaje natural (PLN) y de la aprendizaje automático esta forma de mapeo se utiliza para el procesamiento del lenguaje natural.
Los casos típicos de uso de la PNL, y por lo tanto también de la incrustación de palabras, son la traducción automática. - Se trata de traductores como Google Translate o DeepL Translate. La medida en que los algoritmos influyen en la calidad del resultado o del texto traducido la deciden los procedimientos utilizados en el algoritmo.
¿Qué formas de incrustación de palabras existen?
El El principio más sencillo de la incrustación de palabras es el Enfoque de bolsa de palabras. En este método, se define un conjunto de palabras, en el que cada palabra se representa como un número natural y el orden no importa. Las palabras pueden repetirse; las repeticiones se cuentan. Complementado con un procedimiento de clasificación estadística, puede utilizarse, por ejemplo, para determinar si un correo electrónico es spam o no analizando la frecuencia de las palabras explícitas.
En Ampliación del método de la bolsa de palabras, Word2Vec representa cada palabra como un valor multidimensional. Esta representación permite visualizar la proximidad a otras palabras en un espacio tridimensional. De este modo, pueden reconocerse las conexiones entre palabras y la inteligencia artificial puede enseñarse. Esto significa que, con la ayuda de Word2Vec, por ejemplo, se determina la palabra que mejor concuerda (con la mayor probabilidad de ser la palabra que falta) y se rellena un hueco en una frase. La representación vectorial multidimensional también puede utilizarse para enseñar nuevas palabras a la red neuronal. Para ello, no se busca la palabra que falta en una frase, sino que se ofrecen dos alternativas para rellenar el hueco. A continuación, la red neuronal aprende las nuevas palabras mediante las denominadas características, lo que se nota en la incrustación en el espacio tridimensional.
Además, el incrustación contextual de palabras una parte esencial de la integración de palabras. El objetivo es reconocer y representar correctamente los distintos significados de los homónimos. En la práctica, este objetivo se consigue mediante la Memoria a corto plazo (LSTM) realizado. Se trata de un módulo que en un principio estaba destinado a mejorar el desarrollo de la inteligencia artificial y así lo hizo. Pero incluso la memoria a largo plazo (LSTM) alcanzó rápidamente nuevos límites. Las redes neuronales con formas lingüísticas similares requieren los llamados mecanismos de atención. Para poder ejecutarlos en paralelo y, en consecuencia, lo suficientemente rápido, en 2018 se lanzó la tecnología BERT, basada en Transformer. BERT se entrenó utilizando Next Sentence Prediction (NSP) y, gracias a este entrenamiento, ahora también puede aprender incrustaciones contextuales.
¿Qué tecnologías se utilizan para aplicar la incrustación de palabras?
Para el tan debatido tema de la traducción automática y el aprendizaje automático en general, existen Numerosas bibliotecas; la mayoría de ellas se basan en la Pythonel lenguaje de programación preferidocuando se trata de inteligencia artificial. Esto se debe a varias razones: En primer lugar, como lenguaje de alto nivel, Python es relativamente fácil de entender y de bajo umbral; en segundo lugar, existen otras bibliotecas útiles además de las de aprendizaje automático; y en tercer lugar, Python es muy flexible, lo que se aprecia, por ejemplo, en el hecho de que el código puede ejecutarse en cualquier plataforma. En cuanto a la aplicación concreta, hay dos bibliotecas a las que se debe prestar especial atención: Keras Sirve como API de bajo umbralgracias al cual las aplicaciones están disponibles de forma sencilla; como backend, es ofrecido por TensorFlow una biblioteca con una arquitectura compleja. Por lo tanto, Keras no es más que una clase envolvente para bibliotecas backend como Theano, PlaidML o MXNet.