Kotiinsulautukset samankaltaisille kodisuosituksille

kirjoittanut Sangdi Lin

Kuva 1: Samankaltaisia ​​kodisuosituksia Zillowista

Suositusjärjestelmät luottavat usein käyttäjien sitoutumiseen tietolähteeksi korkealaatuisten suositusten oppimisessa. Toisin kuin Amazon, Netflix ja Airbnb, esimerkiksi Zillowia käyttävät käyttäjät ovat uusia käyttäjiä tai käyttäjiä, joilla ei ole rekisteröityä tiliä. Nämä uudet käyttäjät voivat olla ensimmäistä kertaa asuntojen ostajia, uusia vuokralaisia, online-kauppapaikoille uusia asuntokauppiaita, paikallisista asuntomarkkinoista kiinnostuneita matkustajia tai ihmisiä, jotka käyttävät Zillowia saadakseen kiinteistöjä koskevia tietoja. Näille käyttäjille jokaisella kotisivun yksityiskohtaisella sivulla (kuten kuvan 1 oikealla puolella esitetty) samankaltaisella kodin karusellissa on tärkeä rooli kiinnostavan sisällön muodostamisessa ja heidän kokemuksensa parantamisessa. Kun käyttäjät ilmaisevat kiinnostuksensa napsauttamalla yhtä kotia, samanlainen kotirouva antaa käyttäjille mahdollisuuden tutkia suoraan liittyviä ilmoituksia Zillowissa tarvitsematta palata hakusivulle tai valita suodattimia.

Kaksi kotoa samankaltaisuuden määrittäminen ei ole niin helppoa kuin voi näyttää. Sisällön kannalta koti voidaan kuvata erilaisilla strukturoiduilla ominaisuuksilla ja jäsentämättömillä määritteillä, kuten kuvien listauksella ja kuvauksella. Jäsenneltyihin ominaisuuksiin kuuluvat kodin ominaisuudet, kuten sijainti, hinta, koko, talotyyppi, makuuhuoneen ja kylpyhuoneen lukumäärä ja naapurustoiminnot. Kuinka laskea samankaltaisuus erilaisten tyyppien ja asteikkojen piirteiden perusteella, voi olla itsessään haastava ongelma. Kun käyttäjä vertaa kahta kotia, erilaisilla rakenteellisilla ja jäsentämättömillä ominaisuuksilla voi olla erilainen merkitys ja olla vuorovaikutuksessa keskenään. Esimerkiksi 200 ylimääräistä neliöjalkaa asuintilaa voi olla suuri ero San Franciscossa sijaitsevalle asunnolle, mutta ei yhtä tärkeä Phoenixin talolle. Haluamme, että samanlainen kodinsuosittelumallemme "ajattelee" ja vertaa koteja käyttäjän näkökulmasta.

Toinen tapa mallintaa samankaltaisia ​​koteja on käyttää hyödykkeen käyttäjien sitoutumista (”yhteistyöhön”) koskevia tietoja, kuten implisiittistä käyttäjän palautetta (esim. Napsautukset ja tallennukset), kuten yhteissuodatuksen tapauksessa, Airbnb: n käyttämää luettelon upotusmenetelmää [ 1], ja Yahoo [2] kehittämän tuotteen upotusmenetelmän. Intuition takana on, että samanlaisten käyttäjien napsauttamat kotit ovat samanlaisia. Ei ole kuitenkaan yksinkertaista, että nämä mallit käsittelevät uusia luetteloita, jotka muodostavat merkittävän osan aktiivisista ilmoituksista Zillowissa. Vuoden 2012 puolivälistä vuoden 2018 alkuun saakka kausiluontoinen, tasoitettu kuukausittainen uusi listausmäärä on lähellä 500 K [3, 4]. Suosituilla markkinoilla kuten Seattle, kuuma koti voi olla poissa markkinoilta muutamassa päivässä. Siksi kohteen kylmäkäynnistysongelmien käsitteleminen samanlaisissa kodin suosituksissa on erittäin tärkeä sellaiselle elinvoimaiselle kotiin liittyvälle markkinalle, kuten Zillow.

Tässä blogiviestissä esittelemme kodin upottamismallin, jossa käytetään syvää hermoverkkoa samanlaisille kodinsuosituksille. Mallamme hyödyntää sekä yhteistyö- että sisältötietoja. Tarkemmin sanottuna neuroverkkopohjainen kartoitustoiminto sisältötilasta upotustilaan opitaan ja oppimista ohjataan käyttäjien sitoutumistietoilla. Vielä tärkeämpää on, että mallimme pystyy käsittelemään tuotteen kylmäkäynnistysongelmia tehokkaasti.

Meidän menetelmämme

Kodin edustus Skip-Gram-upotuksilla

Neuroverkkomallit vaativat syötteinä numeerisia esityksiä. Siksi meidän on löydettävä numeeriset esitykset kaikille kategorisille kotiominaisuuksille. Kategoriallisilla ominaisuuksilla, kuten postinumero, on suuri kardinaalisuus, joten yksi kuuma koodaus voi johtaa kodin esitystapaan suureen ulottuvuuteen ja redundanssiin ja aiheuttaa ylimääräisiä laskennallisia kustannuksia harjoittelun aikana. Näiden ongelmien ratkaisemiseksi olemme käyttäneet ohitusgrammimallia [5] oppiaksesi tehokkaan esityksen (upottamisen) näille kategorioille.

Ohita grammalli on onnistuneesti sovellettu luonnolliseen kieleen sanan esitysoppimisessa. Sen yleistys mihin tahansa peräkkäiseen tietoon on intuitiivinen. Otetaanpa postinumerotoiminto esimerkkinä, kuten kuvassa 2 esitetään. Analogisesti luonnollisen kielen verkkotunnuksen kanssa pidämme ainutlaatuista postinumeroa sanakirjana ”sanakirjassa”, käyttäjän tilaamia napsautuksia eri postinumeroista “ lause ”ja keräys postinumerosekvenssejä eri käyttäjiltä korpuksina. Ohitusgrammimalli on koulutettu siten, että nykyinen postinumero on ennustava postinumeroille, joita sama käyttäjä napsautti läheisyydessä istunnossa, ts. Kuvassa 2 esitetyssä ”kontekstiikkunassa”.

Kuva 2: Kuva ohitusmallimallin soveltamisesta postinumerosekvensseihin

Ohitus gramman esittäminen on järkevää, koska etäisyysmitta tässä alemmassa ulotteisessa esityksessä heijastaa läheisyyttä eri kategoristen arvojen välillä. Tätä tosiasiaa kuvaa kuvion 3 lämpökartat, jotka kuvaavat kosinin samankaltaisuutta useiden Postinumero-alueiden upotusvektoreiden välillä Seattlen alueella postinumeron 98101 (vasemmalla) ja 98116 (oikealla) vastaavasti.

Kuvio 3: Samankaltaisuus Seattlen postinumeroiden ja 98101 (keskusta-alue, tähdellä vasemmalla) ja Seattle-postinumeroiden ja 98116 (länsi-Seattle-alue, tähdellä oikealla) välinen ohimogrammi-upotusten perusteella.

Samalla tavalla opimme vektoriluokituksia muille kategorisille piirteille, mukaan lukien kaavoitustyyppi, koulupiiri, kaupunkialue, talotyyppi ja muut. Kuvio 4 esittää t-SNE 2-D-visualisoinnit postinumeron ja vyöhyketyypin oppineille esityksille. t-SNE [6] on visualisointitekniikka korkean ulottuvuuden datalle, joka kartoittaa samanlaiset datapisteet paikkoihin lähellä toisiaan 2D- tai 3D-tilassa. Esimerkiksi postinumerot 988 ** ja 989 ** on kaikki kuvattu kuvan 4 vasemman vasemman yläkulman yläpuolelle kosinisen samanlaisuuden vuoksi. Koulutuksen jälkeen nämä esitykset voidaan tallentaa hakutaulukkoon pikaohjeita varten tulevaisuudessa.

Kuva 4: t-SNE-visualisoinnit 2D-tilassa postinumeroille (vasen) ja vyöhyketyypeille (oikealla) Washingtonin osavaltiossa.

Kuva 5: Kodin esitys sisältövektoritilassa

Luokiteltujen piirteiden opitut esitykset yhdistetään numeeristen ominaisuuksien kanssa lopullisen sisältövektoriesityksen muodostamiseksi jokaiselle kodille, kuten kuvassa 5 esitetään. Tätä esitystä käytetään syvän neuroverkkomallin tulona. Jotkut numeeriset ominaisuudet, kuten hinta ja koko, joilla on vinoutuneita jakaumia, jotkut esikäsittelyvaiheet, mukaan lukien lokimuunnos ja min-max-skaalaus (kuva 6), voivat parantaa hermoverkkomallin suorituskykyä. Lisäksi voimme tulevaisuudessa sisällyttää rakenteettomasta sisällöstä erotetut ominaisuudet, kuten listakuvat ja luettelon kuvaus, kuten kuvassa 5 esitetään.

Kuva 6: Esimerkki numeeristen ominaisuuksien esikäsittelystä. Vasemmalla: hintahistogrammi ennen esikäsittelyä. Oikealla: hintahistogrammi kvantiileikkauksen, lokin muunnoksen ja min-max-skaalauksen jälkeen

Siiamilainen verkko

Käytämme siamilaista verkkoarkkitehtuuria oppiaksesi kartoitusfunktion sisältövektoritilasta (kuva 5) upottavaan vektoritilaan, jossa kosinin samankaltaisuus voidaan laskea suoraan.

Kuva 7: Siiamilaisen verkon arkkitehtuuri

Siiamilaisen verkon rakentamiseksi, pari koteja, jotka on merkitty ui: lla ja uj: lla, johdetaan identtisten aliverkkojen läpi, jotka koostuvat useista täysin kytketyistä kerroksista. Jokainen aliverkko kartoittaa kotinsa pienen ulottuvuuden upotustilaan (esim. N = 25), kuten kuviossa 7 kuvataan.

Uudessa ulostulotilassa haluamme, että kahden kodin välinen ero mitataan kosinin etäisyydellä:

Neuraaliverkon parametrit on optimoitu siten, että tässä uudessa upotustilassa samankaltaisissa koteissa kosinietäisyydet ovat pienemmät ja erilaisissa koteissa etäisyydet ovat suurempia. Tällaisten verkkojen kouluttamisen valvonta tulee käyttäjien napsautussivutietoihin sisältyvistä yhteistoimintatiedoista. Harjoitustietojen rakentamiseksi oletamme, että parit koteja, joita sama käyttäjä on napsauttanut läheisissä istunnoissa (<= 10 minuuttia) tietyssä kontekstiikkunassa (esim. Ikkunan koko = 3), ovat suhteellisen samankaltaisia ​​ja merkitty positiivisiksi, kun taas koteja, joita yksikään käyttäjä ei ole koskaan napsauttanut tällä tavalla, ovat vähemmän samankaltaisia ​​ja merkitty negatiivisiksi (kuten kuvassa 8).

Kuva 8: Kuva positiivisten ja negatiivisten koteiden poimimisesta ankkurikodiin käyttäjän napsautussuunnan tiedoista (konteksti-ikkunan koko = 3, läheisen istunnon rajoitus: <= 10 minuuttia)

Tappio-toiminnot

Seuraavia kahta häviötoimintoa harkitaan usein siamilaista verkkoa harjoitettaessa.

Kontrastiivinen häviö optimoi suoraan kosin etäisyyden absoluuttisen arvon parien välillä, niin että kosinin etäisyys minimoidaan positiivisilla pareilla, mutta maksimoidaan negatiivisilla pareilla.

missä

Olkoon C edustaa kodejen kokonaismäärää. Yllä olevan positiivisten ja negatiivisten määritelmien mukaisesti Ci tarkoittaa jokaiselle kodille i positiivisten kotejen joukkoa, joka on koottu kaikkien käyttäjien napsautusvirroista. Yij on kodiparille osoitettu merkki (i, j), positiivinen, jos j ∈ Ci ja negatiivinen muuten. Dij on kosinin samankaltaisuus kodin i ja kodin j välillä uudessa upotustilassa. Positiivinen marginaali m (välillä 0 - 2) mahdollistaa koulutuksen keskittymisen haastaviin tapauksiin (kovat negatiiviset).

Kolminkertaiseksi menetykseksi katsotaan kolmen asunnon koteja (i, jp, jn), joissa jp ∈ Ci, jn ∉ Ci. Absoluuttisen etäisyyden optimoinnin sijasta triplettitappio maksimoi etäisyyksien eron negatiivisen parin (i, jn) ja positiivisen parin (i, jp) välillä. Ajatus suhteellisen relevanssin optimoinnista on samanlainen kuin Bayesian Personalized Ranking (BPR) -objektitoiminto [7], joka on osoittautunut tehokkaaksi implisiittisen palautteen mallinnuksessa. Marginaalilla m tässä on samanlainen vaikutus kuin vastakkaisella menetyksellä.

Kun harjoittelet molemmilla tappiofunktioilla, kustakin havaitusta positiivisesta parista otettiin näytteet 5 negatiivisesta parista.

Samankaltaisia ​​kodinsuosituksia kylmäkäynnistystuotteilla

Kun kaikki kartat on kartoitettu upotustilaan, samanlainen kodinsuositus pelkistetään yksinkertaiseen lähimmän naapurin hakuun kosinin etäisyyden perusteella upotustilassa. Malliimme voi helposti sisällyttää kaikki uudet luettelot suosituksiin. Aina kun uusi koti on luettelossa, voimme etsiä kaikkien luokkien ominaisuuksien ennalta lasketut esitykset, jotta voidaan luoda numeerinen esitys uudelle listalle. Seuraavaksi esiohjattu hermoverkko kartoittaa numeerisen esityksen sisältotilassa kodin upotustilaan, jossa kosinin samankaltaisuus voidaan laskea. Kuvion 9 kaavio esittää yhteenvedon vaiheista uusien luetteloiden käsittelemiseksi.

Kuva 9: ​​Työnkulku samanlaisille kodinsuosituksille uusilla luetteloilla

arviointi

Samanlaiset kodinsuositusalgoritmit käyttävät samanlaista kotiroustelia jokaisella Zillow-kotisivun sivulla. Tehokkaan samankaltaisen kodinsuosittajan tulisi ohjata käyttäjän sitoutumista tarjoamalla hyödyllisiä ohjeita asuntomarkkinoiden tutkimiseksi. Kun tarkastellaan käyttäjän varhaisessa istunnossa katsomaa kotia, haluamme, että suosittelija luokittelee ne kodit, joita käyttäjä haluaa tutkia myöhemmissä istunnoissa, näkyvämmin suositeltavien vastaavien kodeiden joukossa. Siksi suunnittelimme napsautuspohjaisen relevanssitiedot offline-arviointia varten. Testauspäivänä keskittymällä heidän ensimmäiseen katsottuunsa kotiin, tutkimme kuinka kunkin käyttäjän tulevat napsautukset sijoitetaan suositeltavien samanlaisten koteiden luetteloon. Keskimääräinen NDCG eri sijoituspaikoilla tarjoaa offline-arviointimittauksen eri menetelmien vertaamiseksi.

Verrattiin ehdotettua upotusmenetelmää kolmeen muuhun menetelmään, joita olemme kehittäneet Zillowssa:

  1. Perusmalli: yksinkertainen kosinin samankaltaisuus, joka lasketaan suoraan kodin esityksistä kuviossa 5 esitetyssä sisältövektoritilassa (ilman valvontaa).
  2. Lineaarinen malli: mitataan kahden kodin välinen etäisyys ominaisuuskohtaisten erojen painotettuna yhdistelmänä. Painot saadaan napsautustiedoista (valvottu).
  3. Random Forest: menetelmän 2 epälineaarinen versio, joka on koulutettu samoilla ominaisuuskohtaisilla eroominaisuuksilla (valvottu).

Arvioimme erilaisia ​​malleja käyttäjän tapahtumadatan perusteella WA-tilassa. Kaikki valvotut mallit koulutettiin käyttäjän tapahtumiin viikkoa ennen testauspäivää. Kuvion 9 vasemmassa kaaviossa NDCG-mittarit on esitetty suhteena perusviivamenetelmän NDCG @ 1: een. Oikea kuvaaja vertaa eri valvottujen menetelmien NDCG-hissejä perusviivamenetelmään nähden (yksinkertainen kosinin samankaltaisuus).

Tuloksemme osoittavat, että käyttäjän napsautustietojen valvonta johti NDCG-mittareiden merkittävään nousuun perusviivamenetelmään nähden. Ensisijainen syy on se, että käyttäjien napsautuskuviot antavat tärkeitä signaaleja, kuten mitkä ominaisuudet ovat tärkeitä ja kuinka he ovat vuorovaikutuksessa keskenään. Kaikista valvotuista menetelmistä ehdotettu siamilainen upotusmenetelmä ylittää sekä lineaarisen että RF-mallin. Lisäksi kolmoismenetyksellä on pieni etu verrattuna vastakkaiseen menetykseen Siiami-verkon kouluttamisessa sovellukseemme. Paras malli, siamilainen upotusmalli, joka on koulutettu kolmoismenetyksellä, saavutti NDCG @ 10: llä merkittävän 21%: n nousun perustasoon nähden.

Kuva 9: ​​Vertailu erilaisista samanlaisista kodinsuosittelumenetelmistä NDCG-mittareissa (vasen) ja NDCG-nostamisessa perusviivamenetelmän yläpuolella (oikealla).

Ovatko upotukset merkityksellisiä?

Vastaamaan tähän kysymykseen visualisoimme Washingtonin osavaltion koteihin tarkoitetut 25-ulotteiset upotukset 2D-tilassa t-SNE: n avulla. Jokaisessa kuvion 10 t-SNE-kuvaajassa kukin piste edustaa kotia, ja kunkin pisteparin välinen läheisyys heijastaa kosinin samankaltaisuutta kodin kahden kodin välillä kodin upotustilassa. Värjäsimme pisteet kunkin tontin yhden kodin tärkeimmistä piirteistä (loki) asteikolla (loki). Mitä suurempi värillisten klustereiden rakenne on, sitä suurempi on erityisen piirteen merkitys upotustilassa. Tässä oleva idea on melko samanlainen kuin edellisessä blogiviestissämme, jossa itse organisoivia karttoja käytettiin visualisoimaan yhteistyöhön perustuvat suodatustekijät. Kuviossa 10 attribuutit on esitetty tärkeysjärjestyksessä rakenteessa olevan signaalin perusteella. Upotusvisuaalien perusteella havaitsemme, että sijainti (pituus ja leveys) näyttää olevan tärkein tekijä upotuksissa, mitä seuraa kodin hinta ja kodin koko. On kuitenkin huomattava, että jotkut piirteet voivat olla tärkeitä myös monimutkaisten vuorovaikutusten vuoksi muiden kanssa, joita ei ehkä voida tarkkailla suoraan alla olevien visualisointien kautta.

Kuva 10: t-SNE 2D-visualisoinnit listaus upotuksista Washingtonin osavaltiossa, väritettynä joidenkin valittujen kodimääritteiden asteikolla. Huomaa, että hinta, koko (neliöjalkaa) ja Zillow-päivät ovat luonnollista lokivaakaa.

johtopäätös

Tässä blogikirjoituksessa esittelemme syvän oppimispohjaisen luetteloiden upottamismenetelmän, joka käyttää siamilaista verkkoa, samanlaisiin koti-suosituksiin Zillowissa. Upotusmalli hyödyntää sekä yhteistyö- että sisältötietoa, mallintaa ominaisuuksien monimutkaista vuorovaikutusta ja käsittelee tehokkaasti kylmäkäynnistyskohteita. Offline-arviointi on osoittanut upottamismenetelmämme vahvan suorituskyvyn asettamalla käyttäjille merkityksellisiä koteja vastaavien kotisuositusten avulla. Offline-tulosten perusteella työskentelemme parhaillaan siamilaisen verkkomallin avulla seuraavan sukupolven vastaavan kodinsuositusmoottorin tuottamiseksi Zillowissa.

Paljon kiitoksia Zillow'n koko räätälöintiryhmälle tuesta projektille. Erityiset kiitokset Eric Ringgerille, Ondrej Lindalle ja Egor Klevakille ehdotuksista ja palautteesta tähän blogitekstiin.

Jos pidät tätä työtä mielenkiintoisena ja jos haluat soveltaa tietotekniikan ja koneoppimisen taitojasi laaja-alaiseen, rikkaaseen ja jatkuvasti kehittyvään kiinteistöjen tietojoukkoomme, ota yhteyttä. Palkkaamme!

Viite

[1] Grbovic, Mihajlo, et ai. ”Sulautusten luettelointi hakujärjestyksessä.” 13. maaliskuuta 2018, Airbnb Engineering & Data Science @Medium.

[2] Grbovic, Mihajlo, et ai. ”Verkkokauppa postilaatikossasi: Tuotesuositukset mittakaavassa.” Tiedonhakua ja tiedon louhintaa käsittelevän 21. ACM SIGKDD -konferenssin julkaisut. ACM, 2015.

[3] Gudell, Gudell. ”Inventory on loppunut, mutta listauksia ei ole”, kesäkuun 2017 markkinaraportti, Zillow Group, Julkaisupäivä: 20. heinäkuuta 2017, https://www.zillow.com/research/june-2017-market-report-15956 /

[4] Ringger, Eric, et ai. “Kotisi löytäminen: Suuren mittakaavan suositus vilkkaalta markkinoilta.” ComplexRec 2018

[5] Mikolov, Tomas, et ai. ”Sanajen ja ilmausten hajautetut esitykset ja niiden koostumus.” Edistysaskel hermojen tietojenkäsittelyjärjestelmissä. 2013.

[6] Maaten, Laurens van der ja Geoffrey Hinton. “Tietojen visualisointi t-SNE: n avulla.” Journal of Machine Learning Research 9.Nov (2008): 2579–2605.

[7] Rendle, Steffen, et ai. ”BPR: Bayesin henkilökohtainen sijoitus implisiittisestä palautteesta.” Tekesälyn epävarmuutta käsittelevän 25. konferenssin julkaisut. AUAI Press, 2009.

Alun perin julkaistu osoitteessa www.zillow.com 17. lokakuuta 2018.