ROUGE tus resultados de PNL!

Nov 27 2022
La siguiente métrica que se analiza en esta serie de publicaciones sobre las métricas utilizadas en el procesamiento del lenguaje natural es el suplente orientado a la recuperación para la evaluación de Gisting (ROUGE). ROUGE es una métrica de evaluación utilizada para evaluar la calidad de las tareas de PNL, como el resumen de texto y la traducción automática.

La siguiente métrica que se analiza en esta serie de publicaciones sobre las métricas utilizadas en el procesamiento del lenguaje natural es el suplente orientado a la recuperación para la evaluación de Gisting (ROUGE).

ROUGE es una métrica de evaluación utilizada para evaluar la calidad de las tareas de PNL, como el resumen de texto y la traducción automática. A diferencia de BLEU , el ROUGE utiliza tanto la recuperación como la precisión para comparar resúmenes generados por modelos conocidos como candidatos con un conjunto de resúmenes generados por humanos conocidos como referencias. Mide cuántos de los n-gramas en las referencias están en el candidato predicho.

Primero, calculemos recordar = Verdaderos Positivos/(Verdaderos Positivos + Falsos Negativos). Aquí, los verdaderos positivos son los n-gramas coincidentes entre las referencias y los candidatos. Los falsos negativos se pueden considerar como los n-gramas que se encuentran en las oraciones reales (referencias) pero no en el candidato. Los Falsos Positivos son entonces los n-gramas que están presentes en el Candidato pero no en las Referencias. Consulte esta publicación de blog Recuperación, precisión, puntaje F1 si necesita refrescar conceptos como verdaderos positivos, falsos positivos, recuperación y precisión, etc.

Por lo tanto, la recuperación y la precisión se pueden obtener como se muestra a continuación:

Recall y Precision pueden ser complementarios a veces y, por lo tanto, es necesario combinarlos para lograr un equilibrio. Por esta razón, el ROUGE se calcula como puntuación F1 en Python. El valor varía de 0 a 1 y cuanto más cerca esté el valor de 1, mejor será la calidad de la predicción.

ROUGE-N

Usemos el módulo de evaluación del paquete "evaluar" de Huggingface y verifiquemos los cálculos paso a paso. Supongamos que el siguiente corpus con 2 referencias para cada candidato se ha obtenido a partir de los resultados de un modelo de resumen.

!pip install evaluate
!pip install rouge-score
import evaluate
rouge = evaluate.load('rouge')
predictions = ["Transformers Transformers are fast plus efficient", 
               "Good Morning", "I am waiting for new Transformers"]
references = [
              ["HuggingFace Transformers are fast efficient plus awesome", 
               "Transformers are awesome because they are fast to execute"], 
              ["Good Morning Transformers", "Morning Transformers"], 
              ["People are eagerly waiting for new Transformer models", 
               "People are very excited about new Transformers"]

]
results = rouge.compute(predictions=predictions, references=references)
print(results)

{'rouge1': 0.6659340659340659, 'rouge2': 0.45454545454545453, 
'rougeL': 0.6146520146520146, 'rougeLsum': 0.6146520146520146}

Candidate 1: Transformers Transformers are fast plus efficient
Reference 1: HuggingFace Transformers are fast efficient plus awesome
Reference 2: Transformers are awesome because they are fast to execute

Recall = 5/7 = 0.7142857
Precision = 5/6 = 0.8333333
F1-Score =  2 * (0.7142857) * (0.8333333)/(0.7142857 + 0.8333333) = 0.7692307

Candidate 2 and the respective Reference 1: 0.8
Candidate 3 and the respective Reference 1: 0.4285714
Mean F1-Score = (0.7692307 + 0.8 + 0.4285714)/3 = 0.665934

ROJO-L

Aquí, L representa la subsecuencia común más larga (LCS). LCS se define como la subsecuencia más larga que ocurre tanto en la referencia como en el candidato. La subsecuencia aquí no necesita ser continua. En lugar de contar el número de n-gramas coincidentes, aquí medimos la longitud de LCS. La ventaja de este enfoque es que se considera el orden de las palabras en la oración en lugar de solo buscar n-gramas coincidentes que pueden aparecer en cualquier orden. Además, tampoco necesitamos proporcionar el orden (n) de n-gramas para usar en el cálculo.

ROUGE-L Fórmula del papel ROUGE

En la fórmula anterior, X e Y son la referencia y el candidato con longitudes m y n respectivamente. La versión beta se utiliza para controlar qué es más importante: recuperación o precisión. Cuando es 1, F_lcs es solo la media armónica de Recall (R_lcs) y Precision (P_lcs). A veces, es posible que deseemos priorizar la recuperación, es decir, es más importante que la mayoría de los n-gramas en las referencias estén presentes en los candidatos. Esto se puede lograr aumentando beta a un valor > 1.

Ahora, veamos esta fórmula en acción. El LCS para cada conjunto de referencia de candidatos se muestra a continuación:

C1-R1: Transformers are fast plus 
C1-R2: Transformers are fast

C2-R1: Good Morning
C2-R2: Morning

C3-R1: waiting for new
C3-R2: new Transformers

Al igual que en el ROUGE-N, consideramos la referencia con la longitud máxima entre las dos referencias para cada candidato. Por lo tanto, calculamos la puntuación F1 para el par C1-R1 con LCS de longitud 4. Las puntuaciones para los candidatos 2 y 3 son las mismas que para ROUGE-1. Esto se debe a que la longitud del LCS entre las referencias es la misma que el unigrama coincidente cuenta para 2 y 3. El cálculo completo se resume como:

C1-R1:
Recall = 4/7
Precision = 4/6
ROUGE-L F1 = 2 * (4/7) * (4/6)/((4/6) + (4/7)) = 0.6153846

C2-R1 ROUGE-L F1 = 0.8
C3-R1 ROUGE-L F1 = 0.4285714

Final ROUGE-L F1 = (0.6153846 + 0.8 + 0.4285714)/3 = 0.614652

Ventajas

  1. Fácil de calcular y comprender y se suele utilizar para evaluar sistemas de resumen de texto.
  2. ROUGE y sus variantes han funcionado bien para resumir documentos individuales y textos breves.
  1. ROUGE tiene el mismo problema que BLEU con respecto a los sinónimos. No se considera el significado de los n-gramas y, por lo tanto, "rápido" y "rápido" no se considerarán similares.
  2. La puntuación depende en gran medida de la elección de palabras y la estructura de las referencias elegidas para la evaluación.

Referencias

Soy estudiante de Maestría en Ciencia de Datos @ TU Dortmund. No dude en conectarse conmigo en LinkedIn para cualquier comentario sobre mis publicaciones o cualquier comunicación profesional.