更新于
2026年7月7日
TextRNN#
术语解释#
TextRNN 并不是指某一个特定的模型,而是一系列以循环神经网络(RNN)结构为基础构建的文本分类模型的总称。 TextRNN 把文本序列逐字送入 RNN,把最后一个时刻的隐藏状态作为整个句子的表示,再接全连接层做分类。常见变体包括 BiLSTM+Attention、BiGRU 等,是深度学习文本分类的经典方法。

TextRNN 的核心思想是利用 RNN 结构对文本进行特征提取 。其典型的处理流程如下 :
- 词嵌入层:将离散的词(通常是 One-hot 编码)映射为低维稠密的连续向量表示。
- RNN 层:将嵌入后的序列输入循环神经网络,可以是原始 RNN,也可以是其变体如 LSTM、GRU 或 双向 RNN(BiRNN)。
- 特征组合:从 RNN 的输出中提取特征,常见做法包括只取最后一个时刻的输出,或者取所有时刻输出的均值或总和。
- 分类层:将提取的特征向量输入全连接层,通过 Softmax 函数完成分类。
出现动机#
- 捕捉时序依赖:文本数据具有天然的时序性,一个词的含义往往依赖于其前后的上下文。传统的词袋模型等方法难以捕捉这种序列关系,而 RNN 的循环结构使得它能够将历史信息带入当前计算,具备处理时序数据的“记忆”功能。
- 全局语义建模:相比于卷积神经网络(CNN)侧重于局部特征提取,RNN 的设计初衷是利用其固有的特性对整个序列进行全局特征提取
优点缺点#
- 优点:
- 擅长时序建模:能够有效捕捉文本序列中词与词之间的先后顺序和长距离依赖关系。
- 理解上下文信息:通过隐藏状态的更新,模型能够根据上下文语境动态地对文本进行编码。
- 结构灵活:可以根据任务需求灵活选择不同的记忆单元(如更擅长长程记忆的 LSTM 或更高效的 GRU)以及单向或双向结构。
- 缺点:
- 计算效率低(串行限制):RNN 的计算必须逐个时刻按序进行,下一个时刻的计算依赖于前一个时刻的结果,这种固有属性导致它无法实现并行化计算,训练和推理速度通常较慢。
- 梯度消失/爆炸问题:在处理长文本时,标准 RNN 极易出现梯度消失或爆炸,导致模型难以学到距离较远的语义关联(虽然 LSTM 和 GRU 缓解了这一问题,但并未从根本上消除串行瓶颈)。
- 信息瓶颈:如果仅仅取最后一个时刻的输出作为整个序列的表示,随着输入序列长度增加,模型可能无法记住和区分源序列中所有时刻的编码信息
相关术语#
- TextCNN
- CNN-RNN
阅读
--