3. NLP与深度学习回顾

在进入BERT金融新闻分类实战之前,我们需要把NLP深度学习的关键技术脉络梳理清楚。BERT并非凭空出现,它站在词向量、RNN、CNN、注意力机制与Transformer的肩膀上。理解这条演进链,才能在后续调参、排障和模型改造时知道"为什么这样做"。

一、核心原理:表示、序列与注意力三条主线

NLP深度学习的发展可以归纳为三条主线:如何表示词、如何建模序列、如何捕捉长距离依赖。

  • 词向量:Word2Vec、GloVe把离散词映射为稠密向量,让"相似词"在向量空间中距离更近。但它是静态的,"苹果"在"苹果手机"和"吃苹果"中向量相同。
  • RNN/LSTM:按时间步递归处理序列,天然适合变长文本,但存在梯度消失、无法并行、长依赖衰减的问题。
  • CNN:用卷积核在词序列上滑动,捕捉局部n-gram特征,可并行、速度快,但感受野有限。
  • 注意力机制:让模型对序列中不同位置分配不同权重,直接建立任意两位置的连接,突破距离限制。
  • Transformer:完全基于自注意力,抛弃循环结构,实现全并行训练,成为BERT的骨架。
关键转折:从"顺序处理"到"全局加权"。RNN像逐字阅读,Transformer像一眼扫过全文并标注重点。

二、方法流程:一次文本分类的完整数据流

以金融新闻"央行宣布降准0.5个百分点"为例,走一遍典型流程:

  1. 分词与映射:文本切分为,查词表转为ID序列。
  2. 词向量层:ID查表得到向量,或由BERT的Embedding层生成上下文相关向量。
  3. 编码器:RNN/CNN/Transformer逐层提取语义特征。
  4. 池化与分类:取[CLS]或平均池化,接全连接层输出类别概率。
  5. 损失与优化:交叉熵损失,反向传播更新参数。
输入: "央行 宣布 降准 0.5 个百分点"
_ids: [101, 2345, 678, 9012, 345, 6789, 102]
embedding: (7, 768)
encoder_out: (7, 768)
pooled: (768,)
logits: [0.1, 0.7, 0.2]  # 政策/市场/公司
pred: 政策

三、案例场景:金融新闻中的长依赖与歧义

金融文本有两大难点:长距离依赖和领域歧义。

例如:"尽管该公司一季度营收同比增长20%,但受原材料价格上涨影响,净利润同比下滑15%。"判断情感极性时,模型必须把"净利润"与"下滑"关联,而中间隔了多个词。RNN容易遗忘,CNN感受野不够,注意力机制则能直接给"下滑"高权重。

再如"苹果"在科技新闻与农业新闻中含义不同。静态词向量无法区分,而BERT通过上下文动态生成向量,能根据周围词调整表示。这正是BERT在金融新闻分类中优于Word2Vec+RNN的关键原因。

四、误区与复盘:常见认知偏差

误区一:认为BERT完全取代了RNN和CNN。实际上在低资源、强时序场景,BiLSTM+CRF仍是序列标注的强基线;CNN在短文本分类中依然高效。
  • 误区二:把注意力权重直接当作"解释"。注意力高不等于因果重要,需结合梯度或消融实验验证。
  • 误区三:忽视位置编码。Transformer本身无序,位置信息靠Positional Encoding注入,去掉后性能骤降。
  • 误区四:认为词向量维度越高越好。维度过高易过拟合,金融小数据集常用128或256维。
模型并行能力长依赖金融场景适用性
Word2Vec + RNN差弱小数据基线
TextCNN好中短新闻快分类
BiLSTM + Attention差中序列标注
Transformer好强长文本建模
BERT好强金融新闻分类首选
NLP深度学习演进:从词向量到Transformer 词向量 Word2Vec/GloVe RNN/LSTM 顺序建模 CNN 局部n-gram 注意力机制 全局加权 Transformer 自注意力 + 位置编码 + 全并行 BERT 双向编码 + 预训练微调 演进逻辑:表示能力增强 → 并行能力提升 → 长依赖捕捉 → 上下文动态化

复盘来看,BERT的成功不是单点突破,而是词向量提供表示基础、Transformer提供并行架构、注意力提供全局建模、预训练提供海量语料知识,四者叠加的结果。在金融新闻分类任务中,理解这条链路,才能判断何时用TextCNN做快速基线,何时上BERT做精细分类,以及为什么微调时学习率要设得很小。