Extractive text summarization
Jan 30, 2024
Foto de Monstera Production no Pexels.
Criar resumos de textos é uma tarefa muito comum no dia a dia. Tenho certeza (espero estar certo) de que você já precisou criar um resumo, seja de algum conteúdo da escola ou faculdade, uma notícia, um relatório do trabalho ou até mesmo uma fofoca.
O ser humano representa o nível mais alto de complexidade na escala evolutiva. Não cabe a este artigo dizer o que o cérebro humano faz ao pensar, muito menos quais reações metabólicas acontecem ao resumir textos. Mas posso afirmar que cada pessoa realiza esta tarefa a sua maneira: selecionando os tópicos chaves, reescrevendo trechos e/ou complementando outros.
Mas você por acaso já parou para pensar:
“Será que o computador é capaz de resumir um texto?”
Respondendo a questão brevemente: sim, o computador é capaz de resumir textos! Pesquisando por "resumir texto" no Google sou capaz de encontrar dezenas de sites que fazem essa tarefa. Além disso, temos o ChatGPT, uma ferramenta muito poderosa para qualquer tipo de atividade.
Pois bem, vamos melhorar essa pergunta:
“Como o computador resume um texto?”
Ah, agora o assunto se torna mais interessante. Pois bem, vamos ver o que o ChatGPT tem a nos dizer.
“Carlos: How do you summarize texts? Please, give a small response.
ChatGPT: I use natural language processing techniques to identify key information and condense it into a concise summary, capturing the main points of the text.”
Podemos ir mais a fundo e perguntar que tipo de técnica é utilizada pela IA:
“Carlos: What technique do you use?
ChatGPT: I employ a combination of extractive and abstractive summarization techniques, utilizing algorithms like TextRank for extractive summarization and neural network-based models for abstractive summarization.”
Bem interessante, não é? A IA usou dois termos muito comuns na comunidade que estuda text summarization: extractive and abstractive summarization techniques. Essas são as duas técnicas mais comuns para gerar resumos de textos. Vamos nos aprofundar em cada um deles.
Extractive text summarization
Nesta técnica de resumo, trechos do próprio texto são utilizados para gerar o resumo final. O algritmo atribui pesos para os parágrafos de acordo com a sua relevância para o tema. Ao final, são selecionados uma amostra dos parâgrafos mais relevantes. Estes parâgrafos são agrupados para então gerar o resumo final.
Abstractive text summarization
Esta técnica vai além da técnica anterior, o algoritmo é capaz de selecionar as ideias principais do texto e gerar um resumo reescrevendo novas frases e parágrafos que não aparecem no texto. Por conta disso, esta técnica se torna muito mais complexa porque é preciso identificar os pontos chanves do texto e reescrever um resumo coerente.
Como criar resumos usando extractive text summarization?
Neste exemplo prático, vamos implementar um algoritmo em Python que utiliza da técnica extrativa para gerar resumos de textos. Você vem comigo nessa?