Офтоп Ilya Chekalsky
11 405

Как определить количество ботов в Твиттере

В последнее время пользователи русскоязычного Твиттера часто хвастаются низким количеством ботов среди своих читателей, что определяется при помощи специальных сервисов. Технический директор TJournal Илья Чекальский в своей колонке объясняет, почему подобным сервисам нельзя доверять.

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

Вот только при более внимательном рассмотрении механизмов работы подобных сервисов становится понятно, что их цифры не могут претендовать на объективность.

1. Fake Followers от SocialBakers

Если заглянуть в раздел «Методология» на этом сервисе, то можно обнаружить, что он анализирует только 2 000 фолловеров. Для большинства твиттерян этого, конечно, будет достаточно, а вот для выявления настоящих ботоводов как раз слишком мало.

Сервис Fakefollowers определяет пустые, фэйковые аккаунты по следующим критериям:

  • Аккаунт не имеет ни одного фолловера и следит менее, чем за 50 другими аккаунтами. Однако ни для кого не секрет, что сейчас даже в самых примитивных бот-сетях все "дружатся" друг с другом, а размер таких сетей в среднем — несколько тысяч аккаунтов.

  • Более 30% твитов содержат спам-фразы вроде «diet», «make money», и «work from home». Этот параметр для России неактуален, ну и лично я бы даже за две таких фразы объявлял ботом.

  • Одни и те же твиты повторяются трижды и более, даже если это разные аккаунты. Уже неплохо, но создатели ботов стараются такого не допускать — чаще всего они просто копируют твиты у других пользователей и никогда их не повторяют.

  • Более 90% твитов пользователя — ретвиты. Моя же практика показывает, что больше 50% — уже подозрительно.

  • Более 90% твитов содержат ссылки, и аккаунты фолловят в семь и более раз больше людей, чем имеют фолловеров. Опять же, наша практика показывает, что ни в одном нормальном аккаунте не бывает больше 50% ссылок. Кроме случаев, когда пользователь настроил кросспостинг из какой-либо другой сети. Зачем в таком случае ещё фолловеров проверять — остается загадкой. Особенно с учётом того, что в бот-сетях у всех ботов соотношение примерно один к одному.

  • Аккаунт пустой. Последний раз видел такие ещё и без аватарок году этак в 2010.

  • Аккаунт старше двух месяцев и не имеет своей аватарки.

Получается, данный сервис не учитывает даже параметр listed и использует очень мягкие фильтры, которые большинство современных ботов легко проходят. Несмотря на то, что создатели честно предупреждают о точности определения примерно в 10-15%, многие продолжают представлять его данные как «объективное исследование».


2. Status People Fake Followers Check

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

3. Twitteraudit (Сервис)

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

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

Невозможность создания объективных алгоритмов по определению ботов обусловлена ограничениями Твиттера. В отличие от, например, Instagram или ВКонтакте, здесь невозможно получить полные данные обо всех твитах пользователя. Как и нельзя оперативно получить информацию о фолловерах (и тем более их постах). Администрация Твиттера контролирует не только глубину просматриваемых данных, но и устанавливает жесткие лимиты на частоту запросов к их API.

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

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

  • Значение параметра listed;
  • Количество ссылок среди последних записей;
  • Относительное количество упоминаний других пользователей и ретвитов;
  • Относительное количество твитов с упоминаниями одновременно более трёх аккаунтов;
  • Относительное количество твитов с хэштегами, особенно популярными и вышедшими в тренды;
  • Определять, что написанные твиты уже были написаны кем-то другим слово в слово;
  • Определять изолированность читаемых и читающих аккаунт пользователей от других групп — очень редко группа человек читает только друг друга, при этом постоянно друг с другом переписывается и отправляют друг другу много ссылок;
  • Анализировать уникальность аватарки с помощью сервисов вроде tinyeye — боты зачастую ставят себе на аватарки абстрактные фотографии или фото известных людей;
И множество других параметров, получение которых из API Твиттера для популярных аккаунтов на сегодняшний день сильно затруднено.

Надеюсь, я когда-нибудь напишу такой сервис,
Илья Чекальский,
специально для TJournal

#Колонка #Twitter #боты

{ "author_name": "Ilya Chekalsky", "author_type": "editor", "tags": ["\u043a\u043e\u043b\u043e\u043d\u043a\u0430","\u0431\u043e\u0442\u044b","twitter"], "comments": 13, "likes": 20, "favorites": 0, "is_advertisement": false, "subsite_label": "flood", "id": 47332, "is_wide": true, "is_ugc": false, "date": "Fri, 12 Apr 2013 18:08:55 +0400" }
Комментарии

Управляющий месяц

4

Проверил себя: Fake followers показал в списке ботов (Fake followers list) моих друзей, тех с кем я лично знаком и активно общаюсь!!! )) Бред.

Иной дым

2

"Если человек репостит в твиттер только свои фотографии из инстаграма и ни с кем не общается, то он,в принципе, недалеко ушёл от бота."
Не путайте негативную активность с бессмысленной :-)

Про ранжирование - это понятно.

За статью спасибо.

Оранжевый хичхакер

2

@AlexWayfer Не все бот-сети настолько продуманы, что добавляют своих членов друг другу в листы, следовательно, при 10 000 фолловерах параметр listed не может быть меньше 100, например.

Если человек репостит в твиттер только свои фотографии из инстаграма и ни с кем не общается, то он,в принципе, недалеко ушёл от бота.

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

Я не думаю, что за нарушение каждого пункта стоит объявлять ботом, лучше за каждый пункт добавлять несколько очков и только если сумма всех баллов превысит определенный порог, тогда вешать позорный ярлык :-)

Офтоп
дискуссии в сообществе доступны только владельцам клубного аккаунта
С клубным аккаунтом вы сможете
создавать записи и вести дискуссии в закрытых сообществах
наслаждаться нашим сайтом без рекламы
помочь проекту и почувствовать себя лучше
Купить за 75₽

Прямой эфир

[ { "id": 1, "label": "100%×150_Branding_desktop", "provider": "adfox", "adaptive": [ "desktop" ], "adfox_method": "createAdaptive", "auto_reload": true, "adfox": { "ownerId": 228129, "params": { "pp": "g", "ps": "cndo", "p2": "ezfl" } } }, { "id": 2, "label": "1200х400", "provider": "adfox", "adaptive": [ "phone" ], "auto_reload": true, "adfox": { "ownerId": 228129, "params": { "pp": "g", "ps": "cndo", "p2": "ezfn" } } }, { "id": 3, "label": "240х200 _ТГБ_desktop", "provider": "adfox", "adaptive": [ "desktop" ], "adfox": { "ownerId": 228129, "params": { "pp": "i", "ps": "cndo", "p2": "fizc" } } }, { "id": 4, "label": "240х200_mobile", "provider": "adfox", "adaptive": [ "phone" ], "adfox": { "ownerId": 228129, "params": { "pp": "i", "ps": "cndo", "p2": "flbq" } } }, { "id": 5, "label": "300x500_desktop", "provider": "adfox", "adaptive": [ "desktop" ], "adfox": { "ownerId": 228129, "params": { "pp": "g", "ps": "cndo", "p2": "ezfk" } } }, { "id": 6, "disable": true, "label": "1180х250_Interpool_баннер над комментариями_Desktop", "provider": "adfox", "adaptive": [ "desktop" ], "adfox": { "ownerId": 228129, "params": { "pp": "h", "ps": "clmf", "p2": "ffyh" } } }, { "id": 7, "label": "Article Footer 100%_desktop_mobile", "provider": "adfox", "adaptive": [ "desktop", "tablet", "phone" ], "adfox": { "ownerId": 228129, "params": { "p1": "byswn", "p2": "fjxb" } } }, { "id": 8, "label": "Fullscreen Desktop", "provider": "adfox", "adaptive": [ "desktop", "tablet" ], "auto_reload": true, "adfox": { "ownerId": 228129, "params": { "pp": "g", "ps": "cndo", "p2": "fjoh" } } }, { "id": 9, "label": "Fullscreen Mobile", "provider": "adfox", "adaptive": [ "phone" ], "auto_reload": true, "adfox": { "ownerId": 228129, "params": { "pp": "g", "ps": "cndo", "p2": "fjog" } } }, { "id": 10, "disable": true, "label": "Native Partner Desktop", "provider": "adfox", "adaptive": [ "desktop", "tablet" ], "adfox": { "ownerId": 228129, "params": { "pp": "g", "ps": "clmf", "p2": "fmyb" } } }, { "id": 11, "disable": true, "label": "Native Partner Mobile", "provider": "adfox", "adaptive": [ "phone" ], "adfox": { "ownerId": 228129, "params": { "pp": "g", "ps": "clmf", "p2": "fmyc" } } }, { "id": 12, "label": "Кнопка в шапке", "provider": "adfox", "adaptive": [ "desktop", "tablet" ], "auto_reload": true, "adfox": { "ownerId": 228129, "params": { "pp": "g", "ps": "cndo", "p2": "fdhx" } } }, { "id": 13, "label": "DM InPage Video PartnerCode", "provider": "adfox", "adaptive": [ "desktop", "tablet", "phone" ], "adfox_method": "createAdaptive", "adfox": { "ownerId": 228129, "params": { "pp": "h", "ps": "cndo", "p2": "flvn" } } }, { "id": 14, "label": "Yandex context video banner", "provider": "yandex", "yandex": { "block_id": "VI-223677-0", "render_to": "inpage_VI-223677-0-130073047", "adfox_url": "//ads.adfox.ru/228129/getCode?pp=h&ps=cndo&p2=fpjw&puid1=&puid2=&puid3=&puid4=&puid8=&puid9=&puid10=&puid21=&puid22=&puid31=&puid32=&puid33=&fmt=1&dl={REFERER}&pr=" } }, { "id": 15, "label": "Плашка на главной", "provider": "adfox", "adaptive": [ "desktop", "tablet", "phone" ], "adfox": { "ownerId": 228129, "params": { "p1": "byudv", "p2": "ftjf" } } }, { "id": 16, "label": "Кнопка в шапке мобайл", "provider": "adfox", "adaptive": [ "tablet", "phone" ], "adfox": { "ownerId": 228129, "params": { "p1": "ccydt", "p2": "ftwx" } } }, { "id": 17, "label": "Stratum Desktop", "provider": "adfox", "adaptive": [ "desktop" ], "auto_reload": true, "adfox": { "ownerId": 228129, "params": { "pp": "g", "ps": "cndo", "p2": "fzvb" } } }, { "id": 18, "label": "Stratum Mobile", "provider": "adfox", "adaptive": [ "tablet", "phone" ], "auto_reload": true, "adfox": { "ownerId": 228129, "params": { "pp": "g", "ps": "cndo", "p2": "fzvc" } } } ]
Действительно важные push-уведомления
Подписаться на push-уведомления