一些评估模型的指标
传统的机器学习中,我们可以通过已知输出的训练集和验证数据集的性能表现来评估模型的性能表现,通过计算获得简单的指标,比如使用 准确性(=correct predictions/total predictions)来计算模型的性能表现。但是对于输出不确定的大预言模型,评估语言的性能表现,需要通过一些特殊的指标来评估。
比如
eg1: “Mike really loves drinking tea“ 和 “Mike adores sipping tea“,
eg2: “Mike does not drink coffee“ 和 “Mike does drink coffee“,
我们该如何衡量其相似性,eg1中的单词差异很大,但是含义相近,而eg2中的单词只有一个 not的区别,但是含义完全相反。
所以我们需要一些自动化,结构化的方法来进行测量,量化生成的结果和预期结果的相似性。而 ROUGE 和 BLEU SCORE 是两种广泛用于不同任务的评估指标。这两种简单的指标都具有较低的计算成本。
语言解刨学的一些概念

首先理解一下再语言解刨学中的一些概念,我们日常中的一句话,可以根据拆解单位拆分成不同的单词、词组 或 多词的组合。而不同的拆解模式会影响我们最终的评价结果。
ROUGE
ROUGE 或者 召回率导向的 jesting evaluation 用来评估自动生成的摘要和人工摘要的质量。
基于语言解刨学的介绍,我们再比较的时候,可以使用单词组计算我们的模型性能表现如下。
这是最基本的指标,我们只考虑单词的出现,没考虑单词的顺序问题,所以结论可能存在很大的欺骗性(比如示例中的差别单词不是 very 而是 not,其实得分不会存在差别)。
所以我们可以使用 biggrams 计算我们模型的性能表现,得到一个更合适的分数。比如我们使用两个词(ROUGE-2) 一组进行评分,可以看到分数显著低于ROUGE-1 的分支,句子越长这个差距可能越大。

当然句子基于加长时,我们可能下意识的想到的是 使用ROUGE-3、ROUGE-4等等更长的序列。但是这时候,我们其实更好的方法是查找我们生成序列和参考序列的最长公共子序列的长度(LCS Long common subsequence),然后我们可以使用最长公共子序列来计算我们的 ROUGE-LCS 得分:
但是ROUGE分值可能会由于数据的特殊性导致一些差的结果也会得到比较高的评分,比如下面这种情况:
BLEU SCORE
用于机器翻译翻译的结果和人工翻译结果的场景。
分数本身是使用多个 n-gram 大小的平均精度计算得出的。就像我们之前看过的 Rouge-1 分数一样,但计算得出了n 个大小范围,然后求平均值