Saya mengajukan pertanyaan serupa tentang jarak antara "dokumen" (artikel Wikipedia, berita, dll.). Saya membuat pertanyaan ini terpisah karena permintaan pencarian jauh lebih kecil dari dokumen dan jauh lebih ribut. Karenanya saya tidak tahu (dan ragu) apakah metrik jarak yang sama akan digunakan di sini.
Metrik jarak vanila leksikal atau metrik jarak semantik canggih lebih disukai, dengan preferensi yang lebih kuat untuk yang terakhir.
Jawaban:
Dari pengalaman saya, hanya beberapa kelas pertanyaan yang dapat diklasifikasi berdasarkan fitur leksikal (karena ambiguitas bahasa alami). Sebagai gantinya, Anda dapat mencoba menggunakan hasil pencarian boolean (situs atau segmen situs, bukan dokumen, tanpa peringkat) sebagai fitur untuk klasifikasi (alih-alih pada kata-kata). Pendekatan ini bekerja dengan baik di kelas-kelas di mana ada ambiguitas leksikal yang besar dalam sebuah kueri tetapi ada banyak situs bagus yang relevan dengan kueri (misalnya film, musik, kueri komersial, dan sebagainya).
Juga, untuk klasifikasi offline Anda dapat melakukan LSI pada matriks situs permintaan. Lihat buku "Pengantar Pengambilan Informasi" untuk detailnya.
sumber
Metrik kemiripan kosinus melakukan pekerjaan yang baik (jika tidak sempurna) mengendalikan panjang dokumen, jadi membandingkan kemiripan 2 dokumen atau 2 kueri menggunakan metrik kosinus dan bobot bobot untuk kata-kata harus bekerja dengan baik dalam kedua kasus. Saya juga akan merekomendasikan melakukan LSA pertama pada bobot idf, dan kemudian menghitung persamaan cosinus distance \.
Jika Anda mencoba untuk membangun mesin pencari, saya akan merekomendasikan menggunakan mesin pencari open source gratis seperti solr atau pencarian elastis, atau hanya perpustakaan lucene mentah, karena mereka melakukan sebagian besar pekerjaan untuk Anda, dan memiliki metode built in yang bagus untuk menangani permintaan untuk mendokumentasikan masalah kesamaan.
sumber