コンテンツに移動
デベロッパー

新しい Workflows 処理機能を使用した Twitter の感情分析

2021年10月26日
Google Cloud Japan Team

※この投稿は米国時間 2021 年 10 月 9 日に、Google Cloud blog に投稿されたものの抄訳です。

Workflows チームは反復処理の構文コネクタの一般提供を先日発表しました。

反復処理の構文により、多くのアイテムを処理するワークフローの作成が容易になり、読みやすさが向上します。for ループを使用して、リストやマップ内のデータのコレクションを反復処理し、現在のインデックスを追跡できます。反復処理する特定の数値範囲がある場合は、範囲ベースの反復処理も使用できます。

https://storage.googleapis.com/gweb-cloudblog-publish/images/image2_uTtxu9L.max-400x400.png

クリックして拡大

コネクタは 1 月からプレビュー版がリリースされています。他のサービスを使用するには、Workflows 用のクライアント ライブラリなどのコネクタをご検討ください。これらは認証やリクエスト形式、再試行回数に加え、長時間実行オペレーションの完了までの待機を処理します。コネクタの詳細については、以前のブログ投稿をご確認ください。1 月以降、使用可能なコネクタの数が 5 から 20 に増えました。

https://storage.googleapis.com/gweb-cloudblog-publish/images/image3_nUVU0uu.max-800x800.max-800x800.png

反復処理の構文とコネクタを組み合わせると、堅牢なバッチ処理のユースケースを実装できます。具体例を見てみましょう。この例では、Twitter ハンドルの最新ツイートの感情を分析するワークフローを作成します。Cloud Natural Language API コネクタと反復処理構文を使用します。

Twitter の感情分析のための API

このワークフローでは Twitter API と Natural Language API を使用します。それでは詳しく見ていきましょう。

Twitter API

Twitter API を使用するには、デベロッパー アカウントが必要です。デベロッパー アカウントを設定したら、アプリを作成し、API 呼び出しで使う署名なしトークンを取得する必要があります。Twitter にはツイートを検索するための API が用意されています。

Twitter 検索 API を使用して @GoogleCloudTech ハンドルから 100 件のツイートを取得する例を次に示します。

読み込んでいます...

Natural Language API

Natural Language API は、機械学習を使用してテキストの構造や意味を明らかにします。感情分析、エンティティ分析、構文解析などのメソッドが揃っています。以下の例では、感情分析を使用します。感情分析は指定されたテキストを調べ、そのテキストの背景にある感情的傾向を特定します。具体的には、執筆者の考え方がポジティブか、ネガティブか、ニュートラルかを判定します。

感情分析のレスポンスの例はこちらでご覧になれます。documentSentiment の score を使用して、各投稿の感情を特定します。スコアは -1.0(ネガティブ)~1.0(ポジティブ)で表され、テキストの全体的な感情の傾向に相当します。また、処理された全ツイートの感情スコアの平均値と最小値も計算します。

ワークフローの定義

workflow.yaml ファイルでワークフローの構築を始めましょう。

init ステップでは、ランタイム引数として署名なしトークン、Twitter ハンドル、Twitter API の最大結果を読み取ります。また、感情分析に関連した変数をいくつか初期化します。

読み込んでいます...

searchTweets ステップでは、Twitter API を使用してツイートをフェッチします。

読み込んでいます...

processPosts ステップでは、各ツイートを分析して感情スコアを追跡します。各ツイートは、現在の index にアクセスできる新しい for-in 反復処理構文を使用して分析されます。

読み込んでいます...

processPosts ステップには、複数のサブステップがあります。analyzeSentiment ステップでは、Language API コネクタを使用してツイートのテキストを分析し、次の 2 つのステップで合計感情を計算し、最小感情スコアとインデックスを追跡します。

読み込んでいます...

processPosts ステップから出たら、平均感情スコアを計算し、結果をログに記録して返します。

読み込んでいます...

ワークフローのデプロイと実行

ワークフローを試すには、デプロイして実行しましょう。

ワークフローをデプロイします。

読み込んでいます...

ワークフローを実行します(独自の署名なしトークンを渡すことを忘れないでください)。

読み込んでいます...

1 分ほど経過すると、感情スコアとともに結果が表示されます。

読み込んでいます...

次のステップ

反復処理の構文とコネクタにより、コードなしで直感的かつ堅牢なワークフローでツイートを読み取って分析することができました。ご質問やフィードバックについては、@meteatamel@krisabraun までお問い合わせください。

- デベロッパー アドボケイト Mete Atamel

投稿先