Как стать автором
Обновить

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

Уровень сложностиПростой
Время на прочтение3 мин
Количество просмотров5.6K

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

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

Многие из этих фильмов не знакомы даже киноманам. Например, на 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.

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

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

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

Научная фантастика 80-х и 90-х годов

Лучшая анимация, начиная с 2020 года

Лучшая адаптация Бэтмена, не анимация

Лучшие фильмы на французском за последнее десятилетие

Даже романтические комедии не выглядят банально с композитным рейтингом

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

Фильмы с жанрами, как у фильма "The Fall" (2006), но не анимация

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

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

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

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

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

Теги:
Хабы:
Всего голосов 11: ↑10 и ↓1+11
Комментарии34

Публикации