RNN如何将文本压缩为256维向量
RNN如何将文本压缩为256维向量
RNN(包括LSTM、GRU等变种)对自然语言的编码核心是通过循环结构将变长的文本序列(如句子、段落)压缩为固定维度(如256或512维)的向量,这个过程依赖“时序迭代”和“信息累积”机制,即使维度较低,也能捕捉文本的核心语义和上下文依赖。
RNN对自然语言的编码流程(以256维为例)
整个过程可分为3步:文本预处理→词嵌入→循环编码,最终生成固定维度的向量。
1. 文本预处理:将文本转为离散序列
首先将自然语言文本(如一句话)拆分为最小单位(通常是词或子词),再映射为离散的索引(方便后续转换为向量)。
例如,对句子“小明在操场跑步”:
- 分词:
["小明", "在", "操场", "跑步"]
- 索引映射(基于词汇表):
[102, 35, 489, 217]
(假设词汇表中“小明”对应102,以此类推)
2. 词嵌入:将离散索引转为低维向量
RNN无法直接处理离散索引,需通过词嵌入层将每个词的索引转为固定维度的稠密向量(如300维),保留基础语义(如“操场”和“户外”的向量距离较近)。
- 示例:
“小明” →[0.21, 0.53, ..., 0.18]
(300维向量)