Return BLEU and ROUGE-L_f scores for a pair of strings.
(generated_text: str, reference_text: str)
| 17 | # Metric helpers |
| 18 | # --------------------------------------------------------------------------- # |
| 19 | def evaluate_text(generated_text: str, reference_text: str): |
| 20 | """ |
| 21 | Return BLEU and ROUGE-L_f scores for a pair of strings. |
| 22 | """ |
| 23 | gen_tokens = generated_text.split() |
| 24 | ref_tokens = reference_text.split() |
| 25 | |
| 26 | bleu = sentence_bleu( |
| 27 | [ref_tokens], |
| 28 | gen_tokens, |
| 29 | smoothing_function=SmoothingFunction().method4, |
| 30 | ) |
| 31 | |
| 32 | scorer = rouge_scorer.RougeScorer(["rouge1", "rouge2", "rougeL"], use_stemmer=True) |
| 33 | rouge_scores = scorer.score(reference_text, generated_text) |
| 34 | rouge_l_f = rouge_scores["rougeL"].fmeasure |
| 35 | |
| 36 | return bleu, rouge_l_f |
| 37 | |
| 38 | |
| 39 | def evaluate_meteor(generated_text: str, reference_text: str): |