当前位置: 首页 > article >正文

语言模型评价指标

1. BLEU(Bilingual Evaluation Understudy)

目标:衡量生成文本和参考文本之间的词汇相似性。

计算步骤:
  1. N-gram 匹配

    • 将生成文本和参考文本分解成 1-gram、2-gram、…、N-gram(通常取到 4-gram)。
    • 统计生成文本中的 N-gram 是否出现在参考文本中。
  2. 精确匹配率

    • 对每个 N-gram,计算生成文本中匹配的数量与总数量的比值:
      Precision n = 生成文本中匹配的 N-gram 数 生成文本中的 N-gram 总数 \text{Precision}_n = \frac{\text{生成文本中匹配的 N-gram 数}}{\text{生成文本中的 N-gram 总数}} Precisionn=生成文本中的 N-gram 总数生成文本中匹配的 N-gram 
  3. 加权平均

    • 对不同的 N-gram 精确率取加权几何平均(权重通常相等):
      BLEU N = exp ⁡ ( ∑ n = 1 N w n ⋅ log ⁡ ( Precision n ) ) \text{BLEU}_N = \exp\left(\sum_{n=1}^N w_n \cdot \log(\text{Precision}_n)\right) BLEUN=exp(n=1Nwnlog(Precisionn))
      其中, w n = 1 N w_n = \frac{1}{N} wn=N1
  4. 长度惩罚

    • 如果生成文本的长度与参考文本长度差距过大,BLEU 分数会受到惩罚:
      BP = { 1 , 生成文本长度 > 参考文本长度 exp ⁡ ( 1 − 参考文本长度 生成文本长度 ) , 否则 \text{BP} = \begin{cases} 1, & \text{生成文本长度} > \text{参考文本长度} \\ \exp\left(1 - \frac{\text{参考文本长度}}{\text{生成文本长度}}\right), & \text{否则} \end{cases} BP={1,exp(1生成文本长度参考文本长度),生成文本长度>参考文本长度否则
  5. 最终公式
    BLEU = BP ⋅ exp ⁡ ( ∑ n = 1 N w n ⋅ log ⁡ ( Precision n ) ) \text{BLEU} = \text{BP} \cdot \exp\left(\sum_{n=1}^N w_n \cdot \log(\text{Precision}_n)\right) BLEU=BPexp(n=1Nwnlog(Precisionn))


2. ROUGE(Recall-Oriented Understudy for Gisting Evaluation)

目标:衡量生成文本覆盖参考文本的程度,更关注召回率

主要变体:
  1. ROUGE-N(基于 N-gram 的召回率):

    • 计算生成文本中匹配的 N-gram 占参考文本中 N-gram 的比例:
      ROUGE-N = 匹配的 N-gram 数量 参考文本中的 N-gram 总数 \text{ROUGE-N} = \frac{\text{匹配的 N-gram 数量}}{\text{参考文本中的 N-gram 总数}} ROUGE-N=参考文本中的 N-gram 总数匹配的 N-gram 数量
  2. ROUGE-L(基于最长公共子序列的匹配):

    • 计算生成文本与参考文本的最长公共子序列(LCS),然后基于 LCS 的长度计算召回率和精确率:
      R = LCS 参考文本长度 , P = LCS 生成文本长度 R = \frac{\text{LCS}}{\text{参考文本长度}}, \quad P = \frac{\text{LCS}}{\text{生成文本长度}} R=参考文本长度LCS,P=生成文本长度LCS
      ROUGE-L = ( 1 + β 2 ) ⋅ P ⋅ R R + β 2 ⋅ P \text{ROUGE-L} = \frac{(1 + \beta^2) \cdot P \cdot R}{R + \beta^2 \cdot P} ROUGE-L=R+β2P(1+β2)PR
      其中, β \beta β 是召回权重。
  3. ROUGE-S(基于跳跃的二元词对):

    • 计算生成文本和参考文本中,所有词对的匹配情况。

3. METEOR(Metric for Evaluation of Translation with Explicit ORdering)

目标:解决 BLEU 无法捕获语义相似性和顺序的重要性问题。

计算步骤:
  1. 匹配策略

    • 包括词形匹配(exact)、同义词匹配(synonymy)、词干匹配(stemming)。
    • 对生成文本中的每个词,找出参考文本中最优匹配。
  2. 精确率与召回率

    • 计算生成文本与参考文本的匹配精度(P)和召回率(R):
      P = 匹配的词数 生成文本的总词数 , R = 匹配的词数 参考文本的总词数 P = \frac{\text{匹配的词数}}{\text{生成文本的总词数}}, \quad R = \frac{\text{匹配的词数}}{\text{参考文本的总词数}} P=生成文本的总词数匹配的词数,R=参考文本的总词数匹配的词数
  3. 调和平均

    • 对 P 和 R 使用 F1 分数加权:
      F = ( 1 + β 2 ) ⋅ P ⋅ R R + β 2 ⋅ P F = \frac{(1 + \beta^2) \cdot P \cdot R}{R + \beta^2 \cdot P} F=R+β2P(1+β2)PR
  4. 惩罚因子

    • 考虑词序对齐情况,加入惩罚因子 (P_{\text{penalty}}),对不连贯的匹配施加惩罚:
      Penalty = γ ⋅ ( chunk 数量 匹配词数 ) 3 \text{Penalty} = \gamma \cdot \left(\frac{\text{chunk 数量}}{\text{匹配词数}}\right)^3 Penalty=γ(匹配词数chunk 数量)3
  5. 最终分数
    METEOR = F ⋅ ( 1 − Penalty ) \text{METEOR} = F \cdot (1 - \text{Penalty}) METEOR=F(1Penalty)


4. Perplexity

目标:衡量语言模型生成文本的连贯性和预测能力,表示模型对句子的不确定性。

计算公式:
  • 对于语言模型给定的句子 w 1 , w 2 , … , w N w_1, w_2, \ldots, w_N w1,w2,,wN,Perplexity 定义为:
    Perplexity = 2 − 1 N ∑ i = 1 N log ⁡ 2 P ( w i ∣ w 1 , … , w i − 1 ) \text{Perplexity} = 2^{-\frac{1}{N} \sum_{i=1}^N \log_2 P(w_i | w_1, \ldots, w_{i-1})} Perplexity=2N1i=1Nlog2P(wiw1,,wi1)
解释:
  1. 概率计算

    • P ( w i ∣ w 1 , … , w i − 1 ) P(w_i | w_1, \ldots, w_{i-1}) P(wiw1,,wi1) 表示模型预测第 i i i 个词的概率。
    • 高概率(模型更确定)对应低 Perplexity。
  2. 直观意义

    • Perplexity 越低,说明模型越能有效预测文本。
    • Perplexity 是对数似然的指数变换:
      Perplexity = exp ⁡ ( − 1 N ∑ i = 1 N log ⁡ P ( w i ) ) \text{Perplexity} = \exp\left(-\frac{1}{N} \sum_{i=1}^N \log P(w_i)\right) Perplexity=exp(N1i=1NlogP(wi))

http://www.kler.cn/a/457930.html

相关文章:

  • (二)当人工智能是一个函数,函数形式怎么选择?ChatGPT的函数又是什么?
  • PostgreSQL 表达式
  • MySQL 05 章——排序与分页
  • Vue3 子组件向父组件传递消息(Events)
  • mysql 死锁案例及简略分析
  • Java高频面试之SE-08
  • Android笔试面试题AI答之Android基础(5)
  • stm32系列MCU介绍
  • 4.FPGA如何实现设计
  • 动态规划四——子序列系列
  • 回归预测 | MATLAB实现CNN-LSTM卷积长短期记忆神经网络多输入单输出回归预测
  • 基于Qt中QMessageBox类的登陆界面对话框应用
  • springBoot使用groovy脚本
  • vulnhub靶场【Hotwarts】之Dobby
  • 基于NLP的医学搜索相关性判断
  • 【MySQL -- 安装】Ubuntu下安装MySQL
  • AE/PR智能视频变速补帧插帧慢动作插件 Aescripts SpeedX v1.2.0.1 Win/Mac
  • 编译原理学习笔记——CH7-Runtime Environments运行时环境
  • Hive刷分区MSCK
  • docker 是什么?docker初认识之如何部署docker-优雅草后续将会把产品发布部署至docker容器中-因此会出相关系列文章-优雅草央千澈
  • 鸿蒙开发(24)LocalStorage:页面级UI状态存储和AppStorage:应用全局的UI状态存储
  • K8S中,pod的创建流程
  • Spring Boot对访问密钥加解密——HMAC-SHA256
  • 前端正在被“锈”化
  • [modern c++] 不要对一个对象创建多个 shared_ptr
  • 查看helm 版本