Oneri Sistemi (Recommendation Engine) Gelistirme Rehberi
Dijital platformlarda kullanicilarin karsilastigi en buyuk zorluk, seceneklerin coklugundan kaynaklanan karar yorgunlugudur. Bir e-ticaret sitesinde binlerce urun, bir icerik platformunda milyonlarca video, bir aggregator platformda yuzlerce hizmet saglayici arasinda dogru secimi yapmak kullanicidan buyuk bir caba ister. Oneri sistemleri (recommendation engines), kullanici davranislarini ve icerik ozelliklerini analiz ederek kisisellestirilmis oneriler sunarak bu sorunu cozer.
Bu rehberde, oneri sistemi gelistirmenin temel yaklasimlarindan uretim ortami uygulamalarina kadar tum sureci -- algoritma seciminden degerlendirme metriklerine, cold start cozumlerinden A/B test stratejilerine kadar -- kapsamli olarak inceliyoruz.
Oneri Sistemlerinin Temel Yaklisimlari
Oneri sistemleri uc ana kategoriye ayrilir: collaborative filtering, content-based filtering ve hybrid yaklasimlar. Her birinin guclu yanlari ve sinirliliklari vardir.
Collaborative Filtering (Isbirlikci Filtreleme)
Collaborative filtering, kullanicilarin gecmis davranislarindan oruntuleri cikararak oneri uretir. Temel mantigi basittir: benzer kullanicilar benzer urunleri begenir.
User-based collaborative filtering, hedef kullaniciya benzer kullanicilari bulur ve bu benzer kullanicilarin begendigi ancak hedef kullanicinin henuz gormemis oldugu ogeleri onerir. Benzerlik hesaplamasi icin cosine similarity, Pearson korelasyon katsayisi veya Jaccard benzerlik indeksi kullanilir.
Item-based collaborative filtering ise ogeler arasindaki benzerligi kullanici etkilesimlerine dayanarak hesaplar. "Bu urunu alan kullanicilar su urunleri de aldi" mantigi bu yaklasimdadir. Item-based yaklasim, kullanici sayisinin oge sayisindan cok fazla oldugu durumlarda daha olceklenebilirdir cunku oge benzerlikleri daha az degisir ve onceden hesaplanabilir.
Content-Based Filtering (Icerik Tabanli Filtreleme)
Content-based filtering, ogelerin ozelliklerini analiz ederek benzer ogeleri onerir. Bir kullanici belirli ozelliklere sahip urunleri begenmisse, benzer ozelliklere sahip diger urunler onerilir.
Bu yaklasimda her oge bir ozellik vektoru ile temsil edilir. Bir film icin tur, yonetmen, oyuncular, konu etiketleri gibi ozellikler; bir urun icin kategori, fiyat araligi, marka, ozellik listesi bu vektoru olusturur. TF-IDF veya word embeddings ile metin iceriklerinden ozellik cikarmak da yaygin bir tekniktir.
Content-based filtrelemenin en buyuk avantaji cold start problemini kismen cozmesidir: yeni bir oge eklendiginde, ozellikleri biliniyorsa hemen onerilebilir. Dezavantaji ise filter bubble etkisidir -- kullanici surekli benzer icerikler gorur ve kesfetme sansi azalir.
Hybrid Yaklasimlar
Uretim ortaminda kullanilan oneri sistemlerinin buyuk cogunlugu hybrid yaklasim benimser. Collaborative ve content-based yontemlerin gucleri birlestirilirken zaafiyetleri dengelenir.
Weighted hybrid yaklasimda, her iki yontemin skorlari agirlikli olarak birlestirilir. Switching hybrid yaklasimda, duruma gore en uygun yontem secilir; ornegin yeni kullanici icin content-based, eski kullanici icin collaborative filtering kullanilir. Cascade yaklasimda ise once bir yontemle aday kume olusturulur, ardindan diger yontemle siralanir.
Matrix Factorization ve Ileri Teknikler
Collaborative filtering'in temelini olusturan kullanici-oge etkilesim matrisi genellikle cok seyrek (sparse) bir yapidadir. Bir e-ticaret sitesinde milyonlarca urun ve milyonlarca kullanici varken, her kullanicinin etkilesim kurdugu urun sayisi birkac yuz ile sinirlidir.
SVD ve ALS
Matrix factorization teknikleri, bu seyrek matrisi daha dusuk boyutlu iki matrisin carpimina ayirir. SVD (Singular Value Decomposition) ve ALS (Alternating Least Squares) en yaygin kullanilan yontemlerdir. ALS, buyuk olcekli verilerde paralelizasyona uygun yapisi nedeniyle Apache Spark MLlib'de varsayilan matrix factorization algoritmasi olarak sunulur.
Her kullanici ve her oge, gizli faktor uzayinda (latent factor space) bir vektor ile temsil edilir. Onerilen faktor sayisi genellikle 50-200 arasindadir. Kullanici ve oge vektorlerinin ic carpimi, tahmini puani verir.
Deep Learning Tabanli Oneri Sistemleri
Son yillarda deep learning, oneri sistemlerinde devrim yaratmistir. Neural Collaborative Filtering (NCF), kullanici ve oge embedding'lerini sinir agi katmanlarindan gecirerek non-linear iliskileri yakalar. Transformer tabanli modeller, kullanicinin etkilesim dizisini sirali olarak isleyerek zamana dayali oruntuleri ogrenir.
Two-tower modeli, ozellikle buyuk olcekli sistemlerde yaygindir. Bir kule kullanici ozelliklerini, diger kule oge ozelliklerini embedding'e donusturur. Bu embedding'ler onceden hesaplanarak approximate nearest neighbor (ANN) algoritmasi ile milisaniyeler icinde en yakin eslesmeler bulunur.
Graph neural network (GNN) tabanli oneri sistemleri de giderek yayginlasiyor. Kullanici-oge etkilesim grafi uzerinde mesaj gecirme (message passing) mekanizmasiyla hem yapisal hem iceriksel bilgiyi birlestiren bu yaklasim, ozellikle sosyal ag verileri iceren platformlarda etkilidir.
Cold Start Problemi ve Cozumleri
Oneri sistemlerinin en buyuk zorluklarindan biri cold start problemidir: yeni kullanicilar veya yeni ogeler hakkinda yeterli etkilesim verisi bulunmaz.
Yeni Kullanici Cold Start
Yeni bir kullanici sisteme katildiginda hicbir etkilesim gecmisi yoktur. Bu durumda su stratejiler uygulanir: kayit sirasinda tercih anketi (tur, kategori, marka tercihleri), demografik bilgilere dayali oneri (benzer demografik profildeki kullanicilarin tercihleri), populerlik bazli oneri (genel olarak en cok begenilenler) ve aktif ogrenme (kullaniciya stratejik olarak secilmis ogeler gosterip geri bildirim almak).
Yeni Oge Cold Start
Yeni eklenen bir urun veya icerik henuz hicbir etkilesim almamistir. Content-based ozellikler bu durumda devreye girer. Urunun aciklamasi, kategorisi, gorsel ozellikleri analiz edilerek mevcut ogelerle benzerlik hesaplanir. Exploration stratejileri ile yeni ogeler belirli bir oranda rasgele kullanicilara gosterilerek ilk etkilesim verileri toplanir.
Bandit Algoritmalari
Epsilon-greedy, UCB (Upper Confidence Bound) ve Thompson Sampling gibi bandit algoritmalari, exploitation (bilinen iyi onerileri gosterme) ve exploration (yeni ogeleri kesfettirme) arasindaki dengeyi otomatik olarak yonetir. Bu yaklasim cold start problemini asamali olarak cozer.
Cross-Domain Transfer
Bir alandaki kullanici davranisini baska bir alana aktarmak da cold start'i hafifletir. Ornegin bir muzik platformundaki kullanici tercihlerinden kitap onerileri turetmek veya bir e-ticaret sitesindeki alisveris gecmisinden restoran onerileri uretmek mumkundur. Transfer learning ve domain adaptation teknikleri, kaynak alandaki kullanici embedding'lerini hedef alana tasir. Bu yaklasim ozellikle ayni sirket altinda birden fazla urun bulunan ekosistemlerde etkilidir.
Gercek Zamanli ve Batch Oneri Sistemleri
Oneri sistemleri hesaplama zamanlamasina gore iki kategoriye ayrilir.
Batch (Toplu) Islem
Model egitimi ve oneri hesaplamasi belirli araliklerla (saatlik, gunluk) yapilir. Apache Spark, tum kullanici-oge cikarimlarini paralel olarak hesaplar ve sonuclari bir cache veya veritabanina yazar. Bu yaklasim hesaplama maliyetini optimize eder ancak onerilerin guncelliginden odun verir.
Gercek Zamanli Oneri
Kullanicinin son etkilesimlerine aninda tepki vererek onerileri gunceller. Bir kullanici bir urunu sepete eklediginde, o anda gosterilen oneriler degisir. Kafka veya benzeri event streaming altyapilari ile kullanici olaylari islenir, feature store'dan guncel ozellikler cekilir ve model servisi anlik cikarim yapar.
Lambda Mimarisi
Pratikte cogu sistem lambda mimarisini kullanir: batch katmani genel oneri modellerini periyodik olarak hesaplarken, speed katmani son kullanici davranislarina gercek zamanli tepki verir. Her iki katmanin sonuclari birlestirilerek nihai oneri listesi olusturulur.
Kappa Mimarisi
Lambda mimarisinin karmasikligini azaltmak icin kappa mimarisi, tum islemleri tek bir stream processing katmaninda birlestirir. Apache Kafka ve Flink ile hem tarihsel hem gercek zamanli veri ayni pipeline uzerinden islenir. Bu yaklasim kod tekrarini azaltir ve sistemin bakim maliyetini dusurur, ancak cok buyuk olcekli batch yeniden hesaplamalar icin lambda mimarisi hala daha pratik olabilir.
Degerlendirme Metrikleri
Bir oneri sisteminin basarisini olcmek, dogru metriklerin secimini gerektirir.
Offline Metrikler
Precision@K, onerilerin ne kadarinin gercekten ilgili oldugunu olcer. Recall@K, ilgili ogelerin ne kadarinin onerilerde yer aldigini gosterir. NDCG (Normalized Discounted Cumulative Gain), siralama kalitesini olcer ve ust siralardaki hatalari daha agir cezalandirir. MAP (Mean Average Precision) ise farkli kullanicilar arasindaki ortalama performansi verir.
Online Metrikler
CTR (Click-Through Rate), onerilere tiklama oranini olcer. Conversion rate, onerilerin satis veya hedef aksiyona donusum oranini gosterir. Kullanici basina ortalama etkilesim suresi ve session basina goruntulenme sayisi da onemli metriklerdir.
Offline ve Online Metrik Uyumsuzlugu
Offline metriklerde basarili olan bir model, online testlerde basarisiz olabilir. Bu nedenle A/B testleri, oneri sistemi gelistirmenin vazgecilmez bir bilesendir.
A/B Test ile Oneri Optimizasyonu
Oneri algoritmalarinin gercek kullanicilar uzerindeki etkisini olcmek icin sistematik A/B testleri yurutulmelidir.
Test Tasarimi
Kullanicilar rastgele iki gruba ayrilir: kontrol grubu mevcut oneri algoritmasi, deney grubu yeni algoritma ile hizmet alir. Test suresi, istatistiksel anlamlilik icin yeterli orneklem buyuklugune ulasacak kadar uzun olmalidir. Genellikle minimum iki haftalik test suresi onerilir; hafta ici ve hafta sonu davranislari farklilik gosterebilir.
Dikkat Edilmesi Gerekenler
Network etkisi oneri sistemlerinde A/B testlerini karistiirabilir. Bir kullanicinin davranisi, baska kullanicilarin onerilerini etkiliyorsa, gruplar arasi kontaminasyon olusabilir. Bu durumda cluster-based randomization kullanilir.
Novelty etkisi de goz onunde bulundurulmalidir: yeni bir algoritma kisa vadede yuksek etkilesim alabilir cunku kullanicilar farkli onerilere saskinlikla tepki verir. Uzun vadeli metrikler (retention, tekrar ziyaret) de izlenmelidir.
Python ve Spark ile Uygulama
Oneri sistemi gelistirmek icin zengin bir arac ekosistemi mevcuttur.
Python Ekosistemi
Surprise kutuphanesi, collaborative filtering algoritmalarini (SVD, KNN, NMF) hazir olarak sunar ve kucuk-orta olcekli veri setleri icin idealdir. LightFM, hybrid oneri modelleri icin tasarlanmistir. Implicit kutuphanesi, ozellikle implicit geri bildirim (tiklama, goruntulenme, satin alma) verisiyle calismak icin optimize edilmistir. TensorFlow Recommenders (TFRS) ve PyTorch tabanli RecBole ise deep learning tabanli oneri modelleri icin kapsamli framework'lerdir.
Apache Spark ile Olceklendirme
Buyuk olcekli veri setlerinde Spark MLlib'in ALS implementasyonu kullanilir. Spark'in dagitik islem yetenegi sayesinde milyonlarca kullanici ve oge iceren matrisler verimli sekilde islenir. Feature engineering ve model egitimi Spark uzerinde yapilirken, model servisi TensorFlow Serving, TorchServe veya ozel bir mikro servis ile saglanabilir.
Embedding Tabanlı Aday Uretimi
Buyuk kataloglarda tum ogelere skor hesaplamak pratik degildir. Bu nedenle iki asamali bir yaklasim benimsenir: ilk asamada embedding uzayinda approximate nearest neighbor (ANN) algoritmasi ile birkaç yuz aday secilir, ikinci asamada bu adaylar daha karmasik bir siralama modeli ile skorlanir. FAISS, ScaNN ve Milvus gibi vektor veritabanlari, milyonlarca embedding uzerinde milisaniye altinda yakinlik aramasi yapabilir. Bu iki asamali mimari, hem hesaplama maliyetini dusurur hem de oneri kalitesini korur.
Kullanim Alanlari ve Sektorel Uygulamalar
Oneri sistemleri hemen her dijital platformda kullanici deneyimini gelistirir.
E-Ticaret
Urun onerileri ("bunu alanlar sunlari da aldi"), kisisellestirilmis anasayfa, sepet tamamlama onerileri ve yeniden satin alma hatirlaticlari e-ticaret platformlarinda geliri dogrudan arttirir. Amazon'un gelirinin yuzde 35'inin oneri sisteminden kaynaklandigi sektorun bilinen referans noktasidir.
Aggregator Platformlar
Hizmet saglayici eslestirme, kullanici ihtiyacina uygun filtreleme ve siralama, benzer hizmet karsilastirmasi gibi senaryolarda oneri sistemleri kritik rol oynar. Smart Maple olarak aggregator platform projelerinde, kullanici davranisina dayali kisisellestirilmis siralama ve oneri mekanizmalarinin kullanici etkilesimini olculebilir sekilde arttirdigini gozlemliyoruz.
Icerik Platformlari
Video, muzik, haber ve blog platformlarinda icerik kesfetme, oynatma listeleri olusturma ve kullanici tutundurma (retention) oneri sistemlerinin temel kullanim alanidir. Sequential recommendation -- kullanicinin izleme/dinleme sirasini modelleyerek siradaki icerigi tahmin etme -- bu alanda en etkili yaklasimlardan biridir.
SaaS Uygulamalari
Ozellik onerileri ("su ozelligi deneyin"), belge sablonu onerileri, entegrasyon tavsiyeleri ve kullanim ipuclari SaaS ortaminda kullanicinin platformdan aldigi degeri arttirir ve churn oranini dusurur. Kullanicinin mevcut kullanim oruntusunu analiz ederek henuz kesfetmedigi ozellikleri dogru zamanda onermek, urun benimseme oranini onemli olcude yukseltir.
Uretim Ortami Icin En Iyi Pratikler
Bir oneri sistemini laboratuvar ortamindan uretime tasiirken dikkat edilmesi gereken kritik noktalar vardir.
Feature Store Kullanimi
Kullanici ve oge ozelliklerinin merkezi bir feature store'da yonetilmesi, hem egitim hem servis surecinde tutarlilik saglar. Feast veya Tecton gibi araclar, batch ve real-time ozellikleri tek bir arayuzden yonetir.
Model Versiyonlama ve Geri Alma
Her model versiyonu, egitim verisi, hiperparametreler ve degerlendirme metrikleriyle birlikte kaydedilmelidir. MLflow veya benzeri bir arac ile model registry olusturulmali ve sorunlu bir surum tespit edildiginde onceki versiyona aninda geri donulebilmelidir.
Fallback Stratejisi
Oneri servisi basarisiz oldugunda veya gecikme esik degerini astiginda devreye girecek bir fallback mekanizmasi olmalidir. Populerlik bazli oneriler veya onceden hesaplanmis statik listeler bu amacla kullanilir.
Adalet ve Onyargi
Oneri sistemleri, veri setindeki onyargilari pekistirebilir. Popularite yanliligi (zengin daha zengin olur etkisi), pozisyon yanliligi (ust siralardaki ogelerin daha fazla tiklanmasi) ve demografik yanliliklarin farkindaligi ve duzeltme mekanizmalari sistemin uzun vadeli saglikli calismasi icin onemlidir.
Aciklanabilirlik
Kullanicilara neden belirli bir onerinin gosterildigini aciklamak, guveni arttirir ve etkilesim oranlarini yukseltir. "Bu urunu begenmis olabileceginizi dusunuyoruz cunku X urununu satin aldiniz" gibi aciklamalar, kara kutu onerilerine gore daha yuksek tiklama orani saglar. SHAP degerleri veya attention agirliklaei gibi teknikler, model cikarimlarinin aciklanabilirligini saglamak icin kullanilabilir. Ayrica aciklanabilir oneriler, yasal uyumluluk acisindan da (GDPR'nin otomatik karar alma maddesi) onem tasir.
Sonuc
Oneri sistemi gelistirmek, veri bilimi, yazilim muhendisligi ve urun stratejisinin kesisim noktasinda yer alan disiplinler arasi bir calismadir. Basit bir collaborative filtering modeliyle baslayip, kullanici davranisi verisi toplndikca daha sofistike hybrid ve deep learning modellerine gecis yapmak saglikli bir evrim yoludur. Kritik olan, offline metriklerle yetinmeyip A/B testlerle gercek kullanici etkisini olcmek ve surekli iyilestirme dongusu kurmaktir. Dogru tasarlanmis bir oneri sistemi, kullanici memnuniyetini ve is metriklerini ayni anda iyilestiren ender yapilardan biridir. Ozellikle aggregator platformlar, e-ticaret siteleri ve icerik hizmetleri gibi seceneklerin bol oldugu platformlarda, kisisellestirilmis oneriler kullanici sadakatinin ve gelir artisinin en guclu kaldiracidir.
İlgili Makaleler
MLOps Rehberi: Makine Öğrenmesi Modellerini Production'a Taşıma
Giriş: MLOps Nedir ve Neden Önemlidir? Makine öğrenmesi modelleri geliştirmek günümüzde nispeten kolaydır. Açık kaynak kütüphaneleri kullanarak son derece başarılı modeller oluşturabiliriz. Ancak bu modelleri production ortamına taşıyarak, ölçeklendirebilir, güvenilir ve sürdürülebilir şekilde çalıştırmak tamamen farklı bir hikayedir. Araştırmalara göre, veri bilimcileri tarafından geliştirilen makine öğrenmesi modellerinin %87'si hiçbir zaman production ortamına ulaşmaz. Bu başarısızlı
Devamını Oku: MLOps Rehberi: Makine Öğrenmesi Modellerini Production'a TaşımaLLM Fine-Tuning ve Özel Model Eğitimi Rehberi [2026]
LLM Fine-Tuning: Kurumsal Yapay Zeka Stratejisinin Temel Taşı Büyük dil modelleri (LLM), genel amaçlı metin üretimi ve anlama konusunda etkileyici performans sergiliyor. Ancak kurumsal ortamlarda belirli bir alan, terminoloji veya iş sürecine uyum sağlamaları gerektiğinde, genel bilgileri çoğu zaman yetersiz kalıyor. Bu noktada fine-tuning, yani ince ayar süreci devreye giriyor. Fine-tuning sayesinde mevcut bir temel modeli, kendi verileriniz ve ihtiyaçlarınız doğrultusunda özelleştirmek
Devamını Oku: LLM Fine-Tuning ve Özel Model Eğitimi Rehberi [2026]Bilgisayarlı Görü Uygulamaları: Nesne Tespiti, OCR ve Endüstriyel AI
Bilgisayarlı Görü Uygulamaları: Endüstriyel ve Medikal AI'nin Temel Teknolojisi Bilgisayarlı görü, makine öğrenmesinin en etkili alanlarından biridir. Türkiye'de yaşanan dijital dönüşüm sürecinde, özellikle üretim, sağlık ve lojistik sektörlerinde görü tabanlı otomasyon kritik hale gelmiştir. Smart Maple olarak Ankara'da geliştirdiğimiz çözümler, son beş yılda 150+ kuruluşunun üretim verimliliğini ortalama %35 oranında artırmıştır. Bu rehberde, bilgisayarlı görü teknolojisinin iş değeri
Devamını Oku: Bilgisayarlı Görü Uygulamaları: Nesne Tespiti, OCR ve Endüstriyel AI
