你当前正在访问 Microsoft Azure Global Edition 技术文档网站。 如果需要访问由世纪互联运营的 Microsoft Azure 中国技术文档网站,请访问 https://docs.azure.cn

人脸识别和情绪分析

Azure AI 服务
Azure Cosmos DB
Azure Cosmos DB
Azure HDInsight
Azure Synapse Analytics

本文提供了一个解决方案,用于判断推文中的公众舆论。 目标是创建一个转换管道,用于输出评论和热门主题的群集。

Apache®、Apache NiFiApache HadoopApache HiveApache Airflow 是 Apache Software Foundation 在美国和/或其他国家/地区的商标或注册商标。 使用这些标记并不暗示获得 Apache Software Foundation 的认可。

体系结构

管道的体系结构图。组件包括用于引入、数据转换、存储、分析、人工智能和数据呈现的服务。

下载此图的 PowerPoint 文件

引入管道

Twitter 引入管道由四个阶段组成。

收集和引入数据

以下组件引入推文:

  • Hadoop 分布式文件系统 (HDFS) (1)
  • 通过 Azure 数据工厂进行的 Azure Synapse Analytics (4)
  • Azure Blob 存储 (4)
  • Azure Cosmos DB (4)

处理数据

在数据处理期间:

  • 包含推文数据的 JSON 文件已转换为 CSV 格式 (2)。
  • Apache Hive 和 Azure Synapse Analytics 表已创建 (2)。
  • 情绪分析在推文中运行 (2)。
  • Azure 认知服务处理图像并识别人脸 (2)。

存储数据

以下组件存储数据:

  • HDFS 和 Hive (3)
  • Azure Synapse Analytics (3)
  • Blob 存储 (3)
  • Azure Cosmos DB (7)

可视化数据

Power BI 仪表板显示来自以下源的数据:

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

数据流

显示从 Twitter 流经图像处理和情感分析,最后进入存储的数据流的体系结构图。

下载此图的 PowerPoint 文件

解决方案的数据流包含三个主要部分。

引入推文

包含推文数据的 JSON 文件已转换为 CSV 格式。 属性是从 JSON 数据中提取的,用作 CSV 组合的变量。

处理图像

情绪分析在包含图像的推文中运行。 收集图像后,在图像上运行人脸检测进程。 识别的任何人脸都存储在 HDInsight 中。

运行情绪分析

自然语言工具包 (NLTK) 算法在引入的消息上运行。 情绪分析在推文中的文本上运行。 结果以 CSV 格式存储在 Hive 表中,JSON 数据存储在 Azure Cosmos DB 中。

组件

显示解决方案的引入、存储和处理层中的组件的体系结构图。

下载此图的 PowerPoint 文件

  • 数据工厂为各种源和接收器提供批处理转换服务。 作为大数据处理的关键组成部分,数据工厂有助于简化提取、转换和加载 (ETL) 工作负荷。 数据工厂还应对大数据集成的复杂性和规模挑战。

  • NiFi 可自动化软件系统之间的数据流。 NiFi 提供安全功能、可扩展体系结构和灵活的缩放模型。 它使用不同类型的处理器处理多个源和多个接收器。 NiFi 功能包括:

    • 运行流式转换。
    • 连接云中的解耦系统。
    • 将数据移入和移出 Azure 存储和其他数据存储。
    • 将边缘到云和混合云应用程序与 Azure 服务集成。
    • 提供可靠的数据来源功能。
  • HDInsight 是一个 Hadoop 平台,用于本地环境的数据和分析。 HDInsight 可以安全地实时和批量引入、存储和处理数据。 HDInsight 是一个基于 Hortonworks 数据平台 (HDP) 构建的开源框架,用于分布式存储和处理来自多个源的大型数据集。

  • Azure Synapse Analytics 是用于数据仓库和大数据系统的分析服务。 它将数据集中在云中以便于访问。

  • Azure Cosmos DB 是一种用于新式应用开发的完全托管的 NoSQL 数据库。 Azure Cosmos DB 通过提供个位数的毫秒响应时间以及自动和即时的可伸缩性,可保证任何规模的速度。 其 SLA 支持的可用性和企业级安全性提供业务连续性。

  • 认知服务由提供 AI 功能的基于云的服务组成。 即使你没有 AI 或数据科学技能,REST API 和客户端库 SDK 也可帮助你将认知智能构建到应用中。

  • Power BI 是一项业务分析服务,属于 Microsoft Power Platform 的一部分。 Power BI 提供交互式可视化和商业智能功能。 其界面易于使用,用户可以创建自己的报表和仪表板。

备选方法

可以替换大多数解决方案组件的替代方法。 例如:

  • 可以使用 Cloudera 群集代替 HDInsight 群集。
  • 可以使用 Azure Databricks 代替数据工厂。 Azure Databricks 可以转换和存储数据,但也可以将其用作业务流程协调程序。 另一种替代方法是同时使用这两种服务。 使用数据工厂的许多解决方案也使用 Azure Databricks。
  • 可以使用 Apache Airflow 代替 Nifi,作为运行 ETL 脚本的工作流工具。
  • 对于主文件存储库,可以使用 Elasticsearch 代替 Azure Cosmos DB。
  • 对于仪表板服务,可以使用 Kibana 代替 Power BI。

方案详细信息

品牌对公司很重要,因为公司的价值取决于该公司的市场形象。 随着公司采取行动做出预测性、数据驱动的决策,而不是反应性决策,你需要实时监视和了解所发生的事情。 为了获得竞争优势,你需要使用社交媒体分析来识别和了解公众舆论。 除了在推文中识别情绪之外,还可以选择识别人脸和图像。

该解决方案通过推特来衡量公众意见。 转换管道输出评论和热门主题的群集。 管道通过将 Apache NiFi 和 Azure HDInsight 等开源解决方案与 Azure 情绪分析和人脸识别服务无缝集成来实现价值。 该解决方案广泛适用于各行业-监视社交网络并不局限于一个行业。

可能的用例

此解决方案非常适合在社交网络上监视品牌打造的所有区域,包括:

  • Marketing
  • 通信
  • 政治
  • 媒体娱乐
  • 房地产和设施
  • 餐饮服务(旅行和酒店)
  • Fashion
  • Retail

注意事项

这些注意事项实施 Azure 架构良好的框架的支柱原则,即一套可用于改进工作负载质量的指导原则。 有关详细信息,请参阅 Microsoft Azure 架构良好的框架

根据所使用的处理工具和源数量,你或许能够简化解决方案的转换和可视化效果。 如果可能,请考虑使用带有一个接收器的基本管道。 不要使用多个源和多个仪表板,而是将管道馈送到单个仪表板中。

此示例使用尽可能多的服务。 通过此方法,可以比较各种源和数据类型中 Power BI 的性能和体验。

可靠性

可靠性可确保应用程序符合你对客户的承诺。 有关详细信息,请参阅可靠性支柱概述

在生产环境中,评估恢复时间目标 (RTO) 和恢复点目标 (RPO)。 所有灾难恢复决策和方案都取决于这些评估。

在大多数情况下,需要为每个工具提供高可用性服务。 对于有效的灾难恢复,请务必减少 RTO。 但是,如果具有高可用性,则可以避免灾难方案。 例如,可以在另一个区域中创建服务。

安全性

安全性针对蓄意攻击及滥用宝贵数据和系统提供保障措施。 有关详细信息,请参阅安全性支柱概述

使用基于标识的系统和本机 Azure 工具实现强大的安全态势。 对于外部组件,请使用 Kerberos 等外部身份验证工具来确保工作负载安全可靠。

成本优化

有关创建具有成本效益的工作负载的信息,请参阅成本优化支柱概述

卓越运营

卓越运营涵盖了部署应用程序并使其在生产环境中保持运行的运营流程。 有关详细信息,请参阅卓越运营支柱概述

集中所有服务的监视日志。 该解决方案使用外部工具和本机到 Azure 的工具。 若要全面查看所有系统,请集成来自所有工具的监视数据。

性能效率

性能效率是指工作负载能够以高效的方式扩展以满足用户对它的需求。 有关详细信息,请参阅性能效率要素概述

由于解决方案使用多个源,因此请考虑压缩作为过程的一部分。 另请考虑使用的文件格式。 配置 Azure Cosmos DB 以在延迟和一致性级别之间进行权衡。 但在整个过程中监视和评估 Azure Cosmos DB 性能,以防止该组件成为瓶颈。 若要降低延迟,请考虑按位置对数据进行分区,或者将数据源移到靠近使用位置。

作者

本文由 Microsoft 维护, 最初由以下贡献者撰写。

主要作者:

后续步骤