Atualmente, vivemos em um mundo com muita informação gerada e disponível, porém o nosso tempo é limitado. Por essa razão, várias ferramentas de inteligência artificial foram e estão sendo desenvolvidas para aumentar a nossa eficiência com relação ao tempo. Uma dessas estratégidas é a geração de resumos ou em inglês, summarization.
A geração de resumos faz parte do processamento de linguagem natural que é um ramo da inteligência artificial. A geração automática de resumos é a tarefa de produzir versões curtas de um documento preservando as suas informações mais importantes, sendo assim, o significado desses dados precisa ser mantido.
Contudo, muitos modelos para a geração de resumos foram propostos e muitos deles ainda estão sendo treinados. Entretanto, alguns não satisfazem as nossas necessidades precisamente. Então, como selecionar esses modelos? Uma das formas é através do uso de métricas específicas.
As métricas obtidas são de crucial importância para determinar a qualidade dos resumos gerados por máquina. As métricas mais usadas para a avaliação de resumos gerados por IA (i.e., inteligência artificial) são as métricas ROUGE (Recall-Oriented Understudy for Gisting Evaluation). ROUGE são essencialmente um conjunto de métricas para a avaliação da geração automática de resumos de textos, como também de traduções realizadas por máquinas.
Elas funcionam através da comparação de um resumo gerado por uma máquina com um resumo referência criado por um humano.
Alguns exemplos dessas métricas são:
"rouge1": unigrama (1-grama) baseada em escore
"rouge2": bigrama (2-grama) baseada em escore
"rougeL": “Longest common subsequence” baseada em escore.
"rougeLSum": divide o texto usando "\n"
Outro detalhe muito importante é que dentro dessas métricas são calculadas para cada uma delas, as métricas recall, precision e F1 Score ou F Measure.

Onde:
TP é o verdadeiro positivo é um resultado em que o modelo prevê corretamente a classe positiva.
FP é falso positivo que é um resultado em que o modelo prevê incorretamente a classe positiva.
FN é o falso negativo que é um resultado em que o modelo prevê incorretamente a classe negativa.

F1 Score determina que o recall e o precision assumam a mesma relevância. O melhor modelo é aquele que tiver o maior F1 Score.
Agora vamos para um exemplo prático usando a linguagem Python:
import evaluate # Importa o módulo evaluate
rouge = evaluate.load('rouge') # Seleciona a métrica rouge
# Resumo gerado pela inteligência artificial
predictions = ["The term artificial intelligence was previously used to describe machines that imitates and demonstrates the human cognitive skills that are associated with the human thought, such as learning and problem-solving"]
# Resumo redigido por um humano
references = ["The term artificial intelligence had previously been used to describe machines that mimic and display human cognitive skills that are associated with the human mind, such as learning and problem-solving"]
# Gera as métricas rouge comparando o resumo criado pelo computador com o resumo #escrito por um humano
results = rouge.compute(predictions=predictions, references=references)
print(results)
# Métricas geradas pelo código acima

import matplotlib.pyplot as plt # importa o módulo matplotlib
y = list(results.values()) # Cria uma lista separando os valores do dicionário
x = list(results.keys()) # Cria uma lista separando as chaves do dicionário
print(y)
print(x)
# listas criadas a partir da variável results que contém as métricas

plt.bar(x,y, color="blue") # plota um gráfico de colunas apresentando as métricas geradas

Redigido por: André Luís Lopes da Silva
Comments