aws

Amazon Comprehendとは?読み方・できること・料金と日本語で使える機能

Amazon Comprehend(アマゾン コンプリヘンド)は、テキストから感情や固有名詞を自動で抽出するAWSの自然言語処理サービスです。日本語にも対応していますが、「日本語対応」と書かれた機能のうち、実際に日本語で動くのは一部だけです。トピックモデリングやPII検出は、公式ドキュメント上そもそも日本語をサポートしていません。この記事では読み方から料金・使い方までを押さえたうえで、公式の対応言語表をもとに「日本語で使える機能/使えない機能」を切り分けます。

※料金・仕様は2026年7月時点の公式ドキュメントに基づきます。単価やリージョンは変更されるため、契約前にAWS公式の料金ページで最新の値をご確認ください。

まとめ

  • 読み方は「アマゾン コンプリヘンド」。英単語 comprehend(理解する)が由来
  • 日本語で使えるのは感情分析・エンティティ認識・キーフレーズ抽出・言語検出の4つ
  • 日本語で使えないのはPII検出(英語・スペイン語のみ)、ターゲット感情分析・毒性検出(英語のみ)、構文解析・カスタム分類・カスタムエンティティ認識(欧州6言語のみ)、トピックモデリング(日本語などの文字ベース言語は非対応)
  • トピックモデリング・イベント検出・プロンプト安全性分類は2026年4月30日付で新規顧客への提供が終了。AWSはAmazon Bedrockへの移行を案内している(他の機能は継続)
  • 料金は100文字=1ユニット、1リクエスト最低3ユニット、0.0001USD/ユニットから。対象APIごと月50,000ユニットの無料枠が12か月
  • 同期APIの文字数上限は機能ごとに違う(エンティティ認識は100KB、感情分析は5KB)

順に、名前の読み方から見ていきます。

Amazon Comprehendの読み方と「comprehend」の意味

サービス名は「アマゾン コンプリヘンド」

Amazon Comprehendは「アマゾン コンプリヘンド」と読みます。AWS公式の日本語ドキュメントはサービス名を英字表記のまま載せており、公式のカタカナ表記は定められていませんが、AWS Black Beltなどの日本語セッションでは「コンプリヘンド」と読まれています。会話では「Comprehend」とだけ呼ぶことも多く、それで通じます。

英単語 comprehend の意味と、間違えやすい綴り

comprehend は「理解する、把握する」を意味する英単語で、発音記号は /ˌkɑːmprɪˈhend/(カタカナでは「カンプリヘンド」に近い)。名詞形の comprehension(理解・読解)は英語のテストでおなじみです。テキストの意味を機械に理解させるサービスなので、この語がそのまま名前になっています。

綴りは間違えやすく、conprehend・complehend・comperhend のような入力ミスが検索でも頻繁に見られます。正しくは com + prehend で、真ん中は「n」ではなく「m」、後半は「pre-hend」です。AWS CLIやSDKでのサービス名も comprehend なので、綴りを誤ると認証情報ではなくサービス名解決でエラーになります。

Amazon Comprehendの役割とフルマネージドNLPとしての位置づけ

Amazon Comprehendは、構造化されていないテキスト(顧客レビュー、問い合わせ、SNS投稿、契約書など)を解析して、感情・固有名詞・重要語句といった情報を取り出すフルマネージドのNLPサービスです。AWSが用意した学習済みモデルを使うため、利用者はモデルの訓練もサーバーの構築も行わず、APIにテキストを渡すだけで結果を受け取れます。

日本語対応は2019年11月6日に追加されました(日本語・韓国語・中国語・ヒンディー語・アラビア語の6言語が同時追加)。東京リージョン(ap-northeast-1)でも提供されています。日本語の自然言語処理を自前で組むならMeCabのような形態素解析ツールを使う手もありますが、Comprehendは辞書のメンテナンスやサーバー運用を抱え込まずに済む点が違います。

Amazon Comprehendの主要機能と日本語での可否

標準機能:感情分析・エンティティ認識・キーフレーズ抽出・言語検出

学習済みモデルをAPIから呼ぶだけで使える機能群です。Comprehendの中心はここで、日本語で確実に動くのもこの4つです。

  • 感情分析:テキストがPositive・Negative・Neutral・Mixedのどれかを、信頼度スコア付きで判定します
  • エンティティ認識:固有表現を抽出し、PERSON(人名)、LOCATION(地名)、ORGANIZATION(組織名)、DATE(日付)、QUANTITY(数量)、COMMERCIAL_ITEM(製品名)、EVENT、TITLE、OTHER の全9種に分類します
  • キーフレーズ抽出:文書中の重要な名詞句を取り出し、何について書かれた文書かを把握します
  • 言語検出:入力テキストが何語かを判別します

言語検出だけは対象言語の枠が別で、公式ドキュメントは104言語を列挙しています。ただし音写は判定できず、ローマ字の「arigato」を日本語、「nihao」を中国語とは認識しません。精度を出すには20文字以上のテキストを与えることが推奨されています。

PII検出とTrust & Safety(毒性検出)

個人識別情報(PII)の検出とマスキング、および有害コンテンツを判定する毒性検出(Toxicity Detection)があります。毒性検出は2023年11月9日に「Trust & Safety」機能として追加されたもので、ヘイトスピーチ(HATE_SPEECH)、脅迫(VIOLENCE_OR_THREAT)、侮辱(INSULT)、下品な表現(PROFANITY)など7カテゴリと、総合的なTOXICITYスコアを返します。1リクエストで最大10件、各1KBまでのテキストを判定できます。

ただしどちらも日本語では使えません。PII検出は英語とスペイン語のみ、毒性検出は英語のみです(公式ドキュメントに “supports only the English language” と明記)。加えて毒性検出は、2023年11月のTrust & Safety提供開始時点の発表ではバージニア北部・オレゴン・アイルランド・シドニーの4リージョン提供で、東京は含まれていませんでした。利用を検討するなら、対象リージョンで現在も提供されているかを先に確認してください。いずれにせよ、日本語のチャットやレビューを対象にした有害投稿の検知には使えません。

カスタム機能:カスタム分類・カスタムエンティティ認識

自社データでモデルを学習させ、独自のラベル分類(カスタム分類)や業界固有の固有表現抽出(カスタムエンティティ認識)を行う機能です。学習データを用意すれば、標準機能では取れない社内用語や商品コードを抽出できます。

こちらもドイツ語・英語・スペイン語・フランス語・イタリア語・ポルトガル語の6言語のみで、日本語のモデルは学習できません。PDFやWord文書を直接扱うネイティブ文書モデルに至っては英語のみです。「日本語の問い合わせメールをカスタム分類で自動振り分けする」といった構成は、Comprehendでは組めません。

新規顧客への提供が終了した3機能(トピックモデリング・イベント検出・プロンプト安全性分類)

解説記事の多くがいまだに主要機能として挙げていますが、トピックモデリング・イベント検出・プロンプト安全性分類の3機能は、2026年4月30日付で新規顧客への提供が終了しました。AWSのAPIリファレンスに「will no longer be available to new customers, effective April 30, 2026」と明記されています。直近12か月以内にこれらの機能を利用した実績のあるアカウントは、そのまま使い続けられます。

終了するのはこの3つだけです。公式は「他のAmazon Comprehendの機能の提供には影響しない」と明言しており、感情分析・エンティティ認識・キーフレーズ抽出・言語検出・PII検出・毒性検出・カスタムモデルは従来どおり新規に利用できます。

AWSが案内している移行先は生成AIです。トピック抽出とイベント抽出はAmazon BedrockのLLMで代替し、プロンプト安全性分類はガードレール for Amazon Bedrockの PROMPT_ATTACK フィルターで置き換えます。公式ドキュメントには、Bedrockのバッチ推論に投げるJSONLの作り方まで含んだ移行手順が用意されています。

これから採用を検討しているなら、この3機能は最初から選択肢に入りません。逆に言えば、Comprehendに残るのは感情分析・エンティティ認識・キーフレーズ抽出・言語検出・PII検出・カスタムモデルという、決まった形式の情報を安く速く取り出す機能群です。

日本語で使える機能・使えない機能

Comprehendは12言語(英語・ドイツ語・スペイン語・イタリア語・ポルトガル語・フランス語・日本語・韓国語・ヒンディー語・アラビア語・中国語簡体/繁体)に対応していますが、全機能が全言語で使えるわけではありません。日本語の可否は次のとおりです。

機能 対応言語 日本語
エンティティ認識 対応12言語すべて
キーフレーズ抽出 対応12言語すべて
感情分析 対応12言語すべて
言語検出 104言語(別枠)
PII検出・マスキング 英語・スペイン語 不可
ターゲット感情分析 英語 不可
毒性検出 英語 不可
構文解析 de・en・es・fr・it・pt 不可
カスタム分類 de・en・es・fr・it・pt 不可
カスタムエンティティ認識 de・en・es・fr・it・pt 不可
トピックモデリング 文字ベース言語は非対応 不可

トピックモデリングについて公式ドキュメントは「言語に依存しないが、中国語・日本語・韓国語のような文字ベースの言語はサポートしない」と書いています。単語がスペースで区切られない言語を処理できないためで、日本語の文書群からトピックを抽出する用途には、そもそも使えません。

つまり日本語のテキスト分析でComprehendを使う場合、現実的な守備範囲は感情分析・エンティティ認識・キーフレーズ抽出・言語検出の4つです。顧客レビューの感情スコアリング、問い合わせ本文からの企業名・製品名の抽出、レビュー群からの頻出キーフレーズの洗い出しはできます。個人情報のマスキングや日本語の独自分類モデルは、Comprehend以外の手段を検討してください。

Amazon Comprehendの料金体系と「最低3ユニット」の罠

従量課金で初期費用はありません。標準機能は100文字を1ユニットとして数え、1リクエストにつき最低3ユニット(300文字)が課金されます。10文字のテキストを1万回投げると、実際には3万ユニット分の請求になる点に注意してください。短いテキストを1件ずつ同期APIに投げる設計は、この最低課金で割高になります。

月間の処理量 1ユニット単価
0〜1,000万ユニット 0.0001 USD
1,000万〜5,000万ユニット 0.00005 USD
5,000万〜1億ユニット 0.000025 USD

この段階制が適用されるのは、感情分析・ターゲット感情分析・エンティティ認識・キーフレーズ抽出・言語検出・構文解析に加え、毒性検出とプロンプト安全性分類です。イベント検出だけは0.003 USD/ユニットの別料金で、段階制の対象外になります。月1億ユニットを超える規模には公表単価がなく、AWSへの個別問い合わせです。

PII検出も扱いが違います。Detect PII は段階制ではなく一律0.0001 USD/ユニットで、処理量が増えても単価は下がりません。一方、文書にPIIが含まれるかどうかだけを返す Contains PII は0.000002 USD/ユニットと50分の1です。全文をDetect PIIにかける前に、Contains PIIで対象文書を絞る二段構えがコストに効きます。

実際の金額感を出しておきます。平均200文字のレビューを10万件、感情分析にかける場合。1件あたり2ユニットですが最低3ユニットが課金されるため、3ユニット×10万件=30万ユニット。0.0001 USDを掛けて30 USDです。無料枠は月50,000ユニットなので、この10万件を1か月で処理するなら請求は25 USD。無料枠はAPI単位で別々にカウントされ(感情分析で5万、エンティティ認識で5万)、初回リクエストから12か月間、毎月適用されます。

カスタムモデルは別料金です。学習が3 USD/時間、モデル管理が0.50 USD/月、非同期推論が0.0005 USD/ユニット。注意が要るのは同期エンドポイントで、0.0005 USD/秒/推論ユニットが、リクエストが1件も来なくても起動している限り課金され続けます。推論ユニット1つでも1.80 USD/時、43.20 USD/日、1か月起動しっぱなしなら約1,300 USDに達します。推論ユニット1つがさばけるのは100文字/秒・2文書/秒なので、スループットを上げようとユニットを増やせば、この金額がそのまま倍々になります。標準機能を月30万ユニット使っても30 USDで済むことを思えば、消し忘れたエンドポイント1つのほうが桁違いに高くつきます。使い終わったら必ず削除してください。

無料利用枠は、対象APIごとに月50,000ユニット(500万文字)を初回リクエストから12か月間。カスタムモデル関連は対象外です。

Boto3での呼び出しと日本語指定(LanguageCode=ja)

感情分析・エンティティ認識の最小コード

試すだけならAWSマネジメントコンソールの「リアルタイム分析」にテキストを貼り付ければ結果が見られます。システムに組み込むならSDKを使います。AWS SDK for Python(Boto3)での最小構成は次のとおりです。

pip install boto3

感情分析は detect_sentiment を呼ぶだけです。日本語を解析するときは LanguageCodeja を指定します。

import boto3

comprehend = boto3.client('comprehend', region_name='ap-northeast-1')

text = "配送は早かったが、梱包が雑で箱が潰れていた。"

response = comprehend.detect_sentiment(Text=text, LanguageCode='ja')

print(response['Sentiment'])        # Positive, Negative, Neutral, Mixed のいずれか
print(response['SentimentScore'])   # 各ラベルの信頼度スコア

この例のように良い点と悪い点が混ざった文は Mixed と判定されることがあります。ラベルだけで判断せず、SentimentScore の値を見て閾値を決めてください。エンティティ認識も呼び出し方は同じです。

text = "山田太郎さんが2026年6月に東京のサンプル商事株式会社でEC2の導入を担当した。"

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

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

キーフレーズ抽出は detect_key_phrases、言語検出は detect_dominant_language と、機能ごとにメソッドを呼び分けます。

同期と非同期の使い分け、文字数の上限

1件ずつ即座に結果を返す同期APIと、S3上の大量文書をまとめて処理する非同期ジョブがあります。同期APIの文書サイズ上限は機能によって違い、ここを一律に扱うと本番で落ちます

呼び出し方 対象機能 1文書の上限
同期 エンティティ・キーフレーズ・言語検出 100 KB
同期 感情分析・ターゲット感情分析・構文解析 5 KB
同期(Batch系) 複数文書(最大25件) 5 KB
非同期 エンティティ・キーフレーズ・PII・言語検出 1 MB
非同期 感情分析 5 KB

エンティティ認識が通る100KBの文書を、そのまま感情分析に投げると上限5KBで弾かれます。長文レビューや議事録を扱うなら、感情分析に渡す前に分割する処理が要ります。非同期ジョブは1リクエストあたり合計5GB・最大100万ファイルまで扱え、同時に走らせられるジョブは10本です。数万件規模のバッチは非同期、UIからの即時応答が必要な処理は同期、と割り切るのが素直です。

他のAWSサービス・生成AIとの使い分け

Textract・Translate・Transcribeとの違い

AWSのテキスト系サービスは入力と出力で役割が分かれます。Comprehendは「すでにテキストになっているものの意味を解析する」担当です。

サービス 入力 出力
Comprehend テキスト 感情・エンティティ等
Textract 画像・PDF テキスト・表
Translate テキスト 翻訳テキスト
Transcribe 音声 テキスト
Bedrock プロンプト 生成テキスト

スキャンした請求書や契約書を分析するなら、まずAmazon Textractで文字を抽出し、その結果をComprehendに渡します。音声の問い合わせログならTranscribeでテキスト化してからComprehendにかける、という順序です。

BedrockとComprehendの選択基準

いま新規にテキスト分析を組むなら、まずBedrockのLLMを検討し、Comprehendは条件が合うときだけ選ぶのが妥当です。AWS自身がトピックモデリングとイベント検出の移行先にBedrockを指定した以上、「決まった分析はComprehend、生成はBedrock」という従来の住み分けは崩れています。

それでもComprehendを選ぶ理由は3つに絞られます。第一に単価で、100文字0.0001 USDの従量課金は、同じ量をLLMに投げるより桁で安く済むケースがあります。第二に出力の安定性です。感情分析は必ず4ラベルとスコアを返し、プロンプトの書き方で形式が揺れません。分類結果をそのままDBに入れる処理では、この決定論的な振る舞いが効きます。第三にレイテンシで、同期APIは軽量な分だけ応答が速く、リアルタイム処理に組み込みやすい。

逆に、次の場合はComprehendを選ぶべきではありません。日本語でPIIマスキングや独自ラベルの分類をしたいとき(そもそも動きません)。分析の観点が頻繁に変わるとき(カスタムモデルは学習し直しになりますが、LLMはプロンプトを書き換えるだけで済みます)。抽出だけでなく要約や理由の説明まで欲しいとき(Comprehendは生成しません)。BedrockとKendraを組み合わせたRAG構成のように、検索や生成まで含む用途は最初からBedrock側の設計です。

Amazon Comprehend Medicalの守備範囲と英語限定の制約

医療・ライフサイエンス向けには専用サービスのAmazon Comprehend Medicalがあります。電子カルテや治験文書から、病状・投薬量・検査値・解剖学的部位といった医療エンティティを抽出でき、「この薬剤がこの症状に対して処方された」という関係性も識別します。標準のComprehendとは別のAPI・別の料金体系です。

ただし対応言語は英語(US-EN)のみで、日本語のカルテはそのまま解析できません。日本語文書を扱うなら、Amazon Translateで英訳してからComprehend Medicalに渡す構成になり、翻訳の精度が抽出精度にそのまま乗ります。医療情報という性質上、この二段構えを本番運用に載せるかどうかは慎重に判断してください。5系統APIの使い分け・1ユニット単価・東京リージョン非対応の回避策は、Amazon Comprehend Medicalとは?5系統APIと料金・東京リージョン非対応の実装判断で実装目線で整理しています。

よくある質問(FAQ)

Amazon Comprehendの読み方は?

「アマゾン コンプリヘンド」と読みます。英単語の comprehend(理解する)が由来で、発音は /ˌkɑːmprɪˈhend/ です。conprehend や complehend は綴りの誤りです。

Amazon Comprehendは日本語に対応していますか?

2019年11月から対応していますが、日本語で使えるのは感情分析・エンティティ認識・キーフレーズ抽出・言語検出の4機能です。PII検出(英語・スペイン語のみ)、カスタム分類・カスタムエンティティ認識・構文解析(欧州6言語のみ)、毒性検出(英語のみ)、トピックモデリング(文字ベース言語は非対応)は日本語では使えません。

料金はどのくらいかかりますか?

100文字を1ユニットとして0.0001 USDから、1リクエストにつき最低3ユニット(300文字)が課金されます。対象APIごとに月50,000ユニット(500万文字)まで、初回リクエストから12か月間の無料枠があります。カスタムモデルは学習3 USD/時間、モデル管理0.50 USD/月が別途かかります。

トピックモデリングが使えないのはなぜですか?

理由は2つあります。第一に、トピックモデリング・イベント検出・プロンプト安全性分類は2026年4月30日付で新規顧客への提供が終了しており、直近12か月に利用実績のあるアカウントしか使えません。第二に、仮に利用資格があっても、トピックモデリングは日本語・中国語・韓国語のような文字ベースの言語に対応していません。AWSは代替としてAmazon BedrockのLLM、プロンプト安全性分類についてはBedrock Guardrailsを案内しています。

Amazon ComprehendとAmazon Textractの違いは?

Textractは画像やPDFから文字を抽出するOCRサービス、Comprehendは抽出済みのテキストから意味を解析するNLPサービスです。スキャン文書を分析するときは、Textractでテキスト化してからComprehendに渡します。

Comprehend Medicalは日本語で使えますか?

使えません。対応言語は英語(US-EN)のみです。日本語の医療文書を扱う場合は、Amazon Translateで英訳してから渡す構成が必要になります。英訳を挟む構成で崩れる用語と、日本語のまま処理する場合の代替はComprehend Medicalの実装判断にまとめました。

関連記事

資料請求

RELATED POSTS 関連記事