IBM Watson Language Translatorの概要と学習方法

Pocket

はじめに

IBM CloudのIBM Watson Language Translator(以下、WLT)を使用すると、テキストを他言語に翻訳できます。今回は、WLTの概要と学習方法についてご紹介します。

・検証日:2022年7月15日

・WLTバージョン:2018-05-01

IBM Watson Language Translatorの機能とプラン

WLTには「Lite」「Standard」「Advanced」「Premium」といった4つのプランがあり、プランによって利用できる機能が異なります。Premiumは問い合わせが必要なプランなので、それ以外の3つのプランについて表にまとめました。料金について詳しくはこちらをご覧ください。

参考:(カタログ)Language Translator

  Lite Standard Advanced
詳細
  • 1 カ月あたり 1,000,000 文字まで翻訳可能。
  • 68 言語まで言語識別可能。
  • 1 カ月あたりに 1,000,000 文字で無料で開始し、デフォルトの翻訳モデルが含まれています。 有料プランにアップグレードすると、カスタム・モデルを作成できます。
  • 基本の翻訳モデルが含まれます。カスタム・モデルはStandardプランに含まれません。
  • 1,000文字単位で課金されます。最初の25万文字は無料です。
  • 標準翻訳
  • カスタム翻訳
  • ドメイン固有のカスタム・モデルの作成(日割り請求)
  • 基本モデルは標準料金で課金され、カスタム・モデルの使用には追加料金がかかります。

WLTでは基本モデルとして標準で68言語の翻訳が可能になっています。その一部が下記の表です。その他の言語についてはこちらをご覧ください。

翻訳可能な言語

英語 日本語 中国語 韓国語 ドイツ語 フランス語 イタリア語 オランダ語 チェコ語 フィンランド語   デンマーク語 ギリシャ語 インドネシア語 ポーランド語 ポルトガル語 ルーマニア語 ロシア語

今回は、カスタムモデルについても紹介するため、Advancedプランを使用します。

基本モデルによる翻訳

まずは、基本モデルを使用して翻訳結果を確認します。今回はcurlコマンドを使用して下記の英語の文章を日本語に翻訳します。

Once upon a time, an old couple lived in a small village.

日本語:昔々あるところに、小さな村におじいさんとおばあさんが住んでいました。

One day, when the old woman was washing clothes in the river, a huge peach came from the river.

日本語:ある日、おばあさんが川で洗濯をしていると、川から大きな桃が流れてきました。

下記が、基本モデルでの翻訳結果になります。

{
"translations" : [ {
"translation" : "昔々、小さな村に老いた夫婦が住んでいた。"
}, {
"translation" : "ある日、老婆が川の中で衣服を洗っていたとき、大きな桃が川からやって来た。"
} ],
"word_count" : 36,
"character_count" : 152
}

各プロパティの説明はこちらです。

  • translation:翻訳結果
  • word_count:翻訳元の単語数
  • character_count:翻訳元の文字数

モデルのカスタマイズ-パラレルコーパス

次に、自然な文章に近づけるためにパラレルコーパスを使用します。パラレルコーパスは基本モデルの学習用に追加翻訳を提供し、同じ意味の文章でも言葉の表現の仕方を変えることができます。学習では様々なフォーマットのファイルが使用可能ですが、今回はCSVファイル用いて以下の内容で学習させます。パラレルコーパスを学習させるには下記のように2つの言語間で最低5000ペアが必要になります。

en ja
Once upon a time, an old couple lived in a small village.” 昔々、小さな村に老いた夫婦が住んでいました。
“One day, when the old woman was washing clothes in the river, a huge peach came from the river.” ある日、老婦人が川で洗濯をしていると、大きな桃が川から流れてきました。

パラレルコーパス学習後、再度同じ英文を学習させた結果が下記になります。

{
"translations" : [ {
"translation" : "昔々、小さな村に老いた夫婦が住んでいました。"
}, {
"translation" : "ある日、老婦人が川で洗濯をしていると、大きな桃が川から出てきました。"
} ],
"word_count" : 36,
"character_count" : 152
}

基本モデルの結果と比べると、パラレルコーパスの学習内容が反映され、少し自然な文章になりました。

学習前

昔々、小さな村に老いた夫婦が住んでいた。

ある日、老婆が川の中で衣服を洗っていたとき、大きな桃が川からやって来た。

学習後

昔々、小さな村に老いた夫婦が住んでいました。

ある日、老婦人が川で洗濯をしていると、大きな桃が川から出てきました。

モデルのカスタマイズ-強制グロッサリー

最後に、より自然な文章に近づけるために、先ほどのパラレルコーパスを使ってカスタマイズしたモデルに強制グロッサリーを使用します。強制グロッサリーは特定の用語および語句の必須翻訳を設定できます。今回もCSVファイルを用いて下記の内容で学習させます。

en ja
“Once upon a time” 昔々あるところに
“old couple” おじいさんとおばあさん
“old woman” おばあさん

強制グロッサリー学習後、再度同じ英文を学習させた結果が下記になります。

{
"translations" : [ {
"translation" : "昔々あるところに、小さな村におじいさんとおばあさんが住んでいました。"
}, {
"translation" : "ある日、おばあさんが川で洗濯をしていると、大きな桃が川から出てきました。"
} ],
"word_count" : 36,
"character_count" : 152
}

基本モデルの結果と比べると、強制グロッサリーの学習内容が反映され、より自然な文章になりました。

学習前

昔々、小さな村に老いた夫婦が住んでいた。

ある日、老婆が川の中で衣服を洗っていたとき、大きな桃が川からやって来た。

学習後

昔々あるところに、小さな村におじいさんとおばあさんが住んでいました。

ある日、おばあさんが川で洗濯していると、大きな桃が川から出てきました。

パラレルコーパスと強制グロッサリーの学習を行っても、「大きな桃が川から出てきました」のように、まだ改善の余地があります。強制グロッサリーで「Came from」を学習させる方法も考えられますが、それでは他の文章を翻訳するときに汎用しづらいので、パラレルコーパスの学習で「Came from」の学習方法を変えるなどの工夫が必要になります。

最後に

今回は、WLTについてご紹介させていただきました。文章と単語の学習の仕方によって、豊富なカスタマイズを実現できます。そのため翻訳させる文章や単語が同じでも、文脈やストーリーによって理想の形に仕上げられると考えています。ご興味のある方はぜひお試しください。

お問い合わせ先

執筆者プロフィール

Katano Kazutoshi
Katano Kazutoshitdi AI&データマネジメント推進部
配属後、IBM Watsonサービス、Node.jsを用いてアプリ開発をメインに行っております。これまで音声認識、文書検索の開発に携わってきました。
今後も自身の扱えるスキル範囲の拡大に努めていきます。
Pocket

関連記事