Editar

Share via


Reconocimiento facial y análisis de sentimiento

Servicios de Azure AI
Azure Cosmos DB
Azure Cosmos DB
HDInsight de Azure
Azure Synapse Analytics

En este artículo se presenta una solución para evaluar la opinión pública en tweets. El objetivo es crear una canalización de transformación que genere clústeres de comentarios y temas de tendencias.

Apache®, Apache NiFi, Apache Hadoop, Apache Hive y Apache Airflow son marcas comerciales registradas o marcas comerciales de Apache Software Foundation en Estados Unidos u otros países. El uso de estas marcas no implica la aprobación de Apache Software Foundation.

Architecture

Diagrama de arquitectura de una canalización. Los componentes incluyen servicios para la ingesta, la transformación de datos, el almacenamiento, el análisis, la inteligencia artificial y la presentación de datos.

Descargue un archivo de PowerPoint de este diagrama.

Canalización de ingesta

La canalización de ingesta de Twitter consta de cuatro fases.

Recopilación e ingesta de datos

Los siguientes componentes ingieren tweets:

  • Sistema de archivos distribuido de Hadoop (HDFS) (1)
  • Azure Synapse Analytics a través de Azure Data Factory (4)
  • Azure Blob Storage (4)
  • Azure Cosmos DB (4)

Datos de proceso

Durante el procesamiento de datos:

  • El archivo JSON que contiene datos de tweets se transforma en formato CSV (2).
  • Se crean tablas de Azure Synapse Analytics y Apache Hive (2).
  • El análisis de sentimiento se ejecuta en los tweets (2).
  • Azure Cognitive Services procesa imágenes e identifica caras humanas (2).

Almacenamiento de datos

Los siguientes componentes almacenan datos:

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

Visualización de datos

Los paneles de Power BI muestran datos de los orígenes siguientes:

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

Flujo de datos

Diagrama de arquitectura que muestra el flujo de datos de Twitter, a través del procesamiento de imágenes y análisis de sentimiento, y el almacenamiento.

Descargue un archivo de PowerPoint de este diagrama.

El flujo de datos de la solución contiene tres partes principales.

Ingesta de tweets

El archivo con los datos de los tweets, que se encuentra en formato JSON, se transforma en formato CSV. Los atributos se extraen de los datos JSON para usarlos como variables para la composición CSV.

Procesamiento de imágenes

El análisis de sentimiento se ejecuta en tweets que contienen imágenes. Una vez recopiladas las imágenes, los procesos de detección de caras se ejecutan en las imágenes. Todas las caras humanas que se reconocen se almacenan en HDInsight.

Ejecución del análisis de sentimiento

Un algoritmo del kit de herramientas de lenguaje natural (NLTK) se ejecuta en los mensajes ingeridos. El análisis de sentimiento se ejecuta en el texto de los tweets. Los resultados se almacenan en formato CSV en una tabla de Hive, y los datos JSON se almacenan en Azure Cosmos DB.

Componentes

Diagrama de arquitectura que muestra los componentes de las capas de ingesta, almacenamiento y procesamiento de la solución.

Descargue un archivo de PowerPoint de este diagrama.

  • Data Factory proporciona servicios de transformación por lotes para varios orígenes y receptores. Como un componente clave del procesamiento de macrodatos, Data Factory ayuda a simplificar las cargas de trabajo de extracción, transformación y carga de datos (ETL). Data Factory también controla las complejidades y los desafíos de escalado de la integración de macrodatos.

  • NiFi automatiza el flujo de datos entre sistemas de software. NiFi ofrece características de seguridad, una arquitectura extensible y un modelo de escalado flexible. Controla varios orígenes y varios receptores con diferentes tipos de procesadores. Entre las funcionalidades de NiFi se incluyen:

    • Ejecución de transformaciones de streaming
    • Conexión de sistemas desacoplados en la nube
    • Movimiento de datos dentro y fuera de Azure Storage y otros almacenes de datos
    • Integración de aplicaciones del perímetro a la nube y de nube híbrida con servicios de Azure
    • Oferta de funcionalidades sólidas de provenencia de datos
  • HDInsight es una plataforma de Hadoop de datos y análisis para entornos locales. HDInsight puede ingerir, almacenar y procesar datos de forma segura en tiempo real y por lotes. HDInsight se basa en Hortonworks Data Platform (HDP), un marco de código abierto para el almacenamiento distribuido y el procesamiento de grandes conjuntos de datos que proceden de varios orígenes.

  • Azure Synapse Analytics es un servicio de análisis para sistemas de almacenamiento de datos y de macrodatos. Centraliza los datos en la nube para facilitar el acceso.

  • Azure Cosmos DB es una base de datos NoSQL totalmente administrada para el desarrollo de aplicaciones modernas. Al ofrecer tiempos de respuesta de milisegundos de un solo dígito y escalabilidad automática e instantánea, Azure Cosmos DB garantiza velocidad a cualquier escala. Su disponibilidad respaldada por un Acuerdo de Nivel de Servicio y su seguridad de nivel empresarial ofrecen continuidad empresarial.

  • Cognitive Services consta de servicios basados en la nube que proporcionan funcionalidad de inteligencia artificial. Los SDK de la biblioteca cliente y las API de REST le ayudan a crear inteligencia cognitiva en aplicaciones, incluso si no tiene aptitudes de inteligencia artificial o ciencia de datos.

  • Power BI es un servicio de análisis empresarial que forma parte de Microsoft Power Platform. Power BI proporciona visualizaciones interactivas y funcionalidades de inteligencia empresarial. Su interfaz intuitiva permite a los usuarios crear sus propios informes y paneles.

Alternativas

Puede sustituir alternativas para la mayoría de los componentes de la solución. Por ejemplo:

  • En lugar de un clúster de HDInsight, puede usar un clúster de Cloudera.
  • Puede usar Azure Databricks en lugar de Data Factory. Azure Databricks puede transformar y almacenar datos, pero también puede usarlos como un orquestador. Otra alternativa es utilizar ambos servicios. Muchas soluciones que usan Data Factory también usan Azure Databricks.
  • En lugar de Nifi, puede usar Apache Airflow como una herramienta de flujo de trabajo que ejecuta scripts de ETL.
  • Para el repositorio de archivos principal, puede usar Elasticsearch en lugar de Azure Cosmos DB.
  • En el caso de los servicios de panel, puede usar Kibana en lugar de Power BI.

Detalles del escenario

La personalización de marca es importante para las empresas, ya que el valor de una empresa depende de la imagen que esta tenga en el mercado. A medida que su empresa avanza para tomar decisiones predictivas y basadas en datos, en lugar de decisiones reactivas, debe supervisar y saber lo que sucede en tiempo real. Para obtener una ventaja competitiva, debe usar el análisis de redes sociales para identificar y conocer la opinión pública. Junto con la identificación de opiniones en tweets, también tiene la opción de reconocer caras e imágenes.

Esta solución mide la opinión pública en tuits. Una canalización de transformación genera clústeres de comentarios y temas de tendencias. La canalización aporta valor mediante la integración directa de soluciones de código abierto, como Apache NiFi y Azure HDInsight, con los servicios de análisis de sentimiento y reconocimiento facial de Azure. La solución se aplica a una amplia gama de sectores: la supervisión de redes sociales no se limita a un sector.

Posibles casos de uso

Esta solución es ideal para cualquier área que supervise la personalización de marca en redes sociales, entre las que se incluyen:

  • Marketing
  • Comunicaciones
  • Política
  • Ocio y elementos multimedia
  • Inmobiliarias e instalaciones
  • Servicio gastronómico (viajes y hostelería)
  • Moda
  • Retail

Consideraciones

Estas consideraciones constituyen los pilares del Marco de buena arquitectura de Azure, un conjunto de principios rectores que puede usar para mejorar la calidad de una carga de trabajo. Para más información, consulte Marco de buena arquitectura de Microsoft Azure.

Según las herramientas de procesamiento y el número de orígenes que use, quizá pueda simplificar las transformaciones y visualizaciones de la solución. Si es posible, considere la posibilidad de usar una canalización básica con un receptor. En lugar de usar varios orígenes y varios paneles, alimente esa canalización en un único panel.

En este ejemplo se usan tantos servicios como es posible. Con este enfoque, puede comparar el rendimiento y las experiencias que tiene con Power BI en varios orígenes y tipos de datos.

Confiabilidad

La confiabilidad garantiza que la aplicación pueda cumplir los compromisos contraídos con los clientes. Para más información, consulte Resumen del pilar de fiabilidad.

En entornos de producción, evalúe el objetivo de tiempo de recuperación (RTO) y el objetivo de punto de recuperación (RPO). Todas las decisiones y los escenarios de recuperación ante desastres dependen de esas evaluaciones.

En la mayoría de los casos, necesita un servicio de alta disponibilidad para cada herramienta. Para una recuperación ante desastres eficaz, es importante reducir el RTO. Pero si tiene una alta disponibilidad, puede evitar escenarios de desastres. Por ejemplo, puede crear servicios en otra región.

Seguridad

La seguridad proporciona garantías contra ataques deliberados y el abuso de datos y sistemas valiosos. Para más información, consulte Introducción al pilar de seguridad.

Consiga una posición de seguridad sólida mediante el uso de un sistema basado en identidades y herramientas nativas de Azure. En el caso de los componentes externos, use herramientas de autenticación externa como Kerberos para garantizar una carga de trabajo sólida y segura.

Optimización de costos

Para obtener información sobre cómo crear una carga de trabajo rentable, vea Información general del pilar de optimización de costos.

Excelencia operativa

La excelencia operativa abarca los procesos de las operaciones que implementan una aplicación y la mantienen en ejecución en producción. Para más información, consulte Introducción al pilar de excelencia operativa.

Centralice los registros de supervisión de todos los servicios. La solución usa herramientas externas y herramientas que son nativas de Azure. Para lograr una visión holística de todos los sistemas, integre los datos de supervisión de todas las herramientas.

Eficiencia del rendimiento

La eficiencia del rendimiento es la capacidad de la carga de trabajo para escalar con el fin de satisfacer de manera eficiente las demandas que los usuarios hayan ejercido sobre ella. Para obtener más información, vea Resumen del pilar de eficiencia del rendimiento.

Dado que la solución usa varios orígenes, considere la compresión como parte del proceso. Tenga en cuenta también los formatos de archivo que usa. Configure Azure Cosmos DB para lograr una compensación entre los niveles de latencia y coherencia. Sin embargo, supervise y evalúe el rendimiento de Azure Cosmos DB durante todo el proceso para evitar que ese componente se convierta en un cuello de botella. Para reducir la latencia, considere la posibilidad de crear particiones de datos por ubicación o mover los orígenes de datos cerca de dónde los usa.

Colaboradores

Microsoft mantiene este artículo. Originalmente lo escribieron los siguientes colaboradores.

Creadores de entidad de seguridad:

Pasos siguientes