Cómo ayudar a encontrar una organización y no pasar una semana en ella



Cuando las personas ingresan el nombre de un taller de reparación de automóviles, clínica o tienda en la búsqueda de Yandex, quieren encontrar información sobre ellos. Por ejemplo, un horario de trabajo o un número de teléfono. Depende de la precisión y relevancia de estos datos si una persona resolverá su problema rápidamente o perderá tiempo y nervios.

Mi nombre es Alexander y represento al equipo de Geopoisk y Yandex.Directory, cuyos datos son utilizados por más de 46 millones de personas al mes. Hoy hablaré brevemente sobre cómo logramos reducir el tiempo necesario para actualizar los datos en la búsqueda de Yandex de unos pocos días a varias horas, a veces a minutos. También descubrirá quién es Ricardo Milos y qué problemas nos causó.



El directorio es una base de datos de organizaciones. Cualquier empresa o persona puede agregar información allí: indicar la dirección, el horario de atención, el teléfono y todo lo demás, y Yandex lo transmitirá a los usuarios. Los datos del directorio se usan en Search, Alice, Maps, Taxi, Navigator e incluso en nuestro identificador de llamadas, del que ya hablamos en Habré.

Y todo estaría bien, pero los datos se están quedando obsoletos: las organizaciones se están cerrando, moviendo, cambiando números y todo eso. Nosotros mismos podemos realizar un seguimiento de los cambios y realizar ediciones, pero hoy hablaremos de las ediciones que nos envían los usuarios o las empresas. Para hacer esto, tenemos formularios y otros mecanismos de retroalimentación. Entonces obtenemos varios miles de ediciones por día. Pero no podemos simplemente tomarlos y publicarlos.

Se encuentran errores en las correcciones, debido a descuidos o intenciones maliciosas. Estos últimos son especialmente numerosos. Algunos distorsionan los datos de los competidores y "cierran" la organización. Otros vándalos comunes agregan mat y otros absurdos a los nombres y descripciones de las compañías.



Entonces, si publica ediciones tal cual, los usuarios sufrirán. Por lo tanto, verificamos todo. Los operadores de centros de llamadas llaman a la organización y aclaran los cambios. Los Dockers llegan a las empresas y verifican los datos en vivo. Pero tales métodos no son lo suficientemente rápidos y el flujo de ediciones es grande. Por lo tanto, también se nos ocurrió un robot.

Usamos el clasificador automático de ediciones - Moderador automático. Esta es la máquina basada en nuestra tecnología CatBoost.. Ella está entrenada en ejemplos de ediciones buenas y malas. Afortunadamente, tenemos muchos de esos datos.

Cuando llega una edición, el Moderador automático tiene en cuenta varias docenas de factores (por ejemplo, el historial de ediciones de usuarios anteriores) y decide si aprueba la edición, la rechaza o la envía a una persona para volver a examinarla. El moderador de automóviles puede verificar la base de datos del Directorio y asegurarse de que no estén tratando de crear un duplicado, o mirar el sitio web de la organización en busca de nueva información, o incluso llamar a la organización, presentarse como Snezhana y aclarar los cambios.

Un ejemplo. En 2018, comenzó una ola de "renombrar" escuelas, monumentos y otras organizaciones en los servicios de mapas y libros de referencia: en los mapas llevaban el nombre de Ricardo Milos (hay un artículo sobre TJsobre este flash mob). Entonces, en contra de nuestra voluntad, nos encontramos con un popular meme en ese momento sobre una stripper brasileña (no es que lo quisiéramos, sino quién nos preguntó). Y fue la combinación del Moderador automático y otros mecanismos de verificación que nos ayudaron a defender los nombres verdaderos.

Por lo tanto, el clasificador automático ha reducido el tiempo que lleva actualizar los datos. Pero no nos detuvimos allí. Incluso teniendo en cuenta la ayuda del Moderador automático, las ediciones podrían llegar a los usuarios del servicio durante varios días. Esto es mucho tiempo Para reducir este tiempo, fue necesario resolver dos problemas tecnológicos.

Anteriormente, el Moderador automático parecía un proceso por lotes, funcionaba según lo programado y requería grandes recursos para la informática local (trabajando con tablas para decenas de millones de registros). Hemos cambiado eso.

Ahora este es un servicio en el que la edición y la información sobre su remitente se reciben en tiempo real. Luego, el moderador del automóvil calcula los factores y emite un veredicto. Antes de los veredictos sobre las solicitudes, podríamos esperar horas. Ahora minutos.

Pero esto no significa que los cambios lleguen al usuario en minutos. Y aquí nos esperaba la segunda tarea.

El cambio cae en la base del Directorio, pero lleva tiempo "brotar" en el servicio. Por ejemplo, la búsqueda debe actualizar el índice de búsqueda para reflejar los cambios del directorio. Para evitar esto, desarrollamos un esquema para almacenar los estados de los objetos. En pocas palabras, ahora puede reemplazar el número de teléfono en la respuesta al objeto de la Búsqueda sin reconstruir el índice de búsqueda. Ahora, al generar resultados de búsqueda, Search sabe qué objetos están desactualizados y puede obtener información más reciente. Por supuesto, todavía hay situaciones en las que un cambio en los datos afecta la clasificación de la organización, pero no hay forma sin reconstruir el índice.



Entonces, después de mejoras e implementaciones, logramos reducir el tiempo promedio para actualizar los datos sobre las organizaciones en los servicios de Yandex de unos pocos días a horas y, a veces, a minutos. Quiero creer que te diste cuenta de esto.

Hoy pongo una larga historia de trabajo en una breve publicación de revisión. Cuéntenos sobre qué lados o decisiones le gustaría leer con más detalle en el futuro. Estaremos encantados de recibir comentarios y apelaciones, seguiremos trabajando en el Directorio y le diremos a los lectores de Habr sobre sus novedades.

All Articles