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

专门做it招聘的网站百度客服24小时人工服务

专门做it招聘的网站,百度客服24小时人工服务,男女做那个网站,供应链平台N-Gram 模型 什么是N-Gram?为什么叫 N-Gram?N-Gram怎么知道下一个词可能是什么?N-Gram 能做什么?N-Gram的问题 本文回答了四个问题: 一、N-Gram是什么?二、N-Gram为什么叫N-Gram?三、N-Gram具体…

N-Gram 模型

  • 什么是N-Gram?
  • 为什么叫 N-Gram?
  • N-Gram怎么知道下一个词可能是什么?
  • N-Gram 能做什么?
  • N-Gram的问题

本文回答了四个问题:

  • 一、N-Gram是什么?
  • 二、N-Gram为什么叫N-Gram?
  • 三、N-Gram具体是怎么算的?
  • 四、N-Gram能用在什么地方?

什么是N-Gram?

N-gram,本质上就是一种“上下文预测”模型。我们可以简单地把它理解为

给你前面几个词,猜下一个词会是什么?

例如:

  • 打出“我爱”,接下来有可能是“你”、“北京” or “吃饭”。
    那下一个词可能是什么?
    总不能随便猜吧,我们可以通过历史数据来总结规律,看看以往的数据中,“我爱“后边最常出现的是什么,例如最常出现的是“你”,那我们就可以大胆的猜,在现在这个场景下,“我爱”后边就是“你”

N-Gram就是这样一种简单的,最基本,基于历史出现次数的,计算的下一个词出现的概率。

虽然N-Gram很基本,但是他是Transformer这类语言模型的开端。

一些想法】我是找transformer的原理的时候,突发奇想想了解一下整个语言模型的发展脉络,试图通过跟ChatGPT对话了解ChatGPT(及其老祖),师夷长技以制夷了属于是。

为什么叫 N-Gram?

Gram指代Grammer,语句中可拆分的最基本单位,在中文可以简单的认为就是一个字,一个Gram就是一个字,N指的是以多少个为一组进行统计,N-Gram就是看前边N-1个词预测当前词。
例如:

模型名称看几个词例子(预测“苹果”之前的部分)
Unigram看前 0 个(只管当前词)苹果
Bigram看前 1 个吃 苹果
Trigram看前 2 个爱 吃 苹果
4-gram看前 3 个我 爱 吃 苹果
Unigram: 只看当前词
苹果
Bigram: 看前一个词
吃 ->苹果
Trigram: 看前两个词
爱 + 吃 -> 苹果
4-gram: 看前三个词
我 + 爱 + 吃 -> 苹果

一些想法】自然而然就会想到为什么叫N-Gram,N的含义是什么,Gram的含义是什么,结果发现谜底就在谜面上,就是N-Gram实际上是通过N-1个Grammer来猜下一个Gram的,这个可能是因为N指代的是以N个Grammer为一组,那除去要猜的最后一个,自然就前提条件就是通过N-1个来猜咯。

N-Gram怎么知道下一个词可能是什么?

N-gram 模型本质上是一个 统计记忆模型

它从你提供的数据中“计数”:

  • “我 爱 你”出现了 50 次;
  • “我 爱 北京”出现了 20 次;
  • “我 爱 吃 苹 果 很”出现了 5 次;

然后当你输入“我 爱 ”,模型就在所有以“我 爱 ”开头的片段中,看接下来哪个词最常出现,就猜它是你要说的下一个词。

也就是说,N-Gram并没有没有理解语言,它只是看说这两个字之后,接下来最经常说哪个字
如果提供的文本中通篇只有**“我爱你”,而没有“我爱xxx”,那就可以认为一旦出现“我爱”,下一个字就一定是“你”了,“你”**的概率是100%。

用数学描述就是:

w n − 2 w_{n-2} wn2 w n − 1 w_{n-1} wn1接连出现的时候,接连出现 w n w_n wn的概率有多大
P ( w n ∣ w n − 2 , w n − 1 ) = Count ( w n − 2 , w n − 1 , w n ) Count ( w n − 2 , w n − 1 ) P(w_n \mid w_{n-2}, w_{n-1}) = \frac{\text{Count}(w_{n-2}, w_{n-1}, w_n)}{\text{Count}(w_{n-2}, w_{n-1})} P(wnwn2,wn1)=Count(wn2,wn1)Count(wn2,wn1,wn)

一些想法】看起来很傻瓜是不是。。。这个就是最基本的通过历史数据简单的进行概率计算,,就像是破案一样,“你出现在现场的次数最多,所以我猜真凶一定是你!”,虽然看起来有点草率,但是在某些场景下还莫名的好用。当然因为语料有限,有可能会出现训练集没有出现 C o u n t ( w n − 2 , w n − 1 ) = 0 Count(w_{n-2}, w_{n-1}) = 0 Count(wn2,wn1)=0 C o u n t ( w n − 2 , w n − 1 , w n ) = 0 Count(w_{n-2}, w_{n-1}, w_{n}) = 0 Count(wn2,wn1,wn)=0的情况,为了避免这种情况(这样就算不出下一个词可能是什么了),会用到一个称为“平滑”的技术,当然这是后话,最主要的还是概率计算的思路。

N-Gram 能做什么?

虽然简单,但 N-gram 很有用,尤其在早期的语言处理任务中。

举几个场景:

  1. 输入法联想:你打出“今天”,它给你补“星期几”、“下雨”、“放假”,都是基于 N-gram 的预测。
  2. 拼写纠错:你输错一个词,它看上下文哪个词组合最常见,来猜你原本想输入什么。
  3. 语音识别:一个音可能对应多个词,N-gram 用上下文判断哪个词组合更合理。
  4. 搜索建议:你输入“如何提高”,它自动补“工作效率”、“记忆力”,都是靠历史统计。

一些联想】我们接触到的最多的应该就是输入法联想了,还记得有一段时间流行过通过键入前两个或三个词,接下来不停的按输入法推荐的第一个词,直到出现句号,这背后其实就可能是N-Gram算法在发力,毕竟从使用的经验来看,真的是根据你平时的输入习惯来进行下一个词的提示。而且N-Gram的思路是真的简单,实现起来很快,计算量也低,结果也很可控。

N-Gram的问题

  • 只关注局部信息:它只能看到前 N 个词,如果重要信息在更前面就忽略了。
  • 缺少联想:如果某些词组很少出现(比如“我 爱 苏7 Ultra”),它可能根本没见过,就不会预测出来。
间隔很远
没见过
前文很重要的词
N-Gram看不到
出现频率极低的新组合
无法预测

一些想法】毕竟很简单的算法啦,要什么自行车,在一些特定场景能用,好用就行。

http://www.dtcms.com/wzjs/111716.html

相关文章:

  • 用bootstrap做网站管理系统怎么做推广网络
  • wordpress列表页url规则武汉seo推广优化公司
  • 龙岩网站制作多少钱推广普通话手抄报内容50字
  • 公司网站招聘费如何做会计分录哪里有培训网
  • 网站服务器建设商抖音seo公司
  • 变态sf网站网站网络营销实施方案
  • 收费网站怎么建立近期热点新闻事件50个
  • 有个找人做任务赚返佣的网站全网营销与seo
  • 做招聘的网站网站广告调词平台
  • 做网站运作国珍网络营销的作用
  • 深圳 网站设计公司西安百度推广公司
  • 客户管理软件免费版天津seo网站管理
  • javaweb做的网站有哪些百度上如何做优化网站
  • 汽车销售在哪些网站做推广长安网站优化公司
  • 十大永久免费财务软件合肥seo
  • 用wordpress做的网站有哪些交换链接营销案例
  • 微网站建设目的整合营销传播策划方案
  • 外地人网站备案5188关键词挖掘工具
  • 施工企业会计案例分析论文seo是什么学校
  • 设计素材网站模板百度知道电脑版网页入口
  • 小程序开发平台哪个质量好标题优化怎么做
  • 网站建站行业新闻seo标题优化分析范文
  • 软件开发工具属于网站优化排名易下拉霸屏
  • 做电影网站如何买版权全部列表支持安卓浏览器软件下载
  • 做景观的网站百度百度百度一下
  • 找外包公司做网站国家职业技能培训学校
  • 网页二级网站怎么做东莞做网站推广
  • 关于网站建设的指标网络营销总结及体会
  • 企业网站建设视频教程合肥网站推广公司哪家好
  • ip下的网站吗上海seo网站优化软件