AWS認定資格 WEB問題集&徹底解説
ソリューションアーキテクト – アソシエイト
AWSサービスの一つであるAmazon Comprehendはどんな内容なのでしょうか?また、AWS認定資格のソリューションアーキテクト-アソシエイト(SAA)に合格するためには、サービスのどんなポイントを押さえておけばよいのでしょうか?
ここでは、そんなあなたの疑問に回答していきたいと思います
1. サービス概要
Amazon Comprehendは、自然言語処理(NLP)を使って文書からインサイトを抽出するフルマネージドサービスです。 テキストの主要言語、エンティティ、キーフレーズ、感情、ターゲット感情、構文、個人識別情報(PII)などを、機械学習モデルを自前で構築せずにAPIで取得できます。
2026年6月時点の試験対策では、「テキスト分析はComprehend」「音声をテキスト化するのはTranscribe」「文書・帳票OCRはTextract」「生成AIはBedrock」と切り分けることが重要です。 小規模なリアルタイム分析と、S3上の大量文書を処理する非同期分析ジョブ、さらに独自分類・独自エンティティを学習するComprehend Customの使い分けが頻出です。
2. 主な特徴と機能
2.1 標準インサイト抽出
事前学習済みモデルにより、DetectEntities、DetectKeyPhrases、DetectSentiment、DetectDominantLanguage、DetectSyntaxなどのAPIを利用できます。 感情はPositive、Negative、Neutral、Mixedとスコアで返り、顧客レビューや問い合わせログの傾向分析に使えます。
2.2 PII検出とリダクション
Comprehendは住所、電話番号、メールアドレス、クレジットカード番号などの個人識別情報(PII)を検出できます。 コンプライアンスやデータ共有前のマスキング用途では、PII検出/リダクションを使って機密情報を除去する設計が試験で問われます。
2.3 Targeted sentiment
通常の感情分析が文書全体の感情を返すのに対し、Targeted sentimentは特定のエンティティに紐づく感情を抽出します。 例えば「配送は遅いが製品品質は良い」のようなレビューで、配送と製品品質を分けて評価できます。
2.4 Comprehend Custom
カスタム分類は独自カテゴリへ文書を分類し、カスタムエンティティ認識は業界用語、製品名、社内コードなど固有の語句を抽出します。 AutoMLによりNLPモデル構築の負担を抑えられ、テキストだけでなく一部のカスタム分類/エンティティではPDF、Word、画像ファイルも入力として扱えます。
2.5 Flywheelとモデル運用
Flywheelは、カスタム分類やカスタムエンティティ認識のモデルバージョン、学習、評価、データセット管理を継続的に扱う仕組みです。 新しい教師データでモデルを改善する運用がある場合に、モデルライフサイクル管理の選択肢になります。
2.6 トピックモデリング
Topic modelingは、大量文書をキーワードの類似性に基づいてトピック/クラスタへ整理します。 明確な教師ラベルがない大量の問い合わせ、レビュー、文書リポジトリを概観したい場合に向きます。
3. アーキテクチャおよび技術要素
- アプリケーションが少量テキストを同期APIへ送信し、JSON形式で感情、エンティティ、キーフレーズなどを受け取る。
- 大量文書はS3に配置し、StartEntitiesDetectionJobなどの非同期ジョブを起動して結果をS3へ出力する。
- PIIを含む可能性があるデータは、分析前後にPII検出/リダクションを適用する。
- 独自カテゴリや独自エンティティが必要な場合は、教師データをS3に置き、Comprehend Customでモデルを学習する。
- カスタムモデルのリアルタイム推論が必要な場合はエンドポイントを作成し、不要時は削除してコストを止める。
- 分析結果をS3、DynamoDB、OpenSearch Service、QuickSightなどへ連携し、検索・可視化・自動処理に使う。
典型的には、S3/EventBridge/Lambda/Step Functionsで文書処理を自動化し、KMSとIAMで入力・出力データを保護します。
4. セキュリティと認証・認可
- IAM最小権限:
comprehend:DetectSentiment、comprehend:StartEntitiesDetectionJob、S3入出力権限などを用途別に絞る。 - S3保護: 入力文書と出力結果はS3のブロックパブリックアクセス、バケットポリシー、KMS暗号化で保護する。
- KMS暗号化: 非同期ジョブの出力結果や処理用ストレージの暗号化にカスタマー管理KMSキーを指定できる。
- VPCエンドポイント: AWS PrivateLinkでVPCからComprehend APIへプライベート接続できる。
- 監査: CloudTrailでAPI呼び出しを記録し、CloudWatch/EventBridgeでジョブ失敗や異常利用を検知する。
- PII対策: 個人情報を含むテキストはPII検出/リダクション、アクセス制御、保持期間管理を組み合わせる。
5. 料金形態
Amazon Comprehendは、標準API、非同期ジョブ、カスタムモデル、エンドポイント利用などに応じた従量課金です。
- 標準分析: 感情、エンティティ、キーフレーズ、言語、構文、PIIなど、処理文字数/ユニットに応じて課金される。
- 非同期ジョブ: S3上の大量文書を一括処理する分析ジョブの処理量に応じて課金される。
- カスタムモデル学習: カスタム分類/カスタムエンティティのトレーニング、モデル管理、データ保存が課金対象になる。
- カスタムエンドポイント: リアルタイム推論用エンドポイントは起動中に課金されるため、不要時は削除する。
- 周辺コスト: S3、KMS、Lambda、Step Functions、CloudWatch Logs、データ転送も合わせて見積もる。
6. よくあるアーキテクチャ・設計パターン
- 顧客レビュー分析: レビューをDetectSentiment、Targeted sentiment、DetectKeyPhrasesで分析し、QuickSightで可視化する。
- 問い合わせ分類: サポートチケットをカスタム分類でカテゴリ分けし、優先度や担当部署へルーティングする。
- PIIマスキング: ログや問い合わせ文を共有前にPII検出/リダクションし、個人情報を伏せる。
- 文書検索強化: エンティティとキーフレーズをメタデータ化し、OpenSearch ServiceやS3メタデータ検索に活用する。
- 大量文書のトピック把握: S3文書群にトピックモデリングを実行し、教師ラベルなしで主要テーマを抽出する。
- 音声分析パイプライン: Transcribeで通話を文字起こしし、Comprehendで感情・キーフレーズ・PIIを分析する。
7. 設定・デプロイ手順(ハンズオン例)
- ComprehendコンソールまたはCLI/SDKで短いテキストにDetectSentiment、DetectEntities、DetectKeyPhrasesを実行する。
- 大量文書を処理する場合は、入力用S3バケットと出力用S3バケットを用意し、IAMロールに必要権限を付与する。
- 非同期分析ジョブを開始し、完了後にS3出力を確認する。
- PIIを含む可能性がある場合はDetectPiiEntitiesまたはPIIリダクションジョブを追加する。
- 独自カテゴリや独自エンティティが必要な場合は、教師データを準備してカスタムモデルを学習する。
- 結果をDynamoDB、OpenSearch Service、Athena、QuickSightなどに連携して検索・分析する。
8. 試験で問われやすいポイント
8.1 サービス選択
- Q: Amazon Comprehendは何をするサービス?
A: テキストから感情、エンティティ、キーフレーズ、言語、構文、PIIなどを抽出するNLPサービス。 - Q: 音声ファイルを文字起こししてから感情分析したい場合の組み合わせは?
A: Amazon Transcribeで音声をテキスト化し、Amazon Comprehendで感情やキーフレーズを分析する。 - Q: 請求書やフォームの項目を抽出したい場合はComprehend?
A: いいえ。帳票・表・フォームの文書抽出はAmazon Textractを選ぶ。
8.2 標準分析API
- Q: テキスト全体の感情を判定するAPIは?
A: DetectSentiment。Positive、Negative、Neutral、Mixedとスコアを返す。 - Q: 人名、組織名、場所などを抽出するAPIは?
A: DetectEntities。 - Q: 重要表現やタグ候補を抽出するAPIは?
A: DetectKeyPhrases。 - Q: 文章中の個人情報を検出するAPIは?
A: DetectPiiEntities、またはPIIリダクションを使う。 - Q: 特定エンティティごとの感情を知りたい場合は?
A: Targeted sentimentを使う。
8.3 リアルタイムとバッチ
- Q: 少量テキストをアプリから即時分析するには?
A: 同期APIを呼び出す。 - Q: S3上の大量文書を一括分析するには?
A: Start系の非同期分析ジョブを使い、結果をS3へ出力する。 - Q: 非同期ジョブで必要な代表的な権限は?
A: Comprehendのジョブ実行権限と、入力/出力S3バケットへの読み書き権限。
8.4 カスタムモデル
- Q: 独自カテゴリへ文書を分類したい場合は?
A: Amazon Comprehend Custom Classificationを使う。 - Q: 製品コードや業界固有用語を抽出したい場合は?
A: Amazon Comprehend Custom Entity Recognitionを使う。 - Q: カスタムモデルの継続的なバージョン管理を楽にしたい場合は?
A: Flywheelを使う。 - Q: カスタムモデルのリアルタイム推論でコスト注意点は?
A: エンドポイントは起動中に課金されるため、不要なら削除する。
8.5 セキュリティと料金
- Q: 分析対象や出力結果を暗号化するには?
A: S3 SSE-KMSやジョブのKMS設定を使う。 - Q: ComprehendへVPC内からプライベート接続するには?
A: VPCエンドポイント(AWS PrivateLink)を使う。 - Q: Comprehendの主な課金軸は?
A: 処理文字数/ユニット、非同期ジョブ、カスタムモデル学習、カスタムエンドポイント稼働時間など。