Определение близости друзей в Last.fm (проект)

Материал из Wiki - Факультет компьютерных наук
Перейти к: навигация, поиск
Ментор Красавина Алина
Учебный семестр Весна 2015
Учебный курс 1-й курс
Проект можно развивать на летней практике



Что это за проект?

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

Чему вы научитесь?

  • Извлекать данные из API сервиса (XML RPC)
  • Понимать, что такое мера близости
  • При выборе соответствующих дополнительных опций - кластеризации, с использованием готовых инструментов

Какие начальные требования?

  • Быть знакомым с API Last.fm
  • Быть знакомым со средствами, позволяющими работать с ними
  • Владение любым популярным языком программирования

Какие будут использоваться технологии?

  • Python (или любой другой популярный язык)
  • XML или JSON RPC

Темы вводных занятий

Направления развития

  • Определение близости не только по исполнителям, но и по прослушанным жанрам (это то, чего не делает Last.fm, нужно для "хор")
  • Определение веса жанра по количеству прослушиваний, участие веса в метрике
  • Определение родственности жанров на основе собранных данных (можно использовать иные источники, например, Википедию), использование родственности в метрике
  • Кластеризация пользователей
  • Визуализация полученных результатов

Критерии оценки

4-5: скрипт, который забирает данные, складывает их в базу или иное место (файл да диске, например), определение меры близости только по прослушанным жанрам или только по прослушанным исполнителям

6-7: то же, что и для "4-5", + участие и множества исполнителей, и множества жанров в определении близости

8-10: то же, что и для "6-7", + дополнительная опция из оставшихся, кроме визуализации