Spaces:
Sleeping
Sleeping
Download eval/evaluate.py from Zan18A/scholarbot: direct link, hf CLI and curl.
- Browser
- Download file 733 Bytes
-
https://huggingface.co/spaces/Zan18A/scholarbot/resolve/main/eval/evaluate.py
- Command line
-
hf download hf://spaces/Zan18A/scholarbot/eval/evaluate.py
-
curl -L -o evaluate.py https://huggingface.co/spaces/Zan18A/scholarbot/resolve/main/eval/evaluate.py
733 Bytes
| from rouge_score import rouge_scorer | |
| from bert_score import score as bert_score | |
| def evaluate(predictions, references): | |
| scorer = rouge_scorer.RougeScorer( | |
| ['rouge1', 'rouge2', 'rougeL'], use_stemmer=True | |
| ) | |
| r = {'rouge1': [], 'rouge2': [], 'rougeL': []} | |
| for p, ref in zip(predictions, references): | |
| s = scorer.score(ref, p) | |
| for k in r: | |
| r[k].append(s[k].fmeasure) | |
| n = len(predictions) | |
| _, _, F1 = bert_score(predictions, references, lang='en') | |
| return { | |
| 'rouge1': round(sum(r['rouge1'])/n, 4), | |
| 'rouge2': round(sum(r['rouge2'])/n, 4), | |
| 'rougeL': round(sum(r['rougeL'])/n, 4), | |
| 'bertscore_f1': round(F1.mean().item(), 4), | |
| } | |