Analisis media sosial dengan Azure Stream Analytics

Artikel ini mengajarkan Anda cara membangun solusi analisis sentimen media sosial dengan membawa peristiwa Twitter real time ke Azure Event Hubs lalu menganalisisnya menggunakan Azure Stream Analytics. Anda menulis kueri Azure Stream Analytics untuk menganalisis data dan menyimpan hasil untuk digunakan nanti atau membuat dasbor Power BI untuk memberikan wawasan secara real time.

Alat analitik media sosial membantu organisasi untuk memahami topik yang sedang tren. Topik yang sedang tren adalah subjek dan sikap yang memiliki volume kiriman yang tinggi di media sosial. Analisis sentimen yang juga disebut penambangan opini , menggunakan alat analitik media sosial untuk menentukan sikap terhadap suatu produk atau ide.

Analisis tren Twitter real time adalah contoh yang bagus dari alat analitik karena model langganan hashtag memungkinkan Anda untuk mendengarkan kata kunci (hashtag) tertentu dan mengembangkan analisis sentimen pada umpan.

Skenario: Analisis sentimen media sosial secara real time

Perusahaan yang memiliki situs web media berita tertarik untuk mendapatkan keuntungan atas pesaingnya dengan menampilkan konten situs yang segera relevan dengan pembacanya. Perusahaan menggunakan analisis media sosial tentang topik yang relevan bagi pembaca dengan melakukan analisis sentimen real time terhadap data Twitter.

Untuk mengidentifikasi topik yang sedang tren secara real time di Twitter, perusahaan membutuhkan analitik real time tentang volume tweet dan sentimen untuk topik utama.

Prasyarat

Dalam panduan cara penggunaan ini, Anda menggunakan aplikasi klien yang terhubung ke Twitter dan mencari tweet yang memiliki hashtag tertentu (yang dapat Anda tetapkan). Daftar berikut memberi Anda prasyarat untuk menjalankan aplikasi dan menganalisis tweet menggunakan Azure Streaming Analytics.

Berikut adalah arsitektur solusi yang akan Anda terapkan.

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

Membuat hub kejadian untuk input streaming

Aplikasi sampel menghasilkan peristiwa dan mendorongnya ke pusat aktivitas. Azure Event Hubs adalah metode penyerapan peristiwa yang lebih disukai untuk Azure Stream Analytics. Untuk informasi selengkapnya, lihat dokumentasi Azure Event Hubs.

Membuat namespace layanan Azure Event Hubs dan pusat aktivitas

Ikuti instruksi dari Mulai Cepat: Membuat pusat aktivitas menggunakan portal Azure untuk membuat namespace Layanan Pusat Aktivitas dan pusat aktivitas bernama socialtwitter-eh. Anda dapat menggunakan nama yang berbeda. Jika Anda melakukannya, catatlah, karena Anda membutuhkan nama itu nanti. Anda tidak perlu mengatur opsi lain untuk hub kejadian tersebut.

Memberikan akses ke hub kejadian

Sebelum sebuah proses dapat mengirim data ke hub kejadian, hub kejadian tersebut memerlukan kebijakan yang mengizinkan akses. Kebijakan akses menghasilkan string koneksi yang menyertakan informasi otorisasi.

  1. Di bilah navigasi di sisi kiri namespace Layanan Pusat Aktivitas Anda, pilih Azure Event Hubs, yang terletak di bagian Entitas . Kemudian pilih hub kejadian yang baru saja Anda buat.

  2. Pada bilah navigasi di sisi kiri, pilih Kebijakan akses bersama yang terletak di bawah Pengaturan.

    Catatan

    Ada opsi Kebijakan akses bersama di bawah untuk namespace layanan dan untuk pusat aktivitas. Pastikan Anda bekerja dalam konteks hub peristiwa Anda, bukan namespace layanan.

  3. Pada halaman Kebijakan akses bersama, pilih + Tambahkan pada bilah perintah. Kemudian masukkan socialtwitter-access untuk Nama kebijakan dan centang kotak centang Kelola.

  4. Pilih Buat.

  5. Setelah kebijakan disebarkan, pilih kebijakan dari daftar kebijakan akses bersama.

  6. Temukan kotak berlabel Kunci utama string koneksi dan pilih tombol salin di samping string koneksi.

  7. Tempelkan string koneksi ke editor teks. Anda memerlukan string koneksi ini untuk bagian berikutnya setelah Anda melakukan beberapa pengeditan kecil.

String koneksi terlihat seperti ini:

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

Perhatikan bahwa string koneksi berisi beberapa pasangan kunci-nilai, dipisahkan dengan titik koma: Endpoint, SharedAccessKeyName, SharedAccessKey, dan EntityPath.

Catatan

Untuk keamanan, bagian dari string koneksi dalam contoh telah dihapus.

Mengonfigurasi dan memulai aplikasi klien Twitter

Aplikasi klien mendapatkan kejadian tweet langsung dari Twitter. Untuk melakukannya, perlu izin untuk memanggil API Streaming Twitter. Untuk mengonfigurasi izin tersebut, Anda membuat aplikasi di Twitter yang menghasilkan informasi masuk unik (seperti token OAuth). Anda kemudian dapat mengonfigurasi aplikasi klien untuk menggunakan informasi masuk ini saat melakukan panggilan API.

Membuat aplikasi Twitter

Jika Anda belum memiliki aplikasi Twitter yang dapat Anda gunakan untuk panduan cara ini, Anda dapat membuatnya. Anda harus sudah memiliki akun Twitter.

Catatan

Proses yang tepat di Twitter untuk membuat aplikasi dan mendapatkan kunci, rahasia, serta token mungkin berubah. Jika instruksi ini tidak cocok dengan apa yang Anda lihat di situs Twitter, lihat dokumentasi pengembang Twitter.

  1. Dari browser web, buka Twitter Untuk Pengembang, buat akun pengembang, lalu pilih Buat aplikasi. Anda mungkin melihat pesan yang mengatakan bahwa Anda perlu mengajukan permohonan untuk akun pengembang Twitter. Jangan ragu untuk melakukannya, lalu setelah aplikasi Anda disetujui, Anda akan melihat email konfirmasi. Ini bisa memakan waktu beberapa hari untuk disetujui untuk akun pengembang.

    Screenshot shows the Create an app button.

  2. Di halaman Buat aplikasi, berikan detail untuk aplikasi baru, lalu pilih Buat aplikasi Twitter Anda.

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

  3. Di halaman aplikasi, pilih tab Kunci dan Token, lalu salin nilai untuk Kunci API Konsumen dan Kunci Rahasia API Konsumen. Selain itu, pilih Buat di bawah Token Akses dan Rahasia Token Akses untuk menghasilkan token akses. Salin nilai untuk Token Akses dan Rahasia Token Akses.

    Simpan nilai yang Anda ambil untuk aplikasi Twitter. Anda membutuhkan nilainya nanti.

Catatan

Kunci dan rahasia untuk aplikasi Twitter menyediakan akses ke akun Twitter Anda. Perlakukan informasi ini sebagai hal yang sensitif, sama seperti Anda memperlakukan kata sandi Twitter Anda. Misalnya, jangan sematkan informasi ini dalam aplikasi yang Anda berikan kepada orang lain.

Mengonfigurasi aplikasi klien

Kami telah membuat aplikasi klien yang terhubung ke data Twitter menggunakan Twitter Streaming API untuk mengumpulkan peristiwa tweet tentang serangkaian topik tertentu.

Sebelum aplikasi berjalan, aplikasi ini memerlukan informasi tertentu dari Anda, seperti kunci Twitter dan string koneksi hub kejadian.

  1. Pastikan Anda telah mengunduh aplikasi TwitterClientCore, seperti yang tercantum dalam prasyarat.

  2. Gunakan editor teks untuk membuka file App.config Anda. Lakukan perubahan berikut pada elemen <appSettings>:

    • Atur oauth_consumer_key ke Kunci Konsumen Twitter (kunci API).
    • Atur oauth_consumer_secret ke Rahasia Konsumen Twitter (kunci rahasia API).
    • Atur oauth_token ke token Akses Twitter.
    • Atur oauth_token_secret ke rahasia token Akses Twitter.
    • Atur EventHubNameConnectionString ke string koneksi.
    • Atur EventHubName ke nama hub peristiwa (yaitu nilai jalur entitas).
  3. Buka baris perintah dan navigasi ke direktori tempat aplikasi TwitterClientCore Anda berada. Gunakan perintah dotnet build untuk membangun proyek. Kemudian gunakan perintah dotnet run untuk menjalankan aplikasi. Aplikasi mengirimkan Tweet ke Azure Event Hubs Anda.

Membuat pekerjaan Azure Stream Analytics

Sekarang setelah kejadian tweet streaming secara real time dari Twitter, Anda dapat mengatur pekerjaan Azure Stream Analytics untuk menganalisis kejadian ini secara real time.

  1. Di portal Microsoft Azure, navigasi ke grup sumber daya Anda dan pilih + Tambahkan. Lalu cari pekerjaan Azure Stream Analytics dan pilih Buat.

  2. Beri nama pekerjaan sebagai socialtwitter-sa-job dan tentukan langganan, grup sumber daya, dan lokasi.

    Merupakan ide yang bagus untuk menempatkan pekerjaan dan event hub di wilayah yang sama untuk performa terbaik dan agar Anda tidak membayar biaya transfer data antar wilayah.

  3. Pilih Buat. Kemudian navigasikan ke pekerjaan Anda ketika penyebaran telah selesai.

Tentukan input pekerjaan

  1. Pada pekerjaan Azure Stream Analytics Anda, pilih Input dari menu sebelah kiri di bawah Topologi Pekerjaan.

  2. Pilih + Tambahkan input aliran>Event Hub. Isi formulir Input baru dengan informasi berikut:

    Pengaturan Nilai yang disarankan Deskripsi
    Alias input TwitterStream Masukkan alias untuk input.
    Langganan <Langganan Anda> Pilih langganan Azure yang ingin Anda gunakan.
    Ruang nama Azure Event Hubs asa-twitter-eventhub
    Nama pusat aktivitas socialtwitter-eh Pilih Gunakan yang ada. Lalu pilih pusat aktivitas yang Anda buat.
    Jenis kompresi peristiwa Gzip Jenis pemadatan data.

    Biarkan nilai default yang tersisa dan pilih Buat.

Tentukan kueri pekerjaan

Azure Stream Analytics mendukung model kueri deklaratif dan sederhana yang menjelaskan transformasi. Untuk mempelajari selengkapnya tentang bahasa tersebut, lihat Referensi Bahasa Kueri Azure Stream Analytics. Panduan cara ini membantu Anda membuat dan menguji beberapa kueri melalui data Twitter.

Untuk membandingkan jumlah sebutan di antara topik, Anda dapat menggunakan jendela Tumbling untuk mendapatkan jumlah sebutan berdasarkan topik setiap lima detik.

  1. Pada Gambaran umum pekerjaan Anda, pilih Edit kueri di dekat kanan atas kotak Kueri. Azure mencantumkan input dan output yang dikonfigurasi untuk pekerjaan tersebut serta memungkinkan Anda membuat kueri untuk mengubah aliran input saat dikirim ke output.

  2. Ubah kueri di editor kueri menjadi berikut ini:

    SELECT *
    FROM TwitterStream
    
  3. Data kejadian dari pesan akan muncul di jendela Pratinjau input di bawah kueri Anda. Pastikan Tampilan diatur ke JSON. Jika Anda tidak melihat data apa pun, pastikan generator data Anda mengirim peristiwa ke pusat aktivitas Anda, dan Anda telah memilih Gzip sebagai jenis kompresi untuk input.

  4. Pilih Uji kueri dan perhatikan hasilnya di jendela Hasil uji di bawah kueri Anda.

  5. Ubah kueri di editor kode menjadi berikut ini dan pilih Uji kueri:

    SELECT System.Timestamp as Time, text
    FROM TwitterStream
    WHERE text LIKE '%Azure%'
    
  6. Kueri ini menampilkan semua tweet yang menyertakan kata kunci Azure.

Membuat sink output

Anda sekarang telah menentukan aliran peristiwa, input pusat aktivitas untuk menyerap peristiwa, dan kueri untuk melakukan transformasi melalui aliran. Langkah terakhir adalah menentukan sink output untuk pekerjaan tersebut.

Dalam panduan cara penggunaan ini, Anda menulis kejadian tweet yang diagregasi dari kueri pekerjaan ke penyimpanan Azure Blob. Anda juga bisa mendorong hasil Anda ke Azure SQL Database, penyimpanan Azure Table, Azure Event Hubs, atau Power BI, tergantung pada kebutuhan aplikasi Anda.

Tentukan output pekerjaan

  1. Di bawah bagian Topologi Pekerjaan di menu navigasi kiri, pilih Output.

  2. Di halaman Output, pilih + Tambahkan dan Penyimpanan Blob/Data Lake Storage Gen2:

    • Alias output: Gunakan nama TwitterStream-Output.
    • Opsi impor: Pilih Pilih penyimpanan dari langganan Anda.
    • Akun penyimpanan. Pilih akun penyimpanan Anda.
    • Kontainer. Pilih Buat baru dan masukkan socialtwitter.
  3. Pilih Simpan.

Mulai pekerjaan

Input pekerjaan, kueri, dan output telah ditentukan. Anda siap untuk memulai pekerjaan Azure Stream Analytics.

  1. Pastikan aplikasi TwitterClientCore berjalan.

  2. Dalam gambaran umum pekerjaan, pilih Mulai.

  3. Pada halaman Mulai pekerjaan, untuk Waktu mulai output pekerjaan, pilih Sekarang lalu pilih Mulai.

Dapatkan dukungan

Untuk bantuan lebih lanjut, coba halaman pertanyaan Microsoft Q&A untuk Azure Stream Analytics.

Langkah berikutnya