Analýza informačních kanálů pomocí analýzy téměř v reálném čase s využitím 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. Služba Azure Cognitive Services poskytuje užitečné přehledy založené na překladu textu, rozpoznávání obličeje a detekci mínění. Konkrétně se kroky zpracování obrázků a přirozeného jazyka vzájemně propojují v kanálu zasílání zpráv na základě Azure Service Bus. Výstupem kanálu je oznámení obsahující přehled nebo analýzu.

Architektura

Diagram architektury: Ingestujte a analyzujte informační kanály RSS pomocí zpracování obrázků a textu a odesílejte oznámení.Stáhněte si soubor Visia s touto architekturou.

Tok dat

Data procházejí řešením následujícím způsobem:

  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 zprávy a někdy i 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í v Azure Functions, která ukládá text článku ve službě Azure Cosmos DB a obrázky článků (pokud existují) do 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 služby 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. Pak předá článek do další fronty.

  5. Funkce detekce se aktivuje z článku ve frontě. Používá službu Počítačové zpracování obrazu k detekci objektů, orientačních bodů a psaných slov 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ě. Pomocí služby Azure Api pro rozpoznávání tváře rozpozná tváře z hlediska pohlaví a věku na 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 oznámení. Načte zpracované záznamy pro článek a vyhledá v nich všechny požadované výsledky. Pokud se najde, obsah se označí 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. Nakonec 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 k identifikaci problémů se spokojeností zákazníků.

Komponenty

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

Alternativy

  • Místo použití vzoru založeného na oznámení frontě a Azure Functions byste pro tento tok dat mohli použít model tématu a předplatného. Azure Service Bus Témata lze použít k paralelnímu zpracování různých částí článku, nikoli k sériovému zpracování provedenému v tomto příkladu. Další informace najdete v porovnání front a témat.

  • Azure Logic Apps použijte k implementaci kódu funkce a k implementaci uzamčení na úrovni záznamů, jako je to, které poskytuje algoritmus Redlock (který je potřebný pro paralelní zpracování, dokud Azure Cosmos DB nepodporuje částečné aktualizace dokumentů). Další informace najdete v porovnání funkcí Functions a Logic Apps.

  • Implementujte tuto architekturu s využitím přizpůsobených komponent AI místo stávajících služeb Azure. Můžete například rozšířit kanál pomocí přizpůsobeného modelu, který detekuje určité osoby na obrázku na rozdíl od obecných údajů o počtu osob, 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 z 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 ke zdroji služeb Azure Cosmos DB a Azure Storage

  • Azure Cognitive Search je funkce AI ve službě Azure Search, kterou můžete 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 informační kanály v angličtině, ruštině a němčině , ale můžete je snadno rozšířit na další informační kanály RSS a další jazyky. Pro usnadnění nasazení jsou shromažďování, zpracování a analýza dat zcela založeny 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 byste museli:

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

Požadavky

Tyto aspekty implementují pilíře azure Well-Architected Framework, což je sada hlavních zásad, které lze použít ke zlepšení kvality úloh. Další informace najdete v tématu Microsoft Azure Well-Architected Framework.

Pro zjednodušení tento ukázkový scénář používá jenom několik dostupných rozhraní API a služeb ze služeb Azure Cognitive Services. Například text v obrázcích je možné analyzovat pomocí rozhraní API Analýza textu. Cílovým jazykem v tomto scénáři je angličtina, ale vstup můžete změnit na libovolný podporovaný jazyk.

Škálovatelnost

Azure Functions škálování závisí na vámi používaném plánu hostování. 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 plán Dedicated, který umožňuje škálovat mezi úrovněmi a přidělit různé množství prostředků.

Se službou Azure Cosmos DB je klíčem distribuovat úlohy přibližně rovnoměrně mezi dostatečně velký počet klíčů oddílů. Neexistuje žádné omezení celkového množství dat, která může kontejner ukládat, ani 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 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 na Prozkoumat\Hledat a vyhledejte data.

Zabezpečení

Zabezpečení poskytuje záruku před úmyslnými útoky a zneužitím vašich 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 C# SDK od Microsoftu. Neexistují žádné jiné vnější 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ů spočívá v hledání způsobů, jak snížit zbytečné náklady a zlepšit provozní efektivitu. Další informace najdete v tématu Přehled pilíře optimalizace nákladů.

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

Ceny za 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í aplikace generátoru, která bude kanálem pro tuto ukázku.

Další kroky

Další analytické architektury: