「RAGやベクトルデータベースという言葉を最近よく聞くけど、そもそもテキストをどうやってAIに理解させているの?」 「言葉を計算するってどういうこと?」 ——そんな疑問を持つ方は多いのではないでしょうか。
ChatGPTなどのLLM(大規模言語モデル)が言葉の意味を理解し、人間のように自然な対話をしたり関連情報を探し出したりできる裏側には、「Embedding(エンベディング)」という重要な技術があります。
この記事では、人間の言葉をコンピュータが扱える数値(ベクトル)に変換するEmbeddingの仕組みと、その活用例について初心者の方にもわかりやすく解説します。
Embedding(埋め込み)とは?
Embedding(日本語では「埋め込み」とも呼ばれます)とは、テキスト・画像・音声などのデータを、意味や特徴を保ったままコンピュータが計算しやすい「次元を持った数値の配列(ベクトル)」に変換する技術のことです。
ここで重要なのは、単純に文字を数字に置き換える(暗号化する)わけではなく、「言葉の意味や文脈」を数値として表現するという点です。
なぜテキストをベクトルにする必要があるのか?
コンピュータは「文字」そのものの意味を直接理解することはできず、計算できるのは「数字」だけです。
例えば、「犬」と「猫」は人間から見ればどちらも「ペットとして飼われる動物」という共通点があり、似た概念です。しかし、コンピュータにとって従来の文字コード(文字の背後にある番号)の世界では、全く無関係のデータでしかありません。
Embeddingを使うことで、「犬」と「猫」を表すベクトル(数値の並び)が近い値になるように配置されます。これにより、AIは計算を通して「これらは似た意味の言葉だ」と認識できるようになるのです。
テキストがベクトルになる仕組み(概念)
ベクトルとは、複数の数値が並んだリストのことです。(例:[0.12, -0.45, 0.89, ...])
現在の高度なAIモデルでは、一つの単語や文章を数百から数千もの「次元(数値)」で表現します。
これをイメージしやすくするために、非常に単純化して「動物らしさ」「感情」「サイズ」という3つの視点(次元)で言葉を数値化してみましょう。
- 「犬」:
[0.9(動物), 0.8(感情豊か), 0.5(中くらい)] - 「猫」:
[0.9(動物), 0.6(少しクール), 0.3(小さい)] - 「車」:
[0.0(動物ではない), 0.0(感情なし), 1.0(大きい)]
このように数値化すると、計算上で「犬」と「猫」の距離は近く(似ている)、「犬」と「車」の距離は遠く(似ていない)なります。これがEmbeddingによる「言葉の意味の空間配置」です。

意味の足し算・引き算ができる
Embeddingの面白いところは、言葉の意味を数学的に計算できるようになることです。有名な例として、以下のようなベクトルの計算が成立します。
「王様」 - 「男性」 + 「女性」 = 「女王」
このように、単語同士の関係性までも数値だけで表現できるのがEmbeddingの強力な特徴です。
Embeddingの主な活用例
言葉をベクトル化するEmbedding技術は、現在のAIサービスの様々な機能の土台となっています。
- 類似度検索(セマンティック検索)
これまでの検索は「キーワードの完全一致」が基本でしたが、Embeddingを使うことで「意味が似ている文章」を探し出すことができます。 例えば「スマホのバッテリーの減りが早い」と検索したときに、「スマートフォンの電池消耗を防ぐ方法」というキーワードが全く違う記事を見つけてくることができます。
- RAG(検索拡張生成)の基盤
AIに最新情報や社内マニュアルを答えてもらうRAG(Retrieval-Augmented Generation)でも不可欠です。社内のドキュメントをすべてEmbeddingして「ベクトルデータベース」に保存しておくことで、ユーザーの質問(これもベクトル化される)と意味が近い情報を瞬時に検索し、それを元にAIが回答を作れるようになります。
- レコメンドシステム
ネットショッピングや動画サイトの「おすすめ」機能にも使われます。ユーザーの過去の閲覧履歴や、商品の説明文をベクトル化し、距離が近い(好みに近い)ものを推薦する仕組みです。
まとめ
今回は、AIが言葉を理解するための重要技術「Embedding」について解説しました。
- Embeddingとは: テキストの意味を保ったまま、数値の配列(ベクトル)に変換する技術
- 目的: コンピュータが言葉の意味の近さや関係性を「計算」できるようにするため
- 活用例: キーワードに依存しない類似度検索や、RAG(検索拡張生成)に不可欠
AIが人間のように言葉のニュアンスを深く理解できるのは、このEmbeddingという「翻訳機」が背後で働いているからです。この概念を知っておくと、生成AIやベクトルデータベースの仕組みがより理解できるようになると思います。