Il n'y aura pas de réseaux neuronaux et de formules complexes sous le chat, seuls les signes par lesquels j'ai attrapé des robots sur mon genou seront décrits, une comparaison du résultat du filtrage de ces signes avec le filtrage par un service annoncé et un lien vers une page avec implémentation js, par laquelle n'importe qui peut tester le filtre par lui-même propre liste ou tester les derniers qui ont rejoint leur communauté.
Image pour attirer l'attention:

Contexte
Récemment, j'ai dû collecter des statistiques sur le nombre hebdomadaire de nouveaux abonnés dans les communautés de mariage commerciales. Pour cette tâche, un script a été écrit qui a rassemblé de nouveaux participants dans les communautés nécessaires et produit des chiffres brillants, à première vue. C'est juste qu'ils ont cessé de paraître roses après avoir vérifié les comptes aléatoires de la liste assemblée: certains ont été interdits par le réseau social le jour de la collecte, certains se sont révélés être des bots ouverts ou des offres (à l'avenir, j'appellerai les deux bots).
Pour obtenir des chiffres réels, il a fallu connaître la part approximative des bots dans les abonnés collectés. J'ai essayé de nettoyer le public des robots par un chasseur de cibles (le premier service qui a attiré mon attention qui vous permet de filtrer les robots gratuitement), mais la qualité du nettoyage s'est avérée être telle (parmi les autres, il y avait de faux comptes, et beaucoup). J'ai décidé de ne pas utiliser des services comme «payer, puis nous vous montrerons ce que nous pouvons» - l'argent est dommage, et par conséquent la même boîte noire et le résultat douteux. J'ai décidé d'étudier les pages des bots et d'écrire mon propre filtre.
Qui filtrons-nous
Pour commencer, je vais préciser, mon objectif était de filtrer les comptes que je considérais comme trash en termes d'invitation à des communautés de mariage commerciales. Cette définition inclut à la fois les bots qui entrent sur la machine et propose que quelqu'un en fasse 100 500 chacun et les vend ensuite comme soi-disant «abonnés en direct». De toute évidence, les offres que l'étudiant rattrape manuellement n'achèteront rien de la même manière que les bots qui sont rattrapés par le script. Ce qu'ils peuvent bien faire, c'est tirer les statistiques des publicités avec un paiement de 1000 impressions. Cela peut également attraper des gens bien réels, mais à quoi servent-ils dans la communauté s'ils ne voient pas son message (ainsi que cela n'a aucun sens de leur montrer des publicités communautaires)?
Comment filtrer
L'idée la plus simple m'a semblé évaluer chaque compte sur une échelle de 0 à 100, selon laquelle les robots explicites ont marqué 100 points, et les gens ordinaires restent dans la région de 0 (idéalement. En pratique, certaines personnes réelles peuvent marquer 50 points). La technique n'est pas parfaite (comme tout dans le bouclier contre la guerre à l'épée), mais comme la pratique l'a montré, les créateurs de bots ne se soucient pas vraiment de créer leurs contrefaçons (un bot parfait coûtera plus cher que le client attiré par la publicité), donc pour le moment cela fonctionne. Pour remplir l'échelle, plusieurs signes ont été sélectionnés, chacun pouvant ajouter ou diminuer un certain nombre de points, et les comptes qui marquent un certain nombre de points (70-100 dans mon cas) sont considérés comme de faible qualité et filtrés. Je n'écrirai pas combien de points sont attribués lors de la recherche d'un attribut particulier, vous pouvez les voir dans l'exemple qui se trouvera à la fin de l'article, là ils peuvent être modifiés, ainsi que le seuil, lorsqu'il est dépassé, le compte est crédité aux bots. Et maintenant, passons en revue les signes vérifiés:
Compte interdit
La première chose sur laquelle je filtre les utilisateurs. Je ne sais pas pourquoi les services quittent ces comptes (et le service "tx" mentionné ci-dessus les a quittés). Une personne vivante utilisant un réseau social retrouvera l'accès. Il est plus facile pour un spammeur ou un pilote de bot avec mille comptes de créer un nouveau compte après l'interdiction. Et il est toujours impossible de déformer les publicités sur les utilisateurs en direct interdits.
Lien de page non modifié
Vkontakte permet aux utilisateurs d'entrer un lien unique vers leur page au lieu d'un identifiant sans nom 12345678. Ce n'est pas un signe très significatif, car toutes les personnes vivantes ne le changent pas et les contacts volés peuvent avoir un tel lien, mais pour les robots nouvellement enregistrés, ce lien reste inchangé.
Pas d'avatar
En 2018, cela n'est plus pertinent pour les bots. Au contraire, l'absence d'avatar est typique des faux de personnes complètement paresseuses, mais je pense que ce public n'est pas de très haute qualité. En tout cas, ce n'est pas non plus un signe très significatif.
Il existe des liens vers d'autres réseaux sociaux
C'est un bon signe d'une personne vivante. Je n'ai pas trouvé de moyen de créer un lien vers Facebook / Instagram via l'API. Peut-être qu'il regardait mal, ou peut-être pas. Mais mettre un lien pour le bot est plus difficile: vous devez au moins créer ce compte sur le réseau social et le lier à l'interface VKontakte. Par conséquent, la présence de tels liens dans le profil réinitialise quelques points sur le compteur de l'identifiant du bot.
N'a pas été en ligne pendant plus de 1 à 3 mois
À un siècle où tout le monde a un client de médias sociaux installé sur son téléphone, une telle faible activité semble suspecte. Même si ce n'est pas un bot oublié par le propriétaire, il est beaucoup plus difficile de travailler avec une telle personne à travers la publicité. Lorsque vous avez besoin d'un public chaud, qui sera trop tard pour offrir le service dans un mois (il trouvera déjà un autre fournisseur), et cette personne est hors ligne et vous ne pouvez pas le joindre. Je répète ce qui a été dit au début de l'article - j'ai étudié le public sur des sujets de mariage, car son contact chaud est pertinent. Si vous décidez de promouvoir un public de divertissement ou un magasin basé sur les loisirs des gens, ce symptôme peut être moins important pour vous.
Abonné à 500-1500 communautés et plus
Un grand et significatif signe de comptes indésirables. L'article principal de gagner sur les bots est de rejoindre différents groupes (enfin, oui, les likes et les reposts). Et il est peu probable que les propriétaires du botofarm puissent le cacher. Pour la même raison, au fait, vous pouvez essayer de filtrer ceux qui cachent leurs groupes aux regards indiscrets (les paranoïaques seront également filtrés dans ce cas, mais il y en a quelques-uns parmi le public de VKontakte). Même si vous filtrez une personne vivante sur cette base, il ne se passera rien de mal, il est peu probable qu'elle voie l'actualité de votre communauté dans son flux, étant abonnée à 1000 autres.
Membre de la communauté de promotion mutuelle
Ceux-ci ne devraient être laissés que si votre public cible est des écoliers avec un manque d'attention, un manque d'intérêt et beaucoup de temps libre. Personnellement, je considère un tel public non seulement comme des ordures, mais comme un signal lumineux qu'il n'est pas réel.
Se compose de nombreuses communautés sur différentes villes
Franchement, je n'ai pas trouvé une seule raison pour laquelle une personne ordinaire pourrait être intéressée à suivre les nouvelles de la réparation de la machine à laver de Kazan, la publicité extérieure d'Omsk, les groupes de design d'intérieur Kaluga et dix autres communautés commerciales dans différentes villes en même temps. Surtout compte tenu de la qualité du contenu dans 95% de ces communautés. Mais le bot, gagnant en rejoignant la communauté, est très rentable.
Membre d'un groupe sans avatar
Je ne considère pas ce signe significatif, cependant, lors des tests, un article a été publié sur la détection des bots sur cette base. En général, ces communautés peuvent être utilisées comme terrain de formation technique (par des programmeurs pour accéder à la clé de communauté), elles peuvent simplement être très jeunes. Mais en discutant de ce signe avec leurs amis, ils m'ont dit qu'ils ne rejoindraient pas de telles communautés. En général, ce signe est resté pour moi le plus ambigu, plein de secrets et de mystères (ainsi que l'existence même de communautés sans avatars).
Personne ne regarde les messages des utilisateurs
Ce symptôme est beaucoup plus simple. Habituellement, si l'utilisateur a un tas d'amis, mais en même temps, il n'a presque aucune vue sur le mur, ses amis sont une imitation. Et pourquoi avez-vous besoin d'une imitation d'amis, cependant, pour donner une réalité à un faux compte?
Marqué sur la photo des autres utilisateurs
Pour le moment, les bots n'ont pas l'habitude de se taguer sur la photo, mais les vraies personnes le notent vraiment, d'autant plus que le réseau social propose de le faire de manière très intrusive (à tel point qu'il m'offre de se marquer sur ma propre photo de profil). La présence d'une telle marque indique généralement un compte détourné ou un utilisateur en direct.
Vérification du filtre
Pour vérifier l'efficacité de la recherche de bots par ces paramètres, un
petit service a été écrit qui vous permet de vérifier la liste de contacts téléchargée. De plus, pour que l'étude soit d'une valeur pratique pour les gens, la possibilité de vérifier votre communauté a été ajoutée au service - si vous modérez une communauté, vous pouvez télécharger automatiquement les derniers membres et les vérifier. Cela est utile si vous avez embauché une personne pour faire de la publicité et qu'il vous donne des statistiques sur la croissance des abonnés, mais en même temps, vous ne voyez pas une réelle augmentation des commandes / commentaires / likes.
L'algorithme utilise la méthode wall.get pour vérifier les enregistrements du mur, il a une limite de 1000 appels par jour, donc lorsque vous utilisez ce script, vous ne pouvez pas vérifier plus de 1000 personnes. Cependant, cela suffit pour évaluer la qualité du public. De plus, le script vous permet de définir vos propres valeurs de poids pour chaque attribut et le seuil de détermination du bot, donc si vous n'êtes pas d'accord que tel ou tel paramètre définit les bots, vous pouvez le mettre à 0, ou vice versa, augmenter sa valeur.
Test et comparaison des résultats
Sur la base des résultats de l'audit, un chasseur de cibles a filtré 877 bots sur un auditoire de 2935 personnes. Le filtrage par l'algorithme décrit a éliminé 1984 personnes. Si vous resserrez le filtre et identifiez uniquement les robots les plus malveillants (abonnés à 500-1000 communautés, dont une partie importante sont des communautés de différentes villes, soit interdites soit constituées de groupes de promotion), le nombre de détectés diminuera à 1215 personnes, ce qui, cependant, dépasse également le résultat le service ci-dessus. Cependant, j'ai regardé environ deux douzaines de pages d'utilisateurs que le chasseur cible considérait comme des utilisateurs normaux, et mon algorithme en tant que bots et tous ces utilisateurs me semblait douteux, de nombreuses pages contenaient des référentiels de services douteux (casinos, rencontres pour adultes, participation à des compétitions, prévisions sportives), ou faible nombre de vues d'enregistrement. Je suis également tombé sur des comptes similaires à ceux commerciaux qui faisaient la promotion de certains services, mais je suis personnellement prêt à les négliger, d'autant plus que, outre les communautés dont j'ai besoin, ils s'abonnent à des dizaines d'autres en peu de temps et s'ils sont intéressés par le sujet dont j'ai besoin. Bien qu'un filtre plus souple puisse laisser de tels comptes. Et bien sûr, je comprends que 20 pages ne suffisent pas pour juger de la qualité de tous les comptes de 1984.
En tout cas, j'ai obtenu des résultats satisfaisants, bien que s'il y avait du temps libre, il serait possible d'élargir considérablement les panneaux de recherche de bots. Mais celles décrites ci-dessus sont tout à fait suffisantes (pour le moment) pour obtenir un résultat qualitatif. Et encore une fois un
lien vers l'implémentation de l'algorithme , afin de ne pas sauter l'article.