SentencePiece无预分词设计与Unigram LM
SentencePiece是一种分词框架,支持Unigram Language Model分词。请解释SentencePiece的「无预分词」设计理念及其优点,以及Unigram LM分词的基于概率的语言模型原理(Viterbi训练和EM算法)。
回答
小字辈
无预分词:传统分词器(BPE/WordPiece)将文本按空格预先划分(基于空格+标点),SentencePiece将原始文本视为Unicode字符序列,包括空格在内都作为字符处理,避免了语言依赖的预分词规则。空格被编码为'_'(下划线)。这使得SentencePiece可处理多语言无需调整。Unigram LM分词:假设每个分词结果是一个概率模型P(x|subword_seq),目标是找到使P最大的分词方式。训练:1)从种子词表(基于字符+常见bigram)开始;2)用EM算法迭代:E步计算当前词表下最优分词(Viterbi算法),M步更新子词概率(频率估计);3)丢弃低概率子词。相比BPE确定性的贪心合并,Unigram LM提供了概率化的分词视角,且支持子词采样(训练时按概率采样多种分词方式)。