検索窓に「宿泊施設の予約」と打ったら、「ホテルの空室確認はこちら」というページが出てきた。よく見ると、入力した言葉はひとつも含まれていない。なぜ見つかったのでしょう。
その裏側にあるのが埋め込み(エンベディング)とベクトルです。ひとことで言うと、言葉や文章を「数値の並び」に変えたもの。すべての言葉に「意味の地図上の住所」を割り振る仕組みで、意味が近い言葉は地図上でも近くに置かれます。言葉は硬いですが、中身はシンプルです。
このシリーズの索引はAIの仕組みがわかる5つの言葉。本記事は第4回。前回はコンテキストウィンドウとは。
意味の地図
埋め込みとは、言葉や文章を数値の並び(ベクトル)に変換すること。たとえるなら、すべての言葉に意味の地図上の住所を割り振る作業です。
- 「ホテル」と「旅館」はご近所さん
- 「ホテル」と「消しゴム」は遠く離れた別の町
- 「予約」「宿泊」「チェックイン」はいつも近い文脈に現れるので、地図でも寄り集まる
面白いのは、この住所を人が手作業で決めたわけではないこと。「一緒に使われやすい言葉は意味が近い」という手がかりだけで、大量の文章から自動で地図ができあがります。
実際の地図は2次元ではなく、数百〜数千次元という桁違いの広がりを持ちます。それでも「近い=意味が似ている」という感覚はそのまま通用します。
何がうれしいか:キーワード一致から意味一致へ
| キーワード検索 | 意味検索(ベクトル検索) | |
|---|---|---|
| 探し方 | 同じ文字が含まれているか | 意味の地図で近いか |
| 「宿泊施設の予約」で | 「ホテルの空室確認」は見つからない | 地図上ですぐ隣なので見つかる |
| 弱点 | 言い回しが違うと外す | 固有名詞や型番など、文字そのものが大事なものは苦手 |
質問文を地図上の一点に変換し、そこから近い場所にある文書を拾ってくる。これが意味検索(セマンティック検索)です。「宿泊施設の予約」と「ホテルの空室確認」は、文字は違えど地図上ではすぐ隣。だからヒットするわけです。
社内資料をAIに答えさせる技術の土台
「うちの会社のマニュアルや過去の議事録を、AIに答えさせたい」。仕事でAIを使おうとすると、必ずこの要望にたどり着きます。
普通のAIは社内資料を学習していません(LLMとは)。全部会話に貼ろうとしても、机の広さに限りがあります(コンテキストウィンドウとは)。そこで、質問に意味が近い資料だけをベクトル検索で素早く探し、それをAIに渡して答えさせる。この仕組みをRAG(検索拡張生成)と呼び、世の中の「社内AI」の多くはこれで動いています。
「大量の文書から、質問に意味が近いものを素早く探す」。この一手があるから、AIは自分が学習していない情報でも扱えるのです。
今日やってみる(5分)
- 使っているAIに「『銀行』と『信用金庫』と『土手』の意味の近さを説明して」と訊く。言葉の多義性と「意味の距離」の感覚が掴めます
- 自分の仕事の言葉を3つ選び、「この3つを意味の地図に置いたらどう並ぶ?」と訊いてみる
用語メモ
- ベクトル:数値の並び。
[0.12, -0.87, 0.33, ...]のようなもの。言葉の「住所」 - 埋め込み(エンベディング):言葉や文章をベクトルに変換すること、またはその結果
- 意味検索(セマンティック検索):文字一致ではなく、意味の近さで探す検索
- RAG:検索して見つけた資料をAIに渡して答えさせる仕組み。ベクトル検索はその部品
まとめ
ベクトルは「言葉の住所」。意味で探せるようになったことで、AIは自分の記憶の外にある資料まで扱えるようになりました。次は、AIが道具を使って自分で動く、AIエージェントとはへ。
手を動かして確かめたい方は、月1回のAI勉強会の案内登録をどうぞ。
