方法: 感情分析とオピニオン マイニングを使用する
感情分析とオピニオン マイニングの 2 つは、プラスとマイナスのセンチメントを検出する方法です。 感情分析を使用すると、文やドキュメントのレベルでセンチメント ラベル ("negative"、"neutral"、"positive" など) と信頼度スコアが得られます。 オピニオン マイニングでは、テキスト内の単語 (製品やサービスの特性など) に関連する意見について、詳細な情報が得られます。
感情分析
感情分析では、文とドキュメントのレベルで返されるセンチメント ラベルとそれぞれの信頼度スコアがテキストに適用されます。
ラベルは、positive、negative、および neutral です。 ドキュメント レベルでは、mixed センチメント ラベルが返されることもあります。 ドキュメントのセンチメントは、次のように決定されます。
文章のセンチメント | 返されるドキュメントのラベル |
---|---|
ドキュメントに positive の文が少なくとも 1 つ含まれている。 残りの文は neutral である。 |
positive |
ドキュメントに negative の文が少なくとも 1 つ含まれている。 残りの文は neutral である。 |
negative |
ドキュメントに、negative の文が少なくとも 1 つ、positive の文が少なくとも 1 つ含まれている。 |
mixed |
ドキュメント内のすべての文が neutral である。 |
neutral |
信頼度スコアは、1 から 0 の範囲で割り当てられます。 スコアが 1 に近いほど、ラベルの分類の信頼度が高いことを示し、スコアが低いほど信頼度が低いことを示します。 各ドキュメントまたは各文で、ラベル (positive、negative、neutral) に関連付けられた予測スコアは合計で 1 になります。 詳細については、責任ある AI の透明性に関するメモを参照してください。
オピニオン マイニング
オピニオン マイニングは、感情分析の機能の 1 つです。 この機能は、自然言語処理 (NLP) ではアスペクトベースの感情分析とも呼ばれます。テキストに含まれる製品やサービスの属性に関連した意見について、より粒度の細かい情報が得られます。 API は、ターゲット (名詞または動詞) と評価 (形容詞) として意見をクローズアップします。
たとえば、あるホテルについて "The room was great, but the staff was unfriendly (部屋はすばらしいのですが、スタッフが無愛想でした)" のようなフィードバックを利用者が残した場合、そのテキストに含まれるターゲット (アスペクト) と、それに関連する評価 (意見) と感情がオピニオン マイニングによって特定されます。 感情分析では、否定的な感情のみが報告される可能性があります。
REST API を使用してオピニオン マイニングの結果を取得するには、感情分析の要求に opinionMining=true
フラグを含める必要があります。 オピニオン マイニングの結果が感情分析の応答に含められます。 オピニオン マイニングは感情分析の拡張機能であり、現在の価格レベルに含まれています。
開発オプション
感情分析を使用するには、分析のために未加工の非構造化テキストを送信して、アプリケーションで API 出力を処理します。 分析はそのままの状態で行われ、データに使用されるモデルに対して追加のカスタマイズは行われません。 感情分析を使用するには、次の 2 つの方法があります。
開発オプション | 説明 |
---|---|
Language Studio | Language Studio は Web ベースのプラットフォームであり、Azure アカウントがなければテキストの例で、サインアップしたら独自のデータで、エンティティ リンクを試すことができます。 詳しくは、Language Studio の Web サイトまたは Language Studio のクイックスタートに関する記事をご覧ください。 |
REST API またはクライアント ライブラリ (Azure SDK) | REST API を使用するか、さまざまな言語で使用できるクライアント ライブラリを使用して、感情分析をアプリケーションに統合します。 詳細については、感情分析のクイックスタートを参照してください。 |
Docker コンテナー | 利用できる Docker コンテナーを使って、この機能をオンプレミスに展開します。 これらの Docker コンテナーを使用すると、コンプライアンス、セキュリティ、またはその他の運用上の理由により、データにいっそう近いところにサービスを持ってくることができます。 |
データの処理方法を決定する (省略可能)
感情分析モデルを指定する
既定では、感情分析には、そのテキストで使用できる最新の AI モデルが使われます。 特定のバージョンのモデルを使うように API 要求を構成することもできます。
入力言語
感情分析で処理されるドキュメントを送信するときに、サポートされている言語のどれでそれが書かれているかを指定できます。 言語を指定しないと、感情分析には既定で英語が使われます。 さまざまな多言語と絵文字のエンコードをサポートするため、API からの応答でオフセットが返される場合があります。
データの送信
感情分析とオピニオン マイニングでは、作業するテキストの分量が小さいほど、高い品質の結果が得られます。 これは、テキストのブロックが大きいほどパフォーマンスが向上する、キー フレーズ抽出などの一部の機能とは逆です。
API 要求を送信するには、言語リソースのエンドポイントとキーが必要です。
Note
言語リソースのキーとエンドポイントは、Azure portal で確認できます。 それらは、リソースの [Key and endpoint](キーとエンドポイント) ページの [リソース管理] にあります。
要求が受信されると分析が実行されます。 感情分析とオピニオン マイニングの機能の同期的な使用はステートレスです。 データはアカウントに保存されず、結果がすぐに応答で返されます。
この機能を非同期的に使うと、API の結果は、応答で示される要求取り込み時刻から 24 時間利用できます。 この時間が経過すると、結果は消去され、取得できなくなります。
感情分析とオピニオン マイニングの結果を取得する
API から結果を受け取るとき、返されるキー フレーズの順序は、モデルによって内部的に決定されます。 結果をアプリケーションにストリーミングすることも、ローカル システムのファイルに出力を保存することもできます。
感情分析は、ドキュメント全体およびそこに含まれるそれぞれの文について、センチメント ラベルと信頼度スコアを返します。 スコアが 1 に近いほど、ラベルの分類の信頼度が高いことを示し、スコアが低いほど信頼度が低いことを示します。 ドキュメントには複数の文が含まれる場合があり、それぞれのドキュメントまたは文の範囲内での信頼度スコアの合計は 1 になります。
テキスト内のターゲット (名詞または動詞) とそれに関連する評価 (形容詞) がオピニオン マイニングによって特定されます。 たとえば、"The restaurant had great food and our server was friendly" という文には、food と server という 2 つのターゲットが存在します。 各ターゲットに評価が存在します。 たとえば、food の評価は great であり、server の評価は friendly です。
API は、ターゲット (名詞または動詞) と評価 (形容詞) として意見を返します。
サービスとデータの制限
分単位および秒単位で送信できる要求のサイズと数については、サービスの制限に関する記事を参照してください。