Возможные друзья Вконтакте как определяются

Откуда появляются рекомендации друзей вк. Как подбираются возможные друзья в вк

Начать следует с простого. Определить расположение данного блока не так уж и сложно. Логично, что он находится в разделе «Друзья». Именно туда необходимо перейти со своей страницы, чтобы увидеть список возможных друзей.

Окно со списком возможных друзей в ВК

С глобальным обновлением интерфейса поменялось и расположение данного блока. Раньше он отображался слева под меню страницы. Также его можно было найти с помощью сервиса поиска друзей.

После обновления изменились не только стандартные функции ВК, но и блок возможных друзей. Видимо, разработчики посчитали старое расположение не совсем удобным, поэтому переместили его. Теперь он находится справа, занимая отдельное пространство на вкладке «Друзья». Сделав переход по активной кнопке, можно будет ознакомиться с полным предоставленным списком. Также возможных друзей можно найти, как и прежде, перейдя по активной ссылке «Найти друзей».

ВОЗМОЖНЫЕ друзья

Этот раздел может порекомендовать Вам тех, с кем Вы могли бы подружиться. Вы сразу же сможете нажать на иконку «Добавить в друзья». К запросу можно будет добавить сообщение, в котором указать, почему Вы решили пообщаться с этим пользователем.

Кнопка для добавления человека в друзья

При этом, человек получит уведомление с указанием количества Ваших общих друзей. Такой простой способ используют многие пользователи, желающие расширить свой френдлист.

Можно ли изменить список друзей?

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

Что такое возможные друзья ВКонтакте? Как определяются эти пользователи и где можно увидеть список возможных друзей? Такие вопросы часто волнуют пользователей самой популярной социальной сети Рунета.

На самом деле, ВКонтакте использует эффективные алгоритмы поиска новых друзей. Один из них — «Возможные друзья», предлагающий ознакомиться со страничками людей, с которыми человек мог встречаться или находиться в шапочном знакомстве.

Для того, чтобы увидеть возможных друзей ВК, нужно зайти в раздел «Друзья» и обратить внимание на правую часть экрана. Именно там публикуется список из пяти пользователей, с которыми владелец страницы может иметь общих знакомых.

ВАЖНО! При каждом входе в раздел «Друзья» список формируется по-новому и отражает других юзеров. Нажав кнопку «Показать всех», можно увидеть всех пользователей, имеющих какую-либо связь с владельцем аккаунта.

Количество возможных друзей ВКонтакте напрямую зависит от активности аккаунта. Чем больше человек общается в онлайне, чаще подписывается на интересные страницы и вступает в группы, тем с большим количеством аккаунтов взаимодействует его страничка. Разумеется, система принимает во внимание и социальную активность человека в реальной жизни. Большое количество учебных заведений, мест работы, отдыха, городов проживания увеличивает список возможных знакомых.

Как формируется список друзей в ВК? Друзья ВКонтакте

Справка. На странице с полным списком возможных друзей ВК имеются фильтры. Однако они совершенно не облегчают поиск в самом списке. К примеру, если в фильтре указать страну «Россия», то ВКонтакте предложит страницы всех пользователей социальной сети, в анкетах которых указана эта страна.

Основная цель сервиса

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

Стоит упомянуть, что сервис рассчитан на людей, которые недавно зарегистрировались ВКонтакте. Блок «Возможные друзья» не будет появляться у пользователей с френдлистом более 100 человек. Тут же учитывается и количество подписок на разные сообщества. Таким образом, ВК позволяет новичкам не потеряться на сайте и сразу же приступить к общению и новым знакомствам.

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

«ВКонтакте»: друзья — размещение

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

Нововведение мы разглядим позднее. Также дополнительно к этой новейшей функции в разделе «Друзья» сейчас сотворена типичная книга с номерами телефонов, где можно поглядеть контакты людей, которые вас заинтересовывают.

Можно ли увеличить список

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

В случае массового добавления в друзья ВКонтакте на страницы таких «накрутчиков», их рекомендации тоже будут пополняться. Для коммерческих проектов сервис просто незаменим.

Как подбираются возможные друзья в ВК

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

Социальная сеть ВКонтакте объединяет людей, и постоянно в нее внедряются различные алгоритмы, чтобы пользователям было удобнее находить своих друзей, родственников и просто знакомых людей, с которыми они могли несколько раз видеться, но при встрече не успели или не захотели добавиться в друзья друг к другу. Одним из способов быстро пополнить свой список друзей знакомыми людьми – это воспользоваться инструментом ВКонтакте «Возможные друзья». В рамках статьи рассмотрим принцип действия данного алгоритма, а также как им пользоваться.

Как появляются возможные друзья

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

Благодаря кнопке «Показать всех», можно будет увидеть более полный список Ваших возможных знакомых. Там будут появляться те же люди, только будет немного изменен порядок их расположения.

Далее для поиска рекомендаций используются такие параметры, как школы и ВУЗы (с учетом года окончания), родной город и даже участие в одном и том же сообществе или группе. Таким образом, предоставляется список не только реальных знакомых, но и тех, с кем могут совпадать интересы и предпочтения.

С помощью сервиса, многие нашли новых друзей и знакомых. А некоторым он не понравился. Ведь в их списке были абсолютно незнакомые люди. Это происходит потому, что многие добавляют в друзья тех, кого не знают. Таким образом, пользователи из их френдлиста попадут в «возможных друзей».

Возможные друзья на фейковых аккаунтах

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

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

Как определяются возможные друзья ВКонтакте

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

  • Количества общих друзей у вас с отображаемым в качестве возможного друга пользователем. Данный параметр даже указывается в качестве одного из основных при отображении списка возможных друзей;
  • Частоты посещения вами страницы данного пользователя. Если вы заходили несколько раз подряд на страницу одного и того же человека ВКонтакте, через некоторое время он может появиться в списке ваших возможных друзей, поскольку социальная сеть считает, что вы им заинтересованы;
  • Частоты посещения пользователем вашей страницы. Работает приведенный выше принцип и в обратном направлении. Если человек регулярно заходит на вашу страницу, а особенно проявляется на ней активность – комментирует записи, ставит лайки, репостит посты и так далее, скорее всего он будет выводиться для вас в качестве возможного друга;
  • Наличия переписки с пользователем. Если вы общались с одним из пользователей в личных сообщениях, но при этом он не состоит у вас в друзьях, этот человек будет отображаться у вас в качестве возможного друга.

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

(453 голос., средний: 4,53 из 5)

Похожие записи
Как сделать зачеркнутый текст в Инстаграм
Как увеличить шрифт в контакте, одноклассниках и на других сайтах?

Как убрать человека из «Возможных друзей»

Если в список попал человек, с которым Вам не хочется дружить, его легко можно будет убрать оттуда. Для этого необходимо курсором навести на крестик в углу аватарки пользователя. Там же высветится активное меню «Больше не показывать».

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

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

Несекретные материалы

Надоел блок в «Моём Мире»

Вот уже несколько дней бьюсь над казалось бы пустяковой проблемой, и никак не могу её решить. Как убрать блок «Возможно, вы знакомы» в верхнем правом углу страницы социальной сети Мой Мир? Он мне уже порядком осточертел.
Здесь найденное какое-никакое, но решение этой проблемы.

Залезал в настройки — теперь этого пункта там нет, тогда как раньше он был, и можно было его или скрывать, или показывать на своей странице.

В принципе, сам по себе этот блок мне не особо мешает, но с некоторых пор там стали выводиться некоторые неприятные мне люди из прошлой жизни, которых сервис Мой Мир «любезно» подсовывает мне в качестве друзей.

Нет, поодиночке этих «кандидатов в друзья» убирать конечно можно, если щёлкнуть по крестику с всплывающей надписью «Не знаком» справа от фото предлагаемого в друзья пользователя, и данный кандидат исчезает. Но взамен появляются всё новые и новые. И ещё не факт, что снова не появятся старые, которых уже предлагали. Честно говоря, вся эта байда мне уже порядком надоела, как и тот факт, что с некоторых пор «Одноклассники» и «Мой Мир» объединились в одну контору, можно сказать.

Вообще в сети идёт нездоровая тенденция сбора информации о пользователях и слежки за их действиями в интернете. Это уже давно выходит за рамки необходимого, типа сохранения обычных «cookies» на жёстких дисках пользователей через их браузеры. Всё больше и больше интернетовских контор объединяют свои сервисы для установления тотальной слежки за людьми, отслеживанием их запросов в поисковиках и прочей деятельностью.

Можно конечно отключить сохранение тех же «cookies» в настройках браузеров и вообще пользоваться всякими прогами для сохранения конфиденциальности, хотя бы частичной. Но тогда исчезнет удобство пользования электронной почтой через веб-интерфейс, например, и разными другими вещами.

Как формируется список друзей у других пользователей Вконтакте

Теперь рассмотрим принцип сортировки друзей у других пользователей Вконтакте

. Если у них список друзей формируется по вышеописанному принципу, то мы видим друзей совсем иначе.

Открываем список друзей пользователя и видим следующее:

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

Вот таким образом происходит сортировка списка друзей у других пользователей.

Источник: vsegdasvami.ru

Рекомендации друзей ВКонтакте: ML на эго-графах

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

Меня зовут Женя Замятин, я работаю в команде Core ML ВКонтакте. Хочу рассказать, как устроены рекомендации, которые делают ближе пользователей самой крупной социальной сети рунета.

Обзор

Современные рекомендательные системы зачастую состоят из двух уровней, и наша не исключение. Задача первого уровня — искать наиболее релевантных кандидатов среди всего множества пользователей (у нас их сотни миллионов). Такая постановка задачи подразумевает высокую скорость работы.

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

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

Ещё один важный метод рекомендаций — Adamic/Adar. В его основе лежит всё тот же анализ общих друзей, но с модификацией: авторы предлагают учитывать число друзей у «общего» друга. Чем больше это значение, тем меньше информации о релевантности он несёт.

Кроме методов на основе анализа общих друзей, довольно распространены рекомендации на базе эмбеддингов. В Лаборатории искусственного интеллекта ВКонтакте в МФТИ мы провели исследование: сравнили эффективность разных подходов к задаче предсказания дружб в VK. Результаты совпали с нашим опытом — решения на базе графовых эмбеддингов у нас работают плохо. Учитывая это, мы стали развивать систему отбора кандидатов по пути анализа общих друзей.

EGOML

Общая схема нашего метода продолжает идеи числа общих друзей и Adamic/Adar. Финальная мера релевантности E(u, v) , с помощью которой мы будем отбирать кандидатов, всё так же раскладывается в сумму по общим друзьям u и v . Ключевое отличие — в форме слагаемого под суммой: в нашем случае это мера ez_c(u, v) .

Сначала попробуем понять «физический» смысл меры ez_c(u, v) . Представим, что мы взяли пользователя c и спросили у него: «Насколько вероятно, что два твоих друга, u и v , подружатся?» Чем больше информации для оценки он учтёт, тем точнее будет его предсказание. Например, если c сможет вспомнить только число своих друзей, его рассуждения могут выглядеть следующим образом: «Чем больше у меня друзей, тем менее вероятно, что случайные двое из них знакомы». Тогда оценка вероятность дружбы u и v (с точки зрения c ) может выглядеть как 1/log(n) , где n — число друзей. Именно так устроен Adamic/Adar. Но что если c возьмёт больше контекста?

Прежде чем отвечать на этот вопрос, разберёмся, почему ez_c(u, v) важно определять через пользователя c . Дело в том, что в таком виде очень удобно решать задачу распределённо. Представим, что теперь мы разослали всем пользователям платформы анкету с просьбой оценить вероятность дружбы в каждой паре их друзей. Получив все ответы, мы можем подставить значения в формулу E(u, v) . Именно так выглядит вычисление E(u, v) с помощью MapReduce:

  • Подготовка. Для каждого c выделяется тот контекст, который он будет учитывать для вынесения оценок. Например, в Adamic/Adar это будет просто список друзей.
  • Map. «Спрашиваем» у каждого c , что он думает про возможность дружбы в каждой паре его друзей. По сути, вычисляем ez_c(u, v) и сохраняем в виде (u, v) → ez_c(u, v) для всех u, v in N(c) . В случае Adamic/Adar: (u, v) → 1/log|N(c)| .
  • Reduce. Для каждой пары (u, v) суммируем все соответствующие ей значения. Их будет ровно столько, сколько общих друзей у u и v .

Таким образом мы получаем все ненулевые значения E(u, v) . Заметим: необходимое условие того, что E(u, v) > 0 , — существование хотя бы одного общего друга у u и v .

Эго-граф Хоппера

Контекстом пользователя c в случае меры ez_c будет тот же список друзей, но дополненный информацией о связях внутри этого списка. Такую структуру в науке называют эго-графом. Если более формально, эго-граф вершины x — это такой подграф исходного графа, вершинами которого являются все соседи x и сама x , а рёбрами — все рёбра исходного графа между этими вершинами. Коллеги из Одноклассников написали подробную статью об эго-графах и затронули в ней вопрос их эффективного построения.

Ключевая идея меры ez_c в том, что её можно сделать обучаемой. Для каждого пользователя c , его эго-графа и всех пар пользователей u , v внутри него мы можем посчитать много разных признаков, например:

  • число общих друзей u и v внутри эго-графа c ;
  • число общих друзей u и c ;
  • интенсивность взаимодействий между v и c ;
  • время, прошедшее с последней дружбы между u и кем-либо из эго-графа c ;
  • плотность эго-графа c ;
  • и другие.

Таким образом мы получим датасет с признаками. Но для обучения нужны ещё и метки. Пусть датасет был построен по состоянию графа на момент времени T . Тогда в качестве положительных примеров возьмём те пары пользователей, которые не были друзьями на момент T , но подружились к T + △T . А как отрицательные — все остальные, не подружившиеся, пары пользователей. Заметим: поскольку мы решаем задачу предсказания новых дружб, те пары пользователей, которые уже дружат на момент T , учитывать не нужно ни на обучении, ни на применении.

В конечном счёте мы получаем датасет следующего вида:

  • для каждой пары пользователей u и v , а также их общего друга c , посчитаны признаки по эго-графу c ;
  • пара пользователей u и v встречается в датасете ровно столько раз, сколько у них общих друзей;
  • все пары пользователей в датасете не являются друзьями на момент времени T ;
  • для каждой пары u и v проставлена метка — подружились ли они в течение определённого промежутка времени начиная с T .

По такому датасету мы и будем обучать нашу меру ez_c . В качестве модели выбрали градиентный бустинг с pairwise функцией потерь, где идентификатором группы выступает пользователь u .
По сути, мера ez_c(u, v) определяется как предсказание описанной выше модели. Но есть один нюанс: при pairwise-обучении распределение предсказаний модели похоже на нормальное. Поэтому, если в качестве определения меры ez_c(u, v) взять «сырое» предсказание, может возникнуть ситуация, когда мы будем штрафовать финальную меру E(u, v) за общих друзей, так как значения предсказаний бывают отрицательными. Это выглядит не совсем логично — хочется, чтобы с ростом числа общих друзей мера E(u, v) не убывала. Так что поверх предсказания модели мы решили взять экспоненту:

Такой подход хорошо себя показывает на небольших графах. Но чтобы применить его на реальных данных, необходимо выполнить ещё одно действие. Суть проблемы такая: мы не можем вычислять признаки и применять модель для каждой пары пользователей всех эго-графов — это слишком долго. Для решения мы придумали специальный трюк. Представим, что наш градиентный бустинг обучился таким образом, что каждое дерево использует признаки только одного пользователя: либо u , либо v . Тогда мы могли бы разделить весь ансамбль на две группы: к группе A мы бы отнесли деревья, которые используют только признаки пользователя u , к B — пользователя v . Предсказание такой модели можно представить в виде:

Имея такую модель, мы могли бы получить предсказания для всех пар пользователей одного эго-графа быстрее. Достаточно применить модели A и B для каждого пользователя, а затем сложить соответствующие парам предсказания. Таким образом, для эго-графа из n вершин мы могли бы сократить число применений модели с O(n^2) до O(n) . Но как получить такую модель, каждое дерево которой зависит только от одного пользователя? Для этого сделаем следующее:

  1. Исключим из датасета все признаки, которые одновременно зависят и от u и от v . Например, от признака «число общих друзей u и v внутри эго-графа c » придётся отказаться.
  2. Обучим модель A , используя только признаки на базе u , c и эго-графа c .
  3. Для обучения модели B оставим только признаки на базе v , c и эго-графа c . Также в качестве базовых предсказаний передадим предсказания модели A .

Если объединим модели A и B , получим то что нужно: первая часть использует признаки u , вторая — признаки v . Совокупность моделей осмысленна, поскольку B была обучена «корректировать» предсказания A . Эта оптимизация позволяет ускорить вычисления в сотни раз и делает подход применимым на практике. Финальный вид ez_c(u, v) и E(u, v) выглядит так:

Вычисление меры E в онлайне

Заметим, что E(u, v) можно представить в виде:

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

При построении рекомендаций мы уже вычислили предсказания моделей для всех существующих дружб. Поэтому для каждого пользователя мы можем собрать векторы и сложить их в доступное онлайн key-value хранилище. После этого сможем получать значение E(u, v) для любой пары пользователей в онлайне простой операцией перемножения векторов. Это даёт возможность использовать E(u, v) как лёгкую функцию релевантности в нагруженных местах либо как дополнительный признак финальной модели ранжирования.

Итог

В результате система EGOML позволяет:

  1. Распределённо отбирать кандидатов для каждого пользователя в офлайне. Асимптотическая сложность оптимизированного алгоритма составляет O(|E|) вычислений признаков и применений модели, где |E| — число связей в графе. На кластере из 250 воркеров время работы алгоритма составляет около двух часов.
  2. Быстро вычислять меру релевантности E(u, v) для любой пары пользователей в онлайне. Асимптотическая сложность операции O(|N(u)| + |N(v)|) .
  3. Улучшать качество рекомендаций, расширяя количество учтённых графов (по дружбам, скрытиям рекомендаций, отправленным сообщениям и другим графам) и добавляя всевозможные метки на рёбра и вершины. Например, интенсивность взаимодействий на ребре, дату образования ребра, город, место работы или учёбы пользователя.

В конечном счёте мы перешли со способа отбора кандидатов с использованием Adamic/Adar к системе EGOML и внедрили в модель второй уровень признаков на основе меры E(u, v) . И это позволило увеличить количество подтверждённых дружб со всей платформы на несколько десятков процентов.

Благодарность

Хочу сказать спасибо руководителю команды Core ML Андрею Якушеву за помощь в разработке метода и подготовке статьи, а также всей команде Core ML — за поддержку на разных этапах этой работы.

  • машинное
  • рекомендательные системы
  • bigdata
  • алгоритмы
  • link prediction problem
  • mapreduce
  • графы
  • рекомендации
  • социальный граф

Источник: habr.com

Оцените статью
Добавить комментарий