目次
PDF比較ツールをChatGPTで作りたい!
世の中にはいくつかのPDF比較ツールが存在しますが、その多くは高価であったり、操作方法が複雑だったりします。
そこで、ChatGPTの画像認識機能を活用して、自分でPDFファイルを比較できるツールを作ることができないかと、以前より挑戦していました。
校正にとってPDF比較ツールは非常に重要なツールです。
校正の作業方法として「あおり検版」や「交差法」などがありますが、修正原稿とゲラとの差を探すのは校正者にとって必須の能力です。
「指定外変化」といわれる、変更指示がある箇所以外を変更してしまう制作上のミス。
この「指定外変化」が起こっていないかを確認する作業は、ちゃんと指示通りに変わっているかを確認するのと同じくらい重要です。
われわれ制作本部も何度この「指定外変化」でトラブったことか・・・。
そのため、世の中には「BitMatch」や「Proof Checker PRO」などのPDF比較ツールが多数存在します。
修正前と修正後のPDFを自動で比較し、差分を教えてくれるこれらのツールは、今では校正者にとって欠かせないものとなっています。
この便利な機能をChatGPTで実現できないかと、ずっと試してきました。
まずは「間違い探し」から
最初は、2枚のイラスト(画像)の違いを見つける「間違い探し」をChatGPTで試してみました。
「間違い探し」は、ChatGPTが世に出たときから試していたのですが、なかなかうまくいきませんでした。
画像をうまく認識してくれず、間違いの指摘もトンチンカンでした。
しかし、GPT-4oにアップグレードして画像認識性能が向上したと聞き、再度試してみたところ、なんと!・・・
失敗していたこれまでと同様に、2つの画像と「この2枚のイラストの間違い探しをしてください。」のプロンプトを投げてみると・・・。
ファイル名:後.jpg ファイル名:前.jpg
(イラストは「校正視点」様の記事「あおり校正の仕方と効果[間違いを見つける校正者の技]」https://kousei.club/proofreading-techniques/)より拝借させていただきました。)
という答えが返ってきました。
で、「間違い探しのハイライト」をダウンロードしてみると・・・。
おっ、これは・・・できてるじゃないですかー!
これって、「BitMatch」と同じような比較結果に見えますよ!
すごーい!
これをChatGPTがどう処理しているか
をクリックしてみると・・・。
Pythonコードについては不勉強なもので、素人でもわかるように説明してもらいました。
ふむふむ・・・なんとなくわかったような・・・。
このツールでは、画像のビットマップ比較を行っているようです。
ビットマップ比較とは、2つの画像のピクセルごとの違いを検出する方法です。
具体的には、次のように動作します。
画像の読み込み:指定された2つの画像ファイルを読み込みます。
ピクセル単位での比較:ImageChops.differenceを使用して、2つの画像の各ピクセルを比較します。この関数は、対応するピクセルの色値の差を計算し、新しい画像を生成します。この新しい画像では、違いがあるピクセルは明るく、同じピクセルは暗く表示されます。
違いのハイライト表示:生成された差分画像をRGBモードに変換し、違いをハイライト表示します。
次はPDFファイルの比較に挑戦!
画像の比較で成功したので、次にPDFファイルの比較をやってみました。
本当はこれがやりたかったのです。
PDFファイルの比較のコード説明は以下です。
なるほど、PDFを画像に変換して比較しているんですね。
「4.最初のページを画像としてレンダリングする」とあるように、複数ページのPDFでも最初のページしか比較してくれないコードになってしまっていたので、複数ページでも比較できるように修正してもらいました。
これにより、PDF全ページの比較ができるようになりました。
おー! できたんじゃない!?
「5.PDFのページ数を取得する」ってところが追加されていますね。
これで複数ページの比較もできるようになったんだと思います。
コードの「コ」の字も、Pythonの「P」の字も知らないわたしが、ここまでできました!(涙)
でも、これで終わらせるのはもったいないので・・・。
GPTsを作っちゃおう!
これをもとにGPTsで「画像比較ハイライトツール」を作っちゃおう!
ということで、これまでのコードなどをGPTsの「Configure(構成)」に入力し、「画像比較ハイライトツール」という名前のGPTsを作ってみました。
「Configure(構成)」にコードなどを投げ込んでみただけなんですけど、どうでしょうか。
実際にやってみるとこんな感じ。
2つのPDFをアップロードして実行すると・・・。
アップロードしたPDFはこちらです。
ファイル名:サンプル前.pdf
ファイル名:サンプル後.pdf
(こちらのPDFは、株式会社Too様の「Proof Checker PRO」サンプルを流用させていただきました。
「Proof Checker PRO」の詳細はhttps://www.too.com/product/proof-checker/)
2ページのPDFをアップロードしたので比較結果が2ファイルに分かれてアウトプットされました。
(ファイルを分けずに同一ファイルでアウトプットしてほしかった・・・。ここらへんは「Configure(構成)」を修正すればできそうですね。)
とりあえず、比較結果をダウンロードすると・・・。
このようなファイルがダウンロードできました!
いやー、すばらしい!
GPTsって意外と簡単に作れちゃうもんですね!?
これで、比較したい画像やPDFをこのGPTs「画像比較ハイライトツール」にアップロードすれば、即座に差分をアウトプットできるようになりました!
既存のPDF比較ツールとの違いは・・・
既存のPDF比較ツールは、より細かい設定があったり、差分をわかりやすく表示したりと、使い勝手はまだまだかないません。
ですが今回、ChatGPTを使用することで、プログラミングの知識がなくても、高度なツールを作成することが可能だということがわかりました。
今回の例でも、コードの「コ」の字も知らない私が考えたアイデアをChatGPTに伝えることで、具体的なコードが生成されました。
ChatGPTによりプログラミングのハードルが下がり、誰でも簡単にカスタマイズ可能なツールを作成できるようになってきています。
もっと使いこなすことができれば、自分が使いたい機能や設定を追加したりアウトプットをより明確にしたりと、オリジナルのツールが作成できるのではないでしょうか。
また、クライアントごとにカスタマイズしたツールを作り、それを提供することも可能ではないでしょうか。
ChatGPTってすごい!
この「画像比較ハイライトツール」は、どんどん改良を加えてよりよいツールにしていければと思います。
今回、コードの「コ」の字も、Pythonの「P」の字も知らないわたしが、「校正ツール」を作ることができました。
「今度は別のツールにも挑戦してみたい!」と思わせてくれるほど結構簡単に!
やっぱり、ChatGPTってすごいですね!
ぜひ、皆さんも試してみてください。
次回もお楽しみに!