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

MarIA: El primer modelo de IA masivo de la lengua española

Estos días atrás se ha hablado mucho sobre MarIA, el nuevo modelo de lenguaje en español del Barcelona Supercomputing Center : Nos gustaría recoger en este artículo, extraído de un post escrito por Carmen Torrijos en LinkedIn, algunos datos rápidos: Corpus inicial: 59TB de texto web de los archivos de la Biblioteca Nacional de España. Tiempo de procesamiento para limpiar el corpus: 6.910.000 horas. Corpus limpio sin duplicidades: 201.080.084 documentos limpios (570 GB). Número de tokens: 135.733.450.668 (dato muy NLP). Tiempo de procesamiento para entrenar el modelo: 184.000 horas de procesador y 18.000 horas de CPU. Número de parámetros de los modelos liberados: 125.000.000 y 355.000.000. Y 5 conclusiones: El corpus de texto supera en órdenes de magnitud el tamaño de los existentes hasta el momento en español. Un proyecto así es inaccesible a nivel de empresa o grupo de investigación, debido no ya al acceso al corpus sino a la capacidad de computación necesaria. Es un modelo generali

NLP en español es PLN: Recopilación de artículos introductorios y cursos de PLN en español

El Procesamiento del Lenguaje Natural, o PLN para simplificar, es una rama de la inteligencia artificial y la lingüística aplicada. A nuestro parecer un área muy interesante que conjuga humanidades con la tecnología más puntera. Para que luego digan que hay que elegir entre ciencias o humanidades. Un O exclusivo que nos han inculcado y que no puede estar tan equivocado. En este artículo recopilatorio queríamos poner nuestro granito de arena para ayudar a todos aquellos interesados en el PLN (o NLP si se prefiere aunque La Fundéu no estaría muy contenta ) pero que no están tan familiarizados con las herramientas técnicas que permiten procesar el lenguaje o cómo darle utilidad a los conocimientos tan valiosos sobre lingüística de una manera práctica. La principal diferencia de este artículo con otros es que vamos a intentar que los recursos presentados sirvan o pongan de ejemplo el procesamiento del español, segunda lengua materna más hablada en el mundo después del chino pero que tiene

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