Научная статья на тему 'АНАЛИЗ РЕКОМЕНДАТЕЛЬНОЙ СИСТЕМЫ ПО ПОДБОРУ МУЗЫКИ С ТОЧКИ ЗРЕНИЯ ЭКОНОМИИ ВРЕМЕНИ'

АНАЛИЗ РЕКОМЕНДАТЕЛЬНОЙ СИСТЕМЫ ПО ПОДБОРУ МУЗЫКИ С ТОЧКИ ЗРЕНИЯ ЭКОНОМИИ ВРЕМЕНИ Текст научной статьи по специальности «Математика»

CC BY
100
13
i Надоели баннеры? Вы всегда можете отключить рекламу.
Журнал
Наука без границ
Область наук
Ключевые слова
РЕКОМЕНДАТЕЛЬНАЯ СИСТЕМА / СПИСОК АУДИОЗАПИСЕЙ / ПОЛЬЗОВАТЕЛЬ / СРЕДНЕЕ ВРЕМЯ ПРОСЛУШИВАНИЯ / ВЕРОЯТНОСТЬ НАХОЖДЕНИЯ ПОНРАВИВШИХСЯ АУДИОЗАПИСЕЙ / RECOMMENDATION SYSTEM / LIST OF AUDIO RECORDINGS / USER / AVERAGE LISTENING TIME / PROBABILITY OF FINDING FAVORITE AUDIO RECORDINGS

Аннотация научной статьи по математике, автор научной работы — Бабин Виктор Евгеньевич

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

i Надоели баннеры? Вы всегда можете отключить рекламу.
iНе можете найти то, что вам нужно? Попробуйте сервис подбора литературы.
i Надоели баннеры? Вы всегда можете отключить рекламу.

ANALYSIS OF THE RECOMMENDATION SYSTEM FOR MUSIC SELECTION IN TERMS OF SAVING TIME

This article is a study on the extent to which services with recommendation systems can save the user time in comparison with analogues without them. The study was conducted on the example of information services for the selection of music. The article provides a brief description of the most common methods of operation of recommendation systems: content-based filtering and collaborative filtering, their shortcomings are presented, and also describes how these shortcomings can be eliminated with a competent symbiosis of these methods. Models are given for calculating the time that the user spends when selecting audio recordings for certain parameters, and the probability that the user will be able to select some audio recordings from the list at certain parameter values.

Текст научной работы на тему «АНАЛИЗ РЕКОМЕНДАТЕЛЬНОЙ СИСТЕМЫ ПО ПОДБОРУ МУЗЫКИ С ТОЧКИ ЗРЕНИЯ ЭКОНОМИИ ВРЕМЕНИ»

технические науки

УДК 78.06

АНАЛИЗ РЕКОМЕНДАТЕЛЬНОЙ СИСТЕМЫ ПО ПОДБОРУ МУЗЫКИ С ТОЧКИ ЗРЕНИЯ ЭКОНОМИИ ВРЕМЕНИ

Бабин Виктор Евгеньевич, магистрант, Научный руководитель: Горячкин Борис Сергеевич, кандидат технических наук,

доцент;

МГТУ им. Н.Э. Баумана, Москва, Российская Федерация

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

Ключевые слова: рекомендательная система; список аудиозаписей; пользователь; среднее время прослушивания; вероятность нахождения понравившихся аудиозаписей.

ANALYSIS OF THE RECOMMENDATION SYSTEM FOR MUSIC SELECTION

IN TERMS OF SAVING TIME

Babin Viktor Evgenievich, master's student, Scientific adviser: Goryachkin Boris Sergeevich, Candidate of Technical Sciences, Associate

Professor; BMSTU, Moscow, Russia

Abstract: This article is a study on the extent to which services with recommendation systems can save the user time in comparison with analogues without them. The study was

conducted on the example of information services for the selection of music. The article provides a brief description of the most common methods of operation of recommendation systems: content-based filtering and collaborative filtering, their shortcomings are presented, and also describes how these shortcomings can be eliminated with a competent symbiosis of these methods. Models are given for calculating the time that the user spends when selecting audio recordings for certain parameters, and the probability that the user will be able to select some audio recordings from the list at certain parameter values. Keywords: recommendation system; list of audio recordings; user; average listening time; probability of finding favorite audio recordings.

Для цитирования: Бабин, В. Е. Анализ рекомендательной системы по подбору музыки с точки зрения экономии времени / В. Е. Бабин. - Текст : электронный // Наука без границ. - 2021. - № 3 (55). - С. 26-39. - URL: https://nauka-bez-granic.ru/NQ-3-55-2021/3-55-2021/

For citation: Babin V.E. Analysis of the recommendation system for music selection in terms of saving time // Scince without borders, 2021, no. 3 (55), pp. 26-39.

Введение

Рекомендательные системы (далее - РС) помогают преодолеть информационную перегрузку, предоставляя персонализированные предложения, основанные на истории симпатий и антипатий пользователя.

Существует два распространенных подхода к созданию РС - коллабо-ративная фильтрация («collaborative filtering» - CF) и рекомендации на основе содержимого («content-based filtering» - CB). Системы CF работают, собирая отзывы пользователей в форме оценок для элементов в данной области, и используют сходства и различия между профилями нескольких пользователей, чтобы определить, как рекомендовать элемент. С другой стороны, методы, основанные на фильтрации содержания, предоставляют рекомендации путем сравнения представлений содержимого, содержащегося в элементе, с представлениями содержимого, которое интересует пользователя [5].

CB методы могут однозначно характеризовать каждого пользователя, но CF все же имеет некоторые ключевые преимущества перед ними. Во-первых, CF может работать в тех областях,

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

1) Разреженность

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

2) Проблема первого оценщика

Объект нельзя рекомендовать, если

ни один из пользователей не оценил

его ранее. Эта проблема обычно относится к новым объектам.

Гибридный метод оценки позволит преодолеть эти недостатки систем CF/ используя информацию о содержании уже оцененных элементов: прогнозы на основе содержимого будут использоваться для преобразования разреженной матрицы оценок пользователей в полную матрицу оценок; затем будет использоваться CF для предоставления рекомендаций.

Постановка задачи

Доказать преимущество сервисов с РС по сравнению с сервисами без РС попытались на основе вычисления экономии времени при поиске музыки.

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

Время, которое пользователь тратит на перемещение на страницу со списком аудиозаписей, и время на закрытие сервиса можно не брать в расчёт, так как они примерно равны для обоих типов сервисов, а также являются не слишком длительными.

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

не найдёт к аудиозаписей, которые ему понравятся.

Нужно заметить, что нам необходимо оценить не только время, но и вероятность, потому что для каждой случайно взятой аудиозаписи, которую будет слушать пользователь, есть некоторая вероятность Рнр того, что эта самая песня понравится пользователю. То есть нам нужно не только оценить то время, которое пользователь потратит на нахождение к аудиозаписей из списка N при заданных параметрах, но и то, насколько вообще вероятно, что при конкретном значении Рнр у нас могут быть такие значения заданных параметров (например, найти к = 20 аудиозаписей из списка N = 20 при условии того, что Рнр = 0.1 - крайне маловероятное событие).

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

Определить вероятность того, что пользователь при заданном значении количества аудиозаписей в списке N е [1, +ж) добавит некоторое количество к е [1, N при условии, что в списке может присутствовать некоторое количество аудиозаписей, которые он уже слышал п е [0, N-1] (именно до 1), чтобы избежать деления на 0 в выражениях (8) и (11)).

Определить потраченное пользователем время, которое потребовалось ему для нахождения из списка аудиозаписей N некоторого количества к е [1, N при условии, что в списке может присутствовать некоторое количество уже слышанных аудиозаписей п е [0, N-1].

Оценка вероятности и временного интервала

Вероятность того, что пользователь уже слышал наугад взятую песню Рсл,

можно представить как деление коли- Вероятность Рдоб, что пользователь чества уже прослушанных аудиозапи- добавит одну случайную аудиозапись сей на общее количество аудиозапи- в плейлист - это произведение Рнр весей. роятности того, что пользователю понравится песня, на вероятность того, что пользователь её ещё не слышал (1

Р ):

Г.Л/

(2)

Для нахождения вероятности того, р - вероятность того, что событие

что пользователь из списка аудиоза- наступит,

писей N и количестве прослушанных ц - вероятность того, что событие не

аудиозаписей п добавит хотя бы одну наступит.

(обозначим её как РМп1), нам понадобится формула Бернулли [2]:

(3)

рк _ пк^кЛп-к) гп ьпг Ч

где: Спк - количество «удачных» комбинаций исходов испытаний, для ко-

Количество возможных комбинаций Спк можно выразить следующим образом:

п\

(4)

ск =

п к\(п-к)\

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

^ЛГ-П-1) п2 Гл тл \(ЛГ-п-2)

(5)

^/Vnl - ^доб) + C(N_n^Pд0б(1 Рдоб) +

r(N-n)p(N-n)f, _ р \

+ С(Л?-я)Гдоб I1 гД0б;

О

То есть вероятность того, что пользователю понравится 1 песня из списка N1

(6)

(N-71-0

- \ ' I - и' I I _ 1_/ I

N711

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

р pi fin V

rNni ~ Li=1 L(jv-n) ^ добv гдоб;

р _ у(К-п) Г1 п1 (л _п \ МУп/с — Ь1=к ^(N-71) доб \ гД0б^

Чтобы найти вероятность Р того, нюю:

что пользователь из списка N при за- у.(ЛГ-п) „

данном количестве п прослушанных = ——^-

аудиозаписей добавит не конкретное N — 71

количество, а любое из возможных Аналогичным образом вычислим

к е [1, Ы], нужно вычислить её как сред- вероятность того, что пользователь

сN-71-i)

(7)

(8)

добавит к е [1, N1 из списка N при любом количестве уже прослушанных аудиозаписей п е [0, N-1]: нашли её как среднюю вероятность от всех возможных значений вероятностей Р :

Vм Рт ¿т=о

Pn =

Nn

N

Подставим выражения (7) и (8) в выражение (9):

VJV ¿m=0

N

Lk=l Li=k L(N-nyno6{1 гдо6)

_N-n_

N

(N—n—i)

(9)

(10)

Чтобы сократить количество неизвестных, подставим выражения из (2) и (4) в выражение (10):

yJV ' Li i=o'

СN-n) у(N-n) (JV-п)! (N-n \'7 к— 1 li=k i!(W-n-i)!\ N \

1 AT ГнР

(JV-n-i)

iНе можете найти то, что вам нужно? Попробуйте сервис подбора литературы.

-

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

1) Минимум

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

-Г тот' -Г

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

где: Лтпр - время прослушивания, за которое пользователь сможет определить, нравится ему песня, или нет;

Лтсл - время, которое нужно поль-

N-n

__= (11)

N

зователю для того, чтобы определить, слышал ли он песню ранее.

3) Максимум

Пользователь потратит максимум времени в том случае, если последняя k-тая аудиозапись, которая должна ему понравиться, будет находиться на последней позиции списка из N аудиозаписей. То есть пользователю понадобится опознать каждую уже слышанную аудиозапись из n и прослушать каждую ещё не слышанную аудиозапись из оставшихся (N-n). Максимальное время At , которое потре-

Г max' Г Г

буется пользователю для добавления k понравившихся аудиозаписей в плей-лист, будет вычисляться как:

4) Среднее время

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

не слышал и полюбит.

Чтобы оценить среднее время, которое пользователь потратит на прослушивание для нахождения к е [1, N из списка возможных аудиозаписей N при условии присутствия уже прослушанных аудиозаписей п е [0, N-1], нужно оценить, как это производилось и для вероятности, среднее время для всех вариаций п и среднее время для всех вариаций к внутри каждой вариации п.

Согласно условиям для оценки времени, пользователь должен найти к аудиозаписей из списка. То есть его поиск прекратится, когда он найдёт к-тую аудиозапись в списке, которая ему понравится.

Значит, чтобы найти среднее значение времени прослушивания при конкретных значениях N, п, к, необходимо будет перебрать все возможные комбинации расположения аудиозаписей (слышал, понравится, не понравится). Для каждой нужно находить время на нахождение к-той аудиозаписи в списке. Имея количество всех комбинаций и время, потраченное на каждую из них, найдем среднее время при конкретных параметрах N, п, к.

Для нахождения среднего времени при конкретных значениях N, п, к был разработан следующий алгоритм:

1. Найти количество комбинаций с определенной позицией к-той аудиозаписи.

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

ять на определенной позиции. Ниже приведено формальное описание:

1.1 Для нахождения количества комбинаций для конкретной позиции к-той аудиозаписи нужно последовательно перемещать её от «конца» к «началу» до тех пор, пока не встретится «наилучшая комбинация», то есть та, при которой время на нахождение к понравившихся аудиозаписей будет Лt . .

тт

1.2 Для каждого случая нужно находить количество возможных комбинаций с таким расположением к-той аудиозаписи. Оно будет рассчитываться как количество возможных комбинаций расположения оставшихся (к-1) аудиозаписей среди всех оставшихся позиций слева от позиции к-той аудиозаписи. То есть для текущей ¿-той итерации (г начинается с 0) оно будет

таким:

г _

2. Найти количество аудиозаписей, которые потребовалось прослушать.

Это будет число всех аудиозаписей до к-той аудиозаписи вместе с ней самой, то есть N - п - г).

3. Определить диапазон перебираемых позиций для ¡.

Как мы упоминали выше, перебор следует делать до тех пор, пока не дойдём до «наилучшей позиции», то есть в этом случае количество оставшихся позиций должно совпадать с количеством к:

к = N - п - г (15)

г = N - п - к (16)

4. Определить общее время без учета уже слышанных аудиозаписей.

Это время будет равно количеству всех комбинаций, умноженному на количество всех прослушанных песен

(14)

и на время самого прослушивания и распознавания:

(Дтпр + Дт^Е^-ЧЛ'-л-0С%--п-1-

(ы-

1)

(17)

5. Учесть аудиозаписи, которые пользователь уже слышал.

Мы не включали в набор те аудиозаписи, которые пользователь уже слышал п. Причина в том, что при попытке перебора комбинаций со всеми тремя типами аудиозаписей в наборе уже при небольшом значении N количество возможных комбинаций увеличивалось в несколько раз, что, в свою очередь, значительно увеличивало время перебора и время расчёта в целом.

Для того чтобы учесть комбинации с теми аудиозаписями, которые пользователь уже слышал, приняли следующее решение: так как время Лтсл для определения того, слышал пользователь трек или нет, является незначительным по сравнению со временем прослушивания Лтпр, перебор делаем для всех возможных расстановок к из (Ы - п). А для того, чтобы учесть время на определение уже слышанных треков, мы прибавляем ко времени каждой комбинации время (0.75Мт*п).

(к-1)

Выбрали именно 0.75, так как среднее время будет всегда стремиться ко времени с максимальным количеством исходов, а при переборе комбинаций с фиксированными значениями N, п, к в большинстве случаев таким временем будет именно время с максимальным временем прослушивания. Это логично, так как чем больше у нас остается позиций для оставшихся (к-1) аудиозаписей кроме последней к-той аудиозаписи, тем большим количеством способов их можно разместить. То есть значение количества комбинаций С всегда будет наибольшим именно для последней позиции к-той аудиозаписи.

6. Определить общее время с учётом уже слышанных аудиозаписей.

Для этого нужно просуммировать время из выражения (17), полученное на 4 шаге алгоритма, со временем, которое пользователь при прослушивании каждой комбинации потратит на распознавание уже слышанных аудиозаписей:

Лтпр + АОЕЙЧЛ - " - 0С:_И] + [075ДтсХол-Ч«-п-<-

(18)

7. Определить количество всех комбинаций и общее время.

Количество всех возможных комбинаций будет вычисляться как Ск(Ып).

(к-1)

{N-71-1-1).

Среднее время - это все время, деленное на все комбинации. Обозначили среднее время при конкретных параметрах N, п, к как AtNnk:

м

(Дтпр+Дтсл) г^-^-п-ОС^^+^БАт« Е^оП~кпС{

Nnк

1)

71-1-1)

,(*-1)

'(N-11)

(19)

Теперь нам нужно найти среднее конкретное количество, а любое из

время прослушивания при условии возможных к е [1, N]. Среднее вре-

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

при заданном количестве п прослу- варьированном значении к обозна-

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

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

Д^п = г— <20>

где Ск - количество комбинаций для среднего времени ЛtNnk при конкретном значении к. Но сложность его вычисления заключается в том, что нам бы потребовалось провести интерполяцию для значений количества исходов и уже на основе большего количества точек составить функцию тренда, на основе которой мы смогли бы для конкретного значения среднего времени получить число исходов для него (подробнее описано в разделе «Апробация моделей расчёта вероятности и среднего времени» на 3 и 4 шагах алгоритма).

Этот процесс не получилось бы уместить в одном выражении, однако, существует способ обойти эту проблему: как было сказано на шаге 5 в алгоритме для нахождения среднего времени при конкретных значениях N, п, к (см. выше), среднее время всегда будет стремиться ко времени с наибольшим количеством исходов, то есть количество исходов среднего времени прямо пропорционально количеству исходов максимального времени; зная это, выдвигаем гипотезу о том, что мы можем заменить значение количества комбинаций среднего времени Ск на значение количества комбинаций для максимального времени. Так как среднее время - это деление общего времени на общее количество исходов, то при равномерном, пропорциональном увеличении делимого и делителя ре-

зультат не даст большого различия с оригинальным средним временем (это будет доказано далее в разделе «Апробация моделей расчёта вероятности и среднего времени»). При этом количество комбинаций для максимального времени будет равняться количеству комбинаций для того случая, когда к-тая аудиозапись находится последней в списке (см. пятый шаг алгоритма для нахождения среднего времени при конкретных значениях N, п, к). Выражение для нахождения Л1Ш будет выглядеть следующим образом:

(21)

Теперь нужно найти среднее время Л^ для конкретного значения N и варьированных значениях к, п.

Здесь воспользовались тем же приемом, что и на прошлом шаге: отталкиваемся от того, что количество исходов среднего времени прямо пропорционально максимальному количеству исходов. Количество исходов при фиксированных значениях N и п, при варьированном к будет максимальным для тех конкретных значений к, которые составляют половину от выборки N с округлением в большую сторону. Гипотеза строится на основании того, что количество комбинаций для Скп будет максимальным именно в том случае, когда к = 0.5*п (наглядно демонстрируется на рис. 3). В соответствии с этим получили выражение для сред-

нег гаг-ш

уЛГ д* г\ 2 I

2т=0*гАГп<-(дг-Т1) — РлРш (22)

уЛГ г I 2 ¿т=О ь(лг-п)

Подставим выражения (19) и (21) в выражение (22):

Значения в С раскрывать не стали, так как выражение и без того получилось довольно громоздкое.

При построении модели для расчёта среднего времени (23) были использованы гипотезы, поэтому мы должны доказать, насколько в действительности эта модель может считаться адекватной. Для этого разработали отдельный апробирующий алгоритм для проверки моделей (11) и (23). Он описан в следующем разделе: «Апробация моделей расчёта вероятности и среднего времени». Нужно рассчитать значения средней вероятности и среднего времени при определенных входных параметрах с помощью апробирующего алгоритма и моделей (11), (23). Если модели адекватно описывают рассматриваемый нами процесс подбора аудиозаписей, то значения должны будут совпасть.

Апробация моделей расчёта вероятности и среднего времени

Алгоритм для сравнения с описанными выше моделями (11) и (23), в котором будут использоваться конкретные экспертные оценки [4]:

1) Нужно перебрать все возможные комбинации п, к и N в рамках одного эксперимента. При этом сам набор аудиозаписей в комбинации будет состоять из аудиозаписей:

- которые он не слышал и полюбит (в количестве к),

- которые он не слышал и не полюбит (в количестве N - п - к).

2) Будем брать каждую из комбинаций и идти по ней до тех пор, пока не найдём всё количество аудиозаписей, которое пользователь намерен доба-

(23)

вить (к).

На каждую аудиозапись будет тратиться время:

- если пользователь уже слышал аудиозапись, то время = Лтсл,

- если пользователь ещё не слышал аудиозапись, то время = Лтпр + Лтсл.

Для каждой комбинации будем записывать время, потраченное на то, чтобы найти к аудиозаписей, которые понравятся пользователю. Время, полученное в итоге для текущей комбинации, будем сравнивать с уже имеющимися результатами прошлых комбинаций. Если была комбинация с таким же временем, будем прибавлять + 1 к элементу счётчика с таким же временем.

iНе можете найти то, что вам нужно? Попробуйте сервис подбора литературы.

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

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

Также на основе этих данных мы можем провести интерполяцию, чтобы построить сглаживающую линию - функцию тренда для верхних точек гистограммы [3].

4) На основе полученной функции тренда и данных о количестве исходов (комбинаций) для каждого набора параметров N, п, к сможем получить:

1. Среднее время при текущих параметрах;

2. С помощью функции тренда найдём количество исходов для этого

среднего значения. также найти среднее значение от всех

5) После того, как варьировали чис- средних значений.

ло к на N треков, мы получим несколь- 6) Шаги 2 - 5 нужно также проде-

ко таких средних значений времён для лать для всех варьируемых значений

каждого набора варьируемых параме- п. После этого получим среднее время

тров. для каждого п при всех варьированных

На основе этих средних значений значениях к из N.

времён сможем построить новый гра- 7) Из средних времен варьирован-

фик гистограммы, на котором увидим ных значений п, в свою очередь, най-

распределение для всех средних вре- дём их среднее время.

мен для каждого набора параметров Обобщенную схему алгоритма при-

N, п, к. Из этой гистограммы сможем вели на рис. 1.

Рисунок 1 - Обобщенная схема алгоритма апробации модели расчёта

среднего времени

Во время использования алгоритма расчёта среднего времени для каждого набора параметров N п, к будет также производиться расчёт вероятности по формуле (7). При расчёте среднего времени при варьировании к будет вычислена и средняя вероятность. Аналогичным образом при расчёте среднего времени при варьировании п также будет вычисляться средняя вероятность. Эта вероятность - вероятность того, что для заданного числа песен в списке N пользователь сможет найти желаемое количество песен.

В выражениях (23) и (11) используется 4 неизвестных - два времени, количество аудиозаписей в списке и вероятность того, что случайная песня понравится человеку. Для определенных случаев количество N может меняться в зависимости от конкретной системы, то есть это настраиваемые параметры на самом сайте или приложении. Время прослушивания и время на осознание того, что песня уже была прослушана - это индивидуальные оценки. Для вычисления конкретного значения среднего времени они должны оцениваться экспертно. Вероятность также является субъек-

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

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

Допустим, что количество аудиозаписей в списке N = 20, вероятность того, что случайная аудиозапись понравится пользователю Рнр = 0.35, время для определения нравится аудиозапись или нет Лтпр = 30 секунд, время для определения, что пользователь уже слышал аудиозапись Лтсл = 0.5 секунд.

Для расчёта с помощью моделей нужно просто внести необходимые входные параметры в выражение (11) для расчёта средней вероятности и (23) - для расчёта среднего времени.

При расчёте с помощью апробаци-онного алгоритма приведем промежуточные шаги:

На третьем шаге алгоритма при параметрах N = 20 и п = 0 получили распределение времени для варьированных значений к (рис. 2).

Рисунок 2 (а, б, в) - Распределение времени при N = 20, п = 0, для значений к = 1, к = 8, к = 20

На 5 шаге алгоритма, имея средние значения времен для варьированного параметра к, смогли найти распределение для средних времен и получили общее среднее время, вероятность и количество исходов (рис. 3).

На 6 шаге алгоритма нашли рас-

¥I

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

На 7 шаге нашли среднее время и среднюю вероятность для всех варьированных значений п при фиксированном значении N = 20 (рис. 5).

Рас л ре деление дли средних времен прослушивания при N = Z0, п = о, при варьированном шлсицп к вероятность - ö

some

амоо

| жюо »

i лоос

7

1«кю

..... ЛИНИ" трмчо*

--- Ttp-5SJJ?«PI

1

1 1 1 1

...............-....Л 1 1 ! l

--

360

ам

«И 500 5SD

Врем* прослушиинш

Рисунок 3 - Распределение для средних времен при N = 20, n = 0 для варьированных значений k

Распределение для средних времен прослушивания 1,1 распределение для средних времен при N = 20, п = 0, при варьированном значении к вероятность = 0.35

линия тренда Тер - 583 22 «К

А

прослушивания при N = 20, п = 12, при варьированием значении к вероятность - 0 13999999999999999

■■■ линия тренда Тер-224 59 см

\

Распределение для средних времен прослушивания при N = 20. п = 17. при варьированном значении к вероятность = 00525

125 | 100 о 075 * 0.50

..... Линия тренда . _ . Тгп - В1 Я1 га*

'••У

400 450 500 время прослушивания

160 180 200 220 Бремя прослушивания

75 80 S5 90 Время прослушивания

Рисунок 4 (а, б, в) - Распределение для средних времен при N = 20 для варьированных значений к, для значений п = 0, п = 12, п = 17

1,1 Распределение, усредненное для всех всех вариаций пик

при N = 10 вероятность = 0 1-0375

50000

«ООО

ЭОООО

30000

1С»»

ЛИНИЙ Tptnfli

—- Тег - 550 0 «*

I

,ll ■

100

я»

»0

2» ЗМ М в имя грек пушлшчсч

Рисунок 5 - Распределение для среднего времени при N = 20, для варьированных значений к и п

Для проверки достоверности моде- полученные после работы программы

лей была создана программа [7], в ко- с такими же входными данными, при-

торой реализован алгоритм расчёта ведены на рис. 6. по формулам (11) и (23). Результаты,

Средняя вероятность: д.18375 Среднее еремя: 55О,90бм&22дЗЭбб

Рисунок 6 - Результаты расчёта средних значений вероятности и времени с помощью моделей

Значение для вероятности точно совпало, так как, по сути, алгоритм её расчёта совпадает с моделью, приведенной в выражении (11).

Значение для времени отличается примерно на 100 миллисекунд. Такое различие является незначительным, что говорит о том, что гипотезы, предложенные при построении модели (23), подтвердились, и она может быть успешно использована для оценки среднего времени при подборе аудиозаписей.

Таким образом, были предложены модели для расчёта средней вероятности (11), среднего времени (23) и промежутка времени (минимальное время - (12) и максимальное время - (13)) для процесса выбора пользователем аудиозаписей, которые он планирует добавить в своей плейлист из всего предложенного списка аудиозаписей. С помощью алгоритма апробации была подтверждена адекватность и эффективность моделей для оценки среднего времени и средней вероятности. Для оценки промежутка времени не производилось никаких проверочных апробирующих алгоритмов, так как формулы расчёта минимального (12) и максимального (13) возможных времен являются довольно простыми по своей сути.

Заключение

В статье было представлено описание методов работы рекомендательных

систем, основанных на фильтрации на основе содержания и коллаборатив-ной фильтрации. Были приведены их недостатки. А также был предложен способ проектирования гибридной рекомендательной системы, которая заключала бы в себе сильные стороны обоих методов.

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

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

СПИСОК ЛИТЕРАТУРЫ

1. Горячкин, Б. С. Эргономические проблемы в автоматизированной системе обработки информации и управления / Б. С. Горячкин. - Текст : непосредственный // Международный научно-технический журнал «Информационно-измерительные и управляющие системы»: Изд-во «Радиотехника» - М., 2016. - № 12. - т. 14.

2. Печинкин, В. А. Теория вероятностей / В. А. Печинкин, О. И. Тескин, Г. М. Цветкова [и др.]. - Москва: Изд-во МГТУ им. Н.Э. Баумана. - 1998. - 456 с. - Текст : непосредственный.

3. Горяинов, В. Б. Математическая статистика / В. Б. Горяинов, И. В. Павлов, Г. М. Цветкова [и др.] ; под редакцией В. С. Зарубина, А. П. Крищенко. - Москва: Изд-во МГТУ им. Н.Э. Баумана. - 2001. - 424 с. - Текст : непосредственный.

4. Кормен, Т. Х. Введение в алгоритмы / Т. Х. Кормен, Ч. Э. Лейзерсон, Р. Л. Ривест, К. Штайн. - Москва: Изд-во «Вильямс». - 2016. - 208 с. - Текст : непосредственный.

iНе можете найти то, что вам нужно? Попробуйте сервис подбора литературы.

5. Мелвилл, П. Совместная фильтрация содержимого для улучшения рекомендаций : [презентация : материалы восемнадцатой национальной конференции по искусственному интеллекту (AAAI-2002)] / П. Мелвилл, Р. Д. Муни, Р. Нагараджан. - Эдмонтон, Канада. - 2002. С. 187-192. - Текст : непосредственный.

6. Мейер, Ф. Рекомендательные системы в промышленных условиях / Ф. Мейер. - электронные распечатки ArXiv. - 2012. - Текст : электронный.

7. Лутц, М. Изучаем Python. Том 1 / М. Лутц. - Москва: «Вильямс». - 2019. - 832 с. -Текст : непосредственный.

REFERENCES

1. Goryachkin B.S. Ergonomicheskie problemy v avtomatizirovannoj sisteme obrabotki informacii i upravleniya [Ergonomic problems in the automated system of information processing and control]. International scientific and technical journal "Information-measuring and control systems Izd-vo «Radiotekhnika», Moscow, 2016, no. 12, vol. 14.

2. Pechenkin V.A., Teskin O.I., Tsvetkova G.M. Teoriya veroyatnostey [Probability theory]. Moscow, Izd-vo BMSTU, 1998, 456 p.

3. Goryainov V.B., Pavlov I.V., Tsvetkova G.M. Matematicheskaya statistika [Mathematical statistics]. Moscow, Izd-vo BMSTU, 2001, 424 p.

4. Cormen T.H., Leiserson C.E., Rivest R.L., Stein C. Vvedeniye v algoritmy [Introduction to Algorithms]. Moscow, Izd-vo «Williams», 2016, 208 p.

5. Melville P., Mooney R.J., Nagarajan R. Sovmestnaya fil'tratsiya s usileniyem soderzhimogo dlya uluchsheniya rekomendatsiy [Content-Boosted Collaborative Filtering for Improved Recommendations]. Edmonton, Canada, 2002, pp. 187-192.

6. Meyer F. Rekomendatel'nyye sistemy v promyshlennykh usloviyakh [Recommender systems in industrial contexts]. ArXiv e-prints, 2012.

7. Lutz M. Izuchayem Python [Learning Python]. Moscow, Izd-vo «Williams», 2019, 832 p.

Материал поступил в редакцию 19.02.2021

© Бабин В.Е., 2021

i Надоели баннеры? Вы всегда можете отключить рекламу.