ユーザーブロマガは2021年10月7日(予定)をもちましてサービスを終了します

OSX でより良い電子書籍読書環境を作る より簡単に開く
閉じる
閉じる

新しい記事を投稿しました。シェアして読者に伝えましょう

×

OSX でより良い電子書籍読書環境を作る より簡単に開く

2014-10-17 16:30
  • 1

より良くする

電子書籍読書環境についてです。
OSX 上に電子書籍の読書環境を作りました

この作業で純粋にファイルを開くのは、かなり楽になりました。

今回はさらなる高みを目指し、よりよい電子書籍読書環境を作っていきます。参考までに私が管理したい書籍ファイルは次のような感じです。

  1. 基本的には毎日読んでいる
  2. 現在2000冊程度で毎年約450冊増えていく
  3. 近代デジタルライブラリーからダウンロードしている

この環境で今後10年程度は快適に使い続けることが出来る環境を作っていきます。

より良い環境とは

個人が電子書籍の環境みたいなのを考える場合、まずはモニタやソフトウェアに目がいってしまいますが、最近はとにかくダルい要素を排除する方向で環境を作っています。前回の作業では主にファイルを開くダルさを解消しています。

なぜダルいのがダメなのか、一言でいえば読まない時間は読めないからです。ハードウェアを使い読書速度を向上させても、ダルければ読まない。これは電子書籍に限らず、紙の書籍も同じです。

そして本が増えれば増えるほど、読むのがダルくなっていきます。その一方で、書籍の数を増やせば増やすほど、知識としての価値が向上していく。ですから本は増やさざるを得ない。図書館などはこういった不便さを分類で解決してきたわけですが、今回は少々違うアプローチで問題を解決していきます。

なにがダルいのか

ダルさを解決するためには、ダルいポイントを分析する必要があります。主に私が感じるダルさは次の3つです。

  1. 知識を整理するのがダルい
  2. 読みたい本を選ぶのがダルい
  3. 読む書籍を探すのがダルい

今回は『読みたい本を選ぶのがダルい』『読む書籍を探すのがダルい』を解決することにします。

どう解決するのか

前回作った環境で、検索の便利さを認識しましたから、今回は検索の方法を増やすという方向で解決することにしました。目標としては次の通りです。

  1. 発行年が同じ書籍を抽出できる
  2. 同一作者の書籍を抽出できる
  3. 同一出版社の書籍を抽出できる
  4. 似たタイトルの書籍を抽出できる
  5. キーワードに関連した書籍を抽出できる

読みたい時にはすぐに見付かる、読もうという意思がなくとも、なにか文字を検索すれば書籍が引っ掛かり、読みたくなるという環境を作っていきます。

ちなみに上記の検索は近代デジタルライブラリでも出来ますが、自分が選んだローカルディスクにある書籍を対象に検索するというのがポイントです。自分で選んだ書籍というのは、自分の好みの蓄積ですから、読んで面白い可能性が高くなります。

遅いものは使わなくなってしまいますから、ローカルで検索したほうがkindai.ndl.ne.jpで検索するより速いという環境も当然ながら実現する必要があります。

環境を作っていく

検索ができればそれでいいわけですから、書誌情報が入ったファイルを近デジフォルダ内に作っていきます。ファイルの名前はなんでもいい。biblio.txt とか適当に命名します。

で、そのファイルの一行目に『書籍名 著者 出版社 出版年度』という情報を記入します。

『剛勇斎藤伝鬼坊 松月堂魯山 講演[他] 樋口隆文館 大正一(一九一二)年 1912』

というような感じですね。漢数字は引用した際に表示する用、末尾の数字は年代検索用です。この形式には一行で全ての情報を得ることが出来るというメリットがあります。

さらに検索時の情報を増やすため、目次情報もこのファイルに付け加えることにします。こちらは目で読むことはあまりありませんから、近デジの目次データを加工せずそのまま使います。

『標題 / (0002.jp2)目次 / (0006.jp2)第六章 下谷区(下) / (0012.jp2)(一) 広徳寺の門 / 1 (0012.jp2)(二) 水呑みの竜 / 8 (0016.jp2)(三)』

この形式は現時点で自分一人で使う分には便利なんですが、客観的に見るとかなり貧弱で不完全な書誌情報ファイルだと思います。ですから変換しやすい形式で作ってあります。今の方法よりもより良い方法が提供されるようになったら、それを採用しようといった感じです。

情報を取ってくる

2000冊分の書誌情報ファイルを手動で作るのは無理ですから Web から情報を引っ張ってきて、自動でファイルを作ります。近デジフォルダは書名+著者みたいになってるので、書名+著者経由で検索して引っ張ってきて、テキストファイルを作るみたいな感じにします。

プログラムが出来る人ですと、すぐに出来てしまうことですが、私はプログラムを書けない。ですから『情報 取り出し コマンド』とかで検索し、一番最初に出てきたソースをコピペして、書換えながら情報をゲットするためのスクリプトみたいなものを作ります。結果的に非常に強引に書誌情報をゲットできるようになります。

書誌情報をゲットするのは次の様になります。(多分 MacOS なら動くと思う)

curl "http://kindai.ndl.go.jp/info:ndljp/pid/1028414" | awk '/simple-metadata-lis/,0' | awk 'NR==7,NR==16 {print}' | tr -d "\t" | awk /dd/ | sed "s/<dd>/ /g" | sed "s/<\/dd>//g" | tr -d "\n"

目次情報をゲットするのはこういう感じ。

curl "http://kindai.ndl.go.jp/info:ndljp/pid/889028" |awk '/tableOfContents/,0' |awk "NR==14" |sed -e "s/<[^>]*>//g"

この様な適当なものでも、動かしたら動くので万事 ok で、あとはこれをファイルに書き出しして結合、全ての近デジフォルダに振り分けていきます。私はよく分からないため、『シェルスクリプト 全部 実行』とか、そういうのを検索してコピペと修正でなんとかやっていきました。

向上心のある人の場合は、こういう局面でプログラムを覚えおくと良いかもしれませんが、私はプログラムに対しては全く興味も意欲も向上心もないため、今後も適当にググってなんとかしていくと思います。

結果的にどうなったのか

この後いろいろとありまして、ついに近デジ検索環境が完成しました。

使うとこういう感じになります。



上図は食物で検索した結果、目次の表示がキモいという点を除くと、全く問題ない感じです。

検索するためのプログラムは grep や ack では遅いため、ag というのを使っています。

書誌情報が入った biblio.txt が2020個存在し容量は8.9MB 程度、これだと一瞬で検索することが出来ます。time とかで計測しても参考になる数字が出ない程度に早い。今後ファイルが増えていくわけですが、パソコンの性能も上り続けますから、常に一瞬で検索できる状況です。

ag は perl の正規表現と同じ感じでできますので、『191[0-9]{1}』みたいなので年代の範囲検索も可能です。

これでかなり便利になったわけですが、またまだ課題がありますので、そのうち続編を書くと思います。


広告
×
情報処理は、人類の叡智そのものです
82ヶ月前
コメントを書く
コメントをするには、
ログインして下さい。