はじめに
「受注」を “Sales order” と訳したいのに、自動翻訳するといつも “Order” になってしまう。
そんなことありませんか?
Microsoft の Azure AI Translator に組み込まれている Custom Translator というツールを使うと、解決できます。
先日 Custom Translator をセットアップしたので、以下をメモとして残します。
- Custom Translator の概要
- セットアップ方法
- はまったところ
- 簡単に動作確認する方法
Custom Translator の概要
Azure AI Translator とは、ディープラーニング機能を用いた自動翻訳システムです。
その中のツールとして提供されているのが、Custom Translator です。
Custom Translator をセットアップすることで、自分で用意したデータを学習させることができます。
(つまり、原文の長さや形にかかわらず、「受注」を"sales order"と訳してくれる自動翻訳システムを作れます。)
セットアップ方法
詳しいセットアップ方法については、以下に記載があります。
セットアップのおおまかな流れは以下のとおりです。
1.アカウントを取得する
・Microsoft アカウント
・Azure サブスクリプション用アカウント
2.Azure portal で、Translator リソースを作成する
3.Custom Translator portal でワークスペースを作成する
※ここで、2で作成したリソースのキーを設定する
4.ワークスペース内にプロジェクトを作成する
5.読み込ませるデータを登録する
(日本語の文章と英語の文章が対になっているデータ)
6.データをもとに翻訳モデルをトレーニングする
7.翻訳モデルをデプロイする
8.翻訳に使用する
はまったところ
以下は、上記手順でセットアップしている際にはまったところです。
思ったより時間がかかる
上記手順の6(データをもとにモデルをトレーニングする)と7(モデルをデプロイする)に予想以上の時間がかかりました。
おおむね、手順6で12時間、7で12時間でした。
最大で、各手順48時間かかることもあるそうなので、あらかじめ作業スケジュールに組み込んでおくことをおすすめします。
作成済みの翻訳モデルにデータを登録できない
上記手順を最初から最後まで実施し、用意したデータを用いて翻訳ができるようになりました。
そのあと翻訳モデルに新規用語を追加しようと思い、手順5(読み込ませるデータを登録する)を再度実施しようとしたところ、作成後の翻訳モデルにはデータを追加できないことが分かりました。
Q&Aなどを調べたところ、そのような仕様のようです。
そのため、あらかじめ精度の高いデータを準備した上でモデルを作成し、必要に応じて半年や1年などのスパンでモデルを再作成していく、という運用になりそうです。
同じ言語ペアで別のプロジェクトを作成できない?
一度、「日本語→英語」用の翻訳モデルを作成したあとに、再度別のデータを用いて「日本語→英語」用の翻訳モデルを作成しようとしたところ、手順4(ワークスペース内にプロジェクトを作成)でエラーが出ました。
この場合、以下のプロジェクトラベルに任意の値を設定することで、「日本語→英語」用の別のプロジェクトを作成できました。
設定ミス…?
手順5(読み込ませるデータを登録する)の際に、データの登録も削除もできないことがありました。「どこか設定ミスったかな」と思ったのですが、Microsoft Q&A の英語版に現象を書き込んだところ早々に反応があり、Microsoft側の問題ということが分かりました。その後、3日ほどで問題は解消されました。
簡単に動作確認する方法
作成した翻訳モデルの動作を確認したい場合、無料の Document Translation というアプリを使うと便利です。
Document Translation は以下から取得できます。
Document Translation の設定方法
1.キー情報の設定
Azure portal > 作成したリソース > [エンドポイント]を選択すると、以下の画面が表示されます。
この画面の情報を、Document Translation > [Settings] > [Authentication]タブの以下の項目に設定します。
- Resource Key: [キー1]の値
- Azure Region: [場所/地域]の値
- Text Translation Endpoint: [テキスト翻訳]の値
- Document Translation Endpoint: [ドキュメントの翻訳]の値
- Storage Connection String: テキストではなくファイルの翻訳をしたい場合は、ここにAzure storage accountのStorage Connection Stringを設定します。なければデフォルト値のままでOK。
2.カテゴリーの設定
Custom Translator portal > [Model details] から、使いたい翻訳モデルを選択します。以下の画面が表示されます。
ここに記載されている [Category ID] を、Document Translation > [Settings] > [Categories]タブに登録します。
- Name: 任意の名称
- Custom Translator Category ID: [Category ID]の値
最後に
登録したデータについて気になる方は、以下の記事をどうぞ!