Produits couverts par cette étude : 

15 millions

de messages envoyés quotidiennement dans l’application

1.55 millions

d’échantillons d’apprentissage actif commentés chaque mois

Yubo est une application de médias sociaux conçue pour permettre aux adolescents et aux jeunes adultes de rencontrer de nouvelles personnes en streaming en direct et par messagerie.
Secteurs : 
Créée en : 
2015
Siège : 
Paris, France
Taille : 
11 - 50

Le client

L’équipe à l’origine de Yubo ouvre la voie à des applications très efficaces conçues avec ingéniosité. Avec une équipe réduite gérant 50 millions d’utilisateurs enregistrés (à ce jour) sur une combinaison de serveurs dédiés Leaseweb et de systèmes d’IA personnalisés, Yubo reste concentrée sur le développement d’une application sûre et évolutive.

Principales exigences

  • Évolutivité : La base d’utilisateurs de Yubo croît rapidement, l’entreprise a donc besoin d’une infrastructure qui puisse évoluer avec elle
  • Réseau sécurisé : Les conversations sur Yubo peuvent comprendre du contenu privé, ce qui rend essentiel l’existence d’un réseau privé dans l’infrastructure avec une gestion du chiffrement des données de bout en bout

Notre solution

  • Serveurs haute performance dédiés
  • Réseau privé permettant l’interconnexion de serveurs déployés dans des datacenter Leaseweb pour une meilleure évolutivité et sécurité
  • Unités centrales haute performance (E5-2650v2) pour l’analyse et unités centrales standard (E3-1240) pour les serveurs proxy
  • Stockage SSD pour une vitesse optimale de récupération, de traitement et d’échange des données
  • Services aux États-Unis, aux Pays-Bas et en Australie

Alexis Benichoux et son équipe (surnommée « Team Profanity ») ont mis au point leur plateforme de modération par IA avec une base en bare metal. Cette plateforme définit et filtre les données pour les rendre traitables et exploitables.

Le problème

Yubo devait assurer la sécurité de ses utilisateurs en modérant le contenu - principalement du texte, des images et des flux en direct (appelés « lives »). « Notre mission est de connecter les gens et de leur permettre d’interagir avec des personnes qu’ils ne connaissent pas en temps réel », explique Arthur Patora, co-fondateur et directeur technique de Yubo. « Pour remplir cette mission, nous devons rendre l’application aussi sûre que possible. Tout ce que nous faisons vise à donner toujours plus de possibilités à nos utilisateurs. »

Pour y parvenir, Yubo a créé une multitude de fonctionnalités dans l’application permettant aux utilisateurs de modérer leur propre profil et leurs « lives ». Et pour tout le reste, l’équipe s’est tournée vers l’IA.

Yubo utilise l’IA principalement pour la reconnaissance faciale, la vérification d’identité et l’analyse de texte. À mesure que l’application s’est développée, le langage des utilisateurs a évolué lui aussi et s’est forgé une existence qui lui est propre. « Au début, nous utilisions une API tierce. Mais elle ne répondait pas à tous nos besoins », explique Arthur Patora. « Nous avions trop de demandes de changement d’algorithme par itération, et la plupart de nos contenus présentent en plus une forme courte - chose que les outils de modération de texte ne peuvent pas détecter puisqu’ils sont principalement entraînés sur des articles. »

La correction des problèmes de modération de texte était coûteuse et gourmande en ressources. « Nous avons même commencé à aller dans les interfaces API pour saisir les mots inappropriés que nous trouvions sur l’application et que nos modérateurs humains voyaient toute la journée. » Ce n’était en aucun cas une solution durable ou évolutive. « C’est à ce moment que nous avons réalisé que nous devions construire notre propre système. »

« Si la modération s’écroule, alors tout s’écroule. C’est un vrai cauchemar. »

Arthur Patora, Co-fondateur et directeur technique de Yubo

Bien plus que de la modération de texte.

Mais à quel point le texte de Yubo est-il unique ? Alexis Benichoux, spécialiste en Machine Learning chez Yubo, nous explique :

  • Il est difficile de repérer la langue parlée car de nombreux utilisateurs en mélangent plusieurs à la fois. Par exemple, un utilisateur peut dire quelque chose d’acceptable en suédois, mais ce terme peut être signalé comme inapproprié en anglais en raison de sa signification différente dans cette langue.
  • La plupart des messages sont très courts, et de nombreux mots d’argot peuvent être courants dans une langue mais avoir une signification complètement différente dans une autre.
  • Certaines langues sont très similaires, comme l’espagnol et le portugais.
  • Il existe un argot Internet, et même un « langage Yubo » spécifique à l’application.
  • De nombreux messages utilisent des emojis, un message peut par exemple être simplement constitué de trois lettres distinctes accompagnées d’un emoji.
  • Les erreurs de saisie intentionnelles de contenus vulgaires ou interdits sont courantes et doivent également être prises en compte.

« La modération de texte dans Yubo n’est pas vraiment un traitement du langage - c’est quelque chose de très spécifique. »

Alexis Benichoux, Yubo spécialiste en Machine Learning

La solution

Yubo a donc décidé de créer sa propre plateforme de modération et a opté pour une solution de serveur dédié chez Leaseweb. L’entreprise avait déjà expérimenté d’autres solutions de cloud de tiers, mais elle a fini par choisir des solutions de serveurs dédiés en raison de leur faible coût et de leur fort potentiel d’évolutivité. « À l’origine, nous utilisions Google Cloud, mais c’est rapidement devenu beaucoup trop cher », explique Arthur Patora. Lorsqu’elle est passée de Google à Leaseweb, Yubo a économisé plus de 80 % par rapport à ce qu’auraient été ses coûts d’infrastructure. Cet argent a alors pu être réinvesti dans le personnel, la nouvelle plateforme de modération et l’application.

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

Flux de données

  • Modélisation de données

     Les données de Yubo sont utilisées pour entraîner à nouveau constamment les modèles. Cette opération s’effectue hors ligne, et les points de contrôle sont envoyés vers des ensembles de données qui seront servis par des API front-end.

    • Données : l’équipe commence avec un ensemble de données propres, pouvant se trouver entièrement en dehors de la production. Aucune donnée extérieure n’est utilisée - tout provient de Yubo.
    • Commentaire : il existe des commentaires émis par les utilisateurs dans l’application ainsi que des campagnes de commentaires.
    • Modélisation : il existe différents modèles pour diverses fonctionnalités (telles que le chat en direct, l’édition de biographies, le téléchargement d’images, etc.).
  • Production : le modèle est catégorisé et placé dans des environnements de production appropriés
    • Contenu à volume élevé : réponse rapide nécessaire (messagerie, etc.) - les API sont déployées, le calcul est effectué sur les processeurs graphiques.

   

    • Contenu à faible volume : temps de traitement plus long nécessaire (enquête sur un utilisateur malsain, plus de contexte nécessaire, etc.) - utilisation des files d’attente Redis, retour d’apprentissage intégré et mis en œuvre. Utilisation d’un modèle d’apprentissage supervisé intelligent.

 

D’un apprentissage supervisé à actif

« La partie front de l’architecture est constituée de modèles entraînés », explique Alexis Benichoux. « Et il y a ensuite une grosse partie en back-end. L’équipe s’occupe principalement d’entraîner et de déployer les modèles, il s’agit donc d’apprentissage supervisé. Mais l’idée générale est que nous essayons d’intégrer l’apprentissage actif dans l’apprentissage supervisé. Nous avons donc recours à la modération humaine - tout ce que nous pouvons obtenir, même si le rythme de test et de modification est très lent - mais c’est ainsi que les contrôles sont effectués et nous recevons des rapports rédigés par des humains. Certains contrôles peuvent prendre des semaines. Voilà comment nous avons obtenu une amélioration lente mais régulière dans le déploiement de notre algorithme d’apprentissage supervisé. »

Le résultat

L’architecture de modération de texte de Yubo n’a que deux ans d’existence, et il s’agit déjà de l’un des systèmes les plus intelligents sur le marché. Entre autres initiatives, Yubo s’est associée au National Center for Missing & Exploited Children (NCMEC), une ONG américaine qui se consacre à la recherche d’enfants disparus, en partageant des données avec l’organisation en cas de suspicion d’activité illégale impliquant des mineurs.

Outre les moyens techniques garantissant la sécurité des utilisateurs, Yubo est également soutenue par un Conseil de sécurité composé des meilleurs experts internationaux. Ce Conseil (composé d’experts issus par exemple de Thorn et d’Interpol) se réunit plusieurs fois par an pour passer en revue le programme des caractéristiques des produits et examiner les garanties en place.

Chaque jour, les algorithmes deviennent plus intelligents, et la base d’utilisateurs (et l’infrastructure) de Yubo s’étend. L’équipe veille à ce que le fonctionnement reste stable et simple tout en connectant en toute sécurité des milliers de nouveaux utilisateurs chaque jour, ce qui prouve que la sécurité n’a pas besoin d’être sacrifiée au profit de l’évolutivité.

L’avenir

Yubo a la capacité de se développer de manière exponentielle. Il s’agit maintenant de recruter des talents suffisamment rapidement pour soutenir la croissance de l’entreprise. Et avec une architecture évolutive sur le plan horizontal bénéficiant de systèmes d’IA innovants alimentés par les serveurs dédiés de Leaseweb, Yubo va avoir besoin de beaucoup de talents.


La prochaine étape ? Une domination mondiale !