埋め込み

テキストの意味を密な数値ベクトルとして表す埋め込み、意味検索、Googleのランキング、RAGでコンテンツを意味で対応付ける仕組みを解説します。

初回公開:2026年6月24日 · 最終更新:2026年8月22日 · Advanced
言語

埋め込みは、語、文、文書の意味を高次元空間の密なベクトルとして表します。意味が近いテキストは近くに配置され、意味検索、クラスタリング、RAGの取得層で使われます。encoderモデルが生成し、コサイン類似度で比較します。Googleの検索ではキーワード索引を補完する埋め込みベースの取得も使われますが、BERTのために直接最適化する設定はありません。トピックを一貫して十分に扱うコンテンツを書くことが要点です。

要点 — embeddingは意味を符号化する浮動小数点数のdense vectorで、通常は数百から数千次元です。生成LLMではなくencoder modelが作ります。意味が似ていればvectorも近くなり、cosine similarityで測定します。この分野は、word2vecやGloVeの静的word embeddingから、BERTの文脈的embedding、sentence-level embedding、現代のAPI embeddingへ進みました。Googleはkeyword indexを置き換えるのではなく、Neural Matching/RankEmbedやRankEmbedBERTによるembedding-based retrievalを併用します。embeddingはRAGのretrieval backboneでもあります。操作するembedding dialはありません。topicの一貫性が、contentを適切なqueryの近くへclusterさせます。

埋め込みの実態

embeddingはsimilarityとretrievalを支えますが、truth、quality、ranking valueを直接測るものではありません。 Evidence for this claim Embeddings represent inputs as numerical vectors that can be compared for relatedness and used for search, clustering, and classification. Scope: OpenAI embedding models and documented uses; vector dimensions and behavior vary by model. Confidence: high · Verified: OpenAI: Embeddings guide research resultは、学習済みmodelとevaluation settingに依存します。 Evidence for this claim Learned vector representations can encode useful distributional relationships between words. Scope: Word2vec-era language representations; observed vector relationships are model- and training-data-specific, not ground truth. Confidence: high · Verified: Mikolov et al.: Efficient Estimation of Word Representations

埋め込みとは、text(またはimage、audio、video)を高次元空間の点として表す、浮動小数点数のlistである密な数値vectorです。OpenAIのdocumentationは明確にこう述べています: “An embedding is a vector (list) of floating point numbers.” _(翻訳)_日本語訳:embeddingとは浮動小数点数のvector(list)である

定義上の性質は幾何学です。 意味的に似たコンテンツは似たベクトルを持ちます。 おおむね同じ意味のテキストはおおむね同じ方向を指し、無関係なテキストは別の方向を指します。これは偶然ではありません。似た文脈で使われる単語やフレーズが似たベクトルになるよう、モデルが 学習 されているからです。意味が位置になります。

Embeddings turn semantic similarity into distance: related meanings land nearby even when the exact wording differs. 出典: /ai-search/how-search-works/embeddings/

A conceptual semantic space places the query reset my password near documents titled Forgot-password guide, Account recovery steps, and Cannot log in. The unrelated document Enterprise pricing sits farther away. Near means more semantically similar; far means less similar. Actual embedding spaces have many more dimensions and model-specific geometry.

© Patrick Stox LLC · CC BY 4.0 ·

正確に分けて考えるべき点があります。encoderとgeneratorの違い、コサイン類似度、モデルの次元数、正規化、検索での利用範囲を確認します。

  • generatorではなくencoder。 embeddingは、意味を固定長vectorへ圧縮するencoder modelから作られます。next tokenを予測する生成LLMとはarchitectureも目的も異なります。内部表現とAPIの違いは後で説明します。
  • sparseではなくdense。 one-hotやbag-of-words表現は大部分が0で、vocabularyの単語ごとにslotがありますが、embeddingはすべての次元へ意味を詰めます。GoogleのML glossaryは、one-hot encodingでは表せない関係を扱える低次元でdenseな表現と説明しています。これによりmodelは、“hot dogs and shawarmas are more related than hot dogs and salads.” _(翻訳)_日本語訳:hot dogとshawarmaは、hot dogとsaladより関連が深い、と認識できます。
  • 次元が多いほど常に良いわけではない。 次元を増やせば細かな差を捉えられますが、storageとcomputeのcostが増え、効果はtask次第です。「大きいほど良い」というdialではなくtrade-offです。

類似性の測定:コサイン類似度

2つの埋め込みを比較するときは距離、より正確にはベクトル間の角度を測ります。標準的な指標はcosine similarityです。ベクトルの長さに関係なく角度を測り、−1(反対)から0(無関係/直交)、1(同じ方向)までのscoreを返します。距離が小さいほど関連性が高くなります。

多くの埋め込みAPIはベクトルを単位長に正規化します。その場合、コサイン類似度と内積は同じ順位を返します。OpenAIは、コサイン類似度が一般的で計算コストもわずかに低い選択肢だと説明しています。Anthropicが推奨する埋め込みプロバイダーのVoyage AIは、この直感を*“the cosine similarity between two embeddings captures the semantic relatedness of the corresponding original passages.”* (翻訳) 「2つの埋め込み間のコサイン類似度は、元の各文章が意味的にどれほど関連するかを捉える」と端的に表現しています。この最近傍比較を大規模に行う仕組みがvector searchです。

ここに至るまでの進化

歴史は単語から段落へ、固定された意味から文脈を考慮した意味へ進みました。

  • word2vec(Google、2013年)。 Mikolovらは、大規模corpusから密な単語vectorを学習する2つのarchitecture(CBOWとSkip-Gram)を導入しました。有名な結果では、vector演算 “King” − “Man” + “Woman” (日本語訳:「王」−「男」+「女」)が “Queen” (日本語訳:「女王」)に最も近くなり、vector演算が意味関係を捉える証拠になりました。ただし、このanalogyは説明用で、毎回保証されるものではありません。modelによっては”kings”や”monarch”になる場合があります。これは静的embeddingで、単語ごとに固定vectorが1つだけなので、“river bank”と”bank account”の”bank”は同じvectorになります。
  • GloVe(Stanford、2014年)。 predictive networkではなく、global co-occurrence statisticsに基づくcount-basedの代替手法です。目的関数は異なりますが、同様に有用なembeddingを作ります。これも静的です。
  • Universal Sentence Encoder(Google、2018年)。 単語だけでなく文全体のembeddingです。中心となる考え方は、“Sentences are semantically similar if they have a similar distribution of responses”(日本語訳:応答の分布が似ていれば、文は意味的に似ている)というものです。“How old are you?”と”What is your age?”は同じ答えを引き出すため、近くに埋め込まれます。
  • BERT(Google、2018年。Searchへの導入は2019年10月)。 大きな転換は文脈的embeddingです。BERTは双方向で、tokenの前後の単語を読んで意味を定めるため、同じ単語でも周囲の文によって異なるvectorになります。その結果、“river bank”と”bank account”の”bank”は異なるvectorになります。
  • Sentence-BERT(2019年)。 similarity searchにおけるBERTのscaling問題を解決しました。通常のBERTは2文を一緒に入力する必要があり、大規模処理では計算量が非常に大きくなります。SBERTはcosine similarityで比較できる固定長のsentence embeddingを作り、大規模corpusで最も似た組を探す時間を数時間から数秒へ短縮しました。
  • 現代のembedding API(2024年〜現在)。 OpenAIのtext-embedding-3 family、GoogleのGemini embeddings、Voyage、Cohereのembed-v4.0は、多言語対応で、text、image、audio、videoを1つの空間で扱うmultimodal化も進んでいます。さらにMatryoshka Representation Learningにより、再学習せずvectorを少ない次元へ切り詰め、精度を少し譲る代わりにstorageとspeedを改善できます。

Google検索での埋め込みの利用方法

Googleのranking pipelineは純粋にsemantic または 純粋にkeywordというものではなく、hybridです。embeddingを使う部分は従来のinverted indexを置き換えず、補完します。Google自身のranking-system documentationと、Pandu NayakによるDOJ antitrust testimonyから、名称が明らかなsystemには次のものがあります。

  • BERT — 文脈内の単語を理解するGoogleのsystemです。公開時には、特に”for”や”to”のような前置詞が意味を変える長い会話型queryを中心に、Searchが*“better understand one in 10 searches in the U.S. in English”*(日本語訳:米国の英語検索10件に1件をよりよく理解する)うえで役立ちました。
  • Neural Matching/RankEmbed — queryとdocumentを同じvector空間に変換し、共通keywordがなくても概念的に一致する結果を見つけるembedding-based retrievalです。Nayakは補完的な仕組みとして、“RankEmbed identifies a few more documents to add to those identified by the traditional retrieval.”(日本語訳:RankEmbedは従来の検索で特定されたdocumentに加える、さらにいくつかのdocumentを見つける)と説明しました。ここでのretrievalはembedding空間のdot product/distance measureに基づきます。
  • RankEmbedBERT — RankEmbedのretrievalとBERTのlanguage understandingを組み合わせた後続systemです。quality raterのscoreとsearch logで学習され、複雑なlong-tail queryで特に高い性能を示しました。

実務上、keywordの存在は今も重要です。lexical retrieval(inverted index、BM25型)が最初の絞り込みを担うからです。embedding systemは概念的に関連する候補を追加し、re-rankします。両方のsignalが働きます。だからこそ、“BERT killed keywords”(日本語訳:BERTがkeywordを終わらせた)という主張は誤りです。

AI検索での埋め込み(RAGパイプライン)

embeddingがAI OverviewsやAI search assistantに最も直接関わるのがここです。 Retrieval-Augmented Generation(RAG) はembeddingをretrieval layerとして使います:

  1. index: contentをpassageへ chunk化 し、各passageをembedding化して、vectorを vector database へ保存します。
  2. retrieve: ユーザーのqueryをembedding化し、nearest-neighbor searchで最も近いchunkを vector search により見つけ、上位K個をcontextとしてLLMへ渡します。
  3. generate: LLMが、取得したchunkを 根拠として answerを書きます。

ここでは、各chunkが単独で取得されるため構造が重要です。Dan Petrovicのresearch(Ahrefsの LLM Search最適化について実際に分かっていること で引用)によると、Chromeがembedding用に処理するのはpage先頭の約30 passageで、それぞれを約200語のpassageへ分け、chunkをまたぐ文脈を保つため重複させます。pageから切り出したときにsection単独で意味が通らなければ、contentを適切に表現できません。

トークン埋め込みとテキスト埋め込みAPI

混同されやすい重要な違いがあります。LLMの内部にあるembeddingと、APIから得るembeddingは同じものではありません。

  • Token embeddingはmodel内部の表現です。各tokenは、生成中にlayerごとに変換されるvectorを持ち、next tokenを作るための仕組みとして働きます。
  • Text embedding API(OpenAI、Google、Voyage、Cohere)は、入力文字列全体に対して固定長vectorを1つ作り、retrievalとsimilarityに使えるよう設計されています。多くの場合、生成modelとはtraining objectiveが異なる別modelです。

SEO担当者が「ページを埋め込む」や、内部リンクやキーワードクラスタリングでコサイン類似度を使うと言う場合、通常はAPI型の埋め込みを指します。

SEOにとっての意味

  • keyword densityよりsemantic coherence。 modelは文脈を理解するため、“laptop for gaming”と”high-performance laptop”はすでに近くにあります。keyword stuffingは役に立たず、topicが散ってembeddingが曖昧なcontentになります。
  • chunk retrievalに適した構造。 passageは個別にembedding化され、個別に取得されます。重要なcontentは早めに置き、sectionを自己完結させ、明確なsemantic HTMLを使います。
  • topicの包括性。 topicを本当に網羅するcontentは、vector空間でより多くの関連queryの近くに位置します。これが”build topical authority”(日本語訳:topic authorityを築く)の仕組みです。
  • embeddingを操作するdialはありません。 Danny SullivanはBERTについて、 “There’s nothing to optimize for… The fundamentals of us seeking to reward great content remain unchanged.”(日本語訳:最適化するものは何もない。優れたcontentを評価しようとする基本方針は変わらない) と述べました。toolが出すcosine similarity scoreは分析の補助であり、Googleへ送る入力ではありません。

embeddingはこのclusterの多くをつなぐ基盤です。semantic searchが動く土台であり、vector searchが比較する対象であり、chunkingがtextを準備する先であり、RAGのretrieval backboneでもあります。そして、どのsystemもcontentをembedding化する前に取得しなければならないため、crawlingが最初に重要である理由でもあります。

Add an expert note

Pin an expert quote

New person? Create their unclaimed profile at /admin/experts/ → Pin a quote first.