Un conseil: réorganiser la méthodologie de classement des astuces de Foursquare

Par: Enrique Cruz

Chez Foursquare, nous sommes fiers de permettre à notre communauté d'explorer le monde qui les entoure. Notre application grand public, Foursquare City Guide, est un moteur de recommandation basé sur la localisation et une application d'exploration. L'une des principales actions de nos utilisateurs consiste à rédiger des conseils (ou une courte description publique de texte) attachés à un lieu qui sert souvent de révision rapide ou de suggestion. Au fil des ans, les utilisateurs de Foursquare ont écrit plus de 95 millions de conseils. Bien que ces conseils soient précieux, ils fournissent une tonne d'informations à parcourir. C'est pourquoi déterminer quels conseils sont «meilleurs» que d'autres pour un lieu donné est une tâche importante dans l'écosystème de l'application Foursquare.

Il y a quelques mois, nous avons revu notre stratégie de sélection des meilleurs conseils pour un lieu donné. Notre nouveau modèle de classement améliore considérablement nos approches antérieures et exploite les signaux contextuels, textuels et sociaux, ce qui nous permet de sélectionner les conseils qui fournissent à nos utilisateurs le contenu le plus informatif, pertinent et de haute qualité. Dans cet article, nous passerons en revue notre nouvelle méthodologie ainsi que la façon dont l'introduction du modèle a produit des résultats positifs significatifs, mesurés par divers tests A / B dans différents cas d'utilisation.

Approches passées

Historiquement, Foursquare a utilisé quelques mécanismes différents pour trier et sélectionner les meilleurs conseils sur un site - mais nous avons estimé qu'aucun d'entre eux n'était pleinement satisfaisant en soi.

Discutons de quelques-unes des stratégies de classement les plus importantes précédemment utilisées et passons en revue leurs défis:

Popularité: Il s'agit d'une mesure des interactions positives obtenues par un pourboire depuis sa création, comme les «votes positifs». Généralement, la présentation de contenu pertinent ou utile pour les utilisateurs a tendance à favoriser le contenu ancien ou obsolète, ce qui conduit à un cycle de rétroaction où les conseils hautement classés sont exposés de manière plus visible (gagnant ainsi encore plus en popularité). L'affichage continu de vieux conseils peut rendre nos applications obsolètes, sans tirer parti de la communauté d'utilisateurs très active que nous avons qui nous fournit continuellement de nouveaux conseils impressionnants.

Récence: il s'agit d'une mesure du temps qui s'est écoulé depuis la création de la pointe. Cette mesure fait un excellent travail pour montrer le dynamisme de la communauté Foursquare, mais elle n'offre aucune garantie de qualité ou de pertinence.

Notre nouveau classeur astucieux

Pour notre nouveau classeur de pourboires, nous voulions tirer parti des succès des approches antérieures et développer un système qui non seulement équilibrait la popularité et la récence, mais nous permettait également de prendre en compte d'autres signaux nuancés qui aident à différencier un mauvais pourboire d'un excellent.

En plus de la popularité et de la récence telles que définies ci-dessus, nous avons inclus les fonctionnalités suivantes dans notre modèle de classement des astuces remanié:

Identification de la langue: il s'agit d'un classificateur de langue construit à l'aide d'un ensemble de solutions open source et locales afin d'éviter de fournir des conseils dans des langues qu'un utilisateur ne comprend pas.

Richesse du contenu: il s'agit de plusieurs signaux qui suivent des attributs et des métadonnées plus généraux sur la pointe au-delà des informations réelles contenues dans la pointe elle-même. Parmi ces facteurs, il y a la présence ou l'absence d'une photo, des liens vers des sources externes, ainsi que le nombre de mots contenus dans l'astuce.

Confiance des auteurs: il s'agit de statistiques sur les auteurs, telles que la durée d'occupation en tant qu'utilisateur de Foursquare City Guide, la popularité totale et d'autres faits agrégés autour des conseils précédemment écrits par l'utilisateur. Ces signaux tentent de capturer la fiabilité d'un utilisateur en tant qu'auteur de pourboire.

Qualité globale: il s'agit d'un ensemble de scores de divers classificateurs statistiques qui sont formés pour identifier des traits spécifiques, tels que le sentiment d'un pourboire (formé en utilisant des notes explicites de «j'aime» et de «je n'aime pas») qu'un utilisateur a fourni pour un lieu sur le même jour que le pourboire a été rédigé. Le traitement du langage naturel (NLP) est ensuite utilisé pour apprendre quels mots et expressions prédisent le mieux chaque classe de conseils. En ce qui concerne la probabilité qu'un pourboire soit signalé comme spam - il s'agit de se renseigner sur les conseils antérieurs signalés comme spam et d'apprendre les attributs qui correspondent le mieux à cela.

Mettre les nouvelles fonctionnalités au travail et collecter des données de formation

Afin de former notre modèle à l'aide de ces nouvelles fonctionnalités, nous avons généré des données de formation en tirant parti des plateformes de crowdsourcing existantes. Pour collecter nos données, nous avons d'abord déterminé les 1 000 meilleurs sites les plus populaires en fonction des vues des utilisateurs et avons procédé à un échantillonnage aléatoire de 100 paires distinctes de conseils de chacun de ces sites. Après avoir pris en compte le filtrage et la déduplication du langage, cela a produit un ensemble de données de 75 000 paires de pointes.

Nous avons ensuite créé des étiquettes pour ces données en concevant un travail sur Figure Eight (anciennement CrowdFlower, une plateforme de crowdsourcing pour des tâches similaires à Amazon Mechanical Turk) où les juges recevraient une paire de pourboires de notre pool d'échantillons à côté du site concerné. On a ensuite posé aux juges la question: «Si vous étiez actuellement sur ce lieu ou envisagez de visiter ce lieu, lequel des éléments suivants est plus informatif?» Nous avons conçu le test afin que les conseils soient affichés dans un contexte similaire à la façon dont ils sont affichés dans l'application City Guide, exposant nos juges à toutes les mêmes informations contextuelles qui affectent la façon dont nos utilisateurs réels voient un conseil. Le résultat de notre travail sur la figure huit a donné environ 50 000 paires de pointes étiquetées que nous avons divisées en données de formation et d'évaluation.

Pour former notre nouveau classeur de conseils, nous avons exploré une variété d'algorithmes, notamment LambdaMART, Coordinate Ascent et RankBoost. Après avoir évalué les résultats, nous avons décidé d'utiliser SVMrank (une implémentation de Support Vector Machines) comme algorithme d'apprentissage supervisé. Notre objectif était de minimiser le nombre de paires d'embouts désordonnées à la lumière de nos étiquettes d'entraînement participatives.

Au fur et à mesure que nous itérions et ajustions notre nouveau classement, nous évaluions ses performances par rapport à un ensemble de données «retenu», en le comparant à certaines mesures de base. Nous avons également évalué qualitativement les classeurs avec un nouvel outil côte à côte pour rechercher les meilleurs conseils pour un lieu choisi par chaque modèle.

Dans le modèle final, Tip Ranker avec des fonctionnalités de texte, ce sont les fonctionnalités avec le poids le plus élevé:

  • Longueur de la pointe et nombre de jetons
  • Présence d'une photo
  • Sentiment positif
  • Récence

Les caractéristiques avec le moins de puissance prédictive se sont avérées être:

  • Popularité
  • Statistiques agrégées de l'auteur

Résultats et applications des tests A / B

Après les résultats encourageants du classeur de pourboires nouvellement formé sur notre ensemble de données, nous avons mis le modèle en production pour l'utiliser sur l'ensemble de notre corpus de sites et l'avons exploité à divers points de contact au sein de l'écosystème Foursquare. Vous trouverez ci-dessous quelques-uns des endroits où nous avons expérimenté le nouveau classeur et les résultats des tests A / B avec une répartition de 50% de notre base d'utilisateurs.

  • Application «At a Venue Ping»: lorsque nous détectons qu'un utilisateur se trouve dans un lieu donné avec une certaine probabilité, Foursquare envoie à l'utilisateur un ping contenant le meilleur pourboire (non vu auparavant par l'utilisateur) pour le lieu. Cela a été précédemment déterminé en utilisant uniquement les caractéristiques de qualité globale qui ont alimenté un modèle de forêt aléatoire pour la notation, le tri et le filtrage des candidats de pointe.
  • Résultat: notre nouveau classement a apporté des améliorations significatives par rapport au groupe de contrôle, entraînant une augmentation de 1,5% du taux de clics, tout en nous permettant également d'envoyer 32% de pings supplémentaires en supprimant certains filtres calibrés existants qui existaient en raison d'un manque de confiance. dans la méthode de sélection préalable. En outre, le groupe d'expérience a entraîné une augmentation de 5% des jours d'activité de l'application principale.
Échantillon sur site Ping Propulsé par le Tip Ranker
  • Application «Post Check-in Insight»: lorsque nos utilisateurs s'enregistrent sur notre autre application grand public, Foursquare Swarm, nous affichons certains éléments de contenu pour l'endroit où l'utilisateur vient de se connecter. Parmi ceux-ci, un conseil Foursquare City Guide pour le lieu et une vente incitative pour voir tous les conseils s'ils ont installé l'application Foursquare City Guide (ou la télécharger autrement). Auparavant, cette sélection de conseils se faisait uniquement sur des signaux sociaux.
  • Résultat: Le test A / B avec le nouveau modèle a vu une augmentation significative de toutes les actions liées aux astuces (telles que les «j'aime», les astuces et les photos) ainsi qu'une augmentation nette de 1% des utilisateurs actifs pour Foursquare City Guide en raison de plus les utilisateurs qui choisissent d'appuyer sur la vente incitative.
Exemple d'insight post checkin optimisé par Tip Ranker
  • Application «Tri par défaut de la page du lieu»: Lorsque vous affichez une page de lieu, nous affichons une liste des meilleurs conseils du lieu dans l'onglet de surbrillance. Cela était auparavant par défaut une sorte de signaux sociaux positifs pour les conseils. Nous avons effectué un test A / B regroupé par sites afin de mesurer tout changement SEO.
  • Résultat: alors que la version connectée de l'expérience n'a donné aucun résultat significatif, la version SEO a entraîné une augmentation de 2,40% du trafic global de référence. Nous supposons que cela est principalement dû à la préférence du classeur pour un contenu plus long, comprenant plus de photos et rédigé plus récemment.

Travaux futurs et extensions possibles

Il reste quelques domaines de travail à explorer qui pourraient apporter de nouvelles améliorations dans la façon dont nous sélectionnons les astuces en incorporant de nouvelles fonctionnalités dans le modèle.

Certains d'entre eux comprennent:

  • Signaux sociaux négatifs: au moment de la création du modèle, Foursquare City Guide ne proposait aux utilisateurs que des moyens pour «aimer» et enregistrer un pourboire, ou pour le signaler comme spam. Depuis lors, nous avons introduit une nouvelle interaction pour downvote un tip, à l'avenir il serait intéressant de recycler le modèle avec ce nouveau signal pour valider s'il a un quelconque pouvoir prédictif.
  • Sentiment d'appariement des notes: Le modèle préfère massivement les pourboires avec un sentiment positif. Bien que cela soit utile, il présente une certaine dissonance lorsqu'un lieu a une note faible, mais les meilleurs conseils sont généralement positifs. Une extension de ce travail peut classer les astuces pour montrer une distribution des sentiments qui reflète mieux la note du lieu et sa distribution sous-jacente des votes.

Dans l'ensemble, il est essentiel pour nous d'évaluer en permanence la façon dont nous traitons, suivons et présentons les commentaires des utilisateurs - ce qui contribue à notre base d'utilisateurs actifs et à l'afflux d'informations basées sur la localisation. En analysant les approches passées et en expérimentant de nouvelles techniques, nous sommes en mesure de servir notre communauté avec les informations les plus précieuses possibles.

Pour plus d'informations sur nos efforts d'ingénierie, suivez Foursquare Engineering sur Medium et restez à jour sur nos offres d'emploi.