Выявление содержательных профилей в VK

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



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

    Основная идея


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

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

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

    Сразу мне в голову пришли два критерия:

    • Средний словарь друзей человека за N последних постов.
    • Процентное количество постов без текстов у друзей проверяемого человека.
    И на основе чего-то такого уже можно пытаться строить какую-то модель, которая бы отличала интересных людей от не очень интересных.

    И как в итоге я это проверял?


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

    Всех этих людей я просмотрел и обозначил, кто из них «бот», а кто нет. Естественно, большинство друзей были настоящими, а большинство подписчиков предлагали что-нибудь купить (но несколько настоящих людей там было).

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

    1. Средний размер словаря друзей человека за их первые 100 постов. Т.е. 50 друзей, у каждого примерно по 100 постов. Для каждого друга все слова из 100 постов сгребаются в кучу, стеммируются и считается количество уникальных слов друга. Дальше считается среднее для всех 50-и друзей. От этого значения брался корень — SQRT(Dic).
    2. Если у друга больше 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 и обучать по контенту. Еще можно брать более сложные классификаторы: деревья, нейросети и т.д. Все это можно усложить, но важно, что даже простые что-то интересное дают.
    Share post

    Comments 66

      +1

      Есть ещё один возможный критерий — процент совпадения города проверяемого пользователя и городов его друзей. Обычно, я обращаю внимание на тех, у кого больше хотя бы 60%. Ботам всё равно кого добавлять.

        +6
        Реальные люди тоже как-то не ограничиваются друзьями из своего города.
          +6
          Кроме этого, люди иногда переезжают жить в другой город
            0
            А иногда и в страну.
          +5
          Не совсем так. Я родом из маленького города, переехал в большой а теперь и вовсе сменил страну. Надо ли говорить, что все друзья остались в РФ и большая часть из них до сих пор живет в родном городе?
            0
            Значит просто можно проверять на соответствие «плотности городов», и бот будет достаточно разреженным. Если это не Москва, естественно.
              0
              Некоторые подбирают себе круг общения по близости интересов, а не по географической. Если интересы не банальное «бухнуть на природе», то вполне нормально иметь круг общения со всего мира, при этом большую часть из этого круга не видеть в жизни ни разу.
                0
                Классификатор не обязан быть идеальным. Таких людей, видимо, придется искать отдельно.
            0

            Лучше смотреть на характер распределения. И возраста и города — у людей он будет ближе к нормальному. Также можно использовать критерии совпадения групп и сообществ (исключая самые крупные), музыки и тп. Но это все будут слабые модели, которые в конечном итоге могут послужить основой для сильной модели, как в примере автора.
            Тут вообще очень много данных и как следствие — простор для творчества. Хорошо, наверное, аналитикам и дата саентистам ВК с этим работать)

            +9

            Определяю на глаз по сочетанию следующих признаков:


            • аккаунт создан недавно
            • это девушка (хотя, возможно, пользователям-девушкам пишут боты-парни)
            • кроме фотографий для аватарки, больше фоток нет
            • на стене репосты со странным временем (например, несколько репостов в одну и ту же минуту, а потом за полгода ничего). Ещё бывают репосты непрерывным потоком.
            • аналогично с автаркой — обычный человек не будет менять 4 аватарки за минуту и потом их вообще не обновлять.
            • Весь "авторский контент" — нескольо фоток, которые заодно есть на аватарке. Всё остальное — какие-то рандомные репосты.
            • в друзьях дофига каких-то странных людей или друзей очень мало.

            Если бы я писал бота, я бы так явно не палился, но, по-видимому, с ботами не особенно борются и ботоводы делают как можно проще.

              +1
              Непонятно на что рассчитывают авторы этих ботов. Мои старые комментарии в давно заброшенных темах по доте2 регулярно лайкают боты девушки с 5-6 репостами сделанными в один день неделю назад. В чем прикол я так и не понял. Они рассчитывают что я закричу о девушка лайкнула меня и брошусь с ней знакомиться и потом как то разведут меня? Неужели это вообще возможно?
                +9
                Вы как минимум перейдёте на страницу к «девушке», а там реклама казино, бинарных опционов, кэшбэков, аукционов игровых вещей, интимных услуг, да в общем-то не важно чего с реферальной ссылкой. Есть шансы, что заинтересуетесь и кликните. Не кликните вы, кликнет кто-нить другой. Главное, чтобы рекламу увидело как можно больше людей.
                  0
                  Да нет, там ничего такого не бывает. Типа «правильные» репосты со всяких пабликов типа мдк или для девиц типа я такая особенная. Хотя может это они так паблики рекламируют, но в тоже время зачем мне паблики для девушек.
                  0
                  Старые темы в той же группе Мегафона (с обсуждением проблем со связью) 5летней давности. Лайкают «девушки» с рекламой то ли досуга, то ли вирусов. Просто в спам отправляю.
                  +1
                  Реальный человек: девушка, добавлена ОДНА аватарка десять лет назад и больше НИКАКИХ фото. Время от времени делает репосты из рзных сообществ, начиная с КатаклизмДДА кончая «Здоровая и вкусная еда». Не бот. Во вконтатнике просто потому что это использовалось как замена скайпу.
                    0
                    У меня такой же аккаунт в ФБ, только без репостов. Создавался, чтобы что-то читать. Или писать людям, которых знаю в реале. А не для того, чтобы заводить новые знакомства.
                    В статье же говорится про случай, когда к вам кто-то стучится и просит добавить в друзья.
                      0

                      Ну так и смысла "дружить" с таким аккаутом нет, все равно что с ботом

                      0
                      «десять лет назад» — как раз и есть показатель, что скорее всего не бот.
                      –1
                      Аватарка 3 раза за 2 минуты — легко, если пытаться выбрать отображаемый кусок с фото. И много лет не менял, вообще за все годы было только две аватарки — давно сменил свою фотку в маске на изображение своего внутреннего мира, по нему меня проще узнать. Да и друзей не много и ещё кого считать странными личностями… Впрочем, если меня посчитает ботом какая-нибудь рекламная сеть, то только плюс.
                        0
                        Есть у меня такие «боты» в друзьях, по ту сторону которых сидят вполне обычные люди.
                        Кто-то из них просто не парится о содержимом страницы, так как не в этом их цель. Кто-то со временем вычистил страницу, оставив пару постов и одно фото. Есть даже одна, которое на 100% попадает под ваше описание, что не мешает мне, с ней, периодически встречаться и общаться ИРЛ.

                        Да что далеко ходить, я лично, на собственной странице был 5 лет назад. Все пребывание в вконтакте ограничивается вкладкой музыки и диалогов.
                          0
                          Блин, да я получается бот в вк?))
                          1- здесь проверку прохожу, аккаунт больки-меньки древний(больше 5 лет)
                          2- Здесь тоже, подписан парнем
                          3- аватарки сначала были, а потом поудалял все, ибо вырос, и считаю что они уже не уместны. и есть 1 фото.
                          4- на стене репосты с кучковатым временем. Так как я не занимаюсь забивкой стены, а добавляю только реально стоящее, по моему мнению, то репосты появляются редко(до десятка в год)+ регулярная чистка от старых репостов, ну здесь ситуация как с аватарками.
                          5- профиль уже вообще без аватарки оставил. Руководствуюсь принципом «Кому нужно — тот знает как я выгляжу, а кому не нужно — тому и не нужно знать» Да и раньше лицом не светил, если и были мои настоящие фото, то только со спины.
                          6- Рандомных репостов хватает, темы в разнобой идут. Осталось немного с юности(прЕколы, которые я ещё считаю допустимыми на своей странице), немного интересных видео-научпопов, другое время оружие смотрел, последнее это только музыка. Хотя опять же провожу иногда чистки, и неактуальное удаляется, а новое при этом добавляется не так часто, вот и получается эффект мертвой страницы
                          7- и тут выстрел в 10-ку, друзей осталось 13. В лучшие времена было ~60, но после окончания образовательных учреждений почти всех стер, остались только самые с которыми ещё кое что.
                          Но это всё уже не важно, т.к. забросил все соц.сети. Остались только пару месенджеров для рабочих моментов.
                            0
                            Так поэтому я и не назвал это все методом поиска ботов, потому что есть куча людей с достаточно мизерной социальной жизнью внутри соцсети. Это все ищет тех, кто хочет общаться там и общается. =)
                              0
                              Пара вопросов к самому посту:
                              1 — Применяете ли сами этот скрипт\программу\метод, или как оно правильно называется?
                              2 — Если да, то со сколькими интересными людьми уже общались?
                                0
                                Я прошарил собственных подписчиков, коих тыщи 4 т., подписчиков друга, коих 5 т. и стал иметь в виду тещ товарищей, которые показались мне интересными.
                            0

                            Да вы прям мой основной аккаунт описали.
                            Создан три года назад, я девушка.
                            Фотографий нет вообще.
                            Репосты правда не люблю делать, поэтому они просто очень редко.
                            Авторский контент — только фотки на аватарке (и из около 20 только две реальные фотки) и немножко постов.
                            Друзей очень мало, и все странные =)

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

                            Хм, у меня вообще лента настроена так, что ее нет, и никакие бесчисленные репосты голых баб, фоточки в осенней листве или что там еще я не вижу. Видимо, я бот.

                              0
                              Видимо, вы не так инересны как аккаунт ВК.
                              –1
                              Я думал люди на хабре уже давно не сидят в вк…
                                –1
                                В силу разных причин часть круга общения находится в вк. Общение все в паре чатиков. Стена и список друзей вполне ботообразные ;-).
                                  +3
                                  О, да. А в одноклассниках только пенсионеры. А ФБ только для регистрации в играх.
                                  Как примитивно…
                                    0
                                    Примитивно, но в моём случае почти правда :) Одноклассники из моих знакомых есть только у мам и тёщ коллег, в ВК я практически никакой активности не веду, а ФБ — для быстрых авторизаций
                                      0
                                      Поддержу. Плюсануть прав не хватает.
                                    +1
                                    Есть музыка, которой на Яндекс.Музыке даже маленькой толики нет (P. S. Не «репчег»). Про зарубежные ресурсы и вовсе молчу.
                                    +2
                                    Какая оригинальная почти скрытая реклама клапанов сливных бачков, но нет.

                                    ps: конец_сарказму
                                      +1
                                      Если вам в друзья стучится кто-то, а вы с первого взгляда не можете понять это вообще нормальный человек или хрен знает кто

                                      … я задам ему один простой вопрос: «с какой целью?». И, ЧСХ, 100% после этого исчезают. Потому что люди, которым действительно интересно о чём-то пообщаться, сразу сообщают зачем и почему.

                                      Впрочем, есть и второй критерий: тупо глянуть в его ленту. Если там нет общих интересов — давай, до свидания.
                                        +1
                                        Этим летом писал по этой же теме статью, только признаков больше рассматривал, так как по одному отличить живого человека от бота сложно (разве что вы не преследуете цель подписаться на интересных личностей и оставить за бортом унылые бессодержательные аккаунты).
                                          0
                                          Ну… Тут я подумал, что окружение важнее, чем собственно наполненность страницы человека. С самой страницы можно факторов набрать, но и бота под это подстроить легко. А вот перелопатить все окружение бота это более энергозатратно.
                                          +8
                                          Преклоняюсь перед талантом автора рекламировать сливные бачки. дальше не читал
                                            +1
                                            Надеюсь, вы купили?
                                              +1
                                              Сеошник уренгойского сайта завтра отчитываться пойдёт. Рост органического трафика 10 млн процентов. Я тоже кликнул, кстати.
                                              0
                                              Такой метод способен отсечь большинство ботов и всех адекватных людей.
                                                0
                                                Адекватность реально существующих людей это понятие субъективное. По-моим представлениям, адекватных не отсекает. А так-то, конечно, самые адекватные вообще в соцсетях не сидят.
                                                  0
                                                  По моим наблюдениям, адекватные используют соцсети как способ регистрации на ресурсах и контакта с различными людьми (с которыми этот способ контакта предпочтительнее по разным причинам).
                                                  Соответственно, в профиле и ленте творится непонятная фигня, весьма схожая с профилями ботов.
                                                    0
                                                    Безусловно. Но у всех разный субъективный опыт и разные представления об адекватности.
                                                +2

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

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

                                                      А каким боком "друзья по-английски" к статье о русском ВК?

                                                        0
                                                        Таким, что калька «друзья» так и осталась с тех времён, когда ВК передрали интерфейс с Фейсбука. И прочно прижилась во всех остальных сервисах.
                                                    +1
                                                    А я вообще страничку свою перевел в приватный режим, в т.ч. и от друзей. Ибо какая-то мутная фигня идёт, лучше бы ее вообще выпилить, но музыку жалко)
                                                      0
                                                      Лайфхак — плейлист музыки ВК можно вытащить, а потом конвертировать в плейлист Deezer, Youtube, Soundcloud, Spotify и проч проч проч
                                                        0
                                                        Там же куча оригинального всего, чего или на ютубах нет или не пропустит…
                                                          0

                                                          Есть такое, но какую-то часть всё же вытащить возможность

                                                            0

                                                            Можно выкачать прямо файлами и залить куданибудь)

                                                            0
                                                            плейлист музыки ВК можно вытащить
                                                            Не подскажите как, если треков там >10К? По одному скачивать — горячка всё-таки.
                                                              0

                                                              Написать скрипт в селениуме, который бы шел по странице и все качал с нее?

                                                            0
                                                            Жаль вот от товарища майора в приватный режим нельзя перевести.
                                                              0
                                                              Всё что можно сделать — почистить страничку, сидеть в ридонли, не лайкать, не репостить. Скачивать медиа на винт.
                                                            0
                                                            По ID ИМХО самый важный критерий. Ведь ID выдаются в хронологическом порядке. Адекватные регистрации были до 200млн. Потом еще 100 млн люди создавали твинков и страдали херней. После 400млн поток реальных новорегов превратился в тончайший ручеёк, вероятность наткнуться на который весьма мала.
                                                            Конечно изредка ботоводами/рекламщиками искпользуют ся относительно старые акки (ID 300-400kk) или взломанные, но это опять же редкость и выявляется сложно даже по другим критериям.
                                                              0
                                                              Да. Но и без него классификатор сильно лучше подброса монетки.
                                                              0
                                                              Если вам в друзья стучится кто-то, а вы с первого взгляда не можете понять это вообще нормальный человек или хрен знает кто, этот метод может дать немного полезной информации о пользователе.

                                                              Не знаю, возможно я не встречал качественных ботов, но чаще всего у новоиспеченных ботов, которые стучатся в друзья
                                                              1. Видно в ленте, что за последние несколько дней/часов они подружились с десятком людей
                                                              2. Все имеющиеся фотографии добавлены в одину и ту же минуту или кратчайшие сроки.
                                                              3. Ничего не пишут первыми, просто вдруг им захотелось с тобой подружиться… с чего это вдруг? (во всяком случае предпочитаю сначала пообщаться, а потом уже стучаться к кому-то в друзья, если, конечно, я не был заранее знаком с этим человеком)
                                                              4. Ряд других косвенных признаков
                                                                –2
                                                                Отличная тема для анализа абитуриентов в ВУЗ после ЕГЭ)
                                                                  0
                                                                  Я почистил стену ВК, скрыл 30 близких друзей и иногда читаю ленты пабликов. (Спорт, IT)…
                                                                  Я попаду в раздел «бот», это и хорошо =)
                                                                    +2
                                                                    Стоит ещё рекламу иногда постить для убедительности.
                                                                    0
                                                                    Когда кто-то просится в друзья обязательно задаю вопрос кто и зачем?
                                                                    Боты вроде вручную отсекаются, а так затея очень здравая.

                                                                    Only users with full accounts can post comments. Log in, please.