Kućne ugradnje za slične kućne preporuke

autor Sangdi Lin

Slika 1: Slične kućne preporuke za Zillow

Sustavi preporuka često se oslanjaju na angažman od strane korisnika kao izvora podataka za učenje visokokvalitetnih preporuka. No, za razliku od web stranica poput Amazon, Netflix i Airbnb, veliki broj korisnika koji posjećuju Zillow novi su korisnici ili korisnici koji nemaju registrirani račun. Ti novi korisnici mogli bi biti kupci kuća koji prvi put dolaze, novi iznajmljivači, kupci kuća koji su novi na mrežnim tržnicama, putnici znatiželjni o lokalnom tržištu stanova ili ljudi koji koriste Zillow za dobivanje informacija o nekretninama. Za ove korisnike slična kućna vrtilja na svakoj stranici s detaljima kuće (poput one prikazane na desnoj strani slike 1) igra važnu ulogu u otkrivanju zanimljivih sadržaja i poboljšanju njihovog iskustva. Kako korisnici iskazuju interes klikom na jedan dom, slična kućna vrtilja omogućuje korisnicima izravno istraživanje povezanih unosa na Zillow, bez potrebe da se vraćaju na stranicu za pretraživanje ili odabiru filtre.

Odlučiti da li su dva doma slična nije tako jednostavno kao što se može činiti. Iz sadržajne perspektive dom se može opisati različitim strukturiranim atributima i nestrukturiranim atributima, poput popisa slika i opisa. Strukturirani atributi uključuju značajke kuće kao što su lokacija, cijena, veličina, tip kuće, računanje spavaće sobe i kupaonice te značajke susjedstva. Kako izračunati sličnost sa značajkama različitih vrsta i ljestvica može biti i sam izazovan problem. Kad korisnik uspoređuje dva doma, različiti strukturirani i nestrukturirani atributi mogu imati različitu važnost i međusobno djelovati. Na primjer, 200 dodatnih četvornih metara životnog prostora može biti velika razlika za stan u San Franciscu, ali nije toliko važno za kuću u Phoenixu. Željeli bismo da naš sličan model preporuka za dom "razmisli" i usporedi domove sa stanovišta korisnika.

Drugi način modeliranja sličnih domova je upotreba podataka o angažmanu korisničkih stavki („kolaborativni“), poput implicitnih povratnih informacija korisnika (npr. Klikova i spremanja) kao u slučaju kolaborativnog filtriranja, metoda ugrađivanja u listu koju koristi Airbnb [ 1], te način ugradnje proizvoda koji je razvio Yahoo [2]. Intuicija je iza kuće koja su kliknuli slični korisnici slična. Međutim, nije lako da ovi modeli upravljaju novim popisima koji predstavljaju značajan dio aktivnih unosa na Zillow. Od sredine 2012. do početka 2018. godine, deseasonalizirano, izglađeno mjesečno bilježenje novih unosa je blizu 500K [3, 4]. Na popularnom tržištu poput Seattlea, vrući dom može se ugasiti za nekoliko dana. Stoga je rješavanje problema s hladnim startanjem na sličnim kućnim preporukama vrlo važno za tako živo tržište povezano sa kućama kao što je Zillow.

U ovom postu na blogu predstavljamo model ugradnje kuće pomoću duboke neuronske mreže za slične preporuke kod kuće. Naš model koristi podatke o suradnji i sadržaju. Konkretnije, funkcija mapiranja koja se temelji na neuronskoj mreži iz sadržaja u prostor za ugradnju uči se, a učenje nadgledaju podaci o angažmanu od strane korisnika. Što je još važnije, naš model uspijeva učinkovito riješiti stavku problema s hladnim startanjem.

Naša metoda

Predstavništvo doma s ugrađenim Skip-Gram

Modeli neuronske mreže zahtijevaju numeričke reprezentacije kao njihove ulaze. Stoga moramo pronaći numeričke reprezentacije za sve kategoričke atribute kuće. Kategorijske značajke kao što su poštanski broj imaju visoku kardinalnost, tako da jednokratno kodiranje može rezultirati visokom dimenzijom i suvišnom predstavom u kući te uzrokovati dodatne računske troškove tijekom treninga. Da bismo riješili ove probleme, primijenili smo model preskočenog grama [5] kako bismo naučili učinkovito predstavljanje (ugrađivanje) za ove kategoričke značajke.

Preskočni gram-model uspješno se primjenjuje na prirodni jezik za učenje zastupanja riječi. Njegova je generalizacija bilo kojih sekvencijalnih podataka intuitivna. Uzmimo značajku poštanskog broja kao primjer kao što je prikazano na slici 2. Analogno prirodnoj jezičnoj domeni, jedinstven poštanski poštanski broj smatramo „riječju“ u “rječniku”, a korisnik naredio da klikne preko različitih poštanski brojeva kao “ rečenica ", i zbirku nizova poštanski brojeva različitih korisnika kao" korpus ". Model preskočenog grama osposobljen je tako da reprezentacija trenutnog poštanskog broja prediktivno prikazuje poštanski brojeve koje je isti korisnik kliknuo u blizini sesije, tj. Unutar „kontekstnog prozora“ prikazanog na slici 2.

Slika 2: Ilustracija primjene preskočnog gramskog modela na nizove kodova

Preskok-gramski prikaz je razumljiv, jer mjera udaljenosti na ovom prikazu nižih dimenzija odražava blizinu različitih kategorijskih vrijednosti. Ovu činjenicu ilustriraju toplotne karte na slici 3, koje prikazuju kosinusu sličnost između vektora ugradnje nekoliko regija poštanski broj u Seattlu na poštanski brojeve 98101 (slijeva) i 98116 (s desne strane).

Slika 3: Sličnost između poštanski brojevi u Seattlu i 98101 (područje grada, označeno zvjezdicom s lijeve strane) i između poštanski brojevi Seattlea i 98116 (zapadno područje Seattlea, označeno zvjezdicom s desne strane) na temelju ugrađenih preskočenih grama.

Na sličan način učimo vektorske prikaze za ostale kategorijske značajke, uključujući vrstu zona, školsku četvrt, gradsku regiju, vrstu kuće i druge. Na slici 4 prikazane su t-SNE 2-D vizualizacije za naučene prikaze poštanski brojeva i vrste zona. t-SNE [6] je tehnika vizualizacije za velike dimenzionalne podatke koji preslikavaju slične podatkovne točke u lokacije bliske zajedno u 2D ili 3D prostoru. Na primjer, poštanski brojevi 988 ** i 989 ** svi su preslikani u gornji lijevi kut lijeve plohe na slici 4 zbog velike sličnosti kosinusa. Jednom osposobljeni, ovi se prikazi mogu pohraniti u pregledničku tablicu radi bržeg pregleda u budućnosti.

Slika 4: t-SNE vizualizacije u 2D prostoru za poštanski brojevi (lijevo) i vrste zoniranja (desno) u državi Washington.

Slika 5: Početna prezentacija u prostoru sadržaja vektora

Naučeni prikazi kategorijskih obilježja kombiniraju se s numeričkim obilježjima kako bi se oblikovao konačni vektorski sadržaj sadržaja za svaki dom kao što je prikazano na slici 5. Taj se prikaz koristi kao ulaz modela duboke neuronske mreže. Za numeričke atribute poput cijene i veličine koji imaju nakrivljenu raspodjelu, neki koraci prethodne obrade, uključujući transformaciju dnevnika i min-max skaliranje (Slika 6), mogu poboljšati performanse modela neuronske mreže. Nadalje, u budućnost možemo uključiti značajke izvađene iz nestrukturiranog sadržaja, kao što su navođenje slika i opis unosa, kako je prikazano na slici 5.

Slika 6: Primjer prethodne obrade numeričkih značajki. S lijeve strane: cijenite histogram prije prethodne obrade. S desne strane: cijenite histogram nakon kvantilnog rezanja, transformacije trupaca i min-max skaliranja

Siamska mreža

Koristimo siamsku mrežnu arhitekturu da naučimo funkciju mapiranja od prostora vektora sadržaja (slika 5) do prostora vektorskog ugrađenja u kojem se sličnost kosinusa može izravno izračunati.

Slika 7: Arhitektura siamske mreže

Za konstrukciju sijamske mreže, karakteristični prikazi parova kuća, naznačeni ui i uj, prolaze se kroz identične podmreže koje se sastoje od nekoliko potpuno povezanih slojeva. Svaka podmreža preslikava svoj dom u prostor za ugrađivanje s malim dimenzijama (npr. N = 25), kao što je opisano na slici 7.

U novom izlaznom prostoru za uklapanje želimo da se razlike između dvaju doma mjere mjerenjem njihove kosinusne udaljenosti:

Parametri neuronske mreže optimizirani su tako da u ovom novom prostoru za ugradnju slične kuće imaju manje kosinusne udaljenosti, a različite kuće imaju veće udaljenosti. Nadzor nad osposobljavanjem takvih mreža dolazi iz podataka o zajedničkom kliku ili „kolaborativne“ sadržane u podacima o klikovima korisnika. Za konstrukciju podataka o obuci pretpostavljamo da su parovi domova koje je isti korisnik kliknuo u istom sesiji u blizini (<= 10 minuta) unutar određenog kontekstnog prozora (npr. Veličina prozora = 3) relativno slični i označeni kao pozitivni, dok domovi koje nikad nije korisnik tako kliknuo na njih manje su slični i označeni kao negativni (kao što je prikazano na slici 8).

Slika 8: Ilustracija ekstrakcije pozitivnih i negativnih domova u sidrište iz korisničkih klikovnih podataka (veličina kontekstnog prozora = 3, ograničenje sesije u blizini: <= 10 minuta)

Funkcije gubitka

Sljedeće dvije funkcije gubitka često se uzimaju u obzir pri treniranju sijamske mreže.

Kontrastni gubitak izravno optimizira apsolutnu vrijednost kosinusne udaljenosti između para kuća, tako da je udaljenost kosinusa minimizirana za pozitivne parove, ali maksimalna za negativne parove.

gdje

Neka C predstavlja ukupan skup domova. Slijedeći gornju definiciju pozitivnih i negativnih, za svaki dom i, Ci označava skup pozitivnih domova združenih iz klikova svih korisnika. Yij je oznaka dodijeljena kućnom paru (i, j), pozitivna ako je j ∈ Ci, a negativna u suprotnom. Dij je kosinus sličnost između kuće i i kuće j u novom prostoru za ugradnju. Pozitivna marža m (između 0 i 2) omogućava obuci da se usredotoči na zahtjevne slučajeve (teške negativnosti).

Trostruki gubitak smatra trostruku kućicu (i, jp, jn) gdje su jp ∈ Ci, jn ∉ Ci. Umjesto optimizacije za apsolutnu udaljenost, trostruki gubitak maksimizira razliku udaljenosti između negativnog para (i, jn) i pozitivnog para (i, jp). Ideja optimiziranja relativne važnosti slična je Bayesovoj ciljnoj funkciji personaliziranog rangiranja [7] koja se pokazala učinkovitom u modeliranju implicitnih povratnih informacija. Marža m ovdje ima sličan učinak kao u kontrastivnom gubitku.

Kada smo trenirali s obje funkcije gubitka, za svaki pozitivni par koji smo opazili, uzorkovano je 5 negativnih parova.

Slične kućne preporuke sa stavkama Hladnog starta

Nakon mapiranja svih domova u prostor za ugradnju, slična preporuka kuće svodi se na jednostavno najbliže pretraživanje susjeda na temelju kosinusne udaljenosti u prostoru za ugradnju. Naš model može lako uključiti sve nove unose u preporuke. Kad god je naveden novi dom, možemo potražiti unaprijed izračunate reprezentacije za sve kategoričke atribute da bismo stvorili numerički prikaz za novi unos. Dalje, unaprijed trenirana neuronska mreža preslikava brojčani prikaz u sadržajnom prostoru u prostor za ugradnju u dom gdje se može izračunati sličnost kosinusa. Dijagram na slici 9 sažima korake za obradu novih popisa.

Slika 9: Tijek rada za slične preporuke kod kuće s novim popisima

procjena

Slični kućni algoritmi za preporuku pokreću slične kućne vrtiće na svakoj pojedinoj stranici Zillow. Učinkovit sličan preporuka za dom trebao bi potaknuti angažman korisnika pružanjem korisnih smjernica za istraživanje stambenog tržišta. S obzirom na dom koji je korisnik pregledao u ranoj sesiji, željeli bismo da preporučitelj ocijeni one domove koje korisnik voli istražiti u kasnijim sesijama istaknutije u skupu preporučenih sličnih domova. Stoga smo osmislili mjernu vrijednost relevantnosti na temelju klika za izvanmrežnu procjenu. Na datum testiranja fokusirajući se na njihov prvi pregledani dom ispitujemo kako se budući klikovi svakog korisnika rangiraju na popis preporučenih sličnih domova. Prosječni NDCG na različitim pozicijama pruža izvanmjernu mjernu vrijednost za usporedbu različitih metoda.

Usporedili smo predloženu metodu ugradnje s 3 druge metode koje smo razvili u tvrtki Zillow:

  1. Osnovni model: jednostavna kosinasta sličnost izračunata izravno iz kućnih prikaza u sadržaju vektorskog prostora prikazanog na slici 5 (bez nadzora).
  2. Linearni model: mjerenje udaljenosti između dvaju domova kao ponderirane kombinacije razlika u atributima. Težine se uče iz podataka ko-klika (pod nadzorom).
  3. Slučajna šuma: nelinearna inačica metode 2 obučena na istom skupu značajki razlike svojstava (nadziran).

Procijenili smo različite modele na temelju podataka o događajima korisnika u WA stanju. Svi nadgledani modeli obučeni su na korisničkim događajima tjedan dana prije datuma testiranja. Na lijevoj su slici na slici 9 metričke vrijednosti NDCG prikazane kao omjer NDCG1 osnovne metode. Prava grafika uspoređuje dizala NDCG različitih nadziranih metoda u odnosu na osnovnu metodu (jednostavna sličnost kosinusa).

Naši rezultati pokazuju da je nadzor nad podacima korisnika koji zajedno kliknu rezultirao značajnim povećanjem NDCG metrike u odnosu na osnovnu metodu. Primarni je razlog što obrasci klikova korisnika pružaju važne signale, poput koji su atributi važni i kako međusobno djeluju. Među svim nadziranim metodama, predložena metoda sijamskih ugrađivanja nadmašuje linearni i RF model. Uz to, trostruki gubitak pokazuje blagu prednost u odnosu na kontrastni gubitak u obuci sijamske mreže za našu primjenu. Najbolji model, sijamski model ugradnje obučen trostrukim gubitkom, postigao je značajan porast od 21% na NDCG @ 10 preko osnovne metode.

Slika 9: Usporedba različitih sličnih metoda preporuke kod kuće za metrike NDCG (lijevo) i porast NDCG iznad osnovne metode (desno).

Jesu li ugradnje smislene?

Da bismo odgovorili na ovo pitanje, vizualiziramo 25-dimenzionalne ugrade za domove u državi Washington u dvodimenzionalnom prostoru s t-SNE. Na svakoj od t-SNE plohova na slici 10, svaka točka predstavlja dom, a blizina svakog para točaka odražava kosinusu sličnost dvaju domova u prostoru ugradnje u dom. Točke smo obojili ljestvicom (log) jedne od ključnih karakteristika kuće na svakoj parceli. Što je veća struktura u obojenim grozdovima, veća je važnost specifičnosti u prostoru ugradnje. Ideja ovdje prilično je slična našem prethodnom postu na blogu gdje su Karte za samoorganiziranje korištene za vizualizaciju faktora kolaborativnog filtriranja. Na slici 10 atributi su prikazani redoslijedom važnosti na temelju signala u strukturi. Iz vizualizacija ugradnje opažamo da se čini da je lokacija (zemljopisna širina i širina) najvažniji faktor ugrađenja, a slijede cijena kuće i veličina kuće. Međutim, treba napomenuti da neke značajke mogu biti važne i zbog složenih interakcija s drugima, koje se ne mogu izravno promatrati pomoću donjih vizualizacija.

Slika 10: t-SNE 2D vizualizacije za ugrađivanje popisa u državi Washington, obojene ljestvicama nekih odabranih atributa kuće. Imajte na umu da su cijena, veličina (sqft) i dani na Zillowu prirodni.

Zaključak

U ovom postu na blogu predstavljamo metodu ugrađivanja liste dubokog učenja temeljenu na učenju koristeći sijamsku mrežu za slične kućne preporuke na Zillow. Naš model ugrađivanja koristi podatke o suradnji i sadržaju, modelira složene interakcije između atributa i učinkovito rukuje stavkama hladnog starta. Izvanmrežna evaluacija pokazala je snažne performanse naše metode ugrađivanja u otkrivanju korisnih domova relevantnim kućama putem sličnih kućnih preporuka. Na temelju izvanmrežnih rezultata, trenutno radimo na korištenju mrežnog modela Sijame kako bi napajali novu generaciju sličnih mehanizama za preporuku kod kuće Zillow.

Veliko hvala cijelom timu za personalizaciju u Zillowu na podršci ovom projektu. Posebna zahvala Ericu Ringgeru, Ondrej Lindi i Egoru Klevaku na prijedlozima i povratnim informacijama o ovom postu na blogu.

Ako smatrate da je ovaj posao zanimljiv i ako želite primijeniti svoje nauke o podacima i vještinama strojnog učenja na naš veliki skup podataka o nekretninama velikih razmjera, koji se neprekidno razvija, molimo vas da to učinite. Mi se zapošljavamo!

upućivanje

[1] Grbović, Mihajlo i dr. "Umetanje umetanja u rangiranje pretraživanja". 13. ožujka 2018., Airbnb Engineering & Data Science @Medium.

[2] Grbović, Mihajlo i dr. „E-trgovina u vašoj pristigloj pošti: preporuke za proizvod u mjerilu“. ACM, 2015.

[3] Gudell, Gudell. „Inventar se smanjuje, ali oglasi se ne nalaze“, lipanj 2017. tržišno izvješće, Zillow Group, datum objave: 20. srpnja 2017., https://www.zillow.com/research/june-2017-market-report-15956 /

[4] Ringger, Eric i sur. „Pronalaženje svog doma: preporuka velikih razmjera na živopisnom tržištu.“ ComplexRec 2018

[5] Mikolov, Tomas i sur. „Distribuirani prikazi riječi i izraza i njihova sastavljivost.“ Napredak u neuronskim sustavima za obradu informacija. 2013.

[6] Maaten, Laurens van der i Geoffrey Hinton. “Vizualiziranje podataka pomoću t-SNE.” Journal of Machine Learning Research 9.Nov (2008): 2579–2605.

[7] Rendle, Steffen i sur. "BPR: Bayesovo personalizirano rangiranje iz implicitnih povratnih informacija." Zbornik radova 25. konferencije o nesigurnosti u umjetnoj inteligenciji. AUAI Press, 2009.

Izvorno objavljeno na www.zillow.com 17. listopada 2018. godine.