Социальный поиск Facebook в деталях. Предпосылки

14.03.2013 Соцсети

О принципах работы социального поиска Facebook рассказали его создатели - Майк Куртисс, Сорен Лассен и Шрирам Санкар. Они опубликовали пост в блоге компании 6 марта, тем самым предоставив первое детальное объяснение методики работы системы.

Как все начиналось

Эксперименты Facebook с поисковыми алгоритмами начались еще в самом начале существования соцсети. Уже тогда был разработан первый внутренний поисковый алгоритм, получивший имя PPS. Он представлял собой элементарный поиск по ключевым словам, однако уже тогда был персонализирован и позволял фильтровать поиск по группам - людям, страничкам, группам и местам.

Работа над новым алгоритмом началась в 2009 году. Получивший название Typeahead (подразумевалось, что поиск дополняет запрос по мере его ввода, аналогично современным поисковым системам) алгоритм анализировал части слова и персональную базу пользователя, в которой сохранялась вся его активность в системе. Для реализации подобного подхода разработчикам потребовалось полностью переработать внутренние системы соцсети, поэтому работа над созданием алгоритма была завершена только через год.

В Typeahead вошло множество оригинальных алгоритмов, а также PPS - "старый" поиск также стал частью инновации. При необходимости расширенного поиска Facebook по-прежнему обращался к старому алгоритму.

Синтез PPS и Typeahead обеспечил создание ряда сторонних программ и формул. С появлением алгоритма Nearby, подарившего пользователям возможность указывать своё местоположение, внутренний поиск соцсети претерпел некоторые изменения. Именно Nearby породил идею создать Graph Search, однако в то время еще не было необходимой для функционирования подобной системы базы. Кроме того, необходимо было также поддерживать реализацию других существующих алгоритмов.

Первые попытки

Программисты Facebook быстро принялись разрабатывать концепт поиска, основанного на социальном графе. Система должна была анализировать связи между пользователями, находить перекрестные интересы, предпочтения, разбираться в их географическом расположении и пр. Очевидно, что при этом профиль пользователя оставался ключевым элементом, узлом сети, определяющим всё остальное. Каждая сделанная участником соцсети заметка, фотография, отметка на карте становились частью общего представления данного пользователя. В свою очередь, чекины, контакты, связи, подписки и прочие детали становились основой для создания социальных связей, или лучами, исходящими из узла.

Алгоритм подразумевал проведение анализа узлов и лучей, исходящих от них, с помощью метаданных. Анализ имени пользователя и его основной информации помогал связать его со вторым узлом, подходящим по описанию и заголовку собственных метаданных. Кроме того, каждый узел получал свой уникальный идентификатор, обозначенный в системе как fbid.

фб1.jpg

Социальный граф собрал всю информацию о пользователе - его предпочтения ("Like"), дружбу, активность в соцсети. Эти записи также дополнялись релевантными для всех пользователей отметками, вроде дружбы Георга IV и Королевы Елизаветы или кратким пересказом "Звездных войн". Такое смешение социального контекста и общей информации о пользователе и обеспечили Facebook превращение в ресурс с огромными базами персонализированного контента. Пользователь мог полностью подстраивать информацию под себя, тем самым обеспечив более релевантные результаты социального поиска, связывая себя с новыми узлами, что обеспечивало непрерывное расширение базы знаний системы.

Продолжение: Социальный поиск Facebook в деталях. Тестирование и внедрение


 
Больше интересных статей

Оставьте номер телефона, чтобы наш менеджер связался с вами в удобное для вас время

Ваше имя*
Ваш номер телефона*
Тема для обсуждения
Выберите удобное время для звонка
9:00 9:15 9:30 9:45 10:00 10:15 10:30 10:45 11:00 11:15 11:30 11:45 12:00 12:15 12:30 12:45 13:00 13:15 13:30 13:45 14:00 14:15 14:30 14:45 15:00 15:15 15:30 15:45 16:00 16:15 16:30 16:45 17:00 17:15 17:30 17:45
Виды услуг
ОбзорМаксимальный размер файла - 10 мб