Spaces:
Running
Running
| import evaluate | |
| # Use a pipeline as a high-level helper | |
| from transformers import pipeline | |
| from embed_score import Embed_Eval | |
| class Evaluator: | |
| def __init__(self): | |
| self.gpt_score = Embed_Eval(model="gpt") | |
| self.pubmedbert_score = Embed_Eval(model="pubmedbert") | |
| self.rouge = evaluate.load("rouge") | |
| self.bertscore = evaluate.load("bertscore") | |
| self.bleu = evaluate.load("bleu") | |
| self.meteor = evaluate.load("meteor") | |
| self.mauve = evaluate.load("mauve") | |
| self.biomedBERT = pipeline("fill-mask", model="microsoft/BiomedNLP-BiomedBERT-base-uncased-abstract-fulltext") | |
| def eval(self, pred, ref): | |
| results = {} | |
| results["gpt_score"] = self.gpt_score.compute(predictions=pred, references=ref) | |
| results["pubmedbert_score"] = self.pubmedbert_score.compute(predictions=pred, references=ref) | |
| results["rouge"] = self.rouge.compute(predictions=pred, references=ref) | |
| results["bert_score"] = self.bertscore.compute(predictions=pred, references=ref, model_type="distilbert-base-uncased") | |
| results["bleu"] = self.bleu.compute(predictions=pred, references=ref) # precisions are bleu-1 to bleu-4, n-grams | |
| results["meteor"] = self.meteor.compute(predictions=pred, references=ref) | |
| results["mauve"] = self.mauve.compute(predictions=pred, references=ref) | |
| return results | |
| if __name__ == "__main__": | |
| evaluator = Evaluator() | |
| print(evaluator.eval(["hello there general kenobi", "foo bar foobar"], ["hello there general kenobi", "foo bar foobar"])) | |