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模型文件。

原文地址:https://www.cnblogs.com/xuehuiping/p/15539115.html