# sentiment_analysis **Repository Path**: mirrors_qubvel/sentiment_analysis ## Basic Information - **Project Name**: sentiment_analysis - **Description**: MVideo hackathon test task. User`s review rating prediction - **Primary Language**: Unknown - **License**: MIT - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2020-08-18 - **Last Updated**: 2026-03-07 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README ## В этом репозитории представлено решение тестового задания хакатона MVideo M.Smart ### Состав команды: 1. Парунин Павел 2. Якубовский Павел 3. Марин Антон 4. Тураев Адам 5. Черняков Илья ### Решение: #### Постановка задачи: Задание рассматривалось как задача регрессии. #### Подготовка данных: Данные были проанализированы и разбиты на обучающую и тестовую выборки (см. файл "data preprocessing - original data.ipynb") в отношении 80%:20% соответственно. В дополнение к обучающей выборке, были добавлены отзывы об интернет-провайдерах с сайта: http://www.moskvaonline.ru/rating (дополнительные ~20.000 отзывов, см. файл "data preprocessing - additional data.ipynb") Полученные данные были обработаны с использованием двух основных подходов: 1. word based, word2vec (каждому слову сопоставлялся соответствующий вектор, подробнее: https://nlpub.ru/Russian_Distributional_Thesaurus). 2. character based (отзывы были разбиты по буквам, был составлен словарь из букв, отзывы заменялись последовательностью индексов букв в словаре) #### Метрики: Целевая переменная(рейтинг комментрия) не нормировалась. Использованные метрики: MSE, MAE, Median AE, R2 score. Целевая метрика: MSE #### Методы: Для решения задачи были испробованы различные методы машинного обучения: - Linear Regression, - Ridge Regression, - SVR, - RandomForestRegressor, - XGBoost, - нейронные сети. Лучшие результаты были получены с использованием нейронных сетей, поэтому в этом репозитории мы решили включить только их. ##### Модель №1. word-based Файл с обучением: "training model_1(keras==1.2.2).ipynb" Обученная модель: "saved_models/trained_model_1(keras==1.2.2)" Файл с оценкой качества: "evaluating_word.ipynb" ##### Модель №2. word-based Файл с обучением: "training model_2(keras==2.0.8).ipynb" Обученная модель: "saved_models/trained_model_2(keras==2.0.8)" Файл с оценкой качества: "evaluating_word.ipynb" ##### Модель №3. character-based Файл с обучением: "training model_3(keras==2.0.8).ipynb" Обученная модель: "saved_models/trained_model_3(keras==2.0.8)" Файл с оценкой качества: "evaluating_char.ipynb" ### Результаты | Модель\Метрика | MSE | MAE | Median AE | r2 score | | -------------- | ------- | ------- | ------------- | ------------ | | Модель №1 | 0,9136 | 0,6817 | 0,4942 | 0,471 | | Модель №2 | 0,9058 | 0,6832 | 0,5121 | 0,4741 | | Модель №3 | 1,0244 | 0,7631 | 0,6162 | 0,4067 |