Upravit

Sdílet prostřednictvím


Analýza informačních kanálů pomocí analýzy téměř v reálném čase pomocí zpracování obrázků a přirozeného jazyka

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

Tento ukázkový scénář popisuje kanál pro hromadný příjem dat a analýzu dokumentů pocházejících z veřejných informačních kanálů RSS téměř v reálném čase. Používá azure Cognitive Services k poskytování užitečných přehledů na základě překladu textu, rozpoznávání obličeje a detekce mínění. Konkrétně jsou kroky zpracování obrázků a přirozeného jazyka propojené v kanálu zasílání zpráv založeném na službě Azure Service Bus. Výstupem kanálu je oznámení obsahující přehled nebo analýzu.

Architektura

Diagram architektury: ingestování a analýza informačních kanálů RSS pomocí zpracování obrázků a textu a odesílání oznámeníStáhněte si soubor aplikace Visio s touto architekturou.

Tok dat

Data procházejí tímto řešením:

  1. Informační kanál RSS funguje jako generátor, který získává data z dokumentu nebo článku. Například u článku data obvykle obsahují název, souhrn původního textu příspěvku a někdy obrázky.

  2. Generátor nebo proces příjmu dat vloží článek a všechny přidružené image do kolekce Azure Cosmos DB.

  3. Oznámení aktivuje funkci ingestování ve službě Azure Functions, která ukládá text článku ve službě Azure Cosmos DB a obrázky článků (pokud existují) ve službě Azure Blob Storage. Článek se pak předá do další fronty.

  4. Událost fronty aktivuje funkci překladu. Pomocí rozhraní API pro překlad textu ve službě Azure Cognitive Services rozpozná jazyk, v případě potřeby přeloží a shromáždí mínění, klíčové fráze a entity z textu a názvu. Potom článek předá další frontě.

  5. Funkce detect se aktivuje z článku zařazeného do fronty. Pomocí služby Počítačové zpracování obrazu rozpozná objekty, orientační body a napsaná slova v přidruženém obrázku a pak předá článek do další fronty.

  6. Funkce rozpoznávání tváře se aktivuje z článku ve frontě. Používá službu Rozhraní API pro rozpoznávání tváře Azure k detekci tváří pro pohlaví a věk v přidruženém obrázku a pak předá článek do další fronty.

  7. Po dokončení všech funkcí se aktivuje funkce upozornění. Načte zpracované záznamy pro článek a vyhledá všechny požadované výsledky. Pokud se tento obsah najde, označí se příznakem a do systému podle vašeho výběru se odešle oznámení.

V každém kroku zpracování funkce zapíše výsledky do služby Azure Cosmos DB. V konečném důsledku je možné data použít podle potřeby. Můžete ho například použít k vylepšení obchodních procesů, vyhledání nových zákazníků nebo identifikaci problémů se spokojeností zákazníků.

Komponenty

V tomto příkladu se používá následující seznam komponent Azure.

  • Azure Storage slouží k ukládání nezpracovaných obrázků a videosouborů přidružených k článku. Sekundární účet úložiště se vytvoří se službou Aplikace Azure Service a slouží k hostování kódu a protokolů funkce Azure Functions.

  • Azure Cosmos DB obsahuje text článku, obrázek a informace o sledování videa. Výsledky kroků služeb Cognitive Services jsou také uložené tady.

  • Azure Functions spustí kód funkce, který slouží k odpovídání na zprávy fronty a transformaci příchozího obsahu. Aplikace Azure Služba hostuje kód funkce a zpracovává záznamy sériově. Tento scénář zahrnuje pět funkcí: Ingestování, Transformace, Rozpoznat objekt, Tvář a Notify.

  • Azure Service Bus hostuje fronty Služby Azure Service Bus používané funkcemi.

  • Azure Cognitive Services poskytuje AI pro kanál založený na implementacích služby Počítačové zpracování obrazu, rozhraní API pro rozpoznávání tváře a služby překladu strojového překladu textu.

  • Aplikace Azure lication Insights poskytuje analýzy, které vám pomůžou diagnostikovat problémy a porozumět funkcím vaší aplikace.

Alternativy

  • Místo použití vzoru založeného na oznámení frontě a azure Functions můžete pro tento tok dat použít model tématu a odběru . Témata služby Azure Service Bus je možné použít ke zpracování různých částí článku paralelně, a ne k sériovému zpracování provedenému v tomto příkladu. Další informace najdete v porovnání front a témat.

  • Pomocí Azure Logic Apps implementujte kód funkce a implementujte zamykání na úrovni záznamů, jako je například takové, které poskytuje algoritmus Redlock (který je nutný pro paralelní zpracování, dokud Azure Cosmos DB nepodporuje částečné aktualizace dokumentů). Další informace najdete v porovnání funkcí a Logic Apps.

  • Implementujte tuto architekturu pomocí přizpůsobených komponent AI, nikoli stávajících služeb Azure. Například rozšiřte kanál pomocí přizpůsobeného modelu, který detekuje určité osoby na obrázku, na rozdíl od obecného počtu lidí, pohlaví a věku shromážděných v tomto příkladu. Pokud chcete s touto architekturou používat přizpůsobené modely strojového učení nebo AI, sestavte modely jako koncové body RESTful, aby je bylo možné volat ze služby Azure Functions.

  • Místo informačních kanálů RSS použijte jiný vstupní mechanismus. Použití více generátorů nebo procesů příjmu dat k podávání služby Azure Cosmos DB a Azure Storage

  • Azure Cognitive Search je funkce umělé inteligence ve službě Azure Search , která se dá použít také k extrakci textu z obrázků, objektů blob a dalších nestrukturovaných zdrojů dat.

Podrobnosti scénáře

Tento scénář obsahuje příklady pro anglické, ruské a německé informační kanály, ale můžete ho snadno rozšířit na další informační kanály RSS a další jazyky. Pro snadné nasazení je shromažďování, zpracování a analýza dat založená výhradně na službách Azure.

Potenciální případy použití

I když je tento scénář založený na zpracování informačních kanálů RSS, je relevantní pro jakýkoli dokument, web nebo článek, kde potřebujete:

  • Přeloží text do vybraného jazyka.
  • Vyhledání klíčových frází, entit a mínění uživatelů v digitálním obsahu
  • Rozpozná objekty, text a orientační body na obrázcích přidružených k digitálnímu článku.
  • Rozpoznávání lidí podle pohlaví a věku na obrázcích spojených s digitálním obsahem

Důležité informace

Tyto aspekty implementují pilíře dobře architektuře Azure, což je sada hlavních principů, které je možné použít ke zlepšení kvality úlohy. Další informace naleznete v tématu Microsoft Azure Well-Architected Framework.

Pro zjednodušení tento ukázkový scénář používá pouze několik dostupných rozhraní API a služeb z Azure Cognitive Services. Například text v obrázcích je možné analyzovat pomocí rozhraní ANALÝZA TEXTU API. Cílový jazyk v tomto scénáři se předpokládá jako angličtina, ale vstup můžete změnit na libovolný podporovaný jazyk.

Škálovatelnost

Škálování Azure Functions závisí na plánu hostování, který používáte. Toto řešení předpokládá plán Consumption, ve kterém se výpočetní výkon automaticky přiděluje funkcím v případě potřeby. Platíte jenom v případech, kdy jsou funkce spuštěné. Další možností je použít vyhrazený plán, který umožňuje škálovat mezi úrovněmi a přidělit různé množství prostředků.

Díky službě Azure Cosmos DB je klíčem distribuovat úlohy zhruba rovnoměrně mezi dostatečně velký počet klíčů oddílů. Neexistuje žádné omezení celkového množství dat, která kontejner může uložit, nebo na celkovou propustnost , kterou kontejner podporuje.

Správa a protokolování

Toto řešení používá Application Insights ke shromažďování informací o výkonu a protokolování. Instance Application Insights se vytvoří s nasazením ve stejné skupině prostředků jako ostatní služby potřebné pro toto nasazení.

Zobrazení protokolů vygenerovaných řešením:

  1. Přejděte na Web Azure Portal a přejděte do skupiny prostředků vytvořené pro nasazení.

  2. Vyberte instanci Application Insights.

  3. V části Application Insights přejděte do části Prozkoumat\Hledat a prohledat data.

Zabezpečení

Zabezpečení poskytuje záruky proti záměrným útokům a zneužití cenných dat a systémů. Další informace najdete v tématu Přehled pilíře zabezpečení.

Azure Cosmos DB používá zabezpečené připojení a sdílený přístupový podpis prostřednictvím sady SDK jazyka C#, kterou poskytuje Microsoft. Neexistují žádné další externě orientované plochy. Přečtěte si další informace o osvědčených postupech zabezpečení pro službu Azure Cosmos DB.

Optimalizace nákladů

Optimalizace nákladů se zabývá způsoby, jak snížit zbytečné výdaje a zlepšit efektivitu provozu. Další informace najdete v tématu Přehled pilíře optimalizace nákladů.

Azure Cosmos DB je výkonný, ale za toto nasazení se účtují největší náklady . Můžete použít jiné řešení úložiště refaktoringem poskytnutého kódu Azure Functions.

Ceny služby Azure Functions se liší v závislosti na plánu , ve kterém běží.

Nasazení tohoto scénáře

Poznámka:

Musíte mít existující účet Azure. Pokud ještě nemáte předplatné Azure, vytvořte si napřed bezplatný účet.

Veškerý kód pro tento scénář je k dispozici v úložišti GitHub . Toto úložiště obsahuje zdrojový kód použitý k sestavení generátorové aplikace, která kanál pro tuto ukázku podává.

Další kroky

Další analytické architektury: