LoginSignup
3
1

More than 5 years have passed since last update.

マッスルしちゃったときの Custom Translator ~ Microsoft Translator のカスタム翻訳モデル作成

Posted at

日本って難読地名が結構ありますね。(特に北海道&沖縄)
今回は、#堺マッスル してしまったときに対応できる、Microsoft Translator API のカスタム翻訳モデルが作成できる Custom Translator の使い方を紹介します。

Microsoft Translator とは

マイクロソフトが提供する翻訳ツールと API で、アプリからテキスト、音声、画像 (OCR) による翻訳が可能なほか、テキストや音声を翻訳する Web API が提供されています。
今回利用するのは、Translator Text API の Custom Translator 機能です。Translator Text API は "人工知能 API" である Cognitive Services の仲間で、Custom Translator 機能を使って特定ドメインで使われる翻訳例を用いてトレーニングを行ったり、用語やフレーズなどを辞書として登録することで翻訳精度を向上することができます。
今回はより簡単に利用できる用語辞書を追加してカスタマイズしてみます。

準備

Azure サブスクリプション & マイクロソフトアカウント

用語辞書ファイル

今回は、日本語→英語 の翻訳を試すので、日本語と英語がペアになった用語ファイル(テキストファイル)を作成します。横浜市の難読地名をピックアップしてみました。(参考: はまれぽ.com「コレなんて読む?市内の難読地名をご紹介!」)

  • 各言語で1ファイル作成し、同じ行に対になる翻訳語 を入力します
  • それぞれのテキストファイルは UTF-8 で保存しておきます

20190326_01.PNG

手順

1. Azure Portal から Translator Text API サブスクリプションの作成

Cognitive Services Translator Text API のサブスクリプション作成 の手順で、Translator Text API サブスクリプションを作成します。今回は F0(無償版) でなく S0(従量課金) を選択する必要があります。
作成したサブスクリプションの Key1 をローカルに保存しておくのを忘れずに。
20190326_02.PNG

2. Custom Translator Portal からカスタム翻訳モデルの作成

2.1. Custom Translator を使う準備

ブラウザーから Custom Translator Portal にアクセスし、ページ右上の Sign In をクリックし、Microsoft アカウントでサインインします。
20190326_03.PNG

初期画面が表示されます。ページの左側メニューから Settings をクリックして API Key のセットを行います。
20190326_04.PNG

Subscription Key の欄にある [+ Add Key] をクリックします。ローカルに保存しておいた Translator API Key をペーストして [Add] をクリックして追加します。
20190326_05.PNG
20190326_05-02.PNG

2.2. Project の作成

ページの左側メニューから Project をクリックして初期画面に戻ります。Custom Translator モデルの置き場となる Project を作成します。[Create Project] をクリックします。
20190326_04.PNG

Project の概要を入力します。

  • Project Name : お好きな(&見分けやすい) 名前を入力
  • Description : 見分けやすい説明を入力
  • Language Pair : 今回は Japanese->English を選択
  • Category : 今回は地名の翻訳なので Geography を選択

入力したら、[Create] をクリックして Project を作成します。
20190326_06.PNG

Project が作成されると Project のページが表示されます。
この時に表示される Category ID をコピーしてローカルに保存しておきます。
20190326_07.PNG

2.3. 用語辞書の登録

用語辞書の登録を行います。ページの左側メニューから Document を選択します。
Document のページで [Upload Files] をクリックします。
20190326_09.PNG

Upload Files のダイアログボックスで以下を入力&設定します。

  • Document Type : 今回は Phrase Dictionary を選択
  • Language Pair : 今回は Japanese->English を選択
  • Parallel Data
    • Source(ja) Files に日本語、Source(ja) Files に英語の用語辞書ファイルを、それぞれ [Browse Files] をクリックしてアップロードします
  • Document Name : お好きな(&見分けやすい) 用語辞書の名前を入力します

[Upload] をクリックして、用語辞書の登録を行います。
20190326_08.PNG

登録した用語辞書が表示されたら完了です。
20190326_10.PNG

2.3. カスタム翻訳モデルの学習、デプロイ

登録した用語辞書を使った翻訳モデルの学習を行います。ページの左側メニューから Project をクリックします。表示される登録済みの用語辞書を選択 (✓(チェック) をつける)して、[Create Model] をクリックします。
20190326_11.PNG

お好きな(&見分けやすい) 翻訳モデルの名前を入力し [Train Model] をクリックして、モデルの作成を行います。
20190326_12.PNG

Project ページで Model タブをクリックすると、作成した翻訳モデルが表示されます。Status が Training Succeeded と表示されていたら翻訳モデルの作成は完了です。

このプロセスは(登録単語数が少なくても)時間がかかりますので気長に待ちます

20190326_13.PNG

作成した翻訳モデルをデプロイ(Web API で利用できるように公開)します。作成した翻訳モデルの欄にある [Deploy] をクリックします。

UndeployedDeployed に変更して、[Save] をクリックして公開します。
20190326_14.PNG

翻訳モデルの Status が Deployed と表示されていたら翻訳モデルのデプロイは完了です。

このプロセスも時間がかかりますので気長に待ちます

20190326_15.PNG

3. 作成したカスタム翻訳モデルの確認

Postman などの Web API ツールを使って、作成したカスタム翻訳モデルの動作を確認します。
docs.microsoft.com > Translator Text API : Translate

基本的な使い方は Translator Text API (v3) と同じです。Custom Translator で作成した翻訳モデルを利用したい場合、category というパラメーターで設定を行えば OK です。

  • Method: Post
  • Base URL: https://api.cognitive.microsofttranslator.com/translate
  • Parameter:
    • api-version=3.0
    • from=ja
      • 翻訳元の言語を指定します(今回は日本語)
    • to=en
      • 翻訳する言語を設定します(今回は英語)
    • category=Custom Translator Portalから取得した ID
  • Header:
    • Ocp-Apim-Subscription-Key= Azure Portalから取得した Key1
    • Content-Type=application/json
  • Body:
    • [{"Text":"翻訳したい言葉"}] というフォーマット(Json)に構成します

まずは Custom Translator なし(category パラメーターなし) で送信してみます。
掃部山(かもんやま) が正しく翻訳されていません。
20190326_16.PNG

次に作成した Custom Translator を使って(category パラメーターあり) で送信してみます。
掃部山(かもんやま) が正しく翻訳されるようになりました。
20190326_17.PNG

3
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
3
1