По поводу рекомендации двигателя - PullRequest
4 голосов
/ 23 января 2012

Что за быстрый «если пользователь A и пользователь B любят продукт C, им может быть интересно следовать друг другу» алгоритм. Я не думаю, что вычисление их сходства во время выполнения достаточно разумно, потому что это замедлит ответ. С другой стороны, вычисление индекса овернайт потребует выполнения (N * N-1) разных прогонов, где N - количество пользователей ... тоже не очень умно. Кроме того, каждый раз, когда пользователю нравится новый продукт или новый пользователь регистрируется, индексы должны пересчитываться.

Какая самая умная вещь, которую можно применить здесь? Какое-то сверхбыстрое хеширование, к которому потом добавляются только новые элементы?

Ответы [ 2 ]

0 голосов
/ 23 января 2012

Думали ли вы о базе данных RDF? Нравится OWLIM http://www.ontotext.com/owlim

0 голосов
/ 23 января 2012

Хорошо среди алгоритмов, которые я изучал в курсе в Uni, был один, имеющий дело с такими вещами.Их рекомендуемый подход состоял в том, чтобы вычислить индекс «сходства» для каждой пары пользователей (который, я полагаю, упомянутый вами метод N * N), а затем на основе этого определения, к каким пользователям конкретный пользователь ближе всего.

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

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...