【AI入門】AIが「意味の近さ」で情報を探せる理由——ベクトルデータベースの仕組みを比喩で解説
「犬」と検索すると「犬」しかヒットしない検索と、「犬」と入力しても「柴犬」「ペット」「動物」なども見つかる検索——その違いを生み出しているのが、ベクトルデータベースという技術です。
RAGや意味検索、ChatGPTのメモリ機能など、最近のAIの「賢さ」の多くはこの仕組みに支えられています。
今回は、ベクトルデータベースが何者で、なぜこんなに重要なのかを、比喩を使って丁寧に解説します。
「意味が近い」とはどういうことか
まず、普通のデータベースとベクトルデータベースの違いから整理しましょう。
普通のデータベース(キーワード検索)
従来のデータベースは「完全一致」か「部分一致」で検索します。「りんご」を検索すると「りんご」が含まれる文書しか見つかりません。「果物」「Apple」「フルーツ」は別々のものとして扱われます。
ベクトルデータベース(意味検索)
ベクトルデータベースは「意味の近さ」で検索します。「りんご」と「果物」は意味的に近い。「犬」と「猫」はどちらもペットで近い。「東京」と「大阪」はどちらも都市で近い——こうした関係性を数値として表現し、検索に使います。
📚 比喩:図書館の2つの整理方法
普通のデータベースは「タイトルのあいうえお順に並んだ本棚」です。「AI」で始まる本を探すのは得意ですが、「AIに似た内容の本」を探すのは苦手です。
ベクトルデータベースは「内容の近い本を隣り合わせに置いた本棚」です。AIの本の隣に機械学習、その隣にディープラーニングの本が並んでいます。「AIに関連する本を全部見せて」という検索に強いのです。
ベクトルとは何か——数字で「意味」を表す
ベクトルデータベースを理解するには、「ベクトル」が何かを知る必要があります。
AIの世界では、単語や文章の「意味」を数字の配列(ベクトル)で表します。これを埋め込みベクトル(Embedding)と呼びます。
例えば「犬」という言葉は、こんな数字の配列に変換されます。
+--------+-------------------------------+
| 単語 | ベクトル(簡略化した例) |
+--------+-------------------------------+
| 犬 | [0.82,\ 0.31,\ 0.54,\ \cdots] |
| 猫 | [0.79,\ 0.28,\ 0.51,\ \cdots] |
| 自動車 | [0.12,\ 0.91,\ 0.03,\ \cdots] |
+--------+-------------------------------+「犬」と「猫」のベクトルは数値が近い → 意味が近い。「犬」と「自動車」は数値が遠い → 意味が遠い。実際の埋め込みベクトルは数百〜数千の数値を持ちますが、原理は同じです。
「近さ」をどう測るか?
2つのベクトルがどれくらい近いかは「コサイン類似度」という計算で求めます。高校数学のベクトルの「なす角」に相当します。角度が小さいほど(方向が近いほど)、意味も近い——という考え方です。
ユーザーが数学を知らなくても問題ありません。要するに「AIが自動で意味の近さを数値化してくれる」ということです。
ベクトルデータベースの実際の動き
ベクトルデータベースがどう使われるか、RAGを例に見てみましょう。
RAGにおけるベクトルDBの役割
RAGは「自社の文書からAIが回答を生成する」仕組みです。この仕組みの中心に、ベクトルDBがあります。
① 事前準備(インデックス作成):社内マニュアルや過去のFAQなどを、AIが読んでベクトル化します。ベクトルデータベースに大量の「意味の座標」として保存します。
② 検索(クエリ時):ユーザーが「有給申請の方法を教えて」と質問すると、その質問もベクトル化されます。
③ 類似文書の取得:質問ベクトルに近い文書ベクトルをデータベースから検索します。「有給申請の方法」に意味が近いFAQ項目が見つかります。
④ LLMで回答生成:見つかった文書と元の質問をセットでLLMに渡します。LLMは「正確な情報源」を参照しながら回答を生成できます。
これにより、最新情報や社内固有の知識についても、AIが根拠を持って回答できるようになります。
主要なベクトルデータベース
ベクトルデータベースは、今や多くの選択肢があります。
+----------+--------------------------------+---------------------+
| 名前 | 特徴 | 向いている用途 |
+----------+--------------------------------+---------------------+
| Pinecone | クラウド専用・セットアップ不要 | 素早くRAGを試したい |
| Chroma | オープンソース・ローカル動作 | 開発・プロトタイプ |
| Weaviate | 高機能・ハイブリッド検索 | 本番環境 |
| pgvector | PostgreSQL拡張 | 既存DB活用 |
+----------+--------------------------------+---------------------+特にpgvectorは既存のPostgreSQLに組み込める拡張機能で、「新しいインフラを用意したくない」という現場でよく使われています。
まとめ:意味を「座標」に変える技術
✅ 普通のDBはキーワード一致、ベクトルDBは「意味の近さ」で検索する
✅ 単語や文章をベクトル(数字の配列)に変換することで意味を数値化できる
✅ RAGにおいてベクトルDBは「関連文書を探す」コアな役割を担う
✅ Pinecone・Chroma・Weaviate・pgvectorなど用途に応じて選べる
言葉の「意味」を数字に変え、近さで探す——これがAIの「賢い検索」を支える仕組みです。
次回のAI最新情報では、AIがツールを標準的な方法でつなげられるようになった「MCP(Model Context Protocol)」について解説します。
この記事がためになったと思ったら、ぜひスキ・フォローをお願いします。毎日更新中です。
この記事が役に立ったらシェアしていただけると嬉しいです。AI入門シリーズ、毎日更新中です。
関連記事
いいなと思ったら応援しよう!
応援いただけると次の記事を書く励みになります🤖