Personalisasi: cara kami bekerja dengan rekomendasi QIWI

Halo semuanya!

Nama saya Lydia, saya adalah pemimpin tim dari tim DataScience kecil di QIWI.

Teman-teman saya sering menghadapi tugas meneliti kebutuhan pelanggan, dan dalam posting ini saya ingin berbagi pemikiran tentang bagaimana memulai topik dengan segmentasi dan pendekatan apa yang dapat membantu memilah-milah data yang tidak terisi.

Siapa yang akan mengejutkan dengan personalisasi sekarang? Kurangnya penawaran pribadi dalam suatu produk atau layanan sudah tampak seperti orang jahat, dan kami sedang menunggu krim yang sama hanya dipilih untuk kita di mana-mana - dari feed Instagram hingga paket tarif pribadi.

Namun, dari mana asal konten atau penawaran itu? Jika ini adalah pertama kalinya Anda menenggelamkan diri di perairan gelap pembelajaran mesin, Anda mungkin akan menemukan pertanyaan dari mana harus memulai dan bagaimana mengidentifikasi kepentingan klien. Paling sering, jika ada basis pengguna yang besar dan kurangnya pengetahuan tentang mereka, ada keinginan untuk pergi dalam dua cara populer:

1. Tandai sampel pengguna secara manual dan latih untuk itu model yang memungkinkan Anda untuk menentukan apakah kelas atau kelas ini milik - dalam kasus target multi-kelas.

Ini adalah pilihan yang baik, tetapi pada tahap awal ini bisa menjadi jebakan - lagipula, kita masih belum tahu segmen apa yang kita miliki pada prinsipnya dan seberapa berguna mereka untuk mempromosikan fitur-fitur produk baru, komunikasi, dan banyak lagi. Belum lagi fakta bahwa markup klien manual cukup mahal dan kadang-kadang sulit, karena semakin banyak layanan yang Anda miliki, semakin banyak data yang Anda butuhkan untuk memahami bagaimana klien ini hidup dan bernafas. Sangat mungkin bahwa sesuatu seperti ini akan berubah:



2. Setelah membakar diri pada opsi # 1, mereka sering memilih opsi analisis tanpa pengawasan tanpa sampel pelatihan.

Jika Anda meninggalkan lelucon tentang efektivitas kmeans, Anda dapat mencatat satu poin penting yang menggabungkan semua metode pengelompokan tanpa pelatihan - mereka hanya memungkinkan Anda untuk menggabungkan pelanggan berdasarkan kedekatan dengan metrik yang dipilih. Misalnya, jumlah pembelian, jumlah hari kehidupan, saldo, dan lainnya.

Ini juga dapat berguna jika Anda ingin membagi audiens Anda menjadi kelompok besar dan kemudian mempelajari masing-masing, atau menyoroti inti dan segmen yang tertinggal di belakang metrik produk.

Misalnya, dalam ruang dua dimensi, hasil yang bermanfaat mungkin terlihat seperti ini - Anda dapat langsung melihat kelompok mana yang perlu ditelusuri lebih detail.



Tetapi semakin banyak metrik yang Anda gunakan untuk pengelompokan, semakin sulit untuk menafsirkan hasilnya. Dan preferensi pelanggan yang sama masih diselimuti misteri.

Apa yang harus dilakukan, ini pertanyaannya? Di QIWI, kami telah berulang kali memeras otak kami atas dilema ini hingga kami sampai pada model penasaran yang terinspirasi oleh artikel ini . Di antara kasus-kasus lain, artikel tersebut menggambarkan keputusan dari Konstantin Vorontsov untuk menyoroti pola perilaku pengguna kartu bank yang laten berdasarkan pada perpustakaan BigARTM .

Intinya adalah bahwa transaksi klien disajikan sebagai satu set kata dan kemudian dari kumpulan teks yang dihasilkan, di mana dokumen = klien, dan kata-kata = kode PKS (kode kategori pedagang, klasifikasi outlet internasional), topik teks dialokasikan menggunakan salah satu alat Pemrosesan Bahasa Alami ( NLP) - pemodelan tematik .

Dalam kinerja kami, pipa terlihat seperti ini:



Kedengarannya sangat alami - jika kita ingin memahami bagaimana dan bagaimana audiens kita hidup, mengapa tidak membayangkan tindakan yang dilakukan pelanggan di dalam ekosistem kita sebagai sebuah kisah yang diceritakan oleh mereka. Dan buatlah panduan untuk topik cerita ini.

Terlepas dari kenyataan bahwa konsepnya terlihat elegan dan sederhana, dalam praktiknya, ketika menerapkan model, saya harus menghadapi beberapa masalah:

  1. keberadaan outlier dan anomali dalam data dan, sebagai konsekuensinya, pergeseran subjek menuju kategori pembelian pelanggan dengan omset besar,
  2. penentuan jumlah topik yang benar N,
  3. pertanyaan tentang validasi hasil (apakah ini mungkin pada prinsipnya?)

Untuk masalah pertama, solusinya ditemukan dengan cukup mudah - semua klien utama dibagi oleh pengklasifikasi paling sederhana menjadi "inti" dan "bintang" (lihat gambar di atas) dan masing-masing cluster diproses sebagai kumpulan teks terpisah.

Tetapi poin kedua dan ketiga membuat saya bertanya-tanya - sungguh, bagaimana cara memvalidasi hasil pembelajaran tanpa sampel pelatihan? Tentu saja, ada metrik kualitas untuk model, tetapi tampaknya itu tidak cukup - dan itulah sebabnya kami memutuskan untuk melakukan hal yang sangat sederhana - untuk memeriksa hasilnya pada sumber data yang sama.

Pemeriksaan ini terlihat sebagai berikut: klasifikasi menghasilkan serangkaian topik, misalnya, seperti ini:



Di sini daftar Python adalah seperangkat kategori pembelian kunci PKS yang paling mungkin untuk topik ini (dari matriks "kata - subjek"). Jika Anda melihat secara terpisah pada pembelian dalam kategori maskapai dan maskapai penerbangan, cukup logis bahwa pelanggan dengan tema "pelancong" akan menjadi bagian terbesar dari penggunanya.



Dan cek ini mudah diterapkan dalam bentuk dasbor - pada saat yang sama Anda akan memiliki bahan visual untuk menghasilkan hipotesis produk - yang memiliki cashback untuk penerbangan, dan yang memiliki diskon untuk kopi.

Dan dalam koleksi untuk pemodelan tematik, Anda dapat menambahkan tidak hanya peristiwa transaksional, tetapi juga informasi meta dari model lain, topik panggilan dukungan pelanggan dan banyak lagi. Atau gunakan sebagai fitur kategorikal untuk algoritma yang dilindungi - misalnya, model prediksi aliran keluar dan sebagainya.

Tentu saja, pendekatan ini memiliki nuansa tersendiri - misalnya, koleksi diproses sebagai kumpulan kata dan urutan pembelian tidak diperhitungkan, tetapi dapat sepenuhnya dikompensasi dengan menggunakan N gram atau menghitung tag tematik untuk setiap periode signifikan kehidupan klien (misalnya setiap bulan, misalnya). Namun, gagasan tentang kisah pelanggan yang dapat dibaca dan ditafsirkan, kombinasi NLP dan model lainnya tampaknya sangat menarik bagi kami.

Dan bagaimana Anda menyukai topik ini? Kesulitan atau kegembiraan segmentasi apa yang dihadapi tim ilmu data Anda? Menarik untuk mengetahui pendapat Anda.

Source: https://habr.com/ru/post/id463389/


All Articles