2024年3月14日木曜日

ChatGPT などによる論文の英文校正

生成系 AI をうまく使うと、自分で書いた研究論文などの英文をうまく校正できることが知られています。実際、とある校正会社も独自に学習させた AI をサブスク販売しています。筆者も生成系 AI をどのように使えば効率よく校正できるのかに興味があり、それをいろいろと試してきました。下記が今のところ良いかなと思う方法です。またより良い方法を見つけたら、更新していきたいと思います。

(1)ChatGPT, Google Gemini, Bing-AI(Copilot)アカウントをつくる

ChatGPT は確か携帯の電話番号が必要でした。Google Gemini は Gmail アドレスが必要だったと思います。Bing-AI もマイクロソフトアカウントが必要と書かれているのですが、なくても何故か動いている時があります。

アカウントを通して個人の嗜好が集められてはいると思います。しかし、3つとも大手ですし、むしろクッキーを通して何百という得体の知れないサイトに知らず知らずのうちに個人情報が流れてしまっている現実と比べると、上記3社は安心してよいのではないかと思います。それに「この人はいつも NMR の科学用語を投げ入れているなあ」と、向こうがこちらを学習し、こちらの入力により適切に対応していってくれているのではと期待しています。

(2)DeepL か Google 翻訳で直訳する

日本語をいきなり ChatGPT に入れてもよいのですが、時々 ChatGPT が、良かれと思って日本語の意味を拡大解釈してしまう時があり「そんなつもりで書いたのではないのに。。。」ということが時々起こります。そこで、DeepL などを使って、まずは直訳調の英文を作ってしまいます。直訳といっても DeepL も AI ですので、それなりにすばらしい語彙の英文を提供してくれます。自分でいきなり英文を書くと、貧弱な語彙で酷いものになってしまいますが。

いきなり英文で書いていった方が自分の英語力上達のためには良いのかもしれませんが、どうも論旨がぶちぶちと切れたような文章になり勝ちです。その理由は、語彙や細かい文法などに気をとられてしまい、文章全体の流れを途中で忘れてしまうためではないかと思います(木を見て森を見ず)。そこで、まずは一段落分のミニタイトルを書いた後、日本文で勢いよくその一段落を書いてしまうようにしています。このミニタイトルは WORD の目次に自動設定します。すると、目次を読むだけで、論文全体の大きな論旨の流れをつかむことができます。論文執筆の初期段階は、できるだけ(木ではなく)森を俯瞰するようにしています。

なお「この結果により、○○が示された」のような邦文ではなく「この結果は、○○を示した」と、無生物主語の SVO あるいは SV 文型を使うようにします。すると、英訳もストレートに「The results showed that ...」のようになります。要するに "It is indicated that ...」のような受動態が出てくるのをできるだけ防ぐわけです。また「ここは自分たちが見つけたんだ」という箇所は、素直に「私たちが」と書くようにします。そうでないと reviewer は参考文献の人が出した結果だと誤解してしまうかもしれません。実際に、著者か参考文献かのどちらが出した結果なのかが分からないような論文をよく見かけます。この辺りは分野によって考え方が異なりますので、なんとも言えませんが。

なお、DeepL か Google 翻訳のどちらが良いかは好みにもよりますが、実行する時間にもよります。筆者の経験ですが、混んでくると、どうも両者ともにさぼり始めるようです。あまり良くない英文やほとんど修正していない英文が返ってくるのですね。それで、筆者は両方で英訳させ、両者のよいところを縫い合わせて、新たな英文を作り直します。その時に左の「日本文」と右の「英文」を矢印でひっくり返すと便利です(下図)。作った英文を自動和訳させて、ちゃんとした日本文になっていれば、その英文の正確さも当たらずとも遠からずでしょう。下図の例では、DeepL よりも Google 翻訳の方が良かったので、それを例として示しています。どちらがよいかは偶々です。右側の和訳もそう悪くない?



(3)その英文を WORD ファイルに貼り付ける

この WORD ファイルの名前を「校正前.docx」とします。その時にできれば、フォントやサイズなどを自分の好みに合わせておきます。

(4)同時にこの英文を ChatGPT などに入力する

筆者は "Proofread the following sentences." というお願い文(プロンプト)を先頭に付けますが、最近は日本文でも依頼できるようです(下図)。例えば、「下記の英文は native speaker によって文法的にも語彙的にも誤りがあると指摘されました。そこで、そのような誤りだけを訂正してください。あまり大きな校正はしないでください。」などです。なお、入力する際にリターンキーを押すと送信されてしまいます。単に改行だけしたい場合には shift キーを押しながら return キーを押します。



非常に長い英文を入力すると、回答も長過ぎて途中で表示が切られている場合があります。その時は次の空白に「つづき」と打ち込むと、また続きを表示してくれます。2,000 円/月ほど払えば、長い文章でもやってくれるのでしょうか?

ChatGPT などはリセット(New Chat というボタン)するまでは、質疑応答を覚えています。もしかすると、最初の回答では冠詞が a だったところが、2度目3度目の質問では the に置き替っているかもしれません。

(5)校正結果を別の WORD ファイルに貼り付ける

なんと、今回はほとんど修正がありませんでした。put を input に校正されただけ、というわけで、それでは Google Gemini の方を試してみます。すると、いっぱい解説も出てきました。何故ここを修正したのかの理由まで書かれています。これを読むと英語の勉強になります。しかし、最終英文が見つからなかったので、「校正を反映させた英文を表示してください。」と打ち込みました。時々このようなことがあります。この結果を「校正後.docx」というファイルに貼り付けます。

下図は、クリックすると分解能が上がります。



ここで「校正前.docx」と「校正後.docx」のフォント、サイズなどを揃えておきます。

ChatGPT などはテキストとして出力しますので 2H3 などの「下付き」「上付き」などの情報は消えてしまいます。また、論文ですと EndNote, Zotero などで付けた参考文献情報なども消えてしまうのですね。しかし「校正前.docx」には(これが論文原稿そのもののコピペであれば)その情報が残っていますので、後述のように、その点をうまく利用してやります。

(6)WORD 文書を比較

WORD には二つの文書を比較してくれる機能があります。同じことは無料の「Google ドキュメント」でも出来ます。「校正前.docx」において「校閲」→「比較」と進んでください。




そして、左に「校正前.docx」右に「校正後.docx」を選びます。これがちょっと面倒ですが、二回目以降はかなり指定が楽になります。そして、その下にいろいろオプションがありますが、これをほとんどキャンセルします。これをデフォルトのまま行うと、ありとあらゆる形式までをも比較してしまい、比較結果が煩雑になり過ぎます。今のところ、上図程度で十分かなと思います。

そして OK を押すと、「校正前.docx」の方に校閲が入ります。これはすばらしい。なお、それぞれのファイルを保存しなくてもちゃんと作動しているように見えます。一度試してみてください。ダメでしたら、ちゃんと保存してから比較してください。




(7)校閲案を承諾あるいは拒否

業者さんに英文校正を出して戻ってきた時の結果にそっくりです。あとは「校閲」→ 「変更箇所」で → を押しながら「承諾」か「拒否」かを選んでいきます。なお、上記で参考文献や「上付き」文字など、いろいろな箇所が ChatGPT の出力では消えてしまうと書きましたが、ここで「拒否」を押すとそれらが残りますので、EndNote や Zotero の情報も維持されるわけです。

(8)DeepL で再確認

最後に出来上がった英文が正しいかどうか、これを DeepL に入れて和訳させてみましょう。
う~ん、ちょっと違った意味になってしまったような気もするのですが、まあ今回は例ということでどうかお許しを。



この英文をさらに校正させたらどうなるのだろうと試したことがあるのですが、だんだん変になってしまいます。よって、校正は一回だけの方がよいかもしれません。筆者は結果に満足しない場合は、ChatGPT 以外の Gemini, Bing-AI も試して比べることにしています。

生成 AI はその特徴として、いつも異なる出力をします。ChatPGT も含めて内部ではいわゆる Transformer とよばれる仕組みがエンジンのように動いています。この機能は、文章の次の単語を確率的に選んでくるわけですが、AI はいつもベストの単語を選ぶわけではありません。もし、そうだとすると 100 回同じ質問をしたら、100 回とも同じ答が返ってくるはずです。それでは全く面白くありませんので、ベストではなく、ちょっとだけ確率の低い単語を次の候補として選んでくるようになっています。したがって、100 回質問すると、100 回とも異なる答が返ってくるわけです。しかし、それを繰り返してしまうと、少しずつ元の意味からずれていってしまうのでしょうか?さらに、時々リセットしないと、過去の質問内容も考慮されてしまい、ずれがますます酷くなるような気もします。

また、一日中使っていると、疲れてくるのかサボり始めます。よって、休憩を入れるとともに、3種類の AI を回しながら使ってあげましょう。なお、丁寧に頼むとそれなりに丁寧に対応してくれます。「これを校正しろ!」などと頼むと、どうなるのでしょうね?筆者はこれまでの絆を壊したくないので、試したくはありません(笑)。なお、自分の好みのアバターが設定できれば優しい依頼の仕方になるのではないかと誰かと話したことがあります(仮想空間にのめり込んでしまう可能性も高く、それはそれで問題ですが)。

一応、生成 AI 自身は内容までは理解しておらず、単に言葉遊びをしているだけだと、よく本に書かれています。しかし、筆者はいろいろな校正をさせていった時「あれ?これはとうとう理解し始めたなあ」と感じる時が何度もあります。いちど蛋白質の構造についての英文を校正させている時、対象サンプルが単量体ではなく二量体であることを理解していないと絶対に出てこないような英文を出力され、背筋がぞっとしました。

下記サイトに少し触れられています。
https://writings.stephenwolfram.com/2023/02/what-is-chatgpt-doing-and-why-does-it-work/

上記の英文をよく見てみると、ちょっと変ですね。「いきなり」の訳語として suddenly という単語が使われていますが、これはちょっと変です。本当は directly「直接に」の意味で使いたかったのですが。そのようなちょっとした?翻訳の違いは、最初の Google 翻訳か DeepL の段階で直しておくことが望ましいのです。そうでないと、その後の ChatGPT は、本当に suddenly の意味で書かれた文章だと思って解釈してしまうためです。

もう一つ AI 翻訳に難しい点があります。当然ながら、文章とはひとつひとつの文が連続してつながったものです。しかし、これはランダムにつながっているのではなく、基本的に、動詞の前は既出の(既知の)名詞が置かれ、動詞の後は新出の(未知の)単語が置かれます。ですので、4番目の文章の後半にある単語には a がついていて、これが5番目の文章の頭では the がついた名詞になったり、it, they などの代名詞に置き換えられるのです。そうでないと、脳はすらすらと文章を理解していけなくなります。

下図のような繋がり具合です。

----------
         ------------
                    -------------
                                 --------------

我々が母国語で文章を考える時には知らず知らずのうちのこの原則が守られます。あるいは、うまい接続詞(だから、それゆえ、なぜならば etc)を通して文章どうしが論理的に結ばれていきます。ところが、自動英訳がそこまで考慮してくれるかどうかは疑問です。したがって、ある1文だけに着目してみると完璧に見えるのですが、その前後の文章とのつながりを見てみると、「(新出)- 動詞 -(既出)」と逆の順番に並んでいたりして、読者はそこで返し読みをしないといけない羽目になるのです。論文の審査員はそこでイラっとして、こんな論文は refused! だとなってしまうのです。

一般的には "There is an apple." "Here comes a bus." のようにあえて "there, here" を入れて、a 付き単語を is の後ろに追いやることが多いです。"There is the apple." とは絶対に言わないです。しかし、「何かが現れる appear, come」を使った表現では(新出)単語が先頭に来ることもあります。"An apple dropped on my head." のように言うこともしばしばで、これは何故なのでしょうねえ?こういう場合は、論理性よりも「強調性」を
優先しているのかもしれません。原始時代に "A lion is rushing to us!" を論理的に言っていたら、言い終わる頃には食べられてしまっていたでしょうし。。

ドイツ語などには格変化がまだ残っていますので、SVO の文章で O が the のつく単語で、S が a のつく単語であれば、OVS の順番にすることができます。これはすごい便利!その代わり、格変化がしっかりとしていないといけません。日本語も「てにをは」があるので大丈夫ですね。「A さんを B さんが愛している」という文章も問題ありません。しかし、英語は格変化をそぎ落としてしまったために、むしろ語順が重要になってしまい、"A loves B." と "B loves A." とでは、場合によっては大喧嘩になってしまうのです。

ひとつ前の文章の(未知)単語をいちいち次の文章で(既知)単語に直して言い直すのは面倒です。聞いたり読んでいる人の頭の中には、まだその単語が記憶されているはずです。よって省略してしまいましょう。それで日本語は主語がなくなってしまったのかもしれません。英語は主語を抜くことができないので、とにかく何かをつけないといけません。そこで、超短い代名詞ならばなんとか良かろうということになり、you で始まる文章が頻出してしまいました(これ推測ですので、信じないように)。you には何の意味もなく、要は "it rains." の it に相当するようなものです。重要な(未知)単語は "you + 動詞" の後に来ますよということを示すための決まり文句のようなものです。日本人は you, you と言われると自分が責められているような気分になり気落ちしてしまいますが、その必要はないことが分かります(しかし、責める時には欧米でも you を使わない方がよいらしい。やはり、英語でも you に「おまえは!」という意味がちょっとだけ残っているのでしょう。)日本人はこの you を瞬間的に使うことができないために、思わず目的語を前にもってきてしまい、仕方がないのであわてて受動態を速攻英作文する羽目になってしまう。すると頭がごちゃごちゃになって英会話が止まってしまうのです。笑われてもいいやと覚悟して、会話では you を、論文では we を使えば「あら不思議、こんなに英語がすらすらと出てよいのかしら?」という現象になることもある?

このような観点と上記の(既知)- 動詞 -(未知)の語順の両方の原則をどのように叶えるか?これは、私が長年悩み続けている問題で、よい解決策が私には見つかりません。接続詞を使うとよいように思いますが、そればかりを使うと超変な文章になります(日本人が作った英文、英会話では so, so that がやたら多くなってしまう)。そこで、流れるような文章を書く L. E. Kay さんの NMR の論文をいろいろ分析してみました。すると、日本語の語順にそっくりなのです。いわゆる倒置文のような形式が多用されています。そのため、まるで司馬遼太郎の文章のように、流れるように(返し読みを全くしなくても)文章が頭の中にすらすらと入ってくるのです。ただし、主語が超長くなるケースが見受けられます。"○○○○○ ................ ○○○○○○○○○○○○○ was conducted." のような。これは "We conducted ○○○○○ ................ ○○○○○○○○○○○○○." にした方が良いような気もするのですが。。。

しばしば受動態を使わずに能動態を使うようになどと言われますが、それよりも(既知)- 動詞 -(未知)の原則を優先させ、しかたがない時には S と O をひっくり返して受動態にする方がよいような気もします。また、無生物主語をうまく使うと、上記の問題がかなり解決できます。よく「受動態は動作主がよく分からない、漠然としている場合に使われる」などと教科書に書かれています。それも当てはまりますが、私は、太古の昔に前文の最後の a つき(未知)単語を受けて、次の文章で(既知)単語を the つきで慌てて発してしまい、しかし、格変化がないからまずいことになって受動態にしたのではないかと推測しています(もちろん、なんの根拠もなし)。

話がかなり逸れてしまいました。つまり、AI 翻訳では上記のことまで考慮してくれてはいないかもしれないということです。そこで、ChatGPT に放り込む前にこれを考慮して英文を修正しておきましょうということを書きたかったのです。間違えていても構いません。そのようなミスは後の ChatGPT が直してくれますので。

以上、急いで作りましたので、少しずつこれを「校正」していきます。日本語の AI 校正もできるのでしょうか?