Приложение «Музыкальное настроение»

Классический пример для классификации настроения песен

Пример: —Музыкальное предприятие планирует создать новую музыкальную станцию, которая позволит слушателям слушать музыку в зависимости от того, как они себя чувствуют. Они планируют использовать машинное обучение для классификации песен. Признавая, что в их каталог ежедневно добавляются новые песни, они намерены создать службу классификатора на основе машинного обучения, которая будет классифицировать песни как (Счастливые/Грустные).

Обзор.Мы создали динамическое приложение, размещенное на сервере, которое будет показывать слушателям «k» песен в зависимости от их предпочтений. Кроме того, он / она может ввести песню по своему выбору и сможет узнать настроение введенной песни.

Подход: —мы решили проблему, разделив кейс на 2 части.

1-я часть → Серверная часть приложения, где модель построена с использованием классического подхода Google к моделированию и использования Rest API для вызова модели для прогнозирования настроения конкретной песни.

2-я часть → Внешний интерфейс приложения, Flask используется для получения самых популярных песен и текстов из musixmatch через вызов API, а затем передает тексты в модель для прогнозирования настроения.

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

Из нашего набора данных такие слова, как «любовь», «знай», «детка», «чувствуй», «ла-ла», которые являются счастливыми словами, классифицируются как счастливые тексты.

Такие слова, как «причина», «сейчас», «понимаете», «не надо, время», которые не являются счастливыми словами, классифицируются как грустные тексты.

Модель: —Как уже было сказано, мы расширили подход Google к моделированию для разработки нашей модели, и это проект классификации текста, поэтому, согласно Google, подход, который мы можем использовать для классификации текста и моделей, используемых вместе с шагами, можно хорошо понять из блок-схемы, представленной Google ниже.

Для моделирования мы приняли подход к классификации текста Google и использовали многоуровневую модель персептрона (MLP), чтобы классифицировать песню как счастливую или грустную.

Насколько хороша модель: —Ну, мы построили нашу модель, но подходит ли она для нашей цели? Это мы рассчитали с помощью матрицы путаницы и сгенерировали F1 Score для нашей модели.

Матрица путаницы набора обучающих данных: —

Матрица путаницы набора данных тестирования: —

F1- оценка для тестовых данных 0,7157894736842105

Точность модели на тестовых данных 0,73 или 73%

Кривая ROC: —

Обобщение модели на основе данных обучения и тестирования: —

Развертывание модели.Модель сохраняется в формате h5 и развертывается в облаке вместе с другими компонентами кода. Чтобы использовать модель, мы использовали Rest API для вызова модели.

Использование модели и веб-приложения:самая интересная часть начинается здесь. Как получается, что у нас есть модель, которая может делать удивительные вещи, но мы не можем лечить наши глаза, видя, что происходит? Не приемлемо правильно!

Мы знаем, что наша модель может предсказывать настроение песни, но должно быть приложение, из которого мы можем передавать тексты песен в нашу модель. Итак, мы создали это веб-приложение с использованием python flask.

Как было сказано ранее, мы получаем самые популярные песни мира от знаменитого musixmatch, а тексты получаем с помощью API musixmatch.

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

Нажмите здесь, чтобы получить доступ к нашему веб-сайту.

Существует также функция, в которой мы можем ввести любое английское название песни вместе с именем исполнителя, и мы получим настроение песни.

Получить настроение песни в правой панели навигации может сказать настроение любой английской песни

Развертывание нашего приложения: —Мы использовали Heroku для размещения нашего приложения. Это PaaS, который поддерживает несколько языков программирования, включая Python. Развертывание очень простое и требует CLI, который можно скачать здесь



Учебник по развертыванию на героку можно найти здесь



Это все, друзья. Наш самый первый живой проект по науке о данных.

Ссылка на GitHub: — песня-настроение-github

Соучастники — Сатвик Кашьяп Акшара Сингх Навин Джами

Ссылки: —https://github.com/rasbt/musicmood https://developers.google.com/machine-learning/guides/text-classification /
https://developer.musixmatch.com
https://github.com/google/eng-edu/tree/master/ml/guides/text_classification