TEMSİLÎ VAKA · PERAKENDE
Mağaza içi aramada anlamsal ve anahtar kelime dengesi
Site içi aramaya iki tür sorgu yan yana geliyordu: "kışlık mont" gibi keşif sorguları ve ürün model kodu, beden ya da hacim içeren tam isabet sorguları. Anlamsal aramaya geçildikten sonra keşif sorguları iyileşti, ama model kodu sorguları bozuldu; yazımı tek karakter farklı iki kod gömme uzayında neredeyse aynı yerde durduğu için aynı ürüne işaret ediyormuş gibi davranıyordu. Sonuç boş dönen sorgular hiç ölçülmüyor, "aradığınız ürün bulunamadı" sayfası sessizce servis ediliyordu. Hangi sorgunun neden başarısız olduğu ancak müşteri hizmetlerine düşen bir şikâyetle anlaşılıyordu.
Beklenen etki
- Kapsam
- Model kodu, ölçü ve keşif sorguları tek hat içinde farklı yol izliyor; kısa devre kararı sorgu kaydına yazılıyor
- Ölçüm
- Sonuç boş dönen ve ilk sayfada hiç tıklanmayan sorgular ayrı kuyruklarda izleniyor
- Ödünleşim
- Ticari sıralama sinyalleri alaka skorundan ayrı katmanda; etkisi açılıp kapatılarak sınanabiliyor
- Bakım
- Eş anlamlı ve yazım düzeltme sözlüğü tahminle değil, başarısız sorgu kuyruğundan besleniyor
Temsilî senaryo: buradaki satırlar ölçüm sonucu değil, bu kurulumda hangi büyüklüğün izlenmesi gerektiğini gösterir.
Bu kayıt gerçek bir müşteri işi değildir. Sinaptik Lab'in bu problemde izlediği yaklaşımı, mimari kararları ve ölçüm düzenini göstermek için yazılmış temsilî bir senaryodur: kurum adı taşımaz, içindeki hiçbir değer gerçek ölçüm değildir ve referans olarak gösterilemez. Gerçek projelerden vakalar müşteri onayı alındıkça bu kütüphaneye eklenir.
Problem
Site içi aramaya iki tür sorgu yan yana geliyordu: "kışlık mont" gibi keşif sorguları ve ürün model kodu, beden ya da hacim içeren tam isabet sorguları. Anlamsal aramaya geçildikten sonra keşif sorguları iyileşti, ama model kodu sorguları bozuldu; yazımı tek karakter farklı iki kod gömme uzayında neredeyse aynı yerde durduğu için aynı ürüne işaret ediyormuş gibi davranıyordu. Sonuç boş dönen sorgular hiç ölçülmüyor, "aradığınız ürün bulunamadı" sayfası sessizce servis ediliyordu. Hangi sorgunun neden başarısız olduğu ancak müşteri hizmetlerine düşen bir şikâyetle anlaşılıyordu.
Yaklaşım
Tek bir geri getirme yöntemi seçmek yerine sorgu sınıfına göre farklı yol izleyen bir hat kuruldu: sözcüksel indeks ile yoğun vektör indeksi birlikte sorgulandı. Birleştirme skor toplamıyla değil rank tabanlı füzyonla yapıldı, çünkü iki yöntemin skor dağılımları sorgudan sorguya kaydığı için ağırlıklı toplam kararsız sıralama üretiyordu. Model kodu, barkod ve ölçü kalıbı yakalandığında sorgu sözcüksel tam eşleşmeye kısa devre yapıyor; kod sorgularındaki bozulmayı kapatan şey gömme modelinin değişmesi değil bu kural oldu. Türkçe analiz zinciri alan bazında yapılandırıldı, topluca açılan harf katlaması geri alındı. Stok ve iade oranı gibi ticari sinyaller alaka skorunun içine gömülmedi, ayrı ve kapatılabilir bir yeniden sıralama katmanında tutuldu.
Kullanılan teknolojiler
- Hibrit geri getirme
- Rank tabanlı füzyon
- Sorgu niyeti sınıflama
- Alan bazlı Türkçe analiz zinciri
- Kapatılabilir yeniden sıralama katmanı
- Boş sonuç izleme
Bağlam, kurulum ve ölçüm
Problem ve yaklaşım özetin üstünde; burada kararların gerekçesi ve mimarinin ayrıntısı var.
Arama neden bozuldu#
Arama kutusu perakendede tek bir iş yapmaz. Aynı kutuya hem "kışlık mont" gibi kategoriye yönelen keşif sorgusu hem de elinde kutusu olan müşterinin yazdığı model kodu geliyor. Anlamsal geri getirme birinciyi iyileştirirken ikincisini bozdu ve ekip "arama iyileşti mi kötüleşti mi" sorusuna tek bir cevap üretemedi, çünkü iki sorgu sınıfı tek ortalamada birbirini götürüyordu.
İkinci kısıt, aramanın vitrin değil satış kanalı olmasıydı. Sıralamaya stok, teslim süresi ve marj gibi ticari sinyallerin girmesi bir istek değil zorunluluktu; stoku tükenen ürünü ilk sırada göstermek alakalı ama işe yaramaz bir sonuçtur. Bu sinyaller alaka skorunun içine karıştığında ise arama kalitesindeki bir bozulmanın kaynağını ayırmak imkânsız hâle geliyordu.
Katalog verisi ve sorgu kayıtları#
İndeks iki ayrı kaynaktan besleniyordu: ürün bilgi yönetimi sistemindeki künye ve öznitelikler ile stok sisteminden gelen bulunurluk. Bu ikisinin tazelik ritmi farklı olduğu için indeks tek bir gece işiyle değil, öznitelik değişikliğinde tam, stok değişikliğinde yalnızca ilgili alanı güncelleyen kısmi yazma ile tutuldu. Sorgu kayıtları ise ayrı bir mesele: arama kutusuna yazılan metin serbest metindir ve içinde kişisel veri bulunabilir.
- İndekse giren alanlar: ürün adı, marka, model kodu ve alternatif kodlar, kategori yolu, ölçü ve beden, malzeme, uyumluluk alanları
- Ayrı analiz zinciri verilen alanlar: kod alanları katlamasız ve ayırıcıya duyarlı, serbest metin alanları ek ayıklamalı
- Sıralama sinyalleri: bulunurluk, iade oranı, kategori içi satış yoğunluğu, kartın içerik bütünlüğü
- Sorgu kayıtlarında tutulan: sorgu metni, sorgu sınıfı, kısa devre kararı, sonuç sayısı durumu, gösterim konumu
- Sorgu kayıtlarında tutulmayan: serbest metin içinde yakalanan telefon, e-posta ve sipariş numarası kalıpları yazılmadan önce maskeleniyor
Mimari kararlar#
Kararların çoğu "hangi model" sorusuyla değil, hattın neresinde hata ayıklanabileceği sorusuyla verildi. Tek skorlu bir sistem daha zarif görünüyordu ama bir sorgu bozulduğunda sebebini gösteremiyordu. Katmanları ayrık ve tek tek kapatılabilir tutmak, ölçülebilirliği mimarinin içine yazmak anlamına geldi.
| Karar | Seçilen yol | Neden |
|---|---|---|
| Geri getirme | Sözcüksel ve yoğun indeks birlikte | İki sorgu sınıfı tek yöntemle aynı anda iyi sonuçlanmıyor |
| Birleştirme | Rank tabanlı füzyon | Skor ölçekleri sorgudan sorguya kaydığı için ağırlıklı toplam kararsız |
| Kod sorguları | Kalıp yakalanınca tam eşleşmeye kısa devre | Gömme uzayı yakın kodları ayırt edemiyor |
| Harf katlaması | Alan bazlı | Topluca açıldığında farklı anlamlı sözcükler aynı terime düşüyor |
| Ticari sinyaller | Ayrı ve kapatılabilir yeniden sıralama | Alaka skoruna karıştığında bozulmanın kaynağı ayrılamıyor |
| İndeks güncelleme | Öznitelikte tam, stokta kısmi yazma | İki kaynağın tazelik ritmi aynı değil |
| Gömme modeli | Kendi sorgu kümesiyle sınanarak seçildi | Genel sıralamalarda öne çıkan model Türkçe katalog terimlerinde aynı davranışı vermiyor |
Yetki, kişisel veri ve arama kayıtları#
İndekse yazma yetkisi yalnızca besleme işlerine verildi; arama servisinin kimliği salt okunur. Sorgu kayıtları üye kimliğiyle değil sözde adlandırılmış oturum anahtarıyla tutuldu ve kişiselleştirmeye giren geçmiş, kayıt saklama süresinden ayrı ve daha kısa bir pencerede ele alındı. Arama kayıtlarına doğrudan erişim analitik ekibine değil, maskelenmiş görünüm üzerinden verildi; ham kayıtlar sınırlı bir role bırakıldı.
Ölçüm düzeni#
- Kalıcı ve elle etiketli değerlendirme kümesi; sorgu sınıfına göre ayrı ayrı okunuyor, tek ortalamaya indirilmiyor
- Boş sonuç kuyruğu: hiç sonuç dönmeyen sorgular ve sebebi (yazım, katalog boşluğu, stok filtresi) ayrıştırılıyor
- Sessiz başarısızlık kuyruğu: sonuç dönen ama ilk sayfada hiç tıklanmayan sorgular
- Katman etkisi: yeniden sıralama kapalı ve açık durumda aynı değerlendirme kümesi ayrı ayrı koşuluyor
- Konum yanlılığı: gösterim kayıtlarına konum yazılıyor ki tıklamadan türetilen ölçümler düzeltilebilsin
Devreye alma#
- 1Gölge sorgulama
Yeni hat canlı trafiğin kopyasıyla çalıştırıldı, sonuçları kullanıcıya gösterilmedi; yalnızca eski hattın sonuçlarıyla farkları toplandı.
- 2Fark incelemesi
İki hattın ayrıştığı sorgular sorgu sınıfına göre gruplanıp elle okundu; kod sorgularındaki kısa devre kuralı bu okumadan doğdu.
- 3Sınıf bazlı açılış
Önce kod ve ölçü sorguları yeni hatta alındı; keşif sorguları eski hatta bırakıldı, böylece bir bozulmanın hangi sınıfta olduğu belliydi.
- 4Kuyrukların işletmeye devri
Boş sonuç ve sessiz başarısızlık kuyrukları kategori ekibinin haftalık ritmine bağlandı; eş anlamlı sözlüğü bu toplantıdan besleniyor.
Nerede yanıldık#
Başlangıçtaki asıl hata, arama kalitesini tek bir sayı olarak düşünmekti. Sorgu sınıfları tek ortalamada toplandığı için anlamsal geçişin kod sorgularında yarattığı bozulma haftalarca görünmedi; tersine ortalama iyileşmiş gibi okundu. İkinci hata, değerlendirme kümesini tıklama kayıtlarından türetmekti: yeni hat eski yerleşimi taklit etmediği için kendi ölçümünde cezalandırıldı. Elle etiketli ve sorgu sınıfına göre bölünmüş bir küme kurulana kadar hangi değişikliğin işe yaradığı tartışma konusu olarak kaldı.
Bir sonraki projede ne değişir?
Bir vakanın en değerli bölümü sonuç değil, tekrar edilebilir dersidir.
- 01
Yoğun ve sözcüksel skorları ağırlıklı toplamla birleştirmek, dağılımlar sorgu başına kaydığı için kararsız sıralama üretti. Rank tabanlı füzyon daha kaba görünür ama çok daha öngörülebilir davranıyor ve hata ayıklaması mümkün.
- 02
Ürün model kodu anlamsal aramanın en zayıf noktasıdır: iki kodu ayıran şey tek bir karakter ya da ayırıcıdır, gömme temsili ise bu farkı taşımaz. Daha büyük bir gömme modeline geçmek bu sorgu sınıfında davranışı değiştirmedi; kod kalıbını yakalayıp tam eşleşmeye kısa devre yapmak çözdü.
- 03
Türkçede harf katlamasını topluca açmak yeni hata sınıfı doğurdu: "açık" ile "acık" aynı terime düşünce renk sorgusu alakasız kategoriye bağlandı. Katlamayı alan bazında açmak gerekti.
- 04
Tıklama verisiyle eğitilen sıralayıcı konum yanlılığını da öğreniyor; zaten üstte duran ürünü daha çok seviyor. Değerlendirme kümesi de tıklamadan türetildiği sürece bu döngü ölçümün kendisine bulaşıyor.
- 05
"Sonuç yok" sayfası ölçülmediği sürece arama kalitesi olduğundan iyi görünüyor. Sahadaki en değerli iyileştirme listesi, yeni bir model değil bu sayfanın kayıtları oldu.
Vaka kütüphanesinden
- EğitimDers materyali üretiminde telif ve kaynak zinciriBir eğitim içeriği ekibinin slayt, çalışma kâğıdı ve ders notu arşivi yıllar içinde karışık kaynaklardan büyümüştü: internetten alınmış görseller, yabancı kitaplardan çevrilmiş paragraflar, farklı lisanslarla dolaşan açık ders materyalleri. Bir hak sahibi itiraz ettiğinde hangi paragrafın nereden geldiğini kimse söyleyemiyor; arama dosya adına ve ekip hafızasına kalıyordu. Model destekli üretim devreye girdikten sonra bu belirsizlik büyüdü, çünkü üretilen metnin dayandığı kaynak hiçbir yerde yazılı olmuyordu. Ekipte yaygın olan eğitim amaçlı kullanım serbesttir varsayımı da hiç denetlenmemiş bir varsayımdı.
- EğitimÖdeve biçimlendirici geri bildirim üretimiBir özel okul grubunda dil ve sosyal bilimler öğretmenleri her hafta çok sayıda yazılı ödev okuyordu; not zamanında giriliyordu ama öğrenciye dönen şey bir puan ile kısa bir genel yorumdu. Hangi öğrencinin hangi rubrik ölçütünde tekrar tekrar zorlandığı hiçbir yerde toplu olarak durmuyordu; öğretmen bunu kendi defterindeki izlenimden hatırlıyordu. Geri bildirim yazma işi mesai dışına taştığı için dönem başındaki ödevlerde ayrıntılı, dönem sonuna doğru tek cümleye inen bir kalite farkı oluşuyordu. Velinin gördüğü tabloda puan vardı, gerekçe yoktu.
- EğitimÖğrenci risk modelinde etik sınırlarBir yükseköğretim kurumunda akademik danışmanlar, dersi bırakma ya da kayıt yenilememe riski taşıyan öğrencilere ulaşmayı sezgiyle yapıyordu: yokluğu fark edilen öğrenciye yazılıyor, fark edilmeyen kimseye görünmüyordu. Devam bilgisi, ödev teslimleri ve öğrenme yönetim sistemi hareketleri ayrı sistemlerde durduğu için kimse bunları tek bir öğrenci için yan yana koymuyordu. Danışmanın haftada yapabileceği görüşme sayısı sınırlıydı ama bu sınırın kime harcandığı hiçbir kayıtta yoktu. Risk modeli gündeme geldiğinde ilk itiraz teknik değildi: skor öğrenciye yapışan bir etikete dönerse ne olacağı soruldu.
BUILD
Aynı yaklaşımı kurumunuzda kurmak ister misiniz?
Discovery oturumunda mevcut durumunuzu, veri erişiminizi ve başarı tanımınızı birlikte yazıyoruz.
