Data Cloud の 検索インデックス種別について知る
学習の目的
この単元を完了すると、次のことができるようになります。
- Data Cloud でサポートされている検索インデックスについて説明する。
- ユースケースに対してどの検索インデックスを作成するべきかを特定する。
Data Cloud の検索を使用して AI をグラウンディングする
顧客固有のデータで AI のグラウンディングを行うと、Salesforce プラットフォームのアプリケーション、分析、自動化ツールで生成 AI の価値が高まります。AI のグラウンディングは、非構造化データ、準構造化データ、構造化データで行えます。関連 CRM データを取得するユーザークエリを使用して AI モデルをグラウンディングすることにより、Agentforce、Tableau、Flow Builder などのアプリケーションの出力がユーザーインテントに合わせて細かく調整されるようになります。Data Cloud の検索を使用すれば、チームとお客様のために AI 生成コンテンツの精度と関連性を確保し、より詳細なインサイトを分析から取得し、自動化ワークフローを効率化することができます。
Data Cloud では、知識ベースのあらゆるデータ (非構造化データを含む) に検索インデックスを構築できます。次の検索インデックス種別が Data Cloud でサポートされています。
- ベクトル検索
- ハイブリッド検索
Data Cloud で検索インデックスを構築するには、データを Data Cloud に取り込みます。Data Cloud に非構造化データが取り込まれると、データは標準データモデルオブジェクト (DMO) または非構造化データモデルオブジェクト (UDMO) に対応付けられ、そのデータから有意義なコンテンツチャンクが作成されます。その後、ベクトル埋め込みが作成され、アプリケーションがデータとの意味的および語彙的な類似点を理解するのに役立つ検索インデックスが構築されます。
検索種別を選択する
特定のユースケースとデータセットに最適な検索種別を決定する前に、それぞれの検索種別にどのような違いがあり、どのタイプの検索クエリを使用すれば最も関連性の高い応答を得られるかを詳しく見てみましょう。
ベクトル検索
ベクトル検索 (セマンティック検索) では、与えられた検索クエリに意味的に類似するデータ (またはデータチャンク) を取得します。このデータには、動画、音声、通話トランスクリプトが含まれる場合もあります。ベクトル検索による取得は、データのチャンク化、ベクトル埋め込みの作成、検索クエリとの意味的な類似性が高いベクトル埋め込みの検索によって行われます。
ベクトル検索は、ユーザーが長い形式の検索クエリで一般情報を探している場合に適しています。検索クエリによって、意味的に最も近い一致と関連付けられた高いベクトル検索スコアを持つデータが取得されます。
たとえば、以下は Google Chrome ブラウザーのしくみについての情報を探すクエリです。この検索クエリによって、検索クエリと意味的に最も近い一致と関連付けられた最も高いベクトル検索スコアを持つチャンクが取得されます。
クエリ:
select c.Chunk_c, v.score_c from vector_search(table(WikiArticle_c_vector_search_2_index__dlm), 'how does Google Chrome internet browser work', '', 100) as v join WikiArticle_c_vector_search_2_ chunk_dlm as c on v.SourceRecordId_c=c.RecordId_c ORDER by v.score_c desc limit 3;
結果:
ハイブリッド検索
ハイブリッド検索は、意味を認識するベクトル検索の強みとドメインの用語を処理するキーワード検索の機能を組み合わせたものです。ハイブリッド検索では、両タイプの検索から取得した情報をマージした後に、融合ランカー機能を使用して結果をランク付けし、最も関連性の高い情報を表示します。
ハイブリッド検索のデフォルトである融合ランカー機能は、検索ベースの多様なタスクに合わせて内部ベンチマークで最適化されます。トレーニングと評価のデータは、Einstein Search と生成 AI アプリケーション (Einstein Search Answer など) から取得した実際のクエリに基づいています。
ハイブリッド検索は、特定の検索用語も含まれている長い形式の検索クエリに最適な方法です。検索クエリによって、キーワードの完全一致と関連付けられた高いキーワード検索スコアを持つデータと、意味的に最も近い一致と関連付けられた高いベクトル検索スコアを持つデータが取得されます。これにより、最も関連性が高い検索結果と関連付けられた高いハイブリッド検索スコアを持つデータが取得されます。
ベクトル検索で使用した同じクエリ例の場合、キーワード検索によってより関連性の高いコンテンツのランキングが上位になるため、LLM のグラウンディングが向上します。
クエリ:
select c.Chunk__c, h.hybrid_score__c, h.keyword_score__c, h.vector_score__c from hybrid_search(table(WikiArticle_c_hybrid_search_2_index__dlm), 'how does Google Chrome internet browser work ?', '', 100) as h join WikiArticle_c_hybrid_search_2_chunk__dlm as c on h.SourceRecordId__c=c.RecordId__c ORDER by h.hybrid_score__c desc limit 2;
結果:
まとめ
Data Cloud で検索インデックスを構築して、組織の非構造化データ、準構造化データ、構造化データで AI のグラウンディングを行えます。
エンドユーザーとアプリケーションからの検索クエリに最適な検索種別を選択してください。ユーザーのクエリが主に一般情報に関するものである場合やクエリが長い場合 (5 単語以上) は、ベクトル検索で十分です。ベクトル検索では、ユーザークエリがコンテキストコンテンツ (通常、長めのクエリ) の場合に、関連性の高い結果が提示されます。
クエリに対してセマンティック検索の一致とキーワード検索の一致の両方が組み合わされた最も精度と関連性が高い結果を取得するには、ハイブリッド検索インデックスを作成します。
リソース
- Salesforce ヘルプ: Data Cloud の非構造化データ
- Salesforce ヘルプ: ベクトル検索
- Salesforce ヘルプ: ハイブリッド検索
- Salesforce エンジニアリングブログ投稿 : How Data Cloud Hybrid Search Combines Keyword and Vector Retrieval to Elevate the Search Experience (Data Cloud のハイブリッド検索でキーワードとベクトルによる取得を組み合わせて検索環境が強化されるしくみ)