Word2Vec (Kelime-Vektör Gömme Modeli)

Word2Vec, ham metinden CBOW veya Skip-gram mimarisiyle düşük boyutlu kelime vektörleri öğrenen, anlamsal ilişkileri geometrik uzayda kodlayan Mikolov ve ark. (2013) modelidir.

Word2Vec, Tomas Mikolov ve ekibi tarafından Google'da 2013 yılında geliştirilen ve büyük metin külliyatlarından yoğun kelime temsilleri öğrenen hafif bir sinir ağı modelidir. "Efficient Estimation of Word Representations in Vector Space" (arXiv 2013) makalesiyle tanıtılan Word2Vec, kelimeleri anlamsal ve sözdizimsel ilişkilerini yakalayan düşük boyutlu gerçek sayı vektörlerine dönüştürür. Word2Vec'in iki temel mimarisi vardır. CBOW (Continuous Bag of Words), bağlam penceresi içindeki komşu kelimelerden merkez kelimeyi tahmin eder; küçük veri kümelerinde daha hızlı eğitilir. Skip-gram ise tam tersine, merkez kelimeden bağlam kelimelerini tahmin eder ve seyrek kelimeler için daha iyi temsiller üretir. Her iki mimari de negatif örnekleme (negative sampling) veya hiyerarşik softmax ile verimli biçimde eğitilir; böylece milyarlarca kelimeli külliyatlar birkaç saat içinde işlenebilir. Word2Vec'in en çarpıcı özelliği, öğrendiği vektörlerin aritmetik işlemlere uymasıdır: "kral − erkek + kadın ≈ kraliçe" denklemi, modelin anlam ilişkilerini geometrik olarak kodladığını gösterir. Bu özellik, makine çevirisi, duygu analizi ve bilgi grafiği oluşturma gibi pek çok NLP görevinde güçlü bir temel oluşturur. Word2Vec, GloVe ve FastText gibi sonraki modellerin ilham kaynağı olmuş; BERT ve GPT gibi Transformer tabanlı gömme modellerinin yaygınlaşmasına zemin hazırlamıştır. Günümüzde Word2Vec, özellikle kaynak kısıtlı ortamlarda ve gerçek zamanlı uygulamalarda hâlâ kullanılmaktadır. Gensim kütüphanesi en popüler Python uygulamasıdır; milyonlarca kelimelik modeller birkaç yüz megabayt belleğe sığar ve CPU üzerinde saniyeler içinde çıkarım yapabilir. E-ticaret öneri sistemleri, benzer ürün keşfi ve doğal dil arama gibi üretim uygulamaları Word2Vec'i hâlâ tercih etmektedir.

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.