Механизмы фильтрации совместной работы Open Source
Мне было интересно, существуют ли какие-либо рамки с открытым исходным кодом, которые помогут мне включить на мой сайт следующие типы функций:
1) Если я просматриваю конкретный продукт, я хотел бы посмотреть, какие другие продукты могут быть интересны мне. Эта информация может быть выведена путем вычисления, например, того, что другие люди в моем регионе (или любой другой характеристики моего профиля) купили в дополнение к продукту, который я просматриваю. Как и то, что делает Amazon.com.
2) Вывести отношения между людьми на основе их профиля, взаимодействия друг с другом на веб-сайте (например, путем комментирования сообщений друг друга), использования веб-сайта с точки зрения наиболее посещаемых областей, продуктов, купленных совместно и т.д..
Я не ищу сайт с открытым исходным кодом с этой функциональностью, но что-то вроде объектной модели, в которую я могу передавать информацию о пользователях и их использование на сайте, включая правила об отношениях, а затем в более позднем этапе задавать вопросы в (1) и (2) выше.
Любые указатели на белые документы/общая информация о лучших подходах к этому, или любые связанные ссылки действительно помогут.
Ответы
Ответ 1
(Я являюсь разработчиком Taste, который теперь является частью Apache Mahout)
1) Вы действительно просите о двух вещах здесь:
a) Рекомендовать пункты, которые мне могут понравиться
b) Благоприятные вещи, похожие на то, что я сейчас просматриваю.
В самом деле, Mahout Taste - это ответ на a). Все, что он поддерживает, поддерживает такие системы. Взгляните на документацию, чтобы начать работу, и задайте любые вопросы [email protected]
Для 1b), в частности, Mahout имеет два ответа:
Если вас интересуют только те элементы, которые похожи на текущий элемент, вас будет интересовать абстракция ItemSimilarity
в Mahout (org.apache.mahout.cf.taste.similarity.ItemSimilarity
) и ее реализациях, например PearsonCorrelationSimilarity
. Основываясь на наборе рейтингов пользовательских позиций, это может рассказать вам приблизительное сходство между любыми двумя элементами. Тогда вы просто подобрали бы самые похожие предметы. На самом деле, посмотрите на класс TopItems в Mahout, который может просто оценить это для вас быстро.
Но также вы можете комбинировать a) и b), вычисляя рекомендации, а затем применяя реализацию Rescorer, которая затем поддерживает элементы, похожие на текущий просматриваемый элемент.
2) Да, вы также были бы интересны абстракция UserSimilarity
, реализация и т.д. Это позволит вывести сходства на основе рейтингов позиций. Однако Mahout не поможет вам вывести эти рейтинги, скажем, глядя на поведение пользователей. Это зависит от домена и зависит от вас.
Звук запутанный - прочитайте документы и не стесняйтесь следить за [email protected], где я могу рассказать вам больше.
Ответ 2
Я изучаю ту же тему, что и я работает над проектом, чтобы помочь людям решить, как голосовать за Калифорнию, Вот некоторые механизмы совместной работы с открытым исходным кодом, которые я нашел:
Также есть хороший обзор этих двигателей здесь.
Ответ 3
Есть также Duine framework и OpenSlopeOne.
Но, по-моему, Махут все же лучший.
Вы можете найти обзор об Open Source Recommendedender Systems здесь:
http://girlincomputerscience.blogspot.com.br/2012/11/open-source-recommendation-systems.html
Надеюсь, что это поможет!
Ответ 4
Вы можете найти Список рекомендуемых систем здесь