Hai
Banyak pembaca sudah tahu bahwa kami mencoba untuk terus melakukan berbagai kejuaraan TI pada berbagai topik. Tahun lalu saja, lebih dari 10 kompetisi besar diadakan (
Piala AI Rusia ,
Kamp Boot ML ,
Technocub , dan lainnya). Setidaknya 25.000 orang mengambil bagian di dalamnya, dan sejak 2011 - lebih dari 150.000.
Jika Anda baru tahu tentang ini sekarang, maka selamat: sejak saat itu Anda menjadi bagian dari komunitas besar orang yang berpartisipasi dalam kompetisi kami dan bertukar pengalaman satu sama lain. Sekarang Anda dapat bergabung dengan kelompok-kelompok komunitas Telegram mengenai
kecerdasan buatan ,
pemrograman olahraga ,
proyek dan administrasi beban tinggi ,
pembelajaran mesin ,
dan analisis data . Ini akan membantu Anda dengan cepat terlibat dalam pesta yang serius!

Jadi, mari kita mulai bisnis. Hari ini, 7 Februari, kami senang untuk membuka musim baru kejuaraan 2019. Dan kita akan mulai dengan kompetisi pembelajaran mesin dan analisis data kedelapan yang diadakan pada platform
Boot Camp ML khusus (analog Kaggle kami) -
SNA Hackathon , atau Boot Camp 8 ML (seperti yang Anda inginkan).
Penyelenggara kejuaraan ini adalah Mail.ru Group dan Odnoklassniki. Kami merekomendasikan setelah artikel ini untuk membaca
sejarah singkat dari pita cerdas , di mana
Dmitry Bugaychenko berbicara tentang algoritma untuk menentukan peringkat rekaman di Odnoklassniki, ada banyak informasi yang berguna.
Dan sekarang kita akan memberi tahu mekanisme kejuaraan, jadwal, tugas, dan data yang diusulkan.
Mekanika Kejuaraan
Semuanya sederhana. Setelah pembukaan kejuaraan di
ML Boot Camp , Anda perlu:
- baca ketentuan tugas (sudah ada di artikel ini);
- pilih tugas atau tugas yang akan Anda selesaikan;
- mengunduh data;
- mulai membuat model dan membuat prediksi;
- unggah jawaban Anda (file biasa) ke sistem pengujian.
Setiap hari Anda dapat mengunggah file jawaban Anda kepada kami hingga lima kali. Sistem hanya akan memeriksa tanggapan untuk 50% dari sampel (publik), sehingga hasilnya akan menjadi pendahuluan. Hasil akhir pada sisa sampel (pribadi) akan ditampilkan kepada peserta setelah kompetisi telah berakhir.
Jika Anda belum pernah berpartisipasi dalam kompetisi seperti itu, maka tidak ada yang perlu dikhawatirkan. Baca
artikel dan Anda akan berhasil :)
Jadwalkan
Kejuaraan akan diadakan dalam dua tahap:
- online - mulai 7 Februari hingga 15 Maret;
- offline - mulai 30 Maret hingga 1 April.
Setelah 15 Maret, hasil antara akan disimpulkan dan 15 orang dari pemimpin teratas untuk setiap tugas akan menerima undangan ke tahap kedua, yang akan diadakan di kantor Moskow di Grup Mail.ru. Selain itu, undangan ke tahap akhir akan menerima tiga orang yang memimpin peringkat pada akhir 23 Februari.
Deskripsi tugas
Untuk kompetisi SNA Hackathon, log untuk menunjukkan konten dari grup terbuka di feed berita pengguna untuk Februari-Maret 2018 dikumpulkan. Set tes telah disembunyikan minggu terakhir setengah Maret. Setiap entri log berisi informasi tentang apa dan kepada siapa itu ditampilkan, serta bagaimana pengguna bereaksi terhadap konten ini: letakkan "Kelas", berkomentar, diabaikan atau disembunyikan dari umpan.
Inti dari masalah ini adalah untuk menentukan peringkat kandidat untuk setiap pengguna set tes, meningkatkan sebanyak mungkin mereka yang akan menerima "kelas".
Biasanya kami memberi satu tugas, tetapi kali ini memutuskan untuk memberi tiga sekaligus. Anda tidak perlu menyelesaikan semuanya, cukup satu saja sudah cukup. Karena umpan pengguna menggabungkan berbagai jenis konten, ketika diberi peringkat, keterampilan dari berbagai bidang diperlukan - visi komputer, bekerja dengan teks dan sistem rekomendasi.
Sebagai bagian dari fase online, kami menawarkan tiga set data, yang masing-masing hanya menyajikan satu jenis informasi: gambar, teks, atau data pada berbagai atribut kolaboratif.
Hanya pada tahap kedua, ketika para pakar di berbagai bidang berkumpul, barulah dataset umum akan terungkap, yang memungkinkan menemukan titik untuk sinergi dari metode yang berbeda.
Setelah kejuaraan dibuka di platform, Anda akan melihat deskripsi tugas dan mendapatkan kesempatan untuk mengunduh data yang diperlukan untuk partisipasi.
Deskripsi Data
Informasi ini disajikan dalam format
Apache Parket , yang merupakan yang utama untuk kerangka kerja Spark. Untuk bekerja dengan format ini dari Python, kami sarankan menggunakan perpustakaan
Apache Arrow . Untuk memudahkan pemahaman, garis dasar telah diposting pada repositori
GitHub . Gunakan itu!
Di set pelatihan, data ditata berdasarkan hari, dan di dalam hari dibagi menjadi 6 bagian dengan ID pengguna (pengguna yang sama selalu jatuh ke bagian yang sama). Layout ini memungkinkan peserta untuk menganalisis tidak semua data sekaligus, tetapi membatasi diri mereka sendiri pada hari-hari tertentu dan / atau subkelompok pengguna.
Set pelatihan dibagi menjadi tiga kelompok terpisah: dengan teks, dengan gambar dan dengan fitur kolaboratif. Di setiap grup, data berisi bidang-bidang berikut:
instanceId_userId
- pengidentifikasi pengguna (dianonimkan);instanceId_objectType
- tipe objek;instanceId_objectId
- pengidentifikasi objek (dianonimkan);feedback
- larik dengan jenis reaksi pengguna (keberadaan token yang disukai dalam larik menunjukkan bahwa objek menerima "kelas" dari pengguna);audit_clientType
- jenis platform yang telah audit_clientType
pengguna;audit_timestamp
- waktu ketika kaset itu sedang dibangun;metadata_ownerId
- penulis objek yang ditampilkan (dianonimkan);metadata_createdAt
- tanggal pembuatan objek yang ditampilkan.
Objek terkait dalam format Apache Parket juga disediakan untuk objek dari set teks pelatihan:
objectId
- pengidentifikasi objek;lang
- teks bahasa (berdasarkan detektor bahasa Odnoklassniki);text
- text
mentah yang terkait dengan objek;preprocessed
- array token yang diperoleh setelah menyaring tanda baca dan stemming.
Data untuk peringkat berdasarkan gambar juga berisi
ImageId
array
ImageId
dengan hash MD5 yang terkait dengan objek gambar. Badan gambar disusun dalam file tar yang terpisah, tergantung pada huruf pertama dari hash.
Di blok dengan karakteristik kolaboratif, berbagai informasi tambahan disajikan:
audit_*
- informasi tambahan tentang konteks pembuatan rekaman;metadata_*
- informasi tambahan tentang objek itu sendiri;userOwnerCounters_*
- informasi tentang interaksi sebelumnya antara pengguna dan pembuat konten;ownerUserCounters_*
- informasi tentang interaksi sebelumnya antara pembuat konten dan pengguna;membership_*
- informasi tentang keanggotaan pengguna dalam grup tempat konten diterbitkan;user_*
- informasi terperinci tentang pengguna;auditweights_*
- sejumlah besar atribut runtime yang diambil oleh sistem saat ini.
Struktur set tes setara dengan struktur set pelatihan, tetapi tidak disusun berdasarkan hari dan tidak mengandung bidang
feedback
.
Skor
Peserta kejuaraan harus menyortir rekaman sehingga objek dengan probabilitas tinggi "kelas" berada di atas. Penyortiran dilakukan secara individual untuk setiap pengguna, setelah teks penyerahan formulir berikut terbentuk (formatnya sesuai dengan ekspor dari bingkai data Pandas dengan kolom tipe
int
dan
int[]
):
User_id_1,"[object_id_1_1, object_id_1_2]" User_id_2,"[object_id_2_1, object_id_2_2, object_id_2_3]"
Kiriman harus berisi garis untuk setiap pengguna rangkaian uji, dan garis diurutkan berdasarkan ID yang naik. Objek untuk setiap pengguna harus diurutkan dalam urutan relevansi yang menurun.
Saat mengevaluasi pengiriman untuk setiap pengguna, ROC-AUC pribadinya akan dihitung, setelah itu rata-rata untuk semua pengguna akan dihitung dan dikalikan dengan 100.
Hadiah
Tahap kedua akan diadakan dalam format tim, dan pemenang akan menerima hadiah berharga, paket stiker dan hadiah lainnya:
- 300.000 rubel ke tim yang memenangkan tempat pertama;
- 200.000 rubel ke tim tempat kedua;
- 100.000 rubel untuk tim yang mengambil tempat ketiga;
- 100.000 rubel kepada tim yang mengusulkan solusi dengan prospek terbaik untuk implementasi ke dalam operasi, menurut juri.
Selain itu, pemenang panggung online (33 pemimpin teratas untuk setiap tugas) akan menerima kaos keren.
Bonus! Peserta terbaik dan paling aktif dalam fase online akan mendapatkan PlayStation / XBox untuk dipilih. Kriteria sederhana - ada banyak bagan dalam kotak obrolan, penipuan menarik naik / turun, dan sesuatu yang lain. Pemenang akan dipilih melalui pemilihan umum.
Registrasi dan komunitas
Tidak perlu mendaftar secara khusus untuk berpartisipasi dalam kompetisi. Sudah cukup untuk terdaftar di
platform sekali dan semua kompetisi dan kotak pasir kejuaraan masa lalu akan segera tersedia untuk Anda.
Jangan buang waktu Anda. Komunitas sedang menunggu pahlawan baru.
Selamat datang !