Home Embeddings pour des recommandations similaires à la maison

par Sangdi Lin

Figure 1: Recommandations de maisons similaires sur Zillow

Les systèmes de recommandation reposent souvent sur l’engagement des utilisateurs en tant que source de données pour l’apprentissage de recommandations de haute qualité. Toutefois, contrairement aux sites Web tels qu'Amazon, Netflix et Airbnb, un grand nombre d'utilisateurs visitant Zillow sont de nouveaux utilisateurs ou des utilisateurs qui ne possèdent pas de compte enregistré. Ces nouveaux utilisateurs peuvent être des acheteurs d'une première habitation, de nouveaux locataires, des acheteurs de maison novices sur les marchés en ligne, des voyageurs curieux du marché de l'habitation local ou des personnes qui utilisent Zillow pour obtenir des informations immobilières. Pour ces utilisateurs, le carrousel de maisons similaire sur chaque page de détails de maison (comme celui présenté à droite de la figure 1) joue un rôle important dans la découverte de contenu intéressant et l'amélioration de leur expérience. Lorsque les utilisateurs expriment leur intérêt en cliquant sur une maison, le carrousel de maisons similaire leur permet d’explorer directement les annonces connexes sur Zillow, sans avoir à retourner à la page de recherche ou à sélectionner des filtres.

Décider si deux maisons sont similaires n'est pas aussi simple qu'il y paraît. Du point de vue du contenu, une maison peut être décrite par divers attributs structurés et non structurés, tels que la liste des images et la description. Les attributs structurés comprennent les caractéristiques de la maison telles que l'emplacement, le prix, la taille, le type de maison, le nombre de chambres et de salles de bain et les caractéristiques du quartier. Comment calculer la similarité à partir de caractéristiques de types et d'échelles disparates peut être un problème complexe en soi. Lorsqu'un utilisateur compare deux foyers, différents attributs structurés et non structurés peuvent avoir une importance différente et interagir les uns avec les autres. Par exemple, 200 pieds carrés supplémentaires de surface habitable peuvent être une grande différence pour un condo à San Francisco, mais pas aussi important pour une maison à Phoenix. Nous aimerions que notre modèle de recommandation de maison similaire «pense» et compare les maisons du point de vue de l’utilisateur.

Une autre façon de modéliser des foyers similaires consiste à utiliser les données d'engagement utilisateur («collaboration»), telles que les commentaires implicites de l'utilisateur (clics et sauvegardes, par exemple), comme dans le cas du filtrage collaboratif, la méthode d'intégration de la liste utilisée par Airbnb [ 1] et la méthode d'intégration du produit développée par Yahoo [2]. L'intuition derrière est que les maisons cliquées par des utilisateurs similaires sont similaires. Cependant, il n’est pas simple pour ces modèles de gérer les nouvelles inscriptions, qui représentent une part importante des inscriptions actives sur Zillow. Entre la mi-2012 et le début de 2018, le nombre mensuel d'inscriptions lissées désaisonnalisées et lissées avoisine les 500 000 [3, 4]. Dans un marché populaire comme Seattle, une maison chaude peut être hors marché en quelques jours. Par conséquent, il est très important de traiter les problèmes de démarrage à froid dans des recommandations de maison similaires pour un marché aussi dynamique que celui de Zillow.

Dans cet article de blog, nous présentons un modèle d'intégration à la maison utilisant un réseau de neurones profonds pour des recommandations similaires. Notre modèle exploite à la fois les informations collaboratives et les informations de contenu. Plus spécifiquement, une fonction de mappage basée sur un réseau neuronal allant de l'espace de contenu vers l'espace d'intégration est apprise et l'apprentissage est supervisé par les données d'engagement des utilisateurs. Plus important encore, notre modèle est capable de gérer efficacement le problème de démarrage à froid des articles.

Notre méthode

Représentation à la maison avec les embrasures Skip-Gram

Les modèles de réseau neuronal nécessitent des représentations numériques en entrée. Par conséquent, nous devons trouver des représentations numériques pour tous les attributs de maison catégoriels. Les caractéristiques catégoriques telles que le code postal ont une cardinalité élevée, de sorte qu'un encodage à chaud peut entraîner une grande dimensionnalité et une redondance dans la représentation à domicile et entraîner des coûts de calcul supplémentaires pendant la formation. Pour résoudre ces problèmes, nous avons appliqué le modèle skip-gram [5] afin d’obtenir une représentation efficace (intégration) de ces caractéristiques catégoriques.

Le modèle de saut de programme a été appliqué avec succès au langage naturel pour l’apprentissage de la représentation des mots. Sa généralisation à toute donnée séquentielle est intuitive. Prenons l'exemple de la fonction de code postal illustrée à la figure 2. Comme dans le domaine des langues naturelles, nous considérons un code postal unique comme un «mot» dans le «dictionnaire», un utilisateur clique sur différents codes postaux comme un « phrase ”et la collection de séquences de codes postaux de différents utilisateurs en tant que“ corpus ”. Le modèle de saut de programme est formé de sorte que la représentation du code postal actuel soit prédictive des codes postaux sur lesquels le même utilisateur a cliqué à proximité dans la session, c.-à-d. Dans la «fenêtre de contexte» illustrée à la figure 2.

Figure 2: Illustration de l'application du modèle skip-gram aux séquences de code postal

La représentation de saut de gramme est sensible, car la mesure de distance sur cette représentation dimensionnelle inférieure reflète la proximité entre différentes valeurs catégoriques. Ce fait est illustré par les cartes thermiques de la figure 3, qui illustrent la similarité en cosinus entre les vecteurs d'inclusion de plusieurs régions de code postal dans la région de Seattle, respectivement avec les codes postaux 98101 (à gauche) et 98116 (à droite).

Figure 3: similarité entre les codes postaux de Seattle et le 98101 (centre-ville, étoilés à gauche) et entre les codes postaux de Seattle et 98116 (secteur ouest de Seattle, étoilés à droite) sur la base des incrustations de saut de gramme.

De manière similaire, nous apprenons des représentations vectorielles pour d'autres caractéristiques catégorielles, telles que le type de zonage, le district scolaire, la région urbaine, le type de maison, etc. La figure 4 montre les visualisations t-SNE 2-D pour les représentations acquises des codes postaux et du type de zonage, respectivement. Le t-SNE [6] est une technique de visualisation de données de grandes dimensions qui mappe des points de données similaires à des emplacements proches les uns des autres dans un espace 2D ou 3D. Par exemple, les codes postaux 988 ** et 989 ** sont tous mappés vers le coin supérieur gauche du graphique de gauche dans la figure 4 en raison de la grande similarité de cosinus. Une fois formés, ces représentations peuvent être stockées dans une table de correspondance pour une référence rapide dans le futur.

Figure 4: visualisations t-SNE dans l'espace 2D pour les codes postaux (à gauche) et les types de zonage (à droite) dans l'État de Washington.

Figure 5: Représentation à domicile dans l'espace vectoriel de contenu

Les représentations apprises pour les caractéristiques catégorielles sont concaténées avec les caractéristiques numériques afin de former la représentation vectorielle du contenu final pour chaque maison, comme illustré à la figure 5. Cette représentation est utilisée comme entrée du modèle de réseau neuronal profond. Pour les attributs numériques tels que le prix et la taille qui ont des distributions asymétriques, certaines étapes de prétraitement, y compris la transformation du journal et la mise à l'échelle min-max (figure 6), peuvent améliorer les performances du modèle de réseau neuronal. De plus, à l'avenir, nous pourrons incorporer des fonctionnalités extraites d'un contenu non structuré, telles que la liste des images et la description de la liste, comme indiqué à la figure 5.

Figure 6: Exemple de prétraitement des entités numériques. A gauche: histogramme des prix avant prétraitement. A droite: histogramme de prix après écrêtage de quantiles, transformation de journal et mise à l'échelle min-max

Réseau siamois

Nous utilisons une architecture de réseau siamois pour apprendre une fonction de mappage de l'espace vectoriel de contenu (Figure 5) à l'espace vectoriel d'intégration, où la similarité en cosinus peut être calculée directement.

Figure 7: Architecture du réseau siamois

Pour construire un réseau siamois, les représentations des caractéristiques d'une paire de foyers, indiquées par ui et uj, passent par des sous-réseaux identiques constitués de plusieurs couches entièrement connectées. Chaque sous-réseau mappe son domicile dans un espace d'intégration de faible dimension (par exemple, N = 25), comme décrit à la figure 7.

Dans le nouvel espace d’intégration de sortie, nous souhaitons que la dissemblance entre deux maisons soit mesurée par leur distance cosinus:

Les paramètres du réseau de neurones sont optimisés pour que, dans ce nouvel espace d’incorporation, les habitations similaires présentent des distances cosinus inférieures et que les domiciles dissemblables aient des distances plus grandes. La supervision de la formation de tels réseaux provient des informations de co-clic ou «collaboratives» contenues dans les données du flux de clics des utilisateurs. Pour construire les données d'apprentissage, nous supposons que les paires de foyers co-cliqués par le même utilisateur lors de sessions à proximité (<= 10 minutes) dans certaines fenêtres contextuelles (par exemple, la taille de la fenêtre = 3) sont relativement plus similaires et étiquetées comme positives, tandis que les foyers qui n’ont jamais co-cliqué de cette manière par un utilisateur sont moins similaires et étiquetés comme des négatifs (comme illustré sur la figure 8).

Figure 8: Illustration de l'extraction des propriétés positives et négatives d'une maison d'ancrage à partir des données de flux de clics d'un utilisateur (taille de la fenêtre contextuelle = 3, contrainte de session à proximité: <= 10 minutes)

Fonctions de perte

Les deux fonctions de perte suivantes sont souvent prises en compte lors de la formation d'un réseau siamois.

La perte de contraste optimise directement la valeur absolue de la distance en cosinus entre deux maisons, de sorte que la distance en cosinus soit minimisée pour les paires positives, mais maximisée pour les paires négatives.

Soit C le nombre total de maisons. Suivant la définition ci-dessus des positifs et des négatifs, pour chaque foyer i, Ci désigne l'ensemble des foyers positifs agrégés à partir des flux de clics de tous les utilisateurs. Yij est l'étiquette attribuée à la paire de rattachement (i, j), positive si j ∈ Ci et négative sinon. Dij est la similitude de cosinus entre home i et home j dans le nouvel espace d'intégration. Une marge positive m (entre 0 et 2) permet à la formation de se concentrer sur les cas difficiles (négatifs difficiles).

La perte de triplets considère un triplet de maisons (i, jp, jn) où jp ∈ Ci, jn ∉ Ci. Au lieu d'optimiser la distance absolue, la perte de triplet maximise la différence de distance entre une paire négative (i, jn) et une paire positive (i, jp). L'idée d'optimiser la pertinence relative est similaire à la fonction objectif du classement personnalisé Bayesian (BPR) [7], qui s'est révélée efficace pour modéliser la rétroaction implicite. La marge m a un effet similaire à celui de la perte contrastive.

Lors de l'entraînement avec les deux fonctions de perte, pour chaque paire positive observée, 5 paires négatives ont été échantillonnées.

Recommandations similaires pour les articles de démarrage à froid

Une fois que toutes les maisons ont été mappées sur l’espace d’incorporation, la recommandation relative aux maisons est réduite à une simple recherche du plus proche voisin basée sur la distance cosinus dans l’espace d’incorporation. Notre modèle peut facilement inclure de nouvelles listes dans les recommandations. Chaque fois qu'une nouvelle maison est répertoriée, nous pouvons rechercher les représentations précalculées de tous les attributs catégoriels afin de générer la représentation numérique de la nouvelle liste. Ensuite, le réseau neuronal pré-formé mappe la représentation numérique dans l'espace de contenu vers l'espace d'intégration domestique où la similarité en cosinus peut être calculée. Le diagramme de la figure 9 résume les étapes à suivre pour gérer les nouvelles listes.

Figure 9: Flux de travail pour des recommandations de maison similaires avec de nouvelles listes

Évaluation

Des algorithmes de recommandation de domicile similaires alimentent le carrousel de maison similaire sur chaque page de détails de maison Zillow. Un conseiller en matière de logement similaire et efficace devrait stimuler la participation des utilisateurs en fournissant des indications utiles pour explorer le marché du logement. Considérant une maison vue par un utilisateur lors d'une session précédente, nous voudrions que le recommandateur classe les maisons que l'utilisateur aime explorer lors des sessions ultérieures de manière plus visible dans l'ensemble de maisons similaires recommandées. Par conséquent, nous avons conçu une métrique de pertinence basée sur des clics pour l'évaluation hors ligne. À la date de test, en nous concentrant sur le premier logement visualisé, nous examinons comment les futurs clics de chaque utilisateur sont classés dans la liste des foyers similaires recommandés. Le NDCG moyen à différents postes de classement fournit un indicateur d'évaluation hors ligne permettant de comparer différentes méthodes.

Nous avons comparé la méthode d’incorporation proposée à 3 autres méthodes que nous avons développées chez Zillow:

  1. Modèle de base: similarité de cosinus simple calculée directement à partir des représentations de base dans l'espace vectoriel de contenu illustré à la figure 5 (non supervisé).
  2. Modèle linéaire: mesure de la distance entre deux maisons sous la forme d'une combinaison pondérée des différences d'attributs. Les poids sont appris à partir des données de co-clic (supervisées).
  3. Forêt aléatoire: version non linéaire de la méthode 2 formée sur le même ensemble de fonctions de différences d'attributs (supervisé).

Nous avons évalué différents modèles en fonction des données d'événement de l'utilisateur dans l'état WA. Tous les modèles supervisés ont été formés aux événements des utilisateurs une semaine avant la date des tests. Dans le graphique de gauche de la figure 9, les métriques NDCG sont représentées par le rapport au NDCG @ 1 de la méthode de base. Le graphique de droite compare les levées NDCG de différentes méthodes supervisées par rapport à la méthode de base (similarité en cosinus simple).

Nos résultats montrent que la supervision à partir des données de co-clic utilisateur a eu pour résultat une augmentation significative des métriques NDCG par rapport à la méthode de base. La raison principale en est que les motifs de clic des utilisateurs fournissent des signaux importants tels que les attributs importants et la manière dont ils interagissent. Parmi toutes les méthodes supervisées, la méthode d’incorporation siamoise proposée surpasse à la fois le modèle linéaire et le modèle RF. En outre, la perte de triplets présente un léger avantage par rapport à la perte de contraste dans la formation du réseau siamois pour notre application. Le meilleur modèle, le modèle d'intégration Siamois formé avec une perte de triplet, a obtenu une augmentation significative de 21% sur le NDCG @ 10 par rapport à la méthode de base.

Figure 9: Comparaison de différentes méthodes de recommandation à domicile similaires sur les métriques NDCG (à gauche) et la levée NDCG par rapport à la méthode de base (à droite).

Les embeddings ont-ils un sens?

Pour répondre à cette question, nous visualisons les imbrications à 25 dimensions des maisons de l'État de Washington dans un espace 2D avec t-SNE. Dans chacun des graphiques t-SNE de la figure 10, chaque point représente une maison et la proximité entre chaque paire de points reflète la similarité de cosinus entre deux maisons de l'espace d'intégration de la maison. Nous avons coloré les points en fonction de l’échelle (logarithmique) de l’une des principales caractéristiques de la maison dans chaque parcelle. Plus la structure dans les groupes de couleurs est grande, plus l'importance de la caractéristique spécifique dans l'espace d'inclusion est grande. L'idée ici est assez similaire à celle de notre précédent article de blog où des cartes auto-organisées ont été utilisées pour visualiser les facteurs de filtrage collaboratif. Sur la figure 10, les attributs sont présentés par ordre d'importance, en fonction du signal dans la structure. À partir des visualisations d'intégration, nous observons que l'emplacement (longitude et latitude) semble être le facteur le plus important dans l'intégration, suivi du prix et de la taille de la maison. Cependant, il convient de noter que certaines caractéristiques peuvent également être importantes en raison d'interactions complexes avec d'autres, qui peuvent ne pas être directement observées via les visualisations ci-dessous.

Figure 10: Visualisations 2D du t-SNE pour la liste des intégrations dans l'état de Washington, colorées par les échelles de certains attributs de maison sélectionnés. Notez que le prix, la taille (pi 2) et les jours passés sur Zillow sont sur l’échelle du journal naturel.

Conclusion

Dans ce billet de blog, nous présentons une méthode d’inscription en profondeur basée sur l’apprentissage utilisant un réseau siamois pour des recommandations similaires à domicile chez Zillow. Notre modèle d'intégration utilise à la fois des informations de collaboration et de contenu, modélise des interactions complexes entre attributs et gère efficacement les éléments de démarrage à froid. L’évaluation hors ligne a démontré la forte performance de notre méthode d’incorporation pour faire connaître aux utilisateurs les maisons pertinentes par le biais de recommandations de maisons similaires. Sur la base des résultats hors ligne, nous travaillons actuellement à l’utilisation du modèle de réseau siamois pour alimenter la prochaine génération de moteur de recommandation de maison similaire chez Zillow.

Un grand merci à toute l’équipe de personnalisation de Zillow pour le soutien apporté à ce projet. Un merci tout particulier à Eric Ringger, Ondrej Linda et Egor Klevak pour leurs suggestions et commentaires sur ce blog.

Si vous trouvez ce travail intéressant et si vous souhaitez appliquer vos compétences en informatique des données et en apprentissage automatique à notre ensemble de données sur les biens immobiliers à grande échelle, riche et en évolution constante, contactez-nous. Nous recrutons!

Référence

[1] Grbovic, Mihajlo et al. «Liste des inscriptions dans le classement de recherche.» Le 13 mars 2018, Airbnb Engineering & Data Science @Medium.

[2] Grbovic, Mihajlo et al. «Le commerce électronique dans votre boîte de réception: les recommandations de produits à l’échelle». Actes de la 21e Conférence internationale ACM SIGKDD sur la découverte du savoir et l’exploration de données. ACM, 2015.

[3] Gudell, Gudell. «L'inventaire est en baisse, mais les annonces ne le sont pas», rapport de marché de juin 2017, Zillow Group, date de publication: le 20 juil. 2017, https://www.zillow.com/research/june-2017-market-report-15956 /

[4] Ringger, Eric et al. «Trouver votre maison: une recommandation à grande échelle sur un marché dynamique.» ComplexRec 2018

[5] Mikolov, Tomas et al. «Représentations distribuées de mots et d'expressions et de leur compositionnalité.» Progrès des systèmes de traitement d'informations neuronaux. 2013.

[6] Maaten, Laurens van der et Geoffrey Hinton. «Visualisation des données à l'aide de t-SNE». Journal of Machine Learning Research 9. Nov (2008): 2579–2605.

[7] Rendle, Steffen et al. «BPR: classement personnalisé bayésien à partir de commentaires implicites». Actes de la 25e Conférence sur l'incertitude de l'intelligence artificielle. AUAI Press, 2009.

Publié à l'origine sur www.zillow.com le 17 octobre 2018.