BPE与Unigram-LM在化学SMILES分词中表现迥异
速览
该研究在固定165个token基上控制比较了BPE和Unigram-LM两种子词分词算法,发现它们构建的词汇表几乎不重合(交叉Jaccard最大仅0.161)。Unigram-LM将留出分子分割成多29-41%的token,两者在切割位置大致一致但深度截然不同。结果表明子词算法本身是一个建模决策,而非默认选择,其差异在多种实验设置下持续存在。
AI 深度解读
背景
化学语言模型在读取 SMILES 分子表示时,第一步总是经过一个分词器(tokenizer)。目前该领域几乎毫无批判地继承了自然语言处理中广泛使用的 Byte-Pair Encoding(BPE),而忽视了在自然语言领域 BPE 的主要替代方案——Unigram-LM 已被证实会构建出结构上截然不同的词汇表。这种差异能否在化学数据中复现,此前尚无研究。本文正是在这一空白下开展的系统比较。
核心内容
研究者在一个固定的 165-token 化学基础词汇表(base vocabulary)上,对 BPE 与 Unigram-LM 进行了受控对比实验。实验限定在 token embeddings 可学习的小词汇量范围,覆盖三种语料类型(多样分子、药物类似物、天然产物)以及两种预分词边界策略(boundary policies)。在全部 22 组匹配条件下,两种算法均未收敛。它们学到的子词词汇表几乎不相交:跨算法的 Jaccard 重叠度最高仅为 0.161,而当按模型更新最频繁的高频片段加权后,重叠度最多只有 0.05。Unigram-LM 将留出集的分子分割成了更多的 token(增加 29%~41%);两种算法在“在哪里切分”(where to cut)上大致一致,但在“切多深”(how deep)上分歧明显:BPE 的分割是 Unigram-LM 分割的严格粗化版本,在 80%~99% 的分子上都成立。这种分离状态在所有语料类型、边界策略和词汇量下均保持一致,甚至在将词汇量放大到 8 倍时仍然存在。研究因此指出,子词算法的选择是一个建模决策,而非可以随意使用默认选项。该研究未训练任何语言模型。
关键要点
- BPE 与 Unigram-LM 在化学 SMILES 上构建的词汇表几乎完全不相交:22 组条件中跨算法 Jaccard 重叠最高仅 0.161,高频片段加权后降至 0.05 以下。
- Unigram-LM 的 token 数量比 BPE 多 29%~41%:说明其对同一分子的分割粒度更细。
- 两种算法在“切哪里”上一致,但在“切多深”上对立:BPE 的分割是 Unigram-LM 的严格粗化版本,适用 80%~99% 的分子。
- 分离现象不依赖于语料类型、边界策略和词汇量大小:甚至在词汇量扩展到 8 倍时依然存在。
- 子词算法不是“免费默认”:选择 BPE 还是 Unigram-LM 会对分词结果产生质的影响,是建模时的关键决策。
- 本研究未训练语言模型,仅聚焦于分词器本身的对比,排除了下游任务性能的干扰。
意义与影响
该研究首次在化学 SMILES 领域系统比较了 BPE 与 Unigram-LM 的分词行为,证明两者在分子数据的子词空间上存在根本性分歧。这一发现打破了“分词器只是预处理步骤,可随意选用”的惯性认知,提醒研究人员在设计化学语言模型时,必须将分词算法视为影响模型结构的重要超参数。由于化学 SMILES 的语法比自然语言更加严格且连续,BPE 的粗化分割可能丢失某些关键化学语义,而 Unigram-LM 的精细化分割可能引入过多噪声。未来工作可以在本实验的分词结果基础上,进一步训练语言模型并评估其对分子性质预测、生成等任务的影响,从而指导实际应用中的算法选择。
