Databricks のロゴ

Databricks / 公式ブログ / 2026/07/20 / 通常

10万超ラベルの文書分類を候補絞り込みで実用化

AIdatamachine-learning

公式ブログ原文

Databricksは、10万件を超える候補ラベルを持つ文書分類を、埋め込みによる候補絞り込みとai_classifyの組み合わせで処理する方法を紹介しました。

要点

  • ai_classifyへ一度に渡せるラベルは最大500件のため、大規模な分類体系では前段の絞り込みが必要です。
  • 文書とラベルを埋め込み表現にし、類似度が高い上位K件だけを分類モデルへ渡します。
  • Kは固定観念で決めず、正解ラベルを持つ評価セットで精度を維持できる最小値を探します。

今回のブログ記事で語られていること

大規模な商品分類、業種コード、文書保管規則のように、ラベルが数千から10万件以上ある場合、すべての候補を生成AIへ一度に渡す方法は入力上限、費用、応答時間の面で現実的ではありません。Databricksが示す構成は二段階です。最初に文書と各ラベルの名称・説明を埋め込みへ変換し、NEAREST BYを使って文書に近い上位K件を選びます。次に、その短い候補一覧をJSONとしてai_classifyへ渡し、意味を読み取るモデルに最終判断をさせます。検索は広い分類体系を効率よく削り、生成AIは似た候補の微妙な違いを判断する役割を持ちます。

重要なのは、Kを小さくしすぎると正解ラベルが前段で落ち、後段のモデルでは回復できないことです。公式チュートリアルは10、20、50、100、200、500など複数のKを評価し、正解ラベルを含む率と最終分類の精度を比較する流れを示しています。正解データがなければ一部文書を人がラベル付けして評価セットを作ります。NEAREST BYにはDatabricks Runtime 18以上またはServerlessが必要です。運用では、分類体系が更新されたときにラベル埋め込みを更新すること、誤りが集中する階層や言語を分けて見ること、人による再確認が必要な信頼度を決めることも必要です。10万ラベル対応は単一モデルの能力ではなく、検索、分類、評価を分担したパイプラインの成果です。

ラベルの説明文も結果を左右します。名称だけでは区別しにくい分類には定義や代表例を加え、近いラベル同士が同じ候補集合へ入るかを確認します。新しいラベルを追加したときは埋め込みの再計算だけでなく、既存文書の候補順位がどう変わるかも調べます。人が修正した結果を評価セットへ戻せば、Kと分類指示を継続的に調整できます。

今回のブログ記事が関係する人

大量の契約書、問い合わせ、商品、規制文書を分類するデータエンジニア、機械学習担当、分類体系と品質基準を管理する業務部門に関係します。

結局、今回のブログ記事をどう読むべきか

まず評価セットを作り、正解候補を落とさない最小のKを測ることが導入の要点です。全ラベルを生成AIへ渡す設計から、埋め込み検索で候補を狭めてから意味判断する設計へ分けると、規模と費用を管理しやすくなります。