paint-brush
Ces informations Google Maps découvertes par un scientifique des données sont incroyablespar@shauryauppal
928 lectures
928 lectures

Ces informations Google Maps découvertes par un scientifique des données sont incroyables

par Shaurya Uppal4m2023/01/11
Read on Terminal Reader

Trop long; Pour lire

En tant que data scientist, je trouve que la personnalisation et le classement de la recherche sont un défi complexe et intéressant. Google Maps reconnaît ma position et affiche les cinq emplacements les plus populaires visités ou cliqués par les personnes qui ont déjà tapé « ei » Tous les résultats sont à proximité de ma position (voir Fig. 1)
featured image - Ces informations Google Maps découvertes par un scientifique des données sont incroyables
Shaurya Uppal HackerNoon profile picture
0-item


Google Maps est un produit incroyable, et il apporte beaucoup de valeur à la vie des gens. Aujourd'hui, j'ai pensé partager mon point de vue sur la façon dont quelqu'un peut créer un produit comme celui-ci à partir de zéro.


S'il est vrai que la recherche implique à la fois l'ingénierie et la science des données, de nombreuses entreprises peuvent sous-estimer l'importance de la science des données dans la recherche. La recherche ne consiste pas seulement à créer une infrastructure technique pour traiter et renvoyer les résultats d'une requête donnée, mais aussi à comprendre et à anticiper les besoins et les préférences des utilisateurs, et à utiliser les données pour adapter l'expérience de recherche aux utilisateurs individuels.


En tant que data scientist, je trouve que la personnalisation et le classement de la recherche sont un défi complexe et intéressant. Nous captons l'intérêt des utilisateurs en examinant : les requêtes de recherche des utilisateurs, l'historique des recherches passées et les données sur les clics.


Cette newsletter répondra à toutes vos questions sur :


  • Quelles sont les données requises ?
  • Besoin de classement et de pertinence dans les cartes ?
  • Pourquoi un résultat particulier s'affiche ?


Avis de non-responsabilité : Veuillez envoyer un DM avant de republier cette stratégie sur d'autres plates-formes, car elle est entièrement originale pour moi et n'a pas été copiée. Je ne cautionne aucune marque; les exemples partagés sont juste pour apprendre. N'importe qui peut créer ses propres cartes à partir de zéro en utilisant ce concept.

Si quelqu'un veut une consultation de ma part, contactez ICI

Pourquoi ce résultat et comment ?

Ce que nous recherchons : J'habite à Gurugram et je recherche la "Tour Eiffel, Paris"

Commençons à taper "EI" sur Maps et analysons. Nous avons obtenu les 5 premiers résultats de la requête ci-dessous.

Fig.1 Analyse de recherche


Pourquoi n'y a-t-il que cinq résultats ? La recherche est une question de classement et de pertinence. Le but de l'algorithme est d'obtenir le résultat souhaité par l'utilisateur avec une longueur de requête minimale. D'un autre côté, plus de contexte pour l'algorithme est préférable à l'effort de faire défiler une longue liste de résultats renvoyés par la requête "ei".


Fig. 1. Analyse de recherche


Raison de ce résultat : la popularité et les signaux contextuels sont déclenchés ici. Google Maps reconnaît ma position et affiche les cinq emplacements les plus populaires visités ou cliqués par les personnes qui ont déjà tapé "ei". Tous les résultats sont proches de mon emplacement (voir Fig. 1). La requête "eif" place la Tour Eiffel en 3ème position en raison de son score de popularité plus élevé. (voir Fig.2)


Fig.2 Recherche basée sur la popularité et la distance

Comment créer la recherche géolocalisée d'un utilisateur ?

Qu'avons-nous ?


  • Nous connaissons l'emplacement de l'utilisateur
  • Emplacements de toutes les entités enregistrées — boutiques, cafés, restaurants, hôtels, etc.

Approche naïve

À l'aide de la formule Haversine, calculez la distance entre User Lat/Long et d'autres emplacements dans une ville ou un code postal. (voir Fig.3)


Fig.3 Formule Haversine


Au niveau GMaps, où il y a des milliards d'entités et des millions d'utilisateurs, cette approche n'est pas évolutive.

Approche plus intelligente avec DS Intelligence

  • Disons que nous effectuons cette accumulation de recherche uniquement pour la région de Bangalore.
  • Nous regroupons chaque entité enregistrée - décomposant toute la région en groupes de sous-entités plus petits, disons 50. (voir Fig.4)

Fig.4 Bangalore en clusters de sous-entités


  • Lorsqu'un utilisateur se connecte, vérifiez simplement ses entités Lat-Long et classez-les en fonction de leur popularité au sein du cluster. Cette approche ajoute à la fois des éléments basés sur la distance et la popularité à nos résultats de recherche.

PS. Certains d'entre vous pourraient demander si cela peut être fait dans Elastic Search. Découvrez le géo-tri

Fig.5 Géo-tri ES

Comment rendre la recherche plus contextuelle ou personnalisée ?

Pour rendre la recherche plus contextuelle ou personnalisée, vous pouvez envisager d'utiliser des approches basées sur les données qui tiennent compte des besoins ou des préférences spécifiques de l'utilisateur. Par exemple, si M. Wolf recherche des restaurants et a effectué plusieurs requêtes liées aux restaurants dans un court laps de temps ou au cours de la même session, vous pouvez donner la priorité à l'affichage de résultats personnalisés en fonction de son emplacement et également tenir compte de son historique de recherche passé. Cela peut impliquer de classer les restaurants proches de lui plus haut dans les résultats de recherche et de lui présenter des options adaptées à ses goûts ou préférences ou à ses visites précédentes dans différents endroits.


En utilisant des approches basées sur les données, vous pouvez fournir à M. Wolf des résultats de recherche plus pertinents et ciblés plutôt que de simplement vous fier à des critères populaires ou basés sur la distance.

Quelqu'un peut demander, Shaurya, vous avez parlé de l'aspect popularité dans la recherche, mais quelles sont les différentes façons d'identifier un lieu comme populaire ?

  • Nombre de vues/clics au cours du dernier mois
  • Nombre de personnes ayant visité un lieu au cours du dernier mois
  • Proxy multiplateforme : Google Pay Transaction analysis, une boutique marchande est considérée comme populaire si le volume de transactions est élevé

Recommandations des recherches passées en cache

Aucun modèle de science des données ne peut battre la simplicité de données historiques bien présentées (voir Fig. 6) avec des algorithmes de mise en cache : LFU (moins fréquemment utilisé) ou LFU avec vieillissement dynamique (consultez le lien ci-dessous pour une explication détaillée du LFU avec vieillissement dynamique).


Consultez mon blog ici : https://shauryauppal.medium.com/thinking-data-strategies-in-fintech-universe-building-payments-recommendation-system-for-google-95c746e3dd0e

Fig. 6 Recherche en cache

Résumé de notre analyse

1. Nous avons expliqué pourquoi 5 résultats sont affichés dans la liste des résultats de recherche

2. Classement des résultats basé sur la popularité + la distance

3. Géo-tri dans Elastic Search

4. Personnalisation dans la recherche basée sur la catégorie historique des requêtes

5. Comment identifiez-vous une entité comme emplacement populaire ?

6. Recommandations basées sur la mise en cache des requêtes de recherche passées et des lieux visités


Merci à tous de m'avoir offert ce prix


Noonies Tech 2022


Connectez-vous, suivez-moi ou soutenez-moi sur LinkedIn si vous avez trouvé cette lecture utile. Pour en savoir plus sur moi rendez-vous sur : Ici


Je suis à la recherche d'un rôle intéressant de lead / senior data scientist : si vous avez quelque chose pour moi, connectons-nous à [email protected]


Republier depuis ma Newsletter : Ici et Ici