Improving the Reliability of Molecular String Representations for Generative Chemistry
J. Chem. Inf. Model. | Published 2025 | DOI: 10.1021/acs.jcim.4c02261
SMILESの無効率20%とSELFIESの忠実度低下を同時解決。Kekule+確率的拡張のClearSMILESで無効率2.2%・分布忠実度を両立する分子文字列表現を提案。
(1) 背景と課題

分子生成モデルの学習・推論で使われる文字列表現は、SMILES と SELFIES の二択が長らく続いてきた。SMILES は人間可読で多様性に富む一方、文法的に正しく見えるトークン列でも有効分子を表さないケースが多発する。これに対し SELFIES は全文字列が必ず有効分子に対応する設計だが、語彙拡張による副作用が見過ごされてきた。

canonical SMILES の生成サンプルは 約20% が無効分子 に落ちる(valence エラー、開閉括弧不整合など)。
SELFIES は validity=100% を達成する代わりに学習データの物性分布から逸脱し fidelity が低下。MW/logP/QED の KL ダイバージェンス・FCD が悪化する。

既存研究は validity 単独で表現を比較しており、生成の「使える化合物率」と「学習分布との一致度」を分離評価する枠組みが不在だった。

→ 表現が信頼できない限り、下流の REINVENT・Transformer 系生成モデルの設計判断は揺らぎ続ける。

(2) 手法の概要 — ClearSMILES の3要素
  • Kekule化: 芳香族小文字トークン (c,n,o,s) を単/二重結合の明示表記に変換し、芳香族の曖昧性を排除
  • 語彙簡略化: ブラケット原子記法を統一し、特殊トークン数を削減してモデルが学ぶべき分布を狭める
  • 確率的 atom ordering: canonical 順を捨て、ランダム atom 順から1分子につき複数 SMILES を生成しデータ拡張
2.2%
ClearSMILES の生成無効率(canonical SMILES の約 1/9)

SELFIES 文法単純化(アルコール・アミン特化制約の緩和)も検討したが fidelity 改善は限定的。表現の修正よりも SMILES 拡張のほうが効果が大きい。

(3) 本研究で示したこと
  • viability / fidelity の2軸評価を定義し、validity 単独評価の盲点を明示
  • canonical SMILES の ~20% 無効率 を ClearSMILES で 2.2% まで削減
  • SELFIES が validity=100% でも 分布忠実度を犠牲 にしていることを定量化
  • GRU・Transformer など 複数アーキテクチャ で ClearSMILES の有効性を確認
  • SELFIES 文法簡略化は fidelity 改善幅が小さい ことを実験で示した
(4a) 無効サンプル率の比較
生成サンプル中の無効分子割合 (%) 0 5 10 15 20 ~20% canonical SMILES 0% SELFIES 2.2% ClearSMILES 無効率 (%)

canonical SMILES は 5本に1本が無効。ClearSMILES は約 1/9 に削減。SELFIES は文法保証で 0%。

(4b) 学習分布への忠実度 (fidelity)
生成分子の物性分布 vs 学習分布 MW logP QED SMILES SELFIES ClearSMILES 外側ほど学習データ分布との一致度が高い

SELFIES は MW・logP・QED の 分布が学習データから逸脱。ClearSMILES は SMILES 同等の高忠実度を保つ。

(4c) ClearSMILES 変換パイプライン
入力分子 → ClearSMILES 拡張集合 入力 RDKit Mol (1) Kekule化 芳香族 c,n,o → 単/二重結合 明示表記に変換 曖昧性除去 (2) 語彙簡略化 [N+], [O-] 等 ブラケット表記 統一 トークン分布凝集 (3) 確率的 atom順 1分子 → N バリアント データ拡張 → 学習用 ClearSMILES 集合 (無効率 2.2% / fidelity 維持)

3 段の前処理だけで既存生成モデルにそのまま接続可能。モデル本体の変更は不要。

(4d) 評価フレームワークの定義
指標定義狙い
validityRDKit でパース可能な SMILES の割合文法的正しさ
uniqueness重複を除いた分子の割合多様性確保
novelty学習データに含まれない分子の割合新規生成
viabilityvalidity × uniqueness × novelty使える化合物率
KL(MW)分子量分布の KLダイバージェンス物性整合
KL(logP)logP 分布の KLダイバージェンス物性整合
KL(QED)QED 分布の KLダイバージェンス薬らしさ整合
fidelityFCD (Frechet ChemNet Distance)分布忠実度

validity 単独評価では SELFIES の fidelity 低下が見えない。viability×fidelity の二軸評価で両表現の長短を初めて分離できる。

(5) テイクホームメッセージ
SMILES の隠れた失敗率
canonical SMILES は文法上正しく見えても ~20% が無効分子。生成モデルの「validity 96%」報告は最終 viable 率を保証しない。
SELFIES の隠れたコスト
validity=100% の代償として fidelity が大きく低下。語彙単純化で挽回しようとしたが効果は限定的。
前処理だけで効く
ClearSMILES は Kekule・語彙統一・atom順拡張の 3段の前処理のみ。既存 GRU/Transformer をそのまま使える。
評価軸を定義し直す
viability×fidelity の二軸で表現選択を判断。validity 単独の比較は今後ミスリーディングになり得る。
応用:lib/molgen への統合
  • MolgenYaml の SMILES 前処理段に ClearSMILES converter を追加(Kekule化+ブラケット統一+確率的atom順)
  • JobManager の評価メトリクスに viability / FCD を追加し、生成品質を二軸でモニタリング
  • REINVENT 系プリトレーニング時の augmentation factor を データ依存で自動探索するロジックを実装
インパクト
  • 表現の選択で生成 viable 率を 1桁改善できる
  • 分子生成パイプラインの 標準前処理になり得る
  • validity 単独評価への 警鐘 として教育的価値も大きい