Text Analytics API とは

Text Analytics API は、テキスト マイニングとテキスト分析のための自然言語処理 (NLP) 機能を提供するクラウドベースのサービスであり、感情分析、オピニオン マイニング、キー フレーズ抽出、言語検出、名前付きエンティティの認識などを備えています。

この API は、機械学習と AI のアルゴリズムを開発プロジェクトで利用できるようクラウドに集めた Azure Cognitive Services に含まれます。 これらの機能は、REST API バージョン 3.0 またはバージョン 3.1、あるいはクライアント ライブラリで使用できます。

このドキュメントには、次のような記事が記載されています。

  • クイックスタートは、サービスの呼び出しと結果の取得を短時間で行えるようにする、ステップバイステップの手順です。
  • 攻略ガイドには、より具体的またはカスタマイズした方法でサービスを使用するための手順が記載されています。
  • 概念に関するページでは、サービスの機能と特徴について詳しく説明します。
  • チュートリアルはより長文のガイドであり、より広範なビジネス ソリューションの 1 コンポーネントとしてこのサービスを使用する方法を示すものです。

センチメント分析

感情分析 (SA) を使用して、テキストのマイニングにより肯定的または否定的な感情の手がかりを探すことで、ブランドまたはトピックに対して人々がどのように考えているかを突き止めます。

この機能は、文章とドキュメントレベルでサービスによって検出された最も高い信頼度スコアに基づいて、センチメント ラベル ("negative"、"neutral"、"positive" など) を提供します。 また、この機能は、positive、neutral、negative (肯定的、中立的、否定的) のセンチメントに関し、各ドキュメントとその中の文章に対して 0 と 1 の間の信頼度スコアを返します。 また、コンテナーを使用してオンプレミスでサービスを実行することもできます。

バージョン 3.1 以降では、オピニオン マイニング (OM) は感情分析の 1 つの機能となっています。 この機能は、自然言語処理 (NLP) ではアスペクトベースの感情分析とも呼ばれます。テキストに含まれる単語 (製品やサービスの属性など) に関連した意見について、より粒度の細かい情報が得られます。

キー フレーズの抽出

キー フレーズ抽出 (KPE) を使用して、テキスト内の主要な概念をすばやく特定します。 たとえば、「食べ物はおいしくて、すばらしいスタッフがいた」というテキストでは、キー フレーズ抽出は話題の中心として "食べ物" と "すばらしいスタッフ" を返します。

言語検出

言語検出を使用すると、さまざまな言語、異形、方言、一部の地方言語や文化言語で、入力テキストの記述言語を検出するほか、要求で送信されたドキュメントごとに 1 つの言語コードを報告することができます。 言語コードは信頼度スコアとペアになっています。

名前付きエンティティの認識

名前付きエンティティの認識 (NER) は、テキスト内のエンティティを、人、場所、組織、数量として識別して分類できます。既知のエンティティも認識され、Web 上の詳細情報にリンクされます。

Text Analytics for Health

Text Analytics for Health は、医師のメモ、退院要約、臨床ドキュメント、電子健康記録などの非構造化テキストからの、関連する医療情報の抽出とラベル付けが行われる、Text Analytics API サービスの機能です。

Docker コンテナーを使用してオンプレミスにデプロイする

Text Analytics コンテナーを使用して、API 機能をオンプレミスにデプロイします。 これらの Docker コンテナーを使用すると、コンプライアンス、セキュリティ、またはその他の運用上の理由により、データにより近いところでサービスを使用できます。 Text Analytics には、次のコンテナーが用意されています。

  • 感情分析
  • キー フレーズ抽出 (プレビュー)
  • 言語検出 (プレビュー)
  • Text Analytics for Health

非同期操作

/analyze エンドポイントを使用すると、Text Analytics API の多くの機能を非同期に使用できます。 固有表現認識 (NER)、キー フレーズ抽出 (KPE)、感情分析 (SA)、オピニオン マイニング (OM) は、/analyze エンドポイントの一部として使用できます。 これにより、1 回の呼び出しでこれらの機能をまとめて使用できます。 ドキュメントごとに最大 125,000 文字を送信できます。 価格は通常の Text Analytics と同じです。

一般的なワークフロー

ワークフローは単純です。ユーザーが分析のためにデータを送信し、コードで出力を処理します。 アナライザーはそのままの状態で利用されます。構成やカスタマイズの追加はありません。

  1. Text Analytics 用の Azure リソースを作成します。 その後、対象の要求を認証するために生成されたキーを取得します。

  2. 未加工の非構造化テキストとしてデータを含む要求を JSON で表します

  3. 任意のリソース (感情分析、キー フレーズ抽出、言語検出、名前付きエンティティの認識) を付加し、新規登録時に確立されたエンドポイントに要求を投稿します。

  4. 応答をローカルでストリームまたは保存します。 要求に基づき、結果は感情スコア、抽出されたキー フレーズのコレクション、または言語コードになります。

ID をベースに出力は 1 つの JSON ドキュメントとして返されます。投稿したテキスト ドキュメントごとに結果が返されます。 その後、結果を分析、視覚化、または分類し、実用的な情報を得ることができます。

データはユーザーのアカウントに保存されません。 Text Analytics API で実行された操作はステートレスです。つまり、入力したテキストが処理され、結果がすぐに返されます。

多様なプログラミング経験レベル向けの Text Analytics

プログラミングの経験があまりなくても、Text Analytics API を自分のプロセスで使い始めることができます。 これらのチュートリアルを使用して、経験レベルに合わせてさまざまな方法でテキストを分析するための API の使用方法を学習してください。

サポートされている言語

このセクションは見つけやすいように別の記事に移されました。 このコンテンツについては、Text Analytics API でサポートされている言語に関するページを参照してください。

データ制限

Text Analytics API のエンドポイントはすべて、未加工のテキスト データを受け取ります。 詳細については、データの制限に関する記事を参照してください。

Unicode エンコーディング

Text Analytics API では、テキストの表現と文字数の計算に Unicode エンコーディングが使用されます。 要求は UTF-8 と UTF-16 の両方で提出できます。文字数に測定可能な違いはありません。 Unicode コードポイントは文字の長さのヒューリスティックとして使用され、テキスト分析データを制限するという目的では同等と見なされます。 StringInfo.LengthInTextElements を利用して文字数を取得する場合、データ サイズの測定に使用しているものと同じ方法を使用することになります。

次のステップ