Bagaimana kami memoderasi iklan

Bagaimana kami memoderasi iklan

Setiap layanan yang penggunanya dapat membuat kontennya sendiri (UGC - Konten buatan pengguna) dipaksa tidak hanya untuk menyelesaikan masalah bisnis, tetapi juga untuk menertibkan UGC. Moderasi konten yang buruk atau berkualitas rendah pada akhirnya dapat mengurangi daya tarik layanan bagi pengguna, bahkan mengakhiri pengoperasiannya.

Hari ini kami akan memberi tahu Anda tentang sinergi antara Yula dan Odnoklassniki, yang membantu kami memoderasi iklan di Yula secara efektif.

Sinergi secara umum merupakan hal yang sangat berguna, dan di dunia modern, ketika teknologi dan tren berubah dengan sangat cepat, hal ini dapat menjadi penyelamat. Mengapa menyia-nyiakan sumber daya dan waktu yang langka untuk menciptakan sesuatu yang telah ditemukan dan diingat oleh Anda?

Kami memikirkan hal yang sama ketika kami dihadapkan pada tugas penuh untuk memoderasi konten pengguna - gambar, teks, dan tautan. Pengguna kami mengunggah jutaan konten ke Yula setiap hari, dan tanpa pemrosesan otomatis, mustahil untuk memoderasi semua data ini secara manual.

Oleh karena itu, kami menggunakan platform moderasi yang sudah jadi, yang pada saat itu telah diselesaikan oleh rekan-rekan kami di Odnoklassniki hingga “hampir sempurna”.

Mengapa Odnoklassniki?

Setiap hari, puluhan juta pengguna mengunjungi jejaring sosial dan mempublikasikan miliaran konten: mulai dari foto hingga video dan teks. Platform moderasi Odnoklassniki membantu memeriksa volume data yang sangat besar dan menangkal spammer dan bot.

Tim moderasi OK telah mengumpulkan banyak pengalaman karena telah menyempurnakan alatnya selama 12 tahun. Penting bagi mereka untuk tidak hanya berbagi solusi siap pakai, namun juga menyesuaikan arsitektur platform mereka agar sesuai dengan tugas spesifik kami.

Bagaimana kami memoderasi iklan

Mulai sekarang, agar singkatnya, kami akan menyebut platform moderasi OK sebagai “platform.”

Bagaimana semuanya bekerja

Pertukaran data antara Yula dan Odnoklassniki dilakukan melalui Apache Kafka.

Mengapa kami memilih alat ini:

  • Di Yula, semua iklan dimoderasi pasca, jadi pada awalnya respons sinkron tidak diperlukan.
  • Jika terjadi paragraf buruk dan Yula atau Odnoklassniki tidak tersedia, termasuk karena beberapa beban puncak, maka data dari Kafka tidak akan hilang kemana-mana dan dapat dibaca nanti.
  • Platform ini sudah terintegrasi dengan Kafka, sehingga sebagian besar masalah keamanan telah teratasi.

Bagaimana kami memoderasi iklan

Untuk setiap iklan yang dibuat atau dimodifikasi oleh pengguna di Yula, JSON dengan data dibuat, yang ditempatkan di Kafka untuk moderasi selanjutnya. Dari Kafka, pengumuman dimuat ke dalam platform, di mana pengumuman tersebut dinilai secara otomatis atau manual. Iklan buruk diblokir dengan suatu alasan, dan iklan yang tidak ditemukan pelanggarannya oleh platform ditandai sebagai “baik”. Kemudian semua keputusan dikirim kembali ke Yula dan diterapkan di layanan.

Pada akhirnya, bagi Yula, semuanya bermuara pada tindakan sederhana: kirim iklan ke platform Odnoklassniki dan dapatkan kembali resolusi “ok”, atau mengapa tidak “ok”.

Pemrosesan otomatis

Apa yang terjadi pada iklan setelah muncul di platform? Setiap iklan dibagi menjadi beberapa entitas:

  • Nama,
  • keterangan,
  • foto,
  • kategori dan subkategori iklan yang dipilih pengguna,
  • harga.

Bagaimana kami memoderasi iklan

Platform kemudian melakukan pengelompokan untuk setiap entitas untuk menemukan duplikat. Selain itu, teks dan foto dikelompokkan menurut skema yang berbeda.

Sebelum pengelompokan, teks dinormalisasi untuk menghilangkan karakter khusus, mengubah huruf, dan sampah lainnya. Data yang diterima dibagi menjadi N-gram, yang masing-masing di-hash. Hasilnya adalah banyak hash unik. Kesamaan antar teks ditentukan oleh ukuran Jaccard antara dua himpunan yang dihasilkan. Jika kemiripannya lebih besar dari ambang batas, maka teks-teks tersebut digabungkan menjadi satu cluster. Untuk mempercepat pencarian cluster serupa, MinHash dan hashing yang sensitif terhadap lokalitas digunakan.

Berbagai pilihan untuk menempelkan gambar telah ditemukan untuk foto, mulai dari membandingkan gambar pHash hingga mencari duplikat menggunakan jaringan saraf.

Cara terakhir adalah yang paling “parah”. Untuk melatih model, gambar kembar tiga (N, A, P) dipilih di mana N tidak mirip dengan A, dan P mirip dengan A (merupakan semi-duplikat). Kemudian jaringan saraf belajar membuat A dan P sedekat mungkin, dan A dan N sejauh mungkin. Hal ini menghasilkan lebih sedikit kesalahan positif dibandingkan dengan hanya mengambil penyematan dari jaringan yang telah dilatih sebelumnya.

Ketika jaringan saraf menerima gambar sebagai masukan, jaringan tersebut menghasilkan vektor berdimensi N(128) untuk masing-masing gambar dan permintaan dibuat untuk menilai kedekatan gambar. Selanjutnya, ambang batas dihitung di mana gambar yang mirip dianggap duplikat.

Model ini mampu dengan terampil menemukan pelaku spam yang secara khusus memotret produk yang sama dari sudut berbeda untuk melewati perbandingan pHash.

Bagaimana kami memoderasi iklanBagaimana kami memoderasi iklan
Contoh foto spam yang direkatkan oleh jaringan saraf sebagai duplikat.

Pada tahap akhir, iklan duplikat dicari secara bersamaan baik teks maupun gambar.

Jika dua atau lebih iklan terjebak bersama dalam satu cluster, sistem akan memulai pemblokiran otomatis, yang, dengan menggunakan algoritma tertentu, memilih duplikat mana yang akan dihapus dan mana yang harus ditinggalkan. Misalnya, jika dua pengguna memiliki foto yang sama dalam sebuah iklan, sistem akan memblokir iklan yang lebih baru.

Setelah dibuat, semua cluster melewati serangkaian filter otomatis. Setiap filter memberikan skor pada klaster: seberapa besar kemungkinan klaster tersebut mengandung ancaman yang diidentifikasi oleh filter ini.

Misalnya, sistem menganalisis deskripsi dalam iklan dan memilih kategori potensial untuk iklan tersebut. Kemudian diambil salah satu yang memiliki probabilitas maksimum dan membandingkannya dengan kategori yang ditentukan 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 harus dia pilih agar iklan lolos moderasi.

Bagaimana kami memoderasi iklan
Pemberitahuan pemblokiran untuk kategori yang salah.

Pembelajaran mesin terasa nyaman di platform kami. Misalnya, dengan bantuannya kami mencari nama dan deskripsi barang yang dilarang di Federasi Rusia. Dan model jaringan saraf dengan cermat “memeriksa” gambar tersebut untuk melihat apakah gambar tersebut berisi URL, teks spam, nomor telepon, dan informasi “terlarang” yang sama.

Untuk kasus di mana mereka mencoba menjual produk terlarang yang disamarkan sebagai produk legal, dan tidak ada teks baik di judul maupun deskripsi, kami menggunakan penandaan gambar. Untuk setiap gambar, hingga 11 ribu tag berbeda dapat ditambahkan yang menggambarkan apa yang ada di dalam gambar.

Bagaimana kami memoderasi iklan
Mereka mencoba menjual hookah dengan menyamarkannya sebagai samovar.

Sejalan dengan filter kompleks, filter sederhana juga berfungsi, memecahkan masalah nyata terkait teks:

  • antimat;
  • Detektor URL dan nomor telepon;
  • penyebutan pesan instan dan kontak lainnya;
  • harga yang dikurangi;
  • iklan di mana tidak ada yang dijual, dll.

Saat ini, setiap iklan melewati saringan halus dengan lebih dari 50 filter otomatis yang mencoba menemukan sesuatu yang buruk dalam iklan.

Jika tidak ada detektor yang berfungsi, maka tanggapan dikirimkan ke Yula bahwa iklan tersebut “kemungkinan besar” dalam urutan yang sempurna. Kami sendiri yang menggunakan jawaban ini, dan pengguna yang berlangganan penjual menerima pemberitahuan tentang ketersediaan produk baru.

Bagaimana kami memoderasi iklan
Pemberitahuan bahwa penjual memiliki produk baru.

Akibatnya, setiap iklan “ditumbuhi” metadata, beberapa di antaranya dihasilkan saat iklan dibuat (alamat IP penulis, agen pengguna, platform, geolokasi, dll.), dan sisanya adalah skor yang dikeluarkan oleh setiap filter. .

Antrian pengumuman

Saat sebuah iklan masuk ke platform, sistem akan memasukkannya ke dalam salah satu antrean. Setiap antrean dibuat menggunakan rumus matematika yang menggabungkan metadata iklan sedemikian rupa sehingga dapat mendeteksi pola buruk apa pun.

Misalnya, Anda dapat membuat antrean iklan dalam kategori “Ponsel” dari pengguna Yula yang diduga berasal dari St. Petersburg, tetapi alamat IP mereka berasal dari Moskow atau kota lain.

Bagaimana kami memoderasi iklan
Contoh iklan yang dipasang oleh satu pengguna di kota berbeda.

Atau Anda dapat membentuk antrean berdasarkan skor yang diberikan jaringan saraf pada iklan, menyusunnya dalam urutan menurun.

Setiap antrian, menurut rumusnya sendiri, memberikan skor akhir pada iklan. Kemudian Anda dapat melanjutkan dengan berbagai cara:

  • tentukan ambang batas di mana iklan akan menerima jenis pemblokiran tertentu;
  • kirim semua iklan dalam antrian ke moderator untuk ditinjau secara manual;
  • atau gabungkan opsi sebelumnya: tentukan ambang pemblokiran otomatis dan kirimkan iklan yang belum mencapai ambang ini ke moderator.

Bagaimana kami memoderasi iklan

Mengapa antrian ini diperlukan? Katakanlah seorang pengguna mengunggah foto senjata api. Jaringan saraf memberinya skor dari 95 hingga 100 dan menentukan dengan akurasi 99 persen bahwa ada senjata di dalam gambar. Namun jika nilai skornya di bawah 95%, keakuratan model mulai menurun (ini merupakan ciri model jaringan saraf).

Hasilnya, antrian terbentuk berdasarkan model skor, dan iklan yang menerima antara 95 dan 100 secara otomatis diblokir sebagai “Produk Terlarang”. Iklan dengan skor di bawah 95 dikirim ke moderator untuk diproses secara manual.

Bagaimana kami memoderasi iklan
Cokelat Beretta dengan kartrid. Hanya untuk moderasi manual! 🙂

Moderasi manual

Pada awal tahun 2019, sekitar 94% dari seluruh iklan di Yula dimoderasi secara otomatis.

Bagaimana kami memoderasi iklan

Jika platform tidak dapat memutuskan beberapa iklan, platform akan mengirimkannya untuk moderasi manual. Odnoklassniki mengembangkan alatnya sendiri: tugas untuk moderator segera menampilkan semua informasi yang diperlukan untuk membuat keputusan cepat - iklan tersebut cocok atau harus diblokir, dengan menunjukkan alasannya.

Dan agar kualitas layanan tidak menurun selama moderasi manual, pekerjaan masyarakat terus dipantau. Misalnya, dalam aliran tugas, moderator diperlihatkan “perangkap”—iklan yang sudah ada solusi siap pakainya. Jika keputusan moderator tidak sesuai dengan keputusan yang telah selesai, maka moderator diberikan kesalahan.

Rata-rata, seorang moderator menghabiskan 10 detik untuk memeriksa satu iklan. Apalagi jumlah kesalahannya tidak lebih dari 0,5% dari seluruh iklan terverifikasi.

Moderasi masyarakat

Rekan-rekan dari Odnoklassniki melangkah lebih jauh dan memanfaatkan “bantuan penonton”: mereka menulis aplikasi permainan untuk jejaring sosial di mana Anda dapat dengan cepat menandai sejumlah besar data, menyoroti beberapa pertanda buruk - Moderator Odnoklassniki (https://ok.ru/app/moderator). Cara yang baik adalah dengan memanfaatkan bantuan pengguna OK yang mencoba membuat konten lebih menyenangkan.

Bagaimana kami memoderasi iklan
Sebuah permainan di mana pengguna menandai foto yang memiliki nomor telepon.

Antrean iklan apa pun di platform dapat dialihkan ke game Moderator Odnoklassniki. Segala sesuatu yang dimarkup oleh pengguna game kemudian dikirim ke moderator internal untuk ditinjau. Skema ini memungkinkan Anda memblokir iklan yang filternya belum dibuat, dan sekaligus membuat sampel pelatihan.

Menyimpan hasil moderasi

Kami menyimpan semua keputusan yang dibuat selama moderasi sehingga kami tidak memproses ulang iklan yang telah kami ambil keputusannya.

Jutaan cluster dibuat setiap hari berdasarkan iklan. Seiring waktu, setiap cluster diberi label "baik" atau "buruk". Setiap iklan baru atau revisinya, yang memasuki cluster dengan tanda, secara otomatis menerima resolusi dari cluster itu sendiri. Ada sekitar 20 ribu resolusi otomatis per hari.

Bagaimana kami memoderasi iklan

Jika tidak ada pengumuman baru yang masuk ke cluster, maka cluster tersebut akan dihapus dari memori dan hash serta solusinya ditulis ke Apache Cassandra.

Ketika platform menerima iklan baru, pertama-tama platform tersebut mencoba menemukan cluster serupa di antara yang sudah dibuat dan mengambil solusi darinya. Jika tidak ada cluster seperti itu, platform menuju ke Cassandra dan mencari di sana. Apakah kamu menemukannya? Hebat, terapkan solusi ke cluster dan kirimkan ke Yula. Rata-rata terdapat 70 ribu keputusan “berulang” setiap hari—8% dari total keputusan.

Menyimpulkan

Kami telah 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 dikurangi dari 2 rubel menjadi 7 kopeck.
  • Berkat alat yang sudah jadi, kami melupakan masalah pengelolaan moderator.
  • Kami meningkatkan jumlah iklan yang diproses secara manual sebanyak 2,5 kali lipat dengan jumlah moderator dan anggaran yang sama. Kualitas moderasi manual juga meningkat karena kontrol otomatis, dan kesalahan berfluktuasi sekitar 0,5%.
  • Kami segera menutupi jenis spam baru dengan filter.
  • Kami dengan cepat menghubungkan departemen baru ke moderasi "Yula Vertikal". Sejak 2017, Yula telah menambahkan vertikal Real Estate, Lowongan, dan Otomotif.

Sumber: www.habr.com

Tambah komentar