aws

Amazon Comprehendとは?できること・料金・使い方をわかりやすく解説

Amazon Comprehend(アマゾン コンプリヘンド)とは、Amazon Web Services(AWS)が提供する自然言語処理(NLP)サービスです。機械学習を使って、文章(テキストデータ)から感情や固有名詞、重要なフレーズなどの情報を自動的に抽出できます。専門的な機械学習の知識がなくても、APIを呼び出すだけでテキスト分析を行えるのが大きな特徴です。本記事では、Amazon Comprehendでできること、料金体系、Python(Boto3)を使った具体的な使い方、活用事例までをわかりやすく解説します。

※本記事で紹介する機能や料金は執筆時点の情報です。仕様や料金は変更されることがあるため、実際に利用する際はAWS公式のドキュメント・料金ページで最新情報を確認してください。

Amazon Comprehendとは

Amazon Comprehendは、構造化されていないテキスト(顧客レビュー、問い合わせ、SNSの投稿、文書など)を解析し、ビジネスに役立つインサイトを引き出すためのサービスです。たとえば、大量の顧客レビューから「全体的にポジティブかネガティブか」を判定したり、ニュース記事から企業名や人名を抽出したりといったことが、サーバーの構築なしに実現できます。

分析はAWSが管理する学習済みモデルが行うため、利用者はテキストをAPIに渡すだけで結果を受け取れます。AWSの他サービス(S3やLambdaなど)とも連携しやすく、既存のシステムに組み込んでリアルタイムに分析することも可能です。なお、日本語にも対応しており(2019年11月から対応)、日本語のテキスト分析にも利用できます。日本語の自然言語処理を自前で行う場合はMeCabのような形態素解析ツールを使う方法もありますが、Comprehendはこうした処理をマネージドサービスとして手軽に利用できる点が特徴です。

Amazon Comprehendでできること(主な機能)

Amazon Comprehendには、次のような分析機能があります。

  • 感情分析:テキストが「ポジティブ」「ネガティブ」「ニュートラル」「混合(Mixed)」のどの感情かを判定します。顧客レビューやアンケートの全体的なトーンを把握するのに役立ちます。
  • エンティティ認識:テキストから人名・組織名・地名・日付・数量などの固有名詞(エンティティ)を抽出し、種類ごとに分類します。
  • キーフレーズ抽出:文書中の重要なフレーズを抽出し、主要なテーマを把握できます。
  • 言語検出:入力されたテキストが何語で書かれているかを判別します。多言語対応のアプリで有用です。
  • 構文解析:単語の品詞(名詞・動詞など)を判定します。
  • トピックモデリング:大量の文書から共通するトピックを抽出し、グループ化します。

さらに、以下のような機能も提供されています。

  • PII(個人識別情報)検出:文書内の個人情報(氏名・住所・電話番号など)の位置を特定し、マスキング(編集)した文書を生成できます。プライバシー規制への対応に役立ちます。
  • カスタム分類・カスタムエンティティ:自社のデータで独自のモデルを学習させ、業界特有の分類やエンティティ抽出を行えます。標準機能で対応できない用途に向いています。
  • 信頼と安全(毒性検出・プロンプト安全性分類):2024年に追加された機能で、有害なコンテンツの検出や、生成AIへの不適切な入力プロンプトの検出ができます。

Amazon Comprehendの料金

Amazon Comprehendは従量課金制で、解析したテキストの量に応じて課金されます。料金は機能ごとに異なりますが、基本となる考え方は次の通りです。

感情分析・エンティティ認識・キーフレーズ抽出・言語検出などの自然言語処理では、100文字を1ユニットとして計算し、1回のリクエストにつき最低3ユニット(300文字)から課金されます。たとえば550文字のテキストを1回解析すると6ユニット分の料金がかかります。PII検出や信頼と安全(毒性検出など)も同じユニット単位の課金です。カスタムモデルを使う場合は、これに加えてモデルのトレーニング(時間課金)や管理(月額)の料金が発生します。

また、Amazon Comprehendには無料利用枠があります。対象のAPIごとに、月50,000ユニット(500万文字)までを、初回リクエストから12か月間無料で利用できます(カスタムモデル関連は無料枠の対象外)。小規模に試す分には無料で始められます。具体的な単価は機能・リージョン・使用量によって変わるため、正確な金額はAWS公式の料金ページと料金見積りツールで確認してください。

Amazon Comprehendの使い方(Python / Boto3)

ここでは、AWS SDK for Python(Boto3)を使った基本的な使い方を紹介します。利用にはAWSアカウントと、適切な権限を持つ認証情報の設定が必要です。

まず、Boto3をインストールします。

pip install boto3

次に、感情分析を実行する例です。detect_sentiment を呼び出すと、テキストの感情が判定されます。

import boto3

# Comprehendクライアントを作成(リージョンは適宜変更)
comprehend = boto3.client('comprehend', region_name='ap-northeast-1')

text = "I am so happy and excited to use Amazon Comprehend."

# 感情分析の実行
response = comprehend.detect_sentiment(Text=text, LanguageCode='en')

print(response['Sentiment'])  # Positive / Negative / Neutral / Mixed のいずれか

エンティティ認識も同様に、detect_entities を呼び出すだけです。

text = "Amazon Web Services (AWS) is a subsidiary of Amazon."

response = comprehend.detect_entities(Text=text, LanguageCode='en')

for entity in response['Entities']:
    print(entity['Text'], entity['Type'], entity['Score'])

このように、抽出したいインサイトに応じてAPI(detect_key_phrasesdetect_dominant_language など)を呼び分けるだけで、テキスト分析を実装できます。日本語を解析する場合は LanguageCode'ja' に指定します。AWS Management ConsoleやAWS CLIからも同様に利用できます。

Amazon Comprehendの活用事例

Amazon Comprehendは、さまざまな業務で活用されています。代表的な例を挙げます。

カスタマーサポートの効率化では、問い合わせ内容を自動で分類し、適切な部署へ振り分けたり、ネガティブな感情を含む問い合わせを優先的に対応したりできます。ブランドモニタリングでは、SNSの投稿を感情分析し、ブランドへの評判をリアルタイムで把握できます。市場調査・製品改善では、大量のレビューを分析して、よく指摘される問題点や新たなニーズを特定できます。

そのほか、コンプライアンス対応では、契約書などからエンティティを抽出したり、PII検出で個人情報を含む文書を特定・マスキングしたりといった使い方ができます。なお、PDFなどの画像化された文書を解析したい場合は、AWS Textractでテキストを抽出してからComprehendに渡す、という連携がよく使われます。AWSの分析・可視化サービス(Amazon QuickSightなど)と組み合わせれば、分析結果をダッシュボードで共有することも可能です。

Amazon Comprehendのメリットと注意点

主なメリットは、第一に機械学習の専門知識が不要なことです。学習済みモデルをAPIで呼び出すだけで高度なテキスト分析ができます。第二にスケーラビリティです。AWSのインフラ上で動くため、大量のテキストも処理できます。第三に他のAWSサービスとの連携のしやすさで、既存のワークフローに組み込みやすい点が挙げられます。

一方で、注意点もあります。コスト管理は重要で、大量のテキストを頻繁に解析するとコストがかさみます。AWS Cost ExplorerやAWS Budgetsで使用量を監視するとよいでしょう。また、分析精度には限界があり、皮肉や専門用語、文脈に依存する表現は誤判定が起こりえます。重要な判断に使う場合は人による確認を併用するのが安全です。さらに、機密情報を含むテキストをクラウドで処理する際は、データの取り扱い(暗号化・アクセス制御)に配慮が必要です。

まとめ

Amazon Comprehendの要点を整理します。

  • Amazon Comprehendは、AWSが提供する自然言語処理(NLP)サービス
  • 感情分析・エンティティ認識・キーフレーズ抽出・言語検出に加え、PII検出、カスタムモデル、毒性検出などが可能
  • 料金は従量課金(100文字=1ユニット、1リクエスト最低3ユニットから)。無料利用枠もある
  • Python(Boto3)などからAPIを呼び出すだけで手軽に利用できる(日本語対応)
  • 仕様・料金は変わるため、最新はAWS公式で確認を

Amazon Comprehendは、専門知識がなくてもテキスト分析を始められる便利なサービスです。まずは無料利用枠で感情分析やエンティティ認識を試し、自社のデータでどんなインサイトが得られるかを確かめてみるとよいでしょう。

よくある質問(FAQ)

Q. Amazon Comprehendは日本語に対応していますか?
A. 対応しています(2019年11月から日本語対応)。LanguageCode'ja' を指定して利用します。ただし、英語に比べると精度が若干異なる場合があります。

Q. 料金はどのくらいかかりますか?
A. 従量課金で、100文字を1ユニットとして計算し、1リクエストにつき最低3ユニット(300文字)から課金されます。月50,000ユニット(500万文字)までの無料利用枠もあります。正確な単価はAWS公式の料金ページで確認してください。

Q. 機械学習の知識がなくても使えますか?
A. 使えます。標準機能はAWSの学習済みモデルを利用するため、APIを呼び出すだけでテキスト分析ができます。独自のモデルを作りたい場合はカスタム分類・カスタムエンティティ機能を利用します。

Q. 個人情報を含むテキストも扱えますか?
A. PII検出機能を使えば、文書内の個人情報を特定し、マスキングした文書を生成できます。ただし、機密データをクラウドで処理する際は、暗号化やアクセス制御などのセキュリティ対策をあわせて検討してください。

Q. Amazon Comprehendと生成AIはどう違いますか?
A. Amazon Comprehendは、感情分析やエンティティ抽出など「テキストから決まった情報を抽出する」ことに特化したサービスです。文章生成などを行う生成AIとは役割が異なり、生成AIの前処理(不適切な入力の検出など)と組み合わせて使うこともできます。

資料請求

RELATED POSTS 関連記事