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

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) 

 四.模型自适应

 

 

相关文章:

  • Fetch与Axios:区别、联系、优缺点及使用差异
  • 6个月Python学习计划 Day 16 - 面向对象编程(OOP)基础
  • 【GESP真题解析】第 15 集 GESP 三级 2024 年 9 月编程题 2:回文拼接
  • 自适应长度惩罚强化学习的高效推理
  • 基于TarNet、CFRNet与DragonNet的深度因果推断模型全解析
  • 领域驱动设计(DDD)
  • 企业微信授权登录(uniapp项目)
  • Fullstack 面试复习笔记:HTML / CSS 基础梳理
  • Java编程之原型模式
  • 35 C 语言字符串转数值函数详解:strtof、strtod、strtold(含 errno 处理、ERANGE 错误)
  • CMS、G1、ZGC、Shenandoah 的全面对比
  • 变幻莫测:CoreData 中 Transformable 类型面面俱到(一)
  • Android 视图系统入门指南
  • OkHttp 3.0源码解析:从设计理念到核心实现
  • AI整合SEO关键词智能策略
  • 阿里云 RDS mysql 5.7 怎么 添加白名单 并链接数据库
  • selenium自动化测试学习心得1
  • C++ 信息学奥赛总复习题答案解析(第一章)
  • 在Ubuntu22.04 系统中安装Docker详细教程
  • 【hadoop】相关集群开启命令
  • 企业公示信息查询系统广西/seo网络培训机构
  • 青海公司网页设计/百度的seo排名怎么刷
  • 广州网站建设是什么/seo网络推广公司
  • 泰安高端网站建设/会计培训班一般多少钱
  • 商丘柘城做网站/百度云网盘登录入口
  • 做网站怎么写代码/新闻头条免费下载安装