Рекомендовать ключевые слова на основе прошлых поисковых запросов
Я пытаюсь рекомендовать пользователям конференции и ключевые слова (которые есть у каждой конференции) на основе того, какие ключевые слова он искал. Я не понимаю, какой алгоритм рекомендации будет мне полезен.
Чтобы пояснить немного больше: - Когда пользователь выполняет поиск в строке поиска, я беру поисковый запрос и выполняю удаление стоп-слов, затем сегментации пробелов и затем для каждого полученного отдельного слова, я выполняю stemming. Следовательно, я смогу найти темы конференций, которые интересуют пользователя. - Я думаю о создании вектора пользователя, в котором будут все ключевые слова, которые его интересуют или которые он искал. - Кроме того, у меня есть список всех тем доступных конференций в моей базе данных.
Итак, мой вопрос заключается в том, чтобы использовать этот вектор пользователей, какой тип рекомендаций будет полезен для пользователей, что поможет рекомендовать темы, которые могут заинтересовать пользователя. Пользователь НЕ предоставил какой-либо рейтинг по своему вкусу темам конференции, поскольку мы извлекаем данные из поиска.
Любая помощь будет высоко оценен.
2 ответа
Если единственная информация, которую вы имеете, - это то, что искал пользователь, то самое простое, что нужно сделать, - это рекомендовать темы, основанные на темах, которые искали другие, кто искал те же самые вещи.
Например, Джо ищет жареные зеленые помидоры и фиолетовые черви. Если Сэм тогда ищет фиолетовых червей-липучек, то вы можете порекомендовать ему также взглянуть на жареные зеленые помидоры.
Конечно, эта модель не работает, если у вас есть только несколько участников. Но если у вас есть много людей, которые ищут, вы можете сказать, основываясь на вашем анализе предыдущих поисков, что если кто-то ищет X, то есть большая вероятность, что он будет искать Y.
Это широко известно как совместная фильтрация.
В отсутствие каких-либо других показателей / оценок, предоставленных пользователем, все, что у вас есть, это отправленные строки поиска.
Здесь вы можете использовать поиск по частым элементам, а затем генерацию правил ассоциации, которая должна дать вам хорошую рекомендацию в виде часто встречающихся элементов (строк поиска) из всей истории.
Вы можете прочитать больше об этом здесь - майнинг правил ассоциации