-*- POD -*-

機械翻訳を活用するための 100 のヒント (草稿)

大阪大学大学院情報科学研究科

大崎 博之 (oosaki[atmark]lsnl.jp)

Tips for computer-based Japanese-to-English translation

$Id: index.pod,v 1.7 2014/09/25 23:37:57 ohsaki Exp $

1. はじめに

この文書では、具体的な例を挙げて、機械翻訳ソフトウェアを上手に活用する ためのヒントを紹介します。ここで紹介するヒントは、私が経験的に学んだも のなので、あまり洗練されていないものや、有効性が ??? のものもあります が、何かの参考になれば幸いです。

2. どの機械翻訳ソフトウェアを使えばいいか?

私はこれまで、以下の機械翻訳ソフトウェアを実際に使用し、どの機械翻訳ソ フトウェアの翻訳精度が一番良いかを比較検討しました。

  IBM インターネット翻訳の王様バイリンガル V5
  http://www-6.ibm.com/jp/software/internet/king/

  富士通 ATLAS 翻訳スーパーパック V9
  http://software.fujitsu.com/jp/atlas/index.html

  ソースネクスト本格翻訳 2 プラチナム
  http://www.sourcenext.com/products/

  AI ソフト訳せ!!ゴマ Ver. 8 プロフェッショナル
  http://ai2you.com/goma/index.asp

  Cross PC-Transer 翻訳スタジオ
  http://www.crosslanguage.co.jp/products/pc_transer/

その結果、日英翻訳では「IBM インターネット翻訳の王様バイリンガル V5」 の翻訳精度が一番高いと感じました。一方、英日翻訳では、「富士通 ATLAS 翻訳スーパーパック V9」の翻訳精度が一番高く感じました。

「IBM インターネット翻訳の王様バイリンガル V5」はコンシュマー向けのた め価格設定が低く、日英翻訳の翻訳精度が高く、英日翻訳の精度も「富士通 ATLAS 翻訳スーパーパック V9」に次いで高いため、私はこれを愛用していま す。また、Windows 版の CD-ROM には、(こっそり?) Linux 版も含まれている というのも素晴しいと思います。

「富士通 ATLAS 翻訳スーパーパック V9」は、英日翻訳の翻訳精度が高く、日 英翻訳の翻訳精度は「IBM インターネット翻訳の王様バイリンガル V5」に次 いで高いため、英日翻訳が中心であればこちらが便利かもしれません。ただし、 プロフェッショナル向けの製品なので、比較的高価な価格設定となっています。

「ソースネクスト本格翻訳 2 プラチナム」および「AI ソフト訳せ!!ゴマ Ver. 8 プロフェッショナル」には、翻訳精度およびインターフェースの両面 において、何も評価すべき点がありませんでした。

「Cross PC-Transer 翻訳スタジオ」はインターフェースが非常に良くできて います。文単位の翻訳や、訳語の選択が 1 クリックでできますし、翻訳結果 によって訳語の選択が自動的に学習されるようにできています。ただ、残念な がら日英翻訳の翻訳精度は、「IBM インターネット翻訳の王様バイリンガル V5」には及ばず、「富士通 ATLAS 翻訳スーパーパック V9」と同程度か、それ を少し下回る程度です。英日翻訳は十分テストしていませんが、翻訳精度は高 くありませんでした。

以下では、次のような例文を取りあげ、これを「IBM インターネット翻訳の王 様バイリンガル V5 Linux 版」 (以下、単に「翻訳の王様」と呼びます) を用 いて英訳する手順を紹介します。

  そこで本稿では、文献[1]の解析結果を利用することにより、GridFTPにおける
  並列TCPコネクション数の最適化手法(自動パラメータ設定機構)を提案する。
  提案する手法は、まず、GridFTPクライアントにおいて、ネットワークの状態
  (GridFTPのグッドプットやラウンドトリップ時間など)を計測する。次に、こ
  れらの情報をもとに並列TCPコネクション数を調整するといったものである。
  本稿では、並列TCPコネクション数の調整方法が異なる、3種類の動作モード
  (MIモード、MI+モード、AIMDモード)を考える。さらに、シミュレーション実
  験により、提案する自動パラメータ設定機構の性能評価を行う。その結果、提
  案する自動パラメータ設定機構によりGridFTPの性能が大幅に向上することを
  示す。

ここで紹介する考え方は、機械翻訳ソフトウェアによらず共通だと思いますの で、「翻訳の王様」以外の機械翻訳ソフトウェアを使っている人にも参考にな ると思います。

3. Emacs から「翻訳の王様」を利用するための準備

作業効率を上げるためにも、Emacs から「翻訳の王様」を起動できるようにし ましょう。簡単なものですが、Emacs から「翻訳の王様」を対話的に起動する ために、私が使用している Elisp である king.el を公開しておきます。

http://www.lsnl.jp/~ohsaki/software/elisp/king.el

翻訳したい文にポイントを合わせて、M-X king-translate とすれば、その文 を翻訳した結果が別ウィンドウに表示されます。また、C-u M-X king-translate とすれば、その文がコメントアウトされ、翻訳した結果が最 後に挿入されます。複数の文をまとめて翻訳するには、リージョンを指定して M-X king-translate-region とします。

4. LaTeX のソースを翻訳するには

LaTeX のソースには、数式や LaTeX のコマンドが埋め込まれているため、そ のままでは翻訳の王様では正しく処理できません。数式や LaTeX のコマンド が含まれていると、翻訳の王様は文の区切を正しく判定できず、翻訳された結 果が無茶苦茶になってしまいます。そのため、以下のような方法を使うといい でしょう。

(1) Emacs から king.el を利用して翻訳する

上で紹介した Elisp を使えば LaTeX のコマンドや数式が含まれたまま、翻訳 の王様で翻訳することができます。特に理由がない限り、こちらの方法をお勧 めします。

  king.el
  http://www.lsnl.jp/~ohsaki/software/elisp/king.el

king.el のインストール方法については、ファイル中のコメントを参照してく ださい。king.el は、pkingtr と呼ばれる Perl スクリプトを利用しています ので、こちらも忘れずにインストールしてください。

  pkingtr
  http://www.lsnl.jp/~ohsaki/software/perl/pkingtr

king.el 実行中の画面
(2) LaTeX のコマンドや数式を取り除いてから翻訳する

ここでは、翻訳の王様で扱えるように、数式や LaTeX のコマンドを取り除く 方法を紹介します。

私が使用している Perl のスクリプトを公開しておきます。

http://www.lsnl.jp/~ohsaki/software/perl/tex2txt

例えば、以下のような LaTeX のソースに対して、

  $ cat analysis.tex
  解析モデルを図 \ref{fig:data-streaming-model} に示す。
  GridFTP サーバから GridFTP クライアントへのファイル転送を考え、
  GridFTP サーバ--クライアント間のリンク帯域を $B$、
  ラウンドトリップ時間を $\tau$ とする。

tex2txt を実行すれば、以下のようなテキストファイルが得られます。

  $ tex2txt -l analysis.tex >analysis.txt
  $ cat analysis.txt
  解析モデルを図00003に示す。
  GridFTPサーバからGridFTPクライアントへのファイル転送を考え、
  GridFTPサーバ-クライアント間のリンク帯域を00001、
  ラウンドトリップ時間を00002とする。
  
  __END__
  
  00001 $B$
  00002 $\tau$
  00003 \ref{fig:data-streaming-model}

図への参照 \ref{} や数式が 00001 〜 0003 のようなラベルに変換されてい ます。このテキストファイルに対して翻訳の王様を実行します。翻訳の王様は 00001 〜 0003 のようなラベルが混在していても、文の区切を正しく認識でき ます。

なお、tex2txt の -x オプションを使用すれば、テキストファイル中のラ ベルを元に戻すことができます。例えば、上記のテキストファイルを、以下の ように翻訳したとします (英語はいいかげんです)。

  $ cat analysis.txt
  An analytic model is shown in Fig. 00003.  The file transfer from a
  GridFTP server to a GridFTP client is considered, the link bandwidth
  between GridFTP server-clients is set to 00001, and round-trip time is
  set to 00002.
  
  __END__
  
  00001 $B$
  00002 $\tau$
  00003 \ref{fig:data-streaming-model}

tex2txt を以下のように実行すれば、ラベルを元に戻すことができます。

  $ tex2txt -x analysis.txt
  An analytic model is shown in Fig. \ref{fig:data-streaming-model}.  The file transfer from a
  GridFTP server to a GridFTP client is considered, the link bandwidth
  between GridFTP server-clients is set to $B$, and round-trip time is
  set to $\tau$.
  
  __END__

これを、LaTeX のソースの該当箇所にペーストします。

5. とりあえず翻訳してみる

まず、何も考えずに、初期設定のまま「翻訳の王様」で日英翻訳を実行してみ ます。Emacs 上でリージョンを指定して、M-x king-translate-region としま す。もしくは、コマンドラインから

  $ LANG=ja_JP.eucJP kingtr < sample.txt | fmt

と実行します。

  Then, in this paper, the optimization technique (automatic parameter
  setting mechanism) of the number of parallel TCP connections in
  GridFTP is proposed by using the analysis result of reference [1].
  The technique to propose measures the states (good a put, Round Trip
  Time, etc. of GridFTP) of a network in a GridFTP client first. Next, it
  is said that the number of parallel TCP connections is adjusted based on
  these information.  In this paper, three kinds of modes (MI mode, MI+
  mode, AIMD mode) of operation in which the adjustment methods of the
  number of parallel TCP connections differ are considered. Furthermore,
  a simulation experiment performs performance evaluation of the automatic
  parameter setting mechanism to propose. Consequently, it is shown that
  the performance of GridFTP improves sharply according to the automatic
  parameter setting mechanism to propose.

なんとなく意味は分かる程度で、とても論文に使える英語ではありません。そ こで、まず、原文に対して、C-u M-x format-paragraph

http://www.lsnl.jp/~ohsaki/software/elisp/format-paragraph.el

を実行して、編集しやすいように整形します。

  そこで本稿では、文献[1]の解析結果を利用することにより、
  GridFTPにおける並列TCPコネクション数の最適化手法(自動パラメータ
  設定機構)を提案する。
  提案する手法は、まず、
  GridFTPクライアントにおいて、
  ネットワークの状態(GridFTPのグッドプットやラウンドトリップ時間など)を
  計測する。
  次に、これらの情報をもとに並列TCPコネクション数を
  調整するといったものである。
  本稿では、並列TCPコネクション数の調整方法が異なる、
  3種類の動作モード(MIモード、
  MI+モード、AIMDモード)を考える。
  さらに、シミュレーション実験により、
  提案する自動パラメータ設定機構の性能評価を行う。
  その結果、提案する自動パラメータ設定機構によりGridFTPの性能が大幅に
  向上することを示す。

king.el を使用せずに、「翻訳の王様」に含まれる kingtr を使用している場 合、文中に空白 (タブやスペース) があると構文解析に失敗します。ですので、 括弧の前後の空白なども含めて、余計な空白はすべて削除しておかなければい けません。

king.el を使用していれば、空白は自動的に削除されますので気にしなくても 構いません。

6. 専門用語を辞書登録する

原文と訳文を比較して、適切な訳語が選択されていない用語については、まず、 ざっと単語登録します (以下には、上記の例文に含まれていない単語も含まれ ています)。

  $ cat user-je.csv (ファイル名は任意)
  解析結果,名詞,概念,,in,,analytic result,,,,,,
  ラウンドトリップ時間,名詞,,,,,round-trip time,,,,O,,無
  パケット棄却,名詞,概念,,,,packet loss,,,,,,
  フィードバック型だ,形容動詞,,,,feedback-based,,,,,,,
  簡単のため,副詞,,,for simplicity,,,,,,文頭,,
  再送する,動詞,,,,,,サ変,kaku{[が]=subj/[を]=obj/[に]=to/[へ]=to},retransmit,,,
            :
            :

どれだけ辞書を鍛えるかによって、翻訳精度が大きく変わってきます。ですの で、明日の作業を楽にするためにも、コツコツと辞書登録することをおすすめ します。

「翻訳の王様」では、単語に対してさまざまな属性を指定できるので、これを うまく登録するのがポイントです。例えば、上記の例で、

  解析結果,名詞,概念,,in,,analytic result,,,,,,

は、「解析結果」の品詞が「名詞」であり、訳語は「analytic result」であ ることを意味しています。また、これは「概念」を表す名詞であり、「解析結 果で……」という表現があれば、前置詞「with」を伴うことを意味しています。

  ラウンドトリップ時間,名詞,,,,,round-trip time,,,,O,,無

これは、「ラウンドトリップ時間」の品詞が「名詞」であり、訳語は 「round-trip time」であることを意味しています。また、この単語は複数形 を持たず (O)、冠詞も必要ない (無) ことを意味しています。

  再送する,動詞,,,,,,サ変,kaku{[が]=subj/[を]=obj/[に]=to/[へ]=to},retransmit,,,

これは、「再送する」の品詞が「サ行変格活用」の「動詞」であり、訳語は 「retransmit」であることを意味しています。「A が B を C に再送する」と いう表現があれば、A が transmit の主語 (subj)、B が transmit の目的語 (obj)、C が transmit の補語であり、前置詞 to を伴う (transmit to C と なる) ことを意味しています。

CSV ファイルの形式で作成したユーザ辞書を、翻訳の王様のユーザ辞書に登録 するには、以下のコマンドを実行します。

  $ LANG=ja_JP.eucJP kingudict -j -import user-je.csv user

CSV ファイルは、漢字コードが SJIS、改行コードが CR+LF である必要がある ので注意してください。

「翻訳の王様」の辞書はなかなか奥が深いので、詳しくは Linux 版のマニュ アル (PDF 形式のものが CD-ROM に含まれています) を参照してください。

7. 主語が省略されている文に、主語を追加する

次に、主語が省略されている文に対して、主語を追加してゆきます。この時、 (日本語としては不自然ですが) 動詞の直前に主語を置くとうまく認識される ようです。

主語が省略された文であっても、単純な構造であれば受動態の形で正しく翻訳 されますので、翻訳結果を見ながら、必要であれば主語を追加してゆきます。 論文であれば、たいての場合は動作主体である「我々は」を追加してゆけばよ いでしょう。

  そこで本稿では、文献[1]の解析結果を利用することにより、
  GridFTPにおける並列TCPコネクション数の最適化手法(自動パラメータ
  設定機構)を我々は提案する。
  提案する手法は、まず、
  GridFTPクライアントにおいて、
  ネットワークの状態(GridFTPのグッドプットやラウンドトリップ時間など)を
  計測する。
  提案する手法は、次に、これらの情報をもとに並列TCPコネクション数を
  調整するといったものである。
  本稿では、並列TCPコネクション数の調整方法が異なる、
  3種類の動作モード(MIモード、
  MI+モード、AIMDモード)を我々は考える。
  さらに、シミュレーション実験により、
  提案する自動パラメータ設定機構の性能評価を我々は行う。
  その結果、提案する自動パラメータ設定機構によりGridFTPの性能が大幅に
  向上することを我々は示す。

  In this paper, we therefore propose the optimization method (automatic
  parameter configuration mechanism) of the number of parallel TCP
  connections in GridFTP by utilizing the analytic result of a reference
  [1].  Our method measures the states (goodput, round-trip time,
  etc. of GridFTP) of a network in a GridFTP client first.  It is said
  that our method next adjusts the number of parallel TCP connections
  based on these information.  In this paper, we consider three kinds of
  operation modes (MI mode, MI+ mode, AIMD mode) from that the
  adjustment method of the number of parallel TCP connections differs.
  Furthermore, we perform performance evaluation of an our automatic
  parameter configuration mechanism by simulation experiment.
  Consequently, we show that the performance of GridFTP improves
  significantly according to an our automatic parameter configuration
  mechanism.

8. 原文と訳文を比較しながら、「原文」を修正する

さらに、もともと日本語としておかしい文章 (……ものである) や、誤って訳 出されている文章 (……の調整方法が異なる) の「原文」を修正します。ここ はある程度の思考錯誤が必要です。ここで頑張ると、後の作業が非常に楽にな ります。

翻訳された英語の文章の修正に時間をかけるのではなく、機械翻訳ソフトウェ アによって正しく処理されるように、「日本語の文章の修正に多くの時間を割 く」というのがポイントです。

機械翻訳ソフトウェアの特性上、、前置詞、冠詞、名詞の単複は正しく認識さ れません。前置詞、冠詞に関しては、辞書登録で頑張ればある程度までは認識 されますが、名詞の単複は前後の文脈が分からなければ特定できないので、機 械翻訳ソフトウェアでは限界があります。

ですので、それ以外について正しく訳出されることを目標として修正します。 目安として、「(前置詞、冠詞、名詞の単複の誤りを除いて) 英語として 95% くらいの完成度になるまで」原文を修正します。

  そこで本稿では、解析結果[1]を利用することにより、
  GridFTPにおける並列TCPコネクション数の最適化手法(自動パラメータ
  設定機構)を我々は提案する。
  提案する手法は、まず、
  GridFTPクライアントにおいて、
  ネットワークの状態(例えば、
  GridFTPのグッドプットやラウンドトリップ時間)を計測する。
  提案する手法は、そして、
  これらの情報をもとに、
  並列TCPコネクション数を調整する。
  本稿では、並列TCPコネクション数の調整方法という点で異なる、
  3種類の動作モード(MIモード、
  MI+モード、AIMDモード)を我々は考える。
  さらに、シミュレーション実験により、
  提案する自動パラメータ設定機構の性能評価を我々は行う。
  その結果、提案する自動パラメータ設定機構を用いることにより、
  GridFTPの性能が大幅に向上することを我々は示す。
  
  In this paper, we therefore propose the optimization method (automatic
  parameter configuration mechanism) of the number of parallel TCP
  connections in GridFTP by utilizing an analytic result [1].  Our
  method measures the state (goodput and round-trip time of GridFTP) of
  a network in a GridFTP client first.  Our method then adjusts the
  number of parallel TCP connections based on these information.  In
  this paper, we consider three kinds of different operation modes (MI
  mode, MI+ mode, AIMD mode) in respect of the adjustment method of the
  number of parallel TCP connections.  Furthermore, we perform
  performance evaluation of an our automatic parameter configuration
  mechanism by simulation experiment.  Consequently, we show that the
  performance of GridFTP improves significantly by using an our
  automatic parameter configuration mechanism.

9. 前置詞・冠詞・名詞の単複を意味を考えて付け直す

前置詞および冠詞は、意味を考えてすべて付け直します。また、名詞の単数・ 複数も前後の文脈を考えてすべて修正します。

  In this paper, we therefore propose an optimization method (automatic
  parameter configuration mechanism) of the number of parallel TCP
  connections in GridFTP by utilizing our analytic results [1].  Our
  method measures states (e.g., goodput and round-trip time of GridFTP)
  of a network at a GridFTP client first.  Our method then adjusts the
  number of parallel TCP connections based on this information.  In this
  paper, we consider three kinds of different operation modes (MI mode,
  MI+ mode, AIMD mode) in terms of the adjustment method of the number
  of parallel TCP connections.  Furthermore, we perform performance
  evaluation of our automatic parameter configuration mechanism by
  simulation experiment.  Consequently, we show that the performance of
  GridFTP improves significantly by using our automatic parameter
  configuration mechanism.

10. 訳文全体を修正する

最後に、副詞の位置や語順の調整、英語としておかしい箇所の修正をします。

  In this paper, we therefore propose an optimization method (automatic
  parameter configuration mechanism) of the number of parallel TCP
  connections in GridFTP by utilizing our analytic results [1].  Our
  method first measures states of a network (e.g., goodput and
  round-trip time of GridFTP) at a GridFTP client.  Our method then
  adjusts the number of parallel TCP connections based on such measured
  states.  In this paper, we present three types of different operation
  modes (MI mode, MI+ mode, and AIMD mode) in terms of their adjustment
  methods of the number of parallel TCP connections.  We also evaluate
  the performance of our automatic parameter configuration mechanism
  through simulation experiment.  Consequently, we show that the
  performance of GridFTP is significantly improved by using our
  automatic parameter configuration mechanism.

Hiroyuki Ohsaki (ohsaki[atmark]lsnl.jp)