从 n-gram 到神经网络:NPLM 如何重塑语言建模范式

NPLM(Neural Probabilistic Language Model,神经概率语言模型)是由Bengio等人于2003年提出的首个将神经网络与概率语言建模结合的开创性模型,它打破了传统统计语言模型的局限。

NPLM的核心架构通过"one-hot→词嵌入→非线性变换→概率输出"的流程,首次实现了神经网络对语言的有效建模。其四大创新(分布式表示、非线性建模、同步学习、端到端架构)彻底改变了NLP的发展轨迹,是连接传统统计方法与现代深度学习NLP的关键里程碑。

神经概率语言模型提出背景:

在NPLM出现前,NLP领域主流是n-gram模型(基于统计的概率语言模型),其核心问题在于:

  • 数据稀疏性:当n增大(如4-gram、5-gram),大量词序列在语料中从未出现,无法估计概率;
  • 维度灾难:词汇表规模扩大时,模型参数呈指数级增长;
  • 无法建模语义关联:仅依赖词的共现频率,无法捕捉词的深层语义(如“苹果”既指水果也指公司)。

NPLM的核心目标就是通过神经网络解决这些问题,实现更精准的语言概率建模。

1. 神经网络结构

在这里插入图片描述

NPLM采用四层全连接神经网络架构,核心是学习"词的分布式表示"和"基于这些表示的概率函数"。模型整体遵循n-gram的马尔可夫假设:下一个词的概率仅依赖于前n-1个词

(1)输入层(Input Layer)

  • 输入形式:前n-1个词的one-hot向量,每个向量维度为|V|×1(|V|是词汇表大小)
  • 输入内容:<wₜ₋ₙ₊₁, wₜ₋ₙ₊₂, …, wₜ₋₁>,即目标词wₜ之前的n-1个上下文词
  • 作用:将离散的词索引转换为模型可处理的向量形式

(2)词嵌入层(Word Embedding Layer)

这是NPLM最核心的创新层之一,引入了分布式词表示(Distributed Representation)概念。

  • 核心组件:词嵌入矩阵C ∈ ℝ^(|V|×m),其中m是词向量维度(远小于|V|,通常取50-300)
  • 映射过程:每个输入的one-hot向量w通过矩阵乘法C×w得到对应的词向量e ∈ ℝ^m
  • 拼接操作:将n-1个词向量按顺序拼接成一个长向量x ∈ ℝ^((n-1)m),作为隐藏层的输入
  • 关键特性
    • 语义相似的词在向量空间中距离相近(如"国王"-“男人”+“女人"≈"女王”)
    • 解决了传统模型的数据稀疏性问题,将高维离散空间映射到低维连续空间

(3)隐藏层(Hidden Layer)

  • 计算过程
    h = tanh(d·x + b)
    
    其中:
    • d ∈ ℝ^(h×(n-1)m):输入层到隐藏层的权重矩阵
    • b ∈ ℝ^h:隐藏层偏置向量
    • h:隐藏层神经元数量
    • tanh:非线性激活函数,用于捕捉词之间的复杂语义关系
  • 作用:对拼接后的词向量进行非线性变换,建模上下文词之间的依赖关系

(4)输出层(Output Layer)

NPLM的输出层设计独特,同时接收隐藏层输出和词嵌入层输出,以增强模型表达能力。

  • 计算过程
    y = K·h + M·x + l
    P(wₜ|wₜ₋ₙ₊₁,...,wₜ₋₁) = softmax(y)
    
    其中:
    • K ∈ ℝ^(|V|×h):隐藏层到输出层的权重矩阵
    • M ∈ ℝ^(|V|×(n-1)m):输入层(词嵌入后)到输出层的直接权重矩阵
    • l ∈ ℝ^(|V|):输出层偏置向量
    • softmax:归一化函数,将输出转换为概率分布,确保所有词的概率和为1
  • 作用:输出目标词wₜ的概率分布,完成语言模型的核心任务(预测下一个词)

2. 四大核心创新点

(1)分布式词表示:解决语义缺失问题

  • 传统模型痛点:n-gram仅统计词共现频率,无法捕捉语义(如"苹果"的双重含义)
  • 创新思路:将词映射到低维连续向量空间,向量的每个维度代表词的一个潜在语义特征
  • 突破性意义:首次证明语义可以被量化表示,为后续所有词嵌入技术(Word2Vec、GloVe等)奠定理论基础

(2)神经网络建模非线性关系

  • 传统模型局限:n-gram只能建模线性关系,无法处理语言中复杂的句法和语义结构
  • 创新设计:通过隐藏层的非线性变换(tanh激活函数)捕捉词之间的高阶依赖关系
  • 优势:相比n-gram的简单统计,神经网络能学习更抽象的语言规律,泛化能力更强

(3)同步学习:词向量与概率函数联合优化

  • 核心思想:模型同时学习两个关键部分
    1. 每个词的分布式表示(词嵌入矩阵C)
    2. 基于这些表示的词序列概率函数(权重矩阵d、K、M等)
  • 训练方式:使用随机梯度下降优化负对数似然损失(Negative Log-Likelihood):
    Loss = -∑log(P(wₜ|context))
    
  • 关键优势:词向量的学习直接服务于语言建模任务,确保向量包含语言的核心语义信息

(3)端到端架构:统一语言建模流程

  • 传统流程:特征工程(人工设计)→ 模型训练 → 预测,各环节独立
  • 创新架构:从原始词输入到概率输出的全链路神经网络,无需人工特征工程
  • 意义:开创了NLP的端到端学习范式,为后续Transformer、BERT等模型提供了架构参考

3. 与传统方法的对比分析

  • 与传统n-gram模型的核心差异:
对比维度传统n-gram模型NPLM模型
词表示离散的one-hot向量,无语义关联连续的低维词向量,语义相似词向量相近
参数规模O(|V|ⁿ),随n指数增长,维度灾难O(|V|×m + h×(n-1)m + |V|×h),线性增长
语义建模仅基于词共现频率,无法捕捉语义通过分布式表示和非线性变换建模深层语义
数据稀疏性严重,大量n-gram组合未出现缓解,低维空间插值能力强
泛化能力差,未见过的组合无法处理强,可通过语义相似性迁移知识
  • 主要局限性:

    • 计算效率低:输出层softmax需遍历整个词汇表,训练速度慢(当时用并行计算优化)
    • 长依赖建模有限:受限于固定窗口大小n,无法有效捕捉更长距离的依赖关系
    • 参数共享不足:不同位置的词向量处理使用不同参数,效率不高
  • 深远影响:

    • 开启神经语言模型时代:直接启发RNN-LM(2010)、Word2Vec(2013)、Transformer-LM(2017)等模型
    • 词嵌入成为NLP标配:所有现代NLP模型都基于词/句/段的分布式表示构建
    • 奠定深度学习NLP基础:"分布式表示+神经网络建模序列"的核心思路沿用至今

4. RNN-LM做出的改进

RNN(更准确地说是“基于RNN的语言模型(RNN-LM)”)是NPLM的核心迭代与优化版本——它继承了NPLM的核心目标和核心思想,同时解决了NPLM的关键痛点,是神经概率语言模型从“固定窗口”走向“变长序列”的关键演进。

  • 关键改进:
    NPLM受限于2003年的架构设计(全连接+固定窗口),存在两个致命缺陷,而RNN-LM(2010年由Mikolov等人提出)通过循环结构完美解决,这是两者最核心的差异:
痛点维度NPLM的问题RNN-LM的改进方案
上下文窗口固定长度窗口(如前5个词),无法处理变长序列,长依赖建模能力极弱循环结构天然适配变长序列:逐词处理输入,每一步的隐藏状态都融合“当前词+历史所有词的信息”,理论上可建模任意长度的上下文
参数效率全连接架构,不同位置的上下文词向量拼接后用独立参数处理,参数规模随窗口长度线性增长RNN的循环单元(如tanh-RNN)参数共享:无论序列多长,仅用一套循环参数处理,参数规模固定,效率大幅提升
序列适配性强制将序列截断/补齐为固定长度,破坏语言的自然序列结构逐词迭代处理,完全贴合语言“时序性”特征,更符合人类语言的生成逻辑

举个直观例子:

  • NPLM建模“我爱吃苹果”的下一个词时,只能固定取前3个词(如“爱吃苹”),且“爱”“吃”“苹”的参数是分开的;
  • RNN-LM处理时,会先处理“我”→更新隐藏状态→处理“爱”→融合“我”的信息更新状态→处理“吃”→融合“我+爱”的信息→处理“苹”→融合“我+爱+吃”的信息,最终用包含全部前文的状态预测“果”,且全程用同一套RNN参数。

论文链接

NPLM:《A Neural Probabilistic Language Model》
RNN-LM:《Recurrent neural network based language model》

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

TracyCoder123

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值