Condividi tramite


Analisi dei social media con Analisi di flusso di Azure

Questo articolo illustra come creare una soluzione di analisi del sentiment dei social media portando gli eventi Twitter in tempo reale in Hub eventi di Azure e quindi analizzandoli usando Analisi di flusso. Si scrive una query di Analisi di flusso di Azure per analizzare i dati e archiviare i risultati per usarli in un secondo momento o creare un dashboard di Power BI per fornire informazioni dettagliate in tempo reale.

Gli strumenti di analisi dei social media permettono alle organizzazioni di determinare gli argomenti di tendenza, vale a dire gli argomenti e gli atteggiamenti che registrano un numero elevato di post sui social media. L'analisi del sentiment, detta anche opinion mining, usa gli strumenti di analisi dei social media per determinare le attitudini rispetto a un prodotto o un'idea.

L'analisi delle tendenze Twitter in tempo reale è un ottimo esempio di strumento di analisi, poiché il modello di sottoscrizione hashtag consente di ascoltare parole chiave specifiche (hashtag) e sviluppare l'analisi del sentiment del feed.

Scenario: analisi del sentiment su social media in tempo reale

Un'azienda che dispone di un sito web multimediale di notizie è interessata a ottenere un vantaggio rispetto ai suoi concorrenti grazie al contenuto del sito immediatamente rilevante per i suoi lettori. La società usa l'analisi dei social media su argomenti rilevanti per i lettori eseguendo l'analisi del sentiment in tempo reale sui dati di Twitter.

Per identificare in tempo reale gli argomenti di tendenza su Twitter, la società deve eseguire un'analisi in tempo reale sul volume dei tweet e sul sentiment relativo agli argomenti più importanti.

Prerequisiti

In questa guida pratica si usa un'applicazione client che si connette a Twitter e cerca i tweet con determinati hashtag, che è possibile impostare. L'elenco seguente fornisce i prerequisiti per l'esecuzione dell'applicazione e l'analisi dei tweet con Analisi di streaming di Azure.

Ecco l'architettura della soluzione che verrà implementata.

A diagram showing different pieces of services and applications used to build the solution.

Creare un hub eventi per l'input di streaming

L'applicazione di esempio genera eventi e li inserisce in un hub eventi. Hub eventi di Azure è il metodo preferito per l'inserimento di eventi per Analisi di flusso. Per altre informazioni, vedere la documentazione di Hub eventi di Azure.

Creare uno spazio dei nomi e un hub eventi di Hub eventi

Seguire le istruzioni riportate in Avvio rapido: Creare un hub eventi usando portale di Azure per creare uno spazio dei nomi di Hub eventi e un hub eventi denominato socialtwitter-eh. È possibile usare un nome diverso. In questo caso, tenerne traccia, poiché sarà necessario in un secondo momento. Non sono richieste altre impostazioni per l'hub eventi.

Concedere l'accesso all'hub eventi

Prima che un processo possa inviare dati a un hub eventi, l'hub necessita che siano configurati criteri che consentano l'accesso. I criteri di accesso generano una stringa di connessione che include informazioni di autorizzazione.

  1. Nella barra di spostamento a sinistra dello spazio dei nomi di Hub eventi selezionare Hub eventi, che si trova nella sezione Entità . Quindi, selezionare l'hub eventi appena creato.

  2. Nella barra di spostamento sul lato sinistro selezionare Criteri di accesso condiviso disponibili in Impostazioni.

    Nota

    È disponibile un'opzione Criteri di accesso condiviso per lo spazio dei nomi e per l'hub eventi. Assicurarsi di lavorare nel contesto dell'hub eventi, non nello spazio dei nomi.

  3. Nella pagina Criteri di accesso condiviso selezionare + Aggiungi sulla barra dei comandi. Immettere quindi socialtwitter-access per il Nome criterio e selezionare la casella di controllo Gestisci.

  4. Seleziona Crea.

  5. Dopo aver distribuito i criteri, selezionare il criterio dall'elenco dei criteri di accesso condiviso.

  6. Individuare la casella con l'etichetta Connection string primar-key e fare clic sul pulsante Copia accanto alla stringa di connessione.

  7. Incollare la stringa di connessione in un editor di testo. Sarà necessario usare questa stringa nella sezione successiva, dopo aver apportato alcune piccole modifiche.

La stringa di connessione ha un aspetto simile al seguente:

Endpoint=sb://EVENTHUBS-NAMESPACE.servicebus.windows.net/;SharedAccessKeyName=socialtwitter-access;SharedAccessKey=XXXXXXXXXXXXXXX;EntityPath=socialtwitter-eh

Si noti che la stringa di connessione contiene più coppie chiave-valore, separate da punti e virgola: Endpoint, SharedAccessKeyName, SharedAccessKey e EntityPath.

Nota

Per sicurezza, le parti della stringa di connessione nell'esempio sono state rimosse.

Configurare e avviare l'applicazione client Twitter

L'applicazione client ottiene gli eventi tweet direttamente da Twitter. A questo scopo, è necessaria l'autorizzazione per chiamare le API di streaming di Twitter. Per configurare questa autorizzazione, si crea un'applicazione in Twitter in modo da generare credenziali univoche, ad esempio un token OAuth. Si può quindi configurare l'applicazione client in modo da usare queste credenziali quando esegue chiamate API.

Creare un'applicazione Twitter

Se non si dispone già di un'applicazione Twitter che è possibile usare per questa guida pratica, è possibile crearne uno. È necessario avere già un account Twitter.

Nota

La procedura esatta da seguire in Twitter per creare un'applicazione e ottenere le chiavi, i segreti e il token può cambiare. Se queste istruzioni non corrispondono alle informazioni visualizzate sul sito di Twitter, consultare la documentazione per sviluppatori di Twitter.

  1. In un browser Web passare a Twitter per sviluppatori, creare un account sviluppatore e selezionare Create an app (Crea un'app). Potrebbe essere visualizzato un messaggio che indica che è necessario richiedere un account per sviluppatori Twitter. Eseguire questa operazione e, dopo l'approvazione della richiesta, si dovrebbe ricevere un messaggio di posta elettronica di conferma. L'approvazione di un account di sviluppatore potrebbe richiedere diversi giorni.

    Screenshot shows the Create an app button.

  2. Nella pagina Create an application (Crea applicazione) specificare i dettagli per la nuova app e quindi selezionare Create your Twitter application (Crea applicazione Twitter).

    Screenshot shows the App details pane where you can enter values for your app.

  3. Nella pagina dell'applicazione selezionare Keys and Tokens (Chiavi e token) e copiare i valori di Consumer API Key (Chiave API consumer) e Consumer API Secret Key (Chiave privata API consumer). Selezionare inoltre Create (Crea) in Access Token and Access Token Secret (Token di accesso e Segreto del token di accesso) per generare i token di accesso. Copiare i valori di Access Token (Token di accesso) e Access Token Secret (Segreto del token di accesso).

    Salvare i valori recuperati per l'applicazione Twitter. È necessario usare questi valori più avanti.

Nota

Le chiavi e i segreti dell'applicazione Twitter consentono l'accesso all'account Twitter personale. Trattarle come dati sensibili, allo stesso modo della password di Twitter. Evitare, ad esempio, di incorporare queste informazioni in un'applicazione che si prevede di distribuire ad altri utenti.

Configurare l'applicazione client

È stata creata un'applicazione client che si connette ai dati di Twitter usando le API di streaming di Twitter per raccogliere eventi tweet su un set specifico di argomenti.

Prima di essere eseguita, l'applicazione richiede all'utente determinate informazioni, ad esempio le chiavi di Twitter e la stringa di connessione all'hub eventi.

  1. Verificare di aver scaricato il file dell'applicazione TwitterClientCore, come indicato nei prerequisiti.

  2. Usare un editor di testo per aprire il file App.config. Apportare le modifiche seguenti all'elemento <appSettings>:

    • Per oauth_consumer_key impostare la chiave utente di Twitter (chiave API).
    • Per oauth_consumer_secret impostare il segreto utente di Twitter (chiave privata API).
    • Per oauth_token impostare il token di accesso di Twitter.
    • Per oauth_token_secret impostare il segreto del token di accesso di Twitter.
    • Per EventHubNameConnectionString impostare la stringa di connessione.
    • Per EventHubName impostare il nome dell'hub eventi, ovvero il valore del percorso dell'entità.
  3. Aprire la riga di comando e passare alla directory che contiene l'app TwitterClientCore. Per compilare il progetto, usare il comando dotnet build. Quindi usare il comando dotnet run per eseguire l'app. L'app invia tweet a Hub eventi.

Creare un processo di Analisi di flusso.

Ora che gli eventi tweet vengono trasmessi in flusso in tempo reale da Twitter, è possibile impostare un processo di Analisi di flusso per analizzare questi eventi in tempo reale.

  1. Passare al gruppo di risorse nel portale di Azure e selezionare + Aggiungi. Cercare quindi processo analisi di flusso e selezionare Crea.

  2. Assegnare il nome socialtwitter-sa-job al processo, specificare una sottoscrizione, un gruppo di risorse e un percorso.

    È consigliabile posizionare il processo e l'hub eventi nella stessa area per ottenere prestazioni ottimali ed evitare di pagare il trasferimento dei dati tra aree.

  3. Seleziona Crea. Quindi, al termine della distribuzione, passare al processo.

Specificare l'input del processo

  1. Nel processo di Analisi di flusso selezionare Input dal menu a sinistra sotto a Topologia processo.

  2. Selezionare + Aggiungi hub eventi di input>del flusso. Compilare il modulo del nuovo input con le informazioni seguenti:

    Impostazione Valore consigliato Descrizione
    Alias di input TwitterStream Immettere un alias per l'input.
    Subscription <Sottoscrizione in uso> Seleziona la sottoscrizione di Azure da usare.
    Spazio dei nomi di Hub eventi asa-twitter-eventhub
    Nome hub eventi socialtwitter-eh Scegliere Usa esistente. Selezionare quindi l'hub eventi creato.
    Tipo di compressione eventi Gzip Il tipo di compressione dati.

    Lasciare i valori predefiniti restanti e selezionare Salva.

Specificare la query del processo

Analisi di flusso supporta un semplice modello di query dichiarativa per descrivere le trasformazioni. Per altre informazioni sul linguaggio, vedere le Informazioni di riferimento sul linguaggio di query di analisi dei flussi di Azure. Questa guida pratica permette di creare e testare diverse query su dati di Twitter.

Per confrontare il numero di menzioni tra gli argomenti, è possibile usare una finestra a cascata per ottenere il conteggio delle menzioni per argomento ogni cinque secondi.

  1. Nel processo Panoramica selezionare Modifica query accanto all'angolo in alto a destra della casella Query. Azure elenca gli input e gli output configurati per il processo e consente di creare una query per trasformare il flusso di input nel momento in cui viene inviato all'output.

  2. Modificare la query nell'editor di query nel modo seguente:

    SELECT *
    FROM TwitterStream
    
  3. I dati eventi dei messaggi devono essere visualizzati nella finestra di Anteprima input sotto la query. Assicurarsi che la Vista sia impostata su JSON. Se non vengono visualizzati dati, assicurarsi che il generatore di dati invii eventi all'hub eventi e che Gzip sia stato selezionato come tipo di compressione per l'input.

  4. Selezionare Esegui test della queryosservare i risultati nella finestra Risultati test sotto la query.

  5. Modificare come indicato di seguito la query nell'editor di codice e scegliere Esegui test della query:

    SELECT System.Timestamp as Time, text
    FROM TwitterStream
    WHERE text LIKE '%Azure%'
    
  6. Questa query restituisce tutti i tweet che includono la parola chiave Azure.

Creare un sink di output

A questo punto è stato definito un flusso di eventi, un input dell'hub eventi per inserire eventi e una query per eseguire una trasformazione nel flusso. L'ultimo passaggio consiste nel definire un sink di output per il processo.

In questa guida pratica gli eventi tweet aggregati ottenuti dalla query del processo vengono scritti nell'archiviazione BLOB di Azure. È anche possibile eseguire il push dei risultati al database SQL di Azure, ad Archiviazione tabelle di Azure, a Hub eventi o a Power BI, in base alle esigenze specifiche dell'applicazione.

Specificare l'output del processo

  1. Nella sezione Topologia processo nel menu di spostamento a sinistra selezionare Output.

  2. Nella pagina Output selezionare + Aggiungi e Archiviazione BLOB/Data Lake Archiviazione Gen2:

    • Alias di output: usare il nome TwitterStream-Output.
    • Opzioni di importazione: selezionare Selezionare l'archiviazione dalle sottoscrizioni.
    • Account di archiviazione. Selezionare l'account di archiviazione.
    • Contenitore. Selezionare Crea nuovo e immettere socialtwitter.
  3. Seleziona Salva.

Avviare il processo

Sono stati specificati l'input del processo, la query e l'output. Si è pronti per avviare il processo di Analisi di flusso.

  1. Verificare che l'applicazione TwitterClientCore sia in esecuzione.

  2. Nella panoramica del processo selezionare Avvia.

  3. Nella pagina Avvia processo, per Ora di inizio dell'output del processo, selezionare Ora e quindi selezionare Avvia.

Ottenere supporto

Per maggiore supporto, provare la Pagina delle domande di Domande e risposte Microsoft per Analisi di flusso di Azure.

Passaggi successivi