Мы сделали новое приложение – Кассандра. Приложение которым я могу гордиться.
Это музыкальный рекомендательный сервис для контакта.
http://vkontakte.ru/app1840672
Смысл его в том что бы рекомендовать музыку на основании музыкального каталога музыки собранной пользователем в его плейстах «вконтакте». Рекомендует удачно, пользователям нравится.
Однако было бы неправильно считать что Кассандра это вещь в себе. На самом деле мы конечно-же решаем задачку для «общего случая» – мы делаем универсальный рекомендательный движок который должен по идее уметь справляться с любого рода контентом. Начиная от товаров в магазине и заканчивая поиском близких по духу людей. А скорее всего не заканчивая, а напротив – начиная.
И Кассандра в данном случае лишь только пример использования, не более того.
Как это работает? Я объясню. Все на самом деле просто и сложно одновременно.
За основу взят тезис что все люди не уникальны. В том смысле что если ты слушаешь Doors и слушаешь Jethro Tull, то ты не одинок на этой земле и есть и другие люди слушающие то же самое. А дальше происходит магия. Оказывается что если другие люди которые слушают Doors и Jethro Tull в большинстве своем слушают еще и Deep Purple, то велика вероятность что Deep Purple тебе тоже есть смысл послушать…. Если тебе понравился Deep Purple все хорошо. Дальше будет Rainbow, Queen, и так далее и тому подобное. Но что если тебе Deep Purple не понравился. Как быть? Оказывается что когда мы работаем с большими выборками, то и даже самые экзотические вкусы можно удовлетворить. Надо только получше поискать.
Вот за этим «поискать получше» и скрывается главная сложность. Объем данных для обработки растет очень быстро. Шутка ли – каждый новый пользователь это в среднем 50-100 песен. Это значит что база из 10 тыс пользователей это миллион. А нам надо строить матрицу для построения выборки – стало быть миллион умножаем на миллион и радуемся. А если пользователей не 10 тыс а 10 миллионов….
Рассуждая об этих материях стало понятно что решать задачку надо в комплексе. Не делая один музыкальный рекомендатель, но сделав собственный универсальный сервис рекомендаций.
Мы делаем его и будем выкладывать потихоньку на Ariadn.com
Там еще немного не прибрано. Но почитать уже есть что.
А сейчас, после запуска Ариадны, команда программистов в отпуске и мы (те кто остался) спокойно и не спеша планируем дальнейшее развитие.
Будет интересно. Я обещаю.