Анализируем социальные сети(начало)
Если спросить человека на улице о том, как его зовут и где он учился, это вызовет возможно недоумение,а возможно и начальную стадию агрессии к вам. В то же время в интернете люди публикуют о себе информацию совершенно свободно. Получить доступ к личным данным человека теперь очень просто, а узнать чего хотят люди? В начале 90тых появился термин “Коллаборативная фильтрация”.
Коллаборативная фильтрация, cовместная фильтрация (англ. collaborative filtering) — метод, дающий автоматические прогнозы (фильтрацию) относительно интересов пользователя по собранной информации о вкусах множества пользователей (сотрудничающих между собой).
##Мы хотим узнать чего хочет человек? Проведем один маленький эксперимент,чтобы показать весь процесс анализа, который надо провести для решения подобной задачи. Я покажу лишь, как может выглядеть процесс. Задача и ее решение должны привести к быстрому profit’у дабы подогреть интерес к теме.
##Kanobu и Gamers
Есть такой user generated игровой портал - Kanobu.ru. На нем больше 100к зарегистрированных пользователей, которые ведут блоги и общаются на игровую тематику. Все профили пользователей в открытом доступе. http://kanobu.ru/accounts/. Каждый пользователь может отметить для себя список любимых книг, фильмов и конечно игр. Мы можем получить эту информацию и провести анализ. Для разработки будем использовать Python. Полный исходный код хранится на ссылка на github.
Задачи:
- Получить имена игроков и их профили с сайта Kanobu.ru
- Узнать любимые игры по профилю
- Взять пользователя Kanobu и получить список людей со схожими вкусами.
Profit!
Для получения информации:
Используем библиотеку BeatifulSoup для парсинга html. urllib2 для работы с http запросами. Инфу по установке и получению BS и urllib2 можно с легкостью найти в сети. Для получения данных напишем модуль parseGames.py.
Получаем список пользователей и их любимые игры
Делаем методы для анализа данных
Создадим отдельный модуль analysis.py В нем будем собирать методы для анализа данных. Сейчас мы сделаем самое простое, что можно сделать. Выясним на сколько близки люди по совпадениям в их предпочтениях. Это нельзя назвать хорошим методом оценки подобия людей по их предпочтениям, но задача создать метод, который будет в дальнейшем вроде как заглушки. Можно будет переписать метод используя более точные алгоритмы.
Итак, нам надо узнать кто имеет схожии предпочтения с пользователем ‘molly doe’.
Profit!
##Заключение
Получить информацию просто. Провести хороший анализ более сложная задача. Задача этой статьи показать весь путь от начала и до успешного завершения. В дальнейшем я напишу более интересные способы анализа и что это может дать с точки зрения бизнеса. Вообще узнать информацию о будущих клиентах это круто. А помогать клиентам получать то что они хотят это вообще задача номер один. Именно по этому тысячи сайтов используют алгоритмы рекомендаций и улавливают предпочтения своих клиентов.
Обсуждения и ссылки
Я разработчик и творец. Писал на Java Enterprise, творил игры на Java/Lua/Python/Action Script 3 для разных платформ и делал совершенно ненужные web копипасты. Этот блог создается вдохновением от компаний Github и 37Signals.
Tweet Follow Partysun