Hírcsatornák elemzése közel valós idejű elemzéssel kép- és természetes nyelvi feldolgozással

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

Ez a példaforgatókönyv a nyilvános RSS-hírcsatornákból származó dokumentumok tömeges betöltését és közel valós idejű elemzését ismerteti. Az Azure Cognitive Services használatával hasznos elemzéseket nyújt a szövegfordítás, az arcfelismerés és a hangulatfelismerés alapján. A rendszerképek és a természetes nyelvi feldolgozási lépések egy üzenetkezelési folyamatban kapcsolódnak össze Azure Service Bus alapján. A folyamat kimenete az elemzést vagy elemzést tartalmazó értesítés.

Architektúra

Architektúradiagram: RSS-hírcsatornák betöltése és elemzése kép- és szövegfeldolgozással, valamint értesítések küldése.Töltse le az architektúra Visio-fájlját.

Adatfolyam

Az adatok a következő módon haladnak át a megoldáson:

  1. Az RSS-hírcsatornák olyan generátorként szolgálnak, amely adatokat szerez be egy dokumentumból vagy cikkből. Például egy cikk esetében az adatok általában egy címet, a hírelem eredeti törzsének összegzését és néha képeket tartalmaznak.

  2. A generátor vagy a betöltési folyamat beszúrja a cikket és a kapcsolódó rendszerképeket egy Azure Cosmos DB-gyűjteménybe.

  3. Az értesítés aktivál egy betöltési függvényt a Azure Functions, amely a cikk szövegét az Azure Cosmos DB-ben, a cikk lemezképeit (ha vannak) az Azure Blob Storage tárolja. A cikk ezután átkerül a következő üzenetsorba.

  4. A fordítófüggvényt az üzenetsor eseménye aktiválja. Az Azure Cognitive Services Szöveg fordítási API-ját használja a nyelv észleléséhez, szükség esetén lefordításához, valamint a szövegtörzs és a cím hangulatának, kulcskifejezéseinek és entitásainak gyűjtéséhez. Ezután átadja a cikket a következő üzenetsornak.

  5. Az észlelési függvényt az üzenetsorba helyezett cikk aktiválja. A Computer Vision szolgáltatással észleli a társított kép objektumait, nevezetességeit és írott szavait, majd átadja a cikket a következő üzenetsornak.

  6. Az arcfüggvényt az üzenetsorba helyezett cikk aktiválja. Az Azure Face API szolgáltatással észleli a nem és az életkor szerinti arcokat a társított képen, majd átadja a cikket a következő üzenetsornak.

  7. Ha minden függvény befejeződött, a rendszer aktiválja az értesítési függvényt. Betölti a cikk feldolgozott rekordjait, és megvizsgálja a kívánt eredményeket. Ha megtalálta, a rendszer megjelöli a tartalmat, és értesítést küld az Ön által választott rendszernek.

A függvény minden feldolgozási lépésben az eredményeket az Azure Cosmos DB-be írja. Végső soron az adatok tetszés szerint használhatók. Használhatja például az üzleti folyamatok javítására, új ügyfelek megkeresésére vagy az ügyfelek elégedettségi problémáinak azonosítására.

Összetevők

Ebben a példában az Azure-összetevők alábbi listáját használjuk.

  • Az Azure Storage a cikkhez társított nyers kép- és videofájlok tárolására szolgál. A rendszer létrehoz egy másodlagos tárfiókot Azure App Service, és az Azure-függvénykód és -naplók üzemeltetésére szolgál.

  • Az Azure Cosmos DB a cikk szövegét, képét és videókövetési adatait tartalmazza. A Cognitive Services lépéseinek eredményeit itt is tároljuk.

  • Azure Functions végrehajtja az üzenetsor-üzenetek megválaszolásához és a bejövő tartalom átalakításához használt függvénykódot. Azure App Service üzemelteti a függvénykódot, és sorosan dolgozza fel a rekordokat. Ez a forgatókönyv öt függvényt tartalmaz: Betöltés, Átalakítás, Objektum észlelése, Arc és Értesítés.

  • Azure Service Bus a függvények által használt Azure Service Bus üzenetsorokat üzemelteti.

  • Az Azure Cognitive Services biztosítja a folyamat mesterséges intelligenciáját a Computer Vision szolgáltatás, a Face API és a Translate Text gépi fordítási szolgáltatás implementációi alapján.

  • Azure-alkalmazás Insights elemzéseket biztosít a problémák diagnosztizálásához és az alkalmazás működésének megértéséhez.

Alternatív megoldások

  • Ahelyett, hogy üzenetsor-értesítésen és Azure Functions alapuló mintát használna, használhatna egy témakört és előfizetési mintát ehhez az adatfolyamhoz. Azure Service Bus témakörök a cikk különböző részeinek párhuzamos feldolgozására használhatók, szemben az ebben a példában végzett soros feldolgozással. További információért hasonlítsa össze az üzenetsorokat és a témaköröket.

  • Az Azure Logic Apps használatával implementálhatja a függvénykódot, és olyan rekordszintű zárolást valósíthat meg, mint amelyet a Redlock algoritmus biztosít (amely a párhuzamos feldolgozáshoz szükséges, amíg az Azure Cosmos DB nem támogatja a részleges dokumentumfrissítéseket). További információt a Functions és a Logic Apps összehasonlítása című témakörben talál.

  • Ezt az architektúrát a meglévő Azure-szolgáltatások helyett testreszabott AI-összetevőkkel implementálhatja. Például bővítse ki a folyamatot egy testre szabott modellel, amely észleli a képen szereplő bizonyos személyeket, szemben az ebben a példában összegyűjtött általános személyek számával, nemével és életkorával. Ha ezzel az architektúrával testre szabott gépi tanulási vagy AI-modelleket szeretne használni, hozza létre a modelleket RESTful végpontokként, hogy Azure Functions lehessen őket meghívni.

  • RSS-hírcsatornák helyett használjon másik bemeneti mechanizmust. Több generátor vagy betöltési folyamat használata az Azure Cosmos DB és az Azure Storage táplálásához.

  • A Azure Cognitive Search egy AI-funkció az Azure Searchben, amely képekből, blobokból és más strukturálatlan adatforrásokból származó szöveg kinyerésére is használható.

Forgatókönyv részletei

Ez a forgatókönyv példákat tartalmaz az angol, orosz és német hírcsatornákra, de egyszerűen kiterjesztheti más RSS-hírcsatornákra és más nyelvekre. A könnyű üzembe helyezés érdekében az adatgyűjtés, a feldolgozás és az elemzés teljes egészében az Azure-szolgáltatásokon alapul.

Lehetséges használati esetek

Bár ez a forgatókönyv RSS-hírcsatornák feldolgozásán alapul, minden olyan dokumentumhoz, webhelyhez vagy cikkhez kapcsolódik, ahol a következőket kell elvégeznie:

  • Szöveg fordítása tetszőleges nyelvre.
  • A digitális tartalmakban kulcskifejezéseket, entitásokat és felhasználói hangulatot kereshet.
  • Objektumok, szövegek és tájékozódási pontok észlelése digitális cikkhez társított képeken.
  • Személyek észlelése nem és kor szerint a digitális tartalomhoz társított képeken.

Megfontolandó szempontok

Ezek a szempontok implementálják az Azure Well-Architected-keretrendszer alappilléreit, amelyek a számítási feladatok minőségének javítására használható vezérelvek. További információ: Microsoft Azure Well-Architected Framework.

Az egyszerűség kedvéért ez a példaforgatókönyv csak néhány elérhető API-t és szolgáltatást használ az Azure Cognitive Servicesből. A képeken lévő szöveg például elemezhető a Text Analytics API-val. Ebben a forgatókönyvben a célnyelv az angol, de a bemenetet bármilyen támogatott nyelvre módosíthatja.

Méretezhetőség

Azure Functions skálázás a használt üzemeltetési csomagtól függ. Ez a megoldás egy használati tervet feltételez, amelyben a számítási teljesítmény szükség esetén automatikusan le van foglalva a függvényekhez. Csak akkor kell fizetnie, ha a függvények futnak. Egy másik lehetőség egy dedikált csomag használata, amely lehetővé teszi a szintek közötti skálázást, hogy eltérő mennyiségű erőforrást foglaljon le.

Az Azure Cosmos DB-vel a kulcs az, hogy a számítási feladat nagyjából egyenletesen oszlik el a elég nagy számú partíciókulcs között. A tárolók által tárolható adatok teljes mennyiségére vagy a tároló által támogatott teljes átviteli sebességre nincs korlátozva.

Felügyelet és naplózás

Ez a megoldás az Application Insights használatával gyűjt teljesítmény- és naplózási adatokat. Az Application Insights egy példánya az üzembe helyezéssel ugyanabban az erőforráscsoportban jön létre, mint az üzembe helyezéshez szükséges többi szolgáltatás.

A megoldás által létrehozott naplók megtekintése:

  1. Lépjen Azure Portal, és keresse meg az üzembe helyezéshez létrehozott erőforráscsoportot.

  2. Válassza ki az Application Insights-példányt .

  3. Az Application Insights szakaszban lépjen a Vizsgálat\Keresés területre, és keressen rá az adatokra.

Biztonság

A biztonság biztosítékokat nyújt a szándékos támadások és az értékes adatokkal és rendszerekkel való visszaélés ellen. További információ: A biztonsági pillér áttekintése.

Az Azure Cosmos DB biztonságos kapcsolatot és közös hozzáférésű jogosultságkódot használ a Microsoft által biztosított C# SDK-n keresztül. Nincsenek más külső felületi területek. További információ az Azure Cosmos DB biztonsági ajánlott eljárásairól .

Költségoptimalizálás

A költségoptimalizálás a felesleges költségek csökkentésének és a működési hatékonyság javításának módjait ismerteti. További információ: A költségoptimalizálási pillér áttekintése.

Az Azure Cosmos DB hatékony, de a legnagyobb költségekkel jár ebben az üzembe helyezésben. Másik tárolási megoldást is használhat a megadott Azure Functions kód újrabontásával.

A Azure Functions díjszabása attól függően változik, hogy melyik csomagban fut.

A forgatókönyv üzembe helyezése

Megjegyzés

Rendelkeznie kell egy meglévő Azure-fiókkal. Ha még nincs Azure-előfizetése, kezdés előtt hozzon létre egy ingyenes fiókot.

A forgatókönyv összes kódja elérhető a GitHub-adattárban . Ez az adattár tartalmazza a bemutató folyamatát tápláló generátoralkalmazás létrehozásához használt forráskódot.

Következő lépések

További elemzési architektúrák: