Bearbeiten

Gesichtserkennung und Stimmungsanalyse

Azure KI Services
Azure Cosmos DB
Azure Cosmos DB
Azure HDInsight
Azure Synapse Analytics

In diesem Artikel wird eine Lösung zur Ermittlung der öffentlichen Meinung in Tweets vorgestellt. Ziel ist es, eine Transformationspipeline zu erstellen, die Cluster von Kommentaren und Trendthemen ausgibt.

Apache®, Apache NiFi, Apache Hadoop, Apache Hive und Apache Airflow sind entweder eingetragene Marken oder Marken der Apache Software Foundation in den USA und/oder anderen Ländern. Die Verwendung dieser Markierungen impliziert kein Endorsement durch die Apache Software Foundation.

Aufbau

Architekturdiagramm einer Pipeline. Komponenten umfassen Dienste für die Aufnahme, Datentransformation, Speicher, Analyse, KI und Datenpräsentation.

Laden Sie eine PowerPoint-Datei dieses Diagramms herunter.

Erfassungspipeline

Die Twitter-Erfassungspipeline besteht aus vier Stufen.

Sammeln und Erfassen von Daten

Die folgenden Komponenten erfassen Tweets:

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

Verarbeiten von Daten

Während der Datenverarbeitung:

  • Die JSON-Datei, die Tweetdaten enthält, wird in das CSV-Format (2) umgewandelt.
  • Apache Hive- und Azure Synapse Analytics-Tabellen werden erstellt (2).
  • Die Stimmungsanalyse wird für die Tweets ausgeführt (2).
  • Azure Cognitive Services verarbeitet Bilder und identifiziert menschliche Gesichter (2).

Speichern von Daten

Die folgenden Komponenten speichern Daten:

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

Visualisieren von Daten

Power BI-Dashboards zeigen Daten aus den folgenden Quellen an:

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

Datenfluss

Architekturdiagramm, das den Datenfluss von Twitter zeigt, über die Bildverarbeitungs- und Stimmungsanalyse und in den Speicher.

Laden Sie eine PowerPoint-Datei dieses Diagramms herunter.

Der Dataflow der Lösung umfasst drei Hauptteile.

Erfassen von Tweets

Die Datei mit den Tweetdaten, die im JSON-Format vorliegt, wird in das CSV-Format umgewandelt. Attribute werden aus den JSON-Daten extrahiert, die als Variablen für die CSV-Komposition verwendet werden sollen.

Verarbeiten von Bildern

Die Stimmungsanalyse wird für Tweets ausgeführt, die Bilder enthalten. Nachdem die Bilder gesammelt wurden, werden Gesichtserkennungsprozesse für die Bildern ausgeführt. Alle menschlichen Gesichter, die erkannt werden, werden in HDInsight gespeichert.

Ausführen der Stimmungsanalyse

Ein NLTK-Algorithmus (Natural Language Toolkit) wird für die erfassten Nachrichten ausgeführt. Die Stimmungsanalyse wird für den Text in den Tweets ausgeführt. Die Ergebnisse werden im CSV-Format in einer Hive-Tabelle und die JSON-Daten in Azure Cosmos DB gespeichert.

Komponenten

Architekturdiagramm, das die Komponenten in den Aufnahme-, Speicher- und Verarbeitungsebenen der Lösung zeigt.

Laden Sie eine PowerPoint-Datei dieses Diagramms herunter.

  • Data Factory stellt Batchtransformationsdienste für verschiedene Quellen und Senken bereit. Als Kernkomponente der Big-Data-Verarbeitung hilft Data Factory dabei, die Workloads zum Extrahieren, Transformieren und Laden (ETL) zu vereinfachen. Data Factory berücksichtigt die Komplexität und bewältigt die Skalierungsherausforderungen bei der Big-Data-Integration.

  • Nifi automatisiert den Datenfluss zwischen Softwaresystemen. Die Lösung bietet Sicherheitsfeatures, eine erweiterbare Architektur und ein flexibles Skalierungsmodell. NiFi verarbeitet mehrere Quellen und Senken mit verschiedenen Arten von Prozessoren. Die NiFi-Funktionalität umfasst Folgendes:

    • Ausführen von Streamingtransformationen
    • Verbinden entkoppelter Systeme in der Cloud
    • Verschieben von Daten in und aus Azure Storage und anderen Datenspeichern
    • Integrieren von Edge-to-Cloud- und Hybrid-Cloud-Anwendungen mit Azure-Diensten
    • Bereitstellen robuster Funktionen für die Datenherkunft
  • HDInsight ist eine Hadoop-Plattform für Daten und Analysen für lokale Umgebungen. Der Dienst kann Daten in Echtzeit und in Batches sicher erfassen, speichern und verarbeiten. HDInsight basiert auf Hortonworks Data Platform (HDP), einem Open-Source-Framework für verteilte Speicherung und Verarbeitung großer Datasets, die aus mehreren Quellen stammen.

  • Azure Synapse Analytics ist ein Analysedienst für Data Warehouses und Big-Data-Systeme. Der Dienst zentralisiert Daten in der Cloud für den einfachen Zugriff.

  • Azure Cosmos DB ist eine vollständig verwaltete NoSQL-Datenbank für die moderne App-Entwicklung. Durch Antwortzeiten im einstelligen Millisekundenbereich sowie die automatische und sofortige Skalierbarkeit garantiert Azure Cosmos DB Geschwindigkeit bei jeder Skalierung. Die Geschäftskontinuität wird durch die SLA-gestützte Verfügbarkeit und die Sicherheit auf Unternehmensniveau gewährleistet.

  • Cognitive Services bestehen aus cloudbasierten Diensten, die KI-Funktionen bereitstellen. Die REST-APIs und Clientbibliotheks-SDKs helfen Ihnen dabei, kognitive Intelligenz in Apps zu entwickeln, auch wenn Sie über keine Kenntnisse in den Bereichen der künstlichen Intelligenz oder Data Science verfügen.

  • Bei Power BI handelt es sich um einen Unternehmensanalysedienst, der Teil von Microsoft Power Platform ist. Power BI bietet interaktive Visualisierungen und Business-Intelligence-Funktionen. Die benutzerfreundliche Benutzeroberfläche ermöglicht es Benutzer*innen, eigene Berichte und Dashboards zu erstellen.

Alternativen

Die meisten Lösungskomponenten können durch Alternativen ersetzt werden. Beispiel:

  • Anstelle eines HDInsight-Clusters können Sie einen Cloudera-Cluster verwenden.
  • Sie können Azure Databricks anstelle von Data Factory nutzen. Azure Databricks kann Daten transformieren und speichern, Sie können die Plattform aber auch als Orchestrator verwenden. Eine weitere Alternative besteht darin, beide Dienste einzusetzen. Viele Lösungen, die Data Factory verwenden, nutzen auch Azure Databricks.
  • Anstelle von Nifi können Sie Apache Airflow als Workflowtool verwenden, das ETL-Skripts ausführt.
  • Für Ihr Hauptdateirepository können Sie Elasticsearch anstelle von Azure Cosmos DB verwenden.
  • Für Dashboarddienste können Sie Kibana anstelle von Power BI verwenden.

Szenariodetails

Das Branding ist für Unternehmen wichtig, da der Wert eines Unternehmens vom Image dieses Unternehmens auf dem Markt abhängt. Da Ihr Unternehmen prädiktive, datengesteuerte Entscheidungen anstelle von reaktiven Entscheidungen treffen möchte, müssen Sie überwachen und verstehen, was in Echtzeit passiert. Um einen Wettbewerbsvorteil zu erzielen, müssen Sie die Social-Media-Analyse verwenden, um die öffentliche Meinung zu identifizieren und zu verstehen. Neben der Identifizierung der Stimmung in Tweets können Sie auch Gesichter und Bilder erkennen.

Diese Lösung ermittelt die öffentliche Meinung in Tweets. Eine Transformationspipeline gibt Cluster von Kommentaren und Trendthemen aus. Durch die nahtlose Integration von Open-Source-Lösungen wie Apache NiFi und Azure HDInsight mit der Azure-Gefühlsanalyse und Gesichtserkennungsdiensten bietet die Lösung einen Mehrwert für das Unternehmen. Die Lösung kann in vielen Branchen eingesetzt werden, da die Analyse sozialer Netzwerke nicht auf einen Sektor beschränkt ist.

Mögliche Anwendungsfälle

Diese Lösung eignet sich für jeden Bereich, in dem das Branding in sozialen Netzwerken überwacht wird, einschließlich:

  • Marketing
  • Kommunikation
  • Politik
  • Medien und Unterhaltung
  • Immobilien und Einrichtungen
  • Gastronomie (Reisebranche und Gastgewerbe)
  • Fashion
  • Retail

Überlegungen

Diese Überlegungen setzen die Säulen des Azure Well-Architected Framework um, das aus einer Reihe von Leitprinzipien besteht, die zur Verbesserung der Qualität einer Workload verwendet werden können. Weitere Informationen finden Sie unter Microsoft Azure Well-Architected Framework.

Abhängig von den Verarbeitungstools und der Anzahl der Quellen, die Sie verwenden, können Sie die Transformationen und Visualisierungen der Lösung optimieren. Nach Möglichkeit sollten Sie eine grundlegende Pipeline mit einer Senke verwenden. Fügen Sie diese Pipeline in ein einzelnes Dashboard ein, anstatt mehrere Quellen und Dashboards zu verwenden.

In diesem Beispiel werden so viele Dienste wie möglich verwendet. Durch diesen Ansatz können Sie die Leistung und Funktionen vergleichen, die Power BI für verschiedene Quellen und Datentypen bietet.

Zuverlässigkeit

Zuverlässigkeit stellt sicher, dass Ihre Anwendung Ihre Verpflichtungen gegenüber den Kunden erfüllen kann. Weitere Informationen finden Sie in der Überblick über die Säule „Zuverlässigkeit“.

Bewerten Sie in Produktionsumgebungen Ihre Werte für RTO (Recovery Time Objective) und RPO (Recovery Point Objective). Alle Entscheidungen hinsichtlich der Notfallwiederherstellung und Szenarios hängen von diesen Bewertungen ab.

In den meisten Fällen benötigen Sie einen Hochverfügbarkeitsdienst für jedes Tool. Für die effektive Notfallwiederherstellung ist es wichtig, Ihren RTO-Wert zu reduzieren. Wenn die Hochverfügbarkeit jedoch sichergestellt ist, können Sie Notfallszenarios vermeiden. Sie können beispielsweise Dienste in einer anderen Region erstellen.

Sicherheit

Sicherheit bietet Schutz vor vorsätzlichen Angriffen und dem Missbrauch Ihrer wertvollen Daten und Systeme. Weitere Informationen finden Sie unter Übersicht über die Säule „Sicherheit“.

Versuchen Sie, einen starken Sicherheitsstatus zu erreichen, indem Sie ein identitätsbasiertes System und native Azure-Tools verwenden. Verwenden Sie für externe Komponenten externe Authentifizierungstools wie Kerberos, um eine robuste und sichere Workload sicherzustellen.

Kostenoptimierung

Weitere Informationen zum Erstellen einer kosteneffizienten Workload finden Sie unter Übersicht über die Säule „Kostenoptimierung“.

Optimaler Betrieb

Die Säule „Optimaler Betrieb“ deckt die Betriebsprozesse ab, die für die Bereitstellung einer Anwendung und deren Ausführung in der Produktion sorgen. Weitere Informationen finden Sie unter Übersicht über die Säule „Optimaler Betrieb“.

Zentralisieren Sie die Überwachungsprotokolle aus allen Diensten. Die Lösung verwendet externe Tools und native Azure-Tools. Um eine ganzheitliche Übersicht über alle Systeme zu erreichen, integrieren Sie Überwachungsdaten aus allen Tools.

Effiziente Leistung

Leistungseffizienz ist die Fähigkeit Ihrer Workload, auf effiziente Weise eine den Anforderungen der Benutzer entsprechende Skalierung auszuführen. Weitere Informationen finden Sie unter Übersicht über die Säule „Leistungseffizienz“.

Da die Lösung mehrere Quellen verwendet, betrachten Sie die Komprimierung als Teil des Prozesses. Berücksichtigen Sie auch die von Ihnen verwendeten Dateiformate. Konfigurieren Sie Azure Cosmos DB, um einen Kompromiss hinsichtlich der Latenz- und Konsistenzstufen zu schließen. Überwachen und bewerten Sie jedoch die Azure Cosmos DB-Leistung während des gesamten Prozesses, um zu verhindern, dass diese Komponente einen Engpass darstellt. Erwägen Sie zum Verringern der Latenz die Partitionierung von Daten nach Standort oder das Verschieben von Datenquellen in die Nähe der Stelle, an der Sie diese verwenden.

Beitragende

Dieser Artikel wird von Microsoft gepflegt. Er wurde ursprünglich von folgenden Mitwirkenden geschrieben:

Hauptautoren:

Nächste Schritte