在使用nltk的meteor_core模块评估模型时,如何实现流星评分?

How can I implement meteor score when evaluating a model when using the meteor_score module from nltk?(在使用nltk的meteor_core模块评估模型时,如何实现流星评分?)

本文介绍了在使用nltk的meteor_core模块评估模型时,如何实现流星评分?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我目前有两个文件,ference.txt和mod.txt。这两个文本文件包含原始字幕和训练后生成的字幕。
我是否可以简单地执行以下操作来获得流星分数:

score = nltk.translate.meteor_score.meteor_score(reference, model)
print(np.mean(meteor_score))

我也看过https://github.com/tylin/coco-caption,但我不知道如何实现它。

推荐答案

我们从定义术语开始

引用:实际文本/基础事实。如果有多个人为同一数据点生成基本事实,则您将有多个引用,并且假定所有引用都是正确的

假设:候选者/预测者。

假设这两个人看着一张图片,他们的标题

  • 这是苹果
  • 那是苹果

现在您的模型查看了图像并进行了预测

  • 这棵树上的苹果

您可以计算预测结果的meteor_core

print (nltk.translate.meteor_score.meteor_score(
    ["this is an apple", "that is an apple"], "an apple on this tree"))
print (nltk.translate.meteor_score.meteor_score(
    ["this is an apple", "that is an apple"], "a red color fruit"))

输出:

0.6233062330623306
0.0
在您的例子中,您必须将reference.txt读入一个列表,并类似地将谓词建模到另一个列表中。现在,您必须获取第一个列表中每一行的meteor_score和第二个列表中每一行的meteor_score,最后取平均值。

这篇关于在使用nltk的meteor_core模块评估模型时,如何实现流星评分?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持编程学习网!

本文标题为:在使用nltk的meteor_core模块评估模型时,如何实现流星评分?