Определение близости друзей в Last.fm (проект) — различия между версиями

Материал из Wiki - Факультет компьютерных наук
Перейти к: навигация, поиск
(Темы вводных занятий)
 
(не показана одна промежуточная версия ещё одного участника)
Строка 7: Строка 7:
 
|summer=on
 
|summer=on
 
|categorize=yes
 
|categorize=yes
 +
|is_archived=yes
 
}}
 
}}
  
Строка 27: Строка 28:
  
 
=== Темы вводных занятий ===
 
=== Темы вводных занятий ===
1) Lastfm API, Получение данных. XML, JSON и Python.
+
* Lastfm API, Получение данных. XML, JSON и Python.
2) Меры близости и данные с Lastfm. Кластеризация, что это и зачем.
+
* Меры близости и данные с Lastfm. Кластеризация, что это и зачем.
  
 
=== Направления развития ===
 
=== Направления развития ===

Текущая версия на 10:46, 20 октября 2015

Ментор Красавина Алина
Учебный семестр Весна 2015
Учебный курс 1-й курс
Проект можно развивать на летней практике


Внимание! Данный проект находится в архиве и реализован не будет.

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

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

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

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

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

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

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

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

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

  • Lastfm API, Получение данных. XML, JSON и Python.
  • Меры близости и данные с Lastfm. Кластеризация, что это и зачем.

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

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

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

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

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

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