Сайт студентов и выпускников кафедры Статистического Моделирования statmod.ru
Кафедра Статистического Моделирования
 
ФотоальбомФотоальбом  FAQFAQ   ПоискПоиск   ПользователиПользователи   ГруппыГруппы   РегистрацияРегистрация 
 ПрофильПрофиль   Войти и проверить личные сообщенияВойти и проверить личные сообщения   ВходВход 

Задача определения рейтинга исполнителей

 
Начать новую тему   Ответить на тему    Список форумов statmod.ru -> Беседка
Предыдущая тема :: Следующая тема  
Автор Сообщение
Scavenger



Зарегистрирован: 11.08.2006
Сообщения: 116
Год выпуска, специализация, статус: 2003, СтатМод

СообщениеДобавлено: Пн Dec 08, 2008 14:43    Заголовок сообщения:  Задача определения рейтинга исполнителей Ответить с цитатой

Не так давно меня пригласили на новую работу. И теперь я занимаюсь написание клиента для Yota Музыки.

У нас в музыкальной базе есть большое количество исполнителей, которых хочется отсортировать по рейтингу. Для конкретных треков рейтинг вычисляется просто - считается количество проигрываний трека. У кого больше - тот и прав. И теперь хочется найти/придумать подходящий алгоритм вычиисления рейтинга исполнителя на основе информации по трекам. Буду благодарен за помощь в данном вопросе. Rolling Eyes

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

_________________
Сделал - подумай
Вернуться к началу
Посмотреть профиль Отправить личное сообщение Посетить сайт автора
pepelyshev



Зарегистрирован: 29.08.2006
Сообщения: 25
Год выпуска, специализация, статус: 2000, CM

СообщениеДобавлено: Пн Dec 08, 2008 23:01    Заголовок сообщения:   Ответить с цитатой

L_p норма при 0.8<p<=1
Вернуться к началу
Посмотреть профиль Отправить личное сообщение
Scavenger



Зарегистрирован: 11.08.2006
Сообщения: 116
Год выпуска, специализация, статус: 2003, СтатМод

СообщениеДобавлено: Ср Dec 10, 2008 20:27    Заголовок сообщения:   Ответить с цитатой

А поподробней можно? А то я не совсем понимаю, как это правильно использовать.
_________________
Сделал - подумай
Вернуться к началу
Посмотреть профиль Отправить личное сообщение Посетить сайт автора
pepelyshev



Зарегистрирован: 29.08.2006
Сообщения: 25
Год выпуска, специализация, статус: 2000, CM

СообщениеДобавлено: Чт Dec 11, 2008 19:29    Заголовок сообщения:   Ответить с цитатой

Исполнителю сопоставляется несколько треков, т.е. вектор чисел, содержащий информациию по трекам. Длины векторов у различных исполнителей различны (хотя можно заполнить нулями). Тогда алгоритм есть вычисления рейтинга есть (sum_{i=1}^n v_i^p)^{1/p}, где v_i есть элементы вектора.
Вернуться к началу
Посмотреть профиль Отправить личное сообщение
Scavenger



Зарегистрирован: 11.08.2006
Сообщения: 116
Год выпуска, специализация, статус: 2003, СтатМод

СообщениеДобавлено: Пт Dec 12, 2008 0:19    Заголовок сообщения:   Ответить с цитатой

Интересная вещь, подумаю по этому поводу Smile
_________________
Сделал - подумай
Вернуться к началу
Посмотреть профиль Отправить личное сообщение Посетить сайт автора
Nina E. Golyandina
Site Admin


Зарегистрирован: 31.07.2006
Сообщения: 934
Год выпуска, специализация, статус: давно, статмод

СообщениеДобавлено: Пт Dec 12, 2008 21:19    Заголовок сообщения:   Ответить с цитатой

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



Зарегистрирован: 11.08.2006
Сообщения: 116
Год выпуска, специализация, статус: 2003, СтатМод

СообщениеДобавлено: Пт Dec 12, 2008 23:42    Заголовок сообщения:   Ответить с цитатой

Сама по себе задача проста. У нас есть большой список исполнителей (например, при выборе одного конкретного жанра порядка 2-3 тысяч). Среди которых много очень разных, и популярные, и раритетные/малоизвестные. Мы хотим показывать артистов, начиная с самых популярных (актуальных).

Как я уже писал, адекватно оценить популярность треков мы можем по количеству прослушиваний конкретного (playcount). А вот как на основе этого посчитать популярность артиста, не совсем. Т.к. не очень понятно, как связаны популярность конкретной песни и исполнителя в целом.

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

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

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

ЗЫ Ну, и на правах рекламы скажу, что пишем мы клиента под HTC Max 4G - первый коммуникатор с поддержкой Wi-Max.

_________________
Сделал - подумай
Вернуться к началу
Посмотреть профиль Отправить личное сообщение Посетить сайт автора
Nina E. Golyandina
Site Admin


Зарегистрирован: 31.07.2006
Сообщения: 934
Год выпуска, специализация, статус: давно, статмод

СообщениеДобавлено: Сб Dec 13, 2008 21:42    Заголовок сообщения:   Ответить с цитатой

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

Для этого нужно формализовать причину нехватки треков (т.е. понять, как заполнять пропуски, а нулями их заполнять плохо).

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

========
А если хочется совсем просто, то можно и так: среднее и сумма - не устраивают по противоположным причинам. Можно взять просто что-то произвольное между ними. Например, среднее по имеющимся трекам, умноженное на корень из числа имеющихся треков (или на что-то меньшее, чем число треков).
Вернуться к началу
Посмотреть профиль Отправить личное сообщение Посетить сайт автора
Scavenger



Зарегистрирован: 11.08.2006
Сообщения: 116
Год выпуска, специализация, статус: 2003, СтатМод

СообщениеДобавлено: Сб Dec 13, 2008 22:00    Заголовок сообщения:   Ответить с цитатой

Я думал на счет того, чтобы вычислять сумму 10 (или другого фиксированного числа) самых популярных треков, но хотел еще и добавлять к ним среднее по остальным рейтингам (чтобы информация не сильно пропадала). Идея мне нравится, но ее адекватность я пока не понял.

А пропуски... думаю, что если треков какого-то исполнителя мало, то особо вверх его тянуть и не стоит Smile

----

Идея с корнем тоже выглядит неплохой.

_________________
Сделал - подумай
Вернуться к началу
Посмотреть профиль Отправить личное сообщение Посетить сайт автора
Показать сообщения:   
Начать новую тему   Ответить на тему    Список форумов statmod.ru -> Беседка Часовой пояс: UTC + 3
Страница 1 из 1

 
Перейти:  
Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете голосовать в опросах
Вы можете вкладывать файлы
Вы можете скачивать файлы
RSS feed


Powered by phpBB © 2001, 2005 phpBB Group