感情分析は、指定されたテキストを調べて、そのテキストの背景にある感情的な考え方を分析します。具体的には、執筆者の考え方がポジティブか、ネガティブか、ニュートラルかを判断します。感情分析を実行するには analyzeSentiment メソッドを使用します。Natural Language API でサポートされる言語については、言語のサポートをご覧ください。分析に含まれる感情の値 score および magnitude を解釈する方法については、感情分析の値の解釈をご覧ください。
このセクションでは、ドキュメント内の感情を検出するいくつかの方法を説明します。リクエストは、ドキュメントごとに送信する必要があります。
文字列の感情分析
Natural Language API に直接送信されたテキスト文字列に対して感情分析を行う例を次に示します。
プロトコル
ドキュメント内の感情を分析するには、documents:analyzeSentiment REST メソッドに対して POST リクエストを行います。リクエストには、次の例に示す適切なリクエスト本文を指定します。
この例では、Google Cloud Platform の gcloud CLI を使用してプロジェクト用に設定されたサービス アカウントのアクセス トークンを取得するために、gcloud auth application-default print-access-token コマンドを使用しています。gcloud CLI のインストールと、サービス アカウントを使用したプロジェクトの設定については、クイックスタートをご覧ください。
curl -X POST \ -H "Authorization: Bearer "$(gcloud auth application-default print-access-token) \ -H "Content-Type: application/json; charset=utf-8" \ --data "{ 'encodingType': 'UTF8', 'document': { 'type': 'PLAIN_TEXT', 'content': 'Enjoy your vacation!' } }" "https://language.googleapis.com/v2/documents:analyzeSentiment"
document.language_code を指定しない場合は、言語が自動的に検出されます。Natural Language API でサポートされる言語については、言語のサポートをご覧ください。リクエスト本文の構成の詳細については、Document のリファレンス ドキュメントをご覧ください。
リクエストが成功すると、サーバーは 200 OK HTTP ステータス コードと JSON 形式のレスポンスを返します。
{
"documentSentiment": {
"magnitude": 0.8,
"score": 0.8
},
"language": "en",
"sentences": [
{
"text": {
"content": "Enjoy your vacation!",
"beginOffset": 0
},
"sentiment": {
"magnitude": 0.8,
"score": 0.8
}
}
]
}documentSentiment.score は、0 より大きい値でポジティブな感情を示し、0 より小さい値でネガティブな感情を示します。
gcloud
詳しくは、analyze-sentiment コマンドをご覧ください。
感情分析を実行するには、gcloud CLI を使用し、--content フラグで分析するコンテンツを指定します。
gcloud ml language analyze-sentiment --content="Enjoy your vacation!"
リクエストが成功すると、サーバーは JSON 形式のレスポンスを返します。
{
"documentSentiment": {
"magnitude": 0.8,
"score": 0.8
},
"language": "en",
"sentences": [
{
"text": {
"content": "Enjoy your vacation!",
"beginOffset": 0
},
"sentiment": {
"magnitude": 0.8,
"score": 0.8
}
}
]
}documentSentiment.score は、0 より大きい値でポジティブな感情を示し、0 より小さい値でネガティブな感情を示します。
Go
Natural Language のクライアント ライブラリをインストールして使用する方法については、Natural Language のクライアント ライブラリをご覧ください。 詳細については、Natural Language Go API のリファレンス ドキュメントをご覧ください。
Natural Language で認証を行うには、アプリケーションのデフォルト認証情報を設定します。詳細については、ローカル開発環境の認証の設定をご覧ください。
Java
Natural Language のクライアント ライブラリをインストールして使用する方法については、Natural Language のクライアント ライブラリをご覧ください。 詳細については、Natural Language Java API のリファレンス ドキュメントをご覧ください。
Natural Language で認証を行うには、アプリケーションのデフォルト認証情報を設定します。詳細については、ローカル開発環境の認証の設定をご覧ください。
Python
Natural Language のクライアント ライブラリをインストールして使用する方法については、Natural Language のクライアント ライブラリをご覧ください。 詳細については、Natural Language Python API のリファレンス ドキュメントをご覧ください。
Natural Language で認証を行うには、アプリケーションのデフォルト認証情報を設定します。詳細については、ローカル開発環境の認証の設定をご覧ください。
その他の言語
C#: クライアント ライブラリ ページの C# の設定手順を行ってから、.NET 用の Natural Language リファレンス ドキュメントをご覧ください。
PHP: クライアント ライブラリ ページの PHP の設定手順を行ってから、PHP 用の Natural Language リファレンス ドキュメントをご覧ください。
Ruby: クライアント ライブラリ ページの Ruby の設定手順を行ってから、Ruby 用の Natural Language リファレンス ドキュメントをご覧ください。
Cloud Storage にある感情の分析
Natural Language API は、Cloud Storage に存在するファイルに対して直接感情分析を実行できるようになっています。そのファイルの内容をリクエストの本文に入れて送信する必要はありません。
Cloud Storage に保存されたファイルに対して感情分析を実行する例を次に示します。
プロトコル
Cloud Storage に保存されたドキュメントに含まれる感情を分析するには、documents:analyzeSentiment REST メソッドに対して POST リクエストを行います。リクエスト本文には、次の例に示す適切なドキュメントへのパスを指定します。
curl -X POST \ -H "Authorization: Bearer "$(gcloud auth application-default print-access-token) \ -H "Content-Type: application/json; charset=utf-8" \ --data "{ 'document':{ 'type':'PLAIN_TEXT', 'gcsContentUri':'gs://<bucket-name>/<object-name>' } }" "https://language.googleapis.com/v2/documents:analyzeSentiment"
document.language_code を指定しない場合は、言語が自動的に検出されます。Natural Language API でサポートされる言語については、言語のサポートをご覧ください。リクエスト本文の構成の詳細については、Document のリファレンス ドキュメントをご覧ください。
リクエストが成功すると、サーバーは 200 OK HTTP ステータス コードと JSON 形式のレスポンスを返します。
{
"documentSentiment": {
"magnitude": 0.8,
"score": 0.8
},
"language_code": "en",
"sentences": [
{
"text": {
"content": "Enjoy your vacation!",
"beginOffset": 0
},
"sentiment": {
"magnitude": 0.8,
"score": 0.8
}
}
]
}documentSentiment.score は、0 より大きい値でポジティブな感情を示し、0 より小さい値でネガティブな感情を示します。
gcloud
詳しくは、analyze-sentiment コマンドをご覧ください。
Cloud Storage 内のファイルの感情分析を実行するには、gcloud コマンドライン ツールを使用して、--content-file フラグで分析するコンテンツを含むファイルパスを指定します。
gcloud ml language analyze-sentiment --content-file=gs://YOUR_BUCKET_NAME/YOUR_FILE_NAME
リクエストが成功すると、サーバーは JSON 形式のレスポンスを返します。
{
"documentSentiment": {
"magnitude": 0.8,
"score": 0.8
},
"language": "en",
"sentences": [
{
"text": {
"content": "Enjoy your vacation!",
"beginOffset": 0
},
"sentiment": {
"magnitude": 0.8,
"score": 0.8
}
}
]
}documentSentiment.score は、0 より大きい値でポジティブな感情を示し、0 より小さい値でネガティブな感情を示します。
Go
Natural Language のクライアント ライブラリをインストールして使用する方法については、Natural Language のクライアント ライブラリをご覧ください。 詳細については、Natural Language Go API のリファレンス ドキュメントをご覧ください。
Natural Language で認証を行うには、アプリケーションのデフォルト認証情報を設定します。詳細については、ローカル開発環境の認証の設定をご覧ください。
Java
Natural Language のクライアント ライブラリをインストールして使用する方法については、Natural Language のクライアント ライブラリをご覧ください。 詳細については、Natural Language Java API のリファレンス ドキュメントをご覧ください。
Natural Language で認証を行うには、アプリケーションのデフォルト認証情報を設定します。詳細については、ローカル開発環境の認証の設定をご覧ください。
Node.js
Natural Language のクライアント ライブラリをインストールして使用する方法については、Natural Language のクライアント ライブラリをご覧ください。 詳細については、Natural Language Node.js API のリファレンス ドキュメントをご覧ください。
Natural Language で認証を行うには、アプリケーションのデフォルト認証情報を設定します。詳細については、ローカル開発環境の認証の設定をご覧ください。
Python
Natural Language のクライアント ライブラリをインストールして使用する方法については、Natural Language のクライアント ライブラリをご覧ください。 詳細については、Natural Language Python API のリファレンス ドキュメントをご覧ください。
Natural Language で認証を行うには、アプリケーションのデフォルト認証情報を設定します。詳細については、ローカル開発環境の認証の設定をご覧ください。
その他の言語
C#: クライアント ライブラリ ページの C# の設定手順を行ってから、.NET 用の Natural Language リファレンス ドキュメントをご覧ください。
PHP: クライアント ライブラリ ページの PHP の設定手順を行ってから、PHP 用の Natural Language リファレンス ドキュメントをご覧ください。
Ruby: クライアント ライブラリ ページの Ruby の設定手順を行ってから、Ruby 用の Natural Language リファレンス ドキュメントをご覧ください。