(495) 925-0049, ITShop интернет-магазин 229-0436, Учебный Центр 925-0049
  Главная страница Карта сайта Контакты
Поиск
Вход
Регистрация
Рассылки сайта
 
 
 
 
 

Big data: размер имеет значение?

Источник: habrahabr

 

Перед всеми веб-разработчиками встает задача индивидуальной выборки контента для пользователей. С ростом объема данных и увеличением их разнообразия обеспечение точности выборки становится все более важной задачей, оказывающей существенное влияние на привлекательность проекта в глазах пользователей. Если вышеописанное входит в сферу ваших интересов, то, возможно, данный пост натолкнет на какие-то новые идеи.

В каждой эпохе развития IT-индустрии существовали свои buzzwords - слова, которые у всех были на слуху, каждый знал, что за ними будущее, но лишь немногие знали, что действительно стоит за этим словом и как им  правильно  воспользоваться. В своем время баззвордами были и "водопад", и "XML", и "Scrum", и "веб-сервисы". Сегодня одним из основных претендентов на звание баззворда №1 является "big data". С помощью больших данных британские ученые диагностируют беременность по чеку из супермакета с точностью, близкой к ХГЧ-тесту. Крупные вендоры создают платформы для анализа больших данных, стоимость которых зашкаливает за миллионы долларов, и нет сомнений, что каждый пиксель в любом уважающем себя интернет-проекте будет строиться с учетом больших данных не позднее, чем к 2020 году.

При этом редкая статья про алгоритмы анализа больших данных обходится без комментария "Ну покажите мне работающий в промышленных масштабах пример!". Поэтому не будем ходить вокруг да около и начнем с примера: www.ok.ru/music. Большая часть контента в музыкальном разделе Одноклассников подбирается на основе "больших данных" индивидуально для каждого пользователя. Стоит ли оно того? Вот несколько простых цифр:

  • +300% прослушиваний и подписок
  • +200% добавлений песен
  • +1000% CTR при таргетировании музыкальной рекламы

Но главное совсем не это. Куда ценнее живое и непредвзятое мнение реальных пользователей. Год назад в рамках проекта "За окном" люди, никогда раньше не пользовавшиеся Одноклассниками, провели в сети две недели, подробно отчитываясь о своих впечатлениях. Один из отзывов о музыкальном разделе звучал так: "Оно каким-то образом угадывает, что мне нравится. Не понимаю как, но это приятно".

На самом деле никакой магии, конечно, нет - все дело в данных. Тех самых данных, которые генерируют наши пользователи, прослушивая и загружая музыку, просматривая музыкальный каталог. Информация обо всех действиях пользователя стекается в классическую реляционную базу данных MS SQL, где происходит первичная обработка, фильтрация и агрегация данных (да, старый добрый SQL тоже может обрабатывать big data). Подготовленные в SQL данные выгружаются для дополнительного анализа в небольшой Hadoop-кластер, который делает компактную, но информативную выжимку, используемую уже в реальном времени (часть её импортируется в Cassandra, часть загружается сразу в память). Для пущей оперативности последние действия пользователей складываются в БД (Tarantool) и также учитываются в онлайне.

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

Благодаря относительно компактному размеру, граф вкусов позволяет в реальном времени решать широкий спектр задач, связанных с персональным подбором контента. Имея список наиболее популярных треков по всей системе, можно:

  • оценить их релевантность для конкретного пользователя (количество и вес путей длины не больше N между пользователем и треками),
  • разбить вкусы пользователя на связные блоки (кластеризация по плотности подграфа общих соседей методом affinity propagation) и подобрать рекомендации под блок (personalized PageRank)

Имея сборник песен, составленный пользователем, можно подобрать похожие интересные треки (тоже PPR для сборника и персонализация результата для пользователя). Технические детали о том, как, зачем и почему, можно найти здесь.

От взгляда внимательного читателя не ускользнет тот факт, что ни одно из используемых решений нельзя назвать новым/прорывным/уникальным (нужное подчеркнуть) ни с точки зрения алгоритмов, ни с точки зрения технологий. Почему тогда действительно качественные решения на основе big data появляются на российском рынке так редко?

Немало копьев было сломано (и ломается до сих пор) в спорах о том, какого же размера данные можно считать действительно "большими". Но действительно ли дело в размере? Сотни гигабайт/терабайт/петабайт (нужное подчеркнуть) данных не представляют ценности сами по себе - основное их предназначение в том, чтобы помочь  понять прошлое и  предсказать  будущее. Очевидно, что одних лишь данных для этого не достаточно - нужны алгоритмы анализа, технологии и люди, которые смогут их внедрить. 

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

Достаточно легко найти программиста, знающего все нюансы сборки мусора в Java, имеющего опыт работы с дюжиной СУБД разного типа, досконально знакомого со Spring/Trove/Hibernate и еще полусотней библиотек и пакетов. Однако большинство из них технологически ориентированы и "не заточены" на то, чтобы работать с литературой, осваивать новые методы статистической обработки, ставить эксперименты. Найти математика, способного на это, сложнее, но тоже возможно. Но в этом случае продвинуться дальше бесформенного облака кода Matlab будет чрезвычайно сложно. Вероятность же найти человека, способного взять лучшее от двух миров, настолько мала, что многие вообще сомневаются в их существовании.

Казалось бы, в такую ценную экологическую нишу должны стремиться попасть многие выпускники ВУЗов, но даже у вчерашних студентов наблюдается то же расслоение на "технарей" и "математиков". Первые в задачах интеллектуального анализа склонны к шапкозакидательским подходам "что тут делать-то", вторые уходят в нирвану математики и не всегда возвращаются. Но способности к обучению у них еще не так притуплены, как у зрелых специалистов, хотя их развитие и требует серьезных дополнительных инвестиций.

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



 Распечатать »
 Правила публикации »
  Написать редактору 
 Рекомендовать » Дата публикации: 27.03.2014 
 

Магазин программного обеспечения   WWW.ITSHOP.RU
Zend Server with Z-Ray Developer Edition - Standard
JIRA Software Commercial (Cloud) Standard 10 Users
Nero 2018 Platinum ESD
Microsoft Windows Professional 10, Электронный ключ
Quest Software. Toad for Oracle Development Suite
 
Другие предложения...
 
Курсы обучения   WWW.ITSHOP.RU
 
Другие предложения...
 
Магазин сертификационных экзаменов   WWW.ITSHOP.RU
 
Другие предложения...
 
3D Принтеры | 3D Печать   WWW.ITSHOP.RU
 
Другие предложения...
 
Новости по теме
 
Рассылки Subscribe.ru
Информационные технологии: CASE, RAD, ERP, OLAP
CASE-технологии
СУБД Oracle "с нуля"
eManual - электронные книги и техническая документация
Новые материалы
Вопросы и ответы по MS SQL Server
Windows и Office: новости и советы
 
Статьи по теме
 
Новинки каталога Download
 
Исходники
 
Документация
 
 



    
rambler's top100 Rambler's Top100