Scorery semantyczne

BERTScore i miary embeddingowe

Aktualizacja: 11 października 2026

Podobieństwo znaczeń zamiast dopasowania tokenów

BERTScore (Zhang i in.) porównuje wyjście z referencją w przestrzeni embeddingów: każdy token jednego tekstu dopasowuje się do najbliższego tokenu drugiego, a wynik to F-score ważony idf. Parafraza „Kot siedzi na macie" / „Kot przysiadł na dywaniku" dostanie wysoki wynik, którego n-gramy nigdy by nie dały.

Wzór

RBERT=∑xi∈xidf(xi)max⁡yj∈yxi⊤yj∑xi∈xidf(xi),PBERT=∑yj∈yidf(yj)max⁡xi∈xxi⊤yj∑yj∈yidf(yj)R_{BERT} = \frac{\sum_{x_i \in x} idf(x_i)\max_{y_j \in y} \mathbf{x}_i^{\top}\mathbf{y}_j}{\sum_{x_i \in x} idf(x_i)}, \quad P_{BERT} = \frac{\sum_{y_j \in y} idf(y_j)\max_{x_i \in x} \mathbf{x}_i^{\top}\mathbf{y}_j}{\sum_{y_j \in y} idf(y_j)}

FBERT=2⋅PBERT⋅RBERTPBERT+RBERTF_{BERT} = \frac{2 \cdot P_{BERT} \cdot R_{BERT}}{P_{BERT} + R_{BERT}}

Wagi idf redukują wpływ tokenów częstych („jest", „w"), które dominują podobieństwo kosinusowe. Dodatkowo autorzy proponują przeskalowanie względem baseline'u (losowe pary tekstów), by surowa wartość cosinusa znaczyła to samo w różnych modelach embeddingowych. Dodatkowa zaleta: embeddingi wielojęzyczne ocenią parę tekstów w dwóch różnych językach, czego n-gramy w ogóle nie potrafią.

Implementacja (szkic)

from sentence_transformers import SentenceTransformer
 
model = SentenceTransformer("all-MiniLM-L6-v2")
ref = model.encode("Kot siedzi na macie.")
hyp = model.encode("Kot przysiadł na dywaniku.")
print(float(ref @ hyp.T))

Pełny BERTScore dodaje do tego dopasowanie greedy token po tokenie oraz wagi idf — nie używaj gołego cosinusa zdań jako substytutu.

Kiedy wybierać miary embeddingowe

Wybieraj je, gdy chcesz taniej niż sędzia-LLM karać parafrazy w tłumaczeniu lub streszczeniu i gdy masz korpus do policzenia idf. Nie nadają się do weryfikacji faktów, zadań matematycznych ani oceny zgodności z instrukcją — tam potrzebny jest sędzia lub testy. W praktyce BERTScore bywa używany obok n-gramów: n-gramy pilnują formy, embeddingi — znaczenia.

Pułapki

  • wybór modelu embeddingów — wyniki zależą od modelu; podawaj nazwę i wersję;
  • idf wymaga korpusu — na pojedynczej parze zdań wagi degenerują się do równych;
  • podobieństwo ≠ poprawność — hallucynacja stylistycznie zbliżona do referencji dostanie wysoką notę;
  • koszt — embeddingi są tańsze niż sędzia-LLM, ale droższe niż n-gramy.

Zobacz też: BERTScore, F1, Scorery RAG.

BERTScore i miary embeddingowe