Problem → Çözüm
Problem
Klasik anahtar kelime araması Türkçenin ekleri (“yumurtalı”, “domatesler”), yazım hataları ve niyet bazlı sorgular (“hasta olan çocuk için”) karşısında zayıf kalıyor. Sıfır sonuç ya da alakasız sonuç dönen aramalar doğrudan kayıp sepet demek.
Çözüm
Anlamsal Arama; BM25, Türkçe morfolojik analiz ve dense embedding’leri birleştiren hibrit bir arama ve LLM tabanlı sorgu anlama katmanıdır. Niyet içeren sorguları filtre ve kategoriye çevirir, sonuçları kişisel geçmiş ve stok durumuna göre yeniden sıralar.
Temel özellikler
Yapay zeka nerede devreye giriyor?
Hibrit retrieval (BM25 + dense) ve cross-encoder reranker birlikte çalışır; karmaşık niyetli sorgularda küçük LLM sorguyu yapılandırılmış filtreye çevirir.
- OpenSearch hibrit: Zemberek tabanlı Türkçe analyzer + BM25 ile multilingual-e5 (fine-tune, 2M tıklama çifti) dense vektörler, RRF birleşim
- Sorgu anlama: niyetli sorgular için Claude Haiku → {kategori, filtreler, eş anlamlılar} JSON; Redis’te sorgu cache ile çağrıların %70’i LLM’siz, p95 180 ms
- Cross-encoder reranker (bge-reranker) + LightGBM LTR (kişisel geçmiş, stok, marj); offline NDCG@10 0,62 → 0,74
Nasıl çalışır?
Stack
Arayüz
Backend
AI / ML
Veri
Altyapı & DevOps
Pazarlama & lansman
Başarı metrikleri (hedef)
MVP yol haritası
Bir fikri production’a taşırken ilk sorum şu: ölçülebilir mi ve mevcut sistemi bozmadan nasıl açılır? Yaklaşık 4 yıl, ayda yüz milyonlarca CDN isteği alan bir embed script üzerinde çalıştım. Kademeli geçiş ve gerçek test kapsamı benim için vazgeçilmez. Remote çalışmaya hazırım.