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

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 un problema? Creo que la respuesta está en usar todo lo posible para obtener etiquetas iniciales rápidamente, luego refinar estas etiquetas, probar el conjunto de datos e iterar. Solo una vez se haya demostrado una solución, se puede inviertir en anotaciones grandes (pero solo si se puede demostrar que tiene valor comercial).

Siempre hay formas de obtener etiquetas aproximadas:
  • Heurística basada en el conocimiento del dominio. 
  • Métodos basados ​​en reglas del análisis de dependencia (que son maravillosamente precisos con los analizadores de dependencia neuronal modernos). 
  • Tomando un conjunto de datos etiquetado externo y modelando las etiquetas en su conjunto de datos. 
  • Usar datos complementarios, como datos de comportamiento (piense en la factorización matricial) para mapear los datos en un espacio.

Una vez se tengan etiquetas aproximadas, se pueden refinar: 
  • Se puede utilizar la programación de datos para fusionar datos de varias etiquetadoras de ruido (noise labellers) para obtener una propuesta de etiquetas. 
  • Se pueden entrenar modelos usando las etiquetas probabilísticas para obtener un clasificador inicial. 
  • Luego, se puede utilizar el aprendizaje activo para mejorar rápidamente el rendimiento y llegar a un modelo lo suficientemente bueno como para verificar la viabilidad.

No creo que haya buenos recursos sobre cómo hacer todo este proceso de principio a fin, pero es muy valioso el poder tomar texto sin etiquetar y, en unos pocos días, tener un proceso para extraer información significativa de él.

Original: https://skeptric.com/nlp-dataset-bootstrap/

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