Deduplikasi iklan di Yandex.Real Estate

Semester terakhir, siswa di Pusat Ilmu Komputer Sergey Gorbatyuk dan Peter Karol bekerja pada deduplikasi iklan di Yandex.Real Estate di bawah kepemimpinan Vladimir Gorovoy, manajer proyek. Orang-orang memberi tahu kami bagaimana proyek bekerja dan hasil apa yang mereka capai.

gambar


Tugas desain


Yandex.Real Estate adalah layanan iklan untuk penjualan dan penyewaan apartemen, kamar, rumah, tanah. Iklan ditempatkan oleh individu, pengembang atau agen real estat, sehingga properti yang sama sering diwakili oleh beberapa penawaran. Paling sering, beberapa agen mencoba untuk menjual apartemen sekaligus, dan kadang-kadang juga pemiliknya.

Duplikat dari iklan yang dilihat paling gampang mengganggu pengguna, paling buruk mereka menyesatkan. Ini juga mencegah tim Yandex dari mengumpulkan analisis dengan apartemen dan menghitung dengan tepat berapa banyak untuk dijual atau disewa. Oleh karena itu, saya ingin mempelajari cara mencari dan merekatkan duplikat dalam satu penawaran.

Aliran iklan tidak dapat dimoderasi secara manual karena itu sangat besar. Jadi, kita membutuhkan algoritma yang dapat menemukan duplikat sebanyak mungkin dengan akurasi tinggi. Akurasi penting karena harga kesalahannya tinggi: menyatukan iklan yang berbeda akan menyebabkan pengguna mengeluh.

Tugas dengan persyaratan tinggi dan struktur data yang kompleks biasanya diselesaikan dengan menggunakan algoritma pembelajaran mesin, sehingga pada kenyataannya tugas itu dirumuskan sebagai "Melatih salah satu pengklasifikasi canggih."

Masalahnya


  • Area subjek baru bagi kami, ia memiliki kesulitan dan fitur sendiri.
  • Tidak ada data yang ditandai sama sekali.
  • Tidak ada tugas pembelajaran mesin yang eksplisit - apa yang akan menjadi faktor dan variabel target di sini?

Dengan paragraf terakhir, semuanya relatif sederhana: faktor-faktornya adalah informasi tentang sepasang objek dari iklan yang berbeda, dan variabel targetnya adalah apakah satu adalah objek dalam kenyataan, atau dua berbeda. Tetapi menemukan fitur-fitur pasar real estat dan mengumpulkan data menghabiskan sebagian besar waktu proyek.

Markup data


Kami menerima bagian dari database dengan penawaran penjualan apartemen di Moskow. Data utama yang menggambarkan mereka adalah:

  • Data terstruktur umum - rekaman, harga, lantai, jumlah kamar, kamar mandi, ketinggian langit-langit, meta-informasi tentang penjual dan lainnya.
  • Deskripsi teks dari objek.
  • Foto-foto objek.

Sebelum Yandex, kami memiliki pengganda duplikat yang dilatih tentang faktor-faktor dari 1 titik tanpa data kontrol. Ini adalah algoritma pengelompokan penawaran yang disebut tawaran duplikat yang termasuk dalam satu kluster. Itu memiliki akurasi yang cukup tinggi, tetapi kelengkapan yang relatif rendah. Ini berarti bahwa proporsi duplikat yang dia temukan rendah, meskipun dia jarang salah.

Kami menggunakan gagasan untuk membandingkan penawaran satu sama lain berdasarkan perbedaan dan hubungan antara indikator utama: misalnya, harga atau harga, untuk mendapatkan metrik empiris dari ketidaksamaan iklan. Dan mereka datang dengan fungsi yang menghubungkan dua angka dengan satu angka - ukuran seberapa besar perbedaan kedua iklan dalam data primer. Indikator ini membantu kami untuk membuat sampel yang seimbang sambil menandai data dan setidaknya secara kasar mengatur distribusi contoh: kami ingin contoh yang lebih identik, atau sangat berbeda, atau kompleks di suatu tempat di tengah.

Markup ternyata jauh lebih rumit dari yang kami harapkan. Dan inilah alasannya:

  • Deskripsi identik dan tidak informatif dari objek yang serupa. Terutama dari dana baru: perusahaan konstruksi membawa mereka dalam batch, dan hanya dalam kasus yang jarang mereka dapat dibedakan dengan jumlah lot.
  • Korupsi data yang disengaja. Spesialis real estat menjelaskan kepada kami bahwa kadang-kadang orang ingin menyembunyikan lantai asli atau tampilan apartemen.
  • Eksterior tidak informatif atau foto benda serupa.
  • Foto berbeda dari objek yang sama. Di bawah ini adalah salah satu contoh sederhana, namun, beberapa foto harus ditinjau sejak lama seperti detektif, menggunakan semua kekuatan metode deduktif untuk satu-satunya tujuan memutuskan apakah itu satu apartemen atau dua yang berbeda.


gambar

gambar

Garis dasar yang diawasi


Kami menandai data dan mencoba untuk melatih Hutan Acak hanya pada faktor-faktor dari paragraf pertama - indikator harga dan rekaman kategori dan berkelanjutan. Perbedaan dan hubungan faktor-faktor ini, serta faktor-faktor tambahan yang dibangun berdasarkan waktu penempatan dan pembaruan, informasi tentang penjual, dll., Digunakan sebagai prediktor. Pada data uji, penggolong ini lebih akurat daripada algoritma pengelompokan konservatif sebesar 5-8%, dan kelengkapannya melebihi hasil sebelumnya sebesar 30-35%.

Didorong oleh hasil ini, kami beralih ke dua faktor lain - deskripsi teks dan gambar. Kami hampir gagal bekerja dengan yang terakhir: kami menurunkannya agak terlambat. Mereka mencoba menggunakan hash untuk memfilter foto eksterior umum, hash perseptual untuk berurusan dengan tanda air dan output jaringan konvolusional lapisan tinggi (ResNet-18) sebagai faktor tambahan, namun, yang mengejutkan kami, mereka tidak mendapatkan peningkatan akurasi yang kuat.

Menurut pendapat kami, perlu untuk mendekati analisis gambar di area subjek ini bahkan lebih teliti, memperhatikan banyak preprocessing gambar, mencoba arsitektur lain dan fungsi kerugian khusus. Untuk data teks lemmatized dan vectorized, algoritma vektorisasi Tf-Idf diterapkan dan representasi vectorized digunakan sebagai fitur utama. Metrik yang berbeda dari vektor-vektor ini memberikan peningkatan kualitas prediksi yang lebih mengesankan. Hasil terbaik sebagai faktor adalah probabilitas yang diprediksi oleh regresi logistik yang dilatih secara terpisah pada vektor-vektor ini.

Model akhir


Model terakhir, yang mengumpulkan semua tanda dan keluaran dari yang lain, adalah CatBoost. Ini adalah produk Yandex yang dilatih dengan fungsi kehilangan khusus - ukuran-F yang dimodifikasi. Teknologi CatBoost telah memantapkan dirinya sebagai salah satu yang terbaik dalam tugas klasifikasi dan mudah diintegrasikan ke dalam infrastruktur. Kualitas algoritma pada sampel uji adalah akurasi 98% dan 93% kelengkapan.

Kami menganggap ini hasil yang baik, dan apakah itu sama dari sudut pandang bisnis - pakar dari departemen pemasaran akan memutuskan :)

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


All Articles