模擬問題集 › GCP-PCDBE › 練習問題 10

GCP-PCDBE 練習問題 10|革新的でスケーラブルかつ高可用性のクラウド データベース ソリューションの設計

Professional Cloud Database Engineer・無料公開(全 200 問中 15 問を無料公開中)

問題
製品情報のテーブルを持つ Cloud SQL for MySQL インスタンスがあり、そのテーブルには製品説明の列が含まれています。アプリケーション開発チームは顧客向けのチャットボットを構築しており、顧客が入力した自由形式のテキストの説明に最もよく一致する製品を見つけたいと考えています。この機能をどのように実現すればよいですか。

選択肢と解説

  • 1
    正規表現を使用して、顧客の検索テキストを製品説明列の値と照合するストアド プロシージャを作成する。
  • ✓
    製品テーブルに製品説明のエンベディングの列を作成してデータを格納し、顧客の検索テキストを使用して近似最近傍探索を実行する。
  • 3
    LIKE 演算子を使用して顧客の検索テキストを製品説明と照合し、類似した行を返す。
  • 4
    SOUNDEX 関数を使用して製品説明と顧客の検索テキストを比較する SQL スクリプトを作成する。

解説

【正解】B

【0からの解説】
①前提知識
・ベクトル エンベディング(埋め込み): 文章などのデータを、その「意味」を表す数値のベクトルに変換したものです。意味が近い文章ほどベクトル同士の距離が近くなるため、言い回しが違っても意味的に似た文章を見つけられます(セマンティック検索)。
・近似最近傍探索(ANN): 大量のベクトルの中から、検索ベクトルに最も近いものを、ベクトル インデックスを使って高速に(厳密さを少し犠牲にして)見つける手法です。
Cloud SQL for MySQL はベクトル検索に対応しており、テーブルにベクトル エンベディング列を追加してデータを格納し、ベクトル インデックスを作成して ANN 検索を実行できます。エンベディングは Gemini Enterprise Agent Platform(旧 Vertex AI)などのエンベディング モデルで生成できます。

②要件と制約の整理
・顧客が入力する「自由形式のテキスト」で検索する(表現が毎回異なり、製品説明の文言と一致するとは限らない)。
・その内容に「最もよく一致する(最も近い)」製品を返す必要がある → 文字列の一致ではなく意味の類似度で探す必要がある。

③正解が要件を満たす理由
製品説明をエンベディングに変換して列に保存し、顧客の検索テキストも同じモデルでエンベディングに変換してから ANN 検索を行えば、言い回しが違っていても意味的に最も近い製品を高速に見つけられます。生成 AI のチャットボットで一般的な、公式に推奨されるセマンティック検索の実装方法です。

【誤りの選択肢】
A:正規表現は決められた文字パターンとの一致を調べるもので、自由形式の文章の「意味」の近さは判定できません。言い回しが違えば一致せず、類似度による順位付けもできません。
C:LIKE 演算子は部分文字列の一致を調べるだけで、同義語や言い換えに対応できず、どれが「最も近いか」の順位付けもできません。先頭がワイルドカードの検索はインデックスも使えず遅くなります。
D:SOUNDEX は英単語の発音の類似度を表すコードを比較する関数で、つづりの揺れの検出には使えても、文章全体の意味の類似度は判断できません。自由形式の説明文に最も一致する製品を探す用途には適しません。

【参考】
ベクトル検索 | Cloud SQL for MySQL
ベクトル インデックスを作成して管理する | Cloud SQL for MySQL
ベクトル エンベディングを使用した検索とフィルタ | Cloud SQL for MySQL
← 練習問題 9練習問題 11 →
GCP-PCDBE の模擬問題集は全 200 問

本番形式の練習テスト 4 回を、試験モード/演習モードで受験できます。 全問に解説付き、ドメイン別の弱点分析にも対応。模試プラン(月額 ¥980)からご利用いただけます。

GCP-PCDBE の模試を受ける料金プランを見る

GCP-PCDBE の無料公開問題

問題 1問題 2問題 3問題 4問題 5問題 6問題 7問題 8問題 9問題 10問題 11問題 12問題 13問題 14問題 15