Фреймворки для совместной работы с открытым исходным кодом - PullRequest
15 голосов
/ 18 марта 2009

Мне было интересно, существуют ли какие-либо фреймворки с открытым исходным кодом, которые помогут мне включить следующий тип функциональности на мой сайт:

1) Если я просматриваю тот или иной продукт, я хотел бы посмотреть, какие другие продукты могут быть мне интересны. Эта информация может быть получена путем расчета, например, того, что другие люди в моем регионе (или любые другие характеристики моего профиля) купили в дополнение к продукту, который я просматриваю. Вроде того, что делает Amazon.com.

2) Выводить отношения между людьми на основе их профиля, взаимодействия друг с другом на веб-сайте (например, посредством комментирования сообщений друг друга), использования веб-сайта с точки зрения наиболее просматриваемых областей, продуктов, купленных совместно, и т. Д. .

Я не ищу сайт с открытым исходным кодом с этой функциональностью, а что-то вроде объектной модели, в которую я могу подавать информацию о пользователях и их использовании сайта, включая правила об отношениях, а затем задавать им вопросы, описанные в (1) и (2) выше.

Любые ссылки на официальные документы / общую информацию о лучших подходах к этому или любые связанные ссылки действительно помогут.

Ответы [ 4 ]

13 голосов
/ 14 мая 2009

(я разработчик 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, где я могу рассказать вам больше.

9 голосов
/ 13 мая 2009

Я исследую ту же тему, поскольку работаю над проектом , чтобы помочь людям решить, как голосовать по сложным мерам голосования в Калифорнии. Вот несколько механизмов совместной работы с открытым исходным кодом, которые я нашел:

Существует также хороший обзор этих двигателей здесь .

2 голосов
/ 28 декабря 2012

Есть также Duine framework и OpenSlopeOne . Но по моему мнению, Mahout все еще лучший. Вы можете найти обзор систем с открытым исходным кодом здесь:

http://girlincomputerscience.blogspot.com.br/2012/11/open-source-recommendation-systems.html

Надеюсь, это поможет!

0 голосов
/ 12 августа 2016

Вы можете найти Список рекомендательных систем здесь

...