Visualizza un’analisi di Amazon Comprehend con una nuvola di parole in Amazon QuickSight

Visualizza analisi Amazon Comprehend con nuvola parole in Amazon QuickSight

Cercare informazioni in un repository di documenti di testo libero può essere come cercare un ago in un pagliaio. Un approccio tradizionale potrebbe essere quello di utilizzare il conteggio delle parole o altre analisi di base per analizzare i documenti, ma con la potenza dell’intelligenza artificiale di Amazon e gli strumenti di machine learning (ML), possiamo ottenere una comprensione più approfondita del contenuto.

Amazon Comprehend è un servizio completamente gestito che utilizza l’elaborazione del linguaggio naturale (NLP) per estrarre informazioni sul contenuto dei documenti. Amazon Comprehend sviluppa informazioni riconoscendo entità, frasi chiave, sentimenti, temi ed elementi personalizzati in un documento. Amazon Comprehend può creare nuove informazioni basate sulla comprensione della struttura del documento e delle relazioni tra le entità. Ad esempio, con Amazon Comprehend puoi esaminare un intero repository di documenti per individuare frasi chiave.

Amazon Comprehend consente a persone non esperte in ML di svolgere facilmente compiti che normalmente richiedono ore di tempo. Amazon Comprehend elimina gran parte del tempo necessario per pulire, costruire e formare il proprio modello. Per la creazione di modelli personalizzati più approfonditi in NLP o in qualsiasi altro dominio, Amazon SageMaker consente di creare, formare e distribuire modelli in un flusso di lavoro di ML molto più convenzionale, se desiderato.

In questo post, utilizziamo Amazon Comprehend e altri servizi AWS per analizzare ed estrarre nuove informazioni da un repository di documenti. Successivamente, utilizziamo Amazon QuickSight per generare una semplice ma potente visualizzazione a nuvola di parole per individuare facilmente temi o tendenze.

Panoramica della soluzione

Il diagramma seguente illustra l’architettura della soluzione.

Per iniziare, raccogliamo i dati da analizzare e li carichiamo in un bucket di Amazon Simple Storage Service (Amazon S3) in un account AWS. In questo esempio, utilizziamo file in formato di testo. I dati vengono quindi analizzati da Amazon Comprehend. Amazon Comprehend crea un output formattato in JSON che deve essere trasformato e processato in un formato di database utilizzando AWS Glue. Verifichiamo i dati ed estraiamo tabelle di dati formattati specifici utilizzando Amazon Athena per un’analisi di QuickSight utilizzando una nuvola di parole. Per ulteriori informazioni sulle visualizzazioni, consultare la visualizzazione dei dati in Amazon QuickSight.

Prerequisiti

Per questa procedura guidata, è necessario disporre dei seguenti prerequisiti:

  • Un account AWS
  • Accesso alla console di gestione AWS
  • Conoscenza di base delle tabelle di database
  • Bucket S3 per i dati di input e output

Carica i dati in un bucket S3

Carica i tuoi dati in un bucket S3. Per questo post, utilizziamo il testo formattato in UTF-8 della Costituzione degli Stati Uniti come file di input. Poi sei pronto per analizzare i dati e creare visualizzazioni.

Analizza i dati utilizzando Amazon Comprehend

Esistono molti tipi di informazioni basate su testo e immagini che possono essere elaborate utilizzando Amazon Comprehend. Oltre ai file di testo, puoi utilizzare Amazon Comprehend per la classificazione e il riconoscimento di entità in un solo passaggio per accettare file di immagini, file PDF e file di Microsoft Word come input, che non vengono discussi in questo post.

Per analizzare i tuoi dati, segui i seguenti passaggi:

  1. Nella console di Amazon Comprehend, scegli Analisi dei lavori nel riquadro di navigazione.
  2. Scegli Crea lavoro di analisi.
  3. Inserisci un nome per il tuo lavoro.
  4. Per Tipo di analisi, scegli Frasi chiave.
  5. Per Lingua, scegli Inglese.
  6. Per Posizione dati di input, specifica la cartella che hai creato come prerequisito.
  7. Per Posizione dati di output, specifica la cartella che hai creato come prerequisito.
  8. Scegli Crea un ruolo IAM.
  9. Inserisci un suffisso per il nome del ruolo.
  10. Scegli Crea lavoro.

Il lavoro verrà eseguito e lo stato verrà visualizzato nella pagina Analisi dei lavori.

Attendere il completamento del lavoro di analisi. Amazon Comprehend creerà un file e lo posizionerà nella cartella dei dati di output che hai fornito. Il file è in formato .gz o GZIP.

Questo file deve essere scaricato e convertito in un formato non compresso. Puoi scaricare un oggetto dalla cartella dei dati o dal bucket S3 utilizzando la console di Amazon S3.

  1. Nella console di Amazon S3, selezionare l’oggetto e scegliere Download. Se si desidera scaricare l’oggetto in una cartella specifica, scegliere Download nel menu Actions.
  2. Dopo aver scaricato il file sul tuo computer locale, aprire il file compresso e salvarlo come file non compresso.

Il file non compresso deve essere caricato nella cartella di output prima che il crawler AWS Glue possa elaborarlo. Per questo esempio, carichiamo il file non compresso nella stessa cartella di output che useremo nei passaggi successivi.

  1. Nella console di Amazon S3, accedere al proprio bucket S3 e scegliere Upload.
  2. Scegliere Add files.
  3. Scegliere i file non compressi dal proprio computer locale.
  4. Scegliere Upload.

Dopo aver caricato il file, eliminare il file compresso originale.

  1. Nella console di Amazon S3, selezionare il bucket e scegliere Delete.
  2. Confermare il nome del file per eliminare definitivamente il file inserendo il nome del file nella casella di testo.
  3. Scegliere Delete objects.

In questo modo rimarrà un solo file nella cartella di output: il file non compresso.

Convertire i dati JSON in un formato tabellare utilizzando AWS Glue

In questo passaggio, si prepara l’output di Amazon Comprehend per essere utilizzato come input in Athena. L’output di Amazon Comprehend è in formato JSON. È possibile utilizzare AWS Glue per convertire JSON in una struttura di database in modo da poter essere letto da QuickSight.

  1. Nella console di AWS Glue, scegliere Crawlers nel riquadro di navigazione.
  2. Scegliere Create crawler.
  3. Inserire un nome per il proprio crawler.
  4. Scegliere Next.
  5. Per I tuoi dati sono già mappati su tabelle Glue, selezionare Non ancora.
  6. Aggiungere una fonte dati.
  7. Per S3 path, inserire la posizione della cartella dei dati di output di Amazon Comprehend.

Assicurarsi di aggiungere il carattere di trascinamento / al nome del percorso. AWS Glue cercherà tutti i file nel percorso della cartella.

  1. Selezionare Esplora tutte le sottocartelle.
  2. Scegliere Aggiungi una fonte dati S3.

  1. Creare un nuovo ruolo di Identity and Access Management (IAM) di AWS per il crawler.
  2. Inserire un nome per il ruolo IAM.
  3. Scegliere Aggiorna il ruolo IAM selezionato per assicurarsi che il nuovo ruolo sia assegnato al crawler.
  4. Scegliere Next per inserire le informazioni di output (database).
  5. Scegliere Aggiungi database.
  6. Inserire un nome per il database.
  7. Scegliere Next.
  8. Scegliere Create crawler.
  9. Scegliere Run crawler per avviare il crawler.

È possibile monitorare lo stato del crawler sulla console di AWS Glue.

Utilizzare Athena per preparare le tabelle per QuickSight

Athena estrarrà i dati dalle tabelle del database create dal crawler AWS Glue per fornire un formato che QuickSight utilizzerà per creare la word cloud.

  1. Nella console di Athena, scegliere Query editor nel riquadro di navigazione.
  2. Per Data source, scegliere AwsDataCatalog.
  3. Per Database, scegliere il database creato dal crawler.

Per creare una tabella compatibile per QuickSight, i dati devono essere srotolati dagli array.

  1. Il primo passo è creare un database temporaneo con i dati rilevanti di Amazon Comprehend:
CREATE TABLE temp AS
SELECT keyphrases, nested
FROM output
CROSS JOIN UNNEST(output.keyphrases) AS t (nested)
  1. La seguente istruzione limita le frasi di almeno tre parole e raggruppa per frequenza delle frasi:
CREATE TABLE tableforquicksight AS
SELECT COUNT(*) AS count, nested.text
FROM temp
WHERE nested.Score > .9 AND 
 length(nested.text) - length(replace(nested.text, ' ', '')) + 1 > 2
GROUP BY nested.text
ORDER BY count desc

Usa QuickSight per visualizzare l’output

Infine, puoi creare l’output visuale dall’analisi.

  1. Sulla console di QuickSight, scegli Nuova analisi.
  2. Scegli Nuovo dataset.
  3. Per Crea un dataset, scegli Da nuove origini dati.
  4. Scegli Athena come origine dati.
  5. Inserisci un nome per l’origine dati e scegli Crea origine dati.

  1. Scegli Visualizza.

Assicurati che QuickSight abbia accesso ai bucket S3 in cui sono memorizzate le tabelle Athena.

  1. Sulla console di QuickSight, scegli l’icona del profilo utente e scegli Gestisci QuickSight.

  1. Scegli Sicurezza e autorizzazioni.
  1. Cerca la sezione Accesso di QuickSight ai servizi AWS.

Configurando l’accesso ai servizi AWS, QuickSight può accedere ai dati di quei servizi. L’accesso da parte degli utenti e dei gruppi può essere controllato attraverso le opzioni disponibili.

  1. Verifica che sia concesso l’accesso ad Amazon S3.

Ora puoi creare la nuvola di parole.

  1. Scegli la nuvola di parole sotto Tipi di visualizzazione.
  2. Trascina il testo su Raggruppa per e il conteggio su Dimensione.

Scegli il menu delle opzioni (tre punti) nella visualizzazione per accedere alle opzioni di modifica. Ad esempio, potresti voler nascondere il termine “altro” dalla visualizzazione. Puoi anche modificare elementi come il titolo e il sottotitolo per la tua visualizzazione. Per scaricare la nuvola di parole come PDF, scegli Download nella barra degli strumenti di QuickSight.

Pulizia

Per evitare di incorrere in spese continue, elimina tutti i dati, processi o risorse inutilizzate dalle rispettive console di servizio.

Conclusioni

Amazon Comprehend utilizza l’elaborazione del linguaggio naturale (NLP) per estrarre informazioni sul contenuto dei documenti. Sviluppa queste informazioni riconoscendo entità, frasi chiave, lingua, sentimenti e altri elementi comuni in un documento. Puoi utilizzare Amazon Comprehend per creare nuovi prodotti basati sulla comprensione della struttura dei documenti. Ad esempio, con Amazon Comprehend puoi analizzare un intero repository di documenti per individuare le frasi chiave.

In questo post sono state descritte le fasi per creare una nuvola di parole per visualizzare un’analisi del contenuto testuale ottenuta da Amazon Comprehend utilizzando gli strumenti AWS e QuickSight per visualizzare i dati.

Rimani in contatto tramite la sezione dei commenti!