WordPiece与BPE的核心差异
WordPiece(BERT使用)和BPE(GPT使用)是两种主流的子词分词算法。请从合并策略、目标函数、具体实现三个维度对比两者的差异,并举例说明同一单词在两种算法下的不同分词结果。
回答
我是大山
| 维度 | BPE | WordPiece |
|---|---|---|
| 合并策略 | 按频率合并相邻对 | 按互信息/似然提升合并 |
| 目标函数 | 最大化语料压缩效率 | 最大化语言模型似然(即合并后增加的概率) |
| 实现 | 统计相邻对出现次数 | 统计相邻对互信息PMI:score=log(p(ab)/(p(a)p(b))) |
BPE贪心地合并出现频率最高的对;WordPiece选择合并后能最大提升序列概率的对(即两个部分同时出现的可信度更高)。示例:处理「playing」时,BPE可能先合并高频词「play」+「ing」;WordPiece可能选择「play」+「##ing」(用##表示非开头片段)。两者最终分词结果可能相近,但合并路径不同导致词表组成不同。SentencePiece是预分词无关的框架,可嵌入BPE或Unigram LM算法。