什么是unigram语言模型

文章目录

Unigram 语言模型 (一元文法模型)是自然语言处理(NLP)中最简单、最基础的统计语言模型(N-gramN\text{-gram}N-gram 模型中 N=1N=1N=1 的特例)。


核心假设:词与词相互独立

Unigram 模型基于一个极强的假设------条件独立性假设(Bag-of-Words 词袋思想):

文本中每个词的出现概率完全独立,与其他任何词(上下文)无关,只取决于该词在语料库中自身的出现频率。

对于一个由 nnn 个词组成的句子 W=(w1,w2,...,wn)W = (w_1, w_2, \dots, w_n)W=(w1,w2,...,wn),根据全概率链式法则:

P(W)=P(w1)P(w2∣w1)P(w3∣w1,w2)...P(wn∣w1,...,wn−1)P(W) = P(w_1) P(w_2 \mid w_1) P(w_3 \mid w_1, w_2) \dots P(w_n \mid w_1, \dots, w_{n-1})P(W)=P(w1)P(w2∣w1)P(w3∣w1,w2)...P(wn∣w1,...,wn−1)

在 Unigram 假设下,条件概率被彻底简化为每个词的无条件概率之积:

P(W)=∏i=1nP(wi)=P(w1)⋅P(w2)⋅⋯⋅P(wn)P(W) = \prod_{i=1}^n P(w_i) = P(w_1) \cdot P(w_2) \cdot \dots \cdot P(w_n)P(W)=i=1∏nP(wi)=P(w1)⋅P(w2)⋅⋯⋅P(wn)


参数估计(最大似然估计 MLE)

单个词 www 的概率计算非常直观,直接统计其在训练语料库中的词频占比:

P(w)=C(w)NP(w) = \frac{C(w)}{N}P(w)=NC(w)

  • C(w)C(w)C(w):词 www 在训练集中出现的次数。
  • NNN:语料库中所有词的总数(Total Tokens)。

具体例子

假设语料库中只有三句话:

  1. I love cats
  2. I love dogs
  3. You love dogs

总词数 N=9N = 9N=9。各词概率为:

  • P(I)=29,P(love)=39,P(dogs)=29,P(cats)=19,P(You)=19P(\text{I}) = \frac{2}{9},\quad P(\text{love}) = \frac{3}{9},\quad P(\text{dogs}) = \frac{2}{9},\quad P(\text{cats}) = \frac{1}{9},\quad P(\text{You}) = \frac{1}{9}P(I)=92,P(love)=93,P(dogs)=92,P(cats)=91,P(You)=91

计算句子 I love dogs 的概率:

P(I love dogs)=P(I)×P(love)×P(dogs)=29×39×29≈0.0165P(\text{I love dogs}) = P(\text{I}) \times P(\text{love}) \times P(\text{dogs}) = \frac{2}{9} \times \frac{3}{9} \times \frac{2}{9} \approx 0.0165P(I love dogs)=P(I)×P(love)×P(dogs)=92×93×92≈0.0165

由于独立性假设,打乱语序后 dogs love I 的概率也是完全相同的 0.01650.01650.0165。


优缺点对比

  • 优点:

  • 极简高效 :计算和存储开销极低,参数量仅等于词表大小 ∣V∣\vert{}V\vert{}∣V∣。

  • 不存在上下文稀疏问题:不需要统计"词对"或"短语"共现频次。

  • 缺点:

  • 完全丧失语序和语法结构 :无法区分句子的合法性(例如 I eat apple 和 apple eat I 概率相同)。

  • 无法捕捉上下文语义:同音异义词或多义词无法根据语境消歧。


现代应用场景

尽管 Unigram 极少直接用于生成连贯句子,但它在现代 NLP 中依然扮演着关键角色:

  1. 子词分词算法(Subword Tokenization) :如 SentencePiece / Unigram LM Tokenizer,通过衡量剪枝候选子词后对整体 Unigram 似然值的损失,来构建最优化的大模型词表。
  2. 基线模型(Baseline):用于文本分类、朴素贝叶斯(Naive Bayes)分类器、信息检索(TF-IDF / BM25 语言建模法)。
相关推荐
硅谷秋水5 分钟前
PhysicalWords:一种用于构建机器人操作中潜推理过程的词汇体系
人工智能·机器学习·计算机视觉·语言模型·机器人
喵个咪26 分钟前
GoWind 拆解:AI Agent 编排引擎——波次并行、子图递归与人工审批
人工智能·后端·go
ZzT1 小时前
AI 是放大器:基础越扎实,放大效果越明显
人工智能·ai编程
喵个咪1 小时前
GoWind Admin 拆解:AI 能力层——工具循环、pgvector 知识库与机器凭证
人工智能·后端·agent
老金带你玩AI2 小时前
10秒出4K,MiniMax还开源了!H3 Image上线!
人工智能
mantou1322 小时前
只用 Cloudflare 全家桶,给游戏站做一个 RAG 搜索和问答
人工智能·llm
AI前端工程狮2 小时前
服务端已经死了,客户端却报"超时"
人工智能·程序员
阿屿2 小时前
从零手搓 AI 伴侣(二):好感度通胀危机,与它的「货币政策」
java·人工智能
师夷长技以自愈2 小时前
第 2 篇:AI 点菜,程序端菜——第一次学会"工具调用"
人工智能
数据集_深度学习2 小时前
果园红绿苹果目标检测数据集介绍和论文参考
人工智能·目标检测