Ir al contenido principal

Comprendiendo el lenguaje humano a través del procesamiento del lenguaje natural: técnicas y algoritmos clave

Introducción El procesamiento del lenguaje natural es una rama de la informática que se centra en la comprensión y el procesamiento del lenguaje humano por parte de las máquinas. A través del uso de técnicas y algoritmos especializados, el procesamiento del lenguaje natural nos permite interactuar con las máquinas a través del lenguaje natural, como lo hacemos con otras personas. El procesamiento del lenguaje natural tiene una amplia gama de aplicaciones, desde el análisis de sentimiento en redes sociales hasta la traducción automática y el procesamiento de consultas de búsqueda. Esta tecnología ha revolucionado la forma en que nos comunicamos y accedemos a la información, y su importancia solo ha ido en aumento con el tiempo. A lo largo de los años, el procesamiento del lenguaje natural ha evolucionado gracias a avances en técnicas y algoritmos. En este artículo, exploraremos las técnicas y algoritmos clave que se utilizan en el procesamiento del lenguaje natural y cómo juegan un pape...

IA Conversacional a Velocidad Absurda

 


El próximo jueves 2 de junio a las 18.00 CET volvemos con una charla sobre los sistemas conversacionales. 

Uno de los principales problemas a la hora de hacer un chatbot, agente o IA Conversacional es la clasificación hacia el intent, es decir, dada una frase del usuario saber a qué intent se refiere. Hoy en día para esta tarea, y especialmente tras el paper "Attention is all you need", se utilizan modelos cada vez más grandes y costosos de entrenar.

Pero hay proyectos con necesidades especiales en cuanto a performance. ¿Qué sucede si nos piden ser capaces de contestar a más de 1.000 frases de usuarios por segundo? ¿Y si son 10.000? ¿Son estos modelos los más adecuados entonces? ¿Son tal vez los NLU comerciales como Microsoft LUIS o Dialogflow? ¿Cuáles serían los costos? Como spoiler, Hugging Face lanzó hace 7 meses Infinity, que consigue 1000 utterances por segundo con modelos BERT, pero cuyo coste es de 20.000$ anuales. En este meetup vamos a ver cómo llegar a más de 1000 utterances por segundo desplegando en un servidor gratuito y usando sólo CPU.

Partamos de cero y empecemos con lo más básico: el perceptrón. Con un único perceptrón por cada intent, y usando algo tan clásico como el One Hot Encoding, vamos a buscar tener cifras de accuracy bastante buenas, para luego cambiar la forma de representar la información para poder llegar a cifras muy superiores a 1000 frases por segundo. Compararemos el accuracy de esta prueba con modelos XLM-R, mT5 y con el DIET de RASA usando la corpora Amazon Massive, una corpora enorme en 51 lenguajes con 60 intents por cada lenguaje y unas 16121 utterances por cada lenguaje, repartidas entre train, test y dev. Mejoraremos ese accuracy para los 51 lenguajes gracias a la lingüística.

Finalmente, cuando el cuello de botella ya no esté en la red neural, veremos cómo desplegarlo como una API que dé los mejores resultados, cómo afinarlo para ir incluso mejor, y qué resultados da desplegando en diferentes servidores. Nuestro objetivo: más de 10.000 utterances por segundo servidas por API con un coste de menos de 100$ al mes.


Jesús Seijas de la Fuente

Jesús es un nómada digital, autor de NLP.js. Lleva años en proyectos de inteligencia artificial, principalmente visión por computador e IA conversacional, de esta última llevando proyectos de chatbots, voicebots y análisis documental.




Comentarios

Entradas populares de este blog

Comprendiendo el lenguaje humano a través del procesamiento del lenguaje natural: técnicas y algoritmos clave

Introducción El procesamiento del lenguaje natural es una rama de la informática que se centra en la comprensión y el procesamiento del lenguaje humano por parte de las máquinas. A través del uso de técnicas y algoritmos especializados, el procesamiento del lenguaje natural nos permite interactuar con las máquinas a través del lenguaje natural, como lo hacemos con otras personas. El procesamiento del lenguaje natural tiene una amplia gama de aplicaciones, desde el análisis de sentimiento en redes sociales hasta la traducción automática y el procesamiento de consultas de búsqueda. Esta tecnología ha revolucionado la forma en que nos comunicamos y accedemos a la información, y su importancia solo ha ido en aumento con el tiempo. A lo largo de los años, el procesamiento del lenguaje natural ha evolucionado gracias a avances en técnicas y algoritmos. En este artículo, exploraremos las técnicas y algoritmos clave que se utilizan en el procesamiento del lenguaje natural y cómo juegan un pape...

Avanzando en la detección del lenguaje ofensivo en español

SHARE y OffendES_spans: dos nuevos recursos para combatir el lenguaje ofensivo textual. Durante la charla se presentarán dos recursos lingüísticos recientemente generados que serán clave para avanzar en la investigación del lenguaje ofensivo en español: SHARE y OffendES_spans.  SHARE es un recurso léxico con más de 10.000 términos y expresiones ofensivas por parte de la comunidad de hispanohablantes. Para el desarrollo de este recurso se ha utilizado Fiero, un popular chatbot desarrollado para entablar una conversación con los usuarios y recoger insultos y expresiones a través de la plataforma de mensajería de Telegram. Este vocabulario fue etiquetado manualmente por cinco anotadoras obteniendo un coeficiente kappa del 78,8%.  La generación de SHARE ha permitido liberar el primer corpus en español para el reconocimiento de entidades ofensivas, llamado OffendES_spans, cuya evaluación se ha llevado a cabo a través del desarrollo de uno de los primeros sistemas computacionales en...

Cómo ajustar tu propio modelo de lenguaje generativo

¿Has oído hablar de GPT2, GPT3 u OPT? Estos son algunos de los modelos generativos de lenguaje más conocidos y utilizados a día de hoy, con aplicaciones en múltiples ámbitos como chatbots, question answering o autocompleción, entre otros. La generación del lenguaje natural es uno de los subcampos del PLN que más ha evolucionado en los últimos años gracias a los grandes volúmenes de datos disponibles y al aumento en la capacidad de cómputo. Son múltiples las empresas que compiten por construir modelos que sean capaces de simular con mayor precisión la escritura humana, contribuyendo a su vez a la democratización del PLN haciendo públicos estos modelos. No obstante, en la mayoría de los casos prácticos, no será suficiente utilizar estos modelos pre-entrenados de forma directa, sino que será necesario adaptarlos al ámbito lingüístico o a la tarea que queramos abordar. En esta charla, te explicaremos los conceptos básicos subyacentes a estos modelos, además de cómo utilizar estos modelos ...