Ir al contenido principal

Entradas

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...

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 ...

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 d...

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 ...

PLN centrado en tus datos con Rubrix

El lunes 15 de noviembre a las 18.00h Daniel Vila Suero nos presentará  Rubrix , una herramienta libre y gratuita para crear, gestionar y cuidar tus datos de entrenamiento de una manera eficaz involucrando distintos perfiles en el desarrollo de modelos PLN: científicos de datos, lingüistas, expertos de dominio e ingenieros. Rubrix, herramienta Python desarrollada por Recognai, es el resultado de casi 5 años desarrollando soluciones de PLN para empresas, contribuyendo a librerías de código abierto como spaCy o AllenNLP y publicando modelos pre-entrenados en Hugging Face como el reciente Selectra . Pero ¿qué es Rubrix? ¿qué lo hace diferente? y, sobre todo, ¿para qué lo necesitas? Todas estas preguntas (y cualquier otra que se os ocurra), las intentaremos resolver a través de ejemplos prácticos, con modelos y datos en español. En cualquier caso, si antes de apuntarte quieres saber un poco más, sigue leyendo. Con modelos del lenguaje cada vez más potentes y accesibles es más fácil q...

Recomendación del mes de octubre: Mastering Spacy

  La recomendación de este mes de octubre ha estado reñida pero finalmente hemos elegido una guía práctica para implementar NLP usando la librería de "fortaleza industrial" (tal y como la definen sus creadores) de nombre spaCy . Mastering spaCy Es un libro reciente. Fue publicado en julio del 2021 y cuenta con 356 páginas. Se divide en tres grandes secciones: Getting Started with spaCy : En esta sección se explica cómo instalar la librería, los modelos estadísticos y la herramienta de visualización llamada displaCy . spaCy Features : Donde se centra en las características lingüísticas desde la sintaxis a la semántica, incluye recetas prácticas usando coincidencia de patrones basados en reglas y ahonda en los vectores de palabras y los métodos estadísticos de extracción de información. La sección acaba poniendo en práctica todos estos conceptos en una pipeline NLP. Machine Learning with spaCy : La última sección explica cómo usar el aprendizaje automático con spaCy . C...

Los tópicos están para ayudar

"Vive el momento", "El tiempo pasa irremediablemente", o "El viaje de la vida"... son algunos de los tópicos literarios más extendidos, es decir, expresiones o lugares que por su uso repetitivo se convierten en comunes. Sin embargo, cuando hablamos de tópicos en PLN su significado es bien distinto... o no? El miércoles 20 de octubre a las 18.00h tendremos una charla donde conoceremos, e incluso jugaremos, con modelos probabilísticos de tópicos y los usaremos para hacer búsquedas documentales a gran escala. ¿Cuáles son sus beneficios? ¿Cómo se pueden crear? ¿Qué necesitamos? No hacen falta conocimientos previos. Tan solo ganas y un entorno donde llevar a la práctica lo que veremos. "Los tópicos son sencillos". https://www.meetup.com/es-ES/nlp-spain/events/281408433 La charla será impartida por Carlos Badenes-Olmedo , investigador del Grupo de Ingeniería Ontológica (OEG) de la Universidad Politécnica de Madrid (UPM), y co-fundador de librairy.eu ...

Recomendación del mes de septiembre: Practical Natural Language Processing

El libro de este mes es una guía práctica y bastante completa para entender y aplicar las técnicas del Procesamiento del Lenguaje Natural que más se usan en la industria. Dado el enfoque práctico del libro no se introduce en aspectos teóricos ni detalles técnicos profundos pero si lo suficiente para entender cómo funcionan algunas de estas técnicas: "Practical Natural Language Processing" Se divide en 4 partes: Foundations:  Establece los conceptos básicos sobre los que se apoya el resto del libro. Realiza un "paseo" muy interesante por las áreas donde el NLP tiene aplicación, evolución de las técnicas y diferentes formas de representación del texto Essentials:  Se centra en las aplicaciones más comunes de NLP con especial énfasis en casos de uso reales, mostrando donde aplica diferentes técnicas para un mismo problema. Algunas de la aplicaciones de NLP que se explican en esta parte son: clasificación de textos, extracción de información y el desarrollo de cha...

Del corpus al modelo NLP: cómo conseguir una conversión eficaz

¿Alguna vez te has preguntado cómo se construye un modelo de Procesamiento de Lenguaje Natural? El 22 de septiembre a las 18.00h hora española daremos una charla, a medias entre una lingüista computacional y una data scientist, donde te contaremos todo el proceso desde el diseño del corpus inicial hasta la construcción del modelo. En la parte lingüística hablaremos de la metodología de anotación por pares y del criterio lingüístico necesario cuando trabajamos con Machine Learning. En la parte de ingeniería, veremos qué son los word embeddings y sus distintas formas de creación, desde las técnicas más conocidas y sencillas (Bag-of-words, TF-IDF) hasta técnicas más novedosas y que ahora están en el top del NLP: los modelos Transformers y su particular manera de crear los word embeddings. Además, te recomendaremos distintas fuentes para obtener corpus y datasets anotados, y algunas librerías python de fácil uso para poner en práctica lo aprendido, implementar tu propio modelo y poder lle...

Creación de conjuntos de datos de PLN desde cero

Este artículo es una traducción libre de otro en inglés sobre la creación de conjuntos de datos de PLN desde cero. Nos ha parecido muy interesante porque en español existen muy pocos conjuntos de datos y este artículo da ideas de cómo abordar el problema desde la experiencia del autor. Os animamos a que lo leáis y si os entran ganas de crear un dataset... ¡No olvidéis de decírnoslo para anunciarlo a bombo y platillo! 😀 . . . Existe la idea errónea de que la mejor manera de crear un conjunto de datos de PLN es definir primero un esquema de anotación riguroso y luego hacer las anotaciones en forma colectiva. El problema es que en realidad es muy difícil adivinar el esquema de anotación correcto desde el principio y, a menudo, esta es la parte más difícil en el lado del modelado (a diferencia del lado comercial). Esto se explica maravillosamente por Matthew Honnibal de spaCy en PyData 2018 . Entonces ¿cuál es la mejor manera de crear un conjunto de datos de PLN etiquetado para resolver u...

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...

Recomendación del mes de agosto: Natural Language Processing with Python and spaCy

Este mes de agosto no podía faltar nuestra recomendación literaria. Hemos elegido el siguiente libro sobre Procesamiento del Lenguaje Natural: "Natural Language Processing with Python and Spacy"   Es un libro muy ameno sobre Spacy y fácil de leer junto a un ordenador para entender las explicaciones mientras se ejecuta el código que proveen. Aunque el libro se escribió para la versión 2 de Spacy es perfectamente aplicable a la 3 a excepción de la parte de entrenado de modelos. Así que si lo que quieres es usar la herramienta y entender cómo funciona Spacy este libro es perfecto para ti. Aprenderás los entresijos de la librería y cómo usar las características lingüísticas para extraer palabras clave, reconocer intenciones e incluso construir un pequeño chatbot con todo lo aprendido en el libro. Os dejamos la tabla de contenidos para que os hagáis un idea mejor: INTRODUCTION Using Python for Natural Language Processing The spaCy Library Who Should Read This Book? What’s i...

Creación de un mini corpus del español con libros de dominio público

Los libros de dominio público son un gran recurso para generar un pequeño corpus del español gracias a la variedad de los textos. En este artículo os explicamos cómo generarlo de una manera muy sencilla a partir de los documentos indexados en la web de  textos.info . En  textos.info  hay más de 4000 libros disponibles para leer y/o descargar. Desde clásicos como "La Ilíada", "La Biblia" o "El Quijote" a libros más "modernos" (comienzos del s.XX) como son "Poeta en Nueva York", "Niebla" o "La Metamorfosis". Requisitos Python 3.8 - Todos los ejemplos que usan python se han ejecutado con esta versión. PyEnv o Conda - Recomendamos el uso de alguna de estas herramientas para la gestión de versiones de Python y los entornos virtuales. Pandoc 2.14 - Herramienta que permite convertir entre varios formatos como puede ser de ePub a texto plano. Requisitos para los scripts de Python Para que los scripts de Python se ejecuten...

Generación de un Corpus del Español para PLN usando la Wikipedia

Para poder aplicar las técnicas de Procesamiento de Lenguaje Natural necesitamos muchos textos representativos del idioma en el que se va a aplicar. En el caso de este artículo es el español . Esta gran cantidad de textos se denomina " Corpus " y cuanto más grande y variado sea mejor. Existen corpus ya creados en la red si lo que buscas es usar uno ya construido pero si lo que quieres es tener el control de la generación de tu propio corpus o simplemente quieres generar tu propio corpus en español, entonces este es tu artículo. Hemos elegido la Wikipedia como fuente de datos ya que proporciona una gran cantidad de entradas en español de muy diferentes temas. Para empezar a jugar está bien, pero para un corpus serio esto no es suficiente ya que no es representativo de las diferentes formas de usar el español. Sin embargo, como decimos, puede ser el punto de partida de algo mucho más grande. Así que pongámonos manos a la obra. Generación del Corpus La generación del corpus re...

Recomendación del mes de Julio: The Conversational Interface

El libro que recomendamos en este mes de julio, antes de comenzar las vacaciones y para disfrutar de los merecidos descansos que todos nos hemos ganado, es esta fantástica obra de los autores Michael McTear, Zoraida Callejas y David Griol: "The Conversational Interface"   Se trata de una introducción completa a las interfaces conversacionales según la reseña del propio libro, pero mas bien diría que es un paseo detallado por cada uno de los aspectos y componentes que forman un sistema conversacional. El libro se compone de cuatro partes: Parte 1: Introduce al lector en los antecedentes de los interfaces conversacionales repasando el recorrido histórico que nos ha traído hasta el punto en el que estamos, e introduciendo conceptos que luego se desarrollan en el resto del libro. Parte 2: Explica las diferentes tecnologías que forman una interfaz conversacional: ASR, NLU, Dialog Manager, NLG, TTS, etc con capítulos prácticos y ejercicios. Parte 3: Analiza varios aspectos como la...

¡Hola Mundo! Presentamos NLP Spain

Nace NLP Spain Cuando estás investigando y aprendiendo sobre procesamiento del lenguaje natural. La gran mayoría de recursos que encuentras son para el inglés. Y es para este idioma con el que poco a poco vas adquiriendo nuevo conocimiento. Pero... ¿Qué pasa cuando quieres aplicar esos conocimientos para un proyecto en español? ¡Efectivamente!, hay poco o nada con lo que trabajar. ¡Hola!, somos NLP Spain, y venimos a cambiar esto. El español es uno de los lenguajes más hablados del mundo, y sin embargo no tiene esta representación necesaria. Nos preguntamos porqué podría ser esto, y una de las respuestas fue la falta de comunidades. Hay poco contenido en español porque hay pocas comunidades que generen ese contenido, uno puede generar contenido por su cuenta, pero como una comunidad no hay nada para esta tarea. Es por esto que decidimos crear una comunidad para que todos puedan aprender y aportar recursos sobre NLP. En el momento de escribir  estas lineas, ya tenemos cerrado el pri...