Perspective API et quelques commentaires dont un signalé en rouge

Perspective API

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

js
// 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. 🎉

bash
yarn add googleapis dotenv

Ou si vous préférez NPM :

bash
npm i googleapis dotenv

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.


Projet Open Source : No Toxic Discussions

No Toxic Discussions

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.


Soutenez-moi
Si vous aimez mon contenu, vous pouvez me soutenir en faisant un don récurant ou spontanément sur Buy Me a Coffee.