(я разработчик Taste, который теперь является частью Apache Mahout )
1) Вы действительно просите две вещи здесь:
а) Рекомендовать предметы, которые могут мне понравиться
б) Избранные вещи, которые похожи на вещи, на которые я сейчас смотрю.
Действительно, Mahout Taste - это все, что нужно для ответа а). Все, что он делает, поддерживает такие системы. Для начала ознакомьтесь с документацией и задайте любые вопросы по адресу mahout-user@apache.org.
.
В частности, для 1b) у Махута есть два ответа:
Если вас интересует только то, какие элементы похожи на текущий элемент, вас заинтересует абстракция ItemSimilarity
в Mahout (org.apache.mahout.cf.taste.similarity.ItemSimilarity
) и ее реализациях, например PearsonCorrelationSimilarity
. Основываясь на наборе оценок пользовательских элементов, это может подсказать приблизительное сходство между любыми двумя элементами. Затем вы просто выберите наиболее похожие предметы. На самом деле, посмотрите на класс TopItems в Mahout, который может быстро это понять.
Но вы также можете объединить a) и b), вычислив рекомендации, затем применив реализацию Rescorer, которая затем отдает предпочтение элементам, которые похожи на просматриваемый в данный момент элемент.
2) Да, аналогичным образом, вам будет интересна абстракция UserSimilarity
, реализации и т. Д. Это будет выводить сходства на основе оценок предметов. Однако Mahout не помогает вам вывести эти оценки , скажем, взглянув на поведение пользователя. Это зависит от домена и зависит от вас.
Звук сбивает с толку - читайте документы и не стесняйтесь следить за ними по адресу mahout-user@apache.org, где я могу рассказать вам больше.