Sumarização de Texto no Processamento de Linguagem Natural: Algoritmos, Técnicas e Desafios

Publicados: 2020-08-07

Criar um resumo de um determinado conteúdo é um processo muito abstrato do qual todos participam. Automatizar esse processo pode ajudar a analisar muitos dados e ajudar os humanos a usar melhor seu tempo para tomar decisões cruciais. Com o grande volume de mídia disponível, pode-se ser muito eficiente reduzindo a confusão em torno das informações mais críticas. Já começamos a ver resumos de texto na web que são gerados automaticamente.

Se você frequenta o Reddit, pode ter visto que o 'bot Autotldr' ajuda rotineiramente os Reddits resumindo artigos vinculados em uma determinada postagem. Foi criado em apenas 2011 e já economizou milhares de horas-homem. Existe um mercado para resumos de texto confiáveis, como mostra uma tendência de aplicativos que fazem exatamente isso, como Inshorts (resumir notícias em 60 palavras ou menos) e Blinkist (resumir livros).

Portanto, a sumarização automática de texto é uma fronteira empolgante, porém desafiadora, em Processamento de Linguagem Natural (NLP) e Aprendizado de Máquina (ML). Os desenvolvimentos atuais na Sumarização Automática de Texto devem-se à pesquisa neste campo desde a década de 1950, quando foi publicado o artigo de Hans Peter Luhn intitulado “A criação automática de resumos de literatura”.

Este artigo delineou o uso de recursos como frequência de palavras e frequência de frases para extrair frases essenciais de um documento. Isso foi seguido por outra pesquisa crítica feita por Harold P Edmundson no final da década de 1960, que destacou a presença de palavras-chave, palavras usadas no título que aparecem no texto e a localização de frases para extrair frases de significado de um documento.

Agora que o mundo avançou no aprendizado de máquina e publicou novos estudos na área, a sumarização automática de texto está prestes a se tornar uma ferramenta onipresente para interagir com informações na era digital.

Deve ler: Salário de engenheiro de PNL na Índia

Existem basicamente duas abordagens principais para resumir texto em PNL

Índice

Resumo de texto em PNL

1. Resumo baseado em extração

Como o nome sugere, esta técnica baseia-se apenas em extrair ou retirar frases-chave de um documento. Segue-se a combinação dessas frases-chave para formar um resumo coerente.

2. Resumo baseado em abstração

Essa técnica, ao contrário da extração, depende da capacidade de parafrasear e encurtar partes de um documento. Quando tal abstração é feita corretamente em problemas de aprendizado profundo, pode-se ter certeza de ter uma gramática consistente. Mas, essa camada adicional de complexidade tem o custo de ser mais difícil de desenvolver do que a extração.

Existe outra maneira de criar resumos de maior qualidade. Essa abordagem é chamada de sumarização assistida, que envolve um esforço humano e de software combinado. Isso também vem em 2 sabores diferentes

  1. Sumarização humana assistida por máquina : técnicas extrativas destacam passagens candidatas a serem incluídas, que o humano pode adicionar ou remover texto.
  2. Human aided Machine resumir : o humano simplesmente edita a saída do software.

Além das principais abordagens para resumir o texto, existem outras bases nas quais os resumidores de texto são classificados. A seguir estão esses chefes de categoria:

3. Resumo de documentos únicos versus vários documentos

Documentos únicos contam com a coesão e a repetição infrequente de fatos para gerar resumos. As sumarizações de vários documentos, por outro lado, aumentam a chance de informações redundantes e recorrência.

4. Indicativo vs. informativo

A taxonomia dos resumos depende do objetivo final do usuário. Por exemplo, em resumos de tipo indicativo, seria de esperar pontos de alto nível de um artigo. Considerando que, em uma visão geral informativa, pode-se esperar mais filtragem de tópicos para permitir que o leitor aprofunde o resumo.

5. Comprimento e tipo do documento

O comprimento do texto de entrada influencia fortemente o tipo de abordagem de sumarização.

Os maiores conjuntos de dados de sumarização, como a redação de Cornell, se concentraram em artigos de notícias, que têm cerca de 300 a 1.000 palavras em média. Os sumarizadores extrativos lidam com tais comprimentos relativamente bem. Um documento de várias páginas ou capítulo de um livro só pode ser resumido adequadamente com abordagens mais avançadas, como agrupamento hierárquico ou análise de discurso.

Além disso, o gênero do texto também influencia o resumidor. Os métodos que resumiriam um white paper técnico seriam radicalmente diferentes das técnicas que podem estar mais bem equipadas para resumir uma demonstração financeira.

Neste artigo, vamos nos concentrar em mais detalhes da técnica de sumarização de extração.

Algoritmo de classificação de página

Esse algoritmo ajuda os mecanismos de pesquisa, como o google, a classificar as páginas da web. Vamos entender o algoritmo com um exemplo. Suponha que você tenha quatro páginas da Web com diferentes níveis de conectividade entre elas. Um pode não ter links para os outros três; um pode estar conectado ao outro 2, um pode estar correlacionado a apenas um, e assim por diante.

Podemos então modelar as probabilidades de navegar de uma página para outra usando uma matriz com n linhas e colunas, onde n é o número de páginas da web. Cada elemento dentro da matriz representará a probabilidade de transição de uma página da web para outra. Ao atribuir as probabilidades corretas, pode-se atualizar iterativamente essa matriz para chegar a uma classificação de página da web.

Leia também: Projeto e tópicos de PNL

Algoritmo TextRank

A razão pela qual exploramos o algoritmo PageRank é mostrar como o mesmo algoritmo pode ser usado para classificar texto em vez de páginas da web. Isso pode ser feito alterando a perspectiva, substituindo os links entre as páginas pela semelhança entre as frases e usando a matriz de estilo PageRank como uma pontuação de semelhança.

Implementando o algoritmo TextRank

Bibliotecas necessárias

  • Numby
  • Pandas
  • Ntlk

A seguir está uma explicação do código por trás da técnica de sumarização de extração:

Passo 1

Concatene todo o texto que você tem no documento de origem como um bloco sólido de texto. A razão para fazer isso é fornecer condições para que possamos executar o passo 2 com mais facilidade.

Passo 2

Fornecemos condições que definem uma frase, como procurar sinais de pontuação, como ponto (.), ponto de interrogação (?) e ponto de exclamação (!). Uma vez que tenhamos essa definição, simplesmente dividimos o documento de texto em sentenças.

etapa 3

Agora que temos acesso a sentenças separadas, encontramos representações vetoriais (incorporação de palavras) de cada uma dessas sentenças. É agora que devemos entender o que são representações vetoriais. Embeddings de palavras são um tipo de representação de palavras que fornece uma descrição matemática de palavras com significados semelhantes. Na verdade, essa é uma classe inteira de técnicas que representam palavras como vetores de valor real em um espaço vetorial predefinido.

Cada palavra é representada por um vetor de valor real que tem muitas dimensões (mais de 100 às vezes). A representação da distribuição é baseada no uso de palavras e, assim, permite que palavras usadas de maneiras semelhantes tenham descrições semelhantes. Isso nos permite capturar naturalmente os significados das palavras como por sua proximidade com outras palavras representadas como vetores em si.

Para este guia, usaremos os Vetores Globais de Representação de Palavras (GloVe). O gloVe é o algoritmo de representação de palavras distribuído de código aberto que foi desenvolvido por Pennington em Stanford. Ele combina as características de 2 famílias de modelos, a saber, a fatoração de matrizes globais e os métodos de janela de contexto local.

Passo 4

Uma vez que tenhamos a representação vetorial para nossas palavras, temos que estender o processo para representar sentenças inteiras como vetores. Para isso, podemos buscar as representações vetoriais dos termos que constituem palavras em uma sentença e então a média desses vetores para chegar a um vetor consolidado para a sentença.

Etapa 5

Neste ponto, temos uma representação vetorial para cada sentença individual. Agora é útil quantificar semelhanças entre as sentenças usando a abordagem de similaridade de cosseno. Podemos então preencher uma matriz vazia com as semelhanças de cosseno das sentenças.

Etapa 6

Agora que temos uma matriz preenchida com as semelhanças de cosseno entre as sentenças. Podemos converter esta matriz em um grafo onde os nós representam as sentenças e as arestas representam a similaridade entre as sentenças. É nesse gráfico que usaremos o prático algoritmo PageRank para chegar à classificação das frases.

Etapa 7

Agora, classificamos todas as frases do artigo em ordem de importância. Agora podemos extrair as principais N (digamos 10) frases para criar um resumo.

Para encontrar o código para tal método, existem muitos desses projetos no Github; este artigo, por outro lado, ajuda a desenvolver uma compreensão do mesmo.

Confira: Evolução da Modelagem de Linguagem na Vida Moderna

Técnicas de avaliação

Um fator importante no ajuste desses modelos é ter um método confiável para julgar a qualidade dos resumos produzidos. Isso requer boas técnicas de avaliação, que podem ser amplamente classificadas nas seguintes:

  • Avaliação intrínseca e extrínseca :

Intrínseca: tal avaliação testa o próprio sistema de sumarização. Eles avaliam principalmente a coerência e informatividade do resumo.

Extrínseca: tal avaliação testa a sumarização com base em como ela afeta alguma outra tarefa. Pode testar o impacto da sumarização em tarefas como avaliação de relevância, compreensão de leitura, etc.

  • Intertextual e Intratextual :

Intertextual: Tais avaliações se concentram em uma análise contrastiva de vários sistemas de sumarização.

Intratextual: tais avaliações avaliam a saída de um sistema de sumarização específico.

  • Específico de domínio e independente de domínio :

Independente de domínio: Essas técnicas geralmente aplicam conjuntos de recursos gerais que podem ser focados na identificação de segmentos de texto ricos em informações.

Específico de domínio: Essas técnicas utilizam o conhecimento disponível específico de um domínio em um texto. Por exemplo, a sumarização de texto da literatura médica requer o uso de fontes de conhecimento médico e ontologias.

  • Avaliando resumos qualitativamente :

A principal desvantagem de outras técnicas de avaliação é que elas precisam de resumos de referência para poder comparar a saída dos resumos automáticos com o modelo. Isso torna a tarefa de avaliação difícil e cara. Está sendo feito um trabalho para construir um corpus de artigos/documentos e seus respectivos resumos para resolver este problema.

Desafios para a sumarização de texto

Apesar das ferramentas altamente desenvolvidas para gerar e avaliar resumos, os desafios permanecem para encontrar uma maneira confiável para os resumidores de texto entenderem o que é importante e relevante.

Conforme discutido, as matrizes de representação vetorial e de similaridade tentam encontrar associações de palavras, mas ainda não possuem um método confiável para identificar as sentenças mais importantes.

Outro desafio na sumarização de textos é a complexidade da linguagem humana e a forma como as pessoas se expressam, principalmente no texto escrito. A linguagem não é apenas composta de longas frases com adjetivos e advérbios para descrever algo, mas também de frases relativas, aposições, etc. tais insights podem acrescentar informações valiosas que não ajudam a estabelecer o cerne principal da informação a ser incluída no resumo.

O “problema da anáfora” é outra barreira na sumarização de texto. Na linguagem, muitas vezes substituímos o assunto na conversa por seus sinônimos ou pronomes. A compreensão de qual pronome substitui qual termo é o “problema da anáfora”.

O “problema da catáfora” é o problema oposto do problema da anáfora. Nessas palavras e explicações ambíguas, um termo específico é usado no texto antes de introduzir o próprio termo.

Conclusão

O campo de sumarização de texto está experimentando um rápido crescimento e ferramentas especializadas estão sendo desenvolvidas para lidar com tarefas de sumarização mais focadas. Com software de código aberto e pacotes de incorporação de palavras se tornando amplamente disponíveis, os usuários estão ampliando o uso dessa tecnologia.

A sumarização automática de texto é uma ferramenta que permite um salto quântico na produtividade humana, simplificando o grande volume de informações com as quais os humanos interagem diariamente. Isso não apenas permite que as pessoas reduzam a leitura necessária, mas também liberam tempo para ler e entender obras escritas negligenciadas. É apenas uma questão de tempo para que esses resumidores se integrem tão bem que criem resumos indistinguíveis daqueles escritos por humanos.

Se você deseja melhorar suas habilidades em PNL, você precisa colocar as mãos nesses projetos de PNL. Se você estiver interessado em aprender mais sobre aprendizado de máquina, confira o PG Diploma in Machine Learning & AI do IIIT-B e upGrad, projetado para profissionais que trabalham e oferece mais de 450 horas de treinamento rigoroso, mais de 30 estudos de caso e atribuições, IIIT- B Status de ex-aluno, mais de 5 projetos práticos práticos e assistência de trabalho com as principais empresas.

Quais são os usos da PNL?

A PNL ou Processamento de Linguagem Natural, uma das tecnologias modernas mais sofisticadas e interessantes, é utilizada de diversas maneiras. Suas principais aplicações incluem – correção automática de palavras, previsão automática, chatbots e assistentes de voz, reconhecimento de fala em assistentes virtuais, análise de sentimentos da fala humana, filtragem de e-mail e spam, tradução, análise de mídia social, publicidade direcionada, resumo de texto e verificação de currículo para recrutamento, entre outros. Outros avanços na PNL que dão origem a conceitos como o Natural Language Understanding (NLU) estão ajudando a obter maior precisão e resultados muito superiores em tarefas complexas.

Eu tenho que estudar matemática para aprender PNL?

Com a abundância de recursos disponíveis offline e online, agora é mais fácil acessar o material de estudo projetado para aprender PNL. Esses recursos de estudo são sobre conceitos específicos desse vasto campo chamado PNL, e não sobre o quadro geral. Mas se você quer saber se a matemática faz parte de algum dos conceitos da PNL, então você deve saber que a matemática é uma parte essencial da PNL. A matemática, especialmente a teoria da probabilidade, estatística, álgebra linear e cálculo, são os pilares fundamentais dos algoritmos que impulsionam a PNL. Ter uma compreensão básica das estatísticas é útil para que você possa desenvolver conforme necessário. Ainda assim, não há como aprender o processamento de linguagem natural sem entrar em matemática.

Quais são algumas técnicas de PNL usadas para extrair informações?

Nesta era digital, houve um aumento maciço na geração de dados não estruturados, principalmente na forma de áudio, imagens, vídeos e textos de vários canais, como plataformas de mídia social, reclamações de clientes e pesquisas. A PNL ajuda a extrair informações úteis de volumes de dados não estruturados, o que pode ajudar as empresas. Existem cinco técnicas comuns de PNL que são usadas para extrair dados perspicazes, a saber: reconhecimento de entidade nomeada, resumo de texto, análise de sentimento, mineração de aspectos e modelagem de tópicos. Existem muitos outros métodos de extração de dados em PNL, mas esses são os mais usados.