← 概念辨析に戻る

Concept Contrast Fable

ベクトルで探すものとキーワードで探すもの

先に結論:RAG システムを構築すると、二種類の異なる検索方法に出会う。一つは「類似度を計算する」ことで文書を探し、もう一つは「キーワードを照合する」ことで探す。表面的にはどちらも検索だが、使ってみるとまったく別の論理である。

RAG システムを構築すると、二種類の異なる検索方法に出会う。一つは「類似度を計算する」ことで文書を探し、もう一つは「キーワードを照合する」ことで探す。表面的にはどちらも検索だが、使ってみるとまったく別の論理である。

寓話

二人のアーキビスト

古鎮の文書館には二人の達人がいる。老林は内庫を三十年管理し、索引カードを一度も使ったことがない。探したい内容を言わせると、目を閉じて書架の間を歩き、手を伸ばせば求める巻が出てくる。どうやってやるのかと聞かれても説明できず、「めくっているうちに感覚がつかめる」とだけ言う。

小張は昨年新しく来た文書管理担当者だ。彼は各文書にキーワードカードを作り、対応する文書ファイルに貼った。「契約」に関連する資料を探すときは、カードに「契約」と書かれたファイルだけを取り出し、それ以外は一つも取らない。机には操作マニュアルが貼ってある。「新しい客が来たら、まずカードをめくる」。

ある人が「土地譲渡の文書」を調べに来た。老林は少し考え、『地契』に関する一巻、『権利紛争』の一巻、さらに『売買契約』の一巻を抜き出した。小張は背表紙に明確に「契約」と書かれた二冊だけを抜き出した。二人の結果を並べると、違いは一目瞭然だった。

当初、皆は小張を信頼できると思っていた。彼が見つけるものは十中八九正しかった。老林が見つける十件のうちには、常に二三件が関連して見えるが、よく見るとそうではないものがあった。館長は四半期会議で小張を褒め、索引作業が堅実だと述べた。

しかししばらくすると、調べに来る人が不満を言い始めた:私は「土地を買うこと」を探したいのに、なぜないのですか? 文書管理担当者は「権利譲渡」の巻を指し示し、相手はようやく合点した——言い方を変えるとそうではないのか。同じ人が前回調べたのは「住宅購入契約」で、今回「土地を買う」と言うと見つからない。

老林は論争を聞いて、淡々と言った:索引をどんなに完全にしても、話す人が言葉を変えるのには敵わない。この話が館長の耳に届き、館長は深く考え込んだ。彼は二人を呼び、二つの方法を同時に使えないかと尋ねた。

後に館長は一つの方法を考えた。小張に第一の門を守らせ続け、キーワードカードで粗く篩い分けさせる。老林に第二の門を守らせ、彼の感覚でさらに篩い分けさせる。二つの門を両方通ったものだけが、読者の手に届く。これで漏れも避けられ、逸れた巻宗も濾過された。後に彼はもう一つの規則を補った。急件はまずキーワードで門牌を探し、難問件はさらに匂いで知人を探す。誰も万能を装ってはならない。

公文書館には以後、二つの並行する検索ロジックができた。一つはキーワードで厳密に絞り、もう一つは類似度を開放する。いつどちらの門を使うべきか、あるいは両方を一緒に使うべきかは、すべての新弟子の必修科目となった。

Dense Retrieval(ベクトル検索)

文書とクエリをベクトルに変換し、高次元空間で類似度を計算する。用語は異なるが意味が近い文書を見つけられる。

Sparse Retrieval(キーワード検索)

転置インデックスでクエリ語と文書中の語を照合する。正確だが、言い換えられた関連内容を取りこぼしやすい。

物語の対応

  • 老林の感覚 → ベクトル類似度計算
  • 張さんのキーワードカード → 転置インデックス照合
  • 二つの門を並行させる方法 → ハイブリッド検索戦略(Hybrid Search)
  • キーワードで門札を探す。疎検索のように明確な手がかりでまず特定する
  • 匂いで知人を探す、稠密検索が意味的に近い内容を探すように
  • 急件と難件を分けて処理することで、2種類の検索が異なる問題に適していることを示す
  • 老店主は二つの方法を併用し、ハイブリッド検索の実際の選択に対応した

RAGシステムに落とし込む

知識ベースの内容が固定的な表現で用語が統一されている場合(製品マニュアル、契約テンプレートなど)は、キーワード検索で十分だ。知識ベースの内容がユーザーの実際の質問に由来し表現が多様な場合(カスタマーサポート記録、フォーラム投稿など)は、ベクトル検索を優先する。より良い方法は両者を混合し、まずキーワードで候補集合を絞り、次にベクトルで再ランキングすることだ。再現率と精度を両立できる。

京ICP备2026014272号