ROUGE-L

ROUGE-L er en evalueringsmetrik til automatisk vurdering af tekster, der måler længden af den længste fælles delsekvens (LCS) mellem en reference- og en kandidattekst.

Kort fortalt

En metrik til at sammenligne to tekster ved at finde den længste sekvens af ord (ikke nødvendigvis sammenhængende), de deler.

Kategori
metrik
Niveau
øvet

Betydninger

1
  1. 1

    En metrik der beregner F1-scoren baseret på længden af den længste fælles delsekvens mellem reference- og kandidattekst, som et mål for indholdsoverlap og ordrækkefølge.

    • ROUGE-L-scoren for opsummeringen var 0,45, hvilket indikerer en moderat overlapning af ordrækkefølgen.Eksempel opdigtet til illustration

Hvornår bruges det

ROUGE-L bruges primært til evaluering af automatisk genererede tekster som f.eks. opsummeringer og maskinoversættelser. Det fanger i højere grad ordrækkefølge og flydendehed end nøjagtige n-gram-overlap, og er derfor velegnet til at vurdere længere sætninger.

Formel

ROUGE-L Recall = |LCS(ref, cand)| / |ref|; ROUGE-L Precision = |LCS(ref, cand)| / |cand|; F1 = 2 * R * P / (R + P)

Kodeeksempel

from collections import Counter

def lcs_length(X, Y):
    m, n = len(X), len(Y)
    dp = [[0]*(n+1) for _ in range(m+1)]
    for i in range(1, m+1):
        for j in range(1, n+1):
            if X[i-1] == Y[j-1]:
                dp[i][j] = dp[i-1][j-1] + 1
            else:
                dp[i][j] = max(dp[i-1][j], dp[i][j-1])
    return dp[m][n]

def rouge_l(reference, candidate):
    ref_words = reference.split()
    cand_words = candidate.split()
    lcs_len = lcs_length(ref_words, cand_words)
    rec = lcs_len / len(ref_words) if ref_words else 0
    prec = lcs_len / len(cand_words) if cand_words else 0
    if rec + prec == 0:
        return 0.0
    return 2 * rec * prec / (rec + prec)

Python-funktion til at beregne ROUGE-L F1-score mellem to tekster.

Oprindelse

Udviklet af Chin-Yew Lin i 2004 som en del af ROUGE-pakken til automatisk evaluering af opsummeringer. L står for Longest Common Subsequence (længste fælles delsekvens).

Kilder

1
  • Lin, C. Y. (2004). ROUGE: A Package for Automatic Evaluation of Summaries. Proceedings of the ACL Workshop on Text Summarization Branches Out.