25000 лучших фильмов, или еще один сервис для кино поиска

В недавней статье я рассказал, как безуспешно пытался применить алгоритмы коллаборативной фильтрации для практически ценной рекомендации фильмов. Однако в процессе экспериментов обнаружилось, что простое усреднение оценок фильма пользователями сервиса (рейтинг IMDB, Кинопоиска и т.д.) является очень неплохим предсказателем оценки фильма новым зрителем, что было продемонстрировано математически. Это, в частности, объясняет, почему все знают рейтинг Кинопоиска, а о рекомендациях Кинопоиска никто не слышал, хотя такой сервис у них есть.

Однако и у усредненных оценок (рейтингов) есть свои проблемы. Посмотрим, как выглядит топ фильмов по рейтингу в киносоциальной сети Letterboxd:

25000 лучших фильмов, или еще один сервис для кино поиска

Многие из этих фильмов не знакомы даже киноманам. Например, на 18 месте находится фильм "The Human Condition III: A Soldier’s Prayer" с рейтингом 4.52 и 12K оценками, а на 29 - "The Lord of the Rings: The Return of the King" (третья часть "Властелина колец") с рейтингом 4.48 и 792К оценками. Первый фильм имеет немного более высокий рейтинг, но он в 70 раз менее популярен. Хотелось бы построить такой список фильмов, который бы отражал как рейтинг фильма, так и его популярность одновременно.

Так я и пришел к идее "композитного" рейтинга. Рейтинг умножается на некую производную от популярности фильма, повышая рейтинг, если фильм популярнее среднего, и понижая в обратном случае. Можно сказать, что популярность фильма становится мерой "достоверности" его рейтинга. Композитный рейтинг используется только для сортировки фильмов, отражая сравнительную предпочтительность фильма для просмотра. В соответствии с этим рейтингом, фильмы из примера выше перемещаются с 18 на 780 место и с 29 на 10 место соответственно.

Эксперименты с композитным рейтингом оказались настолько интересными, что я решил создать небольшое приложение для поиска фильмов с его помощью. Я назвал его CineFilter.

25000 лучших фильмов, или еще один сервис для кино поиска

CineFilter - это дополнение к англоязычной киносоциальной сети Letterboxd (советую у просмотру русскоязычное видео о ней). С его помощью вы можете выбирать фильмы, соответствующие различным критериям (режиссер, актер, комбинации жанров, год выпуска и т.д.), и фильмы будут отсортированы по их композитному рейтингу.

Этот сервис можно рассматривать как IMDB Top 250, который можно отфильтровать множеством различных способов. CineFilter содержит более 25000 фильмов с самым высоким композитным рейтингом.

Примеры возможных поисков:

В Letterboxd жанры фильмов проставлены очень адекватно, поэтому поиск по жанрам может быть очень интересным. Например:

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

Если сервис будет пользоваться популярностью, я планирую добавить больше критериев для поиска, например: оператор, сценарист или студия (возможность увидеть фильмы A24 или Miramax в одном списке и отфильтровать их по жанрам). Также было бы очень интересно добавить фильтры по кинофестивалям, но, к сожалению, этой информации в Letterboxd нет, и не ясно, как это реализовать.

Приложение является Progressive Web App и может быть установлено как "родное" на все платформы, включая мобильные, через меню браузера "Add to Home screen" и аналогичные.

Планирую обновлять данные в приложении раз в месяц.

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

22
1 комментарий

Интересная задумка
А если это сделать на базе данных каких нибудь отечественных сервисов, чтобы было более релевантно для русскоязычной аудитории?
PWA писали сами или на каком нибудь конструкторе?
(Кстати ссылка на Discord не действительна((

Ответить