Dans cette présentation de ProductTank à San Francisco, Alex Miller, ingénieur logiciel unique dans l’équipe de compréhension du contenu de Yelp, nous donne une étude de cas sur l’utilisation de l’apprentissage automatique (en particulier l’apprentissage en profondeur) pour fournir un système de classement qui fait apparaître les plus belles photos d’une entreprise. en haut de leur page.
Classement de base des photos
Vous connaissez peut-être Yelp comme un site où les utilisateurs publient des avis sur des entreprises. Mais Alex nous dit que le volume de photos est en réalité bien supérieur au nombre de critiques. Yelp souhaite s’assurer que les photos qui représentent le mieux une entreprise figurent en haut de la page d’une entreprise. Alors, comment font-ils cela?
Traditionnellement, Yelp utilisait des métadonnées de base pour classer les photos telles que les commentaires des utilisateurs (comme et votes), les attributs des photos (taille des photos, âge) et les clics. Bien que cela ait fonctionné jusqu’à un certain point, les hypothèses sous-jacentes du modèle étaient erronées. Par exemple, une photo peut générer beaucoup de clics car elle est floue et les utilisateurs souhaitent voir de quoi il s’agit. Ou une photo pourrait avoir beaucoup de goûts parce qu’elle était drôle. Mais ni l’un ni l’autre ne serait la meilleure représentation de l’entreprise.
Aider le modèle à apprendre
Yelp cherchait un modèle qui pourrait mieux comprendre le qualité de photos: caractéristiques telles que la profondeur de champ, le contraste, l’alignement et d’autres caractéristiques généralement présentes dans les photos de meilleure qualité. Il a donc commencé à utiliser un modèle appelé réseau neuronal convolutif (CNN) qui fournirait un meilleur prédicteur que la photo serait qualifiée de «belle».
Pour tout problème d’apprentissage machine bien posé, Alex explique que vous avez besoin d’un modèle et de données pour former ce modèle. Yelp a dû trouver «un ensemble d’or» de photos qui pourraient être considérées comme bonnes et mauvaises pour aider le modèle à apprendre. L’équipe de compréhension du contenu a trouvé une variété de signaux qui ont aidé à déterminer un proxy: si une photo était prise par un appareil photo reflex numérique, elle serait étiquetée comme «bonne». S’il s’agissait d’un appareil photo non DSLR, il serait étiqueté comme «mauvais». Cela a permis au modèle d’apprendre les caractéristiques qu’il recherchait lorsque Yelp a construit son score de qualité.
Mettre le modèle à profit
Maintenant que Yelp avait un prédicteur assez fiable de la qualité des photos, l’équipe de compréhension du contenu devait décider comment l’utiliser dans la pratique. Alex parle d’autres considérations dont ils devaient tenir compte: évaluations quotidiennes par lots ou en continu des photos, API dont les autres équipes auraient besoin pour utiliser le classement, et logique de filtrage et de diversification pour garantir que le classement serait un flux qui conviendrait le mieux. représenter une entreprise sur Yelp. En fin de compte, ils ont pu évaluer les résultats avec des mesures et fournir une amélioration impressionnante de leurs flux en utilisant une approche d’apprentissage en profondeur pour évaluer les photos.