
2026/08/11 5:50
分類したり、ハルシネーションを起こしたりしないでください。
RSS: https://news.ycombinator.com/rss
要約▶
日本語訳:
本テキストは、AI モデルを膨大で高価な法的カテゴリリストに負担をかけずに商品をよりスマートに分類する手法を提案しています。少数の Large Language Models(LLM)が強制的に数百通りの厳格なオプションから選択させ、それにより誤りや高い技術的複雑さを引き起こすのではなく、本システムはこれらのモデルに独自の妥当なカテゴリパスを発明させることを可能にします。例えば、モデルは剛性的なデータベース用語ではなく「Furniture / Living Room」といった提案を行うかもしれません。この発明の重要な革新点は、この創造的なステップがルールを無視することを意味するわけではない点であり、生成と厳格な語彙強制を分離することでコストを削減することにあります。裏側では、本システムはこれらに発明された名前を、Wayfair WANDS データセットなどのデータから構築したインメモリのセットに含まれる実際の用語と比較するためにベクトル埋め込みマッチングという技術を使用して、幻覚(ハルシネーション)を自動的に正しい法的分類に変換します。これにより、企業は複雑なスキーマの更新が必要なことなく、厳格な法的基準に従いつつ、より小型で安価なモデルを使用することができます。
本文
構造化出力とハルシネーション:LLM での大規模カテゴリ分類戦略
問題の背景と現状
- 定着しつつある技術: LLM を用いた商品や検索クエリの分類は既に一般的になりつつあります。
- 残る課題: LLM の出力を**システムが許容する厳密な用語(=正式なタクソノミー上の用語)**に制限する手法は、依然として困難です。
- 例:ブランド名、色、カテゴリなどへの制約が必要です。
- 実用的な課題例 (Wayfair データセット):
- クエリ「木製のコーヒーテーブル」を適切な数百種類のカテゴリに分類する必要があります。
- カンデイト例:
Furniture / Office Furniture / DesksFurniture / Living Room Furniture / Coffee Tables & End Tables / Coffee TablesFurniture / Living Room Furniture / Coffee Tables & End Tables / End & Side TablesDécor & Pillows / Decorative Pillows & Blankets / Throw Pillows- 他多数
従来のアプローチ:構造化された出力
- 手法: プロバイダに対し、許可された値のリストに限定する指示を与えます。
- 実装例 (Pydantic): 巨大な
タイプで許可値を定義します。Literal
from typing import Literal from pydantic import BaseModel, Field FullyQualifiedClassifications = Literal[ 'Furniture / Bedroom Furniture / Beds & Headboards / Beds', 'Furniture / Living Room Furniture / Chairs & Seating / Accent Chairs', 'Rugs / Area Rugs', # ... (実際には 500 行近い項目を追加) ] class QueryClassification(BaseModel): """ 家具系 e コマース向けの検索クエリの構造化表現。 カテゴリおよびサブカテゴリを追加します。 """ classifications: list[FullyQualifiedClassifications] = Field( description="商品に対する可能な分類" ) # 実行例 response = client.responses.parse( model="gpt-5.4-mini", input="クエリ「brown coffee table」を分類してください。", text_format=QueryClassification, ) print(response.output_parsed.message) # 出力: Furniture / Living Room Furniture / Coffee Tables & End Tables / Coffee Tables
- 課題:
- スケーリング時にコスト削減が困難です(安価・軽量モデルでの運用に限界)。
- 送信サイズの上限により、巨大な許可リストを送信するのが非現実的です。
新しいアプローチ:ハルシネーションと埋めベクトル検索
LLM の分類を滑らかに実現するための新しいパターンが存在します。
ステップ 1: 架空の分類案生成 (Hallucination)
- LLM に、実際には存在しない(仮想の)分類案を作成させます。
- スキーマや巨大なリストを送信する必要がありません。
hallucination_prompt = f""" あなたの課題は、検索クエリに最も適する、これまで見たことのない新しい家具・ホームグッド、またはハードウェアに関する分類案を作成することです。 商品の分類例は以下の通りです: Furniture / Living Room Furniture / Coffee Tables & End Tables / Coffee Tables Décor & Pillows / Decorative Pillows & Blankets / Throw Pillows Furniture / Bedroom Furniture / Dressers & Chests Kitchen & Tabletop / Kitchen Organization / Food Storage & Canisters School Furniture and Supplies / School Furniture / School Chairs & Seating / Stackable Chairs Baby & Kids / Toddler & Kids Bedroom Furniture / Kids Beds 以下が分類を行うクエリです: brown coffee table """ response = client.responses.parse( model="gpt-5.4-mini", input=hallucination_prompt, text_format=list[str], # 自由なテキスト出力を許可 )
- 生成結果:
など、実際のタクソノミーにない表現が出力されます。Furniture / Living Room / Tables / Coffee - 表面的には役に立たなさそうに見えますが、重要な次のステップへと繋がります。
ステップ 2: ベクトル検索によるマッピング
-
生成された架空の分類を、正規の用語体系へ変換・解決します。
-
実装プロセス:
- メモリ内に「実際の分類(Wayfair のタクソノミー)」に対応する**埋めベクトル (Embeddings)**セットを作成します(MiniLM を使用など)。
- LLM が生成した架空のテキストも同様に埋めベクトル化します。
- 架空のベクトルと実際の各分類のベクトルの**内積 (dot product)**を計算します。
- 最も類似度が高いものを探し出し、正規のカテゴリへとマッピングします。
-
最終的なマッピング結果:
- 入力:
(架空)Furniture / Living Room / Tables / Coffee - 出力:
(正規)Furniture / Living Room Furniture / Coffee Tables & End Tables / Coffee Tables
- 入力:
まとめとメリット
- コスト効率: 妄想(hallucination)タスクを安価で単純な LLM に割り当てる可能です。
- スケーラビリティ: 毎回スキーマや巨大なリストを LLM に送信する必要がありません。
- 精度: 正確なカテゴリへマッピングし、既存の構造化出力手法と同様の結果を得られます。
関連イベント情報 ベクトル検索、ハイブリッド検索、および独自のベクトルデータベース構築に関する一連のイベント「Vectors Week」にご参加ください。