18-19 апреля прошла конференция F8 – регулярное мероприятие Facebook для разработчиков. Среди всего прочего большой интерес вызвало выступление Адама Моссери, вице-президента по ленте новостей. Далее – краткие выжимки из лекции Адама, от первого лица и без долгих вступлений.
Для нас в Facebook особенно важно находить истории, которые будут интересными и полезными для пользователей. Которые они прочитают, а затем расскажут родным и друзьям. Историй настолько много, что выделить действительно интересные – очень сложно.
На помощь приходит алгоритм, он подбирает интересный и релевантный пользователю контент. Что же такое алгоритм? Это формула или набор шагов, которые решают определенную проблему. Приведу пример. Допустим, я сижу в ресторане и жду свою жену Монику. Она опаздывает, поэтому звонит мне и просит что-то заказать. В этот момент возникает проблема, которую я должен решить – что заказать Монике? Давайте разложим проблему на этапы.
Первое, что я должен сделать – посмотреть в меню. Затем мне нужно ответить на другие вопросы. Что она любит есть? Сейчас обед или ужин? Что в этом ресторане самое вкусное? Теперь настает черед сделать небольшие предположения. Понравится ли ей стейк из лосося? Что она скажет на шоколадное суфле на завтрак? Исходя из всего этого я принимаю решение. Весь мой мыслительный процесс – это алгоритм. В Facebook мы так называем эти шаги: Меню (Inventory), Сигналы (Signals), Предположения (Predictions), Оценка (Score).
Теперь давайте на основе этого примера рассмотрим алгоритм ленты новостей, потому что он работает примерно так же. Когда вы открываете Фейсбук, алгоритм берет все публикации от ваших друзей и страниц, на которые вы подписаны, чтобы понять “что в меню”. Затем алгоритм сопоставляет различные факторы, чтобы понять, что из этого будет вам действительно интересно – кто автор, когда это опубликовано, который сейчас час, с какого устройства вы зашли, насколько быстрое у вас соединение и так далее. Таких факторов на самом деле сотни тысяч.
Затем алгоритм делает подсчет и выдает предположение о том, что вам показать. Он предполагает вероятность того, что у вас состоится взаимодействие с историей – будь то лайк, комментарий или шэр. После этого каждому предположению присваивается оценка релевантности – величина вашего предполагаемого интереса в этой истории. Разумеется, мы не знаем наверняка, что вам будет интересно, а что нет – это просто предположения алгоритма, основанное на предыдущем опыте.
Давайте разберем работу алгоритма на реальном примере. Это мой брат Эмиль, он музыкант и весьма крутой. Вот он обновил фотографию профиля. Смотрим на сигналы. Первый сигнал – кто опубликовал фото? Эмиль.
До этого я лайкал и комментировал другие его фотки. Идем дальше. Второй – что это за история? Фото. Мне нравятся фото. Третий – сколько у этого фото лайков и комментариев? И так далее, и тому подобное.
Алгоритм делает предположение – какова вероятность того, что я лайкну это фото, прокомментирую или поделюсь? Затем он берет все эти и многие другие предположения, суммирует и выдает оценку.
Возможно, вы тоже дружите с Эмилем, но общаетесь с ним реже, чем я. Тогда ваша оценка будет немного отличной от моей. Точно таким же образом алгоритм анализирует все остальные истории, выставляя им баллы. А затем просто выводит их в ленту новостей начиная с самого высшего балла и опускаясь вниз.
Вот так и работает алгоритм, просто ранжируя публикации по степени их интересности именно для вас.
Далее Адам рассказал о том, как Фейсбук работает над совершенствованием ленты новостей и что ньюсфид сможет предложить в будущем. Закончу маленьким, но полезным советом – помогайте алгоритму строить действительно интересную и полезную ленту, ведь он строит свои предположения в основном основываясь на ваших действиях. Лайкайте интересные публикации, комментируйте, делитесь. Алгоритм постоянно обучается, и чем больше вы ему в этом помогаете – тем качественнее он будет работать, показывая вам то что нужно.
Павел Линевич