[自然语言处理-入门] 语言模型LM

[自然语言处理-入门] 语言模型LM

个人导航

知乎:https://www.zhihu.com/people/byzh_rc

CSDN:https://blog.csdn.net/qq_54636039

注:本文仅对所述内容做了框架性引导,具体细节可查询其余相关资料or源码

参考文章:各方资料

文章目录

  • [[自然语言处理-入门] 语言模型LM](#[自然语言处理-入门] 语言模型LM)
  • 个人导航
  • [语言模型 LM](#语言模型 LM)
  • [连续型语言模型 continuous LM](#连续型语言模型 continuous LM)
        • [1. N-gram 模型](#1. N-gram 模型)
        • [2. 连续表示 LM(借鉴推荐系统)](#2. 连续表示 LM(借鉴推荐系统))
  • [RNN-based LM](#RNN-based LM)
  • [语言模型融合 Fusion](#语言模型融合 Fusion)

语言模型 LM

语言模型LM = 给一串 词/Token 算概率的模型

  • 定义 :估算token 序列的概率 P ( y 1 , y 2 , . . . , y n ) P(y_1,y_2,...,y_n) P(y1,y2,...,yn)
  • 作用 :给文本输出做概率约束,提升生成 / 识别合理性

X X X:输入 ,比如一段语音、一段英文
Y Y Y:输出句子 ,比如识别出来的中文
Y ∗ Y^* Y∗:最终我们要选的、最正确的句子
arg ⁡ max ⁡ Y \arg\max_Y argmaxY:从所有可能的句子里,挑概率最大的那一句

原本模型 只看这一项 P ( Y ∣ X ) P(Y|X) P(Y∣X)

  • P ( Y ∣ X ) P(Y|X) P(Y∣X) 只看声音和文字像不像
  • P ( Y ∣ X ) P(Y|X) P(Y∣X) = 听到声音 X,说出句子 Y 的概率

**LM语言模型**只看 P ( Y ) P(Y) P(Y)

  • P ( Y ) P(Y) P(Y) 只看句子本身
  • P ( Y ) P(Y) P(Y) = 这句话本身像不像人话、通不通顺

优势: 只需要纯文本就能训练,数据极易获取

现在两个标准一起打分: P ( Y ∣ X ) ⋅ P ( Y ) P(Y|X)⋅P(Y) P(Y∣X)⋅P(Y)

  • P ( Y ∣ X ) P(Y|X) P(Y∣X):听着像不像(声学分)
  • P ( Y ) P(Y) P(Y):说的通不通(语文分,LM 给的)

两者相乘后,正确句子的总分更高

e.g.

听到语音:wreck a nice beach

模型会猜好几个候选句子:

  1. wreck a nice beach(正确)
  2. recognize speech(发音几乎一样,模型很容易选这个)
  3. wreck and nice peach(错)

P ( Y ∣ X ) P(Y|X) P(Y∣X) 会觉得:recognize speech 发音更匹配,概率最高,直接选错

P ( Y ) = P ( recognize speech ) P(Y)=P(\text{recognize speech}) P(Y)=P(recognize speech):很高,日常会说
P ( Y ) = P ( wreck a nice beach ) P(Y)=P(\text{wreck a nice beach}) P(Y)=P(wreck a nice beach):很低,日常很少这么说

P ( Y ∣ X ) ⋅ P ( Y ) P(Y|X)⋅P(Y) P(Y∣X)⋅P(Y) 综合考虑
recognize speech:声学分高,但语境不对,语文分被压低
wreck a nice beach:声学分中等,但语境匹配,语文分拉高

-> 两者相乘后,正确句子的总分更高 ,模型就选对

连续型语言模型 continuous LM

1. N-gram 模型

前 n-1 个词 预测 下一个词
P ( y 1 , . . . , y n ) = P ( y 1 ) P ( y 2 ∣ y 1 ) P ( y 3 ∣ y 1 y 2 ) . . . P ( y n ∣ y n − 1 ) P(y_1,...,y_n)=P(y_1)P(y_2|y_1)P(y_3|y_1y_2)...P(y_n|y_{n-1}) P(y1,...,yn)=P(y1)P(y2∣y1)P(y3∣y1y2)...P(yn∣yn−1)

公式: P ( 词 ∣ 前文 ) = 共现次数 / 前文出现次数 P (\text{词} | \text{前文}) = \text{共现次数} / \text{前文出现次数} P(词∣前文)=共现次数/前文出现次数

缺点 :数据稀疏、长文本不准,需要平滑(smoothing)

2. 连续表示 LM(借鉴推荐系统)

把词变成向量 ,用向量点积估算共现概率

  • h j h_j hj: 上文history
  • v i v_i vi: 下文词汇
  • n i j ≈ v i ⋅ h j n_{ij}≈v_i⋅h_j nij≈vi⋅hj: 共现次数

优点

  • 自动平滑:没见过的词对也能靠向量相似度算概率
  • 语义相似:dog /cat 向量接近,模型能泛化

RNN-based LM

神经网络下一词预测

  • 解决 N-gram 长依赖差的问题
  • 典型结构:RNN / LSTM → 输出下一词概率分布
  • 核心:用**隐藏状态**保存历史信息,支持更长上下文

语言模型融合 Fusion

目标:把 LM语言模型LAS语音识别模型 结合

三种融合方式:

融合方式 时机 融合位置 特点
Shallow Fusion 训练后 输出层 logit 加权 简单、不用重训
Deep Fusion 训练后 隐藏层结合 效果更强
Cold Fusion 训练前 训练时就融入 LM LAS 收敛更快
相关推荐
byzh_rc4 小时前
[自然语言处理-入门] 语音转换VC
人工智能·自然语言处理
guslegend4 小时前
测试工程师驾驭大语言模型的第一步
人工智能·语言模型·自然语言处理
AI人工智能+4 小时前
基于OCR与深度学习的发票识别技术,重构报销系统效率
计算机视觉·自然语言处理·ocr·发票识别
AI技术控14 小时前
《Transformers are Inherently Succinct》论文解读:从“能表达什么”到“多紧凑地表达”
人工智能·python·深度学习·机器学习·自然语言处理
郭龙飞98020 小时前
OpenClaw技能拓展教程 五大场景高效办公实操指南
人工智能·windows·语言模型
大模型最新论文速读20 小时前
05-15 · LLM 最新论文速览
论文阅读·人工智能·深度学习·机器学习·自然语言处理
kishu_iOS&AI1 天前
NLP —— Transformer底层源码剖析(解码器部分+输出)
人工智能·自然语言处理·transformer
财经资讯数据_灵砚智能1 天前
基于全球经济类多源新闻的NLP情感分析与数据可视化(夜间-次晨)2026年5月17日
大数据·人工智能·python·信息可视化·自然语言处理
甄心爱学习1 天前
【自然语言处理】词性标注-HMM与条件随机场
人工智能·自然语言处理