説明

情報処理方法、情報処理装置、及び情報処理プログラム

【課題】ユーザのポイントサービスに対する関心を高め、アイテムの利用を促進する。
【解決手段】関連アイテムグループ選出ステップにおいて、関連アイテムグループ選出部が、関連度に基づいて、複数のアイテムを複数の関連候補アイテムグループへと振り分ける。不一致度算出ステップにおいて、不一致度算出部が、不一致度を、前記関連候補アイテムグループごとに算出する。関連アイテム情報作成ステップにおいて、関連アイテム情報作成部が、不一致の度合いが大きい関連候補アイテムグループに属するアイテムを優先的にユーザに提示するための関連アイテム情報を作成する。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は、ユーザが興味を持ったアイテムに関連した他のアイテムの推薦に係る情報処理を行う情報処理方法、情報処理装置、及び情報処理プログラムに関する。
【背景技術】
【0002】
近年、デジタル技術やネットワーク技術の進展により、ネットワークを使ってデジタルコンテンツや物品などのアイテムを配信したり、販売することが増えている。これに伴い、多数のアイテムの中から、ユーザが興味を持つ可能性の高いアイテムの情報を選択して提供する技術へのニーズが高まっている。
特に、あるアイテムと類似性の高い他のアイテムをユーザに推薦するアイテム推薦方式が、ネットワークショッピングサイト等で幅広く利用されている。
そして、ユーザに意外性や発見性や驚きを与えるために、ユーザにとって意外性の高いアイテム推薦の技術も提案されている。例えば、特許文献1には、あるアイテムの関連アイテムとして他のアイテムを提示する際に、あるアイテムと類似性の低いアイテムを優先的に関連アイテムとして選択する技術が開示されている。
【先行技術文献】
【特許文献】
【0003】
【特許文献1】特開2008−204235号公報
【発明の概要】
【発明が解決しようとする課題】
【0004】
上記特許文献1のように、類似性の低いアイテムを優先して関連アイテムとして提示する場合に、類似性の高いアイテムばかりを利用するようなユーザに対しては、通常の類似性の高いアイテムを関連アイテムとして提示するアイテム推薦方式に比べて、意外性の高い関連アイテムが提示されることが期待できる場合がある。このため、ユーザは、提示された関連アイテムに対して、意外性や発見性や驚きを感じ、試しに使ってみようという意識が働く。
【0005】
しかしながら、上記特許文献1においては、全てのユーザに対して、類似性の低い関連アイテムを一様に提示するため、類似性の高いアイテムばかりを利用しないユーザにとっては、提示される関連アイテムは見慣れている可能性が高く、意外性や発見性や驚きを感じる関連アイテムを提示できない。また、類似性の低い関連アイテムを提示することで、ユーザがあるアイテムとその関連アイテムにおける関連性を見い出せず、推薦に対する信頼性を損なってしまう。このため、ユーザが提示される関連アイテムに興味を失ってしまうことがあった。
【0006】
そこで本発明は、どのようなユーザに対しても、信頼性を損なわず、常に意外性の高い関連アイテムを提示することで、常にユーザに意外性や発見性や驚きを与えることを可能にし、ユーザの関連アイテムに関する興味を持続することで、アイテムに関する利用を促進することを目的とする。
【課題を解決するための手段】
【0007】
本発明は上述した従来の技術の課題を解決するため、関連アイテムグループ選出部が、一のアイテムである基準アイテムと、その基準アイテムとは異なる複数のアイテムとの間の関連度を算出し、その算出した関連度に基づいて、前記複数のアイテムを複数の関連候補アイテムグループへと振り分ける関連アイテムグループ選出ステップと、不一致度算出部が、ユーザのアイテムの利用に関する利用履歴に含まれるアイテム集合であるユーザ利用アイテム集合と、前記関連候補アイテムグループに属するアイテム集合である関連候補アイテム集合との不一致の度合いを示す不一致度を、前記関連候補アイテムグループごとに算出する不一致度算出ステップと、関連アイテム情報作成部が、特定のユーザを指定する情報と特定のアイテムを指定する情報とを含む関連アイテム情報取得要求を取得すると、その特定のユーザにおけるユーザ利用アイテム集合と、前記特定のアイテムを基準アイテムとした場合における前記関連候補アイテム集合との前記不一致度に基づいて、不一致の度合いが大きい関連候補アイテムグループに属するアイテムを優先的にユーザに提示するための関連アイテム情報を作成する関連アイテム情報作成ステップとを備えることを特徴とする情報処理方法を提供する。
また、本発明は上述した従来の技術の課題を解決するため、一のアイテムである基準アイテムと、その基準アイテムとは異なる複数のアイテムとの間の関連度を算出し、その算出した関連度に基づいて、前記複数のアイテムを複数の関連候補アイテムグループへと振り分ける関連アイテムグループ選出部と、ユーザのアイテムの利用に関する利用履歴に含まれるアイテム集合と、前記関連候補アイテムグループに属するアイテム集合との不一致の度合いを示す不一致度を、前記関連候補アイテムグループごとに算出する不一致度算出部と、特定のユーザを指定する情報と特定のアイテムを指定する情報とを含む関連アイテム情報取得要求を取得すると、その特定のユーザにおける利用履歴に含まれるアイテム集合と、前記特定のアイテムを基準アイテムとした場合における前記関連候補アイテムグループに属するアイテム集合との前記不一致度に基づいて、不一致の度合いが大きい関連候補アイテムグループに属するアイテムを優先的にユーザに提示するための関連アイテム情報を作成する関連アイテム情報作成部とを備えることを特徴とする情報処理装置を提供する。
また、本発明は上述した従来の技術の課題を解決するため、情報処理装置のコンピュータに、一のアイテムである基準アイテムと、その基準アイテムとは異なる複数のアイテムとの間の関連度を算出し、その算出した関連度に基づいて、前記複数のアイテムを複数の関連候補アイテムグループへと振り分ける関連アイテムグループ選出ステップと、ユーザのアイテムの利用に関する利用履歴に含まれるアイテム集合と、前記関連候補アイテムグループに属するアイテム集合との不一致の度合いを示す不一致度を、前記関連候補アイテムグループごとに算出する不一致度算出ステップと、特定のユーザを指定する情報と特定のアイテムを指定する情報とを含む関連アイテム情報取得要求を取得すると、その特定のユーザにおける利用履歴に含まれるアイテム集合と、前記特定のアイテムを基準アイテムとした場合における前記関連候補アイテムグループに属するアイテム集合との前記不一致度に基づいて、不一致の度合いが大きい関連候補アイテムグループに属するアイテムを優先的にユーザに提示するための関連アイテム情報を作成する関連アイテム情報作成ステップとを実行させることを特徴とする情報処理プログラムを提供する。
【発明の効果】
【0008】
本発明の情報処理方法、情報処理装置、及び情報処理プログラムによれば、どのようなユーザに対しても、信頼性を損なわず、常に意外性の高い関連アイテムを提示することで、常にユーザに意外性や発見性や驚きを与えることを可能にし、ユーザの関連アイテムに関する興味を持続することで、アイテムに関する利用を促進することができる。
【図面の簡単な説明】
【0009】
【図1】本発明の第1実施形態におけるシステム全体の構成図。
【図2】本発明の第1実施形態におけるアイテム提供サーバ装置1の構成図。
【図3】本発明の第1実施形態におけるユーザ情報格納部141の格納状態を示す図。
【図4】本発明の第1実施形態におけるアイテム情報格納部142の格納状態を示す図。
【図5】本発明の第1実施形態における利用履歴格納部143の格納状態を示す図。
【図6】本発明の第1実施形態における嗜好情報格納部144の格納状態を示す図。
【図7】本発明の第1実施形態における関連アイテムグループ格納部145の格納状態を示す図。
【図8】本発明の第1実施形態における所属グループ情報格納部146の格納状態を示す図。
【図9】本発明の第1実施形態における関連アイテムグループ選出処理の手順を示すフローチャート。
【図10】本発明の第1実施形態における嗜好度算出処理の手順を示すフローチャート。
【図11】本発明の第1実施形態における所属グループ選出処理の手順を示すフローチャート。
【図12】本発明の第1実施形態における関連アイテム情報作成処理の手順を示すフローチャート。
【図13】本発明の第1実施形態における端末装置3の構成図。
【図14】本発明の第1実施形態における表示部34に表示するユーザページの表示例を示す図。
【図15】本発明の第1実施形態における端末装置3での関連アイテムの表示に関する手順の一例を示すフローチャート。
【図16】本発明の第2実施形態におけるアイテム提供サーバ装置4の構成図。
【図17】本発明の第2実施形態における関連アイテム情報作成処理の手順を示すフローチャート。
【図18】第2実施形態おける図示しない所属グループ情報格納部446の格納状態を示す図。
【図19】本発明の第2実施形態における所属グループ選出処理の手順を示すフローチャート。
【発明を実施するための形態】
【0010】
<第1実施形態>
以下に、本発明の実施形態について、図を用いて詳細に説明する。図1は、本発明の第1実施形態におけるシステム全体の構成図である。本実施形態におけるシステムは、アイテム提供サーバ装置1と、1つ以上の端末装置3(3a〜3n)がネットワーク2を介して接続されている。
【0011】
ネットワーク2は、例えばインターネット等のネットワークであり、アイテム提供サーバ装置1と端末装置3との間の情報のやり取りを仲介する。
【0012】
アイテム提供サーバ装置1は、端末装置3の要求に応じて、アイテムを提供する装置である。ここでアイテムとは、テキスト、音声、音楽、映像等のデジタルコンテンツや様々な物品であり、更には金融商品、不動産、人物に関する情報等であってもよい。すなわち本実施形態におけるアイテムは、有形か無形かを問わず、有料か無料かも問わない。
アイテム提供サーバ装置1は、CPU、RAM、ROM、ハードディスクドライブ(HDD)、ネットワークインタフェース等を備えるコンピュータを用いて、ソフトウェア(プログラム)処理として実施することも可能である。なお、アイテム提供サーバ装置1を複数のコンピュータを用いて構成してもよい。例えば、負荷分散をするために、アイテム提供サーバ装置1の各部に相当する処理を行うコンピュータを複数用いて分散処理を行ってもよい。また、アイテム提供サーバ装置1の一部の構成の処理をあるコンピュータで実施し、他の構成の処理を別のコンピュータで実施する形態で分散処理を行ってもよい。
図2は、本実施形態におけるアイテム提供サーバ装置1の構成図である。本実施形態におけるアイテム提供サーバ装置1は、アイテム提供サーバ制御部11と、アイテム提供サーバ通信部12と、認証部13と、アイテム提供サーバ格納部14とで構成される。
【0013】
アイテム提供サーバ通信部12は、ネットワーク2を介して、端末装置3と通信を行う機能を有する。
【0014】
認証部13は、端末装置3または端末装置3を利用するユーザを認証する。認証部13は、端末装置3を利用するユーザを一意に識別するユーザ識別子、または端末装置3を一意に識別するための端末識別子と、パスワードとを関連付けて格納している。本実施形態では、ユーザ識別子を用いる場合を例にして説明するが、端末識別子を用いる場合も同様である。なお、ユーザ識別子や端末識別子のことを、利用主体識別子と呼ぶこととする。。また、ユーザ識別子とパスワードとの組合せを、利用者特定情報とする。認証部13では、端末装置3より受信した利用者特定情報と一致するものが格納されている場合に、認証成功とする。そして、認証に成功した利用者特定情報に対応するユーザを認証ユーザとする。
【0015】
アイテム提供サーバ格納部14は、HDDなどの記憶装置を用いて、様々なデータを記憶する。アイテム提供サーバ格納部14は、ユーザ情報格納部141と、アイテム情報格納部142と、利用履歴格納部143と、嗜好情報格納部144と、関連アイテムグループ格納部145と、ユーザ所属グループ格納部146とで構成される。
【0016】
ユーザ情報格納部141は、ユーザ情報を複数記憶する。図3は、ユーザ情報格納部141の格納状態を示す図である。ユーザ情報とは、端末装置3を利用するユーザを一意に識別するユーザ識別子であるuser_idとユーザ属性情報であるuser_infoとを関連付けたものであり、図3のようなテーブル形式で記憶する。ユーザ属性情報とは、ユーザの名前、年齢、性別、住所(地域)、趣味、会員になった時期(年月、日付、日時など)、メールアドレス、電話番号などの情報である。また、アイテム提供サーバ装置1にて商品の購入が可能であれば、商品の支払いを行うためのクレジットカード情報などを含んでもよい。
【0017】
アイテム情報格納部142は、アイテム情報を複数記憶する。図4は、アイテム情報格納部142の格納状態を示す図である。アイテム情報とは、アイテム識別子であるitem_idとアイテム属性情報であるitem_infoとを関連付けたものであり、図4のようなテーブル形式で記憶する。アイテム識別子とは、アイテムを一意に識別するためのものである。また、アイテム属性情報とは、例えば、アイテムの名称、制作者、制作年、ジャンル、価格、アイテムを利用するのに適したユーザの条件などの情報である。
【0018】
利用履歴格納部143は、利用履歴を複数記憶する。利用履歴とは、端末装置3より受信した、ユーザのアイテムに関する利用の履歴であり、少なくともユーザ識別子とアイテム識別子(利用アイテム識別子)とアイテムを利用した日時(利用日時)とを含む。図5(図5(a)〜図5(d))は、利用履歴格納部143の格納状態を示す図である。以下に図5を用いて、利用履歴の格納形式を4種類説明する。
利用履歴の第1の格納形式は、利用履歴に含まれるユーザ識別子(user_id)とアイテム識別子(item_id)と利用日時(date)とを関連付けて、図5(a)のようなテーブル形式で記憶する。
【0019】
利用履歴の第2の格納形式は、利用履歴に、ユーザのアイテムに対する利用回数が含まれている場合に用いるものであり、利用履歴に含まれるユーザ識別子(user_id)とアイテム識別子(item_id)と利用日時(date)と利用回数(count)とを関連付けて、図5(b)のようなテーブル形式で記憶する。
利用履歴の第3の格納形式は、利用履歴に、ユーザがアイテムに対して行った評価を数値化した評価値(例えば、「1:非常に嫌い」、「2:やや嫌い」、「3:どちらでもない」、「4:やや好き」、「5:非常に好き」といったように、好みの度合いを数値化したもの)が含まれている場合に用いるものであり、利用履歴に含まれるユーザ識別子(user_id)とアイテム識別子(item_id)と利用日時(date)と評価値(valueeval)とを関連付けて、図5(c)のようなテーブル形式で記憶する。
利用履歴の第4の格納形式は、利用履歴に、ユーザがアイテムに対して支払った額(支払い額)が含まれている場合に用いるものであり、利用履歴に含まれるユーザ識別子(user_id)とアイテム識別子(item_id)と利用日時(date)と支払い額(amount)とを関連付けて、図5(d)のようなテーブル形式で記憶する。
以上が、利用履歴の格納形式の説明である。上記以外にも、利用履歴に含まれている全ての情報を格納できるように、利用履歴の形態に合わせて格納形式を変更すればよい。
【0020】
また、端末装置3より受信した利用履歴には、利用日時が含まれていることを前提にしているが、もし利用日時が含まれていない場合は、利用履歴格納部143に、利用日時の代わりに、利用履歴を記憶するときの日時をdateとして記憶すればよい。また、dateを格納しなくてもよく、この場合でも、新しく追加されるデータは、必ずテーブルの末尾(一番下の行)に追加されるので、テーブル内の上に位置する行データほど古く、下に位置する行データほど新しいことになる。このため、2つの行の位置関係を調べることにより、2つのデータのどちらが古いかを容易に判定できる。また、利用履歴格納部143に、端末装置3より受信した全ての利用履歴を記憶するが、記憶した利用履歴が一定数を超えた場合は、古いものから削除してもよい。
【0021】
嗜好情報格納部144は、嗜好情報を複数記憶する。図126は、嗜好情報格納部144の格納状態を示す図である。嗜好情報とは、アイテム識別子(item_id)と、ユーザ識別子(user_id)と、アイテムに対するユーザの好みの度合いを数値化した嗜好度(p_value)とを関連付けたものであり、図126のようなテーブル形式で記憶する。(item_id,user_id)の組合せは一意とし、重複登録ができない。嗜好度の算出方法については、後に、図10を用いて詳細に説明する。
【0022】
関連アイテムグループ格納部145は、関連アイテムグループを複数記憶する。図7は、関連アイテムグループ格納部145の格納状態を示す図である。関連アイテムグループとは、基準となるアイテム(基準アイテム)のアイテム識別子(基準アイテム識別子(base_item_id))と、基準アイテムと関連のあるアイテム(関連アイテム)が属するグループを一意に識別するグループ識別子(group_id)と、関連アイテムのアイテム識別子(関連アイテム識別子(sim_item_id))と、基準アイテムと関連アイテムとの関連性を数値化した値(関連度(value))とを関連付けたものであり、図7のようなテーブル形式で記憶する。(base_item_id,group_id,sim_item_id)の組合せは一意とし、重複登録ができない。base_item_idとgroup_idとを指定することで、base_item_idとgroup_idとに対応する関連アイテム識別子を全て取得することができる。ここでは、1つのテーブルに2種類のアイテム識別子を格納するために、base_item_id、sim_item_idという名称を付けて区別しているが、これらはアイテム情報格納部142などに格納されているitem_idと同じものである。また、関連アイテムグループ格納部145に関連度を格納しているが、関連度を格納する代わりに、例えば、アイテム間の関連性の高い順に1番からの通し番号を付与した順位(関連順位)を格納してもよいし、関連度と関連順位の両方を格納してもよい。また、関連度を格納せずに、基準アイテム識別子とグループ識別子と関連アイテム識別子のみを関連アイテムグループとして格納してもよい。
【0023】
所属グループ情報格納部146は、所属グループ情報を複数記憶する。所属グループ情報とは、ユーザに提供する関連アイテムのグループを示す情報であり、少なくともユーザ識別子とグループ識別子を含む。図8(図8(a)〜図8(b))は、所属グループ情報格納部146の格納状態を示す図である。以下に図8を用いて、所属グループ情報の格納形式を2種類説明する。
所属グループ情報の第1の格納形式は、ユーザ識別子(user_id)とグループ識別子(group_id)とを関連付けて、図8(a)のようなテーブル形式で記憶する。user_idは一意とし、重複登録ができない。所属グループ情報の第1の格納形式は、関連アイテム取得時に、グループ識別子が一致する関連アイテムのみを取得する場合に用いるものである。
【0024】
所属グループ情報の第2の格納形式は、ユーザ識別子(user_id)とグループ識別子(group_id)と取得比率(rate)とを関連付けて、図8(b)のようなテーブル形式で記憶する。(user_id,group_id)の組合せは一意とし、重複登録ができない。所属グループ情報の第2の格納形式は、関連アイテム取得時に、各グループ識別子ごとに、取得の比率に応じて関連アイテムを取得する場合に用いるものである。また、1ユーザの全てのgroup_idに対応する取得比率の合計値は「1」となる。
以上が、所属グループ情報の格納形式の説明である。
【0025】
アイテム提供サーバ制御部11は、アイテム提供サーバ装置1を構成する各部に対して、全体的な制御を行う。アイテム提供サーバ制御部11は、ユーザページ情報作成部111と、利用履歴登録部112と、関連アイテムグループ選出部(関連データグループ作成部)113と、所属グループ選出部(不一致度算出部)114と、関連アイテム情報作成部(関連データ提示部)115とで構成される。
【0026】
ユーザページ情報作成部111は、端末装置3から受信したデータに応じて、以下の2種類の処理を行う。
ユーザページ情報作成部111の第1の処理は、ユーザページ情報送信処理であり、端末装置3よりユーザページ情報取得要求を受信し、かつ、認証部13にて認証成功した場合に、この処理を行う。ユーザページ情報取得要求とは、ユーザページ情報の取得を要求する情報であり、認証部13にて認証を行うために、少なくとも利用者特定情報を含む。ユーザページ情報とは、端末装置3に検索画面や、利用履歴の閲覧画面や、関連アイテム情報の閲覧画面を表示させるために必要な情報である。例えば、HTML(Hyper Text Markup Language)形式を用いてユーザページ情報を作成してもよいし、これ以外のデータ形式を用いてもよい。
【0027】
ユーザページ情報送信処理とは、認証ユーザのユーザページ情報を作成し、認証ユーザが利用中の端末装置3に、作成したユーザページ情報を送信する処理であり、まず、利用履歴格納部244より、認証ユーザのユーザ識別子に対応する全ての利用履歴を抽出する。次に、抽出した利用履歴を用いて、ユーザページ情報を作成する。そして、ネットワーク2を介して、端末装置3に、作成したユーザページ情報を送信する。また、利用履歴を全て抽出せずに、特定の条件を満たすもののみを抽出してもよい。特定の条件とは、例えば、最新のものからサービス提供側が予め設定した件数を超えない範囲で抽出するとしてもよいし、過去の特定の時点から、ユーザページ情報送信処理を行っている時点(現在)までの間の利用履歴を抽出するとしてもよい。過去の特定の時点は、サービス提供側が予め定めておけばよく、例えば、ユーザページ情報送信処理を行っている時点から3ヶ月前や、半年前や、1年前とすればよい。
【0028】
ユーザページ情報作成部111の第2の処理は、検索結果送信処理であり、ネットワーク2を介して、端末装置3より検索条件を受信すると、この処理を行う。ここで検索条件とは、利用するアイテムを絞り込むために用いる条件であり、例えば、ジャンル名、製作者、キーワード、価格の上限や下限などである。検索結果送信処理とは、端末装置3に、受信した検索条件を満たすアイテム情報を送信する処理であり、まず、アイテム情報格納部142より、検索条件を満たすアイテム属性情報を有するアイテム情報を全て抽出する。そして、ネットワーク2を介して、端末装置3に、抽出した全てのアイテム情報を送信する。
【0029】
利用履歴登録部112は、ネットワーク2を介して、端末装置3より利用者特定情報と利用履歴とを受信し、かつ、認証部13にて認証が成功した場合に、利用履歴登録処理を行う。利用履歴登録処理とは、利用履歴格納部143に、受信した利用履歴を格納する処理である。
【0030】
関連アイテムグループ選出部113は、所定のタイミングごとに、嗜好情報格納部144に記憶されている嗜好情報と、関連アイテムグループ格納部145に記憶されている関連アイテムグループとを全て削除した後、関連アイテムグループ選出処理を行う。所定のタイミングとしては、所定の時間間隔(例えば24時間ごと)を用いてもよいし、利用履歴を一定回数受信するごととしてもよい。また、月曜日〜金曜日までは3時間ごと、土曜日は6時間ごと、日曜日は12時間ごと、というように時間間隔が変動してもよい。また、夏は時間間隔を短くして、冬は時間間隔を長くするなど、季節に応じて時間間隔を変えてもよい。
アイテムの利用に関する処理と関連アイテムグループ選出処理を同じ装置で行う場合において、負荷の高い関連アイテムグループ選出処理が、利用の多い時期に何度も実行されることで装置に多大な負荷がかからないように、曜日や季節に応じて時間間隔を変えることで、関連アイテムグループ選出処理が、利用の多い時期に何度も実行しないように調整することができる。また、逆に、アイテムの利用に関する処理と関連アイテムグループ選出処理とを別々の装置で行うといったように、関連アイテムグループ選出処理による負荷が影響なければ、曜日や季節に応じて時間間隔を変えることで、利用の多い時期に頻繁に関連アイテムグループ選出処理を行うことで、常に最新の利用履歴に応じた関連アイテムグループを維持することができる。
また、アイテムを新しく追加する頻度が、曜日や季節で異なっている場合、新規アイテムが頻繁に追加される時期に、時間間隔を短くして関連アイテムグループ選出処理を行うことで、最新のアイテムを関連アイテムグループに反映させ易くなる。また、新規アイテムがあまり追加されない時期には、時間間隔を長くして関連アイテムグループ選出処理を行うことで、装置に不要な負荷をかけないようにすることができる。
【0031】
関連アイテムグループ選出処理の手順を図9のフローチャートを用いて説明する。
まず、関連アイテムグループ選出部113が、嗜好度算出処理を行う(ステップS101)。
次に、関連アイテムグループ選出部113が、嗜好情報格納部144より、item_idを重複無しで全て抽出する(ステップS102)。
次に、関連アイテムグループ選出部113が、ステップS102にて抽出したitem_idのうち、例えば、抽出した順に、1つ選択する(ステップS103)。
【0032】
次に、関連アイテムグループ選出部113が、嗜好情報格納部144より、ステップS1023にて選択したitem_idに対応するアイテム(基準アイテムとみなす)の嗜好情報と、基準アイテムを利用したことのある何れかのユーザが利用した他のアイテム(関連候補アイテム)の全ての嗜好情報を取得する(ステップS104)。関連候補アイテムの嗜好情報を全て取得するには、基準アイテムの嗜好情報を除く全ての嗜好情報のうち、基準アイテムの全ての嗜好情報に含まれるユーザ識別子の何れかを有する嗜好情報を全て取得すればよい。また、取得する関連候補アイテムの嗜好情報に対して、基準アイテムの嗜好情報との時間順序を考慮してもよい。例えば、基準アイテムより後に利用された関連候補アイテムの嗜好情報のみを取得すればよい。時間順序を考慮するためには、嗜好情報格納部144に、利用日時の代表値(平均値や最大値や最小値や中央値)を格納する列を追加し、後述する嗜好度算出処理にて、利用日時の代表値を算出して、嗜好度とともに関連付けて記憶すればよい。また、嗜好情報格納部144に、利用日時の代表値を格納する代わりに、このステップで、利用履歴格納部143に記憶されている利用情報を用いることで、利用日時の代表値を算出してもよい。このように、基準アイテムと関連候補アイテムを共に利用したユーザが少なくとも1人いるという関連性が存在するので、関連アイテムの信頼性を保つことができる。
【0033】
次に、関連アイテムグループ選出部113が、ステップS104にて取得した嗜好情報を用いて、関連候補アイテムごとに、基準アイテムとの関連度を算出する(ステップS105)。関連度を算出する方法として例えば、Jaccard(ジャカード)係数を用いることができる。Jaccard係数を用いる場合は、アイテムxを利用したことのあるユーザ集合をUx、アイテムyを利用したことのあるユーザ集合をUy、アイテムxとアイテムyを共に利用したことのあるユーザ数を|Ux ∩ Uy|とし、アイテムxとアイテムyの少なくとも一方を利用したことのあるユーザ数を|Ux ∪ Uy|としたとき、関連度は式(1)で算出することができる。
【0034】
【数1】

【0035】
また、関連度算出に、コサイン距離やピアソン積率相関係数を用いることもできる。コサイン距離を用いる場合は、例えば、アイテムxを利用したことのあるユーザ集合をUxとし、アイテムxのユーザux(ux∈Ux)に対する嗜好度をV(x,ux)、アイテムyを利用したことのあるユーザ集合をUyとし、アイテムyのユーザuy(uy∈Uy)に対する嗜好度をV(y,uy)、アイテムxとアイテムyを共に利用したことのあるユーザをUcとし、アイテムxのユーザuc(uc∈Uc)に対する嗜好度をV(x,uc)、アイテムyのユーザucに対する嗜好度をV(y,uc)としたとき、関連度は式(2)で算出することができる。
【0036】
【数2】

【0037】
また、ピアソン積率相関係数を用いる場合は、例えば、アイテムxとアイテムyを共に利用したことのあるユーザをUcとし、Ucに属するユーザの数をnとし、アイテムxのユーザuc(uc∈Uc)に対する嗜好度をV(x,uc)、アイテムyのユーザucに対する嗜好度をV(y,uc)としたとき、関連度は式(3)で算出することができる。
【0038】
【数3】

【0039】
これ以外にも、2アイテム間の関連性を表す指標であれば、どのようなものを用いてもよい。また、関連アイテムの関連性を一定の水準以上に維持するために、算出した関連度がサービス提供側が予め設定した閾値以下のものを関連候補アイテムから除外してもよい。なお、関連度算出に用いた嗜好度を第2の嗜好度とする。
【0040】
次に、関連アイテムグループ選出部113が、全ての関連候補アイテムを、ステップS105にて算出した関連度に応じて、所定数のグループに振り分ける(ステップS106)。このとき、関連候補アイテムグループには、グループとしてまとめた順に、グループ識別子を昇順で付与する。つまり、関連候補アイテムグループの数が「n」の場合、グループ識別子を「1」,「2」,…,「n」や「g1」,「g2」,…,「gn」といった順番で付与すればよい。所定数は、「2」以上の整数として、サービス提供側が予め設定しておけばよい。関連候補アイテムグループ振分方法を、以下に2種類示す。
【0041】
関連候補アイテムグループ振分の第1の方法は、関連度の高い順に、関連候補アイテムを所定数のグループに振り分ける方法である。具体的には、関連候補アイテムに対して関連度の高い順に順位を付与し、その順位が所定の範囲にある関連候補アイテムを、1つのグループにまとめればよい。これにより、関連度の高い順に、関連候補アイテムを所定数のグループに振り分けることができる。このとき、グループごとのアイテム数の合計値は、関連候補アイテム数と等しくなる。なお、グループ間のアイテム数の偏りが小さくなるように、アイテム数の差が「±1」に収まるように設定するのがよいが、ランダムにアイテム数を設定してもよい。
【0042】
関連候補アイテムグループ振分の第2の方法は、グループごとに閾値を設定し、設定した閾値を用いることで、関連候補アイテムを所定数のグループに振り分ける方法である。具体的には、グループごとに、2つの閾値を用意し、2つの閾値のうちの大きい方の閾値(th1)以下であり、小さい方の閾値(th2)より大きい関連度(s:th1≧s>th2)を有する関連候補アイテムを1つのグループにまとめればよい。これを繰り返すことで所定数のグループにアイテムを振り分けることができる。関連候補アイテムグループ振分の第2の方法を用いた場合は、2つの閾値の範囲に収まる関連度を有する関連候補アイテムが存在しないため、グループに1つもアイテムが存在しない場合がある。その代わり、グループごとに、グループに所属する関連候補アイテムの関連度の範囲を調整することができる。閾値は、基準アイテムごとにグループ数に応じた閾値を予めサービスの提供側が設定しておけばよい。また、基準アイテムごとに閾値を設定せずに、グループ数に応じて設定した閾値を全ての基準アイテムに対して適用してもよい。また、関連アイテムグループ選出処理のたびに、サービス提供側が閾値を再設定してもよい。
【0043】
上記2種類の振分方法は、関連度の高い順に、関連候補アイテムをまとめている。このため、2つの関連候補アイテムグループを比較した際に、先にまとめたグループの任意の関連候補アイテムは、後にまとめたグループのどの関連候補アイテムの関連度よりも高いという性質をもっている。上記2種類の方法以外にも、上記の性質を有する振分方法であれば、どのような振り分け方法でもよい。基準アイテムに対するグループ数は全て等しくなるようにしなければならない。
次に、関連アイテムグループ選出部113が、ステップS106にて振り分けた関連候補アイテムグループのうち、例えば、グループ識別子を付与した順に、1つ選択する(ステップS107)。
【0044】
次に、関連アイテムグループ選出部113が、ステップS107にて選択した関連候補アイテムグループの中から関連アイテムを選出する(ステップS108)。関連アイテムを選出するには、関連候補アイテムグループの中から、ランダムに所定数まで関連候補アイテムを関連アイテムとして選出してもよい。また、関連度の高い順に、所定数まで選出してもよい。また、逆に、関連度の低い順に、所定数まで選出してもよい。また、関連候補アイテム全てを関連アイテムとしてもよい。つまり、関連候補アイテムグループに含まれる関連候補アイテムからであれば、どのように選んでもよい。所定数は、予めサービス提供側が定めておく必要がある。
【0045】
次に、関連アイテムグループ選出部113が、ステップS108にて選出した関連アイテムごとに、関連アイテムグループ格納部145に、ステップS103にて選択した基準アイテムのitem_id(base_item_id)と、ステップS107にて選出した関連候補アイテムグループのグループ識別子(group_id)と、関連アイテムのアイテム識別子(sim_item_id)と、基準アイテムと関連アイテムとの関連度(value)とを関連付けた関連アイテムグループを記憶する(ステップS109)。
次に、関連アイテムグループ選出部113が、ステップS107にて全ての関連候補アイテムグループを選択したか否かを判定する(ステップS110)。全て選択した場合はステップS111へ進み、まだ未選択のものが残っている場合はステップS107へ進む。
次に、関連アイテムグループ選出部113が、ステップS103にて抽出した全てのitem_idを選択したか否かを判定する(ステップS111)。全て選択した場合はステップS101からステップS111までの一連の処理を終了し、まだ未選択のものが残っている場合はステップS103へ進む。
【0046】
次に、ステップS101の嗜好度算出処理の手順を、図10のフローチャートを用いて説明する。
まず、関連アイテムグループ選出部113が、嗜好情報格納部144より、item_idを重複無しで全て抽出する(ステップS201)。
次に、関連アイテムグループ選出部113が、ステップS201にて抽出したitem_idのうち、例えば、抽出した順に、1つ選択する(ステップS202)。
次に、関連アイテムグループ選出部113が、利用履歴格納部143より、ステップS202にて選択したitem_idを含む利用履歴を全て取得する(ステップS203)。
次に、関連アイテムグループ選出部113が、ステップS203にて取得した利用履歴より、user_idを重複なしで全て抽出する(ステップS204)。
次に、関連アイテムグループ選出部113が、ステップS204にて抽出したuser_idのうち、例えば、抽出した順に、1つ選択する(ステップS205)。
次に、関連アイテムグループ選出部113が、ステップS203にて取得した利用履歴のうち、ステップS405にて選択したuser_idを含むもの(嗜好度算出対象利用履歴)のみを用いて、嗜好度を算出する(ステップS206)。以下に、嗜好度算出方法を8種類説明する。
【0047】
嗜好度算出の第1の方法は、嗜好度を「1」として算出する方法である。この方法は、嗜好度に対するユーザ一人ひとりの影響力(重み)を全て平等(同じ)に扱っている。また、計算量が最も少なくなる。
嗜好度算出の第2の方法は、全利用回数を嗜好度として算出する方法である。全利用回数は、利用履歴格納部143の第2の格納形式のように利用回数が記憶されている場合に、嗜好度算出対象利用履歴に含まれる利用回数の和を全利用回数とすればよい。また、利用回数を含まない場合は、嗜好度算出対象利用履歴の数を全利用回数とすればよい。この方法は、嗜好度に対するユーザ1人ひとりの影響力(重み)を変えており、嗜好度算出対象のアイテムに対する全利用回数の多いユーザほど影響力が強いことになる。
【0048】
嗜好度算出の第3の方法は、利用履歴格納部143の第3の格納形式のように評価値が記憶されている場合にのみ用いることができる方法であり、嗜好度算出対象利用履歴に含まれる評価値の代表値(評価値の和や平均値や最大値や最小値や中央値や最新の日付に対応する評価値)を嗜好度として算出する方法である。この方法は、嗜好度に対するユーザ1人ひとりの影響力(重み)を変えており、嗜好度算出対象のアイテムに対する評価が高いユーザほど影響力が強いことになる。
嗜好度算出の第4の方法は、利用履歴に含まれる利用日時を用いて、利用日時の古い利用履歴ほど大きな重みを付けて嗜好度を算出する方法である。例えば、嗜好度算出対象利用履歴ごとに、関連アイテム選出処理を行う日付(現在)と、その利用日時との差を算出し、その差の代表値(総和や平均値や最大値や最小値)を算出すればよい。この方法は、嗜好度に対するユーザ1人ひとりの影響力(重み)を変えており、嗜好度算出対象のアイテムを早く利用したユーザほど影響力が強いことになる。
【0049】
嗜好度算出の第5の方法は、利用履歴に含まれる利用日付を用いて、利用日時の新しい利用履歴ほど大きな重みを付けて嗜好度を算出する方法である。例えば、嗜好度算出対象利用履歴ごとに、関連アイテム選出処理を行う日付(現在)と、その利用日時との差を算出し、その差の逆数の代表値(総和や平均値や最大値や最小値や中央値)を算出すればよい。この方法は、嗜好度に対するユーザ1人ひとりの影響力(重み)を変えており、嗜好度算出対象のアイテムを後で利用したユーザほど影響力が強いことになる。また、逆数を用いて、日付差が大きくなるほど分配率が小さくなるようにしているが、他の方法を用いてもよい。例えば、底が0より大きく、かつ1未満である指数関数(単調減少関数)を用いてもよい。
【0050】
ここで、嗜好度算出の第4と第5の方法は、関連アイテム選出処理を行う日付(現在)と、利用日時との差が「0」にならないような処理をする必要がある。
嗜好度算出の第6の方法は、利用履歴格納部143の第4の格納形式のように支払い額記憶されている場合にのみ用いることができる方法であり、嗜好度算出対象利用履歴に含まれる支払い額の代表値(総和や平均値や最大値や最小値や中央値)を嗜好度として算出する方法である。この方法は、嗜好度に対するユーザ1人ひとりの影響力(重み)を変えており、嗜好度算出対象のアイテムに対する支払い額が高いユーザほど影響力が強いことになる。
【0051】
嗜好度算出の第7の方法は、ユーザ情報格納部141に記憶されたユーザ情報にユーザが会員になった日付(入会日)が含まれる場合に、入会日の古いユーザほど大きな重みを付けて嗜好度を算出する方法である。例えば、関連アイテム選出処理を行う日付(現在)と、入会日との差の代表値(総和や平均値や最大値や最小値や中央値)を嗜好度として算出すればよい。この方法は、嗜好度に対するユーザ1人ひとりの影響力(重み)を変えており、早く会員になったユーザほど影響力が強いことになる。
【0052】
嗜好度算出の第8の方法は、ユーザ情報格納部141に記憶されたユーザ情報に入会日が含まれる場合に、入会日の新しいユーザほど大きな重みを付けて嗜好度を算出する方法である。例えば、関連アイテム選出処理を行う日付(現在)と、入会日との差の逆数の代表値(総和や平均値や最大値や最小値や中央値)を嗜好度として算出すればよい。この方法は、嗜好度に対するユーザ1人ひとりの影響力(重み)を変えており、後で(最近になって)会員になったユーザほど影響力が強いことになる。また、逆数を用いて、日付差が大きくなるほど分配率が小さくなるようにしているが、他の方法を用いてもよい。例えば、底が0より大きく、かつ1未満である指数関数(単調減少関数)を用いてもよい。
ここで、嗜好度算出の第7と第8の方法は、関連アイテム選出処理を行う日付(現在)と、入会日との差が「0」にならないような処理をする必要がある。
【0053】
また、上記の嗜好度算出の第1〜嗜好度算出の第8の方法を組み合わせて嗜好度を算出してもよい。例えば、それぞれの方法で嗜好度(嗜好度1〜嗜好度N)を算出し、それらの嗜好度を加算した値、乗算した値、それらの嗜好度の平均値などを総合的な嗜好度として用いてもよい。また、嗜好度算出の第3の方法と第6の方法を組合せて、評価値と支払い額との積を算出し、その積の総和を嗜好度として算出してもよい。
【0054】
次に、関連アイテムグループ選出部113が、嗜好情報格納部144に、ステップS202で選択したitem_idと、ステップS205にて選択したuser_idと、ステップS206にて算出した嗜好度(p_value)とを関連付けた嗜好情報を記憶する。(ステップS207)
次に、関連アイテムグループ選出部113が、ステップS205にて抽出した全てのuser_idを選択したか否かを判定する(ステップS208)。全て選択した場合はステップS209へ進み、まだ未選択のものが残っている場合はステップS205へ進む。
ステップS209では、関連アイテムグループ選出部113が、ステップS202にて抽出した全てのitem_idを選択したか否かを判定する。全て選択した場合はステップS201からステップS209までの一連の処理を終了し、まだ未選択のものが残っている場合はステップS202へ進む。
【0055】
なお、関連アイテムを選出する対象のアイテムを制限してもよい。このとき、ステップS102にて、嗜好情報格納部144よりitem_idを取得する際に、所定の条件、例えば、所定数以上のユーザに利用されたアイテムのitem_idのみを取得するとしてもよい。所定数はサービス提供側が予め決めておけばよい。さらに、特定の期間において、所定数以上のユーザに利用されたitem_idのみを取得するとしてもよい。特定の期間はサービス提供側が予め決めておけばよい。また、ステップS304にて、嗜好情報格納部144より、関連候補アイテムの嗜好情報を取得する際に、関連候補アイテムにも同様に制限をかけてもよい。このときも同様に、関連候補アイテムの中で、所定数以上のユーザに利用された関連候補アイテムの嗜好情報のみ取得してもよいし、特定の期間において、所定数以上のユーザに利用された関連候補アイテムの嗜好情報のみを取得してもよい。
【0056】
また、利用履歴を用いて2アイテム間の関連度を算出する代わりに、アイテム属性情報を用いて2アイテム間の適合度を算出し、その適合度を用いて関連アイテムを選出してもよい。適合度とは、アイテム属性情報を用いてアイテム同士の相性の良さを数値化したものである。このとき、ステップS102にて、さらに、アイテム情報格納部142より、取得したitem_idに対応するアイテム属性情報を全て取得する。そして、ステップS104の処理を省略し、ステップS105にて関連度を算出する代わりに、ステップS103にて選択したitem_idに対応するアイテム属性情報と、それ以外のアイテム属性情報との間の適合度を算出すればよい。このとき、適合度が「0」となったものは、基準アイテムと関連候補アイテムの関連性が全くないので、関連候補アイテムから除外する必要がある。
【0057】
適合度として、2つのアイテム属性情報間の属性値の一致数を用いることができる。例えば、アイテム属性情報に含まれる属性がジャンルと作者と価格である場合に、一方の属性値が「ジャンルY」、「作者b」、「1200円」であり、他方の属性値が「ジャンルY」、「作者t」、「1200円」であるとき、一致する属性数が2であるため、適合度を「2」とする。また、一致する属性値の条件は、属性ごとにサービス提供者側が自由に決めてよく、例えば、価格なら属性値の差が「1000円」未満なら一致とするとしてもよい。「ジャンル」など他の属性についても同様の処理を行ってよい。また、属性ごとに異なる重みをつけて適合度を算出してもよい。例えば、「作者」が一致する場合には、「価格」が一致する場合よりも適合度が2倍大きくなるように算出してもよい。また、関連アイテムの関連性を一定の水準以上に維持するために、算出した適合度がサービス提供側が予め設定した閾値以下のものを関連候補アイテムから除外してもよい。
【0058】
また、嗜好度算出処理で用いる利用履歴を、過去の特定の時点から、嗜好度算出処理を行っている時点(現在)までの間に利用されたアイテムに関する利用履歴のみに制限してもよい。過去の特定の時点は、サービス提供側が予め決めておけばよく、例えば、嗜好度算出処理を行っている時点から3ヶ月前や、半年前や、1年前とすればよい。このとき、ステップS201にて、利用履歴格納部143よりitem_idを抽出する際に、過去の特定の時点以降の利用履歴に含まれるitem_idのみ抽出すればよい。また、ステップS203にて、利用履歴格納部143より利用履歴を取得する際に、過去の特定の時点以降の利用履歴を取得すればよい。
【0059】
また、ユーザ情報格納部141に記憶されているユーザ情報に含まれるユーザ属性情報を用いて、嗜好度算出処理に用いる利用履歴を制限してもよい。このとき、ステップS201にて、利用履歴格納部143よりitem_idを抽出する際に、所定条件(例えば、「20代女性」)のユーザ属性を持つユーザのuser_idを含む利用履歴のみから取得すればよい。もちろん、所定条件として何も指定しなくてもよい。さらに、ステップS203でも、同様に取得する利用履歴に含まれるuser_idに所定条件を指定してもよい。
【0060】
また、アイテム情報格納部142に記憶されているアイテム情報に含まれるアイテム属性情報を用いて、嗜好度算出処理に用いる利用履歴を制限してもよい。このとき、ステップS201にて、利用履歴格納部143よりitem_idを抽出する際に、所定条件(例えば、ジャンル「フィクション」)のアイテム属性を持つアイテムのitem_idのみを取得すればよい。もちろん、所定条件として何も指定しなくてもよい。
以上が、関連アイテム選出処理の手順の説明である。
【0061】
所属グループ選出部114は、所定のタイミングごとに、所属グループ選出処理を行う。この所定のタイミングとしては、関連アイテムグループ選出処理を行う所定のタイミングと同様に種々のタイミングを用いることができる。また、関連アイテムグループ選出処理を行う所定のタイミングと同期していても、同期していなくてもよい。
所属グループ選出処理の手順を図11のフローチャートを用いて説明する。
まず、所属グループ選出部114が、利用履歴格納部143より、重複なしで全てのuser_idを抽出する(ステップS301)。
次に、所属グループ選出部114が、ステップS301にて抽出したuser_idのうちの1つを選択する。例えば取得した順に、1つずつ選択すればよい(ステップS302)。
【0062】
次に、所属グループ選出部114が、グループごとに、関連アイテムグループとの不一致度の総和を一時的に格納するための変数s(g(i))(i=1,2,…,n:g(i)はグループ識別子)を用意し、不一致度を算出したアイテム数を一時的に格納するための変数c(g(i))を用意する。全ての変数の初期値は「0」とする。
次に、所属グループ選出部114が、関連アイテムグループ格納部145より、重複なしで全てのbase_item_idを抽出する(ステップS304)。抽出するbase_item_idは、ステップS302にて選択したuser_idが過去に利用したことのあるアイテムのアイテム識別子と一致するものに限定してもよい。
【0063】
次に、所属グループ選出部114が、ステップS304にて抽出したbase_item_idのうちの1つを選択する。例えば取得した順に、1つずつ選択すればよい(ステップS305)。
次に、所属グループ選出部114が、グループの数をカウントする変数iの初期値を1とする(ステップS306)。
次に、所属グループ選出部114が、関連アイテムグループ格納部145より、ステップS305にて選択したbase_item_idと、i番目のグループ識別子g(i)とに対応する関連アイテムグループを全て取得する(ステップS307)。
【0064】
次に、所属グループ選出部114が、利用履歴格納部143より、ステップS302にて選択したuser_idに対応する利用履歴(基準ユーザ利用履歴)を全て取得し、取得した利用履歴とステップS307にて取得した関連アイテムグループとを用いて、ステップS302にて選択したuser_idと、ステップS305にて選択したbase_item_idのグループg(i)に対応する関連アイテムグループ(不一致度算出対象グループ)との不一致度を算出する(ステップS308)。不一致度算出方法として、以下に5種類用いることができる。
【0065】
不一致度算出方法の第1の方法は、不一致度算出対象グループに属する関連アイテムが、基準ユーザ利用履歴に対応するアイテムの何れかと一致する割合(関連アイテム利用率)を用いた算出方法であり、関連アイテム利用率が高いほど不一致度が低くなるようにする。ステップS305にて選択したbase_item_idに対応する基準アイテムをibの不一致度算出対象グループに属する関連アイテム集合Is(ib,g(i))に属するアイテムの数を|Is(ib,g(i))|とし、ステップS302にて選択したuser_idに対応するユーザubの基準ユーザ利用履歴に対応するアイテムの集合Iu(ub)と関連アイテム集合Is(ib,g(i))との積集合Iu(ub)∩Is(ib,g(i))の数を|Iu(ub)∩Is(ib,g(i))|としたとき、関連アイテム利用率v1(ub,ib,g(i))は式(4)で表わされる。
【0066】
【数4】

【0067】
このとき、不一致度da(ub,ib,g(i))は、関連アイテム利用率が取りうる最大値mv1(関連アイテム利用率の最大値は「1」になる)としたとき、式(5)で算出できる。
【0068】
【数5】

【0069】
もちろん、関連アイテム利用率の逆数を用いた式(6)や、関連アイテム利用率に「−1」をかけた値を指数部に入れた指数関数を用いた式(7)を用いて、不一致度da(ub,ib,g(i))を算出してもよい。
【0070】
【数6】

【0071】
【数7】

【0072】
式(6)では分母で関連アイテム利用率に「1」を加算しているが、これは分母が「0」にならないために加算しているものであるので、分母が「0」にならなければ「1」以外の値でもよい。これ以外にも、関連アイテム利用率が高いほど不一致度が低くなるような計算式であればどんなものを用いてもよい。
【0073】
不一致度算出方法の第2の方法は、基準ユーザ利用履歴に対応するアイテムの集合における、不一致度算出対象グループに属する関連アイテムの占有率(関連アイテム占有率)を用いた算出方法であり、関連アイテム占有率が高いほど不一致度が低くなるようにする。アイテム集合Iu(ub)の数を|Iu(ub)|としたとき、関連アイテム占有率v2(ub,ib,g(i))は式(8)で表わされる。
【0074】
【数8】

【0075】
このとき、不一致度da(ub,ib,g(i))は、式(5)において、v1(ub,ib,g(i))をv2(ub,ib,g(i))に、mv1を関連アイテム占有率が取りうる最大値mv2(関連アイテム占有率の最大値は「1」になる)に置き換えることで算出することができる。また、式(6)や式(7)において、v1(ub,ib,g(i))をv2(ub,ib,g(i))に置き換えることで、不一致度da(ub,ib,g(i))を算出することもできる。これ以外にも、関連アイテム占有率が高いほど不一致度が低くなるような計算式であればどんなものを用いてもよい。
【0076】
不一致度算出方法の第3の方法は、Jaccard係数を用いた算出方法であり、Jaccard係数が高いほど不一致度が低くなるようにする。アイテム集合Iu(ub)と関連アイテム集合Is(ib,g(i))との和集合Iu(ub)∪Is(ib,g(i))の数を|Iu(ub)∪Is(ib,g(i))|としたとき、Jaccard係数v3(ub,ib,g(i))は式(9)で表わされる。
【0077】
【数9】

【0078】
このとき、不一致度da(ub,ib,g(i))は、式(5)において、v1(ub,ib,g(i))をv3(ub,ib,g(i))に、mv1をJaccard係数が取りうる最大値mv3(Jaccard係数の最大値は「1」になる)に置き換えることで算出することができる。また、式(6)や式(7)において、v1(ub,ib,g(i))をv3(ub,ib,g(i))に置き換えることで、不一致度da(ub,ib,g(i))を算出することもできる。これ以外にも、Jaccard係数が高いほど不一致度が低くなるような計算式であればどんなものを用いてもよい。
【0079】
不一致度算出の第1から第3までの方法は、計算量の少ない算出方法であり、ユーザのアイテムに対する嗜好の度合いを示す嗜好度やアイテム属性情報などを考慮していない。
不一致度算出方法の第4の方法は、基準ユーザ利用履歴と不一致度算出対象グループとの間で算出した統合類似度を用いる方法であり、統合類似度が高いほど不一致度が低くなるようにする。統合類似度は、コサイン距離やピアソン積率相関係数を用いて算出することができ、そのためには、基準ユーザ利用履歴を基に算出した嗜好度である基準嗜好度と、不一致度算出対象グループに属する関連アイテムごとに、関連アイテムを利用した様々なユーザの嗜好度の代表値(平均値や最大値や最小値や最頻値)である統合嗜好度を用いる必要がある。基準嗜好度は基準ユーザ利用履歴に含まれるアイテム識別子とユーザ識別子に対応する嗜好度をそのまま流用できるので、嗜好情報格納部144より、対応する嗜好度を基準嗜好度として取得することができる。
【0080】
また、同じアイテム識別子とユーザ識別子有する基準ユーザ利用履歴を用いて、嗜好度算出方法を流用することで基準嗜好度を算出することもできる。また、統合嗜好度は、嗜好情報格納部144より、不一致度算出対象グループに属する関連アイテムのアイテム識別子と一致する全ての嗜好度を取得し、取得した嗜好度を用いて算出することができる。また、利用履歴格納部143より、不一致度算出対象グループに属する関連アイテムのアイテム識別子と一致する全ての利用履歴を取得し、取得した利用履歴を用いて、嗜好度算出方法と同様の算出方法で、嗜好度を算出し、算出した嗜好度を用いて統合嗜好度を算出することができる。コサイン距離を用いる場合は、ステップS302にて選択したuser_idに対応するユーザubの過去に利用したアイテムiu(∈Iu(ub))に対する基準嗜好度をpu(ub,iu)とし、不一致度算出対象グループに属する関連アイテムis(∈Is(ib,g(i)))に対する統合嗜好度をps(is)とし、両集合に存在するアイテムic(∈Ic=Iu(ub)∩Is(ib,g(i)))に対する基準嗜好度をpu(ub,ic)とし、統合嗜好度をps(ic)としたとき、統合類似度v4(ub,ib,g(i))は、式(10)で表わされる。
【0081】
【数10】

【0082】
また、ピアソン積率相関係数を用いる場合は、統合類似度v4(ub,ib,g(i))は、式(11)で表わされる。
【0083】
【数11】

【0084】
このとき、不一致度da(ub,ib,g(i))は、式(5)において、v1(ub,ib,g(i))をv4(ub,ib,g(i))に、mv1を統合類似度が取りうる最大値mv4に置き換えることで算出することができる。
【0085】
また、式(6)や式(7)において、v1(ub,ib,g(i))をv4(ub,ib,g(i))に置き換えることで、不一致度da(ub,ib,g(i))を算出することもできる。
【0086】
これ以外にも、統合類似度が高いほど不一致度が低くなるような計算式であればどんなものを用いてもよい。不一致度算出方法の第4の方法を用いることで、ユーザが過去に好んで利用したアイテムとは異なる関連アイテムが多く属する不一致度算出対象グループほど、不一致度が高くなるので、ユーザが今まで利用したアイテムとは異なるアイテムが提示されやすくなる。なお、不一致度算出で用いた嗜好度を第1の嗜好度とする。
不一致度算出の第4の方法を用い、かつ、関連度算出においても嗜好度を用いる場合、不一致度算出に用いる第1の嗜好度と、関連度算出に用いる第2の嗜好度の算出方法は同じ方法を用いてもよいが、目的に応じて違う方法を用いてもよい。例えば、ユーザの評価に応じて関連候補アイテムを選出し、ユーザの最近の嗜好とは異なる関連候補アイテムグループから関連アイテムを抽出したい場合は、関連度算出に用いる第2の嗜好度を嗜好度算出の第3の方法を用いて算出し、不一致度算出に用いる第1の嗜好度を嗜好度算出の第4の方法を用いて算出すればよい。
【0087】
不一致度算出方法の第5の方法は、基準ユーザ利用履歴に対応するアイテムのアイテム属性情報と、不一致度算出対象グループに属するアイテムのアイテム属性情報との間で算出した統合適合度を用いる方法であり、統合適合度が高いほど不一致度が低くなるようにする。基準ユーザ利用履歴に対応するアイテムの集合を1つのアイテム(統合アイテム1)と考え、そのアイテム集合に属する何れかのアイテムが有するアイテム属性情報全てを統合アイテム1のアイテム属性情報とし、不一致度算出対象グループを1つのアイテム(統合アイテム2)と考え、不一致度算出対象グループに属する何れかのアイテムが有するアイテム属性情報全てを統合アイテム2のアイテム属性情報とすれば、統合適合度は、2アイテム間の適合度として算出できる。
【0088】
このとき、不一致度da(ub,ib,g(i))は、式(5)において、v1(ub,ib,g(i))を統合適合度v5(ub,ib,g(i))に、mv1を統合適合度が取りうる最大値mv5に置き換えることで算出することができる。また、式(6)や式(7)において、v1(ub,ib,g(i))をv5(ub,ib,g(i))に置き換えることで、不一致度da(ub,ib,g(i))を算出することもできる。これ以外にも、統合適合度が高いほど不一致度が低くなるような計算式であればどんなものを用いてもよい。また、統合適合度を算出する際に、アイテム属性情報を有するアイテムの数で重み付けを行ってもよい。例えば、統合アイテム1のアイテム属性情報に含まれる属性値とその属性値に対応する利用履歴数が「ジャンルY:2」、「ジャンルZ:5」、「作者b:4」、「作者c:3」であり、統合アイテム2のアイテム属性情報に含まれる属性値とその属性値に対応する関連アイテム数が「ジャンルX:4」、「ジャンルZ:2」、「作者a:2」、「作者c:2」、「作者f:2」である場合に、統合適合度を「2+2=4」というように算出すればよい。不一致度算出方法の第5の方法を用いることで、ユーザが過去に利用したアイテムのアイテム属性情報とは異なるアイテム属性を有する関連アイテムが多く属する不一致度算出対象グループほど、不一致度が高くなるので、ユーザが今まで利用したことのないアイテム属性情報を有するアイテムが提示されやすくなる。
【0089】
次に、所属グループ選出部114が、s(g(i))にステップS308にて算出した不一致度を加算し、c(g(i))に「1」を加算し、iに「1」を加算する(ステップS309)。
次に、所属グループ選出部114が、iがグループ数を超えたか否かを判定する(ステップS310)。iがグループ数を超えた場合はステップS311へ進み、iがグループ数以下の場合はステップS307へ進む。
【0090】
次に、所属グループ選出部114が、ステップS305にて全てのbase_item_idを選択したか否かを判定する(ステップS311)。全て選択した場合はステップS312へ進み、まだ未選択のものが残っている場合はステップS305へ進む。
次に、所属グループ選出部114が、所属グループ情報格納部146にて、ステップS302にて選択したuser_idに対応する所属グループ情報の更新を行う(ステップS312)。所属グループ情報の更新方法は、所属グループ情報格納部146の格納形式により異なる。
【0091】
所属グループ情報格納部146が第1の格納形式である場合は、まず、グループごとに、平均不一致度avg_s(g(i))(=s(g(i))/c(g(i)))を算出する。次に、ステップS302にて選択したuser_idに対応する所属グループ情報のgroup_idを、算出した平均不一致度が最も高いグループのグループ識別子g(m)(任意のiに対して、avg_s(g(m))≧avg_s(g(i))が成り立つ)で置き換える。最も高い平均不一致度に対応するグループ識別子が複数ある場合、グループ識別子の昇順に1つ選択してもよいし、降順に1つ選択してもよいし、ランダムに1つ選択してもよい。
所属グループ情報格納部146が第2の格納形式である場合は、平均不一致度を用いて、グループごとに最新取得比率を算出する。そして、グループごとに、ステップS302にて選択したuser_idとグループとに対応するrateを、算出した最新取得比率で置き換えればよい。最新取得比率rate(g(i))は、式(12)で算出することができる。
【0092】
【数12】

【0093】
次に、所属グループ選出部114が、ステップS302にて全てのuser_idを選択したか否かを判定する(ステップS313)。全て選択した場合はステップS301からステップS313までの一連の処理を終了し、まだ未選択のものが残っている場合はステップS302へ進む。
以上が、所属グループ選出処理の手順の説明である。
【0094】
関連アイテム情報作成部115は、ネットワーク2を介して、端末装置3より関連アイテム情報取得要求を受信すると、関連アイテム情報作成処理を行う。ここで関連アイテム情報取得要求とは、関連アイテム情報を取得する要求であり、少なくとも端末装置3を利用中のユーザのユーザ識別子とアイテム識別子とを含む。関連アイテム情報取得要求は、他に取得する関連アイテムの数や、取得する関連アイテムのアイテム属性情報を含んでもよい。関連アイテム情報は、関連アイテム情報取得要求に対応する複数の関連アイテムのアイテム識別子とアイテム属性情報のペアである。
関連アイテム情報作成処理の手順を、図12のフローチャートを用いて説明する。
まず、関連アイテム情報作成部115が、端末装置3より、関連アイテム情報取得要求を受信する(ステップS401)。
【0095】
次に、関連アイテム情報作成部115が、所属グループ情報格納部146より、ステップS401にて受信した関連アイテム情報取得要求に含まれるユーザ識別子に対応する所属ユーザ情報を取得する(ステップS402)。取得する所属ユーザ情報の数は、所属グループ情報格納部146の格納形式が第1の格納形式の場合は1つ、第2の格納形式の場合はグループの数だけ取得する。
次に、関連アイテム情報作成部115が、ステップS402にて取得した所属グループ情報に応じて、関連アイテムグループ格納部145より、関連アイテムグループを取得する(ステップS403)。取得する関連アイテムグループは、所属グループ情報格納部146の格納形式によって異なる。
【0096】
第1の格納形式の場合は、関連アイテムグループ格納部145より、ステップS401にて受信した関連アイテム情報取得要求に含まれるアイテム識別子と、ステップS402にて取得した所属グループ情報に含まれるグループ識別子との組合せが、(base_item_id,group_id)に一致する関連アイテムグループを全て取得すればよい。また、上記条件を満たす関連アイテムグループが1つも存在しない場合は、条件を満たす関連アイテムが存在しないという情報を端末装置3に返してもよい。
【0097】
また、ステップS402にて取得した所属グループ情報に含まれるグループ識別子に最も近いもののうち、関連アイテムグループが少なくとも1つ存在するグループ識別子を特定し、ステップS401にて受信した関連アイテム情報取得要求に含まれるアイテム識別子と、特定したグループ識別子との組合せが、(base_item_id,group_id)に一致する関連アイテムグループを全て取得すればよい。また、関連アイテム情報取得要求に、取得する関連アイテムの数が含まれている場合は、上記条件を満たす関連アイテムグループのうち、ランダムに取得する関連アイテムの数まで取得すればよい。また、上記条件を満たす関連アイテムグループより、関連度の高い順に取得する関連アイテムの数まで取得してもよい。
【0098】
また、上記条件を満たす関連アイテムグループより、関連度の低い順に取得する関連アイテムの数まで取得してもよい。つまり、上記条件を満たす関連アイテムグループの中からであれば、どのような方法を用いてもよい。また、関連アイテム情報取得要求に、取得する関連アイテムのアイテム属性情報が含まれている場合は、上記条件を満たす関連アイテムグループのうち、取得する関連アイテムのアイテム属性情報と一致するsim_item_idを有するもののみを取得すればよい。
【0099】
第2の格納形式の場合は、ステップS402にて取得した所属グループ情報ごとに、関連アイテムグループ格納部145より、ステップS401にて受信した関連アイテム情報取得要求に含まれるアイテム識別子と、所属グループ情報に含まれるグループ識別子との組合せが、(base_item_id,group_id)に一致する関連アイテムグループを特定し、特定した関連アイテムグループより、所属グループ情報に含まれる取得比率に応じて算出した取得数まで取得する。取得数は、予めサービス提供側が設定した全取得数に取得比率を掛け合わせたものであり、例えば、全取得数が10個で、取得比率が0.73の場合は、特定した関連アイテムグループより、ランダムに10×0.73≒7個(四捨五入でも小数点以下切り捨てでもよく、取得数の合計値が全取得数になるように適切に調整すればよい)取得すればよい。また、関連度の高い順に、7個取得してもよい。また、関連度の低い順に、7個取得してもよい。つまり、特定した関連アイテムグループの中からであれば、どのような方法でもよいので7個取得すればよい。
【0100】
また、関連アイテムグループの中で、ステップS401にて受信した関連アイテム情報取得要求に含まれるユーザ識別子に対応するユーザが過去に利用したアイテムのアイテム識別子と一致するsim_item_idを有するものを取得する対象から外してもよい。また、関連アイテム情報取得要求に、取得する関連アイテムの数が含まれている場合は、全取得数の代わりに、取得する関連アイテム数を用いて取得数を算出すればよい。また、関連アイテム情報取得要求に、取得する関連アイテムのアイテム属性情報が含まれている場合は、特定した関連アイテムグループのうち、取得する関連アイテムのアイテム属性情報と一致するsim_item_idを有するもののみを取得数まで取得すればよい。
【0101】
次に、関連アイテム情報作成部115が、ステップS403にて取得した全ての関連アイテムグループを基に、関連アイテム情報を作成する(ステップS404)。具体的には、まず、ステップS403にて取得した全ての関連アイテムグループから関連アイテム識別子を抽出する。次に、抽出した関連アイテム識別子ごとに、アイテム情報格納部112より、関連アイテム識別子とitem_idが一致するアイテム情報を取得する。そして、取得したアイテム情報を基に、関連アイテム情報を作成する。
次に、関連アイテム情報作成部115が、ネットワーク2を介して、端末装置3に、ステップS404にて作成した関連アイテム情報を送信し(ステップS405)、ステップS401からステップS405までの一連の処理を終了する。
以上が、関連アイテム情報作成処理の手順の説明である
【0102】
端末装置3は、CPU、RAM、ROM、ハードディスクドライブ、ネットワークインタフェース等を備える一般的なコンピュータであり、内蔵されたプログラムにより所定の動作を行う。図13は、本実施形態における端末装置3の構成図である。本実施形態における端末装置3は、端末制御部31と、端末通信部32と、入力部33と、表示部34とで構成される。
【0103】
端末通信部32は、ネットワーク2を介してアイテム提供サーバ装置1と通信を行う機能を有する。
【0104】
入力部33は、例えば、端末装置3がPC(Personal Computer)であれば、マウスやキーボード、携帯電話であれば、ボタンといったように、ユーザが端末装置3を操作するためのインタフェースである。
【0105】
表示部34は、例えば、ディスプレイといったように、様々な情報を表示し、ユーザに視覚的に示すためのインタフェースである。
【0106】
端末制御部31は、端末装置3を構成する各部に対して、全体的な制御を行う。端末制御部31は、ユーザページ表示部311と、利用履歴作成部312とで構成される。ユーザページ表示部311は、入力部33から取得した操作や、アイテム提供サーバ装置1から受信したデータの種類に応じて、以下の6種類の処理を行う。
ユーザページ表示部311の第1の処理は、ユーザページ情報取得要求送信処理であり、入力部33よりユーザページの表示を要求する操作を取得すると、この処理を行う。ユーザページとは、ユーザページ情報を基に、表示部34に表示するために描画されたものである。ユーザページ情報取得要求送信処理とは、端末装置3を利用中のユーザである「利用ユーザ」のユーザ識別子とパスワードの組合せである利用者特定情報を用いて、ユーザページ情報取得要求を作成し、ネットワーク2を介して、アイテム提供サーバ装置1に、作成したユーザページ情報取得要求を送信する処理である。パスワードは、端末装置3の図示しない格納部に記憶しておき、ユーザページ情報取得要求を作成するたびに図示しない格納部から取得してもよいし、ユーザページ情報取得要求を作成するたびにユーザに入力させるようにしてもよい。
【0107】
ユーザページ表示部311の第2の処理は、ユーザページ表示処理であり、アイテム提供サーバ装置1よりユーザページ情報を取得すると、この処理を行う。ユーザページ表示処理とは、アイテム提供サーバ装置1より取得したユーザページ情報を基に、ユーザページを作成し、表示部34に、作成したユーザページを表示する処理である。
ユーザページ表示部311の第3の処理は、検索条件送信処理であり、入力部33より条件の入力操作と検索を要求する操作の内容を取得すると、この処理を行う。検索条件送信処理とは、利用ユーザのユーザ識別子と、取得した条件を用いて検索条件を作成し、アイテム提供サーバ装置1に、作成した検索条件を送信する処理である。
ユーザページ表示部311の第4の処理は、検索結果表示処理であり、アイテム提供サーバ装置1より、検索条件送信処理にて送信した検索条件に対するアイテム情報を取得すると、この処理を行う。検索結果表示処理とは、受信したアイテム情報を基にユーザページの更新を行う処理である。
【0108】
ユーザページ表示部311の第5の処理は、関連アイテム情報取得要求送信処理であり、入力部33より利用履歴閲覧画面に表示されている利用履歴の選択や、検索結果閲覧画面に表示されている検索結果の選択といった操作を取得すると、この処理を行う。関連アイテム情報取得要求送信処理とは、まず、操作の対象となった利用履歴や検索結果より、アイテム識別子を抽出する。次に、利用ユーザのユーザ識別情報と、抽出したアイテム識別子を用いて、関連アイテム情報取得要求を作成する。そして、アイテム提供サーバ装置1に、作成した関連アイテム情報取得要求を送信する処理である。
ユーザページ表示部311の第6の処理は、関連アイテムグループ表示処理であり、アイテム提供サーバ装置1より、関連アイテム情報取得要求送信処理にて送信した関連アイテム情報取得要求に対する関連アイテムグループを取得すると、この処理を行う。関連アイテムグループ表示処理とは、受信した関連アイテムグループを基にユーザページの更新を行う処理である。
【0109】
表示部34に表示するユーザページは、例えば、図14のユーザページの表示例のように、アイテムを検索する手段が用意され、利用履歴と、検索結果と、関連アイテム情報とを分けて表示できるようにすればよい。図14の表示例では、左上に端末装置3を利用中のユーザのユーザ名を表示し、左下に利用ユーザの利用履歴を表示している。また、中央上に検索条件を入力するテキストボックスと検索条件送信処理のトリガーとなる「検索」ボタンとを表示し、中央下に検索条件を満たすアイテム情報を表示している。また、右下に関連アイテム情報を表示している。尚、図14の表示例では、右下に小説Aの関連アイテムが表示されているが、入力部33より、検索結果の料理本Eが選択されることで、小説Aの代わりに、料理本Eの関連アイテムが表示されることになる。
【0110】
利用履歴作成部312は、入力部33より、ユーザページに表示されたアイテムの利用操作を取得すると、利用履歴送信処理を行う。アイテムの利用操作とは、ユーザページに表示されたアイテム名などのアイテム属性情報を選択する操作や、アイテムが音楽であれば、再生を行うという操作や、アイテムが映画であれば、視聴するという操作や、ユーザページにてアイテムの購入が行える場合は、アイテムを購入候補に指定する(買い物かごに入れる)操作や、購入候補として指定したアイテムを購入する操作等である。
利用履歴送信処理とは、まず、利用ユーザのユーザ識別子とパスワードの組合せである利用者特定情報を作成する。次に、利用ユーザのユーザ識別子と利用操作の対象となったアイテムのアイテム識別子を基に利用履歴を作成する。
【0111】
また、利用履歴送信処理において、上述した以外の情報を利用履歴に追加することもできる。例えば、アイテム名などのアイテム属性情報を選択する操作、アイテムを購入候補に指定する操作、購入候補に指定したアイテムを購入する操作、アイテムを再生する操作、などの各利用操作を区別するための利用形態情報を追加してもよい。また、ユーザにアイテムに対する評価を行わせた上で、その評価値(例えば、「1:非常に嫌い」、「2:やや嫌い」、「3:どちらでもない」、「4:やや好き」、「5:非常に好き」といったように、好みの度合いを数値化したもの)を利用履歴に追加してもよい。また、一定期間ごとに利用履歴送信処理を行う場合は、その期間中に利用されたアイテムの利用回数を利用履歴に追加してもよい。
【0112】
ここで、図15のフローチャートを用いて、端末装置3での関連アイテムの表示に関する手順の一例を説明する。
まず、端末装置3が、ユーザページ情報取得要求送信処理を行い、ネットワーク2を介して、アイテム提供サーバ装置1にユーザページ情報取得要求を送信する(ステップS501)。
【0113】
次に、アイテム提供サーバ装置1の認証部13が、ネットワーク2を介して、端末装置3よりユーザページ情報取得要求を受信すると、ユーザページ情報取得要求に含まれる利用者特定情報を基に認証を行う(ステップS502)。認証に成功した場合は、ユーザページ情報作成部111に受信したユーザページ情報取得要求を送り、ステップS503へ進み、失敗した場合はステップS501からやり直す。
ステップS503では、ユーザページ情報作成部111が、認証部13よりユーザページ情報取得要求を取得し、ユーザページ情報送信処理を行い、ネットワーク2を介して、端末装置3にユーザページ情報を送信する。
【0114】
次に、端末装置3が、ネットワーク2を介して、アイテム提供サーバ装置1より、ユーザページ情報を受信すると、ユーザページ表示処理を行う(ステップS504)。
次に、表示されたユーザページを閲覧したユーザが、関連アイテムを取得する操作を行うと、端末装置3は、関連アイテム情報取得要求送信処理を行い、ネットワーク2を介して、アイテム提供サーバ装置1に関連アイテム情報取得要求を送信する(ステップS505)。
次に、ユーザページ情報作成部111が、ネットワーク2を介して、端末装置3より、関連アイテム情報取得要求を受信すると、関連アイテム情報作成処理を行い、ネットワーク2を介して、端末装置3に関連アイテム情報を送信する(ステップS506)。
次に、端末装置3が、ネットワーク2を介して、アイテム提供サーバ装置1より、関連アイテム情報を受信すると、関連アイテム情報表示処理を行い(ステップS507)、ステップS501からステップS507までの一連の処理を終了する。
以上が、端末装置3での関連アイテムの表示に関する手順の一例の説明である。
【0115】
なお、関連アイテムグループ選出部113の関連アイテムグループ選出処理のステップS106の処理において、関連度の高い順にグループをまとめ、グループ識別子を昇順に付与しているが、全ての基準アイテムに対して、同じ手順でまとめ、同じ手順でグループ識別子を付与するのであれば、どのような方法を用いてもよい。
【0116】
本実施形態における関連アイテムの作成方法によれば、単純に関連度の低い関連アイテムを取得するのではなく、ユーザの過去の利用アイテムから、最も意外性の高い関連アイテムグループを判断するので、どのようなユーザに対しても、意外性の高い関連アイテムを推薦することができる。
【0117】
<第2実施形態>
以下に、本発明の第2実施形態について、図を用いて詳細に説明する。本発明の第2実施形態では、ユーザごとに算出した各グループの平均不一致度に基づいて、取得する関連アイテムグループのグループ識別子を定める代わりに、ユーザごと基準アイテムごとに算出した各グループの不一致度に基づいて、取得する関連アイテムグループのグループ識別子を定める。
【0118】
本発明の第2実施形態におけるシステム全体の構成は、アイテム提供サーバ装置1の代わりにアイテム提供サーバ装置4を用いる以外は本発明の第1実施形態の場合と同様である。端末装置3、ネットワーク4は、本発明の第1実施形態と同様である。
【0119】
アイテム提供サーバ装置4は、端末装置3の要求に応じて、アイテムを提供する装置である。
アイテム提供サーバ装置4は、CPU、RAM、ROM、ハードディスクドライブ(HDD)、ネットワークインタフェース等を備えるコンピュータを用いて、ソフトウェア(プログラム)処理として実施することも可能である。なお、アイテム提供サーバ装置4を複数のコンピュータを用いて構成してもよい。例えば、負荷分散をするために、アイテム提供サーバ装置4の各部に相当する処理を行うコンピュータを複数用いて分散処理を行ってもよい。また、アイテム提供サーバ装置4の一部の構成の処理をあるコンピュータで実施し、他の構成の処理を別のコンピュータで実施する形態で分散処理を行ってもよい。
図16は、本実施形態におけるアイテム提供サーバ装置4の構成図である。本実施形態におけるアイテム提供サーバ装置4は、アイテム提供サーバ制御部41と、アイテム提供サーバ通信部12と、認証部13と、アイテム提供サーバ格納部44とで構成される。アイテム提供サーバ通信部12と、認証部13は、本発明の第1実施形態と同様である。
【0120】
アイテム提供サーバ格納部44は、HDDなどの記憶装置を用いて、様々なデータを記憶する。アイテム提供サーバ格納部14は、ユーザ情報格納部141と、アイテム情報格納部142と、利用履歴格納部143と、嗜好情報格納部144と、関連アイテムグループ格納部145とで構成される。ユーザ情報格納部141と、アイテム情報格納部142と、利用履歴格納部143と、嗜好情報格納部144と、関連アイテムグループ格納部145は、本発明の第1実施形態と同様である。
【0121】
アイテム提供サーバ制御部41は、アイテム提供サーバ装置4を構成する各部に対して、全体的な制御を行う。アイテム提供サーバ制御部11は、ユーザページ情報作成部111と、利用履歴登録部112と、関連アイテムグループ選出部113と、関連アイテム情報作成部(不一致度算出部+関連データ提示部)415とで構成される。ユーザページ情報作成部111と、利用履歴登録部112と、関連アイテムグループ選出部113は、本発明の第1実施形態と同様である。なお、関連アイテム情報作成部415は、不一致度算出部としての機能と、関連データ提示部としての機能を有している。この不一致度算出部と関連データ提示部とは、一体に構成してもよいし、別々に構成してもよい。
【0122】
関連アイテム情報作成部415は、ネットワーク2を介して、端末装置3より関連アイテム情報取得要求を受信すると、関連アイテム情報作成処理を行う。
関連アイテム情報作成処理の手順を、図17のフローチャートを用いて説明する。
本実施形態における関連アイテム情報作成処理の手順は、本発明の第1実施形態における関連アイテム情報作成処理のステップS402からステップS403までの処理をステップS502からステップS507までの処理に置き換えたものである。置き換えた処理についてのみ説明する。
ステップS502では、関連アイテム情報作成部115が、グループごとに、ステップS401にて取得した関連アイテム情報取得要求に含まれるアイテム識別子に対応する関連アイテムグループとの不一致度を一時的に格納するための変数v(g(i))(i=1,2,…,n:g(i)はグループ識別子)と、グループの数をカウントする変数iを用意し、iの初期値を1とする。
【0123】
次に、関連アイテム情報作成部415が、関連アイテムグループ格納部145より、ステップS401にて受信した関連アイテム情報取得要求に含まれるアイテム識別子と、i番目のグループ識別子g(i)との組合せが、(base_item_id,group_id)とに一致する関連アイテムグループを全て取得する(ステップS503)。
次に、関連アイテム情報作成部415が、利用履歴格納部143より、ステップS401にて受信した関連アイテム情報取得要求に含まれるユーザ識別子に対応する利用履歴を全て取得し、取得した利用履歴とステップS503にて取得した関連アイテムグループとを用いて、グループg(i)に対する関連アイテムグループとの不一致度を算出する(ステップS504)。不一致度の算出には、本発明の第1実施形態における所属グループ選出処理のステップS308の算出方法を用いればよい。
【0124】
次に、関連アイテム情報作成部415が、v(g(i))にステップS504にて算出した不一致度を代入し、iに「1」を加算する(ステップS505)。
次に、関連アイテム情報作成部415が、iがグループ数を超えたか否かを判定する(ステップS506)。iがグループ数を超えた場合はステップS507へ進み、iがグループ数以下の場合はステップS503へ進む。
次に、関連アイテム情報作成部415が、不一致度v(g(i))に応じて、関連アイテムグループ格納部145より、関連アイテムグループを取得する(ステップS507)。関連アイテムグループ取得方法を、以下に2種類説明する。
【0125】
関連アイテムグループ取得の第1の方法は、関連アイテムグループ格納部145より、ステップS401にて受信した関連アイテム情報取得要求に含まれるアイテム識別子と、不一致度が最も高いグループのグループ識別子g(m)(任意のiに対して、v(g(m))≧v(g(i))が成り立つ)との組合せが、(base_item_id,group_id)に一致する関連アイテムグループを全て取得すればよい。また、関連アイテム情報取得要求に、取得する関連アイテムの数が含まれている場合は、上記条件を満たす関連アイテムグループのうち、ランダムに取得する関連アイテムの数まで取得すればよい。また、上記条件を満たす関連アイテムグループより、関連度の高い順に取得する関連アイテムの数まで取得してもよい。また、上記条件を満たす関連アイテムグループより、関連度の低い順に取得する関連アイテムの数まで取得してもよい。つまり、上記条件を満たす関連アイテムグループの中からであれば、どのような方法を用いてもよい。また、関連アイテム情報取得要求に、取得する関連アイテムのアイテム属性情報が含まれている場合は、上記条件を満たす関連アイテムグループのうち、取得する関連アイテムのアイテム属性情報と一致するsim_item_idを有するもののみを取得すればよい。
【0126】
関連アイテムグループ取得の第2の方法は、不一致度に応じて各グループ識別子ごとに、関連アイテムグループ格納部145より、ステップS401にて受信した関連アイテム情報取得要求に含まれるアイテム識別子と、グループ識別子g(i)との組合せが、(base_item_id,group_id)に一致する関連アイテムグループを特定し、不一致度v(g(i))に応じて取得比率を算出し、特定した関連アイテムグループより、取得比率に応じて算出した取得数まで取得する。取得比率rate(g(i))は、式(5)で算出できる。取得数は、予めサービス提供側が設定した全取得数に取得比率を掛け合わせたものであり、例えば、全取得数が10個で、取得比率が0.73の場合は、特定した関連アイテムグループより、ランダムに10×0.73≒7個(四捨五入でも小数点以下切り捨てでもよく、取得数の合計値が全取得数になるように適切に調整すればよい)取得すればよい。また、関連度の高い順に、7個取得してもよい。また、関連度の低い順に、7個取得してもよい。
【0127】
つまり、特定した関連アイテムグループの中からであれば、どのような方法でもよいので7個取得すればよい。また、関連アイテムグループの中で、ステップS401にて受信した関連アイテム情報取得要求に含まれるユーザ識別子に対応するユーザが過去に利用したアイテムのアイテム識別子と一致するsim_item_idを有するものを取得する対象から外してもよい。また、関連アイテム情報取得要求に、取得する関連アイテムの数が含まれている場合は、全取得数の代わりに、取得する関連アイテム数を用いて取得数を算出すればよい。また、関連アイテム情報取得要求に、取得する関連アイテムのアイテム属性情報が含まれている場合は、特定した関連アイテムグループのうち、取得する関連アイテムのアイテム属性情報と一致するsim_item_idを有するもののみを取得数まで取得すればよい。
以上が、関連アイテム情報作成処理の手順の説明である。
【0128】
なお、関連アイテムグループ選出部113の関連アイテムグループ選出処理のステップS106の処理にて、本発明の第1実施形態においては、基準アイテムに対するグループ数が全て等しくなるようにしなければならなかったが、本実施形態においては、ユーザごと基準アイテムごとに各グループの不一致度を算出するので、基準アイテムごとに、自由にグループ数を決めることができる。
【0129】
また、関連アイテムグループ選出部113の関連アイテムグループ選出処理のステップS106の処理にて、本発明の第1実施形態においては、全ての基準アイテムに対して、同じ手順でまとめ、同じ手順でグループ識別子を付与する必要があったが、本実施形態においては、ユーザごと基準アイテムごとに各グループの不一致度を算出するので、基準アイテムごとに自由にグループをまとめることができる。
【0130】
また、予めユーザごと基準アイテムごとに、各グループの不一致度を算出し、算出した不一致度を用いて、取得する関連アイテムグループを決めるための情報を格納しておき、関連アイテム情報作成処理の際に、その格納しておいた情報を用いて関連アイテム情報を作成すればよい。このとき、まず、図示しない所属グループ情報格納部446に、少なくともユーザ識別子と基準アイテム識別子とグループ識別子を含む所属グループ情報を格納しておく必要がある。
【0131】
所属グループ情報格納部446に記憶する所属グループ情報は、少なくともユーザ識別子と基準アイテム識別子とグループ識別子を含むようにすればよい。図18(図18(a)〜図18(b))は、所属グループ情報格納部446の格納状態を示す図である。以下に図18を用いて、所属グループ情報の格納形式を2種類説明する。
所属グループ情報の第1の格納形式は、ユーザ識別子(user_id)と基準アイテム識別子(base_item_id)とグループ識別子(group_id)とを関連付けて、図18(a)のようなテーブル形式で記憶する。(user_id,base_item_id)は一意とし、重複登録ができない。
所属グループ情報の第2の格納形式は、ユーザ識別子(user_id)と基準アイテム識別子(base_item_id)とグループ識別子(group_id)と取得比率(rate)とを関連付けて、図18(b)のようなテーブル形式で記憶する。(user_id,base_item_id,group_id)の組合せは一意とし、重複登録ができない。
以上が、所属グループ情報格納部446の格納形式の説明である。
【0132】
また、図示しない所属グループ選出部414にて、本発明の第1実施形態と同様に、所定のタイミングで所属グループ選出処理を行う必要がある。
所属グループ選出処理の手順を図19のフローチャートを用いて説明する。
所属グループ選出部414の所属グループ選出処理は、本発明の第1実施形態における所属グループ選出処理のステップS303とステップS312の処理を省略し、ステップS306の処理をステップS606の処理に置き換え、ステップS309の処理をステップS609の処理に置き換え、ステップS310の処理とステップS311の処理の間にステップS611の処理を追加したものである。置き換えた処理と追加した処理についてのみ説明する。
【0133】
ステップS606では、所属グループ選出部414が、グループごとに、ステップS401にて取得した関連アイテム情報取得要求に含まれるアイテム識別子に対応する関連アイテムグループとの不一致度を一時的に格納するための変数v(g(i))(i=1,2,…,n:g(i)はグループ識別子)と、グループの数をカウントする変数iを用意し、iの初期値を1とする。
ステップS609では、所属グループ選出部414が、v(g(i))にステップS308にて算出した不一致度を代入し、iに「1」を加算する。
【0134】
ステップS611では、所属グループ選出部414が、、ステップS302にて選択したuser_idとステップS304にて選択したbase_item_idとに対応する所属グループ情報の更新を行う。所属グループ情報の更新方法は、所属グループ情報格納部446の格納形式により異なる。
所属グループ情報格納部446が第1の格納形式である場合は、ステップS302にて選択したuser_idとステップS304にて選択したbase_item_idとに対応する所属グループ情報のgroup_idを、ステップS308にて算出した不一致度が最も高いグループのグループ識別子g(m)(任意のiに対して、v(g(m))≧v(g(i))が成り立つ)で置き換える。最も高い不一致度に対応するグループ識別子が複数ある場合、グループ識別子の昇順に1つ選択してもよいし、降順に1つ選択してもよいし、ランダムに1つ選択してもよい。
【0135】
所属グループ情報格納部446が第2の格納形式である場合は、不一致度を用いて、グループごとに最新取得比率を算出する。そして、グループごとに、ステップS302にて選択したuser_idとステップS304にて選択したbase_item_idとグループとに対応するrateを、算出した最新取得比率で置き換えればよい。最新取得比率rate(g(i))は、式(13)を流用して算出することができる。
【0136】
【数13】

【0137】
そして、関連アイテム情報作成部415の関連アイテム情報作成処理において、ステップS502からステップS506までの処理を省略し、ステップS507にて、所属グループ情報格納部446より、ステップS401にて受信した関連アイテム情報取得要求に含まれるユーザ識別情報とアイテム識別情報とが、(user_id,base_item_id)との組合せに一致する所属ユーザ情報を用いることで、同様の処理が行える。
【0138】
本実施形態における関連アイテムの作成方法によれば、ユーザごとに取得する関連アイテムグループのグループ識別子を定める代わりに、ユーザごと基準アイテムごとに取得する関連アイテムグループのグループ識別子を定めるので、どのような基準アイテムに対しても、意外性の高い関連アイテムを取得することができる。
【0139】
以上のように、各実施形態の情報処理方法、情報処理装置、及び情報処理プログラムによれば、どのようなユーザに対しても、信頼性を損なわず、常に意外性の高い関連アイテムを提示することで、常にユーザに意外性や発見性や驚きを与えることを可能にし、ユーザの関連アイテムに関する興味を持続することで、アイテムに関する利用を促進することができる。すなわち、各実施形態の従来の方法に比べて、より多くのユーザに意外性の高い関連アイテムを提示することができので、より多くのユーザが、提示された関連アイテムに対して、意外性や発見性や驚きを感じる。このため、より多くのユーザに関連アイテムを試しに使ってみようという意識が働くので、アイテムの利用が促進される効果が得られる。
【符号の説明】
【0140】
1,4 アイテム提供サーバ装置
2 ネットワーク
3 端末装置
11,41 アイテム提供サーバ制御部
111 ユーザページ情報作成部
112 利用履歴登録部
113 関連アイテムグループ選出部
114 所属グループ選出部
115,415 関連アイテム情報作成部
12 アイテム提供サーバ通信部
13 認証部
14,44 アイテム提供サーバ格納部
141 ユーザ情報格納部
142 アイテム情報格納部
143 利用履歴格納部
144 嗜好情報格納部
145 関連アイテムグループ格納部
146,446 所属グループ情報格納部
31 端末制御部
311 ユーザページ表示部
312 利用履歴作成部
32 端末通信部
33 入力部
34 表示部

【特許請求の範囲】
【請求項1】
関連アイテムグループ選出部が、一のアイテムである基準アイテムと、その基準アイテムとは異なる複数のアイテムとの間の関連度を算出し、その算出した関連度に基づいて、前記複数のアイテムを複数の関連候補アイテムグループへと振り分ける関連アイテムグループ選出ステップと、
不一致度算出部が、ユーザのアイテムの利用に関する利用履歴に含まれるアイテム集合であるユーザ利用アイテム集合と、前記関連候補アイテムグループに属するアイテム集合である関連候補アイテム集合との不一致の度合いを示す不一致度を、前記関連候補アイテムグループごとに算出する不一致度算出ステップと、
関連アイテム情報作成部が、特定のユーザを指定する情報と特定のアイテムを指定する情報とを含む関連アイテム情報取得要求を取得すると、その特定のユーザにおけるユーザ利用アイテム集合と、前記特定のアイテムを基準アイテムとした場合における前記関連候補アイテム集合との前記不一致度に基づいて、不一致の度合いが大きい関連候補アイテムグループに属するアイテムを優先的にユーザに提示するための関連アイテム情報を作成する関連アイテム情報作成ステップと
を備えることを特徴とする情報処理方法。
【請求項2】
前記関連アイテムグループ選出ステップにおいて、前記関連度の順位を前記複数のアイテムそれぞれについて算出し、その順位が所定範囲にあるアイテムを1つの関連候補アイテムグループに対応させて、前記複数のアイテムを複数の関連候補アイテムグループへと振り分けることを特徴とする請求項1記載の情報処理方法。
【請求項3】
前記関連アイテムグループ選出ステップにおいて、一の関連候補アイテムグループに対して2つの閾値を設け、前記関連度が前記2つの閾値の範囲にあるアイテムを前記一の関連候補アイテムグループに対応させ、前記複数のアイテムそれぞれを複数の関連候補アイテムグループへと振り分けることを特徴とする請求項1記載の情報処理方法。
【請求項4】
前記不一致度算出ステップにおいて、前記ユーザ利用アイテム集合と、前記関連候補アイテム集合の両方に共通するアイテムの数が多いほど、前記不一致度が低くなるように算出することを特徴とする請求項1〜3のいずれか1項に記載の情報処理方法。
【請求項5】
前記不一致度算出ステップにおいて、ユーザのアイテムに対する好みの度合いを数値化した第1の嗜好度を用いて、前記ユーザ利用アイテム集合と、前記関連候補アイテム集合との間の類似性が高いほどその値が高くなるような類似度を算出し、その算出した類似度が高いほど、前記不一致度が低くなるように算出することを特徴とする請求項1〜3のいずれか1項に記載の情報処理方法。
【請求項6】
前記第1の嗜好度は、ユーザによるアイテムを利用した回数によって、重み付けされた値であることを特徴とする請求項5記載の情報処理方法。
【請求項7】
前記第1の嗜好度は、ユーザのアイテムに対する評価の高さを示す評価値によって、重み付けされた値であることを特徴とする請求項5記載の情報処理方法。
【請求項8】
前記第1の嗜好度は、ユーザがアイテムを利用した日時によって、重み付けされた値であることを特徴とする請求項5記載の情報処理方法。
【請求項9】
前記第1の嗜好度は、ユーザがアイテムを利用した際の支払い額によって、重み付けされた値であることを特徴とする請求項5記載の情報処理方法。
【請求項10】
前記不一致度算出ステップにおいて、前記ユーザ利用アイテム集合に属するアイテムのアイテム属性情報と、前記関連候補アイテム集合に属するアイテムのアイテム属性情報との適合の度合いを示す適合度を算出し、その算出した適合度が高いほど、前記不一致度が低くなるように算出することを特徴とする請求項1〜3のいずれか1項に記載の情報処理方法。
【請求項11】
前記関連データ作成ステップにおいて、前記関連アイテム情報を、不一致の度合いが最も大きい前記関連候補アイテムグループに属するアイテムの集合を用いて作成することを特徴とする請求項1〜10のいずれか1項に記載の情報処理方法。
【請求項12】
前記関連データ作成ステップにおいて、前記関連アイテム情報を、不一致の度合いが大きい前記関連候補アイテムグループに属するアイテムほど多く含まれるようなアイテム集合を用いて作成することを特徴とする請求項1〜10のいずれか1項に記載の情報処理方法。
【請求項13】
前記関連アイテムグループ選出ステップにおいて、曜日又は月日に応じて異なる所定のタイミングごとに前記複数のアイテムを複数の関連候補アイテムグループへと振り分けることを特徴とする請求項1〜12のいずれか1項に記載の情報処理方法。
【請求項14】
前記関連アイテムグループ選出ステップにおいて、アイテムに対するユーザの好みの度合いを数値化した第2の嗜好度に基づいて前記関連度を算出することを特徴とする請求項1〜13のいずれか1項に記載の情報処理方法。
【請求項15】
前記第2の嗜好度は、ユーザによるアイテムを利用した回数によって、重み付けされた値であることを特徴とする請求項14記載の情報処理方法。
【請求項16】
前記第2の嗜好度は、ユーザのアイテムに対する評価の高さを示す評価値によって、重み付けされた値であることを特徴とする請求項14記載の情報処理方法。
【請求項17】
前記第2の嗜好度は、ユーザがアイテムを利用した日時によって、重み付けされた値であることを特徴とする請求項14記載の情報処理方法。
【請求項18】
前記第2の嗜好度は、ユーザがアイテムを利用した際の支払い額によって、重み付けされた値であることを特徴とする請求項14記載の情報処理方法。
【請求項19】
一のアイテムである基準アイテムと、その基準アイテムとは異なる複数のアイテムとの間の関連度を算出し、その算出した関連度に基づいて、前記複数のアイテムを複数の関連候補アイテムグループへと振り分ける関連アイテムグループ選出部と、
ユーザのアイテムの利用に関する利用履歴に含まれるアイテム集合と、前記関連候補アイテムグループに属するアイテム集合との不一致の度合いを示す不一致度を、前記関連候補アイテムグループごとに算出する不一致度算出部と、
特定のユーザを指定する情報と特定のアイテムを指定する情報とを含む関連アイテム情報取得要求を取得すると、その特定のユーザにおける利用履歴に含まれるアイテム集合と、前記特定のアイテムを基準アイテムとした場合における前記関連候補アイテムグループに属するアイテム集合との前記不一致度に基づいて、不一致の度合いが大きい関連候補アイテムグループに属するアイテムを優先的にユーザに提示するための関連アイテム情報を作成する関連アイテム情報作成部と
を備えることを特徴とする情報処理装置。
【請求項20】
情報処理装置のコンピュータに、
一のアイテムである基準アイテムと、その基準アイテムとは異なる複数のアイテムとの間の関連度を算出し、その算出した関連度に基づいて、前記複数のアイテムを複数の関連候補アイテムグループへと振り分ける関連アイテムグループ選出ステップと、
ユーザのアイテムの利用に関する利用履歴に含まれるアイテム集合と、前記関連候補アイテムグループに属するアイテム集合との不一致の度合いを示す不一致度を、前記関連候補アイテムグループごとに算出する不一致度算出ステップと、
特定のユーザを指定する情報と特定のアイテムを指定する情報とを含む関連アイテム情報取得要求を取得すると、その特定のユーザにおける利用履歴に含まれるアイテム集合と、前記特定のアイテムを基準アイテムとした場合における前記関連候補アイテムグループに属するアイテム集合との前記不一致度に基づいて、不一致の度合いが大きい関連候補アイテムグループに属するアイテムを優先的にユーザに提示するための関連アイテム情報を作成する関連アイテム情報作成ステップと
を実行させることを特徴とする情報処理プログラム。

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate

【図5】
image rotate

【図6】
image rotate

【図7】
image rotate

【図8】
image rotate

【図9】
image rotate

【図10】
image rotate

【図11】
image rotate

【図12】
image rotate

【図13】
image rotate

【図14】
image rotate

【図15】
image rotate

【図16】
image rotate

【図17】
image rotate

【図18】
image rotate

【図19】
image rotate


【公開番号】特開2012−141724(P2012−141724A)
【公開日】平成24年7月26日(2012.7.26)
【国際特許分類】
【出願番号】特願2010−293262(P2010−293262)
【出願日】平成22年12月28日(2010.12.28)
【出願人】(308036402)株式会社JVCケンウッド (1,152)
【Fターム(参考)】