以下、本発明の情報処理方法、表示方法、情報処理装置、端末装置、及びプログラムについて、添付図面を参照して説明する。なお、第1〜第3実施形態においては、図1〜図35を用いて説明する。第1〜第3実施形態における各符号についても、図1〜図35における符号である。また、第4〜第6実施形態においては、図36〜図75を用いて説明する。第4〜第6実施形態における各符号や数式の番号についても、図36〜図75における符号や番号である。
<第1実施形態>
以下に、本発明の第1実施形態について、図を用いて詳細に説明する。図1は、本発明の第1実施形態におけるシステム全体の構成図である。本実施形態におけるシステムは、アイテム提供サーバ装置1と、情報処理サーバ装置2と、1つ以上の端末装置3(3a〜3n)がネットワーク4を介して接続されている。また、図2に示すように、2つのネットワークを用いてシステム全体を構成してもよい。図2においては、アイテム提供サーバ装置1と情報処理サーバ装置2がネットワーク5を介して接続されており、アイテム提供サーバ装置1と端末装置3(3a〜3n)がネットワーク4を介して接続されている。ネットワーク5は、LAN(Local Area Network)であり、情報処理サーバ装置2と端末装置3(3a〜3n)は、直接接続できないようになっている。本実施形態では、特に断らない限り、システム全体の構成が図1である場合を説明する。なお本実施形態では、アイテム提供サーバ装置1と情報処理サーバ装置2を別々の装置とする場合を説明するが、この2つの機能を合わせて1つの装置として実現してもよい。
ネットワーク4は、例えばインターネット等のネットワークであり、アイテム提供サーバ装置1と情報処理サーバ装置2と端末装置3との間の情報のやり取りを仲介する。アイテム提供サーバ装置1は、端末装置3の要求に応じて、アイテムを提供する装置である。ここでアイテムとは、テキスト、音声、音楽、映像等のデジタルコンテンツや様々な物品であり、更には金融商品、不動産、人物に関する情報等であってもよい。すなわち本実施形態におけるアイテムは、有形か無形かを問わず、有料か無料かも問わない。アイテム提供サーバ装置1は、CPU、RAM、ROM、ハードディスクドライブ(HDD)、ネットワークインタフェース等を備えるコンピュータを用いて、ソフトウェア(プログラム)処理として実施することも可能である。
図3は、本実施形態におけるアイテム提供サーバ装置1の構成図である。本実施形態におけるアイテム提供サーバ装置1は、アイテム提供サーバ制御手段11と、アイテム提供サーバ通信手段12と、認証手段13と、アイテム提供サーバ格納手段14とで構成される。
認証手段13は、端末装置3または端末装置3を利用するユーザを認証する。認証手段13は、端末装置3を利用するユーザを一意に識別するユーザ識別情報(ユーザ識別子)、または端末装置3を一意に識別するための端末識別情報と、パスワードとを関連付けて格納している。本実施形態では、ユーザ識別情報を用いる場合を例にして説明するが、端末識別情報を用いる場合も同様である。ユーザ識別情報と端末識別情報とを合わせた意味の総称として、利用主体識別情報(利用主体識別子)という用語を用いる。また、ユーザ識別情報とパスワードとの組合せを、利用者特定情報とする。認証手段13では、端末装置3より受信した利用者特定情報と一致するものが格納されている場合に、認証成功とする。そして、認証に成功した利用者特定情報に対応するユーザを認証ユーザとする。
アイテム提供サーバ格納手段14は、HDDなどの記憶装置を用いて、様々なデータを記憶する。アイテム提供サーバ格納手段14は、ユーザ情報格納部141と、アイテム情報格納部142と、推薦アイテム情報格納部143とで構成される。
ユーザ情報格納部141は、ユーザ情報を複数記憶する。図4は、ユーザ情報格納部141の格納状態の一例を示す図である。ユーザ情報とは、端末装置3を利用するユーザを一意に識別するユーザ識別情報であるuser_idとユーザ属性情報であるuser_infoとを関連付けたものであり、図4のようなテーブル形式で記憶する。ユーザ属性情報とは、ユーザの名前、年齢、性別、住所(地域)、趣味、会員になった時期(年月、日付、日時など)、メールアドレス、電話番号などの情報である。また、アイテム提供サーバ装置1にて商品の購入が可能であれば、商品の支払いを行うためのクレジットカード情報などを含んでもよい。
アイテム情報格納部142は、アイテム情報を複数記憶する。図5は、アイテム情報格納部142の格納状態の一例を示す図である。アイテム情報とは、アイテム識別情報であるitem_idとアイテムの属性情報であるitem_infoとを関連付けたものであり、図5のようなテーブル形式で記憶する。アイテム識別情報(アイテム識別子)とは、アイテムを一意に識別するためのものである。また、アイテムの属性情報とは、例えば、アイテムの名称、制作者、制作年、ジャンル、価格、アイテムを利用するのに適したユーザの条件などの情報である。
推薦アイテム情報格納部143は、ユーザごとに推薦アイテム情報を複数記憶する。図6は、推薦アイテム情報格納部143の格納状態の一例を示す図である。推薦アイテム情報とは、ユーザ識別情報であるuser_idと、アイテム識別情報であるitem_idとを関連付けたものであり、図6のようなテーブル形式で記憶する。ユーザ識別情報であるuser_idを指定することで、user_idに対応する推薦アイテムのアイテム識別情報を全て取得することができる。また後述するように、情報処理サーバ装置2から、推薦値または推薦順位を受信した場合には、ユーザ識別情報と、アイテム識別情報と、推薦値または推薦順位とを関連付けて記憶してもよい。
アイテム提供サーバ通信手段12は、ネットワーク4を介して情報処理サーバ装置2や、端末装置3と通信を行うための手段である。
アイテム提供サーバ制御手段11は、アイテム提供サーバ装置1を構成する各手段に対して、全体的な制御を行う。アイテム提供サーバ制御手段11は、ユーザページ情報作成部111と、推薦アイテム取得部112と、利用情報中継部113とで構成される。
ユーザページ情報作成部111は、端末装置3から受信したデータに応じて、以下の2種類の処理を行う。ユーザページ情報作成部111の第1の処理は、ユーザページ情報送信処理であり、端末装置3よりユーザページ情報取得要求を受信し、かつ、認証手段13にて認証成功した場合に、この処理を行う。ユーザページ情報取得要求とは、ユーザページ情報の取得を要求する情報であり、認証手段13にて認証を行うために、少なくとも利用者特定情報を含む。ユーザページ情報とは、端末装置3に検索画面や、推薦アイテム情報の閲覧操作画面や、利用ポイントの確認画面を表示させるために必要な情報である。例えば、HTML(Hyper Text Markup Language)形式を用いてユーザページ情報を作成してもよいし、これ以外のデータ形式を用いてもよい。
ここで利用ポイントとは、ユーザと何らかの関係性のある他のユーザがアイテムを利用したことに基づき、ユーザに付与される数値である。また、アイテムを利用したユーザ本人に利用ポイントを付与してもよい。なお、アイテム提供サーバ装置1によるサービスを提供している側(サービス提供側)が、そのサービスを利用するユーザに対して、利用ポイントに応じて、そのポイントに応じた何らかの特典を与えてもよい。例えば、ショッピングサイトであれば、商品購入の際に、代金の一部として利用ポイントを使用できるようにしてもよいし、利用ポイントに応じた値引きサービスを行ってもよい。なお、何らかの関係性のある他のユーザとは、例えば、対象となるユーザと共通のアイテムを利用しているユーザや、対象となるユーザと類似ユーザであり、かつ共通のアイテムを利用しているユーザなどである。
ユーザページ情報送信処理とは、認証ユーザのユーザページ情報を作成し、認証ユーザが利用中の端末装置3に、作成したユーザページ情報を送信する処理であり、まず、推薦アイテム情報格納部143にて、認証ユーザのユーザ識別情報に対応する推薦アイテム情報を全て取得する。次に、利用ポイント情報取得要求を作成し、ネットワーク4を介して、情報処理サーバ装置2に、作成した利用ポイント情報取得要求を送信する。利用ポイント情報取得要求とは、認証ユーザが獲得した利用ポイントに関する情報を取得するための情報であり、少なくとも認証ユーザのユーザ識別情報を含む。
次に、ネットワーク4を介して、情報処理サーバ装置2より、送信した利用ポイント情報取得要求に対応する利用ポイント情報を受信する。次に、取得した推薦アイテム情報と、受信した利用ポイント情報を用いて、ユーザページ情報を作成する。そして、ネットワーク4を介して、端末装置3に、作成したユーザページ情報を送信する。
ユーザページ情報作成部111の第2の処理は、検索結果送信処理であり、ネットワーク4を介して、端末装置3より検索条件を受信すると、この処理を行う。ここで検索条件とは、利用するアイテムを絞り込むために用いる条件であり、例えば、ジャンル名、製作者、キーワード、価格の上限や下限などである。検索結果送信処理とは、端末装置3に、受信した検索条件を満たすアイテム情報を送信する処理であり、まず、アイテム情報格納部142より、検索条件を満たすアイテムの属性情報を有するアイテム情報を全て抽出する。そして、ネットワーク4を介して、端末装置3に、抽出した全てのアイテム情報を送信する。
推薦アイテム取得部112は、ネットワーク4を介して、情報処理サーバ装置2より推薦アイテム情報を受信すると、推薦アイテム情報更新処理を行う。推薦アイテム情報更新処理とは、推薦アイテム情報格納部143にて、記憶されている全てのデータを削除した後に、受信した推薦アイテム情報を記憶する処理である。
利用情報中継部113は、ネットワーク4を介して、端末装置3より利用者特定情報と新規利用情報とを受信し、かつ、認証手段13にて認証が成功した場合に、利用情報中継処理を行う。新規利用情報とは、後述する利用ポイント算出処理のトリガーとなる利用情報である。端末装置3から受信する利用情報には、少なくともユーザ識別情報とアイテム識別情報が含まれている。利用情報中継処理とは、ネットワーク4を介して、情報処理サーバ装置2に、受信した新規利用情報を送信する処理である。
ここで、図7のフローチャートを用いて、ユーザページ情報作成部111によるユーザページ情報送信処理と、利用情報中継部113による利用情報中継処理を続けて行う場合の動作を説明する。まず、端末装置3が、ユーザページ情報取得要求送信処理を行い、ネットワーク4を介して、アイテム提供サーバ装置1にユーザページ情報取得要求を送信する(ステップS101)。ユーザページ情報取得要求送信処理については後述する。
次に、アイテム提供サーバ装置1の認証手段13が、ネットワーク4を介して、端末装置3よりユーザページ情報取得要求を受信すると、ユーザページ情報取得要求に含まれる利用者特定情報を基に認証を行う(ステップS102)。認証に成功した場合は、ユーザページ情報作成部111に受信したユーザページ情報取得要求を送り、ステップS103へ進み、失敗した場合はステップS101からやり直す。
ステップS103では、ユーザページ情報作成部111が、認証手段13よりユーザページ情報取得要求を取得し、ユーザページ情報送信処理を行い、ネットワーク4を介して、端末装置3にユーザページ情報を送信する。次に、端末装置3が、ネットワーク4を介して、アイテム提供サーバ装置1より、ユーザページ情報を受信すると、ユーザページ表示処理を行う(ステップS104)。ユーザページ表示処理については後述する。
次に、表示されたユーザページを閲覧したユーザが、アイテムに関する利用操作を行うと、端末装置3は、新規利用情報を作成し、ネットワーク4を介して、アイテム提供サーバ装置1に、新規利用情報と利用者特定情報とを送信する利用情報送信処理を行う(ステップS105)。利用情報送信処理については後述する。次に、アイテム提供サーバ装置1の認証手段13が、ネットワーク4を介して、端末装置3より新規利用情報と利用者特定情報とを受信すると、利用者特定情報を基に認証を行う(ステップS106)。認証に成功した場合は、利用情報中継部113に受信した新規利用情報を送り、ステップS107へ進み、失敗した場合はステップS105からやり直す。
ステップS107では、利用情報中継部113が、認証手段13より新規利用情報を取得し、利用情報中継処理を行い、ネットワーク4を介して、情報処理サーバ装置2に、取得した新規利用情報を送信する。次に、情報処理サーバ装置2が、ネットワーク4を介して、アイテム提供サーバ装置1より、新規利用情報を受信すると、利用ポイント算出処理を行い(ステップS108)、ステップS101からステップS108までの一連の処理を終了する。利用ポイント算出処理については後述する。以上が、ユーザページ情報作成部111によるユーザページ情報送信処理と、利用情報中継部113による利用情報中継処理を続けて行った場合の手順の説明である。
端末装置3は、CPU、RAM、ROM、ハードディスクドライブ、ネットワークインタフェース等を備える一般的なコンピュータであり、内蔵されたプログラムにより所定の動作を行う。図8は、本実施形態における端末装置3の構成図である。本実施形態における端末装置3は、端末制御手段31と、端末通信手段32と、入力手段33と、表示手段34とで構成される。
端末通信手段32は、ネットワーク4を介してアイテム提供サーバ装置1と通信を行うための手段である。入力手段33は、例えば、端末装置3がPC(Personal Computer)であれば、マウスやキーボード、携帯電話であれば、ボタンといったように、ユーザが端末装置3を操作するためのインタフェースである。表示手段34は、例えば、ディスプレイといったように、様々な情報を表示し、ユーザに視覚的に示すためのインタフェースである。
端末制御手段31は、端末装置3を構成する各手段に対して、全体的な制御を行う。端末制御手段31は、ユーザページ表示部311と、利用情報作成部312とで構成される。ユーザページ表示部311は、入力手段33から取得した操作や、アイテム提供サーバ装置1から受信したデータの種類に応じて、以下の4種類の処理を行う。
ユーザページ表示部311の第1の処理は、ユーザページ情報取得要求送信処理(ステップS101)であり、入力手段33よりユーザページの表示を要求する操作を取得すると、この処理を行う。ユーザページとは、ユーザページ情報を基に、表示手段34に表示するために描画されたものである。ユーザページ情報取得要求送信処理とは、端末装置3を利用中のユーザである「利用ユーザ」のユーザ識別情報とパスワードの組合せである利用者特定情報を用いて、ユーザページ情報取得要求を作成し、ネットワーク4を介して、アイテム提供サーバ装置1に、作成したユーザページ情報取得要求を送信する処理である。パスワードは、端末装置3の図示しない格納手段に記憶しておき、ユーザページ情報取得要求を作成するたびに図示しない格納手段から取得してもよいし、ユーザページ情報取得要求を作成するたびにユーザに入力させるようにしてもよい。
ユーザページ表示部311の第2の処理は、ユーザページ表示処理(ステップS104)であり、アイテム提供サーバ装置1よりユーザページ情報を取得すると、この処理を行う。ユーザページ表示処理とは、アイテム提供サーバ装置1より取得したユーザページ情報を基に、ユーザページを作成し、表示手段34に、作成したユーザページを表示する処理である。
ユーザページ表示部311の第3の処理は、検索条件送信処理であり、入力手段33より条件の入力操作と検索を要求する操作の内容を取得すると、この処理を行う。検索条件送信処理とは、利用ユーザのユーザ識別情報と、取得した条件を用いて検索条件を作成し、アイテム提供サーバ装置1に、作成した検索条件を送信する処理である。
ユーザページ表示部311の第4の処理は、検索結果表示処理であり、アイテム提供サーバ装置1より、検索条件送信処理にて送信した検索条件に対するアイテム情報を取得すると、この処理を行う。検索結果表示処理とは、受信したアイテム情報を基にユーザページの更新を行う処理である。表示手段34に表示するユーザページは、例えば、図9のユーザページの表示例のように、現在獲得している利用ポイントが確認でき、アイテムの検索手段が用意され、推薦アイテムと、検索により取得したアイテムとを分けて表示できるようにすればよい。図9の表示例では、左上に端末装置3を利用中のユーザのユーザ名と利用ポイントとを表示し、左下に端末装置3を利用中のユーザの推薦アイテム情報を表示している。また、右上に検索条件を入力するテキストボックスと検索条件送信処理のトリガーとなる「検索」ボタンとを表示し、右下に検索条件を満たすアイテム情報を表示している。
利用情報作成部312は、入力手段33より、ユーザページに表示されたアイテムの利用操作の内容を取得すると、利用情報送信処理(ステップS105)を行う。アイテムの利用操作とは、ユーザページに表示されたアイテム名などのアイテムの属性情報を選択する操作や、アイテムが音楽であれば、再生を行うという操作や、アイテムが映画であれば、視聴するという操作や、ユーザページにてアイテムの購入が行える場合は、アイテムを購入候補に指定する(買い物かごに入れる)操作や、購入候補として指定したアイテムを購入する操作等である。
利用情報送信処理とは、利用ユーザのユーザ識別情報とパスワードの組合せである利用者特定情報を作成し、利用ユーザのユーザ識別情報と利用操作の対象となったアイテムのアイテム識別情報を基に新規利用情報を作成し、ネットワーク4を介して、アイテム提供サーバ装置1に、作成した利用者特定情報と新規利用情報とを送信する処理である。また利用情報送信処理において、上述した以外の情報を新規利用情報に追加することもできる。例えば、アイテム名などのアイテムの属性情報を選択する操作、アイテムを購入候補に指定する操作、購入候補に指定したアイテムを購入する操作、アイテムを再生する操作、などの各利用操作を区別するための利用形態情報を追加してもよい。また、ユーザにアイテムに対する評価を行わせた上で、その評価値(例えば、「1:非常に嫌い」、「2:やや嫌い」、「3:どちらでもない」、「4:やや好き」、「5:非常に好き」といったように、好みの度合いを数値化したもの)を新規利用情報に追加してもよい。
情報処理サーバ装置2は、アイテム提供サーバ装置1に推薦アイテム情報を送信したり、アイテム提供サーバ装置1の要求に応じて、利用ポイント情報を送信する装置である。情報処理サーバ装置2は、CPU、RAM、ROM、ハードディスクドライブ(HDD)、ネットワークインタフェース等を備えるコンピュータを用いて、ソフトウェア(プログラム)処理として実施することも可能である。なお、情報処理サーバ装置2を複数のコンピュータを用いて構成してもよい。例えば、負荷分散をするために、情報処理サーバ装置2の各手段に相当する処理を行うコンピュータを複数用いて分散処理を行ってもよい。また、情報処理サーバ装置2の一部の手段の処理をあるコンピュータで実施し、他の手段の処理を別のコンピュータで実施する形態で分散処理を行ってもよい。
図10は、本実施形態における情報処理サーバ装置2の構成図である。本実施形態における情報処理サーバ装置2は、情報処理サーバ制御手段21と、情報処理サーバ通信手段22と、情報処理サーバ格納手段23とで構成される。情報処理サーバ格納手段23は、HDDなどの記憶装置を用いて、様々なデータを記憶する。情報処理サーバ格納手段23は、利用情報格納部231と、類似ユーザ情報格納部232と、分配情報格納部233と、利用ポイント格納部234と、ユーザ情報格納部235と、アイテム情報格納部236とで構成される。利用情報格納部231は、利用情報を複数記憶する。図11(図11(a)〜図11(e))は利用情報格納部231の格納状態の例を示す図である。以下に図11を用いて利用情報の格納形式を9種類説明する。
利用情報の第1の格納形式は、新規利用情報に含まれるユーザ識別情報とアイテム識別情報を、それぞれuser_idとitem_idとして関連付けて、図11(a)のようなテーブル形式で記憶するものである。このとき、user_idとitem_idの組合せは一意であり、重複して記憶することはできない。データを追加する際に、既に同一の(user_id,item_id)の組合せがテーブルに存在する場合は、データを更新しなくてもよいし、新しいデータを上書きしてもよい。第1の格納形式は、アイテムの利用回数を用いる必要がない場合に適しており、格納に必要なデータ容量が最も少ないという特徴がある。
利用情報の第2の格納形式は、利用情報の第1の格納形式と同様に、新規利用情報に含まれるユーザ識別情報とアイテム識別情報を、それぞれuser_idとitem_idとして関連付けて、図11(a)のようなテーブル形式で記憶するものであるが、user_idとitem_idとの組合せの重複を許容する。このため、user_idとitem_idとの組合せの数を調べることで、ユーザのアイテムに対する利用回数を算出することができる。また、新しく追加されるデータは、必ずテーブルの末尾(一番下の行)に追加されるので、テーブル内の上に位置する行データほど古く、下に位置する行データほど新しいことになる。後述する第6の格納形式のようにアイテムを利用した日付を格納していないが、2つの行の位置関係を調べることにより、2つのデータのどちらが古いかを容易に判定できる。
利用情報の第3の格納形式は、新規利用情報に含まれるユーザ識別情報(user_id)とアイテム識別情報(item_id)と、そのユーザのそのアイテムに対する利用回数(count)とを関連付けて、図11(b)のようなテーブル形式で記憶するものである。このとき、user_idとitem_idとの組合せは一意であり、重複して記憶することはできない。新規利用情報に利用回数が含まれていない場合は、countの初期値を「1」とし、2回目以降に記憶する際には、対応するcountの値を「1」増やす。また、新規利用情報に利用回数が含まれる場合は、countの初期値をその利用回数とし、2回目以降に記憶する際には、対応するcountの値に新規利用情報に含まれる利用回数を加算する。第3の格納形式を用いることで、利用情報格納部231から利用回数を簡単に読み出すことができるので、類似ユーザ選出部212、推薦アイテム選出部213などで利用回数を用いた処理を行う場合に、処理量を少なくできる。
利用情報の第4の格納形式は、新規利用情報にユーザがアイテムに対して行った評価を数値化した評価値(例えば、「1:非常に嫌い」、「2:やや嫌い」、「3:どちらでもない」、「4:やや好き」、「5:非常に好き」といったように、好みの度合いを数値化したもの)が含まれている場合に、新規利用情報に含まれるユーザ識別情報とアイテム識別情報と評価値とを、それぞれuser_idとitem_idとvalueとして関連付けて、図11(c)のようなテーブル形式で記憶する。このとき、user_idとitem_idとの組合せは一意であり、重複して記憶することはできない。重複したuser_idとitem_idとの組合せに対応する新規利用情報を記憶しようとした場合は、その新規利用情報を記憶する代わりに、重複したuser_idとitem_idとの組合せに対応する既に記憶された利用情報のvalueの値を、新規利用情報に含まれる評価値で置き換える。
利用情報の第5の格納形式は、新規利用情報に評価値が含まれている場合に、利用情報の第4の格納形式と同様に、新規利用情報に含まれるユーザ識別情報とアイテム識別情報と評価値とを、それぞれuser_idとitem_idとvalueとして関連付けて、図11(c)のようなテーブル形式で記憶するものであるが、user_idとitem_idとの組合せの重複を許容する。第2の格納形式と同様に、新しく追加されるデータは、必ずテーブルの末尾(一番下の行)に追加されるので、テーブル内の上に位置する行データほど古く、下に位置する行データほど新しいことになる。同一の(user_id,item_id)の組合せが複数存在する場合、テーブルの下に位置する行のデータほど、新しい評価であることを示している。
利用情報の第6の格納形式は、新規利用情報にユーザがアイテムを利用した日付が含まれている場合に、新規利用情報に含まれるユーザ識別情報とアイテム識別情報と利用した日付とを、それぞれuser_idとitem_idとdateとして関連付けて、図11(d)のようなテーブル形式で記憶する。このとき、user_idとitem_idとの組合せは一意であり、重複して記憶することはできない。このため、重複したuser_idとitem_idとの組合せに対応する新規利用情報を記憶しようとした場合は、その新規利用情報を記憶しないか、その新規利用情報を記憶する代わりに、重複したuser_idとitem_idとの組合せに対応する既に記憶された利用情報のdateの値を、新規利用情報に含まれる利用した日付で置き換える。なお、本実施形態では、アイテムを利用した時期を示す情報として日付を用いるが、他の時間単位を用いてもよい。例えば日付だけでなく、分単位、秒単位、ミリ秒単位などの時刻を加えた「日時」を用いてもよいし、年月だけの情報を用いてもよい。第6の格納形式は、アイテムの利用回数を用いる必要がない場合に適している。
利用情報の第7の格納形式は、新規利用情報にユーザがアイテムを利用した日付が含まれている場合に、利用情報の第6の格納形式と同様に、新規利用情報に含まれるユーザ識別情報とアイテム識別情報と利用した日付とを、それぞれuser_idとitem_idとdateとして関連付けて、図11(d)のようなテーブル形式で記憶するものであるが、user_idとitem_idとの組合せの重複を許容する。第6の格納形式および第7の格納形式のように、ユーザがアイテムを利用した時期情報(日付)を格納することにより、利用ポイント算出処理のバリエーションを増やすことが可能になる。
利用情報の第8の格納形式は、新規利用情報にユーザがアイテムの利用の際に発生した金額(支払い額)が含まれている場合に、新規利用情報に含まれるユーザ識別情報とアイテム識別情報と支払い額とを、それぞれuser_idとitem_idとamountとして関連付けて、図11(e)のようなテーブル形式で記憶するものである。このとき、user_idとitem_idとの組合せは一意であり、重複して記憶することはできない。このため、重複したuser_idとitem_idとの組合せに対応する新規利用情報を記憶しようとした場合は、重複したuser_idとitem_idとの組合せに対応する既に記憶された利用情報のamountの値に、新規利用情報に含まれる支払い額を加える。このように、amountに対して、1人のユーザが同じアイテムに対する支払い額を全て加算することで、1人のユーザが1つのアイテムの利用に対して支払った支払い額の総額を容易に参照することができる。第8の格納形式は、アイテムの利用回数を用いる必要がない場合に適している。
利用情報の第9の格納形式は、新規利用情報に支払い額が含まれている場合に、利用情報の第8の格納形式と同様に、新規利用情報に含まれるユーザ識別情報とアイテム識別情報と支払い額とを、それぞれuser_idとitem_idとamountとして関連付けて、図11(e)のようなテーブル形式で記憶するものであるが、user_idとitem_idとの組合せの重複を許容する。このように、1人のユーザの同じアイテムに対する支払い額を個別に記憶することで、1人のユーザが1つのアイテムの利用に対して支払った支払い額の総額や代表値(平均値や最大値や最頻値や中央値)を算出することができる。
また、上記9種類の格納形式において、user_idとitem_idとの組合せの重複を許容するもの同士、またはuser_idとitem_idとの組合せの重複を許容しないもの同士を組合せてもよい。例えば、第5の格納形式と第7の格納形式を組み合わせる場合は、新規利用情報に含まれるユーザ識別情報とアイテム識別情報と評価値と利用した日付とを、それぞれuser_idとitem_idとvalueとdateとして関連付けて、図11(f)のようなテーブル形式で記憶する。このとき、user_idとitem_idとの組合せの重複を許容する。このように、user_idとitem_idに加えて、評価値とアイテムの利用時期を格納することにより、利用ポイント算出処理のバリエーションを更に増やすことが可能になる。また、利用情報に上記以外の情報を付加する場合も同様に、user_idとitem_idの組合せの重複を許容するか否かを決めて格納すればよい。以上が、利用情報の格納形式の説明である。
類似ユーザ情報格納部232は、HDDなどの記憶装置を用いて、類似ユーザ情報を複数記憶する。図12は、類似ユーザ情報格納部232の格納状態の一例を示す図である。類似ユーザ情報とは、基準となるユーザ(基準ユーザ)のユーザ識別情報であるbase_user_idと、基準ユーザの類似ユーザのユーザ識別情報であるsim_user_idと、その2ユーザ間の類似度であるsimilarityとを関連付けたものであり、図12のようなテーブル形式で記憶する。このテーブルにおいて、(base_user_id,sim_user_id)の組合せはユニーク(一意)であり、この組合せを指定することにより、テーブルのデータが特定できる。ここでは、1つのテーブルに2種類のユーザ識別情報を格納するために、base_user_id、sim_user_idという名称を付けて区別しているが、これらは利用情報格納部231などに格納されているuser_idと同じものである。
分配情報格納部233は、HDDなどの記憶装置を用いて、分配情報を複数記憶する。図13は、分配情報格納部233の格納状態の一例を示す図である。分配情報とは、アイテムを推薦されるユーザのユーザ識別情報であるbase_user_idと、推薦アイテムのアイテム識別情報であるitem_idと、base_user_idに対応するユーザの類似ユーザであり、かつitem_idに対応するアイテムを過去に利用したユーザのユーザ識別情報であるrecom_user_idと、利用親ポイントの分配率を示すrateとを関連付けたものであり、図13のようなテーブル形式で記憶する。本実施形態における利用親ポイントとは、推薦によりそのアイテムが利用されたと判定された1つの利用情報に対して与えられる利用ポイントの大本であり、この利用親ポイントに分配率を掛け合わせることで、そのアイテムを利用した類似ユーザごとに利用ポイントが算出される。なお、1つの推薦アイテムに対する利用ポイントの総和と利用親ポイントが等しくなるように、分配率の総和を1とする必要がある。
また利用情報に含まれるユーザ識別情報とアイテム識別情報とを、分配情報格納部233に記憶されているbase_user_idとitem_idとの組合せと照合し、合致する行のrecom_user_idを抽出することにより、利用親ポイントを分配する対象のユーザを容易に特定できる。ここでは、1つのテーブルに2種類のユーザ識別情報を格納するために、base_user_id、recom_user_idという名称を付けて区別しているが、これらは利用情報格納部231などに格納されているuser_idと同じものである。
利用ポイント格納部234は、HDDなどの記憶装置を用いて、利用ポイント情報を複数記憶する。図14は、利用ポイント格納部234の格納状態の一例を示す図である。利用ポイント情報とは、ユーザ識別情報であるuser_idと、そのユーザ識別情報に対応するユーザの利用ポイントであるpointを関連付けたものであり、図14のようなテーブル形式で記憶する。なお、記憶されている利用ポイントの初期値は「0」である。
ユーザ情報格納部235は、HDDなどの記憶装置を用いて、ユーザ情報を複数記憶する。ユーザ情報格納部235は、アイテム提供サーバ装置1のユーザ情報格納部141と同様の格納形式であり、ユーザ情報格納部141に記憶されているユーザ情報が全て記憶されている。アイテム提供サーバ装置1のユーザ情報格納部141に記憶されているユーザ情報をユーザ情報格納部235にも記憶するのは、情報処理サーバ制御手段21にて行う処理で、ユーザ情報を利用する場合があるためである。もちろん、ユーザ情報格納部235を用意する代わりに、アイテム提供サーバ装置1のユーザ情報格納部141よりユーザ情報を取得できるようにしてもよい。
アイテム情報格納部236は、HDDなどの記憶装置を用いて、アイテム情報を複数記憶するものである。アイテム情報格納部236は、アイテム提供サーバ装置1のアイテム情報格納部142と同様の格納形式であり、アイテム情報格納部142に記憶されているアイテム情報が全て記憶されている。アイテム提供サーバ装置1のアイテム情報格納部142に記憶されているアイテム情報をアイテム情報格納部236にも記憶するのは、情報処理サーバ制御手段21にて行う処理で、アイテム情報を利用する場合があるためである。もちろん、アイテム情報格納部236を用意する代わりに、アイテム提供サーバ装置1のアイテム情報格納部142よりアイテム情報を取得できるようにしてもよい。
情報処理サーバ通信手段22は、ネットワーク4を介してアイテム提供サーバ装置1と通信を行うための手段である。
情報処理サーバ制御手段21は、情報処理サーバ装置2を構成する各手段に対して、全体的な制御を行う。情報処理サーバ制御手段21は、利用ポイント算出部211と、類似ユーザ選出部212と、推薦アイテム選出部213と、利用ポイント取得部214とで構成される。利用ポイント算出部211は、ネットワーク4を介して、アイテム提供サーバ装置1より、新規利用情報を受信すると、利用ポイント算出処理(ステップS108)を行う。
利用ポイント算出処理の手順を図15のフローチャートを用いて説明する。まず、利用ポイント算出部211が、アイテム提供サーバ装置1より、情報処理サーバ通信手段22経由で、新規利用情報を取得する(ステップS401)。次に、利用ポイント算出部211が、ステップS401にて取得した新規利用情報に含まれるアイテム識別情報に対応するアイテムが、推薦アイテムか否かを判定する(ステップS402)。推薦アイテムである場合はステップS403へ進み、推薦アイテムでない場合はステップS409へ進む。推薦アイテムであるか否かの判定方法は3種類存在する。
第1の判定方法は、分配情報格納部233を利用する方法である。分配情報格納部233に記憶されている分配情報に含まれるitem_idは、その分配情報に含まれるbase_user_idに対応するユーザの推薦アイテムのアイテム識別情報である。このため、分配情報格納部233に、ステップS401にて取得した新規利用情報に含まれるユーザ識別情報とアイテム識別情報の組合せと一致するbase_user_idとitem_idとの組合せが存在するか否かを判定することで、推薦アイテムであるか否かを判定できる。
第2の判定方法は、アイテム提供サーバ装置1が、ステップS401にて取得した新規利用情報に、予め推薦アイテムであるか否かを示す情報を付与する方法である。ステップS401にて取得した新規利用情報は、アイテム提供サーバ装置1の利用情報中継部113が送信したものである。そのため、利用情報中継部113が、新規利用情報を送信する前に、推薦アイテム情報格納部143にて、新規利用情報に含まれるユーザ識別情報とアイテム識別情報の組合せが存在するか否かを判定し、存在する場合に推薦アイテムであるという情報を付与し、存在しない場合に推薦アイテムでないという情報を付与すればよい。この付与した情報を用いることで、推薦アイテムであるか否かを判定することができる。
第3の判定方法は、端末装置3が、ステップS401にて取得される新規利用情報に、予め推薦アイテムであるか否かを示す情報を付加する方法である。ステップS401にて取得される新規利用情報は、端末装置3の利用情報作成部312が作成したものである。そのため、利用情報作成部312が、新規利用情報を作成する際に、ユーザページに表示されている推薦アイテムを利用した場合は推薦アイテムであるという情報を付与し、推薦アイテム以外のアイテム、例えば、検索結果として表示されたアイテムを利用した場合は推薦アイテムではないという情報を付与すればよい。この付与した情報を用いることで、推薦アイテムであるか否かを判定することができる。
ステップS403では、利用ポイント算出部211が、利用親ポイントを算出する。利用親ポイントの算出方法は、例えば、新規利用情報の1つにつき、サービス提供者側が予め設定した一定のポイント(例えば10ポイント)とするものである。また、有料のアイテムを扱うショッピングサイト等であれば、購入代金から一定の割合(例えば購入代金の1%)を利用親ポイントとして算出してもよい。また、新規利用情報に、アイテムの利用形態情報(アイテムの詳細情報の表示する操作、アイテムを買い物かごに入れる等の購入候補に指定する操作、アイテムの購入操作などの操作を区別する情報)を含ませ、その利用形態ごとに一定のポイントを予めサービス提供側が設定し、利用親ポイントとして付与してもよい。
次に、利用ポイント算出部211が、分配情報格納部233より、ステップS401にて取得した新規利用情報に含まれるユーザ識別情報とアイテム識別情報との組合せが、base_user_idとitem_idとの組合せに一致する分配情報を全て取得する(ステップS404)。ここで取得した分配情報に含まれるrecom_user_id(ユーザ識別情報)に対応するユーザは全て、新規利用情報よりも早い時期に同じアイテムを利用したユーザである。
次に、利用ポイント算出部211が、ステップS404にて取得した分配情報を、例えば取得した順に、1つ選択する(ステップS405)。次に、利用ポイント算出部211が、ステップS403にて算出した利用親ポイントと、ステップS405にて選択した分配情報に含まれるrateとを掛け合わせることで利用ポイントを変更するための変更値を算出する(ステップS406)。
次に、利用ポイント算出部211が、利用ポイント格納部234において、ステップS405にて選択した分配情報に含まれるrecom_user_idに対応する利用ポイント情報(このrecom_user_idと一致するuser_idを持つテーブル行)を特定し、特定した利用ポイント情報のpoint(元の利用ポイント)に、ステップS406にて算出した変更値を加算する(ステップS407)。
次に、利用ポイント算出部211が、ステップS405にて全ての分配情報を選択したか否かを判定する(ステップS408)。全て選択した場合は、ステップS409へ進み、まだ未選択のものが残っている場合は、ステップS405へ進む。ステップS409では、利用ポイント算出部211が、利用情報格納部231に、ステップS401にて取得した新規利用情報を記憶する。新規利用情報を利用情報格納部231に格納することで、その新規利用情報に対応する利用履歴は既処理であるとみなされる。以上で、ステップS401からステップS409までの一連の処理は終了となる。
上記説明では、ステップS407にて、元の利用ポイントに変更値を加算して、利用ポイントを更新しているが、加算処理の代わりに、元のポイントと以下に示す係数(変更値)との乗算処理を用いて、利用ポイントを更新してもよい。このとき、ステップS403では、加算する利用ポイントの和である利用親ポイントの代わりに、増加率(元の利用ポイントをどの程度増加させるかを示す値であり、この値に1を加えることで係数となる)の合計値である親増加率を算出する。そして、ステップS405にて選択した分配情報に含まれるrecom_user_idに対応するユーザurのitem_idに対応するアイテムirに関する分配率をrate(ur,ir)とし、親増加率をsrとして、図35の式(11)により、係数m(ur,ir)を算出する。また、利用ポイントの初期値が「0」であると、いくら倍率を掛け合わせても増加しないため、初期値を「0」を超える値で設定するか、初期値は「0」であるが、一番最初に利用ポイントの算出対象になった場合にのみ、一定のポイント数を加えればよい。以上が、利用ポイント算出処理の説明である。
類似ユーザ選出部212は、所定のタイミングごとに、類似ユーザ情報格納部232に記憶されているデータを全て削除した後、類似ユーザ選出処理を行う。所定のタイミングとしては、所定の時間間隔(例えば24時間ごと)を用いてもよいし、利用情報を一定回数受信するごととしてもよい。また、月曜日〜金曜日までは3時間ごと、土曜日は6時間ごと、日曜日は12時間ごと、というように時間間隔が変動してもよい。また、夏は時間間隔を短くして、冬は時間間隔を長くするなど、季節に応じて時間間隔を変えてもよい。
類似ユーザ選出処理の手順を図16のフローチャートを用いて説明する。まず、類似ユーザ選出部212が、利用情報格納部231より、全てのuser_idを取得する(ステップS501)。次に、類似ユーザ選出部212が、ステップS501にて取得したuser_idのうち、例えば、取得した順に、1つ選択する(ステップS502)。次に、類似ユーザ選出部212が、利用情報格納部231より、ステップS502にて選択したuser_idに対応するユーザ(基準ユーザ)の利用情報と、基準ユーザと同じアイテムを利用したことのあるユーザ(類似候補ユーザ)の全ての利用情報を取得する(ステップS503)。類似候補ユーザの利用情報を全て取得するには、まず、基準ユーザの全ての利用情報に含まれるアイテム識別情報を抽出する。次に、基準ユーザの利用情報を除く全ての利用情報の中から、抽出したアイテム識別情報のうちの何れかを含む利用情報に含まれる全てのユーザ識別情報を抽出する。そして、抽出したユーザ識別情報の何れかを含む利用情報を全て取得すればよい。
次に、類似ユーザ選出部212が、ステップS503にて取得した利用情報を用いて、類似候補ユーザごとに、基準ユーザとの類似度を算出する(ステップS504)。類似度を算出する方法として例えば、Jaccard(ジャカード)係数を用いることができる。Jaccard係数を用いる場合は、ユーザxの利用したことのあるアイテム集合をIx、ユーザyの利用したことのあるアイテム集合をIy、ユーザxとユーザyが共に利用したことのあるアイテム数を|Ix∩Iy|とし、ユーザxとユーザyの少なくとも一方が利用したことのあるアイテムの種類数を|Ix∪Iy|としたとき、類似度は図34の式(1)で算出することができる。
また、利用情報に、利用回数や評価値が含まれる場合は、コサイン距離やピアソン積率相関係数を用いることができる。コサイン距離を用いる場合は、例えば、ユーザxとユーザyが共に利用したことのあるアイテムをIcとし、ユーザxのアイテムiに対する利用回数や評価値をV(x,i)、ユーザyのアイテムiに対する利用回数や評価値をV(y,i)としたとき、類似度は図34の式(2)で算出することができる。また、ピアソン積率相関係数を用いる場合は、例えば、ユーザuとユーザuの類似度算出対象のユーザが共に利用したことのあるアイテム数をnとし、共に利用したことのあるアイテムに対する利用回数や評価値の平均値Va(u)を図34の式(3)で算出したとき、類似度は図34の式(4)で算出することができる。これ以外にも、2ユーザ間の類似性を表す指標であれば、どのようなものを用いてもよい。そして、類似度算出に必要な情報があれば、利用情報格納部231に、利用情報に関連付けて記憶しておけばよい。
次に、類似ユーザ選出部212が、ステップS504にて算出した類似度を基に、類似候補ユーザの中から類似ユーザを選出する(ステップS505)。例えば、予めサービス提供側が閾値を定め、その閾値より高い類似度を持つ類似候補ユーザを類似ユーザとして選出すればよい。また、類似度の高い順に所定数を超えない数のユーザを選出してもよい。すなわち、類似候補ユーザが所定数より多く存在する場合は、類似度の高い順に所定数のユーザを算出し、類似候補ユーザが所定数以下である場合には、全ての類似候補ユーザを選出すればよい。所定数は、システム提供側が予め設定すればよい。
次に、類似ユーザ選出部212が、ステップS505にて選出した類似ユーザごとに、類似ユーザ情報格納部232に、基準ユーザのuser_idをbase_user_idとし、ステップS505にて選出した類似ユーザのuser_idをsim_user_idとし、ステップS505にて選出した類似ユーザの類似度をsimilarityとして関連付けた類似ユーザ情報を記憶する(ステップS506)。次に、類似ユーザ選出部212が、ステップS502にて全てのuser_idを選択したか否かを判定する(ステップS507)。全て選択した場合はステップS501からステップS507までの一連の処理を全て終了し、まだ未選択のものが残っている場合はステップS502へ進む。
なお、類似ユーザを選出する対象のユーザを制限してもよい。このとき、ステップS501にて、利用情報格納部231よりuser_idを取得する際に、所定の条件、例えば、所定数以上のアイテムを利用したユーザのuser_idのみを取得するとしてもよい。所定数はサービス提供側が予め決めておけばよい。さらに、利用情報格納部231に利用した日付が記憶されている場合は、特定の期間において、所定数以上のアイテムを利用したユーザのuser_idのみを取得するとしてもよい。特定の期間はサービス提供側が予め決めておけばよい。また、ステップS503にて、利用情報格納部231より、類似候補ユーザの利用情報を取得する際に、類似候補ユーザにも同様に制限をかけてもよい。このときも同様に、類似候補ユーザの中で、所定数以上のアイテムを利用した類似候補ユーザの利用情報のみ取得してもよいし、特定の期間において、所定数以上のアイテムを利用した類似候補ユーザの利用情報のみを取得してもよい。
また、利用情報格納部231に利用した日付が記憶されている場合は、類似ユーザ選出処理に用いる利用情報を、過去の特定の時点から、類似ユーザ選出処理を行っている時点(現在)までの間に利用されたアイテムに関する利用情報のみに制限してもよい。過去の特定の時点は、サービス提供側が予め決めておけばよく、例えば、類似ユーザ選出処理を行っている時点から3ヶ月前や、半年前や、1年前とすればよい。このとき、ステップS501にて、利用情報格納部231よりuser_idを取得する際に、過去の特定の時点以降の利用情報に含まれるuser_idのみ取得すればよい。また、ステップS503にて、利用情報格納部231より、基準ユーザの利用情報と類似候補ユーザの利用情報とを取得する際に、まず、基準ユーザの利用情報の中で、過去の特定の時点以降に利用されたアイテムに関する利用情報に含まれるアイテム識別情報を抽出する。次に、基準ユーザの利用情報を除く、過去の特定の時点以降に利用されたアイテムに関する利用情報の中から、抽出したアイテム識別情報のうちの何れかを含む利用情報に含まれる全てのユーザ識別情報を抽出する。そして、抽出したユーザ識別情報の何れかを含む利用情報の中で、過去の特定の時点以降に利用されたアイテムに関する利用情報を全て取得すればよい。
また、ユーザ情報格納部235に記憶されているユーザ情報に含まれるユーザの属性情報を用いて、類似ユーザを選出する対象のユーザを制限してもよい。このとき、ステップS501にて、利用情報格納部231よりuser_idを取得する際に、所定条件(例えば、「20代女性」)のユーザ属性を持つユーザのuser_idのみを取得すればよい。もちろん、所定条件として何も指定しなくてもよい。さらに、ステップS503でも、同様に取得する利用情報に含まれるuser_idに所定条件を指定してもよい。
また、アイテム情報格納部236に記憶されているアイテム情報に含まれるアイテムの属性情報を用いて、類似度算出に用いる利用情報を制限してもよい。このとき、ステップS503にて、利用情報格納部231より利用情報を取得する際に、所定条件(例えば、ジャンル「フィクション」)のアイテム属性を持つアイテムのitem_idを含む利用情報のみを取得すればよい。もちろん、所定条件として何も指定しなくてもよい。
また、利用情報を用いて2ユーザ間の類似度を算出する代わりに、ユーザの属性情報を用いて2ユーザ間の適合度を算出し、その適合度を用いて類似ユーザを選出してもよい。適合度とは、ユーザの属性情報を用いてユーザ同士の相性の良さを数値化したものである。
このとき、ステップS501にて、さらに、ユーザ情報格納部235より、取得したuser_idに対応するユーザの属性情報を全て取得する。そして、ステップS503の処理を省略し、ステップS504にて類似度を算出する代わりに、ステップS502にて選択したuser_idに対応するユーザの属性情報と、それ以外のユーザの属性情報との間の適合度を算出すればよい。適合度として、2つのユーザの属性情報間の属性値の一致数を用いることができる。
例えば、属性情報に含まれる属性が性別と年齢と地域である場合に、一方の属性値が「男」、「24」、「東京」であり、他方の属性値が「女」、「24」、「東京」であるとき、一致する属性数が2であるため、適合度を「2」とする。また、一致する属性値の条件は、属性ごとにサービス提供者側が自由に決めてよく、例えば、年齢なら属性値の差が「5」未満なら一致とするとしてもよいし、属性値が「20」〜「29」なら「20代」、「30」〜「39」なら「30代」と変換し、変換後の値を用いて一致するか否かを判定してもよい。「地域」など他の属性についても同様の処理を行ってよい。
また、属性ごとに異なる重みをつけて適合度を算出してもよい。例えば、年齢が一致する場合には、「地域」が一致する場合よりも適合度が2倍大きくなるように算出してもよい。以上が、類似ユーザを選出する処理の手順の説明である。
推薦アイテム選出部213は、所定のタイミングごとに、分配情報格納部233に記憶されている全てのデータを削除した後に、推薦アイテム選出処理を行う。この所定のタイミングとしては、類似ユーザ選出処理を行う所定のタイミングと同様に種々のタイミングを用いることができる。また、類似ユーザ選出処理を行う所定のタイミングと同期していても、同期していなくてもよい。また、推薦アイテム選出処理の過程で、利用親ポイントを分配する対象となるユーザを選定し、利用ポイントを算出するために用いる分配情報が作成される。
推薦アイテム選出処理の手順を図17のフローチャートを用いて説明する。まず、推薦アイテム選出部213が、類似ユーザ情報格納部232より、全てのbase_user_idを取得する(ステップS601)。次に、推薦アイテム選出部213が、ステップS601にて取得したbase_user_idのうちの1つを選択する。例えば取得した順に、1つずつ選択すればよい(ステップS602)。ここで選択したbase_user_idに対応するユーザを「推薦対象ユーザ」と呼ぶ。
次に、推薦アイテム選出部213が、類似ユーザ情報格納部232より、ステップS602にて選択したbase_user_idに対応する全ての類似ユーザ情報を取得する(ステップS603)。次に、推薦アイテム選出部213が、利用情報格納部231より、類似ユーザの利用情報を全て取得する(ステップS604)。具体的には、ステップS603にて取得した類似ユーザ情報に含まれるsim_user_idとuser_idとを照合し、sim_user_idの何れかと一致するuser_idを含む利用情報の中からアイテム識別情報を全て抽出する。
そして抽出したアイテム識別情報の中から、ステップS602にて選択したbase_user_idとuser_idが一致する全ての利用情報に含まれるアイテム識別情報と一致しないアイテム識別情報を特定し、その特定したアイテム識別情報に対応する利用情報を取得する。すなわち、類似ユーザが過去に利用していて、かつ推薦対象ユーザがまだ利用していないアイテムに関する利用情報を取得する。また、利用情報格納部231に利用した日付が記憶されている場合は、取得する利用情報を、過去の特定の時点から、推薦アイテム選出処理を行っている時点(現在)までの間に利用されたアイテムに関する利用情報のみに制限してもよい。過去の特定の時点は、サービス提供側が予め決めておけばよく、例えば、推薦アイテム選出処理を行っている時点から3ヶ月前や、半年前や、1年前とすればよい。
次に、推薦アイテム選出部213が、ステップS604にて取得した利用情報を用いてアイテムごとに以下の方法で推薦値を算出する(ステップS605)。推薦値算出の第1の方法は、item_idごとに、そのアイテムを利用した類似ユーザの数を集計し、その数を推薦値とする方法である。この方法は、推薦値に対する類似ユーザ1人ひとりの影響力(重み)を全て平等(同じ)に扱っている。
推薦値算出の第2の方法は、item_idごとに、利用情報に対応する類似ユーザの類似度の和を推薦値として算出する方法である。この方法は、推薦値に対する類似ユーザ1人ひとりの影響力(重み)を変えており、推薦対象ユーザとの類似度が高い類似ユーザほど影響力が強いことになる。
推薦値算出の第3の方法は、item_idごとに、そのアイテムを利用した類似ユーザの利用回数の和を推薦値として算出する方法である。この方法は、推薦値に対する類似ユーザ1人ひとりの影響力(重み)を変えており、推薦値の計算対象のアイテムに対する利用回数の多いユーザほど影響力が強いことになる。なおこの方法を用いる場合は、利用情報格納部231において、利用回数の情報を読み出し可能な、第2、第3、第5、第7、第9のうちのいずれかの格納形式を用いる必要がある。
推薦値算出の第4の方法は、利用情報に評価値が含まれる場合に用いられる方法であり、item_idごとに、item_idを含む利用情報を用いて算出できる評価値の和を推薦値として算出する方法である。この方法は、推薦値に対する類似ユーザ1人ひとりの影響力(重み)を変えており、推薦値の計算対象のアイテムに対する評価が高いユーザほど影響力が強いことになる。なおこの方法を用いる場合は、利用情報格納部231において、評価値を格納する第4または第5の格納形式を用いる必要がある。
推薦値算出の第5の方法は、利用情報に含まれるアイテム利用日付を用いて、利用日付の古い利用情報ほど大きな重みを付けて推薦値を算出する方法である。例えば、利用情報ごとに、推薦アイテム選出処理を行う日付(現在)と、そのアイテム利用日付との差を算出し、item_idごとに、その差の総和を算出すればよい。この方法は、推薦値に対する類似ユーザ1人ひとりの影響力(重み)を変えており、推薦値の計算対象のアイテムを早く利用したユーザほど影響力が強いことになる。
推薦値算出の第6の方法は、利用情報に含まれるアイテム利用日付を用いて、利用日付の新しい利用情報ほど大きな重みを付けて推薦値を算出する方法である。例えば、利用情報ごとに、推薦アイテム選出処理を行う日付(現在)と、そのアイテム利用日付との差を算出し、item_idごとに、その差の逆数の総和を算出すればよい。この方法は、推薦値に対する類似ユーザ1人ひとりの影響力(重み)を変えており、推薦値の計算対象のアイテムを後で利用したユーザほど影響力が強いことになる。なお、推薦値算出の第5および推薦値算出の第6の方法を用いる場合は、利用情報格納部231において、アイテムを利用した日付を格納する、第6または第7の格納形式を用いる必要がある。
推薦値算出の第7の方法は、利用情報に支払い額が含まれる場合に用いられる方法であり、item_idごとに、item_idを含む利用情報を用いて算出できる支払い額の和を推薦値として算出する方法である。この方法は、推薦値に対する類似ユーザ1人ひとりの影響力(重み)を変えており、推薦値の計算対象のアイテムに対する支払い額が高いユーザほど影響力が強いことになる。なおこの方法を用いる場合は、利用情報格納部231において、評価値を格納する第8または第9の格納形式を用いる必要がある。
推薦値算出の第8の方法は、ユーザ情報格納部235に記憶されたユーザ情報にユーザが会員になった日付が含まれる場合に、会員になった日付の古いユーザほど大きな重みを付けて推薦値を算出する方法である。例えば、ユーザごとに、推薦アイテム選出処理を行う日付(現在)と、ユーザが会員になった日付との差を算出し、item_idごとに、その差の総和を算出すればよい。この方法は、推薦値に対する類似ユーザ1人ひとりの影響力(重み)を変えており、早く会員になったユーザほど影響力が強いことになる。
推薦値算出の第9の方法は、ユーザ情報格納部235に記憶されたユーザ情報にユーザが会員になった日付が含まれる場合に、会員になった日付の新しいユーザほど大きな重みを付けて推薦値を算出する方法である。例えば、ユーザごとに、推薦アイテム選出処理を行う日付(現在)と、ユーザが会員になった日付との差を算出し、item_idごとに、その差の逆数の総和を算出すればよい。この方法は、推薦値に対する類似ユーザ1人ひとりの影響力(重み)を変えており、後で(最近になって)会員になったユーザほど影響力が強いことになる。
推薦値算出の第10の方法は、ユーザ情報格納部235に記憶されたユーザ情報に含まれるユーザの属性情報を用いる方法である。具体的には、利用情報ごとに、ステップS602にて選択したbase_user_idに対応するユーザの属性情報と、その利用情報に含まれるユーザ識別情報に対応するユーザの属性情報との適合度を算出し、item_idごとに適合度の和を推薦値として算出する方法である。この方法は、推薦値に対する類似ユーザ1人ひとりの影響力(重み)を変えており、推薦対象ユーザとの適合度が高いユーザほど影響力が強いことになる。
また、上記の推薦値算出の第1〜推薦値算出の第10の方法を組み合わせて類似度や利用回数や評価値や利用した日付や会員になった日付や適合度を組み合わせて推薦値を算出してもよい。例えば、それぞれの方法で推薦値(推薦値1〜推薦値N)を算出し、それらの推薦値を加算した値、乗算した値、それらの推薦値の平均値などを総合的な推薦値として用いてもよい。また、推薦値算出の第2の方法と第3の方法を組合せて、利用情報ごとに、そのアイテムを利用した類似ユーザの利用回数と類似度との積を算出し、item_idごとに、その積の総和を推薦値として算出してもよい。
次に、推薦アイテム選出部213が、ステップS605にて算出した推薦値を基に推薦アイテムを選出する(ステップS606)。推薦アイテムの選出基準は、推薦値の高い順に、予めサービス提供側が設定した数だけ選出すればよい。また、予めサービス提供側が閾値を定め、その閾値より高い推薦値を持つアイテムを推薦アイテムとして選出してもよい。なおこの処理において、選出された推薦アイテムに対して、推薦値の高い順に推薦順位を付け、その推薦順位を含めた情報をステップS612において、アイテム提供サーバ装置1に送信してもよい。
次に、推薦アイテム選出部213が、ステップS606にて選出した推薦アイテムのうち、例えば推薦値の高い順に1つ選択する(ステップS607)。次に、推薦アイテム選出部213が、ステップS607にて選択した推薦アイテムを利用したことのある類似ユーザ(分配対象ユーザ)を抽出し、抽出した分配対象ユーザごとに分配率を算出する(ステップS608)。分配対象ユーザを抽出するには、ステップS604にて取得した利用情報の中で、ステップS607にて選択した推薦アイテムと同じアイテム識別情報を含むものを特定し、特定した利用情報に含まれるユーザ識別情報を、分配対象ユーザのユーザ識別情報として抽出する。分配率の算出方法として、以下の方法を用いることができる。以下の分配率の算出方法の説明において、ステップS601にて選択したbase_user_idに対応するユーザ(推薦対象ユーザ)をubとし、ステップS607にて選択した推薦アイテムirに対応する分配対象ユーザの集合をU(ir)とする。
分配率算出の第1の方法は、分配対象ユーザに等比率となるように分配率を算出する方法である。分配対象ユーザ集合U(ir)の数を|U(ir)|としたとき、U(ir)の中に含まれるユーザurの推薦アイテムirに関する分配率rate(ur,ir)は、図34の式(5)で表わされる。この方法は、最も計算量が少ない。またこの方法は、全ての分配対象ユーザが、等しく推薦に貢献したという考えの基に分配率を算出している。このため、推薦値算出の第1の方法と組合せるのがよいが、これ以外の推薦値算出の方法と組合せることもできる。
分配率算出の第2の方法は、類似度に応じて分配率を算出する方法である。ユーザubとユーザurとの類似度をsim(ub,ur)、ユーザubとユーザu(u∈U(ir))との類似度をsim(ub,u)とすると、ユーザurの推薦アイテムirに関する分配率rate(ur,ir)は、図34の式(6)で表わされる。分配率算出の第2の方法は、分配対象ユーザ集合U(ir)において、推薦対象ユーザとの類似度の高い分配対象ユーザほど推薦に貢献したという考えの基に分配率を算出している。従ってこの方法は、推薦値算出の第2の方法と組合せて用いるのに適しているが、それ以外の推薦値算出方法と組み合わせることもできる。
分配率算出の第3の方法は、利用回数に応じて分配率を算出する方法である。ユーザurの推薦アイテムirの利用回数をV(ur,ir)、ユーザu(u∈U(ir))の推薦アイテムirの利用回数をV(u,ir)とすると、ユーザurの推薦アイテムirに関する分配率rate(ur,ir)は、図34の式(7)で表わされる。分配率算出の第3の方法は、分配対象ユーザ集合U(ir)において、利用回数の多い分配対象ユーザほど推薦に貢献したという考えの基に分配率を算出している。従ってこの方法は、推薦値算出の第3の方法と組合せて用いるのに適しているが、それ以外の推薦値算出方法と組み合わせることもできる。さらに、利用回数に比例して得られる利用ポイントが増加するため、その性質をユーザに公開することで、ユーザのアイテムの利用を促進させることができる。また、推薦アイテムirに限らず、ユーザurの利用したことのある全てのアイテムの利用回数の和を算出し、これをV(ur,ir)の代わりに用いてもよく、この場合も同じ効果を得ることができる。
分配率算出の第4の方法は、利用情報に評価値が含まれる場合に、その評価値に応じて分配率を算出する方法である。ユーザurの推薦アイテムirの評価値をV2(ur,ir)とした上で、第3の方法で説明した図34の式(7)において、V(ur,ir)の代わりにV2(ur,ir)を用いればよい。分配率算出の第4の方法は、分配対象ユーザ集合U(ir)において、評価値の高いユーザほど推薦に貢献したという考えの基に分配率を算出している。従ってこの方法は、推薦値算出の第4の方法と組合せて用いるのに適しているが、それ以外の推薦値算出方法と組み合わせることもできる。また、ユーザurの推薦アイテムirに対応する評価値が複数記憶されている場合は、最後に記憶された評価値をV2(ur,ir)として用いればよい。
分配率算出の第5の方法は、利用情報に利用した日付が含まれる場合に、その利用した日付から推薦アイテム選出処理を行うまでの期間(秒単位、分単位、時間単位、日単位、週単位、月単位など)が長いほど分配率が高くなるように算出する方法である。ユーザurが推薦アイテムirを利用した日付から推薦アイテム選出処理を行うまでの期間をD(ur,ir)(≧0)とし、ユーザu(u∈U(ir))が推薦アイテムirを利用した日付から推薦アイテム選出処理を行うまでの期間をD(u,ir)(≧0)とすると、ユーザurの推薦アイテムirに関する分配率rate(ur,ir)は、図35の式(8)で表わされる。
この方法は、分配対象ユーザ集合U(ir)において、早い時期に利用した分配対象ユーザほど推薦に貢献したという考えの基に分配率を算出している。従ってこの方法は、推薦値算出の第5の方法と組合せて用いるのに適しているが、それ以外の推薦値算出方法と組み合わせることもできる。さらに、早く利用したユーザほど多くの利用ポイントを得ることができるため、その性質をユーザに公開することで、アイテムの利用開始時期に大量に利用ユーザを獲得することができる。なお、図35の式(8)では、分子と分母において、それぞれ「1」を加算しているが、これは分母を「0」にしないための処理である。加算する数値は「1」以外でもよく、また分母における「ΣD(u,ir)」の部分を「0」より大きな数値として算出すれば、分子と分母における「1」の加算を省略してもよい。
分配率算出の第6の方法は、分配率算出の第5の方法とは逆に、推薦アイテムを利用した日付から推薦アイテム選出処理を行うまでの期間が短いほど分配率が高くなるように算出する方法である。ユーザurの推薦アイテムirの利用した日付から推薦アイテム選出処理を行うまでの期間をD(ur,ir)(≧0)とし、ユーザu(u∈U(ir))が推薦アイテムirを利用した日付から推薦アイテム選出処理を行うまでの期間をD(u,ir)(≧0)とすると、ユーザurの推薦アイテムirに関する分配率rate(ur,ir)は、図35の式(9)で表わされる。この方法は、分配対象ユーザ集合U(ir)において、直近で利用した分配対象ユーザほど推薦に貢献したという考えの基に分配率を算出している。従ってこの方法は、推薦値算出の第6の方法と組み合わせて用いるのに適しているが、それ以外の推薦値算出方法と組み合わせることもできる。
分配率算出の第6の方法以外の方法では、1つの推薦アイテムにおいて、直近で利用したユーザは、早い時期に利用したユーザに比べ、その推薦アイテムから得られる利用ポイントの合計値が、かなり少なくなってしまうが、この算出方法では、アイテムを先に利用したユーザの利用ポイントの合計値と、後から利用したユーザの利用ポイントの合計値との差を小さくすることができる。このため、最近になってからアイテムを利用し始めたユーザ(新規に会員になったユーザなど)に、ポイントを多く配分して、アイテム利用サービスからの脱会を防ぎたいような場合に適している。なお分配率算出の第5の方法および分配率算出の第6の方法を用いる場合に、ユーザurの推薦アイテムirに対応する利用した日付が複数記憶されている場合は、利用した日付から推薦アイテムを選出する処理を行うまでの期間の代表値をD(ur,ir)(≧0)とすればよい。代表値とは、その期間の平均値や最大値や最小値や中央値である。
なお、図35の式(9)では、分子と分母において、それぞれ「1」を加算しているが、加算する数値は「1」以外でもよい。また分子における「D(ur,ir)」を「0」より大きな数値として算出し、分母における「D(u,ir)」を「0」より大きな数値として算出すれば、分子と分母における「1」の加算を省略してもよい。また、図35の式(9)では、D(ur,ir)およびD(u,ir)の逆数を用いて、D(ur,ir)が大きくなるほど分配率が小さくなるようにしているが、他の方法を用いてもよい。例えば、底が0より大きく、かつ1未満である指数関数(単調減少関数)を用いてもよい。
分配率算出の第7の方法は、利用情報に支払い額が含まれる場合に、その支払い額に応じて分配率を算出する方法である。このとき、ユーザurの推薦アイテムirの支払い額をV3(ur,ir)とした上で、第3の方法で説明した図34の式(7)において、V(ur,ir)の代わりにV3(ur,ir)を用いればよい。分配率算出の第7の方法は、分配対象ユーザ集合U(ir)において、支払い額の高い分配対象ユーザほど推薦に貢献したという考えの基に分配率を算出している。従ってこの方法は、推薦値算出の第7の方法と組合せて用いるのに適しているが、それ以外の推薦値算出方法と組み合わせることもできる。また、V3(ur,ir)は、ユーザurの利用したことのある全てのアイテムの支払い額の総額としてもよく、この場合も同じ効果を得ることができる。
また、V3(ur,ir)は、ユーザurが利用したことのあるアイテムの中で、推薦アイテムirの属性情報の所定の属性値と等しい属性値を有するアイテムに対する支払い額の総額としてもよく、この場合も同じ効果を得ることができる。これは、例えば、推薦アイテムirの属性情報であるジャンルが「音楽」であれば、V3(ur,ir)を、ユーザurが利用したことのあるジャンルが「音楽」のアイテムに対する支払額の総和とすればよい。また、ユーザurの推薦アイテムirに対応する支払い額が複数記憶されている場合は、支払額の総額や代表値をV3(ur,ir)として用いればよい。
分配率算出の第8の方法は、ユーザ情報格納部235に記憶されたユーザ情報に含まれるユーザの属性情報にユーザが会員になった日付が含まれる場合に、その会員になった日付から推薦アイテム選出処理を行うまでの期間(秒単位、分単位、時間単位、日単位、週単位、月単位など)が長いほど分配率が高くなるように算出する方法である。例えば、ユーザurの会員になった日付から推薦アイテム選出処理を行うまでの期間をD2(ur,ir)(≧0)とした上で、第5の方法で説明した図35の式(8)において、D(ur,ir)の代わりにD2(ur,ir)を用いればよい。この方法は、分配対象ユーザ集合U(ir)において、早い時期に会員になった分配対象ユーザほど推薦に貢献したという考えの基に分配率を算出している。
従ってこの方法は、推薦値算出の第8の方法と組合せて用いるのに適しているが、それ以外の推薦値算出方法と組み合わせることもできる。さらに、早い時期に会員になったユーザというのは、会員期間が長いユーザでもあり、会員期間が長いユーザほど多くの利用ポイントを得ることができるため、その性質をユーザに公開することで、ユーザは「一度入会したら、なるべく退会せずにいた方が得だ」という判断をする可能性が高くなるので、途中で止めずに会員を継続するユーザを増やすことができる。
分配率算出の第9の方法は、分配率算出の第8の方法とは逆に、会員になった日付から推薦アイテム選出処理を行うまでの期間が短いほど分配率が高くなるように算出する方法である。例えば、ユーザurの会員になった日付から推薦アイテム選出処理を行うまでの期間をD2(ur,ir)(≧0)とした上で、第6の方法で説明した図35の式(8)において、D(ur,ir)の代わりにD2(ur,ir)を用いればよい。この方法は、分配対象ユーザ集合U(ir)において、最近会員となった分配対象ユーザほど推薦に貢献したという考えの基に分配率を算出している。
従ってこの方法は、推薦値算出の第9の方法と組合せて用いるのに適しているが、それ以外の推薦値算出方法と組み合わせることもできる。分配率算出の第9の方法以外の方法では、最近会員になったユーザの利用ポイントがたまりにくい傾向がある。特に、長い期間アイテム利用サービスを行っている場合は、それだけ多くのユーザが存在し、さらに、ユーザ1人あたりの利用アイテム数も多くなり、1つの推薦アイテムに関係する類似ユーザ数も増えるので、一度に得られる利用ポイントも低くなる。しかし、この算出方法では、最近会員になったユーザの利用ポイントが増えやすくなるため、入会したユーザがすぐに退会するのを防ぐことができる。
分配率算出の第10の方法は、ユーザ情報格納部235に記憶されたユーザ情報に含まれるユーザの属性情報を用いて、分配対象ユーザごとに、推薦対象ユーザとの適合度を算出し、算出した適合度に応じて分配率を算出する方法である。このとき、ユーザurの適合度をV4(ur,ir)とした上で、第3の方法で説明した図34の式(7)において、V(ur,ir)の代わりにV4(ur,ir)を用いればよい。分配率算出の第9の方法は、分配対象ユーザ集合U(ir)において、適合度の高い分配対象ユーザほど推薦に貢献したという考えの基に分配率を算出している。従ってこの方法は、推薦値算出の第10の方法と組合せて用いるのに適しているが、それ以外の推薦値算出方法と組み合わせることもできる。
以上が、分配率の算出方法として用いることができるものである。また、上記の分配率算出の第1〜分配率算出の第10の方法を組合せてもよい。例えば、分配率算出の第2の方法を用いて算出した分配率と、分配率算出の第3の方法を用いて算出した分配率との平均値を算出して最終的な分配率としてもよい。ここで、分配率算出の第1〜第10の方法で算出されたそれぞれの分配率は、全て総和が1になっているので、2つの方法で算出された分配率の平均値により算出された最終的な分配率の総和も1になる。さらに別の組合せ方法として、図35の式(10)に示すように、分配率算出の第2の方法で用いている類似度と、分配率算出の第3の方法で用いている利用回数との積を計算して、最終的な分配率を算出してもよい。他の方法を組み合わせる場合も同様に分配率の総和が1となるようにする。
次に、推薦アイテム選出部213が、分配対象ユーザごとに、ステップS602で選択したbase_user_idと、ステップS607にて選択した推薦アイテムのアイテム識別情報(item_id)と、分配対象ユーザのユーザ識別情報(recom_user_id)と、ステップS608にて算出した分配対象ユーザの分配率(rate)とを関連付けた分配情報を分配情報格納部233に記憶する(ステップS609)。
次に、推薦アイテム選出部213が、ステップS607にて全ての推薦アイテムを選択したか否かを判定する(ステップS610)。全て選択した場合はステップS611へ進み、まだ未選択のものが残っている場合はステップS607へ進む。ステップS611では、推薦アイテム選出部213が、ステップS602にて全てのbase_user_idを選択したか否かを判定する。全て選択した場合はステップS612へ進み、まだ未選択のものが残っている場合はステップS602へ進む。
ステップS612では、推薦アイテム選出部213が、推薦対象ユーザごとに推薦アイテム情報を作成し、ネットワーク4を介して、アイテム提供サーバ装置1に、作成した全ての推薦アイテム情報を送信し、ステップS601からステップS612までの一連の処理を終了する。推薦対象ユーザごとに推薦アイテム情報を作成するには、ステップS606にて選出した推薦アイテムごとに、推薦対象ユーザのユーザ識別情報と推薦アイテムのアイテム識別情報とを関連付けて作成すればよい。また、推薦アイテム情報を作成する際に、さらに、ステップS605にて算出した推薦値を追加してもよい。また、ステップS606にて、推薦アイテムに対して推薦順位を付与した場合、推薦アイテム情報を作成する際に、さらに、その付与した推薦順位を追加してもよい。
推薦されたアイテムを利用したユーザにも利用ポイントを付与したい場合は、予めサービス提供側が、推薦されたアイテムを利用したユーザに利用親ポイントの分配比率を決め、分配情報格納部233に分配情報を記憶する際に、推薦されたアイテムを利用したユーザにも分配するための分配情報を記憶すればよい。このときの分配率は、例えば推薦されたアイテムを利用したユーザに、利用親ポイントのうちの2割分配した場合、分配率の総和が1となるので、推薦対象ユーザの分配率を0.2とし、分配対象ユーザの分配率を0.8倍すればよい。この場合、分配情報格納部233に、各ユーザの各推薦アイテムにおいて、base_user_idとrecom_user_idが同じである分配情報が1つ記憶されることになる。
また、アイテム情報格納部236に記憶されているアイテム情報に含まれるアイテムの属性情報を用いて、推薦アイテムの選出対象の制限を行ってもよい。このとき、ステップS604にて、類似ユーザの利用情報を取得する際に、所定条件(例えば、ジャンル「フィクション」)のアイテム属性を持つアイテムのitem_idを含む利用情報のみを取得すればよい。もちろん、所定条件として何も指定しなくてもよい。
また、1つの推薦アイテムに対して、利用親ポイントを分配する分配対象ユーザの数を制限してもよい。これは、ステップS608にて、推薦アイテムを利用した類似ユーザ(分配対象候補ユーザ)全てを分配対象ユーザとする代わりに、分配対象候補ユーザ集合から一部のユーザを分配対象ユーザとして抽出すればよい。分配対象候補ユーザから分配対象ユーザを抽出する方法は、例えば、分配対象候補ユーザ集合から、所定数を超えない数だけランダムに分配対象ユーザとして抽出すればよい。つまり、分配対象候補ユーザの数が所定数より多い場合は、ランダムに所定数のユーザを抽出し、分配対象候補ユーザの数が所定数以下である場合は、全ての分配対象候補ユーザを分配対象ユーザとして抽出すればよい。また、類似度や利用回数の高い順に所定数を超えない数だけ分配対象ユーザを抽出してもよい。
また、利用情報に評価値が含まれている場合は、評価値の高い順に利用情報からユーザ識別情報を抽出し、抽出した順番に所定数を超えない数だけ分配対象ユーザのユーザ識別情報として抽出してもよい。また、利用情報に利用した日付が含まれる場合は、利用した日付が古い順に利用情報からユーザ識別情報を抽出し、抽出した順番に所定数を超えない数だけ分配対象ユーザのユーザ識別情報を抽出してもよい。また、逆に、利用した日付が新しい順に利用情報からユーザ識別情報を抽出し、抽出した順番に所定数を超えない数だけ分配対象ユーザのユーザ識別情報として抽出してもよい。また、ユーザ情報格納部235に、ユーザが会員になった日付が含まれる場合は、その会員になった日付が古い順に利用情報からユーザ識別情報を抽出し、抽出した順番に所定数を超えない数だけ分配対象ユーザのユーザ識別情報を抽出してもよい。また、逆に、会員になった日付が新しい順に利用情報からユーザ識別情報を抽出し、抽出した順番に所定数を超えない数だけ分配対象ユーザのユーザ識別情報を抽出してもよい。
また、ユーザ情報格納部235に記憶されたユーザ情報に含まれるユーザの属性情報を用いて適合度を算出し、算出した適合度を用いて抽出を行ってもよい。このとき、分配対象候補ユーザの属性情報ごとに、推薦対象ユーザの属性情報との適合度を算出し、算出した適合度の高い順に所定数を超えない数だけ、分配対象ユーザを抽出すればよい。所定数は予めサービス提供側が設定すればよい。また、ユーザ情報格納部235に記憶されたユーザ情報に含まれるユーザの属性情報に基づいて、サービス提供側が予め定めた条件(例えば、性別が「女」であるか否かや、年齢が「20」〜「24」の範囲内であるか否かや、地域が「日本」であるか否かや、複数の属性に対し、属性ごとに条件を設定し、それを全て満たすか否かや、少なくとも1つを満たすか否かなど)を満たす分配対象候補ユーザを分配対象ユーザとしてもよい。以上が、推薦アイテムを選出する処理の手順の説明である。
利用ポイント取得部214は、アイテム提供サーバ装置1の要求に応じて、利用ポイント情報送信処理を行う。利用ポイント情報送信処理とは、利用ポイント格納部234より、取得した利用ポイント情報取得要求に含まれるユーザ識別情報に対応した利用ポイント情報を取得し、アイテム提供サーバ装置1に、取得した利用ポイント情報を送信する処理である。
ここで、本実施形態に沿って、会員Aから会員Fの購入履歴を基に会員Aの類似会員を選出し、選出した類似ユーザの購入履歴を基に会員Aに対する推薦商品を決め、会員Aに対する推薦商品ごとに利用親ポイントの分配率を算出する例を図を用いて示す。まず、会員Aの類似ユーザを選出する例を図18を用いて説明する。図18の左の表において、会員Aから会員Fにおける、商品aから商品fの購入状況を「○」の有無で示す。例えば、会員Aは、「商品a」と「商品b」と「商品d」を購入していることを示している。会員Aと他の会員との類似度をjaccard係数で算出し、閾値を0.3と設定すると、図18の右の表に示すように会員Aと他の会員との類似度が算出され、会員Aの類似会員は、類似判定で「○」がついた会員Bと会員Cと会員Eと会員Fとなる。
次に、会員Aの推薦商品を選出する例を図19を用いて説明する。推薦値算出方法として、第1の方法を用いた場合、図19の左の表に示すように、会員Aが未購入の商品cと商品eと商品fの推薦値は、それぞれ、「1」、「3」、「4」となる。推薦値の閾値を「2」とすると、図19の右のリストが示すように、会員Aの推薦商品は商品eと商品fとなる。
次に、会員Aに対する推薦商品ごとに利用親ポイントの分配率を算出する例を、図20を用いて説明する。分配率の算出方法として分配率算出の第1の方法を用いると、図20の表に示すように、推薦商品eにおける会員Bと会員Eと会員Fの分配率が、それぞれ「0.33」となり、推薦商品fにおける会員Bと会員Cと会員Eと会員Fの分配率が、それぞれ「0.25」となる。
そして、会員Aが商品eを購入すると、会員Bと会員Eと会員Fの3人に利用ポイントが付与され、会員Aが商品fを購入すると、会員Bと会員Cと会員Eと会員Fの4人に利用ポイントが付与されるといったように、一度の購入で複数の会員がポイントを得ることができる。従来技術のように、商品を購入したユーザが参考にした情報を提供した会員1人にポイントを付与するシステムでは、一度の購入に対し1人の会員しかポイントが得られない。
また、ユーザAが商品eと商品fの両方を購入した場合(購入回数2回の場合)、購入したユーザ本人にポイントを付与する通常のポイントシステム、あるいは購入したユーザに情報を提供した他のユーザ1人にポイントを付与するポイントシステムにおいては、ポイントが付与される回数は、どちらのシステムにおいても延べ2回である。一方、本発明の場合、図20の表に示したように、延べ7回ポイントが付与されることになる。更に、購入ユーザ本人にもポイントを付与すると、延べ9回(7+2=9)ポイントが付与される。このように本発明によれば、従来よりもポイントが更新される頻度やポイント付与されるユーザ数を多くすることができる。このため、「自分のポイントが今日増えているかも知れない」という期待感や、「予期せぬタイミングで急にポイントが増えて驚いた」といった意外性を多くのユーザに継続的に与えることができるので、アイテム提供サーバへのアクセス頻度を増やすことができる。そして、アイテムやアイテム提供サーバに対するユーザの関心を高めて、アイテム利用を促進することができる。
また本実施形態においては、ポイントが付与される対象のユーザは、購入ユーザと類似するユーザに限定されるので、必要以上に多くのユーザにポイントが配分されることがなく、ポイント付与されるユーザの1人当たりのポイント数を比較的多くすることができる。また本実施形態のポイント付与の仕組みをあらかじめユーザに通知しておけば、ポイントが付与されたユーザは、「自分が過去にあるアイテムを利用したことにより、他のユーザの推薦アイテム情報にそのアイテムが登場し、それを見たユーザがアイテムを購入したので、自分のポイントが増えた」という理由(因果関係)が分かる。すなわち、自分の過去の消費行動(利用行動)が間接的に他のユーザの消費行動につながったことが分かるので、ポイントシステムへの納得感や信頼感が得られやすい。
また、ポイント変化の様子を通じて、本人の消費行動が他のユーザの推薦アイテム情報に影響を与えたり、逆に他のユーザの消費行動が本人の推薦アイテム情報に影響する仕組みや、本人と他のユーザとの「つながり感」をユーザに実感させることができるので、従来の情報推薦システムよりも、推薦情報に対するユーザの興味や信頼感を高めることができる。
更に、他のユーザの消費行動を誘発することを狙って、自分の利用するアイテムを増やしたり、過去にあまり利用していないタイプのアイテムを利用する可能性も高まるため、アイテム利用を促進することができる。また、早い時期にアイテムを利用したユーザほどポイントが増えるので、このようなポイントサービスの特性をユーザに通知することにより、「自分と類似するユーザが今後利用しそうなアイテムを予測して、いち早く利用しよう」というインセンティブが各々のユーザに働き、アイテムの利用が促進されるという効果が得られる。
なお、本実施形態において、端末装置3から利用情報を送信する際に、アイテム提供サーバ装置1を経由して、情報処理サーバ装置2に送信しているが、アイテム提供サーバ装置1を経由せずに直接送信してもよい。この場合、端末装置3と情報処理サーバ装置2とが直接通信できるように、図1に示したシステム構成を用いる。また、端末装置3は、アイテム提供サーバ装置1を経由して、情報処理サーバ装置2から利用ポイント情報を取得しているが、アイテム提供サーバ装置1を経由せずに直接送信してもよい。この場合、端末装置3と情報処理サーバ装置2とが直接通信できるように、図1に示したシステム構成を用いる。
また、情報処理サーバ装置2にて選出した推薦アイテムを、アイテム提供サーバ装置1に記憶しているが、情報処理サーバ装置2に推薦アイテムを記憶してもよい。端末装置3が推薦アイテムを取得する際に、端末装置3と情報処理サーバ装置2とが直接通信できる場合は、直接情報処理サーバ装置2より推薦アイテムを取得すればよい。端末装置3と情報処理サーバ装置2とが直接通信できない場合は、アイテム提供サーバ装置1が情報処理サーバ装置2より推薦アイテムを取得し、端末装置3に送信すればよい。
また、情報処理サーバ装置2の利用ポイント算出部211にて利用親ポイントを算出し、算出した利用親ポイントを利用ポイント算出対象のユーザに分配しているが、利用親ポイントを分配せずに、利用ポイント算出対象のユーザに一定の利用ポイントを付与してもよい。このとき、利用ポイント算出部211の利用ポイント算出処理において、ステップS403とステップS406の処理を行わずに、ステップS407にて一定の利用ポイントを加算すればよい。さらに、分配率を記憶や算出する必要がなくなるので、分配情報格納部233に分配率であるrateを記憶する必要がなくなり、推薦アイテム選出部213の推薦アイテムを選出する処理において、ステップS608の処理を行わずに、ステップS609にて、分配対象ユーザごとに、ステップS602で選択したbase_user_idと、ステップS607にて選択した推薦アイテムのアイテム識別情報をitem_idとし、分配対象ユーザのユーザ識別情報をrecom_user_idとして関連付けた分配情報として記憶すればよい。
また、端末装置3の表示手段34にユーザページを表示する際に、ユーザごとに利用ポイントの総取得ポイント数を1つ表示しているが、図21のユーザページの表示例が示すように、端末装置3を利用中のユーザの利用アイテムごとに利用ポイントを表示してもよい。図21の表示例では、左上に端末装置3を利用中のユーザのユーザ名と、獲得した利用ポイントの合計値とを表示し、左下に端末装置3を利用中のユーザが過去に利用したアイテムと、アイテムごとの利用ポイントを表示している。また、中央に端末装置3を利用中のユーザの推薦アイテム情報を表示している。また、右上に検索条件を入力するテキストボックスと検索条件送信処理のトリガーとなる「検索」ボタンとを表示し、右下に検索条件を満たすアイテム情報を表示している。
このとき、利用ポイント格納部234に、ユーザごと、利用アイテムごとに利用ポイントを記憶する必要があるので、例えば、図22の格納状態の一例のように、ユーザ識別情報であるuser_idと、アイテム識別情報であるitem_idと、利用ポイントであるpointとを、利用ポイント情報として関連付けて記憶する。
また、利用ポイント情報を特定するために、ユーザ識別情報だけでなく、アイテム識別情報も必要になるため、利用ポイント算出部211における利用ポイント算出処理のステップS407にて、利用ポイント情報を特定する際に、ステップS405にて選択した分配情報に含まれるrecom_user_idと、ステップS401にて取得した利用情報に含まれるアイテム識別情報とを用いる。
また、ユーザページ情報作成部111にてユーザページ情報を作成する際に、ユーザページを作成するユーザの利用したアイテムごとの利用ポイントを用いる必要があるため、利用ポイント取得部214が利用ポイント情報送信処理を行う際に、ユーザページを作成するユーザの全ての利用ポイント情報を送信すればよい。具体的には、利用ポイント取得部214が、利用ポイント格納部234より、利用ポイント情報取得要求に含まれるユーザ識別情報に対応した利用ポイント情報を全て取得し、アイテム提供サーバ装置1に、取得した全ての利用ポイント情報を送信すればよい。
また、推薦アイテムを利用したユーザに対して、推薦アイテムの利用により、何人のユーザに利用ポイントが付与されたかを示す情報を表示してもよい。このとき、利用ポイント算出部211が、利用ポイント算出処理終了時に、ステップS404にて取得した分配情報の数(利用ポイントが付与されたユーザの数)を、端末装置3に、直接、または、アイテム提供サーバ装置1経由で送信すればよい。そして、端末装置3は、表示手段34に表示するユーザページに、受信した利用ポイントが付与されたユーザの数を通知する情報を、例えば、図23のユーザページの表示例のように表示すればよい。
また、利用ポイント算出部211は、アイテム提供サーバ装置1より、利用情報を受信するごとに利用ポイント算出処理を行っているが、所定のタイミングごとに利用ポイント算出処理を行ってもよい。このとき、情報処理サーバ格納手段23に、利用ポイント算出処理を行っていない利用情報を格納するための、利用情報格納部231と同じ格納形式である新規利用情報格納部を設け、利用ポイント算出部211が、アイテム提供サーバ装置1より、利用情報を受信した際に、利用ポイント算出処理を行う代わりに、新規利用情報格納部に、受信した利用情報を記憶する。新規利用情報格納部に、受信した利用情報を記憶することで、その記憶された利用情報に対応する利用履歴は未処理であるとみなされる。そして、所定のタイミングごとに、利用ポイント算出部211が、新規利用情報格納部に記憶されている全ての利用情報を取得し、取得した利用情報の集合から順次1つの利用情報(一の利用情報)を選択し、利用ポイント算出処理を行い、新規利用情報格納部に記憶された利用情報を全て消去すればよい。この場合、利用ポイント算出処理において使われる利用情報格納部231に格納されている利用履歴は、全て一の利用履歴よりも先に利用された(古い)データである。
所定のタイミングは、類似ユーザ選出処理および推薦アイテム選出処理と同様に、様々なタイミングを用いることができる。例えば、24時間ごとなど所定の時間間隔で処理を行えばよい。また、類似ユーザ選出処理および推薦アイテム選出処理を行うタイミングと同期してもよいし、同期しなくてもよい。すなわち、類似ユーザ選出処理における所定のタイミング(第1の所定タイミング)と、推薦アイテム選出処理における所定のタイミング(第2の所定タイミング)と、利用ポイント算出処理における所定のタイミング(第3の所定タイミング)は、同じであっても、それぞれ異なっていてもよい。
また、新規利用情報格納部を設けずに、所定のタイミングごとに利用ポイント算出処理を行うこともできる。このとき、利用ポイント算出部211は、アイテム提供サーバ装置1より、利用情報を受信した際に、利用ポイント算出処理を行う代わりに、利用情報格納部231に受信した利用情報を記憶する。そして、利用ポイント算出部211は、所定のタイミングごとに、利用情報格納手段231に記憶されている利用情報の中で、まだ利用ポイント算出処理を行っていない利用情報を全て取得し、取得した利用情報ごとに、利用ポイント算出処理のステップS401からステップS408までの処理を行えばよい。利用ポイント算出処理を行ったか否か、つまり、その利用情報に対応する利用履歴が既処理であるか未処理であるかを判定するためには、2種類の方法がある。
第1の判定方法は、利用情報格納部231に、利用ポイント算出処理を行ったか否かを判定するための情報を記憶する領域を追加すればよい。そして、利用ポイント算出部211が、利用情報格納部231に、アイテム提供サーバ装置1より受信した利用情報を記憶する際に、利用情報に利用ポイント算出処理を行っていないという情報を関連付けて記憶する。さらに、利用ポイント算出処理のステップS401からステップS408までの処理を行った直後に、その処理の対象となった利用情報の利用ポイント算出処理を行ったか否かを判定するための情報を、利用ポイント算出処理を行ったという情報に更新すればよい。
第2の判定方法は、利用情報格納部231に利用した日付を記憶している場合に、その利用した日付を用いて判定する方法である。このとき、情報処理格納手段23に、利用ポイント算出処理を行った日付を記憶する算出基準日格納部を設け、その記憶された日付より以前であれば、利用ポイント算出処理を行ったと判定でき、そうでなければ利用ポイント算出を行っていないと判定できる。そして、利用ポイント算出処理を行うごとに、その日付を更新すればよい。どちらの判定方法を用いた場合でも、類似ユーザ選出処理や、推薦アイテム選出処理にて用いる利用情報を制限する必要がある。第1の判定方法を用いた場合は、利用ポイント算出処理を行ったという情報を有する利用情報のみを用い、第2の判定方法を用いた場合は、算出基準日格納部に記憶された日付より以前に記憶された利用情報のみを用いる必要がある。
<第2実施形態>
以下に、本発明の第2実施形態について、図を用いて詳細に説明する。本発明の第2実施形態では、1つの推薦アイテムに対し、利用親ポイントを算出する代わりに、一定の期間に対して付与する利用親ポイントをサービスの提供側が決め、その利用親ポイントを基に利用ポイントを算出するようにしている。本発明の第2実施形態におけるシステム全体の構成は、情報処理サーバ装置2の代わりに情報処理サーバ装置6を用いる以外は本発明の第1実施形態の場合と同様である。アイテム提供サーバ装置1、端末装置3、ネットワーク4(およびネットワーク5)は、本発明の第1実施形態と同様である。
情報処理サーバ装置6は、アイテム提供サーバ装置1に推薦アイテムを送信したり、アイテム提供サーバ装置1の要求に応じて、利用ポイントを送信する装置である。情報処理サーバ装置6は、CPU、RAM、ROM、ハードディスクドライブ(HDD)、ネットワークインタフェース等を備えるコンピュータを用いて、ソフトウェア(プログラム)処理として実施することも可能である。図24は、本実施形態における情報処理サーバ装置6の構成図である。本実施形態における情報処理サーバ装置6は、情報処理サーバ制御手段61と、情報処理サーバ通信手段22と、情報処理サーバ格納手段63とで構成される。情報処理サーバ通信手段22は、本発明の第1実施形態と同様である。
情報処理サーバ格納手段63は、HDDなどの記憶装置を用いて、様々なデータを記憶する。情報処理サーバ格納手段63は、利用情報格納部231と、類似ユーザ情報格納部232と、分配情報格納部233と、利用ポイント格納部234と、ユーザ情報格納部235と、アイテム情報格納部236と、仮ポイント格納部637とで構成される。利用情報格納部231と、類似ユーザ情報格納部232と、分配情報格納部233と、利用ポイント格納部234と、ユーザ情報格納部235と、アイテム情報格納部236は、本発明の第1実施形態と同様である。
仮ポイント格納部637は、HDDなどの記憶装置を用いて、仮ポイント情報を複数記憶する。図25は、仮ポイント格納部637の格納状態の一例を示す図である。仮ポイント情報とは、ユーザ識別情報であるuser_idと、そのユーザ識別情報に対応するユーザの仮ポイントであるtmp_pointを関連付けたものであり、図25のようなテーブル形式で記憶する。なお、記憶されている仮ポイントの初期値は「0」である。
情報処理サーバ制御手段61は、情報処理サーバ装置6を構成する各手段に対して、全体的な制御を行う。情報処理サーバ制御手段61は、利用ポイント算出部611と、類似ユーザ選出部212と、推薦アイテム選出部213と、利用ポイント取得部214とで構成される。類似ユーザ選出部212と、推薦アイテム選出部213と、利用ポイント取得部214は、本発明の第1実施形態と同様である。
利用ポイント算出部611は、ネットワーク4を介して、アイテム提供サーバ装置1より、利用情報を受信すると、利用ポイント算出処理の代わりに、仮ポイント算出処理を行う。また、一定の期間ごとに利用親ポイント分配処理を行う。一定の期間ごととは、例えば、一日ごとや一週間ごとなど、一定の時間経過ごととしてもよい。また、サービス提供側が自由に時間間隔を変えてもよい。
仮ポイント算出処理の手順を図26のフローチャートを用いて説明する。仮ポイント処理の手順は、本発明の第1実施形態における利用ポイント算出処理の手順において、ステップS403の処理をなくし、ステップS406からステップS407までの処理をステップS706の処理で置き換えたものであるため、置き換えた処理についてのみ説明する。
ステップS706では、利用ポイント算出部611が、仮ポイント格納部637において、ステップS405にて選択した分配情報に含まれるrecom_user_idに対応する仮ポイント情報を特定し、特定した仮ポイント情報のtmp_pointに、ステップS405にて選択した分配情報に含まれるrateを加算する。次に、ステップS408へ進む。以上が、仮ポイント算出処理の説明である。
次に、一定の期間ごとに行う利用親ポイント分配処理の手順について、図27のフローチャートを用いて説明する。まず、利用ポイント算出部611が、一定期間に付与する利用親ポイントを取得する(ステップS801)。利用親ポイントを取得する方法は、予めサービスの提供側が設定しておき、その設定した値を取得してもよいし、図示しないキーボード等の利用親ポイントを入力する手段を用意し、利用親ポイント分配処理を行うたびに、サービス提供側が入力することで取得してもよい。
次に、利用ポイント算出部611が、仮ポイント格納部637より、利用親ポイントを分配する対象ユーザを抽出するために、tmp_pointの値が「0」を超える全ての仮ポイント情報を取得する(ステップS802)。次に、利用ポイント算出部611が、ステップS802にて取得した仮ポイント情報のうち、例えば取得した順に、1つ選択する(ステップS803)。
次に、利用ポイント算出部611が、ステップS803にて選択した仮ポイント情報に含まれるuser_idに対する利用ポイントを変更するための変更値を算出する(ステップS804)。変更値は、ステップS803にて選択した仮ポイント情報に含まれるtmp_pointが、ステップS802にて取得した全ての仮ポイント情報に含まれるtmp_pointの総和に占める割合に応じて、ステップS801にて取得した利用親ポイントを分配することで算出する。利用親ポイントvpを分配する対象となった全てのユーザの集合をUtとし、利用ポイントを算出するユーザub(ub∈Ut)のtmp_pointをt(ub)とし、ユーザu(u∈Ut)のtmp_pointをt(u)とすると、ユーザubの利用ポイントv(ub)は、図35の式(12)で算出される。
次に、利用ポイント算出部611が、利用ポイント格納部234において、ステップS803にて選択した仮ポイント情報に含まれるuser_idに対応する利用ポイント情報を特定し、特定した利用ポイント情報のpoint(元の利用ポイント)に、ステップS804にて算出した変更値を加算する(ステップS805)。
次に、利用ポイント算出部611が、ステップS803にて全ての仮ポイント情報を選択したか否かを判定する(ステップS806)。全て選択した場合は、ステップS807へ進み、未選択のものが残っている場合は、ステップS803へ進む。ステップS807では、利用ポイント算出部611が、仮ポイント格納部637にて、全ての仮ポイント情報のtmp_pointの値を「0」で置き換え、ステップS801からステップS807までの処理を終了する。
上記説明では、ステップS805にて、元の利用ポイントに変更値を加算して、利用ポイントを更新しているが、加算処理の代わりに、元の利用ポイントと以下に示す係数(変更値)との乗算処理を用いて、利用ポイントを更新してもよい。このとき、ステップS801では、一定期間に付与する利用親ポイントの代わりに、増加率(元の利用ポイントをどの程度増加させるかを示す値であり、この値に1を加えることで係数となる)の合計値である親増加率を取得する。そして、親増加率srを分配する対象となった全てのユーザの集合をUtとし、利用ポイントを算出するユーザub(ub∈Ut)のtmp_pointをt(ub)とし、ユーザu(u∈Ut)のtmp_pointをt(u)として、図35の式(13)により、ユーザubに対して係数m(ub)を算出する。なお、利用ポイントの初期値が「0」であると、いくら係数を掛け合わせても増加しないため、初期値を「0」を超える値で設定するか、初期値は「0」であるが、一番最初に利用ポイントの算出対象になった場合にのみ、一定のポイント数を加えればよい。以上が、一定の期間ごとに行う利用親ポイント分配処理の説明である。
本実施形態における利用ポイントの付与方法によれば、サービスの提供側が一定期間に付与する利用ポイントの総和を自由にコントロールできるので、事業運営者のポイントサービスに係る予算に応じて、利用ポイントの付与を行うことが容易にできる。
<第3実施形態>
以下に、本発明の第3実施形態について、図を用いて詳細に説明する。本発明の第3実施形態では、類似ユーザ選出処理を行わずに、比較的少ない処理量で、利用ポイントの付与を行うようにしている。本発明の第3実施形態におけるシステム全体の構成は、アイテム提供サーバ装置1に代えてアイテム提供サーバ装置7を用い、情報処理サーバ装置2に代えて情報処理サーバ装置8を用いる以外は、本発明の第1実施形態の場合と同様である。ネットワーク4(およびネットワーク5)についても、本発明の第1実施形態と同様である。
アイテム提供サーバ装置7は、端末装置3の要求に応じて、アイテムを提供する装置である。アイテム提供サーバ装置7は、CPU、RAM、ROM、ハードディスクドライブ(HDD)、ネットワークインタフェース等を備えるコンピュータを用いて、ソフトウェア(プログラム)処理として実施することも可能である。図28は、本実施形態におけるアイテム提供サーバ装置7の構成図である。本実施形態におけるアイテム提供サーバ装置7は、アイテム提供サーバ制御手段71と、アイテム提供サーバ通信手段12と、認証手段13と、アイテム提供サーバ格納手段74とで構成される。アイテム提供サーバ通信手段12と、認証手段13は、本発明の第1実施形態と同様である。
アイテム提供サーバ格納手段74は、HDDなどの記憶装置を用いて、様々なデータを記憶する。アイテム提供サーバ格納手段74は、ユーザ情報格納部141と、アイテム情報格納部142とで構成される。ユーザ情報格納部141と、アイテム情報格納部142は、本発明の第1実施形態と同様である。アイテム提供サーバ制御手段71は、アイテム提供サーバ装置7を構成する各手段に対して、全体的な制御を行う。アイテム提供サーバ制御手段71は、ユーザページ情報作成部711と、利用情報中継部113とで構成される。利用情報中継部113は、本発明の第1実施形態と同様である。
ユーザページ情報作成部711は、本発明の第1実施形態におけるユーザページ情報作成部111と同様にユーザページ情報送信処理と検索結果送信処理を行うが、ユーザページ情報送信処理のみ手順が異なる。本実施形態のユーザページ情報送信処理の手順は、本発明の第1実施形態におけるユーザページ情報送信処理の手順において、推薦アイテム情報を取得する手順を省略し、ユーザページ情報を作成する際に、推薦アイテム情報を用いずに作成すればよい。
端末装置3は、本発明の第1実施形態と同様の機能を有するが、端末制御手段31のユーザページ表示部311におけるユーザページ表示処理にて表示するユーザページが異なる。本実施形態における表示手段34に表示するユーザページは、例えば、図29のユーザページの表示例のように、利用ポイントが確認でき、アイテムの検索手段が用意され、検索により取得したアイテムを表示できるようにすればよい。図29の表示例では、上部に端末装置3を利用中のユーザのユーザ名と利用ポイントとを表示している。また、中央部に検索条件を入力するテキストボックスと検索条件送信処理のトリガーとなる「検索」ボタンとを表示している。また、下部に検索条件を満たすアイテム情報を表示している。
情報処理サーバ装置8は、アイテム提供サーバ装置7の要求に応じて、利用ポイントを送信する装置である。情報処理サーバ装置8は、CPU、RAM、ROM、ハードディスクドライブ(HDD)、ネットワークインタフェース等を備えるコンピュータを用いて、ソフトウェア(プログラム)処理として実施することも可能である。図30は、本実施形態における情報処理サーバ装置8の構成図である。本実施形態における情報処理サーバ装置8は、情報処理サーバ制御手段81と、情報処理サーバ通信手段22と、情報処理サーバ格納手段83とで構成される。情報処理サーバ通信手段22は、本発明の第1実施形態と同様である。
情報処理サーバ格納手段83は、HDDなどの記憶装置を用いて、様々なデータを記憶する。情報処理サーバ格納手段83は、利用情報格納部231と、利用ポイント格納部234と、ユーザ情報格納部235と、アイテム情報格納部236とで構成される。利用情報格納部231と、利用ポイント格納部234と、ユーザ情報格納部235と、アイテム情報格納部236は、本発明の第1実施形態と同様である。
情報処理サーバ制御手段81は、情報処理サーバ装置8を構成する各手段に対して、全体的な制御を行う。情報処理サーバ制御手段81は、利用ポイント算出部811と、利用ポイント取得部214とで構成される。利用ポイント取得部214は、本発明の第1実施形態と同様である。利用ポイント算出部811は、ネットワーク4を介して、アイテム提供サーバ装置1より、新規利用情報を受信すると、利用ポイント算出処理を行う。
利用ポイント算出処理の手順を図31のフローチャートを用いて説明する。ステップS401は、本発明の第1実施形態と同様である。次に、ステップS403へ進む。ステップS403は、本発明の第1実施形態と同様である。次に、ステップS904へ進む。ステップS904では、利用ポイント算出部811が、利用情報格納部231より、ステップS403にて算出した利用親ポイントを分配するユーザ(分配ユーザ)のユーザ識別情報を全て取得する。分配ユーザのユーザ識別情報を取得するには、ステップS401にて取得した利用情報に含まれるアイテム識別情報と、利用情報格納部231に格納されている利用情報のitem_idが一致する利用情報格納部231に格納されている利用情報において、その利用情報に含まれるuser_idを全て取得すればよい。
また、利用情報に利用した日付が含まれている場合は、上記条件を満たす利用情報の中で、過去の特定の時点から、利用ポイント算出処理を行っている時点(現在)までの間に利用されたアイテムに関する利用情報に含まれるuser_idのみを全て取得とすることもできる。このとき、次のステップS905にて分配率を算出する際に、過去の特定の時点以降に利用されたアイテムに関する利用情報のみを用いて分配率を算出する必要がある。過去の特定の時点は、サービス提供側が予め決めておけばよく、例えば、利用ポイント算出処理を行っている時点から3ヶ月前や、半年前や、1年前とすればよい。
次に、利用ポイント算出部811が、分配ユーザごとに、分配率を算出する(ステップS905)。分配率の算出には、本発明の第1実施形態における推薦アイテム選出部213による推薦アイテム選出処理のステップS608の分配率算出方法を用いることができる。ステップS608における分配率算出の第2の方法を用いる場合は、類似度が記憶されていないため、分配率を算出する前に、新規利用情報に含まれるユーザ識別情報に対応するユーザと分配ユーザとの類似度を算出する必要がある。類似度の算出には、本発明の第1実施形態における類似ユーザ選出部212による類似ユーザ選出処理のステップS504の類似度算出方法を用いることができる。
なお、一部の分配ユーザの分配率を「0」として算出し、分配率が「0」のユーザにはポイントを付与しないという処理をしてもよい。例えば、分配ユーザの内で、新規利用情報に対応するアイテムを3ヶ月以内に利用したユーザのみを対象にして、ステップS608における分配率算出の第1〜第10の方法のいずれかを用いて分配率を算出し、それ以外のユーザ(そのアイテムを3ヶ月より以前に利用した分配ユーザ)の分配率を「0」と算出し、分配率が「0」のユーザにはポイントを付与しなくてもよい。
次に、利用ポイント算出部811が、分配ユーザのユーザ識別情報のうち、例えば取得した順に、1つ選択する(ステップS906)。次に、利用ポイント算出部811が、ステップS403にて算出した利用親ポイントと、ステップS905にて算出した分配率のうち、ステップS906にて選択したユーザ識別情報に対応する分配率とを掛け合わせることで利用ポイントを算出し(ステップS907)、ステップS407へ進む。ステップS407は、本発明の第1実施形態と同様である。次に、ステップS908へ進む。
ステップS908では、利用ポイント算出部811が、ステップS906にて、全ての分配ユーザのユーザ識別情報を選択したか否かを判定する。全て選択した場合はステップS409へ進み、まだ未選択のものが残っている場合はステップS906へ進む。ステップS409は、本発明の第1実施形態と同様である。
なお、この利用ポイント算出処理において、1つの利用情報に対して、利用親ポイントを分配するユーザの数を制限してもよい。利用親ポイントを分配するユーザの制限は、本発明の第1実施形態と同様に行えばよい。ただし、類似度を用いる場合は、類似度が記憶されていないため、類似度を算出する必要がある。また、上記説明では、利用親ポイントを算出し、算出した利用親ポイントを分配ユーザに分配しているが、利用親ポイントを分配せずに、分配ユーザに一定の利用ポイントを付与してもよい。このとき、ステップS403とステップS905とステップS907の処理を行わずに、ステップS907にて一定の利用ポイントを加算すればよい。
また、ステップS407にて、元の利用ポイントに変更値を加算して、利用ポイントを更新しているが、加算処理の代わりに、元のポイントと以下に示す係数との乗算処理を用いて、利用ポイントを更新してもよい。このとき、ステップS403では、加算する利用ポイントの和である利用親ポイントの代わりに、増加率(元の利用ポイントをどの程度増加させるかを示す値であり、この値に1を加えることで係数となる)の合計値である親増加率を算出する。そして、ステップS906にて選択したユーザ識別情報に対応するユーザurのitem_idに対応するアイテムirに関する分配率をrate(ur,ir)とし、親増加率をsrとして、図35の式(11)により、係数m(ur,ir)を算出する。また、利用ポイントの初期値が「0」であると、いくら倍率を掛け合わせても増加しないため、初期値を「0」を超える値で設定するか、初期値は「0」であるが、一番最初に利用ポイントの算出対象になった場合にのみ、一定のポイント数を加えればよい。以上が、利用ポイント算出処理の手順の説明である。
また、全ての利用情報に対して、利用ポイント算出部811における利用ポイント算出処理を行っているが、利用ポイント算出処理を行う利用情報を人気アイテムに制限してもよい。人気アイテムとは多くのユーザに利用されているアイテムであり、アイテムごとに利用回数を調べ、利用回数が所定数以上のアイテム、または利用回数の多い順に所定数のアイテムを抽出し、人気アイテムとすればよい。このとき、端末装置3の表示手段34に表示するユーザページに、例えば、図32の表示例のように、人気アイテムの情報と検索結果とを分けて表示する必要がある。図32の表示例では、左上に端末装置3を利用中のユーザのユーザ名と利用ポイントとを表示し、左下に人気アイテムの情報を表示している。また、右上に検索条件を入力するテキストボックスと検索条件送信処理のトリガーとなる「検索」ボタンとを表示し、右下に検索条件を満たすアイテム情報を表示している。
このため、ユーザページ情報作成部711にてユーザページ情報を作成する際に、人気アイテムのアイテム情報を用いる必要がある。人気アイテムのアイテム情報は、情報処理サーバ装置8にて取得することができる。具体的には、情報処理サーバ装置8の利用情報格納部231に記憶されている利用情報を用いて、アイテム識別情報ごとの利用回数を算出し、算出した利用回数に基づいて人気アイテムのアイテム識別情報を抽出する。そして、アイテム情報格納部236より、抽出したアイテム識別情報に対応するアイテム情報を取得すればよい。また、利用情報が人気アイテムのものであるか否かを判定するために、端末装置3の利用情報作成部312にて利用情報を作成する際に、ユーザページに表示されている人気アイテムを利用した場合は人気アイテムであるという情報を付与し、人気アイテム以外のアイテム、例えば、検索結果として表示されたアイテムを利用した場合は人気アイテムではないという情報を付与する。この付与した情報を用いることで、人気アイテムの利用情報に対してのみ、利用ポイント算出処理を行うことができる。
また、利用情報に利用した日付が含まれる場合は、特定の期間に利用された利用回数を基に人気アイテムを選出すればよい。特定の期間は、サービス提供側が予め設定しておけばよい。また、ユーザ情報格納部235に記憶されているユーザの属性情報に含まれる属性ごとに条件を指定し、指定した条件を満たすユーザの利用情報のみで人気アイテムを抽出してもよい。このとき、端末装置3の表示手段34に表示するユーザページに、例えば、図33の表示例のように、ユーザの属性情報に含まれる属性ごとに条件を自由に指定し、指定した条件を満たすユーザの利用情報のみで抽出された人気アイテムを表示できるようにする必要がある。図33の表示例では、図32の表示例に追加して、左上にユーザの属性情報の属性値を指定するためのメニューやテキストボックスが表示されている。
このため、まず、端末装置3が、情報処理サーバ装置8に、直接、または、アイテム提供サーバ装置7経由で、ユーザの属性情報に含まれる属性ごとに指定した条件を送信する。次に、情報処理サーバ装置8が、ユーザ情報格納部235より、受信したユーザの属性情報に含まれる属性ごとに指定した条件を満たすユーザ情報に含まれるユーザ識別情報を全て抽出する。次に、情報処理サーバ装置8が、利用情報格納部231に記憶されている利用情報のうち、抽出したユーザ識別情報の何れかを含む利用情報を全て用いて人気アイテムのアイテム識別情報を抽出する。次に、情報処理サーバ装置8が、アイテム情報格納部236より、抽出した全ての人気アイテムのアイテム識別情報に対応するアイテム情報を全て取得し、端末装置3に、直接、または、アイテム提供サーバ装置7経由で、取得した全ての人気アイテムのアイテム情報を送信する。そして、端末装置3が、受信した人気アイテムのアイテム情報を用いてユーザページを更新し、出力手段34に、更新したユーザページを表示できるようにする必要がある。
また、利用情報に利用した日付が含まれる場合は、ユーザの属性情報に含まれる属性ごとに条件を自由に指定し、指定した条件を満たすユーザの特定の期間の利用情報を用いて人気アイテムを抽出してもよい。特定の期間は、サービス提供側が予め設定しておけばよい。また、ユーザの属性情報に含まれる属性ごとに条件を指定する代わりに、アイテム属性情報に含まれる属性ごとに条件を指定してもよい。このとき、端末装置3にて、ユーザの属性情報の条件を指定する代わりに、アイテム属性情報の条件を指定できるようにする。さらに、情報処理サーバ装置8にて、人気アイテムのアイテム識別情報を抽出する際に、アイテム情報格納部236より指定した条件を満たすアイテム情報に含まれるアイテム識別情報を全て抽出し、抽出したアイテム識別情報の何れかを含む利用情報を全て用いて人気アイテムのアイテム識別情報を抽出すればよい。
ここで本実施形態において付与される利用ポイントと、本発明の第1実施形態において付与される利用ポイントの違いについて、具体例を用いて説明する。例えば、ある時点でのユーザの商品購入履歴が図18の左側の表で表わされているとする。その時点以降に、会員Aが「商品c」を購入した場合、すでに、会員Cと会員Dが「商品c」を購入しているため、本実施形態では会員Cと会員Dの2人に利用ポイントが付与される。一方、本発明の第1実施形態の方法では、図19に示したように「商品c」は会員Aの推薦アイテムではないため、利用ポイントは誰にも付与されない。また、ある時点以降に、会員Aが「商品e」を購入した場合、すでに、会員Bと会員Dと会員Eと会員Fが「商品e」を購入しているため、会員Bと会員Dと会員Eと会員Fの4人に利用ポイントが付与される。一方、本発明の第1実施形態の方法では、分配対象は類似ユーザに限定されるため、利用ポイントが付与されるのは、会員Bと会員Eと会員Fの3人になる。このように、本実施形態の方法によれば、第1実施形態の方法よりも更に、利用ポイントを付与するユーザ数を増やすことができる。また本実施形態は、第1実施形態よりも少ない処理量で処理を行うことができる。
次に、図18の左側の表の例において、ある時点以降に、ユーザAが商品cと商品eと商品fの3つを購入した場合(購入回数3回の場合)を考える。購入したユーザ本人にポイントを付与する通常のポイントシステム、あるいは購入したユーザに情報を提供した他のユーザ1人にポイントを付与するポイントシステムにおいては、ポイントが付与される回数は、どちらのシステムにおいても延べ3回である。一方、本実施形態では、商品cに関する購入2回、商品eに関する購入4回、商品fに関する購入5回に関してポイントが付与され、延べ11回(2+4+5)ポイントが付与されることになる。更に、購入ユーザ本人にもポイントを付与すると、延べ14回(11+3=14)ポイントが付与される。このように本実施形態によれば、ポイントを付与するユーザの数を更に増やしたり、ポイントが更新される頻度を更に高くすることができる。このため、「自分のポイントが今日増えているかも知れない」という期待感や、「予期せぬタイミングで急にポイントが増えて驚いた」といった意外性を多くのユーザに継続的に与えることができるので、アイテム提供サーバへのアクセス頻度を増やすことができる。そして、アイテムやアイテム提供サーバに対するユーザの関心をさらに高めて、アイテム利用をより促進することができる。
また、多くの種類のアイテムを利用したユーザほど、同じアイテムを後から他のユーザが利用する可能性が高いので、それに伴って後からポイントが付与される可能性も高くなる。このため、「より多くの種類のアイテムを利用しよう」というモチベーションが各々のユーザで高まり、アイテムの利用が促進される。また、早い時期にアイテムを利用したユーザほどポイントが増えるので、このようなポイントサービスの特性をユーザに通知することにより、「他のユーザが今後利用しそうなアイテムを予測して、いち早く利用しよう」というインセンティブが各々のユーザに働き、アイテムの利用が促進されるという効果が得られる。
なお、本発明は上述実施形態に限定されることなく、適宜変形して実施することができる。たとえば、上述においては利用ポイント算出処理や、類似ユーザ選出処理、推薦アイテム選出処理などを情報処理サーバ装置2で行うようにしているが、これらの処理は、複数の情報処理装置によって分担して行うようにしてもよい。
<第4実施形態>
以下に、第4実施形態について、図を用いて詳細に説明する。なお、前述の通り、第4〜第6実施形態においては、図36〜図75を用いて説明する。第4〜第6実施形態における各符号や数式の番号についても、図36〜図75における符号や番号である。
図36は、本発明の第4実施形態におけるシステム全体の構成図である。本実施形態におけるシステムは、情報処理サーバ装置1と、アイテム提供サーバ装置2と、1つ以上の端末装置3(3a〜3n)がネットワーク4を介して接続されている。なお、各実施形態において、情報処理サーバ装置1,6,7のみが情報処理装置として機能してもよいし、情報処理サーバ装置1,6,7が、アイテム提供サーバ装置2や端末装置と協働して情報処理装置として機能してもよい。
また、図37に示すように、2つのネットワークを用いてシステム全体を構成してもよい。図37においては、情報処理サーバ装置1とアイテム提供サーバ装置2がネットワーク5を介して接続されており、アイテム提供サーバ装置2と端末装置3(3a〜3n)がネットワーク4を介して接続されている。ネットワーク5は、LAN(Local Area Network)であり、情報処理サーバ装置1と端末装置3(3a〜3n)は、直接接続できないようになっている。本実施形態では、特に断らない限り、システム全体の構成が図36である場合を説明する。なお本実施形態では、情報処理サーバ装置1とアイテム提供サーバ装置2を別々の装置とする場合を説明するが、この2つの機能を合わせて1つの装置として実現してもよい。
ネットワーク4は、例えばインターネット等のネットワークであり、情報処理サーバ装置1とアイテム提供サーバ装置2と端末装置3との間の情報のやり取りを仲介する。
アイテム提供サーバ装置2は、端末装置3の要求に応じて、アイテムを提供する装置である。ここでアイテムとは、テキスト、音声、音楽、映像等のデジタルコンテンツや様々な物品であり、更には金融商品、不動産、人物に関する情報等であってもよい。すなわち本実施形態におけるアイテムは、有形か無形かを問わず、有料か無料かも問わない。アイテム提供サーバ装置2は、CPU、RAM、ROM、ハードディスクドライブ(HDD)、ネットワークインタフェース等を備えるコンピュータを用いて、ソフトウェア(プログラム)処理として実施することも可能である。
図38は、本実施形態におけるアイテム提供サーバ装置2の構成図である。本実施形態におけるアイテム提供サーバ装置2は、アイテム提供サーバ制御部21と、アイテム提供サーバ通信部22と、認証部23と、アイテム提供サーバ格納部24とで構成される。
アイテム提供サーバ通信部22は、ネットワーク4を介して情報処理サーバ装置1や、端末装置3と通信を行うための部である。
認証部23は、端末装置3又は端末装置3を利用するユーザを認証する。認証部23は、端末装置3を利用するユーザを一意に識別するユーザ識別子、又は端末装置3を一意に識別するための端末識別子と、パスワードとを関連付けて格納している。本実施形態では、ユーザ識別子を用いる場合を例にして説明するが、端末識別子を用いる場合も同様である。ユーザ識別子と端末識別子とを合わせた意味の総称として、利用主体識別子という用語を用いる。また、ユーザ識別子とパスワードとの組合せを、利用者特定情報とする。認証部23では、端末装置3より受信した利用者特定情報と一致するものが格納されている場合に、認証成功とする。そして、認証に成功した利用者特定情報に対応するユーザを認証ユーザとする。
アイテム提供サーバ格納部24は、HDDなどの記憶装置を用いて、様々なデータを記憶する。アイテム提供サーバ格納部24は、ユーザ情報格納部241と、アイテム情報格納部242と、利用履歴格納部243と、推薦属性情報格納部244とで構成される。
ユーザ情報格納部241は、ユーザ情報を複数記憶する。図39は、ユーザ情報格納部241の格納状態を示す図である。ユーザ情報とは、端末装置3を利用するユーザを一意に識別するユーザ識別子であるuser_idとユーザ属性情報であるuser_infoとを関連付けたものであり、図39のようなテーブル形式で記憶する。ユーザ属性情報とは、ユーザの名前、年齢、性別、住所(地域)、趣味、会員になった時期(年月、日付、日時など)、メールアドレス、電話番号などの情報である。また、アイテム提供サーバ装置2にて商品の購入が可能であれば、商品の支払いを行うためのクレジットカード情報などを含んでもよい。
アイテム情報格納部242は、アイテム識別情報と、属性種別情報と、属性値情報と、属性対応情報を、それぞれ複数記憶する。図40(図40(a)〜図40(d))は、アイテム情報格納部242の格納状態を示す図である。
アイテム識別情報とは、アイテムを一意に識別するためのアイテム識別子であるitem_idと、アイテムの名称であるitem_nameとを関連付けたものであり、図40(a)のようなテーブル形式で記憶する。item_idは一意であり、重複を許容しない。
属性種別情報とは、アイテム属性の種別を一意に識別するための属性種別識別子であるtype_idと、アイテム属性の種別の名称であるtype_nameとを関連付けたものであり、図40(b)のようなテーブル形式で記憶する。アイテム属性の種別は、アイテム属性の項目にあたるものであり、例えば、アイテムの「作成者」「ジャンル」「制作年」「価格」「利用に適したユーザの条件」などになる。type_idは一意であり、重複を許容しない。
属性値情報とは、属性種別識別子であるtype_idと、type_idに対応する属性値を一意に識別するための属性値識別子であるattr_idと、属性値であるattr_nameとを関連付けたものであり、図40(c)のようなテーブル形式で記憶する。例えば、アイテムが「本」に関するものであり、type_idが「ジャンル」に該当する識別子である場合、属性値は、「フィクション」「恋愛」「料理」などになる。(type_id,attr_id)の組合せは一意であり、重複を許容しない。
属性対応情報とは、アイテムに対応する属性を関連付けた情報であり、アイテム識別子であるitem_idと、属性種別識別子であるtype_idと、属性値識別子であるattr_idとを関連付けたものであり、図40(d)のようなテーブル形式で記憶する。(item_id,type_id,attr_id)の組合せは一意であり、重複を許容しない。
図40(a)〜図40(d)のテーブルを用いることで、アイテムが有する複数の属性を、その属性の種別ごとに管理することができる。なお、あるアイテムに対応するアイテム識別情報と、そのアイテムに対応する属性対応情報から特定される属性種別情報と属性値情報とを合わせてアイテム属性情報とする。また、type_idとattr_idの組合せや、type_nameとattr_nameの組合せをアイテム属性とする。
利用履歴格納部243は、利用履歴を複数記憶する。利用履歴とは、端末装置3より受信した、ユーザのアイテムに関する利用の履歴であり、少なくともユーザ識別子とアイテム識別子とアイテムを利用した日時(利用日時)とを含む。図41(図41(a)〜図41(d))は、利用履歴格納部243の格納状態を示す図である。以下に図41を用いて、利用履歴の格納形式を4種類説明する。
利用履歴の第1の格納形式は、利用履歴に含まれるユーザ識別子(user_id)とアイテム識別子(item_id)と利用日時(date)とを関連付けて、図41(a)のようなテーブル形式で記憶する。
利用履歴の第2の格納形式は、利用履歴に、ユーザのアイテムに対する利用回数が含まれている場合に用いるものであり、利用履歴に含まれるユーザ識別子(user_id)とアイテム識別子(item_id)と利用日時(date)と利用回数(count)とを関連付けて、図41(b)のようなテーブル形式で記憶する。
利用履歴の第3の格納形式は、利用履歴に、ユーザがアイテムに対して行った評価を数値化した評価値(例えば、「1:非常に嫌い」、「2:やや嫌い」、「3:どちらでもない」、「4:やや好き」、「5:非常に好き」といったように、好みの度合いを数値化したもの)が含まれている場合に用いるものであり、利用履歴に含まれるユーザ識別子(user_id)とアイテム識別子(item_id)と利用日時(date)と評価値(eval)とを関連付けて、図41(c)のようなテーブル形式で記憶する。
利用履歴の第4の格納形式は、利用履歴に、ユーザがアイテムに対して支払った額(支払い額)が含まれている場合に用いるものであり、利用履歴に含まれるユーザ識別子(user_id)とアイテム識別子(item_id)と利用日時(date)と支払い額(amount)とを関連付けて、図41(d)のようなテーブル形式で記憶する。
以上が、利用履歴の格納形式の説明である。上記以外にも、利用履歴に含まれている全ての情報を格納できるように、利用履歴の形態に合わせて格納形式を変更すればよい。
また、端末装置3より受信した利用履歴には、利用日時が含まれていることを前提にしているが、もし利用日時が含まれていない場合は、利用履歴格納部243に、利用日時の代わりに、利用履歴を記憶するときの日時をdateとして記憶すればよい。また、dateを格納しなくてもよく、この場合でも、新しく追加されるデータは、必ずテーブルの末尾(一番下の行)に追加されるので、テーブル内の上に位置する行データほど古く、下に位置する行データほど新しいことになる。このため、2つの行の位置関係を調べることにより、2つのデータのどちらが古いかを容易に判定できる。また、利用履歴格納部243に、端末装置3より受信した全ての利用履歴を記憶するが、記憶した利用履歴が一定数を超えた場合は、古いものから削除してもよい。
推薦属性情報格納部244は、ユーザごとに推薦属性情報を複数記憶する。図42は、推薦属性情報格納部244の格納状態を示す図である。推薦属性情報とは、ユーザ識別子であるuser_idと、属性種別識別子であるtype_idと、属性値識別子であるattr_idと、推薦の度合いを数値化した推薦値であるvalueとを関連付けたものであり、図42のようなテーブル形式で記憶する。ユーザ識別子であるuser_idと属性種別識別子であるtype_idとを指定することで、user_idとtype_idとに対応する推薦属性の属性値識別子を全て取得することができる。また後述するように、情報処理サーバ装置1から、推薦順位を受信した場合には、さらに、推薦順位を関連付けて記憶してもよい。
アイテム提供サーバ制御部21は、アイテム提供サーバ装置2を構成する各部に対して、全体的な制御を行う。アイテム提供サーバ制御部21は、ユーザページ情報作成部211と、推薦属性情報取得部212と、利用情報中継部213とで構成される。
ユーザページ情報作成部211は、端末装置3から受信したデータに応じて、以下の3種類の処理を行う。
ユーザページ情報作成部211の第1の処理は、ユーザページ情報送信処理であり、端末装置3よりユーザページ情報取得要求を受信し、かつ、認証部23にて認証成功した場合に、この処理を行う。ユーザページ情報取得要求とは、ユーザページ情報の取得を要求する情報であり、認証部23にて認証を行うために、少なくとも利用者特定情報を含む。ユーザページ情報とは、端末装置3に検索画面や、推薦属性情報の閲覧操作画面や、利用ポイントの確認画面を表示させるために必要な情報である。例えば、HTML(Hyper Text Markup Language)形式を用いてユーザページ情報を作成してもよいし、これ以外のデータ形式を用いてもよい。
ここで利用ポイントとは、ユーザと何らかの関係性のある他のユーザがアイテムを利用したことに基づき、ユーザに付与される数値である。また、アイテムを利用したユーザ本人に利用ポイントを付与してもよい。なお、アイテム提供サーバ装置2によるサービスを提供している側(サービス提供側)が、そのサービスを利用するユーザに対して、利用ポイントに応じて、そのポイントに応じた何らかの特典を与えてもよい。例えば、ショッピングサイトであれば、商品購入の際に、代金の一部として利用ポイントを使用できるようにしてもよいし、利用ポイントに応じた値引きサービスを行ってもよい。なお、何らかの関係性のある他のユーザとは、例えば、対象となるユーザが利用したアイテム属性と同じ属性を有するアイテムを利用しているユーザや、対象となるユーザと類似ユーザであり、かつ同じ属性を有するアイテムを利用しているユーザなどである。
ユーザページ情報送信処理とは、認証ユーザのユーザページ情報を作成し、認証ユーザが利用中の端末装置3に、作成したユーザページ情報を送信する処理であり、まず、利用ポイント情報取得要求を作成し、ネットワーク4を介して、情報処理サーバ装置1に、作成した利用ポイント情報取得要求を送信する。利用ポイント情報取得要求とは、認証ユーザが獲得した利用ポイントに関する情報(利用ポイント情報)を取得するための情報であり、少なくとも認証ユーザのユーザ識別子を含む。
次に、ネットワーク4を介して、情報処理サーバ装置1より、送信した利用ポイント情報取得要求に対応する利用ポイント情報を受信する。次に、推薦属性情報格納部244にて、認証ユーザのユーザ識別子に対応する推薦属性情報を全て取得する。次に、取得した推薦属性情報と、受信した利用ポイント情報を用いて、ユーザページ情報を作成する。そして、ネットワーク4を介して、端末装置3に、作成したユーザページ情報を送信する。なお、後の処理で、推薦属性情報格納部244において推薦属性情報の格納位置を示す行番号を利用する場合は、ユーザページ情報を作成する際に、行番号と推薦属性情報を関連付ける必要がある。
ユーザページ情報作成部211の第2の処理は、検索結果送信処理であり、ネットワーク4を介して、端末装置3より検索条件を受信すると、この処理を行う。ここで検索条件とは、利用するアイテムを絞り込むために用いる条件であり、例えば、ジャンル名、製作者、キーワード、価格の上限や下限などである。検索結果送信処理とは、端末装置3に、受信した検索条件を満たすアイテム属性情報を送信する処理であり、まず、アイテム情報格納部242より、検索条件を満たすアイテム属性情報を全て抽出する。そして、ネットワーク4を介して、端末装置3に、抽出した全てのアイテム属性情報を送信する。
ユーザページ情報作成部211の第3の処理は、推薦属性対応アイテム情報送信処理であり、ネットワーク4を介して、端末装置3より推薦属性対応アイテム情報取得要求を受信すると、この処理を行う。ここで推薦属性対応アイテム情報取得要求とは、推薦属性情報に対応するアイテム属性情報を取得する要求であり、少なくとも推薦属性情報を含む。推薦属性対応アイテム情報送信処理とは、端末装置3に、受信した推薦属性対応アイテム情報取得要求に対応するアイテム属性情報を送信する処理であり、まず、アイテム情報格納部242より、推薦属性対応アイテム情報取得要求に含まれる推薦属性情報の属性種別識別子と属性値識別子と、属性対応情報とを照合し、一致する属性対応情報のアイテム識別子を全て抽出する。次に、抽出したアイテム識別子に対応するアイテム属性情報を全て抽出する。ネットワーク4を介して、端末装置3に、抽出した全てのアイテム属性情報を送信する。
推薦属性情報取得部212は、ネットワーク4を介して、情報処理サーバ装置1より推薦属性情報を受信すると、推薦属性情報更新処理を行う。推薦属性情報更新処理とは、推薦属性情報格納部244にて、記憶されている全てのデータを削除した後に、受信した推薦属性情報を記憶する処理である。
利用情報中継部213は、ネットワーク4を介して、端末装置3より利用者特定情報と利用情報とを受信し、かつ、認証部23にて認証が成功した場合に、利用情報中継処理を行う。利用情報とは、後述する利用ポイント算出処理のトリガーとなる利用履歴を少なくとも含む。利用情報が、推薦属性に対応するアイテムの利用に関するものであれば、利用履歴に加え、特定情報を含む。特定情報とは、閲覧した推薦属性情報を特定するための情報であり、例えば、閲覧した推薦属性情報そのものや、閲覧した推薦属性情報の行番号を含む。特定情報が行番号を含む時は、前述したユーザページ情報作成部211のユーザページ情報送信処理にて、推薦属性情報に関連付けて、行番号も端末装置3に送信する必要がある。利用情報中継処理とは、まず、利用履歴格納部243に、受信した利用情報に含まれる利用履歴を格納する。そして、ネットワーク4を介して、情報処理サーバ装置1に、受信した利用情報を送信する処理である。
端末装置3は、CPU、RAM、ROM、ハードディスクドライブ、ネットワークインタフェース等を備える一般的なコンピュータであり、内蔵されたプログラムにより所定の動作を行う。図43は、本実施形態における端末装置3の構成図である。本実施形態における端末装置3は、端末制御部31と、端末通信部32と、入力部33と、表示部34とで構成される。
端末通信部32は、ネットワーク4を介してアイテム提供サーバ装置2と通信を行うための部である。
入力部33は、例えば、端末装置3がPC(Personal Computer)であれば、マウスやキーボード、携帯電話であれば、ボタンといったように、ユーザが端末装置3を操作するためのインタフェースである。
表示部34は、例えば、ディスプレイといったように、様々な情報を表示し、ユーザに視覚的に示すためのインタフェースである。
端末制御部31は、端末装置3を構成する各部に対して、全体的な制御を行う。端末制御部31は、ユーザページ表示部311と、利用情報作成部312とで構成される。ユーザページ表示部311は、入力部33から取得した操作や、アイテム提供サーバ装置2から受信したデータの種類に応じて、以下の6種類の処理を行う。
ユーザページ表示部311の第1の処理は、ユーザページ情報取得要求送信処理であり、入力部33よりユーザページの表示を要求する操作を取得すると、この処理を行う。ユーザページとは、ユーザページ情報を基に、表示部34に表示するために描画されたものである。ユーザページ情報取得要求送信処理とは、端末装置3を利用中のユーザである「利用ユーザ」のユーザ識別子とパスワードの組合せである利用者特定情報を用いて、ユーザページ情報取得要求を作成し、ネットワーク4を介して、アイテム提供サーバ装置2に、作成したユーザページ情報取得要求を送信する処理である。パスワードは、端末装置3の図示しない格納部に記憶しておき、ユーザページ情報取得要求を作成するたびに図示しない格納部から取得してもよいし、ユーザページ情報取得要求を作成するたびにユーザに入力させるようにしてもよい。
ユーザページ表示部311の第2の処理は、ユーザページ表示処理であり、アイテム提供サーバ装置2よりユーザページ情報を取得すると、この処理を行う。ユーザページ表示処理とは、アイテム提供サーバ装置2より取得したユーザページ情報を基に、ユーザページを作成し、表示部34に、作成したユーザページを表示する処理である。
ユーザページ表示部311の第3の処理は、検索条件送信処理であり、入力部33より条件の入力操作と検索を要求する操作の内容を取得すると、この処理を行う。検索条件送信処理とは、利用ユーザのユーザ識別子と、取得した条件を用いて検索条件を作成し、アイテム提供サーバ装置2に、作成した検索条件を送信する処理である。
ユーザページ表示部311の第4の処理は、検索結果表示処理であり、アイテム提供サーバ装置2より、検索条件送信処理にて送信した検索条件に対するアイテム属性情報を取得すると、この処理を行う。検索結果表示処理とは、受信したアイテム属性情報を基にユーザページの更新を行う処理である。
ユーザページ表示部311の第5の処理は、推薦属性対応アイテム情報取得要求送信処理であり、入力部33より推薦属性情報閲覧画面に表示されている推薦属性情報の選択といった操作を取得すると、この処理を行う。推薦属性対応アイテム情報取得要求送信処理とは、まず、操作の対象となった推薦属性情報を用いて、推薦属性対応アイテム情報取得要求を作成する。そして、アイテム提供サーバ装置2に、作成した推薦属性対応アイテム情報取得要求を送信する処理である。
ユーザページ表示部311の第6の処理は、推薦属性対応アイテム情報表示処理であり、アイテム提供サーバ装置2より、推薦属性対応アイテム情報取得要求送信処理にて送信した推薦属性対応アイテム情報取得要求に対するアイテム属性情報を取得すると、この処理を行う。推薦属性対応アイテム情報表示処理とは、受信したアイテム属性情報を基にユーザページの更新を行う処理である。
表示部34に表示するユーザページは、例えば、図44のユーザページの表示例のように、現在獲得している利用ポイントが確認でき、アイテムの検索手段が用意され、推薦属性情報と推薦属性情報に対応するアイテム属性情報と、検索により取得したアイテムとを分けて表示できるようにすればよい。図44の表示例では、左上に端末装置3を利用中のユーザのユーザ名と利用ポイントとを表示し、左下に端末装置3を利用中のユーザの推薦属性情報を表示している。また、中央下に選択された推薦属性情報に対応するアイテム属性情報を表示している。また、右上に検索条件を入力するテキストボックスと検索条件送信処理のトリガーとなる「検索」ボタンとを表示し、右下に検索条件を満たすアイテム属性情報を表示している。
利用情報作成部312は、入力部33より、ユーザページに表示されたアイテムの利用操作を取得すると、利用情報送信処理を行う。アイテムの利用操作とは、ユーザページに表示されたアイテム名などのアイテム属性情報を選択する操作や、アイテムが音楽であれば、再生を行うという操作や、アイテムが映画であれば、視聴するという操作や、ユーザページにてアイテムの購入が行える場合は、アイテムを購入候補に指定する(買い物かごに入れる)操作や、購入候補として指定したアイテムを購入する操作等である。
利用情報送信処理とは、まず、利用ユーザのユーザ識別子とパスワードの組合せである利用者特定情報を作成する。次に、利用ユーザのユーザ識別子と利用操作の対象となったアイテムのアイテム識別子を基に作成した利用履歴を用いて利用情報を作成する。
このとき、利用操作の対象になったアイテムが推薦属性情報に対応するアイテムだった場合には、利用履歴に加え、そのアイテムに対応する推薦属性情報、又は、そのアイテムに対応する推薦属性情報を特定するための行番号を用いて、利用情報を作成する。そして、ネットワーク4を介して、アイテム提供サーバ装置2に、作成した利用者特定情報と利用情報とを送信する処理である。つまり、図44の表示例において、検索結果である「料理本E」が利用された場合は、「料理本E」の利用履歴のみを用いて利用情報を作成することになり、推薦属性情報に対応するアイテムである「本D」が利用された場合は、「本D」に対応する推薦属性情報情報(「A子」の「作成者:作者B」に対応する推薦属性情報)、又は、「本D」に対応する推薦属性情報の行番号を基に作成した特定情報と、「本D」の利用履歴とを用いて、利用情報を作成する。行番号を用いて特定情報を作成するには、ユーザページ表示部311によるユーザページ表示処理の際に、ユーザページ情報に含まれる推薦属性情報に関連付けて、その推薦属性情報の行番号も受信していなければならない。
また利用情報送信処理において、上述した以外の情報を利用履歴に追加することもできる。例えば、アイテム名などのアイテム属性情報を選択する操作、アイテムを購入候補に指定する操作、購入候補に指定したアイテムを購入する操作、アイテムを再生する操作、などの各利用操作を区別するための利用形態情報を追加してもよい。また、ユーザにアイテムに対する評価を行わせた上で、その評価値(例えば、「1:非常に嫌い」、「2:やや嫌い」、「3:どちらでもない」、「4:やや好き」、「5:非常に好き」といったように、好みの度合いを数値化したもの)を利用履歴に追加してもよい。また、一定期間ごとに利用情報送信処理を行う場合は、その期間中に利用されたアイテムの利用回数を利用履歴に追加してもよい。
ここで、図45のフローチャートを用いて、端末装置3でのアイテムの利用に関する手順の一例を説明する。
まず、端末装置3が、ユーザページ情報取得要求送信処理を行い、ネットワーク4を介して、アイテム提供サーバ装置2にユーザページ情報取得要求を送信する(ステップS101)。
次に、アイテム提供サーバ装置2の認証部23が、ネットワーク4を介して、端末装置3よりユーザページ情報取得要求を受信すると、ユーザページ情報取得要求に含まれる利用者特定情報を基に認証を行う(ステップS102)。認証に成功した場合は、ユーザページ情報作成部211に受信したユーザページ情報取得要求を送り、ステップS103へ進み、失敗した場合はステップS101からやり直す。
ステップS103では、ユーザページ情報作成部211が、認証部23よりユーザページ情報取得要求を取得し、ユーザページ情報送信処理を行い、ネットワーク4を介して、端末装置3にユーザページ情報を送信する。
次に、端末装置3が、ネットワーク4を介して、アイテム提供サーバ装置2より、ユーザページ情報を受信すると、ユーザページ表示処理を行う(ステップS104)。
次に、表示されたユーザページを閲覧したユーザが、推薦属性情報に対応するアイテムを取得する操作を行うと、端末装置3は、推薦属性対応アイテム情報取得要求送信処理を行い、ネットワーク4を介して、アイテム提供サーバ装置2に推薦属性対応アイテム情報取得要求を送信する(ステップS105)。
次に、ユーザページ情報作成部211が、ネットワーク4を介して、端末装置3より、推薦属性対応アイテム情報取得要求を受信すると、推薦属性対応アイテム情報送信処理を行い、ネットワーク4を介して、端末装置3にアイテム属性情報を送信する(ステップS106)。
次に、端末装置3が、ネットワーク4を介して、アイテム提供サーバ装置2より、アイテム属性情報を受信すると、推薦属性対応アイテム情報表示処理を行う(ステップS107)。
次に、表示された推薦属性情報に対応するアイテム属性情報を閲覧したユーザが、アイテムに関する利用操作を行うと、端末装置3は、利用情報を作成し、ネットワーク4を介して、アイテム提供サーバ装置2に、利用情報と利用者特定情報とを送信する利用情報送信処理を行う(ステップS108)。
次に、アイテム提供サーバ装置2の認証部23が、ネットワーク4を介して、端末装置3より利用情報と利用者特定情報とを受信すると、利用者特定情報を基に認証を行う(ステップS109)。認証に成功した場合は、利用情報中継部213に受信した利用情報を送り、ステップS110へ進み、失敗した場合はステップS108からやり直す。
ステップS110では、利用情報中継部213が、認証部23より利用情報を取得し、利用情報中継処理を行い、ネットワーク4を介して、情報処理サーバ装置1に、取得した利用情報を送信する。
次に、情報処理サーバ装置1が、ネットワーク4を介して、アイテム提供サーバ装置2より、利用情報を受信すると、利用ポイント算出処理を行い(ステップS111)、ステップS101からステップS111までの一連の処理を終了する。利用ポイント算出処理については後述する。
以上が、端末装置3でのアイテムの利用に関する手順の一例の説明である。
情報処理サーバ装置1は、アイテム提供サーバ装置2に推薦属性情報を送信したり、アイテム提供サーバ装置2の要求に応じて、利用ポイント情報を送信する装置である。情報処理サーバ装置1は、CPU、RAM、ROM、ハードディスクドライブ(HDD)、ネットワークインタフェース等を備えるコンピュータを用いて、ソフトウェア(プログラム)処理として実施することも可能である。なお、情報処理サーバ装置1を複数のコンピュータを用いて構成してもよい。例えば、負荷分散をするために、情報処理サーバ装置1の各部に相当する処理を行うコンピュータを複数用いて分散処理を行ってもよい。また、情報処理サーバ装置1の一部の処理をあるコンピュータで実施し、他の処理を別のコンピュータで実施する形態で分散処理を行ってもよい。
図46は、本実施形態における情報処理サーバ装置1の構成図である。本実施形態における情報処理サーバ装置1は、情報処理サーバ制御部11と、情報処理サーバ通信部12と、情報処理サーバ格納部13とで構成される。
情報処理サーバ通信部12は、ネットワーク4を介してアイテム提供サーバ装置2と通信を行うための部である。
情報処理サーバ格納部13は、HDDなどの記憶装置を用いて、様々なデータを記憶する。情報処理サーバ格納部13は、利用履歴格納部131と、属性嗜好情報格納部132と、類似ユーザ情報格納部133と、推薦属性情報格納部134と、分配情報格納部135と、制約情報格納部136と、利用ポイント情報格納部137と、ユーザ情報格納部138と、アイテム情報格納部139とで構成される。
利用履歴格納部131は、HDDなどの記憶装置を用いて、利用履歴を複数記憶するものである。利用履歴格納部131は、アイテム提供サーバ装置2の利用履歴格納部243と同様の格納形式であり、利用履歴格納部243に記憶されている利用履歴が全て記憶されている。アイテム提供サーバ装置2の利用履歴格納部243に記憶されている利用履歴を利用履歴格納部131にも記憶するのは、情報処理サーバ制御部11にて行う処理で、利用履歴を利用するためである。もちろん、利用履歴格納部131を用意する代わりに、アイテム提供サーバ装置2の利用履歴格納部243より利用履歴を取得できるようにしてもよいし、逆でもよい。
属性嗜好情報格納部132は、HDDなどの記憶装置を用いて、属性嗜好情報を複数記憶する。図47は、属性嗜好情報格納部132の格納状態を示す図である。属性嗜好情報とは、ユーザ識別子(user_id)と、属性種別識別子(type_id)と、属性値識別子(attr_id)と、ユーザのアイテム属性に対する好みの度合いを数値化した嗜好度(p_value)とを関連付けたものであり、図47のようなテーブル形式で記憶する。(user_id,type_id,attr_id)の組合せは一意とし、重複登録ができない。
類似ユーザ情報格納部133は、HDDなどの記憶装置を用いて、類似ユーザ情報を複数記憶する。図48は、類似ユーザ情報格納部133の格納状態を示す図である。類似ユーザ情報とは、基準となるユーザ(基準ユーザ)のユーザ識別子(base_user_id)と、基準ユーザの類似ユーザのユーザ識別子(sim_user_id)と、その2ユーザ間の類似度(similarity)とを関連付けたものであり、図47のようなテーブル形式で記憶する。このテーブルにおいて、(base_user_id,sim_user_id)の組合せはユニーク(一意)であり、この組合せを指定することにより、テーブルのデータが特定できる。ここでは、1つのテーブルに2種類のユーザ識別子を格納するために、base_user_id、sim_user_idという名称を付けて区別しているが、これらは利用履歴格納部131などに格納されているuser_idと同じものである。
推薦属性情報格納部134は、HDDなどの記憶装置を用いて、推薦属性情報を複数記憶する。推薦属性情報格納部134は、アイテム提供サーバ装置2の推薦属性情報格納部244と同様の格納形式であり、推薦属性情報格納部244に記憶されている推薦属性情報が全て記憶されている。アイテム提供サーバ装置2の推薦属性情報格納部244に記憶されている推薦属性情報を推薦属性情報格納部134にも記憶するのは、情報処理サーバ制御部11にて行う処理で、推薦属性情報を利用するためである。もちろん、推薦属性情報格納部134を用意する代わりに、アイテム提供サーバ装置2の推薦属性情報格納部244より推薦属性情報を取得できるようにしてもよいし、逆でもよい。
分配情報格納部135は、HDDなどの記憶装置を用いて、分配情報を複数記憶する。図49は、分配情報格納部135の格納状態を示す図である。分配情報とは、アイテム属性を推薦されるユーザのユーザ識別子(base_user_id)と、推薦属性の属性種別識別子(type_id)と、推薦属性の属性値識別子(attr_id)と、base_user_idに対応するユーザの類似ユーザであり、かつ、type_idとattr_idとに対応するアイテム属性を有するアイテムを過去に利用したユーザ(分配ユーザ)のユーザ識別子(recom_user_id)と、利用親ポイントの分配率(rate)とを関連付けたものであり、図49のようなテーブル形式で記憶する。本実施形態における利用親ポイントとは、推薦によりそのアイテムが利用されたと判定された1つの利用履歴に対して与えられる利用ポイントの大本であり、この利用親ポイントに分配率を掛け合わせることで、そのアイテムを利用した類似ユーザごとに利用ポイントが算出される。なお、1つの推薦属性に対する利用ポイントの総和と利用親ポイントが等しくなるように、分配率の総和を1とする必要がある。
また、利用情報に含まれる特定情報が推薦属性情報である場合は、推薦属性情報に含まれるユーザ識別子と属性種別識別子と属性値識別子との組合せを、分配情報格納部135に記憶されているbase_user_idとtype_idとattr_idとの組合せと照合し、合致する行のrecom_user_idを抽出することにより、利用親ポイントを分配する対象のユーザを容易に特定できる。また、利用情報に含まれる特定情報が、行番号である場合は、推薦属性情報格納部134より、行番号に対応する推薦属性情報を取得した上で同様に照合すれば、利用親ポイントを分配する対象のユーザを容易に特定できる。ここでは、1つのテーブルに2種類のユーザ識別子を格納するために、base_user_id、recom_user_idという名称を付けて区別しているが、これらは利用履歴格納部131などに格納されているuser_idと同じものである。
制約情報格納部136は、HDDなどの記憶装置を用いて、制約情報を複数記憶する。図50は、制約情報格納部136の格納状態を示す図である。制約情報は、アイテム属性の制約条件を構成する条件の1つであり、制約条件を識別するための制約条件識別子(rest_id)と、属性種別識別子(type_id)と、属性値識別子(attr_id)と、否定条件であるか否かを示す否定フラグ(is_not)とを関連付けたものであり、図50のようなテーブル形式で記憶する。
否定フラグは、例えば、図50の1行目のように、その値が「0」であれば否定条件ではないことを示し、図50の2行目のように、その値が「1」であれば否定条件であることを示す。
制約情報は、属性値識別子が存在しない場合は属性種別を指定する条件となり、属性値識別子が存在する場合が属性値を指定する条件となる。例えば、図50の1行目の制約情報を充足するには、アイテムに対応するいずれかのアイテム属性が属性種別識別子taであればよい。また、図50の2行目の制約情報を充足するには、ユーザに利用されたアイテムに対応する全てのアイテム属性が属性種別識別子taかつ属性値識別子ta2でなければよい。
制約条件は、1つ以上の制約情報で構成される。アイテムが1つの制約条件を充足するには、その制約条件の制約条件識別子に対応する1つ以上の制約情報を全て充足しなければならない。例えば、1つの制約条件が図50の1行目と2行目の制約情報で構成されている場合、その制約条件を充足するには、アイテムに対応するいずれかのアイテム属性が属性種別識別子taであり、かつ、全てのアイテム属性が属性種別識別子taかつ属性値識別子ta2でなければよい。属性種別識別子taが属性種別「作成者」に対する属性種別識別子であり、属性値識別子をta2が属性値「作者2」に対する属性値識別子とすると、アイテム属性が、属性種別「作成者」でありかつ、その属性値が「作者2」でない場合に制約条件を充足する。
また、制約情報格納部136には、複数の制約条件を格納することができる。そして、複数の制約条件のうち、少なくとも1つの制約条件を充足するアイテムが利用ポイントの付与対象となる。本実施形態においては、分配情報を用いて利用ポイントの付与対象を管理しているので、後述する分配ユーザ選出処理において制約情報を用いる。
制約情報格納部136に格納させている制約情報をサービス提供側が更新することで、容易に利用ポイントの付与対象であるアイテムを再設定することができる。
なお、全てのアイテム属性を利用ポイント付与の対象としたい場合に、制約情報格納部136に、どのようなアイテム属性であってもなんらかの制約条件が充足するように、サービス提供側が制約情報を登録する必要があるが、その手間をなくすために、制約情報格納部136に、1つも制約情報が格納されていない場合に、全てのアイテム属性を利用ポイント付与の対象とするといったルールを設けてもよい。
また、利用ポイントの判定に制約条件を用いない場合は、制約情報格納部136は省略できる。
利用ポイント情報格納部137は、HDDなどの記憶装置を用いて、利用ポイント情報を複数記憶する。図51は、利用ポイント情報格納部137の格納状態を示す図である。利用ポイント情報とは、ユーザ識別子であるuser_idと、そのユーザ識別子に対応するユーザの利用ポイントであるpointを関連付けたものであり、図51のようなテーブル形式で記憶する。なお、記憶されている利用ポイントの初期値は「0」である。
ユーザ情報格納部138は、HDDなどの記憶装置を用いて、ユーザ情報を複数記憶する。ユーザ情報格納部138は、アイテム提供サーバ装置2のユーザ情報格納部241と同様の格納形式であり、ユーザ情報格納部241に記憶されているユーザ情報が全て記憶されている。アイテム提供サーバ装置2のユーザ情報格納部241に記憶されているユーザ情報をユーザ情報格納部138にも記憶するのは、情報処理サーバ制御部11にて行う処理で、ユーザ情報を利用する場合があるためである。もちろん、ユーザ情報格納部138を用意する代わりに、アイテム提供サーバ装置2のユーザ情報格納部241よりユーザ情報を取得できるようにしてもよいし、逆でもよい。
アイテム情報格納部139は、HDDなどの記憶装置を用いて、アイテム情報を複数記憶するものである。アイテム情報格納部139は、アイテム提供サーバ装置2のアイテム情報格納部242と同様の格納形式であり、アイテム情報格納部242に記憶されているアイテム属性情報が全て記憶されている。アイテム提供サーバ装置2のアイテム情報格納部242に記憶されているアイテム属性情報をアイテム情報格納部139にも記憶するのは、情報処理サーバ制御部11にて行う処理で、アイテム属性情報を利用する場合があるためである。もちろん、アイテム情報格納部139を用意する代わりに、アイテム提供サーバ装置2のアイテム情報格納部242よりアイテム属性情報を取得できるようにしてもよいし、逆でもよい。
情報処理サーバ制御部11は、情報処理サーバ装置1を構成する各部に対して、全体的な制御を行う。情報処理サーバ制御部11は、利用ポイント算出部111と、推薦属性選出部112と、分配ユーザ選出部113と、利用ポイント情報取得部114とで構成される。
利用ポイント算出部111は、ネットワーク4を介して、アイテム提供サーバ装置2より、利用情報を受信すると、利用ポイント算出処理(ステップS111)を行う。
利用ポイント算出処理の手順を図52のフローチャートを用いて説明する。
まず、利用ポイント算出部111が、アイテム提供サーバ装置2より、情報処理サーバ通信部12経由で、利用情報を取得する(ステップS201)。
次に、利用ポイント算出部111が、ステップS201にて取得した利用情報が利用ポイントの付与対象となるか否かを判定する(ステップS202)。付与対象になる場合はステップS203へ進み、付与対象にならない場合はステップS209へ進む。利用情報が利用ポイントの付与対象となるか否かを判定する方法を以下に2つ示す。
付与対象の第1の判定方法は、特定情報を用いて判定する。利用情報に特定情報が含まれている場合は付与対象であると判定し、利用情報に特定情報を含まない場合は付与対象でないと判定する。
付与対象の第2の判定方法は、利用情報に含まれる利用履歴を用いて判定する。まず、アイテム情報格納部139より、利用履歴のアイテム識別子に対応する属性対応情報を全て取得する。次に、取得した属性対応情報ごとに、推薦属性情報格納部134に、利用履歴のユーザ識別子とアイテム属性値情報に含まれる属性種別識別子と属性値識別子の組合せを照合し、一致する推薦属性情報が少なくとも1つ存在するか否かで判定する。少なくとも1つ存在する場合は付与対象と判定し、1つも存在しない場合は付与対象でないと判定する。
ステップS203では、利用ポイント算出部111が、利用親ポイントを算出する。利用親ポイントの算出方法は、例えば、利用情報1つにつき、サービス提供者側が予め設定した一定のポイント(例えば10ポイント)とするものである。また、有料のアイテムを扱うショッピングサイト等であれば、購入代金から一定の割合(例えば購入代金の1%)を利用親ポイントとして算出してもよい。また、利用情報に含まれる利用履歴に、アイテムの利用形態情報(アイテムの詳細情報の表示する操作、アイテムを買い物かごに入れる等の購入候補に指定する操作、アイテムの購入操作などの操作を区別する情報)を含ませ、その利用形態ごとに一定のポイントを予めサービス提供側が設定し、利用親ポイントとして付与してもよい。
次に、利用ポイント算出部111が、分配情報格納部134より、ステップS202にて利用した判定方法に応じて、分配情報を取得する(ステップS204)。
ステップS202にて、利用対象の第1の判定方法を用いた場合は、分配情報格納部134より、特定情報に含まれる推薦属性情報のユーザ識別子と属性種別識別子と属性値識別子の組合せと、分配情報の(base_user_id,type_id,attr_id)の組合せとを照合し、一致する全ての分配情報を取得すればよい。特定情報が行番号を基に作成されていた場合は、推薦属性情報格納部134より、行番号に対応する推薦属性情報を取得し、取得した推薦属性情報を用いればよい。
ステップS202にて、利用対象の第2の判定方法を用いた場合は、まず、アイテム情報格納部139より、利用履歴のアイテム識別子に対応する属性対応情報を全て取得する。次に、取得した属性対応情報ごとに、推薦属性情報格納部134に、利用履歴のユーザ識別子とアイテム属性値情報に含まれる属性種別識別子と属性値識別子の組合せを照合し、一致する推薦属性情報を全て取得する。そして、分配情報格納部135より、取得した推薦属性情報ごとに分配情報を取得する。このとき、1つの推薦属性情報に対応する分配情報の分配率の総和が「1」となるので、例えば、3つの推薦属性情報において、分配情報が存在した場合は、分配率の総和が「3」となる。このため、分配率の総和を「1」にするために、全ての分配情報の分配率を、分配情報が存在した推薦属性情報の数で割る必要がある。
ここで取得した分配情報に含まれるuser_idに対応する分配ユーザは全て、利用情報よりも早い時期に、利用履歴に対応するアイテムと同じ属性を有する何らかのアイテムを利用したユーザである。
また、推薦属性情報に対応する分配情報が存在しない場合もあるため、分配情報を1つも取得できないこともある。
また、推薦属性情報を用いて分配情報を取得する際に、推薦属性情報のアイテム属性が、制約情報格納部136に格納されている制約情報で構成される制約条件の少なくとも1つを充足するか否かを判定し、少なくとも1つ充足する推薦属性情報のみを用いて分配情報を取得するとしてもよい。
次に、利用ポイント算出部111が、ステップS206にて全ての分配情報を選択したか否かを判定する(ステップS205)。全て選択した場合は、ステップS209へ進み、まだ未選択のものが残っている場合は、ステップS206へ進む。
ステップS206では、利用ポイント算出部111が、ステップS204にて取得した分配情報を、例えば取得した順に、1つ選択する。
次に、利用ポイント算出部111が、ステップS203にて算出した利用親ポイントと、ステップS206にて選択した分配情報に含まれるrateとを掛け合わせることで利用ポイントを変更するための変更値を算出する(ステップS207)。
次に、利用ポイント算出部111が、利用ポイント情報格納部135において、ステップS206にて選択した分配情報に含まれるrecom_user_idと利用ポイント情報のuser_idとを照合し、一致する利用ポイント情報を特定し、特定した利用ポイント情報のpoint(元の利用ポイント)に、ステップS207にて算出した変更値を加算する(ステップS208)。次に、ステップS205へ進む。
ステップS209では、利用ポイント算出部111が、利用履歴格納部131に、ステップS201にて取得した利用情報に含まれる利用履歴を記憶する。利用履歴を利用履歴格納部131に格納することで、利用履歴は既処理であるとみなされる。アイテムを利用したユーザにも一定の変更値を加算したい場合は、このステップにて加算すればよい。このとき、利用ポイント情報格納部135において、ステップS201にて取得した利用情報に含まれるユーザ識別子に対応する利用ポイント情報を特定し、特定した利用ポイント情報のpoint(元の利用ポイント)に、予めサービス提供側が設定した変更値を加算する。
以上で、ステップS201からステップS209までの一連の処理は終了となる。
上記説明では、ステップS208にて、元の利用ポイントに変更値を加算して、利用ポイントを更新しているが、加算処理の代わりに、元のポイントと以下に示す係数(変更値)との乗算処理を用いて、利用ポイントを更新してもよい。このとき、ステップS203では、加算する利用ポイントの和である利用親ポイントの代わりに、増加率(元の利用ポイントをどの程度増加させるかを示す値であり、この値に1を加えることで係数となる)の合計値である親増加率を算出する。そして、ステップS206にて選択した分配情報に含まれる分配ユーザurの推薦属性情報に対応する属性種別tiの属性値tijに関する分配率をrate(ur,ti,tij)とし、親増加率をsrとして、図73の式(1)により、係数m(ur,ti,tij)を算出する。
また、利用ポイントの初期値が「0」であると、いくら倍率を掛け合わせても増加しないため、初期値を「0」を超える値で設定するか、初期値は「0」であるが、一番最初に利用ポイントの算出対象になった場合にのみ、一定のポイント数を加えればよい。また、アイテムを利用したユーザにも一定の係数を乗算したい場合も、ステップS209にて、ステップS201にて取得した利用情報に含まれるユーザ識別子に対応する利用ポイント情報を特定し、特定した利用ポイント情報のpoint(元の利用ポイント)に、予めサービス提供側が設定した係数をかければよい。
以上が、利用ポイント算出処理の説明である。
推薦属性選出部112は、所定のタイミングごとに、属性嗜好情報格納部132と、類似ユーザ情報格納部133と、推薦属性情報格納部134に記憶されているデータを全て削除した後、属性嗜好情報作成処理、類似ユーザ選出処理、推薦属性選出処理の順に処理を行う。所定のタイミングとしては、所定の時間間隔(例えば24時間ごと)を用いてもよいし、利用情報を一定回数受信するごととしてもよい。また、月曜日〜金曜日までは3時間ごと、土曜日は6時間ごと、日曜日は12時間ごと、というように時間間隔が変動してもよい。また、夏は時間間隔を短くして、冬は時間間隔を長くするなど、季節に応じて時間間隔を変えてもよい。
まず、属性嗜好情報作成処理の手順を、図53のフローチャートを用いて説明する。
まず、推薦属性選出部112が、利用履歴格納部131より、user_idを重複無しで全て抽出する(ステップS301)。
次に、推薦属性選出部112が、ステップS301にて抽出したuser_idのうち、例えば、抽出した順に、1つ選択する(ステップS302)。
次に、推薦属性選出部112が、利用履歴格納部131より、ステップS302にて選択したuser_idを含む利用履歴を全て取得する(ステップS303)。
次に、推薦属性選出部112が、アイテム情報格納部139より、ステップS303にて取得した利用履歴に含まれるitem_idのうちのいずれかと一致する属性対応情報を全て取得する(ステップS304)。
次に、ステップS304にて取得した属性対応情報より、type_idとattr_idの組合せを重複なしで全て抽出する(ステップS305)。
次に、推薦属性選出部112が、ステップS305にて抽出したtype_idとattr_idの組合せのうち、例えば、抽出した順に、1つ選択する(ステップS306)。
次に、推薦属性選出部112が、ステップS304にて取得した属性対応情報のうち、ステップS305にて選択したtype_idとattr_idの組合せと一致するものよりitem_idを抽出する。そして、ステップS303にて取得した利用履歴のうち、抽出したitem_idのうちのいずれかと一致する利用履歴(嗜好度算出対象利用履歴)のみを用いて、嗜好度を算出する(ステップS307)。
以下に、嗜好度算出方法を8種類説明する。
嗜好度算出の第1の方法は、嗜好度を「1」として算出する方法である。この方法は、嗜好度に対するアイテム属性1つひとつの嗜好の度合いを全て平等(同じ)に扱っている。また、計算量が最も少なくなる。
嗜好度算出の第2の方法は、全利用回数を嗜好度として算出方法である。全利用回数は、利用履歴格納部131の第2の格納形式のように利用回数が記憶されている場合に、嗜好度算出対象利用履歴に含まれる利用回数の和を全利用回数とすればよい。また、利用回数を含まない場合は、嗜好度算出対象利用履歴の数を全利用回数とすればよい。この方法は、嗜好度に対するアイテム属性1つひとつの嗜好の度合いを変えており、ユーザの嗜好度算出対象の属性を有するアイテムに対する全利用回数が多いほど嗜好の度合いが強いことになる。
嗜好度算出の第3の方法は、利用履歴格納部131の第3の格納形式のように評価値が記憶されている場合にのみ用いることができる方法であり、嗜好度算出対象利用履歴に含まれる評価値の代表値(評価値の和や平均値や最大値や最小値や中央値や最新の日付に対応する評価値)を嗜好度として算出する方法である。この方法は、嗜好度に対するアイテム属性1つひとつの嗜好の度合いを変えており、ユーザの嗜好度算出対象の属性を有するアイテムに対する評価が高いほど嗜好の度合いが強いことになる。
嗜好度算出の第4の方法は、利用履歴に含まれる利用日時を用いて、利用日時の古い利用履歴ほど大きな重みを付けて嗜好度を算出する方法である。例えば、嗜好度算出対象利用履歴ごとに、属性嗜好情報作成処理を行う日付(現在)と、その利用日時との差を算出し、その差の代表値(総和や平均値や最大値や最小値)を算出すればよい。この方法は、嗜好度に対するアイテム属性1つひとつの嗜好の度合いを変えており、ユーザが嗜好度算出対象の属性を有するアイテムを早く利用するほど嗜好の度合いが強いことになる。
嗜好度算出の第5の方法は、利用履歴に含まれる利用日付を用いて、利用日時の新しい利用履歴ほど大きな重みを付けて嗜好度を算出する方法である。例えば、嗜好度算出対象利用履歴ごとに、属性嗜好情報作成処理を行う日付(現在)と、その利用日時との差を算出し、その差の逆数の代表値(総和や平均値や最大値や最小値や中央値)を算出すればよい。この方法は、嗜好度に対するアイテム属性1つひとつの嗜好の度合いを変えており、ユーザが嗜好度算出対象の属性を有するアイテムを後で利用するほど嗜好の度合いが強いことになる。また、逆数を用いて、日付差が大きくなるほど分配率が小さくなるようにしているが、他の方法を用いてもよい。例えば、底が0より大きく、かつ1未満である指数関数(単調減少関数)を用いてもよい。
ここで、嗜好度算出の第4と第5の方法は、属性嗜好情報作成処理を行う日付(現在)と、利用日時との差が「0」にならないような処理をする必要がある。
嗜好度算出の第6の方法は、利用履歴格納部131の第4の格納形式のように支払い額記憶されている場合にのみ用いることができる方法であり、嗜好度算出対象利用履歴に含まれる支払い額の代表値(総和や平均値や最大値や最小値や中央値)を嗜好度として算出する方法である。この方法は、嗜好度に対するアイテム属性1つひとつの嗜好の度合いを変えており、ユーザの嗜好度算出対象の属性を有するアイテムに対する支払い額が高い嗜好の度合いが強いことになる。
また、上記の嗜好度算出の第1〜嗜好度算出の第6の方法を組み合わせて嗜好度を算出してもよい。例えば、それぞれの方法で嗜好度(嗜好度1〜嗜好度N)を算出し、それらの嗜好度を加算した値、乗算した値、それらの嗜好度の平均値などを総合的な嗜好度として用いてもよい。また、嗜好度算出の第3の方法と第6の方法を組合せて、評価値と支払い額との積を算出し、その積の総和を嗜好度として算出してもよい。
次に、推薦属性選出部112が、属性嗜好情報格納部132に、ステップS302で選択したuser_idと、ステップS306にて選択したtype_idとattr_idの組合せと、ステップS307にて算出した嗜好度(p_value)とを関連付けた属性嗜好情報を記憶する。(ステップS308)
次に、推薦属性選出部112が、ステップS306にて抽出した全てのtype_idとattr_idとの組合せを選択したか否かを判定する(ステップS309)。全て選択した場合はステップS310へ進み、まだ未選択のものが残っている場合はステップS306へ進む。
ステップS310では、推薦属性選出部112が、ステップS302にて抽出した全てのuser_idを選択したか否かを判定する。全て選択した場合はステップS301からステップS310までの一連の処理を終了し、まだ未選択のものが残っている場合はステップS302へ進む。
なお、属性嗜好情報作成処理で用いる利用履歴を、過去の特定の時点から、属性嗜好情報作成処理を行っている時点(現在)までの間に利用されたアイテムに関する利用履歴のみに制限してもよい。過去の特定の時点は、サービス提供側が予め決めておけばよく、例えば、属性嗜好情報作成処理を行っている時点から3ヶ月前や、半年前や、1年前とすればよい。このとき、ステップS301にて、利用履歴格納部131よりuser_idを抽出する際に、過去の特定の時点以降の利用履歴に含まれるuser_idのみ抽出すればよい。また、ステップS303にて、利用履歴格納部131より利用履歴を取得する際に、過去の特定の時点以降の利用履歴を取得すればよい。
また、ユーザ情報格納部136に記憶されているユーザ情報に含まれるユーザ属性情報を用いて、属性嗜好情報作成処理に用いる利用履歴を制限してもよい。このとき、ステップS301にて、利用履歴格納部131よりuser_idを抽出する際に、所定条件(例えば、「20代女性」)のユーザ属性を持つユーザのuser_idを含む利用履歴のみから取得すればよい。もちろん、所定条件として何も指定しなくてもよい。更に、ステップS303でも、同様に取得する利用履歴に含まれるuser_idに所定条件を指定してもよい。
また、アイテム情報格納部137に記憶されているアイテム属性情報を用いて、属性嗜好情報作成処理に用いる利用履歴を制限してもよい。このとき、ステップS301にて、利用履歴格納部131よりuser_idを抽出する際に、所定条件のアイテム属性を持つアイテムのitem_idを含む利用履歴からのみ取得すればよい。もちろん、所定条件として何も指定しなくてもよい。更に、ステップS303でも、同様に取得する利用履歴に含まれるitem_idに所定条件を指定してもよい。
所定条件は、例えば、属性の種別が「作成者」のみといったように、特定の属性の種別のみに制限する条件である。また、属性の種別「ジャンル」の属性値「フィクション」のみといったように、特定のアイテム属性のみに制限する条件である。もちろん、複数の条件を用意し、複数の条件のうちのいずれかを満たす利用履歴を取得したり、そのうちの一定数を満たす利用履歴を取得するといったように、複数の条件を組み合わせて所定の条件としてもよい。
以上が、属性嗜好情報作成処理の手順の説明である。
次に、類似ユーザ選出処理の手順を、図54のフローチャートを用いて説明する。
まず、推薦属性選出部112が、属性嗜好情報格納部132より、user_idを重複無しで全て抽出する(ステップS401)。
次に、推薦属性選出部112が、ステップS401にて抽出したitem_idのうち、例えば、抽出した順に、1つ選択する(ステップS402)。
次に、推薦属性選出部112が、属性嗜好情報格納部132より、ステップS402にて選択したuser_idに対応するユーザ(基準ユーザとみなす)の属性嗜好情報と、基準ユーザが利用したことのあるいずれかのアイテム属性に対応するアイテムを利用したユーザ(類似候補ユーザ)の全ての属性嗜好情報を取得する(ステップS403)。類似候補ユーザの属性嗜好情報を全て取得するには、まず、基準ユーザの属性嗜好情報を除く全ての属性嗜好情報のうち、基準ユーザの全ての属性嗜好情報に含まれる属性種別識別子と属性値識別子の組合せのいずれかを有する属性嗜好情報からユーザ識別子を類似候補ユーザのユーザ識別子として抽出する。そして、抽出したユーザ識別子のいずれかと一致する属性嗜好情報を全て取得すればよい。
次に、推薦属性選出部112が、ステップS403にて取得した属性嗜好情報を用いて、類似候補ユーザごとに、基準ユーザとの類似度を算出する(ステップS404)。類似度を算出する方法として例えば、Jaccard(ジャカード)係数を用いることができる。Jaccard係数を用いる場合は、ユーザxが利用したことのあるアイテム属性集合をAx、ユーザyが利用したことのあるアイテム属性集合をAy、ユーザxとユーザyを共に利用したことのあるアイテム属性数を|Ax ∩ Ay|とし、ユーザxとユーザyの少なくとも一方を利用したことのあるアイテム属性数を|Ax ∪ Ay|としたとき、類似度は図73の式(2)で算出することができる。
また、類似度算出に、コサイン距離やピアソン積率相関係数を用いることもできる。コサイン距離を用いる場合は、例えば、ユーザxが利用したことのあるアイテム属性集合をAxとし、ユーザxのアイテム属性ax(ax∈Ax)に対する嗜好度をV(x,ax)、ユーザyが利用したことのあるアイテム属性集合をAyとし、ユーザyのアイテム属性ay(ay∈Ay)に対する嗜好度をV(y,ay)、ユーザxとユーザyが共に利用したことのあるアイテム属性集合をAcとし、ユーザxのアイテム属性ac(ac∈Ac)に対する嗜好度をV(x,ac)、ユーザyのアイテム属性acに対する嗜好度をV(y,ac)としたとき、類似度は図73の式(3)で算出することができる。
また、ピアソン積率相関係数を用いる場合は、例えば、ユーザxとユーザyを共に利用したことのあるアイテム属性集合をAcとし、Acに属するアイテム属性数をnとし、ユーザxのアイテム属性ac(ac∈Ac)に対する嗜好度をV(x,ac)、ユーザyのアイテム属性acに対する嗜好度をV(y,ac)としたとき、類似度は図73の式(4)で算出することができる。これ以外にも、2アイテム間の類似性を表す指標であれば、どのようなものを用いてもよい。
次に、推薦属性選出部112が、ステップS404にて算出した類似度を基に、類似候補ユーザの中から類似ユーザを選出する(ステップS405)。類似ユーザの選出基準は、類似度の高い順に、予めサービス提供側が設定した数だけ選出すればよい。また、予めサービス提供側が閾値を定め、その閾値より高い類似度を持つ類似候補ユーザを類似ユーザとして選出してもよい。
次に、推薦属性選出部112が、ステップS405にて選出した類似ユーザごとに、類似ユーザ情報格納部133に、基準ユーザのuser_id(base_user_id)と、ステップS405にて選出した類似ユーザのユーザ識別子(sim_user_id)と、基準ユーザと類似ユーザとの類似度(value)を関連付けた類似ユーザ情報を記憶する(ステップS406)。
次に、推薦属性選出部112が、ステップS402にて抽出した全てのuser_idを選択したか否かを判定する(ステップS407)。全て選択した場合はステップS401からステップS407までの一連の処理を終了し、まだ未選択のものが残っている場合はステップS402へ進む。
なお、類似ユーザを選出する対象のユーザを制限してもよい。このとき、ステップS401にて、属性嗜好情報格納部132よりuser_idを取得する際に、所定の条件、例えば、所定数以上のアイテムを利用したユーザのuser_idのみを取得するとしてもよい。所定数はサービス提供側が予め決めておけばよい。更に、特定の期間において、所定数以上のアイテムを利用したユーザのuser_idのみを取得するとしてもよい。特定の期間はサービス提供側が予め決めておけばよい。
また、ステップS403にて、属性嗜好情報格納部132より、類似候補ユーザの属性嗜好情報を取得する際に、類似候補ユーザにも同様に制限をかけてもよい。このときも同様に、類似候補ユーザの中で、所定数以上のアイテムを利用した類似候補ユーザの属性嗜好情報のみ取得してもよいし、特定の期間において、所定数以上のアイテムを利用した類似候補ユーザの属性嗜好情報のみを取得してもよい。
また、属性嗜好情報を用いて2ユーザ間の類似度を算出する代わりに、利用履歴を用いて2ユーザ間の類似度を算出してもよい。このとき、ステップS403にて、属性嗜好情報を取得する代わりに、利用履歴格納部131より、基準ユーザが利用したことのあるいずれかのアイテムを利用したユーザ(第2類似候補ユーザ)の全ての利用履歴を取得すればよい。第2類似候補ユーザの利用履歴を全て取得するには、まず、基準ユーザの利用履歴を除く全ての利用履歴のうち、基準ユーザの全ての利用履歴に含まれるアイテム識別子のいずれかを有する利用履歴からユーザ識別子を第2類似候補ユーザのユーザ識別子として抽出する。そして、抽出したユーザ識別子のいずれかと一致する利用履歴を全て取得すればよい。また、ステップS404の類似度算出もアイテム属性をアイテムと置き換えることで、同様に算出することができる。また、ユーザのアイテムに対する嗜好度に関しては、アイテム属性に対する嗜好度算出の第1〜第6の方法を流用して算出することができる。また、ステップS405の類似ユーザ選出では、第2類似候補ユーザの中から類似ユーザを選出すればよい。
また、属性嗜好情報を用いて2ユーザ間の類似度を算出する代わりに、ユーザ属性情報を用いて2ユーザ間の適合度を算出し、その適合度を用いて類似ユーザを選出してもよい。適合度とは、ユーザ属性情報を用いてユーザ同士の相性の良さを数値化したものである。このとき、ステップS401にて、さらに、ユーザ情報格納部138より、抽出したuser_idに対応するユーザ属性情報を全て取得する。そして、ステップS403の処理を省略し、ステップS404にて類似度を算出する代わりに、ステップS402にて選択したuser_idに対応するユーザ属性情報と、それ以外のユーザ属性情報との間の適合度を算出すればよい。適合度として、2ユーザのユーザ属性情報間の属性値の一致数を用いることができる。
例えば、ユーザ属性情報に含まれる属性が性別と年齢と地域である場合に、一方の属性値が「男」、「24」、「東京」であり、他方の属性値が「女」、「24」、「東京」であるとき、一致する属性数が2であるため、適合度を「2」とする。また、一致する属性値の条件は、属性ごとにサービス提供者側が自由に決めてよく、例えば、年齢なら属性値の差が「5」未満なら一致とするとしてもよいし、属性値が「20」〜「29」なら「20代」、「30」〜「39」なら「30代」と変換し、変換後の値を用いて一致するか否かを判定してもよい。「地域」など他の属性についても同様の処理を行ってよい。また、属性ごとに異なる重みをつけて適合度を算出してもよい。例えば、年齢が一致する場合には、「地域」が一致する場合よりも適合度が2倍大きくなるように算出してもよい。
以上が、類似ユーザ選出処理の手順の説明である。
次に、推薦属性選出処理の手順を、図55のフローチャートを用いて説明する。
まず、推薦属性選出部112が、類似ユーザ情報格納部133より、base_user_idを、重複なしで全て抽出する(ステップS501)。
次に、推薦属性選出部112が、ステップS501にて抽出したbase_user_idのうちの1つを選択する。例えば取得した順に、1つずつ選択すればよい(ステップS502)。ここで選択したbase_user_idに対応するユーザを「推薦対象ユーザ」と呼ぶ。
次に、推薦属性選出部112が、類似ユーザ情報格納部133より、ステップS502にて選択したbase_user_idに対応する全ての類似ユーザ情報を取得する(ステップS503)。
次に、推薦属性選出部112が、属性嗜好情報格納部132より、類似ユーザの属性嗜好情報を全て取得する(ステップS504)。具体的には、ステップS503にて取得した類似ユーザ情報に含まれるsim_user_idとuser_idとを照合し、sim_user_idのいずれかと一致するuser_idを含む属性嗜好情報を全て取得する。このとき、推薦対象ユーザがすでに利用したアイテム属性に対応する属性種別識別子と属性値識別子を有する属性嗜好情報を除外することで、推薦対象ユーザが過去に利用したアイテム属性を推薦から除外することもできる。また、類似ユーザの属性嗜好情報に含まれるアイテム属性が推薦候補になるため、前述の属性嗜好情報作成処理のステップS304にて、取得する属性対応情報を制限した場合、制限によって除外されたアイテム属性は、この手順で取得するどの属性嗜好情報にも含まれないので、除外されたアイテム属性が推薦されることはない。
次に、推薦属性選出部112が、ステップS504にて取得した推薦属性情報を用いてアイテム属性ごとに以下の方法で推薦値を算出する(ステップS505)。
推薦値算出の第1の方法は、アイテム属性ごとに、その属性を有するアイテムを利用した類似ユーザの数を集計し、その数を推薦値とする方法である。この方法は、推薦値に対するユーザ1人ひとりの影響力(重み)を全て平等(同じ)に扱っている。
推薦値算出の第2の方法は、アイテム属性ごとに、その属性を有するアイテムを利用した類似ユーザの類似度の和を推薦値として算出する方法である。この方法は、推薦値に対するユーザ1人ひとりの影響力(重み)を変えており、推薦対象ユーザとの類似度が高い類似ユーザほど影響力が強いことになる。
推薦値算出の第3の方法は、アイテム属性ごとに、その属性を有するアイテムを利用した類似ユーザの嗜好度の和を推薦値として算出する方法である。この方法は、推薦値に対するユーザ1人ひとりの影響力(重み)を変えており、推薦値の計算対象のアイテム属性に対する嗜好度の高いユーザほど影響力が強いことになる。このため、嗜好度の算出方法によって、ユーザの影響力が異なる。例えば、嗜好度算出の第3の方法を用いて嗜好度を算出していた場合は、ユーザが嗜好度算出対象の属性を有するアイテムを早く利用するほど嗜好度が高くなるため、早くその属性を有するアイテムを利用したユーザほど影響力が強いことになる。
推薦値算出の第4の方法は、推薦値算出の第3の方法と同様に嗜好度の総和を用いるが、嗜好度は利用履歴を用いて新たに算出したもの(第2の嗜好度)を用いる。具体的には、類似ユーザの利用履歴を全て取得し、取得した利用履歴を用いて、嗜好度算出の第1〜第6の方法を流用することで第2の嗜好度を算出する。推薦値算出の第4の方法は、推薦値算出の第3の方法と比べて計算量は増えるが、推薦値算出に用いる嗜好度の算出方法を自由に選択することができる。このため、類似度算出処理で属性嗜好情報の嗜好度を用い、かつ、推薦値算出時に異なる嗜好度を用いたい場合に利用する方法である。類似度算出処理で属性嗜好情報の嗜好度を用いない場合や、推薦値算出時にも同じ嗜好度を用いる場合は、推薦値算出の第4の方法ではなく、推薦値算出の第3の方法を用いればよい。
推薦値算出の第5の方法は、ユーザ情報格納部138に記憶されたユーザ情報にユーザが会員になった日付が含まれる場合に、会員になった日付の古いユーザほど大きな重みを付けて推薦値を算出する方法である。例えば、まず、類似ユーザごとに、推薦属性選出処理を行う日付(現在)と、類似ユーザが会員になった日付との差を算出する。そして、アイテム属性ごとに、その属性を有するアイテムを利用した類似ユーザの日付差の総和を算出すればよい。この方法は、推薦値に対するユーザ1人ひとりの影響力(重み)を変えており、早く会員になったユーザほど影響力が強いことになる。
推薦値算出の第6の方法は、ユーザ情報格納部138に記憶されたユーザ情報にユーザが会員になった日付が含まれる場合に、会員になった日付の新しいユーザほど大きな重みを付けて推薦値を算出する方法である。例えば、まず、類似ユーザごとに、推薦属性選出処理を行う日付(現在)と、類似ユーザが会員になった日付との差を算出する。そして、アイテム属性ごとに、その属性を有するアイテムを利用した類似ユーザの日付差の逆数の総和を算出すればよい。この方法は、推薦値に対するユーザ1人ひとりの影響力(重み)を変えており、後で(最近になって)会員になったユーザほど影響力が強いことになる。
推薦値算出の第7の方法は、ユーザ情報格納部138に記憶されたユーザ情報に含まれるユーザの属性情報を用いる方法である。具体的には、まず、類似ユーザごとに、推薦対象ユーザのユーザ属性情報と、類似ユーザのユーザ属性情報との適合度を算出する。そして、アイテム属性ごとに、その属性を有するアイテムを利用した類似ユーザとの適合度の総和を推薦値として算出する方法である。この方法は、推薦値に対するユーザ1人ひとりの影響力(重み)を変えており、推薦対象ユーザとの適合度が高いユーザほど影響力が強いことになる。
推薦値算出の第8の方法は、アイテム属性ごとに、その属性を有するアイテムを利用した類似ユーザの類似度とそのアイテム属性の嗜好度との積の総和から、その属性を有するアイテムを利用した類似ユーザの類似度の総和を割った値を推薦値として算出する方法である。この方法は、推薦値に対するユーザ1人ひとりの影響力(重み)を変えており、推薦対象ユーザとの類似度とアイテム属性に対する嗜好度の高い類似ユーザほど影響力が強いことになる。
また、上記の推薦値算出の第1〜第8の方法を組み合わせて推薦値を算出してもよい。例えば、それぞれの方法で推薦値(推薦値1〜推薦値N)を算出し、それらの推薦値を加算した値、乗算した値、それらの推薦値の平均値などを総合的な推薦値として用いてもよい。また、推薦値算出の第2の方法と第3の方法を組合せて、属性値情報ごとに、その属性値情報に対応する類似ユーザの類似度と嗜好度との積を算出し、アイテム属性ごとに、その積の総和を推薦値として算出してもよい。
次に、推薦属性選出部112が、ステップS505にて算出した推薦値を基に推薦属性を選出する(ステップS506)。推薦属性の選出基準は、推薦値の高い順に、予めサービス提供側が設定した数だけ選出すればよい。また、予めサービス提供側が閾値を定め、その閾値より高い推薦値を持つアイテム属性を推薦属性として選出してもよい。なおこの処理において、選出された推薦属性に対して、推薦値の高い順に推薦順位を付け、その推薦順位を含めた情報をステップS507において記憶してもよい。
次に、推薦属性選出部112が、推薦属性情報格納部134に、ステップS506にて選出した推薦属性ごとに、ステップS502にて選択したbase_user_idと、推薦属性のアイテム属性(type_idとattr_idの組合せ)と、推薦属性のステップS505にて算出した推薦値(value)とを関連付けて記憶する。
次に、推薦属性選出部112が、ステップS502にて全てのbase_user_idを選択したか否かを判定する(ステップS508)。全て選択した場合はステップS509へ進み、まだ未選択のものが残っている場合はステップS502へ進む。
ステップS509では、推薦属性選出部112が、推薦属性情報格納部134に記憶された全ての推薦属性情報を、ネットワーク4を介して、アイテム提供サーバ装置2に送信し、ステップS501からステップS509までの一連の処理を終了する。
分配ユーザ選出部113は、推薦属性選出部112による推薦属性が終了すると、分配情報格納部135に記憶されている全てのデータを削除した後に、分配ユーザ選出処理を行う。
分配ユーザ選出処理の手順を図56のフローチャートを用いて説明する。
まず、分配ユーザ選出部113が、推薦属性情報格納部134より、制約情報格納部136に格納されている制約情報で構成された制約条件のうち、少なくとも1つを充足する推薦属性情報を全て取得する(ステップS601)。なお、利用ポイント算出処理のステップS204にて推薦属性情報に対応する分配情報を取得する際に、制約条件を少なくとも1つ充足する推薦属性情報に対応する分配情報のみ取得する場合は、推薦属性情報格納部134より、推薦属性情報を全て取得してもよい。
次に、分配ユーザ選出部113が、ステップS603にて全ての推薦属性情報を選択したか否かを判定する(ステップS602)。全て選択した場合はステップS601からステップS606までの一連の処理を終了し、まだ未選択のものが残っている場合はステップS603へ進む。
ステップS603では、分配ユーザ選出部113が、ステップS601にて取得した推薦属性情報のうち、例えば取得した順に1つ選択する。
次に、分配ユーザ選出部113が、類似ユーザ情報格納部113より、ステップS603にて選択した推薦属性のアイテム属性を有するアイテムを利用したことのある類似ユーザ(分配対象ユーザ)の類似ユーザ情報を取得する。具体的には、まず、そして、嗜好情報格納部112より、ステップS603にて選択した推薦属性に含まれるtype_idとattr_idを有する属性嗜好情報より、user_idを全て抽出する。そして、抽出したuser_idごとに、ステップS603にて選択した推薦属性に含まれるユーザ識別子と抽出したuser_idとの組合せを、類似ユーザ情報のbase_user_idとsim_item_idとの組合せと照合し、一致する類似ユーザ情報を全て取得すれば良い。
次に、分配ユーザ選出部113が、分配対象ユーザごとに分配率を算出する(ステップS605)。分配率の算出方法として、以下の方法を用いることができる。以下の分配率の算出方法の説明において、ステップS603にて選択した推薦属性情報に対応するユーザ(推薦対象ユーザ)をubとし、ステップS603にて選択した推薦属性情報の属性種別識別子tiと属性値識別子tijとに対応するアイテム属性を有するアイテムを利用したことのある分配対象ユーザの集合をU(ti,tij)とする。
分配率算出の第1の方法は、分配対象ユーザに等比率となるように分配率を算出する方法である。分配対象ユーザ集合U(ti,tij)の数を|U(ti,tij)|としたとき、分配対象ユーザur(∈U(ti,tij))の推薦属性(ti,tij)に関する分配率rate(ur,ti,tij)は、図74の式(5)で表わされる。この方法は、最も計算量が少ない。またこの方法は、全ての分配対象ユーザが、等しく推薦に貢献したという考えの基に分配率を算出している。このため、推薦値算出の第1の方法と組合せるのがよいが、これ以外の推薦値算出の方法と組合せることもできる。
分配率算出の第2の方法は、類似度に応じて分配率を算出する方法である。ユーザubとユーザurとの類似度をsim(ub,ur)、ユーザubとユーザu(u∈U(ti,tij))との類似度をsim(ub,u)とすると、ユーザurの推薦属性(ti,tij)に関する分配率rate(ur,ti,tij)は、図74の式(6)で表わされる。分配率算出の第2の方法は、分配対象ユーザ集合U(ti,tij)において、推薦対象ユーザとの類似度の高い分配対象ユーザほど推薦に貢献したという考えの基に分配率を算出している。従ってこの方法は、推薦値算出の第2、及び、第8の方法と組合せて用いるのに適しているが、それ以外の推薦値算出方法と組み合わせることもできる。
分配率算出の第3の方法は、嗜好度に応じて分配率を算出する方法である。ユーザurの推薦属性(ti,tij)の嗜好度をV(ur,ti,tij)、ユーザu(u∈U(ti,tij))の推薦属性(ti,tij)の嗜好度をV(u,ti,tij)とすると、ユーザurの推薦属性(ti,tij)に関する分配率rate(ur,ti,tij)は、図74の式(7)で表わされる。分配率算出の第3の方法は、分配対象ユーザ集合U(ti,tij)において、嗜好度の高い分配対象ユーザほど推薦に貢献したという考えの基に分配率を算出している。従ってこの方法は、推薦値算出の第3、及び、第4、及び、第8の方法と組合せて用いるのに適しているが、それ以外の推薦値算出方法と組み合わせることもできる。また、嗜好度の算出方法によって性質が変わってくる。
嗜好度算出の第1の方法を用いた場合は、分配率算出の第1の方法と同様の性質を持つ。嗜好度算出の第2の方法を用いた場合は、利用回数に比例して得られる利用ポイントが増加するため、その性質をユーザに公開することで、ユーザのアイテムの利用を促進させることができる。嗜好度算出の第3の方法を用いた場合は、評価値の代表値の高いユーザほど分配率が高くなる。嗜好度算出の第4の方法を用いた場合は、最近になってから推薦属性のアイテム属性を有するアイテムを利用し始めたユーザ(新規に会員になったユーザなど)に、ポイントを多く配分して、アイテム利用サービスからの脱会を防ぎやすい。なぜなら、嗜好度算出の第4の方法以外の方法では、直近で利用したユーザは、早い時期に利用したユーザに比べ、推薦属性情報から得られる利用ポイントの合計値が、かなり少なくなってしまうが、この算出方法では、その属性を有するアイテムを先に利用したユーザの利用ポイントの合計値と、後から利用したユーザの利用ポイントの合計値との差を小さくすることができるからである。
嗜好度算出の第5の方法は、早く利用したユーザほど多くの利用ポイントを得ることができるため、その性質をユーザに公開することで、アイテムの利用開始時期に大量に利用ユーザを獲得することができる。嗜好度算出の第6の方法を用いた場合は、支払額の代表値の高いユーザほど分配率が高くなる。
分配率算出の第4の方法は、利用履歴を用いて新たに嗜好度を算出し、その新たに算出した嗜好度(第3の嗜好度)に応じて分配率を算出する方法である。ユーザurの推薦属性(ti,tij)の第3の嗜好度をV2(ur,ti,tij)とし、ユーザu(∈U(ti,tij))の推薦属性(ti,tij)の第3の嗜好度をV2(u,ti,tij)とした上で、第3の方法で説明した図74の式(7)において、V(ur,ti,tij)の代わりにV2(ur,ti,tij)を用い、V(u,ti,tij)の代わりにV2(u,ti,tij)を用いればよい。分配率算出の第4の方法は、分配対象ユーザ集合U(ti,tij)において、第3の嗜好度の高いユーザほど推薦に貢献したという考えの基に分配率を算出している。この方法は、類似度算出時や推薦値算出時に嗜好度を用いた上で、異なる算出方法で算出された嗜好度を用いたい場合に適している。
分配率算出の第5の方法は、ユーザ情報格納部138に記憶されたユーザ情報に含まれるユーザの属性情報にユーザが会員になった日付が含まれる場合に、その会員になった日付から推薦アイテム選出処理を行うまでの期間(秒単位、分単位、時間単位、日単位、週単位、月単位など)が長いほど分配率が高くなるように算出する方法である。例えば、ユーザurの会員になった日付から分配ユーザ選出処理を行うまでの期間をD(ur)(≧0)とし、ユーザu(∈U(ti,tij))の会員になった日付から分配ユーザ選出処理を行うまでの期間をD(u)(≧0)とすると、ユーザurの推薦属性(ti,tij)に関する分配率rate(ur,ti,tij)は、図74の式(8)で表わされる。この方法は、分配対象ユーザ集合U(ti,tij)において、早い時期に会員になった分配対象ユーザほど推薦に貢献したという考えの基に分配率を算出している。
従ってこの方法は、推薦値算出の第5の方法と組合せて用いるのに適しているが、それ以外の推薦値算出方法と組み合わせることもできる。さらに、早い時期に会員になったユーザというのは、会員期間が長いユーザでもあり、会員期間が長いユーザほど多くの利用ポイントを得ることができるため、その性質をユーザに公開することで、ユーザは「一度入会したら、なるべく退会せずにいた方が得だ」という判断をする可能性が高くなるので、途中で止めずに会員を継続するユーザを増やすことができる。なお、図74の式(8)では、分子と分母において、それぞれ「1」を加算しているが、これは分母を「0」にしないための処理である。加算する数値は「1」以外でもよく、また分母における「ΣD(u,ti,tij)」の部分を「0」より大きな数値として算出すれば、分子と分母における「1」の加算を省略してもよい。
分配率算出の第6の方法は、分配率算出の第5の方法とは逆に、会員になった日付から推薦アイテム選出処理を行うまでの期間が短いほど分配率が高くなるように算出する方法である。例えば、ユーザurの会員になった日付から分配ユーザ選出処理を行うまでの期間をD(ur,ti,tij)(≧0)とし、ユーザu(∈U(ti,tij))の会員になった日付から分配ユーザ選出処理を行うまでの期間をD(u,ti,tij)(≧0)とすると、ユーザurの推薦属性(ti,tij)に関する分配率rate(ur,ti,tij)は、図74の式(9)で算出される。
この方法は、分配対象ユーザ集合U(ti,tij)において、最近会員となった分配対象ユーザほど推薦に貢献したという考えの基に分配率を算出している。従ってこの方法は、推薦値算出の第6の方法と組合せて用いるのに適しているが、それ以外の推薦値算出方法と組み合わせることもできる。分配率算出の第6の方法以外の方法では、最近会員になったユーザの利用ポイントがたまりにくい傾向がある。特に、長い期間アイテム利用サービスを行っている場合は、それだけ多くのユーザが存在し、さらに、ユーザ1人あたりの利用アイテム数も多くなり、1つの推薦属性情報に関係する類似ユーザ数も増えるので、一度に得られる利用ポイントも低くなる。しかし、この算出方法では、最近会員になったユーザの利用ポイントが増えやすくなるため、入会したユーザがすぐに退会するのを防ぐことができる。
なお、図74の式(9)では、分子と分母において、それぞれ「1」を加算しているが、加算する数値は「1」以外でもよい。また分子における「D(ur,ti,tij)」を「0」より大きな数値として算出し、分母における「D(u,ti,tij)」を「0」より大きな数値として算出すれば、分子と分母における「1」の加算を省略してもよい。また、図74の式(9)では、D(ur,ti,tij)およびD(u,ti,tij)の逆数を用いて、D(ur,ti,tij)が大きくなるほど分配率が小さくなるようにしているが、他の方法を用いてもよい。例えば、底が0より大きく、かつ1未満である指数関数(単調減少関数)を用いてもよい。
分配率算出の第7の方法は、ユーザ情報格納部138に記憶されたユーザ情報に含まれるユーザの属性情報を用いて、分配対象ユーザごとに、推薦対象ユーザとの適合度を算出し、算出した適合度に応じて分配率を算出する方法である。このとき、ユーザurの適合度をV3(ur,ti,tij)とし、ユーザu(∈U(ti,tij))の適合度をV3(u,ti,tij)とした上で、第3の方法で説明した図74の式(7)において、V(ur,ti,tij)の代わりにV3(ur,ti,tij)を用い,V(u,ti,tij)の代わりにV3(u,ti,tij)を用いればよい。分配率算出の第7の方法は、分配対象ユーザ集合U(ti,tij)において、適合度の高い分配対象ユーザほど推薦に貢献したという考えの基に分配率を算出している。従ってこの方法は、推薦値算出の第7の方法と組合せて用いるのに適しているが、それ以外の推薦値算出方法と組み合わせることもできる。
以上が、分配率の算出方法として用いることができるものである。
また、上記の分配率算出の第1〜第7の方法を組合せてもよい。例えば、分配率算出の第2の方法を用いて算出した分配率と、分配率算出の第3の方法を用いて算出した分配率との平均値を算出して最終的な分配率としてもよい。ここで、分配率算出の第1〜第7の方法で算出されたそれぞれの分配率は、全て総和が1になっているので、2つの方法で算出された分配率の平均値により算出された最終的な分配率の総和も1になる。さらに別の組合せ方法として、図74の式(10)に示すように、分配率算出の第2の方法で用いている類似度と、分配率算出の第3の方法で用いている嗜好度との積を計算して、最終的な分配率を算出してもよい。他の方法を組み合わせる場合も同様に分配率の総和が1となるようにする。
次に、分配ユーザ選出部113が、分配対象ユーザごとに、ステップS603にて選択した推薦属性に含まれるユーザ識別子(base_user_id)と、属性種別識別子(type_id)と、属性値識別子(attr_id)と、分配対象ユーザのユーザ識別子(recom_user_id)と、ステップS605にて算出した分配対象ユーザの分配率(rate)とを関連付けた分配情報を分配情報格納部135に記憶する(ステップS606)。次に、ステップS602へ進む。
また、1つの推薦アイテムに対して、利用親ポイントを分配する分配対象ユーザの数を制限してもよい。これは、ステップS604にて類似ユーザ情報を取得する際に、まず、推薦属性情報のアイテム属性を有するアイテムを利用した類似ユーザ(分配対象候補ユーザ)のうちの一部の類似ユーザ(分配対象ユーザ)を抽出する。そして、抽出した分配対象ユーザに対応する類似ユーザ情報を取得すればよい。分配対象候補ユーザから分配対象ユーザを抽出する方法は、例えば、分配対象候補ユーザ集合から、所定数を超えない数だけランダムに分配対象ユーザとして抽出すればよい。つまり、分配対象候補ユーザの数が所定数より多い場合は、ランダムに所定数のユーザを抽出し、分配対象候補ユーザの数が所定数以下である場合は、全ての分配対象候補ユーザを分配対象ユーザとして抽出すればよい。また、類似度の高い順に所定数を超えない数だけ分配対象ユーザを抽出してもよい。
また、分配対象候補ユーザの推薦属性情報のアイテム属性に対応する属性嗜好情報の嗜好度を用いて抽出対象を制限してもよい。具体的には、嗜好度の高い順に属性嗜好情報から所定数を超えない数だけ分配対象ユーザのユーザ識別子として抽出してもよい。また、ユーザ情報格納部138に、ユーザが会員になった日付が含まれる場合は、その会員になった日付が古い順に属性嗜好情報から所定数を超えない数だけ分配対象ユーザのユーザ識別子を抽出してもよい。また、逆に、会員になった日付が新しい順に属性嗜好情報から所定数を超えない数だけ分配対象ユーザのユーザ識別子を抽出してもよい。
また、ユーザ情報格納部138に記憶されたユーザ情報に含まれるユーザ属性情報を用いて適合度を算出し、算出した適合度を用いて抽出を行ってもよい。このとき、分配対象候補ユーザのユーザ属性情報ごとに、推薦対象ユーザのユーザ属性情報との適合度を算出し、算出した適合度の高い順に所定数を超えない数だけ、分配対象ユーザを抽出すればよい。所定数は予めサービス提供側が設定すればよい。また、ユーザ情報格納部138に記憶されたユーザ情報に含まれるユーザ属性情報に基づいて、サービス提供側が予め定めた条件(例えば、性別が「女」であるか否かや、年齢が「20」〜「24」の範囲内であるか否かや、地域が「日本」であるか否かや、複数の属性に対し、属性ごとに条件を設定し、それを全て満たすか否かや、少なくとも1つを満たすか否かなど)を満たす分配対象候補ユーザを分配対象ユーザとしてもよい。
以上が、分配対象ユーザ処理の手順の説明である。
利用ポイント情報取得部114は、アイテム提供サーバ装置2の要求に応じて、利用ポイント情報送信処理を行う。利用ポイント情報送信処理とは、利用ポイント情報格納部137より、取得した利用ポイント情報取得要求に含まれるユーザ識別子に対応した利用ポイント情報を取得し、アイテム提供サーバ装置2に、取得した利用ポイント情報を送信する処理である。
ここで、本実施形態に沿って、会員Aから会員Fの購入履歴を基に会員Aの類似会員を選出し、選出した類似会員の購入履歴を基に会員Aに対する作成者における推薦属性を決め、会員Aに対する作成者における推薦属性ごとに利用親ポイントの分配率を算出する例について図を用いて示す。
まず、会員Aの類似会員を選出する例を図57を用いて説明する。図57の左の表において、会員Aから会員Fにおける、商品aから商品fの購入状況を「○」の有無で示す。例えば、会員Aは、「商品a」と「商品b」を購入していることを示している。会員Aと他の会員との類似度を購入履歴を用いたjaccard係数で算出し、閾値を0.2と設定すると、図57の右の表に示すように会員Aと他の会員との類似度が算出され、会員Aの類似会員は、類似判定で「○」がついた会員Bと会員Cと会員Eと会員Fとなる。
次に、会員Aの作成者における推薦属性を選出する例を図58を用いて説明する。推薦値算出方法として、第1の方法を用いた場合、図58の左の2つの表に示すように、会員Aは既に購入した「作者1」と「作者2」を除いた、「作者3」と「作者4」の推薦値は、それぞれ、「4」、「3」となる。推薦値の閾値を「4」とすると、図58の右のリストが示すように、会員Aの推薦属性は「作者3」となる。
次に、会員Aに対する推薦商品ごとに利用親ポイントの分配率を算出する例を、図59を用いて説明する。分配率の算出方法として分配率算出の第1の方法を用いると、図59の表に示すように、推薦属性「作者3」における会員Bと会員Cと会員Eと会員Fの分配率が、それぞれ「0.25」となる。
そして、会員Aが「作者3」の商品cを購入すると、会員Bと会員Cと会員Eと会員Fの4人に利用ポイントが付与され、会員Aが「作者3」の商品fを購入すると、会員Bと会員Cと会員Eと会員Fの4人に利用ポイントが付与され、一度の購入で複数の会員がポイントを得ることができる。従来技術のように、商品を購入したユーザが参考にした情報を提供した会員1人にポイントを付与するシステムでは、一度の購入に対し1人の会員しかポイントが得られない。
また、ユーザAが「作者3」の商品cと商品fの2つを購入した場合(購入回数2回の場合)、購入したユーザ本人にポイントを付与する通常のポイントシステム、あるいは購入したユーザに情報を提供した他のユーザ1人にポイントを付与するポイントシステムにおいては、ポイントが付与される回数は、どちらのシステムにおいても延べ2回である。一方、本発明の場合、図59の表に示したように、延べ8回ポイントが付与されることになる。更に、購入ユーザ本人にもポイントを付与すると、延べ10回(8+2=10)ポイントが付与される。このように本発明によれば、従来よりもポイントが更新される頻度やポイント付与されるユーザ数を多くすることができる。このため、「自分のポイントが今日増えているかも知れない」という期待感や、「予期せぬタイミングで急にポイントが増えて驚いた」といった意外性を多くのユーザに継続的に与えることができるので、アイテム提供サーバへのアクセス頻度を増やすことができる。そして、アイテムやアイテム提供サーバに対するユーザの関心を高めて、アイテム利用を促進することができる。
また本実施形態においては、ポイントが付与される対象のユーザは、購入ユーザとその類似ユーザに限定されるので、必要以上に多くのユーザにポイントが配分されることがなく、ポイント付与されるユーザの1人当たりのポイント数を比較的多くすることができる。また本実施形態のポイント付与の仕組みをあらかじめユーザに通知しておけば、ポイントが付与されたユーザは、「自分が過去にあるアイテムを利用したことにより、他のユーザの推薦属性情報にそのアイテムが登場し、それを見たユーザがアイテムを購入したので、自分のポイントが増えた」という理由(因果関係)が分かる。
すなわち、自分の過去の消費行動(利用行動)が間接的に他のユーザの消費行動につながったことが分かるので、ポイントシステムへの納得感や信頼感が得られやすい。また、ポイント変化の様子を通じて、本人の消費行動が他のユーザの推薦属性情報に影響を与えたり、逆に他のユーザの消費行動が本人の推薦属性情報に影響する仕組みや、本人と他のユーザとの「つながり感」をユーザに実感させることができるので、従来の情報推薦システムよりも、推薦情報に対するユーザの興味や信頼感を高めることができる。
更に、他のユーザの消費行動を誘発することを狙って、自分の利用するアイテムを増やしたり、過去にあまり利用していないタイプのアイテムを利用する可能性も高まるため、アイテム利用を促進することができる。また、早い時期にアイテムを利用したユーザほどポイントが増えるので、このようなポイントサービスの特性をユーザに通知することにより、「自分と類似するユーザが今後利用しそうなアイテムを予測して、いち早く利用しよう」というインセンティブが各々のユーザに働き、アイテムの利用が促進されるという効果が得られる。
なお、本実施形態において、端末装置3から利用情報を送信する際に、アイテム提供サーバ装置2を経由して、情報処理サーバ装置1に送信しているが、アイテム提供サーバ装置2を経由せずに直接送信してもよい。この場合、端末装置3と情報処理サーバ装置1とが直接通信できるように、図36に示したシステム構成を用いる。また、端末装置3は、アイテム提供サーバ装置2を経由して、情報処理サーバ装置1から利用ポイント情報を取得しているが、アイテム提供サーバ装置2を経由せずに直接送信してもよい。この場合、端末装置3と情報処理サーバ装置1とが直接通信できるように、図36に示したシステム構成を用いる。
また、情報処理サーバ装置1の利用ポイント算出部111にて利用親ポイントを算出し、算出した利用親ポイントを利用ポイント算出対象のユーザに分配しているが、利用親ポイントを分配せずに、利用ポイント算出対象のユーザに一定の利用ポイントを付与してもよい。このとき、利用ポイント算出部111の利用ポイント算出処理において、ステップS203とステップS207の処理を行わずに、ステップS208にて一定の利用ポイントを加算すればよい。さらに、分配率を記憶や算出する必要がなくなるので、分配情報格納部135に分配率であるrateを記憶する必要がなくなり、分配ユーザ選出部113の分配ユーザ選出処理において、ステップS605の処理を行わずに、ステップS606にて、分配対象ユーザごとに、ステップS603で選択した推薦属性情報のユーザ識別子(base_user_id)と、属性種別識別子(type_id)と属性値識別子(attr_id)と、分配対象ユーザのユーザ識別子(recom_user_id)とを関連付けた分配情報として記憶すればよい。
また、端末装置3の表示部34にユーザページを表示する際に、ユーザごとに利用ポイントの総取得ポイント数を1つ表示しているが、図60のユーザページの表示例が示すように、端末装置3を利用中のユーザの過去に利用したアイテム属性ごとに利用ポイントを表示してもよい。図60の表示例では、左上に端末装置3を利用中のユーザのユーザ名と、獲得した利用ポイントの合計値とを表示し、左下に端末装置3を利用中のユーザが過去に利用したアイテム属性と、アイテム属性ごとの利用ポイントを表示している。また、中央左に端末装置3を利用中のユーザの推薦属性情報を表示している。また、中央右に選択された推薦属性情報に対応するアイテム属性情報を表示している。また、右上に検索条件を入力するテキストボックスと検索条件送信処理のトリガーとなる「検索」ボタンとを表示し、右下に検索条件を満たすアイテム情報を表示している。
このとき、利用ポイント情報格納部137に、ユーザごと、アイテム属性ごとに利用ポイントを記憶する必要があるので、図61の格納状態のように、ユーザ識別子(user_id)と、属性種別識別子(type_id)と、属性値識別子(attr_id)と、利用ポイント(point)とを、利用ポイント情報として関連付けて記憶する。また、利用ポイント情報を特定するために、ユーザ識別子だけでなく、属性種別識別子と属性値識別子も必要になるため、利用ポイント算出部111における利用ポイント算出処理のステップS208にて、利用ポイント情報を特定する際に、ステップS206にて選択した分配情報に含まれるrecom_user_idと、type_idとattr_idとを用いる。また、ユーザページ情報作成部211にてユーザページ情報を作成する際に、ユーザページを作成するユーザの利用したアイテム属性ごとの利用ポイントを用いる必要があるため、利用ポイント情報取得部114が利用ポイント情報送信処理を行う際に、ユーザページを作成するユーザの全ての利用ポイント情報を送信すればよい。
具体的には、利用ポイント情報取得部114が、利用ポイント情報格納部137より、利用ポイント情報取得要求に含まれるユーザ識別子に対応した利用ポイント情報を全て取得し、アイテム提供サーバ装置2に、取得した全ての利用ポイント情報を送信すればよい。
また、推薦属性のアイテム属性を有するアイテムを利用したユーザに対して、そのアイテムの利用により、何人のユーザに利用ポイントが付与されたかを示す情報を表示してもよい。このとき、利用ポイント算出部111が、利用ポイント算出処理終了時に、ステップS204にて取得した分配情報の数(利用ポイントが付与されたユーザの数)を、端末装置3に、直接、または、アイテム提供サーバ装置2経由で送信すればよい。そして、端末装置3は、表示部34に表示するユーザページに、受信した利用ポイントが付与されたユーザの数を通知する情報を、例えば、図62のユーザページの表示例のように表示すればよい。
所定のタイミングは、推薦属性選出部112で行う処理と同様に、様々なタイミングを用いることができる。例えば、24時間ごとなど所定の時間間隔で処理を行えばよい。また、推薦属性選出部112で行う処理のタイミングと同期してもよいし、同期しなくてもよい。すなわち、推薦属性選出部112で行う処理における所定のタイミング(第1の所定タイミング)と、利用ポイント算出処理における所定のタイミング(第2の所定タイミング)は、同じであっても、それぞれ異なっていてもよい。
また、利用ポイント算出部111は、アイテム提供サーバ装置2より、利用情報を受信するごとに利用ポイント算出処理を行っているが、所定のタイミングごとに利用ポイント算出処理を行ってもよい。このとき、情報処理サーバ格納部13に、利用ポイント算出処理を行っていない利用情報をそのまま格納するための、未処理利用情報格納部を設け、利用ポイント算出部111が、アイテム提供サーバ装置2より、利用情報を受信した際に、利用ポイント算出処理を行う代わりに、未処理利用情報格納部に、受信した利用情報を記憶する。利用情報格納部に、受信した利用情報を記憶することで、その記憶された利用情報に対応する利用履歴は未処理であるとみなされる。
そして、所定のタイミングごとに、利用ポイント算出部111が、未処理利用情報格納部に記憶されている全ての利用情報を取得し、取得した利用情報の集合から順次1つの利用情報(利用情報に対応する利用履歴が、一の利用履歴となる)を選択し、利用ポイント算出処理を行い、未処理利用情報格納部に記憶された利用情報を全て消去すればよい。この場合、利用ポイント算出処理において使われる利用履歴格納部131に格納されている利用履歴は、全て一の利用履歴よりも先に利用された(古い)データである。
<第5実施形態>
以下に、本発明の第5実施形態について、図を用いて詳細に説明する。本発明の第5実施形態では、推薦属性情報に関するアイテムの利用1回につき、一定の利用ポイントを分配対象ユーザに分配する代わりに、一定の期間に対して付与する利用ポイントの合計値をサービスの提供側が決め、その利用ポイントの合計値を基に利用ポイントを算出するようにしている。
本発明の第5実施形態におけるシステム全体の構成は、情報処理サーバ装置1の代わりに情報処理サーバ装置6を用いる以外は本発明の第4実施形態の場合と同様である。アイテム提供サーバ装置2、端末装置3、ネットワーク4(およびネットワーク5)は、本発明の第4実施形態と同様である。
情報処理サーバ装置6は、アイテム提供サーバ装置2に推薦属性情報を送信したり、アイテム提供サーバ装置2の要求に応じて、利用ポイント情報を送信する装置である。情報処理サーバ装置6は、CPU、RAM、ROM、ハードディスクドライブ(HDD)、ネットワークインタフェース等を備えるコンピュータを用いて、ソフトウェア(プログラム)処理として実施することも可能である。図63は、本実施形態における情報処理サーバ装置6の構成図である。本実施形態における情報処理サーバ装置6は、情報処理サーバ制御部61と、情報処理サーバ通信部12と、情報処理サーバ格納部63とで構成される。情報処理サーバ通信部12は、本発明の第4実施形態と同様である。
情報処理サーバ格納部63は、HDDなどの記憶装置を用いて、様々なデータを記憶する。情報処理サーバ格納部63は、利用履歴格納部131と、属性嗜好情報格納部132と、類似ユーザ情報格納部133と、推薦属性情報格納部134と、分配情報格納部135と、利用ポイント情報格納部137と、ユーザ情報格納部138と、アイテム情報格納部139と、仮ポイント情報格納部630とで構成される。利用履歴格納部131と、属性嗜好情報格納部132と、類似ユーザ情報格納部133と、推薦属性情報格納部134と、分配情報格納部135と、利用ポイント情報格納部137と、ユーザ情報格納部138と、アイテム情報格納部139は、本発明の第4実施形態と同様である。
仮ポイント情報格納部630は、HDDなどの記憶装置を用いて、仮ポイント情報を複数記憶する。図64は、仮ポイント情報格納部630の格納状態を示す図である。仮ポイント情報とは、ユーザ識別子(user_id)と、そのユーザ識別子に対応するユーザの仮ポイント(tmp_point)とを関連付けたものであり、図64のようなテーブル形式で記憶する。なお、記憶されている仮ポイントの初期値は「0」である。
情報処理サーバ制御部61は、情報処理サーバ装置6を構成する各部に対して、全体的な制御を行う。情報処理サーバ制御部61は、利用ポイント算出部611と、推薦属性選出部112と、分配ユーザ選出部113と、利用ポイント情報取得部114とで構成される。推薦属性選出部112と、分配ユーザ選出部113と、利用ポイント情報取得部114は、本発明の第4実施形態と同様である。
利用ポイント算出部611は、ネットワーク4を介して、アイテム提供サーバ装置2より、利用情報を受信すると、利用ポイント算出処理の代わりに、仮ポイント算出処理を行う。また、一定の期間ごとに利用親ポイント分配処理を行う。一定の期間ごととは、例えば、一日ごとや一週間ごとなど、一定の時間経過ごととしてもよい。また、サービス提供側が自由に時間間隔を変えてもよい。
仮ポイント算出処理の手順を図65のフローチャートを用いて説明する。仮ポイント処理の手順は、本発明の第4実施形態における利用ポイント算出処理の手順において、ステップS203の処理をなくし、ステップS207からステップS208までの処理をステップS707の処理で置き換えたものであるため、置き換えた処理についてのみ説明する。
ステップS707では、利用ポイント算出部611が、仮ポイント情報格納部630において、ステップS205にて選択した分配情報に含まれるrecom_user_idと、仮ポイント情報のuser_idとを照合し、一致する仮ポイント情報を特定し、特定した仮ポイント情報のtmp_pointに、ステップS206にて選択した分配情報に含まれるrateを加算する。次に、ステップS205へ進む。以上が、仮ポイント算出処理の説明である。
次に、一定の期間ごとに行う利用親ポイント分配処理の手順について、図66のフローチャートを用いて説明する。
まず、利用ポイント算出部611が、一定期間に付与する利用親ポイントを取得する(ステップS801)。利用親ポイントを取得する方法は、予めサービスの提供側が設定しておき、その設定した値を取得してもよいし、図示しないキーボード等の利用親ポイントを入力する手段を用意し、利用親ポイント分配処理を行うたびに、サービス提供側が入力することで取得してもよい。
次に、利用ポイント算出部611が、仮ポイント情報格納部630より、利用親ポイントを分配する対象ユーザを抽出するために、tmp_pointの値が「0」を超える全ての仮ポイント情報を取得する(ステップS802)。
次に、利用ポイント算出部611が、ステップS802にて取得した仮ポイント情報のうち、例えば取得した順に、1つ選択する(ステップS803)。
次に、利用ポイント算出部611が、ステップS803にて選択した仮ポイント情報に含まれるuser_idに対する利用ポイントを変更するための変更値を算出する(ステップS804)。変更値は、ステップS803にて選択した仮ポイント情報に含まれるtmp_pointが、ステップS802にて取得した全ての仮ポイント情報に含まれるtmp_pointの総和に占める割合に応じて、ステップS801にて取得した利用親ポイントを分配することで算出する。利用親ポイントvpを分配する対象となった全てのユーザの集合をUtとし、利用ポイントを算出するユーザub(ub∈Ut)のtmp_pointをt(ub)とし、ユーザu(u∈Ut)のtmp_pointをt(u)とすると、ユーザubの利用ポイントv(ub)は、図75の式(11)で算出される。
次に、利用ポイント算出部611が、利用ポイント情報格納部137において、ステップS803にて選択した仮ポイント情報に含まれるuser_idに対応する利用ポイント情報を特定し、特定した利用ポイント情報のpoint(元の利用ポイント)に、ステップS804にて算出した変更値を加算する(ステップS805)。
次に、利用ポイント算出部611が、ステップS803にて全ての仮ポイント情報を選択したか否かを判定する(ステップS806)。全て選択した場合は、ステップS807へ進み、未選択のものが残っている場合は、ステップS803へ進む。ステップS807では、利用ポイント算出部611が、仮ポイント情報格納部630にて、全ての仮ポイント情報のtmp_pointの値を「0」で置き換え、ステップS801からステップS807までの処理を終了する。
上記の説明では、ステップS805にて、元の利用ポイントに変更値を加算して、利用ポイントを更新しているが、加算処理の代わりに、元の利用ポイントと以下に示す係数(変更値)との乗算処理を用いて、利用ポイントを更新してもよい。このとき、ステップS801では、一定期間に付与する利用親ポイントの代わりに、増加率(元の利用ポイントをどの程度増加させるかを示す値であり、この値に1を加えることで係数となる)の合計値である親増加率を取得する。そして、親増加率srを分配する対象となった全てのユーザの集合をUtとし、利用ポイントを算出するユーザub(ub∈Ut)のtmp_pointをt(ub)とし、ユーザu(u∈Ut)のtmp_pointをt(u)として、図75の式(12)により、ユーザubに対して係数m(ub)を算出する。なお、利用ポイントの初期値が「0」であると、いくら係数を掛け合わせても増加しないため、初期値を「0」を超える値で設定するか、初期値は「0」であるが、一番最初に利用ポイントの算出対象になった場合にのみ、一定のポイント数を加えればよい。以上が、一定の期間ごとに行う利用親ポイント分配処理の説明である。
本実施形態における利用ポイントの付与方法によれば、サービスの提供側が一定期間に付与する利用ポイントの総和を自由にコントロールできるので、事業運営者のポイントサービスに係る予算に応じて、利用ポイントの付与を行うことが容易にできる。
<第6実施形態>
以下に、本発明の第6実施形態について、図を用いて詳細に説明する。本発明の第6実施形態では、推薦属性選出処理を行わずに、比較的少ない処理量で、利用ポイントの付与を行うようにしている。本発明の第6実施形態におけるシステム全体の構成は、情報処理サーバ装置1に代えて情報処理サーバ装置7を用い、アイテム提供サーバ装置2に代えてアイテム提供サーバ装置8を用いる以外は、本発明の第4実施形態の場合と同様である。ネットワーク4(およびネットワーク5)についても、本発明の第4実施形態と同様である。
アイテム提供サーバ装置8は、端末装置3の要求に応じて、アイテムを提供する装置である。アイテム提供サーバ装置8は、CPU、RAM、ROM、ハードディスクドライブ(HDD)、ネットワークインタフェース等を備えるコンピュータを用いて、ソフトウェア(プログラム)処理として実施することも可能である。
図67は、本実施形態におけるアイテム提供サーバ装置8の構成図である。本実施形態におけるアイテム提供サーバ装置8は、アイテム提供サーバ制御部81と、アイテム提供サーバ通信部22と、認証部23と、アイテム提供サーバ格納部84とで構成される。アイテム提供サーバ通信部22と、認証部23は、本発明の第4実施形態と同様である。
アイテム提供サーバ格納部84は、HDDなどの記憶装置を用いて、様々なデータを記憶する。アイテム提供サーバ格納部84は、ユーザ情報格納部241と、アイテム情報格納部242と利用履歴格納部243とで構成される。ユーザ情報格納部241と、アイテム情報格納部242と利用履歴格納部243は、本発明の第4実施形態と同様である。
アイテム提供サーバ制御部81は、アイテム提供サーバ装置8を構成する各部に対して、全体的な制御を行う。アイテム提供サーバ制御部81は、ユーザページ情報作成部811と、利用情報中継部213とで構成される。利用情報中継部213は、本発明の第4実施形態と同様である。
ユーザページ情報作成部811は、本発明の第4実施形態におけるユーザページ情報作成部211と同様に第1と第2の処理を行うが、第3の処理は行わず、第1の処理は手順が異なる。本実施形態における第1の処理(ユーザページ情報送信処理)の手順は、推薦属性情報を取得する手順を省略し、ユーザページ情報を作成する際に、推薦属性情報を用いずに作成すればよい。
端末装置3は、本発明の第4実施形態と同様の機能を有するが、端末制御部31のユーザページ表示部311におけるユーザページ表示処理にて表示するユーザページが異なる。本実施形態における表示部34に表示するユーザページは、例えば、図68のユーザページの表示例のように、利用ポイントが確認でき、アイテムの検索手段が用意され、検索により取得したアイテムを表示できるようにすればよい。図68の表示例では、上部に端末装置3を利用中のユーザのユーザ名と利用ポイントとを表示している。また、中央部に検索条件を入力するテキストボックスと検索条件送信処理のトリガーとなる「検索」ボタンとを表示している。また、下部に検索条件を満たすアイテム情報を表示している。
また、利用情報作成部312にて利用情報を作成する際に、利用履歴のみを用いて作成する。
情報処理サーバ装置7は、アイテム提供サーバ装置8の要求に応じて、利用ポイントを送信する装置である。情報処理サーバ装置7は、CPU、RAM、ROM、ハードディスクドライブ(HDD)、ネットワークインタフェース等を備えるコンピュータを用いて、ソフトウェア(プログラム)処理として実施することも可能である。図69は、本実施形態における情報処理サーバ装置7の構成図である。本実施形態における情報処理サーバ装置7は、情報処理サーバ制御部71と、情報処理サーバ通信部12と、情報処理サーバ格納部73とで構成される。情報処理サーバ通信部12は、本発明の第4実施形態と同様である。
情報処理サーバ格納部73は、HDDなどの記憶装置を用いて、様々なデータを記憶する。情報処理サーバ格納部73は、利用履歴格納部131と、利用ポイント情報格納部137と、ユーザ情報格納部138と、アイテム情報格納部139とで構成される。利用履歴格納部131と、利用ポイント情報格納部137と、ユーザ情報格納部138と、アイテム情報格納部139は、本発明の第4実施形態と同様である。
情報処理サーバ制御部71は、情報処理サーバ装置7を構成する各部に対して、全体的な制御を行う。情報処理サーバ制御部71は、利用ポイント算出部711と、利用ポイント情報取得部114とで構成される。利用ポイント情報取得部114は、本発明の第4実施形態と同様である。利用ポイント算出部711は、ネットワーク4を介して、アイテム提供サーバ装置2より、利用情報を受信すると、利用ポイント算出処理を行う。
利用ポイント算出処理の手順を図70のフローチャートを用いて説明する。ステップS201は、本発明の第4実施形態と同様である。次に、ステップS902へ進む。
ステップS902では、ステップS201にて取得した利用情報が利用ポイントの付与対象となるか否かを判定する。付与対象になる場合はステップS203へ進み、付与対象にならない場合はステップS209へ進む。利用情報が利用ポイントの付与対象となるか否かを判定するには、まず、アイテム情報格納部139より、利用履歴のアイテム識別子に対応する属性対応情報を全て取得する。次に、取得した属性対応情報ごとに、制約情報格納部136にて格納されている制約情報似て構成される制約条件のうち、少なくとも1つ充足するか否かを判定する。制約情報を少なくとも1つ充足する属性対応情報が1つでも存在する場合は付与対象と判定し、1つも存在しない場合は付与対象でないと判定する。
ステップS203は、本発明の第4実施形態と同様である。次に、ステップS904へ進む。
ステップS904では、利用ポイント算出部711が、利用履歴格納部131とアイテム情報格納部139より、ステップS203にて算出した利用親ポイントを分配するユーザ(分配ユーザ)の利用履歴を取得する。分配ユーザの利用履歴を取得するには、まず、アイテム情報格納部139より、ステップS201にて取得した利用情報の利用履歴(一の利用履歴)に含まれるアイテム識別子に対応する属性対応情報を全て取得する。次に、次に、取得した属性対応情報ごとに、制約情報格納部136にて格納されている制約情報似て構成される制約条件のうち、少なくとも1つ充足するか否かを判定し、制約条件を少なくとも1つ充足した属性対応情報に含まれるアイテム属性を全て(一のアイテム属性集合)抽出する。次に、アイテム情報格納部139より、抽出したアイテム属性に対応するアイテム識別子(一のアイテム集合)を全て抽出する。
つまり、利用履歴に対応するアイテムが属するアイテム属性のうち、制約条件を満たすアイテム属性のいずれかを有するアイテムが全て抽出される。そして、抽出したアイテム識別子と、利用履歴格納部131に格納されている利用履歴のitem_idとを照合し、一致する利用履歴を全て取得すればよい。取得した利用履歴からuser_idを抽出することで、分配ユーザのユーザ識別子を抽出することができる。
このとき、取得する利用履歴を制限してもよい。例えば、利用履歴を取得する際に、抽出したアイテム識別子と一致する利用履歴の中から、ランダムにサービス提供側が予め定めた所定数まで取得すればよい。
また、利用履歴を利用日時により制限することもできる。例えば、過去の特定の時点から、利用ポイント算出処理を行っている時点(現在)までの間に利用されたアイテムに関する利用履歴の中で、抽出したアイテム識別子を含む利用履歴を全て取得すればよい。過去の特定の時点は、サービス提供側が予め決めておけばよく、例えば、利用ポイント算出処理を行っている時点から3ヶ月前や、半年前や、1年前とすればよい。
他にも様々な条件を用いて、取得する分配ユーザの利用履歴を制限することができる。
次に、利用ポイント算出部711が、分配ユーザごとに、分配率を算出する(ステップS905)。分配率の算出には、本発明の第4実施形態における分配アイテム選出部113による分配ユーザ選出処理の分配率算出方法を用いることができる。分配率算出の第2の方法を用いる場合は、類似度が記憶されていないため、分配率を算出する前に、本発明の第4実施形態における推薦属性選出部112による類似ユーザ選出処理の類似度算出の第1〜第2、及び、第4〜第7の方法を用いることができる。分配率算出の第2の方法を用いる場合は、類似度が記憶されていないため、分配率を算出する前に、本発明の第4実施形態における推薦属性選出部112による類似ユーザ選出処理の類似度算出方法を用いることができる。
次に、利用ポイント算出部711が、ステップS904にて取得した利用履歴より分配ユーザのユーザ識別子を重複せずに抽出し、例えば抽出した順に、1つ選択する(ステップS906)。
次に、利用ポイント算出部711が、ステップS203にて算出した利用親ポイントと、ステップS905にて算出した分配率のうち、ステップS906にて選択したユーザ識別子に対応する分配率とを掛け合わせることで利用ポイントを算出し(ステップS907)、ステップS208へ進む。
ステップS208は、本発明の第4実施形態と同様である。次に、ステップS908へ進む。
ステップS909では、利用ポイント算出部711が、ステップS906にて、全ての分配ユーザのユーザ識別子を選択したか否かを判定する。全て選択した場合はステップS209へ進み、まだ未選択のものが残っている場合はステップS906へ進む。ステップS209は、本発明の第4実施形態と同様である。
なお、この利用ポイント算出処理において、1つの利用情報に対して、利用親ポイントを分配するユーザの数を制限してもよい。利用親ポイントを分配するユーザの制限は、本発明の第4実施形態と同様に行えばよい。ただし、類似度を用いる場合は、類似度が記憶されていないため、類似度を算出する必要がある。また、上記説明では、利用親ポイントを算出し、算出した利用親ポイントを分配ユーザに分配しているが、利用親ポイントを分配せずに、分配ユーザに一定の利用ポイントを付与してもよい。このとき、ステップS203とステップS905とステップS907の処理を行わずに、ステップS907にて一定の利用ポイントを加算すればよい。
また、ステップS208にて、元の利用ポイントに変更値を加算して、利用ポイントを更新しているが、加算処理の代わりに、元のポイントと以下に示す係数との乗算処理を用いて、利用ポイントを更新してもよい。このとき、ステップS203では、加算する利用ポイントの和である利用親ポイントの代わりに、増加率(元の利用ポイントをどの程度増加させるかを示す値であり、この値に1を加えることで係数となる)の合計値である親増加率を算出する。
そして、ステップS906にて選択した分配ユーザurの推薦属性情報に対応する属性種別tiの属性値tijに関する分配率をrate(ur,ti,tij)とし、親増加率をsrとして、図73の式(1)により、係数m(ur,ti,tij)を算出する。また、利用ポイントの初期値が「0」であると、いくら倍率を掛け合わせても増加しないため、初期値を「0」を超える値で設定するか、初期値は「0」であるが、一番最初に利用ポイントの算出対象になった場合にのみ、一定のポイント数を加えればよい。
以上が、利用ポイント算出処理の手順の説明である。
また、全ての利用情報に対して、利用ポイント算出部711における利用ポイント算出処理を行っているが、利用ポイント算出処理を行う利用情報を人気アイテムに制限してもよい。人気アイテムとは多くのユーザに利用されているアイテムであり、アイテムごとに利用回数を調べ、利用回数が所定数以上のアイテム、または利用回数の多い順に所定数のアイテムを抽出し、人気アイテムとすればよい。このとき、端末装置3の表示部34に表示するユーザページに、例えば、図71の表示例のように、人気アイテムの情報と検索結果とを分けて表示する必要がある。図71の表示例では、左上に端末装置3を利用中のユーザのユーザ名と利用ポイントとを表示し、左下に人気アイテムの情報を表示している。また、右上に検索条件を入力するテキストボックスと検索条件送信処理のトリガーとなる「検索」ボタンとを表示し、右下に検索条件を満たすアイテム情報を表示している。
このため、ユーザページ情報作成部811にてユーザページ情報を作成する際に、人気アイテムのアイテム情報を用いる必要がある。人気アイテムのアイテム情報は、情報処理サーバ装置7にて取得することができる。具体的には、情報処理サーバ装置7の利用履歴格納部131に記憶されている利用情報を用いて、アイテム識別子ごとの利用回数を算出し、算出した利用回数に基づいて人気アイテムのアイテム識別子を抽出する。
そして、アイテム情報格納部139より、抽出したアイテム識別子に対応するアイテム属性情報を取得すればよい。また、利用情報が人気アイテムのものであるか否かを判定するために、端末装置3の利用情報作成部312にて利用情報を作成する際に、ユーザページに表示されている人気アイテムを利用した場合は人気アイテムであるという情報を付与し、人気アイテム以外のアイテム、例えば、検索結果として表示されたアイテムを利用した場合は人気アイテムではないという情報を付与する。この付与した情報を用いることで、人気アイテムの利用情報に対してのみ、利用ポイント算出処理を行うことができる。また、特定の期間に利用された利用回数を基に人気アイテムを選出してもよい。特定の期間は、サービス提供側が予め設定しておけばよい。
また、ユーザ情報格納部138に記憶されているユーザ属性情報に含まれる属性ごとに条件を指定し、指定した条件を満たすユーザの利用履歴のみで人気アイテムを抽出してもよい。このとき、端末装置3の表示部34に表示するユーザページに、例えば、図72の表示例のように、ユーザ属性情報に含まれる属性ごとに条件を自由に指定し、指定した条件を満たすユーザ利用情報のみで抽出された人気アイテムを表示できるようにする必要がある。図72の表示例では、図71の表示例に追加して、左上にユーザの属性情報の属性値を指定するためのメニューやテキストボックスが表示されている。
このため、まず、端末装置3が、情報処理サーバ装置7に、直接、または、アイテム提供サーバ装置8経由で、ユーザ属性情報に含まれる属性ごとに指定した条件を送信する。次に、情報処理サーバ装置7が、ユーザ情報格納部138より、受信したユーザ属性情報に含まれる属性ごとに指定した条件を満たすユーザ情報に含まれるユーザ識別子を全て抽出する。次に、情報処理サーバ装置7が、利用履歴格納部131に記憶されている利用履歴のうち、抽出したユーザ識別子のいずれかを含む利用履歴を全て用いて人気アイテムのアイテム識別子を抽出する。
次に、情報処理サーバ装置7が、アイテム情報格納部139より、抽出した全ての人気アイテムのアイテム識別子に対応するアイテム属性情報を全て取得し、端末装置3に、直接、または、アイテム提供サーバ装置8経由で、取得した全ての人気アイテムのアイテム情報を送信する。そして、端末装置3が、受信した人気アイテムのアイテム情報を用いてユーザページを更新し、出力部34に、更新したユーザページを表示できるようにする必要がある。この場合も、人気アイテムの抽出に用いる利用履歴を特定の期間に制限してもよい。また、ユーザ属性情報に含まれる属性ごとに条件を指定する代わりに、アイテム属性情報に含まれるアイテム属性ごとに条件を指定してもよい。
このとき、端末装置3にて、ユーザ属性情報の条件を指定する代わりに、アイテム属性情報の条件を指定できるようにする。さらに、情報処理サーバ装置7にて、人気アイテムのアイテム識別子を抽出する際に、アイテム情報格納部139より指定した条件を満たすアイテム属性情報に含まれるアイテム識別子を全て抽出し、抽出したアイテム識別子のいずれかを含む利用履歴を全て用いて人気アイテムのアイテム識別子を抽出すればよい。
ここで本実施形態において付与される利用ポイントと、本発明の第4実施形態において付与される利用ポイントの違いについて、具体例を用いて説明する。例えば、ある時点でのユーザの商品購入履歴が図57の左側の表で表わされているとする。その時点以降に、会員Aが「商品d」を購入した場合、すでに、「商品d」の作成者である「作者4」のアイテムである「商品d」と「商品e」を会員Bと会員Dと会員Eと会員Fの4人が購入しているため、本実施形態では会員Bと会員Dと会員Eと会員Fの4人に利用ポイントが付与される。一方、本発明の第4実施形態の方法では、図58に示したように「作者4」は会員Aの推薦属性ではないため、利用ポイントは誰にも付与されない。
また、ある時点以降に、会員Aが「商品c」を購入した場合、「作者3」のアイテムを既に購入している会員Bと会員Cと会員Dと会員Eと会員Fの5人に利用ポイントが付与される。一方、本発明の第4実施形態の方法では、分配対象は類似ユーザに限定されるため、利用ポイントが付与されるのは、会員Bと会員Cと会員Eと会員Fの3人になる。このように、本実施形態の方法によれば、第4実施形態の方法よりも更に、利用ポイントを付与するユーザ数を増やすことができる。また本実施形態は、第4実施形態よりも少ない処理量で処理を行うことができる。
次に、図57の左側の表の例において、ある時点以降に、ユーザAが商品cと商品dと商品eと商品fの4つを購入した場合(購入回数4回の場合)を考える。購入したユーザ本人にポイントを付与する通常のポイントシステム、あるいは購入したユーザに情報を提供した他のユーザ1人にポイントを付与するポイントシステムにおいては、ポイントが付与される回数は、どちらのシステムにおいても延べ4回である。一方、本実施形態では、商品cに関する購入で5回、商品dに関する購入で4回、商品eに関する購入で4回、商品fに関する購入で5回ポイントが付与されるため、延べ18回(5+4+4+5)ポイントが付与されることになる。更に、購入ユーザ本人にもポイントを付与すると、延べ22回(18+4=22)ポイントが付与される。
このように本実施形態によれば、ポイントを付与するユーザの数を更に増やしたり、ポイントが更新される頻度を更に高くすることができる。このため、「自分のポイントが今日増えているかも知れない」という期待感や、「予期せぬタイミングで急にポイントが増えて驚いた」といった意外性を多くのユーザに継続的に与えることができるので、アイテム提供サーバへのアクセス頻度を増やすことができる。そして、アイテムやアイテム提供サーバに対するユーザの関心をさらに高めて、アイテム利用をより促進することができる。
また、多くの種類のアイテムを利用したユーザほど、同じアイテムを後から他のユーザが利用する可能性が高いので、それに伴って後からポイントが付与される可能性も高くなる。このため、「より多くの種類のアイテムを利用しよう」というモチベーションが各々のユーザで高まり、アイテムの利用が促進される。また、早い時期にアイテムを利用したユーザほどポイントが増えるので、このようなポイントサービスの特性をユーザに通知することにより、「他のユーザが今後利用しそうなアイテムを予測して、いち早く利用しよう」というインセンティブが各々のユーザに働き、アイテムの利用が促進されるという効果が得られる。
なお、本発明は上述実施形態に限定されることなく、適宜変形して実施することができる。たとえば、上述においては利用ポイント算出処理や、推薦属性選出処理や、分配ユーザ選出処理などを情報処理サーバ装置1で行うようにしているが、これらの処理は、複数の情報処理装置によって分担して行うようにしてもよい。