BARTScore试试
生成文本的自动评估。
神经模型的评估有这么几种:看做是匹配任务、看做是回归任务、看做是排序任务、看做是生成任务。
BARTScore就是将生成文本的评估看做是文本生成任务。
代码:https://github.com/neulab/BARTScore.git
This is the Repo for the paper: BARTScore: Evaluating Generated Text as Text Generation
依赖:
!pip install torch transformers
引入:
from bart_score import BARTScorer
例子1
# 复现英文,能不能CPU?可以的
bart_scorer = BARTScorer(device='cpu:0', checkpoint='facebook/bart-large-cnn')
bart_scorer.score(['This is interesting.'], ['This is fun.'])
输出:
[-2.5106496810913086]
作者给的示例:
[-2.336203098297119]
例子2
# 能不能中文?可以的
bart_scorer.score(['这很有趣'], ['真有意思'])
输出:
[-4.391218662261963]
例子3
# 长一些的中文可以不?可以的
bart_scorer.score(['1月11日,人民空军成立72周年。祖国把天空交给我们,我们在天空注满忠诚,天空是哨位,云端是巡逻线。我们执大国佩剑,护海天苍穹。我是一个兵,我就是人民空军!'],
['今天,人民空军迎来72岁生日,72载,穿云破雾,逐梦飞行,72载,长空亮剑,制胜空天,1949年11月11日, 中国人民解放军空军正式成立,他们用航迹丈量祖国山河, 哪里有需要,哪里就有他们的身'])
输出:
[-3.8493220806121826]
结论:
可以中文的,没有问题
也可以使用自己训练或微调之后的pt模型文件。