Çeşitli Sıralamayı Öğrenmek

Feb 01 2023
Malay Haldar, Liwei He & Moose Abdool Airbnb tarafından her gün milyonlarca misafir ve Ev Sahibi arasında bağlantı kuruluyor. Bu bağlantıların çoğu, sonuçları bir sinir ağı tabanlı sıralama algoritması tarafından belirlenen arama yoluyla oluşturulur.

Malay Haldar , Liwei He ve Moose Abdool tarafından

Airbnb her gün milyonlarca misafiri ve Ev Sahibini birbirine bağlıyor. Bu bağlantıların çoğu, sonuçları bir sinir ağı tabanlı sıralama algoritması tarafından belirlenen arama yoluyla oluşturulur. Bu nöral ağ misafirler için ayrı kayıtlar seçme konusunda usta olsa da , bir arama sonucunu oluşturan kayıtların genel koleksiyonunu daha iyi seçmek için nöral ağı yakın zamanda geliştirdik . Bu gönderide, arama sonuçlarındaki listeleme çeşitliliğini artıran bu son buluşu daha derinlemesine inceleyeceğiz.

Sıralama Nasıl Çalışır?

Derecelendirme sinir ağı, aynı anda iki girişi karşılaştırarak ve hangisinin rezerve edilme olasılığının daha yüksek olduğunu tahmin ederek belirli bir sorgu için yüzeye çıkacak en iyi liste kayıtlarını bulur. Bu olasılık tahminini oluşturmak için sinir ağı, fiyat, konum ve incelemeler gibi çeşitli listeleme özelliklerine farklı ağırlıklar verir. Bu ağırlıklar daha sonra rezerve edilmiş listeleri, rezerve edilmemiş listelere göre daha yüksek olasılıklar atamak amacıyla arama günlüklerindeki rezerve edilmemiş listelerle karşılaştırarak rafine edilir.

Sıralama sinir ağı bu süreçte ne öğreniyor? Örnek olarak, sinir ağının aldığı bir kavram, daha düşük fiyatların tercih edilmesidir. Bu, x ekseninde artan fiyatı ve bunun y ekseninde normalleştirilmiş model puanları üzerindeki karşılık gelen etkisini gösteren aşağıdaki şekilde gösterilmektedir. Artan fiyat, model puanlarının düşmesine neden olur; bu, Airbnb'deki rezervasyonların çoğu ekonomik aralığa doğru eğildiği için sezgisel olarak mantıklıdır.

Model puanları ile yüzde fiyat artışı arasındaki ilişki

Ancak modelin bu tür kavramları öğrendiği tek özellik fiyat değildir. İlanın sorgu yerine uzaklığı, inceleme sayısı, yatak odası sayısı ve fotoğraf kalitesi gibi diğer özelliklerin tümü bu tür eğilimleri sergileyebilir. Sinir ağının karmaşıklığının çoğu, tüm bu çeşitli faktörleri dengelemek ve onları tüm şehirlere ve tüm mevsimlere uyan mümkün olan en iyi takaslara ayarlamaktır.

Tek Beden Herkese Sığabilir mi?

Sıralama sinir ağının oluşturulma şekli, bir kayıt için rezervasyon olasılığı tahmini, geçmişte kaç konuğun benzer fiyat, konum, değerlendirme vb. kombinasyonları ile kayıt rezervasyonu yaptığına göre belirlenir. misafirlerin çoğunluğu geçmişte tercih etmiştir. Örneğin, yüksek rezervasyon olasılıkları ile düşük listeleme fiyatları arasında güçlü bir ilişki vardır. Rezervasyon olasılıkları, diğer faktörlerin yanı sıra konum, konuk sayısı ve yolculuk uzunluğuna göre uyarlanır. Ancak, bu bağlamda, sıralama algoritması, konuk popülasyonunun en büyük bölümünün tercih edeceği listeleri yukarı sıralar. Bu mantık, arama sonucundaki her konum için tekrarlanır, böylece arama sonucunun tamamı konukların çoğunluk tercihini destekleyecek şekilde oluşturulur.Sıralamada çoğunluk ilkesi — sıralama algoritmasının her pozisyonda çoğunluğu takip etme yönündeki ezici eğilimi.

Ancak çoğunluk tercihi, tüm konuk popülasyonunun tercihlerini temsil etmenin en iyi yolu değildir. Kayıt fiyatları tartışmamıza devam ederek, popüler bir destinasyon olan Roma için rezerve edilen fiyatların dağılımına bakıyoruz ve özellikle iki konuk için iki gecelik gezilere odaklanıyoruz. Bu, yalnızca listeleme kalitesinden kaynaklanan fiyat değişikliklerine odaklanmamıza ve diğer değişkenlerin çoğunu ortadan kaldırmamıza olanak tanır. Aşağıdaki şekil dağılımı çizer.

Pareto ilkesi: Ayırma değerinin 50/50'lik bölümü, ayırmaların kabaca 80/20'sine karşılık gelir

X ekseni, USD, log-scale cinsinden ayırma değerlerine karşılık gelir. Sol y ekseni, x eksenindeki her bir fiyat noktasına karşılık gelen ayırma sayısıdır. Turuncu şekil ayırma değerinin log-normal dağılımını doğrular. Kırmızı çizgi, Roma'daki rezervasyon değeri x eksenindeki karşılık gelen noktadan küçük veya ona eşit olan toplam rezervasyonların yüzdesini gösterir ve yeşil çizgi, Roma için bu rezervasyonların kapsadığı toplam rezervasyon değerinin yüzdesini gösterir. Toplam ayırma değerini 50/50'ye bölmek, ayırmaları ~80/20'lik iki eşit olmayan gruba böler. Diğer bir deyişle, rezervasyonların %20'si, rezervasyon değerinin %50'sini oluşturmaktadır. Bu %20'lik azınlık için daha ucuz olması daha iyi demek değildir ve tercihleri ​​daha çok kaliteye yöneliktir. Bu , konuklar arasındaki tercih heterojenliğinin kaba bir görünümü olan Pareto ilkesini göstermektedir.

Pareto ilkesi daha geniş bir tercih yelpazesine uyum sağlama ihtiyacını öne sürerken, Çoğunluk ilkesi uygulamada olanları özetler. Arama sıralaması söz konusu olduğunda, Çoğunluk ilkesi Pareto ilkesiyle çelişir.

Benzerliği Azaltarak Çeşitlendirmek

Arama sonuçlarındaki listeleme çeşitliliğinin olmaması alternatif olarak listelemelerin birbirine çok benzemesi olarak da görülebilir. Bu nedenle, listelemeler arası benzerliği azaltmak, başlangıçta gereksiz seçenekler olan bazı listelemeleri arama sonuçlarından kaldırabilir. Örneğin, arama sonucundaki her pozisyonu ekonomik ilanlara ayırmak yerine, bazı pozisyonları kaliteli ilanlar için kullanabiliriz. Buradaki zorluk, bu listelemeler arası benzerliğin nasıl ölçüleceği ve sıralama sinir ağı tarafından tahmin edilen temel rezervasyon olasılıklarıyla nasıl dengeleneceğidir.

Bu sorunu çözmek için, sıralama sinir ağına eşlik eden başka bir sinir ağı oluşturuyoruz. Bu eşlik eden sinir ağının görevi, belirli bir listelemenin, bir arama sonucunda önceden yerleştirilmiş listelemelere benzerliğini tahmin etmektir.

Benzerlik sinir ağını eğitmek için, kayıtlı arama sonuçlarından eğitim verilerini oluşturuyoruz. Ayrılmış listelemenin en üstteki sonuç olarak göründüğü tüm arama sonuçları atılır. Kalan arama sonuçları için, önceki liste adı verilen özel bir liste olarak en üstteki sonucu bir kenara ayırdık. İkinci konumdan itibaren listeleri kullanarak, rezerve edilmiş ve rezerve edilmemiş liste çiftleri oluşturuyoruz. Bu, aşağıdaki şekilde özetlenmiştir.

Günlüğe kaydedilen arama sonuçlarından eğitim örneklerinin oluşturulması

Daha sonra, rezerve edilmemiş listeye kıyasla rezerve edilmiş listeye daha yüksek bir rezervasyon olasılığı atamak için bir sıralama sinir ağı eğitiyoruz, ancak bir değişiklikle - verilen liste ile liste arasında bir benzerlik tahmini sağlayan benzerlik sinir ağının çıktısını çıkarıyoruz. önceki listeleme. Buradaki mantık, önceki listeyi atlayan ve ardından aşağıdaki sonuçlardan bir kayıt rezervasyonu yapan konukların önceki listeden farklı bir şey seçmiş olmalarıdır. Aksi takdirde, önceki listenin kendisini rezerve edeceklerdi.

Eğitildikten sonra, çevrimiçi listeleri sıralamak için benzerlik ağını kullanmaya hazırız. Sıralama sırasında, en üstteki sonucu rezervasyon olasılığı en yüksek listeleme ile doldurarak başlıyoruz. Sonraki pozisyonlar için, yukarıda yer alan ilanlara olan benzerliğini indirdikten sonra kalan ilanlar arasından rezervasyon olasılığı en yüksek olan ilanı seçiyoruz. Arama sonucu, her bir konum, üzerindeki tüm konumlardan farklı olmaya çalışılarak yinelemeli olarak oluşturulur. Halihazırda yerleştirilmiş olanlara çok benzeyen listelemeler, aşağıda gösterildiği gibi etkili bir şekilde aşağı sıralanır.

Listelerin en iyi sonuçlara benzerliğine göre yeniden sıralanması

Bu stratejiyi takip etmek, son zamanlarda sıralamada en etkili değişikliklerden birine yol açtı. İptal edilmeyen rezervasyonlarda %0,29, rezervasyon değerinde ise %0,8 artış gözlemledik. Rezervasyon değerindeki artış, rezervasyonlardaki artıştan çok daha fazladır çünkü artışa, daha yüksek değerle ilişkilendirilen yüksek kaliteli kayıtlar hakimdir. Rezervasyon değerindeki artış, her ne kadar rezervasyon değerindeki artış hedef olmasa da, kalitedeki artışı ölçmek için bize güvenilir bir gösterge sağlıyor. Ayrıca, rezervasyonların kalitesinde artışa dair bazı doğrudan kanıtlar da gözlemledik - 5 yıldızlı derecelendirmelerde %0,4'lük bir artış, tüm seyahat boyunca daha yüksek misafir memnuniyetine işaret ediyor.

Daha fazla okuma

Arama sonuçlarının genel faydasını iyileştirmek ve farklı misafir tercihlerine hitap etmek için kayıtlar arasındaki benzerliği azaltmayı tartıştık. Sezgisel olmakla birlikte, fikri uygulamaya koymak için teknik makalemizde açıklanan makine öğreniminde sağlam bir temele ihtiyacımız var . Sırada, sonuçların konum çeşitliliğine daha derinlemesine bakıyoruz. Teknik makale ve blog gönderisi için tüm yorum ve önerileri memnuniyetle karşılıyoruz.

Airbnb'de çalışmak ister misiniz? Bu açık rollere göz atın .