Modifier

Partager via


Reconnaissance faciale et analyse des sentiments

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

Cet article présente une solution pour évaluer l’opinion publique dans les tweets. L’objectif est de créer un pipeline de transformation qui génère des clusters de commentaires et de sujets de tendance.

Apache®, Apache NiFi, Apache Hadoop, Apache Hive et Apache Airflow sont soit des marques déposées, soit des marques commerciales d’Apache Software Foundation aux États-Unis et/ou dans d’autres pays. L’utilisation de ces marques n’implique aucune approbation de l’Apache Software Foundation.

Architecture

Diagramme d’architecture d’un pipeline. Les composants incluent des services pour l’ingestion, la transformation des données, le stockage, l’analytique, l’IA et la présentation des données.

Téléchargez un fichier PowerPoint de ce diagramme.

Pipeline d’ingestion

Le pipeline d’ingestion Twitter comprend quatre étapes.

Collecter et ingérer des données

Les composants suivants ingèrent des tweets :

  • Système de fichiers DFS Hadoop (HDFS) (1)
  • Azure Synapse Analytics via Azure Data Factory (4)
  • Stockage Blob Azure (4)
  • Azure Cosmos DB (4)

Traitement des données

Pendant le traitement des données :

  • Le fichier JSON qui contient des données de tweet est transformé au format CSV (2).
  • Les tables Apache Hive et Azure Synapse Analytics sont créées (2).
  • L’analyse des sentiments s’exécute sur les tweets (2).
  • Azure Cognitive Services traite les images et identifie les visages humains (2).

Stocker des données

Les composants suivants stockent des données :

  • HDFS et Hive (3)
  • Azure Synapse Analytics (3)
  • Stockage Blob (3)
  • Azure Cosmos DB (7)

Visualiser les données

Les tableaux de bord Power BI affichent les données des sources suivantes :

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

Dataflow

Diagramme d’architecture montrant le flux de données provenant de Twitter, à travers le traitement des images et l’analyse des sentiments, et dans le stockage.

Téléchargez un fichier PowerPoint de ce diagramme.

Le flux de données de la solution contient trois parties principales.

Ingérer des tweets

Le fichier avec les données de tweet, qui est au format JSON, est transformé au format CSV. Les attributs sont extraits des données JSON à utiliser comme variables pour la composition CSV.

Traiter des images

L’analyse des sentiments s’exécute sur des tweets qui contiennent des images. Une fois les images collectées, les processus de détection des visages s’exécutent sur les images. Tous les visages humains reconnus sont stockés dans HDInsight.

Exécuter une analyse des sentiments

Un algorithme NLTK (Natural Language Toolkit) s’exécute sur les messages ingérés. L’analyse des sentiments s’exécute sur le texte dans les tweets. Les résultats sont stockés au format CSV dans une table Hive, et les données JSON sont stockées dans Azure Cosmos DB.

Composants

Diagramme d’architecture montrant les composants de l’ingestion, du stockage et des couches de traitement de la solution.

Téléchargez un fichier PowerPoint de ce diagramme.

  • Data Factory fournit des services de transformation par lots pour différentes sources et différents récepteurs. En tant que composant clé du traitement du Big Data, Data Factory permet de simplifier les charges de travail ETL (extraction, transformation et chargement). Data Factory gère également les complexités et les défis liés à l’échelle de l’intégration du Big Data.

  • NiFi automatise le flux de données entre les systèmes logiciels. NiFi offre des fonctionnalités de sécurité, une architecture extensible et un modèle de mise à l’échelle flexible. Il gère plusieurs sources et plusieurs récepteurs avec différents types de processeurs. Les fonctionnalités NiFi incluent :

    • Exécution de transformations de diffusion en continu.
    • Connexion de systèmes découplés dans le cloud.
    • Déplacement de données dans et hors de Stockage Azure et d’autres magasins de données.
    • Intégration d’applications de périphérie à cloud et de cloud hybride avec des services Azure.
    • Mise à disposition de fonctionnalités robustes de provenance des données.
  • HDInsight est une plateforme Hadoop pour les données et l’analyse pour les environnements locaux. HDInsight peut ingérer, stocker et traiter en toute sécurité des données en temps réel et par lots. HDInsight est basé sur Hortonworks Data Platform (HDP), une infrastructure open source pour le stockage distribué et le traitement de jeux de données volumineux provenant de plusieurs sources.

  • Azure Synapse Analytics est un service d’analytique conçu pour les entrepôts de données et les systèmes de Big Data. Il centralise les données dans le cloud pour un accès facilité.

  • Azure Cosmos DB est une base de données NoSQL complètement managée pour développer des applications modernes. En fournissant des temps de réponse inférieurs à dix millisecondes et la scalabilité automatique et instantanée, Azure Cosmos DB garantit une vitesse, quelle que soit l’échelle. Sa disponibilité garantie par un contrat SLA (Service Level Agreement) et sa sécurité de niveau entreprise assurent la continuité des activités.

  • Cognitive Services se compose de services basés sur le cloud qui fournissent des fonctionnalités d’IA. Les API REST et les Kits de développement logiciel (SDK) de bibliothèque de client vous aident à créer de l’intelligence cognitive dans des applications même si vous n’avez pas de compétences en IA ou en science des données.

  • Power BI est un service d’analyse métier qui fait partie de Microsoft Power Platform. Power BI fournit des visualisations interactives et des fonctionnalités décisionnelles. Son interface facile à utiliser permet aux utilisateurs de créer leurs propres rapports et tableaux de bord.

Autres solutions

Vous pouvez utiliser des alternatives pour la plupart des composants de solution. Par exemple :

  • Au lieu d’un cluster HDInsight, vous pouvez utiliser un cluster Cloudera.
  • Vous pouvez utiliser Azure Databricks au lieu de Data Factory. Azure Databricks peut transformer et stocker des données, mais vous pouvez également l’utiliser comme orchestrateur. Une autre solution consiste à utiliser les deux services. De nombreuses solutions qui utilisent Data Factory utilisent également Azure Databricks.
  • Au lieu de Nifi, vous pouvez utiliser Apache Airflow comme outil de workflow qui exécute des scripts ETL.
  • Pour votre référentiel de fichiers principal, vous pouvez utiliser Elasticsearch à la place d’Azure Cosmos DB.
  • Pour les services de tableau de bord, vous pouvez utiliser Kibana au lieu de Power BI.

Détails du scénario

La personnalisation est importante pour les entreprises, car la valeur d’une entreprise dépend de son image sur le marché. À mesure que votre entreprise prend des décisions prédictives, pilotées par les données, plutôt que des décisions réactives, vous devez surveiller et comprendre ce qui se passe en temps réel. Pour bénéficier d’un avantage concurrentiel, vous devez utiliser l’analyse des médias sociaux pour identifier et comprendre l’opinion publique. En plus d’identifier les sentiments dans les tweets, vous pouvez également choisir de reconnaître des visages et des images.

Cette solution évalue l’opinion publique dans les tweets. Un pipeline de transformation génère des clusters de commentaires et des sujets tendance. Le pipeline offre de la valeur en intégrant en toute transparence des solutions open source comme Apache NiFi et Azure HDInsight aux services d’analyse des sentiments et de reconnaissance faciale Azure. La solution s’applique à un large éventail d’industries, la surveillance des réseaux sociaux ne se limite pas à un secteur.

Cas d’usage potentiels

Cette solution est idéale pour tous les domaines qui surveillent la personnalisation sur les réseaux sociaux, notamment :

  • Marketing
  • Communications
  • Politique
  • Média et divertissement
  • Immobilier et installations
  • Service alimentaire (voyage et hospitalité)
  • Fashion
  • Retail

Considérations

Ces considérations implémentent les piliers d’Azure Well-Architected Framework, un ensemble de principes directeurs que vous pouvez utiliser pour améliorer la qualité d’une charge de travail. Pour plus d’informations, consultez Microsoft Azure Well-Architected Framework.

Selon les outils de traitement et le nombre de sources que vous utilisez, vous pouvez simplifier les transformations et visualisations de la solution. Si possible, envisagez d’utiliser un pipeline de base avec un récepteur. Au lieu d’utiliser plusieurs sources et plusieurs tableaux de bord, alimentez ce pipeline dans un seul tableau de bord.

Cet exemple utilise autant de services que possible. Grâce à cette approche, vous pouvez comparer les performances et les expériences que vous avez avec Power BI entre différentes sources et différents types de données.

Fiabilité

La fiabilité permet de s’assurer que votre application tient vos engagements auprès de vos clients. Pour plus d’informations, consultez la page Vue d’ensemble du pilier de fiabilité.

Dans les environnements de production, évaluez votre objectif de temps de récupération (RTO) et objectif de point de récupération (RPO). Les décisions et scénarios de récupération d’urgence dépendent de ces évaluations.

Dans la plupart des cas, vous avez besoin d’un service de haute disponibilité pour chaque outil. Pour une récupération d’urgence efficace, il est important de réduire votre RTO. Toutefois, si vous disposez d’une haute disponibilité, vous pouvez éviter les scénarios d’urgence. Par exemple, vous pouvez créer des services dans une autre région.

Sécurité

La sécurité fournit des garanties contre les attaques délibérées, et contre l’utilisation abusive de vos données et systèmes importants. Pour plus d’informations, consultez Vue d’ensemble du pilier Sécurité.

Visez une posture de sécurité forte à l’aide d’un système basé sur des identités et d’outils Azure natifs. Pour les composants externes, utilisez des outils d’authentification externes comme Kerberos pour garantir une charge de travail robuste et sécurisée.

Optimisation des coûts

Pour plus d’informations sur la création d’une charge de travail rentable, consultez Vue d’ensemble du pilier d’optimisation des coûts.

Excellence opérationnelle

L’excellence opérationnelle couvre les processus d’exploitation qui déploient une application et maintiennent son fonctionnement en production. Pour plus d’informations, consultez Vue d’ensemble du pilier Excellence opérationnelle.

Centralisez les journaux d’activité d’analyse de tous les services. La solution utilise des outils externes et des outils qui sont natifs d’Azure. Pour obtenir une vue globale de tous les systèmes, intégrez les données de surveillance de tous les outils.

Efficacité des performances

L’efficacité des performances est la capacité de votre charge de travail à s’adapter à la demande des utilisateurs de façon efficace. Pour plus d’informations, consultez Vue d’ensemble du pilier d’efficacité des performances.

Étant donné que la solution utilise plusieurs sources, envisagez la compression dans le cadre du processus. Tenez également compte des formats de fichiers que vous utilisez. Configurez Azure Cosmos DB pour obtenir un compromis entre la latence et les niveaux de cohérence. Mais surveillez et évaluez les performances d’Azure Cosmos DB tout au long du processus pour empêcher ce composant de devenir un goulot d’étranglement. Pour réduire la latence, envisagez de partitionner les données par emplacement ou de rapprocher des sources de données de l’endroit où vous les utilisez.

Contributeurs

Cet article est géré par Microsoft. Il a été écrit à l’origine par les contributeurs suivants.

Auteurs principaux :

Étapes suivantes