Resumo de texto com Scikit-LLM – MachineLearningMastery.com


Neste artigo, você aprenderá como usar o recurso de resumo de texto do scikit-LLM para lidar com grandes volumes de texto em pipelines de aprendizado de máquina.

Os tópicos que cobriremos incluem:

  • Como construir um transformador personalizado compatível com scikit-learn que envolve um modelo de resumo Hugging Face.
  • Como integrar o resumo de texto baseado em LLM em um pipeline scikit-learn para pré-processamento de dados.
  • Como encadear o resumo, a vetorização TF-IDF e um classificador em um único pipeline de ponta a ponta.
Resumo de texto com Scikit-LLM – MachineLearningMastery.com

Resumo de texto com Scikit-LLM
Imagem por Editor

Introdução

Em um postagem anteriorapresentamos scikit-LLMuma biblioteca que preenche a lacuna entre os modelos tradicionais de aprendizado de máquina e os modelos modernos de grandes linguagens (LLMs). Em explicit, mostramos como implementar casos de uso de classificação zero-shot e poucos-shot com scikit-LLM.

Agora, tentamos responder à pergunta: E se nosso caso de uso de aprendizado de máquina downstream for prejudicado por grandes quantidades de texto? Para enfrentar esse desafio, exploraremos e usaremos resumidores: outro recurso poderoso desta biblioteca que destila textos longos em resumos sucintos. Vamos ver como, implementando um pipeline de preparação de dados que incorpore esse processo!

Configuração inicial

A primeira etapa é certificar-se de que o scikit-LLM está instalado – substitua “pip” por “!pip” se estiver trabalhando em um ambiente de pocket book em nuvem:

Observe que, por padrão, o scikit-LLM recorre a modelos de linguagem OpenAI, cuja execução repetida pode ser cara ou cujo número de usos pode ser muito limitado em uma conta OpenAI gratuita. Como alternativa, você pode usar modelos pré-treinados gratuitos do Hugging Face para resumo, como sshleifer/distilbart-cnn-12-6. Nesse caso, certifique-se de instalar também a biblioteca Transformers do Hugging Face, para poder carregar modelos do Hugging Face em seu programa.

Pipeline de resumo de texto baseado em LLM

A definição de classe a seguir abrange a lógica para carregar um modelo pré-treinado (match()) e aplicar inferência sobre ele, ou seja, resumir os textos de entrada (rework()):

É importante ressaltar que a classe que definimos herda de lessons de transformadores personalizados: uma etapa necessária para garantir que os modelos Hugging Face se integrem perfeitamente com scikit-aprender ferramentas de pré-processamento e modelagem.

Para simplificar, digamos que resumiremos apenas duas revisões de texto que fazem parte de um conjunto de dados maior para classificação de texto. Os dois textos “longos” (recursos) e os sentimentos das avaliações (rótulos) poderiam ser assim:

A verdadeira magia acontece a seguir. Definimos um pipeline que reúne nosso pré-processamento de dados – ou seja, resumo orientado por LLM – e o treinamento de um classificador. Em um cenário actual, você precisará de muito mais do que dois exemplos de treinamento para construir um classificador adequado, é claro, mas o objetivo aqui é ilustrar como o resumo de texto pode reduzir a dimensionalidade dos dados de texto:

Depois que o pipeline for definido, veja como executá-lo:

Isso é tudo! Tente adaptar o código acima a um conjunto de dados de texto rotulado actual para classificação de sentimento binário e veja como funciona na prática.

Antes de encerrarmos, se você estiver curioso para saber como são os textos resumidos, você pode inspecionar a saída diretamente:

Os resumos estão, obviamente, longe da qualidade que você obteria no ChatGPT ou no Google Gemini – afinal, o modelo que usamos é um modelo pré-treinado, leve e gratuito. Dito isto, escolher modelos mais potentes certamente trará melhores resultados.

Resumo

Preenchemos a lacuna entre a modelagem clássica de aprendizado de máquina e o processamento avançado de texto por meio de grandes modelos de linguagem pré-treinados, graças ao scikit-LLM: uma biblioteca que aproveita o melhor dos dois mundos.

Deixe um comentário

O seu endereço de e-mail não será publicado. Campos obrigatórios são marcados com *