AIによるスキーマ生成 - Entity Enricher ドキュメント

AIによるスキーマ生成

AI を使用して、自動的な自己修正とインテリジェントな後処理により、サンプルデータから構造化された JSON スキーマを生成します。

仕組み

スキーマ生成では、生のエンティティデータを、エンリッチメント時に抽出すべき情報を正確に定義した、型付きで注釈付きの JSON スキーマに変換します。スキーマを手動で書く代わりに、サンプル JSON を貼り付けるだけで、AI が構造を解析し、型を推論し、専門ドメインを割り当て、改善案を提案します。

生成パイプライン

  1. 入力の前処理 — サンプルのJSONが解析されます。ローカライズされたオブジェクト({"en": "...", "fr": "..."}など)は単一の値にまとめられ、プロパティ数によって許可されるexpertise domainの数が決まります。
  2. プロンプト構築 — データの複雑さ(ネストされたオブジェクトの有無、含まれるプロパティの数、多言語フィールドが検出されたかどうか)に基づいて、適応型のシステムプロンプトが構築されます。
  3. 自己修正を伴うLLM生成 — AIがschemaを生成します。8つの検証ルールのいずれかが失敗した場合、エラーがAIに送り返されて修正されます(最大6回まで試行)。
  4. 後処理 — 決定論的なルールがスキーマを洗練します。null許容フィールドのマーキング、空の検索キーのクリア、エキスパティーズメタデータの収集を行います。
  5. 自動保存 — 生成されたスキーマはコンテンツハッシュを使用して自動的に保存および重複排除されるため、同一のスキーマが重複することはありません。

自己修正ループ

自己修正ループが schema 生成を信頼できるものにしています。AI が schema を生成した後、型の正しさ、expertise の割り当て、参照の整合性、データの完全性をカバーする 8 つのルールをチェックするバリデーターを通過します。いずれかのルールが失敗すると、その具体的なエラーメッセージが AI に返され、次の試行で問題を修正できるようになります。

自己修正の例

試行 1AIがスキーマを生成します。バリデーターが検出します: revenue: 型の不一致 — 入力は数値ですがスキーマでは'string'とされています
リトライ何が問題だったかのコンテキストとともに、エラーが AI に送り返されます。
試行 2AIは型をnumberに修正します。8つのルールすべてが通過します。スキーマが承認されます。

このアプローチは、プロンプトでAIに「型に注意して」と依頼するよりもはるかに信頼性の高い方法です。バリデーターは具体的なエラーを検出し、それを修正するための正確なフィードバックをAIに提供します。各ルールの詳細についてはバリデーションルールガイドをご覧ください。

schemaに含まれる内容

生成されたスキーマは、単なる型定義以上のものです。各プロパティには、エンリッチメントプロセスを導くメタデータが含まれています:

JSONスキーマの型 (string, number, integer, boolean, array, object)

説明

どの情報を探すべきかを AI に伝える文脈的な説明です

専門知識

この値を提供するexpertise domain(財務、規制など)を示します。

検索キー

このフィールドがエンティティを識別する(検索)のか、配列を重複排除する(マージ)のかを示します。

Null許容

フィールドがnullを取れるかどうか。オプションのデータに対する不要な再試行を防ぎます。

多言語対応

フィールドを複数の言語でエンリッチメントするかどうかです。

保持

エンリッチメント中に元の値を変更せずに保持するかどうかです。

AIを正しいフォーマットへ導く、現実的な例の値

専門知識ドメインの検出

AIはスキーマのプロパティを、その意味的な内容に基づいて専門領域にグループ化します。例えば、製薬会社のスキーマには「Financial Analyst」「Regulatory Expert」「Corporate Information」といった領域が含まれる場合があります。これらの領域はマルチ専門領域戦略によって使用され、並列で専門的なLLM呼び出しを実行し、より深い結果を得ます。

ドメイン数の上限

専門ドメインの数は、過度な断片化を防ぐため、データのプロパティ数に基づいて自動的に制限されます。

5 プロパティ
1 ドメイン
12 プロパティ
2 ドメイン
30 プロパティ
5 ドメイン
60 プロパティ
10 ドメイン

後処理

AIが有効なスキーマを生成した後、3つの決定論的な後処理ステップが実際の入力データに基づいてスキーマを洗練します:

Null許容の検出

入力内で null 値を持つフィールドは自動的に nullable としてマークされるため、AI がそれらを埋めようとしてリトライを無駄にすることはありません。

空の検索キーのクリア

空の値(null、空文字列、ゼロ)を持つフィールドはエンティティの識別に役立たないため、検索キーのフラグが削除されます。

専門知識コレクション

メトリクスと戦略設定のため、スキーマからすべての一意の専門領域が収集されます。

AIによるスキーマ編集

生成後、自然言語の指示を使用してスキーマを変更できます。コマンドを入力すると、AIは既存のスキーマ構造を維持しながら変更を適用します。各編集では、さらなる改善のための5つの提案も生成されます。

編集コマンドの例

employee_count整数フィールドを追加
市区町村と国を含むネストされた住所オブジェクトを作成します
すべてのテキストフィールドにフランス語の説明を追加
$defs を使用して親会社の参照を定義します
website フィールドを null 許容としてマーク

AI編集は、生成ルールのサブセット(型チェック、参照の整合性、専門分野の一貫性)を使用して検証されますが、意図的にフィールドを追加または削除する場合があるため、入力データとの比較は行われません。

AIによる提案

スキーマ生成とAI編集はいずれも、異なる改善カテゴリーをカバーする5つの的を絞った提案を生成します。

データの完全性entity をエンリッチできる欠落フィールド
データ品質検証パターン、フォーマット制約
関係ネスト構造、$defsによるentity参照
国際化多言語翻訳、ロケールサポート
ビジネスコンテキストドメイン固有のフィールドと専門ドメインのグループ化

候補はSchema Editorにクリック可能なチップとして表示されます。クリックするとAI編集入力に自動入力され、適用されます。

次のステップ