NDLラボサーチ
池田光雪
国立国会図書館 非常勤調査員
筑波大学大学院 図書館情報メディア研究科
@lumely / mitsu@klis.tsukuba.ac.jp
# 本スライドは http://www.slideshare.net/lumely/ で公開
軽快なディスカバリーサービスと
実験的機能の紹介
2015/09/05 Code4Lib JAPAN カンファレンス 2015
 NDLラボとは
 NDLラボサーチとは
– 開発体制
– 実装理念|疎結合な三層構成
– 実装した諸機能
– 応用例|同志社サーチ
 まとめ
発表の流れ
222
NDLラボとは[1]
“
(前略)
現代、資料はその身を電子に変え、人々はインター
ネットに情報を求めて集まるようになっています。
その中で、伝統的な図書館も変革を迫られています。
既存のアナログ資料をどのようにインターネットを
通じて提供するか、電子的な資料をどう整理して、
どのように人々がアクセスできるようにするか。
(中略)
NDLラボは、そういった図書館が抱える課題に
対して、実証的な実験を行うことで
解決を図るために用意された実験場です。
[1]国立国会図書館 次世代システム開発研究室. ”NDLラボについて”. NDLラボ. http://lab.ndl.go.jp/cms/?q=about,
(accessed 2015-08-18) 223
 NDLサーチの次期実装を目指し構築した
書誌検索システム
– 現時点では外部DBとの連携等は未対応
 投入データはNDL所蔵資料と雑誌記事索引,
約2,300万件
 Ajax-Solrで実装しており,非常に高速
 Ajax-Solrが提供する機能以外にも,
別途実験的な機能も多数実装
NDLラボサーチ[2]とは
[2]国立国会図書館 次世代システム開発研究室. ”NDLラボ”. NDLラボ. http://lab.ndl.go.jp/ndls/,
(accessed 2015-08-18) 224
225
 Bootstrapを使った3カラムレイアウト
 シングルページアプリケーションなフロントエンド
 川島隆徳(国立国会図書館)
– バックエンド全般を担当
 常川真央(現 アジア経済研究所)
– 2013年度までNDL非常勤調査員として
ラボサーチのフロントエンド全般を担当.
主にSPAの枠組みを作成
 池田光雪(NDL非常勤調査員 / 筑波大学)
– 2014年度からフロントエンド全般を担当.
主に細かいデザインや機能を作成
 原田隆史(NDL非常勤調査員 / 同志社大学)
– アドバイザー
開発体制
226
 アプリ層,API層,リソース層の疎結合な
三層構成とし,柔軟な開発・運用を可能に
– リソース層を入れ替え異なるデータセットに対応する,
アプリ層を入れ替え新しいインタフェースを提供する
といったことが容易に可能
 その特性を活かしNDLラボ全文サーチ,
NDLラボOPACなども現在鋭意開発中
実装理念|疎結合な三層構成
227
誰しもが使いやすいサービスを作るのは困難
→フロントエンド(アプリ)を量産する
– ラボサーチのアプリ層部分は常川さんにより
オープンソースソフトウェア化[3]
– 詳しくはCode4Lib Japan カンファレンス2014の
ライトニングトーク,
「NDL LabSearch Clientのご紹介」[4]を参照のこと
実装理念|独立性が高い三層構成 cont’d
228
[3]常川真央. ”ineku2/ndl-labsearch-client”. GitHub. https://github.com/ineku2/ndl-labsearch-client,
(accessed 2015-08-18)
[4]常川真央. ”NDL LabSearch Clientのご紹介”. slideshare. http://www.slideshare.net/tsunekawamao/ndl-labsearch-client,
(accessed 2015-08-18)
(0) 画面遷移回数を抑える
(1) 表示形式の切り替え
(2) 全レコード表示からの絞り込み
(3) キーワード(タグ)による絞り込み
(4) NOTファセット
(5) 著作数順ソート
(6) ブックマーク及びそのエクスポート機能
(7) ブックマークを元にしたレコメンド
(8) アクセスログを使った共起資料の表示
実装した諸機能
229
表
示
絞
り
込
み
拡
張
 機能ではないが実装理念として
 検索結果画面とレコードの詳細画面を
何度も往復させない
 検索結果画面からでもある程度の詳細な情報は
得られるようにする
 エクスポートなどはモーダルウィンドウで行う
(0) 画面遷移回数を抑える
2210
2211
ページ遷移せずにある程度の詳細情報を閲覧可能
 複数のデザインを提供し,
自由に切り替えられるようにする
 「大きく表示」「小さく表示」「表」
(1) 表示形式の切り替え
2212
 全レコードを取得するAjax-Solrの機能
 ファセットで絞り込んでいくという使い方
(2) 全レコード表示からの絞り込み
2213
HOT
 いわゆるタグクラウド
 タイトルの形態素からヒューリスティックに生成
(3) キーワード(タグ)による絞り込み
2214
クエリ「殊能 将之」に対するキーワード
 NOT絞り込みを可能に
 明らかに違う条件を除外できる
(4) NOTファセット
2215
雑誌記事索引を除外
HOT
 「ハリー・ポッター」原作を読みたい!
 「ハリー ポッター」をキーワードとして
本をNDLサーチで検索しても,
原作はあまり上位にこない
 「シリーズものなど場合,派生作品より
原作者の著作数が一番多いのでは?」
という仮定から著作数順ソートを実装
 資料種別による絞り込みを併用した場合は有用
(5) 著作数順ソート
2216
HOT
17 22
NDLサーチ 2(4)/10 hits NDLラボサーチ 5/10 hits
雑誌記事を除外すると5件目以降は例外を除き全て原作
 ワンクリックかつ画面遷移なしでブックマーク
 表形式でエクスポート
– 表示/印刷する項目を選択可能
– 開架式図書館における探索のためのメモとして
(6) ブックマーク及びそのエクスポート機能
2218
ブックマークに登録されている資料の著者名,
NDC,NDLC,出版者名を使って問合せ
(7) ブックマークを元にしたレコメンド
2219
問合せ
(8) アクセスログを使った共起資料の表示
2220
NDLサーチのApacheログから,
一緒に閲覧されたレコードを取得し表示
HOT
 NDLラボサーチをカスタマイズし,
同志社サーチ(非公開システム)を開発
– データは同志社の所蔵情報を投入
 図書館総合演習の授業で使うことを前提に設計
1. ログイン機能を追加
2. システム上で,誰が・いつ・どのような行動を
したかのログをクリック単位で収集
3. 発見した資料をリストとして出力可能に
 実装作業時間は10人日
 大学の授業や課題に供するという応用が
容易にできるという可能性が示された
応用例|同志社サーチ
2221
 NDLラボでは
様々な実証的な取り組みを行っている
 次世代を見据え,各コンポーネントが疎結合な
書誌検索システム,NDLラボサーチを開発中
– 様々な実験的な機能を搭載
 他にも様々な共同研究の成果を公開しています
http://lab.ndl.go.jp/
 是非ご意見ご感想をお寄せ下さい!
まとめ
22 22

NDLラボサーチ|Code4Lib JAPAN カンファレンス2015 発表資料