Cloud Service
Azure AI Translator
多言語のテキスト翻訳を REST/SDK で手軽に組み込めるマネージド翻訳サービス。自前の翻訳モデルを持たずにアプリやドキュメントの多言語化を実現できる。AWS の Amazon Translate に相当。
- 1.数多くの言語間のテキスト翻訳をニューラル機械翻訳の API として提供するマネージドサービス。
- 2.ドキュメント翻訳やカスタム翻訳(Custom Translator)で書式保持や用語の最適化にも対応する。
- 3.AWS では Amazon Translate に相当する位置づけのサービスである。
解決する課題
アプリやサービスを多言語に対応させたいとき、翻訳エンジンを自前で構築・運用しようとすると、言語ごとの学習データやモデル運用に大きな手間がかかります。Azure AI Translator は、ニューラル機械翻訳のエンジンを API として提供し、テキストやドキュメントの翻訳をアプリケーションへ手軽に組み込めるようにします。
- ユーザー入力やUI文言を リアルタイムに多言語へ翻訳したい
- Word・PDF・PowerPoint などの ドキュメントを書式を保ったまま翻訳したい
- 自社の 専門用語やブランド表現に合わせた翻訳に最適化したい
- 入力された文章が 何語かを自動判定してから翻訳したい
- 翻訳エンジンの構築・運用を抱え込まずに マネージドな翻訳を使いたい
主要概念と用語
- Translator(翻訳サービス): Azure AI services が提供する翻訳機能。1つのリソース・エンドポイントから REST/SDK で呼び出す
- テキスト翻訳(Text Translation): 短い文や段落を即時に翻訳する同期 API。複数の対象言語へ同時に翻訳することもできる
- ドキュメント翻訳(Document Translation): Word・PDF・PowerPoint などのファイルを、書式やレイアウトを保ったまま翻訳する非同期機能
- Custom Translator(カスタム翻訳): 自社の対訳データで学習し、専門用語や言い回しに合わせた独自モデルを作る機能
- 言語検出(Detect): 入力テキストがどの言語かを推定する機能。翻訳前の前処理として使う
- 音訳(Transliteration): ある言語の文字を別の文字体系へ変換する機能(例: 日本語のかなをローマ字へ)
- 辞書参照(Dictionary Lookup): 単語の訳語候補や例文を返す機能
- プロファニティフィルター(Profanity Filtering): 不適切な語の扱い(除去・マスクなど)を制御するオプション
- カテゴリ(Category): Custom Translator で学習したモデルを識別し、翻訳時に指定するID
仕様・制限・クォータ
- テキスト翻訳は同期 APIで、ドキュメント翻訳は 非同期ジョブとして実行し完了をポーリングして結果を取得する
- REST API と各言語の SDK から利用でき、テキスト翻訳では1リクエストで複数言語への同時翻訳ができる
- 多数の言語に対応するが、機能(翻訳・音訳・辞書など)ごとに対応言語が異なるため、対象言語のサポート状況を事前に確認する
- 1リクエストあたりの配列要素数や文字数に上限があり、長文や大量データは分割やドキュメント翻訳の利用が必要になる
- ドキュメント翻訳は Azure Blob Storage 上のファイルを入出力の対象とし、ソースとターゲットのコンテナを指定して実行する
- データレジデンシー(処理リージョン)やグローバルエンドポイントなど、運用上の選択肢がある
- 具体的な上限値・対応言語・課金単位はリージョンや機能で異なり更新されるため、最新の公式ドキュメントで確認する
内部の仕組み
Azure AI Translator は、Microsoft が学習・運用する ニューラル機械翻訳モデルを API の背後に持ち、利用者はモデルそのものを意識せずに翻訳結果だけを受け取ります。入力テキストをエンドポイントへ送ると、ソース言語の検出(指定がない場合)と翻訳が行われ、ターゲット言語のテキストが返ります。
- テキスト翻訳は同期的に処理され、ソース言語を省略すると言語検出が自動で働く
- ドキュメント翻訳は、Blob Storage のソースから読み取り、翻訳済みファイルをターゲットへ書き出す非同期ジョブとして動く。書式やレイアウトは可能な範囲で保持される
- Custom Translator では、利用者が対訳データをアップロードして学習を実行し、生成したモデルにカテゴリIDを割り当てて翻訳時に指定する
- 翻訳エンジンやモデルの更新はサービス側で管理され、利用者はインフラを意識せずに使える
一般的な文書や会話の翻訳は、標準のニューラル機械翻訳でそのまま十分な品質が得られることが多いです。Custom Translator は対訳データの整備と学習の手間がかかるため、まず標準翻訳で要件を満たせるかを確認し、専門用語やブランド表現の精度が必要な部分だけカスタムに切り出すのが効率的です。
設計パターン / ベストプラクティス
- 標準翻訳で足りるならカスタムを作らない。対訳データの整備・学習・再学習の運用コストを避けられる
- 長文や大量データはドキュメント翻訳や分割を使い、テキスト翻訳の文字数・配列上限に収める
- ドキュメント翻訳は ジョブ投入とポーリングを前提に設計し、タイムアウトやリトライを組み込む
- ソース言語が不定な入力は 言語検出を前段に挟むか、翻訳側の自動検出に任せる
- 専門用語の訳ぶれが問題になる場合は Custom Translator や用語集で訳語を固定する
- 音声やドキュメントなど 他の AI サービスとパイプラインで連携し、文字起こし結果やテキスト化したドキュメントを翻訳へ渡す
運用・監視
- Azure Monitor のメトリクスで呼び出し回数・遅延・エラー率・スロットリングを監視する
- 診断設定でログを Log Analytics へ送り、利用状況やエラー傾向を長期に分析する
- スロットリング(レート上限) に備え、リトライとバックオフをクライアント側で実装する
- ドキュメント翻訳では ジョブのステータス遷移を監視し、失敗ジョブの再投入を運用に組み込む
- Custom Translator は 再学習のサイクルを運用に組み込み、対訳データの追加で品質を継続的に高める
コスト
課金は基本的に 翻訳した文字数に対する従量制で、機能や層によって単価が異なります。無料枠が用意されており検証段階ではコストを抑えやすい一方、ドキュメント翻訳や Custom Translator は課金観点が分かれる点に注意します。
| 観点 | テキスト翻訳 | ドキュメント翻訳 / カスタム |
|---|---|---|
| 課金の中心 | 翻訳した文字数の従量 | 翻訳した文字数に加え学習などで観点が分かれる |
| 初期コスト | ほぼ呼び出すだけで開始できる | 対訳データ整備や Blob 連携の準備が要る |
| 向いている用途 | 短文やUIのリアルタイム翻訳 | ファイル一括翻訳や専門用語の最適化 |
同じテキストを複数の対象言語へ翻訳すると、言語ごとに文字数が課金されます。不要な言語を含めない、繰り返し翻訳する文言はキャッシュする、といった工夫で無駄を抑えられます。具体的な単価・無料枠は変動するため、最新の料金ページで確認してください。
セキュリティ
- Microsoft Entra ID 認証 + RBAC を基本とし、キー認証への過度な依存を避ける
- リソースのキーは Key Vault で管理し、コードへのハードコードを避ける
- プライベートエンドポイント / 仮想ネットワークで通信を閉域化できる
- ドキュメント翻訳で扱う Blob Storage の入出力コンテナのアクセス権を最小化する
- 保存データはサービス側で暗号化され、要件に応じて カスタマーマネージドキーにも対応する
- データレジデンシー(処理リージョン)の要件を満たすリージョンを選ぶ
関連サービス・比較
Azure AI Translator はテキストやドキュメントの翻訳に特化したサービスで、感情分析やエンティティ抽出などの NLP は Azure AI Language が、音声の文字起こしや音声翻訳は Azure AI Speech が担います。役割の境界と、AWS の相当サービスを対応づけると理解しやすくなります。
| 観点 | Azure AI Translator | AWS の相当サービス |
|---|---|---|
| テキスト/ドキュメント翻訳 | Azure AI Translator | Amazon Translate |
| 感情分析・NER などの NLP | Azure AI Language | Amazon Comprehend |
| 音声の文字起こし・音声翻訳 | Azure AI Speech | Amazon Transcribe |
| 権限付与 | Entra ID + RBAC | IAM |
言語を変換するなら Translator、テキストの分類・抽出・要約は Language、音声の認識・合成は Speech、と入力とタスクの種類で選びます。会話の音声をその場で別言語へ変換したい場合は、Speech の音声翻訳が翻訳まで一体で扱える点も押さえておくと選定しやすくなります。
ハンズオン / CLI例
# リソースグループを作成
az group create --name demo-rg --location japaneast
# Translator リソース(Azure AI services の Translator)を作成
az cognitiveservices account create \
--resource-group demo-rg \
--name demo-translator-0628 \
--kind TextTranslation \
--sku S1 \
--location japaneast \
--yes
# エンドポイントとキーを確認(アプリから呼び出す際に使う)
az cognitiveservices account show \
--resource-group demo-rg \
--name demo-translator-0628 \
--query "properties.endpoint" -o tsv
az cognitiveservices account keys list \
--resource-group demo-rg \
--name demo-translator-0628 \
--query "key1" -o tsv
# 取得したキーを使い、REST API でテキスト翻訳を呼び出す例
# (KEY と REGION は上のコマンドの出力やリソースのリージョンに置き換える)
curl -X POST "https://api.cognitive.microsofttranslator.com/translate?api-version=3.0&from=ja&to=en" \
-H "Ocp-Apim-Subscription-Key: <KEY>" \
-H "Ocp-Apim-Subscription-Region: <REGION>" \
-H "Content-Type: application/json" \
-d '[{ "Text": "対応が早くてとても満足しています。" }]'
Azure Service
Azure AI Translatorを実務で読む
TL;DRは入口です。実際に選ぶ・使う段階では、何を解決するか、何と比較するか、導入後にどこで詰まるかまで見る必要があります。
解決すること
AI / 機械学習
比較で見る軸
クラウド: Azure / カテゴリ: AI / 機械学習 / 難易度: basic
導入後に効く点
ドキュメント翻訳やカスタム翻訳(Custom Translator)で書式保持や用語の最適化にも対応する。
先に潰すリスク
サービス単体ではなく、権限、ネットワーク、監視、課金、バックアップを含めて設計する必要がある。
- クラウド
- Azure
- カテゴリ
- AI / 機械学習
- 難易度
- basic
- 関連資格
- —
- 設計柱
- operational / cost
判断チェックリスト
- 自社の用途が「AI / 機械学習 / operational」に近いか確認する。
- 強みである「数多くの言語間のテキスト翻訳をニューラル機械翻訳の API として提供するマネージドサービス。」が本当に評価軸になるか確認する。
- 注意点の「サービス単体ではなく、権限、ネットワーク、監視、課金、バックアップを含めて設計する必要がある。」を運用で吸収できるか確認する。
- 公開値や仕様値は、対象プラン・対象機種・対象リージョンまで確認する。
- 既存システム、ID、ネットワーク、監視、バックアップとの接続方法を先に洗い出す。
- 小さく試してから、本番移行、権限設計、障害時手順、コスト監視を決める。