Amazon Comprehend
自然言語処理でテキストからエンティティ、感情、キーフレーズを抽出するサービス
何ができるか
Amazon Comprehend は、自然言語処理 (NLP) を使ってテキストデータを分析するフルマネージドサービスです。テキストから人名・地名・組織名などのエンティティ (固有表現) を抽出し、文章の感情 (ポジティブ・ネガティブ・中立) を判定し、重要なキーフレーズを特定します。ML の専門知識がなくても、API を呼び出すだけでテキスト分析を実行できます。
どのような場面で使うか
カスタマーサポートに寄せられるフィードバックの感情分析 (満足・不満の自動分類)、SNS の投稿からブランドに関する評判を分析するソーシャルリスニング、大量の文書から人名や企業名を自動抽出するデータ整理などに活用されています。 この分野について体系的に学びたい方は、関連書籍 (Amazon) も参考になります。
身近な例え
優秀な読書家のアシスタントに例えるとわかりやすいでしょう。大量の手紙 (テキストデータ) を渡すと、アシスタントが 1 通ずつ読んで「この手紙は怒っている」「この手紙には田中さんと東京が出てくる」「この手紙のポイントは納期遅延」と要点をまとめてくれます。Comprehend はこのアシスタントの役割を、大量のテキストに対して瞬時に実行します。
Comprehend とは
Amazon Comprehend は、テキストの内容を自動的に理解・分析するサービスです。人間がテキストを読んで「この文章は肯定的だ」「ここに会社名が書いてある」と判断するように、Comprehend は機械学習モデルを使ってテキストの意味を解析します。日本語を含む多数の言語に対応しており、API を呼び出すだけで分析結果を取得できます。
主な分析機能
Comprehend は複数の分析機能を提供しています。感情分析はテキストの感情をポジティブ、ネガティブ、中立、混合の 4 カテゴリに分類します。エンティティ認識は人名、地名、組織名、日付、数量などの固有表現を抽出します。キーフレーズ抽出はテキストの中から重要な語句を特定します。言語検出はテキストが何語で書かれているかを判定します。これらの機能を組み合わせることで、テキストデータから多角的な洞察を得られます。
カスタム分類とカスタムエンティティ
標準の分析機能に加えて、独自のカテゴリやエンティティを定義するカスタムモデルも構築できます。たとえば、カスタマーサポートのチケットを「技術的な問題」「請求に関する問い合わせ」「機能リクエスト」に自動分類するカスタム分類モデルや、業界固有の専門用語を抽出するカスタムエンティティモデルを作成できます。トレーニングデータを用意して Comprehend に学習させるだけで、専門的な NLP モデルを構築できます。
はじめかた
Comprehend を使い始めるには、Comprehend コンソールの「リアルタイム分析」にテキストを入力するだけで、感情分析やエンティティ抽出の結果を即座に確認できます。プログラムから利用する場合は、AWS SDK の DetectSentiment や DetectEntities API を呼び出します。大量のテキストを一括分析する場合は、バッチ処理ジョブを作成して S3 上のデータを処理できます。
注意点
- 日本語の感情分析やエンティティ認識は英語と比較して精度が異なる場合がある。重要な判断に使う場合は結果の検証を行うこと
- リアルタイム API はテキストサイズに上限 (UTF-8 で 100 KB) がある。長文の分析にはバッチ処理を使用すること
- カスタムモデルのトレーニングには最低数百件のラベル付きデータが必要。データ量が少ないと精度が低下するため、十分なトレーニングデータを用意すること
さらに詳しく知りたい方は、関連書籍 (Amazon) で理解を深められます。