The Evaluation of Language Model (语言模型的性能评价方法 Perplexity)

2023-11-05

The Evaluation of Language Model (语言模型的性能评价)

语言模型(Language Model,以下简称LM),直观理解,用于判断一句话是否从语法上通顺。

  • Question 1: 训练好的LM效果是好还是坏,如何评价?

假设,有已经训练好的两个LM,A、B:首先想到的是,让语LM找块地儿(选择一个特定的NLP任务),去干一仗,看谁牛逼(看LM A、B在任务1上的表现,哪一个表现更好)。
 让语言模型A、B在任务1上进行评估
这种方法的缺点
1、构建流程,耗时费力。
2、评估结果依赖于特定任务。
3、不适合做横向比较。

  • Question 2 有没有不依赖于特定任务的方式呢 ?
    肯定有的,我们现在就来找这个一个方法。首先,思考问题Question3。

  • Question 3 什么样的语言模型(LM)好?

  1. 根据给定的上文,语言模型的输出 符合语法规范/人的预期;类似于LM要具备不错的 完形填空 的能力;。
  2. 完形填空是一个特定的任务,而我们又不希望 LM的评估依赖于特定任s务;怎么办呢?
  3. 具备不错的完形填空能力,简化的看,即预测下一个单词的能力强。即LM预测的下一个单词符合人类语法规范或惯用表达;
  4. 如何量化LM的这种能力呢?你应该想到了,【极大似然】;
  5. 极大似然估计:用已知的样本结果,反推最有可能(最大概率)导致这样结果的参数值(模型已知,参数未知);
  6. 现在已知LM:A、B。我们在特定的语料上,计算语料出现的概率。好的LM,自然地,语料库中的语料出现的概率高。

例如:语料库中有例句:sent = “今天 天气 不错 适合 踏青。”
p(sent)=p(今天)·p(天气|今天)·p(不错|今天,天气)·p(适合|今天,天气,不错)·p(踏青|今天,天气,不错,适合)
LM A :p(sent) = 0.00012
LM B :p(sent) = 0.0000053

那么, 在语料库中,LM A输出符合语法规范的句子的能力就比LM B强,即说人话的本领 A>B。这样,我们就找到了一个,不依赖于特定任务的评价LM的方法。即,在语料库上,计算语料出现的概率,越大,LM越好。

Perplexity = 2^(-x)

x: average log likelihood,x为平均对数似然概率。

把 训练好的语言模型,放到语料库中计算,计算对数似然,越好的语言模型,对数似然越大,即x越大越好,Perplexity越小越好。

以bigram LM为例,计算perplexity:以bigram LM为例。在这里插入图片描述

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

The Evaluation of Language Model (语言模型的性能评价方法 Perplexity) 的相关文章

  • java无重复字符的最长子串

    给定一个字符串 s 请你找出其中不含有重复字符的 最长子串 的长度 示例 1 输入 s abcabcbb 输出 3 解释 因为无重复字符的最长子串是 abc 所以其长度为 3 示例 2 输入 s bbbbb 输出 1 解释 因为无重复字符的

随机推荐

  • 如何用java实现增删改查

    使用Java实现增删改查操作需要连接数据库 例如使用JDBC或者其他ORM框架 下面是一个简单的例子 展示如何使用Java和JDBC进行增删改查操作 导入JDBC驱动程序 在Java项目中 需要将相应的JDBC驱动程序添加到项目的依赖中 建
  • qt-两个界面传值交互

    一 说明 A 子界面 B 主界面 实现A往B传值 B显示 二 利用emit和slot实现 2 1 对A h 添加声明 signals void sendData QString 用来传递数据的信号 2 2在A cpp中适当位置将数据进行发射
  • JDK1.8和JDK8是同一个版本吗?

    是的 JDK1 8和JDK8是同一个版本 最开始 命名为 JDK1 JDK2 后来就 命名为 JDK1 7 JDK1 8 Java Development Kit JDK 是Sun公司 已被Oracle收购 针对Java开发员的软件开发工具
  • 一个简单的Mysql查询

    最近工作上遇到一个 神奇 的问题 或许对大家有帮助 因此形成本文 问题大概是 我有两个表 TableA TableB 其中 TableA 表大概百万行级别 存量业务数据 TableB 表几行 新业务场景 数据还未膨胀起来 image 语义上
  • [JAVAee]线程池

    目录 线程池的作用 线程池的使用 线程池的创建方式 线程池的解析 Executors与ThreadPoolExecutor ThreadPoolExecutor线程池的构造方法 RejectedExecutionHandler线程池的拒绝策
  • 从qt下载的可执行文件运行不了

    qt可执行文件通过SSH从ubuntu下载到Windows桌面 再上传到ftp服务器上 然后通过qt ftp客户端下载 实现远程升级的功能 一开始直接上传可执行文件 但是在ubuntu系统中执行不了 对比了两个可执行文件都是一样的 后来压缩
  • python之列表详解

    文章目录 一 创建列表 1 基于弱数据类型语言的定义 2 通过全局函数list 定义 3 创建空列表 二 访问列表的值 1 通过下标索引 2 通过for循环遍历 3 通过while循环遍历 三 列表的分片 四 列表方法 1 append 列
  • linux-文件管理

    linux 二 文件和用户管理 7 19 1 文件管理 Windows 以根目录的方式组织文件C D E linux 以根目录的方式组织文件 二层目录 bin 二进制 普通用户使用的命令 dev 驱动 设备 home 普通用户的家 用户装自
  • spring学习(三) --- 创建bean

    上一节简单的介绍了下spring中bean的注册过程 就是解析配置文件 将bean的信息以BeanDefinition形式存放 这一节看一下bean的创建过程 其创建流程如下 实例化bean 属性赋值 初始化 销毁 创建过程 创建的主要逻辑
  • Hutoo --- 日期时间工具-DateUtil

    使用前安装Hutoo工具MAVEN依赖
  • ~/.bashrc 和 ~/.profile文件的区别

    bashrc 是 Bash shell 的配置文件 在用户每次启动新的 Bash 会话时加载 它包含一些用户自定义的环境变量 别名以及其他与 Bash shell 相关的设置 可以在 bashrc 文件中添加自定义的 shell 函数 命令
  • Gin框架的路由、重定向、数据解析、中间件和同步异步

    安装 go get u github com gin gonic gin Gin 路由 入门 gin Default 中 Default 中的代码 engine New 默认用了两个中间件 日志和恢复 engine Use Logger R
  • Java中的Semaphore信号量机制

    目录 什么是信号量机制 Semaphore工作流程 Semaphore使用方式 什么是信号量机制 信号量机制是一种通过使用计数器来控制共享资源访问的机制 计数器计数的是共享资源的访问许可 如果计数器大于0则允许访问 如果为0 则拒绝访问 J
  • 在matlab中实现图像的自相关和互相关

    图像的自相关 clear I1 imread lenna bmp bmp 输入图像1 参考图像 I1 I1 1 figure 1 显示输入图像1 colormap gray 255 image I1 axis off FI1 fft2 I1
  • XCode14 & iOS16适配 pod签名

    一 iOS16手机开启开发者模式 developer mode disable iOS16手机未打开开发者模式时 1 Xcode 无法选中 iOS16的设备 报错 developer mode disable 2 无法打开升级前编译的App
  • 解决 Axios 跨域问题,轻松实现接口调用

    跨域是指访问另外一个域的资源 由于浏览器的同源策略 默认情况下使用 XMLHttpRequest 和 Fetch 请求时是不允许跨域的 跨域的根本原因是浏览器的同源策略 这是由浏览器对 JavaScript 施加的安全限制 Axios 跨域
  • 使用python简单创建自动点击脚本,使用的是pyautogui

    所有代码在最后面 首先引入包 首先引入包 import pyautogui 鼠标控制包 import time 时间包 后面要用 然后获取需要点击的坐标 for i in range 5 通过循环加延迟 获取鼠标位置 mouse pyaut
  • 推荐 9 个经典前后端分离项目

    前后端分离是现在主流的架构设计模式 它初衷是用 单一职责 原则把代码质量提上去从而达到节省人力和减少沟通时的信息损失的目的 本文推荐九个前后端分离的开源项目 都是采用最流行的技术栈 本文推荐的开源项目已经收录到 Awesome GitHub
  • 黑苹果Mac系统快捷键修改

    由于苹果机的键盘和普通PC机的键盘不同 因此苹果机的快捷键也会与普通PC不同 这对于我们这些经常使用键盘的人来说非常不便 下面附上两者的不同 普通键盘 苹果键盘 修改快捷键 我推荐的软件是KeyBindingsEditor 它很好用 另外需
  • The Evaluation of Language Model (语言模型的性能评价方法 Perplexity)

    The Evaluation of Language Model 语言模型的性能评价 语言模型 Language Model 以下简称LM 直观理解 用于判断一句话是否从语法上通顺 Question 1 训练好的LM效果是好还是坏 如何评价