機械翻訳(MT)システムの出力はどこを間違えるのか、ITエンジニアが読みそうなドキュメントを対象とし、実際のサンプルで確認する。
目的は、現在広く使われているMTシステムが間違いやすい部分を特定し、利用時にどこに注意を払うべきかを把握することである。MTシステム間で優劣を付けることは目的としない。対象や方法は下記の通りで、MT出力は記載のアクセス日のものである。
目次
原文
第1回はAPIリファレンス、第2回はプロダクト紹介、第3回はマニュアルを対象のドキュメントタイプとした。今回はソフトウェアのUIに表示されるメッセージを対象とする。エラー発生や操作指示をユーザーに伝えるテキストで、語の省略が発生し、短い文言も多い。
具体的には、アートやビジュアリゼーションで用いられるアプリケーションである「Processing」に表示されるUIメッセージを取り上げる。ProcessingのソースコードにあるUIメッセージと思われるテキスト40件をサンプルとした(GitHubから2022-8-27に取得)。

DeepLの出力
(2022-08-27アクセス)
短文がほとんであるため、対訳で見やすいよう表形式とした。なお原文はテキスト形式でMTにかけている。
ハイライトされ、隅付きかっこ(【1】など)が付加された部分はエラーと思われるため、後ほど取り上げる。
原文 | DeepLの出力 |
---|---|
“color” and “int” are reserved words & cannot be used as variable names | 「【1】color” と “int” は予約語なので変数名として使用できません。 |
Are you sure you want to restart Processing without saving first? | 最初に保存せずにProcessingを再起動しても大丈夫ですか? |
Auto Format finished. | オートフォーマット【2】が終了しました。 |
Cannot change mode | モード変更不可 |
Code formatted as HTML has been copied to the clipboard. | HTMLとしてフォーマットされたコードがクリップボードにコピーされました。 |
Connection timed out while downloading the contribution list. | コントリビューションリストのダウンロード中に接続がタイムアウトしました。 |
Could not properly re-save the sketch. You may be in trouble at this point, and it might be time to copy and paste your code to another text editor. | スケッチを正しく再保存できませんでした。この時点で問題が発生している可能性があります。コードを他のテキストエディタにコピー&ペーストする必要があるかもしれません。 |
Could not write to temporary directory. | 一時ディレクトリに書き込むことができませんでした。 |
Creating the QuickTime movie failed. | QuickTimeムービーの作成に失敗しました。 |
Debugger halted. | デバッガが停止しました。 |
Description unavailable. | 説明文は使用できません。 |
Done exporting. | エクスポートが完了しました。 |
Error during export. | エクスポート中にエラーが発生しました。 |
Error overwriting .properties file. | .propertiesファイルの上書きエラー |
Error while printing. | 印刷中にエラーが発生しました。 |
Export canceled, changes must first be saved. | エクスポートがキャンセルされ、【3】変更を保存する必要があります。 |
First select a word to find in the reference. | まず、リファレンスで検索する単語を選択してください。 |
How about saving the sketch first before trying to rename it? | 名前を変更しようとする前に、まずスケッチを保存してみてはどうでしょうか? |
Import not allowed here. | ここでは、インポートは許可されていません。 |
Install failed. | インストールに失敗しました。 |
Keep the changes? | 変更を保持しますか? |
No files were added to the sketch. | スケッチにファイルが追加されていません。 |
No image files found. | 画像ファイルが見当たりません。 |
One file added to the sketch. | スケッチに1つのファイルが追加されました。 |
Please restart Processing to finish updating this item. | このアイテムのアップデートを終了するには、Processingを再起動してください。 |
Please save the sketch before running in Tweak Mode. | ツイーク【4】・モードで実行する前にスケッチを保存してください。 |
Printing canceled. | 印刷がキャンセルされました。 |
Save changes before export? | エクスポート前に変更を保存しますか? |
Sketch Disappeared | スケッチが消えた |
Some files are marked “read-only,” so you will need to re-save the sketch in another location, and try again. | いくつかのファイルは “読み取り専用 “とマークされているので、スケッチを別の場所に保存し、もう一度試してみる必要があります。 |
Tab modified externally | タブが外部で変更された |
The name cannot start with a period. | 名前がピリオドで始まることはできません。【5】 |
Unsaved changes have been found | 未保存の変更が見つかりました |
Width and height must be whole numbers greater than zero; framerate must be a number greater than zero. | 幅と高さは0より大きい整数でなければなりません。フレームレートは0より大きい数でなければなりません。 |
Would you like to keep this version or load the new changes? Either way, the version you discard will be saved to your sketch folder. | このバージョンを保持するか、新しい変更を読み込みますか?いずれにせよ、あなたが破棄したバージョンは、あなたのスケッチフォルダーに保存されます。 |
Would you like to re-save it or remove it from your sketch? | それを再保存するか、スケッチから削除しますか? |
You cannot save the sketch into a folder inside itself. This would go on forever. | スケッチをそれ自身の中のフォルダに保存することはできません。これは永遠に続くでしょう。 |
You do not seem to be connected to the Internet. | インターネットに接続されていないようです。 |
You may be mixing active and static modes. | アクティブモードとスタティックモードが混在している可能性があります。 |
You need to specify the folder with image files, the sound file, or both. | 画像ファイル、サウンドファイル、またはその両方を含むフォルダを指定する必要があります。 |
エラーと思われる部分
# | カテゴリ | 重大度 | 説明 |
---|---|---|---|
1 | スタイル | 軽度 | 冒頭のみがカギかっこになっている |
2 | 用語 | 軽度 | 人がUIラベルや機能名を翻訳する場合、実際の表記を目で見て確認して訳を当てるが、現状MTにはそれはできない。Mac版v4.0.1のUIを見ると「自動フォーマット」となっており、今回は軽度のエラーとする |
3 | 流暢さ | 軽度 | 読点の前後が論理的につながっていない。内容的に原文のカンマ前はエラー説明、カンマ後は対応策になっているため、「エクスポートがキャンセルされました。まず変更を保存する必要があります」となる。「first」も訳されていない |
4 | 用語 | 軽度 | #2と同様。Mac版v4.0.1だと「Tweak」と原文のままになっているので、今回は軽度 |
5 | 流暢さ | 軽度 | 日本語がおかしい。「名前をピリオドで始めることはできません」や「名前はピリオドで始めることはできません」あたりか |
考察
理解を阻害するような重度なエラーはなかった。
気になったのは、日本語がおかしいと感じる部分があった点だ(#3と#5)。DeepLは日本語の流暢さが優れていると言われており、確かに全く読めない文にはなっていないが、やはり機械的に生成したような不自然さは感じてしまう。
#2と#4は(前回書いたように)現状のMTでは対応できないので、読む側が頭の中で補う必要がありそうだ。
Google翻訳の出力
(2022-08-27アクセス)
原文 | Google翻訳の出力 |
---|---|
“color” and “int” are reserved words & cannot be used as variable names | 「color」と「int」は予約語であり、変数名として使用できません |
Are you sure you want to restart Processing without saving first? | 最初に保存せずに処理を再開しても【1】よろしいですか? |
Auto Format finished. | オートフォーマット【2】終了。 |
Cannot change mode | モードを変更できません |
Code formatted as HTML has been copied to the clipboard. | HTML 形式のコードがクリップボードにコピーされました。 |
Connection timed out while downloading the contribution list. | 投稿【3】リストのダウンロード中に接続がタイムアウトしました。 |
Could not properly re-save the sketch. You may be in trouble at this point, and it might be time to copy and paste your code to another text editor. | スケッチを正しく再保存できませんでした。この時点で問題が発生している可能性があり、コードをコピーして別のテキスト エディターに貼り付ける必要があるかもしれません。 |
Could not write to temporary directory. | 一時ディレクトリに書き込めませんでした。 |
Creating the QuickTime movie failed. | QuickTime ムービーの作成に失敗しました。 |
Debugger halted. | デバッガーが停止しました。 |
Description unavailable. | 説明がありません。 |
Done exporting. | エクスポート完了。 |
Error during export. | エクスポート中にエラーが発生しました。 |
Error overwriting .properties file. | .properties ファイルの上書き中にエラーが発生しました。 |
Error while printing. | 印刷中にエラーが発生しました。 |
Export canceled, changes must first be saved. | エクスポートがキャンセルされました。最初に変更を保存する必要があります。 |
First select a word to find in the reference. | まず、リファレンスで検索する単語を選択します。 |
How about saving the sketch first before trying to rename it? | 名前を変更する前に、まずスケッチを保存してみてはどうでしょうか? |
Import not allowed here. | ここではインポートできません。 |
Install failed. | インストールに失敗しました。 |
Keep the changes? | 変更を保持しますか? |
No files were added to the sketch. | スケッチにファイルが追加されませんでした。 |
No image files found. | 画像ファイルが見つかりません。 |
One file added to the sketch. | スケッチに 1 つのファイルが追加されました。 |
Please restart Processing to finish updating this item. | このアイテムの更新を完了するには、処理を再開して【4】ください。 |
Please save the sketch before running in Tweak Mode. | 微調整【5】モードで実行する前に、スケッチを保存してください。 |
Printing canceled. | 印刷がキャンセルされました。 |
Save changes before export? | エクスポートする前に変更を保存しますか? |
Sketch Disappeared | スケッチが消えた |
Some files are marked “read-only,” so you will need to re-save the sketch in another location, and try again. | 一部のファイルは「読み取り専用」とマークされているため、スケッチを別の場所に保存し直してからやり直す必要があります。 |
Tab modified externally | 外部で変更されたタブ |
The name cannot start with a period. | 名前をピリオドで始めることはできません。 |
Unsaved changes have been found | 保存されていない変更が見つかりました |
Width and height must be whole numbers greater than zero; framerate must be a number greater than zero. | 幅と高さはゼロより大きい整数である必要があります。フレームレートはゼロより大きい数値でなければなりません。 |
Would you like to keep this version or load the new changes? Either way, the version you discard will be saved to your sketch folder. | このバージョンを保持しますか、それとも新しい変更をロードしますか?どちらの方法でも、破棄したバージョンはスケッチ フォルダーに保存されます。 |
Would you like to re-save it or remove it from your sketch? | 再保存しますか、それともスケッチから削除しますか? |
You cannot save the sketch into a folder inside itself. This would go on forever. | スケッチをそれ自体のフォルダに保存することはできません。これは永遠に続くでしょう。 |
You do not seem to be connected to the Internet. | インターネットに接続していないようです。 |
You may be mixing active and static modes. | アクティブ モードと静的【6】モードが混在している可能性があります。 |
You need to specify the folder with image files, the sound file, or both. | 画像ファイル、サウンド ファイル、またはその両方を含むフォルダーを指定する必要があります。 |
エラーと思われる部分
# | カテゴリ | 重大度 | 説明 |
---|---|---|---|
1 | 正確さ | 重度 | 固有名のProcessingが「処理」と訳されてしまっており、誤解が発生し得る |
2 | 用語 | 軽度 | 人がUIラベルや機能名を翻訳する場合、実際の表記を目で見て確認して訳を当てるが、現状MTにはそれはできない。Mac版v4.0.1のUIを見ると「自動フォーマット」となっており、今回は軽度のエラーとする |
3 | 正確さ | 軽度 | ここでのcontributionはライブラリやサンプルを指すので、少なくとも「投稿」は適当ではない |
4 | 正確さ | 重度 | #1と同じエラー。Processingが「処理」と訳されている |
5 | 用語 | 軽度 | #2と同様。Mac版v4.0.1だと「Tweak」と原文のままになっているので、今回は軽度 |
6 | 用語 | なし | Processingでは原文のまま「Static」かカタカナで「スタティック」と表記するのが一般的なようだ。ただし好みの範疇に入ると判断して、エラーとせず |
考察
重度のエラーが2つあった(#1と#4)。固有名詞「Processing」を一般名詞「処理」と解釈してしまった部分だ。
それ以外はDeepLと同じくUIラベルの問題がほとんどだった。
結論
UIメッセージには語の省略などがあるため、誤訳が発生しやすいのではと想像していたが、意外にも全般的に悪くない結果だった。もっとも、今回取り上げたテキストはそれほど専門的かつ複雑でもなかったため、そこは割り引いて考えた方がよいかもしれない。
やはりMT使用時に注意するのはUIラベルや機能名だろう。MTが訳出したUIラベルや機能名は必ずしも実際のアプリ上の表記と同じではなく、読む側が自分の頭の中で補わなければならない。
今回の内容と関連し、何点か追記したい。
エラーに気づきにくいNMT
Google翻訳の重度エラーだった#1で、試しに文中の「Processing」を「PowerPoint」とはっきり固有名詞と分かるアプリ名に変えて再度Google翻訳にかけてみた。すると「最初に保存せずに PowerPoint を再起動してもよろしいですか?」と「再開」が「再起動」と訳されていた。MTのトレーニング時に、「処理」の場合は「再開」、固有名詞の場合は「再起動」という言葉が共起すると学習したのではと想像できる。
これは(ルールベースと比べた)ニューラルMTの特長だと思われるが、逆に弱点とも言える。仮に#1で「処理を再起動してもよろしいですか?」と訳されていたら、読む側は違和感を覚え、誤訳があるのではと気づく可能性がある。しかし下手にコロケーション(語の慣用的なつながり)が良いと、逆に違和感を覚えなくなる。エラーに気づかないまま読み進めることになるため、ツールとしては一長一短かもしれない。
(この「エラーに気づけない」という課題にはどう対処したらよいのだろうか? もしMT出力で「自信度」みたいな数字も一緒に出してくれたら、少なくとも自信がないMT出力は対訳で確認するような対処ができるかもしれない。)
エラー重大度をつける際の姿勢
DeepLの#2と#4、Google翻訳の#2と#5では、実際の機能名あるいはUIラベルと違うという軽度エラーを付けた。MTは実際のUIを見られないからエラーにすべきではないと考える人がいるかもしれない。しかしエラー評価で重大度を付ける際に重要なのは「成果物だけで評価する」という姿勢である。評価者の側でエラーの原因や動機を想像したり、人か機械かといった面まで考慮したりして重大度を付けてしまうと、毎回ブレが生じてしまう。評価する際はあくまで成果物のみを見て、エラーの原因分析などはその後の別課題と考えた方がよいだろう。