Я должен сделать сервис рекомендаций книг, используя MyMediaLite. До сих пор я собирал книги с веб-сайта с помощью сканера Nutch и сохранял информацию в hbase. Проблема в том, что я на самом деле не до конца понимаю, как все это работает. Например, я должен передать файлы тестовых данных и обучающих данных с парами идентификаторов пользователя и элемента и рейтингом. Но как насчет другой информации о книге, такой как категории и авторы? Как можно найти "похожие" книги, по их информации и т.д., без информации о пользователе (пока)? Можно ли передавать данные напрямую из hbase, не сохраняя их в файл, а затем вводя? Или для этой работы лучше подойдет Apache Mahout или LibRec?
Сервис рекомендаций по товарам
Ответы (1)
Информация об оценках элементов данных, часто представленная в виде матрицы, является основой для алгоритмов совместной фильтрации (CF пользователя, CF элемента-элемента, матричная факторизация и другие). Вы используете мнения других людей для формирования рекомендаций. Нет врожденного распознавания содержания самих предметов. Для этого вам понадобится какой-то алгоритм фильтрации на основе контента или метод интеллектуального анализа данных. Они часто используются в описанном вами сценарии «холодного запуска пользователя»: у вас есть много информации об элементах, но не о предпочтениях конкретного пользователя.
Во-первых, подумайте о своей конечной цели и данных, которые у вас есть. Основываясь на ваших потребностях в продукте и имеющихся данных, вы можете выбрать правильный алгоритм для своих целей. Я настоятельно рекомендую курс RecSys на Coursera для получения дополнительной информации: https://www.coursera.org/learn/recommender-systems. Его преподает лидер в этой области.