(57)【特許請求の範囲】
【請求項１】
回答を要する質問の提示要求をユーザの端末から受信する提示要求受信部と、
前記提示要求を受信した後に、複数の前記質問に関する質問情報を記憶する質問情報記憶部から順番を予め定めることなく一部の質問を選択する選択部であって、各質問情報が、一の質問と該質問を識別する質問ＩＤとを含む、該選択部と、
前記選択部により選択された前記一部の質問を前記端末に送信する送信部と、
前記送信部により送信された前記一部の質問に対する回答を前記端末から受信する回答受信部と、
前記選択部により選択された質問を前記ユーザの端末に送信するタイミングで、前記ユーザを識別するユーザＩＤと、前記一部の質問に対応する１以上の質問ＩＤと、該一部の質問に対する回答の有無を示す回答状況とが関連付けられた回答情報を回答情報記憶部に格納する格納部と、
送信された前記一部の質問に対する回答を前記ユーザの端末から受信したタイミングで、前記ユーザを識別するユーザＩＤと、前記質問ＩＤと、に関連付けられた回答状況を回答有りの状態に更新する更新部と、を備え、
前記ユーザＩＤを含み、且つ前記回答状況が回答無しの状態である回答情報が前記回答情報記憶部に存在する場合には、前記選択部は、該回答情報の質問ＩＤに対応する質問を、次の一部の質問として選択する、情報提供装置。
【請求項２】
前記回答情報記憶部に格納されている回答情報を所定の実行日時に削除するバッチ処理実行部を更に備え、
前記回答情報に、前記一部の質問に対する回答を受け付けた日時が回答日時として更に関連付けられ、
前記バッチ処理実行部が、前記ユーザＩＤに対応し、且つ前記回答を受け付けた日時が前記実行日時以前の所定の時間内である回答情報が前記回答情報記憶部に格納されている場合には、該ユーザＩＤに関する回答情報を削除しない、請求項１に記載の情報提供装置。
【請求項３】
前記回答日時が、前記複数の質問のうち前記端末に最初に送信された前記一部の質問に対する回答を受け付けた日時である、請求項２に記載の情報提供装置。
【請求項４】
前記回答日時が、前記複数の質問のうち前記端末に最後に送信された前記一部の質問に対する回答を受け付けた日時である、請求項２に記載の情報提供装置。
【請求項５】
前記バッチ処理実行部が、前記実行日時において削除しなかった前記ユーザＩＤに関する回答情報を、該実行日時から所定の時間が経過した時に削除する、請求項２〜４のいずれか一項に記載の情報提供装置。
【請求項６】
回答を要する質問の提示要求をユーザの端末から受信する提示要求受信ステップと、
前記提示要求を受信した後に、複数の前記質問に関する質問情報を記憶する質問情報記憶部から順番を予め定めることなく一部の質問を選択する選択ステップであって、各質問情報が、一の質問と該質問を識別する質問ＩＤとを含む、該選択ステップと、
前記選択ステップにおいて選択された前記一部の問合せを前記端末に送信する送信ステップと、
前記送信ステップにおいて送信された前記一部の問合せに対する応答を前記端末から受信する応答受信ステップと、
前記選択ステップにおいて選択された質問を前記ユーザの端末に送信するタイミングで、前記ユーザを識別するユーザＩＤと、前記一部の質問に対応する１以上の質問ＩＤと、該一部の質問に対する回答の有無を示す回答状況とが関連付けられた回答情報を回答情報記憶部に格納する格納ステップと、
送信された前記一部の質問に対する回答を前記ユーザの端末から受信したタイミングで、前記ユーザを識別するユーザＩＤと、前記質問ＩＤと、に関連付けられた回答状況を回答有りの状態に更新する更新ステップと、を含み、
前記ユーザＩＤを含み、且つ前記回答状況が回答無しの状態である回答情報が前記回答情報記憶部に存在する場合には、前記選択ステップにおいて、該回答情報の質問ＩＤに対応する質問を、次の一部の質問として選択する、情報提供方法。
【請求項７】
コンピュータを、
回答を要する質問の提示要求をユーザの端末から受信する提示要求受信部と、
前記提示要求を受信した後に、複数の前記質問に関する質問情報を記憶する質問情報記憶部から順番を予め定めることなく一部の質問を選択する選択部であって、各質問情報が、一の質問と該質問を識別する質問ＩＤとを含む、該選択部と、
前記選択部により選択された前記一部の質問を前記端末に送信する送信部と、
前記送信部により送信された前記一部の質問に対する回答を前記端末から受信する回答受信部と、
前記選択部により選択された質問を前記ユーザの端末に送信するタイミングで、前記ユーザを識別するユーザＩＤと、前記一部の質問に対応する１以上の質問ＩＤと、該一部の質問に対する回答の有無を示す回答状況とが関連付けられた回答情報を回答情報記憶部に格納する格納部と、
送信された前記一部の質問に対する回答を前記ユーザの端末から受信したタイミングで、前記ユーザを識別するユーザＩＤと、前記質問ＩＤと、に関連付けられた回答状況を回答有りの状態に更新する更新部と、して機能させ、
前記ユーザＩＤを含み、且つ前記回答状況が回答無しの状態である回答情報が前記回答情報記憶部に存在する場合には、前記選択部は、該回答情報の質問ＩＤに対応する質問を、次の一部の質問として選択する、情報提供プログラム。
【請求項８】
情報提供プログラムを記録したコンピュータ読取可能な記録媒体であって、
前記情報提供プログラムがコンピュータを、
回答を要する質問の提示要求をユーザの端末から受信する提示要求受信部と、
前記提示要求を受信した後に、複数の前記質問に関する質問情報を記憶する質問情報記憶部から順番を予め定めることなく一部の質問を選択する選択部であって、各質問情報が、一の質問と該質問を識別する質問ＩＤとを含む、該選択部と、
前記選択部により選択された前記一部の質問を前記端末に送信する送信部と、
前記送信部により送信された前記一部の質問に対する回答を前記端末から受信する回答受信部と、
前記選択部により選択された質問を前記ユーザの端末に送信するタイミングで、前記ユーザを識別するユーザＩＤと、前記一部の質問に対応する１以上の質問ＩＤと、該一部の質問に対する回答の有無を示す回答状況とが関連付けられた回答情報を回答情報記憶部に格納する格納部と、
送信された前記一部の質問に対する回答を前記ユーザの端末から受信したタイミングで、前記ユーザを識別するユーザＩＤと、前記質問ＩＤと、に関連付けられた回答状況を回答有りの状態に更新する更新部と、して機能させ、
前記ユーザＩＤを含み、且つ前記回答状況が回答無しの状態である回答情報が前記回答情報記憶部に存在する場合には、前記選択部は、該回答情報の質問ＩＤに対応する質問を、次の一部の質問として選択する、コンピュータ読取可能な記録媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明の一形態は、回答を要する質問を提示する情報提供装置、方法、プログラム、及びそのプログラムを記録するコンピュータ読み取り可能な記録媒体に関する。
【背景技術】
【０００２】
従来から、ユーザの要求に応じて複数の質問から１つの質問を選択し、その質問をユーザ提示する仕組みが知られている。例えば、下記特許文献１には、広告情報としてクイズ又はアンケートを提供し、そのクイズ又はアンケートに対する回答内容に応じて景品提供の可否及び景品提供の内容を決定し、決定内容に応じた景品提供情報を提供することが記載されている。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２００３−２４２４０１号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
ところで、複数の質問から一部の質問をサーバからユーザ端末に提示する場合には、通信の切断やユーザの意図的な操作などにより、適当ではない質問がユーザに提示されてしまう可能性がある。例えば、ユーザがある質問に対して回答しようとした時に通信切断等によりその回答がサーバで受け付けられず、そのユーザがその質問に再度回答しようとした時に同じ質問が表示されないことがあり得る。また、同じ質問が表示されないことにより、ユーザが、解答できるクイズが表示されるまで何度もサーバにリクエストを送るという不正行為を行うことも考えられる。
【０００５】
そこで、ユーザの回答状況に基づいて適切な次の質問を提示することが要請されている。
【課題を解決するための手段】
【０００６】
本発明の一形態に係る情報提供装置は、回答を要する質問の提示要求をユーザの端末から受信する提示要求受信部と、提示要求を受信した後に、複数の質問に関する質問情報を記憶する質問情報記憶部から順番を予め定めることなく一部の質問を選択する選択部であって、各質問情報が、一の質問と該質問を識別する質問ＩＤとを含む、該選択部と、選択部により選択された一部の質問を端末に送信する送信部と、送信部により送信された一部の質問に対する回答を端末から受信する回答受信部と、選択部により選択された質問をユーザの端末に送信するタイミングで、ユーザを識別するユーザＩＤと、一部の質問に対応する１以上の質問ＩＤと、該一部の質問に対する回答の有無を示す回答状況とが関連付けられた回答情報を回答情報記憶部に格納する格納部と、送信された一部の質問に対する回答をユーザの端末から受信したタイミングで、ユーザを識別するユーザＩＤと、質問ＩＤと、に関連付けられた回答状況を回答有りの状態に更新する更新部と、を備え、ユーザＩＤを含み、且つ回答状況が回答無しの状態である回答情報が回答情報記憶部に存在する場合には、選択部は、該回答情報の質問ＩＤに対応する質問を、次の一部の質問として選択する。
【０００７】
本発明の一形態に係る情報提供方法は、回答を要する質問の提示要求をユーザの端末から受信する提示要求受信ステップと、提示要求を受信した後に、複数の質問に関する質問情報を記憶する質問情報記憶部から順番を予め定めることなく一部の質問を選択する選択ステップであって、各質問情報が、一の質問と該質問を識別する質問ＩＤとを含む、該選択ステップと、選択ステップにおいて選択された一部の問合せを端末に送信する送信ステップと、送信ステップにおいて送信された一部の問合せに対する応答を端末から受信する応答受信ステップと、選択ステップにおいて選択された質問をユーザの端末に送信するタイミングで、ユーザを識別するユーザＩＤと、一部の質問に対応する１以上の質問ＩＤと、該一部の質問に対する回答の有無を示す回答状況とが関連付けられた回答情報を回答情報記憶部に格納する格納ステップと、送信された一部の質問に対する回答をユーザの端末から受信したタイミングで、ユーザを識別するユーザＩＤと、質問ＩＤと、に関連付けられた回答状況を回答有りの状態に更新する更新ステップと、を含み、ユーザＩＤを含み、且つ回答状況が回答無しの状態である回答情報が回答情報記憶部に存在する場合には、選択ステップにおいて、該回答情報の質問ＩＤに対応する質問を、次の一部の質問として選択する。
【０００８】
本発明の一形態に係る情報提供プログラムは、コンピュータを、回答を要する質問の提示要求をユーザの端末から受信する提示要求受信部と、提示要求を受信した後に、複数の質問に関する質問情報を記憶する質問情報記憶部から順番を予め定めることなく一部の質問を選択する選択部であって、各質問情報が、一の質問と該質問を識別する質問ＩＤとを含む、該選択部と、選択部により選択された一部の質問を端末に送信する送信部と、送信部により送信された一部の質問に対する回答を端末から受信する回答受信部と、選択部により選択された質問をユーザの端末に送信するタイミングで、ユーザを識別するユーザＩＤと、一部の質問に対応する１以上の質問ＩＤと、該一部の質問に対する回答の有無を示す回答状況とが関連付けられた回答情報を回答情報記憶部に格納する格納部と、送信された一部の質問に対する回答をユーザの端末から受信したタイミングで、ユーザを識別するユーザＩＤと、質問ＩＤと、に関連付けられた回答状況を回答有りの状態に更新する更新部と、して機能させ、ユーザＩＤを含み、且つ回答状況が回答無しの状態である回答情報が回答情報記憶部に存在する場合には、選択部は、該回答情報の質問ＩＤに対応する質問を、次の一部の質問として選択する。
【０００９】
本発明の一形態に係るコンピュータ読取可能な記録媒体は、情報提供プログラムを記録したコンピュータ読取可能な記録媒体であって、情報提供プログラムがコンピュータを、回答を要する質問の提示要求をユーザの端末から受信する提示要求受信部と、提示要求を受信した後に、複数の質問に関する質問情報を記憶する質問情報記憶部から順番を予め定めることなく一部の質問を選択する選択部であって、各質問情報が、一の質問と該質問を識別する質問ＩＤとを含む、該選択部と、選択部により選択された一部の質問を端末に送信する送信部と、送信部により送信された一部の質問に対する回答を端末から受信する回答受信部と、選択部により選択された質問をユーザの端末に送信するタイミングで、ユーザを識別するユーザＩＤと、一部の質問に対応する１以上の質問ＩＤと、該一部の質問に対する回答の有無を示す回答状況とが関連付けられた回答情報を回答情報記憶部に格納する格納部と、送信された一部の質問に対する回答をユーザの端末から受信したタイミングで、ユーザを識別するユーザＩＤと、質問ＩＤと、に関連付けられた回答状況を回答有りの状態に更新する更新部と、して機能させ、ユーザＩＤを含み、且つ回答状況が回答無しの状態である回答情報が回答情報記憶部に存在する場合には、選択部は、該回答情報の質問ＩＤに対応する質問を、次の一部の質問として選択する。
【００１０】
このような形態によれば、ユーザに提示された質問とその質問に対する回答状況とが関連付けられた回答情報に基づいて次の一部の質問が選択されるので、ユーザの質問状況に基づいて適切な次の質問を提示することができる。例えば、ユーザがある質問に対して回答しようとした時に通信切断等によりその回答がサーバで受け付けられず、そのユーザがその質問に再度回答しようとした時には、そのユーザが未回答である同じ質問が表示される。また、質問に対して回答しない限り同じ質問が提示されることになるため、解答できるクイズが表示されるまで何度もサーバにリクエストを送るというような不正行為が防止される。
【００１１】
さらに別の形態に係る情報提供装置では、回答情報記憶部に格納されている回答情報を所定の実行日時に削除するバッチ処理実行部を更に備え、回答情報に、一部の質問に対する回答を受け付けた日時が回答日時として更に関連付けられ、バッチ処理実行部が、ユーザＩＤに対応し、且つ回答日時が実行日時以前の所定の時間内である回答情報が回答情報記憶部に格納されている場合には、該ユーザＩＤに関する回答情報を削除しなくてもよい。
【００１２】
この場合には、削除処理の実行日時から所定の時間だけ遡った時点以降にユーザが回答した場合に、そのユーザに関する回答情報が削除されることなく保持される。したがって、質問に回答しようとしている間に、関連する回答情報が削除されてしまう事態を防止することができる。
【００１３】
さらに別の形態に係る情報提供装置では、回答日時が、複数の質問のうち端末に最初に送信された一部の質問に対する回答を受け付けた日時であってもよい。この場合には、ユーザが質問について回答し始めたタイミングを考慮して、回答情報を削除又は保持することができる。
【００１４】
さらに別の形態に係る情報提供装置では、回答日時が、複数の質問のうち端末に最後に送信された一部の質問に対する回答を受け付けた日時であってもよい。この場合には、ユーザが質問について最後に回答したタイミングを考慮して、回答情報を削除又は保持することができる。
【００１５】
さらに別の形態に係る情報提供装置では、バッチ処理実行部が、実行日時において削除しなかったユーザＩＤに関する回答情報を、該実行日時から所定の時間が経過した時に削除してもよい。この場合には、ユーザに不利益を与えることなく、全ての回答情報を削除することができる。
【発明の効果】
【００１６】
本発明の一側面によれば、ユーザの質問状況に基づいて次の質問を提示することができる。
【図面の簡単な説明】
【００１７】
【図１】実施形態に係る情報提供システムの全体構成を示す図である。
【図２】図１に示す情報提供サーバの機能構成を示すブロック図である。
【図３】図１に示す情報提供サーバのハードウェア構成を示す図である。
【図４】質問情報記憶部に記憶される質問情報の例を示す図である。
【図５】回答情報記憶部に記憶される回答情報の例を示す図である。
【図６】バッチ処理実行部によるバッチ処理の一例を示す図である。
【図７】バッチ処理実行部によるバッチ処理の別の例を示す図である。
【図８】ユーザへの質問及び回答の受付に関する処理を示すシーケンス図である。
【図９】バッチ処理を示すフローチャートである。
【図１０】実施形態に係る情報提供プログラムの構成を示す図である。
【発明を実施するための形態】
【００１８】
以下、添付図面を参照しながら本発明の実施形態を詳細に説明する。本実施形態では、ユーザにクイズを提示する情報提供サーバに本発明に係る情報提供装置を適用する。なお、図面の説明において同一又は同等の要素には同一の符号を付し、重複する説明を省略する。
【００１９】
まず、本実施形態に係る情報提供システム１について説明する。情報提供サーバ１０は、ユーザが所有するユーザ端末Ｔからの要求に応じてクイズ（回答を要する質問）をそのユーザ端末Ｔに送信するコンピュータシステムである。図１に示すように、情報提供システム１は情報提供サーバ１０及び１以上のユーザ端末Ｔを備えている。
【００２０】
情報提供サーバ１０はネットワークＮを介して複数のユーザ端末Ｔと接続されている。図１では３台のユーザ端末Ｔを示しているが、ユーザ端末Ｔは何台でもよい。ユーザ端末Ｔの例としてはコンピュータ、高機能携帯電話機（スマートフォン）、携帯情報端末（ＰＤＡ）などが挙げられるが、ユーザ端末Ｔの種類はこれらに限定されない。ネットワークＮは、有線または無線の汎用回線または専用回線などで構成されるが、ネットワークＮの構成は何ら限定されるものではない。
【００２１】
次に、情報提供サーバ１０の機能構成を具体的に説明する。図２に示すように、情報提供サーバ１０は機能的構成要素として投稿受付部１２、質問情報記憶部１４、受信部（提示要求受信部、回答受信部）１６、選択部１８（格納部）、送信部２０、回答情報記憶部２２、正誤判定部２４（更新部）、結果送信部２６、及びバッチ処理実行部２８を備えている。
【００２２】
この情報提供サーバ１０は、図３に示すように、オペレーティングシステムやアプリケーション・プログラムなどを実行するＣＰＵ１０１と、ＲＯＭ及びＲＡＭで構成される主記憶部１０２と、ハードディスクなどで構成される補助記憶部１０３と、ネットワークカードなどで構成される通信制御部１０４と、キーボードやマウスなどの入力部１０５と、モニタなどの出力部１０６とで構成される。情報提供サーバ１０の各機能は、ＣＰＵ１０１や主記憶部１０２の上に所定のソフトウェアを読み込ませ、ＣＰＵ１０１の制御の下で通信制御部１０４や入力部１０５、出力部１０６などを動作させ、主記憶部１０２や補助記憶部１０３におけるデータの読み出し及び書き込みを行うことで実現される。処理に必要なデータやデータベースは主記憶部１０２や補助記憶部１０３内に格納される。
【００２３】
なお、図１では情報提供サーバ１０が１台のコンピュータで構成されているように示しているが、情報提供サーバ１０の機能を複数台のコンピュータに分散させてもよい。例えば、図２に示す各記憶部を備えるコンピュータとそれ以外の機能を備えるコンピュータとにより情報提供サーバ１０を構成してもよい。
【００２４】
投稿受付部１２は、ユーザ端末Ｔからクイズの投稿を受け付ける手段である。投稿受付部１２は、ユーザ端末Ｔからクイズと、そのクイズの正答とをネットワークＮを介して受信する。投稿受付部１２は、ユーザ端末Ｔから受信したクイズ及びその正答に対してそのクイズを識別するクイズＩＤ（質問ＩＤ）を関連付けた質問情報を生成する。投稿受付部１２は、生成した質問情報を質問情報記憶部１４に記憶する。
【００２５】
質問情報記憶部１４は、クイズに関する質問情報を記憶する手段である。図４に示すように、質問情報はクイズを一意に特定するクイズＩＤと、そのクイズの問題と、そのクイズの正答とを含んでいる。以下では、質問情報記憶部１４が予め複数の質問情報を記憶しているものとして説明する。なお、質問情報はユーザではなく情報提供システム１の管理者により生成されて質問情報記憶部１４に記憶されていてもよい。また、質問情報は、これらの項目とは異なる項目を記憶していてもよい。
【００２６】
受信部１６は、クイズの提示要求をユーザ端末Ｔから受信し、また、送信されたクイズに対する解答をユーザ端末Ｔから受信する手段である。提示要求とは、ユーザがクイズの出題を求める要求である。ユーザ端末Ｔは、例えば所定のウェブページにおけるユーザ操作に応じて提示要求を情報提供サーバ１０に送信する。受信部１６はその提示要求を受信すると、送信元のユーザ端末Ｔのユーザを識別するユーザＩＤと、提示要求を受信した旨を示す提示要求情報を選択部１８に送信する。
【００２７】
選択部１８は、質問情報記憶部１４に記憶されている複数の質問情報から一部の質問情報を選択する手段である。選択部１８は所定数の問題で構成される１セットのクイズを何回かに分けてユーザに提示するために、一回の提示要求に対して１セットのクイズのうちの一部を選択する。選択部１８は一つの質問情報のみを選択してもよいし、複数の質問情報を選択してもよい。例えば、１０問で１セットのクイズをユーザに提示するために、選択部１８は一回の提示要求に対して一つのみ、二つ、あるいは五つの質問情報を選択してもよい。選択部１８は選択した質問情報を送信部２０に送信する。
【００２８】
また、選択部１８は、クイズを要求したユーザについての質問状況及び回答状況を示す回答情報を生成し、その回答情報を回答情報記憶部２２に格納する。この選択部１８による回答情報の格納タイミングは、選択した質問をユーザ端末Ｔに送信するタイミングとしてもよい。回答情報は、ユーザを識別するユーザＩＤと、選択部１８により選択された質問情報に対応するクイズＩＤと、このクイズＩＤで示されるクイズに対する回答状況とが少なくとも関連付けられた情報である。本実施形態では、回答情報はユーザＩＤ、クイズＩＤ、ユーザが解答したか否かを示す回答状況フラグ、解答の正誤を示す正誤フラグ、及び回答日時を含んでいる。
【００２９】
選択部１８は、過去にユーザに提示されたクイズに関する回答情報に基づいて、これからユーザに提示しようとするクイズを選択する。この選択方法については後述する。
【００３０】
送信部２０は、選択部１８により選択された質問情報で示されるクイズをユーザ端末Ｔに送信する手段である。送信部２０はその質問情報で示されるクイズの問題を含む情報を、ユーザ端末Ｔの提示要求に対するＨＴＴＰレスポンスとしてユーザ端末Ｔに送信する。また、送信部２０は、選択部１８により選択された質問情報を正誤判定部２４に出力する。
【００３１】
回答情報記憶部２２は、回答情報を記憶する手段である。回答情報の一例を図５に示す。回答状況フラグにおける「１」は、クイズの解答が受信済みであることを示しており、「０」は、クイズの解答を受信していないことを示している。正誤フラグにおける「Ｔ」は、クイズに正解したことを示しており、「Ｆ」は不正解であったことを示している。また、正誤フラグにおける「−」は未解答であることを示している。回答状況フラグの初期値は「０」であり、正誤フラグの初期値は「−」である。
【００３２】
図５に示す回答情報は、ユーザＩＤ「Ａ」に対応するユーザ（以下、単に「ユーザＡ」という）に対して、クイズＩＤ「＃１１」、「＃０８」、及び「＃０３」で示されるクイズ（以下、それぞれ「クイズ＃１１」、「クイズ＃０８」、「クイズ＃０３」という）が送信されていることを示している。また、ユーザＡから、クイズ＃１１、クイズ＃０８に関してはそれぞれ「１２月１４日２３時５５分」、「１２月１４日２３時５８分」に解答を受信しており、クイズ＃０３に関しては解答を受信していないことを示している。また、ユーザＡは、クイズ＃１１、クイズ＃０８に正解しており、クイズ＃０３は未解答であることを示している。ユーザＩＤ「Ｂ」のユーザに関しても同じように質問及び回答の状況が記憶されている。
【００３３】
正誤判定部２４は、受信部１６により受信したユーザの解答の正誤を判断する手段である。正誤判定部２４は、受信部１６により受信したユーザの解答と、送信部２０から出力された質問情報の正答とを比較して、一致していれば正解であると判定し、一致していなければ誤答であると判定する。正誤判定部２４は、判定結果に基づいて、そのユーザのユーザＩＤで特定される回答情報記憶部２２内の回答情報の正誤フラグを更新する。すなわち、正誤判定部２４は、正解であれば対応する回答情報の正誤フラグを「Ｔ」とし、不正解であれば対応する回答情報の正誤フラグを「Ｆ」とする。また、正誤判定部２４はその回答情報の回答状況フラグ及び回答日時をそれぞれ「１」及び現在日時に更新する。正誤判定部２４による更新タイミングは、ユーザ端末Ｔからの回答を受信したタイミングとしてもよい。このように回答情報を更新すると、正誤判定部２４は、質問情報と、ユーザの回答の正誤を示す正誤情報とを結果送信部２６に出力する。
【００３４】
結果送信部２６は、送信部２０により送信されたクイズに対するユーザの解答結果を送信する手段である。結果送信部２６は、正誤判定部２４から出力された質問情報及び正誤情報に基づいて、ユーザのクイズに対する解答の正誤を示す情報と、そのクイズの正答とをユーザ端末Ｔに送信する。
【００３５】
次に、選択部１８が、質問情報記憶部１４から一部の質問情報を選択する手順について説明する。選択部１８は、受信部１６から提示要求情報を受信すると、提示要求情報に含まれるユーザＩＤに対応する回答情報を回答情報記憶部２２から抽出する。回答情報を一つも抽出できなかった場合、すなわちユーザが１セットのクイズを初めて要求した場合には、選択部１８は１セットのうちの一部のクイズに関する質問情報を質問情報記憶部１４から選択する。なお、質問情報の選択方法は限定されない。例えば、選択部１８は質問情報をランダムに選択してもよい。クイズの出題順が予め決まっているのであれば、選択部１８はその順番に従って質問情報を選択すればよい。
【００３６】
一方、抽出したレコード数が１以上の場合、すなわち、ユーザが１セットのクイズについて２回目以降の要求を行った場合には、選択部１８は、抽出した回答情報のうち、回答状況フラグが「０」に設定されている回答情報が存在するか否かを判定する。そして、そのような回答情報が存在する場合には、選択部１８はその回答情報で示されるクイズＩＤに対応する質問情報を質問情報記憶部１４から選択する。この場合に選択された質問情報は、過去にユーザに送信されたがその解答を受信していないクイズを示している。一方、回答状況フラグが「０」に設定されている回答情報が存在しない場合には、選択部１８は質問情報をランダムに又は出題順に従って質問情報記憶部１４から選択する。
【００３７】
バッチ処理実行部２８は、回答情報記憶部２２内の回答情報を削除するバッチ処理を所定のスケジュールで実行する手段である。本実施形態では、ユーザは１セットのクイズを一日に一回だけ解答できる機会を与えられており、このようなシステムを実現するために、バッチ処理実行部２８は一日に一回そのバッチ処理を実行するものとする。バッチ処理の例を以下に示す。
【００３８】
一例として、バッチ処理実行部２８は所定の実行時刻に無条件にすべての回答情報を削除してもよい。この場合には、ユーザは日をまたいで１セットのクイズに挑戦することはできない。
【００３９】
このような現象を図６を用いて説明する。図６は、図５に示すユーザＡによるクイズの回答時刻と、バッチ処理実行部２８によるバッチ処理との時系列の関係を表している。この例では、バッチ処理実行部２８は一日一回午前０時に起動して、回答情報記憶部２２に格納されている回答情報をすべて削除するものとする。一方、ユーザＡは、クイズ＃１１、クイズ＃０８、クイズ＃０３に対して、それぞれ１２月１４日２３時５５分、１２月１４日２３時５８分、１２月１５日０時２分に回答するものとする。この例では、ユーザＡがクイズ＃０３について解答した時には、バッチ処理が実行されてすべての回答情報が削除されているため、情報提供サーバ１０は正誤フラグを更新することができず、その解答を受け付けることができない。
【００４０】
そこで、バッチ処理実行部２８は、あるユーザについて、１セットのクイズに対する回答情報で示される最初の回答時刻が実行時刻以前の所定時間内であれば、そのユーザに関する回答情報を削除しないようにしてもよい。図７は、ユーザＡの最初の回答時刻が実行時刻の３０分前以降に行われている場合に、そのユーザＡに関する回答情報を削除しない例を示している。図７の例では、ユーザＡによる最初の回答時刻は、クイズ＃１１に回答した２３時５５分であり、実行時刻である午前０時の３０分前以降である。この場合、バッチ処理実行部２８はユーザＡに関する回答情報は削除しない。その後、バッチ処理実行部２８は、所定時間（この例では３０分）経過後に再びバッチ処理を行い、最初のバッチ処理において削除されなかったユーザＡに関する回答情報を削除する。
【００４１】
あるいは、バッチ処理実行部２８は、あるユーザについて、１セットのクイズに対する回答情報で示される最後の回答時刻が実行時刻以前の所定時間内であれば、そのユーザに関する回答情報を削除しないようにしてもよい。例えば、バッチ処理実行部２８は、ユーザの最後の回答時刻が実行時刻の３分前以降に行われている場合に、そのユーザに関する回答情報を削除しない。図７の例では、ユーザＡによる最後の回答時刻は、クイズ＃０８に回答した２３時５８分であり、実行時刻である午前０時の３分前以降である。この場合、バッチ処理実行部２８はユーザＡに関する回答情報は削除しない。その後、バッチ処理実行部２８は、所定時間（この例では３０分）経過後に再びバッチ処理を行い、最初のバッチ処理において削除されなかったユーザＡに関する回答情報を削除する。
【００４２】
次に、図８を用いて、図１に示すシステムの動作を説明するとともに、本実施形態に係る情報提供方法について説明する。
【００４３】
所定のウェブサイトにアクセスしたユーザが、そのウェブサイトが提供しているクイズに興味を持ち、クイズの提示を希望したとする。まず、ユーザは、ユーザ端末Ｔによりウェブページにおいて所定の操作（例えば、「クイズに挑戦」ボタンの押下、あるいは次のクイズに進むための操作）を行って（ステップＳ１１）情報提供サーバ１０に提示要求を送信する（ステップＳ１２）。
【００４４】
情報提供サーバ１０では、受信部１６がクイズ提示要求を受信してユーザ端末ＴのユーザＩＤを抽出する（ステップＳ１３）。次に、選択部１８が回答情報記憶部２２を参照して、そのユーザＩＤに対応し、且つ回答状況が未回答である回答情報が存在するか否かを判定する（ステップＳ１４）。
【００４５】
そのような回答情報が存在しない場合には（ステップＳ１４；ＮＯ）、選択部１８は、質問情報記憶部からランダムに又は逐次的にクイズを選択し（ステップＳ１５）、そのクイズのクイズＩＤとユーザＩＤとを関連付けた回答情報を生成して回答情報記憶部２２に記憶する（ステップＳ１６）。一方、そのユーザＩＤに対応し、且つ回答状況が未回答である回答情報が存在する場合には（ステップＳ１４；ＹＥＳ）、選択部１８はその回答情報のクイズＩＤに対応するクイズ、すなわちユーザが未だ解答していないクイズを選択する（ステップＳ１７）。
【００４６】
次に、送信部２０がステップＳ１５又はＳ１７において選択されたクイズをユーザ端末Ｔに提示する（ステップＳ１８）。ユーザ端末Ｔは、受信したクイズを示すウェブページを表示する（ステップＳ１９）。その後、ユーザがウェブページを介してクイズの解答を選択（ステップＳ２０）すると、ユーザ端末Ｔはその解答を示す情報を情報提供サーバ１０に送信する（ステップＳ２１）。
【００４７】
情報提供サーバ１０では、受信部１６が解答の情報を受信する。そして、正誤判定部２４が質問情報記憶部１４の質問情報を参照して、ユーザのクイズに正解したか否かを判定し（ステップＳ２２）、その判定結果に応じて、対応する回答情報の正誤フラグ及び回答時刻を更新する（ステップＳ２３）。次に、情報提供サーバ１０は、ユーザの回答の正誤を示す正誤情報をユーザ端末Ｔに送信する（ステップＳ２４）。
【００４８】
ユーザ端末Ｔは、受信した正誤情報に基づいてクイズの正誤を画面上に表示する（ステップＳ２５）。以上説明した一連の処理は、ユーザが１セットのクイズを全て解答するまで繰り返し実行される。このようにして、情報提供サーバ１０は、ユーザへのクイズの提示状況及びそのユーザの解答状況に基づいてユーザに次のクイズを提示する。
【００４９】
次に、図９を用いて、バッチ処理実行部２８によるバッチ処理の動作を説明する。図９に示す一連の処理は所定の時間間隔で実行される。
【００５０】
バッチ処理実行部２８は、実行時刻（例えば午前０時）になるまで待機する（ステップＳ３１；ＮＯ）。実行時刻になると（ステップＳ３１；ＹＥＳ）、バッチ処理実行部２８は回答情報記憶部２２を参照して、実行時刻以前の所定時間内にユーザから回答を受信した回答情報が存在するか否かを判定する（ステップＳ３２）。上述したように、バッチ処理実行部２８はユーザの最初の回答時刻又は最後の回答時刻に基づいてこの判定を行う。
【００５１】
そのような回答情報が存在しない場合には（ステップＳ３２；ＮＯ）、バッチ処理実行部２８は、回答情報記憶部２２から全ての回答情報を削除する（ステップＳ３３）。一方で、そのような回答情報が存在する場合には（ステップＳ３２；ＹＥＳ）、バッチ処理実行部２８は、その回答情報に含まれるユーザＩＤに対応する回答情報のセット以外の回答情報を回答情報記憶部２２から削除する（ステップＳ３４）。そして、バッチ処理実行部２８は所定時間後に回答情報記憶部２２から残りの回答情報を削除する（ステップＳ３５）。ステップＳ３３又はＳ３５により回答情報記憶部２２から全ての回答情報を削除すると、一連のバッチ処理は終了する。
【００５２】
次に、図１０を用いて、コンピュータを情報提供サーバ１０として機能させるための情報提供プログラムＰ１を説明する。
【００５３】
情報提供プログラムＰ１は、メインモジュールＰ２、投稿受付モジュールＰ３、質問情報記憶モジュールＰ４、受信モジュールＰ５、選択モジュールＰ６、送信モジュールＰ７、回答情報記憶モジュールＰ８、正誤判定モジュールＰ９、結果送信モジュールＰ１０、及びバッチ処理実行モジュールＰ１１を備えている。
【００５４】
メインモジュールＰ２は、情報提供処理（質問を提示）を統括的に制御する部分である。投稿受付モジュールＰ３、質問情報記憶モジュールＰ４、受信モジュールＰ５、選択モジュールＰ６、送信モジュールＰ７、回答情報記憶モジュールＰ８、正誤判定モジュールＰ９、結果送信モジュールＰ１０、及びバッチ処理実行モジュールＰ１１を実行することにより実現される機能はそれぞれ、上記の投稿受付部１２、質問情報記憶部１４、受信部（提示要求受信部、回答受信部）１６、選択部１８、送信部２０、回答情報記憶部２２、正誤判定部２４、結果送信部２６、及びバッチ処理実行部２８の機能と同様である。
【００５５】
情報提供プログラムＰ１は、例えば、ＣＤ−ＲＯＭやＤＶＤ−ＲＯＭ、半導体メモリ等の有形の記録媒体に記録された上で提供される。また、情報提供プログラムＰ１は、搬送波に重畳されたデータ信号としてネットワークＮを介して提供されてもよい。
【００５６】
以上説明したように、本実施形態によれば、ユーザに提示されたクイズとそのクイズに対する回答状況とが関連付けられた回答情報に基づいて次の一部のクイズが選択されるので、ユーザへのクイズ提示やそのユーザの解答の状況に基づいて次のクイズを提示することができる。
【００５７】
また、本実施形態では、ユーザに提示され且つそのユーザが未だ回答していないクイズが次の一部のクイズとして再び選択されるので、そのクイズに回答する機会をそのユーザに与えることができる。また、ユーザが、解答できるクイズが表示されるまで何度も情報提供サーバ１０にリクエストを送った場合でも、再度同じクイズが未回答のクイズが再度そのユーザに提示されるので、このようなユーザの不正行為を防止することができる。
【００５８】
また、本実施形態では、ユーザへのクイズが選択される際に回答情報が生成され、そのクイズに対する解答が受信されると該回答情報の回答状況フラグが「１」に更新されるので、クイズや回答受信のタイミングに従って回答情報を正確に記録することができる。
【００５９】
また、本実施形態では、削除処理の実行日時から所定の時間だけ遡った時点以降にユーザが回答した場合に、そのユーザに関する回答情報が削除されることなく保持される。したがって、クイズに回答しようとしている間に、関連する回答情報が削除されてしまう事態を防止することができる。具体的には、バッチ処理の実行日時の直前にユーザが１セットのクイズに解答し始めた場合であっても、その途中で回答情報が削除されることを防止できる。あるいは、ユーザが１セットのクイズに対して最後に回答したタイミングを考慮して回答情報を削除又は保持することもできる。
【００６０】
また、本実施形態では、その実行日時から所定の時間が経過すると、保持されていた回答情報が削除されるので、ユーザに不利益を与えることなく、全ての回答情報を削除することができる。
【００６１】
以上、本発明をその実施形態に基づいて詳細に説明した。しかし、本発明は上記実施形態に限定されるものではない。本発明は、その要旨を逸脱しない範囲で様々な変形が可能である。
【００６２】
上記実施形態では情報提供サーバ１０が記憶部を備えているが、この記憶部は情報提供サーバ１０以外のサーバに設けられてもよい。また、投稿受付部及びバッチ処理実行部の機能を情報提供サーバ１０以外のサーバに設けてもよい。
【００６３】
上記実施形態では、回答情報がユーザＩＤ、クイズＩＤ、回答状況フラグ、正誤フラグ、及び回答日時を含んでいるが、これらの項目のうち一部を省略してもよいし、これらの項目とは異なる項目を含んでもよい。例えば、１０問のクイズのうち８問に正解すると景品を提供するような場合には、ユーザ毎の正解数をカウントするカウンタ情報を含んでもよい。また、回答情報が回答日時を含んでいるが、情報提供サーバ１０はクイズを送信した日時を記憶してもよい。あるいは、バッチ処理実行部が無条件に回答情報を削除するのであれば、回答日時を省略してもよい。
【００６４】
上記実施形態では選択部１８が新規の回答情報を回答情報記憶部２２に格納したが、送信部２０が、クイズをユーザ端末Ｔに送信する際にその回答情報を回答情報記憶部２２に格納してもよい。
【００６５】
クイズをランダムにではなく所定の順序で提示するのであれば、回答情報は１ユーザにつき１レコードのみ生成されてもよい。この場合には、回答情報はユーザＩＤ、ユーザに最後に提示したクイズのクイズＩＤ、そのクイズについての回答状況フラグ、提示したクイズの総数、正解数、及び回答日時を含む。この場合にも、選択部は上記実施形態と同様にどのクイズを次に提示するかを選択することができる。
【００６６】
情報提供サーバが提示する質問はクイズに限定されず、回答を要するアンケートなどのような他の種類の質問でもよい。回答を要する任意の質問に対して本発明を適用することができる。
【００６７】
上記実施形態では、提示要求や解答送信など、情報提供サーバ１０とユーザ端末Ｔと間のデータのやりとりをＨＴＴＰにより行っているが、電子メールなど他の手段を用いてデータのやりとりを行ってもよい。
【００６８】
また、上記実施形態では、選択部１８が所定数の問題で構成される１セットのクイズを何回かに分けてユーザに提示しているが、必ずしもクイズを何回かに分けてユーザに提示する必要はなく、一度だけユーザに提示してもよい。
【符号の説明】
【００６９】
１…情報提供システム、１０…情報提供サーバ、１２…投稿受付部、１４…質問情報記憶部、１６…受信部、１８…選択部（格納部）、２０…送信部、２２…回答情報記憶部、２４…正誤判定部（更新部）、２６…結果送信部、２８…バッチ処理実行部、Ｐ１…情報提供プログラム、Ｐ２…メインモジュール、Ｐ３…投稿受付モジュール、Ｐ４…質問情報記憶モジュール、Ｐ５…受信モジュール、Ｐ６…選択モジュール、Ｐ７…送信モジュール、Ｐ８…回答情報記憶モジュール、Ｐ９…正誤判定モジュール、Ｐ１０…結果送信モジュール、Ｐ１１…バッチ処理実行モジュール。
【図１】
0005347014.tif 000002
【図２】
0005347014.tif 000003
【図３】
0005347014.tif 000004
【図４】
0005347014.tif 000005
【図５】
0005347014.tif 000006
【図６】
0005347014.tif 000007
【図７】
0005347014.tif 000008
【図８】
0005347014.tif 000009
【図９】
0005347014.tif 000010
【図１０】
0005347014.tif 000011