« VandalBot » : différence entre les versions
Aucun résumé des modifications |
Aucun résumé des modifications |
||
Ligne 6 : | Ligne 6 : | ||
L’idée derrière ce bot est d’utiliser le machine learning pour identifier une page qui est susceptible d'avoir été créer par un bot "malveillant". | L’idée derrière ce bot est d’utiliser le machine learning pour identifier une page qui est susceptible d'avoir été créer par un bot "malveillant". Nous avons décidé de résoudre ce problème en utilisant le machine learning, plus précisément le deep learning, en utilisant un réseau de neurone récurrent[https://en.wikipedia.org/wiki/Recurrent_neural_network], car il présente plusieurs aspects interessants: | ||
- contrairement à un bot se basant sur des règles prédéfinies, notre bot sera capable de s'adapter au nouveau type de bot qui pourraient apparaître sur le wikipast (nouvelles langues, nouvelles syntax, ...) | |||
- au fur et à mesure de l'evolution du wikipast, le réseau pourra être de nouveaux entrainé afin de mieux détecter les pages d'origine vérifiée (pages créées par le professeur, les étudiants, ou par les futures bots developés dans le cadre du cours). | |||
En effet, le réseau pourra être de nouveau entraîné avec les pages nouvellement crées. | |||
Lorsque le bot identifie une page susceptible d'avoir été créée par un bot, il la signalera, et ça sera au modérateur de décider de l’avenir de la page. | Lorsque le bot identifie une page susceptible d'avoir été créée par un bot, il la signalera, et ça sera au modérateur de décider de l’avenir de la page. | ||
Version du 8 mai 2018 à 11:34
Résumé des fonctionnalités
Lutte activement contre les nombreux SPAMBot qui assiègent Wikipast.
Description technique
L’idée derrière ce bot est d’utiliser le machine learning pour identifier une page qui est susceptible d'avoir été créer par un bot "malveillant". Nous avons décidé de résoudre ce problème en utilisant le machine learning, plus précisément le deep learning, en utilisant un réseau de neurone récurrent[1], car il présente plusieurs aspects interessants: - contrairement à un bot se basant sur des règles prédéfinies, notre bot sera capable de s'adapter au nouveau type de bot qui pourraient apparaître sur le wikipast (nouvelles langues, nouvelles syntax, ...) - au fur et à mesure de l'evolution du wikipast, le réseau pourra être de nouveaux entrainé afin de mieux détecter les pages d'origine vérifiée (pages créées par le professeur, les étudiants, ou par les futures bots developés dans le cadre du cours).
En effet, le réseau pourra être de nouveau entraîné avec les pages nouvellement crées. Lorsque le bot identifie une page susceptible d'avoir été créée par un bot, il la signalera, et ça sera au modérateur de décider de l’avenir de la page.
Pour ce faire, nous avons d’abord récupéré dans une liste tous les usernames des utilisateurs certifiés (à savoir les étudiants, les modérateurs et leurs bots), et les pages qui leurs sont associées. On a fait de même avec des utilisateurs et pages que nous suspectons avoir été publiées par des bots malveillants, en générant des pages aléatoirement, et en vérifiant qu’elles n’appartiennent pas à la liste précédente. A chaque page nous avons assigné un boolean, (true = bot, false = utilisateur certifiés) afin d’avoir une base de donnée sur laquelle le réseau neuronal peut s’entraîner.
Nous avons décider d'utiliser un Recurrent Neural Network car c'est l'un des plus populaires pour faire du text classification.
Une fois le réseau entraîné, nous passons le contenu d'une page à notre réseau qui déterminera si oui ou non cette page a été créée par un bot malveillant. Si tel est le cas, notre bot flag la page comme étant potentiellement du spam. En outre, les pages flaggées sont listées dans la page [[ ]].
Performances
Exemples de résultats
Code
Le code source est disponible sur Github