![](data:image/png;base64,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)
13.1 开放词表 437
使用 BPE 算法进行子词切分包含两个步骤。首先,通过统计的方法构造符号合
并表(见图??),具体的方式为:先对分过词的文本进行统计,得到词表和词频,同
时将词表中的单词分割为字符表示;其次统计词表中所有出现的二元组的频次,选
择当前频次最高的二元组加入符号合并表,并将所有词表中出现的该二元组合并为
一个单元;不断地重复上述过程,直到合并表的大小达到预先设定的大小,或没有二
元组可以被合并。图??给出了一个使用字符合并表对单词进行子词切分的实例。红
色单元为每次合并后得到的新符号,直至无法合并,或遍历结束,得到最终的合并
结果。其中每一个单元为一个子词。
符号合并表
(r,<e>), (e,s), (l,o), (es,t), (lo,w), (est,<e>), (e,r<e>)
(a) 符号合并表
l o w e r <e> l o w e r<e> lo w e r<e> low e r<e> low er<e>
l o w e s t <e> l o w es t <e> lo w es t <e> lo w est <e> low est <e> low est<e>
样例 1:
样例 2:
(b) 合并样例
图 13.3 BPE 中的子词切分过程
使用 BPE 方法后,翻译模型的输出也是子词序列,因此需要对最终得到的翻译
结果进行子词还原,即将子词形式表达的单元重新组合为原本的单词。这一步操作
也十分简单,只需要不断的将每个子词向后合并,直至遇到表示单词边界的终结符,
便得到了一个完整的单词。
使用 BPE 方法的策略有很多。不仅可以单独对源语言和目标语言句子进行子词
的切分,也可以联合两种语言,共同进行子词切分,被称作双字节联合编码(Joint-BPE)
[89]
。相比于单语 BPE,Joint-BPE 可以增加两种语言子词切分的一致性。对于相似语
系中的语言,如英语和德语,常使用 Joint-BPE 的方法联合构建词表。而对于汉语和
英语这些差异比较大的语种,则需要独立地进行子词切分。
BPE 还有很多变种方法。比如,可以设计更合理的符号合并优先级。这种方法
的出发点在于,在不考虑优先级的情况下,在对一个单词用同一个合并表切分子词
时,可能存在多种结果。如 hello,可以被切分为“hell”和“o”,也可以被切分为“h”
和“ello”。这种切分方式的多样性可以用来提高神经机器翻译系统的健壮性
[566]
。此
外,尽管 BPE 也被命名为双字节编码,但是在实践中该方法一般处理的是 Unicode
编码,而不是字节。相应的,在预训练模型 GPT2 中也探索了字节级别的 BPE,这种
方法在机器翻译、自动问答等任务中取得了很好的效果
[411]
。