一、词汇表的核心作用
-
数值化表示
将离散的文本字符转换为连续的数值索引,使计算机能够处理非结构化的语言数据57。例如:"中国"
→2
"a"
→5
-
统一输入格式
不同长度的文本通过填充/截断转换为固定长度的数字序列,便于批量处理(如矩阵运算)49。
二、特殊符号的设计意义
符号 | 作用 | 示例 |
---|---|---|
[pad] | 填充符,统一序列长度(对应索引0的向量会被置零)37 | "abc" → [5,4,3,0,0] |
[unk] | 处理未登录字符(Out-of-Vocabulary),增强模型鲁棒性27 | "x" → 7 |
常规字符 | 映射为唯一索引,保留语义信息15 | "e" → 1 |
三、映射到数字的必要性
-
适配模型输入
神经网络只能处理数值型张量,字符→数字的转换是模型训练的前提78。- 例如PyTorch的
nn.Embedding
层需要输入LongTensor
类型的索引5。
- 例如PyTorch的
-
高效计算优化
数字索引可快速查表获取稠密向量(通过Embedding层),比直接处理字符串效率更高79。 -
处理多语言混合
统一编码方式可兼容不同语言字符(如示例中的英文和中文)
四、典型应用场景
- 序列模型输入
RNN/LSTM等模型需要数值序列作为输入,词汇表是文本→序列的桥梁10。 - 词嵌入训练
数字索引通过Embedding层映射为稠密向量,捕捉语义关系78。
总结:字符到数字的映射是NLP数据预处理的核心步骤,实现了文本的标准化、数值化和批量化处理,为后续模型计算奠定基础