找回密码
立即注册
搜索
热搜: Java Python Linux Go
发回帖 发新帖

1545

积分

0

好友

233

主题
发表于 7 天前 | 查看: 21| 回复: 0

语言是人类交流的复杂符号系统,其构成受到音韵、词法、句法等多重规则的约束,并承载丰富的语义。语言符号的一个重要特性是其不确定性:相同的意义可以由不同的形式表达,而相同的形式在不同的上下文中也可能产生不同的含义。因此,语言本质上是概率性的。语言模型的核心目标,正是为了准确计算和预测这些语言符号出现的概率。

从语言学的视角看,语言模型帮助计算机掌握语法、理解语义,从而完成各类自然语言处理任务。从认知科学和人工智能的发展历程看,从早期的规则模型(如ELIZA),到统计模型,再到如今的神经网络模型(如GPT-4),语言模型能力的跃迁也推动了机器智能的演进。本文将首先介绍基于统计方法的经典模型——n-grams语言模型,阐述其工作原理与局限性。

基于统计方法的语言模型:n-grams

统计语言模型通过分析语料库中语言符号的出现模式来学习并预测其概率。其中,n-grams模型通过直接统计词序列的频率来进行概率估计,是最具代表性的统计语言模型。

n-grams模型建立在马尔可夫假设和离散变量的极大似然估计之上。一个包含N个词的文本序列可以表示为 ( W_{1:N} = {w_1, w_2, ..., w_N} )。这里的“词”在更现代的模型中也可以是其他形式的Token。

n-grams模型的计算方法

n-gram指的是一个长度为n的词序列。n-grams模型通过计算语料库中n-gram与其对应的(n-1)-gram出现的相对频率,来估算整个文本序列 ( W_{1:N} ) 出现的概率。其核心计算公式如下:

n-gram公式1

其中:

  • ( C(w{i-n+1:i}) ) 表示词序列 ( {w{i-n+1}, ..., w_i} ) 在语料库中出现的次数。
  • ( C(w{i-n+1:i-1}) ) 表示词序列 ( {w{i-n+1}, ..., w_{i-1}} ) 在语料库中出现的次数。

参数 n 是一个可变量:

  • n=1 时,称为 unigram,它不考虑上下文关系,公式简化为 ( P(w_i) = \frac{C(wi)}{C{total}} ),其中 ( C_{total} ) 是语料库总词数。
  • n=2 时,称为 bigram,它只考虑前一个词,公式为:
    bigram公式
  • n=3 时,称为 trigram,以此类推。
实例解析:Bigram模型

假设有一个包含5个句子的微型语料库(如图1.1所示)。基于此语料库,我们用bigram模型来计算文本“长颈鹿脖子长”(由三个词构成)出现的概率:

计算示例1

根据语料库统计:( C(\text{长颈鹿}) = 5 ), ( C(\text{脖子}) = 6 ), ( C(\text{长颈鹿, 脖子}) = 2 ), ( C(\text{脖子, 长}) = 2 )。代入公式计算:

计算示例2

这个例子揭示了一个关键点:即使“长颈鹿脖子长”这个完整句子从未在语料库中出现过,bigram模型依然能够通过组合子序列的概率,给出一个非零的估计值。这体现了统计模型相对于早期基于规则方法的核心优势——泛化能力

n-gram模型的挑战与权衡

然而,这种泛化能力会随着 n 的增大而减弱。如果我们使用trigram模型来计算同一个句子,就会遇到“零概率”问题:

零概率示例

因为“长颈鹿脖子”这个词对在语料库中并未出现,导致概率为零,进而整个句子的概率也为零。这种现象被称为数据稀疏性问题。

因此,在n-grams模型中,n 的选择是一个关键的权衡:

  • n 太小(如unigram):模型无法捕捉有意义的上下文信息,表达能力弱。
  • n 太大(如4-gram, 5-gram):模型过于“死记硬背”,对训练数据拟合能力强,但泛化能力急剧下降,极易出现零概率问题。

通常,bigram和trigram是实践中较常使用的折中选择。对于零概率问题,可以通过平滑技术(如拉普拉斯平滑、古德-图灵估计等)进行缓解。

n-grams模型的统计学原理

从统计学视角看,n-grams模型是在n阶马尔可夫假设下,对语料库中词序列出现概率的极大似然估计

n阶马尔可夫假设是指:一个词的出现概率仅依赖于它前面的n-1个词。
马尔可夫假设

离散型随机变量的极大似然估计是通过统计频率来估计概率。
极大似然估计

基于以上定义,文本序列 ( W{1:N} ) 的概率 ( P(w{1:N}) ) 根据链式法则为:
链式法则

在n阶马尔可夫假设下,每一项被简化为:
马尔可夫简化

最终,整个序列的概率可以表示为:
序列概率公式

这正是之前给出的n-grams计算公式。因此,n-grams模型的参数 ( P_{MLE}(wi | w{i-n+1:i-1}) ) 就是对条件概率 ( P(wi | w{i-n+1:i-1}) ) 的极大似然估计:
MLE估计公式

总结与演进

n-grams语言模型作为早期自然语言处理的基石,通过简洁的统计方法赋予计算机初步的“语言直觉”,但其严重的数据稀疏性和有限的上下文记忆能力(仅n-1个词)限制了其性能。随着计算能力的提升,基于神经网络的语言模型 逐渐成为主流。它们不再依赖显式的频率统计,而是通过训练神经网络从海量数据中自动学习复杂的语言规律和长距离依赖关系,泛化能力得到质的飞跃,最终催生了如今强大的大语言模型(LLM)。从循环神经网络到Transformer架构的演进,正是语言模型能力不断突破的关键路径。




上一篇:MCP PL-600工业通信处理器功能测试:5步流程保障可靠交付
下一篇:RustFS分布式文件存储入门:Docker部署、控制台管理与SpringBoot整合实战
您需要登录后才可以回帖 登录 | 立即注册

手机版|小黑屋|网站地图|云栈社区 ( 苏ICP备2022046150号-2 )

GMT+8, 2025-12-24 22:54 , Processed in 0.238507 second(s), 40 queries , Gzip On.

Powered by Discuz! X3.5

© 2025-2025 云栈社区.

快速回复 返回顶部 返回列表