機械学習
テキスト分析(感情分析)
概要
このブロックは、Cloud Natural Language APIの「感情分析」機能を使用して、テキストデータから感情を分析します。感情は、ポジティブなのか、ネガティブなのか、ニュートラルなのかの3種類で表現されます。
Googleの言語のサポートページを参照してください。
テキスト分析(感情分析)で対応している言語については、Google APIを有効にする」を参照してください。
セルフサービスプランの場合は、このブロックを使用する前に、Cloud Natural Language APIを有効にしてください。詳しくは、「基本操作ガイド>ヒント>プロパティ
プロパティ名 | 説明 |
---|---|
ブロック名 |
編集パネルに配置した当該ブロックの表示名が変更できます。 ブロックリストパネル中のブロック名は変更されません。 |
GCPサービスアカウント | このブロックで使用するGCPサービスアカウントを選択します。 |
テキストを参照する変数 | 感情分析させたいテキストデータを参照する変数を指定します。 |
結果を格納する変数 |
感情分析した結果を格納する変数を指定します。 結果について詳しくは、「Natural Language API の基本」の「感情分析のレスポンス フィールド」を参照願います。 |
ブロックメモ |
本ブロックに関するメモが記載できます。本ブロックの処理に影響しません。 |
使用例
ここでは、「テキスト分析(感情分析)」ブロックを使って、Googleスプレッドシート上のテキストデータを感情分析するケースを取り上げます。
おおまかな流れは、以下のとおりです。
以下、上記流れに沿ってそれぞれについて解説します。
STEP1
Googleスプレッドシート上のテキストデータを「テキスト分析(感情分析)」ブロックを使って感情分析させるためには、Googleスプレッドシート上のテキストデータを変数へ格納する必要があります。
これは、Google Driveカテゴリーの「スプレッドシートのデータ取得」ブロックを使うと簡単に実現できます。
hashire_merosu.csv(Googleスプレッドシートへ取り込んでください)
サンプルデータ:STEP2
「スプレッドシートのデータ取得」ブロックで変数_に格納されたデータは、以下のような配列の配列形式で出力されています。
外側の配列の各要素は、要素数1の配列で、内側の配列の要素がテキストになっています。
「テキスト分析(感情分析)」ブロックは、複数のテキストは扱えないので、今回のケースでは複数のテキストから1つのテキストのみを渡してあげる必要があります。
例えば、この配列の74個目のテキストを渡すには、_.73.0のように指定する必要があります。この記法については、「配列とオブジェクト」の「配列やオブジェクト内の一部データの取得書式」を参照願います。
以下は、変数_内の配列74個目に格納されているテキストを感情分析させる例です。
感情分析の結果は、オブジェクト形式で出力されます。以下は、「ログへ出力」ブロックを使って、変数に格納されたオブジェクトの内容をJSONテキストで出力したものです。
{ "document_sentiment": { "magnitude": 0.7, "score": -0.7 }, "language": "ja" }
score値は、感情を示します。0より大きい値がポジティブ、0より小さい値がネガティブ、0がニュートラルを示します。
STEP3
最後に、感情分析の結果を蓄積し、さまざまな用途に応用できるようにBigQueryテーブルに格納します。
変数内のデータをBigQueryテーブルへ格納するには、「変数からテーブルへロード」ブロックを使うと簡単に処理できます。
- スキーマ設定は、natural-language-api-sentiment-analysis-schema.jsonをダウンロードして、「JSONで編集」でJSONデータを貼り付けてください。
- ファイル形式は、変数内のデータ形式を指定します。「テキスト分析(感情分析)」ブロックの出力結果は、オブジェクトのためJSON形式(NEWLINE_DELIMITED_JSON)となります。
最後に
STEP1からSTEP3を順につなげるとフローの完成です。