Parte 1: IA lato client per combattere la tossicità online

Maud Nalpas
Maud Nalpas

Data di pubblicazione: 13 novembre 2024

L'incitamento all'odio, le molestie e gli abusi online sono diventati un problema pervasivo online. I commenti tossici mettono a tacere voci importanti e allontanano utenti e clienti. Il rilevamento della tossicità protegge gli utenti e crea un ambiente online più sicuro.

In questa serie in due parti, esploriamo come utilizzare l'IA per rilevare e ridurre la tossicità alla fonte: le tastiere degli utenti.

In questa prima parte, discutiamo i casi d'uso e i vantaggi di questo approccio.

Nella seconda parte, condividiamo l'implementazione, inclusi esempi di codice e suggerimenti per l'esperienza utente.

Perché eseguire il rilevamento della tossicità lato client

Demo della pubblicazione di commenti.
Un esempio di rilevamento della tossicità lato client: quando un utente smette di digitare un commento, l'analisi della tossicità viene eseguita nel browser e viene visualizzato un avviso in tempo reale. Guarda la demo.

Vantaggi

Il rilevamento della tossicità lato client è una prima linea di difesa utile e un ottimo complemento per i controlli lato server. Il rilevamento della tossicità lato client offre molteplici vantaggi:

  • Rilevare tempestivamente i contenuti tossici. Con i controlli lato client, puoi rilevare i contenuti dannosi alla fonte, senza toccare il server.
  • Attiva i controlli in tempo reale. Utilizza la velocità lato client per creare applicazioni a bassa latenza e fornire feedback immediati agli utenti.
  • Riduci o ottimizza il carico di lavoro lato server. Riduci il carico di lavoro lato server e i costi per il rilevamento della tossicità: innanzitutto, perché i suggerimenti rivolti agli utenti potrebbero contribuire a ridurre il volume di commenti tossici, ma anche perché segnalare determinati commenti come potenzialmente tossici prima che vengano pubblicati sul tuo server ti consente di dare loro la priorità nei controlli lato server.
  • Riduci il carico di lavoro umano. Ridurre il carico di lavoro dei moderatori umani.

Casi d'uso

Ecco alcuni possibili motivi per cui è consigliabile creare un sistema di rilevamento della tossicità lato client:

  • Rilevamento immediato nei sistemi di commenti. Fornire un feedback immediato agli utenti che scrivono commenti tossici, incoraggiandoli a riformulare il messaggio prima di pubblicarlo. Con l'AI lato client, puoi ottenere questo risultato senza chiave API, senza costi di classificazione lato server in fase di esecuzione e con una bassa latenza. Questa opzione può essere ideale per le app di chat.
  • Moderazione in tempo reale nella chat live. Identifica e segnala rapidamente i messaggi dannosi inviati dagli utenti, consentendo ai moderatori di intervenire immediatamente.

Mantieni i controlli lato server

Sebbene il rilevamento della tossicità lato client sia rapido, un utente malintenzionato esperto di frontend potrebbe disattivarlo. Inoltre, nessun sistema di rilevamento della tossicità è accurato al 100%.

Per questi motivi, ti consigliamo vivamente di implementare o mantenere un'ulteriore revisione con un server, anziché fare affidamento solo sul rilevamento della tossicità lato client. Ad esempio, puoi integrare il controllo lato client in tempo reale con una revisione lato server asincrona utilizzando l'API Perspective. Per un approccio completo, puoi combinarli con la moderazione umana.

Avvertenze

Il rilevamento della tossicità lato client richiede il download di un modello di classificazione nella pagina web e spesso di una libreria IA lato client.

Considera le implicazioni:

  • Costi di hosting e pubblicazione del modello. Il modello potrebbe essere di grandi dimensioni.
  • Rendimento e UX. La raccolta e il modello aumenteranno le dimensioni del bundle.

Valuta i vantaggi prima di decidere se questa opzione è adatta al tuo caso d'uso. Applica le best practice per le prestazioni dell'IA lato client e memorizza nella cache il modello in modo che il download sia un costo una tantum.

Come funziona la classificazione della tossicità dei contenuti

Prima di esaminare l'implementazione completa, diamo un'occhiata agli aspetti essenziali del rilevamento della tossicità.

Un modello di rilevamento della tossicità analizza il testo esistente anziché generare nuovi contenuti (IA generativa). Si tratta di un'attività di elaborazione del linguaggio naturale (NLP) classica.

Attività di elaborazione del linguaggio naturale. Fonte HuggingFace.

Il rilevamento della tossicità si basa su classificatori di testo che classificano il testo come probabile tossico o innocuo. I classificatori della tossicità prendono il testo come input e gli assegnano varie etichette di tossicità, oltre a un punteggio. I punteggi vanno da 0 a 1. I punteggi più elevati indicano che è più probabile che l'input sia tossico.

Il rilevamento della tossicità si basa su classificatori di testo che classificano il testo come probabile tossico o innocuo.

L'input dell'utente viene classificato e poi valutato.

Prendiamo ad esempio il modello Xenova/toxic-bert, una versione compatibile con il web di unitary/toxic-bert. Offre sei etichette:

  • toxic
  • severe_toxic
  • insult
  • obscene
  • identity_hate
  • threat

Etichette come toxic e severe_toxic indicano la tossicità complessiva.

Altre etichette sono più granulari. Identificano tipi specifici di contenuti dannosi, ad esempio identity_hate (bullismo o minacce relative all'identità di una persona, come gruppo etnico, religione, identità di genere e così via) o identity_hate (dichiarazione di intenzione di infliggere danni).threat

I diversi modelli di tossicità hanno approcci diversi alla classificazione. Ecco alcuni esempi rappresentativi.

In questo esempio, l'input seguente include la parola "odio" ed è rivolto a una persona, pertanto il punteggio toxicity è alto (0.92). Non è stato identificato un tipo specifico di tossicità, pertanto gli altri punteggi sono bassi.

Input: I hate you
Output of the toxicity classifier:
[
{ label: 'toxic', score: 0.9243140482902527 },
{ label: 'insult', score: 0.16187334060668945 },
{ label: 'obscene', score: 0.03452680632472038 },
{ label: 'identity_hate', score: 0.0223250575363636 },
{ label: 'threat', score: 0.16187334060668945 },
{ label: 'severe_toxic', score: 0.005651099607348442 }
]

Nell'esempio seguente, l'input ha un tono generale di incitamento all'odio, pertanto riceve un punteggio toxicity elevato (0.92). A causa della menzione esplicita di danni, anche il punteggio threat è elevato (0.81).

Input: I hate your garden, and I will kill your plants
Output of the toxicity classifier:
[
{ label: 'toxic', score: 0.9243140482902527 },
{ label: 'insult', score: 0.16187334060668945 },
{ label: 'obscene', score: 0.03452680632472038 },
{ label: 'identity_hate', score: 0.0223250575363636 },
{ label: 'threat', score: 0.819197041168808937 },
{ label: 'severe_toxic', score: 0.005651099607348442 }
]

A seguire

Ora che hai compreso il contesto, puoi iniziare a creare un sistema di rilevamento della tossicità basato sull'AI lato client.

Leggi la seconda parte