AI Engineering Academy · Ders

Vektör Gömme Nedir

Sinir ağlarının metni yüksek boyutlu uzayda yoğun vektörlere nasıl eşlediğini, anlamsal olarak benzer metinlerin neden birbirine yakın vektörler ürettiğini ve kosinüs benzerliğinin neyi ölçtüğünü anlayın.

1. ders / 413 adım

Vektör Gömme Nedir, CoddyKit'te ücretsiz bir AI Engineering Academy dersidir. Bu, 4 dersinin 1. dersidir. Aşağıdan dersin tamamını ücretsiz okuyabilir, sonra tarayıcıda yerleşik kod editörü ve 7/24 yapay zeka koçu ile uygulamalı olarak pratik yapabilirsin. Bu, AI Engineering Academy öğrenme yolunun bir parçasıdır ve ilerlemeniz web ve CoddyKit uygulaması arasında senkronize olur. AI Engineering Academy kursu toplamda 4 dersten oluşur.

Sayıların Ardındaki Anlam

Vektör gömmesi, bir metin parçasının anlamını temsil eden sayı listesidir (vektördür). Sinir ağları, sözcükleri ham dizeler olarak depolamak yerine anlamsal anlamı yoğun sayısal dizilerle kodlamayı öğrenir. Anlamları benzer olan iki metin, bu yüksek boyutlu uzayda birbirine yakın vektörler üretir.

Yüksek Boyutlu Vektör Uzayı

Modern gömmeler genellikle 768 ila 3072 boyuta sahiptir. Her boyut, açıkça programlanmadan anlamın bazı örtük özelliklerini (konular, duygu, üslup ve ilişkiler) yakalar. Sonuç, anlamsal ilişkilerin ölçülebilir uzaklıklara dönüştüğü zengin bir geometrik uzaydır.

Örneğin, text-embedding-3-small 1536 boyutlu vektörler üretirken text-embedding-3-large 3072 boyutlu vektörler üretir.

Sinir Ağları Gömmeleri Nasıl Öğrenir

Gömme modelleri, eksik sözcükleri tahmin etmek (maskeli dil modelleme) veya anlamsal açıdan benzer ve farklı çiftleri ayırt etmek üzere devasa metin derlemleriyle eğitilir. Eğitim sırasında ağ, benzer metinler öğrenilen vektör uzayında doğal olarak kümelenene kadar milyonlarca ağırlığı ayarlar.

Gömmelere yoğun temsiller denmesinin nedeni budur: çoğu değerin sıfır olduğu seyrek tek etkin kodlamaların aksine her boyut bilgi taşır.

Kosinüs Benzerliği: Yakınlığı Ölçme

Kosinüs benzerliği, iki vektör arasındaki açıyı ölçerek -1 ile 1 arasında bir değer döndürür. 1 puanı, vektörlerin tam olarak aynı yöne işaret ettiği (anlamlarının özdeş olduğu), 0 puanı dik oldukları (ilişkisiz oldukları), -1 puanı ise zıt yönlere işaret ettikleri anlamına gelir.

Metin için Öklid uzaklığına kıyasla tercih edilir; çünkü vektör büyüklüğünü yok sayıp yalnızca yöne odaklanır ve metin uzunluğundaki farklılıklara karşı dayanıklıdır.

import numpy as np

def cosine_similarity(vec_a, vec_b):
    dot_product = np.dot(vec_a, vec_b)
    norm_a = np.linalg.norm(vec_a)
    norm_b = np.linalg.norm(vec_b)
    return dot_product / (norm_a * norm_b)

# Example with tiny 3D vectors
v1 = np.array([0.8, 0.2, 0.5])
v2 = np.array([0.9, 0.1, 0.4])
print(cosine_similarity(v1, v2))  # Close to 1.0

Anlamsal Benzerlik Neden Önemlidir

Geleneksel anahtar sözcük araması, kullanıcılar farklı ifadeler kullandığında başarısız olur: automobile araması, cars hakkındaki belgeleri bulamaz. Vektör gömmeleri bu sorunu çözer; çünkü anlamsal olarak eşdeğer metinler, kullanılan sözcükler tam olarak aynı olmasa bile birbirine yakın vektörlere eşlenir.

Bu, sözcüklerin örtüşmesine değil anlama göre en ilgili sonucu bulduğunuz anlamsal aramayı mümkün kılar. Bu, RAG sistemleri için gereken temel bir yetenektir.

Gömme Vektörünü Görselleştirme

Cümleleri 2B bir harita üzerinde çizdiğinizi düşünün (basitleştirilmiş bir benzetme). makine öğrenmesi hakkındaki cümleler bir bölgede, yemek pişirme hakkındaki cümleler başka bir bölgede kümelenir; spor hakkındaki cümleler de üçüncü bir küme oluşturur. Vektör gömmeleri bu haritayı binlerce boyutta oluşturur.

king - man + woman ≈ queen gibi ünlü ilişkiler, bu uzayda gerçek aritmetik işlemlerdir; vektör işlemleri anlamsal benzetimleri kodlar.

Basit Bir Gömme Oluşturma

OpenAI gömmeler API'si metin alır ve kayan noktalı sayıların bir listesini döndürür. Tek bir API çağrısıyla bir cümleyi veya bütün bir paragrafı gömebilirsiniz. Döndürülen vektör, girdinin uzunluğu ne olursa olsun sabit bir boyuta sahiptir.

Önemli: daha uzun girdiler daha büyük vektörler üretmez; yine aynı sabit boyutlu vektörü üretirler. Ancak model her şeyi bu sabit uzaya sıkıştırdığı için çok uzun metinler ayrıntılı bilgileri kaybedebilir.

from openai import OpenAI

client = OpenAI()  # uses OPENAI_API_KEY from environment

response = client.embeddings.create(
    model='text-embedding-3-small',
    input='Vector embeddings capture semantic meaning.'
)

embedding = response.data[0].embedding
print(f'Dimensions: {len(embedding)}')  # 1536
print(f'First 5 values: {embedding[:5]}')

Birden Çok Metni Aynı Anda Gömme

input parametresine bir liste aktararak tek bir API çağrısında birden çok dizeyi gömebilirsiniz. Bu, her metin için bir istek göndermekten çok daha verimlidir; çünkü ağ gidiş-dönüşlerini azaltır ve API'nin hesaplamayı toplu olarak gerçekleştirmesini sağlar.

Yanıt, her girdi için aynı sırada bir gömme nesnesi içerir; böylece bunları özgün metinlerinizle birlikte kolayca eşleştirebilirsiniz.

from openai import OpenAI

client = OpenAI()

texts = [
    'Python is a programming language.',
    'Snakes are reptiles.',
    'Machine learning requires data.'
]

response = client.embeddings.create(
    model='text-embedding-3-small',
    input=texts
)

for text, result in zip(texts, response.data):
    print(f'{text[:30]}... -> {len(result.embedding)}D vector')

İç Çarpım ve Kosinüs Benzerliği Karşılaştırması

Gömmeleriniz L2-normalleştirilmiş ise (büyüklüğü 1 olan birim vektörler), iç çarpım kosinüs benzerliğine eşittir. OpenAI'nin gömme modelleri normalleştirilmiş vektörler döndürür; bu nedenle iki ölçütten birini kullanabilirsiniz — iç çarpımın hesaplanması biraz daha hızlıdır.

Ancak farklı modellerden veya normalleştirilmemiş olabilecek kaynaklardan gelen gömmeleri birleştirirken, yanıltıcı sonuçlardan kaçınmak için kosinüs benzerliğini her zaman açıkça hesaplayın.

import numpy as np

def normalize(vec):
    return vec / np.linalg.norm(vec)

v1 = normalize(np.array([3.0, 4.0, 0.0]))
v2 = normalize(np.array([4.0, 3.0, 0.0]))

# For unit vectors: dot product == cosine similarity
dot = np.dot(v1, v2)
print(f'Dot product: {dot:.4f}')  # same as cosine sim

Gömmeler ve Tek Etkin Kodlama

Tek etkin kodlama, her sözcüğü tam olarak bir tane 1 ve diğer tüm değerleri 0 olan bir vektörle temsil eder. 50.000 sözcüklük bir sözlük, neredeyse tamamen sıfırlardan oluşan 50.000 boyutlu vektörler üretir; bu son derece verimsizdir.

Yoğun gömmeler 768-3072 boyut kullanır, ancak her boyut gerçek bilgi taşır. Uzay 10-20 kat daha küçük olmasına rağmen eş anlamlı sözcükler, benzetimler ve tek etkin kodlamanın tamamen gözden kaçırdığı bileşimsel anlam da dâhil olmak üzere çok daha fazla inceliği yakalar.

Gömmelerin Yaygın Kullanım Alanları

Anlamsal aramanın yanı sıra gömmeler, birçok pratik uygulamaya güç verir:

  • Anlamsal arama — belgeleri anahtar sözcüklere göre değil, anlama göre bulma
  • Öneri sistemleri — kullanıcının beğendiği öğelere benzer öğeler önerme
  • Kümeleme — belgeleri konuya göre otomatik olarak gruplama
  • Sınıflandırma — gömmeleri doğrusal bir sınıflandırıcıya aktarma
  • Yinelenenleri kaldırma — neredeyse yinelenen içeriği algılama

Tüm RAG sistemleri, kullanıcı sorgularını ilgili belge parçalarıyla eşleştirmek için gömmelere ihtiyaç duyar.

Hızlı Kontrol

Bu dersteki Yapay Zekâ Mühendisliği kavramlarını anlayıp anlamadığınızı test edin.

Ders Özeti

Bu derste şunları öğrendiniz: vektör gömmeleri anlamsal anlamı yoğun sayısal diziler olarak kodlar, kosinüs benzerliği vektör yönlerini karşılaştırarak anlamsal yakınlığı ölçer ve OpenAI'nin gömme API'si tek bir çağrıda metni sabit boyutlu vektörlere dönüştürür. Sırada, OpenAI modellerini kullanarak gömmeleri pratikte nasıl oluşturup karşılaştıracağımızı inceleyeceğiz.

Başlamak ücretsiz

Yapay zeka eğitmeniyle Python öğren — ücretsiz

Tarayıcında gerçek kod yaz ve çalıştır, 7/24 yapay zeka eğitmeninden anında yardım al; web'de ya da uygulamada kaldığın yerden devam et.

Kurslar
30
Dersler
120

Sıkça Sorulan Sorular

“Vektör Gömme Nedir” dersi ücretsiz mi?

Evet — “Vektör Gömme Nedir” dersin tüm metni burada web'de ücretsiz olarak okunabilir. Etkileşimli olarak pratik yapmak (yerleşik kod editörü ve 7/24 yapay zeka koçu) ve AI Engineering Academy kursunun geri kalanını açmak için CoddyKit PRO'ya yükselt. AI Engineering Academy kursu toplamda 4 dersten oluşur.

“Vektör Gömme Nedir” dersinde ne öğreneceğim?

Sinir ağlarının metni yüksek boyutlu uzayda yoğun vektörlere nasıl eşlediğini, anlamsal olarak benzer metinlerin neden birbirine yakın vektörler ürettiğini ve kosinüs benzerliğinin neyi ölçtüğünü anl… AI Engineering Academy ile uygulamalı kodu tarayıcıda doğrudan çalıştırarak pratik yaparsın ve 7/24 yapay zeka koçu dersi çalışırken sorularını yanıtlar.

AI Engineering Academy öğrenmeye başlamak için deneyim gerekli mi?

Önceden deneyim gerekmez. CoddyKit'te AI Engineering Academy, başlangıçtan ileri seviyeye kadar yapılandırıldığı için buradan başlayabilir veya başından başlayıp kendi hızında ilerleme yapabilirsin. Bu, 4 dersinin 1. dersidir.

“Vektör Gömme Nedir” dersi ne kadar sürer?

Çoğu CoddyKit dersi yaklaşık 5–10 dakika sürer. Her biri kısa ve etkileşimli olduğu için sabit ilerleme yaparsın ve web ile uygulama arasında tam olarak bıraktığın yerden devam edebilirsin.

Bu AI Engineering Academy dersinde kod yazıp çalıştırabilir miyim?

Evet. Her AI Engineering Academy dersi yerleşik bir kod editörü içerir, bu sayede tarayıcıda gerçek kod yazıp çalıştırabilir ve anlık yapay zeka geri bildirimi alırsın — yerel kurulum gerekli değildir.

Bu kursun tüm dersleri

  1. Vektör Gömme Nedir
  2. OpenAI ile Gömme Oluşturma
  3. NumPy ile Anlamsal Arama
  4. Gömme Kümelendirme ve Görselleştirme
← AI Engineering Academy Sayfasına Dön