developer_board CBOW ve Skip-gram Mimarileri
Word2Vec'in iki temel mimarisi farklı tahmin yönleriyle çalışır. CBOW (Continuous Bag of Words) bağlam penceresindeki komşu kelimelerden merkez kelimeyi tahmin eder; pencere genişliği genellikle ±2 ila ±5 arasında ayarlanır. Küçük veri kümelerinde ve sık kelimelerde daha iyi performans verir. Skip-gram ise merkez kelimeden yola çıkarak bağlam kelimelerini tahmin eder; seyrek kelimelerin ve özel isimlerin temsilinde üstündür. Negatif örnekleme (NCE) ile Skip-gram, her parametre güncellemesinde tüm kelime dağarcığı yerine yalnızca k adet (genellikle 5-20) negatif örnek kullanarak hesaplama maliyetini dramatik biçimde düşürür. Her iki mimari de çıktı olarak N boyutlu (tipik 100-300) yoğun vektörler üretir; bu vektörler benzer anlamdaki kelimeler için geometrik olarak yakın konumlardadır.
functions Vektör Aritmetiği ve Anlamsal İlişkiler
Word2Vec'in en dikkat çekici keşfi, öğrenilen vektörlerin anlamsal ilişkileri doğrusal dönüşümlerle kodlamasıdır. En ünlü örnek: vec(kral) − vec(erkek) + vec(kadın) ≈ vec(kraliçe). Bu çıkarım, modelin cinsiyeti bir vektör farkı olarak öğrendiğini gösterir. Benzer örüntüler sözdizimsel ilişkilerde de geçerlidir: vec(koşmak) + vec(geçmiş) ≈ vec(koştu). Cosine benzerliği, iki kelime vektörü arasındaki anlamsal mesafeyi ölçer (1 = özdeş yön, 0 = dik, -1 = zıt anlam). Bu özellik, anlamsal arama, kelime ilişkisi tahmini ve çeviri görevleri için güçlü bir temel oluşturur.
Kullanım Alanları
search Anlamsal Arama ve Öneri
E-ticaret platformları Word2Vec ile benzer ürün gömmeleri oluşturur; kullanıcının baktığı ürüne yakın vektörlü ürünler önerilir. Haber siteleri benzer makale öneri motorlarında kullanır.
sentiment_satisfied Duygu Analizi
Kelime vektörleri, duygu analizi modellerinde özellik (feature) olarak kullanılır. Ön eğitimli Word2Vec gömmeleri, küçük etiketli veri setlerinde bile yüksek doğruluk sunar.
translate Makine Çevirisi Öncesi
Word2Vec, farklı diller arasında hizalanmış çok dilli gömmeler için kullanılmıştır. Ortogonal dönüşümle iki dil uzayı hizalandığında kelime çevirisi sıfır örnekle (zero-shot) yapılabilir.
biotech Biyomedikal NLP
Med2Vec ve BioWordVec, tıbbi metinler üzerinde Word2Vec uygulayarak ilaç-hastalık ilişkilerini ve klinik terim benzerliklerini modellemekte kullanılır.
Sonraki Nesil Gömme Modelleri
stars GloVe (2014, Stanford)
Küresel eş-oluşum istatistiklerini kullanır; Word2Vec'in lokal bağlam penceresini tüm külliyat matrisine genişletir. Genellikle nadir kelimelerde daha tutarlı sonuçlar verir.
speed FastText (2016, Facebook)
Karakterden oluşan alt-sözcük (subword) birimlerini öğrenir; bu sayede sözcük dağarcığı dışı (OOV) kelimeler için de vektör üretebilir. Morfolojik açıdan zengin dillerde üstündür.
psychology BERT ve Transformer Gömmeleri
Word2Vec statik vektörler üretirken BERT her bağlamda farklı vektör üretir (dinamik gömme). 'banka' kelimesi finans cümlesinde farklı, dere kenarında farklı temsil edilir.
quiz Sık Sorulan Sorular
- check_circle Word2Vec ile BERT arasındaki temel fark nedir?: Word2Vec statik gömme üretir: 'banka' kelimesi her bağlamda aynı vektörü alır. BERT ise dinamik gömme üretir; aynı kelime farklı cümlelerde farklı vektör alır. Bu, Word2Vec'in bağlam belirsizliğini çözememesi anlamına gelir. Buna karşın Word2Vec çok daha hafif ve hızlıdır.
- check_circle Vektör boyutu (dimensions) nasıl seçilmeli?: Tipik seçimler 100, 200 veya 300 boyuttur. Küçük boyutlar (50-100) hızlı eğitim ve düşük bellek kullanımı sunar; büyük boyutlar (300+) daha fazla anlam kapasitesi verir ama fazla uyum (overfitting) riski taşır. Pratik kural: külliyat büyüklüğü arttıkça boyutu artır.
- check_circle Türkçe için Word2Vec nasıl kullanılır?: Türkçe morfolojik açıdan zengin bir dil olduğu için ham Word2Vec yerine FastText veya BPEmb tercih edilebilir. Ancak büyük Türkçe külliyatlarla (Wikipedia, OSCAR) eğitilen Word2Vec modelleri Gensim üzerinde yüklenebilir. HuggingFace'te Türkçe ön eğitimli modeller mevcuttur.
- check_circle Python'da Word2Vec nasıl kullanılır?: Gensim kütüphanesiyle: `from gensim.models import Word2Vec; model = Word2Vec(sentences, vector_size=100, window=5, min_count=1, workers=4)`. Eğitim tamamlandığında `model.wv['kral']` ile vektör, `model.wv.most_similar('kral')` ile benzer kelimeler alınır.
- check_circle Word2Vec hâlâ geçerli bir seçim midir?: Evet, kaynak kısıtlı ortamlarda. BERT çok daha güçlü ama saniyede binlerce token işlemek için büyük GPU gerektirir. Word2Vec CPU üzerinde milisaniyelerde çalışır ve küçük bellek kullanır. Öneri sistemleri ve üretim ortamları için hâlâ pratik bir seçimdir.