İçeriğe atla
SinaptikLabAI KNOWLEDGE PLATFORM

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.

TEMSİLÎ SENARYO

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
01VAKA ANLATIMI

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.

KararSeçilen yolNeden
Geri getirmeSözcüksel ve yoğun indeks birlikteİki sorgu sınıfı tek yöntemle aynı anda iyi sonuçlanmıyor
BirleştirmeRank tabanlı füzyonSkor ö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 devreGö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 sinyallerAyrı ve kapatılabilir yeniden sıralamaAlaka 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 modeliKendi sorgu kümesiyle sınanarak seçildiGenel sıralamalarda öne çıkan model Türkçe katalog terimlerinde aynı davranışı vermiyor
Satırlar karar gerekçesi bildirir; hiçbiri başarım kıyaslaması değildir.

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#

  1. 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ı.

  2. 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.

  3. 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.

  4. 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ı.

02ÖĞRENİLEN DERSLER

Bir sonraki projede ne değişir?

Bir vakanın en değerli bölümü sonuç değil, tekrar edilebilir dersidir.

  1. 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.

  2. 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ü.

  3. 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.

  4. 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.

  5. 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.

03DİĞER VAKALAR

Vaka kütüphanesinden

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.