機械翻訳(MT)システムの出力はどこを間違えるのか、ITエンジニアが読みそうなドキュメントを対象とし、実際のサンプルで確認する。
目的は、現在広く使われているMTシステムが間違いやすい部分を特定し、利用時にどこに注意を払うべきかを把握することである。MTシステム間で優劣を付けることは目的としない。対象や方法は下記の通りで、MT出力は記載のアクセス日のものである。
目次
原文
前回はドキュメントタイプとして「APIリファレンス」を取り上げたが、今回は「プロダクト紹介」とする。あるソフトウェア・プロダクトのウェブサイトで、ユーザーが最初に読む文章である。プロダクトの特徴が簡潔にまとめられており、文体自体は技術文書よりもマーケティング文書に近いかもしれない。
具体的には、Python言語のウェブ・フレームワークである「FastAPI」のプロダクト紹介を対象とする。HTMLからテキスト形式でコピーし、リストの点を追加するなど、最低限の整形をした。
URL:https://fastapi.tiangolo.com/ (2022-08-14アクセス)
DeepLの出力
(2022-08-14アクセス)
対訳で見やすいよう、左側に原文、右側にMT出力を置いた(画面が小さいと縦並び)。
ハイライトされ、隅付きかっこ(【1】など)が付加された部分はエラーと思われるため、後ほど取り上げる。
FastAPI framework, high performance, easy to learn, fast to code, ready for production FastAPI is a modern, fast (high-performance), web framework for building APIs with Python 3.6+ based on standard Python type hints. The key features are: - Fast: Very high performance, on par with NodeJS and Go (thanks to Starlette and Pydantic). One of the fastest Python frameworks available. - Fast to code: Increase the speed to develop features by about 200% to 300%. * - Fewer bugs: Reduce about 40% of human (developer) induced errors. * - Intuitive: Great editor support. Completion everywhere. Less time debugging. - Easy: Designed to be easy to use and learn. Less time reading docs. - Short: Minimize code duplication. Multiple features from each parameter declaration. Fewer bugs. - Robust: Get production-ready code. With automatic interactive documentation. - Standards-based: Based on (and fully compatible with) the open standards for APIs: OpenAPI (previously known as Swagger) and JSON Schema. * estimation based on tests on an internal development team, building production applications.
FastAPI フレームワーク、【1】高性能、習得が容易、コーディングが速い、実運用に耐える FastAPI は、Python 3.6+ で標準的な Python タイプヒントをベースにした API を構築するための【2】、モダンで高速(ハイパフォーマンス)な Web フレームワークです。 主な特徴は以下の通りです。 - 高速です【3】。【4】NodeJSやGoに匹敵する非常に高いパフォーマンス(StarletteとPydanticのおかげ)。Pythonフレームワークの中で最も高速なものの1つです。 - コーディングが速い。機能開発のスピードを約200%〜300%向上させることができます。* - バグが少ない。人為的な【5】ミスを約40%削減します。* - 直感的に操作【6】できる。優れたエディタサポート。【7】どこでも完成【8】。デバッグの時間を短縮します。 - 簡単:使いやすく、学びやすいように設計されています。ドキュメントを読む時間が短縮されます。 - 短い:コードの重複を最小限に抑えることができます。各パラメータ宣言から複数の機能が得られる。バグが少ない - 頑強。プロダクションレディ【9】のコードを取得。自動的な対話型ドキュメント付き。 - 標準ベース。API のオープンスタンダードをベースとし、完全に互換性があります。OpenAPI(旧Swagger)およびJSON Schemaをベースとしています。 * 社内開発チームでのテストに基づく見積もり。【10】
エラーと思われる部分
# | カテゴリ | 重大度 | 説明 |
---|---|---|---|
1 | 正確さ | 軽度 | 同種のものをカンマで並べているというより、2つめ以降が最初の「FastAPI framework」の説明になっている。そのため句点(。)などで区切った方がよい |
2 | 正確さ | 重度 | よく意味が分からない。正しくは「Python標準の型ヒントに基づきPython3.6以降でAPIを構築するための」である |
3 | スタイル | 軽度 | リストの見出しで敬体や常体が混在している |
4 | スタイル | 軽度 | リストの見出しと説明文との間の区切りが句点(。)とコロン(:)の両方があり、統一されていない |
5 | 正確さ | 軽度 | 軽微なエラーではあるが、原文の「(developer)」に対応する訳がない |
6 | 正確さ | 軽度 | 原文は「Intuitive」だけであり、「操作」という日本語は余分である |
7 | スタイル | 軽度 | リストの説明文で、全体的に体言止めと敬体が混在している。句点の有無も統一されていない |
8 | 正確さ | 重度 | completionは完成ではなく、コードの「補完」のこと |
9 | 流暢さ | なし | 「プロダクションレディ」はどの程度一般的なのだろうか。冒頭にある「実運用」や「本番対応」あたりの方が分かりやすいと思うが、評価者の好みの問題かもしれないのでエラーとはせず |
10 | 正確さ | 重度 | 原文の「building production applications」がまるまる抜けてしまっている |
考察
MT出力を使う上で注意したい点がいくつかあった。
- 2のように、整った日本語ではあるものの、よく読むと間違っている訳文が生成されることがある。日本語が整っている分だけ間違いだと見抜きにくく、エラーとしては厄介である。日本語の意味が変だと感じたら原文を確認したい。
- 10のように、日本語訳がまるまる抜けている部分がある。前回も触れたように、NMTが登場したときに訳抜けが弱点だと言われていた。改善は進んでいるはずだが、一般ユーザーが使うサービスではまだまだ発生するようだ。
Google翻訳の出力
(2022-08-14アクセス)
FastAPI framework, high performance, easy to learn, fast to code, ready for production FastAPI is a modern, fast (high-performance), web framework for building APIs with Python 3.6+ based on standard Python type hints. The key features are: - Fast: Very high performance, on par with NodeJS and Go (thanks to Starlette and Pydantic). One of the fastest Python frameworks available. - Fast to code: Increase the speed to develop features by about 200% to 300%. * - Fewer bugs: Reduce about 40% of human (developer) induced errors. * - Intuitive: Great editor support. Completion everywhere. Less time debugging. - Easy: Designed to be easy to use and learn. Less time reading docs. - Short: Minimize code duplication. Multiple features from each parameter declaration. Fewer bugs. - Robust: Get production-ready code. With automatic interactive documentation. - Standards-based: Based on (and fully compatible with) the open standards for APIs: OpenAPI (previously known as Swagger) and JSON Schema. * estimation based on tests on an internal development team, building production applications.
FastAPI フレームワーク、【1】高性能、学習しやすく、コーディングが速く、本番環境に対応 FastAPI は、標準の Python 型ヒントに基づいて Python 3.6+ で API を構築するための、最新の高速 (高性能) な Web フレームワークです。 主な機能は次のとおりです。 - 高速: NodeJS および Go と同等の非常に高いパフォーマンス (Starlette および Pydantic のおかげ)。利用可能な最速の Python フレームワークの 1 つです【2】。 - コーディングの高速化: 機能の開発速度が約 200% から 300% 向上します。 * - バグの減少: 人的 (開発者) によるエラーを約 40% 削減します。 * - 直感的: 優れたエディター サポート。ところどころ完成【3】。デバッグ時間の短縮。 - 簡単: 使いやすく、習得しやすいように設計されています。ドキュメントを読む時間が減る。 - 短い: コードの重複を最小限に抑えます。各パラメーター宣言からの複数の機能。バグが少ない。 - 堅牢: 本番環境に対応したコードを取得します。自動対話型【4】ドキュメント付き。 - 標準ベース: API のオープン標準である OpenAPI (以前は Swagger として知られていた) および JSON スキーマに基づいています (完全に互換性があります)。 * 実稼働アプリケーションを構築する社内開発チームのテストに基づく見積もり。
エラーと思われる部分
# | カテゴリ | 重大度 | 説明 |
---|---|---|---|
1 | 正確さ | 軽度 | DeepLの説明と同じで、句点などで区切った方がよい |
2 | スタイル | 軽度 | リストの説明文で、全体的に常体と敬体が混在している |
3 | 正確さ | 重度 | completionはコードの「補完」のこと |
4 | 正確さ | 軽度 | 「自動対話型」としてしまうと、対話が自動であると受け取れる。正確には、対話型(インタラクティブな)ドキュメントが自動的に生成されるということ。つまり「自動」が修飾するのは「ドキュメント」の方である |
考察
重いエラーはあまりなかった。気になったのは「補完」という比較的プログラミングではよく使われる用語が正しく訳されていない点くらいだった。
結論
今回特に気になったのはDeepLの「抜け」(#5と#10)と「余分」(#6)の部分だった。前回も2つほど抜けがあった。前述のようにNMTの弱点は訳抜けである(だった)と言われており、抜けや余分はあっても日本語訳だけからはすぐに判別できない(しかも日本語自体は整っているので厄介)。もし重要な文書をMT出力で読む場合、現時点では対訳形式で確認しつつ読み進めた方が無難だろう。