N元语言模型 —— 一文讲懂!!!

目录

引言 

一. 基本知识

二.参数估计

三.数据平滑

一.加1法

二.减值法/折扣法

​编辑 1.Good-Turing 估计

​编辑 2.Back-off (后备/后退)方法 

3.绝对减值法 

​编辑4.线性减值法

5.比较 

三.删除插值法(Deleted interpolation) 

 四.模型自适应


引言 

本章节讲的知识主要是来解决以上这个问题:即如何计算一段话在我们日常生活中出现的概率。在学完本章节后,你可以尝试解决下面的问题:

一. 基本知识

对于一段话,我们如何计算其在生活中出现的概率呢?首先我们可以把每一句话拆分成一个个词,这些词就是我们所说的“统计基元”,一个个统计基元组成了我们的一句话。而对于我们每一个统计基元来说,其前面的基元就是历史基元

 如何计算一段话的概率?

假设我们这段话是“我爱你”,我们该怎么计算呢?你可能会想到,“我爱你”这句话的概率,不就应该等于“我”出现的概率*“爱”出现的概率*“你”出现的概率。实际上来说,这样算的话我们就忽略了词与词的关系,比如“爱”会不会影响“你”出现的概率,比如我们大部分人都会把“爱你”连起来说,这样的话我们就不能把他们俩独立开来了。这样的话,就相当于我们计算概率的时候要参考一句话前面的基元。因此我们应该用下面的公式:

可以理解为:句子的概率 = 第 1 个词的概率 × 第 2 个词依赖第 1 个词的概率 × 第 3 个词依赖前两个词的概率 × … × 第 m 个词依赖前 m - 1 个词的概率

历史基元数量爆炸问题

显然随着要预测的词位置越靠后(i 越大 ),需要参考的 “历史基元数量” 也越多(i−1 个 ),这样的话很容易出现后面的历史基元越来越多出现参数爆炸。即:

那我们该如何解决这个问题呢?

我们的解决办法是等价类划分:

举个例子:“我爱你”和“石头爱地”这两句话,假设n等于2,则“你”前面的“我爱”和“地”前面的“石头爱”,因为前n-1个基元,即“爱” 相同,则这俩句话为同一等价类。因此我们很容易看出来,这个n其实就是相当于缩减了我们的视野,我们只看前n-1个基元而看不到更前面的基元了。

因此:

但是,这样的话,显然我们的句子的第一个单词没有前置的选项让我们看了,也就是说没有历史基元,这对我们是非常不方便的,因为我们无法统一编程,并且我们还丢失了其作为第一个单词的位置信息。所以我们为这个句子加上了开头和结尾符号来标识。

即:

这样的话我们就非常好求解了,例题如下:


(下面三个分别是一元,二元,三元划分) 那么我们的概率就是:

二.参数估计

好了,既然我们已经整出来了表示,那么我们模型里的这些参数是啥呢?就是说我们这里的P是什么呢?这就引出了我们下面的概念:

 

例题:

 那若是求一个句子里包含从没出现的词呢?这是很常见的,比如训练语料不可能包含所有人的姓名,如果一个人的姓名比较生僻,比如叫“诸葛大力”,这样的话是否“诸葛大力爱张伟”在日常生活中是不可能发生的呢?显然不是。但是我们的计算下整个的概率是0。显然是不合理的。于是我们便引出了数据平滑。

三.数据平滑

 

困惑度你就理解为这个句子的常见程度,如果困惑度很高,说明句子很罕见,让人看着很“困惑”。

一.加1法

意思就是分子加1,分母加上词汇库的总量(不包含开始和结束字符)

例题:

二.减值法/折扣法

 1.Good-Turing 估计

 举例:

 给你们算个一个吧。第一个r*,照着公式的话,r+1等于2,因为我们这里的r等于1,然后nr和nr+1直接看表的话就是2053和458,也就是说r*=2*(458/2053)约等于0.446,其他的你们照着我这样做就行。

 2.Back-off (后备/后退)方法 

3.绝对减值法 

4.线性减值法

5.比较 

三.删除插值法(Deleted interpolation) 

 四.模型自适应

 

 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.pswp.cn/bicheng/83993.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

SpringAI Alibaba实战文生图

1️⃣ 前置准备:搭建开发环境与服务配置🚀 🔧 1.1 环境要求 JDK 17(推荐 JDK 21)、Spring Boot 3.x(本案例使用 3.3.4)、阿里云百炼大模型服务 API Key。需在阿里云控制台完成服务开通并获取有…

实战二:开发网页端界面完成黑白视频转为彩色视频

​一、需求描述 设计一个简单的视频上色应用,用户可以通过网页界面上传黑白视频,系统会自动将其转换为彩色视频。整个过程对用户来说非常简单直观,不需要了解技术细节。 效果图 ​二、实现思路 总体思路: 用户通过Gradio界面上…

Kotlin List 操作全面指南

在传统 Java 开发 List 相关的 API 中,有着样板代码冗长、缺乏链式调用、空安全等问题。 Kotlin 这门语言 为 List 提供了丰富的扩展函数,这些函数大大简化了集合操作,解决了传统 Java 集合 API 中的许多痛点。 一、基础操作 1. 创建 List …

硬盘寻址全解析:从 CHS 三维迷宫到 LBA 线性王国

在数字存储的底层世界,硬盘如同一个巨大的 “数据图书馆”,而寻址模式就是决定如何高效找到 “书籍”(扇区)的核心规则。从早期基于物理结构的 CHS(柱面 - 磁头 - 扇区)三维寻址,到现代抽象化的…

oracle 11g ADG备库报错ORA-00449 lgwr unexpectedly分析处理

问题背景 昨天遇到群友提问,遇到ADG备库挂了的情况 数据版本:11.2.0.4 操作系统:Centos7.9 环境:ADG主备库,主库为RAC,备库也是RAC 具体报错ORA-00449以及ORA-04021 看样子是LGWR挂了,还有个锁等待。 问题分析 先…

Python——day46通道注意力(SE注意力)

一、 什么是注意力 注意力机制是一种让模型学会「选择性关注重要信息」的特征提取器,就像人类视觉会自动忽略背景,聚焦于图片中的主体(如猫、汽车)。 transformer中的叫做自注意力机制,他是一种自己学习自己的机制&…

入门AJAX——XMLHttpRequest(Post)

一、前言 在上篇文章中,我们已经介绍了 HMLHttpRequest 的GET 请求的基本用法,并基于我提供的接口练习了两个简单的例子。如果你还没有看过第一篇文章,强烈建议你在学习完上篇文章后再学习本篇文章: 🔗入门AJAX——XM…

​BEV和OCC学习-3:mmdet3d 坐标系

目录 坐标系 转向角 (yaw) 的定义 框尺寸的定义 与支持的数据集的原始坐标系的关系 KITTI Waymo NuScenes Lyft ScanNet SUN RGB-D S3DIS 坐标系 坐标系 — MMDetection3D 1.4.0 文档https://mmdetection3d.readthedocs.io/zh-cn/latest/user_guides/coord_sys_tuto…

Redis高可用架构

概述 Redis作为常用的缓存中间件,因其高性能,丰富的数据结构,使用简单等,常被用在需要一定高性能的To C业务场景中,如「秒杀场景」「用户信息中心」「帖子」「群聊」等等大家常见的业务场景中,以提高服务的…

使用WPF的Microsoft.Xaml.Behaviors.Wpf中通用 UI 元素事件

Nuget下载之后记得要先引用下面的 xmlns:i"http://schemas.microsoft.com/xaml/behaviors" <!-- 鼠标事件 --> <i:EventTrigger EventName"MouseEnter"/> <!-- 鼠标进入 --> <i:EventTrigger EventName"MouseLeave"/&g…

敏捷开发中如何避免过度加班

在敏捷开发过程中避免过度加班&#xff0c;需要明确敏捷原则、合理规划迭代任务、加强团队沟通、优化流程效率、设定合理的工作负荷、注重团队士气和成员健康。明确敏捷原则&#xff0c;即保证可持续发展的步调&#xff0c;避免频繁地变更需求、过度承诺任务量。合理规划迭代任…

JSON解析崩溃原因及解决方案

问题记录&#xff1a; /************************************************| * 描述: 将ID124执行NFC操作-JSON解析为结构体* 函数名: cJSON_ID124_to_struct* 参数[ I]: *json_string 待解析的指针* 参数[II]: *wireless_rxd 结构体指针* 返回: 成功返回0 失…

业务系统对接大模型的基础方案:架构设计与关键步骤

业务系统对接大模型&#xff1a;架构设计与关键步骤 在当今数字化转型的浪潮中&#xff0c;大语言模型&#xff08;LLM&#xff09;已成为企业提升业务效率和创新能力的关键技术之一。将大模型集成到业务系统中&#xff0c;不仅可以优化用户体验&#xff0c;还能为业务决策提供…

Edge(Bing)自动领积分脚本部署——基于python和Selenium(附源码)

微软的 Microsoft Rewards 计划可以通过 Bing 搜索赚取积分&#xff0c;积分可以兑换礼品卡、游戏等。每天的搜索任务不多&#xff0c;我们可以用脚本自动完成&#xff0c;提高效率&#xff0c;解放双手。 本文将手把手教你如何部署一个自动刷积分脚本&#xff0c;并解释其背…

前端基础之《Vue(19)—状态管理》

一、什么是状态管理 1、Vue版本问题 Vue2 Vuex3 Vue3 Vuex4 / Pinia2 在使用任何技术的时候&#xff0c;都先要去搜索一下版本&#xff0c;你的版本和脚手架环境是否兼容。 2、安装Vuex yarn add vuex3.6.2 3、状态管理 状态&#xff0c;在应用程序中表示数据&#xff0c…

【图像处理基石】如何进行图像畸变校正?

图像畸变校正常用于计算机视觉、摄影测量学和机器人导航等领域&#xff0c;能够修正因镜头光学特性或传感器排列问题导致的图像失真。下面我将介绍几种常用的图像畸变校正算法&#xff0c;并提供Python实现和测试用例。 常用算法及Python实现 1. 径向畸变校正 径向畸变是最常…

蓝桥杯_DS18B20温度传感器---新手入门级别超级详细解析

目录 一、引言 DS18B20的原理图 单总线简介&#xff1a; ​编辑暂存器简介&#xff1a; DS18B20的温度转换与读取流程 二、代码配置 maic文件 疑问 关于不同格式化输出符号的使用 为什么要rd_temperature()/16.0&#xff1f; onewire.h文件 这个配置为什么要先读lo…

MySQL的并发事务问题及事务隔离级别

一、并发事务问题 1). 赃读&#xff1a;一个事务读到另外一个事务还没有提交的数据。 比如 B 读取到了 A 未提交的数据。 2). 不可重复读&#xff1a;一个事务先后读取同一条记录&#xff0c;但两次读取的数据不同&#xff0c;称之为不可重复读。 事务 A 两次读取同一条记录&…

密码学基础——SM4算法

博客主页&#xff1a;christine-rr-CSDN博客 ​​​​专栏主页&#xff1a;密码学 &#x1f4cc; 【今日更新】&#x1f4cc; 对称密码算法——SM4 目录 一、国密SM系列算法概述 二、SM4算法 2.1算法背景 2.2算法特点 2.3 基本部件 2.3.1 S盒 2.3.2 非线性变换 ​编辑…

练习:对象数组 4

定义数组存储 4 个女朋友的对象。女朋友的属性&#xff1a;姓名、年龄、性别、爱好&#xff1b;要求1&#xff1a;计算出四个女朋友的平均年龄&#xff1b;要求2&#xff1a;统计年龄比平均值低的女朋友有几个&#xff1f;并把他们的所有信息打印出来。 代码&#xff1a; //对…