卒研ネタ:賞味期限切れ図書を群集の叡智的に見つけるWebサービスの開発

いつか卒業研究のネタにしたらよいのかもしれないけど、もっと早く実現した方が幸せな人が増えるかもしれないのでエントリーに。

動機

図書館総合展に行ってきた。〜出版市場としての図書館、読書基盤としての図書館−出版界と図書館界の本音がぶつかるフォーラムの以下の部分を読んで、思いついた。

この対極を考えてみると、図書館に置かれるデメリットが大きい本の特質も想像できる。二度読まれることがあまりなく、モノとしてよりも中身のデータに価値があり、賞味期限がとても短い本。ぱっと思い当たるのはビジネス書、技術書、マーケティング資料などだろうか。

確かに大学図書館も含め、図書館には「もう、こんなソフトウェア/バージョン流通していないよ」という賞味期限がとても短い本が存在している。一方で、そういう本こそ即座に役に立ち、明日の学習や仕事に役に立つ情報であったりもする。こういう本は賞味期限が切れた段階で、速やかに書庫→廃棄と進むべきであるが、これを司書が判断するのは多分難しい。たとえば、Ruby on Railsが流行ったとき多くのRuby on Rails入門の本が出版されたが、バージョンが2→3、3→4に進むにつれ、古いバージョンにかかれている情報は利用者にとって役立つことなく、逆に足をひっぱるものとなっている(かかれている内容を抽象化できる人にとってはそんなことはないが、How To本を読んでいるほとんどの人は、抽象化できる段階まで学習が進んでおらず、書かれているどおりにまずはやってみるという段階の人が多い)。

貸出頻度で判断してもよいが、借りる人がいるかどうかは本に掲載されている情報以上に本を借りる人がその図書館の利用者であるのかに依存している。なので、理想的にはその本に掲載されている情報に精通した人が賞味期限切れかどうかを判断した方が良い。しかし、そのような人たちを常に確保できるわけではない。

一方で、多くの人は自分の生活や仕事にとって負担にならない限りは地域貢献をしたいと思っている(と信じたい)。昨今はネット環境が十分に発達しているため、1週間に5分〜10分程度、ネット上で何かをするぐらいならば力を貸してくれる人も多いだろう。さらには、献血の感謝状のように、ある程度の貢献をしてくれた人に、貢献への感謝を可視化すれば、もっと力を貸してくれる人も多くなると思われる。

問題

  • 図書館に蔵書されている「二度読まれることがあまりなく、モノとしてよりも中身のデータに価値があり、賞味期限がとても短い本」を司書が開架から外す(場合によっては廃棄する)ことが難しい。
  • 専門家の助力を借りようにも、専門家に暇な時間は少なく、かつ、図書館に出向いて何かするという時間的・費用的コストは支払えない
  • 図書館も専門家に仕事してもらうコストを継続的には支払えない

解決案

「1度に10冊だけそれぞれの本が賞味期限切れかどうかを専門家に判断してもらい、その判断結果を全国の司書間で共有するWebサービスを開発する」

個々の図書館に収蔵されている蔵書についていちいち判断するのは非効率的なので、先に賞味期限切れデータベースを作成し、そのデータベースの情報を自館の蔵書と照らし合わせて、開架判断の手助けとする。

サービスは大きく分けて「賞味期限切れ判定」と「賞味期限切れデータベースと蔵書データベースの対応」の2つに分けられる

賞味期限切れ判定

ユースケース:専門性決定

  1. 利用者はアカウントを作成する
  2. システムは、NDL分類に基づいた利用者の専門性選択画面を提示する
  3. 利用者は自分の専門性を選択する

これぐらいなら判定はたかだか10分で終わる。特にタイトルにソフトウェア名やバージョンが入っていれば即判定可能。

ユースケース:賞味期限切れ判定

  1. 利用者はシステムにログインする
  2. システムは登録済みの利用者の専門性にしたがい、X年前に発行された図書より10冊を書誌情報(タイトル、著者、出版社、発行年月日、Amazonへのリンクなど)とともに提示する
  3. 利用者は、それぞの本ごとに「まだ読む」「もしかしたら読むかもしれない」「情報が古いので読まない」「専門外なので判断できない」という選択肢から1つを選択する
  4. システムは、お礼を表示して終了する
  5. システムは、1冊の本に対して複数人の判定結果に基づき、賞味期限切れかどうかを判定する

本の情報については国立国会図書館APIなどを使い取得すれば良い。

賞味期限切れデータベースと蔵書データベースの対応

NDLの付け方は図書館ごとに違う可能性があるため、ISBNでマッチングして、賞味期限切れ情報を入手する。カーリルのAPIと協調して動くようにすれば良い。

おもしろげな部分

  • 一種のボランティアなのでインセンティブ設計をちゃんとしないとサービス作っても使ってくれる人がいないのでどうインセンティブを構成するか(貢献の可視化など)
  • 嘘専門家やなげやりな判定をどう排除するか
  • 専門性の特定をどう行うのか?
  • 提示する本の最適性をどう扱うか?
  • 蔵書の中で「二度読まれることがあまりなく、モノとしてよりも中身のデータに価値があり、賞味期限がとても短い本」と言うジャンルはどれか

おわりに

図書館関係かつAPIなどとのマッシュアップを良くやっている研究室や部署においてはおもしろい開発研究になるんじゃなかろうか。

追記

スマートフォンアプリにして、今週のタスクとして判定対象が自動的に送られてくるようにした方が良いかも。