Embeddingとは何か(ベクトル表現)
Embeddingはテキストの意味を表す数値のリストです。似たテキストは似たベクトルになります。
「Embeddingとは何か(ベクトル表現)」はCoddyKit上の無料AI Agentsレッスンです。 これはレッスン1/4です。 下記で完全なレッスンを無料で読むことができます。その後、ブラウザ内の組み込みコードエディタと24時間対応のAIチューターでハンズオン演習できます。 これはAI Agents学習パスの一部であり、ウェブとCoddyKitアプリ全体で進捗が同期されます。 AI Agentsコースには全4レッスンが含まれています。
テキストから数値へ
embeddingとは、テキストの一部の意味を表す数値のリスト(ベクトル)です。意味が似ているテキストは、ベクトル空間内で互いに近いベクトルになります。
なぜベクトルなのか
コンピューターは単語そのものに対して計算できませんが、数値に対しては計算できます。embeddingによって、すべてのテキストに高次元空間内の位置を与えられるため、次のことが可能になります。
- テキスト間の類似度を測定する
- 関連する項目をクラスタリングする
- キーワードだけでなく意味で検索する
Embeddingの例
OpenAIのtext-embedding-3-smallモデルは、テキストごとに1536個の数値を返します。「hello world」に対しては、次のような値が得られます。
embedding = [0.0123, -0.0456, 0.0789, 0.0234, -0.0567, 0.0089, -0.0321]
# Real embeddings have ~1536 floats, each between roughly -1 and 1; this is a shortened example.
print("Example embedding (7 of ~1536 dimensions shown):", embedding)
似たテキストは似たベクトルになる
次のペアは、互いに近いベクトルになります。
- 「王」と「女王」
- 「幸せ」と「楽しい」
- 「車」と「自動車」
「王」と「ピザ」のペアは、互いに遠いベクトルになります。
次元数
次元数が多いほど表現できるニュアンスは増えますが、必要なストレージも増えます。一般的なサイズは次のとおりです。
- OpenAI text-embedding-3-small:1536
- OpenAI text-embedding-3-large:3072
- Cohere embed-multilingual-v3:1024
- BGE-small(OSS):384
セマンティック検索と字句検索
字句検索(Elasticsearch、BM25)はキーワードを一致させます。セマンティック検索(embedding)は意味を一致させます。
「車を修理するにはどうすればよいですか?」は、共通する単語が1つもなくても、「自動車修理のヒント」と意味的に一致します。
文書のEmbedding
次のものをembeddingできます。
- 短いクエリ
- 文
- 段落(約500トークンが最適)
- 文書全体(品質は低下します)
コードのEmbedding
コードに特化したembeddingモデル(例:Voyage Code、Jina Code)もあります。これらはプログラミング構文を理解し、コード検索では一般的なテキストembeddingを上回ります。
マルチモーダルEmbedding
画像、音声、動画をテキストと同じ空間にembeddingできるため、モダリティをまたいだ検索が可能になります。画像向けの有名な例がCLIPです。
Embeddingにおけるバイアス
embeddingには、学習データの特徴が反映されます。性別と職業の関連付け、人種的ステレオタイプなどのバイアスも符号化されます。人に関わるランキングの判断に使用する場合は注意してください。
Embeddingでできないこと
- 数学の問題を解くことはできません
- 論理的な推論はできません
- テキストを生成できません
- 因果関係について推論できません
embeddingは類似度を測定する手段であり、推論する手段ではありません。
Embeddingの定義
embeddingとは何でしょうか。
まとめ
embeddingはテキストをベクトルに変換します。ベクトルによって、セマンティック検索、クラスタリング、RAGが可能になります。次は、OpenAI APIを使ってベクトルを生成します。
よくある質問
「Embeddingとは何か(ベクトル表現)」レッスンは無料ですか?
はい。「Embeddingとは何か(ベクトル表現)」の完全なテキストはこのウェブで無料で読めます。インタラクティブに演習し(組み込みコードエディタと24時間対応のAIチューター)、AI Agentsコースの残りをアンロックするには、CoddyKit PROにアップグレードしてください。 AI Agentsコースには全4レッスンが含まれています。
「Embeddingとは何か(ベクトル表現)」で何を学びますか?
Embeddingはテキストの意味を表す数値のリストです。似たテキストは似たベクトルになります。 ブラウザで直接実行するハンズオンコードでAI Agentsを演習し、24時間対応のAIチューターがレッスンを進める中での質問に答えます。
AI Agentsを始めるのに経験は必要ですか?
事前経験は必要ありません。CoddyKitのAI Agentsは初級者から上級者向けに構成されているため、ここから始めるか最初から始めて、自分のペースで進むことができます。 これはレッスン1/4です。
「Embeddingとは何か(ベクトル表現)」レッスンにはどのくらい時間がかかりますか?
ほとんどのCoddyKitレッスンは約5~10分かかります。各レッスンはコンパクトでインタラクティブなので、着実に進歩し、ウェブとアプリ全体で正確に前回の場所から再開できます。
このAI Agentsレッスンでコードを書いて実行できますか?
はい。すべてのAI Agentsレッスンに組み込みコードエディタが含まれているため、ブラウザでリアルコードを書いて実行し、即座のAIフィードバックを取得できます。ローカル設定は不要です。
このコースのすべてのレッスン
- Embeddingとは何か(ベクトル表現)
- text-embedding-3でEmbeddingを生成する
- 検索におけるコサイン類似度
- Embeddingモデルの比較(OpenAI、Cohere、OSS)