Menganalisis umpan berita dengan analitik hampir real-time pemrosesan gambar dan bahasa alami

Azure Cosmos DB
Azure Functions
Azure Service Bus
Azure Translator Text
Wajah Azure

Contoh skenario ini menjelaskan alur penyerapan massal dan analisis dokumen real-time dokumen yang berasal dari umpan berita RSS publik. Skenario ini menggunakan Azure Cognitive Services untuk memberikan wawasan yang berguna berdasarkan terjemahan teks, pengenalan wajah, dan deteksi sentimen. Khususnya, langkah-langkah pemrosesan gambar dan bahasa alami terhubung bersama dalam alur perpesanan berdasarkan Azure Service Bus. Output alur ini berupa pemberitahuan yang berisi wawasan atau analisis.

Arsitektur

Diagram arsitektur: menyerap dan menganalisis umpan RSS menggunakan pemrosesan gambar dan teks dan mengirim pemberitahuan.Unduh file Visio arsitektur ini.

Aliran data

Data mengalir melalui solusi sebagai berikut:

  1. Umpan berita RSS bertindak sebagai generator yang memperoleh data dari dokumen atau artikel. Misalnya, dalam artikel, data biasanya menyertakan judul, ringkasan isi asli item berita, dan terkadang gambar.

  2. Generator atau proses penyerapan menyisipkan artikel dan semua gambar terkait ke dalam Koleksi Azure Cosmos DB.

  3. Pemberitahuan memicu fungsi penyerapan di Azure Functions yang menyimpan teks artikel di Azure Cosmos DB dan gambar artikel (jika ada) di Azure Blob Storage. Artikel ini kemudian diteruskan ke antrean berikutnya.

  4. Fungsi terjemahkan dipicu oleh peristiwa antrean. Ini menggunakan Translate Text API dari Azure Cognitive Services untuk mendeteksi bahasa, menerjemahkannya jika perlu, dan mengumpulkan sentimen, frasa kunci, dan entitas dari isi dan judul. Kemudian artikel diteruskan ke antrean berikutnya.

  5. Fungsi deteksi dipicu dari artikel yang diantrekan. Ini menggunakan layanan Computer Vision untuk mendeteksi benda, penanda, dan kata-kata tertulis dalam gambar terkait, kemudian meneruskan artikel ke antrean berikutnya.

  6. Fungsi wajah dipicu dari artikel yang diantrekan. Ini menggunakan layanan Azure Face API untuk mendeteksi wajah guna mengetahui jenis kelamin dan usia dalam gambar terkait, kemudian meneruskan artikel ke antrean berikutnya.

  7. Setelah semua fungsi selesai, fungsi beri tahu dipicu. Ini memuat data yang diproses untuk artikel dan memindainya untuk mendapatkan hasil apa pun yang Anda inginkan. Jika ditemukan, konten ditandai dan pemberitahuan dikirim ke sistem pilihan Anda.

Pada setiap langkah pemrosesan, fungsi menulis hasil ke Azure Cosmos DB. Akhirnya, data dapat digunakan sesuai keinginan. Misalnya, Anda dapat menggunakannya untuk meningkatkan proses bisnis, mencari pelanggan baru, atau mengidentifikasi masalah kepuasan pelanggan.

Komponen

Daftar komponen Azure berikut digunakan dalam contoh ini.

  • Azure Storage digunakan untuk menyimpan file gambar dan video mentah yang terkait dengan artikel. Akun penyimpanan sekunder dibuat dengan Azure App Service dan digunakan untuk meng-host kode dan log Azure Function.

  • Azure Cosmos DB menyimpan informasi pelacakan teks, gambar, dan video artikel. Hasil langkah-langkah Cognitive Services juga disimpan di sini.

  • Azure Functions menjalankan kode fungsi yang digunakan untuk menanggapi pesan antrean dan mengubah konten yang masuk. Azure App Service meng-host kode fungsi dan memproses data secara berurutan. Skenario ini mencakup lima fungsi: Serap, Ubah, Deteksi Objek, Wajah, dan Beri Tahu.

  • Azure Service Bus meng-host antrean Azure Service Bus yang digunakan oleh fungsi.

  • Azure Cognitive Services menyediakan AI untuk alur berdasarkan implementasi layanan Computer Vision, Face API, dan layanan terjemahan mesin Translate Text.

  • Azure Application Insights menyediakan analitik untuk membantu Anda mendiagnosis masalah dan memahami fungsionalitas aplikasi Anda.

Alternatif

  • Sebagai alternatif menggunakan pola berdasarkan pemberitahuan antrean dan Azure Functions, Anda dapat menggunakan pola topik dan langganan untuk alur data ini. Azure Service Bus Topics dapat digunakan untuk memproses berbagai bagian artikel secara paralel dibandingkan dengan pemrosesan berurutan yang dilakukan dalam contoh ini. Untuk informasi selengkapnya, bandingkan antrean dan topik.

  • Gunakan Azure Logic Apps untuk menerapkan kode fungsi dan menerapkan penguncian tingkat catatan seperti yang disediakan oleh algoritma Redlock (yang diperlukan untuk pemrosesan paralel hingga Azure Cosmos DB mendukung pembaruan dokumen parsial). Untuk informasi selengkapnya, lihat membandingkan Functions dan Logic Apps.

  • Terapkan arsitektur ini menggunakan komponen AI yang dikustomisasi, bukan layanan Azure yang sudah ada. Misalnya, perluas alur menggunakan model kustom yang mendeteksi orang tertentu dalam gambar yang bertentangan dengan jumlah orang generik, jenis kelamin, dan data usia yang dikumpulkan dalam contoh ini. Untuk menggunakan pembelajaran mesin atau model AI yang dikustomisasi dengan arsitektur ini, buat model sebagai titik akhir RESTful sehingga dapat dipanggil dari Azure Functions.

  • Gunakan mekanisme input yang berbeda, bukan umpan RSS. Gunakan beberapa generator atau proses penyerapan untuk mengumpan Azure Cosmos DB dan Azure Storage.

  • Azure Cognitive Search adalah fitur AI di Azure Search yang juga dapat digunakan untuk mengekstrak teks dari gambar, blob, dan sumber data tidak terstruktur lainnya.

Detail skenario

Skenario ini berisi contoh untuk umpan berita bahasa Inggris, Rusia, dan Jerman, tetapi Anda dapat dengan mudah menyebarkannya ke umpan RSS lain dan bahasa lain. Untuk kemudahan penyebaran, pengumpulan, pemrosesan, dan analisis data didasarkan sepenuhnya pada layanan Azure.

Kasus penggunaan potensial

Meskipun skenario ini didasarkan pada pemrosesan umpan RSS, ini relevan dengan dokumen, situs web, atau artikel apa pun tempat Anda perlu:

  • Menerjemahkan teks ke bahasa pilihan.
  • Menemukan frasa kunci, entitas, dan sentimen pengguna dalam konten digital.
  • Mendeteksi benda, teks, dan penanda dalam gambar yang terkait dengan artikel digital.
  • Mendeteksi orang berdasarkan jenis kelamin dan usia dalam gambar yang terkait dengan konten digital.

Pertimbangan

Pertimbangan ini mengimplementasikan pilar Azure Well-Architected Framework, yang merupakan serangkaian prinsip panduan yang dapat digunakan untuk meningkatkan kualitas beban kerja. Untuk informasi selengkapnya, lihat Microsoft Azure Well-Architected Framework.

Untuk memudahkan, skenario contoh ini hanya menggunakan beberapa API dan layanan yang tersedia dari Azure Cognitive Services. Misalnya, teks dalam gambar dapat dianalisis menggunakan Text Analytics API. Bahasa target dalam skenario ini diasumsikan sebagai bahasa Inggris, tetapi Anda dapat mengubah input ke bahasa yang didukung apa pun.

Skalabilitas

Penskalaan Azure Functions bergantung pada paket hosting yang Anda gunakan. Solusi ini mengasumsikan rencana Konsumsi, di mana daya komputasi secara otomatis dialokasikan ke fungsi bila diperlukan. Anda hanya membayar saat fungsi dijalankan. Opsi lain adalah menggunakan paket Khusus, yang memungkinkan Anda menskalakan antar tingkatan untuk mengalokasikan jumlah sumber daya yang berbeda.

Dengan Azure Cosmos DB, kuncinya adalah mendistribusikan beban kerja Anda secara merata di antara sejumlah besar kunci partisi. Tidak ada batasan jumlah total data yang dapat disimpan dalam kontainer atau jumlah throughput total yang dapat didukung oleh kontainer.

Pengelolaan dan pengelogan

Solusi ini menggunakan Application Insights untuk mengumpulkan informasi performa dan pengelogan. Instans Application Insights dibuat dengan penyebaran di grup sumber daya yang sama dengan layanan lain yang diperlukan untuk penyebaran ini.

Untuk melihat log yang dihasilkan oleh solusi:

  1. Buka portal Azure dan buka grup sumber daya yang dibuat untuk penyebaran.

  2. Pilih instans Application Insights.

  3. Dari bagian Application Insights, buka Selidiki\Cari dan cari data.

Keamanan

Keamanan memberikan jaminan terhadap serangan yang disengaja dan penyalahgunaan data dan sistem berharga Anda. Untuk informasi selengkapnya, lihat Gambaran Umum pilar keamanan.

Azure Cosmos DB menggunakan koneksi aman dan tanda tangan akses bersama melalui C# SDK yang disediakan oleh Microsoft. Tidak ada area permukaan lain yang menghadap ke luar. Pelajari lebih lanjut praktik terbaik keamanan untuk Azure Cosmos DB.

Pengoptimalan biaya

Optimalisasi biaya adalah tentang mencari cara untuk mengurangi pengeluaran yang tidak perlu dan meningkatkan efisiensi operasional. Untuk informasi selengkapnya, lihat Gambaran umum pilar pengoptimalan biaya.

Azure Cosmos DB sangat canggih tetapi menimbulkan biaya terbesar dalam penyebaran ini. Anda dapat menggunakan solusi penyimpanan lain dengan merefaktorisasi kode Azure Functions yang disediakan.

Harga untuk Azure Functions bervariasi bergantung pada paket yang dijalankannya.

Sebarkan skenario ini

Catatan

Anda harus memiliki akun Azure yang sudah ada. Jika Anda tidak memiliki langganan Azure, buat akun gratis sebelum Anda memulai.

Semua kode untuk skenario ini tersedia di repositori GitHub. Repositori ini berisi kode sumber yang digunakan untuk membangun aplikasi generator yang mengumpan alur untuk demo ini.

Langkah berikutnya

Arsitektur analitik tambahan: