ChatGPT detection, come scoprire la provenienza di un testo

  • Dan Kempes
  • 7 minuti read
  • 15-Feb-2023
  • 18-Feb-2023

Guida in 8 punti per stabilire la fonte di un testo, se sia scritto da un'intelligenza artificiale (chatGPT) o da una persona reale. Come valutare burstiness e perplexity, come interpretare i punteggi e quali sono al momento gli strumenti che permettono di analizzare un testo in ottica di chatgpt detection.

ChatGPT detection, come scoprire la provenienza di un testo
Indice per punti:
Strumenti per la text detection
1) Detection non esatta al 100%
2) Burstiness e Perplexity
3) Analisi di una perplexity umana
4) Il grafico di perplexity e come interpretarlo
5) Analisi di un testo AI
6) Analisi di un testo umano
7) Valori di riferimento
8) Conclusioni
Fonti

EDIT: Quando ho scritto questo articolo GPTZero era alla sua prima versione (beta) ed offriva una analisi "sentence by sentence" con grafico, che trovo tuttora più utile di quella attuale. Questa guida si basa sulla versione beta di GTPZero. Entrambe le versioni sono ancora disponibili online, potete trovarle alla fine dell'articolo nelle fonti.

 

Con tutto il rumore che sta facendo ChatGPT negli ultimi mesi è probabile che a breve fioriranno molti strumenti per acclarare "l'originalità" dei testi. 

Ci sono molti attori nel settore della comunicazione che trovano interessante stabilire la paternità umana di un testo, committenti di articoli a vario titolo (project manager, web editor, aziende che esternalizzano la produzione dei contenuti). Tutte queste persone finora hanno usato software antiplagio come copyscraper per scoprire eventuali copia/incolla dal web ed evitare penalizzazioni su Google e nel futuro potranno aver bisogno di strumenti simili per la cosiddetta chatGPT detection (o più in generale ai text detection). Vediamo quali sono attualmente gli strumenti disponibili per verificare un testo.

 

Strumenti per la chatGPT detection 

  • GPTZero (versione beta)
  • GPTZero (built for educators)
  • AI Text Classifier (strumento proprietario di Open AI)
  • Contentscale detector
  • Writer ai content detector
  • Writefull gpt detector

 

Link agli strumenti nelle fonti in fondo all'articolo.

 

Tutti questi tool hanno difetti di vario genere e sono imperfetti al momento in cui scrivo. Dal 31 Gennaio 2023 Open AI ha messo a disposizione uno strumento di detection (ai text classifier) che però spesso non riesce a fornire una valutazione sul testo e restituisce un messaggio di dubbio: "text considered unclear" senza forinre ulteriori dati o elementi di analisi. Cosa che invece faceva (e fa tuttora) la versione beta di GPTZero. Questa guida si focalizza su GPTZero versione beta. 

 

Lo strumento GPTZero, progettato, pare, da uno studente universitario, prende in pasto un testo e promette di stabilire con un rapido calcolo se si tratti di human-generated content o di “testo artificiale”. Su questo strumento era circolata ben presto la voce che non funzionasse correttamente: ritornava valutazioni sbagliate, fonti spesso non corrette. Io l'ho trovato subito friendly e ci ho perso un po' di tempo per capire meglio il tipo di analisi che mi proponeva, a prescindere dal risultato. In questo articolo provo a spiegare come usare GPTZero per verificare se un testo sia stato generato da una persona o da una macchina.

Lo farò seguendo un canovaccio di 8 punti.

 

1. Non è una scienza esatta al 100%, ma al 95.

Questo distinguo può sembrare cialtrone, ma invece è importante, per questo lo metto al punto 1. La differenza fra testi umani e testi chatgpt è già piuttosto sottile. L'unica cosa che la macchina non può ancora fare sono i cosiddetti “voli pindarici”, perciò il testo generato da una macchina sarà sovente flat, piatto, privo di picchi emotivi o semantici. Sarò più preciso su questo punto nei prossimi passaggi, ma il punto è: non sempre un testo umano ha queste caratteristiche, perchè non tutti sanno scrivere o trasferire le emozioni attraverso la scrittura, perciò un testo scritto da una persona può (similmente ad una macchina) essere piatto ed in questo senso può essere confuso dallo strumento di detection. È praticamente impossibile il contrario invece, al momento. Attenzione: per ora.

 

2. Il concetto di burstiness: la prorompenza.

Approfondendo il concetto del punto precedente:  

  • La perplexity è l'indice di casualità delle parole in un testo.  
  • La burstiness, (in italiano prorompenza) è l'indice di variazione della casualità

 

In brutale sostanza la burstiness misura la tendenza di un gruppo di parole a non essere riconducibile allo stesso insieme probabilistico di appartenenza. Questa definizione l'ho appena inventata e non mi sembra male in efficacia, mi spiego meglio: prendiamo 4 parole che appartengono a uno stesso insieme di significato. Prendiamo “cane cuccia casa famiglia”. Queste 4 parole hanno un'altissima probabilità di essere combinate fra loro all'interno di un articolo che parla per esempio di “come educare i cani in casa”. Quindi se GPTZero li analizzasse come blocchi concettuali di uno stesso testo, la burstiness sarebbe sicuramente bassissima, praticamente inesistente. È un esempio banale, perchè la burstiness non si misura sulle singole parole, ma su gruppi di frasi, però è utile per capire il concetto di prorompenza. Difficilmente la macchina (oggi, domani potrebbe essere diverso) può essere prorompente nello sviluppo del discorso, è l'unico vero passaggio che rende le ai ancora inferiori a chi scrive bene. 

 

3. Analizziamo una perplexity umana.

perplexity del testo auguri 100mila
Questo augurio, che avevo scritto a un amico qualche settimana fa, è in realtà una rielaborazione da uno degli ultimi film degli Avengers. La macchina può forse conoscere il testo della battuta originale, perchè potrebbe averlo assorbito in qualche testo chissà dove, ma non è in grado di rielaborarla creativamente. Perciò la probabilità che il termine “Auguri” sia seguito da un numero di centinaia di migliaia "100mila" è estremamente bassa. Sono due blocchi concettuali distantissimi in termini probabilistici per il calcolatore ed infatti il grado di perplexity misurato dallo strumento è molto alto: oltre i 30k.


4. Grafico di perplexity per gruppi di frasi e come interpretarlo.

Se abbiamo seguito il discorso dei punti precedenti, siamo pronti per un'analisi del grafico di burstiness che lo strumento GPTZero ci offre come risultato del nostro testo analizzato.

grafico di prorompenza su un testo scritto da daniele campese

Questo è il grafico che analizza un articolo che scrissi qualche tempo fa su Maradona. L'ho scelto perchè non è un articolo tecnico, lo scrissi dopo la morte di D10S e lo condivisi principalmente con alcuni amici. Però è un ottimo banco di prova perchè è un testo che incorpora molte significative variazioni sia linguistiche che emozionali ed infatti il burstinessometro è quasi impazzito. La linea gialla ci indica un picco di oltre 15k a fronte di tutti gli altri gruppi di lemmi che non superano lo 0.2k. È uno scollamento “prorompente” ed è praticamente impossibile che sia generato da una macchina.

Quando dall'analisi del testo emergono sproporzioni così significative fra i gruppi concettuali analizzati, la probabilità che il testo sia scritto da una persona reale è praticamente prossima al 100%. Almeno ad oggi: se nel futuro le macchine impareranno anche a stravolgere la probabilità di utilizzo delle parole, beh quel giorno questo sistema di analisi andrà a farsi benedire. Però per adesso questo non è possibile perchè chatGPT assorbe e costruisce il linguaggio su base probabilistica, non su base di significato.

 

5. Analizziamo un testo generato da un'intelligenza artificiale.

grafico analisi burstiness su un testo scritto da ai

Questo blocco di testo è preso dall'intervista a chatGPT che trovate qui. È un testo ben scritto dall'intelligenza artificiale, ma è completamente piatto, non esiste alcun lemma che si discosti dall'ambito concettuale di riferimento, non ci sono scatti, accelerazioni, né l'utilizzo di termini fuori contesto. Il grafico ci mostra gruppi concettuali che non si discostano dall'intorno 0.15-0.25. Questo testo ha un'altissima probabilità di essere stato scritto da una macchina, però non si può escludere al 100% che sia stato scritto da una persona con poco talento nella scrittura, con poca verve per il tema trattato, o entrambe le cose.
 


6. Analisi di un testo "umano" preso da un gruppo facebook

analisi testo preso da fatti di seo

Questo testo è stato preso da un noto gruppo social “Fatti di Seo” moderato da Francesco Margherita, che è un seo specialist riconosciuto in Italia. È un esempio interessante perchè il primo gruppo di lemmi estratto da GPTZero è “ciao fatti”. Basterebbe questa semplice apertura per rivelare la natura umana di questo testo. Perchè le parole “ciao” e “fatti” hanno una probabilità remotissima di trovarsi affiancate. La macchina non può sapere che il termine “fatti”, participio passato di fare, sia inteso in questo caso come “oh voi che fate parte dei fatti di seo”. Non potrebbe mai averlo scritto. Finora, l'ho già detto finora? 

 

7. Tiriamo le somme. Entro quali valori di prorompenza possiamo ritenere un testo umano o ai-generated.

Venendo al concreto, i valori di riferimento da considerare sono due:

  • a) la presenza di variazioni significative all'interno del grafico. Significative vuol dire di almeno 8-20k di distanza con gli altri gruppi concettuali. Se ci sono questo genere di variazioni, è quasi certo che siamo di fronte a un “testo umano”  
  • b) il valore complessivo di burstiness che GPTZero attribuisce al testo è l'altro parametro: 
    • fra 50-500 il testo ha alta probabilità di essere scritto da una macchina (o da un bad writer); 
    • se supera i 2000 complessivi il testo ha un'altissima probabilità di essere “umano”;
    • se oscilla fra 500 e 1500/1800 siete nella merda: non v'è certezza.      

picco di perplexity su gptzero versione beta

 

8. Conclusioni

Non possiamo essere certi al 100% ma lo strumento GPTZero funziona e può dirci molto di un testo analizzato. Mi è capitato almeno due tre volte di incappare in testi (tutte le volte presi dai social network) la cui mancanza di variazioni e il basso burstiness complessivo avrebbe dovuto significare che erano scritti da un'ai, benchè io fossi certo (si può essere certi di qualcosa sui social network oggi?) che li avevano scritti persone. Però, come spiegato nei punti precedenti,  tutti questi casi erano accomunati da una generale povertà di linguaggio e da una mancanza di forza emotiva del testo. In parola povere erano testi mal scritti, che io non avrei pubblicato senza arricchirli o rimandarli indietro. Mentre non mi è ancora successo che articoli più lunghi e strutturati, specialmente se scritti da firme autorevoli, e dunque ricchi di uno stile proprio, risultassero confondibili con un testo ai, perchè questo genere di articoli ha sempre nelle analisi che ho condotto restituito burstiness altissime, superiori ai 10-12k e ricche di variazioni nel grafico di confronto dei blocchi concettuali. Resta ovvia la necessità di fare grande attenzione, perchè il momento è liquido e siamo solo all'inizio. 

 

Fonti e riferimenti per la chatgpt detection 


dan kempes - daniele campese

Seguo progetti di architetture digitali dal 1946, quando dove adesso ci sono strade e palazzi era tutta campagna. Sono un data driven specialist, il mio lavoro è portare traffico qualificato sui siti web. Ho un sesto senso per lo sviluppo dei contenuti, all'insegna della raffinatezza e dello charme. Leggo molto e ascolto il groove.


Richiedi info

Commenti e Feedback 5.00

16-Mar-2023

Giacomo (seo digital marketing)
Bell articolo... complimenti e grazie mille!------------------------------------------------------------------------------------------------------------------ risposta @dankempes: Grazie! Un saluto


Scrivi un feedback

L'email non sarà pubblicata. I campi obbligatori sono marcati *


Articoli seo correlati