オープンソースチャレンジャーがGoogle翻訳を引き受ける

研究者は、独自のブラックボックス翻訳サービスの代替となる可能性のある言語翻訳を実行するためのオープンソースニューラルネットワークシステムをリリースしました。

オープンソースのニューラル機械翻訳(OpenNMT)は、ハーバード大学の研究者の研究と、長年の機械翻訳ソフトウェアの作成者であるSystranの貢献を統合したものです。これは、Facebookが機械学習プロジェクトにも使用しているトーチ科学計算フレームワークで実行されます。

理想的には、OpenNMTは、翻訳の品質を向上させるために最近大規模なニューラルネットワークのイメージチェンジを受けたGoogle翻訳のようなクローズドソースプロジェクトのオープンな代替手段として機能する可能性があります。

しかし、アルゴリズムは難しい部分ではありません。翻訳プロセスをサポートするための優れたデータソースを考え出している。そこでは、Googleや、サービスとして機械翻訳を提供する他のクラウドの巨人が優位に立っている。

異言で話す

Lua言語を使用してTorchとインターフェイスするOpenNMTは、このクラスの他の製品と同様に機能します。ユーザーは、翻訳する2つの言語ペアを表す一連のデータを準備します。通常は、人間の翻訳者が翻訳したものと同じテキストを両方の言語で作成します。このデータでOpenNMTをトレーニングした後、ユーザーは結果のモデルをデプロイし、それを使用してテキストを翻訳できます。

TorchはGPUアクセラレーションを利用できます。つまり、OpenNMTモデルのトレーニングプロセスは、GPUを搭載したシステムで大幅に高速化できます。とはいえ、トレーニングプロセスには長い時間がかかる場合があり、「場合によっては数週間」かかることもあります。ただし、トレーニングプロセスは、必要に応じてスナップショットを作成し、オンデマンドで再開できます。 GPUではなくCPUでトレーニング済みモデルを使用する場合は、モデルをCPUモードで動作するように変換する必要があります。 OpenNMTは、まさにそれを行うためのツールを提供します。

Systranが提供するライブデモは、OpenNMTをSystran自身の作業と組み合わせて使用​​すると主張しています。英語/フランス語のような一般的な言語ペアの場合、翻訳は非常に正確です。利用可能なテキストの本文が少なくなる可能性が高いペア、または言語ペアが互いに正確にマッピングされていないペア(たとえば、英語/日本語)の場合、翻訳はもう少し高尚で不正確です。1つのサンプル日本語文で、Systranデモは、日本語の「カモメ」という単語を「掛軸」と間違えました。グーグル翻訳はそれを正しく翻訳しました。

言葉、言葉、言葉

OpenNMTがまだ提供していない最も重要な要素は、事前にトレーニングされた言語モデルデータです。プロジェクトのGitHubサイトにあるサンプルモデルへのリンクは、現在エラーを生成します。おそらくやがて、これは、システムのベンチマークや、トレーニングと展開のプロセスがどのように機能するかを理解するために使用できるサンプルデータを特徴とするでしょう。ただし、実稼働環境で使用できるデータは含まれない可能性があります。

モデルデータは少なくともアルゴリズム自体と同じくらい機械翻訳にとって重要であるため、これにより、OpenNMTがすぐに使用できる有用性が制限されます。言語ペア間の翻訳には、並列コーパス、または文ごとまたは句ごとのレベルで互いに密接に一致する両方の言語のテキストが必要であり、OpenNMTなどの製品でモデルを生成するようにトレーニングできます。

多くのコーパスは無料で入手できますが、平均的な開発者が役立つようにするには、手でコブリングする必要があります。グーグルのようなベンダー、そしてワトソンに言語翻訳システムを備えたIBMは、他のサービスでコーパスを簡単に構築できるという利点があります。Googleは、検索エンジンを介して、絶えず更新される大量の言語データを自動的に収集できます。

それでも、OpenNMTは、OpenNMTのモデリングおよびトレーニングコードの上に新しい機能を構築したい人や、GoogleのようなAPIの背後にあるアルゴリズムに依存したくない人に役立つはずです。