morr, систему рекомендаций писали сами или взяли где-то готовую? Есть сильное желание пофиксить чуть более чем полностью, так как а.) Работает ооооочень медленно. б.) Выдает неадекватную подборку. Лично у меня: 1) На первом месте аниме 88 года, хотя я не такой уж любитель старого аниме, даже если его рейтинг за 9. 2) На втором месте спортивное аниме, которое я вообще не смотрю. 3) На четвертом, шестом и 7ом местах - продолжения сериалов, которые я еще не смотрел. Сами по себе неплохие, но хотелось бы смотреть сначала, а не с середины. 4) На пятом месте аниме, которое уже есть в моем списке (хотя тут не уверен баг или фича) Итого: из первой десятки только 4 рекомендации - адекватны. Из этих 4ех - 3 в конце десятки. У меня есть опыт программирования на python и perl, опыт программирования систем решения задач оптимизации, в том числе многокритериальной (рекомендательные системы как раз в эту категорию попадают), есть интерес написать рекомендательную систему.
@zmej1987, не сам, по уже описанному рецепту - по формуле ранжирования из этой книги. Формула простенькая, учитывает оценки других пользователей и похожесть других пользователей на вас. Жанры, студии, и прочие параметры в ранжировании не участвуют. Собственно даже могу показать код - вот оно. Это про пунктам 1 и 2. Про п.3 это достаточно... проблематично. Вряд ли будет. На каждый второй сезон может понадобится по несколько запросов в базу на поиск первого сезона, а с учётом, что рекомендаций до 500 штук выдаётся... Плюс не все вторые сезоны можно определить просто по названию. Четвёртый пункт так и задуман
Про тормоза, там уже есть кеш для подобранных рекомендаций, но посмотрел ещё раз - наиболее тяжёлую операцию выборки оценок других пользователей можно так же закешировать. И почему я раньше не сделал? Теперь будет работать гораздо быстрее
@zmej1987, про помочь написать... почему бы и нет. Язык только руби(хотя не принципиально, формулы почти 1 в 1 перенести можно), а дампы нужных таблиц с данными я могу предоставить Хотя на самом деле тут больше теоретическая помощь нужна - как рассчитать предпочтения пользователя по дополнительным критериям (жанры,год выпуска,тип(тв,сериал,ова)), как рассчитать соответствие аниме критериям(жанрам), как соединить получившиеся дополнительные метрики с имеющимся сейчас коэффициэнтом похожести.С каким "весом" учитывать дополнительные критерии в итоговом ранжировании? И как вообще оценить результат - получившиеся рекомендации, ведь оно очень субъективно...
Задачка та ещё. По рекомендательным системам вообще конкурсы проводятся на западе с многомиллионными призовыми фондами. Пробовал читать, кстати, pdf'ки победителей прошлых лет. Монструозные формулы и десятки страниц забористого текста... решил релизовывать в итоге что попроще.
а.) Работает ооооочень медленно.
б.) Выдает неадекватную подборку. Лично у меня:
1) На первом месте аниме 88 года, хотя я не такой уж любитель старого аниме, даже если его рейтинг за 9.
2) На втором месте спортивное аниме, которое я вообще не смотрю.
3) На четвертом, шестом и 7ом местах - продолжения сериалов, которые я еще не смотрел. Сами по себе неплохие, но хотелось бы смотреть сначала, а не с середины.
4) На пятом месте аниме, которое уже есть в моем списке (хотя тут не уверен баг или фича)
Итого: из первой десятки только 4 рекомендации - адекватны. Из этих 4ех - 3 в конце десятки.
У меня есть опыт программирования на python и perl, опыт программирования систем решения задач оптимизации, в том числе многокритериальной (рекомендательные системы как раз в эту категорию попадают), есть интерес написать рекомендательную систему.
@morr,@morr