編集

次の方法で共有


顔認識と感情分析

Azure AI サービス
Azure Cosmos DB
Azure Cosmos DB
Azure HDInsight
Azure Synapse Analytics

この記事では、ツイートで世論を評価するためのソリューションを示します。 目標は、コメントとトレンドの件名のクラスターを出力する変換パイプラインを作成することです。

Apache®、Apache NiFiApache HadoopApache Hive、および Apache Airflow は、Apache Software Foundation の米国およびその他の国における登録商標です。 これらのマークを使用することが、Apache Software Foundation による保証を意味するものではありません。

アーキテクチャ

パイプラインのアーキテクチャ図。コンポーネントには、インジェスト、データ変換、ストレージ、分析、AI、データ表示のためのサービスが含まれます。

この図の PowerPoint ファイルをダウンロードします。

インジェスト パイプライン

Twitter インジェスト パイプラインは、4 つのステージで構成されます。

データの収集と取り込み

次のコンポーネントでは、ツイートが取り込まれます。

  • Hadoop 分散ファイル システム (HDFS) (1)
  • Azure Data Factory を使用した Azure Synapse Analytics (4)
  • Azure Blob Storage (4)
  • Azure Cosmos DB (4)

データを処理する

データ処理中:

  • ツイート データを含む JSON ファイルは CSV 形式に変換されます (2)。
  • Apache Hive および Azure Synapse Analytics テーブルが作成されます (2)。
  • 感情分析はツイートで実行されます (2)。
  • Azure Cognitive Services は画像を処理し、人間の顔を識別します (2)。

データの保存

次のコンポーネントはデータを格納します。

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

データの視覚化

Power BI ダッシュボードには、次のソースからのデータが表示されます。

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

データフロー

Twitter から画像処理と感情分析を経由してストレージまでのデータのフローを示すアーキテクチャ図。

この図の PowerPoint ファイルをダウンロードします。

ソリューションのデータフローには、3 つの主要な部分が含まれています。

ツイートを取り込む

ツイート データを含むファイル (JSON 形式) は、CSV 形式に変換されます。 属性は JSON データから抽出され、CSV 構成の変数として使用されます。

画像を処理する

感情分析は、画像を含むツイートで実行されます。 画像が収集されると、画像に対して顔検出プロセスが実行されます。 認識された人間の顔はすべて HDInsight に格納されます。

感情分析を実行する

取り込まれたメッセージで Natural Language Toolkit (NLTK) アルゴリズムが実行されます。 感情分析はツイートで実行されます (2)。 結果は HIVE テーブルに CSV 形式で格納され、JSON データは Azure Cosmos DB に格納されます。

コンポーネント

ソリューションのインジェスト、ストレージ、処理の各レイヤーのコンポーネントを示すアーキテクチャ図。

この図の PowerPoint ファイルをダウンロードします。

  • Data Factory は、さまざまなソースとシンクに対してバッチ変換サービスを提供します。 Data Factory は、ビッグ データ処理の重要なコンポーネントとして、Extract/Transform/Load (ETL) ワークロードを簡素化するのに役立ちます。 Data Factory は、ビッグ データ統合の複雑さと規模の課題にも対応します。

  • NiFi は、ソフトウェア システム間のデータフローを自動化します。 NiFi は、セキュリティ機能、拡張可能なアーキテクチャ、および柔軟なスケーリング モデルを提供します。 さまざまな種類のプロセッサを持つ複数のソースと複数のシンクを処理します。 NiFi 機能には、次のものが含まれます。

    • ストリーミング変換を実行する。
    • 分離されたシステムをクラウドで接続する。
    • Azure Storage およびその他のデータ ストアとの間でデータを移動する。
    • エッジツークラウドおよびハイブリッドクラウド アプリケーションを Azure サービスと統合する。
    • 堅牢なデータ実証機能を提供する。
  • HDInsight は、オンプレミス環境向けのデータと分析のための Hadoop プラットフォームです。 HDInsight では、リアルタイムおよびバッチでデータを安全に取り込み、格納、処理できます。 HDInsight は、複数のソースからの大規模なデータ セットの分散ストレージと処理のためのオープンソース フレームワークである、Hortonworks Data Platform (HDP) 上に構築されています。

  • Azure Synapse Analytics は、データ ウェアハウスおよびビッグ データ システム用の分析サービスです。 データをクラウド内で一元化して、簡単にアクセスできるようにします。

  • Azure Cosmos DB は、最新のアプリ開発に対応するフル マネージドの NoSQL データベースです。 数ミリ秒 (1 桁台) の応答時間と、自動および即時のスケーラビリティを提供することにより、Azure Cosmos DB では、あらゆるスケールで速度が保証されます。 サービスレベル アグリーメント (SLA) に基づく可用性とエンタープライズ レベルのセキュリティにより、ビジネス継続性が実現します。

  • Cognitive Services は、AI 機能を提供するクラウドベースのサービスで構成されます。 REST API とクライアント ライブラリ SDK は、AI やデータ サイエンスのスキルがなくても、アプリにコグニティブ インテリジェンスを組み込むのに役立ちます。

  • Power BIは、Microsoft Power Platform の一部であるビジネス分析サービスです。 Power BI は、対話型の視覚化とビジネス インテリジェンス機能を提供します。 使いやすいインターフェイスにより、ユーザーは独自のレポートとダッシュボードを作成できます。

代替

ほとんどのソリューション コンポーネントの代わりに使用できます。 例:

  • HDInsight クラスターの代わりに、Cloudera クラスターを使用できます。
  • Data Factory の代わりに Azure Databricks を使用できます。 Azure Databricks ではデータを変換して格納できますが、オーケストレーターとして使用することもできます。 もう 1 つの方法として、両方のサービスを使用することもできます。 Data Factory を使用する多くのソリューションでも、Azure Databricks を利用しています。
  • Nifi の代わりに、ETL スクリプトを実行するワークフロー ツールとして Apache Airflow を使用できます。
  • メイン ファイル リポジトリでは、Azure Cosmos DB の代わりに Elasticsearch を使用できます。
  • ダッシュボード サービスでは、Power BI の代わりに Kibana を使用できます。

シナリオの詳細

企業にとってブランド化は重要です。企業の価値は、その企業の市場イメージに依存するためです。 企業が事後対応型の意思決定ではなく、予測的でデータ駆動型の意思決定を行う場合は、リアルタイムで何が起こっているかを監視して理解する必要があります。 競争上の優位性を得るために、ソーシャル メディア分析を使用して、世論を特定し、把握する必要があります。 ツイートの感情を特定するだけでなく、顔や画像を認識することもできます。

このソリューションは、ツイートでの世論を評価します。 変換パイプラインにより、コメントとトレンドの件名のクラスターを出力します。 このパイプラインは、Apache NiFi や Azure HDInsight などのオープンソース ソリューションを Azure 感情分析や顔認識サービスとシームレスに統合することで、価値を提供します。 このソリューションは、さまざまな業界に適用されます。ソーシャル ネットワークの監視は、1 つのセクターに限定されません。

考えられるユース ケース

このソリューションは、次のようなソーシャル ネットワーク上のブランドを監視するすべての領域に最適です。

  • Marketing
  • 通信
  • 政治
  • メディアとエンターテイメント
  • 不動産と施設
  • フード サービス (旅行とサービス業)
  • ファッション
  • Retail

考慮事項

これらの考慮事項は、ワークロードの品質向上に使用できる一連の基本原則である Azure Well-Architected Framework の要素を組み込んでいます。 詳細については、「Microsoft Azure Well-Architected Framework」を参照してください。

使用する処理ツールとソースの数によっては、ソリューションの変換と視覚化を合理化できる場合があります。 可能であれば、1 つのシンクで基本的なパイプラインを使用することを検討してください。 複数のソースと複数のダッシュボードを使用する代わりに、そのパイプラインを 1 つのダッシュボードにフィードします。

この例では、できるだけ多くのサービスを使用します。 このアプローチを使用すると、さまざまなソースとデータ型の Power BI に関するパフォーマンスとエクスペリエンスを比較できます。

[信頼性]

信頼性により、顧客に確約したことをアプリケーションで確実に満たせるようにします。 詳細については、「信頼性の重要な要素の概要」を参照してください。

運用環境では、目標復旧時間 (RTO) と目標復旧ポイント (RPO) を評価します。 すべてのディザスター リカバリーの決定とシナリオは、これらの評価によって異なります。

ほとんどの場合、各ツールに高可用性サービスが必要です。 効果的なディザスター リカバリーを実現するには、RTO を減らすことが重要です。 ただし、高可用性がある場合は、ディザスター シナリオを回避できます。 たとえば、別のリージョンにサービスを作成できます。

セキュリティ

セキュリティは、重要なデータやシステムの意図的な攻撃や悪用に対する保証を提供します。 詳細については、「セキュリティの重要な要素の概要」を参照してください。

ID ベースのシステムとネイティブ Azure ツールを使用して、強力なセキュリティ体制を目指します。 外部コンポーネントの場合は、Kerberos などの外部認証ツールを使用して、堅牢で安全なワークロードを保証します。

コスト最適化

コスト効果の高いワークロードの作成については、「コストの最適化の柱の概要」を参照してください。

オペレーショナル エクセレンス

オペレーショナル エクセレンスは、アプリケーションをデプロイし、それを運用環境で実行し続ける運用プロセスをカバーします。 詳細については、「オペレーショナル エクセレンスの重要な要素の概要」を参照してください。

すべてのサービスから監視ログを一元化します。 このソリューションでは、外部ツールと Azure にネイティブなツールを使用します。 すべてのシステムの全体像を実現するには、すべてのツールの監視データを統合します。

パフォーマンス効率

パフォーマンス効率とは、ユーザーによって行われた要求に合わせて効率的な方法でワークロードをスケーリングできることです。 詳細については、「パフォーマンス効率の柱の概要」を参照してください。

このソリューションでは複数のソースを使用するため、プロセスの一部として圧縮を検討してください。 また、使用するファイル形式についても検討してください。 待機時間と整合性レベルのトレードオフを実現するように Azure Cosmos DB を構成します。 ただし、プロセス全体で Azure Cosmos DB のパフォーマンスを監視および評価し、そのコンポーネントがボトルネックにならないようにします。 待機時間を短縮するには、場所別にデータをパーティション分割するか、使用する場所の近くにデータ ソースを移動することを検討してください。

共同作成者

この記事は、Microsoft によって保守されています。 当初の寄稿者は以下のとおりです。

プリンシパルの作成者:

  • Jose Mendez | シニア クラウド ソリューション アーキテクト
  • Katie Novotny | シニア クラウド ソリューション アーキテクト

次のステップ