Qu'est-ce que Perspective ?

Perspective est une API gratuite qui utilise le machine learning pour identifier les commentaires "toxiques", facilitant ainsi l'organisation de meilleures conversations en ligne.

En évaluant une phrase en fonction de l'impact perçu que le texte peut avoir dans une conversation, les développeurs et les éditeurs peuvent utiliser ce score pour donner un feedback aux commentateurs, aider les modérateurs à examiner plus facilement les commentaires ou aider les lecteurs à filtrer le langage "toxique". Perspective fournit des scores pour plusieurs attributs différents comme :

  • La toxicité sévère
  • Les insultes
  • Les injures
  • Les attaques d'identité
  • Les menaces
  • Et le caractère sexuellement explicites

Perspective API et ces solutions

On a donc une très bonne solution pour se protéger des commentaires menaçants et j'en passe pour éviter de diffuser du mauvais contenu que ça soit en commentaire, dans un forum ou encore dans un chat en direct. Il y a de multitudes de fonctionnalité à réaliser avec cet API.

Perspective API est un très bon moyen de filtrer les injures et phrases qui sont toxiques.

La toxicité en ligne pose un sérieux problème aux plateformes et aux éditeurs. Les abus et le harcèlement en ligne réduisent au silence les voix importantes dans les conversations, forçant les personnes déjà marginalisées à se mettre hors ligne.

Un exemple de code

L'exemple est sous JavaScript, mais peu totalement marcher avec n'importe quel autre langage.

Voir la documentation dev

// Depuis la documentation officielle et légèrement modifié 
// https://developers.perspectiveapi.com/s/docs-sample-requests

const {google} = require('googleapis')
require('dotenv').config()

CONTENT = 'Tu es vraiment une merde à ce jeu'

// Créer un fichier .env pour récupérer GOOGLE_API_KEY.
API_KEY = process.env.GOOGLE_API_KEY
DISCOVERY_URL =
  'https://commentanalyzer.googleapis.com/$discovery/rest?version=v1alpha1'

google.discoverAPI(DISCOVERY_URL).then(client => {
  const analyzeRequest = {
    comment: {
      text: CONTENT,
    },
    requestedAttributes: {
      TOXICITY: {},
    },
  }

  console.info(`Input Text : ${analyzeRequest.comment.text}`)

  client.comments.analyze(
    {
      key: API_KEY,
      resource: analyzeRequest,
    },
    async (err, response) => {
      if (err) throw err
      let ScoreValue = response.data.attributeScores.TOXICITY.summaryScore.value
      await console.log(`TOXICITY Score : ${ScoreValue}`)
      console.table(JSON.stringify(response.data, null, 2))
    })
}).catch(err => {
  throw err
})

C'est si simple à mettre en place, installez seulement googleapis et dotenv et récupérez votre clé Perspective API et testez le code. 🎉

yarn add googleapis dotenv

Ou si vous préférez NPM :

npm i googleapis dotenv

J'ai déjà réalisé un projet qui est Open Source sur GitHub intitulé No Toxic Discussions. C'est une Action qui permet d'identifier le message dans l'espace de discussion et qui vérifie si son contenu est toxique ou pas.

No Toxic Discussions, une Action GitHub qui détecte les messages toxiques.


Crédits :

Quelques textes ont été recopiés depuis le site web, quant-à la bannière le logo "Perspective API" provient de Jigsaw de Google Inc. Le code source a été repris de l'exemple situé sur leur site web et modifié pour que le résultat soit visible. Il provient donc de la modification que j'ai apporté pour le projet No Toxic Discussions.

Pour le moment cet Newsletter n'est pas active. Mais un jour ou l'autre, elle le sera et vous serez les premiers à recevoir son contenu. Inscrivez-vous pour ne pas rater le premier numéro.

Newsletter

#HelløNews est une newsletter accessible à tous, développeur ou non. Une sorte de smoothie, vous pouvez trouver des liens que je trouve intéressants, des posts et des outils extraordinaires et utiles. J'ajoute également les projets dans lesquels je suis impliqué et les grandes nouvelles.

En s'abonnant avec votre adresse email à la Newsletter, vous acceptez les Conditions d'utilisation & Politique de confidentialité.