埋め込みの素晴らしい世界!

OpenAI API ではじめる Embeddings 入門

Emmanuel Pire

Senior Software Engineer, DataCamp

埋め込みとは?

  • 自然言語処理NLP)の概念
  • テキストの数値表現

単語が埋め込みモデルに入力され、テキストの数値表現が出力される。

OpenAI API ではじめる Embeddings 入門

埋め込みとは?

 

  • テキストは多次元ベクトル空間にマッピングされる
  • モデルが出力する数値が空間内のテキストの位置
  • 類似した単語は_近く_に現れる
  • 異なる単語は_遠く_に現れる

数値で表現されたテキスト。類似したテキストほど近くに配置されている。

OpenAI API ではじめる Embeddings 入門

埋め込みはなぜ有用か?

  • 埋め込みにより意味的な意味を捉えることができる
  • 意味的な意味:テキストの背景にあるコンテキストと意図

 

    • 「スーパーマーケットへの行き方は?」
    • 「お店への道を教えていただけますか?」

数値で表現されたテキスト。類似したテキストほど近くに配置されている。

OpenAI API ではじめる Embeddings 入門

セマンティック検索エンジン

 

  • 従来の検索エンジン
    • キーワードのパターンマッチングを使用
    • 真の意図を見逃す可能性がある
    • 単語の変形を見逃す

 

関連性の低い結果を表示する従来の検索エンジン。

OpenAI API ではじめる Embeddings 入門

セマンティック検索エンジン

  • 埋め込みを使用して意図とコンテキストを理解する

「comfortable running shoes」というテキストが埋め込まれている。

OpenAI API ではじめる Embeddings 入門

セマンティック検索エンジン

  • 埋め込みを使用して意図とコンテキストを理解する

多次元空間に表示された埋め込みテキスト。

OpenAI API ではじめる Embeddings 入門

推薦システム

 

  • : 求人レコメンデーション
    • 閲覧済みの説明に基づいて求人を推薦
    • 職種名の表記ゆれを軽減

埋め込みとして表示された求人レコメンデーション。

OpenAI API ではじめる Embeddings 入門

分類

 

分類タスク:

  • 感情の分類
  • 観測値のクラスタリング
  • カテゴリ分類

 

  • ニュース見出しの分類

 

分類のために埋め込みとして表示された未知のニュース見出し。

OpenAI API ではじめる Embeddings 入門

埋め込みリクエストの作成

  • 埋め込みエンドポイント
from openai import OpenAI


client = OpenAI(api_key="<OPENAI_API_KEY>")
response = client.embeddings.create(
model="text-embedding-3-small",
input="Embeddings are a numerical representation of text that can be used to measure the relatedness between two pieces of text."
)
response_dict = response.model_dump() print(response_dict)
1 https://platform.openai.com/docs/api-reference/embeddings
OpenAI API ではじめる Embeddings 入門

埋め込みのレスポンス

{'object': 'list',
 'data': [
    {
      "embedding": [0.0023064255, ..., -0.0028842222],
      "index": 0,
      "object": "embedding"
    }
  ],
 'model': 'text-embedding-3-small',
 'usage': {
  "prompt_tokens": 24,
  "total_tokens": 24
  }
}
OpenAI API ではじめる Embeddings 入門

埋め込みの抽出

print(response_dict['data'][0]['embedding'])
[0.0023064255, ...., -0.0028842222]
OpenAI API ではじめる Embeddings 入門

練習しましょう!

OpenAI API ではじめる Embeddings 入門

Preparing Video For Download...