Ma newsletter a été envahie par des robots ! J'ai décidé d'essayer une solution d'apprentissage automatique. C'était ma première expérience de ML et j'ai beaucoup appris. Vous voulez savoir comment j'ai construit un détecteur de robots et acquis des compétences en ML en cours de route ?
J'ai une newsletter gratuite qui vous encourage à lire quotidiennement.
Il y a plus de 100 abonnés et récemment, de nombreux robots se sont également inscrits.
Les robots s'inscrivent pour commercialiser leur propre produit, leurs newsletters, etc. Ils ont généralement un lien dans le champ du nom et le message qu'ils souhaitent transmettre.
Ex:
| Nom | |
|---|---|
| [email protected] | 🔶 Retrait de 32 911 dollars. Allez au retrait >>> https://forms.yandex.com/cloud/65e6228102848f1a71edd8c9?hs=0cebe66d8b7ba4d5f0159e88dd472e8b& 🔶 |
Ces inscriptions spammées ne sont pas seulement ennuyeuses, elles constituent un véritable casse-tête !
J'en avais assez de bloquer manuellement les e-mails des robots et je m'inquiétais de la façon dont ils pourraient nuire à ma réputation de messagerie.
Je sais que je dispose de nombreuses options pour filtrer les inscriptions de robots en intégrant des méthodes traditionnelles telles que CAPTCHA, Double Opt-in, des modèles Regex ou des champs Honeypot dans le formulaire.
Dans le même temps, j'avais également le sentiment que je n'essayais pas de m'adapter aux nouvelles technologies, en particulier dans le domaine de l'apprentissage automatique, et que je voulais commencer mais je ne savais pas par où commencer.
Ensuite, l'un de mes mentors, Shrijith, a suggéré pourquoi ne pas essayer de créer une solution au problème d'inscription des robots à l'aide de ML.
J'ai senti que c'était la bonne expérience par laquelle je pouvais commencer pour apprendre le ML.
Et voilà, je suis ici avec ma première expérience d’apprentissage automatique !
Imaginez ceci : vous avez créé un site Web avec un formulaire d'inscription à la newsletter. Vous voulez vous assurer que vos abonnés sont de vraies personnes et non des robots automatisés.
Ainsi, vous implémentez un système de détection de robots. Mais qu'est-ce que cela signifie lorsque quelqu'un vous dit que son système est « précis à 95 % » ?
Permettez-moi de le décomposer :
Imaginez que 100 inscriptions soient en réalité des robots.
Un système sensible à 95 % devrait identifier correctement 95 d’entre eux comme des robots.
5 robots pourraient passer entre les mailles du filet et être confondus avec des humains (faux négatifs), ce qui est bien et ce n’est pas grave.
Maintenant, imaginez que 100 inscriptions proviennent de vrais humains.
Un système spécifique à 95 % devrait reconnaître avec précision 95 d’entre eux comme étant des humains.
Cependant, 5 personnes pourraient être étiquetées à tort comme des robots (faux positifs), ce qui est très mauvais car l'humain est ignoré, ce qui représente une perte de prospect potentiel (une injustice générale).
Sensibilité = True Bots Detected / (True Bots Detected + Bots Missed) La capacité du système à trouver de vrais robots.
Spécificité = Vrais humains détectés / (Vrais humains détectés + Humains confondus avec des robots) La capacité du système à éviter de mal étiqueter de vraies personnes.
Précision = (Vrais robots détectés + Vrais humains détectés) / (Total des inscriptions) Exactitude globale, mais cela peut être trompeur si votre ensemble de données contient bien plus d'un même type (robots ou humains).
Si les trois sont à 1.0, alors félicitations, vous avez le modèle parfait.
J'avais l'habitude de sous-estimer la puissance des données lors de la formation de modèles d'apprentissage automatique. J'ai supposé que les algorithmes « comprendraient simplement », peu importe ce que je leur donnerais.
Avec un petit ensemble de données de 103 inscriptions (seulement 12 robots !), je l'ai lancé sur les modèles d'arbres de décision, de régression logistique et de forêt aléatoire.
J'ai obtenu une précis...
[Courte citation de 8% de l'article original]