Hjemindlejringer til lignende hjemmeanbefalinger

af Sangdi Lin

Figur 1: Lignende hjemmeanbefalinger om Zillow

Anbefalingssystemer er ofte afhængige af engagement fra brugere som en kilde til data til at lære anbefalinger af høj kvalitet. I modsætning til websteder som Amazon, Netflix og Airbnb er et stort antal brugere, der besøger Zillow, imidlertid nye brugere eller brugere, der ikke har en registreret konto. Disse nye brugere kan være første gang boligkøbere, nye lejere, boligkøbere, der er nye på online markedspladser, rejsende, der er nysgerrige efter det lokale boligmarked eller folk, der bruger Zillow til at få information om ejendomme. For disse brugere spiller den lignende hjemmekaruselle på hver hjemmeside for detaljer (som den der vises til højre på figur 1) en vigtig rolle i at overflade interessant indhold og forbedre deres oplevelse. Når brugerne udtrykker deres interesse ved at klikke på et hjem, giver den lignende hjemmekaruselle brugerne mulighed for direkte at udforske relaterede fortegnelser på Zillow uden at skulle vende tilbage til søgesiden eller vælge filtre.

Det er ikke så enkelt at beslutte, om to huse er ens. Fra et indholdsperspektiv kan et hjem beskrives ved forskellige strukturerede attributter og ustrukturerede attributter, såsom liste over billeder og beskrivelse. De strukturerede egenskaber inkluderer hjemmefunktioner som placering, pris, størrelse, hustype, soveværelse og badeværelsestællinger og kvartersfunktioner. Hvordan man beregner lighed ud fra funktioner i forskellige typer og skalaer kan være et udfordrende problem på egen hånd. Når en bruger sammenligner to hjem, kan forskellige strukturerede og ustrukturerede egenskaber have forskellig betydning og interagere med hinanden. For eksempel kan 200 ekstra kvadratmeter boligareal være en stor forskel for et condo i San Francisco, men ikke så vigtigt for et hus i Phoenix. Vi vil gerne have, at vores lignende hjemmeanbefalingsmodel "tænker" og sammenligner boliger fra en brugers perspektiv.

En anden måde at modellere lignende hjem på er at bruge dataene om brugerindholdsengagement (“samarbejdsmæssigt”), ​​såsom implicit brugerfeedback (f.eks. Klik og gemme) som i tilfældet med samarbejdsfiltrering, den listeindlejringsmetode, der bruges af Airbnb [ 1], og produktindlejringsmetoden udviklet af Yahoo [2]. Intuitionen bag er, at boliger, der er klikket af lignende brugere, er ens. Det er imidlertid ikke ligetil for disse modeller at håndtere nye lister, der tegner sig for en betydelig del af de aktive lister på Zillow. Fra midten af ​​2012 til begyndelsen af ​​2018 er det afgrænsede, udjævnet månedlige antal nye noteringer tæt på 500 K [3, 4]. I et populært marked som Seattle kan et varmt hjem ikke markedsføres om et par dage. Derfor er det meget vigtigt at tackle sådanne problemer med kaldstart i lignende boliganbefalinger for en så levende hjemmrelateret markedsplads som Zillow.

I dette blogindlæg introducerer vi en hjemmeindlejringsmodel ved hjælp af et dybt neuralt netværk til lignende hjemmeanbefalinger. Vores model udnytter både samarbejds- og indholdsinformation. Mere specifikt læres en neuralt netværksbaseret kortlægningsfunktion fra indholdsrummet til indlejringsområdet, og indlæringen overvåges af engagementsdata fra brugere. Vigtigere er det, at vores model er i stand til at håndtere emnet koldstart-problemet effektivt.

Vores metode

Hjemrepræsentation med Skip-Gram-indlejringer

Neurale netværksmodeller kræver numeriske repræsentationer som deres input. Derfor er vi nødt til at finde numeriske repræsentationer for alle de kategoriske hjemmeattributter. Kategoriske funktioner såsom postnummer har høj kardinalitet, så kodning med en hot-kodning kan resultere i høj dimensionalitet og redundans i hjemrepræsentationen og medføre ekstra beregningsomkostninger under træning. For at løse disse problemer anvendte vi Skip-gram-modellen [5] for at lære en effektiv repræsentation (indlejring) for disse kategoriske funktioner.

Skip-gram-modellen er med succes anvendt på naturligt sprog til læring af ordrepræsentation. Dens generalisering til eventuelle sekventielle data er intuitiv. Lad os tage postnummerfunktionen som et eksempel som vist i figur 2. Analogt med det naturlige sprogdomæne betragter vi et unikt postnummer som et "ord" i "ordbogen", en brugers bestilte klik over forskellige postnumre som et " sætning ”, og samlingen af ​​postnummer-sekvenser fra forskellige brugere som et” korpus ”. Skip-gram-modellen er trænet, så repræsentationen af ​​det aktuelle postnummer er forudsigelig for postnumrene, som den samme bruger klikkede i nærheden af ​​sessionen, dvs. inden for "kontekstvinduet" vist i figur 2.

Figur 2: Illustration af anvendelse af spring-gram-modellen på postnummer-sekvenser

Skip-gram-repræsentationen er fornuftig, fordi afstandsmålet på denne lavere dimensionelle repræsentation afspejler nærheden mellem forskellige kategoriske værdier. Denne kendsgerning er illustreret ved varmekortene i figur 3, der afbilder kosinus-ligheden mellem indlejringsvektorerne i flere postnummerregioner i Seattle-området til henholdsvis postnummer 98101 (til venstre) og 98116 (til højre).

Figur 3: Lighed mellem Seattle-postnumre og 98101 (downtown-området, med hovedet til venstre) og mellem Seattle-postnumre og 98116 (vestlige Seattle-område, med hovedet til højre) baseret på overslag-gram indlejringer.

På en lignende måde lærer vi vektorrepræsentationer for andre kategoriske funktioner, herunder zonetype, skolekvarter, byregion, hustype og andre. Figur 4 viser t-SNE 2-D visualiseringer for de indlærede repræsentationer af henholdsvis postnumre og zonetype. t-SNE [6] er en visualiseringsteknik til højdimensionelle data, der kortlægger lignende datapunkter til placeringer tæt sammen i et 2D- eller 3D-rum. For eksempel er postnumre 988 ** og 989 ** alle kortlagt til det øverste venstre hjørne af det venstre plot i figur 4 på grund af den høje kosinus-lighed. Når de er trænet, kan disse repræsentationer gemmes i en opslagstabel til hurtig reference i fremtiden.

Figur 4: t-SNE-visualiseringer i 2D-plads til postnumre (venstre) og zoner (i højre) i staten Washington.

Figur 5: Hjemrepræsentation i indholdsvektorrummet

De lærte repræsentationer for de kategoriske træk er sammenkoblet med de numeriske træk for at danne den endelige indholdsvektorrepræsentation for hvert hjem som vist i figur 5. Denne repræsentation bruges som input til den dybe neurale netværksmodel. For numeriske attributter som pris og størrelse, der har skæve fordelinger, kan nogle forbehandlingstrin, herunder logtransformation og min-max-skalering (figur 6), forbedre ydeevnen af ​​den neurale netværksmodel. Desuden kan vi i fremtiden inkorporere funktioner, der er uddraget fra ustruktureret indhold, såsom liste over billeder og lister beskrivelse, som angivet i figur 5.

Figur 6: Eksempel på forbehandling af de numeriske funktioner. Til venstre: prishistogram før forarbejdning. Til højre: prishistogram efter kvanteklipning, logtransformation og min-max skalering

Siamese netværk

Vi bruger en siamesisk netværksarkitektur til at lære en kortlægningsfunktion fra indholdsvektorrummet (figur 5) til indlejringsvektorrummet, hvor kosinus-ligheden direkte kan beregnes.

Figur 7: Arkitektur af siamesisk netværk

For at konstruere et siamesisk netværk føres funktionsrepræsentationer for et par hjem, angivet med ui og uj, gennem identiske undernetværk bestående af flere fuldt forbundne lag. Hvert undernetværk kortlægger sit hjem i et lavdimensionelt indlejringsrum (f.eks. N = 25) som beskrevet i figur 7.

I den nye outputindlejringsplads ønsker vi, at forskellen mellem to hjem måles ud fra deres kosinusafstand:

Parametrene for det neurale netværk er optimeret, så lignende huse i dette nye indlejringsrum har mindre kosinusafstand, og forskellige hjem har større afstande. Overvågningen til uddannelse af sådanne netværk stammer fra co-klik eller “samarbejdsmæssige” oplysninger indeholdt i brugernes clickstream-data. For at konstruere træningsdataene antager vi, at par af huse, der er sammenklikket af den samme bruger i sessioner i nærheden (<= 10 minutter) inden for et bestemt kontekstvindue (f.eks. Vinduesstørrelse = 3), er relativt mere ens og betegnes som positive, mens huse, der aldrig er co-klikket på denne måde af nogen bruger, er mindre ens og mærket som negativer (som illustreret i fig. 8).

Figur 8: Illustration af udtrækning af positive og negative hjem til et ankerhus fra en brugers clickstream-data (kontekstvinduesstørrelse = 3, nærliggende sessionbegrænsning: <= 10 minutter)

Tabsfunktioner

De følgende to tabsfunktioner overvejes ofte, når du træner et siamesisk netværk.

Kontrastivt tab optimerer direkte den absolutte værdi af kosinusafstanden mellem et par hjem, så kosinusafstanden minimeres for positive par, men maksimeres for negative par.

hvor

Lad C repræsentere det samlede sæt hjem. Efter ovennævnte definition af positive og negative, betegner Ci for hvert hjem i det sæt positive hjem, der er samlet fra klikstrømme fra alle brugere. Yij er den etiket, der er tildelt hjemmepar (i, j), positiv hvis j ∈ Ci og negativ ellers. Dij er den kosinus lighed mellem hjem i og hjem j i det nye indlejringsrum. En positiv margin m (mellem 0 og 2) gør det muligt for træningen at fokusere på de udfordrende sager (hårde negativer).

Tripletab betragter en triplet af huse (i, jp, jn), hvor jp ∈ Ci, jn ∉ Ci. I stedet for at optimere for den absolutte afstand maksimerer tripletabet forskellen i afstande mellem et negativt par (i, jn) og et positivt par (i, jp). Ideen om at optimere i forhold til relativ relevans svarer til Bayesian Personalised Ranking (BPR) objektivfunktion [7], som har vist effektiv til modellering af implicit feedback. Marginen m her har en lignende virkning som den i det kontrastive tab.

Ved træning med begge tabsfunktioner blev der for hvert positive par, vi observerede, udtaget 5 negative par.

Lignende hjemmeanbefalinger med koldstart-genstande

Efter kortlægning af alle boliger til indlejringspladsen reduceres lignende anbefaling til en simpel nærmeste nabosøgning baseret på kosinusafstand i indlejringspladsen. Vores model kan let inkludere eventuelle nye lister i anbefalingerne. Hver gang et nyt hjem vises, kan vi slå de forudberegnede repræsentationer op for alle de kategoriske attributter for at generere den numeriske repræsentation for den nye liste. Dernæst kortlægger det foruddannede neurale netværk den numeriske repræsentation i indholdsrummet til hjemmebegrænsningsrummet, hvor kosinus-ligheden kan beregnes. Diagrammet i figur 9 opsummerer trinnene til håndtering af nye lister.

Figur 9: Arbejdsgang for lignende hjemmeanbefalinger med nye lister

Evaluering

Tilsvarende hjemmeanbefalingsalgoritmer driver den lignende hjemmekaruselle på hver Zillows hjemmeside for detaljer. En effektiv lignende hjemmeanbefaler skal styre brugerengagement ved at give nyttige vejledninger til at udforske boligmarkedet. I betragtning af et hjem, der ses af en bruger i en tidlig session, vil vi gerne anbefale, at rangordner de hjem, som brugeren kan lide at udforske i de senere sessioner mere prominent i det sæt af anbefalede lignende huse. Derfor designet vi en klikbaseret relevansmetri til offlineevalueringen. På testdatoen ved at fokusere på deres første set hjem undersøger vi, hvordan de fremtidige klik for hver bruger rangeres på listen over anbefalede lignende huse. Den gennemsnitlige NDCG ved forskellige placeringspladser giver en offline evalueringsmetrik til sammenligning af forskellige metoder.

Vi sammenlignede den foreslåede indlejringsmetode med 3 andre metoder, vi har udviklet på Zillow:

  1. Baseline-model: simpel kosinus-lighed beregnet direkte fra hjemmerepræsentationer i indholdsvektorområdet vist i figur 5 (ikke overvåget).
  2. Lineær model: måling af afstanden mellem to hjem som en vægtet kombination af de attributvise forskelle. Vægterne læres af co-klik-data (overvåget).
  3. Random Forest: en ikke-lineær version af metode 2, der er trænet på det samme sæt attributmæssige forskellefunktioner (overvåget).

Vi evaluerede forskellige modeller baseret på brugerhændelsesdataene i WA-tilstand. Alle de overvågede modeller blev trænet på brugerbegivenheder en uge før testdatoen. I det venstre plot i figur 9 er NDCG-metrikkerne repræsenteret som forholdet til NDCG @ 1 for baseline-metoden. Det rigtige plot sammenligner NDCG-lifterne for forskellige overvågede metoder i forhold til baseline-metoden (simpel kosinus-lighed).

Vores resultater viser, at overvågningen fra brugerens co-klik-data resulterede i et markant løft på NDCG-metrikerne over baseline-metoden. Den primære årsag er, at brugernes klikmønstre giver vigtige signaler, såsom hvilke egenskaber der er vigtige, og hvordan de interagerer med hinanden. Blandt alle de overvågede metoder overgår den foreslåede siamesiske indlejringsmetode både den lineære model og RF-modellen. Derudover viser tripletab en lille fordel i forhold til kontrasttab i træning af det siamesiske netværk til vores anvendelse. Den bedste model, den siamesiske indlejringsmodel, der blev trænet med tripletab, opnåede en markant løft på 21% på NDCG @ 10 over baseline-metoden.

Figur 9: Sammenligning af forskellige lignende hjemmeanbefalingsmetoder på NDCG-målinger (venstre) og NDCG-løft over baseline-metoden (højre).

Er indlejringerne meningsfulde?

For at besvare dette spørgsmål visualiserer vi de 25-dimensionelle indlejringer til hjemmene i delstaten Washington i et 2D-rum med t-SNE. I hver af t-SNE-plottene i figur 10 repræsenterer hver prik et hjem, og nærheden mellem hvert par prikker afspejler den kosinusmæssige lighed mellem to hjem i hjemmet indlejringsrummet. Vi farvede prikkerne efter (log) skalaen for en af ​​de vigtigste hjemmefunktioner i hvert plot. Jo større struktur i de farvede klynger er, desto større er betydningen af ​​den specifikke funktion i indlejringsrummet. Ideen her ligner meget vores tidligere blogindlæg, hvor Self Organizing Maps blev brugt til at visualisere de samarbejdsfiltrerende faktorer. I figur 10 er attributterne vist i rækkefølge af betydning baseret på signalet i strukturen. Fra indlejringsvisualiseringerne observerer vi, at placering (længdegrad og breddegrad) ser ud til at være den vigtigste faktor i indlejringerne, efterfulgt af hjemmepris og hjemmestørrelse. Vi skal dog bemærke, at nogle funktioner også kan være vigtige på grund af komplekse interaktioner med andre, som muligvis ikke observeres direkte via visualiseringerne nedenfor.

Figur 10: t-SNE 2D-visualiseringer til fortegnelser over indlejringer i staten Washington, farvet af skalaerne fra nogle udvalgte hjemmeattributter. Bemærk, at pris, størrelse (kvadratmeter) og dage på Zillow er i den naturlige logskala.

Konklusion

I dette blogindlæg introducerer vi en dyb læringsbaseret listeindlejringsmetode ved hjælp af et siamesisk netværk til lignende hjemmeanbefalinger på Zillow. Vores indlejringsmodel bruger både samarbejds- og indholdsinformation, modellerer komplekse interaktioner mellem attributter og håndterer effektivt koldstart-genstande. Offlinevalueringen har vist den stærke ydelse af vores indlejringsmetode til at overflade relevante hjem til brugerne gennem lignende hjemmeanbefalinger. Baseret på offline-resultater arbejder vi i øjeblikket på at bruge den siamesiske netværksmodel til at drive den næste generation af lignende hjemmeanbefalingsmotor på Zillow.

Mange tak til hele personaliseringsteamet på Zillow for støtten til dette projekt. Særlig tak til Eric Ringger, Ondrej Linda og Egor Klevak for forslag og feedback til dette blogindlæg.

Hvis du finder dette arbejde interessant, og hvis du gerne vil anvende dine datavidenskaber og maskinindlæringsevner til vores store, rige og konstant udviklende fast ejendom datasæt, skal du nå ud. Vi ansætter!

Reference

[1] Grbovic, Mihajlo, et al. “Visning af indlejringer i søgerangering.” 13. marts 2018, Airbnb Engineering & Data Science @Medium.

[2] Grbovic, Mihajlo, et al. “E-handel i din indbakke: Produktanbefalinger i skala.” Forløb af den 21. ACM SIGKDD internationale konference om videnopdagelse og datamining. ACM, 2015.

[3] Gudell, Gudell. “Beholdningen er nede, men fortegnelserne er ikke”, juni 2017 Markedsrapport, Zillow Group, Udgivelsesdato: 20. juli 2017, https://www.zillow.com/research/june-2017-market-report-15956 /

[4] Ringger, Eric, et al. “Find dit hjem: Anbefaling i stor skala på et livligt marked.” ComplexRec 2018

[5] Mikolov, Tomas, et al. ”Distribuerede repræsentationer af ord og sætninger og deres sammensætning.” Fremskridt inden for neurale informationsbehandlingssystemer. 2013.

[6] Maaten, Laurens van der og Geoffrey Hinton. “Visualisering af data ved hjælp af t-SNE.” Journal of Machine Learning Research 9.Nov (2008): 2579–2605.

[7] Rendle, Steffen, et al. ”BPR: Bayesiansk personlig placering fra implicit feedback.” Forløb fra den 25. konference om usikkerhed i kunstig intelligens. AUAI Press, 2009.

Oprindeligt offentliggjort på www.zillow.com den 17. oktober 2018.