Дипломная работа: Выявление паттернов поведения пользователей в системах машинного восприятия методами машинного обучения

Внимание! Если размещение файла нарушает Ваши авторские права, то обязательно сообщите нам

4.2 Средства и инструменты

Для построения модели использовался язык Python (исходный код эксперимента размещен в открытом репозитории GitHub) [62]. В дополнение к этому, для обработки данных использовались пакеты NumPy, pandas и sklearn. Для построения рекомендательных моделей использовался пакет tensorrec. При тестировании гипотезы с помощью статистических тестов использовалась библиотека stats пакета SciPy. В качестве данных о музыкальных композициях используется часть данных из открытого датасета музыкального рекомендательного сервиса Spotify. Данные о пользователях были получены с помощью опросника.

4.3 Подготовка данных для эксперимента: применение предложенного подхода к разработке признаков

Прежде, чем перейти к построению моделей, необходимо подготовить данные и разработать признаки, которые будут использоваться затем моделью машинного обучения. Для этого применяется разработанный в главе 3 подход.

Шаг 1. Разработка схемы признаков рекомендуемого объекта.

Исследуемая в рамках эксперимента рекомендательная система является музыкальной рекомендательной системой, т.е. объектом рекомендаций в системе является музыкальная композиция. В системе можно зарегистрироваться, искать песню, слушать ранее сохраненные песни или плейлист рекомендаций, которые по одной предлагает система. Исходя из этого и с учетом имеющихся данных о музыкальных композициях (табл. 4), с помощью дерева признаков получаем схему признаков (рис. 5).

Шаг 2. Определение точек и сценариев взаимодействия пользователя с объектом рекомендаций в системе (неявный подход).

Таблица 4. Описание признаков музыкальных композиций, используемых в модели (датасет Spotify)

АТРИБУТ

ТИП

ДАННЫХ

ОПИСАНИЕ

Song ID

int

Идентификатор песни в наборе данных (добавлен самостоятельно)

Artist

string

Имя исполнителя

Song name

string

Название музыкальной композиции

Danceability

float

Показатель танцевальности песни (вычислено с помощью алгоритмов машинного слуха)

Energy

float

Степень энергичности песни

Loudness

float

Громкость: вычислено как среднее значение в дБ - с помощью алгоритмов машинного слуха

Mode

int

Бинарный показатель мажорности/минорности песни, основан на вычислениях алгоритмов машинного слуха

Speechness

float

Показатель, характеризующий наличие в музыкальной композиции слов (определяется с помощью алгоритмов машинного слуха)

Acousticness

float

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

Instrumentalness

float

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

Liveness

float

Показатель, определяющий, насколько музыкальная композиция является живым исполнением или исполнением в записи

Tempo

float

Усредненный темп песни в BPM (вычислено с помощью алгоритмов машинного слуха)

Duration

int

Продолжительность песни в миллисекундах

Genre

string

Жанр, к которому отнесена музыкальная композиция

Рисунок 5. Схема признаков для музыкальной рекомендательной системы

Теперь необходимо для каждого признака музыкальной рекомендации, выявленного на шаге 1, определить точки взаимодействия пользователя с ними в системе, которые являются неявными для пользователя. Для этого воспользуемся предложенным форматом для выявления таких сценариев (табл. 5). При заполнении таблицы необходимо учитывать доступные в системе сценарии, в данном случае это:

регистрация в системе;

поиск и прослушивание отдельных композиций в системе;

прослушивание ранее сохраненные композиции;

прослушивание плейлиста композиций, рекомендуемых системой.

Например, для признака музыкальной композиции «Название» в системе может быть такой сценарий: при прослушивании песни пользователь может переключить песню - сказать наверняка, сделал ли он это из-за того, что увидел название, нельзя, поэтому такую точку взаимодействия можно выделить как неявную. В то же время, для признака «Сохранить» нельзя указать неявную точку взаимодействия, так как для того, чтобы сохранить песню к себе в плейлист, пользователь должен в явном виде это сделать. Для признаков, с которыми нет неявных точек взаимодействия в рамках пользовательских сценариев, в таблице ставится прочерк.

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

Таблица 5. Точки и сценарии взаимодействия пользователя с музыкальными композициями в системе (неявные)

Признак

Пользовательский сценарий в системе

Точка взаимодействия пользователя с признаком

Название

Прослушивание ранее сохраненной или рекомендуемой композиции

Выбор песни, проигрывание композиции в плейлисте до конца/не до конца

Исполнитель

Жанр

Danceability

Прослушивание найденной, ранее сохраненной или рекомендуемой композиции

Выбор песни, проигрывание композиции в плейлисте до конца/не до конца, добавление в сохраненные, положительная оценка композиции

Energy

Loudness

Mode

Speechness

Acousticness

Instrumentalness

Liveness

Tempo

Duration

Проигрывается

Прослушивание найденной, ранее сохраненной или рекомендуемой композиции

Проигрывание композиции в плейлисте до конца, без перелистывания

Не проигрывается

-

-

На паузе

-

-

Слушать

Прослушивание найденной, ранее сохраненной или рекомендуемой композиции

Проигрывание композиции в плейлисте до конца, без перелистывания

Сохранить

-

-

Искать

-

-

Оценить

-

-

Нравится

Прослушивание найденной, ранее сохраненной или рекомендуемой композиции

Проигрывание композиции в плейлисте до конца, без перелистывания, частое проигрывание песни

Не нравится

Прослушивание найденной или рекомендуемой композиции

Перелистывание композиции в плейлисте или прослушивание найденной песни не до конца (без оценки, сохранения)

Шаг 3. Определение точек и сценариев взаимодействия пользователя с объектом рекомендаций в системе (явный подход).

После этого нужно проделать ту же процедуру для выявления точек взаимодействия пользователя с признаками в системе, которые являются явными. При заполнении таблицы (табл. 6) необходимо также учитывать доступные в системе сценарии.

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

Таблица 6. Точки и сценарии взаимодействия пользователя с музыкальными композициями в системе (явные)

Признак

Пользовательский сценарий в системе

Точка взаимодействия пользователя с признаком

Название

Поиск композиций

Поиск композиции по названию

Исполнитель

Поиск композиций

Поиск композиций по исполнителю

Жанр

Поиск композиций

Поиск композиций по жанру

Danceability

-

-

Energy

-

-

Loudness

-

-

Mode

-

-

Speechness

-

-

Acousticness

-

-

Instrumentalness

-

-

Liveness

-

-

Tempo

-

-

Duration

-

-

Проигрывается

Прослушивание найденной, ранее сохраненной или рекомендуемой композиции

Выбор композиции для проигрывания, проигрывание композиции не до конца (перелистывание)

Не проигрывается

Найденная, ранее сохраненная или рекомендуемая композиция не выбрана для прослушивания

Композиция не выбрана для проигрывания в текущий момент

На паузе

Прослушивание найденной, ранее сохраненной или рекомендуемой композиции

Композиция поставлена на паузу

Слушать

Прослушивание найденной, ранее сохраненной или рекомендуемой композиции

Выбор композиции для прослушивания, перелистывание композиции в ходе прослушивания

Сохранить

Прослушивание найденной или рекомендуемой композиции

Сохранение композиции в свой плейлист в ходе прослушивания

Искать

Поиск композиции

По названию, исполнителю или жанру

Оценить

Прослушивание найденной, ранее сохраненной или рекомендуемой композиции

Оценка композиции пользователем с помощью шкалы оценок

Нравится

Прослушивание найденной, ранее сохраненной или рекомендуемой композиции

Сохранение композиции в свой плейлист в ходе прослушивания или положительная оценка

Не нравится

Прослушивание найденной или рекомендуемой композиции

Отрицательная оценка композиции

Шаг 4. Консолидация и соотнесение выявленных пользовательских сценариев с атрибутами поведения человека.

Теперь нужно объединить выявленные сценарии и соотнести с признаками поведения человека с помощью таблицы 3 (гл. 3). Для удобства, каждый сценарий дополнительно помечается как Я - явный или Н - неявный. В качестве технических ограничений аппаратного обеспечения принимается, что рекомендательная система рассчитана на использование с помощью персонального компьютера, ноутбука с тачпадом. В системе не предусмотрен модуль распознавания речи.

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

Пользовательский сценарий в системе

Точка взаимодействия пользователя с признаком (Я/Н)

Признаки поведения человека

Поиск композиций

Поиск композиции по названию - Я

Ввод названия, время, затраченное на просмотр композиции, скорость взаимодействия с интерфейсом

Поиск композиций по исполнителю - Я

Ввод исполнителя, время, затраченное на просмотр, с какой частотой ищется, скорость взаимодействия с интерфейсом

Поиск композиций по жанру - Я

Ввод/выбор жанра, время, затраченное на просмотр композиции, оценка жанров, которые выбираются чаще, с какой частотой ищется, скорость взаимодействия с интерфейсом

Найденная, ранее сохраненная или рекомендуемая композиция не выбрана для прослушивания

Композиция не выбрана для проигрывания в текущий момент - Я

Учет исторических данных: какие композиции и с какой частотой прослушиваются, от чего зависит выбор

Прослушивание найденной, ранее сохраненной или рекомендуемой композиции

Выбор песни для прослушивания - Я

Учет исторических данных: какие композиции и с какой частотой выбираются, от каких признаков композиции зависит выбор, логирование выбора, оценка текущих эмоций с помощью многомерной модели МО, скорость выбора композиции, оценка характеристик и категорий композиции, какие категории выбираются чаще, соотношение частоты выбора предлагаемых и выбранных самостоятельно объектов, активность/ пассивность действий + способ принятия решения (T vs F), темперамент - характеризуется и измеряется свойствами нервной деятельности (см. Приложение)

Сохранение композиции в свой плейлист в ходе прослушивания - Я

Оценка реакции человека в сравнении с другими: статистические характеристики по сохранению, учет исторических данных о выборе: композиции с какими признаками сохраняются чаще всего, оценка текущих эмоций с помощью многомерных моделей МО, скорость взаимодействия, логирование сохранения в системе с отметкой, когда было сохранено, на каком моменте прослушивания

Оценка композиции пользователем с помощью шкалы оценок - Я

Соотношение позитивных и негативных оценок - что преобладает

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

Положительная оценка композиции - Я

Отрицательная оценка композиции - Я

Проигрывание композиции не до конца (перелистывание) - Я

Контакт с композицией - услышана, просмотрены характеристики, время, затраченное на взаимодействие с композицией, учет исторических данных о выборе: какие композиции и когда чаще всего пролистываются, скорость взаимодействия, оценка текущих эмоций с помощью многомерных моделей МО, характеристики темперамента, активность действий + способ восприятия информации (S vs Т) + принятия решения (T vs F)

Проигрывание композиции в плейлисте до конца, без перелистывания - Н

Контакт с композицией - услышана, возможно просмотрены характеристики, время, затраченное на взаимодействие с композицией, учет исторических данных о выборе: композиции с какими характеристиками прослушиваются, скорость и частота взаимодействия, изменение громкости, оценка текущих эмоций с помощью многомерных моделей МО, проигрывание в фоновой активности, характеристики темперамента, активность/пассивность действий + способ восприятия информации (S vs Т) + принятия решения (T vs F)

Композиция поставлена на паузу - Я

Скорость и частота взаимодействия, наличие фоновой активности

Частое проигрывание песни - Н

Как выглядит объект «мечты»: статистические показатели фильтрации (какие характеристики используются, какой разброс в значениях и т.д.), наличие фоновой активности, оценка характеристик, категорий композиций, которые выбираются чаще, частота взаимодействия с композицией

Шаг 5. Формирование первичного списка признаков для учета паттернов поведения пользователя.

Поскольку для проведения данного эксперимента данные о пользователях были получены искусственным путем (с помощью опросника) в виду технических ограничений, а количество данных само по себе мало, то, чтобы избежать проблему переобучения в дальнейшем, для модели будет использоваться ограниченное количество признаков пользователя и композиции. По этой причине в рамках данного этапа ниже (табл. 8) описаны не все возможные признаки пользователя и обратной связи, которые можно получить из таблицы шага 4, а лишь малое количество - для демонстрации применения подхода и непосредственного применения. Кроме того, все также действует техническое ограничение: рекомендательная система рассчитана на использование с помощью персонального компьютера, ноутбука с тачпадом, в системе не предусмотрен модуль распознавания речи, изображений.

Таблица 8. Признаки пользователя и обратной связи

Признак поведения человека

Признак пользователя

Признак обратной связи

Наличие фоновой активности

Текущая активность (IsActive)

-

Оценка текущих эмоций

Настроение (Mood)

-

Время (Timestamp)

Скорость взаимодействия с интерфейсом

Время отклика (Reaction)

-

Время, затраченное на композицию

-

Время на композицию (неявная обратная связь)

Присущий темперамент

Tемперамент (Temperament)

-

Соотношение позитивных и негативных оценок

-

Оценка композиции (явная обратная связь)

Шаг 6. Приведение первичного списка признаков к математическому формату. Для определенных на шаге 5 признаков пользователя и обратной связи определим способ извлечения и необходимый тип данных (табл. 9). Здесь также стоит отметить, что поскольку данные о пользователях для эксперимента были собраны с помощью опросника, применение специфических методов не понадобится.

Таблица 9. Типизация признаков по типам данных

Признак

Как извлечь

Тип данных

Текущая активность

Анализ логов системы

Логический

Настроение

Анализ текущей активности с помощью многомерных моделей МО; для данного эксперимента - выбор пользователя

Строка

Время

Преобразование текущей даты и времени в миллисекунды относительно заданной даты

Целый

Время отклика

Анализ логов системы и преобразование в миллисекунды

Целый

Время на композицию

Анализ логов системы и преобразование в миллисекунды

Целый

Оценка композиции

Функционал проставления оценки в системе (для модели в эксперименте используются бинарные оценки)

Целый

Темперамент

Анализ свойств темперамента: экстраверсии/интроверсии + нейротизма - с помощью многомерных моделей МО и формирование скалярного произведения векторов; для данного эксперимента - выбор пользователя

Строка

Источник: https://otherreferats.allbest.ru/download/1226051/