Osadzanie domu dla podobnych rekomendacji domowych

autor: Sangdi Lin

Ryc. 1: Podobne zalecenia domowe dotyczące Zillow

Systemy rekomendacji często polegają na zaangażowaniu użytkowników jako źródle danych do nauki rekomendacji wysokiej jakości. Jednak w przeciwieństwie do witryn takich jak Amazon, Netflix i Airbnb, duża liczba użytkowników odwiedzających Zillow to nowi użytkownicy lub użytkownicy, którzy nie mają zarejestrowanego konta. Tymi nowymi użytkownikami mogą być kupujący po raz pierwszy, nowi najemcy, nowi kupujący w sklepach internetowych, podróżnicy ciekawi lokalnego rynku mieszkaniowego lub osoby korzystające z Zillow w celu uzyskania informacji o nieruchomościach. Dla tych użytkowników podobna karuzela domowa na każdej stronie szczegółów domu (taka jak ta pokazana po prawej stronie rysunku 1) odgrywa ważną rolę w wyświetlaniu interesujących treści i poprawianiu ich doświadczenia. Gdy użytkownicy wyrażają zainteresowanie poprzez kliknięcie jednego domu, podobna karuzela domowa umożliwia użytkownikom bezpośrednie przeglądanie powiązanych ofert na Zillow, bez konieczności powrotu do strony wyszukiwania lub wybierania filtrów.

Decyzja, czy dwa domy są podobne, nie jest tak prosta, jak może się wydawać. Z perspektywy zawartości dom można opisać za pomocą różnych uporządkowanych atrybutów i nieustrukturyzowanych atrybutów, takich jak wyświetlanie list i opisów. Ustrukturyzowane atrybuty obejmują cechy domu, takie jak lokalizacja, cena, rozmiar, typ domu, liczba sypialni i łazienek oraz cechy otoczenia. Jak obliczyć podobieństwo na podstawie cech różnych typów i skal, sam może być trudnym problemem. Gdy użytkownik porównuje dwa domy, różne uporządkowane i nieustrukturyzowane atrybuty mogą mieć różne znaczenie i oddziaływać ze sobą. Na przykład 200 dodatkowych metrów kwadratowych powierzchni mieszkalnej może być dużą różnicą dla mieszkania w San Francisco, ale nie tak ważne dla domu w Phoenix. Chcielibyśmy, aby nasz podobny model rekomendacji domu „myślał” i porównywał domy z perspektywy użytkownika.

Innym sposobem modelowania podobnych domów jest wykorzystanie danych dotyczących zaangażowania użytkownika („współpracy”), takich jak niejawna informacja zwrotna od użytkownika (np. Kliknięcia i zapisy), tak jak w przypadku filtrowania grupowego metoda osadzania list używana przez Airbnb [ 1] oraz metodę osadzania produktu opracowaną przez Yahoo [2]. Intuicja polega na tym, że domy kliknięte przez podobnych użytkowników są podobne. Jednak te modele nie są łatwe do obsługi nowych ofert, które stanowią znaczną część aktywnych ofert na Zillow. Od połowy 2012 r. Do początku 2018 r. Liczba zdekonalizowanych, wygładzonych miesięcznych nowych ofert wynosi blisko 500 000 [3, 4]. Na popularnym rynku, takim jak Seattle, gorący dom może być niedostępny w ciągu kilku dni. Dlatego rozwiązywanie problemów związanych z zimnym startem produktów w podobnych zaleceniach dotyczących domu jest bardzo ważne dla tak tętniącego życiem rynku związanego z domem, jak Zillow.

W tym wpisie na blogu przedstawiamy model osadzania w domu przy użyciu głębokiej sieci neuronowej dla podobnych zaleceń domowych. Nasz model wykorzystuje zarówno informacje dotyczące współpracy, jak i treści. Mówiąc dokładniej, uczy się funkcji mapowania opartej na sieci neuronowej z przestrzeni treści do przestrzeni osadzania, a uczenie jest nadzorowane przez dane zaangażowania od użytkowników. Co ważniejsze, nasz model jest w stanie skutecznie poradzić sobie z problemem zimnego rozruchu przedmiotu.

Nasza metoda

Reprezentacja domowa z osadzeniem Skip-Gram

Modele sieci neuronowej wymagają reprezentacji numerycznych jako danych wejściowych. Dlatego musimy znaleźć reprezentacje numeryczne dla wszystkich jakościowych atrybutów domowych. Cechy kategorialne, takie jak kod pocztowy, mają wysoką liczność, więc kodowanie „na gorąco” może skutkować wysoką wymiarowością i nadmiarowością reprezentacji domowej i może powodować dodatkowe koszty obliczeniowe podczas szkolenia. Aby rozwiązać te problemy, zastosowaliśmy model pomijania gramów [5], aby nauczyć się wydajnej reprezentacji (osadzania) tych funkcji jakościowych.

Model pominięcia gramów został z powodzeniem zastosowany do języka naturalnego do nauki reprezentacji słów. Uogólnienie na wszelkie kolejne dane jest intuicyjne. Weźmy funkcję kodu pocztowego jako przykład, jak pokazano na rysunku 2. Analogicznie do domeny języka naturalnego, uważamy unikalny kod pocztowy za „słowo” w „słowniku”, użytkownik zamawia różne kody pocztowe jako „ zdanie ”oraz zbiór sekwencji kodów pocztowych od różnych użytkowników jako„ korpus ”. Model pomijania jest trenowany tak, aby reprezentacja bieżącego kodu pocztowego przewidywała kody pocztowe, które ten sam użytkownik kliknął w pobliżu podczas sesji, tj. W „oknie kontekstowym” pokazanym na rysunku 2.

Ryc. 2: Ilustracja zastosowania modelu pomijania gramów do sekwencji kodów pocztowych

Reprezentacja pomijalna jest sensowna, ponieważ miara odległości na tej reprezentacji niższego wymiaru odzwierciedla bliskość między różnymi wartościami kategorialnymi. Fakt ten ilustrują mapy cieplne na ryc. 3, które przedstawiają podobieństwo kosinusowe między wektorami osadzania kilku regionów kodu pocztowego w obszarze Seattle odpowiednio do kodów pocztowych 98101 (po lewej) i 98116 (po prawej).

Rycina 3: Podobieństwo między kodami pocztowymi Seattle a 98101 (obszar śródmieścia, oznaczone gwiazdką po lewej) i między kodami pocztowymi Seattle i 98116 (obszar zachodniej Seattle, oznaczone gwiazdką po prawej) na podstawie osadzania pomijanych gramów.

W podobny sposób uczymy się reprezentacji wektorowych dla innych cech kategorycznych, w tym typu podziału na strefy, okręgu szkolnego, regionu miasta, typu domu i innych. Rycina 4 pokazuje wizualizacje t-SNE 2-D dla wyuczonych reprezentacji kodów pocztowych i odpowiednio typu podziału na strefy. t-SNE [6] to technika wizualizacji danych wielowymiarowych, która odwzorowuje podobne punkty danych na lokalizacje blisko siebie w przestrzeni 2D lub 3D. Na przykład wszystkie kody pocztowe 988 ** i 989 ** są odwzorowane na lewy górny róg lewego wykresu na rycinie 4 ze względu na duże podobieństwo cosinus. Po przeszkoleniu reprezentacje te mogą być przechowywane w tabeli przeglądowej w celu szybkiego odniesienia w przyszłości.

Rycina 4: Wizualizacje t-SNE w przestrzeni 2D dla kodów pocztowych (po lewej) i typów stref (po prawej) w stanie Waszyngton.

Rysunek 5: Reprezentacja domowa w przestrzeni wektora treści

Wyuczone reprezentacje cech jakościowych są łączone z cechami liczbowymi, aby utworzyć ostateczną reprezentację wektora treści dla każdego domu, jak pokazano na rysunku 5. Reprezentacja ta jest używana jako dane wejściowe modelu głębokiej sieci neuronowej. W przypadku atrybutów numerycznych, takich jak cena i rozmiar, które mają skośne rozkłady, niektóre etapy przetwarzania wstępnego, w tym transformacja dziennika i skalowanie min-maks. (Rysunek 6), mogą poprawić wydajność modelu sieci neuronowej. Co więcej, w przyszłości możemy włączyć funkcje wyodrębnione z treści nieustrukturyzowanych, takie jak obrazy list i opis listy, jak pokazano na rysunku 5.

Rysunek 6: Przykład wstępnego przetwarzania cech numerycznych. Po lewej: histogram ceny przed przetwarzaniem wstępnym. Po prawej: histogram ceny po wycięciu kwantowym, transformacji logów i skalowaniu min-max

Sieć Syjamska

Korzystamy z architektury sieci syjamskiej, aby nauczyć się funkcji mapowania z przestrzeni wektora treści (rysunek 5) na przestrzeń wektora osadzania, w której można bezpośrednio obliczyć podobieństwo kosinusowe.

Rysunek 7: Architektura sieci syjamskiej

Aby zbudować sieć syjamską, reprezentacje cech pary domów, oznaczone przez ui i uj, są przekazywane przez identyczne podsieci składające się z kilku w pełni połączonych warstw. Każda podsieć odwzorowuje swój dom w niskiej przestrzeni do osadzania (np. N = 25), jak opisano na ryc. 7.

W nowej przestrzeni do osadzania danych wyjściowych chcemy, aby różnica między dwoma domami była mierzona ich odległością cosinus:

Parametry sieci neuronowej są zoptymalizowane w taki sposób, że w tej nowej przestrzeni do osadzania podobne domy mają mniejsze odległości cosinusowe, a niepodobne domy mają większe odległości. Nadzór nad szkoleniem takich sieci pochodzi z informacji o kliknięciu lub „współpracy” zawartych w danych strumienia kliknięć użytkowników. Aby skonstruować dane szkolenia, zakładamy, że pary domów kliknięte przez tego samego użytkownika w pobliskich sesjach (<= 10 minut) w określonym oknie kontekstowym (np. Rozmiar okna = 3) są względnie bardziej podobne i oznaczone jako pozytywne, podczas gdy domy nigdy nie kliknięte w ten sposób przez żadnego użytkownika są mniej podobne i oznaczone jako negatywne (jak pokazano na ryc. 8).

Rycina 8: Ilustracja wyodrębniania pozytywnych i negatywnych domów do kotwicy domowej z danych użytkownika Clickstream (rozmiar okna kontekstowego = 3, ograniczenie sesji w pobliżu: <= 10 minut)

Funkcje strat

Podczas szkolenia sieci syjamskiej często bierze się pod uwagę następujące dwie funkcje utraty.

Strata kontrastowa bezpośrednio optymalizuje bezwzględną wartość odległości cosinusowej między parą domów, tak że odległość cosinusowa jest minimalizowana dla par dodatnich, ale maksymalizowana dla par ujemnych.

gdzie

Niech C reprezentuje całkowity zestaw domów. Zgodnie z powyższą definicją pozytywów i negatywów, dla każdego domu i, Ci oznacza zbiór pozytywnych domów zagregowanych ze strumieni kliknięć wszystkich użytkowników. Yij to etykieta przypisana do pary domowej (i, j), dodatnia jeśli j ∈ Ci i ujemna w przeciwnym razie. Dij jest cosinusowym podobieństwem między home i i home j w nowej przestrzeni osadzania. Dodatni margines m (od 0 do 2) umożliwia treningowi skoncentrowanie się na trudnych przypadkach (twarde negatywy).

Utrata trojaczki uważa się za tryplet domów (i, jp, jn), gdzie jp ∈ Ci, jn ∉ Ci. Zamiast optymalizować odległość bezwzględną, utrata trypletu maksymalizuje różnicę odległości między parą ujemną (i, jn) a parą dodatnią (i, jp). Pomysł zoptymalizowania względem względnego znaczenia jest podobny do funkcji celu Bayesian Personalized Ranking (BPR) [7], która okazała się skuteczna w modelowaniu niejawnej informacji zwrotnej. Margines m ma tutaj podobny efekt jak w przypadku straty kontrastowej.

Podczas treningu z obiema funkcjami utraty, dla każdej dodatniej pary, którą zaobserwowaliśmy, pobrano próbki 5 ujemnych par.

Podobne rekomendacje dla domu z produktami na zimno

Po odwzorowaniu wszystkich domów na przestrzeń do osadzenia, podobne zalecenie domu zostaje zredukowane do prostego wyszukiwania najbliższego sąsiada na podstawie odległości cosinusowej w przestrzeni do osadzenia. Nasz model może z łatwością uwzględnić wszelkie nowe pozycje w rekomendacjach. Ilekroć na liście znajduje się nowy dom, możemy wyszukać wstępnie obliczone reprezentacje dla wszystkich atrybutów jakościowych, aby wygenerować reprezentację numeryczną dla nowej listy. Następnie wstępnie wytrenowana sieć neuronowa odwzorowuje reprezentację numeryczną w przestrzeni treści na domową przestrzeń osadzania, w której można obliczyć podobieństwo cosinus. Schemat na ryc. 9 podsumowuje czynności związane z obsługą nowych ofert.

Rycina 9: Przebieg pracy dla podobnych rekomendacji domowych z nowymi ofertami

Ocena

Podobne algorytmy rekomendacji domowej zasilają podobną karuzelę domową na każdej stronie szczegółów domu Zillow. Skuteczny podobny rekomendator domu powinien zwiększyć zaangażowanie użytkowników, dostarczając przydatnych wskazówek na temat eksploracji rynku mieszkaniowego. Biorąc pod uwagę dom oglądany przez użytkownika we wczesnej sesji, chcielibyśmy, aby polecający wyróżnił te domy, które użytkownik lubi eksplorować w późniejszych sesjach, w zestawieniu zalecanych podobnych domów. Dlatego zaprojektowaliśmy wskaźnik trafności oparty na kliknięciu do oceny offline. W dniu testu, koncentrując się na ich pierwszym obejrzanym domu, badamy, w jaki sposób przyszłe kliknięcia każdego użytkownika są umieszczane na liście zalecanych podobnych domów. Średni NDCG na różnych pozycjach w rankingu zapewnia wskaźnik oceny offline do porównywania różnych metod.

Porównaliśmy proponowaną metodę osadzania z 3 innymi metodami opracowanymi w Zillow:

  1. Model bazowy: proste podobieństwo cosinusa obliczone bezpośrednio z domowych reprezentacji w przestrzeni wektora treści pokazanej na rycinie 5 (bez nadzoru).
  2. Model liniowy: pomiar odległości między dwoma domami jako ważona kombinacja różnic atrybutów. Wagi są wyuczane na podstawie danych z kliknięcia (nadzorowane).
  3. Losowy las: nieliniowa wersja metody 2 trenowana na tym samym zestawie cech różnic atrybutów (nadzorowanych).

Oceniliśmy różne modele na podstawie danych o zdarzeniach użytkownika w stanie WA. Wszystkie nadzorowane modele zostały przeszkolone w zakresie zdarzeń użytkownika na tydzień przed datą testu. Na lewym wykresie na rycinie 9 wskaźniki NDCG są reprezentowane jako stosunek do NDCG @ 1 metody podstawowej. Właściwy wykres porównuje wyciągi NDCG różnych nadzorowanych metod z metodą podstawową (proste podobieństwo cosinus).

Nasze wyniki pokazują, że nadzór nad danymi kliknięcia użytkownika spowodował znaczny wzrost wskaźników NDCG w stosunku do metody podstawowej. Głównym powodem jest to, że wzorce kliknięć użytkowników dostarczają ważnych sygnałów, takich jak ważne atrybuty i sposób interakcji między nimi. Spośród wszystkich nadzorowanych metod, proponowana metoda osadzania syjamskiego przewyższa zarówno model liniowy, jak i model RF. Ponadto utrata trojaczki wykazuje niewielką przewagę nad utratą kontrastową podczas szkolenia sieci syjamskiej dla naszej aplikacji. Najlepszy model, model osadzania syjamskiego, wyszkolony z utratą trojaczki, osiągnął znaczny wzrost o 21% na NDCG @ 10 w porównaniu z metodą podstawową.

Rycina 9: Porównanie różnych podobnych metod rekomendacji domowych dotyczących wskaźników NDCG (po lewej) i wzrostu NDCG w stosunku do metody podstawowej (po prawej).

Czy osadzenia mają znaczenie?

Aby odpowiedzieć na to pytanie, wizualizujemy 25-wymiarowe osadzenia domów w stanie Waszyngton w przestrzeni 2D z t-SNE. Na każdej z wykresów t-SNE na rycinie 10 każda kropka reprezentuje dom, a bliskość między każdą parą kropek odzwierciedla podobieństwo cosinus między dwoma domami w przestrzeni do osadzenia domu. Pokolorowaliśmy kropki według skali (log) jednej z kluczowych cech domowych na każdym wykresie. Im większa struktura w kolorowych klastrach, tym większe znaczenie określonej cechy w przestrzeni osadzania. Pomysł tutaj jest dość podobny do naszego poprzedniego postu na blogu, w którym do wizualizacji czynników filtrujących wykorzystano mapy samoorganizujące się. Na rycinie 10 atrybuty pokazano w kolejności ważności, w oparciu o sygnał w strukturze. Z wizualizacji osadzania obserwujemy, że lokalizacja (długość i szerokość geograficzna) wydaje się być najważniejszym czynnikiem osadzania, a następnie cena domu i wielkość domu. Należy jednak pamiętać, że niektóre funkcje mogą być również ważne ze względu na złożone interakcje z innymi, których nie można bezpośrednio zaobserwować za pomocą poniższych wizualizacji.

Rysunek 10: Wizualizacje t-SNE 2D dla osadzania list w stanie Waszyngton, pokolorowane przez skale niektórych wybranych atrybutów domowych. Należy pamiętać, że cena, rozmiar (sqft) i dni na Zillow są w naturalnej skali logów.

Wniosek

W tym wpisie na blogu przedstawiamy metodę osadzania list opartą na głębokim uczeniu, wykorzystującą sieć syjamską do podobnych rekomendacji domowych w Zillow. Nasz model osadzania wykorzystuje zarówno informacje dotyczące współpracy, jak i treści, modeluje złożone interakcje między atrybutami i skutecznie radzi sobie z zimnymi elementami. Ocena offline wykazała wysoką skuteczność naszej metody osadzania w wyświetlaniu odpowiednich domów użytkownikom poprzez podobne zalecenia dotyczące domu. W oparciu o wyniki offline pracujemy obecnie nad wykorzystaniem modelu sieci syjamskiej do zasilania nowej generacji podobnego silnika rekomendacji domowych w Zillow.

Ogromne podziękowania dla całego zespołu personalizacyjnego w Zillow za wsparcie tego projektu. Specjalne podziękowania dla Erica Ringgera, Ondreja Lindy i Egora Klevaka za sugestie i opinie na temat tego postu na blogu.

Jeśli uważasz, że ta praca jest interesująca i chcesz zastosować swoje umiejętności w zakresie analizy danych i uczenia maszynowego w naszym dużym, bogatym i stale rozwijającym się zbiorze danych dotyczących nieruchomości, skontaktuj się z nami. Zatrudniamy!

Odniesienie

[1] Grbovic, Mihajlo i in. „Umieszczanie wpisów w rankingu wyszukiwania.” 13 marca 2018 r., Airbnb Engineering & Data Science @Medium.

[2] Grbovic, Mihajlo i in. „Handel elektroniczny w skrzynce odbiorczej: rekomendacje produktów na dużą skalę.” Materiały z 21. Międzynarodowej Konferencji ACM SIGKDD na temat odkrywania wiedzy i eksploracji danych. ACM, 2015.

[3] Gudell, Gudell. „Zapasy są na wyczerpaniu, ale nie ma ofert”, Raport rynkowy z czerwca 2017 r., Zillow Group, Data publikacji: 20 lipca 2017 r., Https://www.zillow.com/research/june-2017-market-report-15956 /

[4] Ringger, Eric i in. „Znalezienie domu: Rekomendacja na dużą skalę na dynamicznym rynku”. ComplexRec 2018

[5] Mikolov, Tomas i in. „Rozproszone reprezentacje słów i zwrotów oraz ich kompozycyjność”. Postępy w systemach przetwarzania informacji neuronowych. 2013.

[6] Maaten, Laurens van der i Geoffrey Hinton. „Wizualizacja danych za pomocą t-SNE.” Journal of Machine Learning Research 9. Nov (2008): 2579–2605.

[7] Rendle, Steffen i in. „BPR: spersonalizowany ranking bayesowski na podstawie dorozumianych informacji zwrotnych.” Materiały z 25. Konferencji nt. Niepewności w Sztucznej Inteligencji. AUAI Press, 2009.

Pierwotnie opublikowany na www.zillow.com 17 października 2018 r.