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

【LLM基础教程】统计语言模型N-gram

​ 在深度学习语言模型(LSTM、Transformer)出现之前,统计语言模型(Statistical Language Model, SLM)长期占据 NLP 主流地位。它们通过对大量语料进行统计,来估计词序列的概率,是最早被广泛应用于机器翻译、语音识别等系统的语言模型形式。

​ 其中最经典、最重要的统计语言模型就是n-gram 模型

1. n-gram 的基本思想

​ 根据概率论中的链式法则,长度为TTT的词序列x1,⋯ ,xTx_1, \cdots, x_Tx1,,xT的联合概率可以写成:
p(x1,⋯ ,xT)=∏t=1TP(xt∣x1:t−1) p(x_1, \cdots, x_T)=\prod_{t=1}^{T} P(x_t \mid x_{1:t-1})p(x1,,xT)=t=1TP(xtx1:t1)
​ 也就是说,如果我们能够正确建模每一个词在给定前文的情况下出现的概率,就能计算整句的概率。然而,这里会遇到一个致命问题:条件依赖长度太长!xtx_txt要依赖前面所有词,但真实语料根本不可能覆盖如此巨大的组合空间。

​ 于是,n-gram 模型引入了简化假设:马尔可夫假设

(1) 马尔可夫假设

  • 一个词的出现只依赖它前面的n−1n-1n1个词,而不是整个历史。

  • 基于这一假设,我们将复杂的条件概率近似为:
    P(xt∣x1:t−1)≈P(xt∣xt−n+1:t−1) P(x_{t}|x_{1:t-1}) \approx P(x_t|x_{t-n+1:t-1})P(xtx1:t1)P(xtxtn+1:t1)
    这样,原本需要完整上下文的模型就简化成了只依赖固定长度窗口的模型,也就是n-gram 模型

(2) n-gram 的概率估计

Maximum Likelihood Estimation

​ n-gram 的核心是计算:
P(xt∣xt−n+1,⋯ ,xt−1) P(x_t|x_{t-n+1}, \cdots, x_{t-1})P(xtxtn+1,,xt1)
​ 用最大似然估计(MLE)可以直接通过计数求得:
P(xt∣xt−n+1,⋯ ,xt−1)=Count(xt−n+1,⋯ ,xt−1,xt)Count(xt−n+1,⋯ ,xt−1) P(x_t|x_{t-n+1},\cdots,x_{t-1}) = \frac{\mathcal{Count}(x_{t-n+1}, \cdots, x_{t-1}, x_{t})}{\mathcal{Count}(x_{t-n+1}, \cdots, x_{t-1})}P(xtxtn+1,,xt1)=Count(xtn+1,,xt1)Count(xtn+1,,xt1,xt)
nnn的阶数越高,对应的依赖关系就越长。

  • 1-gram(Unigram)

    Unigram 假设所有词独立出现,因此整句概率为:
    P(x1,⋯ ,xt)=∏i=1tP(xi) P(x_1, \cdots, x_t) = \prod_{i=1}^t P(x_i)P(x1,,xt)=i=1tP(xi)
    此模型忽略了所有上下文信息,效果通常最差。

  • 2-gram(Bigram)

    基于一阶马尔可夫假设

    Bigram 是最常用的基础 n-gram 模型,它假设每个词只依赖前一个词:
    P(x1,⋯ ,xt)=P(x1)∏i=2tP(xi∣xi−1) P(x_1, \cdots, x_t) = P(x_1)\prod_{i=2}^t P(x_i|x_{i-1})P(x1,,xt)=P(x1)i=2tP(xixi1<

http://www.rkmt.cn/news/110626.html

相关文章:

  • Nigx配置
  • gpt-oss-20b RESTful API设计与集成指南
  • 【玩转全栈】----Django根本设置和介绍
  • GPT-SoVITS音色相似度优化技巧:提升克隆真实感
  • 2025/12/16英语打卡
  • Windows下Python安装失败?换用清华源重试TensorFlow安装
  • Qwen3-32B大模型调用与鉴权指南
  • 2025年十大隐形车衣优质厂家排行榜,隐形车衣厂家测评指南 - myqiye
  • HuggingFace镜像网站推荐列表(国内可用)
  • DiskInfo下载官网替代方案:高效获取YOLO资源
  • SQL条件中WHERE 1=1 的功能
  • 职业本科与高职专科低空专业就业方向具体区别
  • Langchain-Chatchat能否导出问答记录?
  • vLLM 0.11.0 发布:全面移除 V0 引擎,性能与多模态支持再升级
  • 91n推荐:最适合生产环境的TensorRT镜像部署方式
  • MIL-STD-1553B总线仿真应用解析
  • 题目:字符串逆序
  • Conda-forge构建SD3.5 FP8推理环境的正确姿势
  • 45、Linux系统使用指南:文件、多媒体与网络操作全解析
  • 零基础部署Wan2.2-T2V-A14B:本地化视频生成全指南
  • 告别听不清困境,声网STT让每一次沟通都被精准捕捉
  • Fifth Assignment——Alpha Sprint
  • 机房预约系统
  • PCB打板是否需要SMT贴片?——从工程实战角度看清本质
  • “AI招聘 潮头之上”,2025NFuture 最佳雇主颁奖盛典上海站圆满落幕
  • V1交友盲盒多级代理分佣可运营版源码分享-幽络源亲测
  • 2025年全球GEO优化行业头部企业全景盘点及发展洞察 - bykj8888
  • 使用PaddlePaddle进行中文NLP开发的完整流程(含Git下载与CUDA安装步骤)
  • ComfyUI入门到进阶:AI绘画节点工作流详解
  • Python安装Langchain-Chatchat全流程保姆级教程