Saat ini saya sedang membangun mesin pencari in-house kecil berdasarkan Apache Lucene. Tujuannya sederhana - berdasarkan beberapa kata kunci, ini akan menyarankan beberapa artikel yang ditulis secara internal di dalam perusahaan kami. Saya menggunakan skor TF-IDF yang cukup standar sebagai metrik dasar dan membangun mekanisme penilaian saya sendiri di atasnya. Semua ini tampaknya berfungsi sangat baik kecuali untuk beberapa kasus sudut di mana peringkat tampaknya kacau.
Jadi apa yang saya rencanakan untuk dilakukan adalah menambahkan tautan Relevan / Tidak Relevan kecil ke halaman hasil pencarian sehingga pengguna dapat mengklik salah satu dari mereka tergantung pada persepsi mereka tentang apakah hasil itu harus dimasukkan di tempat pertama.
Ide saya
- Perlakukan ini Relevan / Tidak Relevan sebagai label dan buat data pelatihan.
- Gunakan data ini untuk melatih classifier (seperti SVM)
- Masukkan model ini ke mesin pencari, yaitu, setiap hasil baru akan melewati pengklasifikasi dan akan diberi label apakah itu relevan atau tidak.
Pendekatan ini tampaknya intuitif bagi saya tetapi saya tidak yakin apakah itu akan berhasil dalam praktiknya. Saya punya dua pertanyaan spesifik:
- Apa semua fitur yang harus saya ekstrak?
- Apakah ada cara yang lebih baik untuk mengintegrasikan komponen pembelajaran mesin ke mesin pencari? Tujuan akhir saya adalah "mempelajari" fungsi peringkat berdasarkan logika bisnis dan umpan balik pengguna.