Share
Embed
生成AIと検索について落ち着いて考える(社内勉強会資料)
生成AIと検索について、社内勉強会(TechTalk)で共有した社内向け資料になります。
〇〇RAGという言葉で丸め込まれている様々な要素を、具体例を上げながら紹介しています。
AITC - DENTSU SOKEN
October 13, 2026
Transcript
89 slides
-
このスライドの作成者について 趣味 仕事 内容 プライ ベート PC ・Jリーグ観戦(ヴィッセル神戸) ・F1(フェルスタッペン、ラッセル) ・映画鑑賞(アクション・ミュージカル)
・ミュージカル鑑賞 生成AIソリューション 「Know Narrator」の開発 ThinkPad X 13 Gen3 (AMD) 3 -
プランを提案するためには? あくまで一例ですが… 1. 村本が喜びそうなことを調べる 具体例1:この資料に出てきた内容を調べる。趣味、家系にはまってる?など(外部情報) 具体例2:村本との過去の対話を思い出す(内部情報) 2. 1で調べた情報から東京で楽しめそうな内容を追加調査する 具体例1:東京で食べられる家系ラーメンについて調べる(外部情報) 具体例2:東京で楽しめるミュージカルを調べる(外部情報)
具体例3:自身が訪れた東京のエリアを思い出す(内部情報) 3. 得られた情報をもとにプランを立てる 14 -
ナイブ × ト × ガイブ 内部情報 • 生成AIモデル自身が保持している情報・知識 • 生成AIモデルが学習された時点で決まる
• Web上に存在しているデータがよく使われているが Anthropicのように古本を学習につかったパターンも有る 外部情報 • 生成AIモデルに対して後付けで与える情報・知識 (生成AIモデルからの出力を得る際の入力として入れる) • 生成AIモデルから、理想的な出力を得るために適した情報を与える必要がある 18 -
気を取り直して、対話を続けてみましょう 先ほどの対話を継続するには? 【ふるまい 目指すイメージ (システムメッセージ)】 【入力(リクエスト) (リクエスト)】 【入力 】 今日も仕事やわ~
おはよう クライアント 【出力 (レスポンス) 【出力 (レスポンス) 】 】 おはようさん! 無理せんと、 今日はどないするん? ぼちぼちいこか。 私はこてこての関西人 生成AIモデル (API) 29 -
つまり 外部情報を渡すということは、以下の2点を満たして達成される 1. 生成AIモデルへのリクエスト時に「コンテキスト」にふくめる 2. 「コンテキストにふくめるために」生成AIが受け付けるデータ形式に変換する • 基本的にはテキスト • 画像に対応しているのであれば画像もあり
• 最近だとPDFなどのインプットも対応しているが、 モデルが対応しているというよりモデルを提供するAPI側で コンテキストへの詰替えをやってくれると考えると良い • Web検索などがAPI側で対応されていたりするが、 コレも向こう側で検索してコンテキストに詰めてると言っていい 32 -
情報検索の3大トピック 情報検索の分野では大きく以下の3大トピックを研究分野としてきた Search engines: Information retrieval in practice[Croft, Metzler &
Strohman, 2010] 適合性 情報欲求 評価 e.g. 与えられたクエリから適合文書を推定 e.g. ユーザの行動から意図を推定 e.g. 情報検索システムの性能を測る 情報を獲得しようとするユーザの行動・思考を理解・推定・活用し ユーザの情報獲得を効果・効率の面で向上させる研究領域(Makoto P. Kato) 引用:https://www.slideshare.net/kt.mako/ss49321147 42 -
生成AIの登場によってどうなったか 情報欲求 兵庫県から東京に 出張する際の宿泊費って 上限なんぼ? 生成AIへの入力 兵庫県から東京に 出張する際の宿泊費って 上限なんぼ? 生成AI
情報欲求をそのまま生成AIへ入力するように 44 -
どういうことかというと こんな検索システムがあったとき、あなたならどっちを使う? 1件しか返しませんが クエリ次第で 80~90%の確率で当てて みせますよ クエリ次第で 検索結果10~50件のうち、 必ず何処かに適合文書が 1件あります
検索システムA 検索システムB 人によりけりだと思います。 つまり人によって「良い」検索は変わる (よりけりになるようなバランスにしたつもり) 47 -
「何を持って良い検索とするか」の定量化指標 検索システムの評価指標として以下のような物がある • R@k 検索結果の上位 k 件の中に、探している正しい情報が どれだけ含まれているかを見る • MRR
正しい答えが検索結果のどれくらい上位に出てくるかを評価 (早く見つかるほど高い) • nDCG 検索結果の順位と情報の関連度の両方を考慮し、 重要な情報が上位にあるほど高く評価 他にも色々あります 48 -
生成AI × 情報検索 で大事なこと ユーザーから来た情報欲求を満たす回答をするのは 生成AI(またはそれを内包するアプリケーション)の役割となった ユーザー 生成AI アプリケーション 検索システム
私がユーザーの情報欲求を 満たす回答を作るのです 49 -
検索クエリや検索方針は利用する検索システムに最適化する 世の中にはやたら検索が上手い人がいたと思います。 • 社内規定のリンクをシュッと出す人 • Teamsのスレを見つけるのが早い人 宿泊費は出張規定にあったな~ 規定ファイル見つけるか~ 「出張」でとりあえず検索するか お、いっぱい引っかかったけど
多分コレだなぁ~ 検索システム こういう人たちは検索システムの特徴を把握して 自分の情報欲求を満たすための検索がうまい 51 -
また…それぞれの検索システムを使うまでの準備も様々 それぞれの検索システムの能力を発揮するためには、 検索システムを課題に合った形で構築する必要がある 全文検索エンジン インデックスを どう構築する? RDB どうテーブルに 落とし込む? グラフDB
ノードの構成は? エッジはどうはる? 情報群 検索システムごとの構築・運用コストも考えないといけない 52 -
ケンサク × ト × コウチク 検索システムを利用する際に意識することは2点 検索システムを構築、 対象データを検索可能にする部分 与えられた検索システムを利用して 検索をする部分
ファイル 群 検索 結果 • キーワード検索ならキーワードが引っかかるように 類義語も詰めるか • ベクトル検索なら意味近くなるようなクエリにするか • 1ページとった後に前後の1ページもととるか~ • キーワード検索・ベクトル検索可 • ファイルフィルターもできるよ • 検索結果の粒度は1ページずつだよ • 多種多様なファイルを どうやってシステムに入れ込む? • 画像はどうする? • 変換処理はどうする? 53 -
最初の質問を例に考えてみましょう 愚直にそのままキーワード検索したら引っかかるのは 違うスライドになる 検索システムの判断 「村本」で一致してるからここ だな 検索システムへの入力 村本さんは私生活で MacとWindowsの どちらをつかっている
この辺のキーワード検索の仕組みを知りたかったら山田さんの資料を見ましょう 基本概念から理解するAzure AI Search - Azure OpenAI Serviceとの連携まで - 電通総研 テックブログ 55 -
ベクトル検索:ベクトル検索とは? 文書間の関連性などを機械で判定するには 数値化(計算可能)するのが基本。 →検索対象のベクトル化(数値化) 対象データ 特徴エンジニアリング 埋め込みモデル 特徴 次元1 特徴
次元2 … 特徴 次元n データ1 1 1 … 0 データ2 0 0 … 0 データ3 0 1 … 1 特徴ベクトル化 61 -
ベクトル化することで ベクトル化されたデータ同士での“類似度”を計算できる 兵庫にある サッカーチーム ヴィッセル神戸 データ1 特徴 次元1 特徴 次元2
1 1 … 特徴 次元n … 0 データ2 特徴 次元1 特徴 次元2 0 1 … 特徴 次元n … 0 62 -
類似度って? 久しぶりの質問タイム!以下は似ていますか? リンゴ ナシ リンゴ トマト リンゴ シャケ アップル ナシ
リンゴ ポール アップル マイクロソフト アップル カップル 65 -
類似度のとらえ方はさまざまである どの観点から似ていると判断するかは非常に難しく、課題ベースで変化 食べ物の特徴 リンゴ ナシ 見た目 リンゴ トマト 食べ物同士 リンゴ
シャケ 食べ物の特徴 アップル ナシ 人物 リンゴ ポール 企業 アップル マイクロソフト 文字・発音 アップル カップル 66 -
ベクトル化するモデルにもコンテキスト問題がある ベクトル検索するには、 検索クエリもターゲットとなる文章もベクトル化する必要がある つまり、ベクトル化モデルのコンテキスト上限が課題となる。 クソでか テキスト ファイル 私が一度にベクトル化できるのは ◦◦トークンまでなので、 そんなにいっぱい無理です!
生成AIモデルのコンテキストが伸びているが 埋め込みモデルのトークン上限はあまり伸びていない Vector embeddings | OpenAI API 70 -
ということで…誕生した初期の案 ユーザーが生成AIアプリへの入力として渡した内容をもとに 検索システムで検索を行えばええんじゃないか??? そしてその結果を踏まえて回答させれば??? 検索 結果 生成AIアプリへの入力 兵庫県から東京に 出張する際の宿泊費って 上限なんぼ?
検索システム 生成AI ユーザーからの入力を使って事前に検索を行い 検索結果をコンテキストにつめユーザー入力とともにリクエスト 75 -
これがいわゆるRAGのベーシックな構成 最初にRAGが出てきたとされる論文※1では… 「外部知識を検索(retrieval)してから、 その内容を使って生成(generation)するニューラルモデル」と表現 RAG ※1. Retrieval-Augmented Generation for Knowledge-Intensive
NLP Tasks [Lewis, Perez, Piktus, Petroni, Karpukhin, Goyal, Küttler, Lewis, Yih, Rocktäschel, Riedel 76 -
寄り道:いまとなってはRAGという言葉の解釈も様々 Agentic RAG、GraphRAGといった◦◦RAGが大量にある 繰り返しになるが大事なのは、 「生成AIがユーザーの情報欲求を 満たす回答をするための外部情報を渡すこと」 と 「その外部情報をどうやって取得するか」 【個人的偏見】 ◦◦RAGはおおよそ
「何らかの検索システムから得られた検索結果をコンテキストとして与えた生成AIによる回答生成手法」 と理解してよい。と思います。それ以上でもそれ以下でもない。のであとはインパクトの世界 77 -
LLMの進化とともに 昔のLLMはコンテキストウィンドウが小さかったので、 何でもかんでもコンテキストに詰め込めばよいというわけではなかった だから細かくテキストを区切って(チャンク化)して検索していた そんなにいっぱい理解できないし いっぱい入れられても判断ミスるから クリティカルに必要な情報のみ コンテキストに入れて頂戴 GPT-3.5 私の処理能力なら
多少ノイズが入ってても コンテキストにさえ入ってたら 回答できますよ? GPT-5.3 78 -
コスパの解釈は色々ある でも~ コンテキストにいっぱい入れると トークン消費が~ お金が~ あ。 私存在するだけでお金もらいます 検索するたびお金もらいます 検索可能にするための仕組み? それは用意頑張ってください
すごい検索システム 検索システムを構築・運用するには それなりにノウハウや設計・コストがかかる 80 -
大事なことを改めて 生成AIがユーザーの課題や情報欲求を満たす回答をすること ユーザーの持つ課題・情報欲求を解決するのは生成AI 生成AIに対して適切な外部情報を与えること • 「適切」は、ユーザーの持つ課題・情報欲求によって変化する • 検索システムが大事なのではない (検索システムを構築すること自体にも価値はもちろんある) 外部情報を与える方法は様々な方針がある
1. 検索をする側の工夫 2. 対象データ郡を検索可能化する(検索システム構築)するときの工夫 3. LLMの能力を踏まえた工夫 81 -
ケンサク × ト × コウチク × ト × エーアイ 人間と検索システムがやり取りするときはこうだったが
検索システムを構築、 対象データを検索可能にする部分 与えられた検索システムを利用して 検索をする部分 ファイル 群 検索 結果 • キーワード検索ならキーワードが引っかかるように 類義語も詰めるか • ベクトル検索なら意味近くなるようなクエリにするか • 1ページとった後に前後の1ページもととるか~ • キーワード検索・ベクトル検索可 • ファイルフィルターもできるよ • 検索結果の粒度は1ページずつだよ • 多種多様なファイルを どうやってシステムに入れ込む? • 画像はどうする? • 変換処理はどうする? 83 -
ケンサク × ト × コウチク × ト × エーアイ 検索する部分・検索可能にする部分に加え
生成AIの能力という新たな要素が加わった 検索システムを構築、 対象データを検索可能にする部分 与えられた検索システムを利用して 検索をする部分 検索結果を解釈する 生成AI ファイル 群 検索 結果 • とりあえず適合文書取れたらいいから網羅的に… • キーワード検索ならキーワードが引っかかるように 類義語も詰めるか • ベクトル検索なら意味近くなるようなクエリにするか • 1ページとった後に前後の1ページもととるか~ • キーワード検索・ベクトル検索可 • ファイルフィルターもできるよ • 検索結果数は変えられるよ • 多種多様なファイルを どうやってシステムに入れ込む? • 画像はどうする? • 変換処理はどうする? 84 -
だからこそ、今は (Agentic RAGとか言われてるやつ) 検索戦略や検索システムに対するクエリ発行を LLMにやらせてしまえばいい。(ツールコールとかskillsとかを応用) 宿泊費のルールは 知らんから検索するか 検索システムへの入力 宿泊 規定
出張 ユーザー 生成AIの回答 上限15,000円です 生成AI 結果 検索システム 87 -
検索手段を豊富に持っておくと良い(コスパがいいので) 検索の仕方(クエリの発行など)は生成AIが判定するが、 実際に検索システムを叩くのは基本的に私たちのプログラム 検索リクエスト 検索結果 検索手段(スクリプト)をカスタムして多様な検索手段を持てばいい 例えば… 1. 2. キーワード検索して分割されたページレベルで情報を取る
ヒットした上位3件のページが含まれるファイルに置いて、そのページの前後1ページを追加で取る ステップ1,2をまとめて、「1つの検索手段」として生成AIに与える。 89 -
検索手段を持ち検索戦略を課題から考えられる生成AI 課題が来たときに、自身の内部情報や外部情報を得るための手段を検討できる 外部情報を取る際は適した検索クエリを発行できる! 様々な課題(情報欲求) 検索手段や検索先データ情報 - キーワード抽出検索 - カスタム網羅的検索 -
ランダム検索 検索できる情報源は… 上の課題なら キーワードとカスタム網羅で 下の課題なら カスタム網羅とランダムで… 90