Если вам в друзья стучится кто-то, а вы с первого взгляда не можете понять это вообще нормальный человек или хрен знает кто, этот метод может дать немного полезной информации о пользователе. Использовать его для выявления актуальных таргет-групп вряд ли выйдет, потому что VK поставил ограничение на возможность скачивания содержимого стен пользователей, да и медленный больно он. Т.е. можно, но надо сильно дорабатывать, оптимизировать и изворачиваться, чтобы обходить ограничения.
Основная идея
Основная идея заключается в том, что боты, унылые (в сетевом плане) личности, всякие массовые собиратели друзей-подписчиков не очень заботятся о том, кто у них в друзьях, хотя могут достаточно много «писать» у себя на стене содержательных постов. Но унылые личности свою ленту особо не читают, а ботам это вообще не надо. Тем более это не надо массовым собирателям подписчиков и звездам.
Но людям, которые имеют хоть какие-то коммуникативные интересы относительно ВК, как раз очень важно, кто у них в друзьях. И, конечно, они не будут у себя в друзьях собирать 6000 чуваков, которые шапрят только репосты, картинки голых баб и рекламу сливных бочков со скидкой со склада в Новом Уренгое.
И на этом основании можно попытаться составить критерий, по которому выделять людей, которые интересуются содержанием своей ленты. Такие люди проявляют черты настоящего человека. Человека, который, как минимум, осуществляет содержательный односторонний коммуникативный акт. В наше время это уже не так мало.
Сразу мне в голову пришли два критерия:
- Средний словарь друзей человека за N последних постов.
- Процентное количество постов без текстов у друзей проверяемого человека.
И как в итоге я это проверял?
Я выбрал 50 случайных своих друзей и 50 случайных подписчиков, которые отвечали некоторым критериям, которые бы отрезали совсем очевидных фейков, детей или людей, которые не пользуются этим всем. Типа того, что пользователь не должен быть деактивирован и у него должно быть при этом больше 50 существующих друзей.
Всех этих людей я просмотрел и обозначил, кто из них «бот», а кто нет. Естественно, большинство друзей были настоящими, а большинство подписчиков предлагали что-нибудь купить (но несколько настоящих людей там было).
Дальше у каждого из друзей проверяемого я брал первые 100 постов, если их было столько на стене. Для каждого человека считал два таких фактора:
- Средний размер словаря друзей человека за их первые 100 постов. Т.е. 50 друзей, у каждого примерно по 100 постов. Для каждого друга все слова из 100 постов сгребаются в кучу, стеммируются и считается количество уникальных слов друга. Дальше считается среднее для всех 50-и друзей. От этого значения брался корень — SQRT(Dic).
- Если у друга больше 60 из 100 постов без слов, он обозначается «потерянным». Процент «потерянных» людей в друзьях это второй фактор — Percent.
Еще один фактор проявился случайно. Это логарифм от Айди в ВК log10(ID)
На этом всем я обучил логистическую регрессию, и получил такую:
log(OR) = 9.92-1.537*log10(ID)+0.067*SQRT(Dic)-0.023*Percent
Для тестовой части выборки получился очень неплохой классификатор с AUC = 0.93. Вот такая у него ROC кривая:
ROC кривая классификатора, определяющего содержательность страницы человека
Некоторые вопросы вызывает такая значимость ID ВК для классификации содержательности личности, но кажется, увы, оно так и работает. Чем дальше ID от 1, тем больше вероятность, что это просто бот, который сделан, чтобы рекламировать микрокредиты. Без ID классификатор тоже работает, но хуже. AUC = 0.78. Это не прям хорошо, но и не прям бесполезно.
В любом случае, конечное решение по полезности персонажа за принимающим решение.
Дополнительная проверка
Я взял у одного из своих товарищей все его 5000 подписчиков, где, естестенно, рекламного шлака 95% и прогнал регрессию без дополнительного дообучения. При отсечке на 20%, результаты вышли такие TP = 78%, FP = 11%. Т.е., в целом, на произвольном человеке это тоже более ли менее работает.
Могут ли делать ботов, которые проходят этот тест?
Да, достаточно легко сгенерировать бота у которого в окружении друзей будут какие-то псевдосодержательные посты, но пока это никому не надо. Ну и тяжело с разным контентом заморачиваться, потому что если всем ботам один и тот же генерировать, это тоже легко распознать.
А нельзя ли сделать приложение, которое бы людей по ID проверяло?
Наверное можно, но мне влом делать прилу ВК. Если кто хочет, пусть сам сделает. Вроде метод описан, идея его несложна.
Не слишком ли банально?
Достаточно. Но вдруг кому пригодится как база для своих разработок. Этот метод легко можно усложнять, например, считая не просто длины словарей, а учитывая контент. Тут уже можно применить всю мощь NLP и обучать по контенту. Еще можно брать более сложные классификаторы: деревья, нейросети и т.д. Все это можно усложить, но важно, что даже простые что-то интересное дают.
Комментарии (65)
lgorSL
10.09.2018 22:51Определяю на глаз по сочетанию следующих признаков:
- аккаунт создан недавно
- это девушка (хотя, возможно, пользователям-девушкам пишут боты-парни)
- кроме фотографий для аватарки, больше фоток нет
- на стене репосты со странным временем (например, несколько репостов в одну и ту же минуту, а потом за полгода ничего). Ещё бывают репосты непрерывным потоком.
- аналогично с автаркой — обычный человек не будет менять 4 аватарки за минуту и потом их вообще не обновлять.
- Весь "авторский контент" — нескольо фоток, которые заодно есть на аватарке. Всё остальное — какие-то рандомные репосты.
- в друзьях дофига каких-то странных людей или друзей очень мало.
Если бы я писал бота, я бы так явно не палился, но, по-видимому, с ботами не особенно борются и ботоводы делают как можно проще.
Welran
11.09.2018 07:17+1Непонятно на что рассчитывают авторы этих ботов. Мои старые комментарии в давно заброшенных темах по доте2 регулярно лайкают боты девушки с 5-6 репостами сделанными в один день неделю назад. В чем прикол я так и не понял. Они рассчитывают что я закричу о девушка лайкнула меня и брошусь с ней знакомиться и потом как то разведут меня? Неужели это вообще возможно?
Darth_Malok
11.09.2018 07:35+9Вы как минимум перейдёте на страницу к «девушке», а там реклама казино, бинарных опционов, кэшбэков, аукционов игровых вещей, интимных услуг, да в общем-то не важно чего с реферальной ссылкой. Есть шансы, что заинтересуетесь и кликните. Не кликните вы, кликнет кто-нить другой. Главное, чтобы рекламу увидело как можно больше людей.
Welran
11.09.2018 08:28Да нет, там ничего такого не бывает. Типа «правильные» репосты со всяких пабликов типа мдк или для девиц типа я такая особенная. Хотя может это они так паблики рекламируют, но в тоже время зачем мне паблики для девушек.
roscomtheend
11.09.2018 11:20Старые темы в той же группе Мегафона (с обсуждением проблем со связью) 5летней давности. Лайкают «девушки» с рекламой то ли досуга, то ли вирусов. Просто в спам отправляю.
Ckpyt
11.09.2018 08:01+1Реальный человек: девушка, добавлена ОДНА аватарка десять лет назад и больше НИКАКИХ фото. Время от времени делает репосты из рзных сообществ, начиная с КатаклизмДДА кончая «Здоровая и вкусная еда». Не бот. Во вконтатнике просто потому что это использовалось как замена скайпу.
sergarcada
11.09.2018 08:57У меня такой же аккаунт в ФБ, только без репостов. Создавался, чтобы что-то читать. Или писать людям, которых знаю в реале. А не для того, чтобы заводить новые знакомства.
В статье же говорится про случай, когда к вам кто-то стучится и просит добавить в друзья.
roscomtheend
11.09.2018 11:26-1Аватарка 3 раза за 2 минуты — легко, если пытаться выбрать отображаемый кусок с фото. И много лет не менял, вообще за все годы было только две аватарки — давно сменил свою фотку в маске на изображение своего внутреннего мира, по нему меня проще узнать. Да и друзей не много и ещё кого считать странными личностями… Впрочем, если меня посчитает ботом какая-нибудь рекламная сеть, то только плюс.
Bellicus
11.09.2018 12:32Есть у меня такие «боты» в друзьях, по ту сторону которых сидят вполне обычные люди.
Кто-то из них просто не парится о содержимом страницы, так как не в этом их цель. Кто-то со временем вычистил страницу, оставив пару постов и одно фото. Есть даже одна, которое на 100% попадает под ваше описание, что не мешает мне, с ней, периодически встречаться и общаться ИРЛ.
Да что далеко ходить, я лично, на собственной странице был 5 лет назад. Все пребывание в вконтакте ограничивается вкладкой музыки и диалогов.
Puskoi
11.09.2018 13:32Блин, да я получается бот в вк?))
1- здесь проверку прохожу, аккаунт больки-меньки древний(больше 5 лет)
2- Здесь тоже, подписан парнем
3- аватарки сначала были, а потом поудалял все, ибо вырос, и считаю что они уже не уместны. и есть 1 фото.
4- на стене репосты с кучковатым временем. Так как я не занимаюсь забивкой стены, а добавляю только реально стоящее, по моему мнению, то репосты появляются редко(до десятка в год)+ регулярная чистка от старых репостов, ну здесь ситуация как с аватарками.
5- профиль уже вообще без аватарки оставил. Руководствуюсь принципом «Кому нужно — тот знает как я выгляжу, а кому не нужно — тому и не нужно знать» Да и раньше лицом не светил, если и были мои настоящие фото, то только со спины.
6- Рандомных репостов хватает, темы в разнобой идут. Осталось немного с юности(прЕколы, которые я ещё считаю допустимыми на своей странице), немного интересных видео-научпопов, другое время оружие смотрел, последнее это только музыка. Хотя опять же провожу иногда чистки, и неактуальное удаляется, а новое при этом добавляется не так часто, вот и получается эффект мертвой страницы
7- и тут выстрел в 10-ку, друзей осталось 13. В лучшие времена было ~60, но после окончания образовательных учреждений почти всех стер, остались только самые с которыми ещё кое что.
Но это всё уже не важно, т.к. забросил все соц.сети. Остались только пару месенджеров для рабочих моментов.magisterbes Автор
11.09.2018 13:34Так поэтому я и не назвал это все методом поиска ботов, потому что есть куча людей с достаточно мизерной социальной жизнью внутри соцсети. Это все ищет тех, кто хочет общаться там и общается. =)
Puskoi
11.09.2018 21:44Пара вопросов к самому посту:
1 — Применяете ли сами этот скрипт\программу\метод, или как оно правильно называется?
2 — Если да, то со сколькими интересными людьми уже общались?magisterbes Автор
11.09.2018 22:49Я прошарил собственных подписчиков, коих тыщи 4 т., подписчиков друга, коих 5 т. и стал иметь в виду тещ товарищей, которые показались мне интересными.
mad_celt
12.09.2018 13:31Да вы прям мой основной аккаунт описали.
Создан три года назад, я девушка.
Фотографий нет вообще.
Репосты правда не люблю делать, поэтому они просто очень редко.
Авторский контент — только фотки на аватарке (и из около 20 только две реальные фотки) и немножко постов.
Друзей очень мало, и все странные =)rt001
12.09.2018 15:37Профиль создан недавно = месяц-два назад
Но главное условие — Вы не стучитесь к нему в друзья )))
И еще одно важное отличие — у ботов их скромный набор фоток часто добавлен в одну и ту же минуту и обычно в день создания профиля. У живого человека редко выполняется такое условие.
Alex_ME
10.09.2018 23:08Но унылые личности свою ленту особо не читают, а ботам это вообще не надо. Тем более это не надо массовым собирателям подписчиков и звездам.
Хм, у меня вообще лента настроена так, что ее нет, и никакие бесчисленные репосты голых баб, фоточки в осенней листве или что там еще я не вижу. Видимо, я бот.
Closius
10.09.2018 23:35-1Я думал люди на хабре уже давно не сидят в вк…
zerg59
11.09.2018 06:39-1В силу разных причин часть круга общения находится в вк. Общение все в паре чатиков. Стена и список друзей вполне ботообразные ;-).
sergarcada
11.09.2018 09:04+3О, да. А в одноклассниках только пенсионеры. А ФБ только для регистрации в играх.
Как примитивно…
Acuna
11.09.2018 09:57Есть музыка, которой на Яндекс.Музыке даже маленькой толики нет (P. S. Не «репчег»). Про зарубежные ресурсы и вовсе молчу.
0o0
11.09.2018 00:55+1Какая оригинальная почти скрытая реклама клапанов сливных бачков, но нет.
ps: конец_сарказму
kloppspb
11.09.2018 01:38Если вам в друзья стучится кто-то, а вы с первого взгляда не можете понять это вообще нормальный человек или хрен знает кто
… я задам ему один простой вопрос: «с какой целью?». И, ЧСХ, 100% после этого исчезают. Потому что люди, которым действительно интересно о чём-то пообщаться, сразу сообщают зачем и почему.
Впрочем, есть и второй критерий: тупо глянуть в его ленту. Если там нет общих интересов — давай, до свидания.
Tantacula
11.09.2018 01:59Этим летом писал по этой же теме статью, только признаков больше рассматривал, так как по одному отличить живого человека от бота сложно (разве что вы не преследуете цель подписаться на интересных личностей и оставить за бортом унылые бессодержательные аккаунты).
magisterbes Автор
11.09.2018 10:06Ну… Тут я подумал, что окружение важнее, чем собственно наполненность страницы человека. С самой страницы можно факторов набрать, но и бота под это подстроить легко. А вот перелопатить все окружение бота это более энергозатратно.
Bolotnikoff
11.09.2018 07:01+8Преклоняюсь перед талантом автора рекламировать сливные бачки. дальше не читал
holy_desman
12.09.2018 20:29+1Сеошник уренгойского сайта завтра отчитываться пойдёт. Рост органического трафика 10 млн процентов. Я тоже кликнул, кстати.
anti4ek
11.09.2018 08:43Такой метод способен отсечь большинство ботов и всех адекватных людей.
magisterbes Автор
11.09.2018 10:08Адекватность реально существующих людей это понятие субъективное. По-моим представлениям, адекватных не отсекает. А так-то, конечно, самые адекватные вообще в соцсетях не сидят.
anti4ek
11.09.2018 13:52По моим наблюдениям, адекватные используют соцсети как способ регистрации на ресурсах и контакта с различными людьми (с которыми этот способ контакта предпочтительнее по разным причинам).
Соответственно, в профиле и ленте творится непонятная фигня, весьма схожая с профилями ботов.magisterbes Автор
11.09.2018 13:57Безусловно. Но у всех разный субъективный опыт и разные представления об адекватности.
p_fox
11.09.2018 08:51+2"у него должно быть при этом больше 50 существующих друзей..."
У нормального человека не может быть такого количества друзей.Wolframium13
11.09.2018 09:15+1Согласен, у меня вместе с коллегами столько в Вк нет, при этом я активный пользователь Вк.
xakep2011
11.09.2018 22:56Давно пора привыкнуть, что слово «друзья» в английском и русском имеют разное значение и список друзей в соц. сетях по своей роли и смыслу скорее ближе к телефонной книге.
Areso
11.09.2018 10:16+1А я вообще страничку свою перевел в приватный режим, в т.ч. и от друзей. Ибо какая-то мутная фигня идёт, лучше бы ее вообще выпилить, но музыку жалко)
Eugene_D
11.09.2018 12:22Лайфхак — плейлист музыки ВК можно вытащить, а потом конвертировать в плейлист Deezer, Youtube, Soundcloud, Spotify и проч проч проч
webxaser
12.09.2018 02:15плейлист музыки ВК можно вытащить
Не подскажите как, если треков там >10К? По одному скачивать — горячка всё-таки.magisterbes Автор
12.09.2018 08:02Написать скрипт в селениуме, который бы шел по странице и все качал с нее?
Myxer
11.09.2018 13:34По ID ИМХО самый важный критерий. Ведь ID выдаются в хронологическом порядке. Адекватные регистрации были до 200млн. Потом еще 100 млн люди создавали твинков и страдали херней. После 400млн поток реальных новорегов превратился в тончайший ручеёк, вероятность наткнуться на который весьма мала.
Конечно изредка ботоводами/рекламщиками искпользуют ся относительно старые акки (ID 300-400kk) или взломанные, но это опять же редкость и выявляется сложно даже по другим критериям.
rt001
11.09.2018 14:49Если вам в друзья стучится кто-то, а вы с первого взгляда не можете понять это вообще нормальный человек или хрен знает кто, этот метод может дать немного полезной информации о пользователе.
Не знаю, возможно я не встречал качественных ботов, но чаще всего у новоиспеченных ботов, которые стучатся в друзья
1. Видно в ленте, что за последние несколько дней/часов они подружились с десятком людей
2. Все имеющиеся фотографии добавлены в одину и ту же минуту или кратчайшие сроки.
3. Ничего не пишут первыми, просто вдруг им захотелось с тобой подружиться… с чего это вдруг? (во всяком случае предпочитаю сначала пообщаться, а потом уже стучаться к кому-то в друзья, если, конечно, я не был заранее знаком с этим человеком)
4. Ряд других косвенных признаков
iListo
11.09.2018 18:29Я почистил стену ВК, скрыл 30 близких друзей и иногда читаю ленты пабликов. (Спорт, IT)…
Я попаду в раздел «бот», это и хорошо =)
bindlock
Есть ещё один возможный критерий — процент совпадения города проверяемого пользователя и городов его друзей. Обычно, я обращаю внимание на тех, у кого больше хотя бы 60%. Ботам всё равно кого добавлять.
Darth_Biomech
Реальные люди тоже как-то не ограничиваются друзьями из своего города.
ozonar
Кроме этого, люди иногда переезжают жить в другой город
zoonman
А иногда и в страну.
Ckpyt
Не совсем так. Я родом из маленького города, переехал в большой а теперь и вовсе сменил страну. Надо ли говорить, что все друзья остались в РФ и большая часть из них до сих пор живет в родном городе?
magisterbes Автор
Значит просто можно проверять на соответствие «плотности городов», и бот будет достаточно разреженным. Если это не Москва, естественно.
DaneSoul
Некоторые подбирают себе круг общения по близости интересов, а не по географической. Если интересы не банальное «бухнуть на природе», то вполне нормально иметь круг общения со всего мира, при этом большую часть из этого круга не видеть в жизни ни разу.
magisterbes Автор
Классификатор не обязан быть идеальным. Таких людей, видимо, придется искать отдельно.
x67
Лучше смотреть на характер распределения. И возраста и города — у людей он будет ближе к нормальному. Также можно использовать критерии совпадения групп и сообществ (исключая самые крупные), музыки и тп. Но это все будут слабые модели, которые в конечном итоге могут послужить основой для сильной модели, как в примере автора.
Тут вообще очень много данных и как следствие — простор для творчества. Хорошо, наверное, аналитикам и дата саентистам ВК с этим работать)