Gömme vektörlerin harika dünyası!

OpenAI API ile Embeddings’e Giriş

Emmanuel Pire

Senior Software Engineer, DataCamp

Gömme vektörleri nedir?

  • Doğal Dil İşleme (NLP) kavramı
  • Metnin sayısal temsili

Bir kelimenin gömme modeline girilip sayısal temsile dönüştürülmesi.

OpenAI API ile Embeddings’e Giriş

Gömme vektörleri nedir?

 

  • Metin, çok boyutlu bir vektör uzayına eşlenir
  • Modelin ürettiği sayılar, metnin uzaydaki konumudur
  • Benzer sözcükler birbirine daha yakındır
  • Benzer olmayanlar daha uzaktır

Metnin sayısal gösterimi; daha benzer metinler birbirine daha yakındır.

OpenAI API ile Embeddings’e Giriş

Gömme vektörleri neden yararlı?

  • Gömme vektörleri anlamsal anlamı yakalar
  • Anlamsal anlam: metnin bağlamı ve niyeti

 

  • Örnek:
    • "Süpermarkete giden yol hangisi?"
    • "Mağazaya nasıl giderim?"

Metnin sayısal gösterimi; daha benzer metinler birbirine daha yakındır.

OpenAI API ile Embeddings’e Giriş

Anlamsal arama motorları

 

  • Geleneksel arama motorları
    • Anahtar kelime eşleştirme kullanır
    • Gerçek niyeti kaçırabilir
    • Sözcük varyasyonlarını yakalayamaz

 

Alakasız sonuçlar gösteren geleneksel bir arama motoru.

OpenAI API ile Embeddings’e Giriş

Anlamsal arama motorları

  • Niyet ve bağlamı anlamak için gömme vektörleri kullanır

"comfortable running shoes" metninin gömülmesi.

OpenAI API ile Embeddings’e Giriş

Anlamsal arama motorları

  • Niyet ve bağlamı anlamak için gömme vektörleri kullanır

Gömülen metnin çok boyutlu uzayda gösterimi.

OpenAI API ile Embeddings’e Giriş

Öneri sistemleri

 

  • Örnek: İş ilanı önerileri
    • Zaten görüntülenen açıklamalara göre iş önerir
    • İş unvanı varyasyonlarını azaltır

Gömme vektörleri olarak gösterilen iş önerileri.

OpenAI API ile Embeddings’e Giriş

Sınıflandırma

 

Sınıflandırma görevleri:

  • Duygu analizi
  • Gözlemleri kümeleme
  • Kategorizasyon

 

Örnek:

  • Haber başlıklarını sınıflandırma

 

Sınıflandırmak için gömme vektörleri olarak gösterilen bilinmeyen bir haber başlığı.

OpenAI API ile Embeddings’e Giriş

Gömme isteği oluşturma

  • Gömme vektörü uç noktası
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 ile Embeddings’e Giriş

Gömme yanıtı

{'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 ile Embeddings’e Giriş

Gömme vektörlerini çıkarma

print(response_dict['data'][0]['embedding'])
[0.0023064255, ...., -0.0028842222]
OpenAI API ile Embeddings’e Giriş

Haydi pratik yapalım!

OpenAI API ile Embeddings’e Giriş

Preparing Video For Download...