BT

Diffuser les Connaissances et l'Innovation dans le Développement Logiciel d'Entreprise

Contribuez

Sujets

Sélectionner votre région

Accueil InfoQ Actualités NSFW.js : Apprentissage Automatique Appliqué à la Détection de Contenu Indécent

NSFW.js : Apprentissage Automatique Appliqué à la Détection de Contenu Indécent

Favoris

Avec NSFW.js, dans sa version bêta, les développeurs peuvent désormais inclure dans leurs applications un filtre côté client pour les contenus indécents. NSFW.js classe les images dans l’une des cinq catégories suivantes : Dessin, Hentai, Neutre, Porno, Sexy. NSFW catégorise les images avec un taux de précision de 90%.

NSFW.js est un module NPM, qui à partir d’un élément d’image ou d’un canevas, permet de calculer les probabilités pour que l’image appartienne à l’une des cinq catégories prédéterminées :

NSFW image classification example

Une utilisation typique en mode client est la suivante :

// Classic import style

import * as nsfwjs from 'nsfwjs'
// or just use require('nsfwjs')

// Load files from the server to the client!
const model = await nsfwjs.load('/model/')

// Gimme that image
const img = document.getElementById('questionable_img')

// Classify the image
const predictions = await model.classify(img)

// Share results
console.log('Predictions: ', predictions)

Le modèle que NSFW.js utilise pour ses prévisions est chargé côté client. La fonction classify accepte une image en tant que paramètre et renvoie les prédictions calculées. Le modèle fait actuellement environ 20 Mo, ce qui peut poser problème aux utilisateurs de toute application mobile utilisant les fonctionnalités NSFW. Gant Laborde, le créateur de la bibliothèque, commente :

Il est mis en cache. Cependant, je suis d’accord. Les modèles doivent devenir plus petits.

NSFW peut s’intégrer de différentes manières dans la mise en œuvre d’une politique de modération du contenu. Il peut par exemple être utilisé comme pré-filtre, n’envoyant à l’équipe de modération que les contenus dépassant un seuil de probabilité d’appartenance à une catégorie sujette à modération.

NSFW utilise des algorithmes d’apprentissage pour calculer le modèle à partir duquel il effectue sa classification. Laborde explique :

il a été formé en utilisant beaucoup d’images de Reddit en fonction du sub. Avec environ 300k images, certains modèles sont apparus et c’est ce que le modèle détecte.

NSFW revendique un taux de réussite de 90% sur son ensemble de tests. Cependant, il ne parvient toujours pas à classer correctement les images qu’un humain évaluerait instantanément et avec précision. Laborde mentionne en outre que le modèle peut montrer des biais :

Le plus amusant, c’était que Jeffrey Goldblum continuait d’être mal classé, et le moins intéressant, c’était que le modèle était trop sensible aux femmes.

Les faux positifs peuvent toutefois ne pas constituer un problème important pour les applications de filtrage de contenu, à condition qu’il existe une couche humaine secondaire. Avec l’inclusion continue de plus de faux positifs dans le jeu de données d’apprentissage et la mise au point du modèle, la précision NFSW devrait continuer à augmenter.

Les cinq catégories sont définies comme suit :

  • Dessin - sûr pour les dessins de travail (y compris les dessins animés)
  • Hentai - dessins hentai et pornographiques
  • Neutre - sans danger pour les images neutres au travail
  • Porno - images pornographiques, actes sexuels
  • Sexy - images sexuellement explicites, pas pornographiques

NFSW.js est disponible sous la licence open source MIT. Les contributions sont les bienvenues via le package GitHub.

Evaluer cet article

Pertinence
Style

Contenu Éducatif

Bonjour étranger!

Vous devez créer un compte InfoQ ou cliquez sur pour déposer des commentaires. Mais il y a bien d'autres avantages à s'enregistrer.

Tirez le meilleur d'InfoQ

Html autorisé: a,b,br,blockquote,i,li,pre,u,ul,p

Commentaires de la Communauté

Html autorisé: a,b,br,blockquote,i,li,pre,u,ul,p

Html autorisé: a,b,br,blockquote,i,li,pre,u,ul,p

BT