神经网络Transformer架构中的分词器
字数 536 2025-11-24 18:23:28
神经网络Transformer架构中的分词器
分词器是将原始文本序列转换为模型能够处理的离散数值标记(Token)的组件。其核心作用是在字符级和词级之间找到平衡,既保留语义信息又控制计算复杂度。
具体实现步骤如下:
- 文本规范化:统一转换为小写、去除重音符号、清理特殊字符
- 预分词:按空格初步分割为粗粒度单元(如英文单词)
- 子词分割:通过预训练的统计模型(如BPE、WordPiece)将生僻词分解为高频子词
- BPE算法迭代合并最高频的字节对
- WordPiece基于似然概率计算合并收益
- 数值化映射:根据词汇表将子词转换为对应的整数ID
以句子"unaffordable"为例:
- BPE处理:["un", "##aff", "##ord", "##able"]
- 映射结果:[125, 489, 203, 76]
关键设计考量:
- 词汇表大小平衡:过小导致表征粗糙,过大会增加嵌入层参数
- 未登录词处理:通过分解为字符级子词避免OOV问题
- 多语言支持:Unicode规范化确保跨语言一致性
- 领域适应性:医学/法律等专业领域需要定制化分词策略
先进演进方向:
- 字节级BPE消除未登录词问题
- SentencePiece支持无空格语言(如中文)
- 动态分词根据上下文调整分割粒度