Teknoloji

Prayk nasıl çalışır

Prayk, Azerbaycan’daki ilan sitelerinin ilanlarını tek yerde gösterir, kopyaları ayırır ve fiyatları karşılaştırır. Burada sistemin ana parçalarının nasıl kurulduğunu anlatıyoruz.

İlanlar nereden gelir

Sitedeki ilanların iki kaynağı vardır.

  • Kullanıcıların ve mağazaların Prayk’a kendilerinin eklediği ilanlar.
  • PraykBot’un Azerbaycan’ın açık ilan ve çevrim içi mağaza sitelerinden okuduğu ilanlar. Böyle bir ilan her zaman «İlanın kaynağı» bloğu ve özgün sayfaya bağlantıyla gösterilir.
  • Bot ilanları düzenli olarak yeniden denetler: kaynakta silinen ilan Prayk’ta da devre dışı bırakılır.
PraykBot hakkında →

Kopya ilanlar nasıl bulunur

Aynı ilan çoğu zaman birkaç sitede veya birkaç satıcı adına yayımlanır. Sistem her yeni ilanın görsel ve metin «izlerini» mevcut ilanlarla karşılaştırır — ucuz denetimden pahalıya doğru.

  • Aynı dosya: görselin baytları tamamen örtüşür.
  • Benzer görsel: boyutu değiştirilmiş veya yeniden sıkıştırılmış görsel (algısal özet).
  • Benzer metin: başlığı ve açıklaması az değiştirilmiş ilan (SimHash).
  • Görselin içeriği: kırpılmış veya üzerine yazı eklenmiş görsel — sinir ağının çıkardığı vektörlerin yakınlığıyla.
  • İlan yalnızca güçlü kanıt olduğunda otomatik olarak «kopya» sayılır; zayıf benzerlik tek başına yeterli değildir. İlk yayımlanan ilan özgün sayılır, kartlarda «Özgün» ve «Kopya» rozetleri görünür.
  • Kendi ilanını güncelleyen veya yeniden ekleyen satıcı kopyacı sayılmaz.

Arama

Arama, Azerbaycan Türkçesinin özelliklerine göre kurulmuştur.

  • «menzil» yazan «mənzil»i, «masin» yazan «maşın»ı bulur: ə, ı, ş, ç, ö, ü, ğ harfleri Latin karşılıklarıyla aynı sayılır.
  • Küçük yazım hataları hoş görülür; yazdıkça bölüm, mağaza ve ilan önerileri çıkar.
  • Görselle arama: yüklediğiniz görsele görsel olarak benzeyen ilanlar bulunur.
  • Otomobil ilanlarının fotoğraflarındaki plaka okunur — araç plakasına göre aranabilir.
Plakayla arama →

Piyasa fiyatı

Her gece son 90 günün ilanlarından her segment için medyan fiyat ve «olağan» fiyat aralığı hesaplanır. Aşırı ucuz ve aşırı pahalı ilanlar hesaptan çıkarılır, 8’den az ilanı olan segment gösterilmez. İlan sayfasındaki «piyasadan ucuz / pahalı» değerlendirmesi bu rakamlardan çıkar.

Tam metodoloji ve doğruluk tablosu →

Öneriler

Ana sayfadaki «Önerilenler» akışı baktığınız ilanlardan oluşturulur.

  • Hangi bölümlere, şehirlere ve fiyat aralığına baktığınız.
  • «Bu ilana bakanlar bunlara da baktı» bağlantıları.
  • Baktığınız ilanlara görsel olarak benzeyen ilanlar.
  • Profil ayarlarında ilgi alanlarınızı kendiniz seçebilir veya istemediğiniz bölümleri kapatabilirsiniz.

VIN sorgulama

VIN kodu birkaç açık kaynaktan paralel olarak çözülür ve sonuçlar birleştirilir: üretici kodları tablosu (marka ve ülke), ABD pazarı için NHTSA kaydı, Avrupa pazarı için İsviçre tip onayı kaydı. Ayrıca aynı VIN ile Prayk’ta görülen ilanlar, fiyat ve kilometre geçmişiyle gösterilir.

VIN ile sorgula →

Telefon numaralarının korunması

Satıcının numarası sayfada ve API yanıtında maskeli gelir. Tam numara yalnızca «Numarayı göster» düğmesine basıldığında, kısa ömürlü anahtarla verilir — bu, numaraların toplu olarak toplanmasını zorlaştırır.

Teknik temel

Sunucu
Go ile yazılmıştır; tüm API açık bir OpenAPI tanımıyla belgelenmiştir.
Veri
İlanlar MySQL kümesinde, arama dizini Elasticsearch’te, görsel vektörleri Qdrant’ta saklanır.
Görsel modeli
Görsel benzerliğini hesaplayan model (CLIP) kendi sunucularımızda çalışır.
Site ve uygulama
Site Next.js, mobil uygulama React Native üzerindedir; ikisi de aynı API’den okur.

Daha fazlası