生成AIにいろいろなことをやらせよう、という試みは多い。文章を書く、というパターンは多いのだが、正直なところ、ライターである筆者は「書く方」には困っていない。
ただ、日常的に大量の文章を締め切りに追われながら書いていると、困ることもある。
それが「推敲」「校正」だ。いかに客観的に、効率よく行うかが文章の質を高めるには重要だ。
そのためにはテクノロジーも有効に使うべきだ。だからソフトウェアによる校正支援の話はなんどか書いているが、完全に納得しているわけではない。
文章を扱えるAIが手元にあるのだから、それをちゃんと使ってみたい。
というわけで今回は、ChatGPTの機能を使い、「自分向けの推敲支援機能」を作ってみることにしよう。
▲ChatGPTの機能を使って作った「自分用文書推敲君」
推敲を支援する機能が欲しい理由とは
文章を推敲する上での難点は「思い込みが左右する」ことだ。
ご存知のように推敲=著者自身が文章の完成度を上げるために行う行為だが、著者の脳内には「自分が書いたはずの原稿」がある。誤字脱字や表記揺れなどは、脳内の理想状態では「ちゃんとしている」ように感じているので、推敲時にも間違いや不適切な状態がスルーされてしまいやすい。
文章構成についても同様で、「この流れがいい」と思い込んでいると、別の可能性に思い至れなくなる。
だから「書き上がった原稿は1日寝かせてから読み直すと良い」と、まるでカレーのような話があったりするわけだが、出来上がった原稿はすぐに渡さなくてはいけないのが常なので、寝かせておくわけにもいかない。
「締め切りの1日前に書き上げておけばいいのに」って? そんなことができる人はライターになんてならないものなのですよ。
というわけで、書き上がった後にチェックする手段があるとありがたい。
現状、Microsoft Wordの校正支援機能である「エディター」を使うようにしているし、朝日新聞社が提供している文章校正AI「Typoless」も使ってみている。
だが、満足かというとそうではない。
というのは、これらの機能はタイプミスや表記ゆれチェックには有効でも、推敲には機能が足りないからだ。
筆者がやってしまいがちなミスに「文頭・文末表現の重なりを見逃す」というやつがある。
2つの文章が連続して「である」で終わるのは不自然なこと。よほどのことがない限り、ちゃんと書き分ける。文頭の接続詞に関しても同様。曖昧な接続詞は減らした方がいいし、連続させると意味も取りづらくなる。
そうするのが理想ではあるのだが、ダダッと筆が走った状態だと、なぜか連続した表現が残ってしまったりする。たいていは読み直しの時に発見して修正するが、見落とすこともある。自分の記事を読んでいて見つけると、本当に恥ずかしくなる。
記事構成自体がイマイチであることもあるが、それは「校正」の範疇を外れることでもある。著者自身が文章の質を上げる「推敲」の過程で見直すべき事柄だ。
本来、文章の質を上げていく行為は、編集者とともに行うことだとは思う。他人が入って客観視できるので、その方が確実だ。
だが、スピードの速いウェブメディアが基本となった昨今、なかなか難しいのも実情だ。
だとするなら、自分自身で行う「推敲」の質を上げるために、なにか工夫を……と考える必要が出てくる。
GPTsで推敲支援を「自作」しよう
というわけで、校正支援ならぬ「推敲支援」を生成AIにやってもらおう、というのが今回の狙いだ。
ChatGPTの有料プランである「ChatGPT Plus」では、用途向けにカスタマイズしたChatGPTを用意する「GPT Builder」という機能が使える。これを使って作られたものを「GPTs」と呼ぶ。
GPT Builderでは、自分が求める内容を文章で伝えることで、求める機能を作っていける。いわゆる「ノーコードでの生成AIカスタマイズ」なのだが、その機能を活かして推敲用ツール「自分用文書推敲君」を作ることにする。
実のところ、こういう発想は珍しいものではない。検索してみると、OpenAI自身が作ったものもあるし、「推敲用」「校正用」と名付けられて公開されているGPTsもけっこうある。
ただ、使ってみるとこれらは私の役に立たないことがすぐにわかってくる。あまりに初歩的だからだ。
推敲用というGPTsの多くは、一般に言われる推敲テクニックを提示してくれるものになっている。その種の指摘はネットにたくさんあるので、学習すればそれを答えてくれるものは簡単に作れる。
とはいうものの、これでも一応プロなので、「半角と全角を統一しましょう」だとか、「指示代名詞は減らしましょう」とか、「一貫した論旨を目指しましょう」とかいう、一般論はよく知っている。
そんなことを毎回教えて欲しいのではなく、どこに誤字があってどこに表現のダブりがあり、どう直せばいいのか、具体的な指示をくれるものが欲しいのだ。
結局、そういうものはすぐには見つからなかったので、自分で指示しつつ作ることになった。
文章で指示をあたえて「推敲支援機能」を作る
前述のように、GPT Builderは、ChatGPTに「作ってほしいもの」をチャットで指示しながら作り上げていく。画面は左右に分かれているのだが、左が開発のためのチャット画面で、右が出来上がったものを試すプレビューのようなものである。
▲GPT Builder。左で指示を与え、右で作ったGPTsをテストする
画像はそれなりに開発が進んでからのものだが、最初はアイコンも名前もなくまっさらだ。
そこに、次のような指示を与える。
日本語の文章を推敲するためのアシスタントを作成します。求める機能は以下になります。
* 文書はWord形式で読み込む
* 誤字脱字、変換ミス、表記ミスを指摘する
* 文章表現上のテクニックには踏み込まない
* かなやアルファベットで複数回出てくる固有名詞の表記揺れを指摘する
* 削除可能な指示代名詞を指摘する
* 同じ文末が二回連続したときに指摘する
シンプルな指示かと思う。文書をWord形式と指定しているのは、筆者が普段執筆にWordを使っているため。別の形式が良ければそれに変えれば済む。
「文章表現上のテクニックには踏み込まない」と書いているのは、そうしないと型にハマった文章を書くテクニックをいちいち書いてくるだろう……という予測に基づく。
という最初の指示を与えると、GPT Builderは、機能の名前とアイコン画像も生成してくれる。
▲なぜか料理のアイコンを作ってきた。この辺、GPT-4の気持ちがわからない
なぜか料理のアイコンを作ってきたので、別のものに修正してもらった。日本だと料理が出やすいとか、そういう話でもあるのだろうか。
あとは何回も実際にファイルを読み込ませ、「この文章をチェックしてください」と指示を与えつつ、出てくる答えが適切かを見ていく。
対象にするのは過去に書いた記事に手を加え、あえて誤字などを増やしたものだ。それをチェックできれば目的を達成できたことになる。
ただ、最初のうちは思った返答が出てこない。
すぐに感じたのは「半角と全角のチェック」の甘さだ。筆者の書く文章は、一部縦書きで出稿するものをのぞき、数字やアルファベットは半角統一が基本だ。だから、以下の条件を追加する。
* 数字やアルファベットが半角で統一されているかを確認してください。
やってみると今度は、記事中のURLなどをガチガチに指摘し始めた。また、句読点が全角であることの指摘もうるさい。
なので、
* 記事中のURLは無視してください。
* 句読点も全角を基本に。全角の場合指摘は不要です。
と付け加えた。
表記統一についてはちょっと面倒なところもある。
例えば文頭で「PlayStation 5(以下PS5)」と書いたとしよう。その後の文章でPS5と出てくれば、これは表記統一がなされていると考えるべきなのだが、ChatGPTは「同じ意味の言葉が別の表記で出てくる」と理解してしまう。
なので、次のように指示を加える。
* 表記統一については、冒頭の文章で説明されていた場合、その後の指摘は不要です。
▲GPT Builderへの命令はこんな感じでやっていく
さらに重要な点として、「修正すべき部分はあるものの、それがどこなのか」は教えてくれないことが挙げられる。
確かに「どこか教えて欲しい」とは指示していない。でも、わからないと機能としての意味がないので、次のような内容を追加する。
* 指摘がある場所について、具体的にその場所を引用し、修正候補を並べて表記してください。
* 指示は具体的に、何行目が対象なのかを含めて行うように
こうすることで、誤字や不適切な語の扱いがあった場合でも、「ありました」と言われるだけでなく、ちゃんと「どこのどんな表現が」と教えてくれるようになる。
ただそれでも、指摘に合わせて「一般的な推敲のための教訓」を出したがる悪い癖があるようだ。なので、しつこく次のように指示する。
* 対象となる文章のどこに問題があってどう修正するかの指摘だけでいいです。注意の表示は不要。
* 読み込んだ文章の修正点を見つけたら、そこを引用して「このように変えることを推奨します」と表示してください。文書推敲の一般論はわかっているので、毎回表示する必要はありません。修正が必要な結果だけ出してください。
そうするとGPT Builderは、以下のように答えた。
修正点を見つけた場合にのみ、その箇所を引用して「このように変えることを推奨します」と表示するように設定を更新しました。文書推敲の一般論は表示せず、必要な修正結果だけを出力します。これにより、より直接的に修正点に焦点を当てることができます。他に調整したい点はありますか?
よし、だいぶ良くなってきた。
さらに最後に、文章自体の読みやすさや概要を把握する機能を追加する。
原稿では、内容が分かれるところで適宜小見出しを入れる。筆者の場合、その冒頭には識別子として「■」を入れるようにしている。記事掲載の編集時にはカットされることが多いが、書き手と編集者の間で「ここが見出しですよ」とわかりやすくするための工夫、というところだろうか。
なので、以下の指示を与えた。
* 誤字脱字などの評価を行ったのち、最後に「■」で区切られた段落ごとに要約し、その意味が分かりづらくないかを評価してください。その際には、各段落を要約し、要約が原文の内容を忠実に反映しているか、また、その表現が明確で分かりやすいかどうかを評価してください。
そうやって各段落の要約とその評価を表示するようにした。他人が読んだ際にどう理解するのかを客観視するためだ。
修正を繰り返して「自分用文書推敲君」完成
これで大丈夫。
正直、こんな曖昧な文章で指示が通る、というのもなかなかすごいなと思うのだが、実際、ちゃんと理解してくれたようだ。この辺が生成AIの素晴らしさかと思う。
もちろんいきなり役に立つものにはならない。
前述のように細かな指示を加えるたび、テストのために文章を読み込ませ、チェックしていく。
実はこの工程がけっこう大変。現状のGPT-4は「3時間に40メッセージ」という制限があり、チェックしているとこれを簡単に超えてしまう。以下の画像のように「何時まで待て」という表示が出てくることもあったのだが、なんとか満足いくところまで修正できた。
▲テストを繰り返すと、処理可能なメッセージ量の制限に引っかかることも
以下は、完成原稿から「あえて指摘してもらえるよう、間違いや不適切な内容を増やした」ものをチェックした結果である。
かなりちゃんと指摘できている印象だ。
▲とりあえず出来上がったものでチェック。ちゃんと誤字や全角表記、代名詞の不適切な利用などがチェックされている。概要把握も可能
ちなみに元の原稿は、以下のリンクにある記事のためのものだ。
・Echo Hubの狙いとiRobot買収断念の影 アマゾンスマートホーム戦略の今
この手法の欠点は、ChatGPT自体の回答が「毎回同じではない」ことにある。誤字の指摘などがブレることはないが、どんな文章で指摘するのかという部分や、要約内容などは毎回違う。100%正しく指摘しているのかもわからない。読ませる文章によっては、なぜか突然誤字脱字の指摘をしなくなることもある。その場合には改めて「誤字脱字などの問題点を確認してください」と指示する必要がある。
毎回答えが違うというのはかなり不安なところだが、正直「まあそれでもいいか」とは思っている。
こちらが求めているのは「客観的に読み直すきっかけ」にすぎない。これでチェックを終わりにする、確実な間違いの洗い出しをするというより、チェックを通してみた結果をフィルターにして自分でチェックする……という感じに近い。もちろん、毎回確実にチェックしてくれるのが望ましいのだが。
この機能は今後も修正を加え、日常的な執筆作業で使っていこうと考えている。また大幅な改善ができたらご紹介したい。
GPTsとして公開してあるので、以下のリンクから試していただければ幸いだ。ただし、あくまで筆者向けにカスタマイズしたものなので、他人の文書遂行の助けになるかどうかは、保証の限りではない。
なおもちろん、この記事自体も最後に「自分用文書推敲君」を通して確認している。
※この記事は、毎週月曜日に配信されているメールマガジン『小寺・西田の「マンデーランチビュッフェ」』から、一部を転載したものです。今回の記事は2024年3月4日に配信されたものです。メールマガジン購読(月額660円・税込)の申し込みはこちらから。コンテンツを追加したnote版『小寺・西田のコラムビュッフェ』(月額980円・税込)もあります。