Redigera

Share via


Ansiktsigenkänning och attitydanalys

Azure AI services
Azure Cosmos DB
Azure Cosmos DB
Azure HDInsight
Azure Synapse Analytics

Den här artikeln presenterar en lösning för att mäta den allmänna opinionen i tweets. Målet är att skapa en transformeringspipeline som matar ut kluster med kommentarer och trendande ämnen.

Apache®, Apache NiFi, Apache Hadoop, Apache Hive och Apache Airflow är antingen registrerade varumärken eller varumärken som tillhör Apache Software Foundation i USA och/eller andra länder. Inget godkännande från Apache Software Foundation underförstås av användningen av dessa märken.

Arkitektur

Arkitekturdiagram över en pipeline. Komponenterna omfattar tjänster för inmatning, datatransformering, lagring, analys, AI och datapresentation.

Ladda ned en PowerPoint-fil med det här diagrammet.

Inmatningspipeline

Twitter-inmatningspipelinen består av fyra steg.

Samla in och mata in data

Följande komponenter matar in tweets:

  • Hadoop Distributed File System (HDFS) (1)
  • Azure Synapse Analytics via Azure Data Factory (4)
  • Azure Blob Storage (4)
  • Azure Cosmos DB (4)

Bearbeta data

Under databehandling:

  • JSON-filen som innehåller tweetdata omvandlas till CSV-format (2).
  • Apache Hive- och Azure Synapse Analytics-tabeller skapas (2).
  • Attitydanalys körs på tweets (2).
  • Azure Cognitive Services bearbetar bilder och identifierar ansikten (2).

Lagra data

Följande komponenter lagrar data:

  • HDFS och Hive (3)
  • Azure Synapse Analytics (3)
  • Blob Storage (3)
  • Azure Cosmos DB (7)

Visualisera data

Power BI-instrumentpaneler visar data från följande källor:

  • Hive (5)
  • Azure Synapse Analytics (6)
  • Azure Cosmos DB (8)

Dataflöde

Arkitekturdiagram som visar flödet av data från Twitter, genom bildbearbetning och attitydanalys och till lagring.

Ladda ned en PowerPoint-fil med det här diagrammet.

Lösningens dataflöde innehåller tre huvuddelar.

Mata in tweets

Filen med tweetdata, som är i JSON-format, omvandlas till CSV-format. Attribut extraheras från JSON-data för att användas som variabler för CSV-sammansättningen.

Bearbeta bilder

Attitydanalys körs på tweets som innehåller bilder. När bilderna har samlats in körs processer för ansiktsidentifiering på bilderna. Alla ansikten som identifieras lagras i HDInsight.

Köra attitydanalys

En NLTK-algoritm (Natural Language Toolkit) körs på de inmatade meddelandena. Attitydanalys körs på texten i tweetsen. Resultaten lagras i CSV-format i en Hive-tabell och JSON-data lagras i Azure Cosmos DB.

Komponenter

Arkitekturdiagram som visar komponenterna i inmatnings-, lagrings- och bearbetningsskikten i lösningen.

Ladda ned en PowerPoint-fil med det här diagrammet.

  • Data Factory tillhandahåller batchtransformeringstjänster för olika källor och mottagare. Som en viktig komponent i bearbetningen av stordata hjälper Data Factory till att förenkla ETL-arbetsbelastningar (extract-transform-load). Data Factory hanterar också komplexiteten och skalningsutmaningarna för stordataintegrering.

  • NiFi automatiserar dataflödet mellan programvarusystem. NiFi erbjuder säkerhetsfunktioner, en utökningsbar arkitektur och en flexibel skalningsmodell. Den hanterar flera källor och flera mottagare med olika typer av processorer. NiFi-funktioner omfattar:

    • Köra strömningstransformeringar.
    • Ansluta fristående system i molnet.
    • Flytta data till och från Azure Storage och andra datalager.
    • Integrera program från gräns till moln och hybridmoln med Azure-tjänster.
    • Ger robusta funktioner för data proveniens.
  • HDInsight är en Hadoop-plattform för data och analys för lokala miljöer. HDInsight kan säkert mata in, lagra och bearbeta data i realtid och i batchar. HDInsight bygger på Hortonworks Data Platform (HDP), ett ramverk med öppen källkod för distribuerad lagring och bearbetning av stora datamängder som kommer från flera källor.

  • Azure Synapse Analytics är en analystjänst för informationslager och stordatasystem. Den centraliserar data i molnet för enkel åtkomst.

  • Azure Cosmos DB är en fullständigt hanterad NoSQL-databas för modern apputveckling. Genom att tillhandahålla ensiffriga svarstider för millisekunder och automatisk och omedelbar skalbarhet garanterar Azure Cosmos DB hastighet i valfri skala. Dess SLA-stödda tillgänglighet och säkerhet i företagsklass ger affärskontinuitet.

  • Cognitive Services består av molnbaserade tjänster som tillhandahåller AI-funktioner. REST-API:er och SDK:er för klientbibliotek hjälper dig att bygga in kognitiv intelligens i appar även om du inte har ai- eller datavetenskapskunskaper.

  • Power BI är en tjänst för företagsanalys som ingår i Microsoft Power Platform. Power BI tillhandahåller interaktiva visualiseringar och Business Intelligence-funktioner. Det lätthanterade gränssnittet gör det möjligt för användare att skapa egna rapporter och instrumentpaneler.

Alternativ

Du kan ersätta alternativ för de flesta lösningskomponenter. Ett exempel:

  • I stället för ett HDInsight-kluster kan du använda ett Cloudera-kluster.
  • Du kan använda Azure Databricks i stället för Data Factory. Azure Databricks kan transformera och lagra data, men du kan också använda dem som orkestrerare. Ett annat alternativ är att använda båda tjänsterna. Många lösningar som använder Data Factory använder också Azure Databricks.
  • I stället för Nifi kan du använda Apache Airflow som ett arbetsflödesverktyg som kör ETL-skript.
  • För din huvudfillagringsplats kan du använda Elasticsearch i stället för Azure Cosmos DB.
  • För instrumentpanelstjänster kan du använda Kibana i stället för Power BI.

Scenarioinformation

Varumärkesanpassning är viktigt för företag, eftersom ett företags värde beror på marknadens bild av det företaget. När ditt företag övergår till att fatta förutsägande, datadrivna beslut i stället för reaktiva beslut måste du övervaka och förstå vad som händer i realtid. För att få en konkurrensfördel måste du använda analys av sociala medier för att identifiera och förstå den allmänna opinionen. Förutom att identifiera sentiment i tweets kan du även välja att känna igen ansikten och bilder.

Den här lösningen mäter den allmänna opinionen i tweets. En transformeringspipeline matar ut kluster med kommentarer och trendande ämnen. Pipelinen levererar värde genom att sömlöst integrera lösningar med öppen källkod som Apache NiFi och Azure HDInsight med azure-tjänster för attitydanalys och ansiktsigenkänning. Lösningen gäller för ett brett spektrum av branscher – övervakning av sociala nätverk är inte begränsat till en sektor.

Potentiella användningsfall

Den här lösningen är perfekt för alla områden som övervakar varumärkesanpassning på sociala nätverk, inklusive:

  • Marketing
  • Kommunikation
  • Politik
  • Media och underhållning
  • Fastigheter och anläggningar
  • Matservice (resor och gästfrihet)
  • Fashion
  • Retail

Överväganden

Dessa överväganden implementerar grundpelarna i Azure Well-Architected Framework, en uppsättning vägledande grundsatser som du kan använda för att förbättra kvaliteten på en arbetsbelastning. Mer information finns i Microsoft Azure Well-Architected Framework.

Beroende på bearbetningsverktygen och antalet källor som du använder kan du kanske effektivisera lösningens omvandlingar och visualiseringar. Överväg om möjligt att använda en grundläggande pipeline med en mottagare. I stället för att använda flera källor och flera instrumentpaneler matar du in pipelinen till en enda instrumentpanel.

I det här exemplet används så många tjänster som möjligt. Med den här metoden kan du jämföra de prestanda och upplevelser som du har med Power BI mellan olika källor och datatyper.

Tillförlitlighet

Tillförlitlighet säkerställer att ditt program kan uppfylla de åtaganden du gör för dina kunder. Mer information finns i Översikt över grundpelare för tillförlitlighet.

I produktionsmiljöer utvärderar du mål för återställningstid (RTO) och mål för återställningspunkt (RPO). Alla beslut och scenarier för haveriberedskap beror på dessa utvärderingar.

I de flesta fall behöver du en tjänst med hög tillgänglighet för varje verktyg. För effektiv haveriberedskap är det viktigt att minska din RTO. Men om du har hög tillgänglighet kan du undvika katastrofscenarier. Du kan till exempel skapa tjänster i en annan region.

Säkerhet

Säkerhet ger garantier mot avsiktliga attacker och missbruk av värdefulla data och system. Mer information finns i Översikt över säkerhetspelare.

Sträva efter en stark säkerhetsstatus med hjälp av ett identitetsbaserat system och interna Azure-verktyg. För externa komponenter använder du externa autentiseringsverktyg som Kerberos för att säkerställa en robust och säker arbetsbelastning.

Kostnadsoptimering

Information om hur du skapar en kostnadseffektiv arbetsbelastning finns i Översikt över grundpelare för kostnadsoptimering.

Utmärkt driftseffektivitet

Utmärkt drift omfattar de driftsprocesser som distribuerar ett program och håller det igång i produktion. Mer information finns i Översikt över grundpelare för driftseffektivitet.

Centralisera övervakningsloggarna från alla tjänster. Lösningen använder externa verktyg som är inbyggda i Azure. Integrera övervakningsdata från alla verktyg för att få en helhetsbild av alla system.

Prestandaeffektivitet

Prestandaeffektivitet handlar om att effektivt skala arbetsbelastningen baserat på användarnas behov. Mer information finns i Översikt över pelare för prestandaeffektivitet.

Eftersom lösningen använder flera källor bör du överväga komprimering som en del av processen. Tänk också på de filformat som du använder. Konfigurera Azure Cosmos DB för att uppnå en kompromiss mellan svarstider och konsekvensnivåer. Men övervaka och utvärdera Azure Cosmos DB-prestanda under hela processen för att förhindra att komponenten blir en flaskhals. Om du vill minska svarstiden kan du överväga att partitionera data efter plats eller flytta datakällor nära där du använder dem.

Deltagare

Den här artikeln underhålls av Microsoft. Den skrevs ursprungligen av följande deltagare.

Huvudförfattare:

Nästa steg