Görüntü ve doğal dil işleme kullanarak neredeyse gerçek zamanlı analizlerle haber akışlarını analiz etme

Azure Cosmos DB
Azure Functions
Azure Service Bus
Azure Translator Text
Azure Yüz Tanıma

Bu örnek senaryoda, toplu alım için bir işlem hattı ve genel RSS haber akışlarından gelen belgelerin neredeyse gerçek zamanlı analizi açıklanmaktadır. Metin çevirisi, yüz tanıma ve yaklaşım algılamaya dayalı yararlı içgörüler sağlamak için Azure Bilişsel Hizmetler'i kullanır. Özellikle, görüntü ve doğal dil işleme adımları Azure Service Bus'ı temel alan bir mesajlaşma işlem hattında birbirine bağlanır. İşlem hattının çıkışı, içgörü veya analizi içeren bir bildirimdir.

Mimari

Mimari diyagramı: Görüntü ve metin işleme kullanarak RSS akışlarını alın ve analiz edin ve bildirimler gönderin.Bu mimarinin bir Visio dosyasını indirin.

Veri akışı

Veriler çözümde aşağıdaki gibi akar:

  1. RSS haber akışı, bir belge veya makaleden veri alan oluşturucu işlevi görür. Örneğin, bir makaleyle veriler genellikle bir başlık, haber öğesinin özgün gövdesinin özeti ve bazen resimler içerir.

  2. Oluşturucu veya alma işlemi, makaleyi ve ilişkili görüntüleri bir Azure Cosmos DB Koleksiyonuna ekler.

  3. Bildirim, Azure İşlevleri'da makale metnini Azure Cosmos DB'de ve makale görüntülerini (varsa) Azure Blob Depolama depolayan bir alma işlevini tetikler. Daha sonra makale bir sonraki kuyruğa geçirilir.

  4. Bir translate işlevi kuyruk olayı tarafından tetikleniyor. Azure AI hizmetlerinin Metin Çevirisi API'sini kullanarak dili algılar, gerekirse çevirir ve gövde ile başlıktan yaklaşım, anahtar ifadeler ve varlıkları toplar. Ardından makaleyi sonraki kuyruğa geçirir.

  5. Kuyruğa alınan makaleden bir detect işlevi tetikleniyor. İlişkili görüntüdeki nesneleri, yer işaretlerini ve yazılı sözcükleri algılamak için Görüntü İşleme hizmetini kullanır, ardından makaleyi bir sonraki kuyruğa geçirir.

  6. Kuyruğa alınan makaleden bir yüz tanıma işlevi tetikleniyor. İlişkili görüntüdeki cinsiyet ve yaş yüzlerini algılamak için Azure Yüz Tanıma API'si hizmetini kullanır, ardından makaleyi bir sonraki kuyruğa geçirir.

  7. Tüm işlevler tamamlandığında notify işlevi tetiklenir. Makale için işlenen kayıtları yükler ve bunları istediğiniz sonuçlar için tarar. Bulunursa, içeriğe bayrak eklenir ve seçtiğiniz sisteme bir bildirim gönderilir.

İşlev, her işlem adımında sonuçları Azure Cosmos DB'ye yazar. Sonuç olarak, veriler istenen şekilde kullanılabilir. Örneğin, bunu iş süreçlerini geliştirmek, yeni müşteriler bulmak veya müşteri memnuniyeti sorunlarını belirlemek için kullanabilirsiniz.

Bileşenler

Bu örnekte aşağıdaki Azure bileşenlerinin listesi kullanılmıştır.

  • Azure Depolama , bir makaleyle ilişkili ham görüntü ve video dosyalarını tutmak için kullanılır. Azure Uygulaması Hizmeti ile ikincil bir depolama hesabı oluşturulur ve Azure işlev kodunu ve günlüklerini barındırmak için kullanılır.

  • Azure Cosmos DB makale metnini, görüntüsünü ve video izleme bilgilerini barındırıyor. Azure yapay zeka hizmetleri adımlarının sonuçları da burada depolanır.

  • Azure İşlevleri kuyruk iletilerine yanıt vermek ve gelen içeriği dönüştürmek için kullanılan işlev kodunu yürütür. Azure Uygulaması Hizmeti işlev kodunu barındırıp kayıtları seri olarak işler. Bu senaryo beş işlev içerir: Alma, Dönüştürme, Nesneyi Algılama, Yüz Tanıma ve Bildirim.

  • Azure Service Bus, işlevler tarafından kullanılan Azure Service Bus kuyruklarını barındırıyor.

  • Azure AI hizmetleri, Görüntü İşleme hizmeti, Yüz Tanıma API'si ve Çeviri Metin çevirisi hizmeti uygulamalarına dayalı olarak işlem hattı için yapay zeka sağlar.

  • Azure Uygulaması lication Insights, sorunları tanılamanıza ve uygulamanızın işlevselliğini anlamanıza yardımcı olacak analizler sağlar.

Alternatifler

  • Kuyruk bildirimine ve Azure İşlevleri dayalı bir desen kullanmak yerine, bu veri akışı için bir konu ve abonelik deseni kullanabilirsiniz. Azure Service Bus Konuları , bu örnekte yapılan seri işlemenin aksine makalenin çeşitli bölümlerini paralel olarak işlemek için kullanılabilir. Daha fazla bilgi için kuyrukları ve konuları karşılaştırın.

  • İşlev kodunu uygulamak ve Redlock algoritması tarafından sağlanan kayıt düzeyinde kilitleme uygulamak için Azure Logic Apps'i kullanın (Azure Cosmos DB kısmi belge güncelleştirmelerini destekleyene kadar paralel işleme için gereklidir). Daha fazla bilgi için İşlevler ve Logic Apps'i karşılaştırın.

  • Bu mimariyi mevcut Azure hizmetleri yerine özelleştirilmiş yapay zeka bileşenlerini kullanarak uygulayın. Örneğin, bu örnekte toplanan genel kişi sayısı, cinsiyet ve yaş verilerinin aksine görüntüdeki belirli kişileri algılayan özelleştirilmiş bir model kullanarak işlem hattını genişletin. Özelleştirilmiş makine öğrenmesi veya yapay zeka modellerini bu mimariyle kullanmak için, modelleri Azure İşlevleri çağrılabilmeleri için RESTful uç noktaları olarak oluşturun.

  • RSS akışları yerine farklı bir giriş mekanizması kullanın. Azure Cosmos DB ve Azure Depolama'yı beslemek için birden çok oluşturucu veya alma işlemi kullanın.

  • Azure Bilişsel Arama, Azure Search'te görüntülerden, bloblardan ve diğer yapılandırılmamış veri kaynaklarından metin ayıklamak için de kullanılabilen bir yapay zeka özelliğidir.

Senaryo ayrıntıları

Bu senaryo İngilizce, Rusça ve Almanca haber akışları için örnekler içerir, ancak bunu diğer RSS akışlarına ve diğer dillere kolayca genişletebilirsiniz. Dağıtım kolaylığı için veri toplama, işleme ve analiz tamamen Azure hizmetlerini temel alır.

Olası kullanım örnekleri

Bu senaryo RSS akışlarının işlenmesine dayansa da, aşağıdakilere ihtiyaç duyacağınız tüm belgeler, web siteleri veya makalelerle ilgilidir:

  • Metni istediğiniz dile çevirin.
  • Dijital içerikte anahtar ifadeleri, varlıkları ve kullanıcı yaklaşımını bulun.
  • Dijital bir makaleyle ilişkili görüntülerdeki nesneleri, metinleri ve yer işaretlerini algılama.
  • Dijital içerikle ilişkili görüntülerde kişileri cinsiyete ve yaşa göre algılama.

Dikkat edilmesi gereken noktalar

Bu önemli noktalar, bir iş yükünün kalitesini artırmak için kullanılabilecek bir dizi yol gösteren ilke olan Azure İyi Tasarlanmış Çerçeve'nin yapı taşlarını uygular. Daha fazla bilgi için bkz . Microsoft Azure İyi Tasarlanmış Çerçeve.

Kolaylık olması için, bu örnek senaryoda Azure AI hizmetlerinden yalnızca birkaç kullanılabilir API ve hizmet kullanılır. Örneğin, görüntülerdeki metinler Metin Analizi API kullanılarak analiz edilebilir. Bu senaryoda hedef dilin İngilizce olduğu varsayılır, ancak girişi desteklenen herhangi bir dile değiştirebilirsiniz.

Ölçeklenebilirlik

Azure İşlevleri ölçeklendirme, kullandığınız barındırma planına bağlıdır. Bu çözüm, işlem gücünün gerektiğinde işlevlere otomatik olarak ayrıldığı bir Tüketim planı olduğunu varsayar. Yalnızca işlevleriniz çalışırken ödeme alırsınız. Bir diğer seçenek de farklı miktarda kaynak ayırmak için katmanlar arasında ölçeklendirme yapmanızı sağlayan Ayrılmış plan kullanmaktır.

Azure Cosmos DB ile anahtar, iş yükünüzü yeterince fazla sayıda bölüm anahtarı arasında kabaca eşit bir şekilde dağıtmaktır. Kapsayıcının depolayabileceğiniz toplam veri miktarıyla veya kapsayıcının destekleyebilecek toplam aktarım hızı miktarıyla ilgili bir sınır yoktur.

Yönetim ve günlüğe kaydetme

Bu çözüm, performans ve günlük bilgilerini toplamak için Application Insights'ı kullanır. Application Insights örneği, dağıtımla birlikte bu dağıtım için gereken diğer hizmetlerle aynı kaynak grubunda oluşturulur.

Çözüm tarafından oluşturulan günlükleri görüntülemek için:

  1. Azure portalına gidin ve dağıtım için oluşturulan kaynak grubuna gidin.

  2. Application Insights örneğini seçin.

  3. Application Insights bölümünde Araştır\Ara'ya gidin ve verileri arayın.

Güvenlik

Güvenlik, kasıtlı saldırılara ve değerli verilerinizin ve sistemlerinizin kötüye kullanılmasına karşı güvence sağlar. Daha fazla bilgi için bkz . Güvenlik sütununa genel bakış.

Azure Cosmos DB, Microsoft tarafından sağlanan C# SDK'sı aracılığıyla güvenli bir bağlantı ve paylaşılan erişim imzası kullanır. Dışarıdan bakan başka yüzey alanı yoktur. Azure Cosmos DB için en iyi güvenlik uygulamaları hakkında daha fazla bilgi edinin.

Maliyet iyileştirme

Maliyet iyileştirmesi, gereksiz giderleri azaltmanın ve operasyonel verimlilikleri iyileştirmenin yollarını aramaktır. Daha fazla bilgi için bkz . Maliyet iyileştirme sütununa genel bakış.

Azure Cosmos DB güçlüdür ancak bu dağıtımda en yüksek maliyeti sağlar. Sağlanan Azure İşlevleri kodunu yeniden düzenleyerek başka bir depolama çözümü kullanabilirsiniz.

Azure İşlevleri fiyatlandırması, çalıştığı plana bağlı olarak değişir.

Bu senaryoyu dağıtın

Not

Mevcut bir Azure hesabınız olmalıdır. Azure aboneliğiniz yoksa başlamadan önce ücretsiz bir hesap oluşturun.

Bu senaryonun tüm kodları GitHub deposunda kullanılabilir. Bu depo, bu tanıtım için işlem hattını besleyen oluşturucu uygulamasını derlemek için kullanılan kaynak kodunu içerir.

Sonraki adımlar

Ek analiz mimarileri: