Dil görevleri için metrikler: ROUGE, METEOR, EM

Python ile LLM'lere Giriş

Jasmin Ludolf

Senior Data Science Content Developer, DataCamp

LLM görevleri ve metrikleri

 

Dil görevleri için değerlendirme metrikleri

Python ile LLM'lere Giriş

LLM görevleri ve metrikleri

 

Dil görevleri için değerlendirme metrikleri

Python ile LLM'lere Giriş

LLM görevleri ve metrikleri

 

Dil görevleri için değerlendirme metrikleri

Python ile LLM'lere Giriş

ROUGE

  • ROUGE: oluşturulan özet ile başvuru özetler arasındaki benzerlik
    • n-gramlar ve örtüşmelere bakar
    • predictions: LLM çıktıları
    • references: insan tarafından sağlanan özetler

the cat sat on the mat ve the cat is on the mat karşılaştırması

Python ile LLM'lere Giriş

ROUGE

rouge = evaluate.load("rouge")
predictions = ["""as we learn more about the frequency and size distribution of 
exoplanets, we are discovering that terrestrial planets are exceedingly common."""]
references = ["""The more we learn about the frequency and size distribution of 
exoplanets, the more confident we are that they are exceedingly common."""]

ROUGE puanları:

  • rouge1: unigram örtüşmesi
  • rouge2: bigram örtüşmesi
  • rougeL: uzun örtüşen alt diziler
Python ile LLM'lere Giriş

ROUGE çıktıları

ROUGE puanları:

  • rouge1: unigram örtüşmesi
  • rouge2: bigram örtüşmesi
  • rougeL: uzun örtüşen alt diziler

 

  • 0-1 arası puan: daha yüksek puan, daha yüksek benzerlik gösterir
results = rouge.compute(predictions=predictions,
                         references=references)

print(results)
{'rouge1': 0.7441860465116279, 
'rouge2': 0.4878048780487805, 
'rougeL': 0.6976744186046512, 
'rougeLsum': 0.6976744186046512}
Python ile LLM'lere Giriş

METEOR

  • METEOR: sözcük varyasyonları, benzer anlamlar ve sözcük sırası gibi daha fazla dilsel özellik
bleu = evaluate.load("bleu")
meteor = evaluate.load("meteor")


prediction = ["He thought it right and necessary to become a knight-errant, roaming the world in armor, seeking adventures and practicing the deeds he had read about in chivalric tales."] reference = ["He believed it was proper and essential to transform into a knight-errant, traveling the world in armor, pursuing adventures, and enacting the heroic deeds he had encountered in tales of chivalry."]
Python ile LLM'lere Giriş

METEOR

results_bleu = bleu.compute(predictions=pred, references=ref)
results_meteor = meteor.compute(predictions=pred, references=ref)
print("Bleu: ", results_bleu['bleu'])
print("Meteor: ", results_meteor['meteor'])
Bleu:  0.19088841781992524
Meteor:  0.5350702240481536
  • 0-1 puanı: daha yüksek daha iyidir
Python ile LLM'lere Giriş

Soru yanıtlama

 

Dil görevleri için değerlendirme metrikleri

Python ile LLM'lere Giriş

Exact Match (EM)

  • Exact Match (EM): Bir LLM çıktısı, referans yanıtıyla tam eşleşirse 1

 

  • Genellikle F1 skoru ile birlikte kullanılır
from evaluate import load
em_metric = load("exact_match")

exact_match = evaluate.load("exact_match")
predictions = ["The cat sat on the mat.",
               "Theaters are great.", 
               "Like comparing oranges and apples."]
references = ["The cat sat on the mat?", 
              "Theaters are great.", 
              "Like comparing apples and oranges."]

results = exact_match.compute(
  references=references, predictions=predictions)
print(results)
{'exact_match': 0.3333333333333333}
Python ile LLM'lere Giriş

Hadi pratik yapalım!

Python ile LLM'lere Giriş

Preparing Video For Download...