Apprendre à classer différemment
par Malay Haldar , Liwei He & Moose Abdool
Airbnb connecte chaque jour des millions de voyageurs et d'hôtes. La plupart de ces connexions sont forgées par la recherche, dont les résultats sont déterminés par un algorithme de classement basé sur un réseau de neurones. Bien que ce réseau de neurones soit apte à sélectionner des listes individuelles pour les clients, nous avons récemment amélioré le réseau de neurones pour mieux sélectionner la collection globale de listes qui composent un résultat de recherche. Dans cet article, nous approfondissons cette récente percée qui améliore la diversité des listes dans les résultats de recherche.
Comment fonctionne le classement ?
Le réseau neuronal de classement trouve les meilleures annonces à faire apparaître pour une requête donnée en comparant deux annonces à la fois et en prédisant laquelle a la plus grande probabilité d'être réservée. Pour générer cette estimation de probabilité, le réseau de neurones attribue des pondérations différentes à divers attributs d'annonce tels que le prix, l'emplacement et les avis. Ces pondérations sont ensuite affinées en comparant les annonces réservées aux annonces non réservées à partir des journaux de recherche, dans le but d'attribuer des probabilités plus élevées aux annonces réservées qu'aux annonces non réservées.
Qu'est-ce que le réseau de neurones de classement apprend au cours du processus ? À titre d'exemple, un concept que le réseau de neurones reprend est que des prix plus bas sont préférés. Ceci est illustré dans la figure ci-dessous, qui trace l'augmentation du prix sur l'axe des x et son effet correspondant sur les scores de modèle normalisés sur l'axe des y. L'augmentation du prix fait baisser les scores des modèles, ce qui est logique puisque la majorité des réservations sur Airbnb penchent vers la gamme économique.
Mais le prix n'est pas la seule caractéristique pour laquelle le modèle apprend de tels concepts. D'autres caractéristiques telles que la distance entre l'annonce et le lieu de la requête, le nombre d'avis, le nombre de chambres et la qualité des photos peuvent toutes présenter de telles tendances. Une grande partie de la complexité du réseau de neurones réside dans l'équilibre de tous ces différents facteurs, en les adaptant aux meilleurs compromis possibles qui conviennent à toutes les villes et à toutes les saisons.
Une taille unique peut-elle convenir à tous ?
La façon dont le réseau de neurones de classement est construit, son estimation de probabilité de réservation pour une annonce est déterminée par le nombre de clients dans le passé qui ont réservé des annonces avec des combinaisons similaires de prix, d'emplacement, d'avis, etc. La notion de probabilité de réservation plus élevée se traduit essentiellement par ce que la majorité des clients ont préféré dans le passé. Par exemple, il existe une forte corrélation entre des probabilités de réservation élevées et des prix d'inscription bas. Les probabilités de réservation sont adaptées à l'emplacement, au nombre d'invités et à la durée du voyage, entre autres facteurs. Cependant, dans ce contexte, l'algorithme de classement améliore les listes que la plus grande partie de la population d'invités aurait préférées. Cette logique est répétée pour chaque position dans le résultat de la recherche, de sorte que l'ensemble du résultat de la recherche est construit pour favoriser la préférence de la majorité des clients.Principe de la majorité dans le classement - la tendance écrasante de l'algorithme de classement à suivre la majorité à chaque position.
Mais la préférence de la majorité n'est pas la meilleure façon de représenter les préférences de l'ensemble de la clientèle. Poursuivant notre discussion sur les prix d'inscription, nous examinons la répartition des prix réservés pour une destination populaire - Rome - et nous nous concentrons spécifiquement sur les voyages de deux nuits pour deux invités. Cela nous permet de nous concentrer sur les variations de prix dues uniquement à la qualité de l'annonce et d'éliminer la plupart des autres variabilités. La figure ci-dessous trace la distribution.
L'axe des x correspond aux valeurs de réservation en USD, à l'échelle logarithmique. L'axe des ordonnées de gauche correspond au nombre de réservations correspondant à chaque niveau de prix sur l'axe des abscisses. La forme orange confirme la distribution log-normale de la valeur de réservation. La ligne rouge trace le pourcentage du total des réservations à Rome qui ont une valeur de réservation inférieure ou égale au point correspondant sur l'axe des abscisses, et la ligne verte trace le pourcentage de la valeur totale des réservations pour Rome couverte par ces réservations. Le partage de la valeur totale de la réservation 50/50 divise les réservations en deux groupes inégaux d'environ 80/20. En d'autres termes, 20 % des réservations représentent 50 % de la valeur de la réservation. Pour cette minorité de 20 %, moins cher n'est pas forcément meilleur, et leur préférence va davantage à la qualité. Cela démontre le principe de Pareto , une vision grossière de l'hétérogénéité des préférences parmi les clients.
Alors que le principe de Pareto suggère la nécessité de tenir compte d'un plus large éventail de préférences, le principe de majorité résume ce qui se passe dans la pratique. En ce qui concerne le classement de recherche, le principe de majorité est en contradiction avec le principe de Pareto.
Diversifier en réduisant la similarité
Le manque de diversité des listes dans les résultats de recherche peut également être considéré comme des listes trop similaires les unes aux autres. La réduction de la similarité entre les listes peut donc supprimer certaines des listes des résultats de recherche qui sont des choix redondants pour commencer. Par exemple, au lieu de dédier chaque position dans le résultat de la recherche à des listes économiques, nous pouvons utiliser certaines des positions pour des listes de qualité. Le défi ici est de savoir comment quantifier cette similarité entre les listes et comment l'équilibrer avec les probabilités de réservation de base estimées par le réseau de neurones de classement.
Pour résoudre ce problème, nous construisons un autre réseau de neurones, un compagnon du réseau de neurones de classement. La tâche de ce réseau neuronal compagnon est d'estimer la similarité d'une liste donnée avec des listes précédemment placées dans un résultat de recherche.
Pour entraîner le réseau neuronal de similarité, nous construisons les données d'entraînement à partir des résultats de recherche enregistrés. Tous les résultats de recherche où l'annonce réservée apparaît comme premier résultat sont ignorés. Pour les résultats de recherche restants, nous mettons de côté le premier résultat en tant que liste spéciale, appelée liste des antécédents. En utilisant les annonces à partir de la deuxième position, nous créons des paires d'annonces réservées et non réservées. Ceci est résumé dans la figure ci-dessous.
Nous formons ensuite un réseau de neurones de classement pour attribuer une probabilité de réservation plus élevée à la liste réservée par rapport à la liste non réservée, mais avec une modification - nous soustrayons la sortie du réseau de neurones de similarité qui fournit une estimation de similarité entre la liste donnée et la liste antécédente. Le raisonnement ici est que les clients qui ont sauté la liste précédente et ont ensuite réservé une liste à partir des résultats ci-dessous doivent avoir choisi quelque chose qui est différent de la liste précédente. Sinon, ils auraient réservé la liste précédente elle-même.
Une fois formés, nous sommes prêts à utiliser le réseau de similarité pour classer les annonces en ligne. Lors du classement, nous commençons par remplir le résultat le plus élevé avec l'annonce qui a la probabilité de réservation la plus élevée. Pour les positions suivantes, nous sélectionnons l'annonce qui a la probabilité de réservation la plus élevée parmi les annonces restantes, après avoir réduit sa similitude avec les annonces déjà placées ci-dessus. Le résultat de la recherche est construit de manière itérative, chaque position essayant d'être différente de toutes les positions situées au-dessus. Les annonces trop similaires à celles déjà placées sont effectivement déclassées, comme illustré ci-dessous.
Suivre cette stratégie a conduit à l'un des changements de classement les plus percutants de ces derniers temps. Nous avons observé une augmentation de 0,29 % des réservations non annulées, ainsi qu'une augmentation de 0,8 % de la valeur des réservations. L'augmentation de la valeur des réservations est bien supérieure à l'augmentation des réservations, car l'augmentation est dominée par des annonces de haute qualité qui sont en corrélation avec une valeur plus élevée. L'augmentation de la valeur des réservations nous fournit un indicateur fiable pour mesurer l'augmentation de la qualité, bien que l'augmentation de la valeur des réservations ne soit pas l'objectif. Nous avons également observé des preuves directes d'une augmentation de la qualité des réservations - une augmentation de 0,4 % des notes 5 étoiles, indiquant une plus grande satisfaction des clients pour l'ensemble du voyage.
Lectures complémentaires
Nous avons discuté de la réduction de la similarité entre les annonces afin d'améliorer l'utilité globale des résultats de recherche et de répondre aux diverses préférences des clients. Bien qu'intuitif, pour mettre l'idée en pratique, nous avons besoin d'une base rigoureuse en apprentissage automatique, qui est décrite dans notre article technique . Ensuite, nous examinons plus en profondeur la diversité géographique des résultats. Nous accueillons tous les commentaires et suggestions pour le document technique et le billet de blog.
Intéressé à travailler chez Airbnb ? Découvrez ces rôles ouverts .
![Qu'est-ce qu'une liste liée, de toute façon? [Partie 1]](https://post.nghiatu.com/assets/images/m/max/724/1*Xokk6XOjWyIGCBujkJsCzQ.jpeg)



































