Con el volumen de información en texto que se genera cada vez más en Internet, es esencial tener herramientas que procesen y analicen esos datos, para no perdernos lo que está pasando ahí y utilizarlo para mejorar nuestros servicios.
Uno de los últimos webinar de Spain AI contó con Álvaro Barbero, chief data scientist en el IIC, para ponerse al día en Procesamiento del Lenguaje Natural (PLN). Desde los embeddings, pasando por los modelos de lenguaje y hasta llegar a los Transformers, se hizo un repaso de la evolución de estas técnicas que cada vez tienen más en cuenta el contexto de las palabras y los textos que se analizan.
Nuevos modelos de PLN: una evolución para ganar contexto
La esencia del PLN es trasladar el lenguaje natural a un lenguaje numérico con el que los modelos de machine learning puedan trabajar. De esta forma, se pueden hacer diferentes tareas automáticamente: clasificar de textos, etiquetar palabras/entidades (tagging) o extraer información en base a una pregunta.
Para ello, un primer paso del análisis de texto suele ser el proceso de tokenizacion: separar por palabras, pero también los signos de puntuación. Con esto, surgieron los primeros métodos para representar los textos: el Bag of Words, con un diccionario de índices asociados a cada palabra, y el Word Embedding, por el que cada palabra se transforma en un vector numérico y que puede conseguir, con la media de estos, representar el texto entero.
Sin embargo, estos métodos no tenían en cuenta el orden de las palabras, importante para el significado. Por ello, se utilizaron redes neuronales recurrentes (un tipo de modelos de mezcla de palabras), que tenían en cuenta la posición de las palabras en la frase y en el texto.
Por último, han sido los modelos Transformer los que han irrumpido en el mundo del PLN. Partiendo de los embeddings, se aplican varias capas, denominadas de autoatención, que “mezclan” los vectores de representación de las palabras hasta conseguir otros tantos “contextualizados”. Es decir, estos nuevos vectores tendrán información del resto del texto: no solo de la palabra, sino también de cómo se usa en un documento y qué otras la acompañan.
Es más, el modelo aprende qué palabras puede mezclar o es interesante que mezcle para ganar contexto. Según explicaba Álvaro Barbero, se puede calcular el nivel de “match” o afinidad entre las palabras. Como en la sintaxis, los adjetivos encajan con los nombres y los nombres con los verbos.
Por ejemplo, la palabra banco se representaría siempre con el mismo vector al principio del proceso, independientemente de si se refiere a un asiento o a una empresa. Una vez aplicadas las capas de autoatención, el vector sería diferente para un significado u otro en base a su contexto.
Al final, se trata de modelos que transforman el texto con muchos componentes de Deep Learning. El modelo más famoso que utiliza estas técnicas es el BERT, con 12 capas de Transformers, aunque en los últimos años ha habido un gran crecimiento, llegando a modelos con decenas de capas que alcanzan resultados nunca vistos en tareas de PLN.
Como cierre del webinar, se realizó un ejemplo práctico, demostrando cómo estas técnicas de PLN pueden resolver un problema de detección de comentarios tóxicos en redes sociales, aun contando con pocos datos disponibles para ello. En el IIC, llevamos más de una década trabajando en el mundo del Procesamiento del Lenguaje Natural, incorporando las últimas tecnologías en nuestros productos y servicios.