ChatGPTの整形力をバッチ処理化して、長文ドキュメントを一気にMarkdownに変換した話

記事
コラム
■ 導入:ページ数の多いテキストを、読みやすいMarkdownに整えたい

この案件は、

「ページ数の多いテキストデータを、ChatGPTでMarkdownに整えたい。
ただ、量が多すぎて手作業では現実的じゃない」

という相談から始まりました。

元データには「page 1」「page 2」のような区切りが入っていて、
ある程度ページ構造は見えているものの、

どこからどこまでをまとめて投げるか

どれくらいの分量なら安定して処理できるか

どこまで処理済みかをどう管理するか

といった部分は、すべて人力でなんとかしている状態でした。

■ 課題:長いテキストを「どこで切るか」と「どこまで済んだか」が曖昧

ChatGPTでMarkdownに整えていく作業を、もし手作業でやると、

テキストファイルを開く

コピーする範囲を決める

ChatGPTに貼り付けて整形してもらう

結果を別のファイルに貼り直す

次のページへ…

という流れを延々と繰り返すことになります。

ここで問題になるのは、

毎回「どのページからどのページまでコピーするか」を目で判断する

どこまで処理したかを自分で覚えておかないといけない

分量が多いと、途中で抜けや重複が発生しやすい

という、人間の記憶力と根気頼みの部分でした。

「ページ構造はあるのに、それを自動処理にうまく活かせていない」
というのが、この案件の一番のポイントでした。

■ 改善:ページ番号を起点に、“2ページ単位”で自動分割 → ChatGPT連携

そこで用意したのが、

1つのテキストファイルを「page ○○」ごとに解析し、
指定範囲を Nページごと(デフォルトは2ページ)に自動で分割しながら、
それぞれをChatGPTに送ってMarkdownとして整形していく仕組み

です。

具体的には、

元のテキストから「page ○○」という見出しを読み取り、実際のページ番号を把握する

開始ページと終了ページを、実際のページ番号で指定できるようにする

例:30〜80ページだけ処理したい、など

「何ページごとにまとめるか」を数字で指定し、2ページ単位・3ページ単位など柔軟に分割できるようにする

分割されたチャンク(かたまり)を1つずつChatGPTに送り、Markdownに整えてもらう

整形された内容を、1つのMarkdownファイルに順番どおり蓄積していく

という流れで設計しました。

ページ区切りをただの文字列ではなく、
「範囲指定や分割の基準」として再利用しているのがポイントです。

■ 工夫した点①:一時フォルダで“チャンク単位の進捗”を管理する

処理の途中でPCを閉じたり、ネットワークが不安定になったりしても大丈夫なように、
ページを分割したチャンクは一度「作業用フォルダ」に退避させています。

指定した範囲を、Nページ分ずつファイルに分けて並べる

ChatGPTで整形が済んだチャンクから順に削除していく

作業用フォルダが空になったら、全チャンク完了

という流れにすることで、

「どこまで終わったか」が、フォルダの中身を見るだけでわかる

途中で止まっても、残っている分だけを再開すれば良い

元のテキストファイルは一切触らないので安全

という、バッチ処理らしい堅実な運用ができるようにしています。

■ 工夫した点②:ChatGPTへの投入~結果の回収も“安定して回る”ように

ChatGPTとのやり取りも、

チャット欄にテキストを貼り付けて送信

回答が出揃うまで待つ

完成したMarkdownをコピーして、出力側のファイルに追記する

という動作を、自動で繰り返すようにしています。

ここでも、
単に「何秒待つ」ではなく、

回答が出てくるタイミングに多少の揺らぎがあっても動くこと

一度コピーに失敗しても、そのチャンクを消さずに再試行できること

といった “止まりにくさ” を優先した構造にしています。

■ 成果:長文テキストを、“抜け・重複なく”Markdownに落とし込めるようになった

この仕組みによって、

1つの大きなテキストファイルから、指定したページ範囲だけを抽出し

2ページ単位など、ちょうど良いサイズに分割しながら

ChatGPTの整形力を活かしてMarkdownに変換し

最後には、1本のまとまったMarkdownドキュメントとして保存できる

という流れが、ほぼ自動で回るようになりました。

特に大きかったのは、

「どこまでやったっけ?」と迷わなくなったこと

抜けや重複といったミスが構造的に起こりづらくなったこと

まとまったMarkdownとして再利用しやすくなったこと

といった、“長文ドキュメントを扱うときのストレス” がかなり減った点だと感じています。

■ まとめ:ChatGPTの整形力を、“バッチ構造”にのせて活かす

この案件は、

「人がやればできる。でも量が増えると現実的じゃない」
という作業を、仕組みで支える

という典型的な例でした。

ページ構造をきちんと読み取り、
範囲指定・分割・進捗管理・再開のしやすさまで含めて設計することで、
ChatGPTの力を **安定した“Markdown整形バッチ”**として運用できるようになったと思います。

今後も、
・大量テキストの構造化
・レポートや試験問題の再編集
など、同じようなニーズに応じて応用していける仕組みです。

▶「長文テキストの整形を自動化したい」「ChatGPTを使ったMarkdown整形フローを作ってほしい」という方はこちら


サービス数40万件のスキルマーケット、あなたにぴったりのサービスを探す ココナラコンテンツマーケット ノウハウ記事・テンプレート・デザイン素材はこちら