Зараз я будую невелику внутрішню пошукову систему на базі Apache Lucene. Призначення його просте - на основі деяких ключових слів він пропонує запропонувати деякі статті, написані всередині нашої компанії. Я використовую досить стандартний бал TF-IDF як базовий показник і над ним будую свій власний механізм балів. Все це, здається, працює чудово, за винятком деяких кутових випадків, коли рейтинг здається заплутаним.
Тож, що я планую робити, - це додати невелику відповідну / невідповідну посилання на сторінку результатів пошуку, щоб користувачі могли натиснути одну з тих, що залежать від їх сприйняття, чи повинен цей результат був включений в першу чергу.
Моя ідея
- Ставтесь до цих релевантних / невідповідних як до міток та створіть дані про навчання.
- Використовуйте ці дані для підготовки класифікатора (наприклад, SVM)
- Включіть цю модель в пошукову систему, тобто кожен новий результат буде проходити через класифікатор і йому буде присвоєно мітку на те, чи вона відповідна чи ні.
Цей підхід мені здається інтуїтивно зрозумілим, але я не впевнений, чи спрацює це на практиці. У мене є два конкретні питання:
- Які всі функції слід витягти?
- Чи є кращий спосіб інтегрувати компонент машинного навчання в пошукову систему? Моя остаточна мета - "вивчити" функцію ранжирування на основі як логіки бізнесу, так і відгуків користувачів.