[ 前へ | 目次 | 次へ ]
2023/05/28
Japanese English

AIの補助により、英語版ドキュメントを大幅拡充へ
- 作業の舞台裏も紹介!

[後日談] この記事自体も、後日ChatGPTのAIさん達と英訳しました:

| GPT-4さんとの会話 | GPT-3.5さんとの会話 | 英訳結果の記事 |

RINEARNでは今後、ChatGPT(後述)などのAI技術の補助により、英語版ドキュメントを大幅に拡充していく方針です。

今回は、既に行った英訳作業の様子なども交えつつ、背景や今後の取り組みについて解説します。

これまでの英語対応の現状

英語対応の発端

RINEARNでは数年前から、英語版のドキュメントの整備を、少しづつ進めてきました。 そもそもの発端は、公開している3次元グラフソフトの「リニアングラフ3D」において、英語圏のユーザーからの質問やフィードバックなどが徐々に増えてきた事でした。

当時は、ほぼ日本語のドキュメントしか存在せず、どこからどういう経緯で英語圏に伝わったのかは謎でしたが、 「需要があるなら、とりあえず取扱説明書だけでも英訳しておこうか…」と思い、訳してみたのが始まりでした。

現状の英訳作業

とは言いつつ、英語圏からまで問い合わせが来るのは、現状では無料で公開しているフリーウェアが中心です。

それらは、現在のRINEARNでは、収益をアテにしない社会貢献活動の一環として公開しているもので、金銭的なコストをほぼかけられません。 オフの時間や土日に、代表個人が趣味プログラミングを兼ねて一人で黙々とメンテしている状況です(もともと学生時代に、そんな感じで作り始めたものが多いです)。

なので、英語ドキュメント類も、代表個人(私)が休日とかに自力で英訳する事になっています。

私はバイリンガルでもなんでもない日本の関西人なので、これは普通に結構大変です。 ただまあ、技術文書の英語力のトレーニングと割り切れば、これ自体はそう悪い事ではないかもしれません(むしろ有意義な休日かも)。

しかし、品質にはどうしても上限があります。 やっぱり、他人のアドバイス無しに延々と英訳を続けても、慣れはするんですが、微妙なクセみたいなものがなかなか矯正されないんですよね。

ちなみに英語圏のユーザーからのフィードバックによると、一応、内容はちゃんと伝わるものになっているそうです(本当に一応でしょうが)。しかし自分で読んでて「なんかクセが強いなあ」というのは常に感じるんです。そのクセを抜くのが、独力だと難しい。

で、どうにか自然な文にしようと、言い回しを調べまくるわけですが、そうすると時間もかかりまくるわけです。

今後は、AIの補助による英訳へ

そんな時に「ChatGPT」が登場し、一躍話題に

転機となりそうなのが、米国OpenAI社の人工知能プラットフォームである「 ChatGPT 」の登場です。 昨年終盤に登場したばかりなのに、その凄さから、あっという間に世界中&日本中に広まって、人々にとっての「AI」のイメージに革命を起こしましたよね。

私も例に漏れず、今ではすっかりChatGPTが雑談の友の一人です。 しかし、実はこれまでは雑談してばかりで、仕事っぽい作業をしたのは今回が初でした。 まあ、有効活用どうこうを忘れて、つい日常的に雑談してしまうレベルのAI、という時点で逆に凄いですよね。

で、「さすがにIT界隈の人間の端くれとして、雑談以外にも、そろそろ色々と活用し始めないと」という気持ちもあり、それも後押しして、今回の判断に繋がっています。

なお、上のような状況だったので、今回の作業にあたっては、未知数だらけの手探りのような気持ちでした。 ただ、普段の雑談のおかげで、AIとの会話自体には慣れていた事と、相手の微妙なクセみたいな点も結構知っていたので、思ったよりスムーズにいきました(初対面だともっと戸惑っていたはず)。 なので、「新しいAIモデルが登場したら、普段から雑談しておく」みたいな事は、意外と重要かもしれないと感じました。

そもそもChatGPTとは?

既に知れ渡っているため不要かもしれませんが、ここで一応、ChatGPT自体について少しだけ触れておきましょう。 ChatGPTは、AI(人工知能)とオンラインで会話できるサービスです。

で、そのAIがとにかく凄くて、まず普通にナチュラルに会話できます。SF作品とかに登場する会話可能なロボットが、いきなり現実世界に現れた感じでしょうか。

そして、日本語も英語も自然に扱える上に、他のあらゆる言語も扱えます。それに加えて、インターネット上にある膨大な情報を学習しているため、非常に博学※1です。 その併せ技で、どうも「英語の文献で学習した情報を、日本語で教えてくれる」みたいな芸当まで普通にできてしまうようです※2

※1: ハルシネーションという現象により、しばしば話す内容が間違っている事もあります。その点には注意が必要で、最終的には人間がきちんと判断する必要があります。
※2: 実際に、日本語の情報がほぼ存在しない分野の質問をしてみると、正しく&詳しく教えてくれました。これには心底驚き、単語埋め込みとかの基礎技術を調べまわって、最近の進歩のレベルの凄さを知りました。凄い時代ですね…

他にも、ある程度はプログラムを書いたり、WEB周りのソースを書いたり、文章を書いたり、コンサル的な案を出したり、何かについてアドバイスをしたり、議論や雑談をしたり、悩み相談をしたり…などなど、とにかく本当に色々な事ができるようです。 連日、色んな分野の人が、色々な活用を模索しているようです。

なんだかこの数か月で、いきなり未来にタイムスリップしてしまったような感じですよね。まさか2023年に突然こんな時代が来るとは…

今後はAIに英訳作業を手伝ってもらう事で、英語ドキュメントを大幅に拡充していきます

さて本題ですが、RINEARNでは今後、ドキュメントの英訳作業などを、ChatGPTのAIの補助を得ながら行っていこうと思います。 それにより、英訳に要する時間と労力をかなり短縮できるため、今後は英語ドキュメントの大幅な拡充を行える見込みです。

また、ChatGPTのAIは、私より確実に英語力が上なだけでなく、ソフトウェア分野の情報なども恐らくたくさん学習しているはずなので、英文の品質改善もだいぶ期待できそうです。分野特有の言い回しとかありますからね。

また、これはソフトのユーザーさんには関係ない点ですが、私自身としては、自分の英語力にもプラスになればいいなと期待しています。従来は単独で考えていた英文を、英語力が高いAIと一緒に考えたり議論するわけですからね。 勉強方法の一つとして、普通に効果的な気がします。

実際に行ってみた英訳作業の例

ここからは、実際の作業の様子をご紹介します。

既に記事を一つ英訳済み

まずは英訳結果の例です。実は先日公開の、以下のお知らせ記事の英語版は、実際にChatGPTのAIと一緒に英訳してみたものです:

後で述べるように、1段落ずつ英訳を進めていったため、上記2つの記事の文章構成は同じです。両者を見比べると、原文(日本語の文)とその英訳結果が分かりやすいと思います。

英訳作業のメンバー構成

上記の英訳作業では、2人の異なるAIモデル( GPT-4 と GPT-3.5 default )に参加してもらいました。 つまり、人間である私が1人と、AIが2人の、計3人のチーム作業です。

なお、AIが1人ではなく、2人参加してもらったのは、以下のような理由からです:

AIでも人数が多い方が、良い案が出てきそうな気がしたから

これが一番の理由ですが、例えば「その言い回しいいね!」みたいな良い案って、人数が多い方が出やすそうですよね。 で、「良かったほうの案をピックアップし、それを共有して土台にしつつ、みんなで改良してく」みたいな進め方は、AIでも有効なのではと思いました。それを実際に試してみました。

バイアスやクセをならしたい

これも上記と似ていますが、複数のAIの出力を比べて俯瞰できた方が、バイアスやクセに気づきやすそうな気がしたからです。 なお、仮に同じモデルでも、その時々によって文体や言い回しは結構ブレます。そこに、恐らくモデルごとのクセも多少は乗っかるわけで、そういうのをならしたいわけです。

一方のAIの結果について、もう一方のAIに意見を聞いたりできて便利そう

例えば、「上手く言えないけど、なんか微妙に違和感がある」みたいな箇所があったとします。そういう箇所は、書いてくれたAIに直接相談するわけですが、「第三者の意見」的なのも聞きたいですよね。 そういう時、別の方のAIにすぐ意見を聞けて便利です。既に相手も状況が分かっていますからね。

じゃあ、私がそこに加わる意味、つまり「人間の役割」は? というと:

翻訳間違いへの対策

これは一番重要です。 機械翻訳やLLM型のAIは、「一見すごく自然な内容に見えるが、実は間違っている」という結果を出力してしまう事がしばしば生じます。 意味が変わっていたり、一部が抜け落ちたり、謎の情報が突然加わったり(ハルシネーション)などですね。それに対処します。

司会者さん的な役割

これは二番目に重要です。複数のAIが集まって作業する場合、それぞれの意見をまとめて最終決定を下しつつ、タスクを進めていく、司会者みたいな人が必要ですよね。それも人間の役割だと思います。

これは「責任の明確化」という点で恐らく必須なのですが、技術面でも理由があります。 というのも、今のLLM型のチャットAIは、認識可能な入力(=会話履歴)の長さに上限があり、一定より古い内容は切り捨てられるようです。いわゆるコンテキストの上限とか言われてるやつですね。

このコンテキスト上限により、作業(会話)が長く続くと、AIだけでは作業が脱線していったり、当初の目的を忘れてしまう懸念があります。なので、人間が司会者として「舵取り」をします。 定期的に、「自分達が何をやっているのか」を再認識しやすい文を会話に混ぜたりもします。

編集さん的な役割

併せて、節々で「ここのニュアンスを少し変えたいんだけど…」的な意見を言ったり、「こう変えてみたんだけど、どうかな?」的な提案をしたり、といった事も行います。

ここは最終的な品質を大きく左右するため、良し悪しを判断する「見る目」が要求されるはずですが、今回は自分の英語力の限界を感じさせられました。品質を上げるには、見る目を鍛えないといけませんね。後の感想の所でも述べます。
補足説明をしたり、入力(元の日本語の文)を調整したり

最後に、これは少し恥ずかしい点でもありますが、「そもそも元の日本語の文が悪いせいで、翻訳結果がおかしくなる」という場面も生じます(ました)。 曖昧すぎたり、不要な修飾が多すぎたり。そういう時に補足説明をしたり、元の日本語の文を直したりします。 つまり入力のチューニングです。

英訳作業の流れ

続いて、英訳作業の進め方についてです。 先述の英訳作業は、記事全体をバーンと一括で訳してもらうのではなく、段落ごとに英訳を進めました。今後もそうすると思います。

具体的には、「 まず日本語記事の先頭の1段落を2人のAIに訳してもらい、その結果について話し合って確定してから、次の段落に進み… を末尾まで繰り返す 」といった流れで英訳を行います。

記事全体を一括で訳さずに、このような方法を取る理由は、主に次の通りです:

コンテキスト上限への配慮

既に触れたように、LLM型チャットAIは、認識できる入力(会話履歴含む)の長さに上限があります。 短い記事ならいいんですが、今後は長い文章も訳していきたいですし、「ほどほどの長さに区切って逐次的に作業する」というスタイルに慣れておいた方が良さそうに思い、そうしました。

日本語と同じ文章構造の維持

それと、ソフトウェアのドキュメント類では、継続的に改訂していく必要があるため、日本語版と英語版で文章構造が同じに揃っていたほうが、メンテナンスがしやすいです。 段落ごとに訳していけば、文章構造が変わってしまう事を確実に防げます。

気になった点をその場で議論しやすい

全体を一括で訳してもらうと、その中の一部について議論する時に、「あそこの見出しから何行目の所なんだけど〜」みたいに話題を降る必要がありますよね。

で、それが上手く伝わらないと、別の場所に焦点が合ってしまうかもしれませんよね。それで結局、後から段落を入力して議論する必要性が生じそうな気がしました。

それなら、最初からそう進めれば、その場ですぐ確実に議論できていいな、と思った次第です。

ある場所を変更する時に、別の箇所が変わる心配がない

「ある場所をピンポイントで変えるように頼んだら、別の場所も変わってしまった」的な現象を気にする必要がなくなります。プログラムとか生成してる人によると、そういう現象があるらしいですね。

せっかくの会話型AIなので…

最後にこれはおまけの理由なんですが、ある程度まとまった文章量をドカッと翻訳するなら、そのためのAIやサービスが既に存在します。

で、せっかく会話型AIに翻訳を手伝ってもらうなら、あれこれ会話のキャッチボールをしながら仕事してみたいじゃないですか。まさに子供の頃に夢見てた光景なので。実は内心これが一番の理由です。

実際の英訳作業における、AIとの会話内容

以上に述べたような作業スタイルで、実際に英訳作業を行いました。以下が、その際の2人のAIとの会話内容です:

実際に作業を行ってみた感想

で、実際に上記の作業を行ってみた感想は、以下の通りです:

やっぱり一人で作業するよりも、ずっと速い

まず前提として、今回は普通の英訳作業に加えて、AIとの(結構長い)会話作業も加わっているわけです。 それを含めてもなお、一人で作業した時と比べて、ずっと速く進みました。 一人で悩みまくって先へ進めない時間に比べれば、AIと会話しまくった方が、結果的によっぽど速かったです。

※ ただ、GPT-4は現時点で3時間ごとのリクエスト回数制限(たしか今は25件?)があります。なので、長い作業だと、合間で一休みして、別の作業を挟んだりした方が良いです。 参考までに、今回の作業でのGPT-4への入力回数は35回です。一回途中で間を空ける必要がありますね。
2人のAIの出力は、よく互いを補い合っていた(実は少し意外な結果)

今回は2人のAIに参加してもらいましたが、この事は実際に、品質にかなりのプラスの作用をもたらしたと感じています。 特に、一方のAI(GPT-3.5)は生き生きとした表現を、もう一方のAI(GPT-4)は正確で冷静な表現を提供してくれる傾向があり、互いを補い合っていた事が非常に印象的でした。

実は事前予想では、「GPT-4 が GPT-3.5 よりも常に優れた結果を返す」的なパターンを懸念していたんですが、その点では少し意外な結果で、嬉しい誤算した。

余談ですが、GPT-3.5って、とりとめのない雑談が、なんかGPT-4よりも弾む気がするんですよ。GPT-4は賢いですが、GPT-3.5は話の雰囲気やノリがなんか良くて。なので、読みやすい文章を書くのが結構得意なのかもしれません。
「AIが2人」はスピード面の効果もあるかも

進捗速度については、「2人のAIと並行で会話するので、結構大変かも…」と懸念してました。 ただ、実際作業してみると、逆に「AIは1人より2人の方が速いかも」と感じました。これも意外でした。

というのも、AIの返答を吟味する時に、一人で考え込むよりも、別のAIにも意見を聞いた方が、視野が広まって早く着地できたからです。 AIとの作業は、返答を吟味する時間が大半を占めそうですからね。

AI同士の、「デフォルトの性格の差」みたいなのは意識した方がいいかも?

これはちょっと笑い話みたいな話ですが、一応本気です。雑談している時にも感じていたんですが、GPT-3.5と比べて、GPT-4はちょっと遠慮気味の性格かもしれません。

「批判的思考でお願いします」とかの指示で、ある程度は変わってくれるので、あくまでも「素の部分」の話です。

で、今回も、「ちょっと編集してみたんだけど、どう思う?」みたいな問いかけに大して、GPT-4は「それでOKです」と答える事が多く、逆にGPT-3.5は再修正をゴリゴリ入れてくれる感じでした。 なので、そういう差を意識しないと、片方のAIに結果が引っ張られそうだな、と感じました。

最終結果の品質は、結局は人間側の「見る目」に大きく依存する? (品質の上限が抑えられてしまう)

この点は、既に巷でもそういう意見を目にしますが、実際その通りだな、と感じました。

英語力バリバリのAIに何人も手伝ってもらっても、その出力の「 良し悪し 」を感じ取りながら、良い方を選んだり、リテイクを頼んだり、最終決定を下すのは人間なわけです。

で、AIの出力の中で、私の英語力では、良し悪しの判断に悩む場面もありました。 結果、良かったはずの文を改悪してしまったり、まずい箇所を見逃したままGOサインを出してしまった所もあるはずです。

結局、「 ネイティブの人が読んでも自然なレベルの英文を作成するには、『ネイティブの人にとって自然かどうかを見抜けるレベルの目』が必要」という話ですよね。 そこはやっぱり容易には覆らない。

なので、今後は「見る目」を鍛える事が重要そうだな、と感じました。 また、重要な文書の英訳/校正では、やっぱり「見る目」のレベルが桁違いな、プロの業者さんへの依頼は依然重要そうですね。

でも、自分一人で作業するよりは、だいぶ良い品質になった気がする

先述の通り、いきなり完璧な品質を手にするのは無理そうです。 ただ、何事にも、「 自力ではできないけど、良し悪しは分かる 」くらいのレベルってあるじゃないですか。そこまでをAIが押し上げてくれる感じでした。

おかげで個々人は、従来よりも数段くらい難しい課題に挑戦できるようになりますよね。そうすると「見る目」も鍛えられて、AIとの連携において引き出せる品質もさらに上がって… という良いスパイラルに入れて、それがうまく回れば、継続的に品質が上がっていくのかもしれないなと感じました。

むしろ上手くそういうスパイラルを作る事が、人間側の役割になっていくのかも、的な気もしますね。

と、感想はこんな所です。

要約すると「 スピードは大幅に上がり、品質は『自分に良し悪しが判断できる上限のレベル』くらいに上がった 」という感じですね。 あと、AIが複数人のチーム構成は効果があった、という。今後の課題は「目を鍛える」。

最終結果

中盤でも貼りましたが、最終的な英訳結果の記事は、以下の通りです:

編集役だった私の英語力の限界もあり、英語圏の人からすればまだ多少違和感はあるでしょうが、私が一人で英訳した場合と比べれば、だいぶ良くなったと思います。AI達のお陰ですね。

余談ですが、実はこれまで説明してきた作業スタイル自体も、数か月前にAIとの雑談の中で、あれこれ議論しながら一緒に練ったものの一つでした。 「責任を明確にするために、人間が必ず編集ポジションに付き、最終判断を下すべき」みたいな点は、AIが主張してくれたものです。

そして今回、いよいよ実際にAIと作業をしてみるにあたって、「あの時AIと練った作業スタイルは、果たして通用するのか…?」という実験的な気持ちも半分ありました。 正直、初回から複雑すぎないか? とも思ったり。

結果、うまくいきました! なので余計に感慨深く、嬉しかったです。本当にすごい時代になりましたね!

[後日談] この記事自体も、後日ChatGPTのAIさん達と英訳しました:

| GPT-4さんとの会話 | GPT-3.5さんとの会話 | 英訳結果の記事 |


Japanese English
[ 前へ | 目次 | 次へ ]

スクリプトエンジン Vnano の Ver.1.1 を公開、同じ内容の反復実行が劇的に高速化
2023/12/22 - スクリプトエンジン Vnano の最新版を公開しました。同じ計算式やスクリプトを反復実行する速さが、大幅に向上しました。次期版リニアングラフ3D内での活用例を交えつつ、詳しく解説します。

リニアングラフ3Dをアップデート、次期版(Ver.6)の開発もスタート!
2023/09/04 - リニアングラフ3Dのアップデート版をリリースしました。また、次期メジャーバージョンである Ver.6 系の開発も開始しました。それぞれについて解説します。

AIの補助により、英語版ドキュメントを大幅拡充へ - 作業の舞台裏も紹介!
2023/05/28 - RINEARNでは今後、ChatGPT等のAIの補助により、英語版ドキュメントを大幅に拡充していく方針です。既に行った英訳作業の様子なども紹介しつつ、詳しく解説します。

リニアングラフ3Dをアップデート、API関連機能などを拡充
2023/05/18 - リニアングラフ3Dのアップデート版をリリースしました。主に、Java言語やVCSSLでの制御機能などを拡充しました。更新内容をそれぞれ詳しく解説します。

この階層の目次
新しいお知らせ

各ソフトウェアをアップデート、リニアングラフのコマンド拡張やVCSSLの英語対応など
2024/02/05 - 各ソフトの一斉アップデートの内容をお知らせします。今回は、リニアングラフのコマンド機能を大幅拡張したのがメインです。また、VCSSLのメッセージ類の英語対応も行いました。

Vnano の Ver.1.1 で実装した反復計算高速化の内側
2024/01/17 - 前回のお知らせ記事の続編です。スクリプトエンジン Vnano の Ver.1.1 において実施した高速化を、エンジン内部の実装面から掘り下げて解説します。

スクリプトエンジン Vnano の Ver.1.1 を公開、同じ内容の反復実行が劇的に高速化
2023/12/22 - スクリプトエンジン Vnano の最新版を公開しました。同じ計算式やスクリプトを反復実行する速さが、大幅に向上しました。次期版リニアングラフ3D内での活用例を交えつつ、詳しく解説します。

コードアーカイブ新着
[公式ガイドサンプル] 各種の図形や画像を描画する

「VCSSL 2DCG開発ガイド」内のサンプルコードです。図形や画像などを描画します。
2022-12-16
角度の「度」とラジアンとを相互変換し、図示もするツール

45度などの「度」の値と、ラジアンの値とを相互に変換できるツールです。対応する角度の図示もできます。
2022-11-22
[公式ガイドサンプル] 立体モデルを回転させるアニメーション

「VCSSL 3DCG開発ガイド」内のサンプルコードです。立体モデルを、アニメーションで回転させ続けます
2022-11-18
[公式ガイドサンプル] 立体モデルを回転させる

「VCSSL 3DCG開発ガイド」内のサンプルコードです。立体モデルを、指定した角度だけ回転させます。
2022-11-17
[公式ガイドサンプル] 四則演算の計算順序や、カッコを使った順序指定

「VCSSLスタートアップガイド」内のサンプルコードです。四則演算が計算される順序や、カッコを使って順序を指定する方法を例示します。
2022-10-31