以下、図面を参照して、本発明の実施形態を詳細に説明する。本実施形態においては、ユーザがクライアント端末を操作することにより、図書館に所蔵されている全書籍を検索対象の情報とし、その検索対象の情報である全書籍の中から特定の書籍を検索する書籍検索システムを例として説明する。本実施形態に係る書籍検索システムは、クライアント端末の表示画面上に表示されている検索結果の一覧からユーザにより書籍が選択されると、選択された書籍の詳細情報と共に、選択された書籍に関連が深く、上記ユーザが興味を示す可能性が高い書籍を提案するための情報(以下、「提案情報」とする)を上記クライアント端末の表示画面上に表示するようになっている。
このような本実施形態に係る書籍検索システムが表示する「提案情報」は、「おすすめ情報」と「新着情報」とからなり、「おすすめ情報」は、上記ユーザにより選択された書籍を借りたことがある他のユーザにこれまでに最も借りられた書籍とそれに準ずる書籍とに関する情報である。また、「新着情報」は、上記ユーザにより選択された書籍に関連が深く、そのユーザが興味を示す可能性が高い書籍であって、本実施形態に係る書籍検索システムに登録されてからの経過期間が所定の基準期間に達していない書籍に関する情報である。
このように、本実施形態に係る書籍検索システムにおいては、「おすすめ情報」の他に「新着情報」を表示するようになっているので、ユーザにより選択された書籍に関連が深く、そのユーザが興味を示す可能性が高い書籍ではあるが、書籍検索システムに登録されてからの経過期間が短く、貸し出された履歴がそれほど蓄積されていないために「おすすめ情報」には表示されない書籍については「新着情報」に表示させることが可能となる。
従って、本実施形態に係る書籍検索システムによれば、登録されてからの経過期間に依存せず、本実施形態に係る書籍検索システムに登録されている全書籍を対象にして提案情報を表示することが可能となるため、よりユーザの趣向を反映した提案を行うことが可能となる。以下、詳細に説明する。
まず、図1を参照して本実施形態に係る書籍検索システムの運用形態について説明する。図1は、本実施形態に係る書籍検索システムの運用形態の例を示す図である。図1に示すように、本実施形態に係る書籍検索システムは、書籍情報管理サーバ1、クライアント端末2がEthernet(登録商標)等のネットワーク3を介して接続されて運用される。尚、ネットワーク3に接続されているクライアント端末2の数は一例であり、これらがもっと多く接続された大規模なシステムであっても良い。
また、図1におけるネットワーク3は、例えば、オフィスLAN(Local Area Network)等の限定されたネットワークであるが、書籍情報管理サーバ1、クライアント端末2がそれぞれ異なるネットワークに接続され、それらのネットワークが公衆回線等の広域ネットワークを介して接続されて運用されても良い。また、書籍情報管理サーバ1、クライアント端末2が、直接公衆回線等の広域ネットワークに接続される態様とすることも可能である。
書籍情報管理サーバ1は、ネットワーク上に存在する共有サーバであり、図書館に所蔵されている書籍と利用者であるユーザとを管理するサーバである。本実施形態に係る書籍情報管理サーバ1は、Webサーバ機能を備え、クライアント端末2のWebブラウザ上に書籍検索に関する各種情報を表示させる。また、書籍情報管理サーバ1は、クライアント端末2のWebブラウザ上で入力された検索条件に基づいて書籍情報管理サーバ1に登録されている書籍からユーザが所望する書籍を検索する。
クライアント端末2は、ユーザが操作する情報処理端末であり、PC(Personal Computer)の他、携帯電話やスマートフォン、タブレット端末、PDA(Personal Digital Assistant)等の携帯型の情報処理装置によって実現されても良い。また、本実施形態に係るクライアント端末2は、IE(Internet Explorer)(登録商標)等のWebブラウザを備え、ユーザがWebブラウザ上で入力した書籍の検索指示を書籍情報管理サーバ1に通知することができる。
次に、本実施形態に係る書籍情報管理サーバ1、クライアント端末2のハードウェア構成について図2を参照して説明する。図2は、本実施形態に係る書籍情報管理サーバ1のハードウェア構成を模式的に示すブロック図である。以下の説明においては、画像形成装置1のハードウェア構成を例として説明するが、クライアント端末2についても同様である。
図2に示すように、本実施形態に係る書籍情報管理サーバ1は、一般的なサーバやPC等と同様の構成を含む。即ち、本実施形態に係る書籍情報管理サーバ1は、CPU(Central Processing Unit)10、RAM(Random Access Memory)20、ROM(Read Only Memory)30、HDD(Hard Disk Drive)40及びI/F50がバス80を介して接続されている。また、I/F50にはLCD(Liquid Crystal Display)60及び操作部70が接続されている。
CPU10は演算手段であり、書籍情報管理サーバ1全体の動作を制御する。RAM20は、情報の高速な読み書きが可能な揮発性の記憶媒体であり、CPU10が情報を処理する際の作業領域として用いられる。ROM30は、読み出し専用の不揮発性記憶媒体であり、ファームウェア等のプログラムが格納されている。HDD40は、情報の読み書きが可能な不揮発性の記憶媒体であり、OS(Operating System)や各種の制御プログラム、アプリケーション・プログラム等が格納される。
I/F50は、バス80と各種のハードウェアやネットワーク等を接続し制御する。LCD60は、ユーザが書籍情報管理サーバ1の状態を確認するための視覚的ユーザインタフェースである。操作部70は、キーボードやマウス等、ユーザが書籍情報管理サーバ1に情報を入力するためのユーザインタフェースである。尚、図1において説明したように、本実施形態に係る書籍情報管理サーバ1は共有サーバとして運用される。従って、書籍情報管理サーバ1については、LCD60及び操作部70等のユーザインタフェースは省略可能である。
このようなハードウェア構成において、ROM30やHDD40若しくは図示しない光学ディスク等の記憶媒体に格納されたプログラムがRAM20に読み出され、CPU10がRAM20にロードされたプログラムに従って演算を行うことにより、ソフトウェア制御部が構成される。このようにして構成されたソフトウェア制御部と、ハードウェアとの組み合わせによって、本実施形態に係る書籍情報管理サーバ1の機能を実現する機能ブロックが構成される。
次に、本実施形態に係る書籍情報管理サーバ1の機能構成について、図3を参照して説明する。図3は、本実施形態に係る書籍情報管理サーバ1の機能構成を模式的に示すブロック図である。図3に示すように、本実施形態に係る書籍情報管理サーバ1は、書籍情報管理部100及びネットワークI/F101を有する。また、書籍情報管理部100は、ユーザ情報データベース110(以下「ユーザ情報DB110」とする)、セッション情報データベース120(以下、「セッション情報DB120」とする)、書籍情報データベース130(以下、「書籍情報DB130」とする)、Webサーバ140、ログイン処理部150、書籍情報検索部160、新着情報検索部170、詳細情報生成部180を含む。
ネットワークI/F101は、書籍情報管理サーバ1がネットワークを介してクライアント端末2等の他の機器と通信するためのインタフェースであり、Ethernet(登録商標)やUSB(Universal Serial Bus)インタフェースが用いられる。尚、ネットワークI/F108は、図2に示すI/F50によって実現される。
書籍情報管理部100は、ソフトウェアとハードウェアとの組み合わせによって構成される。具体的には、ROM30や不揮発性メモリ並びにHDD40や光学ディスク等の不揮発性記憶媒体に格納されたプログラムが、RAM20等の揮発性メモリ(以下、メモリ)にロードされ、CPU10がそのプログラムに従って動作することにより構成されるソフトウェア制御部と集積回路などのハードウェアとによって書籍情報管理部100が構成される。書籍情報管理部100は、書籍情報管理サーバ1全体を制御する制御部として機能する。
ユーザ情報DB110は、ユーザ認証情報管理テーブル(以下、「ユーザ認証情報管理Tb」とする)、ログイン履歴テーブル(以下、「ログイン履歴Tb」とする)、ユーザ貸出履歴テーブル(以下、「ユーザ貸出履歴Tb」とする)を格納している。
ユーザ認証情報管理Tbとは、図4に示すように、各ユーザを識別するためにユーザ毎に定められた識別情報であるユーザIDとパスワードとを対応付けて記録しているテーブルのことである。ユーザIDとパスワードとの組み合わせはユーザ毎に一意であるため、ユーザにより入力されたユーザID及びパスワードが、ユーザ認証情報管理Tbに記録されているユーザID及びパスワードと一致すれば、そのユーザは本実施形態に係る書籍検索システムに登録されているユーザということになる。また、ユーザID及びパスワードは、書籍情報管理サーバ1により自動で割り当てられても良いし、ユーザが自由に決定しても良い。以下では、特に断りがない限り、ユーザIDとパスワードとの各組み合わせを総称して「ユーザ認証情報」とする。
ログイン履歴Tbとは、図5に示すように、書籍情報管理サーバ1にログインしたユーザのユーザIDとそのログイン日時とを対応付けて記録しているテーブルのことであり、書籍情報管理サーバ1にログインしたユーザのユーザIDとそのログイン日時とを逐一記録するためのテーブルである。以下では、特に断りがない限り、書籍情報管理サーバ1にログインしたユーザのユーザIDとそのログイン日時との各組み合わせを総称して「ログイン履歴情報」とする。
ユーザ貸出履歴Tbとは、図6に示すように、ユーザ毎に、貸し出された書籍の書籍IDとその貸出日時とを対応付けて記録しているテーブルのことであり、あるユーザが借りた書籍の書籍IDとその貸出日時を逐一記録するためのテーブルである。以下では、特に断りがない限り、貸し出された書籍の書籍IDとその貸出日時との各組み合わせを総称して「ユーザ貸出情報」とする。
セッション情報DB120は、セッションID管理テーブル(以下、「セッションID管理Tb」とする)を格納している。セッションID管理Tbとは、図7に示すように、書籍情報管理サーバ1にログインしたユーザのユーザID、そのログイン日時、そのとき発行されたセッションIDを対応付けて記録しているテーブルのことである。ここで、セッションIDとは、後述するログイン処理部150がユーザ認証後に発行するランダムな文字の並びのことであり、ユーザ認証の度に異なる。従って、同じユーザであっても、一度ログアウトしてしまえば、次にログインする際には前回とは異なるセッションIDが発行される。以下では、籍情報管理サーバ1にログインしたユーザのユーザID、そのログイン日時、そのとき発行されたセッションIDの各組み合わせを総称して「セッション情報」とする。
書籍情報DB130は、所蔵管理テーブル(以下、「所蔵管理Tb」とする)、カテゴリ管理テーブル(以下、「カテゴリ管理Tb」とする)、書籍貸出履歴テーブル(以下、「書籍貸出履歴Tb」とする)を格納している。
所蔵管理Tbとは、本実施形態に係る書籍検索システムに登録されている各書籍について関連する情報(以下、「書籍情報」とする)を、書籍毎に対応付けて記録しているテーブルであって、本実施形態においては、図8に示すように、「書籍ID」、「資料種別」、「タイトル」、「著者」、「出版社」、「出版年月日」、「所蔵場所」、「所蔵数」、「キーワード」、「登録年月日」、「カテゴリID」、「ISBN−10」、「ISBN−13」、「雑誌コード」、「ページ数」、「寸法(cm)」、「価格(円)」が蓄積されている。即ち、本実施形態においては、図8に示す所蔵管理Tbが、蓄積関連情報として用いられる。
尚、書籍情報は上記に限られず、適宜、他の情報、例えば、シリーズがある書籍であれば「シリーズ」や、上下巻など複数巻ある書籍であれば「巻数」等の情報を書籍情報として追加しても良い。以下では、特に断りがない限り、上記書籍情報のうち、「書籍ID」、「資料種別」、「タイトル」、「著者」、「出版社」、「出版年月日」、「所蔵場所」、「所蔵数」を総称して「基本情報」とし、「キーワード」、「登録年月日」、「カテゴリID」、「ISBN−10」、「ISBN−13」、「雑誌コード」、「ページ数」、「寸法(cm)」、「価格(円)」を総称して「付加情報」とする。また、「基本情報」と「付加情報」とを総称して「詳細情報」とする。
尚、所蔵管理Tbに記録されている書籍は、本実施形態に係る書籍検索システムの管理者によって適宜削除され若しくは追加される。以下では、所蔵管理Tbに記録されてからの経過期間、即ち、本実施形態に係る書籍検索システムに登録されてからの経過期間(以下、「登録期間」とする)が、所定の基準期間を超えていない書籍については新着書籍と称する。即ち、本実施形態においては、新着書籍が、新着関連情報として用いられる。
ここで、所定の基準期間とは、例えば、登録されてから1ヶ月や3か月といった比較的短い期間のことであり、登録されてからの経過期間が短いために、その書籍がまだどのユーザからも借りられていない状態、若しくは、数人程度の少人数からしか借りられていない状態となることが想定される期間のことである。即ち、所定の基準期間とは、その書籍についての、書籍情報DB130における後述する書籍貸出履歴Tbへの書籍貸出情報の蓄積数が全くない状態、若しくは、統計的に意味をなさない程少し(数件程度)しかないような状態となることが想定される期間のことである。以下では、特に断りがない限り、上記所定の基準期間を「新着期間」と称する。
尚、上記新着期間は、ユーザや本実施形態に係る書籍検索システムの管理者によって適宜設定されても良いが、書籍貸出履歴Tbへの書籍貸出情報が所定件数蓄積されるまでの期間の平均値を上記新着期間として設定しても良い。
ここで、図8における「書籍ID」とは、各書籍を識別するための識別情報であって、各書籍について一意に定められている。書籍IDは、本実施形態に係る書籍情報管理サーバ1により自動で割り当てられても良いし、本実施形態に係る書籍検索システムの管理者が自由に決定しても良い。また、図8における「資料種別」とは、書籍の種類を示す情報であって、本実施形態においては図8に示すように、便宜上、「図書」と「雑誌」とが設定されているが、その他に、「論文」、「新聞」、「電子書籍」等が設定されていても良い。
また、図8における「キーワード」とは、その書籍のタイトルや内容、著者に関連する言葉、その書籍が属するカテゴリに関連する言葉、それらの言葉の同義語や言い換え言葉等、その書籍に深く関連する言葉のことである。尚、キーワードは、各書籍について複数設定されていても良い。また、「登録年月日」とは、本実施形態に係る書籍検索システムに書籍が登録された年月日を表す情報である。また、図8における「所蔵数」とは、本実施形態に係る書籍検索システムに登録されているある書籍の冊数のことである。尚、図8における「カテゴリID」については、図9を参照して後述する。
カテゴリ管理Tbとは、図9に示すように、各カテゴリを識別するための識別情報であるカテゴリIDとカテゴリとを対応付けて記録しているテーブルである。ここで、「カテゴリ」とは、各書籍が属する分野を示す情報であって、本実施形態においては図9に示すように階層構造になっており、その階層構造の下位において定められるほどより詳細な分野を示すことを表す。尚、書籍が属する分野は、書籍によっては複数分野にまたがることもあるため、そのような書籍については、カテゴリIDが複数設定されていても良い。以下では、特に断りがない限り、各カテゴリを識別するための識別情報であるカテゴリIDとカテゴリとの各組み合わせを総称して「カテゴリ管理情報」とする。
書籍貸出履歴Tbとは、図10に示すように、書籍毎に、貸し出し先であるユーザのユーザIDとその貸出日時とを対応付けて記録しているテーブルのことであり、ある書籍を借りたユーザのユーザIDとその貸出日時を逐一記録するためのテーブルである。以下では、特に断りがない限り、貸し出し先であるユーザのユーザIDとその貸出日時との各組み合わせを総称して「書籍貸出情報」とする。
尚、本実施形態においては、図6及び図10に示すように、ユーザ貸出履歴Tb及び書籍貸出履歴Tbが別々のテーブルとして管理されている場合を例としているが、これらの情報が統合され、1件の貸し出し記録毎に貸出日時、書籍ID及びユーザIDが関連付けられた情報として管理されても良い。即ち、本実施形態においては、図6に示すユーザ貸出履歴Tb及び図10に示す書籍貸出履歴Tbが、履歴情報として用いられる。
Webサーバ140は、HTML(HyperText Markup Language)文書や画像等の表示情報を蓄積し、クライアント端末2のWebブラウザからの要求に応じて、HTTP(Hypertext Transfer Protocol)に則り、ネットワークI/F101及びネットワーク3を介してクライアント端末2のWebブラウザに対して上記表示情報を送信する。本実施形態において、Webサーバ140がクライアント端末2のWebブラウザに送信する上記表示情報は、例えば、後述する検索結果一覧表示情報や詳細画面表示情報である。また、Webサーバ140は、クライアント端末2のWebブラウザ上で入力された情報を受け付け、書籍情報管理部100に含まれる各部に通知する。
ログイン処理部150は、ユーザがユーザ認証情報を入力する画面(以下、「ユーザ認証画面」とする)をクライアント端末2のWebブラウザ上に表示させるための表示情報(以下、「ユーザ認証画面表示情報」とする)を生成しWebサーバ140に通知する。また、ログイン処理部150は、ユーザ情報DB110を参照して、クライアント端末2のWebブラウザ上で入力され、Webサーバ140を介して通知されたユーザ認証情報に基づきログイン処理を行う。そして、ログイン処理部150は、ユーザ認証後にセッションIDを発行してクライアント端末2に通知すると共に、そのときログインしたユーザのユーザIDとそのログイン日時とを対応付けてセッション情報DB120に格納する。ログイン処理部150におけるログイン処理の具体的な処理については図12を参照して後述する。
書籍情報検索部160は、ログイン処理部160におけるユーザ認証後に、ユーザが検索条件を入力する画面(以下、「検索条件入力画面」とする)をクライアント端末2のWebブラウザ上に表示させるための表示情報(以下、「検索条件入力画面表示情報」とする)を生成しWebサーバ140に通知する。ここで、検索条件とは、書籍情報検索部160が所蔵管理Tbから特定の書籍のみを検索する際に参照する条件のことであり、図14を参照して後述する。即ち、本実施形態においては、検索条件が指定された条件として用いられる。また、書籍情報検索部160は、クライアント端末2のWebブラウザ上で入力され、Webサーバ140を介して通知された検索条件に合致する書籍を所蔵管理Tbから検索して、検索した書籍の基本情報を抽出する。即ち、本実施形態においては、書籍情報検索部160が、検索処理部として機能する。書籍情報検索部160における書籍検索処理の具体的な処理については図13を参照して後述する。
また、書籍情報検索部160は、抽出した基本情報に基づいて、検索結果の一覧をクライアント端末2のWebブラウザ上に表示させるための表示情報(以下、「検索結果一覧表示情報」とする)を生成してWebサーバ140に通知する。即ち、本実施形態においては、書籍情報検索部160が、検索結果一覧出力部として機能する。さらに、書籍情報検索部160は、検索結果一覧画面でユーザにより選択された書籍の付加情報を所蔵管理Tbから抽出する。検索結果一覧画面の詳細については、図15を参照して後述する。
新着情報検索部170は、クライアント端末2のWebブラウザ上で入力され、Webサーバ140を介して通知された検索条件に合致する新着書籍を所蔵管理Tbから検索して、検索した新着書籍の基本情報を抽出する。即ち、本実施形態においては、新着情報検索部170が、新着関連情報抽出部として機能する。
詳細情報生成部180は、クライアント端末2のWebブラウザ上に表示されている検索結果一覧からユーザにより選択された書籍の詳細情報の一覧に提案情報の一覧を付加した画面(以下、「詳細画面」とする)を、クライアント端末2のWebブラウザ上に表示させるための表示情報(以下、「詳細画面表示情報」とする)を生成してWebサーバ140に通知する。即ち、本実施形態においては、詳細画面が、検索対象個別画面に相当し、詳細画面表示情報が、個別画面表示情報に相当し、詳細情報生成部180が、個別画面出力部として機能する。ここで、提案情報とは、上述したように、ユーザが検索した書籍に関連が深く、ユーザが興味を示す可能性が高い書籍をユーザに提案するための情報であって、本実施形態においては、おすすめ情報と新着情報とからなる。詳細情報生成部180における詳細画面表示情報の生成処理の具体的な処理については図16を参照して、詳細画面の詳細については、図17を参照して後述する。
次に、本実施形態に係るクライアント端末2の機能構成について、図11を参照して説明する。図11は、本実施形態に係るクライアント端末2の機能構成を模式的に示すブロック図である。図11に示すように、本実施形態に係るクライアント端末2は、システム利用部200、ディスプレイパネル201、ネットワークI/F202を有する。また、システム利用部200は、ユーザ認証情報入力部210、検索条件入力部220、セッションID管理部230、検索一覧表示部240、詳細情報表示部250を含む。
ディスプレイパネル201は、クライアント端末2の状態やWebブラウザが提供する画面を視覚的に表示する出力インタフェースである。ディスプレイパネル201は、図2に示すLCD60によって実現される。ネットワークI/F202は、クライアント端末2がネットワークを介して書籍情報管理サーバ1等の他の機器と通信するためのインタフェースであり、Ethernet(登録商標)やUSB(Universal Serial Bus)インタフェースが用いられる。尚、ネットワークI/F108は、図2に示すI/F50によって実現される。
システム利用部200は、ソフトウェアとハードウェアとの組み合わせによって構成される。具体的には、ROM30や不揮発性メモリ並びにHDD40や光学ディスク等の不揮発性記憶媒体に格納されたプログラムが、RAM20等の揮発性メモリ(以下、メモリ)にロードされ、CPU10がそのプログラムに従って動作することにより構成されるソフトウェア制御部と集積回路などのハードウェアとによってシステム利用部100が構成される。システム利用部200は、書籍情報管理サーバ1全体を制御する制御部として機能する。
システム利用部200は、Webブラウザが提供する機能とハードウェアとの組み合わせにより実現され、ネットワーク3及びネットワークI/F202を介して書籍情報管理サーバ1のWebサーバ140から送信されてきた検索結果一覧表示情報や詳細画面表示情報等の表示情報をディスプレイパネル201に表示させる。また、システム利用部200は、Webブラウザ上で入力された情報をHTTPに則りネットワークI/F202及びネットワーク3を介して書籍情報管理サーバ1のWebサーバ140に送信する。
ユーザ認証情報入力部210は、書籍情報管理サーバ1から送信されてきたユーザ認証画面表示情報に従ってユーザ認証画面をディスプレイパネル201に表示させる。また、ユーザ認証情報入力部210は、上記ユーザ認証画面で入力されたユーザ認証情報を書籍情報管理サーバ1に送信する。検索条件入力部220は、ユーザ認証後に、書籍情報管理サーバ1から送信されてきた検索条件入力画面表示情報に従って検索条件入力画面をディスプレイパネル201に表示させる。また、検索条件入力部220は、上記検索条件入力画面で入力された検索条件を書籍情報管理サーバ1に送信する。即ち、本実施形態おいては、検索条件入力部220が、指定条件受付部として機能する。
セッションID管理部230は、ログイン処理部150により発行され書籍情報管理サーバ1から通知されたセッションIDを保管する。結果一覧表示部240は、書籍情報管理サーバ1から送信されてきた検索結果一覧表示情報に従って検索結果一覧画面をディスプレイパネル201に表示させる。また、結果一覧表示部240は、上記検索結果一覧画面で選択された書籍の書籍IDを書籍情報管理サーバ1に送信する。詳細情報表示部250は、書籍情報管理サーバ1から送信されてきた詳細画面表示情報に従って詳細画面をディスプレイパネル201に表示させる。即ち、本実施形態においては、詳細情報表示部250が、個別画面表示処理部として機能する。
また、クライアント端末2は図示しない操作部、例えば、キーボードやマウス等を備え、ユーザがその操作部を操作することにより、クライアント端末2に対して指示や情報を入力することができる。尚、このようなキーボードやマウス等の操作部は、図2に示す操作部70によって実現される。
このように構成された書籍検索システムに係る要旨の一つは、新着書籍であるため登録期間が短く、書籍貸出情報の履歴がそれほど蓄積されていないものの、検索結果の一覧からユーザにより選択された書籍に関連が深く、そのユーザが興味を示す可能性が高い書籍については、新着情報に表示させることにある。
これにより、本実施形態に係る書籍検索システムにおいては、検索結果の一覧からユーザにより選択された書籍に関連が深く、そのユーザが興味を示す可能性が高い書籍であっても、新着書籍であるため登録期間が短く、貸し出された履歴がそれほど蓄積されていないためにおすすめ情報に表示されないといったことを防ぐことが可能となる。
従って、本実施形態に係る書籍検索システムによれば、登録期間の長さに依存せず、本実施形態に係る書籍検索システムに登録されている全書籍を対象にして、提案情報を表示することが可能となる。
次に、本実施形態に係る書籍検索システムにユーザがログインする際の処理について図12を参照して説明する。図12は、本実施形態に係る書籍検索システムにユーザがログインする際の処理を説明するためのシーケンス図である。図12に示すように、本実施形態に係る書籍検索システムにユーザがログインするにはまず、ユーザは、クライアント端末2を操作することによりユーザ認証画面にユーザ認証情報を入力する。これにより、クライアント端末2が、ユーザ認証情報を取得する(S1201)。ユーザがユーザ認証画面にユーザ認証情報を入力すると、ユーザ認証情報入力部210は、入力されたユーザ認証情報を書籍情報管理サーバ1のログイン処理部150に送信する(S1202)。
ログイン処理部150は、ユーザ認証情報を受信すると、ユーザ情報DB110に格納されているユーザ認証情報Tbを参照して、上記ユーザ認証情報を入力したユーザが本実施形態に係る書籍検索システムに登録されているユーザであるか否かを確認してユーザ認証を行う(S1203)。ログイン処理部150は、上記ユーザが書籍検索システムに登録されているユーザであると認証するとセッションIDを発行して(S1204)、そのセッションIDを、セッション情報DB120のセッションID管理Tbにその発行日時と対応付けて記録すると共に、クライアント端末2に通知する(S1205)。
そして、ログイン処理部150は、このときのログイン履歴情報(ユーザIDとログイン時間の組み合わせ)をユーザ情報DB110のログイン履歴Tbに記録する(S1206)。一方、セッション情報IDを通知されたクライアント端末2は、通知されたセッションIDをセッションID管理部230において保管する(S1207)。以上のような処理により、本実施形態に係る書籍検索システムへのログイン処理が終了する。
次に、本実施形態に係る書籍検索システムが書籍を検索して検索結果の一覧を表示するまでの処理について、図13を参照して説明する。図13は、本実施形態に係る書籍検索システムが書籍を検索して検索結果の一覧を表示するまでの処理について説明するためのシーケンス図である。図13に示すように、本実施形態に係る書籍検索システムが書籍を検索するためにはまず、ユーザは、クライアント端末2を操作することにより検索条件入力画面に検索条件を入力する。これにより、クライアント端末2が、検索条件を取得する(S1301)。
ここで、本実施形態に係る書籍検索システムに書籍を検索させる際の検索条件について、図14を参照して説明する。図14は、本実施形態に係るクライアント端末2のディスプレイパネル201に表示される検索条件入力画面の表示例を示す図である。図14に示すように、本実施形態に係る検索条件入力画面には、「キーワード」、「タイトル」、「著者」、「出版社」、「出版年月日」、「ISBN−10」、「ISBN―13」、「雑誌コード」の各項目について検索ワードを入力するための欄が表示されている。また、本実施形態に係る検索条件入力画面には、「図書」及び「雑誌」の少なくとも一項目を選択するためのチェックボックスが表示されている。
そして、ユーザがクライアント端末2を操作して、図14に示すような検索条件入力画面の各項目に検索ワードを入力し、チェックボックスにチェックを入力することにより、検索条件入力部220は、入力された検索ワードとチェック項目を検索条件として書籍情報管理サーバ1に送信することが可能となる。
ユーザが検索条件入力画面に検索条件を入力すると、検索条件入力部220は、セッションID管理部230からセッションIDを取得して、入力された検索条件に取得したセッションIDを付加して書籍情報管理サーバ1の書籍情報検索部160に送信する(S1302)。書籍情報検索部160は、検索条件とセッションIDを受信すると、セッション情報DB120のセッションID管理Tbを参照して受信したセッションIDを照合する(S1303)。書籍情報検索部160は、照合の結果、ログインユーザであることを確認すると、受信した検索条件に合致する書籍を書籍情報DB130の所蔵管理Tbから検索する(S1304)。
書籍情報検索部160は、検索条件に合致した書籍の基本情報を抽出して(S1305)、抽出した基本情報に基づいて検索結果一覧表示情報を生成し(S1306)、クライアント端末2に送信する(S1307)。クライアント端末2が検索結果一覧表示情報を受信すると、検索一覧表示部240は、受信した検索結果一覧表示情報に従って検索結果一覧画面をディスプレイパネル201に表示させる(S1308)。以上のような処理により、本実施形態に係る書籍検索システムが書籍を検索して検索結果の一覧を表示するまでの処理を終了する。
次に、本実施形態に係る書籍検索システムが表示する検索結果一覧画面について図15を参照して説明する。図15は、本実施形態に係るクライアント端末2のディスプレイパネル201に表示される検索結果一覧画面の表示例を示す図である。図15に示すように、本実施形態に係る検索結果一覧画面には、「選択」、「No.」、「資料種別」、「タイトル」、「著者」、「出版社」、「出版年月日」、「所蔵場所」、「貸出可否」の各項目が表示されている。
「貸出可否」の欄には、その書籍について在庫があれば「○」が表示され、在庫がなければ「×」が表示され、「○」の書籍について、「選択」の欄のチェックボックスにチェックを入れて「選択した書籍を借りる」ボタンを押下すると、選択された書籍の貸出処理に移行する。尚、このような在庫の有無の判定は、書籍情報検索部160が、抽出された基本情報に含まれる「所蔵数」とその書籍の書籍貸出履歴Tbとを比較することにより行われる。
「タイトル」の欄には、検索されて抽出された書籍のタイトルが特定の規則に従って表示されている。ここで、特定の規則とは、例えば、タイトルの頭文字による50音順や出版年月日順、貸出回数順等の規則のことである。また、「タイトル」の欄の各書籍のタイトルは、ハイパーテキストによってその書籍の詳細画面(詳細情報の一覧に提案情報を付加した画面)に関連付けられている。そのため、ユーザがクライアント端末2の図示しないマウスを操作することにより、所望のタイトルにカーソルを合わせてクリックすると、本実施形態に係る書籍検索システムは、上記詳細画面を表示するための処理に移行する。
次に、本実施形態に係る書籍検索システムが詳細画面を表示する際の処理について、図16を参照して説明する。図16は、本実施形態に係る書籍検索システムが詳細画面を表示する際の処理を説明するためのシーケンス図である。図16に示すように、本実施形態に係る書籍検索システムが詳細画面を表示するためにはまず、ユーザは、クライアント端末2を操作することにより、詳細画面を表示させたい書籍を検索結果一覧画面から選択する(S1601)。尚、上述したように、書籍の選択は、ユーザがクライアント端末2の図示しないマウスを操作することにより所望のタイトルにカーソルを合わせてクリックすることにより行われる。
ユーザが検索結果一覧画面から書籍を選択すると、結果一覧表示部240は、セッションID管理部230からセッションIDを取得して、選択された書籍の書籍IDに取得したセッションIDを付加して書籍情報管理サーバ1の詳細情報生成部180に送信する(S1602)。詳細情報生成部180は、書籍IDとセッションIDとを受信すると、セッション情報DB120のセッションID管理Tbを参照して受信したセッションIDを照合する(S1603)。
詳細情報生成部180は、照合の結果、ログインユーザであることを確認すると、書籍情報管理DB130から受信した書籍IDに対応する書籍の詳細情報を取得する(S1604)。尚、上述したように、本実施形態に係る詳細画面は、書籍の詳細情報の一覧に提案情報を付加した画面であるが、S1601〜S1604までの処理により、上記詳細画面を表示させるための詳細画面表示情報のうち、書籍の詳細情報の一覧に関する部分の情報が得られたことになる。
次に、詳細情報生成部180は、S1601の処理においてユーザに選択された書籍の著者名とカテゴリIDとを新着書籍情報検索部170に通知する(S1605)。新着書籍情報検索部170は、著者名とカテゴリIDとを通知されると、書籍情報DB130の所蔵管理Tbを参照して、登録期間が新着期間以内である書籍のみを対象にして、即ち、新着書籍のみを対象にして、通知された著者名若しくはカテゴリIDと同一の書籍を検索する(S1606)。このような処理により、登録期間が短いために書籍貸出情報の履歴がそれほど蓄積されてはおらず後述する重複数が低いが、S1601の処理においてユーザに選択された書籍に関連が深く、上記ユーザが興味を示す可能性が高い書籍を新着情報に表示させることが可能となる。
尚、S1606の処理においては、便宜上、著者名若しくはカテゴリIDと同一の書籍を検索するとしたが、その両方が同一の書籍を検索するようにしてもいし、検索の結果、その両方が同一の書籍がなければ、再度検索して、どちらか一方のみが同一の書籍を検索するようにしても良い。また、S1605の処理において、著者名とカテゴリIDの他にキーワードを加えて通知し、それらにより書籍を検索するようにしても良い。
そして、新着書籍情報検索部170は、検索の結果、登録期間が短い上位2番目までの新着書籍を詳細画面における新着情報の一覧に表示させるための書籍として決定し(S1607)、その新着書籍の書籍IDを書籍情報DB130の所蔵管理Tbから抽出して(S1608)、詳細情報生成部180に通知する(S1609)。詳細情報生成部180は、通知された書籍IDに対応する書籍の基本情報を書籍情報DB130の所蔵管理Tbから取得する(S1610)。
尚、上述したように、本実施形態に係る詳細画面は、書籍の詳細情報一覧に提案情報の一覧を付加した画面であり、その提案情報は、おすすめ情報と新着情報とからなるが、S1605〜S1610までの処理により、上記詳細画面を表示させるための詳細画面表示情報のうち、新着情報に関する部分の情報が得られたことになる。また、S1607の処理においては、便宜上、上位2番目までの書籍としたが、特にこれに限られず、上位1番目のみであっても良いし、上位3番目以降を含めても良く、詳細画面における新着情報の一覧に表示させたい書籍の件数に応じて適宜設定すれば良い。
次に、詳細情報生成部180は、詳細画面を表示させるための詳細画面表示情報のうち、おすすめ情報に関する部分の情報を取得する処理、即ち、詳細画面のおすすめ情報の一覧に表示させる書籍を決定し、その書籍の基本情報を取得する処理を行う(S1611)。尚、S1611の処理の詳細な説明については図17を参照して後述する。そして、詳細情報生成部180は、おすすめ情報に関する部分の情報を取得する処理を終えると、S1601の処理でユーザにより選択されてS1604の処理で取得した書籍の詳細情報、S1607の処理で新着情報の一覧に表示させる書籍として決定してS1610の処理で取得したその書籍の基本情報、S1616の処理でおすすめ情報の一覧に表示させる書籍として決定してS1611の処理で取得したその書籍の基本情報に基づいて、詳細画面表示情報を生成し(S1612)、クライアント端末2に送信する(S1613)。
クライアント端末2が詳細画面表示情報を受信すると、詳細情報表示部250は、受信した詳細画面表示情報に従って詳細画面をディスプレイパネル201に表示させる(S1614)。以上のような処理により、本実施形態に係る書籍検索システムが詳細画面を表示する際の処理を終了する。
次に、図16におけるS1611の処理の詳細な処理、即ち、本実施形態に係る書籍検索システムが詳細画面を表示させるための詳細画面表示情報のうち、おすすめ情報に関する部分の情報を取得する際の処理について、図17を参照して説明する。図17は、本実施形態に係る書籍検索システムが詳細画面を表示させるための詳細画面表示情報のうち、おすすめ情報に関する部分の情報を取得する際の処理を説明するためのフローチャートである。
図17に示すように、本実施形態に係る書籍検索システムが詳細画面を表示させるための詳細画面表示情報のうち、おすすめ情報に関する部分の情報を取得するにはまず、詳細情報生成部180は、書籍情報DB130を参照して、受信した書籍IDの書籍貸出履歴Tbから今回選択された書籍を借りたことがあるユーザのユーザIDを抽出する(S1701)。詳細情報生成部180は、ユーザIDを抽出すると、ユーザ情報DB110を参照して、抽出した全ユーザIDのユーザ貸出履歴情報から、それらのユーザIDを持つユーザがこれまでに借りたことがある書籍の書籍IDを抽出し(S1702)、書籍ID毎にその重複数を集計する(S1703)。
尚、このとき、S1612の処理においては、詳細情報生成部180は、S1607の処理において、詳細画面における新着情報の一覧に表示させるための書籍として決定された書籍の書籍IDについては除外するようにして抽出するようにしても良い。このような処理により、詳細画面における新着情報の一覧に表示される書籍とおすすめ情報の一覧に表示される書籍とが重複することを避けることが可能となる。
そして、詳細情報生成部180は、抽出した書籍IDの登録年月日と現在の年月日とを比較することにより、その書籍IDに対応する書籍の登録期間が新着期間を過ぎているか否か、即ち、その書籍IDに対応する書籍が新着書籍であるか否かを判定する(S1704)。
詳細情報生成部180は、判定の結果、登録期間が新着期間を過ぎていると判定した書籍、即ち、新着書籍ではないと判定した場合には、その書籍については、その書籍IDの重複数をその書籍のこれまでの貸出数として決定する。一方、詳細情報生成部180は、判定の結果、登録期間が新着期間を過ぎていないと判定した書籍、即ち、新着書籍であると判定した場合には、その書籍については、その書籍IDの重複数に、新着期間を登録期間で除した数をかけた値を、その書籍のこれまでの貸出数として決定する(S1705)。尚、S1705の処理においては、新着書籍であると判定した書籍については、その書籍IDの重複数に、新着期間を登録期間で除した数をかけた値を、その書籍のこれまでの貸出数として決定する例について説明しているが、登録されている全書籍の登録期間の平均値を登録期間で除した値を、その書籍のこれまでの貸出数として決定しても良い。
このような処理により、本実施形態に係る書籍検索システムは、登録期間が短いために、書籍情報DB130における書籍貸出管理Tbへの書籍貸出情報の蓄積数が数件程度しかなく、その書籍IDの重複数が少なくなってしまっている書籍であっても、登録期間が新着期間に達したと想定したときの貸出数を推定することが可能となる。
尚、新着書籍についても貸出数の推定を行わないで、重複数をそのまま貸出数として決定しても特に問題はないが、上記のように貸出数を推定するようにすれば、登録期間が短いために書籍貸出情報の履歴がそれほど蓄積されておらず上記重複数が低いものの、新着期間内であるにもかかわらず貸出頻度が他の書籍に比べて高く、本来ならばおすすめ情報に表示されるべき新着書籍を、実際におすすめ情報に表示させることが可能となる。
そして、詳細情報生成部180は、S1705の処理で決定した貸出数が上位2番目までの書籍を詳細画面におけるおすすめ情報の一覧に表示させるための書籍として決定し(S1706)、その書籍に関する基本情報を書籍情報DB130の所蔵管理Tbから取得する(S1707)。即ち、S1701〜S1707の処理においては、詳細情報生成部180が、履歴情報処理部として機能する。尚、上述したように、本実施形態に係る詳細画面は、書籍の詳細情報一覧に提案情報の一覧を付加した画面であり、その提案情報は、おすすめ情報と新着情報とからなるが、S1701〜S1707までの処理により、上記詳細画面を表示させるための詳細画面表示情報のうち、おすすめ情報に関する部分の情報が得られたことになる。また、S1706の処理においては、便宜上、上位2番目までの書籍としたが、特にこれに限られず、上位1番目のみであっても良いし、上位3番目以降を含めても良く、詳細画面におけるおすすめ情報の一覧に表示させたい書籍の件数に応じて適宜設定すれば良い。
次に、本実施形態に係る書籍検索システムが表示する詳細画面について、図18を参照して説明する。図18は、本実施形態に係るクライアント端末2のディスプレイパネル201に表示される詳細画面の表示例を示す図である。図18に示すように、本実施形態に係る詳細画面には、「詳細情報」、「おすすめ情報!」、「新着情報!」の欄が表示されている。「詳細情報」の欄には、検索結果一覧においてユーザにより選択された書籍の詳細情報(基本情報と付加情報)の一覧が表示されている。
「おすすめ情報!」の欄には、図16におけるS1611の処理若しくは図17において説明した処理でおすすめ情報として決定された書籍の一覧、即ち、検索結果一覧において選択された書籍を借りたことがある他のユーザにより最も借りられている書籍とその次に借りられている書籍の一覧が表示されている。
「新着情報!」の欄には、図16におけるS1607の処理で新着情報として決定された書籍の一覧、即ち、検索結果一覧において選択された書籍に関連する書籍のうち最も新着な書籍とその次に新着な書籍の一覧が表示されている。尚、図18に示すように、「おすすめ情報!」及び「新着情報!」の欄には、図15において説明した項目と同様の項目が表示されている。
以上、説明したように、本実施形態に係る書籍検索システムにおいては、新着書籍であるため登録期間が短く、書籍貸出情報の履歴がそれほど蓄積されていないものの、検索結果の一覧からユーザにより選択された書籍に関連が深く、そのユーザが興味を示す可能性が高い書籍については、新着情報に表示させることが可能となる。
これにより、本実施形態に係る書籍検索システムにおいては、検索結果の一覧からユーザにより選択された書籍に関連が深く、そのユーザが興味を示す可能性が高い書籍であっても、新着書籍であるため登録期間が短く、貸し出された履歴がそれほど蓄積されていないためにおすすめ情報に表示されないといったことを防ぐことが可能となる。
従って、本実施形態に係る書籍検索システムによれば、登録期間の長さに依存せず、本実施形態に係る書籍検索システムに登録されている全書籍を対象にして、提案情報を表示することが可能となる。
尚、本実施形態においては、資料種別(雑誌や図書等)によらず一定の新着期間を設定しておき、新着書籍については、登録期間がその新着期間に達したと想定して貸出数を推定する例について説明したが、実際には資料種別毎に貸し出されるペースには差があるため、資料種別毎に新着期間を設定する方が好ましい場合がある。例えば、雑誌は、出版された直後が最も貸出頻度が高く、新巻が出版されるとその後は極端に低下する傾向にあるが、理工書や辞典等の図書は、出版されてからの経過期間による貸出頻度の変動が小さい傾向にある。そのため、雑誌と図書については夫々で異なる新着期間を設定するように構成すれば、より精度よく新着書籍の貸出数を推定することが可能となる。即ち、本実施形態においては、資料種別が、検索対象の情報の種類として用いられる。
また、本実施形態においては、書籍情報管理サーバ1が本発明に係る検索システムの主要な機能を提供する例について説明したが、特にこれに限られず、書籍情報管理部100に含まれる各部や各データベースがそれぞれ個々の装置で実現されるように構成されていても良いし、適宜、それらを組み合わせて複数のサーバ装置により実現されても良い。
また、本実施形態においては、ユーザが所望する書籍を検索対象の情報として検索する書籍検索システムを例にして説明しているが、検索対象とすることが可能なものは特にこれに限らず、例えば、電子書籍を検索する電子書籍検索システムや、ゲームや画像、動画、音楽などのコンテンツを検索するコンテンツ検索システム、靴や服、雑貨、食品等の物品を検索する物品検索システム等、あらゆる検索対象についての検索システムにおいて適用することが可能である。
上述したように、書籍以外の検索対象を検索する際に上記実施形態に係る検索システムを用いる場合、図6に示すユーザ貸出履歴テーブルや図10に示す書籍貸出履歴テーブル等の利用に関する履歴の情報は、夫々の検索対象の閲覧履歴や購入履歴、ダウンロード履歴の情報によって実現することが可能である。また、「閲覧」と「購入」、「ダウンロード」には趣向を判断する上での重要度に差異があるため、図16のS1613のような重複数の集計処理においては、「閲覧」、「購入」、「ダウンロード」等の履歴の種類によって重み付けを行っても良い。これにより、よりユーザの趣向を反映した提案を行うことが可能となる。