Berapa banyak waktu yang diperlukan untuk mengklasifikasi scikit?

10

Saya berencana untuk menggunakan classifier scikit linear support vector machine (SVM) untuk klasifikasi teks pada corpus yang terdiri dari 1 juta dokumen berlabel. Apa yang saya rencanakan untuk lakukan adalah, ketika pengguna memasukkan beberapa kata kunci, classifier pertama akan mengklasifikasikannya dalam kategori, dan kemudian pencarian informasi berikutnya akan terjadi di dalam dokumen kategori kategori tersebut. Saya punya beberapa pertanyaan:

  1. Bagaimana saya mengonfirmasi bahwa klasifikasi tidak akan memakan banyak waktu? Saya tidak ingin pengguna harus menghabiskan waktu menunggu klasifikasi selesai untuk mendapatkan hasil yang lebih baik.
  2. Apakah menggunakan pustaka scikit Python untuk situs web / aplikasi web cocok untuk ini?
  3. Adakah yang tahu bagaimana amazon atau flipkart melakukan klasifikasi pada permintaan pengguna, atau apakah mereka menggunakan logika yang sama sekali berbeda?
pengguna3498
sumber
Anda dapat mengklasifikasikan semua kata kunci sebelumnya dan kemudian hanya menarik kategori dari indeks.
Berteman
@ teman sepertinya jawaban untuk satu kata pencarian. Tetapi jika permintaan pencarian terdiri lebih banyak kata .. atau kombinasi kata .. saya harus membuat indeks untuk semua kombinasi !!!
user3498
1
SVC cepat, jadi jika Anda ingin menggunakannya untuk klasifikasi permintaan dalam aplikasi dengan beban sedang, itu akan berfungsi. Tetapi klasifikasi oleh satu (atau bahkan beberapa kata) adalah ide yang buruk dalam banyak kasus. Ambil kata-kata yang ambigu, misalnya: bagaimana jika beberapa kata termasuk dalam 2 kategori dengan sangat sedikit perbedaan dalam probabilitas? Apakah Anda akan membuang sedikit kemungkinan kategori keluar dari pencarian? Apa yang paling Anda inginkan adalah istilah tambahan dalam formula pemeringkatan saat mencari, bukan menolak kategori yang kurang memungkinkan sama sekali.
Berteman

Jawaban:

3

Satu-satunya cara yang dapat diandalkan untuk melihat berapa lama waktu yang dibutuhkan adalah mengkodekannya dan mencobanya. Pelatihan akan membutuhkan lebih banyak waktu, maka Anda dapat menyimpan model Anda (acar) untuk digunakan nanti.

pengguna1269942
sumber
3

Saya tidak melihat masalah besar di sini. Jadi, saya akan mencoba menjawab semua pertanyaan Anda dari sudut pandang tingkat produksi:

Bagaimana saya mengonfirmasi bahwa klasifikasi tidak akan memakan banyak waktu?

Ambil subkumpulan data corpus yang Anda miliki (Anda dapat melakukannya secara acak, tidak perlu pengambilan sampel), dan uji algoritme Anda padanya, dan mereka memperkirakan / menggeneralisasikannya ke dataset keseluruhan.

(SVM relatif lebih cepat. Namun demikian, lakukan proses di atas hanya untuk memastikan.)

Dan lakukan pengujian di lingkungan pengembangan sebelum mendorong produksi.

Apakah menggunakan pustaka scikit Python untuk situs web / aplikasi web cocok untuk ini?

Ya , benar. Ini sudah digunakan oleh banyak perusahaan di luar sana.

Pertanyaan ketiga tentang Amazon dan Flipkart tidak dapat dijawab oleh seseorang di luar tim mereka.

Selain itu, saya akan menyarankan Anda untuk menggunakan teknik mapreduce untuk melatih model Anda. Dan seperti yang sudah disarankan, pilih model Anda sehingga Anda tidak perlu melatih mereka dengan setiap permintaan.

Dawny33
sumber