Indicateurs pour les tâches linguistiques : ROUGE, METEOR, EM

Introduction aux LLM en Python

Jasmin Ludolf

Senior Data Science Content Developer, DataCamp

Tâches et indicateurs LLM

 

Evaluation metrics for language tasks

Introduction aux LLM en Python

Tâches et indicateurs LLM

 

Evaluation metrics for language tasks

Introduction aux LLM en Python

Tâches et indicateurs LLM

 

Evaluation metrics for language tasks

Introduction aux LLM en Python

ROUGE

  • ROUGE : similitude entre le résumé généré et les résumés de référence
    • Analyse les n-grammes et les chevauchements
    • predictions: résultats du LLM
    • references : résumés fournis par des personnes

Comparing the cat sat on the mat and the cat is on the mat

Introduction aux LLM en Python

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."""]

Scores ROUGE :

  • rouge1 : chevauchement des unigrammes
  • rouge2 : chevauchement des bigrammes
  • rougeL : longues sous-séquences qui se chevauchent
Introduction aux LLM en Python

Résultats ROUGE

Résultats ROUGE :

  • rouge1 : chevauchement des unigrammes
  • rouge2 : chevauchement des bigrammes
  • rougeL : longues sous-séquences qui se chevauchent

 

  • Scores entre 0 et 1 : un score élevé indique une plus grande similitude
results = rouge.compute(predictions=predictions,
                         references=references)

print(results)
{'rouge1': 0.7441860465116279, 
'rouge2': 0.4878048780487805, 
'rougeL': 0.6976744186046512, 
'rougeLsum': 0.6976744186046512}
Introduction aux LLM en Python

METEOR

  • METEOR : davantage de caractéristiques linguistiques telles que les variations lexicales, les significations similaires et l'ordre des mots
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."]
Introduction aux LLM en Python

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
  • Scores 0-1 : plus le score est élevé, mieux c'est
Introduction aux LLM en Python

Questions et réponses

 

Evaluation metrics for language tasks

Introduction aux LLM en Python

Correspondance exacte (EM)

  • Correspondance exacte (EM) : 1 si la réponse d'un LLM correspond exactement à la réponse de référence

 

  • Généralement utilisé en conjonction avec le score F1
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}
Introduction aux LLM en Python

Passons à la pratique !

Introduction aux LLM en Python

Preparing Video For Download...