Experiencia de clasificación de texto sin entrenamiento con Scikit-LLM

Experiencia en la clasificación de texto sin entrenamiento utilizando Scikit-LLM

La clasificación de texto es una de las aplicaciones más comunes del procesamiento del lenguaje natural (NLP). Es la tarea de asignar un conjunto de clases predefinidas a trozos de texto en un documento. La clasificación de texto puede ser útil en muchas aplicaciones, como el análisis de sentimientos, la detección de spam, la modelización de temas, la resumen de documentos y más.

El enfoque estándar para la clasificación de texto consiste en entrenar un modelo de manera supervisada. De todas formas, siguiendo esta metodología, los resultados dependen de la disponibilidad de datos de entrenamiento etiquetados manualmente. Por ejemplo, en aplicaciones del mundo real, la disponibilidad de datos puede ser un problema y la clasificación de texto con cero uso es un nuevo enfoque que está ganando popularidad.

¿Qué es la clasificación de texto con cero uso?

Antes de introducir la clasificación de texto con cero uso, es necesario hablar sobre el aprendizaje con cero uso que tiene como objetivo realizar modelado utilizando una menor cantidad de datos etiquetados. Sí, exactamente, se puede pensar en él como una instancia de transferencia de aprendizaje, que es un método de aprendizaje automático donde un modelo desarrollado para una tarea se reutiliza como punto de partida para un modelo en una segunda tarea. Explota el concepto del aprendizaje por experiencia. Este método es útil cuando hay menos cantidad de datos etiquetados disponibles. La clasificación de texto es una tarea de procesamiento del lenguaje natural donde el modelo predice las clases de trozos de texto en un documento. El enfoque tradicional requiere una gran cantidad de datos etiquetados para entrenar el modelo y falla cuando no hay suficientes datos etiquetados en el proceso de entrenamiento. Al resolver la tarea de clasificación de texto con aprendizaje de cero uso, obtenemos la clasificación de texto con cero uso, que tiene la tarea de clasificar documentos de texto sin haber visto ninguna clase de texto etiquetado durante el proceso de entrenamiento, y una forma de hacerlo es mediante el uso de la inferencia de lenguaje natural (NLI) propuesta por Yin et al (2019). Puedes encontrar implementaciones de clasificación de cero uso en los modelos transformadores y en el repositorio de Hugging Face, donde estos modelos están disponibles.

¿Qué es Scikit-LLM?

Scikit-learn es una de las bibliotecas de Python de código abierto más conocidas y ampliamente utilizadas en el campo del aprendizaje automático por científicos de datos debido a su amplia gama de modelos y su facilidad de uso. Puedes resolver cualquier tarea, desde regresión hasta clasificación, desde agrupación hasta reducción de dimensionalidad, utilizando solo una biblioteca. Scikit-LLM es una biblioteca de Python que incorpora grandes modelos de lenguaje en el marco de scikit-learn. Es una herramienta para realizar tareas de procesamiento del lenguaje natural (NLP) dentro del pipeline de Scikit-Learn. Scikit-LLM está creciendo, comenzó a integrar modelos de OpenAI (como ChatGPT) y ahora PaLM 2. Por ejemplo, es un envoltorio de la API de OpenAI.

Siempre refiriéndonos a la interfaz con OpenAI, a continuación se presentan las características proporcionadas por Scikit-LLM:

-Clasificación de texto con cero uso

-Clasificación de texto con pocos datos

-Clasificación de texto con pocos datos dinámica

-Clasificación de texto con cero uso y múltiples etiquetas

-Vectorización de texto

-Traducción de texto

-Resumen de texto

Objetivo del análisis

El objetivo del trabajo es explorar el rendimiento de los modelos GPT:

-GPT-3.5 turbo con capacidad para 4,097 tokens

-GPT-3.5 turbo-16k con capacidad para 16,385 tokens

-GPT-4 con capacidad para 8,192 tokens

mediante el enfoque de clasificación de texto con cero uso utilizando dos conjuntos de datos.

El primero se trata del análisis de sentimientos en un conjunto de datos financieros con 3 polaridades: positiva, neutral y negativa.

El segundo se trata de la clasificación de texto en un conjunto de datos de artículos de CNN con 6 etiquetas: negocios, entretenimiento, salud, noticias, política y deporte.

En ambas situaciones, se han utilizado muestras recuperadas con muestreo estratificado y un tamaño de muestra del 10% del conjunto de datos completo para ahorrar esfuerzo computacional.

Dado que ambos conjuntos de datos están etiquetados, se ha permitido una evaluación de resultados, primero con la matriz de confusión y luego con el puntaje F1 adaptado para la clasificación multiclase: puntaje F1 promediado por micro.

La experiencia se puede seguir en este cuaderno.

Análisis

La primera tarea utiliza un conjunto de datos para el análisis de sentimientos financieros basado en oraciones financieras con etiquetas de sentimiento y 5842 filas.

Hay 3 etiquetas de sentimiento con la predominancia de la clase “neutral”, y el experimento se realizó en 584 filas.

Al observar la matriz de confusión de GPT-4, podemos ver una asignación bastante buena en la diagonal izquierda de los datos predichos.

A partir del puntaje F1, todos los modelos alcanzan más del 70% del puntaje. GPT-4, como se esperaba, es el modelo de mejor rendimiento en el primer experimento.

La segunda tarea utiliza un conjunto de datos para la clasificación de texto multiclase basada en noticias de CNN recopiladas de 2013 a 2022 con 11 variables y 9307 filas.

La columna “part_of” representa la categoría de la noticia, y se han utilizado etiquetas para la variable objetivo, mientras que la columna “Description” se ha utilizado para realizar una clasificación de texto sin etiquetas.

Hay 6 clases, con la predominancia de las clases “noticias” y “deporte”, y el experimento se realizó en 931 filas.

Al observar la matriz de confusión de GPT-4, podemos ver una asignación mejorada en la diagonal izquierda de los datos predichos en comparación con la primera tarea.

A partir del puntaje F1, los modelos GPT-3.5 alcanzan un rendimiento ligeramente inferior que en la primera tarea, pero más del 70% del puntaje. GPT-4 tiene un mejor rendimiento, superando a los demás modelos y alcanzando más del 80% del puntaje.

Pensamientos finales

GPT-3.5 turbo 16k tiene un rendimiento ligeramente inferior que GPT-3.5 turbo, pero es más rápido. Por otro lado, GPT-4 supera el análisis de sentimientos y la clasificación de texto multiclase y es mucho mejor en este último, pero es más lento y más caro que los demás.

Al ejecutar el cuaderno en los conjuntos de datos completos, estos resultados podrían ser ligeramente diferentes porque he tomado una muestra estratificada igual al 10% del tamaño de los conjuntos de datos, que es lo mismo que dividir su conjunto de datos en diez pliegues con validación cruzada estratificada y seleccionar solo un pliegue. Además, en Scikit-LLM, hasta ahora no se ha tenido la oportunidad de ajustar la característica de temperatura para tener resultados más deterministas.

De todas formas, creo que es bueno tener una idea sobre las capacidades que estos modelos son capaces de alcanzar con un enfoque de clasificación de texto sin entrenamiento. Por lo tanto, la clasificación de texto sin entrenamiento podría ser una solución cuando los datos de entrenamiento son menos accesibles o cuando no existen. Su aplicabilidad universal los hace muy atractivos, aunque el ajuste fino de modelos previamente entrenados, sin duda, todavía los supera. Sin duda, el aprendizaje sin entrenamiento podría crecer en relevancia en los próximos años porque los modelos de lenguaje grandes están cambiando el juego en la forma en que usamos los modelos para resolver tareas.

Lo último que hay que decir sobre Scikit-LLM es que es una herramienta poderosa para el procesamiento del lenguaje natural (NLP), que combina la versatilidad de la biblioteca Scikit-Learn con el potencial que proviene de los Grandes Modelos de Lenguaje. Sin duda, no se puede comparar con LangChain, pero está creciendo y seguramente puede ser útil.

Referencias

Notebook

Datos financieros

Artículos de noticias de CNN

-Clasificación de texto sin entrenamiento por statworx

-Benchmarks para Clasificación de Texto sin Entrenamiento: Conjuntos de datos, evaluación y enfoque de implicación

-Modelos de OpenAI

Scikit-LLM

We will continue to update Zepes; if you have any questions or suggestions, please contact us!

Share:

Was this article helpful?

93 out of 132 found this helpful

Discover more

Inteligencia Artificial

Microsoft AI propone MM-REACT un paradigma del sistema que combina ChatGPT y expertos en visión para un razonamiento y acción multimodal avanzados.

Los Grandes Modelos de Lenguaje (LLMs) están avanzando rápidamente y contribuyendo a transformaciones económicas y so...

Inteligencia Artificial

Apple entra en la competencia de la IA generativa con el chatbot 'AppleGPT

El gigante tecnológico Apple sigue adelante con su esperado chatbot impulsado por IA, tentativamente llamado “A...

Inteligencia Artificial

Gafas utilizan sonar e inteligencia artificial para interpretar posturas del cuerpo superior en 3D

Investigadores de la Universidad de Cornell han desarrollado un dispositivo portátil que utiliza ondas sonoras inaudi...

Inteligencia Artificial

Investigadores de Stanford proponen 'EquivAct' Un avance en el aprendizaje de robots para generalizar tareas en diferentes escalas y orientaciones

Los seres humanos pueden extrapolar y aprender a resolver variaciones de una tarea de manipulación si los objetos inv...

Inteligencia Artificial

Después de los comentaristas, la IA podría reemplazar a los jueces de línea en Wimbledon

Wimbledon, conocido por sus ricas tradiciones y prestigiosos partidos de tenis, está contemplando un cambio significa...