Sangat sulit untuk membedakan bot dari orang. Saya benar-benar tidak bisa melakukannya sendiri. Tapi di sisi lain, saya datang dengan
sepeda yang bagus
... metode membedakan di VK "orang yang menarik" dari "tidak terlalu menarik". Dalam hal komunikasi jaringan, tentu saja, dan tidak dalam kehidupan.
Jika seseorang mengetuk teman Anda, tetapi pada pandangan pertama Anda tidak dapat memahami ini adalah orang normal atau siapa yang tahu, metode ini dapat memberikan beberapa informasi berguna tentang pengguna. Tidak mungkin menggunakannya untuk mengidentifikasi kelompok target yang relevan, karena
VK telah membatasi kemampuan untuk mengunduh konten dinding pengguna , dan lambat untuk terluka. Yaitu itu mungkin, tetapi perlu untuk memperbaiki, mengoptimalkan, dan mengelak untuk menghindari pembatasan.
Ide utama
Gagasan utamanya adalah kepribadian bot, kusam (dalam istilah jaringan), semua jenis pengumpul massa teman-pelanggan tidak benar-benar peduli dengan siapa mereka berteman, walaupun mereka dapat "menulis" cukup banyak posting yang bermakna di dinding mereka. Tapi kepribadian yang membosankan tidak terutama membaca rekaman mereka, dan bot tidak membutuhkannya sama sekali. Selain itu, ini tidak diperlukan untuk pengumpul massa pelanggan dan bintang.
Tetapi bagi orang yang memiliki setidaknya beberapa minat komunikatif mengenai VK, sangat penting bagi mereka yang berteman. Dan, tentu saja, mereka tidak akan dapat mengumpulkan 6.000 dudes di teman-teman mereka yang hanya akan berbagi posting ulang, foto-foto wanita telanjang dan iklan
barel pengeringan dengan diskon dari sebuah gudang di Novy Urengoy.Dan atas dasar ini, Anda dapat mencoba menyusun kriteria untuk memilih orang-orang yang tertarik dengan konten feed mereka. Orang-orang seperti itu menunjukkan ciri-ciri orang sungguhan. Seseorang yang, setidaknya, melakukan tindakan komunikatif sepihak yang bermakna. Saat ini, ini tidak begitu kecil.
Dua kriteria segera muncul di benak saya:
- Kamus rata-rata teman seseorang untuk N pos terakhir.
- Persentase posting tanpa teks dari teman orang yang diperiksa.
Dan atas dasar sesuatu seperti ini, Anda sudah dapat mencoba membangun semacam model yang akan membedakan orang yang menarik dari yang tidak terlalu menarik.
Dan bagaimana saya akhirnya memeriksa ini?
Saya memilih 50 teman acak dan 50 pengikut acak yang memenuhi beberapa kriteria yang akan memotong pemalsuan yang sangat jelas, anak-anak, atau orang-orang yang tidak menggunakan semuanya. Ketik bahwa pengguna tidak boleh dinonaktifkan dan pada saat yang sama harus memiliki lebih dari 50 teman yang ada.
Saya melihat-lihat semua orang ini dan mengidentifikasi mana di antara mereka yang merupakan "bot" dan mana yang tidak. Secara alami, sebagian besar teman itu nyata, dan sebagian besar pelanggan menawarkan untuk membeli sesuatu (tetapi beberapa orang sungguhan ada di sana).
Selanjutnya, saya mengambil 100 posting pertama dari masing-masing teman orang yang diperiksa, jika ada begitu banyak di dinding. Untuk setiap orang, saya mempertimbangkan dua faktor berikut:
- Ukuran rata-rata kamus teman seseorang untuk 100 posting pertama mereka. Yaitu 50 teman, masing-masing dengan sekitar 100 posting. Untuk setiap teman, semua kata dari 100 posting disapu menjadi tumpukan, dicap dan jumlah kata unik seorang teman dipertimbangkan. Selanjutnya, rata-rata untuk semua 50 teman dipertimbangkan. Dari nilai ini, root diambil - SQRT (Dic).
- Jika seorang teman memiliki lebih dari 60 dari 100 posting tanpa kata-kata, ia ditandai sebagai "hilang". Persentase orang "hilang" dalam teman adalah faktor kedua - Persen.
Faktor lain muncul secara kebetulan. Ini adalah logaritma dari Idy di VK log10 (ID)
Tentang ini, saya melatih semua orang tentang
regresi logistik , dan saya mendapatkan ini:
log (OR) = 9,92-1,537 * log10 (ID) + 0,067 * SQRT (Dic) -0,023 * Persen
Untuk bagian uji sampel, kami mendapat klasifikasi yang sangat baik dengan AUC = 0,93. Berikut ini adalah
kurva ROC :
Kurva ROC dari classifier yang menentukan konten halaman seseorang
Beberapa pertanyaan diajukan oleh pentingnya VC ID untuk mengklasifikasikan konten seseorang, tetapi tampaknya, sayangnya, berfungsi seperti itu. Semakin jauh ID dari 1, semakin besar kemungkinan bahwa itu hanya bot yang dibuat untuk mengiklankan pinjaman mikro. Tanpa ID, penggolong juga berfungsi, tetapi lebih buruk. AUC = 0,78. Ini tidak langsung baik, tetapi juga tidak langsung tidak berguna.
Dalam kasus apa pun, keputusan akhir tentang kegunaan karakter tergantung pada pembuat keputusan.
Pemeriksaan tambahan
Saya mengambil semua 5.000 pelanggan dari salah satu rekan saya, di mana, tentu saja, 95% slag iklan dikirim dan regresi dijalankan tanpa pelatihan tambahan. Dengan cutoff 20%, hasilnya keluar seperti
TP = 78%, FP = 11% . Artinya, secara umum, pada orang yang sewenang-wenang, ini juga berfungsi kurang lebih.
Bisakah mereka membuat bot yang lulus tes ini?
Ya, cukup mudah untuk membuat bot dengan beberapa posting bermakna pseudo yang dikelilingi oleh teman-teman, tetapi sejauh ini tidak ada yang membutuhkannya. Yah, sulit untuk repot dengan konten yang berbeda, karena jika semua bot menghasilkan hal yang sama, ini juga mudah dikenali.
Apakah mungkin membuat aplikasi yang memeriksa orang dengan ID?
Mungkin mungkin, tapi saya tidak mau melakukan halo VK. Jika ada yang mau, biarkan dia melakukannya. Tampaknya metode ini dijelaskan, idenya sederhana.
Apakah ini terlalu biasa?
Cukup. Tapi tiba-tiba seseorang akan berguna sebagai basis untuk perkembangan mereka. Metode ini dapat dengan mudah menjadi rumit, misalnya, dengan mempertimbangkan tidak hanya panjang kamus, tetapi juga mempertimbangkan isinya. Di sini Anda sudah bisa menggunakan kekuatan penuh
NLP dan melatih konten. Anda masih dapat mengambil pengklasifikasi yang lebih kompleks: pohon, jaringan saraf, dll. Semua ini bisa rumit, tetapi penting bahwa yang sederhana sekalipun memberikan sesuatu yang menarik.