※このブログは細かいことを書きすぎると延々と続いてしまいますので
大まかにしか書いていません。専門の人はこれを見ても怒らないでください
皆さんも一度は耳にしたことがある「AIを使って業務を効率化しよう!」という宣伝。私はたまに原稿の修正をしたりするのだが、果たしてこの作業はAIのよって効率化できるのだろうか?そんな疑問の答えを出すためにAIを使って文章校正AIを作った人のお話である。
自己紹介
機械の操作はできるがプログラミングには一切触ったことのない素人
AIに関しては普通の人よりできると思っている。
「第一章」Pythonを入れてみる
AIを使うにはPythonだ。とよく聞くのでPythonを入れてみた。
Pythonの容量は160MBとパソコン容量カツカツな私でも安心して入れることができた。
Visual Studio Codeもいれてここから編集、実行できるようにした。
「第二章」とりあえずなんかやってみよう
プログラミングは一番最初に"Hello world"と表示させるのがしきたりだ(嘘)という話を聞いたのでコードを確認し打ってみた。成功だ。
「第三章」プロンプト
無事、環境構築は終わったわけだが本番はここからである。コードを覚えて自分で書くのはあきらめたので生成AIを活用してコードを書いてもらうことにした。
AIにコードを書かせるには「文章校正AIを作って」と頼むだけではできない。
そこでプロンプトからAIに任せることにした。使用したAIはGeminiである。
Geminiは日本語に強そう!とかいう謎のこだわりがあるため私は日本語を多用するときはGeminiを使っている。
そして完成したプロンプトはこちら
「あなたは、WordおよびPDFファイルの文書と画像を校正するPythonアプリケーションを、指定された技術を用いて作成する専門家です。
以下の要件に基づいて、PyQt/PySideでGUIを持つアプリケーションを設計し、完全なPythonコードを出力してください。
1. アプリケーションの目標と機能 目的: 校正作業を効率化するため、文書と画像の完璧な校正を自動で行う。
主要機能: ファイルの読み込み: Word(.docx)とPDFファイルを読み込み、テキストと画像を抽出する。
文章校正: 誤字脱字、文法、表現、日本語的におかしい部分、および特定の専門用語の誤りをすべて検出し、修正を提案する。
画像校正: 画像の内容を理解し、その内容が周囲の文章と意味的に関連しているかを確認する。
GUI: ユニバーサルデザインに準拠した、直感的に使えるインターフェースを提供する。
2. 技術スタック GUI: PyQt/PySideを使用し、ファイルを読み込み、校正結果を分かりやすく表示する。
ドキュメント処理: PDF: PyMuPDF (fitz) ライブラリを使用する。 Word: python-docx ライブラリを使用する。
文章校正: 主要モデル: Hugging FaceのTransformerモデル(日本語校正に特化した、軽量・量子化されたモデルを推奨)。
サブツール: Janomeを併用し、文法や表記の揺れをルールベースでダブルチェックする。
画像校正: 画像からキャプション生成: Hugging FaceのImage Captioningモデル(軽量・量子化されたモデルを推奨)を使用する。
テキストと画像の関連性評価: 生成されたキャプションと、画像の周囲の文章の内容を比較し、意味的に関連しているか評価する。
3. プログラミング要件 言語: Python 3.8以降 コード構造: クラスベース: GUI、ファイル処理、AI校正ロジックをそれぞれクラスに分割し、モジュール化された構造にする。
非同期処理: AIモデルの実行は時間がかかる可能性があるため、GUIがフリーズしないよう、スレッドや非同期処理を用いてバックグラウンドで実行する。
GUIの設計: ファイル選択ボタン、実行ボタン、進捗バー、テキスト表示エリア、修正案の表示エリアを配置する。
修正案は、ユーザーがクリックして承認・却下できるインタラクティブな形式で表示する。
色覚多様性に配慮したカラーコードを使用する。
ONNX Runtimeなどを用いて、CPUでの推論速度を最大化する。
モデルのダウンロード: 初回実行時に必要なモデルを自動でダウンロードするようにする。
最終的な出力: 上記の要件をすべて満たす、実行可能なPythonコードを提示してください。
コードには、各機能の役割を説明するコメントを豊富に含めてください それに
カスタムルール(ですます調/漢数字→算用数字) 承認済みだけ Word/PDF に反映 Excel出力 元文書保持して別ファイル保存 の機能も追加したとする」
だいぶ長いと感じた人もいると思う。でも、AIに指示を出すときにはこれぐらいの正確さが無いときちんと出してくれない。
「第四章」ChatGPT or Gemini
プロンプトをそのままGeminiに読み込ませてみた。するとどうだろうプログラミングコードが出来上がったのである。
早速Visual Studio Codeで実行・・・したもののエラー頻発
エラーコードをGeminiに入れて解決しようとしたものの解決しませんでした。
そこで、同じプロンプトを使用してChatGPTにコードを書かせてみた。
緊張しながら実行・・・
なんと!うまくいきました!
勝者はChatGPTなんでしょうか?
「第五章」専用AI(Genspark)
ChatGPTでも十分満足した矢先…なんと見つけてしまったんです。
コードを書く専用のAIを…それがGensparkというAIです。そのコードを実行すると・・・爆速で校正をしてくれたではありませんか!
専用AIがあればプログラマーは要らなくなる(かもしれない)
しかし、この結果はこれからも変わってくると思う(法規制とかによって使えなくなる機能もあるかもしれない)
長々と自分の好きなことを書いてしまってごめんなさいね
AIに関してのお困りごとがございましたらぜひご相談ください。