马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。
您需要 登录 才可以下载或查看,没有账号?立即注册
×
BPE、WordPiece 与 Unigram:三种主流子词分词算法对比
在构建现代天然语言处置惩罚模型时,Tokenizer 是连接文本与模型之间的桥梁。而在 tokenizer 的设计中,BPE(Byte Pair Encoding)、WordPiece 和 Unigram 三种子词(subword)分词算法是最常见的实现方式。本文将系统地介绍这三种方法的原理、特点以及实用场景,帮助读者更好地明白它们在大模型练习中的地位。
一、为什么需要子词(Subword)分词?
天然语言中的词汇是开放的,新词层出不穷。如果使用“词级分词”,会导致词表非常庞大,且容易出现 OOV(词表外)问题。而“字符级分词”固然不需要大词表,但会导致序列过长,模型难以捕获有用语义。
子词分词恰好居中:通过将文本拆成较短、可组合的单位(如词根、词缀、常见组合),既减少了 OOV,又能有用压缩 token 数目,是目前大语言模型的主流选择。
二、BPE(Byte Pair Encoding)
原理:
BPE 是一种基于频率的贪婪归并算法。
- 初始词表为所有字符。
- 每轮找出最常见的相邻 token 对(如 “天”+“气”),归并成一个新 token。
- 重复,直到词表到达预定大小(如 32,000)。
特点:
- 拆词方式唯一,贪婪归并。
- 练习快、实现简单。
- 对高频组合词(如 “人工智能”)压缩结果好。
应用:
GPT 系列、RoBERTa、Qwen 等模型。
示例(简化版):
语料:"天 气 真 好 天 气 真 好"
- 初始:['天', '气', '真', '好']
- 最频繁对:('天', '气') → 归并为 '天气'
- 继承归并:('真', '好') → 归并为 '真好'
→ 终极结果:['天气', '真好', '天气', '真好']
三、WordPiece
原理:
WordPiece 类似 BPE,但归并战略不是基于频率,而是基于语言模型的似然提升。
- 每轮实验一个归并操纵。
- 选择让练习语料 log-likelihood 增长最多的组合。
- 重复,直到词表到达目标大小。
特点:
- 归并更“语言感知”,但练习慢。
- 使用特殊符号表示子词拼接(如 “##ing”)。
- 更适合英文场景。
应用:
BERT、DistilBERT 等模型。
示例(英文):
单词:"unhappiness"
拆分结果可能为:['un', '##happi', '##ness']
→ 带 ## 表示这是一个接续子词。
四、Unigram Language Model
原理:
Unigram 并不使用归并战略,而是假设一个大词表,生存其中概率最高的子词组合。
- 构造所有可能的子词候选。
- 初始化每个子词的概率。
- 用 EM 算法练习子词概率。
- 剪枝掉低概率子词,生存词表。
特点:
- 多种分词路径可选,灵活性高。
- 拆分不唯一,有更强的鲁棒性。
- 特殊适合多语言和小语种。
应用:
T5、mT5、ByT5、UL2 等模型。
示例:
语料:"今灵活高兴"
候选分词路径可能有:
- ['本日', '真', '高兴']
- ['今', '天', '真', '高', '兴']
Unigram 会生存概率最高的组合路径。
五、对比总结
特性BPEWordPieceUnigram归并战略字符频率语言模型提升概率剪枝拆分唯一性✅ 是✅ 是❌ 否多语言支持中等较弱✅ 强实现复杂度简单中等较复杂常见应用模型GPT/QwenBERTT5/mT5/UL2 六、结语
BPE、WordPiece 和 Unigram 是构建高效、泛化性强的 tokenizer 的三种主流方法。它们在子词构建逻辑、鲁棒性、语言兼容性方面各有优势。在实际使用中,我们应结合模型范例、语种覆盖、资源限制等因素综合选择最合适的算法战略。
免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。
|