Şu anda Apache Lucene tabanlı küçük bir şirket içi arama motoru inşa ediyorum. Amacı basittir - bazı anahtar kelimelere dayanarak, şirketimizde dahili olarak yazılmış bazı makaleler önerecektir. Temel bir metrik olarak oldukça standart bir TF-IDF puanlaması kullanıyorum ve üzerine kendi puanlama mekanizmamı oluşturdum. Tüm bunlar, sıralamanın dağılmış olduğu bazı köşe vakaları dışında mükemmel çalışıyor gibi görünüyor.
Yapmayı planladığım şey, arama sonuçları sayfasına küçük bir Alakalı / Alakalı olmayan bağlantı eklemektir, böylece kullanıcılar bu sonucun ilk etapta yer alması gerekip gerekmediğine dair algılarına bağlı olarak bunlardan birini tıklayabilirler.
Benim fikrim
- Bunlara Alakalı / Alakasız etiket olarak davranın ve bir eğitim verisi oluşturun.
- Bir sınıflandırıcıyı (SVM gibi) eğitmek için bu verileri kullanın
- Bu modeli arama motoruna dahil edin, yani her yeni sonuç sınıflandırıcıdan geçecek ve alakalı olup olmadığı konusunda bir etiket atanacaktır.
Bu yaklaşım benim için sezgisel görünüyor, ancak pratikte işe yarayıp yaramayacağından emin değilim. İki özel sorum var:
- Hangi tüm özellikleri çıkarmalıyım?
- Makine öğrenimi bileşenini arama motoruna entegre etmenin daha iyi bir yolu var mı? Son hedefim, hem iş mantığına hem de kullanıcı geri bildirimlerine dayalı olarak sıralama işlevini "öğrenmek".