目次
背景
PDFデータをPythonのプログラミングにて抽出していた時に以下のような課題を感じていました。
- PDFデータからの表抽出は枠線がないもの等が対象だと安定しない場合がある
- フォーマットが複雑だとプログラム作成に時間がかかる
- 定期的に取得しているときにPDFフォーマットが変更されるとコードの修正が必要
このような課題をCopilotに任せてみたら解決できるのではないかと思い調査をしてみました。
使用するPDFデータ
今回使用するPDF データは以下になります。
https://www.e-stat.go.jp/stat-search/file-download?statInfId=000008260224&fileKind=2
こちらの分類表を今まではPythonのCamelotライブラリを使用して取得しておりました。
要件として大分類表と中分類標を抽出し、分類コードのアルファベットにて左側結合して1つのテーブルを作成したいというものになります。
特徴としては中分類標はPDF内で折り返して表示されているため、抽出が難しくなっております。
実行結果
まずPDFファイルをそのまま渡した場合は以下のように要約されます。
実際に結合処理を実行します。
今回使用したプロンプトはそのまま要件をまとめて渡してみました。
実行結果は以下になります。大分類及び中分類を表としてまとめてください。 その際大分類表に対して中分類標を結合した表で出力してください。 結合方法は大分類表の英字と中分類標の英字で左側結合にて実施してください。
いい感じにデータの抽出を行うことが出来ました。
また抽出結果をExcel形式にできたりなど、そのまま使いやすい形に変換も行えます。
課題点
今回データの抽出及び結合を行うことは出来ましたがいくつか課題点もありました。
1.安定した結果がでない
何度か実行してみましたが毎回同じ結果がでるとは限らなかったです。
特に折り返しの部分の処理は行われる時と、行われない時がありました。
2.全ての分類が含まれていない
結果を確認すると据えての分類が含まれていはいませんでした。
また、分類コードが一部間違って登録されている場合もありました。
まとめ
今回使用したPDFデータはかなり特殊な形をしていたため、完璧な結果にはなりませんでした。
しかし、他の簡単なフォーマットのPDFデータで試した場合はうまく行くこともありました。
そのため、生成AIに一部前処理をまかせても効率的に開発が行えるかと思います。
ただ、定期運用処理や制度が必要なものに使用するには注意が必要です。