Cara membantu menemukan organisasi dan tidak menghabiskan waktu seminggu di sana



Ketika orang memasukkan nama bengkel mobil, klinik atau toko di pencarian Yandex, mereka ingin mencari informasi tentang mereka. Misalnya, jadwal kerja atau nomor telepon. Tergantung pada keakuratan dan relevansi data ini apakah seseorang akan menyelesaikan masalahnya dengan cepat atau kehilangan waktu dan saraf.

Nama saya Alexander, dan saya mewakili tim Geopoisk dan Yandex.Directory, yang datanya digunakan oleh lebih dari 46 juta orang sebulan. Hari ini saya akan berbicara secara singkat tentang bagaimana kami berhasil mengurangi waktu yang diperlukan untuk memperbarui data dalam pencarian Yandex dari beberapa hari menjadi beberapa jam, kadang-kadang menjadi beberapa menit. Anda juga akan mengetahui siapa Ricardo Milos dan masalah apa yang dia sebabkan kepada kami.



Direktori adalah basis data organisasi. Perusahaan atau orang mana pun dapat menambahkan informasi di sana: menunjukkan alamat, jam operasi, telepon, dan yang lainnya - dan Yandex akan menyampaikan ini kepada pengguna. Data Direktori digunakan dalam Pencarian, Alice, Peta, Taksi, Navigator, dan bahkan di ID penelepon kami, yang sudah kita bicarakan di Habré.

Dan semuanya akan baik-baik saja, tetapi datanya menjadi usang: organisasi menutup, bergerak, mengubah angka, dan sebagainya. Kami sendiri dapat melacak perubahan dan melakukan pengeditan, tetapi hari ini kami akan membicarakan pengeditan yang dikirim pengguna atau perusahaan kepada kami. Untuk melakukan ini, kami memiliki formulir dan mekanisme umpan balik lainnya. Jadi kami mendapat beberapa ribu suntingan per hari. Tetapi kita tidak bisa hanya mengambil dan menerbitkannya.

Kesalahan ditemukan dalam koreksi - karena kecerobohan atau niat jahat. Yang terakhir sangat banyak. Beberapa mendistorsi data pesaing dan "menutup" organisasi. Lainnya, pengacau biasa menambahkan tikar dan absurditas lainnya ke nama dan deskripsi perusahaan.



Jadi, jika Anda menerbitkan suntingan apa adanya, pengguna akan menderita. Karena itu, kami memeriksa semuanya. Operator pusat panggilan memanggil organisasi dan mengklarifikasi perubahan. Dockers menjangkau perusahaan dan memverifikasi data secara langsung. Tetapi metode seperti itu tidak cukup cepat, dan aliran pengeditan besar. Karena itu, kami juga datang dengan robot.

Kami menggunakan pengelompokan editan otomatis - Moderator otomatis. Ini adalah alat berat yang didasarkan pada teknologi CatBoost kami .. Dia dilatih tentang contoh-contoh hasil edit yang baik dan buruk. Untungnya, kami memiliki banyak data seperti itu.

Ketika pengeditan tiba, Moderator Otomatis mempertimbangkan lusinan faktor (misalnya, riwayat pengeditan pengguna sebelumnya) dan memutuskan apakah akan menyetujui pengeditan, menolaknya, atau mengirimkannya kepada seseorang untuk diperiksa ulang. Moderator mobil dapat memeriksa database Direktori dan memastikan bahwa mereka tidak mencoba membuat duplikat, atau melihat situs web organisasi untuk mencari informasi baru, atau bahkan memanggil organisasi, memperkenalkan dirinya sebagai Snezhana dan mengklarifikasi perubahan.

Satu contoh. Pada tahun 2018, gelombang "penggantian nama" sekolah, monumen dan organisasi lain dimulai dalam layanan pemetaan dan buku referensi: di peta mereka diberi nama setelah Ricardo Milos (ada artikel tentang TJtentang flash mob ini). Jadi di luar kemauan kami, kami bertemu dengan meme yang populer tentang penari telanjang Brasil (bukan bahwa kami menginginkannya, tetapi siapa yang meminta kami). Dan kombinasi dari Moderator Otomatis dan mekanisme verifikasi lainnya yang membantu kami mempertahankan nama sebenarnya.

Jadi, penggolong otomatis telah mengurangi waktu yang diperlukan untuk memperbarui data. Tapi kami tidak berhenti di situ. Bahkan dengan mempertimbangkan bantuan dari Moderator Otomatis, pengeditan dapat menjangkau pengguna layanan selama beberapa hari. Ini waktu yang lama. Untuk mengurangi waktu ini, perlu untuk menyelesaikan dua masalah teknologi.

Sebelumnya, Moderator Otomatis tampak seperti proses batch, dimulai dengan jadwal dan membutuhkan sumber daya besar untuk komputasi lokal (bekerja dengan tabel untuk puluhan juta rekaman). Kami telah mengubahnya.

Sekarang ini adalah layanan di mana pengeditan dan informasi tentang pengirimnya diterima secara real time. Kemudian moderator mobil menghitung faktor-faktor dan membuat putusan. Sebelum vonis pada aplikasi, kita bisa menunggu berjam-jam. Sekarang, sebentar.

Tetapi ini tidak berarti bahwa perubahan akan mencapai pengguna dalam hitungan menit. Dan di sini tugas kedua menunggu kita.

Perubahan jatuh ke basis Direktori, tetapi butuh waktu untuk "tumbuh" ke dalam layanan. Misalnya, Pencarian harus memperbarui indeks pencarian untuk mencerminkan perubahan dari Direktori. Untuk menyiasatinya, kami mengembangkan garis besar untuk menyimpan keadaan objek. Sederhananya, sekarang Anda dapat mengganti nomor telepon di objek jawaban Pencarian tanpa membangun kembali indeks pencarian. Sekarang, ketika membangun hasil pencarian, Cari tahu objek mana yang sudah ketinggalan zaman, dan dapat memperoleh informasi yang lebih baru. Tentu saja, masih ada situasi di mana perubahan data mempengaruhi peringkat organisasi, tetapi tidak ada cara tanpa membangun kembali indeks.



Jadi, setelah perbaikan dan implementasi, kami dapat mengurangi waktu rata-rata untuk memperbarui data tentang organisasi dalam layanan Yandex dari beberapa hari menjadi berjam-jam, dan kadang-kadang menjadi menit. Saya ingin percaya bahwa Anda memperhatikan ini.

Hari ini saya menempatkan sejarah kerja yang agak panjang dalam posting ulasan singkat. Beri tahu kami tentang sisi atau keputusan mana yang ingin Anda baca secara lebih rinci di masa depan. Kami akan senang menerima umpan balik dan banding, kami akan terus bekerja pada Direktori dan memberi tahu pembaca Habr tentang beritanya.

All Articles