Azure Stream Analytics ile sosyal medya analizi

Bu öğretici, gerçek zamanlı X (eski adıyla Twitter) olaylarını Azure Event Hubs’a alıp ardından Stream Analytics kullanarak analiz ederek bir sosyal medya duygu analizi çözümünü nasıl oluşturacağınızı gösterir. Verileri analiz etmek ve sonuçları daha sonra kullanmak üzere depolamak için bir Azure Stream Analytics sorgusu yazar veya gerçek zamanlı içgörüler sağlamak üzere bir Power BI panosu oluşturursunuz.

Sosyal medya analiz araçları, kuruluşların popüler konuları anlamasına yardımcı olur. Popüler konular, sosyal medyada yüksek hacimli gönderilere sahip konular ve tutumlardır. Fikir madenciliği olarak da adlandırılan yaklaşım analizi, bir ürüne veya fikre karşı tutumları belirlemek için sosyal medya analiz araçlarını kullanır.

Gerçek zamanlı X eğilim analizi analiz aracına harika bir örnektir çünkü hashtag abonelik modeli belirli anahtar sözcükleri (hashtag'ler) dinlemenize ve akışın yaklaşım analizini geliştirmenize olanak tanır.

Gerçek zamanlı sosyal medya yaklaşım analizi senaryosu

Haber medyası web sitesine sahip bir şirket, okuyucuları için hemen ilgili olan site içeriğini öne çıkararak rakiplerine karşı avantaj elde etmekle ilgileniyor. Şirket, X verileri üzerinde gerçek zamanlı duygu analizi yaparak okuyucular için ilgili konularda sosyal medya analizi kullanır.

X'te popüler konuları gerçek zamanlı olarak tanımlamak için şirketin tweet hacmi hakkında gerçek zamanlı analizlere ve önemli konulara yönelik yaklaşıma ihtiyacı vardır.

Önkoşullar

Bu öğreticide, X'e bağlanan ve belirli hashtag'leri olan tweet'leri (ayarlayabileceğiniz) arayan bir istemci uygulaması kullanırsınız. Aşağıdaki liste, uygulamayı çalıştırmak ve Azure Streaming Analytics kullanarak tweet'leri analiz etmek için önkoşullar sağlar.

  • Azure aboneliğiniz yoksa ücretsiz hesap oluşturun.

  • Bir X hesabı.

  • X akışını okuyan TwitterClientCore uygulaması. Bu uygulamayı almak için TwitterClientCore'ı indirin.

  • .NET Core CLI sürüm 2.1.0'ı yükleyin.

Uygulayacağınız çözüm mimarisi aşağıdadır.

Sosyal medya analizi çözümünü oluşturmak için kullanılan hizmetleri ve uygulamaları gösteren diyagram.

Akış girdisi için olay hub’ı oluşturun

Örnek uygulama olayları oluşturur ve bir olay hub'ına iletir. Azure Event Hubs, Stream Analytics için tercih edilen olay alımı yöntemidir. Daha fazla bilgi için Azure Event Hubs belgelerine bakın.

Event Hubs ad alanı ve olay hub'ı oluşturma

Bir Event Hubs ad alanı ve socialx-eh adlı bir olay merkezi oluşturmak için Hızlı Başlangıç: Azure portalını kullanarak olay hub'ı oluşturma bölümündeki yönergeleri izleyin. Farklı bir ad kullanabilirsiniz. Bunu yaparsanız, bir yere not edin, çünkü adına daha sonra ihtiyacınız olacak. Olay hub'ı için başka seçenek ayarlamanız gerekmez.

Olay hub'ına erişim izni verme

Bir işlemin bir olay hub'ına veri gönderebilmesi için olay hub'ına erişim izni veren bir ilke gerekir. Erişim ilkesi, yetkilendirme bilgilerini içeren bir bağlantı dizesi oluşturur.

  1. Event Hubs ad alanınızın sol tarafındaki gezinti çubuğunda Varlıklar bölümünde bulunan Event Hubs'ı seçin. Ardından, yeni oluşturduğunuz olay hub'ını seçin.

  2. Sol taraftaki gezinti çubuğunda Ayarlar'ın altında bulunan Paylaşılan erişim ilkeleri'ni seçin.

    Not

    Ad alanı ve olay hub'ı için Paylaşılan erişim ilkeleri seçeneği vardır. Ad alanı değil olay hub'ınız bağlamında çalıştığından emin olun.

  3. Paylaşılan erişim ilkeleri sayfasında, komut çubuğunda + Ekle'yi seçin. Ardından İlke adı için socialx-access girin ve Yönet onay kutusunu işaretleyin.

  4. Oluştur'u belirleyin.

  5. İlke dağıtıldıktan sonra, paylaşılan erişim ilkeleri listesinden ilkeyi seçin.

  6. Bağlantı dizesi birincil anahtarı etiketli kutuyu bulun ve bağlantı dizesi yanındaki kopyala düğmesini seçin.

  7. Bağlantı dizesini bir metin düzenleyicisine yapıştırın. Bazı küçük düzenlemeler yaptıktan sonra sonraki bölüm için bu bağlantı dizesi gerekir.

bağlantı dizesi şöyle görünür:

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

bağlantı dizesi noktalı virgülle ayrılmış birden çok anahtar-değer çifti içerdiğine dikkat edin: Endpoint, SharedAccessKeyName, SharedAccessKeyve EntityPath.

Not

Güvenlik için örnekteki bağlantı dizesi bölümleri kaldırıldı.

X istemci uygulamasını yapılandırma ve başlatma

İstemci uygulaması tweet olaylarını doğrudan X'ten alır. Bunu yapmak için Twitter Akış API'lerini çağırma iznine sahip olması gerekir. Bu izni yapılandırmak için X'te benzersiz kimlik bilgileri (OAuth belirteci gibi) oluşturan bir uygulama oluşturursunuz. Ardından istemci uygulamasını API çağrıları yaparken bu kimlik bilgilerini kullanacak şekilde yapılandırabilirsiniz.

X uygulaması oluşturma

Bu öğreticide kullanabileceğiniz bir X uygulamanız yoksa bir tane oluşturabilirsiniz. Zaten bir X hesabınız olmalıdır.

Not

X'te bir uygulama oluşturma ve anahtarları, gizli anahtarları ve belirteci alma için izlenen tam süreç değişebilir. Bu yönergeler X sitesinde gördüklerinize uymuyorsa X geliştirici belgelerine bakın.

  1. Web tarayıcısından X Developers'a gidin, bir geliştirici hesabı oluşturun ve Uygulama oluştur'u seçin. X geliştirici hesabına başvurmanız gerektiğini belirten bir ileti görebilirsiniz. Bunu yapmaktan çekinmeyin ve uygulamanız onaylandıktan sonra bir onay e-postası görmeniz gerekir. Geliştirici hesabı için onaylanması birkaç gün sürebilir.

    Uygulama oluştur düğmesini gösteren X geliştirici portalının ekran görüntüsü.

  2. Uygulama oluşturun sayfasında yeni uygulamaya ilişkin ayrıntıları sağlayın ve Kendi Twitter uygulamanızı oluşturun’u seçin.

    Yeni uygulamanız için değerleri girdiğiniz Uygulama ayrıntıları bölmesinin ekran görüntüsü.

  3. Uygulama sayfasında Anahtarlar ve Belirteçler sekmesini seçin ve Tüketici API Anahtarı ve Tüketici API Gizli Anahtarı değerlerini kopyalayın. Ayrıca, erişim belirteçlerini oluşturmak için Erişim Belirteci ve Erişim Belirteci Gizli Anahtarı altında Oluştur seçeneğini belirleyin. Erişim Belirteci veErişim Belirteci Parolası değerlerini kopyalayın.

    X uygulaması için aldığınız değerleri kaydedin. Değerlere daha sonra ihtiyacınız olacak.

Not

X uygulamasının anahtarları ve gizli dizileri, X hesabınıza erişim sağlar. Bu bilgileri, X parolanızı kullandığınız gibi hassas olarak değerlendirin. Örneğin, bu bilgileri başkalarına verdiğiniz bir uygulamaya eklemeyin.

İstemci uygulamasını yapılandırma

Belirli bir konu kümesiyle ilgili tweet olaylarını toplamak için Twitter Akış API'lerini kullanarak X verilerine bağlanan bir istemci uygulaması oluşturduk.

Uygulama çalışmadan önce Sizden Twitter anahtarları ve olay hub'ı bağlantı dizesi gibi belirli bilgiler gerektirir.

  1. Önkoşullarda listelendiği gibi TwitterClientCore uygulamasını indirdiğinizden emin olun.

  2. App.config dosyasını açmak için bir metin düzenleyicisi kullanın. <appSettings> öğesinde aşağıdaki değişiklikleri yapın:

    • oauth_consumer_key öğesini Twitter Tüketici Anahtarı (API anahtarı) olarak ayarlayın.
    • Twitter Tüketici Gizli Anahtarı (API gizli anahtarı) olarak ayarlayın oauth_consumer_secret .
    • oauth_token öğesini Twitter erişim belirteci olarak ayarlayın.
    • oauth_token_secret öğesini Twitter erişim belirteci gizli anahtarı olarak ayarlayın.
    • EventHubNameConnectionString öğesini bağlantı dizesi olarak ayarlayın.
    • EventHubName öğesini etkinlik merkezi adına ayarlayın (yani varlık yolunun değeri).
  3. Komut satırını açın ve TwitterClientCore uygulamanızın bulunduğu dizine gidin. Projeyi oluşturmak için komutunu dotnet build kullanın. Ardından komutunu dotnet run kullanarak uygulamayı çalıştırın. Uygulama, Event Hubs'ınıza Tweet gönderir.

Stream Analytics görevi oluşturun

Artık tweet olayları X'ten gerçek zamanlı olarak akışla aktarıldığından, bu olayları gerçek zamanlı olarak analiz etmek için bir Stream Analytics işi ayarlayabilirsiniz.

  1. Azure portalında kaynak grubunuza gidin ve + Ekle'yi seçin. Ardından Stream Analytics işini arayın ve Oluştur'u seçin.

  2. İşi socialx-sa-job adlandırın ve bir abonelik, kaynak grubu ve konum belirtin.

    En iyi performans için işi ve olay hub'ını aynı bölgeye yerleştirmek ve bölgeler arasında veri aktarımı için ödeme yapmamak iyi bir fikirdir.

  3. Oluştur'u belirleyin. Ardından dağıtım tamamlandığında işinize gidin.

Görev girdisini belirtin

  1. Stream Analytics işinizde, İş Topolojisi'nin altındaki sol menüden Girişler'i seçin.

  2. + Akış girişi ekle>Event Hub'ı seçin. Yeni giriş formunu aşağıdaki bilgilerle doldurun:

    Ayar Önerilen değer Açıklama
    Giriş takma adı TwitterStream Girdi için bir takma ad girin.
    Abonelik <Aboneliğiniz> Kullanmak istediğiniz Azure aboneliğini seçin.
    Event Hubs ad alanı asa-x-eventhub
    Olay hub'ı adı socialx-eh Var olanı kullan'ı seçin. Ardından oluşturduğunuz olay hub'ını seçin.
    Olay sıkıştırma türü Gzip Veri sıkıştırma türü.

    Kalan varsayılan değerleri bırakın ve Kaydet'i seçin.

İş sorgusunu belirtme

Stream Analytics, dönüştürmeleri açıklayan basit, bildirim temelli bir sorgu modelini destekler. Dil hakkında daha fazla bilgi edinmek için bkz . Azure Stream Analytics Sorgu Dili Başvurusu. Bu öğretici, X verileri üzerinde çeşitli sorgular yazmanıza ve test olmanıza yardımcı olur.

Konular arasındaki bahsedilme sayılarını karşılaştırmak için, her beş saniyede bir konuya göre bahsedilme sayısını elde etmek üzere bir Tumbling window kullanabilirsiniz.

  1. İşinize Genel Bakış bölümünde Sorgu kutusunun sağ üst kısmındaki Sorguyu düzenle'yi seçin. Azure, iş için yapılandırılan girişleri ve çıkışları listeler ve çıkışa gönderilirken giriş akışını dönüştürmek için bir sorgu oluşturmanıza olanak tanır.

  2. Sorgu düzenleyicisindeki sorguyu aşağıdaki şekilde değiştirin:

    SELECT *
    FROM TwitterStream
    
  3. İletilerdeki olay verileri sorgunuzun altındaki Giriş önizleme penceresinde görünmelidir. Görünüm'un JSON olarak ayarlandığından emin olun. Herhangi bir veri görmüyorsanız, veri oluşturucunuzun olay hub'ınıza olay gönderdiğinden ve giriş için sıkıştırma türü olarak Gzip'i seçtiğinizden emin olun.

  4. Test sorgusu'na tıklayın ve sorgunuzun altındaki Test sonuçları penceresinde sonuçlarıgörebilirsiniz.

  5. Kod düzenleyicisindeki sorguyu aşağıdakiyle değiştirin ve Sorguyu test et'i seçin:

    SELECT System.Timestamp as Time, text
    FROM TwitterStream
    WHERE text LIKE '%Azure%'
    
  6. Bu sorgu, Azure anahtar sözcüğünü içeren tüm tweet'leri döndürür.

Çıkış alıcısı oluşturun

Artık bir olay akışı, olayları almak için bir olay hub girdisi ve akış üzerinde bir dönüşüm gerçekleştiren bir sorgu tanımladınız. Son adım, iş için bir çıkış havuzu tanımlamaktır.

Bu öğreticide, iş sorgusundaki topulaştırılmış tweet olaylarını Azure Blob depolama alanına yazarsınız. Ayrıca uygulamanızın gereksinimlerine bağlı olarak sonuçlarınızı Azure SQL Veritabanı, Azure Tablo depolama, Event Hubs veya Power BI'a gönderebilirsiniz.

Görev çıktısını belirtin

  1. Sol gezinti menüsündeki İş Topolojisi bölümünün altında Çıkışlar'ı seçin.

  2. Çıkışlar sayfasında + Ekle seçeneğini belirleyip Blob depolama/Data Lake Storage 2. Nesil'yi seçin:

    • Çıkış takma adı: TwitterStream-Output adını kullanın.
    • İçe aktarma seçenekleri: Aboneliklerinizdeki depolama alanını seçin seçeneğini belirleyin.
    • Depolama hesabı. Depolama hesabınızı seçin.
    • Kapsayıcı. Yeni oluştur seçeneğini belirleyin ve socialx girin.
  3. Kaydet'i seçin.

İşi başlatma

bir iş girişi, sorgu ve çıkış belirtilir. Stream Analytics işini başlatmaya hazırsınız.

  1. TwitterClientCore uygulamasının çalıştığından emin olun.

  2. İşe genel bakış bölümünde Başlat'ı seçin.

  3. İşi başlat sayfasında, İş çıktısı başlangıç zamanı için Şimdi'yi ve ardından Başlat'ı seçin.

Azure Stream Analytics için destek alın

Daha fazla yardım için Azure Stream Analytics için Microsoft Soru-Cevap soru sayfamızı deneyin.

Sonraki adımlar