(58)【調査した分野】(Int.Cl.,DB名)
【発明の概要】
【発明が解決しようとする課題】
【0004】
しかし、特許文献1に記載の発明においてユーザに推薦される商品は、ただ単に他のユーザにより購入されただけの商品にすぎず、購入したユーザがその商品に満足しているか否かは不明である。仮に満足していないとすると、そのような商品を他のユーザに推薦したとしても、推薦されたユーザも満足しない可能性が高い。
本発明は、このような事情に鑑みてなされたものであり、レコメンドの精度を向上させることを目的とする。
【課題を解決するための手段】
【0005】
本発明は、複数の選択対象から所定の選択対象を選択する指示を所定のユーザから受け付ける第1受付部と、前記所定のユーザを除く複数のユーザの中から前記所定の選択対象を推薦又は評価する他のユーザを選択するユーザ選択部と、前記他のユーザが推薦又は評価する1以上の選択対象を選択する選択対象選択部と、前記1以上の選択対象に関する情報を前記所定のユーザに提示する提示部とを備える情報処理装置を提供する。
【0006】
この情報処理装置において、前記選択対象選択部は、前記他のユーザが、推薦するために所定の操作を行った1以上の選択対象を選択してもよい。
前記選択対象選択部は、前記他のユーザが、評価するために所定の操作を行った1以上の選択対象を選択してもよい。
前記所定の操作は、肯定的な評価を行うための操作であってもよい。
前記所定の操作は、前記1以上の選択対象と対応付けられて画面に表示される所定の表示要素を選択する操作であってもよい。
前記選択対象選択部は、前記他のユーザが、選択対象の使用中又は使用後に推薦又は評価した1以上の選択対象を選択してもよい。
前記選択対象選択部は、前記他のユーザが推薦又は評価する複数の選択対象を選択し、前記提示部は、前記複数の選択対象に関する情報を前記所定のユーザに提示してもよい。
前記複数の選択対象は、互いに重複しないようにしてもよい。
前記ユーザ選択部は、所定数以内の他のユーザを選択してもよい。
前記所定のユーザが前記所定の選択対象を推薦又は評価する指示を受け付ける第2受付部をさらに備えてもよい。
前記選択対象選択部は、前記他のユーザが推薦又は評価する1以上の選択対象のうち、前記所定の選択対象を除く選択対象を選択してもよい。
前記提示部は、前記所定の選択対象に関する情報と前記1以上の選択対象に関する情報とを同時に前記一のユーザに提示してもよい。
前記選択対象は、ゲームに関するコンテンツであってもよい。
前記ゲームに関するコンテンツは、ステージ、アイテム又はキャラクタを表すコンテンツであってもよい。
前記選択対象選択部は、前記他のユーザが、前記ゲームを実行中又は実行後に推薦又は評価を行った1以上の選択対象を選択してもよい。
前記選択対象は、前記複数のユーザのうちのいずれかのユーザにより作成されたコンテンツであってもよい。
【0007】
また、本発明は、複数の選択対象から所定の選択対象を選択する指示を所定のユーザから受け付ける受付部と、前記所定のユーザを除く複数のユーザの中から前記所定の選択対象を推薦又は評価する他のユーザを選択するユーザ選択部と、前記他のユーザが推薦又は評価する他の選択対象を選択する選択対象選択部と、前記他の選択対象に関する情報を前記所定のユーザに提示する提示部とを備える情報処理システムを提供する。
【0008】
また、本発明は、コンピュータを、複数の選択対象から所定の選択対象を選択する指示を所定のユーザから受け付ける受付部と、前記所定のユーザを除く複数のユーザの中から前記所定の選択対象を推薦又は評価する他のユーザを選択するユーザ選択部と、前記他のユーザが推薦又は評価する他の選択対象を選択する選択対象選択部と、前記他の選択対象に関する情報を前記所定のユーザに提示する提示部として機能させるための情報処理プログラムを提供する。
【0009】
また、本発明は、情報処理装置により実行される情報処理方法であって、複数の選択対象から所定の選択対象を選択する指示を所定のユーザから受け付けるステップと、前記所定のユーザを除く複数のユーザの中から前記所定の選択対象を推薦又は評価する他のユーザを選択するステップと、前記他のユーザが推薦又は評価する他の選択対象を選択するステップと、前記他の選択対象に関する情報を前記所定のユーザに提示するステップとを有する情報処理方法を提供する。
【発明の効果】
【0010】
本発明によれば、レコメンドの精度を向上させることができる。
【発明を実施するための形態】
【0012】
1.実施形態
1−1.構成
1−1−1.情報共有システム10
図1は、本発明の一実施例に係る情報共有システム10の構成の一例を示すブロック図である。この情報共有システム10は、ゲーミングシステム20のユーザ間でゲームのコースデータを共有するためのシステムである。情報共有システム10は、サーバ装置100と、複数のゲーミングシステム20とを備える。サーバ装置100と各ゲーミングシステム20とは、ネットワーク500を介して互いに接続される。ネットワーク500は、例えばインターネットや無線LAN(Local Area Network)である。
【0013】
1−1−2.ゲーミングシステム20
図2は、ゲーミングシステム20の構成の一例を示す図である。ゲーミングシステム20は、ユーザがゲームをプレイするための情報処理システムである。ゲーミングシステム20は、本体装置200と、コントローラ300と、テレビ400とを備える。
【0014】
本体装置200は、ゲームを実行するための情報処理装置である。本体装置200は、コントローラ300やテレビ400の表示を制御する。
【0015】
図3は、本体装置200のハードウェア構成の一例を示すブロック図である。本体装置200は、制御部210と、補助記憶部220と、ディスクドライブ部230と、ネットワーク通信部240と、端末通信部250と、AV(Audio and Visual)インタフェース部260とを備える。
【0016】
制御部210は、本体装置200の各部の動作を制御するユニットである。制御部210は、CPU(Central Processing Unit)やGPU(Graphics Processing Unit)などの演算処理装置と、主記憶装置やVRAM(Video Random Access Memory)に相当するメモリと、本体装置200の各部と情報をやり取りするための入出力インタフェース等を備える。制御部210は、プログラムを実行することにより、コントローラ300及びテレビ400に送信する画像データの生成を制御する。その際、制御部210は、コントローラ300からの入力を受け付け、当該入力に基づいて処理を実行し、当該処理の結果として画像データを生成する。
【0017】
補助記憶部220は、制御部210により用いられるデータを記憶する装置である。補助記憶部220は、例えばフラッシュメモリやハードディスクであるが、メモリカードのような着脱可能な記録媒体とそのリーダライタを含んでもよい。補助記憶部220は、制御部210が実行するプログラムや、ネットワーク通信部240、端末通信部250を介して取得したデータを記憶することが可能である。例えば、補助記憶部220は、オンラインで販売されているゲームがダウンロードされた場合に、これを記憶することも可能である。また、ゲームのコースデータを記憶することも可能である。
【0018】
ディスクドライブ部230は、光ディスクに記憶されたデータを読み取るユニットである。光ディスクには、例えば、ゲームプログラムなどのゲームを実行するために必要なデータが記録されている。なお、ディスクドライブ部230は、光磁気ディスクや半導体メモリなどの他の記録媒体に記憶されたデータを読み取るように構成されてもよい。
【0019】
ネットワーク通信部240は、ネットワーク500と通信するユニットである。ネットワーク通信部240は、制御部210による指示に従い、サーバ装置100との間でデータの送受信を行う。
【0020】
端末通信部250は、コントローラ300と通信するユニットである。端末通信部250による無線通信には、Wi-Fi(登録商標)、Bluetooth(登録商標)、赤外線通信などの任意の通信方式を用いることができる。
【0021】
AVインタフェース部260は、テレビ400に画像データや音声データを供給するユニットである。AVインタフェース部260は、HDMI(High-Definition Multimedia Interface:登録商標)端子、コンポーネント端子などのインタフェースを1以上備える。
【0022】
次に、コントローラ300は、ユーザが把持して操作を行うための携帯型の入力端末である。コントローラ300は、表示領域を有しており、表示装置でもある。コントローラ300は、本体装置200と無線通信によってデータを送受信してもよいし、本体装置200と有線接続されてもよい。
【0023】
図4は、コントローラ300のハードウェア構成の一例を示すブロック図である。コントローラ300は、制御部310と、補助記憶部320と、通信部330と、表示部340と、タッチスクリーン部350と、操作部360とを備える。
【0024】
制御部310は、コントローラ300の各部の動作を制御するユニットである。制御部310は、CPUなどの演算処理装置と、主記憶装置と、コントローラ300の各部と情報をやり取りするための入出力インタフェース等を備える。制御部310は、プログラムを実行することにより、画像の表示や本体装置200とのデータの送受信を制御する。
【0025】
補助記憶部320は、制御部310により用いられるデータを記憶する装置である。補助記憶部320は、例えばフラッシュメモリである。補助記憶部320は、メモリカードのような着脱可能な記録媒体とそのリーダライタとを含んで構成されてもよい。
【0026】
通信部330は、本体装置200と通信するユニットである。通信部330は、無線通信により本体装置200と通信を行うためのアンテナなどを備える。
【0027】
表示部340は、画像を表示する装置である。表示部340は、液晶素子や有機EL(electroluminescence)素子により画素が構成された表示パネルと、この表示パネルを駆動する駆動回路とを備える。表示部340は、制御部310から供給された画像データに応じた画像を表示パネルの所定の表示領域に表示する。
【0028】
タッチスクリーン部350は、ユーザの操作を検出するユニットである。タッチスクリーン部350は、表示部340の表示領域上の位置を表す座標情報を生成および供給するユニットである。タッチスクリーン部350は、表示領域に重ねて設けられたセンサと、このセンサにより検出された位置を表す座標情報を生成して制御部310に供給する制御回路とを備える。タッチスクリーン部350の位置の検出方式は、抵抗膜方式であってもよいし、静電容量方式であってもよい。タッチスクリーン部350の操作は、ユーザの指によって行われてもよいし、タッチペンやスタイラスによって行われてもよい。
【0029】
操作部360は、ユーザの操作を検出する別のユニットである。操作部360は、押下可能なキーやスイッチなどを備え、ユーザの操作に応じた操作情報(例えば、キーが押下されているか否かを表す情報)を制御部310に供給する。
【0030】
次に、テレビ400は、ゲーム画面等の画像を表示する表示装置である。テレビ400は、本体装置200に接続され、本体装置200に制御されて画像を表示する。なお、テレビ400は、プロジェクタなどの他の表示装置により代替されてもよい。
【0032】
図5は、サーバ装置100のハードウェア構成の一例を示すブロック図である。このサーバ装置100は、ゲーミングシステム20のユーザ間でゲームのコースデータを共有することを可能にするコンピュータ装置である。サーバ装置100は、本発明に係る「情報処理装置」の一例である。サーバ装置100は、制御部110と、記憶部120と、通信部130とを備える。
【0033】
制御部110は、サーバ装置100の動作を制御するユニットである。制御部110は、CPUなどの演算処理装置と、主記憶装置を備え、プログラムを実行することにより、サーバ装置100の各部の動作を制御する。
【0034】
記憶部120は、データを記憶する装置である。例えば、ハードディスクなどの記録媒体である。記憶部120は、サーバ装置100に対して着脱可能であってもよいし、ネットワーク500を介してアクセス可能な他の装置に設置されてもよい。この記憶部120は、ゲーミングシステム20のユーザ間で共有されるコースデータを記憶する。また、記憶部120は、コースデータをユーザ間で共有させる際に利用される各種のデータベース(以下、「DB」という)を記憶する。
【0035】
図6は、コース情報DB121の一例を示す図である。コース情報DB121は、ゲームのコースに関する情報を格納するデータベースである。コース情報DB121を構成する各レコードは、コースIDと、コース名と、作成者と、お勧め度と、プレイ回数の各フィールドにより構成される。コースIDは、コースの識別情報である。コース名は、コースの名称である。作成者は、コースの作成したユーザである。作成者のフィールドには、ユーザの識別情報であるユーザIDが格納される。お勧め度は、そのコースのお勧めの度合いを示す値である。より具体的には、そのコースをお勧めしたいと考えているユーザの数である。言い換えると、そのコースに対して好意的な意思を示したユーザの数である。お勧め度の値が大きいほど、そのコースの評価が高くなる。プレイ回数は、コースがユーザにプレイされた回数である。
【0036】
次に、
図7は、お勧め情報DB122の一例を示す図である。お勧め情報DB122は、ユーザごとに、各ユーザが推薦又は評価するコースの情報を格納するデータベースである。お勧め情報DB122を構成する各レコードは、ユーザIDと、お勧めコースIDの各フィールドにより構成される。ユーザIDは、コースを推薦又は評価したユーザの識別情報である。お勧めコースIDは、ユーザが推薦又は評価するコースのIDである。このお勧めコースIDのフィールドには、ユーザによって後述する所定の操作が行われたコースのIDが格納される。
【0037】
次に、
図8は、コメントDB123の一例を示す図である。コメントDB123は、各コースについて、ユーザによって入力されたコメントに関するデータを格納するデータベースである。コメントDB123を構成する各フィールドは、コースIDと、ユーザIDと、コメントの各フィールドにより構成される。コースIDは、コメントの対象となったコースの識別情報である。ユーザIDは、コメントを行ったユーザの識別情報である。コメントは、ユーザによって入力されたコメントの内容である。コメントは、テキストデータにより表現されてもよいし、画像データや動画データにより表現されてもよい。
【0038】
次に、通信部130は、ネットワーク500と接続し、ゲーミングシステム20とデータを送受信するユニットである。
【0039】
図9は、サーバ装置100の機能構成の一例を示すブロック図である。サーバ装置100の制御部110は、所定のプログラムを実行することにより、第1受付部111と、ユーザ選択部112と、選択対象選択部113と、提示部114と、第2受付部115の機能を実現する。これらの機能は、特に、後述するユーザ単位抽出処理に関連する機能である。
【0040】
第1受付部111は、複数の選択対象から選択対象を選択する指示をユーザから受け付ける。ここで、選択対象は、本実施形態においては、ゲームに関するコンテンツである。より具体的には、ゲームのコース(言い換えると、ステージ)を表すコンテンツであり、ユーザにより作成されたコンテンツである。例えば、当該コンテンツは、ユーザによりクリアされたコースを表すコンテンツである。
【0041】
ユーザ選択部112は、複数のユーザの中から、第1受付部111によりその選択が受け付けられた選択対象を推薦又は評価する他のユーザを選択する。ここで、「評価する」とは、選択対象の意義又は価値を判断することを意味する。狭義には、選択対象の意義又は価値を認めることを意味する。ユーザ選択部112は、具体的には、第1受付部111によりその選択が受け付けられたゲームのコースとお勧め情報DB122において対応付けられているユーザを選択する。その際、ユーザ選択部112は、所定数以内の他のユーザを選択する。また、ユーザ選択部112は、ランダムに他のユーザを選択する。ただし、他の実施形態として、ランダム以外の所定のルールに基づいて他のユーザを選択してもよい。
【0042】
選択対象選択部113は、ユーザ選択部112により選択された他のユーザが推薦又は評価する1以上の選択対象を選択する。この際、選択対象選択部113は、複数の選択対象を選択してもよい。特に、互いに重複しない複数の選択対象を選択してもよい。
【0043】
選択対象選択部113は、1以上の選択対象を選択する際、ユーザ選択部112により選択された他のユーザが、推薦するために所定の操作を行ったものを選択する。または、当該他のユーザが、評価するために所定の操作(特に、肯定的な評価を行うための操作)を行ったものを選択する。ここで、所定の操作とは、例えば、上記の1以上の選択対象と対応付けられて画面に表示される所定の表示要素を選択する操作である。
【0044】
また、選択対象選択部113は、1以上の選択対象を選択する際、ユーザ選択部112により選択された他のユーザが、選択対象の使用中又は使用後に推薦又は評価を行ったものを選択する。仮に選択対象がゲームに関するコンテンツである場合には、選択対象選択部113は、ユーザ選択部112により選択された他のユーザが、ゲームを実行中又は実行後に推薦又は評価を行ったものを選択する。
【0045】
選択対象選択部113は、具体的には、ユーザ選択部112により選択された他のユーザとお勧め情報DB122において対応付けられているコースを選択する。この際、選択対象選択部113は、ランダムにコースを選択する。ただし、他の実施形態として、ランダム以外の所定のルールに基づいてコースを選択してもよい。
【0046】
提示部114は、選択対象選択部113により選択された1以上の選択対象に関する情報を一のユーザに提示する。選択対象選択部113により複数の選択対象が選択された場合には、提示部114は、それら複数の選択対象に関する情報を一のユーザに提示する。また、提示部114は、1以上の選択対象に関する情報を一のユーザに提示する際、当該情報と、第1受付部111によりその選択が受け付けられた一の選択対象に関する情報とを同時に一のユーザに提示してもよい。例えば、両方の情報を、同ユーザに提示される一の画面を表す画面データに含めてもよい。
【0047】
第2受付部115は、ユーザが選択対象を推薦又は評価する指示を受け付ける。ここで、当該ユーザは、例えば、第1受付部111により一の選択対象の選択が受け付けられたユーザである。この場合、選択対象選択部113は、1以上の選択対象を選択する際、ユーザ選択部112により選択された他のユーザが推薦又は評価する1以上の選択対象のうち、当該ユーザにより推薦又は評価された選択対象を除く。
【0048】
1−2.動作
情報共有システム10の動作について説明する。具体的には、ゲーミングシステム20においてゲームを実行するためのゲーム実行処理について説明する。
【0049】
図10は、ゲーム実行処理の一例を示すシーケンスチャートである。本処理において本体装置200は、ユーザによりゲームアプリケーションの実行を指示されると、当該ゲームのコース選択画面に表示されるコース情報をサーバ装置100に対して要求する(ステップSa1)。この要求を受信したサーバ装置100は、コース情報DB121からコース情報を取得し、本体装置200に送信する(ステップSa2)。このコース情報を受信した本体装置200は、コース情報に基づいてコース選択画面をコントローラ300及び/又はテレビ400に表示させる(ステップSa3)。
【0050】
図11は、コース選択画面の一例を示す図である。この画面には、お勧め度の降順に、各コース情報が選択可能に表示される。各コース情報は、具体的には、コース名と、作成者のユーザIDと、お勧め度と、プレイ回数とにより構成される。なお、これらの情報の他に、コースを表す画像(例えば、サムネイル)や、作成者を表す画像(例えば、アバター)が表示されてもよい。なお、各コース情報は、コースの作成日時の昇順又は降順に表示されてもよいし、コースのプレイ回数の昇順又は降順に表示されてもよい。
【0051】
このコース選択画面が表示されている状態において、いずれかのコースがユーザにより選択されると、本体装置200は、その選択されたコースのコースIDを添付してコースデータをサーバ装置100に対して要求する(ステップSa4)。この要求を受信したサーバ装置100は、受信したコースIDにより識別されるコースデータを記憶部120から取得する。また、受信したコースIDと対応付けられているコメントデータをコメントDB123から取得する。そして、取得したコースデータとコメントデータとを本体装置200に送信する(ステップSa5)。コースデータ等を受信した本体装置200は、受信したコースデータに基づいてゲームアプリケーションを実行し、そのゲーム実行画面をコントローラ300及び/又はテレビ400に表示させる(ステップSa6)。
【0052】
図12は、ゲーム実行画面の一例を示す図である。この画面は、特に、ゲームをポーズ(一時停止)したときに表示される画面である。この画面には、ゲームのプレイ画面に重ねて、コース情報が表示されている。具体的には、コース名と、作成者のユーザIDと、お勧め度と、プレイ回数とが表示されている。なお、これらに加えて、作成者を表す画像(例えば、アバター)が表示されてもよい。また、同画面には、ポーズメニューMが表示されている。このポーズメニューMには、コメントボタンB1と、お勧めボタンB2と、リトライボタンB3と、ゲーム中止ボタンB4と、コメント表示ボタンB5とが配置されている。
【0053】
コメントボタンB1は、このコースに対するコメントを入力するためのボタンである。言い換えると、このコースに対する評価を行うためのボタンである。より具体的には、コメントを入力するための入力フィールドを呼び出すためのボタンである。このコメントボタンB1を選択して入力されたコメントデータは、当該コースのコースIDとユーザIDとに対応づけられて、サーバ装置100のコメントDB123に格納される。また、コメントが受け付けられたユーザのユーザIDは、当該コースを評価したユーザのIDとして、サーバ装置100のお勧め情報DB122において、当該コースのコースIDと対応付けられる。なお、コメントが受け付けられた場合に、当該コースのコースIDと、サーバ装置100のコース情報DB121において対応付けられているお勧め度の値をインクリメントするようにしてもよい。
【0054】
お勧めボタンB2は、このコースをお勧めする意思表示を行うためのボタンである。このお勧めボタンB2が選択されると、当該コースのコースIDと、サーバ装置100のコース情報DB121において対応付けられているお勧め度の値がインクリメントされる。また、お勧め度ボタンを選択したユーザのユーザIDは、当該コースを推薦するユーザのIDとして、サーバ装置100のお勧め情報DB122において、当該コースのコースIDと対応付けられる。
【0055】
リトライボタンB3は、当該コースを最初からやり直すためのボタンである。ゲーム中止ボタンB4は、当該コースのプレイを中止するためのボタンである。コメント表示ボタンB5は、当該コースに関連して他のユーザにより入力されたコメントを表示するためのボタンである。
【0056】
ユーザが当該コースをクリアすると、本体装置200は、当該コース以外の他のコースをユーザにレコメンド(推薦)するためのレコメンド情報をサーバ装置100に対して要求する(ステップSa7)。この際、本体装置200は、ユーザがクリアしたコースのコースIDをサーバ装置100に対して送信する。この要求を受信したサーバ装置100は、推薦コース抽出処理を実行して、ユーザにレコメンドするコースを抽出する(ステップSa8)。
【0057】
図13は、推薦コース抽出処理の一例を示すフローチャートである。この処理においてサーバ装置100は、当該コースをクリアしたユーザと嗜好を同じくする他のユーザが推薦又は評価するコースを抽出する。抽出されるコースの総数は、許容される処理時間に応じて任意に決定されるべき変数であるが、本実施形態では、4件抽出する。
【0058】
本処理のステップSb1において、サーバ装置100の制御部110は、ユーザがクリアしたコースのコースIDを取得する。次に、制御部110は、取得したコースIDにより識別されるコースを推薦又は評価した他のユーザを選択する(ステップSb2)。具体的には、取得したコースIDとお勧め情報DB122において対応付けられているユーザIDを抽出する。この際、制御部110は、ランダムにユーザIDを抽出する。抽出件数は、許容される処理時間に応じて任意に決定されるべき変数であるが、本実施形態では、6件抽出する。
【0059】
次に、制御部110は、選択した他のユーザの各々について、推薦又は評価されるコースを抽出する。抽出されたコースのコースIDは、本実施形態では、制御部110のRAMに記憶されるコースIDリストLに記録される。この処理を行うにあたり、ループ処理の変数iを初期値「1」に設定し、終値nとして、選択したユーザの数(本実施形態では、「6」)を設定する(ステップSb3)。そして、制御部110は、抽出した6件のユーザIDのうちのi番目のユーザIDについて、以下に説明するユーザ単位抽出処理を実行する(ステップSb4)。
【0060】
図14は、ユーザ単位抽出処理の一例を示すフローチャートである。この処理において処理対象の他のユーザにつき抽出されるべきコースの総数は任意に設定されるべき変数であるが、本実施形態では、1件抽出する。
【0061】
まず、制御部110は、処理対象の他のユーザから抽出を行う試行回数に上限を設けるために、ループ処理の変数jを初期値「1」に設定し、終値mとして、試行回数の上限値を設定する(ステップSc1)。この上限値は任意に設定されるべき変数であるが、本実施形態では、10回とする。
【0062】
次に、制御部110は、処理対象の他のユーザにより推薦又は評価されたコースを抽出する(ステップSc2)。より具体的には、処理対象のユーザのユーザIDとお勧め情報DB122において対応付けられているコースIDを抽出する。この際、制御部110は、ランダムにコースIDを1件抽出する。
【0063】
コースIDを1件抽出すると、制御部110は、抽出したコースIDが、上記のステップSb1において取得したコースIDか、またはコースIDリストLに記録されているコースIDと重複していないか否かについて判断する(ステップSc3)。この判断の結果、コースIDが重複していない場合には(ステップSc3:NO)、制御部110は、抽出したコースIDをコースIDリストLに記録して(ステップSc6)、本ユーザ単位抽出処理を終了する。
【0064】
一方、この判断の結果、コースIDが重複する場合には(ステップSc3:YES)、制御部110は、変数jの値をインクリメントし(ステップSc4)、変数jの値が終値mよりも大きいか否かについて判断を行う(ステップSc5)。この判断の結果、変数jの値が終値m以下である場合には(ステップSc5:NO)、すなわち、抽出試行回数が上限値に達していない場合には、制御部110は、ステップSc2の処理に戻る。一方、この判断の結果、変数jの値が終値mよりも大きい場合には(ステップSc5:YES)、すなわち、抽出試行回数が上限値に達している場合には、制御部110は、本ユーザ単位抽出処理を終了する。
以上が、ユーザ単位抽出処理についての説明である。
【0065】
図13に戻り、ユーザ単位抽出処理が終了すると、制御部110は、コースIDリストLを参照して、抽出されたコースIDの数が所定値に達したか否かを判断する(ステップSb5)。本実施形態では、抽出されたコースIDの数が4件に達したか否かを判断する。この判断の結果、抽出されたコースIDの数が所定値に達した場合には(ステップSb5:YES)、制御部110は、本推薦コース抽出処理を終了する。
【0066】
一方、この判断の結果、抽出されたコースIDの数が所定値に達していない場合には(ステップSb5:NO)、制御部110は、変数iの値をインクリメントし(ステップSb6)、変数iの値が終値nよりも大きいか否かについて判断を行う(ステップSb7)。この判断の結果、変数iの値が終値n以下である場合には(ステップSb7:NO)、すなわち、処理対象のユーザがまだ残っている場合には、制御部110は、ステップSb4の処理に戻る。一方、この判断の結果、変数iの値が終値nよりも大きい場合には(ステップSb7:YES)、すなわち、処理対象のユーザが残っていない場合には、制御部110は、本推薦コース抽出処理を終了する。
以上が、推薦コース抽出処理についての説明である。
【0067】
図10に戻り、推薦コース抽出処理が終了すると、サーバ装置100は、この推薦コース抽出処理の結果抽出されたコースIDを本体装置200に対して送信する(ステップSa9)。このコースIDを受信した本体装置200は、このコースIDに基づいてゲームクリア画面を生成して、コントローラ300及び/又はテレビ400に表示させる(ステップSa10)。
【0068】
図15は、ゲームクリア画面の一例を示す図である。本画面は、コメント表示領域A1と、コース情報表示領域A2と、推薦コース表示領域A3とにより構成される。コメント表示領域A1には、上記のステップSa5において受信されたコメントデータに基づいて、クリアしたコースについてのコメントが表示される。コメントは、コメントを行ったユーザのユーザIDとともに表示される。コメントとユーザIDは、画面の水平方向に流れるように表示される。言い換えると、自動スクロールされる。コメントとユーザIDは、ループ表示される。なお、ユーザIDとともに、当該ユーザを表す画像(例えば、アバター)が表示されてもよい。
【0069】
コース情報表示領域A2には、コース名と、作成者のユーザIDとともに、コメントボタンB1と、お勧めボタンB2と、ゲーム終了ボタンB6とが表示される。コメントボタンB1とお勧めボタンB2の機能は、それぞれ、上記のゲーム実行画面に表示されるものと同様である。なお、ユーザIDとともに、当該ユーザを表す画像(例えば、アバター)が表示されてもよい。ゲーム終了ボタンB6は、当該コースのプレイを終了するためのボタンである。
【0070】
推薦コース表示領域A3には、ステップSa9においてサーバ装置100から受信されたコースIDにより識別されるコース名が選択可能に表示される。コース名は、例えば、ステップSa1においてサーバ装置100から受信されたコース情報を参照して特定される。コース名は、画面の水平方向に流れるように表示される。言い換えると、自動スクロールされる。コース名は、ループ表示される。なお、コース名とともに、コース名以外の他のコース情報が表示されてもよい。また、コースを表す画像(例えば、サムネイル)や、作成者を表す画像(例えば、アバター)が表示されてもよい。
【0071】
この推薦コース表示領域A3に表示されるいずれかのコースがユーザにより選択されると、本体装置200は、その選択されたコースのコースIDを添付してコースデータをサーバ装置100に対して要求する(ステップSa11)。この要求を受信したサーバ装置100は、受信したコースIDにより識別されるコースデータを記憶部120から取得する。また、受信したコースIDと対応付けられているコメントデータをコメントDB123から取得する。そして、取得したコースデータとコメントデータとを本体装置200に送信する(ステップSa12)。コースデータ等を受信した本体装置200は、受信したコースデータに基づいてゲームアプリケーションを実行し、そのゲーム実行画面をコントローラ300及び/又はテレビ400に表示させる(ステップSa13)。
以上が、ゲーム実行処理についての説明である。
【0072】
以上説明した本実施形態に係る情報共有システム10によれば、ユーザと嗜好を同じくする他のユーザが単にプレイしたコースが推薦されるのではなく、当該ユーザが推薦又は評価したコースが推薦されるため、推薦されるコースは、推薦される側のユーザの嗜好と合致する可能性が高くなる。すなわち、本情報共有システム10によれば、レコメンドの精度が向上する。
【0073】
2.変形例
上記の実施形態は下記のように変形してもよい。下記の変形例は互いに組み合わせて適用されてもよい。
【0074】
2−1.変形例1
上記の実施形態では、選択対象として、ゲームのコースデータが想定されているが、コースデータ以外のコンテンツも選択対象として採用されてもよい。例えば、ゲームのアイテムや、ゲームのキャラクタ(例えば、アバターやそのパーツ)を選択対象としてもよい。または、ゲームに関するコンテンツに限らず、ゲームと関係のない商品を選択対象としてもよい。ここで、本明細書において商品とは、商業上の取引の目的となる財又はサービスのことである。ここで、財は、有体物、無体物(例えば、デジタルコンテンツ)のいかんを問わない。また、商業上の取引の中には、売買だけでなく、賃貸し(レンタル)も含まれる。
【0075】
2−2.変形例2
上記の実施形態に係る推薦コース抽出処理において、ステップSb2において選択した各ユーザについてユーザ単位抽出処理を行った結果、所定数のコースを抽出できなかった場合には、追加で他のユーザ(ステップSb2において選択され得るユーザ)を選択して、当該ユーザについてユーザ単位抽出処理を実行するようにしてもよい。あるいは、推薦コース抽出処理自体をやり直してもよい。
【0076】
2−3.変形例3
上記の実施形態では、単一の装置により上記の推薦コース抽出処理を実現することを想定しているが、上記の推薦コース抽出処理は、ネットワークを介して互いにアクセス可能な複数の装置の協働により実現されてもよい。すなわち、情報処理システムにより実現されてもよい。
【0077】
2−4.変形例4
上記の実施形態に係る推薦コース抽出処理を実現するためのプログラムは、コンピュータ装置が読み取り可能な記録媒体を介してサーバ装置100に提供されてもよい。ここで、記録媒体とは、例えば、磁気テープや磁気ディスクなどの磁気記録媒体や、光ディスクなどの光記録媒体や、光磁気記録媒体や、半導体メモリ等である。または、インターネット等のネットワークを介してサーバ装置100に提供されてもよい。