
Setiap layanan, yang penggunanya dapat membuat konten mereka sendiri (UGC - Konten yang dibuat pengguna), dipaksa tidak hanya untuk memecahkan masalah bisnis, tetapi juga untuk membereskan berbagai hal di UGC. Moderasi konten yang buruk atau berkualitas buruk pada akhirnya dapat mengurangi daya tarik layanan bagi pengguna, hingga penghentian pekerjaannya.
Hari ini kami akan memberi tahu Anda tentang sinergi antara Yula dan Odnoklassniki, yang membantu kami memoderasi iklan di Yule secara efektif.
Sinergi secara umum sangat bermanfaat, dan di dunia modern, ketika teknologi dan tren berubah dengan sangat cepat, itu bisa berubah menjadi penyelamat. Mengapa menghabiskan sumber daya yang langka dan waktu untuk menemukan apa yang telah Anda temukan dan pikirkan?
Kami memikirkan hal yang sama ketika kami menghadapi tantangan memoderasi konten yang dibuat pengguna - gambar, teks, dan tautan. Pengguna kami mengunggah jutaan unit konten ke Yula setiap hari, dan tanpa pemrosesan otomatis, memoderasi semua data ini secara manual tidak realistis sama sekali.
Oleh karena itu, kami mengambil keuntungan dari platform moderasi yang sudah disiapkan, yang pada saat itu rekan-rekan kami dari Odnoklassniki dijuluki sebagai "hampir sempurna".
Kenapa teman sekelas?
Setiap hari, puluhan juta pengguna datang ke jejaring sosial untuk menerbitkan miliaran unit konten: dari foto ke video dan teks. Platform moderasi Odnoklassniki membantu memeriksa sejumlah besar data dan menangkal spammer dan bot.
Tim moderasi OK telah memperoleh banyak pengalaman, karena telah meningkatkan alatnya selama 12 tahun. Adalah penting bahwa mereka tidak hanya dapat berbagi solusi yang sudah jadi, tetapi juga mengkonfigurasi arsitektur platform mereka untuk tugas spesifik kami.

Selanjutnya untuk singkatnya kita akan memanggil platform moderasi OK hanya "platform".
Bagaimana cara kerjanya
Pertukaran data antara Yula dan Odnoklassniki didirikan melalui
Apache Kafka .
Mengapa kami memilih alat ini:
- Di Yulia, semua iklan bersifat post-moderasi, jadi awalnya tidak diperlukan respons sinkron.
- Jika paragraf sengit terjadi, dan Yula atau Odnoklassniki tidak dapat diakses, termasuk karena beberapa beban puncak, maka data dari Kafka tidak akan hilang di mana pun dan dapat dibaca nanti.
- Platform telah terintegrasi dengan Kafka, sehingga sebagian besar masalah keamanan telah diatasi.

Untuk setiap iklan yang dibuat atau dimodifikasi oleh pengguna di Yule, JSON dibuat dengan data, yang dimasukkan ke Kafka untuk moderasi berikutnya. Dari Kafka, iklan diunggah ke platform, tempat keputusan dibuat secara otomatis atau manual. Iklan yang buruk diblokir dengan alasan, dan mereka yang tidak menemukan pelanggaran akan ditandai sebagai "baik." Kemudian semua keputusan dikirim kembali ke Yula dan diterapkan dalam layanan.
Akibatnya, untuk Yula, semuanya bermuara pada tindakan sederhana: mengirim iklan ke platform Odnoklassniki dan kembali mendapatkan resolusi "ok", atau mengapa tidak "ok".
Pemrosesan otomatis
Apa yang terjadi pada iklan setelah menyentuh platform? Setiap iklan dipecah menjadi beberapa entitas:
- nama
- deskripsi
- foto
- kategori dan subkategori iklan yang dipilih pengguna,
- harga.

Kemudian, untuk setiap entitas, klaster platform menemukan duplikat. Selain itu, teks dan foto dikelompokkan dalam berbagai cara.
Teks sebelum pengelompokan dinormalisasi untuk menghapus karakter khusus, huruf yang diubah, dan sampah lainnya. Data yang diterima dibagi menjadi N-gram, masing-masing hash. Hasilnya banyak hash yang unik. Kesamaan antara teks dianggap
sebagai Jacquard antara dua set yang dihasilkan. Jika kesamaan lebih dari ambang, maka teks-teks tersebut direkatkan dalam satu kelompok. Untuk mempercepat pencarian untuk cluster serupa, hashing MinHash dan Lokalitas-sensitif digunakan.
Berbagai opsi untuk menempelkan gambar diciptakan untuk foto, mulai dari membandingkan gambar pHash hingga menemukan duplikat menggunakan jaringan saraf.
Metode yang terakhir adalah yang paling "keras". Untuk melatih model, tiga kali lipat dari gambar (N, A, P) dipilih di mana N tidak terlihat seperti A, dan P - terlihat seperti A (setengah duplikat). Kemudian, jaringan saraf belajar untuk membuat A dan P sedekat mungkin, dan A dan N sejauh mungkin. Ini menghasilkan lebih sedikit false positive dibandingkan dengan hanya menanamkan dari jaringan pra-terlatih.
Ketika jaringan saraf menerima gambar pada input, itu menghasilkan vektor dimensi N (128) untuk masing-masing dan permintaan dibuat untuk menilai kedekatan gambar. Selanjutnya, ambang batas dihitung di mana gambar tertutup dianggap duplikat.
Model dapat dengan terampil menemukan spammer yang secara khusus memotret produk yang sama dari sudut yang berbeda untuk menghindari perbandingan pHash.

Contoh foto spam yang direkatkan oleh jaringan saraf sebagai duplikat.Pada tahap akhir, iklan duplikat dicari secara bersamaan dalam teks dan gambar.
Jika dua atau lebih iklan macet di sebuah cluster, sistem memulai pemblokiran otomatis, yang, menurut algoritma tertentu, memilih duplikat mana yang akan dihapus dan yang akan ditinggalkan. Misalnya, jika dua pengguna memiliki foto yang sama dalam sebuah iklan, maka sistem akan memblokir iklan yang lebih baru.
Setelah dibuat, semua cluster melewati serangkaian filter otomatis. Setiap filter memberi nilai pada cluster: dengan probabilitas apa yang dikandungnya mengandung ancaman yang diidentifikasi oleh filter ini.
Misalnya, sistem menganalisis deskripsi dalam iklan dan memilih kategori potensial untuknya. Lalu ia mengambil yang dengan probabilitas tertinggi dan membandingkannya dengan kategori yang ditunjukkan oleh pembuat iklan. Jika tidak cocok, iklan diblokir untuk kategori yang salah. Dan karena kami baik dan jujur, kami langsung memberi tahu pengguna kategori mana yang perlu ia pilih agar iklan lolos moderasi.
Cekal pemberitahuan untuk kategori yang salah.Di platform kami, pembelajaran mesin terasa seperti di rumah. Misalnya, dengan bantuannya kami mencari barang yang dilarang di Federasi Rusia dalam nama dan deskripsi. Dan model jaringan saraf dengan cermat “melihat” gambar untuk URL, teks spammer, telepon, dan yang “terlarang” sama.
Untuk kasus ketika mereka mencoba untuk menjual barang terlarang dengan menyamar sebagai sesuatu yang legal, dan pada saat yang sama tidak ada teks dalam nama atau deskripsi, kami menggunakan penandaan gambar. Untuk setiap gambar dapat ditempel hingga 11 ribu tag berbeda yang menggambarkan apa yang ada pada gambar.
Mereka mencoba menjual hookah, menyamarkannya sebagai samovar.Sejalan dengan filter yang kompleks, sederhana, menyelesaikan tugas yang jelas terkait dengan pekerjaan teks:
- antimatis;
- URL dan detektor nomor telepon;
- menyebutkan tentang pengirim pesan instan dan kontak lainnya;
- harga rendah;
- iklan yang tidak menjual apa pun, dll.
Saat ini, setiap iklan melewati saringan halus lebih dari 50 filter otomatis yang mencoba menemukan sesuatu yang buruk dalam iklan.
Jika tidak ada detektor yang berfungsi, maka tanggapan dikirim ke Yulu bahwa pengumuman itu "kemungkinan besar" selesai. Kami menggunakan jawaban ini di rumah, dan pengguna yang berlangganan penjual menerima pemberitahuan tentang penampilan produk baru.
Pemberitahuan bahwa penjual memiliki produk baru.Akibatnya, setiap iklan “ditumbuhi” dengan metadata, beberapa di antaranya dihasilkan saat iklan dibuat (alamat IP penulis, agen pengguna, platform, geolokasi, dll.), Dan sisanya adalah skor yang diberikan oleh setiap filter.
Antrian iklan
Ketika iklan mengenai platform, sistem menempatkannya di salah satu antrian. Setiap antrian dibentuk menggunakan rumus matematika yang menggabungkan metadata iklan sedemikian rupa untuk mendeteksi semacam pola buruk.
Misalnya, Anda dapat membuat antrean iklan dalam kategori "Ponsel" dari pengguna Yula yang konon berasal dari St. Petersburg, tetapi pada saat yang sama alamat IP mereka dari Moskow atau kota-kota lain.
Contoh iklan yang diposting oleh satu pengguna di berbagai kota.Atau, Anda dapat membuat antrian berdasarkan titik-titik yang ditetapkan oleh jaringan saraf untuk iklan, menempatkannya dalam urutan menurun.
Setiap baris, sesuai dengan rumusnya, memberikan skor akhir untuk iklan. Kemudian Anda dapat bertindak dengan berbagai cara:
- tentukan nilai ambang di mana iklan akan menerima jenis pemblokiran tertentu;
- semua iklan dalam antrian harus dikirim ke moderator untuk ditinjau secara manual;
- atau kombinasikan opsi sebelumnya: tentukan ambang untuk pemblokiran otomatis dan kirim ke moderator iklan-iklan yang belum mencapai ambang ini.

Mengapa garis-garis ini perlu? Katakanlah seorang pengguna mengunggah foto senjata api. Jaringan saraf menetapkan skor dari 95 hingga 100 dan dengan akurasi 99 persen menentukan senjata apa yang ada dalam gambar. Tetapi jika nilai skor di bawah 95%, keakuratan model mulai menurun (ini adalah fitur model jaringan saraf).
Akibatnya, antrian dibentuk berdasarkan model skor, dan iklan yang menerima dari 95 hingga 100 secara otomatis diblokir sebagai “Barang Terlarang”. Iklan dengan poin di bawah 95 dikirim ke moderator untuk diproses secara manual.
Cokelat Beretta dengan kartrid. Hanya untuk moderasi manual! :)Moderasi manual
Pada awal 2019, sekitar 94% dari semua iklan di Yule dimoderasi secara otomatis.

Jika platform tidak dapat memutuskan pengumuman apa pun, maka kirimkan untuk moderasi manual. Teman sekelas mengembangkan alat mereka sendiri: tugas untuk moderator segera menampilkan semua informasi yang diperlukan untuk membuat keputusan cepat - iklan sesuai atau harus diblokir dengan indikasi alasannya.
Dan dengan moderasi manual kualitas layanan tidak berkurang, pekerjaan orang-orang terus dipantau. Misalnya, dalam aliran tugas, moderator menunjukkan "jebakan" - pengumuman yang sudah ada solusi siap pakai. Jika keputusan moderator tidak sesuai dengan yang siap, kesalahan dihitung ke moderator.
Moderator rata-rata menghabiskan 10 detik untuk memeriksa satu iklan. Selain itu, jumlah kesalahan tidak lebih dari 0,5% dari semua iklan yang diuji.
Moderasi rakyat
Kolega dari Odnoklassniki melangkah lebih jauh, mengambil keuntungan dari "bantuan aula": mereka menulis sebuah game aplikasi untuk jejaring sosial tempat Anda dapat dengan cepat menandai sejumlah besar data, menyoroti beberapa pertanda buruk, - Odnoklassnikov Moderator (
https://ok.ru/app/ moderator ). Cara yang baik untuk mengambil keuntungan dari bantuan pengguna OK yang mencoba membuat konten lebih menyenangkan.
Gim di mana pengguna menandai foto yang memiliki nomor telepon.Antrian iklan apa pun di platform dapat dialihkan ke game Odnoklassniki Moderator. Segala sesuatu yang ditandai oleh pengguna game, kemudian pergi ke moderator internal untuk verifikasi. Skema ini memungkinkan Anda untuk memblokir iklan yang filternya belum dibuat, dan sekaligus membuat sampel pelatihan.
Penyimpanan hasil moderasi
Kami menyimpan semua keputusan yang dibuat selama moderasi, sehingga nantinya kami tidak memproses pengumuman yang sudah membuat keputusan.
Iklan menghasilkan jutaan cluster setiap hari. Seiring waktu, setiap cluster menerima tanda "baik" atau "buruk." Setiap iklan baru atau edisi, jatuh ke dalam cluster dengan tanda, secara otomatis menerima resolusi dari cluster itu sendiri. Sekitar 20 ribu resolusi otomatis seperti itu per hari.

Jika cluster tidak menerima deklarasi baru, itu dihapus dari memori, dan hash dan solusinya ditulis ke Apache Cassandra.
Ketika platform menerima pengumuman baru, ia pertama-tama mencoba menemukan kluster serupa di antara yang sudah dibuat dan mengambil keputusan darinya. Jika tidak ada cluster seperti itu, platform menuju ke Cassandra dan mencari di sana. Menemukannya? Hebat, terapkan solusi ke kluster dan kirimkan ke Yula. Rata-rata, 70.000 keputusan "berulang" ini direkrut - 8% dari total.
Untuk meringkas
Kami menggunakan platform moderasi Odnoklassniki selama dua setengah tahun. Kami menyukai hasilnya:
- Kami secara otomatis memoderasi 94% dari semua iklan per hari.
- Biaya moderasi satu iklan berkurang dari 2 rubel menjadi 7 kopecks.
- Berkat alat yang sudah jadi, mereka lupa tentang masalah mengelola moderator.
- 2,5 kali meningkatkan jumlah iklan yang diproses secara manual dengan jumlah moderator dan anggaran yang sama. Kualitas moderasi manual juga meningkat karena kontrol otomatis, dan berfluktuasi sekitar 0,5% dari kesalahan.
- Saring jenis spam baru dengan cepat.
- Dengan cepat sambungkan unit baru Yula Vertical ke moderasi. Sejak 2017, vertikal Real Estat, Pekerjaan, dan Otomatis telah muncul di Yule.