はじめに
こんにちは。
Altairでインターンをしている政治経済学部所属の中西です。
前回のブログでは機械学習ツールAltair Knowledge Studioの予測精度検証を行いました。
予測精度は確かなもので、今後研究活動をする際に使ってみようと思えました。
ただ、データサイエンスにおいては分析だけでなく、データの取り込みも大切な作業です。
検証したい仮説を立てたとしても、適切なデータを扱いやすい形で拾ってこられるかは分かりません。
例えば、こちらの令和元年7月21日執行参議院議員通常選挙結果調(政府統計の総合窓口e-Statより)は、実施された選挙に関する様々なデータが掲載されていますが、PDF形式で配布されていてデータとして扱いにくいです。がむしゃらにExcelにコピー&ペーストしていくこともできますが、できるだけスマートに構造化したいですよね。
こちらの表を読み取りたいです。
Altairの提供しているセルフサービス型データプレパレーションツールAltair Monarchは非構造化データをノーコードで読み取り、クレンジング、構造化を可能とします。
今回はMonarchを用いて、PDFデータをExcel形式に出力してみようと思います。PDFなどからデータを読み込むのに苦労した経験のある方は是非参考にしてください。
PDFデータの読み込み
読み取るのは選挙結果調べの124ページにある、「期日前投票(比例代表)」の表です。各都道府県と各理由別投票者数(例えば、「法第48条の2第1項第1号該当者」は仕事が理由で期日前投票に来た人です)が記されています。これを表形式で取り出します。
日本語を含むデータを扱う際にはMonarch Classicを使用します。起動して、File -> Openから読み取りたいドキュメントを選択します。
読み取ると以下のような画面になります。
左上のAcceptを押します。
次のこちらの画面では左上のReportDesignを押します。
つづいて、New TemplateをクリックしてDetailを選択します。
データを取り出したいページ(ここでは124ページ)に向かいます。
Monarchではルールを使ってデータを取り出します。行に対してTrapを用いて規則性を与えて、その規則性に沿った情報を持つ行が選択されていく仕組みです。
ルールの与え方は、その行が文字列をどこに持つか、数字をどこに持つか、空白をどこに持つかといった具合に決めていきます。Trapは、文字列はÃ、数字はÑ、空白はβ、空白ではない文字(文字列や数字)にはΦという具合に使用します。まずは都道府県の列を取り出したいので、入力欄にÃを入力すると以下のようになります。
このようにÃを打った列に文字が含まれた行が選択されます。しかしこのままでは他ページの同じ行に文字を持つ、取り出すつもりのない部分も読み込んでしまうので同様にルール決めをしていって絞り込んでいきます。
以下のようにTrapを打っていきました。これで取り出したい47都道府県分の行が取り出せました。
次に、抽出したい列を選択していきます。Trapを打った欄の下に取り出したい部分をドラッグして選択していきます。Data Previewからも47行分適切に取り出せているのが分かります。
確認出来たらAcceptを押して、Open As Table in Data Prep Studioを押してAltair Data Prep Studioでデータを開きます。
列を右クリックしてからCleanで空白を消す、ConvertのText To Numberから投票数を文字型から数字型に変換するなどをして表を整えます。
作成したデータはEXPORTのタブから以下のような様々な形式で出力できます。
Excelでの出力を確認できました。
おわりに
今回は、データの読み取りを行ってみました。PDFからデータを読み込めるのはとても便利で、Trapを使ったルール決めはパズル感覚で楽しくもありました。MonarchではPDFだけでなく、Webページ上の表など様々な形式のデータを取り込めます。非構造化データの取り込みに苦労した経験のある方はぜひお試しください。
せっかくデータを読み込めたので次回はこのデータを用いた分析を実行してみたいと思います。次回も読んでいただけると嬉しいです。
カテゴリー: Tips, データアナリティクス