Позволяет по введенному пользователем названию фильма определить процентное соотношение положительных и негативных отзывов. Отзывы собираются с сайта IMDB. Дополнительными функциями являются просмотр истории поиска и скачивание файла с историей в формате pdf.
- разработка модели предсказания эмоциональной окраски отзыва
- разработка веб-приложения
- тренировочный датасет
- процесс анализа и обучения
/training/train_model.ipynb
- 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
)
-
Длительное время предобработки тренировочного датасета, а впоследствии и собранных с сайта отзывов для анализа.
Для сокращения времени обработки была убрана проверка синтаксиса, заменены функции с использованием регулярных выражений для замены окончаний и т.п. на более быстрый лемматайзер, выполняющий те же функции. На точности предсказаний то не отразилось. Также было выполнено сохранение "очищенного" датасета для экспериментов с разными алгоритмами.
-
Отсутствие открытого API у англоязычных сервисов по просмотру фильмов.
Для решения проблемы использовалось стороннее API (см.п. Приложение-Технологии). Хотя и с ним возникла трудность, которую не удалось решить - ограничение по запросам в день (в бесплатной версии API).
-
Страницы с отзывами, переход на которые осуществляется с помощью ключей пагинации.
С помощью API можно переходить на определенную страницу, по указанному ключу, но это уже новый запрос к сайту. А на их количество стоит ограничение, поэтому все отзывы скачать получится не у всех фильмов. Поэтому было принято решение в данном проекте поставить ограничение на максимальное число скачиваемых отзывов.