| Oratore |
Trascrizione |
| Ross Metusalem |
Ciao a tutti e benvenuti a questa presentazione su come JMP ha ampliato il suo toolkit di text mining in JMP Pro 16, uscito la scorsa primavera. |
| |
Sono Ross Metusalem. Sono un ambasciatore accademico per JMP e condividerò con voi queste due nuove funzionalità di text mining. |
| |
Analisi del sentiment e selezione dei termini. Parleremo di cosa sono e come utilizzarle con JMP, poi vedremo due esempi di come eseguire queste analisi su dati reali disponibili al pubblico. |
| |
L'analisi del sentiment e la selezione dei termini sono due nuove aggiunte all'esploratore di testo di JMP, uno strumento di text mining per uso generale. |
| |
Quindi puoi usarlo per ricavare informazioni quantitative da ciò che comunemente chiamiamo dati di testo liberi o non strutturati, quindi potrebbe trattarsi di qualsiasi cosa, dalla derivazione delle frequenze delle parole, in modo da poter creare una nuvola di parole, |
| |
per eseguire l'analisi semantica latente, in modo da poter raggruppare documenti semanticamente simili. Quindi le due funzionalità che vedremo oggi sono funzionalità dello strumento di esplorazione del testo. |
| |
Inizieremo con l'analisi del sentiment, una funzionalità popolare e spesso richiesta che siamo lieti di introdurre in JMP Pro 16. |
| |
Per chi non lo sapesse, l'analisi del sentimento consiste nel quantificare le emozioni positive e negative nei dati di testo non strutturati. |
| |
Ora l'esempio che prenderemo in esame è tratto dal Beige Book, un rapporto narrativo pubblicato dalla Federal Reserve. |
| |
E come possiamo vedere nella mappa, la Federal Reserve è divisa in 12 distretti diversi e circa otto volte l'anno, ogni distretto pubblica un rapporto narrativo Beige Book |
| |
che riassumono le condizioni economiche attuali e potenziali future in quella stessa regione geografica. E questi rapporti si basano in gran parte su fonti di dati qualitativi, quindi pensate |
| |
conversazioni con leader aziendali, sondaggi e cose del genere. Quindi penso che il Beige Book fornisca un buon esempio di analisi del sentiment, non solo perché |
| |
sono dati disponibili al pubblico e posso condividerli con tutti voi, ma anche perché sarebbe molto interessante se foste, diciamo, un investitore o voi, |
| |
Sai, gestire un istituto finanziario per sapere quanto i direttori della Federal Reserve siano favorevoli o contrari alle condizioni economiche nelle diverse parti del Paese. Potresti effettivamente usarlo per |
| |
forse guidare il processo decisionale, o anche se è possibile quantificarlo, utilizzarlo in alcune analisi statistiche, magari anche in alcuni modelli predittivi. |
| |
Diamo quindi un'occhiata a un esempio di testo tratto dal Beige Book. |
| |
Qui abbiamo solo un estratto di uno dei rapporti e possiamo vedere, partendo dall'alto, che questo rapporto afferma che le vendite di computer, d'altro canto, hanno subito un forte calo. |
| |
Mentre, se andiamo verso il basso, un individuo ha anche riferito che ci sono diverse pagliuzze favorevoli nel vento, quindi abbiamo evidenziato "gravemente depresso" e "favorevole" e anche "migliorare" qui, |
| |
perché queste sono quelle che chiameremmo frasi sentimentali. Quindi sono una o più parole che denotano un qualche tipo di contenuto emotivo positivo o negativo. |
| |
Quindi in alto abbiamo "gravemente depresso", che sarebbe fortemente negativo, e poi abbiamo "favorevole", che sarebbe generalmente positivo, e usiamo questa codifica a colori in modo che l'arancione sia opposto al blu o al viola (a seconda di come lo vedi). |
| |
per indicare rispettivamente un sentimento positivo e negativo. |
| |
E molte forme di analisi del sentiment fanno proprio questo: cercano frasi positive e negative nel testo. |
| |
Il modulo utilizzato da JMP, e che potresti incontrare altrove, quantifica in realtà il sentimento positivo e negativo su una scala continua. |
| |
Prendiamo ad esempio la parte inferiore di questo secondo frammento di testo, dove qualcuno afferma che i grandi magazzini della regione segnalano scarse vendite. |
| |
Quindi in alto, abbiamo vendite in forte calo e in basso, vediamo vendite scarse. Beh, penso che siamo tutti d'accordo che "fortemente depresso" suona peggio. |
| |
rispetto alle vendite rispetto ai poveri. E quindi potremmo voler, |
| |
Sebbene siano entrambi negativi, quantificare "gravemente depresso" è più negativo che "povero", ed è quello che facciamo nell'analisi del sentiment in JMP. E ne parleremo |
| |
molto brevemente qui su come vengono calcolati questi punteggi, in particolare, ma prima penso che valga la pena di dare un'occhiata |
| |
potenziali dimostrazioni della validità della quantificazione del sentimento esaminando singoli termini e frasi come questi. |
| |
E stiamo parlando essenzialmente di assegnare un punteggio ai documenti, in base alle parole che compaiono in essi |
| |
che pensiamo denotino un'emozione e in quale misura. E questa è una cosa interna e soggettiva, ma questo approccio, l'analisi del sentimento, |
| |
può davvero dimostrare una certa validità predittiva. Ad esempio, se osserviamo come il sentiment del Beige Book si evolve nel tempo, possiamo vedere che in realtà segue in modo piuttosto affidabile le recessioni. Quindi, ecco il sentiment |
| |
sull'asse y. Si può vedere che si estende da -75 a 75, questo è solo l'intervallo che abbiamo tracciato. La scala reale va da -100 |
| |
a 100, dove zero è neutrale. E come si può vedere, con il trend più fluido nel tempo che cattura l'andamento generale del sentiment in tutti i report del Beige Book, |
| |
Si può osservare un andamento interessante in relazione alle recessioni economiche, evidenziate in rosso. In particolare, possiamo osservare che il sentiment sembra calare in modo costante prima di ogni recessione. |
| |
Quindi, anche se questa è una misura relativamente soggettiva di quello che riteniamo essere lo stato emotivo dei direttori della Federal Reserve statunitense, intendo dire che è in linea con le recessioni economiche, come ci si potrebbe aspettare. |
| |
E, cosa abbastanza interessante, traccia anche la situazione geografica. Prendiamo ad esempio la crisi delle dot-com intorno al 2000-2001, quando un gruppo di startup Internet nella Bay Area di San Francisco... |
| |
è crollato. Possiamo vedere, e ho evidenziato le etichette di San Francisco, così possiamo vedere i punteggi per quella regione. Abbiamo il sentiment positivo in arancione, come abbiamo visto prima, e negativo in blu. |
| |
Possiamo vedere che fino al 2000, il sentimento |
| |
era piuttosto alto nella Bay Area, 38,65, e poi è crollato di oltre 60 punti in media nel 2001 a |
| |
-24,7 circa. E si tratta di un'oscillazione molto più ampia rispetto a quella registrata altrove nel Paese, perché è la regione... presumibilmente, perché è la regione che è stata maggiormente colpita. |
| |
E qualcosa di simile lo vediamo con la grande recessione. Quindi, il crollo del mercato immobiliare nel 2008 è stato accompagnato da un calo del sentiment, e non uniforme. |
| |
Sembra che i cali più grandi siano stati evidenziati sulla costa occidentale, quindi di nuovo nella regione di San Francisco, nella regione di New York e anche nella regione di Atlanta, che include |
| |
La Florida, dove vivo, è stata una zona del Paese particolarmente colpita. E, in effetti, se guardiamo in basso, nella riga in basso, possiamo vedere che la Florida... |
| |
In quest'area, il sentiment non sembra riprendersi prima del 2012 circa, a differenza di altre aree geografiche, e questo sembra comprensibile. Il mercato immobiliare in Florida è stato uno degli ultimi a riprendersi a livello nazionale. |
| |
Abbiamo quindi questa misura soggettiva delle emozioni, ma in questo caso è in linea con gli eventi esterni...eventi economici nel modo che ci aspetteremmo. |
| |
E lo sai ancora una volta, stiamo guardando il Beige Book perché è un esempio particolarmente valido e pubblicamente disponibile. Se |
| |
stiamo parlando di domini forse più comuni in cui applicare l'analisi del sentimento, come la ricerca di mercato sui consumatori, in cui si ha a che fare con un |
| |
la voce del cliente sotto forma di dati di testo, quindi recensioni di prodotti, risposte a sondaggi e cose del genere, |
| |
potresti essere in grado di utilizzare l'analisi del sentiment per comprendere meglio, forse persino prevedere, ad esempio, i comportamenti dei clienti, proprio come possiamo utilizzare il sentiment qui per comprendere meglio o prevedere, forse, le recessioni economiche. |
| |
Detto questo, mi rendo conto che negli ultimi minuti abbiamo analizzato i punteggi del sentiment e questo ci porta a chiederci da dove provengano. |
| |
Quindi JMP utilizza una forma di analisi del sentiment chiamata analisi del sentiment lessicale. Quindi utilizza un lessico del sentiment o |
| |
dizionario dei sentimenti |
| |
Per assegnare un punteggio a tutte le singole parole che riteniamo trasmettano un sentimento. Quindi una parola come "fantastico" potrebbe ottenere un punteggio di 90, che è altamente positivo. È quasi il massimo di "positivo", 100, mentre un paio di parole più in basso, "temuto", ottengono un punteggio negativo di 60. |
| |
Ora possiamo assegnare dei punteggi a questi termini e sostanzialmente contarli o calcolarne la media in ogni singolo documento. |
| |
Ma vogliamo tenere conto di un paio di altre cose. Se ricordate, la prima espressione emotiva che abbiamo visto nell'esempio del Beige Book era "gravemente depressa". |
| |
In altre parole, "gravemente", come esempio di qualcosa che chiamiamo un intensificatore, che è fondamentalmente un moltiplicatore del sentiment. Come potete vedere, potremmo dichiarare "incredibilmente" un moltiplicatore con un punteggio di sentiment di 1,4, dove in realtà un po'... |
| |
lo ridimensiona di 0,3, quindi diminuisce un po' l'entità del sentimento. |
| |
Quindi, se compare un intensificatore con il termine del sentimento, eseguiamo quella moltiplicazione e poi anche se compare un negatore. Quindi diciamo, |
| |
sai, qualcosa è no o non è o non dovrebbe essere o non è stato, lo moltiplichiamo per meno uno, quindi sostanzialmente, sai, invertiamo il segno; positivo diventa negativo e viceversa. |
| |
E quindi per qualsiasi frase emotiva, eseguiamo semplicemente questa semplice moltiplicazione e poi su un documento, |
| |
possiamo prendere il punteggio medio o forse la differenza tra i punteggi minimi e massimi del sentimento per |
| |
calcolare un valore di sentiment per quei documenti. Ed è quello che stavamo osservando in quei grafici, quindi il grafico del sentiment nel tempo in quelle mappe. |
| |
Questa è l'analisi del sentiment lessicale. È una pratica molto comune ed è il tipo di analisi del sentiment implementato in JMP. E come vedremo, quando si ha JMP |
| |
Calcolando tutti i punteggi del sentiment, si ottengono molte informazioni utili. Ecco un esempio di come appare il report di analisi del sentiment. |
| |
Per dare un'anteprima di un solo elemento dei risultati, qui in alto abbiamo un semplice riepilogo del sentiment su tutti i nostri documenti. |
| |
Abbiamo quindi un istogramma opportunamente codificato a colori che ci mostra come la distribuzione dei sentimenti generali sembri tendere al positivo, mentre abbiamo una coda di sentimenti negativi piuttosto marcata. |
| |
Possiamo vedere che, in tutti i documenti, il punteggio medio del sentiment è 4,1, quindi leggermente superiore alla neutralità. |
| |
Per tutti i documenti complessivamente positivi, che sono 3.900, il punteggio medio è 22,9, mentre tra i circa 1.400 documenti negativi, il |
| |
il punteggio medio è negativo 15,4, quindi i documenti negativi non sono così fortemente negativi come lo sono i documenti positivi. |
| |
Ora, naturalmente, sapete, qui con il Beige Book, potrei dire, beh, sapete, in questo caso dal 1970 ad oggi, guardando solo il punteggio medio del sentimento, forse, sapete, non mi interessa tanto quanto guardare i punteggi dei singoli documenti o |
| |
magari osservando la distribuzione di certi termini di sentimento. Ma ancora una volta, se si ha a che fare con dati in, |
| |
diciamo, ricerche di mercato sui consumatori, qualcosa del genere, qualsiasi dato di testo in cui si ha la voce del cliente, anche solo un riepilogo di alto livello come questo che può dirci bene quanto positivi o negativi sono i sentimenti dei nostri clienti, in base ai dati che abbiamo, |
| |
Anche un semplice report può essere davvero prezioso. Ma stiamo per passare a JMP e scopriremo che il report di analisi del sentiment offre molti altri modi per esplorare i dati e ottenere informazioni. |
| |
Passiamo quindi a JMP e vediamo come fare. |
| |
Eccoci qui, ho JMP Pro 16.1 e, prima di immergerci nei dati del Beige Book, vorrei fare un saluto a Xan Gregg. |
| |
Per chi non lo conoscesse, Xan è un direttore del nostro team di sviluppo. È il creatore di Graph Builder. |
| |
Ed è anche la persona che ha avuto l'idea di analizzare i dati del Beige Book, ed è stato anche così gentile da estrarre le pagine HTML dagli archivi del Beige Book e fornirmi una bella tabella dati JMP. Quindi grazie mille, Xan. |
| |
Bene, ora diamo un'occhiata all'analisi del sentimento e, in realtà, invece di entrare nei risultati, |
| |
sai, voglio mostrarti brevemente come impostare l'analisi, perché ci sono alcune considerazioni importanti di cui essere consapevoli, |
| |
non solo per quanto riguarda il modo in cui JMP lo implementa, ma anche per come eseguire l'analisi del sentimento o l'analisi del sentimento lessicale in generale. |
| |
E per dimostrare questa impostazione, in realtà esaminerò solo un sottoinsieme dei dati dal 2010 ad oggi, in questo caso, solo per rendere le cose più immediate, perché chiederemo |
| |
Text Explorer aggiorna automaticamente la sua analisi più volte e vogliamo che ciò avvenga il più rapidamente possibile. |
| |
Quindi, ecco qui quel sottoinsieme di dati, quindi abbiamo i nostri rapporti Beige Book per tutti i 12 distretti a partire da gennaio 2010 fino al rapporto più recente del mese scorso. |
| |
Bene, per avviare la nostra analisi del sentiment, andrò su "Analizza" e selezionerò "Esplora testo". Prenderò il nostro testo e lo inserirò nel ruolo "Colonne di testo". Un paio di cose da notare. |
| |
Uno è che mentre Text Explorer generalmente supporta un certo numero di lingue, |
| |
l'analisi del sentiment è attualmente disponibile solo in inglese. |
| |
E l'altra è che se... almeno se sei un utente esperto di Text Explorer, potresti essere abituato ad attivare lo stemming e noterai che per ora lo lascerò disattivato. |
| |
Per chi non conoscesse lo stemming, si tratta di un modo per comprimere più forme della stessa parola o, in termini linguistici, lo stesso lemme. Quindi prendiamo strong, stronger e strongest. |
| |
Ci saremmo scontrati con tutti loro e avremmo semplicemente detto: "Beh, sono tutti forti per i nostri scopi". |
| |
E ovviamente non vogliamo farlo qui perché il più forte è più positivo di più forte, che è più positivo di forte. |
| |
Quindi lasciamo lo stemming disattivato e, in effetti, anche se lo attivassi una volta richiamata l'analisi del sentiment, ignorerebbe quello stemming, perché, ripeto, non dovresti davvero usarlo. |
| |
Quindi clicco su "Ok". No, e sembra che mentre lo facevo, si sia verificato un piccolo problema tecnico. Mi scuso per il problema strano che si è verificato ultimamente con il mio computer, ma va bene così. Possiamo semplicemente riavviare la condivisione dello schermo e ripristinare il video. Ciao a tutti. |
| |
E lo condivideremo. Ok, quindi dovremmo essere ancora in funzione, sembra che la registrazione sia ancora in corso. Lasciatemi controllare che JMP sia assegnato al monitor giusto qui. Sembra proprio di sì. Va bene, scusate tutti. Comunque, torniamo al punto. |
| |
Quindi ecco qui la nostra finestra di esplorazione del testo. Ora, di nuovo, se sei abituato a fare |
| |
Analisi del testo: saprai che in genere si inizia dichiarando le stop word. Ad esempio, le persone parlano dei miei contatti nel settore e mi hanno detto che... E sai che non vorrei usare la parola "contatti" nella mia analisi, quindi normalmente lo farei. |
| |
aggiungilo come parola di stop e poi ripetilo potenzialmente per ore |
| |
dichiarare le stop word prima di aver effettivamente effettuato la mia analisi, cosa che non è necessario fare con l'analisi dei sentimenti. |
| |
Tutto si basa su quel dizionario dei sentimenti, e quindi, per una parola come "contatti", non è presente nel dizionario. È comunque funzionalmente esclusa, quindi è un buon modo per risparmiare tempo. |
| |
Tuttavia, probabilmente vorrai dichiarare frasi, ad esempio, immobiliare o una che stiamo per esaminare, che è la domanda di prestito, che è seduta qui. |
| |
Quindi clicco su "richiesta di prestito" e la aggiungo come frase. Viene inserita nel nostro elenco di termini, quindi cerchiamola velocemente. |
| |
Eccolo qui, 1.139 casi. E questo ci aiuta ad approfondire i sottodomini in queste analisi o in questo |
| |
in questo set di dati. Immaginiamo quindi di voler calcolare il sentiment, non nel suo complesso, ma solo rispetto alla domanda di prestiti. |
| |
Per fare ciò, come vedremo, devo prima dichiararlo come frase, quindi è ragionevole procedere e dichiarare alcune frasi almeno per i domini più importanti che potrebbero interessarti. |
| |
Bene, ora concludiamo e passiamo all'analisi del sentiment. |
| |
E vedrete che quando lo farò, pubblicherò un rapporto completo, e quindi potrebbe sembrarmi giunto il momento di iniziare a esplorare i miei risultati, perché sembra un'analisi completa, ma vorrei incoraggiare chiunque lo utilizzi a frenare e a considerare il proprio dizionario dei sentimenti. |
| |
Diversi, sai, gruppi di persone che generano testi in contesti diversi su cose diverse, con linguaggi diversi |
| |
puoi usare il linguaggio in molti modi diversi. Ed è importante personalizzare le liste di termini di negazione del sentimento e dell'intensificatore |
| |
Per riflettere questo. Quindi... esito a usare la parola "mai", ma... dirò "mai", semplicemente usando il dizionario dei sentimenti predefinito. Otterrai sempre risultati più validi se lo gestisci tu stesso. |
| |
Quindi, se consideriamo i termini del sentimento, possiamo vedere che i punteggi si basano su questo dizionario integrato, che è relativamente scarso. |
| |
Ma vorrei leggere attentamente una parte del testo e vedere se riesco a identificare altre parole che dovrebbero essere incluse nel dizionario. Dovrei anche menzionare che potresti anche voler dare un'occhiata al |
| |
l'elenco incorporato ed escluderne alcuni, anche se tale elenco è relativamente scarno e quindi idealmente non dovresti escluderne troppi o forse nessuno. |
| |
Quindi, nel nostro report, hai a disposizione alcuni strumenti per gestire il tuo dizionario, non solo per esplorare i risultati. Posso selezionare il documento in questa tabella e visualizzare il testo. |
| |
Proprio qui sotto. Quindi mi allontano brevemente dalla parte inferiore dello schermo. Potete vedere evidenziati nel testo i termini e le frasi del sentimento che sono già stati trovati, leggermente migliori. |
| |
Ma se guardiamo, diciamo, qui abbiamo la parola debole, le condizioni attuali sono rimaste deboli, e risulta, per quanto ne so, che questa è una parola molto comune |
| |
termine nei rapporti del Beige Book indica che qualcosa è essenzialmente negativo. Non lo so, non sono un economista, ma forse è vero che in economia, |
| |
Sai, debole è sinonimo di cattivo, forte è sinonimo di buono, e questa è la mia opinione, dopo aver esaminato attentamente questi dati. |
| |
Ora vedrai che non è evidenziato. Ciò significa che "debole" non è attualmente nel mio dizionario, ma posso aggiungerlo molto facilmente. Basta passarci sopra il mouse. |
| |
termine direttamente nel testo, e posso aggiungerlo come negatore. Posso assegnargli un valore intensificatore o un valore di sentimento, in modo che sia moderatamente negativo, quindi cliccherò su negativo 60. |
| |
E quello che succede è che ora viene aggiunto al mio dizionario e tutti i punteggi dei sentimenti vengono ricalcolati in tempo reale qui. |
| |
Quindi, nel mio elenco di termini di sentiment, ora posso persino selezionare "debole" e vederne tutte le occorrenze. Se torniamo alla colonna "conteggio" della tabella, sembra che si verifichi 1.012 volte in questo sottoinsieme dei dati del Beige Book. |
| |
Quindi, certamente, esamina e leggi, magari, un sottoinsieme casuale o un sottoinsieme casuale stratificato dei tuoi documenti e prova a identificare alcuni termini emotivi che appartengono al tuo dizionario. |
| |
Ora, puoi anche fare affidamento su una funzionalità utile, questa possibile lista di sentimenti, |
| |
che in realtà offre potenziali termini di sentimento da considerare. Potrei notare, ad esempio, che qui è forte, e metto debole. Certamente voglio forte e quindi dichiarerò che è un |
| |
forte. |
| |
E ho usato i pulsanti di scelta rapida, sai, positivo 60, negativo 60, ma puoi inserire qualsiasi punteggio tu voglia tra negativo 100 e 100, quindi forse in realtà voglio solo un punteggio di 50 per "forte". Quindi lo farò, e se guardi in basso adesso, puoi vedere di nuovo tutto, gli aggiornamenti automatici. |
| |
Quindi, fate attenzione alla vostra lista di termini di sentimento. Inoltre, non vi spiegherò i meccanismi per usare i termini intensificatori di negazione, ma valgono gli stessi concetti. |
| |
Assicurati di averli scelti correttamente per riflettere davvero il tuo dominio e poi ti consiglio, sotto il triangolo rosso, di andare sempre negli strumenti di gestione dei termini completi per inserire manualmente alcuni termini, quindi forse so che voglio il più forte e voglio che sia un punteggio di 90. |
| |
Quindi posso aggiungere una sorta di formato batch qui |
| |
senza l'aggiornamento automatico ogni volta, oppure posso anche importare ed esportare elenchi di termini di sentimento, |
| |
il che è ottimo per condividerli con altre persone, per renderli portatili, per aiutarci a tenere traccia del nostro lavoro e renderlo replicabile. |
| |
Poiché i risultati dipendono in larga misura dall'elenco dei termini del sentimento e anche dagli intensificatori e dai negatori, consiglio vivamente di esportarli quando si ha un elenco impostato, in modo da averlo completamente documentato e poterlo importare in una nuova analisi e replicarlo. |
| |
Quindi, basta con l'impostazione dell'analisi. Vorrei solo sottolineare che se si utilizza l'analisi del sentiment, si ottiene un report, ma non bisogna immergersi subito in quel report. Prima di tutto, bisogna curare il dizionario. |
| |
Quindi, ora che ho |
| |
Dopo aver ribadito senza pietà questo punto, diamo un'occhiata a quel rapporto. |
| |
E quello che farò ora è creare un report completo utilizzando, in questo caso, tutti i 5.300 e più |
| |
Il Beige Book riporta qui. Quindi, come ho detto prima, nella sezione dei risultati c'è questo riepilogo generale. Non lo ripeteremo. Abbiamo visto che avete anche |
| |
Tutti i singoli documenti, così puoi visualizzarli per vedere come sono stati valutati e cosa contengono. Esplora l'uso di termini e frasi che esprimono sentimenti nel contesto. |
| |
In questa tabella puoi anche vedere una serie di misure utili, ad esempio, la somma totale del punteggio positivo per un documento, |
| |
il punteggio medio delle frasi con sentimenti positivi nel documento. Lo stesso vale per quelle negative e poi il punteggio complessivo e come noterete, |
| |
Passando il mouse sopra questi valori, vedo come vengono calcolati. Quindi, se guardo la media dei punteggi negativi, vedo che ci sono sette termini in totale, vedo i loro punteggi e poi vedo la media. |
| |
Posso anche vedere che la media, in questo caso, di un punteggio negativo, è semplicemente il punteggio medio di tutti i termini del sentimento, positivi e negativi. |
| |
Ci sono molti modi pratici in cui passare il mouse sugli elementi di questo report può rivelare informazioni utili. Consiglio vivamente di provarlo. Passate il mouse in punti diversi. Probabilmente troverete qualcosa di utile. |
| |
Ora, in genere non analizziamo attentamente i singoli documenti quando eseguiamo un text mining come questo. Voglio dire, se solo potessimo leggerli tutti, |
| |
Allora lo faremmo. Voglio dire, siamo più bravi dei computer a capire il linguaggio. Quindi, sapete, non ci limiteremo a esaminare l'intera raccolta di 5.300 documenti, ma potremmo dire di ordinarli per punteggio e dare un'occhiata solo ai più negativi. |
| |
rapporti, e leggerli attentamente per farsi un'idea di, okay, bene, |
| |
Quando le persone sono particolarmente negative, per cosa lo sono? Cosa posso imparare su cosa sta causando quella negatività? E ancora, soprattutto, diciamo, nelle ricerche sui consumatori, analizzando le recensioni dei prodotti, i sondaggi, cose del genere possono essere davvero preziose. |
| |
Abbiamo anche visto che hai l'elenco dei termini di sentimento, dove possiamo vedere tutti i diversi termini di sentimento che appaiono, la frequenza con cui appaiono e il loro |
| |
punteggi ad essi associati. E se ne prendo uno, posso vedere anche quei termini nel contesto. Quindi, se viene utilizzato un termine che esprime un sentimento specifico |
| |
Dato che è piuttosto comune nei tuoi dati, potresti volerlo comprendere meglio nel contesto per capire perché le persone lo usano o cosa le spinge a usarlo. Ed è piuttosto semplice farlo, basta selezionare il termine e poi scorrere il testo sottostante. |
| |
Ora, infine, quella che ritengo essere una delle funzionalità più utili nell'analisi dei sentimenti si trova in questa scheda. |
| |
Quindi, quando clicco su Cerca, trova termini non sentimentali che si verificano frequentemente con termini sentimentali e ci consente di eseguire un'analisi approfondita, in cui valutiamo il sentimentalismo solo rispetto a quello |
| |
Termine selezionato, o quello che chiameremo caratteristica, o potremmo anche chiamarlo sottodominio. Quindi, forse, il sentiment riguarda solo le vendite e possiamo vedere che le vendite sono state segnalate deboli, in calo. |
| |
Oppure, per tornare a prima, quando ho detto che potenzialmente dovresti fare un po' di chiarezza. Cerchiamo la domanda di prestito in questo elenco, |
| |
e valutiamo tutti i nostri documenti solo in base al sentiment riguardo alla domanda di prestiti. E ovviamente questo utilizzando alcuni |
| |
elaborazione del linguaggio naturale per cercare di determinare quali frasi di sentimento si applicano e quali no alla domanda di prestito, e con qualsiasi metodo NLP, non sarà accurato al 100%, ma la sua accuratezza, soprattutto in un testo ben formato scritto in |
| |
Nel modo in cui lo sono i report del Beige Book, sembra che funzioni piuttosto bene. E quindi ora, ad esempio, posso capire cosa pensano della domanda di prestiti. |
| |
in tutti questi report? E sembra generalmente positivo, anche se abbiamo alcuni report particolarmente negativi. |
| |
L'ultima cosa da sottolineare qui, e giusto per tornare al punto di partenza, probabilmente avrete notato che ho dei picchi quando l'ho fatto, e questo è... sembra positivo 60 e negativo 60. |
| |
E questo non fa che sottolineare ancora una volta quanto sia importante curare il proprio dizionario dei sentimenti quando si esegue questa analisi e tenere conto di come lo si è costruito quando si interpretano i risultati. |
| |
Quindi, questo picco a +60 potrebbe essere dovuto al fatto che quando inizialmente ho inserito molti termini relativi al sentimento nel dizionario, stavo utilizzando questi pulsanti di scelta rapida. |
| |
Quindi ho questi 30, 60, 90 pulsanti di scelta rapida e quindi mi sto quasi preparando a vedere picchi nei punteggi a |
| |
positivo 60 e negativo 60. E se avessi prestato un po' più di attenzione a rendere i punteggi più dettagliati, allora forse non avrei visto proprio questa, sai, interessante, la chiameremo distribuzione. |
| |
Quindi lo dico solo per sottolineare ancora una volta quanto sia importante procurarsi il proprio dizionario dei sentimenti. |
| |
insieme in anticipo e poi, una volta fatto, hai tutte queste informazioni utili sul sentimento globale, sentimento per documento, sentimento per termine individuale o anche per sottodominio, utilizzando queste funzionalità |
| |
sezione qui. E poi, naturalmente, come probabilmente sei abituato a fare in JMP, quando è il momento di prendere ciò che hai fatto e salvarlo, in modo da poterlo usare altrove sotto il triangolo rosso, troverai quelle opzioni, quindi potrei salvare i punteggi dei miei documenti. |
| |
Se torniamo alla mia tabella dati, che si trova proprio qui, puoi vedere che in realtà ho salvato, in questo caso, i punteggi per quel sottodominio della domanda di prestito, nella mia tabella dati in modo da poterli utilizzare, ad esempio, in ulteriori analisi o grafici, come alcuni dei grafici che abbiamo creato per le diapositive. |
| |
Ecco l'analisi del sentiment, una novità di JMP Pro 16 per quantificare le emozioni positive e negative nel testo. E |
| |
Detto questo, passiamo alla selezione dei termini, l'altra nuova tecnica di text mining di cui vorrei parlare. Come dice il nome, la selezione dei termini consiste nell'identificare le parole associate a un risultato, ovvero a un'altra misura. Ad esempio, qui abbiamo: |
| |
i testi del rapporto Beige Book, ma potremmo anche incorporare |
| |
variabili economiche, ad esempio il PIL, e vedere come certi termini nei report del Beige Book sono correlati al PIL, o magari a una variabile binaria, come ad esempio se l'economia è in recessione o meno. |
| |
Questa è una...selezione di termini qui è uno strumento di uso generale per trovare parole associate ad altre variabili, che può essere utile |
| |
in un contesto interpretativo, per trovare forse i fattori determinanti di qualche altra variabile, o forse in un esercizio di modellazione predittiva, così da poter identificare termini che sono predittivi di qualcosa in modo che in futuro possiamo usare quei termini per aiutare a prevederlo. |
| |
Vediamo quindi come funziona la selezione dei termini e, in realtà, prenderemo in esame un esempio diverso dal reclamo dei consumatori del Consumer Financial Protection Bureau. |
| |
database. Pertanto, i consumatori, se hanno un reclamo riguardante un prodotto o servizio finanziario, possono presentare tale reclamo al CFPB e il CFPB media tra quel consumatore e il |
| |
Il fornitore del prodotto o servizio finanziario. Ecco un esempio di ciò che si può trovare in questi dati. Ecco un esempio: qualcuno afferma di aver monitorato il proprio rapporto di credito e di aver ricevuto un avviso di recupero crediti per 3.900 dollari, ma afferma di non saperne nulla. |
| |
E puoi anche vedere, nella tabella dei dati, che abbiamo una colonna proprio accanto che dice che il consumatore ha contestato, e qui il consumatore ha contestato, e ciò significa che ha ricevuto una risposta dal |
| |
fornitore di servizi finanziari e non erano soddisfatti della risposta, quindi l'hanno contestata. |
| |
Come potete vedere dalle specifiche del grafico di intestazione nella tabella dati, non è così comune. In pratica, si tratta di circa uno su cinque nel set di dati che stiamo esaminando. |
| |
portare alla controversia del consumatore, ma se sei la società finanziaria che si occupa di questo cliente, non vorrai certo fornire una risposta e poi vederla continuare a contestare. Potresti voler capire quali tipi di reclami |
| |
stanno arrivando situazioni che effettivamente portano a controversie tra i consumatori, in modo che tu possa, ad esempio, identificare in anticipo quelle che potrebbero dare origine a controversie, |
| |
o semplicemente comprendere meglio le tue pratiche di risoluzione delle controversie per ridurne il numero. Ci sono molte ragioni per cui dovresti tenerne conto. |
| |
Dati narrativi sui reclami dei consumatori per vedere cosa potrebbe essere alla base di queste controversie in primo luogo, e ciò che fa la selezione dei termini è trovare i singoli termini nei testi associati a quel risultato, a quella variabile di controversia. |
| |
Quindi qui ho un grafico che ho realizzato dei risultati di un'analisi di selezione dei termini, dove abbiamo una raccolta di termini lungo l'asse Y. Sulla X abbiamo il logaritmo, che è |
| |
una misura della forza dell'evidenza statistica dell'associazione. Quindi questo è effettivamente ordinato in base ai valori di logworth, quindi in alto abbiamo |
| |
"violate" e potete vedere il puntino lì. Questo dimostra che abbiamo fatto lo stemming qui, quindi "violate" significa che potrebbe essere "violate", "violated", "violation" e così via. |
| |
Quindi abbiamo forti prove statistiche che il termine "violazione" è associato a controversie dei consumatori, e in realtà nella codifica a colori, |
| |
Ho la forza dell'effetto in termini di rapporto di probabilità qui. Quindi quando le persone... quando qualcuno menziona quella parola, violare, |
| |
le probabilità di una controversia aumentano di un fattore di circa 1,5. Quindi se sono |
| |
Se fossi un fornitore di servizi finanziari, potrei voler stare attento a quel termine. Potrei voler indagare su come e quando le persone denunciano determinate violazioni e, come vedremo, si tratta in realtà di violazioni della legge federale. |
| |
Quando affermano questo in un reclamo, come li gestiamo? Sembra che forse non li stiamo gestendo in modo soddisfacente. |
| |
Forse vuoi usare la presenza o l'assenza di quel termine in parte di un modello predittivo per segnalare in anticipo reclami potenzialmente problematici, in modo da poterne accelerare la risoluzione. |
| |
Quindi, come funziona tutto questo? Stiamo costruendo un modello che parte dalla matrice dei termini del documento, che è una rappresentazione del testo, dove ogni |
| |
ogni riga è un documento e ogni colonna è un termine che potrebbe apparire. E poi |
| |
In questo caso, abbiamo quella che chiamiamo ponderazione binaria, quindi, se il termine compare, inseriamo uno; se il termine non compare nel documento, inseriamo zero. Esistono altre ponderazioni, ma per il nostro esempio ci limiteremo a quella binaria. |
| |
Quando inseriamo quelle colonne binarie come predittori in un modello, e in particolare utilizziamo |
| |
La regressione generalizzata di JMP e vedremo perché tra poco. Innanzitutto, vogliamo solo specificare che quello che stiamo facendo qui è una regressione, in effetti |
| |
Probabilmente sentirete dire che alcuni chiamano la selezione dei termini regressione del testo. |
| |
Non preoccuparti troppo della forma del modello. Sto solo cercando di sottolineare che quello che stiamo facendo è prendere in considerazione una variabile di risultato. |
| |
Poiché abbiamo una variabile binaria, si tratta delle probabilità logaritmiche per la regressione logistica, e stiamo dicendo che è uguale a, sai, un'intercetta più, |
| |
Sai, un coefficiente moltiplicato per una variabile. In questo caso, è un binario uno o zero; la violazione è apparsa o no. |
| |
Più un altro valore del coefficiente, in questo caso, negativo 0,2 volte un'altra variabile binaria; qui se qualcuno ha menzionato il termine "hang up" o meno, e così via. |
| |
E quindi inseriamo un gruppo di termini in questo modello e utilizziamo la regressione generalizzata per selezionare quali termini appartengono al modello e quali no. E |
| |
Quello che vediamo qui è un esempio di come JMP calcola quella soluzione, quali termini ci appartengono e quali no. |
| |
Qui nel percorso della soluzione, possiamo vedere in blu tutti i termini che sono entrati nel modello e in nero tutti i termini che in realtà non sono stati inclusi nel modello, perché non contribuiscono realmente al suo valore predittivo. |
| |
E quindi quello che otteniamo è un elenco di termini. Abbiamo i loro valori dei coefficienti modello, quindi qui, ad esempio, violate, ho ottenuto quel valore 0,4 perché in realtà è il |
| |
valore del coefficiente quando adattiamo il modello. E inoltre, come abbiamo detto prima, otteniamo una misura dell'evidenza statistica o della forza dell'evidenza, |
| |
questo valore di logworth, 16,58 qui, dove, se vuoi una regola pratica, qualsiasi valore superiore a 2, sai, potrebbe essere considerato una forte prova statistica, ma in realtà, logworth è il logaritmo negativo in base 10 del valore p, quindi il valore di 2 corrisponde semplicemente a un valore P di 0,01. |
| |
Quindi abbiamo entrambi, in questo caso con il coefficiente, quanto aumenta o diminuisce le probabilità di una controversia? E poi il log vale la pena di dirci, sai, quanto sono affidabili le nostre prove a riguardo? |
| |
Con queste informazioni possiamo fare moltissimo e stiamo per vedere come farlo mentre passiamo a JMP ed eseguiamo effettivamente questa analisi. |
| |
Eccomi di nuovo sul mio altro desktop. Voglio recuperare i dati sui reclami dei consumatori. |
| |
E |
| |
invece di aprire Text Explorer da zero, lo avvierò semplicemente utilizzando uno script di tabella qui. |
| |
E come vedremo, una volta che appare...scusate, è apparso nella schermata sbagliata. Ecco fatto. |
| |
Noi, come sapete, iniziamo sempre con un elenco di termini che verranno effettivamente inseriti nell'analisi. Poi abbiamo il nostro elenco di frasi, in cui possiamo dichiarare che alcune frasi che appartengono all'elenco di termini dovrebbero essere incluse. |
| |
Ho incluso molte frasi, come "Fair Credit Reporting Act", perché se la menzione di quella frase o di quel concetto è associata a una controversia dei consumatori, voglio trovarla. |
| |
E noterete anche che se vado al nostro...andiamo a gestire le stop word qui, ho dichiarato molte stop word. Quindi queste sono tutte parole che |
| |
Non voglio includerli nell'analisi, principalmente perché potrebbero coprire altre parole. |
| |
Potrebbero essere molto frequenti e se chiedessi di analizzare solo le 500 parole più frequenti, non vorrei rovinare tutto. |
| |
Soprattutto perché, anche se "able" venisse restituito come termine associato a una controversia, non so nemmeno esattamente cosa farei...cosa farei con ciò o come potrei interpretare una parola generica come "able". |
| |
Quindi, prenditi il tempo necessario per scrivere le stop word e le stop phrase e, quando sei pronto, sotto il triangolo rosso, richiama la selezione dei termini. |
| |
Quindi quando lo faremo, selezioneremo prima il nostro |
| |
variabile di risultato e questo è il consumatore contestato. E vogliamo parlare di cose in termini di probabilità che si verifichi una controversia. |
| |
Qui puoi impostare variabili di risultato continue, oltre che categoriche. Entrambe funzionano. E devo anche sottolineare che stiamo parlando di una controversia, che, |
| |
Sai, potresti pensare che potrebbe effettivamente essere una sorta di indicatore del sentimento, ovvero che se qualcuno contesta qualcosa, è probabilmente perché non è felice. |
| |
Ma potrebbe essere comune che alcune persone abbiano dati, in cui è presente una variabile esterna che rappresenta una misura più diretta del sentimento, ad esempio una valutazione a stelle su un prodotto, che indica realmente la soddisfazione. |
| |
E quindi, se hai una buona misura del sentimento, insieme ai tuoi dati di testo, potresti usare uno strumento come questo per fare quello che chiameremmo |
| |
analisi del sentimento derivata dai dati, in cui si utilizza questo strumento per estrarre termini che sono predittivi di una misura del sentimento, selezionando quindi essenzialmente i termini del sentimento e automaticamente |
| |
scoprire quali dovrebbero essere i loro punteggi. Quindi può essere molto utile. Ma non è esattamente quello che stiamo facendo qui. Lo stiamo usando in modo più generale. |
| |
Bene, quindi per quella matrice dei termini del documento, mi atterrò alla ponderazione binaria. Per essere più concisi, dirò di dare un'occhiata solo ai 200 termini più frequenti. |
| |
Oltre a ciò, a partire dal termine 201, non lo includerò nell'analisi. In pratica probabilmente ne includerò di più, sapete, voglio solo che sia bello e conciso per la demo. |
| |
E se sei un utente GenReg, vedrai che hai |
| |
Opzioni wome per specificare in anticipo i metodi di stima e convalida. Lascerò le impostazioni predefinite e cliccherò su "Esegui". |
| |
Quindi, quello che succede è che JMP chiama GenReg. Sta costruendo un modello di regressione logistica ed effettuando la selezione delle variabili utilizzando il metodo della rete elastica. |
| |
Sembra che abbiamo appena avuto un secondo problema tecnico. Mi dispiace moltissimo. Lo risolveremo man mano che questo modello si adatta. Quindi vediamo. Ripristineremo la condivisione dello schermo. |
| |
Mi riporteremo indietro. Sembra che stiamo ancora registrando, quindi andiamo avanti. Ecco il risultato. |
| |
Prima di entrare nel dettaglio del report, daremo un'occhiata a questa sola riga nella tabella riassuntiva. Questa riassume il singolo modello che ho costruito finora. |
| |
Ad esempio, vedo che ha restituito 145 termini. Ho usato AICc come validazione e questo è il valore di AICc. Possiamo vedere altre statistiche di adattamento. |
| |
E, proprio come per qualsiasi modello, potremmo voler provare più esecuzioni del modello per costruire il modello più adatto ai nostri dati. |
| |
Quindi se vado su questo nodo di regressione generalizzata, vedrai che GenReg è effettivamente incorporato in Text Explorer. |
| |
Potrei esplorare più in dettaglio il modello che abbiamo adattato, o nel mio caso, adatterò un altro modello per vedere se riesco a fare di meglio. Realizziamo una rete elastica adattiva. |
| |
E adatteremo quel modello e vedremo se funziona meglio della normale rete elastica che abbiamo già adattato. |
| |
Ok, quindi si adatta anche a quel modello. |
| |
Se andiamo al nostro riepilogo, possiamo vedere che questo ha restituito 98 termini, ha in realtà un AICc inferiore, quindi potrebbe essere più adatto. |
| |
Quindi sceglierò quel modello. Ora, se volessi usare l'originale, potrei semplicemente cliccarci sopra. Come potete vedere, il report qui sotto si aggiorna in base al modello che ho selezionato in questa tabella. |
| |
Ho qui sotto la mia lista di termini. Ne abbiamo già parlato, quindi potrei esaminarla in termini di coefficienti. Ecco quindi i termini che hanno più... l'effetto maggiore, aumentando le probabilità di una controversia tra consumatori. |
| |
Ecco quelli che hanno l'effetto maggiore nel ridurre le probabilità di una controversia tra consumatori. In ognuno di essi, ad esempio, potrei guardare "hang up" e vedere che, ovviamente, si parla di loro che riattaccano a qualcuno o di qualcuno che riattacca a loro, e forse ha senso per noi che |
| |
che questo sarebbe un segnale predittivo di una diminuzione delle probabilità di controversia, perché sembra che si tratti in realtà di un problema di comunicazione e che potrebbe essere un po' più facile da risolvere. |
| |
Di nuovo, vogliamo prestare attenzione ai nostri valori logaritmici qui, 2,883, quindi è un po' al di sopra della regola pratica, 2, che ho affermato prima, quindi potremmo dire ok, penso che ci siano prove statistiche abbastanza forti che questa sia una vera associazione. |
| |
Giusto per ribadire il concetto, se andiamo qui, vediamo la parola "polizia". E la mia prima impressione è che la gente dica: "Beh, ho fatto una denuncia alla polizia, o ho chiamato la polizia". |
| |
Probabilmente non saranno così propensi ad andarsene se diamo una risposta, la controversia sulla probabilità deve aumentare se qualcuno è già arrivato al punto di chiamare la polizia. |
| |
Ma se guardiamo al |
| |
Logworth, possiamo vedere bene che le prove statistiche di questo non sono poi così forti, quindi, anche se viola il mio intuito, sai, forse, forse non è del tutto reale. |
| |
Non è certo al punto da volerlo portare fino alla dirigenza e dire: "Ehi, se la gente dice di aver chiamato la polizia, in realtà è una buona cosa". Non lo stiamo certo dicendo. È stato semplicemente selezionato per l'inclusione nel modello qui perché, in definitiva, |
| |
si traduce in un modello più adatto, ma spetta comunque a noi applicare le nostre conoscenze e il nostro buon senso nell'interpretazione dei risultati. |
| |
Quindi questa tabella potrebbe essere, se quello che stai realmente cercando di fare è semplicemente identificare i termini e quantificare i loro effetti in qualche modo, |
| |
Questo potrebbe essere il tipo di obiettivo della tua analisi. Quindi potrei fare clic con il tasto destro e andare a trasformarlo in una tabella dati. |
| |
e ottenere una tabella di dati di questi termini e dei loro coefficienti e valori logaritmici, e poi usarla per guidare un'analisi delle nostre risposte precedenti, degli sforzi di miglioramento o addirittura segnalarli come termini che dovrebbero essere inclusi in una sorta di modello predittivo per il futuro. |
| |
Ma, sai, abbiamo costruito un modello qui, un modello di regressione, quindi abbiamo informazioni, a livello di singolo documento, sul |
| |
la somma totale dei coefficienti che prevedono un aumento delle probabilità di controversia, la somma totale che prevede una diminuzione, il valore complessivo del modello, la probabilità di |
| |
Una controversia tra il modello assegnato e ciò che abbiamo effettivamente osservato. Quindi, tutto ciò che ci si potrebbe aspettare quando si valuta effettivamente a livello di singolo documento, ovvero quanto bene funziona questo modello. |
| |
In alto, abbiamo anche un riepilogo generale, in questo caso, dei singoli documenti e del loro...quello che chiamiamo il nostro contributo, quindi questo è il |
| |
Somma o media di quei valori dei coefficienti. Quindi, ad esempio, sembra che 30.412 dei nostri documenti abbiano una somma... somma totale positiva dei loro valori dei coefficienti e il valore medio del coefficiente, il contributo medio, sia di circa 0,57. |
| |
Quindi, ancora una volta solo una bandiera, sai, stiamo parlando di coefficienti di regressione qui, e quindi questi valori di contributo, la tabella dei coefficienti, tutto questo dovrebbe essere interpretato come faresti quando stai costruendo |
| |
modello di regressione lineare altrimenti, quindi nel nostro caso qui, regressione logistica, dovremmo interpretare questi |
| |
appropriatamente, cioè, se li eleviamo a potenza, allora abbiamo a che fare con il logaritmo o... scusate... allora abbiamo a che fare con il rapporto di probabilità, cioè il fattore per cui le probabilità aumenterebbero o diminuirebbero se questa parola appare nel testo. |
| |
Tuttavia, anche se non sei un esperto di regressione, questi valori possono comunque essere utili in senso più generale, in quanto puoi osservare quali termini hanno l'effetto più forte e quali no. Lo stesso vale per il logworth, quali hanno le prove più forti e quali no. |
| |
Ora, infine, come puoi immaginare, intendo dire che abbiamo già visto come salvare la tabella dei termini, ma se il tuo obiettivo non è quella tabella dei termini, ma in realtà il modello |
| |
che hai creato, hai anche la possibilità di salvarlo. Quindi ho selezionato il modello che intendo utilizzare, quella rete elastica adattiva, e sotto il triangolo rosso posso salvare le formule di previsione. |
| |
E penso che il mio computer probabilmente ci lavorerà solo per un secondo. Quindi sta salvando la matrice dei termini del documento, che riguardava i primi 200 termini come specificato, e poi anche la formula. |
| |
che opera su quelle colonne o su quella matrice dei termini del documento per calcolare effettivamente il nostro modello. Quindi, ecco la matrice dei termini del documento |
| |
e poi le colonne della formula alla fine qui, quindi ora posso effettivamente usare |
| |
questo modello direttamente se voglio. |
| |
Questa è la selezione dei termini. Di nuovo, ad alto livello, stiamo cercando quali termini sono più fortemente associati a una variabile di esito che ci interessa, sia per interpretare meglio ciò che determina quell'esito, sia magari per orientare una pratica di modellazione che provi a prevederlo. |
| |
E questo è tutto: selezione dei termini e analisi del sentiment sono le due nuove funzionalità di text mining di JMP Pro 16, introdotte anch'esse la scorsa primavera. |
| |
Adesso mi fermerò un po' e risponderò a tutte le domande che qualcuno ha su, |
| |
Sapete, queste due nuove funzionalità. E sappiate anche che in seguito potrete sempre postare un commento o una domanda aggiuntiva sulla pagina della Community utente per questa presentazione e io terrò sempre d'occhio |
| |
Aperti a rispondere a qualsiasi domanda. Grazie a tutti per il tempo dedicato. Abbiate cura di voi. |