Gli eventi attuali stimolano un esperimento mentale
L'altro giorno ho visto un titolo nelle notizie su un professore che ha bocciato metà degli studenti di una classe per aver usato un'intelligenza artificiale per scrivere i loro saggi finali. Si scopre che il titolo era molto più eccitante della storia vera e propria: per ironia della sorte, il professore ha abusato dell'IA nel tentativo di rilevare l'uso dell'IA. Ad ogni modo, questo mi ha fatto pensare, JMP può determinare chi ha scritto un corpo di testo e può farlo per qualcuno che non sa molto sull'analisi del testo? Si scopre che JMP Pro può, come mostrato nel grafico seguente:

Ottenere il testo da analizzare
Dal momento che non ho accesso a un mucchio di documenti degli studenti, ho usato Progetto Gutemberg , che ospita libri il cui copyright è scaduto. Ho scelto sei libri di cinque autori come candidati:
- "Il grande Gatsby" di F. Scott Fitzgerald
- "Moby Dick" di Hermann Melville
- "Frankenstein" di Mary Shelley
- "Il richiamo della foresta" di Jack London
- "Il ritratto di Dorian Gray" di Oscar Wilde
- "L'importanza di chiamarsi Ernesto" di Oscar Wilde
Ciascuno di questi libri è stato scritto da un autore americano o britannico e la loro lingua originale era l'inglese. Ho fatto questa scelta perché non volevo rovinare le cose scegliendo accidentalmente libri i cui traduttori erano la stessa persona.
Importazione e pulizia
L'importazione del testo è semplice: basta inserire tutti i libri come singoli file di testo in un'unica cartella e utilizzare lo strumento di importazione di file multipli come illustrato di seguito. Mi sono assicurato di selezionare le opzioni per aggiungere una colonna per il nome del file, per aggiungere una riga per riga e per impilare file simili. Il risultato finale è una tabella dati con circa 53.000 righe.

La pulizia dei dati ha comportato la rimozione delle righe vuote e delle informazioni di intestazione all'inizio di ogni libro, nonché la creazione di un nome di colonna per l'autore di ogni libro. Per questo mi sono appoggiato pesantemente alle colonne della formula incorporate, in particolare alla colonna della formula della prima parola. Ho allegato una copia del file di dati finale come Cleaned Text.jmp, quindi chiunque legga dovrebbe essere in grado di seguire l'analisi.
Esecuzione dell'analisi
Per eseguire l'analisi, selezionare Analizza...Esplora testo, quindi posizionare le colonne Testo e Nome file nella finestra di dialogo come mostrato nell'immagine sottostante. Lascia tutte le altre opzioni ai loro valori predefiniti; selezionare OK per continuare.

Successivamente, dal menu Triangolo rosso per Esplora testo, scegliere Analisi discriminante e, nella prima finestra di dialogo visualizzata, selezionare la colonna Autore per indicare a JMP Pro che si desidera determinare quale autore ha scritto ciascuna riga. Si noti che l'analisi discriminante del testo è disponibile solo in JMP Pro.

Fare clic su OK nella seconda finestra di dialogo (illustrata di seguito) per accettare le impostazioni predefinite e avviare l'analisi. Il completamento di questo passaggio potrebbe richiedere circa un minuto, poiché JMP esegue calcoli in background.

Dai primi risultati ai risultati finali
Nella sezione Classification Summary, all'inizio le cose non sembrano molto promettenti: il modello classifica erroneamente il 64,5% delle linee. Ma tieni presente che ciascuna delle righe è, al massimo, 80 caratteri di testo e che ciascuno dei libri è migliaia di righe. Abbiamo bisogno di un modo per guardare al quadro generale, che implica passare del tempo con la tabella Tasso previsto sotto la sezione Tasso di classificazione errata.

Facendo clic con il pulsante destro del mouse sulla tabella dei tassi previsti e selezionando Trasforma in tabella dati, seguito da un rapido impilamento della tabella dati, viene creata la tabella illustrata di seguito (e allegata come Riepilogo classificazione - Stacked.jmp).

Utilizzando Graph Builder, una mappa termica di Predicted Author vs Author mostra che la previsione più alta per ogni autore è corretta, con l'eccezione di Oscar Wilde nell'angolo in alto a destra. Questo è buono, ma non perfetto.

Un'altra piattaforma che può essere utile in questo caso è Analizza...Metodi multivariati...Analisi delle corrispondenze multiple. Eseguendolo come mostrato di seguito crea un grafico molto utile, che mostra che l'autore previsto è molto vicino all'autore effettivo. Oscar Wilde, ancora una volta, non è così vicino a una previsione come gli altri, ma è abbastanza vicino da poter prendere una buona decisione.


Conclusione e ulteriori riflessioni
Anche se all'inizio lo strumento Analisi discriminante non sembrava aver previsto in modo chiaro quale autore ha scritto ciascun libro, un'ulteriore esplorazione dell'output ha mostrato risultati molto più promettenti: senza la necessità di comprendere le opzioni in Esplora testo o Analisi discriminante, JMP Pro è stato in grado di creare una buona previsione di quale autore ha scritto ogni libro.L'incertezza intorno alla previsione di Oscar Wilde è un po' maggiore delle altre, ma potrebbe essere dovuta a:
- Avere due dei suoi libri nel set di dati.
- Avendo semplicemente accettato le impostazioni predefinite, forse il modello potrebbe essere messo a punto, o
- Il fatto che "L'importanza di chiamarsi Ernesto" fosse un'opera teatrale e non un romanzo, un fatto che ho scoperto solo dopo aver fatto l'analisi.
La mia ipotesi è che l'opzione C sia la ragione. Potrebbe essere divertente ripetere questo esperimento con altri autori e altri campionari. Sono interessato ai risultati che otterrai se rieseguirai l'esperimento. Si prega di pubblicare i risultati nei commenti!
È affascinante, Jed.Poiché la dimensione del file "Wilde" era inferiore a quella degli altri, mi chiedo se ciò possa spiegare la previsione leggermente meno accurata.Campione più grande, previsione migliore?Ancora una volta, questo è molto bello.Usando questo metodo potresti smascherare lo scrittore fantasma!
@chuck_boiler Questa è sicuramente una possibilità. Penso che il fattore più importante sia che "L'importanza di chiamarsi Ernesto" è un'opera teatrale, il che significa che il suo stile scritto è molto diverso da tutti gli altri lavori. In realtà, riflettendoci meglio, l'abbinamento è ancora più impressionante, poiché abbraccia i generi.