Analýza sociálních médií s Azure Stream Analytics

V tomto článku se naučíte, jak vytvořit řešení pro analýzu mínění na sociálních sítích tím, že twitterové události v reálném čase Azure Event Hubs. Napíšete dotaz Azure Stream Analytics který analyzuje data a uloží výsledky pro pozdější použití, nebo vytvoříte řídicí panel Power BI který poskytuje přehledy v reálném čase.

Nástroje pro analýzu sociálních médií pomáhají organizacím pochopit populární témata. Populární témata jsou témata a názory, které mají velké množství příspěvků na sociálních sítích. Analýza mínění, která se také nazývá dolování názorů, používá analytické nástroje sociálních médií k určení postojů k produktu nebo nápadu.

Analýza trendů na Twitteru v reálném čase je skvělým příkladem analytického nástroje, protože model odběru hashtagu umožňuje naslouchat konkrétním klíčovým slovům (hashtagům) a vyvíjet analýzu mínění informačního kanálu.

Scénář: Analýza mínění na sociálních sítích v reálném čase

Společnost, která má web zpravodajských médií, má zájem získat výhodu oproti svým konkurentům tím, že nabízí obsah webu, který je okamžitě relevantní pro čtenáře. Společnost používá analýzu sociálních médií k tématům, která jsou relevantní pro čtenáře, pomocí analýzy mínění na Twitteru v reálném čase.

Aby společnost na Twitteru identifikovala populární témata v reálném čase, potřebuje analýzu objemu tweetů a mínění u klíčových témat v reálném čase.

Požadavky

V tomto návodu použijete klientskou aplikaci, která se připojí k Twitteru a vyhledá tweety s určitými hashtagy (které můžete nastavit). Pokud chcete spustit aplikaci a analyzovat tweety pomocí Azure Streaming Analytics, musíte mít následující:

Níže je architektura řešení, kterou budete implementovat.

Diagram znázorňující různé části služeb a aplikací používaných k sestavení řešení

Vytvoření centra událostí pro vstup streamování

Ukázková aplikace generuje události a předá je do centra událostí Azure. Azure Event Hubs jsou upřednostňovanou metodou příjmu událostí pro Stream Analytics. Další informace najdete v Azure Event Hubs .

Vytvoření oboru názvů centra událostí a centra událostí

V této části vytvoříte obor názvů centra událostí a přidáte do tohoto oboru názvů centrum událostí. Obory názvů centra událostí slouží k logickému seskupení souvisejících instancí sběrnice událostí.

  1. Přihlaste se k Azure Portal a vyberte Vytvořit prostředek. Pak. vyhledejte Event Hubs a vyberte Vytvořit.

  2. Na stránce Vytvořit obor názvů zadejte název oboru názvů. Pro obor názvů můžete použít libovolný název, ale název musí být platný pro adresu URL a musí být jedinečný v rámci Azure.

  3. Vyberte cenovou úroveň a předplatné a vytvořte nebo zvolte skupinu prostředků. Pak zvolte umístění a vyberte Vytvořit.

  4. Po dokončení nasazování oboru názvů přejděte do své skupiny prostředků a v seznamu prostředků Azure vyhledejte obor názvů centra událostí.

  5. V novém oboru názvů vyberte +   Centrum událostí.

  6. Nové centrum událostí pojmete socialtwitter-eh. Můžete použít jiný název. Pokud to tak je, poznamenejte si ho, protože název budete potřebovat později. Pro centrum událostí nemusíte nastavovat žádné další možnosti.

  7. Vyberte Vytvořit.

Udělení přístupu k centru událostí

Aby mohl proces odesílat data do centra událostí, potřebuje centrum událostí zásadu, která umožňuje přístup. Zásady přístupu vytváří připojovací řetězec, který obsahuje informace o autorizaci.

  1. Na navigačním panelu na levé straně oboru názvů služby Event Hubs vyberte Event Hubs, který se nachází v části Entity. Pak vyberte centrum událostí, které jste právě vytvořili.

  2. Na navigačním panelu na levé straně vyberte Zásady sdíleného přístupu v části Nastavení.

    Poznámka

    Pro obor názvů centra událostí a pro centrum událostí je v části možnost Zásady sdíleného přístupu. Ujistěte se, že pracujete v kontextu centra událostí, ne v celkovém oboru názvů centra událostí.

  3. Na stránce zásad přístupu vyberte + Přidat. Pak jako Název zásady zadejte socialtwitter-access a zaškrtněte políčko Spravovat.

  4. Vyberte Vytvořit.

  5. Po nasazení zásady vyberte zásadu ze seznamu zásad sdíleného přístupu.

  6. Vyhledejte pole s popiskem Připojovací řetězec primary-key a vyberte tlačítko kopírování vedle připojovacího řetězce.

  7. Vložte připojovací řetězec do textového editoru. Po provedení některých malých úprav budete tento připojovací řetězec potřebovat pro další část.

Připojovací řetězec vypadá takhle:

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

Všimněte si, že připojovací řetězec obsahuje několik párů klíč-hodnota oddělených středníky: Endpoint , SharedAccessKeyName , a SharedAccessKey EntityPath .

Poznámka

Kvůli zabezpečení byly odebrány části připojovacího řetězce v příkladu.

Konfigurace a spuštění klientské aplikace Twitteru

Klientská aplikace získá události tweetu přímo z Twitteru. K tomu potřebuje oprávnění k volání rozhraní Twitter Streaming API. Toto oprávnění nakonfigurujete tak, že vytvoříte aplikaci na Twitteru, která vygeneruje jedinečné přihlašovací údaje (například token OAuth). Klientskou aplikaci pak můžete nakonfigurovat tak, aby při volání rozhraní API tyto přihlašovací údaje používat.

Vytvoření aplikace Twitter

Pokud ještě nemáte aplikaci Twitteru, kterou byste mohli použít pro tohoto návodu, můžete si ji vytvořit. Už musíte mít účet Twitteru.

Poznámka

Přesný postup vytvoření aplikace na Twitteru a získání klíčů, tajných kódů a tokenů se může změnit. Pokud tyto pokyny neodpovídají tomu, co vidíte na twitterovém webu, přečtěte si dokumentaci pro vývojáře na Twitteru.

  1. Ve webovém prohlížeči přejděte na Twitter for Developers (Twitter provývojáře), vytvořte vývojářský účet a vyberte Create an app (Vytvořit aplikaci). Může se zobrazit zpráva s oznámením, že potřebujete požádat o vývojářský účet na Twitteru. Můžete to udělat, a po schválení vaší aplikace by se vám měl zobrazit potvrzovací e-mail. Schválení vývojářského účtu může trvat několik dnů.

    Snímek obrazovky s tlačítkem Vytvořit aplikaci

  2. Na stránce Create an application (Vytvoření aplikace) zadejte podrobnosti o nové aplikaci a pak vyberte Create your Twitter application (Vytvořit aplikaci Twitter).

    Snímek obrazovky zobrazuje podokno Podrobnosti aplikace, kde můžete zadat hodnoty pro vaši aplikaci.

  3. Na stránce aplikace vyberte kartu Klíče a tokeny a zkopírujte hodnoty Consumer API Key (Klíč rozhraní CONSUMER API) a Consumer API Secret Key (Tajný klíč rozhraní CONSUMER API). Pokud chcete vygenerovat přístupové tokeny, vyberte Vytvořit také v části Přístupový token a Tajný klíč přístupového tokenu. Zkopírujte hodnoty Access Token (Přístupový token) a Access Token Secret (Tajný klíč přístupového tokenu).

    Uložte hodnoty, které jste načetli pro aplikaci Twitter. Tyto hodnoty budete potřebovat později.

Poznámka

Klíče a tajné kódy pro aplikaci Twitter poskytují přístup k vašemu účtu na Twitteru. Zacházet s nimi jako s citlivými informacemi, stejně jako s heslem twitteru. Nevkládáte například tyto informace do aplikace, kterou předáte ostatním.

Konfigurace klientské aplikace

Vytvořili jsme klientskou aplikaci, která se připojuje k datům Twitteru pomocí rozhraní Twitter Streaming API ke shromažďování událostí tweetů o konkrétní sadě témat.

Než se aplikace spustí, vyžaduje od vás určité informace, jako jsou klíče Twitteru a připojovací řetězec centra událostí.

  1. Ujistěte se, že jste si stáhli aplikaci TwitterClientCore, jak je uvedeno v požadavcích.

  2. Pomocí textového editoru otevřete soubor App.config souboru. Proveďte v elementu <appSettings> následující změny:

    • Nastavte oauth_consumer_key na Twitter Consumer Key (klíč rozhraní API).
    • Nastavte oauth_consumer_secret na Tajný kód příjemce Twitteru (tajný klíč rozhraní API).
    • Nastavte oauth_token na Přístupový token Twitteru.
    • Nastavte oauth_token_secret na tajný kód tokenu Twitter Access.
    • Nastavte EventHubNameConnectionString na připojovací řetězec.
    • Nastavte EventHubName na název centra událostí (to je hodnota cesty entity).
  3. Otevřete příkazový řádek a přejděte do adresáře, kde se nachází vaše aplikace TwitterClientCore. Pomocí příkazu dotnet build Sestavte projekt. Pak použijte příkaz dotnet run ke spuštění aplikace. Aplikace pošle tweety do centra událostí.

Vytvoření úlohy Stream Analytics

Teď, když jsou události ve službě Twitter streamované v reálném čase, můžete nastavit úlohu Stream Analytics pro analýzu těchto událostí v reálném čase.

  1. V Azure Portal přejděte do skupiny prostředků a vyberte + Přidat. Pak vyhledejte Stream Analytics úlohu a vyberte vytvořit.

  2. Pojmenujte úlohu socialtwitter-sa-job a zadejte předplatné, skupinu prostředků a umístění.

    Je vhodné umístit úlohu a centrum událostí ve stejné oblasti, aby se co nejlépe vyzpůsobilo, a nebudete platit za přenos dat mezi oblastmi.

  3. Vyberte Vytvořit. Až se nasazení dokončí, přejděte k vaší úloze.

Zadat vstup úlohy

  1. V úloze Stream Analytics v nabídce vlevo v části topologie úlohy vyberte vstupy .

  2. Vyberte +   přidat datový proud > centrum událostí vstupu. Vyplňte nový vstupní formulář s následujícími informacemi:

    Nastavení Navrhovaná hodnota Popis
    Alias vstupu TwitterStream Zadejte alias pro vstup.
    Předplatné <Your subscription> Vyberte předplatné Azure, které chcete použít.
    Obor názvů centra událostí ASA – Twitter – eventhub
    Název centra událostí socialtwitter – eh Vyberte možnost použít existující. Pak vyberte centrum událostí, které jste vytvořili.
    Typ komprese události GZip Typ komprese dat

    Zbývající výchozí hodnoty ponechte a vyberte Uložit.

Zadat dotaz úlohy

Stream Analytics podporuje jednoduchý deklarativní model dotazu, který popisuje transformace. Další informace o tomto jazyce najdete v referenčních informacích k jazyku Azure Stream Analytics dotazů. Tento průvodce vám pomůže vytvořit a otestovat několik dotazů přes data z Twitteru.

Chcete-li porovnat počet zmínk mezi tématy, můžete použít bubnové okno a získat počet slov, který bude v tématu každých pět sekund.

  1. V okně Přehled úlohy vyberte Upravit dotaz v pravém horním rohu pole dotazu. Azure obsahuje seznam vstupů a výstupů, které jsou pro úlohu nakonfigurované, a umožňuje vytvořit dotaz pro transformaci vstupního streamu, když se pošle do výstupu.

  2. V editoru dotazů změňte dotaz na následující:

    SELECT *
    FROM TwitterStream
    
  3. Data události ze zpráv by se měla zobrazit v okně Náhled vstupu pod vaším dotazem. Ujistěte se, že je zobrazení nastaveno na JSON. Pokud nevidíte žádná data, ujistěte se, že váš generátor dat odesílá události do centra událostí a že jste jako typ komprese pro vstup vybrali gzip .

  4. Vyberte test Query a Všimněte si výsledků v okně výsledky testu pod vaším dotazem.

  5. Změňte dotaz v editoru kódu na následující a vyberte test Query:

    SELECT System.Timestamp as Time, text
    FROM TwitterStream
    WHERE text LIKE '%Azure%'
    
  6. Tento dotaz vrátí všechny tweety, které obsahují klíčové slovo Azure.

Vytvoření výstupní jímky

Nyní jste definovali datový proud událostí, vstup centra událostí pro ingestování událostí a dotaz k provedení transformace v datovém proudu. Posledním krokem je definování výstupní jímky pro úlohu.

V této příručce se naučíte zapisovat agregované události se změnami z dotazu úlohy do úložiště objektů BLOB v Azure. výsledky můžete také nabízet Azure SQL Database, Azure Table storage, Event Hubs nebo Power BI, a to v závislosti na potřebách vaší aplikace.

Zadejte výstup úlohy.

  1. V části topologie úlohy v levé navigační nabídce vyberte výstupy.

  2. na stránce výstupy klikněte na +   přidat a Blob storage/Data Lake Storage Gen2:

    • Alias pro výstup: použijte název TwitterStream-Output .
    • Možnosti importu: vyberte ze svých předplatných možnost vybrat úložiště.
    • účet Storage. Vyberte svůj účet úložiště.
    • Kontejner. Vyberte vytvořit nové a zadejte socialtwitter .
  3. Vyberte Uložit.

Spuštění úlohy

Je určen vstup, dotaz a výstup úlohy. Jste připraveni začít úlohu Stream Analytics.

  1. Ujistěte se, že je aplikace TwitterClientCore spuštěná.

  2. V přehledu úlohy vyberte Spustit.

  3. Na stránce Spustit úlohu pro čas spuštění výstupu úlohy vyberte nyní a pak vyberte Spustit.

Získání podpory

Pokud chcete získat další pomoc, vyzkoušejte si naši stránku Microsoft Q&Azure Stream Analytics.

Další kroky