ページの作成
親となるページを選択してください。
親ページに紐づくページを子ページといいます。
例: 親=スポーツ, 子1=サッカー, 子2=野球
子ページを親ページとして更に子ページを作成することも可能です。
例: 親=サッカー, 子=サッカーのルール
親ページはいつでも変更することが可能なのでとりあえず作ってみましょう!
本稿は Embedding(埋め込み) に関する記事です。
| この記事の要点 |
|---|
|
Embedding とは?
Embedding(埋め込み / ベクトル化) は、テキスト・画像・音声・コードといった離散的・記号的なデータを、固定長の高次元ベクトルに変換する技術です。重要なのは「意味が近いものは近くに、遠いものは遠くに」並ぶよう学習されている点で、これにより意味検索や類似度に基づくレコメンドが可能になります。
近年は RAG(検索拡張生成) の必須部品として注目され、社内ナレッジ検索・FAQ ボット・コード検索などの実装で広く使われています。
身近な直感
| 補足: 「王様 - 男 + 女 ≒ 女王」 |
|---|
Word2Vec で有名になった例ですが、単語をベクトル化すると意味の演算がベクトル演算で近似できます: vec("king") - vec("man") + vec("woman") ≒ vec("queen")これは「ジェンダー」という意味成分がベクトルの 1 方向に表現されている、ということです。現代の Embedding ではより複雑な意味関係が高次元空間で表現されています。 |
Embedding の歴史
| 時代 | 手法 |
|---|---|
| 2013 | Word2Vec(Mikolov)— 単語埋め込みの普及 |
| 2014 | GloVe — 共起統計ベース |
| 2017〜 | Transformer ベース(BERT 等)で文脈付き埋め込みへ |
| 2019〜 | Sentence-BERT — 文単位の Embedding |
| 2022〜 | OpenAI text-embedding、Cohere、BGE 等の高品質 API / OSS |
| 現在 | マルチモーダル Embedding(CLIP、Jina、SigLIP)、長文対応、コード特化 |
主要な Embedding モデル
| モデル | 提供 | 特徴 |
|---|---|---|
| OpenAI text-embedding-3-small / large | API | 性能・コストバランス◎。3072 次元(large) |
| Cohere Embed v3 | API | 多言語・RAG 特化 |
| Voyage AI | API | コード・ドメイン特化版が豊富 |
| Google Gecko | Vertex AI | Google エコシステム統合 |
| BGE (BAAI) | OSS | ローカル実行可・高性能。中国発 |
| E5 (Microsoft) | OSS | 多言語・軽量 |
| Jina Embeddings v3 | OSS / API | マルチモーダル・長コンテキスト |
| nomic-embed-text | OSS | 軽量・公開重み |
| Sentence-Transformers | OSS | 多数の事前学習済みモデル |
| CLIP / SigLIP | OSS | 画像 + テキストのマルチモーダル |
類似度の計算
| 距離 / 類似度 | 特徴 | いつ使う |
|---|---|---|
| コサイン類似度 | ベクトル方向の類似(-1〜1) | RAG・意味検索の定番 |
| 内積 | 方向 + ノルム | 正規化済みベクトルではコサインと等価 |
| L2 距離(ユークリッド) | 絶対距離 | 近傍探索の数学的基本 |
最小サンプル: 類似検索
|
from openai import OpenAI |
RAG での使われ方
| ステップ | 内容 |
|---|---|
| 1. 文書を分割 | 500〜1000 文字程度のチャンクに分ける |
| 2. Embedding 生成 | 各チャンクをベクトル化 |
| 3. ベクトルDB に保存 | Chroma / pgvector / Pinecone 等 |
| 4. 質問の Embedding | ユーザ質問もベクトル化 |
| 5. 類似検索 | 近傍 k 件のチャンクを取得 |
| 6. LLM に渡す | 取得チャンクをプロンプトの参考情報として連結 |
| 7. 回答生成 | LLM が情報源を踏まえて回答 |
保存先(ベクトルDB)の選択
| DB | 特徴 |
|---|---|
| Chroma | ローカル動作。プロト・小規模に最適 |
| Faiss | Meta 製。ライブラリとして高速 |
| pgvector | PostgreSQL 拡張。既存 RDBMS 活用 |
| Pinecone | マネージド SaaS。本番運用容易 |
| Qdrant | OSS + マネージド。フィルタ機能豊富 |
| Weaviate | OSS + マネージド。スキーマ駆動 |
| Milvus / Zilliz | 大規模分散 |
| OpenSearch / Elasticsearch | 既存検索基盤に Embedding 追加 |
運用上のヒント
| Tips |
|---|
|
注意点
| よくある落とし穴 |
|---|
|
関連
- 親カテゴリ: AIの基礎概念
- 関連: LLM / Transformer / RAG / Attention
- 実装: Hugging Face Transformers / LangChain / LlamaIndex
ページの作成
親となるページを選択してください。
親ページに紐づくページを子ページといいます。
例: 親=スポーツ, 子1=サッカー, 子2=野球
子ページを親ページとして更に子ページを作成することも可能です。
例: 親=サッカー, 子=サッカーのルール
親ページはいつでも変更することが可能なのでとりあえず作ってみましょう!
子ページはありません
人気ページ
- 1 Eclipseで「サーバーに追加または除去できるリソースがありません。」の原因と対処法
- 2 tomcat の起動 / 停止ログと catalina.log・catalina.out の違い
- 3 【Javascript】base urlを取得する方法
- 4 YouTube Data API (v3) のエラー一覧|403系エラーの確認ポイント
- 5 Spring Frameworkのアノテーション一覧
- 6 Laravelのエラー一覧|原因と対処の入口ページ
- 7 3D グラフィックスとは?Unity・OpenGL・DirectX の基礎
- 8 【Spring】@Valueアノテーションとは
- 9 CATALINA_HOME の確認方法 (Linux / Mac)
- 10 【Spring】@Autowiredアノテーションとは
最近更新/作成されたページ
- AIの基礎概念:LLM/Transformer/Attention/RAG/エージェント など必須キーワード NEW 2026-05-13 12:19:18
- Diffusion Model とは?画像生成 AI の仕組み・Stable Diffusion NEW 2026-05-13 12:18:15
- マルチモーダル AI とは?GPT-4o・Gemini・Claude の使い方 NEW 2026-05-13 12:18:14
- トークン / コンテキストウィンドウとは?料金・上限・最適化 NEW 2026-05-13 12:18:14
- ファインチューニングとは?LoRA・QLoRA・SFT・RLHF/DPO NEW 2026-05-13 12:18:13
- AIエージェントとは?Tool Use・LangGraph・MCP・実装例 NEW 2026-05-13 12:18:13
- RAG (検索拡張生成) とは?仕組み・実装・LangChain 例 NEW 2026-05-13 12:18:12
- Prompt Engineering とは?技法・Chain-of-Thought・実践例 NEW 2026-05-13 12:18:12
- Attention (注意機構) とは?Q/K/V・Multi-Head の仕組み NEW 2026-05-13 12:18:11
- Embedding (埋め込み) とは?ベクトル化・類似検索・RAG NEW 2026-05-13 12:18:11
- Transformer とは?仕組み・Self-Attention・LLM の基礎 NEW 2026-05-13 12:18:10
- LLM (大規模言語モデル) とは?仕組み・代表モデル・使い方 NEW 2026-05-13 12:18:10
- ディープラーニングとは?CNN・RNN・Transformer・LLM の入門 2026-05-13 10:24:07
- 機械学習とは?教師あり・教師なし・強化学習・代表アルゴリズム 2026-05-13 10:24:07
- AIに必要な数学:線形代数・微積分・確率統計・情報理論・最適化 2026-05-13 10:20:39
コメントを削除してもよろしいでしょうか?