1. システムとオフィスの融合
  2. media
  3. Azure
  4. Azure Translatorサービスを使ってみた

QESブログ

Azure Translatorサービスを使ってみた

  • LINEで送る
  • このエントリーをはてなブックマークに追加

本ブログでは、Azure AIサービスの1つであるTranslatorサービスの、
リソース作成から動作確認までの流れを試してみようと思います。

1.Translatorサービスとは

Translatorサービスは、Azure AIサービスの中の1つです。
このサービスは、以下の機能をサポートしています。

機能 説明
テキスト翻訳 サポートされているソースとターゲットの言語間で
テキスト変換をリアルタイムで実行
ドキュメント翻訳 元のドキュメントの構造と形式を維持したまま、
バッチファイルと複雑なファイルを変換
カスタム翻訳 ドキュメントおよび業界固有の言語、用語、スタイルを翻訳
するために、カスタマイズされたモデルを作成



今回はその中の1つ、テキスト翻訳の機能を見ていきます。

2.リソースの作成

早速リソースを作成していきます。
MarketPlaceで「Translator」と検索し、「Translator Text」を選択します。


「リソースグループ」、「リージョン」、「リソース名」、「価格レベル」を選択します。
今回は価格レベル無料を選択しました。


その他の設定はデフォルトのまま次へ進み、リソースを作成します。

3.動作確認

デプロイが完了したら、「リソースに移動」を押下します。


「リソースに移動」ボタンを押下するとこのような画面になります。



実際に日本語でテキストを入力してみると、指定の言語に翻訳されました!


4.C#でアプリ構築

次にC#でアプリを構築してみます。
リソースの情報が必要なので、Azureのキーとエンドポイントから、
「キー」、「リソースの場所」、「テキスト翻訳のエンドポイント」をあらかじめコピーしておきます。


キーとエンドポイント、リソースのリージョンを自分のリソースの物に書き換え、
翻訳したい文章と翻訳したい言語を設定し、以下ソースを実行します。

using System.Text;
using Newtonsoft.Json;

class Program
{
    //リソースのキーを設定
    private static readonly string key = "先ほどコピーしたキー";
    //エンドポイントを設定
    private static readonly string endpoint = "https://api.cognitive.microsofttranslator.com/";
    //リソースの場所を設定
    private static readonly string location = "japaneast";

    static async Task Main(string[] args)
    {
        //インプットする言語、アウトプットする言語を指定
        string route = "/translate?api-version=3.0&from=en&to=ja";
        //翻訳するテキスト
        string textToTranslate = "Every adventure requires a first step.";
        object[] body = new object[] { new { Text = textToTranslate } };
        var requestBody = JsonConvert.SerializeObject(body);

        using (var client = new HttpClient())
        using (var request = new HttpRequestMessage())
        {
            request.Method = HttpMethod.Post;
            request.RequestUri = new Uri(endpoint + route);
            request.Content = new StringContent(requestBody, Encoding.UTF8, "application/json");
            request.Headers.Add("Ocp-Apim-Subscription-Key", key);
            request.Headers.Add("Ocp-Apim-Subscription-Region", location);

            HttpResponseMessage response = await client.SendAsync(request).ConfigureAwait(false);

            string result = await response.Content.ReadAsStringAsync();
            Console.WriteLine(result);
        }
    }
}


実行するとコンソールで以下のように翻訳されました!


ソースを以下部分のように変えれば、複数言語に翻訳可能です。
(以下は英語から日本語・フランス語に翻訳する設定)

string route = "/translate?api-version=3.0&from=en&to=ja&to=fr";

結果を見ると、先ほどの日本語の翻訳に加え、フランス語も追加で出力されています。


5.まとめ

今回は、Azure Translatorのリソース作成から、
実際にC#でAzure Translatorを使用して簡単なアプリ構築をしてみました!
Azure AIサービスには今回ご紹介したサービス以外にもありますので、ぜひ触れてみてください!

弊社では、Microsoft製品やAWS製品に関するソリューションに取り組んでおります。
他プロダクトに関するブログも投稿しておりますので、下記のリンクから是非ご覧ください。



また、弊社では採用活動を強化しております。
ブログを読んで弊社の業務内容に興味を持っていただけましたら、採用情報にもお目通しいただければ幸いです。


※このブログで参照されている、Microsoft、Windowsその他のマイクロソフト製品およびサービスは、米国およびその他の国におけるマイクロソフトの商標または登録商標です。

  • LINEで送る
  • このエントリーをはてなブックマークに追加

お気軽にお問い合わせください。

ページのトップへ