Skip to content

ValeriL/movie_project

Repository files navigation

Оценка фильмов по отзывам

Финальный проект EPAM

Позволяет по введенному пользователем названию фильма определить процентное соотношение положительных и негативных отзывов. Отзывы собираются с сайта IMDB. Дополнительными функциями являются просмотр истории поиска и скачивание файла с историей в формате pdf.

Этапы

  • разработка модели предсказания эмоциональной окраски отзыва
  • разработка веб-приложения

Модель

Технологии

  • scikit-learn Использовался для получения оценки полученной модели, построения модели и векторизирования данных.
  • nltk Использовался для преобработки отзывов (токенизация, леммитизация, определение стоп-слов и части речи слова).
  • matplotlib Для построения графиков.

Приложение

Скачать проект git clone https://github.com/ValeriL/FinalProject

Установка используемых библиотек pip install -r requirements.txt

Запуск flask run

Технологии

  • веб-фреймворк Flask
  • SQLAlchemy + sqlite
  • RapidAPI
    • IMDB API Использовался для скачивания отзывов о фильме с сайта IMDB по id фильма.
    • Google Search API Для поиска фильмов по названию и получения их id для дальнейшего использования IMDB API.
    • Перед использованием проекта необходимо зарегистрироваться на сайте и получить свои ключи для API. (вставить в app.scraper в переменные headers)

Трудности

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

    Для сокращения времени обработки была убрана проверка синтаксиса, заменены функции с использованием регулярных выражений для замены окончаний и т.п. на более быстрый лемматайзер, выполняющий те же функции. На точности предсказаний то не отразилось. Также было выполнено сохранение "очищенного" датасета для экспериментов с разными алгоритмами.

  2. Отсутствие открытого API у англоязычных сервисов по просмотру фильмов.

    Для решения проблемы использовалось стороннее API (см.п. Приложение-Технологии). Хотя и с ним возникла трудность, которую не удалось решить - ограничение по запросам в день (в бесплатной версии API).

  3. Страницы с отзывами, переход на которые осуществляется с помощью ключей пагинации.

    С помощью API можно переходить на определенную страницу, по указанному ключу, но это уже новый запрос к сайту. А на их количество стоит ограничение, поэтому все отзывы скачать получится не у всех фильмов. Поэтому было принято решение в данном проекте поставить ограничение на максимальное число скачиваемых отзывов.