見出し画像

ChatPDFはオープンデータの闇を切り裂くことができるのか?

今回もChatPDFの可能性についての探索ネタです。今回はオープンデータの闇のひとつである「データにならないEXCEL表」の対策として使えるのかを試してみました。

どういうこと?

まず、何を言っているのかから説明します。

電子データと一言でくくられますが、電子データには様々な形式があります。データベースに収められてAPIで取り出せるようになっているものから、CSVやJSONなどのコンピュータで扱いやすい形式になっているもの。そしてWordやEXCEL、そしてPDFファイルや画像データも電子データではあります。電子化とかデジタル化なんていうとこれら全部まとめていっしょに扱われていたりします。

しかしながら、そのデータをいざ分析しようと考えた時にはこのデータ形式言うものは非常に重要になっています。当然PDFとかEXCELよりはCSVとかのほうが良いですし、直接分析社のデータベースに取り込められれば最高なのです。逆に、もし電子データが画像だったりしたら最悪です。スキャナーで読んで画像認識させてテキスト化し、人間による目見当で補正して・・・・分析に辿り着く前に結構厳しい道のりが待っています。

EXCEL方眼紙的な表

そして、それに負けず劣らずなのがEXCEL方眼紙なのです。印刷された紙を読み取るのに最適化した表の形で、同じデータ項目のセルををまとめてすっきり見せたりしているアレです。お役人に限らず昭和に生きてきた人たちにとってはこの印刷イメージのデータが大好きなのですが、分析用データとしてほしい人にとっては最悪の形式なのです。

この形のデータを情報公開とかオープンデータとして提供しているので、省庁や自治体のデータを活用しようとしている人たちはかなり苦労をしているようです。このあたりの話は「BADオープンデータ供養寺」の動画を見ていただけると涙が出るほど理解できますので、ぜひ見てください


何がしたい?

というわけで、今回試したいのは行政から提供されたPDFファイルのなかのそういった表からChatPDFを使用してCSVデータを抜き出せないかという試みです。PDFを取り込んで要約なんかをするChatPDFですが、データ分析はまったくしてくれなかったので、ここで汚名挽回できるかチャレンジさせてみます。

例えば関東某市発行の「統計表」を読むことです。

統計表の一部サンプル

見た感じ、かなり厳しめのBADオープンデータです。小計こそないものの項目まとめがぞんざいしています

こういう表の問題点としては
・分類項目の省略、項目まとめされている
 場合によっては1列の中に複数改装が段落ずらしで載っている。
・小計や合計がある
・表の中に注釈がある
・余計なカンマ

様々な要素が行政情報のデータ化を妨げています。

これらのデータから一発できれいなCSVファイルを取り出すことができれば、オープンデータがほしい人々にとってはChatPDFくんは確実に「使える子」認定です。

ChatPDFくんの汚名挽回のためにも頑張ってほしいものです。

まずは作ったデータで試してみる

まずはサンプルで作ったPDFファイルから期待されるCSVファイルが抜けるかどうかを試してみます。
さっそくスプレッドシートからPDFファイルを作成してみます。

これをChatPDFに読み込ませてみます。

データは少ないのであっさり読み込みました。

BADデータのサンプルを読み込む

データを読んでいいかんじの要約文が出ています。ここからストレートにプロンプトを投入します。

この表からCSVデータを取り出してください

さっそくやってみました。

CSVデータを抽出する

使いやすそうな感じではないですが、しっかりとCSVファイルが抜き出されました。テキストエディタに貼ったらちゃんとできていました。

抽出したCSVファイル

なんと省略されていた町名はしっかり全レコード埋まっていて、じゃまな合計も省かれています。

これは期待が持てそうです。

本物のデータで試してみる

次は本物の「統計表」のデータで抜き出してみます。使用したのは「選挙投票状況」です。けっこう厳しい感じです。

使用したサンプル

けっこういい塩梅のデータを探すのは一苦労します。しかもやたらとページが多いケースが多いのでツールを使ってPDFを分解したり、文字コード問題で苦戦したりとしますが、なんとか入手できました。

まぁ今回の課題が解決できてもいろいろありそうですね。

1ページだけ切り取ってChatPDFに読み込ませて見ました。

PDF読み取り成功

ここで早速取り出してみます。

この表からPDFデータを取り出してください

というプロンプトを書いてみます。

残念な結果

残念な結果になりました。確かにデータを取り出すことはChatPDFには出来ないですね。少し考え直してみます。

この表をPDF形式で書き出してください

やってみたけどダメでした

もう一回やってみます

この表をCSV形式で書き出してください

(5) 世帯家族類型(22区分)別一般世帯数、一般世帯人員及び親族人員の推移の表をCSVで表してください

やっとCSVが出力されました。

抜き出した総数

これをテキストに書き出してCSVファイルを書き出してスプレッドシートで表示してみました。

おおお!!データとして抜き出せました!!

スプレッドシートに抜き出したデータ

残念ながら「総計」の行がひとつ書き出されてしまっていましたが、プロンプトを追加するときれいに除去されました。

結論

今回のChatPDFで行政が提供するの統計情報のPDFからデータを抜き出すというチャレンジは成功しました。

きちんとデータに格納できるCSVが抜き出され、総計欄なども除去することも出来ました。

・PDFからCSVを抜き出せるが、お願いの仕方はコツがいる
 「データを抽出」などファイルを作りそうな命令は拒否される
・総計や小計は自動的に無視される。取れない場合は指定して除去できる
・項目のまとめ(セル統合)は補正される。

結果として

ChatPDFはオープンデータの闇を切り裂くことができる


この記事が気に入ったらサポートをしてみませんか?