Architecture système
Les modèles sont basés sur deux types de contenu, avec en premier lieu le contenu Internet (avec beaucoup d’argot) et les trolls. Ici, des API rapides peuvent être déployées en production pour modérer le contenu. Le deuxième type de contenu est généré par des utilisateurs toxiques et des usurpateurs, et nécessite davantage d’apprentissage automatique (machine learning) et de connaissances pour être filtré correctement. Ce contenu présente un volume plus faible, mais il est potentiellement beaucoup plus dommageable pour l’application et les utilisateurs. Les contenus à faible volume sont traités avec des algorithmes plus poussés en temps asynchrone, tandis que les volumes élevés nécessitent des API à réponse rapide.
Une fois que le type de contenu est identifié, il entre dans un flux de données composé de différents modèles. Chaque langue, catégorie et caractéristique présente des contraintes différentes, et il existe environ 120 modèles en production. Ceux-ci sont principalement basés sur CBOW+fasttext et NBSVM. Par exemple, un message de type chat sera filtré par au moins trois modèles. Un schéma typique comprend :
1. Racinisation, lemmatisation, désobscurcissement
∂σ уαℓℓ ωαηηα вє ƒяιєη∂ѕ -> (do, you, want, be, friend)
2. Détection du langage
3. Détection des informations personnelles
4. Filtrage des injures