Комментарий #24754

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

Про тормоза, там уже есть кеш для подобранных рекомендаций, но посмотрел ещё раз - наиболее тяжёлую операцию выборки оценок других пользователей можно так же закешировать. И почему я раньше не сделал? Теперь будет работать гораздо быстрее :tea2:
morr
morr#
@zmej1987, про помочь написать... почему бы и нет. Язык только руби(хотя не принципиально, формулы почти 1 в 1 перенести можно), а дампы нужных таблиц с данными я могу предоставить :8):
Хотя на самом деле тут больше теоретическая помощь нужна - как рассчитать предпочтения пользователя по дополнительным критериям (жанры,год выпуска,тип(тв,сериал,ова)), как рассчитать соответствие аниме критериям(жанрам), как соединить получившиеся дополнительные метрики с имеющимся сейчас коэффициэнтом похожести.С каким "весом" учитывать дополнительные критерии в итоговом ранжировании?
И как вообще оценить результат - получившиеся рекомендации, ведь оно очень субъективно...

Задачка та ещё. По рекомендательным системам вообще конкурсы проводятся на западе с многомиллионными призовыми фондами. Пробовал читать, кстати, pdf'ки победителей прошлых лет. Монструозные формулы и десятки страниц забористого текста... :-o решил релизовывать в итоге что попроще.
назад
Твой комментарий
Вернуться к редактированию
Предпросмотр
Скрыть