Domáce vloženia pre podobné domáce odporúčania

autor: Sangdi Lin

Obrázok 1: Podobné domáce odporúčania pre Zillow

Systémy odporúčaní sa často spoliehajú na zapojenie používateľov ako zdroja údajov na získavanie kvalitných odporúčaní. Na rozdiel od webových stránok ako Amazon, Netflix a Airbnb je však veľké množstvo používateľov navštevujúcich spoločnosť Zillow novými používateľmi alebo používateľmi, ktorí nemajú zaregistrovaný účet. Títo noví používatelia môžu byť prví kupujúci domov, noví nájomcovia, kupujúci domov noví na online trhoviskách, cestujúci zvedaví na miestny trh s bývaním alebo ľudia, ktorí používajú Zillow na získanie informácií o nehnuteľnostiach. Pre týchto používateľov hrá podobný domáci karusel na každej stránke s podrobnosťami o domácnosti (napríklad ten, ktorý je zobrazený na pravej strane obrázku 1) dôležitú úlohu pri vytváraní zaujímavého obsahu a pri zlepšovaní ich skúseností. Keď používatelia prejavia záujem kliknutím na jeden dom, podobný domáci karusel umožňuje používateľom priamo preskúmať súvisiace záznamy na serveri Zillow bez toho, aby sa museli vrátiť na stránku vyhľadávania alebo vybrať filtre.

Rozhodnutie, či sú dva domy podobné, nie je také jednoduché, ako sa môže zdať. Z hľadiska obsahu môže byť domácnosť opísaná rôznymi štruktúrovanými atribútmi a neštruktúrovanými atribútmi, ako sú napríklad výpisy obrázkov a popis. Štruktúrované atribúty zahŕňajú funkcie domácnosti, ako sú umiestnenie, cena, veľkosť, typ domu, počet spální a kúpeľní a prvky okolia. Ako vypočítať podobnosť z vlastností rôznych typov a mierok, môže byť samo o sebe náročným problémom. Ak používateľ porovná dva domácnosti, rôzne štruktúrované a neštruktúrované atribúty môžu mať rôzny význam a vzájomne pôsobiť. Napríklad 200 štvorcových stôp obytného priestoru môže byť veľkým rozdielom pre byt v San Franciscu, ale nie taký dôležitý pre dom vo Phoenixe. Chceli by sme, aby náš podobný model odporúčaní pre domácnosti „premýšľal“ a porovnával domácnosti z pohľadu používateľa.

Ďalším spôsobom modelovania podobných domov je využitie údajov o interakcii používateľov („kolaboratívne“), ako napríklad implicitná spätná väzba od používateľov (napr. Kliknutia a uloženia), ako v prípade spoločného filtrovania, metóda vkladania zoznamov, ktorú používa Airbnb [ 1] a metódu vkladania produktu vyvinutú spoločnosťou Yahoo [2]. Intuíciou je, že domácnosti, na ktoré klikli podobní používatelia, sú podobné. Nie je však jednoduché, aby tieto modely spracúvali nové zoznamy, ktoré predstavujú značnú časť aktívnych záznamov v systéme Zillow. Od polovice roku 2012 do začiatku roku 2018 je odľahčený a vyhladený mesačný počet nových záznamov blízko 500 000 [3, 4]. Na populárnom trhu, ako je Seattle, môže byť horúci dom za pár dní mimo trhu. Preto riešenie problémov so štartom za studena v podobných odporúčaniach pre domácnosti je veľmi dôležité pre také pulzujúce domáce trhy, ako je Zillow.

V tomto blogovom príspevku uvádzame model domáceho vkladania pomocou hlbokej neurónovej siete pre podobné domáce odporúčania. Náš model využíva informácie o spolupráci aj o obsahu. Presnejšie povedané, naučí sa funkcia mapovania neurónovej siete z obsahového priestoru do vkladacieho priestoru a na učenie sa dozerajú údaje o zákazke od používateľov. A čo je dôležitejšie, náš model je schopný účinne zvládnuť problém so studeným štartom.

Naša metóda

Domáce zastúpenie s vložkami Skip-Gram

Modely neurónovej siete vyžadujú ako vstupy číselné reprezentácie. Preto musíme nájsť numerické reprezentácie pre všetky kategorické domáce atribúty. Kategorické funkcie, ako napríklad PSČ, majú vysokú kardinálnosť, takže jednorazové kódovanie môže mať za následok vysokú dimenzionalitu a redundanciu v domácej reprezentácii a môže spôsobiť ďalšie výpočtové náklady počas tréningu. Na vyriešenie týchto problémov sme použili model preskočenia gramov [5], aby sme sa naučili účinnú reprezentáciu (vloženie) týchto kategorických prvkov.

Model preskočenia bol úspešne aplikovaný na prirodzený jazyk pre výučbu reprezentácie slov. Jeho zovšeobecnenie na akékoľvek sekvenčné údaje je intuitívne. Zoberme si funkciu PSČ ako príklad, ako je znázornené na obrázku 2. Podobne ako v doméne s prirodzeným jazykom považujeme jedinečný PSČ ako „slovo“ v „slovníku“, pričom používateľ objednal kliknutia na rôzne PSČ ako „ veta “a zbierka sekvencií PSČ od rôznych používateľov ako„ korpus “. Model preskočeného gramu je vycvičený tak, aby znázornenie aktuálneho PSČ predpovedalo PSČ, na ktoré ten istý používateľ klikol v blízkosti relácie, t. J. V „kontextovom okne“ zobrazenom na obrázku 2.

Obrázok 2: Ilustrácia aplikácie modelu preskočenia na sekvencie PSČ

Reprezentácia preskočeného gramu je rozumná, pretože miera vzdialenosti na tomto zobrazení v nižšej dimenzii odráža blízkosť medzi rôznymi kategorickými hodnotami. Túto skutočnosť ilustrujú tepelné mapy na obrázku 3, ktoré znázorňujú kosínovú podobnosť medzi vkladacími vektormi niekoľkých zón PSČ v oblasti Seattle s PSČ 98101 (vľavo) a 98116 (vpravo).

Obrázok 3: Podobnosť medzi PSČ v Seattli a 98101 (v strede mesta, vľavo s hviezdičkou) a medzi PSČ v Seattli a 98116 (v oblasti so sídlom v Seattle, vpravo nahoře) na základe preskočenia gramov.

Podobným spôsobom sa učíme vektorové reprezentácie pre ďalšie kategorické prvky vrátane typu územného členenia, školskej oblasti, mestskej oblasti, typu domu a ďalších. Obrázok 4 zobrazuje vizualizácie t-SNE 2-D pre naučené znázornenia PSČ a typu územného členenia. t-SNE [6] je vizualizačná technika pre vysokorozmerné údaje, ktorá mapuje podobné údajové body na miesta blízko seba v 2D alebo 3D priestore. Napríklad PSČ 988 ** a 989 ** sú všetky mapované do ľavého horného rohu ľavého grafu na obrázku 4 z dôvodu vysokej podobnosti kosínu. Po zaškolení sa tieto znázornenia môžu uložiť do vyhľadávacej tabuľky, aby sa v budúcnosti mohli rýchlo využiť.

Obrázok 4: Vizualizácie t-SNE v 2D priestore pre PSČ (vľavo) a typy zónovania (vpravo) v štáte Washington.

Obrázok 5: Domáca reprezentácia vo vektorovom priestore obsahu

Naučené reprezentácie pre kategorické prvky sú spojené s numerickými znakmi, aby vytvorili konečnú reprezentáciu vektora obsahu pre každý domov, ako je to znázornené na obrázku 5. Toto znázornenie sa používa ako vstup modelu hlbokej neurónovej siete. V prípade číselných atribútov, ako sú cena a veľkosť, ktoré majú sklon distribúcie, niektoré kroky predbežného spracovania, vrátane transformácie protokolov a minimálneho škálovania (obrázok 6), môžu zlepšiť výkon modelu neurónovej siete. V budúcnosti môžeme navyše zahrnúť prvky extrahované z neštruktúrovaného obsahu, ako sú napríklad výpisy obrázkov a popisy výpisov, ako je to znázornené na obrázku 5.

Obrázok 6: Príklad predbežného spracovania číselných znakov. Vľavo: cenový histogram pred predbežným spracovaním. Vpravo: cenový histogram po kvantilovom orezaní, transformácii protokolu a mierke min-max

Siamská sieť

Používame sieťovú architektúru Siamese, aby sme sa naučili mapovaciu funkciu z obsahového vektorového priestoru (obrázok 5) do vkladacieho vektorového priestoru, kde sa dá priamo vypočítať kosínová podobnosť.

Obrázok 7: Architektúra siamskej siete

Na vybudovanie siamskej siete sa rysové reprezentácie dvojíc domov, označené značkami ui a uj, prechádzajú cez rovnaké podsiete pozostávajúce z niekoľkých úplne spojených vrstiev. Každá podsieť mapuje svoj domov do nízkorozmerného vkladacieho priestoru (napr. N = 25), ako je opísané na obrázku 7.

V novom priestore, ktorý vkladá výstup, chceme, aby sa rozdielnosť medzi dvoma domami merala podľa ich kosínovej vzdialenosti:

Parametre neurónovej siete sú optimalizované tak, že v tomto novom vkladacom priestore majú podobné domy menšie kosínové vzdialenosti a rozdielne domy majú väčšie vzdialenosti. Dohľad nad školením takýchto sietí pochádza z informácií o spoločnom kliknutí alebo o „spolupráci“, ktoré sú obsiahnuté v údajoch používateľov o kliknutí. Na zostavenie údajov o školeniach predpokladáme, že páry domov, na ktoré klikol ten istý užívateľ v blízkych reláciách (<= 10 minút) v určitom kontexte (napr. Veľkosť okna = 3), sú relatívne podobné a označené ako pozitívne, zatiaľ čo na domácnosti, na ktoré nikdy neklikol žiadny iný užívateľ, sú menej podobné a označené ako negatívy (ako je znázornené na obr. 8).

Obrázok 8: Ilustrácia extrahovania pozitívnych a negatívnych domovov do kotviaceho domu z údajov používateľa v kliknutí (veľkosť kontextového okna = 3, obmedzenie v blízkej relácii: <= 10 minút)

Stratové funkcie

Nasledujúce dve stratové funkcie sa často zvažujú pri tréningu siamskej siete.

Kontrastná strata priamo optimalizuje absolútnu hodnotu kosínovej vzdialenosti medzi párom domov, takže kosínová vzdialenosť je minimalizovaná pre pozitívne páry, ale maximalizovaná pre negatívne páry.

kde

Nech C predstavuje celkovú skupinu domov. Podľa vyššie uvedenej definície pozitív a negatívov, pre každý domov i, Ci označuje množinu pozitívnych domov agregovaných z tokov kliknutí všetkých používateľov. Yij je označenie priradené domácemu páru (i, j), kladné, ak j ∈ Ci, a záporné inak. Dij je kosínusová podobnosť medzi domom i a domom j v novom priestore vkladania. Kladná marža m (medzi 0 a 2) umožňuje, aby sa školenie sústredilo na náročné prípady (tvrdé negatívy).

Strata trojčaťa sa považuje za trojicu domov (i, jp, jn), kde jp ∈ Ci, jn ∉ Ci. Namiesto optimalizácie pre absolútnu vzdialenosť strata tripletu maximalizuje rozdiel vzdialeností medzi negatívnym párom (i, jn) a pozitívnym párom (i, jp). Myšlienka optimalizácie nad relatívnou relevantnosťou je podobná objektívnej funkcii Bayesovského prispôsobeného hodnotenia (BPR) [7], ktorá sa ukázala ako účinná pri modelovaní implicitnej spätnej väzby. Rozpätie m tu má podobný účinok ako pri kontrastnej strate.

Pri tréningu s oboma stratovými funkciami sa od každého pozitívneho páru, ktorý sme pozorovali, odobrali vzorky 5 negatívnych párov.

Podobné domáce odporúčania s položkami so studeným štartom

Po zmapovaní všetkých domov na vkladací priestor sa podobné odporúčanie domova zredukuje na jednoduché vyhľadávanie najbližšieho suseda na základe kosínovej vzdialenosti v úložnom priestore. Náš model môže v odporúčaniach ľahko zahrnúť všetky nové záznamy. Vždy, keď je uvedený nový domov, môžeme vyhľadať vopred vypočítané reprezentácie pre všetky kategorické atribúty, aby sme vygenerovali numerické znázornenie pre nový zoznam. Ďalej, vopred trénovaná neurónová sieť mapuje numerickú reprezentáciu v obsahovom priestore do domáceho vkladacieho priestoru, kde sa dá vypočítať kosínová podobnosť. Diagram na obrázku 9 sumarizuje kroky na spracovanie nových záznamov.

Obrázok 9: Pracovný postup pre podobné domáce odporúčania s novými zoznamami

ohodnotenie

Podobné algoritmy odporúčania pre domácnosť napájajú podobný domáci karusel na každej stránke s podrobnosťami o domovskej stránke Zillow. Účinný podobný domáci odporúčajúci by mal motivovať zapojenie používateľov poskytovaním užitočných pokynov na prieskum trhu s bývaním. Vzhľadom na domov, ktorý si užívateľ prezeral v ranom štádiu, by sme radi, keby odporúčal radiť tie domovy, ktoré by užívateľ rád v neskorších reláciách rád preskúmal, v súbore odporúčaných podobných domovov. Preto sme pre offline hodnotenie navrhli metriku relevantnosti kliknutia. V deň testovania sa zameraním na ich prvý prehliadaný dom preskúmame, ako sú budúce kliknutia jednotlivých používateľov zaradené do zoznamu odporúčaných podobných domovov. Priemerný NDCG na rôznych pozičných pozíciách poskytuje offline metriku hodnotenia na porovnávanie rôznych metód.

Navrhovanú metódu vkladania sme porovnali s 3 ďalšími metódami, ktoré sme vyvinuli v spoločnosti Zillow:

  1. Základný model: jednoduchá kosínová podobnosť vypočítaná priamo z domovských zobrazení v obsahovom vektorovom priestore zobrazenom na obrázku 5 (bez dozoru).
  2. Lineárny model: meranie vzdialenosti medzi dvoma domami ako váženej kombinácie rozdielov atribútov. Hmotnosti sa získavajú z údajov spoločného kliknutia (pod dohľadom).
  3. Random Forest: nelineárna verzia metódy 2 vycvičená na rovnakom súbore atribútov odlišných znakov (pod dohľadom).

Vyhodnotili sme rôzne modely na základe údajov o používateľských udalostiach v stave WA. Všetky dohliadané modely boli školené o užívateľských udalostiach týždeň pred dátumom testovania. V ľavom grafe na obrázku 9 sú NDCG metriky znázornené ako pomer k NDCG1 základnej metódy. Správny graf porovnáva výťahy NDCG rôznych metód pod dohľadom nad základnou metódou (jednoduchá kosínová podobnosť).

Naše výsledky ukazujú, že dohľad nad údajmi o spoločnom kliknutí používateľov mal za následok významný nárast metrík NDCG nad základnou metódou. Hlavným dôvodom je to, že vzory kliknutí používateľov poskytujú dôležité signály, napríklad o tom, ktoré atribúty sú dôležité a ako vzájomne interagujú. Vo všetkých kontrolovaných metódach navrhovaná siamská metóda vkladania prevyšuje lineárny aj RF model. Strata tripletov navyše vykazuje nepatrnú výhodu oproti strate v tréningu siamskej siete pre našu aplikáciu. Najlepší model, siamský model vkladania trénovaný s trojnásobnou stratou, dosiahol v porovnaní so základnou metódou významné zvýšenie NDCG @ 10 o 21%.

Obrázok 9: Porovnanie rôznych podobných odporúčacích metód pre domácnosť týkajúcich sa metrík NDCG (vľavo) a zdvíhania NDCG nad základnou metódou (vpravo).

Sú Embeddings zmysluplné?

Na zodpovedanie tejto otázky si vizualizujeme 25-rozmerné vnorenia pre domy vo Washingtone v 2D priestore s t-SNE. Na každom grafe t-SNE na obrázku 10 každá bodka predstavuje domov a blízkosť medzi každou dvojicou bodov odráža kosínovú podobnosť medzi dvoma domami v priestore na vkladanie domov. Zafarbili sme bodky stupnicou (log) jednej z hlavných funkcií domu v každom grafe. Čím väčšia je štruktúra farebných zoskupení, tým väčšia je dôležitosť špecifického znaku v vkladacom priestore. Táto myšlienka je dosť podobná nášmu predchádzajúcemu blogovému príspevku, kde sa na vizualizáciu faktorov spolupráce použili samoorganizujúce sa mapy. Na obrázku 10 sú atribúty zobrazené v poradí dôležitosti na základe signálu v štruktúre. Z vizualizácií vkladania pozorujeme, že miesto (dĺžka a šírka) sa zdá byť najdôležitejším faktorom pri vkladaní, za ktorým nasleduje cena za domácnosť a veľkosť domu. Mali by sme však poznamenať, že niektoré funkcie môžu byť tiež dôležité z dôvodu zložitých interakcií s ostatnými, ktoré sa nemusia priamo pozorovať pomocou vizualizácií uvedených nižšie.

Obrázok 10: Vizualizácie t-SNE 2D pre emblémy výpisov v štáte Washington, farbené stupnicami niektorých vybraných domácich atribútov. Všimnite si, že cena, veľkosť (sqft) a dni na Zillowe sú na stupnici prirodzeného denníka.

záver

V tomto blogovom príspevku uvádzame hĺbkovú metódu vkladania zoznamov založenú na učení pomocou siamskej siete pre podobné domáce odporúčania v Zillow. Náš model vkladania využíva informácie o spolupráci aj o obsahu, modeluje zložité interakcie medzi atribútmi a efektívne spracováva položky so studeným štartom. Hodnotenie offline preukázalo silný výkon našej metódy vkladania pri zobrazovaní relevantných domovov používateľom prostredníctvom podobných odporúčaní pre domácnosť. Na základe offline výsledkov v súčasnosti pracujeme na použití modelu siete Siamese na napájanie ďalšej generácie podobného motora odporúčaného pre domácnosti v spoločnosti Zillow.

Ďakujeme celému personalizačnému tímu v Zillowe za podporu tohto projektu. Osobitné poďakovanie Ericovi Ringgerovi, Ondrejovi Lindovi a Egorovi Klevakovi za podnety a pripomienky k tomuto blogovému príspevku.

Ak sa vám táto práca zdá zaujímavá a ak by ste chceli uplatniť svoje zručnosti v oblasti vedy o údajoch a strojového učenia na náš rozsiahly, bohatý a neustále sa vyvíjajúci súbor údajov o nehnuteľnostiach, kontaktujte nás. Prijímame!

referencie

[1] Grbovic, Mihajlo a kol. "Výpis vložení do poradia vyhľadávania." 13. marca 2018, Airbnb Engineering & Data Science @ Meded.

[2] Grbovic, Mihajlo a kol. „Elektronický obchod vo vašej doručenej pošte: Odporúčania pre produkt v mierke.“ Zborník z 21. konferencie ACM SIGKDD o získavaní znalostí a získavaní údajov. ACM, 2015.

[3] Gudell, Gudell. “Zásoby sú dole, ale zoznamy nie sú”, jún 2017, správa o trhu, skupina Zillow, dátum vydania: 20. júla 2017, https://www.zillow.com/research/june-2017-market-report-15956 /

[4] Ringger, Eric, a kol. „Nájdenie domova: odporúčanie vo veľkom meradle na živom trhu“. ComplexRec 2018

[5] Mikolov, Tomas a kol. „Distribuované reprezentácie slov a fráz a ich zloženie.“ Pokroky v systémoch spracovania nervových informácií. 2013.

[6] Maaten, Laurens van der a Geoffrey Hinton. „Vizualizácia údajov pomocou programu t-SNE.“ Journal of Machine Learning Research 9.Nov (2008): 2579–2605.

[7] Rendle, Steffen a kol. „BPR: Bayesovský osobný rebríček od implicitnej spätnej väzby.“ Zborník z 25. konferencie o neistote v umelej inteligencii. AUAI Press, 2009.

Pôvodne uverejnené na www.zillow.com 17. októbra 2018.