Comment aider à trouver une organisation et ne pas y passer une semaine



Lorsque les gens saisissent le nom d'un atelier de réparation automobile, d'une clinique ou d'un magasin dans la recherche Yandex, ils veulent trouver des informations à leur sujet. Par exemple, un horaire de travail ou un numéro de téléphone. Cela dépend de l'exactitude et de la pertinence de ces données si une personne résoudra son problème rapidement ou perdra du temps et des nerfs.

Je m'appelle Alexander et je représente l'équipe Geopoisk et Yandex.Directory, dont les données sont utilisées par plus de 46 millions de personnes par mois. Aujourd'hui, je vais parler brièvement de la façon dont nous avons réussi à réduire le temps nécessaire pour mettre à jour les données dans la recherche Yandex de quelques jours à plusieurs heures, parfois à quelques minutes. Vous découvrirez également qui est Ricardo Milos et quels problèmes il nous a causés.



L'annuaire est une base de données d'organisations. Toute entreprise ou personne peut y ajouter des informations: indiquez l'adresse, les heures d'ouverture, le téléphone et tout le reste - et Yandex les communiquera aux utilisateurs. Les données de l'annuaire sont utilisées dans Search, Alice, Maps, Taxis, Navigator, et même dans notre identification de l'appelant, dont nous avons déjà parlé sur Habré.

Et tout irait bien, mais les données deviennent obsolètes: les organisations ferment, déménagent, changent de chiffres et tout ça. Nous pouvons nous-mêmes suivre les modifications et apporter des modifications, mais aujourd'hui, nous parlerons des modifications que les utilisateurs ou les entreprises nous envoient. Pour ce faire, nous avons des formulaires et d'autres mécanismes de rétroaction. Nous obtenons donc plusieurs milliers de modifications par jour. Mais nous ne pouvons pas simplement les prendre et les publier.

Des erreurs sont trouvées dans les corrections - en raison de la négligence ou d'une intention malveillante. Ces derniers sont particulièrement nombreux. Certains déforment les données des concurrents et «ferment» l'organisation. D'autres vandales ordinaires ajoutent du mat et d'autres absurdités aux noms et descriptions des entreprises.



Donc, si vous publiez des modifications telles quelles, les utilisateurs en souffriront. Par conséquent, nous vérifions tout. Les opérateurs de centre d'appels appellent l'organisation et clarifient les changements. Les dockers atteignent les entreprises et vérifient les données en direct. Mais ces méthodes ne sont pas assez rapides et le flux de modifications est important. Par conséquent, nous avons également conçu un robot.

Nous utilisons le classificateur automatique des modifications - Modérateur automatique. Il s'agit de la machine basée sur notre technologie CatBoost.. Elle est formée sur des exemples de bonnes et de mauvaises modifications. Heureusement, nous avons beaucoup de telles données.

Lorsqu'une modification arrive, le modérateur automatique prend en compte plusieurs dizaines de facteurs (par exemple, l'historique des modifications des utilisateurs précédents) et décide d'approuver la modification, de la rejeter ou de l'envoyer à une personne pour réexamen. Le modérateur de la voiture peut vérifier la base de l'annuaire et s'assurer qu'il n'essaye pas de créer un doublon, ou consulter le site Web de l'organisation à la recherche de nouvelles informations, ou même appeler l'organisation, se présenter comme Snezhana et clarifier les changements.

Un exemple. En 2018, une vague de «renommage» des écoles, monuments et autres organisations a commencé dans les services de cartographie et les ouvrages de référence: sur les cartes, ils ont été nommés d'après Ricardo Milos (il y a un article sur TJà propos de ce flash mob). Donc, contre notre gré, nous avons rencontré un mème populaire à l'époque sur un strip-teaseur brésilien (pas que nous le voulions, mais qui nous l'a demandé). Et c'est la combinaison de l'Auto Moderator et d'autres mécanismes de vérification qui nous a aidés à défendre les vrais noms.

Ainsi, le classificateur automatique a réduit le temps de mise à jour des données. Mais nous ne nous sommes pas arrêtés là. Même en tenant compte de l'aide de l'Auto Moderator, les modifications pourraient atteindre les utilisateurs du service pendant plusieurs jours. Ça fait longtemps. Pour réduire ce temps, il a fallu résoudre deux problèmes technologiques.

Auparavant, le modérateur automatique ressemblait à un processus par lots, il fonctionnait selon le calendrier et nécessitait de grandes ressources pour l'informatique locale (en travaillant avec des tables pour des dizaines de millions d'enregistrements). Nous avons changé cela.

Maintenant, c'est un service dans lequel l'édition et les informations sur son expéditeur sont reçues en temps réel. Ensuite, le modérateur de la voiture calcule les facteurs et rend un verdict. Avant les verdicts sur les candidatures, nous pouvions attendre des heures. Maintenant, quelques minutes.

Mais cela ne signifie pas que les modifications atteindront l'utilisateur en quelques minutes. Et ici, la deuxième tâche nous attendait.

Le changement tombe dans la base de l'annuaire, mais il faut du temps pour «germer» dans le service. Par exemple, la recherche doit mettre à jour l'index de recherche pour refléter les modifications apportées à l'annuaire. Pour contourner cela, nous avons développé un schéma pour stocker les états des objets. Autrement dit, vous pouvez maintenant remplacer le numéro de téléphone dans la réponse d'objet de la recherche sans reconstruire l'index de recherche. Désormais, lors de la création des résultats de la recherche, la recherche sait quels objets sont obsolètes et peut extraire des informations plus récentes. Bien sûr, il existe encore des situations où un changement de données affecte le classement de l'organisation, mais il n'y a aucun moyen sans reconstruire l'index.



Ainsi, après des améliorations et des implémentations, nous avons pu réduire le temps moyen de mise à jour des données sur les organisations dans les services Yandex de quelques jours à quelques heures, et parfois à quelques minutes. Je veux croire que vous l'avez remarqué.

Aujourd'hui, j'ai mis un assez long historique de travail dans un court article de synthèse. Parlez-nous des côtés ou des décisions que vous aimeriez lire plus en détail à l'avenir. Nous serons heureux de recevoir des commentaires et des appels, nous continuerons à travailler sur le répertoire et informer les lecteurs Habr de ses nouvelles.

All Articles