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

Моя цель - предложение широкого ассортимента товаров и услуг на постоянно высоком качестве обслуживания по самым выгодным ценам.

Прежде чем перейти к статье, хочу вам представить, экономическую онлайн игру Brave Knights, в которой вы можете играть и зарабатывать. Регистируйтесь, играйте и зарабатывайте!

В прошлой статье я рассказал, как безуспешно пытался применить алгоритмы коллаборативной фильтрации для практически ценной рекомендации фильмов. Однако в процессе экспериментов обнаружилось, что простое усреднение оценок фильма пользователями сервиса (рейтинг 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, где можно оставлять пожелания и сообщать об обнаруженных ошибках. Также надеюсь прочитать комментарии и пожелания здесь.


Источник: https://habr.com/ru/articles/751602/


Интересные статьи

Интересные статьи

Некоторые уже видели мои статьи про добавление асинхронности в django. Этот пост не об этом: вопрос более широкий и посвящён асинхронности в целом. И подход совсем другой.Кстати, вопрос с асинхронным ...
Пол Нельсон решил проблему субвыпуклости, приблизив математиков на один шаг к пониманию распределения простых чисел и гипотезы Римана.
Мы составили рейтинг ТОП-10 самых распространенных проблем, с которыми сталкиваются владельцы сервисных служб в сфере ОВиК на стадии роста и масштабирования. Провели живой опрос предпринимателей и пон...
Добрый день, уважаемые читатели! Материал адресован всем специалистам, работающим с данными, которые решили написать первое веб-приложение. В данной публикации я не буду ...
Прочитав пост про ещё одно расширение, группирующее стопиццот вкладок и не найдя не то что решения моего пользовательского сценария, но и внятного описания авторского, я ...