概要
AWS には、機械学習の知識がなくても API を呼ぶだけで使える「学習済みの AI サービス」がそろっています。画像を見て中身を答える Amazon Rekognition、文章を読み上げる Amazon Polly、文章を別の言語に訳す Amazon Translate、文章から感情や固有表現を読み取る Amazon Comprehend、文書からテキストやフォームの項目を抜き出す Amazon Textract、音声を文字に起こす Amazon Transcribe の 6 つです。どれもモデルの学習やサーバーの用意は不要で、データを渡せば結果が返ってきます。
CLF・SAA では、これらのサービスを「どの入力を受け取り、何を返すか」で選び分ける観点がよく問われます。名前だけ覚えていると、音声を「作る」Polly と「文字にする」Transcribe、画像の文字を読む Rekognition と文書を読む Textract のように、向きや対象の違うサービスを取り違えがちです。
本記事では、学習済みの AI サービスと Amazon Bedrock(生成 AI)・Amazon SageMaker AI(自分でモデルを作る)の違いを整理し、6 つのサービスの「入力 → 出力」を 1 つの表にまとめます。そのうえで、各サービスのコンソールのデモ画面と AWS CloudShell を使い、1 サービス 1 操作ずつ手早く触ります。Polly で作った音声を Transcribe で文字に戻すなど、権利の心配がない素材だけで試します。
クラウドおさる6 つも並ぶと目が回りそうでござるが、入れるものと出てくるものを見れば見分けがつくのでござろうか。弊猿、バナナを順番に試食するつもりで、一つずつ口に入れてみるでござる!


この記事のメリット
- 学習済みの AI サービス、Amazon Bedrock、Amazon SageMaker AI の役割の違いを説明できる
- Rekognition・Polly・Translate・Comprehend・Textract・Transcribe の「入力 → 出力」を 1 つの表で整理できる
- Transcribe と Polly、Textract と Rekognition のテキスト検出、Comprehend と Translate など、取り違えやすい組み合わせの見分け方がわかる
- 東京リージョンで使えるか、日本語に対応しているかをサービス・機能ごとに把握できる
- 6 つのサービスをコンソールのデモ画面と CloudShell で 1 つずつ実際に動かせる
執筆者とキャラクター紹介
執筆者:土肥(とひ)
株式会社ジェニュインの代表であり元エンジニア。これまでオンプレミスと AWS 環境のインフラ業務を担当。AWS 認定資格の学習で得た知識を、ハンズオンとともに解説するのが得意。直近では新人の教育も行っており、これから技術を学ぶ方が納得できる解説を心がけています。基礎編・Cloud Practitioner の記事では、解説役としても登場します。


クラウドおさる



はじめましてでござる。弊猿はクラウドおさる。IT インフラが異常に発達した猿山から、雲に乗って地上の AWS を学びに降りてきたのでござる。



基礎編や Cloud Practitioner の記事では、とひさんに素朴な疑問をぶつける役でござるな。Security - Specialty などの記事では、要所でワンポイントや注意点をひとこと添えるでござる。



猿山にもデータセンターや監視当番があって、地上で起きることはだいたい猿山にも同じ仕組みがあるのでござる。例え話がつい猿山に寄るのは、弊猿の癖でござる。
技術解説
学習済みの AI サービスと Bedrock・SageMaker AI の違い



とひさん、AWS の AI と聞くと Bedrock や SageMaker が浮かぶでござるが、Rekognition や Polly も AI サービスなのでござるか?
そうだよ。AWS の AI 関連サービスは、ざっくり 3 つの層で考えるとわかりやすいかな。1 つ目が今回の 6 つみたいに、AWS が学習済みのモデルを用意していて、API にデータを渡すだけで決まった種類の結果が返ってくるサービス。2 つ目が Amazon Bedrock で、主要な AI 企業の基盤モデルを使って生成 AI のアプリを作るためのフルマネージドサービス。3 つ目が Amazon SageMaker AI で、自分でデータを用意して機械学習モデルを構築・トレーニングし、デプロイするためのサービスなんだ。



学習済みのサービスと Bedrock は、どちらも「用意されたモデルを使う」点では同じに聞こえるでござる。何が違うのでござるか?
いいところに気づいたね! 違いは「何が返ってくるか」なんだ。たとえば Comprehend に文章を渡すと、感情が肯定的か否定的か、どんな固有表現が入っているか、という決まった形の結果が返ってくる。Bedrock の基盤モデルは、プロンプトに応じて文章や画像そのものを生成する。用途が決まっていて、その用途の専用サービスがあるなら、まずは学習済みのサービスを選ぶのが基本だよ。



なるほど! 学習済みのサービスは「バナナの熟れ具合を見る係」「バナナの数を数える係」のように役目が決まった当番猿で、Bedrock は何でも話せる長老、SageMaker AI は自分で一から弟子を育てる道場のようなものでござるな。
うまいこと言うね。まとめるとこんな感じだよ。
| 区分 | 代表的なサービス | 利用者がやること | 返ってくるもの |
|---|---|---|---|
| 学習済みの AI サービス | Rekognition、Polly、Translate、Comprehend、Textract、Transcribe | API(またはコンソール)にデータを渡す | 用途ごとに決まった形の結果(ラベル、音声、訳文、感情など) |
| 生成 AI | Amazon Bedrock | 基盤モデルを選び、プロンプトを送る | 生成されたテキストや画像 |
| 機械学習の構築基盤 | Amazon SageMaker AI | データを用意し、モデルを構築・トレーニングしてデプロイする | 自分で作ったモデルの推論結果 |





Bedrock の基盤モデルを実際に呼んでみる話は、別の記事にあったでござるな。
そうそう。Bedrock は「Amazon Bedrock で基盤モデルを呼び出しテキストを生成する」でプレイグラウンドから試しているよ。今回は、その手前にある「API に渡すだけ」の 6 つに集中しよう。
6 つのサービスの「入力 → 出力」



では、6 つのサービスはそれぞれ何を受け取って、何を返すのでござるか?
ここが一番大事なところだね。1 つの表にまとめるよ。
| サービス | 入力 | 出力 | 主なユースケース |
|---|---|---|---|
| Amazon Rekognition | 画像・動画 | ラベル(物体・シーン・概念)、画像内のテキスト、安全でないコンテンツの判定、顔の分析など | 写真の自動タグ付け、投稿画像のモデレーション |
| Amazon Textract | 文書の画像・PDF(JPEG、PNG、PDF、TIFF) | テキストの行と単語、フォームのキーと値、テーブル | 申込書や請求書のデータ化 |
| Amazon Comprehend | テキスト(UTF-8) | エンティティ、キーフレーズ、主要言語、感情など | 問い合わせやレビューの感情分析 |
| Amazon Translate | テキスト | 別の言語のテキスト | アプリやコンテンツの多言語化 |
| Amazon Polly | テキスト | 音声(MP3 など) | 読み上げ機能、音声ガイド |
| Amazon Transcribe | 音声・動画のメディア | テキスト(JSON 形式のトランスクリプト) | 会議や通話の文字起こし、字幕 |



表にすると一目瞭然でござる! 入力が「画像」なら Rekognition か Textract、「テキスト」なら Comprehend か Translate か Polly、「音声」なら Transcribe でござるな。
そのとおり! しかも出力を別のサービスの入力にすれば、つなげて使えるんだ。Translate のドキュメントでも、Comprehend でテキストを分析したり、Transcribe で字幕を作ったり、Polly で翻訳したコンテンツを読み上げたりする組み合わせが紹介されているよ。今回の実践でも、Polly で作った音声を Transcribe で文字に戻してみるからね。


取り違えやすい組み合わせ



表はわかったでござるが、名前が似ていなくても役目が近いものがあって、試験では迷いそうでござる……。
うん、取り違えやすい組み合わせは決まっているから、先に押さえておこう。まずは Polly と Transcribe。Polly はテキストを音声に変える(読み上げる)サービス、Transcribe は音声をテキストに変える(文字に起こす)サービスで、向きが正反対なんだ。



Polly は「しゃべる」、Transcribe は「聞いて書き取る」でござるな。猿山の朝礼で、長老の巻物を読み上げる係と、長老の話を巻物に書き取る係くらい違うでござる。
そうそう! 次は Textract と Rekognition のテキスト検出。どちらも画像の中の文字を読めるんだけど、Textract は文書のためのサービスなんだ。行と単語に加えて、「名前: 〇〇」のようなフォームのキーと値や、テーブルの構造まで取り出せる。一方 Rekognition のテキスト検出は、Textract のドキュメントでも「柱や道路標識などのライブシーンのテキスト」を検出するもの、と区別されているよ。画像 1 枚で検出できる単語も最大 100 語までなんだ。



書類の中身をデータにしたいなら Textract、風景写真の看板の文字を拾うなら Rekognition でござるな。
最後に Comprehend と Translate。どちらもテキストを入力にするけど、Comprehend は文章の中身を分析するだけで、文章自体は変えない。Translate は文章を別の言語に書き換える。ちなみに Translate でソース言語を自動検出にすると、Translate が裏で Comprehend を呼んで言語を判定するんだ。
| 取り違えやすい組み合わせ | 見分け方 |
|---|---|
| Polly / Transcribe | テキスト → 音声なら Polly、音声 → テキストなら Transcribe |
| Textract / Rekognition のテキスト検出 | 文書からテキスト・フォーム・テーブルを取り出すなら Textract、写真の中の看板などの文字なら Rekognition |
| Comprehend / Translate | 文章の感情や固有表現を分析するなら Comprehend、別の言語に訳すなら Translate |
| 学習済みの AI サービス / Bedrock / SageMaker AI | 用途が決まった処理なら学習済みサービス、文章や画像を生成するなら Bedrock、独自モデルを作るなら SageMaker AI |



試験では「通話を録音したデータから感情を分析したい」のように、2 つのサービスをつなぐ問われ方もしそうでござる。音声のままでは Comprehend に渡せないから、先に Transcribe でテキストにする、という順番を取り違えぬよう気をつけるでござる。
東京リージョンと日本語への対応



実際に触るとき、どのサービスも東京リージョンで日本語が使えるのでござるか?
そこは機能ごとに違うから注意が必要なんだ。ドキュメントで確認した結果をまとめるね。
| サービス | 東京リージョン(ap-northeast-1) | 日本語への対応 |
|---|---|---|
| Rekognition | 利用できる | テキスト検出の対応言語は英語、アラビア語、ロシア語、ドイツ語、フランス語、イタリア語、ポルトガル語、スペイン語で、日本語は含まれない |
| Textract | エンドポイントの一覧に東京は無い(アジアパシフィックはムンバイ、ソウル、シンガポール、シドニー) | 対応言語は英語、スペイン語、ドイツ語、イタリア語、フランス語、ポルトガル語で、日本語は含まれない |
| Comprehend | 利用できる | エンティティ、キーフレーズ、感情、主要言語の検出は日本語に対応。構文解析、PII の検出、ターゲット感情は日本語に非対応 |
| Translate | 利用できる | 日本語に対応 |
| Polly | 利用できる(ニューラル音声も東京で利用できる) | 日本語の音声は Mizuki、Takumi、Kazuha、Tomoko の 4 種類。ニューラル音声は Takumi、Kazuha、Tomoko |
| Transcribe | 利用できる | 日本語(ja-JP)はバッチとストリーミングの両方に対応 |



Textract は東京に無く、日本語も読めないのでござるな! 猿山の近くにバナナ屋が無いなら、隣の山まで買いに行くしかないでござる。
ははは、そういうこと。だから実践では Textract だけソウルリージョン(ap-northeast-2)で試すよ。Rekognition と Textract に渡す画像も、英語の文字で作ろう。
実践
6 つのサービスを 1 つずつ触ります。日本語の文章を Comprehend で分析し、Translate で英語に訳し、Polly で読み上げます。Polly で作った音声ファイルは CloudShell から S3 バケットに置き、Transcribe で日本語の文章に戻します。最後に、自分で作った英文のメモ画像を Rekognition と Textract に読ませて、結果の違いを比べます。
前提条件
- リージョン:
ap-northeast-1(東京)。Textract のみap-northeast-2(ソウル)を使います(Textract は東京リージョンで提供されていないため) - AWS マネジメントコンソールにログイン済みであること
- Rekognition、Polly、Translate、Comprehend、Textract、Transcribe、S3、CloudShell を操作できる権限があること
- 英文のメモ画像(PNG)を 1 枚用意していること。PC のメモ帳などに以下の 4 行を入力し、その部分のスクリーンショットを PNG で保存したもので構いません(自分で作った画像なので、権利の心配がありません)
ORDER FORM
Name: Cloud Osaru
Item: Banana
Quantity: 12本記事で使う文章は、以下の日本語の 1 文です。Comprehend・Translate・Polly で共通して使います。
東京リージョンで AWS のハンズオンを体験しました。手順がわかりやすく、とても楽しかったです。作成するリソース一覧
| リソース種別 | リソース名 | 用途 |
|---|---|---|
| S3 バケット | ai-services-handson-<アカウントID> | Polly で作った音声ファイル(speech.mp3)の置き場所。Transcribe の入力 |
| Transcribe 文字起こしジョブ | ai-services-handson-job | speech.mp3 を日本語で文字起こしする |
その他のサービスはデモ画面や API の呼び出しだけで、リソースは作成しません。
Comprehend で文章の感情とエンティティを読み取る
- AWS マネジメントコンソールにログインし、リージョンが
ap-northeast-1(東京)であることを確認します - 上部の検索バーに
Comprehendと入力し、表示された「Amazon Comprehend」を選択します - 初めて開く場合はトップ画面の「Launch Amazon Comprehend」をクリックします。左側ナビゲーションの「Real-time analysis」を選択します(Comprehend のコンソールは英語表記です)
- 「Analysis type」が「Built-in」になっていることを確認します
- 「Input text」の入力欄に、前提条件の日本語の文章を貼り付けます
- 「Analyze」をクリックします
- 「Insights」の「Entities」タブを選択し、
東京(Location)とAWS(Title)がエンティティとして検出され、種類(Type)と信頼度(Confidence)が表示されていることを確認します - 「Sentiment」タブを選択し、感情(Neutral・Positive・Negative・Mixed)ごとの信頼度スコアを確認します。この文章では Positive が 0.99 で、ほかは 0.00 と表示されます


「Syntax」タブは日本語に対応していないため、この文章では結果が得られません。日本語で使えるのはエンティティ、キーフレーズ、主要言語、感情です。
Translate で日本語を英語に訳す
- 上部の検索バーに
Translateと入力し、表示された「Amazon Translate」を選択します - 左側ナビゲーションの「リアルタイムでの翻訳」を選択します
- 「Text」タブが選択されていることを確認し、「ソース言語」で
日本語(ja)、「ターゲット言語」で英語(en)を選択します(初期値はソースが英語、ターゲットがスペイン語です) - 「テキストの入力」欄に前提条件の日本語の文章を貼り付けます
- 右側の「翻訳済みテキスト」欄に英訳(
I experienced AWS hands-on in the Tokyo region. The steps were easy to understand and I had a lot of fun.のような文)が表示されることを確認します


ソース言語は「自動」にもできますが、その場合は Translate が Amazon Comprehend を呼び出して言語を判定します。ここでは言語がわかっているので、日本語を明示しています。
Polly で文章を読み上げる
- 上部の検索バーに
Pollyと入力し、表示された「Amazon Polly」を選択します - 「テキスト読み上げ機能」の画面が開きます(左側ナビゲーションはありません)
- 「エンジン」で「ニューラル」を選択します(初期値は「生成」です)
- 「言語」で
日本語を選択すると、「音声」がKazuha, 女性になり、サンプルテキストも日本語に変わります。別の音声になっている場合はKazuha, 女性を選択します - 「SSML」はオフのまま、「入力テキスト」の欄にあるサンプルテキストを消して前提条件の日本語の文章を貼り付けます
- 右上の「音声を聴く」をクリックし、文章が読み上げられることを確認します


CloudShell で Polly の音声を S3 に置く
Transcribe のバッチ文字起こしは、S3 バケットにあるメディアファイルを入力にします。そこで、同じ文章を CloudShell から Polly の API で音声ファイルにし、S3 バケットにアップロードします。
- コンソール上部の CloudShell アイコンをクリックし、CloudShell を開きます(リージョンが
ap-northeast-1であることを確認します) - 以下のコマンドを実行し、アカウント ID 入りのバケット名で S3 バケットを作成します
ACCOUNT_ID=$(aws sts get-caller-identity --query Account --output text)
BUCKET=ai-services-handson-${ACCOUNT_ID}
aws s3 mb s3://${BUCKET} --region ap-northeast-1- Polly の
synthesize-speechで、ニューラル音声 Kazuha の MP3 ファイルを作成します
aws polly synthesize-speech \
--engine neural \
--voice-id Kazuha \
--output-format mp3 \
--text '東京リージョンで AWS のハンズオンを体験しました。手順がわかりやすく、とても楽しかったです。' \
speech.mp3"ContentType": "audio/mpeg"と"RequestCharacters"(合成した文字数)が表示されることを確認します- 作成した
speech.mp3を S3 バケットにアップロードし、S3 URI を表示します
aws s3 cp speech.mp3 s3://${BUCKET}/speech.mp3
echo s3://${BUCKET}/speech.mp3最後に表示された s3://ai-services-handson-<アカウントID>/speech.mp3 を、次の Transcribe で使います。
Transcribe で音声を日本語の文章に戻す
- 上部の検索バーに
Transcribeと入力し、表示された「Amazon Transcribe」を選択します - 左側ナビゲーションの「トランスクリプションジョブ」を選択し、「ジョブを作成」をクリックします
- 「ジョブの詳細を指定」ページで以下を設定します
- 名前:
ai-services-handson-job - 言語設定: 「特定の言語」を選び(初期値)、「言語」で
日本語、日本 (ja-JP)を選択 - 入力データの S3 URI:
s3://ai-services-handson-<アカウントID>/speech.mp3(「Browse S3」から選択しても構いません) - 出力データ: 「サービスマネージド S3 バケット」(デフォルト)
- その他の項目はデフォルトのままにし、画面下部の「次へ」をクリックします


- 「ジョブを設定」ページはデフォルトのまま「ジョブを作成」をクリックします
- 「トランスクリプションジョブ」の一覧で、
ai-services-handson-jobのステータスが「進行中」から「完了」になるまで待ちます(1〜2 分ほどかかります) - ジョブ名をクリックし、ジョブの詳細ページの「トランスクリプションのプレビュー」に日本語の文章が表示されることを確認します。Polly の読み上げ文とほぼ同じ文章が表示されますが、
AWSが「エーダブリューエス」と書き起こされるなど、表記が少し変わることがあります


出力にサービスマネージドバケットを選ぶと、コンソールでトランスクリプトのプレビューを表示できます。独自の S3 バケットを出力先にした場合はプレビューが表示されない場合があり、バケットから JSON ファイルを開いて確認します。



Polly で「しゃべらせた」声を Transcribe で「書き取って」、元の文章に戻ったでござる! 向きが反対の 2 つを往復させると、もう取り違えようがないでござるな。
Rekognition でメモ画像の文字を検出する
- 上部の検索バーに
Rekognitionと入力し、表示された「Amazon Rekognition」を選択します(リージョンはap-northeast-1のまま) - 左側ナビゲーションの「デモ」配下にある「イメージ内のテキスト」を選択します
- 画面下部の「自前の画像を使用」にある「アップロード またはドラッグアンドドロップ」から、前提条件で用意した英文のメモ画像を選択します
- 画像上で検出された文字が枠で囲まれ、右側の「結果」に
ORDER、FORM、Name:、Cloud、Osaruなど、単語ごとに文字が並ぶことを確認します


Rekognition のテキスト検出が返すのは、画像内の行と単語、その位置です。Name と Cloud Osaru が「項目名と値」の関係にあることまでは返しません。
Textract でメモ画像からキーと値を取り出す
- 画面右上のリージョンセレクターで「アジアパシフィック (ソウル)
ap-northeast-2」に切り替えます - 上部の検索バーに
Textractと入力し、表示された「Amazon Textract」を選択します - 左側ナビゲーションの「デモ」配下にある「文書を分析する」を選択します
- 「ドキュメントのアップロード」の「ドキュメントを選択」から、Rekognition で使ったのと同じメモ画像をアップロードします
- 右側に「ドキュメントを設定」の「データ出力」が開くので、「フォーム」にチェックを入れて「設定を適用」をクリックします
- 結果のタブ(「生のテキスト」「フォーム」)で「フォーム」を選択し、
Name:→Cloud Osaru、Item:→Banana、Quantity:→12のように、キーと値のペアが表示されることを確認します


同じ画像でも、Textract は文書として読み、項目名と値の対応まで取り出せることが確認できます。



どのサービスも、合成した文字数、文字起こしした音声の秒数、分析したドキュメントといった使った量に応じて課金されるのでござる。デモで触るぶんには少量でござるが、試し終わったら S3 バケットと文字起こしジョブを残さず片付け、リージョンも東京に戻しておくでござるぞ。
まとめ
- AWS の AI 関連サービスは、API にデータを渡すだけの学習済みの AI サービス、基盤モデルで文章や画像を生成する Amazon Bedrock、自分でモデルを構築・トレーニングする Amazon SageMaker AI の 3 つの層で整理できる
- 学習済みの AI サービスは「入力 → 出力」で見分ける。画像・動画 → Rekognition、文書 → Textract、テキストの分析 → Comprehend、翻訳 → Translate、テキスト → 音声は Polly、音声 → テキストは Transcribe
- Polly と Transcribe は向きが正反対。Textract は文書からテキスト・フォームのキーと値・テーブルを取り出し、Rekognition のテキスト検出は写真の中の看板などの文字を拾う
- Comprehend は文章を分析するだけで書き換えず、Translate は別の言語に訳す。Translate のソース言語の自動検出は Comprehend を使う
- 日本語への対応は機能ごとに違う。Comprehend の構文解析・PII 検出・ターゲット感情、Rekognition のテキスト検出、Textract は日本語に非対応。Textract は東京リージョンでは提供されていない
- 出力を次のサービスの入力にすれば、Polly → Transcribe、Transcribe → Comprehend のように組み合わせて使える
関連記事:
参照先
- Amazon Rekognition とは
- テキストの検出 – Amazon Rekognition
- ステップ 4: Amazon Rekognition コンソールの使用開始
- Amazon Textract とは
- テキストの検出 – Amazon Textract
- ドキュメントの分析 – Amazon Textract
- ドキュメントの同期処理 – Amazon Textract
- ベストプラクティス – Amazon Textract
- Amazon Textract の開始方法
- Amazon Textract エンドポイントとクォータ
- Amazon Comprehend とは
- Amazon Comprehend でサポートされている言語
- 主要言語 – Amazon Comprehend
- 感情 – Amazon Comprehend
- 組み込みモデルを使用したリアルタイム分析
- Amazon Translate とは
- Amazon Translate の仕組み
- サポートされている言語と言語コード
- 使用開始 コンソール – Amazon Translate
- Amazon Polly とは
- 利用可能な音声 – Amazon Polly
- ニューラル音声 – Amazon Polly
- Amazon Polly を使用した音声合成の例
- Amazon Transcribe とは
- サポートされている言語および言語固有の機能 – Amazon Transcribe
- データの入力および出力 – Amazon Transcribe
- AWS マネジメントコンソールを使用した文字起こし – Amazon Transcribe
- Amazon Bedrock の概要
- Amazon SageMaker AI とは
- AWS CloudShell とは













