文献整理2020 (5) ZOTEROのbetter BibTeXから抽出したキーワードで索引をつくる

 1週間がかりで、蒐集した文献約17,000編について、ZOTEROからエクスポートされた(PubMedのabstract(要約))をまとめて、ところどころLaTeXが通らないところがあるのを修正した。途中で「名前を付けて保存」で上書きしたつもりで、文字コードが変わってしまって今まで通っていたところでつまづくようになり、慌てたこともあったが、なんとか最後まで通るようになった。
 それで2段組みして約7,000ページのdvi出力が出てきた。Merium-Webstarが3,000ページ弱であるからあの2倍の幅の『全集』ができたわけであるが、筆頭著者をアルファベット順に並べてあるだけなので、ちっとも実生活の役に立たない。
 それで、もとのbibファイルに戻って、文献ごとのkeywordをもとに索引を作ってアルファベット順に並べて全体を見てみようということになった。
 まず、1編の論文ごとにcitekeyとカンマで区切られたkeywordが1行になるようにxyzzyで細工しておいてcsvファイルで保存し、Excelにインポートしてkeywordの間にcitekeyのカラムを割り込ませてエクスポートし、テキストエディタで一行が「citekey,keyword\n」となるように細工しておいてExcelに戻す。約25万行になる。keywordでソートをかけて、さらに同じキーワードのcitekeyをどんどん足し合わせていく。ここまでできたら後はもう一度ソートをかけて、最後の行を集めると索引リストができるのであるが、その準備でコピーをしようとすると応答が消失しCPUのファンがスピンアップしてブンブン唸るだけで一向に応答が戻ってこない。
 そこでコピーする寸前のところでスナップショットを保存すると、もともと4 MB程度のサイズであったのが500 MBに急成長しており、csvファイルにエクスポートしてみると2.14 GBになったのにびっくりした。このcsvファイルをテキストエディタに読み込めれれば続きの細工ができるのであるが、なかなかメモリ不足でうまくいかず。
 ピンチにさっそうと登場して窮地から救ってくれたのは、bashの一行野郎様であった。
 必要な行に印をつけてあるので、このファイルを画面表示させて印がついた行だけgrepで取り出し、新しいファイルにリダイレクトするだけのことである。今回はややこしいことに「*」で印をつけてしまったので、grepの探す文字(列)にはエスケープ記号をつけておかなくてはならない:

 bash>cat keywordsindexfile.txt | grep \* > result.txt

 コマンドを入れて十数秒後に3MB弱の result.txtができて、ユニークなキーワード25,000の索引リストが完成。これをもとにして索引リストを版組してみると、Aの途中、14ページで止まってしまっでいる。引用文献リストも17,000編のうちの最初の3,000編くらいまでしか読まれていないようなのであるが、これは眺めがいのある集約のしかたになるかもしれない(と自画自賛)。
 後日記(2020.11.23)>最近のビッグデータ解析では、こういうのは形態素に分解したcsvデータからnysolのMCMDコマンドで集計してRで解析し、igraphやGephiで可視化してしまうらしい。この間読んだ時にも、うかつにも自分のやっていることそのものとは気づかず…。
 

本ブログではamazon associate広告を利用しています。