以下では、具体的な実施形態について、図面を参照しながら詳細に説明する。各図面において、同一又は対応する要素には同一の符号が付されており、説明の明確化のため、必要に応じて重複説明は省略される。
初めに、本明細書で使用される用語の定義について説明する。本明細書における"アイテム"との用語は、ユーザによって利用(例えば、購入、閲覧、視聴、評価、選択、又は検索)される様々な対象を意味する。言い換えると、アイテムとの用語は、有体物か無体物かを問わず、物品、情報、及びサービスを含む包括的な概念を意味する。アイテムは、例えば、以下の(a)〜(d)の少なくとも1つを含む。
(a)無体物としてのデジタルコンテンツ(例えば、テキストデータ、音声データ、音楽データ、写真データ、動画データ、コンピュータプログラム、Webページ)、又はこれらに関する情報(例えば、商品情報、広告)
(b)有体物又は無体物としての非電子的な商品(例えば、物品、金融商品)、又はこれらに関する情報(例えば、商品情報、広告)
(c)サービス(例えば、スポーツ興行、コンサート興行、映画興行、テレビ放送、ネットワークサービス)に関する情報(例えば、チケットの販売情報、予約情報、テレビ番組情報)
(d)検索キーワード、検索結果
本明細書における"カテゴリ"という用語は、アイテムを分類するための項目を意味する。カテゴリは、グループ又はクラスと呼ぶこともできる。アイテムとカテゴリの対応関係(例えば、アイテムが属しているカテゴリ)は、アイテムに付与されたメタデータ、又は対応テーブル等によって明示的に指定されてもよい。また、アイテムとカテゴリの対応関係は、アイテムとカテゴリの関連性、類似性、又は相関性を評価することにより決定されてもよい。
本明細書における"関連度"という用語は、要素間(例えば、アイテム間、カテゴリ間、又はアイテムとカテゴリ間)の関連性、類似性、又は相関性の強さを示す尺度を意味する。
また、本明細書における"基準アイテム"という用語は、推薦カテゴリ又は推薦アイテムを決定する際の基準となるアイテムを意味する。基準アイテムは、典型的には、「そのアイテムの情報を詳しく知りたい」等の理由でユーザにより選ばれたアイテムである。一例において、基準アイテムは、ユーザの何らかの履歴(例えば、利用履歴、購入履歴、閲覧履歴、視聴履歴、評価履歴、選択履歴、又は検索履歴)に含まれるアイテムであってもよい。
<第1の実施形態>
本実施形態は、情報選択装置10を含む。図1は、本実施形態に係る情報選択装置10を含むシステム1の構成例を示すブロック図である。情報選択装置10は、アイテム提供サーバ10又は少なくとも1台の端末装置30と結合して使用され、ユーザに推薦する推薦カテゴリを選択するよう動作する。情報選択装置10は、ユーザに推薦される推薦アイテムをさらに決定してもよい。これにより、推薦カテゴリ、又は推薦カテゴリ及び推薦アイテムを示す推薦情報が端末装置30を介してユーザに提供される。
情報選択装置10は、少なくとも1つのプロセッサ(例えば、マイクロプロセッサ、MPU(Micro Processing Unit)、CPU(Central Processing Unit))を有するコンピュータシステムを用いて構成されてもよい。コンピュータシステムは、後述される推薦カテゴリの選択に関するアルゴリズムを行うための命令群を含む1又は複数のコンピュータプログラムを実行することによって、情報選択装置10として機能することができる。
このプログラムは、様々なタイプの非一時的なコンピュータ可読媒体(non-transitory computer readable medium)を用いて格納され、コンピュータに供給することができる。非一時的なコンピュータ可読媒体は、様々なタイプの実体のある記録媒体(tangible storage medium)を含む。非一時的なコンピュータ可読媒体の例は、磁気記録媒体(例えば、フレキシブルディスク、磁気テープ、ハードディスクドライブ)、光磁気記録媒体(例えば光磁気ディスク)、光ディスク(例えば、CD−ROM(Read Only Memory)、CD−R、CD−R/W、DVD−ROM、DVD−R)、半導体メモリ(例えば、マスクROM、PROM(Programmable ROM)、EPROM(Erasable PROM)、フラッシュROM、RAM(random access memory))を含む。また、プログラムは、様々なタイプの一時的なコンピュータ可読媒体(transitory computer readable medium)によってコンピュータに供給されてもよい。一時的なコンピュータ可読媒体の例は、電気信号、光信号、及び電磁波を含む。一時的なコンピュータ可読媒体は、電線及び光ファイバ等の有線通信路、又は無線通信路を介して、プログラムをコンピュータに供給できる。
情報選択装置10は、複数台のコンピュータを用いて構成されてもよい。例えば、負荷分散のために、情報選択装置10の同じ処理ブロックを各々が担当する複数台のコンピュータを用いてもよい。また、あるコンピュータが情報選択装置10の一部の処理ブロックを担当し、別のコンピュータが他の一部の処理ブロックを担当してもよい。
アイテム提供サーバ20は、アイテム(例えば、デジタルコンテンツ、コンピュータプログラム)又はアイテムに関する情報(例えば、電子的又は非電子的な商品・サービスに関する情報)をネットワーク40を介して端末装置30に送信する。アイテム提供サーバ20の具体例は、デジタルコンテンツ提供サーバ、デジタルコンテンツ共有サーバ、検索サーバ、EC(Electronic Commerce)システム、テレビ放送の放送局を含む。
端末装置30は、ユーザによって使用される。端末装置30の具体例は、携帯電話端末、スマートフォン、デジタルオーディオプレーヤー、タブレットコンピュータ、ノートPC(Personal Computer)、デスクトップPC、テレビ放送受信機、テレビ番組録画機を含む。
端末装置30は、アイテム提供サーバ20から送信されるアイテム又はアイテムに関する情報を受信し、アイテム又はアイテムに関する情報を示す画像若しくは音声又はこれらの組み合わせを出力デバイス(例えば、ディスプレイ、スピーカ)から出力するよう動作する。また、端末装置30は、推薦カテゴリ及び推薦アイテムを含む推薦情報を情報選択装置10又はアイテム提供サーバ20から受信し、推薦カテゴリ及び推薦アイテムを示す画像若しくは音声又はこれらの組み合わせを出力デバイス(例えば、ディスプレイ、スピーカ)から出力するよう動作する。
ネットワーク40は、通信ネットワーク、又は通信ネットワークと放送ネットワークの組み合わせである。ネットワーク40は、有線ネットワークでもよいし、無線ネットワークでもよいし、これらの組み合わせであってもよい。
なお、図1の構成例は、情報選択装置10の利用形態に関する一例に過ぎない。例えば、情報選択装置10を含むシステム1は、図2のように構成されてもよい。図2の例では、情報選択装置10は、ネットワーク40とは異なるネットワーク42を介してアイテム提供サーバ20と通信する。ネットワーク42は、例えばLAN(Local Area Network)とされてもよく、セキュリティ確保の観点から、端末装置30から情報選択装置10への直接的なアクセスが制限されてもよい。
また、図1及び図2の例では、情報選択装置10は、アイテム提供サーバ20及び端末装置30から物理的に離間して配置されている。しかしながら、情報選択装置10は、これらいずれかと物理的に一体的に配置されてもよい。すなわち、情報選択装置10は、アイテム提供サーバ20と物理的に同一の装置(例えば、コンピュータシステム)として構成されてもよい。また、情報選択装置10は、端末装置30と物理的に同一の装置(例えば、コンピュータシステム)として構成されてもよい。
続いて以下では、情報選択装置10の構成例、及び情報選択装置10による推薦カテゴリ及び推薦アイテムの選択動作の一例について説明する。図3は、情報選択装置10の構成例を示すブロック図である。情報選択装置10は、情報選択部107を含む。情報選択部107は、ユーザに推薦される推薦カテゴリを決定する。情報選択部107は、さらに推薦アイテムを決定してもよい。図3の例では、情報選択部107は、推薦カテゴリを選択するカテゴリ選択部1071及び推薦アイテムを選択するアイテム選択部1072を含む。しかしながら、情報選択装置10によって決定された推薦カテゴリに対応する推薦アイテムの選択は、情報選択装置10とは異なる他の装置、例えばアイテム提供サーバ20又は端末装置30、によって行われてもよい。
カテゴリ選択部1071は、複数の候補カテゴリのそれぞれについて算出された複数のカテゴリ優先度に基づいて、推薦カテゴリを複数の候補カテゴリの中から選択するよう動作する。ここで、複数のカテゴリ優先度の各々は、各候補カテゴリに属するアイテムと基準アイテムとの関連性の強さを示すアイテム関連度を用いて算出される。すなわち、カテゴリ優先度は、推薦カテゴリを決定するための尺度として用いられる。カテゴリ選択部1071は、カテゴリ優先度を計算する際に、カテゴリに属するアイテムと基準アイテムとのアイテム関連度を考慮する。
カテゴリ選択部1071は、カテゴリ優先度の大きさを考慮して、複数の候補カテゴリの中から推薦カテゴリを決定する。例えば、カテゴリ選択部1071は、カテゴリ優先度が高いものを推薦カテゴリとして優先的に選択してもよい。例えば、カテゴリ選択部1071は、カテゴリ優先度が高いものから順に所定数のカテゴリを推薦カテゴリとして選択してもよい。また、カテゴリ選択部1071は、複数の候補カテゴリのうちカテゴリ優先度が所定値以上のものを推薦カテゴリとしてもよい。
続いて以下では、カテゴリ優先度の計算に必要な各種パラメータ及び情報の求め方、及びカテゴリ優先度の計算例について説明する。カテゴリ優先度の計算に必要なアイテム関連度は、情報選択装置10によって導出されてもよいし、外部から情報選択装置10に供給されてもよい。例えば、管理者又はオペレータによって決定されたアイテム関連度を情報選択装置10に供給すればよい。アイテム関連度は、例えば、アイテム組み合わせを示す一対のアイテム識別子とアイテム関連度を対応付けたテーブル(すなわち、アイテム関連度テーブル)として外部の装置から情報選択装置10に供給されてもよい。
アイテム関連度を導出するためには、情報選択装置10又は外部の装置は、アイテム間の関連性、類似性、又は相関性を分析すればよい。具体的には、情報選択装置10又は外部の装置は、複数のユーザの履歴(例えば、利用履歴、購入履歴、閲覧履歴、視聴履歴、評価履歴、又は検索履歴)を用いて、アイテム関連度を算出してもよい。例えば、情報選択装置10又は外部の装置は、基準アイテムxと他のアイテムyを共に利用したことのあるユーザの数を算出し、これを基準アイテムxと他のアイテムyのアイテム関連度W[x][y]としてもよい。また、情報選択装置10又は外部の装置は、基準アイテムxと他のアイテムyが同じユーザによって利用される頻度を、統計学の分野において用いられる共起性(co-occurrence)の尺度によって評価し、これをアイテム関連度W[x][y]としてもよい。共起性の尺度として、例えば、Jaccard係数、Simpson係数、又はコサイン尺度(コサイン距離)を用いることができる。
また、ユーザの履歴から複数のユーザによるアイテム利用回数又はアイテムに対する評価値が得られる場合、情報選択装置10又は外部の装置は、これらの情報を用いてアイテム関連度W[x][y]を算出してもよい。このとき、2つの要素間の相関性を評価するための公知の尺度を用いることができる。例えば、情報選択装置10又は外部の装置は、ユーザによるアイテム利用回数又はアイテム評価値を用いて2つのアイテム間の相関性(すなわち、アイテム関連度)を評価するために、ピアソン積率相関係数又はコサイン尺度(コサイン距離)を用いることができる。
各候補カテゴリとアイテムとの対応関係(以下、アイテム−カテゴリ対応関係)も、情報選択装置10によって導出されてもよいし、外部から情報選択装置10に供給されてもよい。アイテム−カテゴリ対応関係は、例えば、アイテム識別子とカテゴリ識別子を対応付けたテーブル(すなわち、アイテム−カテゴリ対応テーブル)として予め定義されてもよい。また、アイテム−カテゴリ対応関係は、アイテム情報を示すテーブル又はデータベースにおいて、アイテムが属するカテゴリをアイテム属性の1つとして規定することによって定義されてもよい。
また、情報選択装置10又は外部の装置は、各アイテムがいずれのカテゴリと類似するかを分析し、アイテム−カテゴリ対応関係を導出してもよい。例えば、各アイテムと各カテゴリとの関係性の強さを示す異種関連度を用いて、アイテム−カテゴリ対応関係を導出してもよい。具体的には、アイテム毎に異種関連度が所定値以上のカテゴリ、または異種関連度が大きい順に所定数のカテゴリを選択し、その選択されたカテゴリにアイテムが属していると判定し、それ以外のカテゴリには属していないと判定すればよい。なお、この所定数を1として、異種関連度の最も高いカテゴリとアイテムとの対応関係を導出するようにしてもよい。
異種関連度は、例えば、アイテム識別子とカテゴリ識別子と異種関連度を対応付けたテーブル(すなわち、異種関連度テーブル)として外部の装置から情報選択装置10に供給されてもよい。また、異種関連度を導出するために、特許文献1に記載されているようなカテゴリ毎のキーワードを記載したカテゴリ辞書を用いて導出してもよい。例えば、各アイテムに含まれるキーワード(例えば、商品名、商品説明、番組名、出演者名)のカテゴリ毎の出現回数を各アイテムに含まれるキーワードの全出現回数で割った値(カテゴリ毎のキーワードの相対出現率)を異種関連度としてもよい。
また別の方法として、異種関連度は、ユーザとユーザによって利用されたアイテムとを対応させた利用履歴と、各ユーザの各カテゴリに対する興味の度合い(カテゴリ興味度)をアンケート調査等により収集したカテゴリ興味データとを用いて計算されてもよい。具体的には、あるアイテム(アイテムA)を利用したユーザ(ユーザ群B)を対象にして、カテゴリ毎にユーザ群Bのカテゴリ興味度の合計(カテゴリ別合計)を算出し、そのカテゴリ別合計をユーザ群Bでのカテゴリ興味度の総合計で割った値を異種関連度としてもよい。例えば、アイテムAを3人のユーザ(U1,U2、U3)が利用しており、U1のカテゴリ1に対する興味度が「1.0」、カテゴリ2に対する興味度が「0.5」、U2のカテゴリ1に対する興味度が「0.8」、カテゴリ2に対する興味度が「0.3」、U3のカテゴリ1に対する興味度が「0.0」、カテゴリ2に対する興味度が「0.4」である場合、カテゴリ1の興味度の合計は「1.0+0.8+0.0=1.8」、カテゴリ2の興味度の合計は「0.5+0.3+0.4=1.2」となる。また、3人のユーザの興味度の総合計は「1.0+0.5+0.8+0.3+0.0+0.4=3.0」なので、アイテムAとカテゴリ1との異種関連度は「1.8÷3.0=0.6」、アイテムAとカテゴリ2との異種関連度は「1.2÷3.0=0.4」となる。
なお、カテゴリ興味度の合計値を算出するのではなく、カテゴリ興味度が所定値(例えば「0.5」)以上のユーザの数(支持ユーザ数)をカテゴリ毎にカウントし、その支持ユーザ数をアイテムAを利用した全ユーザ数で割った値を、アイテムAと各カテゴリとの異種関連度としてもよい。例えば、上記の例で興味度が0.5以上のユーザ数をカウントすると、カテゴリ1の支持ユーザ数は「2人」、カテゴリ2の支持ユーザ数は「1人」になるので、アイテムAとカテゴリ1との異種関連度は「2÷3=0.667」、アイテムAとカテゴリ2との異種関連度は「1÷3=0.333」となる。さらにユーザがアイテムを利用した回数を用いて異種関連度を算出してもよい。
複数のカテゴリ優先度の各々は、各候補カテゴリに属するアイテムと基準アイテムとの関連性の強さを示すアイテム関連度の大きさを反映していればよい。したがって、複数のカテゴリ優先度の各々は、アイテム関連度の関数として算出されてもよい。例えば、複数のカテゴリ優先度の各々は、各候補カテゴリに属する複数のアイテムそれぞれと基準アイテムとのアイテム関連度を加算した値に応じた値であってもよい。また、複数のカテゴリ優先度の各々は、各候補カテゴリに属する複数のアイテムのうち、基準アイテムとのアイテム関連度が所定の閾値を上回るアイテムの数に応じた値であってもよい。なお、複数のカテゴリ優先度も、情報選択装置10(すなわち、カテゴリ選択部1071)によって算出されてもよいし、外部から情報選択装置10に供給されてもよい。
図4は、カテゴリ選択部1071による推薦カテゴリの選択手順の一例を示すフローチャートである。なお、図4は、カテゴリ選択部1071がカテゴリ優先度を計算する例を示している。ステップS10では、カテゴリ選択部1071は、基準アイテムを決定する。例えば、「そのアイテムの情報を詳しく知りたい」等の理由でユーザにより選ばれたアイテムを基準アイテムとする。また、推薦情報を受け取るユーザの履歴(例えば、利用履歴、購入履歴、閲覧履歴、視聴履歴、評価履歴、又は検索履歴)に含まれるアイテムを基準アイテムとしてもよい。ステップS11では、カテゴリ選択部1071は、基準アイテムと他のアイテムとのアイテム関連度を取得する。既に述べたように、アイテム関連度は、情報選択装置10によって動的に算出されてもよいし、オペレータ等によって静的に設定されてもよい。ステップS12では、カテゴリ選択部1071は、各候補カテゴリについてカテゴリ優先度を算出する。ステップS13では、カテゴリ選択部1071は、カテゴリ優先度の大きさを考慮して、複数のカテゴリの中から推薦カテゴリを決定する。
上述したように、本実施形態では、推薦カテゴリを決定するための尺度であるカテゴリ優先度は、各候補カテゴリに属するアイテムのそれぞれと基準アイテムとのアイテム関連度の大きさを反映している。したがって、カテゴリ優先度に基づいて決定された推薦カテゴリは、基準アイテムとの関連性、類似性、又は相関性を有するアイテムと対応付けられている可能性が高い。したがって、本実施形態で説明した情報選択装置10、及びこれによる推薦カテゴリの決定手法によれば、基準アイテムとの間に高い関連性を有する推薦アイテムが存在する可能性が高い推薦カテゴリを決定することができる。
続いて図3のアイテム選択部1072について説明する。アイテム選択部1072は、カテゴリ選択部1071により決定された推薦カテゴリに属するアイテムの中から推薦アイテムを選択するよう動作する。アイテム選択部1072は、アイテム関連度に基づいて推薦アイテムを選択するとよい。これにより、基準アイテムとの間に高い関連性を有するアイテムを推薦アイテムとして選択できる可能性が向上する。
具体的には、アイテム選択部1072は、推薦カテゴリに属するアイテムのうち、基準アイテムとのアイテム関連度が高いものを推薦アイテムとして優先的に選択してもよい。例えば、アイテム選択部1072は、推薦カテゴリに属するアイテムのうち、基準アイテムとのアイテム関連度が高いものから順に所定数のアイテムを推薦アイテムとして選択してもよい。また、アイテム選択部1072は、推薦カテゴリに属するアイテムのうち、基準アイテムとのアイテム関連度が所定値以上のものを推薦アイテムとしてもよい。
しかしながら、アイテム選択部1072は、複数の推薦アイテムのなかにアイテム関連度の低いアイテムを適度に含めてもよい。これにより、アイテム選択部1072は、推薦カテゴリに属する他のアイテムに比べて基準アイテムとのアイテム関連度が相対的に低いアイテムを推薦アイテムとして選択できるため、意外性の高いアイテムをユーザに推薦できる場合がある。これは、アイテムの新たな利用機会(例えば、購買機会、視聴機会)を創出できる可能性がある。
<第2の実施形態>
本実施形態では、第1の実施形態で説明した情報選択装置10による推薦カテゴリの決定手順の変形例について説明する。第1の実施形態では、候補カテゴリに属する各アイテムと基準アイテムとのアイテム関連度を用いて、各候補カテゴリのカテゴリ優先度を求める例について説明した。これに対して本実施形態に係る情報選択装置10は、各候補カテゴリのカテゴリ優先度を求めるために、アイテム関連度だけでなく、基準アイテムと候補カテゴリとの異種関連度をさらに用いる。
例えば、カテゴリ優先度は以下のように求めることができる。基準アイテムxと他のアイテムyとのアイテム関連度をW[x][y]とし、基準アイテムxと候補カテゴリzとの異種関連度をS[x][z]とする。この場合、W[x][y]とS[x][z]の積(W[x][y]×S[y][z])を候補カテゴリzに属する全てのアイテムy(ただし、アイテムxを除く)について加算した値V[x][z]を算出し、V[x][z]を候補カテゴリzのカテゴリ優先度としてもよい。また、候補カテゴリzに属するアイテムの中で、W[x][y]が大きい順に所定数のアイテム、またはW[x][y]が所定値以上のアイテムを対象にして、(W[x][y]×S[x][z])を加算した値V[x][z]を算出し、その値を候補カテゴリzのカテゴリ優先度としてもよい。また、W[x][y]を候補カテゴリzに属する全てのアイテムy(ただし、アイテムxを除く)について加算した値WAを算出し、WAとS[x][z]との重み付き加算値をカテゴリ優先度としてもよい。
さらに、候補カテゴリzと全てのアイテムy'(ただし、アイテムxを除く)との異種関連度S[y'][z]が利用できる場合には、候補カテゴリzに属するアイテムに限定せず、全てのアイテムy'(ただし、アイテムxを除く)を対象にしてカテゴリ優先度算出処理を行ってもよい。例えば、W[x][y']とS[x][z]とS[y'][z]との積(W[x][y']×S[x][z]×S[y'][z])を全てのアイテムy'(ただし、アイテムxを除く)について加算した値V'[x][z]を算出し、V'[x][z]を候補カテゴリzのカテゴリ優先度としてもよい。また、W[x][y']とS[y'][z]との積(W[x][y']×S[y'][z])を全てのアイテムy'(ただし、アイテムxを除く)について加算した値V'[x][z]を算出し、V'[x][z]を候補カテゴリzのカテゴリ優先度としてもよい。また、このような算出方法では、基準アイテム以外の他のアイテム(アイテムy')が候補カテゴリzに属するか否かといった二値的な判定をしておらず、異種関連度S[y'][z]をアイテムy'と候補カテゴリzとの対応情報として利用している。すなわち、基準アイテムxとそれ以外の他のアイテム(アイテムy')とのアイテム関連度W[x][y']、及びアイテムy'と候補カテゴリzとの対応情報S[y'][z]を用いて、カテゴリ優先度を算出している。なお、S[y'][z]が0より大きい場合に、アイテムy'と候補カテゴリzが対応するとしてもよい。また、S[y'][z]が所定値以上である場合に、アイテムy'が候補カテゴリに属すると判定してもよい。すなわち、アイテムがカテゴリに属しているか否かの情報は、対応情報の内の1つである、ともいえる。
本実施形態に係る情報選択装置10の構成例は、第1の実施形態に示した構成例(図3)と同様である。図5は、本実施形態に係る情報選択装置10(すなわち、カテゴリ選択部1071)による推薦カテゴリの選択手順の一例を示すフローチャートである。図5のステップS20及びS21における処理は、図4のステップS10及びS11における処理と同様である。図5のステップS22では、基準アイテムと各候補カテゴリとの異種関連度を取得する。この異種関連度は、情報選択装置10によって動的に算出されてもよいし、オペレータ等によって静的に設定されてもよい。なお、異種関連度の計算方法の具体例は、第1の実施形態において説明しているため、ここでは重複説明を省略する。ステップS23では、カテゴリ選択部1071は、各候補カテゴリについてカテゴリ優先度を算出する。ステップS24では、カテゴリ選択部1071は、カテゴリ優先度の大きさを考慮して、複数のカテゴリの中から推薦カテゴリを決定する。
上述したように、本実施形態で用いるカテゴリ優先度は、第1の実施形態のそれと同様に、各候補カテゴリに対応するアイテムのそれぞれと基準アイテムとのアイテム関連度の大きさを反映している。このため、本実施形態は、基準アイテムとの間に高い関連性を有するアイテムが推薦カテゴリの中に存在しない可能性を減らすことができる。
さらに、本実施形態では、基準アイテムと候補カテゴリとの異種関連度の関数としてカテゴリ優先度を求める例を示した。これにより基準アイテムとの関連性、類似性、又は相関性が強く、且つ基準アイテムとの間に高い関連性を有するアイテムと十分に対応付けられている可能性の高い推薦カテゴリを決定することができる。
なお、候補カテゴリのカテゴリ優先度は、基準アイテムと候補カテゴリとの異種関連度が大きいほど高くなるように定めればよい。これにより、基準アイテムとの関連性、類似性、又は相関性が強い候補カテゴリのカテゴリ優先度を大きくすることができる。しかしながら、候補カテゴリのカテゴリ優先度と異種関連度の関係は、基準アイテムとの異種関連度が非常に大きな候補カテゴリよりも、異種関連度が小さい候補カテゴリ、または中程度の候補カテゴリのカテゴリ優先度が高くなるように定められてもよい。これにより、意外性の高いアイテムをユーザに推薦できる可能性がある。例えば、候補カテゴリのカテゴリ優先度は、基準アイテムとの異種関連度を所定の変換規則に入力して得られる拡張関連度の関数として算出されてもよい。拡張関連度の具体例は、以下の述べる第3の実施形態において詳細に説明される。
<第3の実施形態>
本実施形態では、第2の実施形態で説明した情報選択装置10による推薦カテゴリの決定手順の具体例について説明する。また、本実施形態では、推薦カテゴリの決定に必要なカテゴリ優先度およびアイテム関連度の計算の具体例についても説明する。さらに、本実施形態では、カテゴリ優先度の計算手法に関するいくつかのバリエーションを説明する。これらのバリエーションの一部では、基準アイテムに対応する基準カテゴリを特定し、基準カテゴリと各候補カテゴリとの関連性の強さを示すカテゴリ関連度を用いて、カテゴリ優先度を算出する。1つの基準アイテムに対応する基準カテゴリが複数存在してもよい。ここで、基準カテゴリは、基準アイテムとの関連性、類似性、又は相関性が高いカテゴリである。基準カテゴリは、基準アイテムに対応するカテゴリ、基準アイテムが属するカテゴリ、又は基準アイテムと関係するカテゴリ、と言うこともできる。
また、基準アイテムと基準カテゴリとの関連の強さを常に一定(例えば「1.0」)として扱うことにより、基準カテゴリと候補カテゴリの間のカテゴリ関連度は、基準アイテムと候補カテゴリの間の異種関連度と同じ値になる。すなわち、本実施形態で述べるカテゴリ関連度は、第2の実施形態で説明した"基準アイテムと候補カテゴリの間の異種関連度"の具体例の1つに相当する。
<システム全体構成>
本実施形態に係る情報選択装置10を含むシステム1の構成例は、第1の実施形態で述べた例(例えば、図1及び図2)と同様である。以下では、図1に示した構成例を例にとって説明する。
<情報選択装置>
図6は、第2の実施形態における情報選択装置10の構成例を示すブロック図である。情報選択装置10は、第1の実施形態で説明した通り、情報選択部107を有する。さらに図6の構成例では、情報選択装置10は、メタデータ格納部101、利用履歴格納部102、カテゴリ関連度格納部103、関連度算出部104、アイテム関連度格納部105、表示制御情報作成部106、推薦情報格納部108、送受信部109、及び制御部110を有する。また、図6の情報選択装置10には、情報選択装置10の管理者向けに必要な情報を表示するための表示装置120(例えば、LCD(Liquid Crystal Display)、OELD(Organic Electroluminescent Display)、CRT(Cathode Ray Tube)ディスプレイ)と、管理者が操作を行なうための入力装置130(例えば、キーボード、マウス、タッチパネル)が接続されている。
情報選択装置10は、既に述べた通り、一般的なコンピュータシステムを用いて構成されてもよい。例えば、情報選択装置10は、CPU、RAM、ROM、不揮発性記憶デバイス(例えば、HDD(Hard Disc Drive)、フラッシュメモリ)、ネットワークインタフェース等を備える一般的なコンピュータを用いて構成することができる。すなわち、一般的なコンピュータは、以下で説明するような推薦カテゴリおよび推薦アイテムの選択に関する処理・アルゴリズムを行なうためのコンピュータプログラムを実行することにより、本実施形態に係る情報選択装置10として機能することができるようになる。
メタデータ格納部101は、アイテム情報、カテゴリ情報、及びアイテムとカテゴリの対応関係を示す情報を格納する。アイテム情報は、アイテム識別子、及びアイテム属性(例えば、アイテム名、アイテム説明、属するカテゴリ)を含む。カテゴリ情報は、カテゴリ識別子、及びカテゴリ属性(カテゴリ名、カテゴリ種別、カテゴリ説明)を含む。アイテムとカテゴリの対応関係は、第1の実施形態で説明した通り、アイテム−カテゴリ対応テーブルとして規定されてもよい。また、アイテムとカテゴリの対応関係は、アイテム情報において、アイテムが属するカテゴリをアイテム属性の1つとして規定することによって定義されてもよい。
図7(a)は、アイテム情報を記録するアイテム情報テーブル101Aの一例(101A−1)を示している。本図に示すように、アイテム情報テーブル101Aは、アイテム識別子(アイテムID)とアイテム属性情報を対応付けるテーブルである。図7(a)の例では、アイテム属性情報は、アイテムの「タイトル(アイテム名)」、「説明」、及び「アイテム時期」を含む。アイテム属性情報の「説明」は、アイテムのあらすじや要約、制作された背景説明などを示す。「アイテム時期」は、アイテムの作成時期(時点)、アイテム提供サーバ20にアイテムが登録された時期、又はアイテムの提供開始時期などを示す。図7(a)の例は、時期(時点)の表現形式として「2010年1月1日」などの日付を用いているが、他の表現形式を用いてもよい。例えば、「2010年1月1日 10時15分20秒」などの秒単位までの日時でもよいし、ミリ秒単位までの日時でもよい。あるいは、「2010年1月」などの月単位の表現形式でも、「2010年 1Q」などの四半期単位の表現形式でも、「2010年」などの年単位の表現形式でも、「2000年代」などの年単位より大まかな年代の表現形式でもよい。
図7(b)は、アイテム情報テーブル101Aの別の一例(101A−2)を示している。テーブル101A−2と101A−1との違いは、アイテム属性情報の1つとしてカテゴリ情報(例えば、カテゴリ名、カテゴリ識別子)を格納する点である。図7(b)に示す例では、1つのアイテムに対して最大2つのカテゴリが対応付けられる。もちろん、1つのアイテムに対して3つ以上のカテゴリを対応させてもよいし、1つのアイテムに1つのカテゴリのみ対応させるようにしてもよい。図7(b)におけるアイテム識別子「ItemID−2」のカテゴリ2は、該当するデータが存在しないことを意味する「NULL」に対応付けられている。本実施形態の以下の説明においては、アイテム情報テーブル101A−1を用いることとするが、これに代えてアイテム情報テーブル101A−2を用いる場合は、後述するアイテム−カテゴリ対応テーブル101Cを省略することができる。
図7(c)は、カテゴリ情報を記録するカテゴリ情報テーブル101Bの一例を示している。本図に示すように、カテゴリ情報テーブル101Bは、カテゴリ識別子(カテゴリID)とカテゴリ属性情報を対応付けるテーブルである。カテゴリは、既に述べた通り、アイテムを分類するためのインデックスを意味する。1つのアイテムについて少なくとも1つのカテゴリが設定される。言い換えると、1つのアイテムは、少なくとも1つのカテゴリに対応付けられる。
図7(c)の例では、カテゴリ属性情報は、「カテゴリ種別」、「カテゴリ名」、及び「カテゴリ説明」を含む。カテゴリ種別(カテゴリタイプ)は、カテゴリの種類(大分類)を表わす。例えば、アイテムの「クリエイター(作成者)」をカテゴリ種別とすることができる。なおカテゴリ種別=「クリエイター」に属するカテゴリは、アイテムの制作者、監督、プロデューサー、執筆者、作曲者、作詞者、演奏者、出演者などを含む。すなわち、監督およびプロデューサーなどの人名が「カテゴリ名」に相当する。
また、カテゴリ種別として「ジャンル」を用いてもよい。例えば、アイテムが音楽コンテンツの場合、カテゴリ種別=「ジャンル」に属するカテゴリ(カテゴリ名)は、ロック、ジャズ、クラシック、フォーク、ブルース等を含む。アイテムが映画コンテンツの場合、カテゴリ種別=「ジャンル」に属するカテゴリ(カテゴリ名)は、SF、アクション、コメディ、アニメ、サスペンスなどを含む。
また、カテゴリ種別として「地域」を用いてもよい。例えば、カテゴリ種別=「地域」に属するカテゴリ名は、日本、アメリカ、イギリス、フランス、東京などの国又は地域名を含む。
また、カテゴリ種別として、アイテムの持つ雰囲気やアイテムを使用するのに適した雰囲気を表わす「ムード」を用いてもよい。この場合、カテゴリ種別=「ムード」に属するカテゴリ(カテゴリ名)は、癒し系、エキサイティング、ドラマティック、素朴、及び渋いといった用語であってもよい。
また、アイテムを使用するのに適した状況を示す「シチュエーション」をカテゴリ種別としてもよい。例えば、カテゴリ種別=「シチュエーション」に属するカテゴリ(カテゴリ名)は、就寝前、ジョギング、電車、ドライブ、勉強中などを含む。なお、アイテムが音楽コンテンツであり、「ムード」や「シチュエーション」などをカテゴリ種別として用いる場合には、情報選択装置10または他の装置は、特開2007−322598(JP 2007-322598 A)に開示されている技術を用いて楽曲をカテゴリに分類してもよい。
また、アイテムの価格帯や割引率に関するカテゴリ群を1つのカテゴリ種別に分類してもよい。例えば、当該カテゴリ種別に属するカテゴリ(カテゴリ名)は、高額品、ミドルレンジ価格帯、お買い得品、20%OFF、50%OFFなどを含む。また、アイテムのサイズや色に関するカテゴリ群を1つのカテゴリ種別に分類してもよい。もちろん、ここで挙げたアイテム属性情報とカテゴリ属性情報は、あくまでも例示であり、これらの例に限定される訳ではない。例えば、アイテム属性は、アイテムの価格情報を含んでもよい。
図7(d)は、アイテム−カテゴリ対応テーブル101Cの一例を示している。アイテム−カテゴリ対応テーブル101Cは、アイテム識別子とカテゴリ識別子を対応付けるテーブルであり、1つのアイテム識別子に対して任意の数のカテゴリ識別子を対応付けることができる。また、アイテム−カテゴリ対応テーブル101Cは、1つのカテゴリ識別子に対して任意の数のアイテム識別子を対応付けることができる。図7(d)に示す例では、「ItemID−1」に3つ、「ItemID−2」に1つ、「ItemID−3」に2つのカテゴリ識別子が対応している。また、1つのアイテムに複数のカテゴリが対応する場合、それらのカテゴリ種別は同じであってもよいし、異なっていてもよい。
なお、第1の実施形態で述べたように、情報選択装置10は、外部の装置から必要に応じてアイテム又はカテゴリに関する情報(すなわち、メタデータ)を取得してもよい。この場合、メタデータ格納部101は省略されてもよい。例えば、情報選択装置10は、アイテム提供サーバ20(e.g.後述するアイテム格納部202)からメタデータを取得してもよい。
送受信部109は、ネットワーク40(図2の構成例の場合は、さらにネットワーク42)を介して、アイテム提供サーバ20または端末装置30との間でデータを送受信する。
制御部110は、情報選択装置10の全体の制御を行なうための種々の処理を行なう。例えば、後述するように、制御部110は、アイテム提供サーバ20または端末装置30から送信される利用リクエストを送受信部109を介して受信し、利用リクエストに含まれるユーザ識別子とアイテム識別子を対応付ける利用履歴情報を利用履歴格納部102に格納する。
利用履歴格納部102は、ユーザによるアイテム利用履歴を示す情報を格納する。アイテム利用履歴は、例えば、テーブル形式(アイテム利用履歴テーブル102と呼ぶ)で格納されてもよい。本実施形態では、アイテム利用は、ユーザからの利用リクエストに対してアイテム提供サーバ20がアイテムを提供することにより実行される。なお、本実施形態では、ユーザ識別子(ユーザID)を用いてユーザが識別される例を主に説明するが、例えば端末装置30として携帯電話が用いられる場合、端末識別子(端末ID)がユーザ識別子の代わりに用いられてもよい。端末識別子は、例えば、情報選択装置10又はアイテム提供サーバ20と端末装置30との接続時に取得することができる。また、例えば端末装置30としてパーソナルコンピュータを用いる場合には、ユーザ識別子の代わりにCookie又はこれに類似する識別情報を用いて、Webブラウザ又は端末装置30を識別してもよい。以下では、ユーザ識別子と端末識別子とを合わせて、「利用主体識別子」と称する。
アイテム利用履歴テーブル102Aは、利用履歴情報の格納のために種々の格納形態を採用することができる。例えば、図8(a)のアイテム利用履歴テーブル102A−1に示すように、ユーザ識別子とアイテム識別子とを関連付けて格納することができる。本例では、1つの利用リクエストが、テーブル102A−1の1行に対応している。テーブルの1行目と4行目がともに「UserID−1」と「ItemID−3」の組み合わせであることから分かるように、ユーザ識別子とアイテム識別子の組み合わせが同じであっても、利用リクエスト毎にテーブル行のデータが追加される。このため、他の処理部(例えば、関連度算出部104)は、アイテム識別子が示すアイテム毎の利用回数、およびアイテム毎の利用ユーザ数を容易にカウントできる。なお、1つの利用リクエストに複数のアイテム識別子が含まれている場合は、アイテム識別子の数だけのテーブル行を割り当てて格納すればよい。
図8(b)に示すアイテム利用履歴テーブル102A−2は、ユーザ識別子、アイテム識別子、及びアイテム利用時期を関連付けて格納する例である。図8(a)に示したアイテム利用履歴テーブル102A−1と同様に、1つの利用リクエストがテーブル102A−2の1行に対応している。利用リクエストがアイテム利用時期を示す場合、制御部110は、利用リクエストから取り出されたアイテム利用時期情報をテーブル102A−2に格納させる。利用リクエストにアイテム利用時期情報が含まれていない場合、制御部110は、例えば情報選択装置10に内蔵されている時計を用いて、情報選択装置10が利用リクエストを受信した時期(時点)を利用時期情報として用いればよい。
図8(b)の例は、アイテム利用時期の表現形式として、「2010年1月1日 10時15分20秒」などの秒単位までの日時を用いている。しかしながら、アイテム利用時期は、ミリ秒単位までの日時、日単位までの日付、月単位、年単位などの任意の形式で表されてもよい。なお、利用リクエストは、ユーザによるアイテムに対する評価値(例えば、好き=3、どちらでもない=2、嫌い=1、などの好き嫌いの度合いを示す数値)を含んでもよい。この場合、アイテム利用履歴テーブル102A−2は、ユーザ識別子、アイテム識別子、アイテム利用時期、及び当該アイテム評価値を関連付けて格納してもよい。
図8(c)に示すアイテム利用履歴テーブル102A−3は、ユーザ識別子、アイテム識別子、及びアイテム利用回数を関連付けて格納する例である。後述するように、関連度算出部104がアイテム利用時期を用いない場合は、アイテム利用履歴テーブル102A−3を用いることで利用履歴格納部102の記憶容量を削減することができる。また、ユーザによるアイテムに対する評価値(アイテム評価値)が利用リクエストに含まれる場合は、アイテム利用履歴テーブル102A−3は、ユーザ識別子、アイテム識別子、アイテム利用回数、及び最新のアイテム評価値を関連付けて格納してもよい。
カテゴリ関連度格納部103は、複数のカテゴリ内での各組み合わせについてのカテゴリ関連度を格納する。カテゴリ関連度は、例えば、テーブル形式(カテゴリ関連度テーブル103Aと呼ぶ)で格納されてもよい。図9(a)は、カテゴリ関連度テーブル103の一例であるテーブル103A−1を示している。テーブル103A−1は、2つのカテゴリのカテゴリ識別子(すなわち、基準カテゴリ識別子と関連カテゴリ識別子)とこれらのカテゴリ関連度を対応付ける。カテゴリ関連度は、例えば、0以上1以下の数値によって表すことができる。ここでは、カテゴリ関連度の値が1であるときに2つのカテゴリ間の関連性、類似性、又は相関性が最も高いことを表し、0であるときに最も低いことを表わす。例えば、図9(a)は、「CategoryID−1」と「CategoryID−2」とのカテゴリ関連度が「0.85」であることを示している。
また、図9(b)は、カテゴリ関連度テーブル103Aの他の例であるテーブル103A−2を示している。テーブル103A−2は、マトリクス形式のテーブルである。このマトリクスは、同じカテゴリの関連度が対角線上に「1」として並ぶ対称行列である。また、カテゴリ関連度テーブル103Aは、他の方法で作成されてもよい。本実施形態では、後述するように、関連度算出部104が、利用履歴格納部102に格納されたデータを用いてカテゴリ関連度を算出し、カテゴリ関連度テーブル103Aを作成する。しかしながら、カテゴリ関連度は他の方法を用いて算出されてもよい。
推薦情報格納部108は、情報選択部107で選択された推薦カテゴリ及び推薦アイテムを含む推薦情報を記録する。推薦情報は、例えば、テーブル形式(推薦情報テーブル108Aと呼ぶ)で格納されてもよい。推薦情報テーブル108Aは、基準アイテム識別子、推薦カテゴリ識別子、及び推薦アイテム識別子を対応付ける。また、テーブル108Aは、これらの識別子に加えて、推薦カテゴリの推薦順位及び推薦アイテムの推薦順位の少なくとも一方を記録してもよい。
図10は、推薦情報テーブル108Aの一例を示している。基準アイテム識別子は、推薦情報を出力するトリガーとなる推薦リクエストに含まれるアイテム識別子に対応するものである。推薦リクエストについては後述する。推薦カテゴリ識別子は、基準アイテム識別子に対応して推薦されるカテゴリの識別子である。推薦アイテム識別子は、推薦カテゴリに属するアイテム群の中で基準アイテムとの関連度が高いアイテムの識別子である。すなわち、推薦情報テーブル108Aにて関連付けられた推薦カテゴリ識別子と推薦アイテム識別子は、アイテム−カテゴリ対応テーブル101Cにおいても関連付けられている。
図10の例に示すように、基準アイテム識別子(基準アイテム)毎に推薦カテゴリ識別子(推薦カテゴリ)の個数が異なっていてもよい。また、推薦カテゴリ識別子(推薦カテゴリ)毎に、それに対応する推薦アイテム識別子(推薦アイテム)の個数が異なっていてもよい。ある基準アイテム識別子に対応する推薦カテゴリ識別子が1つのみであってもよい。ただし、本実施形態では、推薦情報テーブル108Aは、複数の推薦カテゴリ識別子を持つ基準アイテム識別子を1つ以上含むことが望ましい。
図10におけるカテゴリ順位は、基準アイテム識別子毎に推薦カテゴリの推薦順位を示している。図10の例では、カテゴリ順位の番号が小さいカテゴリほど優先順位が高く、優先的にユーザに提示される。また、アイテム順位は、基準アイテム識別子と推薦カテゴリ識別子の組み合わせ毎に推薦アイテムの推薦順位を示している。図10の例では、アイテム順位の番号が小さいアイテムほど優先順位が高く、優先的にユーザに提示されるものとする。図10では、各々の基準アイテム識別子に対して、カテゴリ順位の高い順に推薦カテゴリ識別子を格納している。しかしながら、カテゴリ順位と対応付けて推薦カテゴリ識別子を格納する場合、推薦カテゴリは適当な順序で格納されてもよい。推薦アイテム識別子の格納順序についても同様である。
なお、カテゴリ順位およびアイテム順位の代わりに、数値が大きいほど優先順位が高ことを示す推薦度が用いられてもよい。すなわち、推薦度の値が大きいカテゴリ又はアイテムほど優先的にユーザに提示される。また、推薦情報テーブル108Aは、基準アイテム識別子毎に推薦順位の高い順(または推薦順位の低い順)に推薦カテゴリ識別子を格納する規則に従って作成されてもよい。これにより、テーブル108Aへのカテゴリ推薦順位の格納を省略することができる。また、これと同様の規則を推薦アイテム識別子に適用することによって、アイテム推薦順位を省略してもよい。あるいは、テーブル108Aに記録された全ての推薦カテゴリ識別子(又は全ての推薦アイテム識別子)は同じ推薦順位として扱われてもよいし、テーブル108Aから読み出された推薦カテゴリ(又は推薦アイテム)に対してランダムに推薦順位が付与されてもよい。
関連度算出部104は、利用履歴格納部102に格納されたデータを用いて各アイテム組み合わせについてアイテム関連度を算出し、これらをアイテム関連度格納部105に格納させる。なお、第1の実施形態で述べたように、アイテム関連度は管理者又はオペレータによって予め定義されてもよいし、外部の装置から情報選択装置10に供給されてもよい。この場合、関連度算出部104は、省略されてもよい。
また、関連度算出部104は、各カテゴリ組み合わせに対するカテゴリ関連度を算出し、算出したカテゴリ関連度をカテゴリ関連度格納部103に格納させてもよい。
アイテム関連度格納部105は、関連度算出部104により算出された複数のアイテム組み合わせの各々のアイテム関連度を格納する。アイテム関連度は、例えば、テーブル形式(アイテム関連度テーブル105Aと呼ぶ)で格納されてもよい。図11は、アイテム関連度テーブル105Aの一例を示している。本図の例では、基準アイテム識別子「ItemID−1」に対応する関連アイテム識別子をL1個、基準アイテム識別子「ItemID−2」に対応する関連アイテム識別子をL2個格納している。ここで、L1とL2は同数であってもよいし、異なっていてもよい。すなわち、テーブル105Aは、すべての基準アイテム識別子に対して同じ数の関連アイテム識別子を格納してもよいし、基準アイテム識別子毎に任意の数の関連アイテム識別子を格納してもよい。また、テーブル105Aは、関連度算出部104によって算出された全てのアイテム組み合わせに関するアイテム関連度を格納してもよいし、ある基準アイテム識別子とのアイテム関連度が相対的に高い関連アイテム識別子のみを関連アイテム集合として格納してもよい。一部のみを格納することにより、アイテム関連度格納部105の記憶容量を削減することができる。また、図11に示すように、テーブル105Aは、基準アイテム識別子毎に、アイテム関連度の大きい順に関連アイテム識別子を格納してもよい。
1つの基準アイテム識別子に対応する関連アイテム識別子の個数は、基本的には複数であるが1であってもよい。ただし、少なくとも1つの基準アイテム識別子において、関連アイテム識別子が2以上であることが望ましい。なお、情報選択装置10以外の他の装置で算出されたアイテム関連度をアイテム関連度テーブル105Aに記録してもよく、その場合に関連度算出部104は省略されてもよい。
情報選択部107は、カテゴリ関連度格納部103およびアイテム関連度格納部105に格納されたデータを用いて、ユーザに提示されるべき推薦カテゴリ及び推薦アイテムを選択する。そして、情報選択部107は、推薦カテゴリ及び推薦アイテムを含む推薦情報を作成し、推薦情報格納部108(例えば、推薦情報テーブル108A)に格納する。
<アイテム提供サーバ>
アイテム提供サーバ20は、端末装置30からの要求に応じて、アイテム又はアイテムに関する情報を提供する。図12は、アイテム提供サーバ20の構成例を示すブロック図である。図12の例では、アイテム提供サーバ20は、ユーザ管理部201、アイテム格納部202、データ格納部203、送受信部204、及び制御部205を有する。
アイテム提供サーバ20は、一般的なコンピュータシステムを用いて構成されてもよい。例えば、アイテム提供サーバ20は、CPU、RAM、ROM、不揮発性記憶デバイス(例えば、HDD(Hard Disc Drive)、フラッシュメモリ)、ネットワークインタフェース等を備える一般的なコンピュータを用いて構成することができる。すなわち、一般的なコンピュータは、以下で説明するようなアイテム又はアイテム情報の提供に関する処理・アルゴリズムを行なうためのプログラムを実行することにより、アイテム提供サーバ20として機能することができるようになる。
送受信部204は、ネットワーク40(図2の構成の場合は、さらにネットワーク42)を介して情報選択装置10および端末装置30との間でデータを送受信する。制御部205は、アイテム提供サーバ20の全体の制御を行なう。
ユーザ管理部201は、端末装置30を利用するユーザを識別するためのユーザ識別子、または端末装置30を識別するための端末識別子、つまり利用主体識別子を格納する。アイテム提供サーバ20は、例えば、ユーザにアイテム利用を開始させる前に入会処理等を行い、入会処理の終了したユーザに関する利用主体識別子を記憶部(不図示)に格納させる。また、アイテム提供サーバ20は、ログイン名、パスワード、氏名、生年月日、連絡先、決済方法等のユーザ属性情報を利用主体識別子に関連付けてユーザ管理部201に格納させるようにしてもよい。
アイテム格納部202は、アイテム提供サーバ20が提供するアイテムに関する情報を格納する。アイテム格納部202は、情報選択装置10のメタデータ格納部101と同様な情報を格納する。ただし、アイテムがデジタルコンテンツであって、ネットワーク40を介した端末装置30へのアイテム提供(すなわち、コンテンツ配信)が可能である場合には、アイテム格納部202は、メタデータ格納部101のデータに加えて、アイテム識別子と、アイテム本体(デジタルコンテンツ等のデータ)とを対応付けて格納する。
なお、制御部205は、アイテム格納部202が更新されたことに応じて、または所定のスケジュールに従って、アイテム格納部202のデータを、送受信部204を介して情報選択装置10に送信し、メタデータ格納部101に格納させるようにしてもよい。反対に、制御部205は、メタデータ格納部101のデータを情報選択装置10から受信し、アイテム格納部202に格納させるようにしてもよい。あるいは、情報選択装置10は、アイテム属性情報を要求するメッセージをアイテム提供サーバ20に送信してもよい。そして、制御部205は、要求メッセージに応じたデータをアイテム格納部202から読み出して、送受信部204を介して情報選択装置10に送信してもよい。
データ格納部203は、様々なデータを格納することができる。例えば、情報選択装置10の推薦情報格納部108に格納されたデータをコピーしてデータ格納部203に格納することができる。この場合、端末装置30は、アイテム提供サーバ20から推薦情報を受信することができるので、情報選択装置10の処理負荷を低減することができる。また、データ格納部203は、情報選択装置10の利用履歴格納部102と同様なデータを格納してもよい。この場合、情報選択装置10からデータ格納部203を参照できるようにして、情報選択装置10の利用履歴格納部102を省略することも可能である。
<端末装置>
端末装置30は、ユーザが使用する装置である。図13は、端末装置30の構成例を示すブロック図である。図13の例では、端末装置30は、制御部301、送受信部302、ブラウザ部303、及びアプリケーション部304を有する。端末装置30は、CPU、RAM、ROM、不揮発性記憶デバイス(例えば、HDD(Hard Disc Drive)、フラッシュメモリ)、ネットワークインタフェース等を備える一般的なコンピュータを用いて構成することができる。すなわち、一般的なコンピュータは、以下で説明するようなアルゴリズム・処理を行なうためのプログラムを実行することにより、端末装置30として機能することができるようになる。また、コンピュータシステムとしての端末装置30は、Webブラウザ機能を備えた携帯電話、スマートフォン、タブレットコンピュータ等でもよい。
制御部301は、端末装置30の全体の制御を行う。送受信部302は、ネットワーク40(図2の構成の場合は、さらにネットワーク42)を介して端末装置30又は情報選択装置10との間でデータを送受信する。
ブラウザ部303は、HTTP(Hypertext Transfer Protocol)プロトコル、HTTPS(HTTP over Secure Socket Layer)プロトコル等を用いて、サーバ(例えば、WWW(World Wide Web)サーバ)からHTML(Hypertext Markup Language)文書、画像等を含むWebページを取得し、Webページに基づく情報を表示装置320に出力するよう動作する。ブラウザ部303は、更に、スクリプト言語等で記述されたプログラムを解釈し、実行する機能を持っていてもよい。例えば、ブラウザ部303の機能は、コンピュータシステムとしての端末装置30がWebブラウザ・プログラムを実行することによって実現できる。
アプリケーション部304は、端末装置30の用途又はユーザの指示に応じて、アプリケーションレイヤにおける種々の処理を行う。アプリケーション部304の機能は、ンピュータシステムとしての端末装置30が種々のアプリケーションプログラムを実行することによって実現できる。
端末装置30が例えばパーソナルコンピュータである場合には、表示装置320(例えば、LCD、OELD、CRTディスプレイ)、およびユーザからの操作指示を受け付けるための入力装置330(例えば、キーボード、マウス、タッチパネル、トラックボール、リモコン)が接続されてもよい。端末装置30が携帯電話端末、スマートフォン、タブレットコンピュータ等である場合、一般的に、表示装置および入力装置は端末装置30に一体的に配置される。以下では、便宜的に表示装置320および入力装置330が端末装置30に接続されているものとして説明する。
<システム動作>
<システム全体の動作>
図14のフローチャートを参照して、情報選択装置10、アイテム提供サーバ20、及び端末装置30を含むシステム1全体の動作の一例を説明する。まず、ステップS100において、端末装置30は、ブラウザ部303を用いて、アイテム提供サーバ20のURL(Uniform Resource Locator)にアクセスする。具体的には、アイテム提供サーバ20の提供する所定のWebページへのリクエスト(利用開始リクエスト)をアイテム提供サーバ20に送信する。
端末装置30が例えばパーソナルコンピュータである場合、端末装置30は、ユーザによるログイン名(ユーザID)及びパスワードの入力を受け付け、これらを含む利用開始リクエストを送信してもよい。この場合は、ステップS100の前に、ログイン名及びパスワードの入力を受け付けるためのHTML(Hyper Text Markup Language)データ等をアイテム提供サーバ20から端末装置30に送信しておけばよい。あるいは、端末装置30は、ログイン名及びパスワードの送信を省略するために、Cookie又はこれと同様の技術を用いて、端末装置30を利用するユーザを識別可能なデータを含む利用開始リクエストを送信してもよい。また、端末装置30が携帯電話端末、スマートフォン、タブレットコンピュータ等である場合、ログイン名及びパスワードの送信を省略するために、端末識別子を含む利用開始リクエストを送信してもよい。
ステップS110において、アイテム提供サーバ20の制御部205は、端末装置30からの利用開始リクエストを送受信部204を介して受信し、ユーザ管理部201を参照することによって登録済のユーザか否かを判定する。具体的には、利用開始リクエストがログイン名およびパスワードを含む場合は、制御部205は、それらをユーザ管理部201に格納されているログイン名およびパスワードと照合すればよい。また、利用開始リクエストが端末識別子を含む場合は、制御部205は、それがユーザ管理部201に格納されている利用主体識別子と一致するか判定すればよい。登録済のユーザ又は端末である場合(S110でYes)はステップS130に進み、そうでない場合(S110でNo)はステップS120に進む。
ステップS120において、アイテム提供サーバ20の制御部205は、入会処理のためのWebページ(HTML)を送受信部204を介して端末装置30に送信する。本図には示していないが、端末装置30を利用するユーザは、入力装置330を利用して入会処理のWebページに必要な情報を入力し、アイテム提供サーバに送信する操作を行う。これにより、アイテム提供サーバ20は、その情報をユーザ管理部201に格納することを含む入会処理を行う。端末装置30は、入会処理完了後に、改めて利用開始リクエストを送信してもよい。
ステップS130において、アイテム提供サーバ20の制御部205は、アイテム格納部202を参照しながら、利用開始リクエストに対応するWebページの応答データを作成し、受信部204を介して端末装置30に送信する。この応答データは、カテゴリ及びアイテムの少なくとも一方を紹介する情報を含んでいる。応答データは、HTMLデータ、画像データ、映像データ、音声データなどで構成されており、複数回に分けて端末装置30に送信されてもよい。また応答データは、Cookie等の技術を用いてユーザ又は端末装置30を識別するための情報を含んでもよい。
ステップS140において、端末装置30は、アイテム提供サーバ20から応答データを受信し、表示装置320にその情報を表示する。表示画面の例を図15に示す。本図の例は、アイテム提供サーバ20が最近提供を開始した「新着アイテム」を紹介する表示画面である。本図に示すようなアイテムを紹介する情報は、種々のタイミングでアイテム提供サーバ20から端末装置30に送信することができる。
図15において「アイテムABC」は1番目のアイテムのタイトルであり、「SF」は1番目のアイテムが属するカテゴリ名であり、「このアイテムは、2001年に制作された映画で…」という表示は1番目のアイテムに関する説明(アイテム説明)である。また、図15の例は、1番目のアイテムに関連するアイテム情報を提供するためのボタン又はリンク等(関連アイテムリンク、または関連リンクと称する)を示す表示要素1401を含む。図15の例は、1番目のアイテムを利用するためのボタン又はリンク等(以下では、利用リンクと称する)を示す表示要素1402を含む。
ユーザは、入力装置330を使用したクリック等の操作により、関連リンク(表示要素1401)または利用リンク(表示要素1402)を選択することができる。なお表示画面には表示されないが、応答データには、各々のアイテムのアイテム識別子が含まれており、各々の関連リンクおよび利用リンクには、選択対象となるアイテムのアイテム識別子が対応付けられている。
図14のフローチャートに戻って説明を続ける。ステップS150において、端末装置30は、関連リンクがユーザから入力装置330を介して選択されたか否かを判定する。関連リンクが指定された場合(Yes)はステップS160に進み、指定されていない場合(No)はステップS190に進む。
ステップS160において、端末装置30は、関連リンクに対応するURLにリクエスト(推薦リクエスト)を送信する。本実施形態では、関連リンクが情報選択装置10の所定のURLに対応する場合を説明するが、関連リンクをアイテム提供サーバ20の所定のURLに対応させてもよい。推薦リクエストは、図15に示した表示画面で選択されたアイテムのアイテム識別子を含む。例えば、図15に示された1番目のアイテム「アイテムABC」に対応する関連リンクをユーザがクリックした場合、推薦リクエストは「アイテムABC」のアイテム識別子を含む。このように推薦リクエストに含まれるアイテム識別子を以下では、「リクエスト基準識別子」と称する。また、推薦リクエストは、必要な推薦情報の個数(例えば、推薦カテゴリの個数、各推薦カテゴリの推薦アイテムの個数など)に関する情報を含んでもよい。また、推薦リクエストは、利用主体識別子(すなわち、端末装置30を利用するユーザのユーザ識別子または端末識別子)を含めるようにしてもよい。
ステップS170において、情報選択装置10の制御部110は、送受信部109を介して、推薦リクエストを受信し、それに含まれるリクエスト基準識別子に対応する表示用推薦データ(すなわち、表示制御情報)を表示制御情報作成部106に作成させる。そして、制御部110は、作成された表示用推薦データを端末装置30に送信する。
表示制御情報作成部106は、図10に示した推薦情報格納部108の推薦情報テーブル108Aを参照しながら、リクエスト基準識別子に一致する基準アイテム識別子を特定し、それに対応する推薦カテゴリ識別子とカテゴリ順位とを読み出す。また、表示制御情報作成部106は、推薦カテゴリ識別子毎に、対応する推薦アイテム識別子とアイテム順位を読み出す。さらに、表示制御情報作成部106は、読み出した推薦カテゴリ識別子に対応するカテゴリ属性情報(例えば、カテゴリ種別、カテゴリ名、カテゴリ説明)をカテゴリ情報テーブル101Bから読み出す。さらにまた、表示制御情報作成部106は、読み出した推薦アイテム識別子に対応するアイテム属性情報(例えば、タイトル、アイテム説明、アイテム時期)をメタデータ格納部101のアイテム情報テーブル101Aから読み出す。そして、表示制御情報作成部106は、それら読み出したデータを用いて表示用推薦データを作成する。
表示用推薦データ(すなわち、表示制御情報)は、端末装置30のブラウザ部303が解釈可能なHTML(Hyper Text Markup Language)などで記述されたデータである。作成部106は、端末装置30に接続された表示装置320において、推薦カテゴリのカテゴリ属性情報の表示位置がカテゴリ順位に応じて変わるように、表示用推薦データを作成してもよい。カテゴリ順位はカテゴリ優先度によって決まるため、カテゴリ優先度に応じてカテゴリ属性情報の表示位置を決めているといえる。また、作成部106は、推薦アイテムのアイテム属性情報の表示位置がアイテム順位に応じて変わるように、表示用推薦データを作成してもよい。また、表示用推薦データは、リクエスト基準識別子と、リクエスト基準識別子に対応するタイトル等の属性情報を含んでもよい。
参考として図10に示した例を用いて説明する。リクエスト基準識別子が「ItemID−10」である場合を考える。作成部106は、リクエスト基準識別子(ItemID−10)と同じ基準アイテム識別子に対応付けられた3つの推薦カテゴリ識別子「CategoryID−100」、「CategoryID−102」、及び「CategoryID−110」と、これらのカテゴリ順位「1」、「2」、及び「3」を読み出す。さらに、作成部106は、「CategoryID−100」に対応付けられた3つの推薦アイテム識別子「ItemID−20」、「ItemID−25」、「ItemID−11」と、これらのアイテム順位「1」、「2」、「3」を読み出す。他の推薦カテゴリ識別子についても同様である。ただし、作成部106は、特定した基準アイテム識別子に対応する推薦カテゴリ識別子および推薦アイテム識別子をすべて読み出してもよいし、カテゴリ順位およびアイテム順位の高い順に所定数を読み出してもよい。また推薦リクエストが推薦情報の個数を指定している場合、作成部106は、推薦順位の高い順にその個数だけ推薦カテゴリ識別子又は推薦アイテム識別子を読み出してもよい。
また、推薦リクエスト(ステップS160)は、利用主体識別子を含んでもよい。この場合、作成部106は、推薦リクエストに含まれる利用主体識別子が過去に利用したアイテムを推薦アイテムから除外してもよい。具体的には、作成部106は、利用履歴格納部102のアイテム利用履歴テーブル102Aを参照することで、推薦リクエストに含まれる利用主体識別子が過去に利用したアイテム識別子(利用済みアイテム識別子)を特定し、利用済みアイテム識別子(利用済みアイテム)を推薦情報から除外すればよい。このような処理を行なうことで、ユーザが同じアイテムを1回のみ利用(例えば、購入、閲覧)することが多いアイテム提供サービスにおいて、精度の高い推薦が可能になる。例えば、一度購入したデジタルコンテンツは、端末装置30で繰り返し利用(再生)できるサービスに適している。
図14のフローチャートに戻って説明を続ける。ステップS180において、端末装置30は、表示用推薦データを情報選択装置10から受信する。ブラウザ部303は、表示用推薦データを解釈し、例えば、図16に示す形式で表示装置320に推薦リストを表示する。図16は、「AAAの関連アイテム」を表示する画面の一例である。「AAA」の部分には、リクエスト基準識別子に対応するアイテムのタイトルが表示される。図16における「1)」、「2)」、「3)」を含む番号は、カテゴリ順位(すなわち、推薦順位)を示している。図16における「サスペンス」、「SF」、「いやし系」を含むテキスト表示は、推薦カテゴリのカテゴリ名を示している。図16における推薦カテゴリの表示順序(又は表示位置)は、カテゴリ順位に従って決められている。具体的には、カテゴリ順位が上位のカテゴリほど、ユーザの目に留まりやすい位置に表示されるとよい。例えば、図16に示すように上下方向に複数のカテゴリの情報を配置する場合は、カテゴリ順位が上位のカテゴリを表示画面の上側に表示するとよい。また、左右方向に複数のカテゴリの情報を配置する場合は、カテゴリ順位が上位のカテゴリを表示画面の左側に表示するとよい。図16における「ジャンル」、「ムード」を含むテキスト表示は、カテゴリ種別の名称を示している。図16の例に示すように、表示用推薦データに基づく表示画面は、複数のカテゴリ種別が混在してもよい。
推薦アイテムの情報は、推薦カテゴリとの対応が分かるように表示されるとよい。図16の例では、推薦カテゴリ「サスペンス」に対応する推薦アイテムとして、3つのアイテムの情報が表示されている。図16における丸で囲まれた1〜3の番号表示は、アイテム順位(すなわち、推薦順位)を示す。「アイテムOPQ」とのテキスト表示は、推薦順位が1番目のアイテムのタイトルを示す。「このアイテムは、目が離せない…」というテキスト表示は、1番目のアイテムの説明を示す。また、図16の例では、図15の例と同様に、各々のアイテムに対して、関連アイテムリンクに対応付けられた「関連アイテム表示」ボタンと、利用リンクに対応付けられた「アイテム利用」ボタンとが表示される。例えば、ユーザは「アイテムOPQ」の「関連アイテム表示」ボタンを操作することにより、「アイテムOPQ」に関連する推薦カテゴリ又は推薦アイテムを含む推薦情報をさらに閲覧することができる。2番目以降のアイテムについても同様な表示がされる。各アイテムの属性情報の表示順序(表示位置)は、アイテム順位に応じて決まる。アイテム順位は、アイテム関連度の強さに応じて決まっているので、アイテム属性情報の表示順序は、アイテム関連度に応じて決まるといえる。
また図16には示していないが、推薦カテゴリ毎に更なる推薦アイテム(関連アイテム)を表示させるための表示要素(例えば、ボタン)を配置してもよい。例えば、図16の「サスペンス(ジャンル)好きなら」という表示の近くに「このジャンル(カテゴリ)の推薦アイテムをもっと見る」といったテキストを含む表示要素を配置してもよい。そして、ユーザがその表示要素を操作した場合に、リクエスト基準識別子に対応する「サスペンス」の推薦アイテムをより多く表示するようにしてもよい。
図14のフローチャートに戻って説明を続ける。ステップS190において、端末装置30は、入力装置330を利用してユーザにより利用リンクが選択されたか否かを判定する。この利用リンクは、代表的には、アイテムの購入要求とすることができるが、アイテムの再生、アイテムのプレビュー、アイテムの詳細情報の表示、又はアイテムに対する評価情報(評価値)の登録などの種々の要求であってもよい。利用リンクが選択された場合(Yes)はステップS200に進み、そうでない場合(No)はステップS250に進む。
ステップS200において、端末装置30は、利用リンクに対応するURLにリクエスト(利用リクエスト)を送信する。本実施形態では、利用リンクがアイテム提供サーバ20の所定のURLに対応する場合を説明する。なお端末装置30は、アイテム提供サーバ20に加えて情報選択装置10に利用リクエストを直接送信してもよい。
各々の利用リンクには、選択対象となるアイテムのアイテム識別子が付与されている。これにより、利用リクエストは、ユーザが選択したアイテムのアイテム識別子(利用基準アイテム識別子)と、そのユーザまたは端末装置30を識別する利用主体識別子を含む。なお、ユーザが一度に複数のアイテムを利用する場合、端末装置30は、複数のアイテムのアイテム識別子を含む1つの利用リクエストを送信してもよいし、各々が1つのアイテム識別子を含む複数の利用リクエストを送信してもよい。
ステップS210において、アイテム提供サーバ20の送受信部204は、端末装置30から受信した利用リクエストを情報選択装置10に中継(転送)する。このとき、アイテム提供サーバ20の制御部205は、利用基準アイテム識別子や利用主体識別子などの情報を利用リクエストから取り出し、これらを利用情報としてデータ格納部203に格納させるようにしてもよい。
ステップS220において、情報選択装置10の制御部110は、送受信部109を介して利用リクエストを受信し、利用基準アイテム識別子や利用主体識別子などの情報を利用リクエストから取り出し、これらの利用履歴として利用履歴格納部102に格納させる。そして、制御部110は、送受信部109を介して、利用履歴情報の格納を終了したことを示すメッセージをアイテム提供サーバ20に送信する。
ステップS230において、アイテム提供サーバ20の制御部205は、情報選択装置10からの格納終了メッセージを受信した後、端末装置30にアイテムを提供する処理を行なう。例えば、提供対象のアイテムがデジタルコンテンツである場合、制御部205は、利用リクエストに示されたアイテム識別子に対応するアイテム本体をアイテム格納部202から読み出し、送受信部204を介して端末装置30に送信する。また、アイテムが有体物としての物品である場合には、配送事業者のシステムに配送依頼の情報を送ることを含む配送処理などを行なう。このとき、制御部205は、課金処理を行なってもよい。また、アイテムの詳細情報が要求された場合には、制御部205は、アイテム格納部202から「アイテム説明」などの追加情報を読み出し、これを端末装置30に送信する。
ステップS240において、端末装置30は、アイテム提供サーバ20から提供されたアイテムの利用に係る処理を行なう。例えば、アイテムがデジタルコンテンツである場合には、アイテムの再生、表示などを行なう。また、アイテムが物品である場合には、配送処理を受付した旨のメッセージ等を画面に表示する。
ステップS250において、端末装置30は、ユーザがブラウザを終了する等の操作終了指示があるか否かを判定する。操作終了指示がある場合(Yes)は端末装置30の処理を終了し、操作終了指示がない場合(No)はステップS150に戻って処理を継続する。
以上がシステム全体の動作の説明である。なお、図14のステップS160では、端末装置30は推薦リクエストを情報選択装置10に送信しているが、これ以外の方法を用いてもよい。例えば、端末装置30は推薦リクエストをアイテム提供サーバ20に送信し、アイテム提供サーバ20が推薦リクエストを情報選択装置10に中継(転送)してもよい。また、周期的又は非周期的なタイミングにおいて、情報選択装置10の制御部110は、送受信部109を介して、推薦情報格納部108に格納されたデータをアイテム提供サーバ20に送信してもよい。そして、アイテム提供サーバ20の制御部205は、送受信部204を介してそのデータを受信し、データ格納部203に予め格納しおいてもよい。そして、アイテム提供サーバ20の制御部205は、推薦リクエストに応答するためのステップS170に相当する処理として、データ格納部203から推薦データを読み出し、表示用推薦データを作成して、端末装置30に送信するようにしてもよい。この場合は、表示用推薦データ作成とその送信に伴う情報選択装置10の処理負荷を減らすことができる。
また、図14のステップS210では、アイテム提供サーバ20は端末装置30からの利用リクエストを情報選択装置10に中継しているが、これ以外の方法を用いてもよい。例えば、ステップS200の利用リクエストの送信と同時、あるいは適当なタイミングで、端末装置30から情報選択装置10に利用リクエストを直接的に送信してもよい。
また、図14のステップS220において、情報選択装置10は、利用履歴情報を格納することに加えて、利用リクエストに含まれる利用基準アイテム識別子に対応する表示用推薦データをステップS170と同様な方法で作成し、表示用推薦データをアイテム提供サーバ20に送信してもよい。そして、ステップS230において、アイテム提供サーバ20が、アイテム提供処理を行うことに加えて、表示用推薦データを端末装置30に送信してもよい。すなわちこの場合、端末装置30は、利用リクエストを送信する毎に、利用リクエストに含まれるアイテム識別子に対応する推薦情報を受信することができる。
また、携帯電話端末等の端末識別子を利用することができるために特別なユーザ登録処理が不要なアイテム提供サービスにおいて、ステップS200で送信される利用リクエストは、利用主体識別子としての端末識別子を含んでもよい。これにより、ステップS110の登録済ユーザ確認処理と、ステップS120の入会処理に必要なデータの送信とを省略することも可能である。
<情報選択装置の動作>
第2の実施形態における情報選択装置10の処理動作の具体例について説明する。まず、推薦情報の作成動作の具体例について図17のフローチャートを参照して説明する。
情報選択装置10の制御部110は、所定のタイミングで情報選択装置10の各処理部に指示を出し、推薦情報を作成する処理を開始する。推薦情報作成のタイミングは、周期的でもよいし、非周期的でもよい。推薦情報作成のタイミングとして、例えば、次の3種類のうち少なくとも1つを用いることができる。
推薦情報作成の第1のタイミングは、所定の日時または所定の時間間隔である。例えば、「毎日午前6時と午後6時」、「毎週月曜の午前10時30分」、「12時間ごと」、「24時間ごと」などである。このとき、「平日は午前6時、土日は午前6時と午後6時」、「平日は3時間ごと、土曜日は6時間ごと、日曜日は12時間ごと」などのように時間間隔が変動してもよい。また、夏は時間間隔を短くして、冬は時間間隔を長くするなど、季節に応じて時間間隔を変えてもよい。この第1のタイミングを用いると、他のタイミングを用いた場合より情報選択装置10の処理負荷を減らすことができる。特に、推薦リクエスト数が少ない時間帯に推薦情報を作成するように設定すれば、情報選択装置10の処理負荷の低減に効果的である。
推薦情報作成の第2のタイミングは、端末装置30の推薦リクエスト送信処理(図14ステップS160)に基づく推薦リクエストを所定回数受信するごとである。この場合は、情報選択装置10は、まず推薦情報を作成し、その後に、表示用推薦データ作成・送信処理(ステップS170)を行なうようにするとよい。この所定回数(すなわち、推薦情報を更新するまでの推薦リクエストの受信回数)を調整することにより、情報選択装置10の処理負荷の大きさと、推薦情報の新しさとのバランスを調整することができる。例えば、所定回数を1回として、推薦リクエストを受信する毎に推薦情報を作成すると、情報選択装置10の処理負荷は大きくなるが、最新の推薦情報を提供することができる。以下では、説明を簡単にするために、第2のタイミングを用いる場合には、推薦リクエストを1回受信するごとに(所定回数を1として)、推薦情報を作成するものとする。
推薦情報作成の第3のタイミングは、端末装置30の利用リクエスト送信(ステップ200)に基づく利用リクエストを所定回数受信するごとである。推薦リクエストの発生頻度に比べて利用リクエストの発生頻度が少ない場合には、第2のタイミングよりも第3のタイミングの使用が適している。この所定回数を調整することにより、情報選択装置10の処理負荷の大きさと、推薦情報の新しさとのバランスを調整することができる。所定回数を1回として、利用リクエストを受信する毎に推薦情報を作成するようにすれば、情報選択装置10の処理負荷は大きくなるが、最新の推薦情報を提供することができる。以下では、説明を簡単にするために、第3タイミングを用いる場合には、利用リクエストを1回受信するごとに(所定回数を1として)、推薦情報を作成するものとする。
以下の説明において、推薦情報を作成する対象となる基準アイテム識別子の集合を「推薦基準集合」と称する。第1のタイミングで推薦情報を作成する場合は基本的に、推薦基準集合の要素数(基準アイテム数)が多数となる。第2および第3のタイミングで推薦情報を作成する場合、上述した所定回数が1であれば、推薦基準集合の要素数は基本的に1つであるが、複数になる場合もある。
まず、ステップS400において、制御部110の指示を受けた関連度算出部104が、各アイテム組み合わせに関するアイテム関連度を算出し、算出したアイテム関連度をアイテム関連度格納部105に格納させる。
ステップS410において、制御部110の指示を受けた関連度算出部104が、カテゴリ間の関連度を算出し、2つのカテゴリとその関連度とを対応させて、カテゴリ関連度格納部103に格納させる。
ステップS420において、制御部110の指示を受けた情報選択部107が、推薦情報を作成する。具体的には、情報選択部107は、カテゴリ関連度格納部103およびアイテム関連度格納部105を参照しながら、基準アイテムに対する推薦カテゴリと推薦アイテムを選択し、これらを含む推薦情報を推薦情報格納部108に格納させる。そして、推薦情報作成動作が終了した旨を制御部110に通知する。
<アイテム関連度算出(ステップS400)>
次に、アイテム関連度算出処理(ステップS400)の具体例について図18のフローチャートを参照して説明する。
ステップS500において、関連度算出部104は、複数のユーザによるアイテム利用履歴を利用履歴格納部102のアイテム利用履歴テーブル102Aから読み出す。ここでは、すべてのアイテム利用履歴を読み出してもよいし、所定の条件を満たす利用履歴を読み出してもよい。例えば、関連度算出部104は、図8(b)の例のようにアイテム利用時期情報を含む利用履歴テーブル102Aに基づいて、「アイテム利用時期が所定範囲内にある」という条件を満たす利用履歴を読み出してもよい。アイテム利用時期に関する条件は、例えば、「利用時期が過去4ヶ月以内」、又は「利用時期と現在との差が3日以上かつ30日未満」などと指定できる。
また、関連度算出部104は、アイテム毎に利用時期が新しい順に所定個数以内の利用履歴を読み出してもよい。例えば、所定個数を20個とした場合、利用回数が20回以上のアイテムに対しては、利用時期が新しい順に20個ずつの利用履歴を読み出し、利用回数が20回未満のアイテムに対しては、そのアイテムに関するすべての利用履歴を読み出すようにする。このようにすれば、利用頻度が少なく、最近利用されていないようなアイテムに対しても効率よく関連アイテム集合を作成することができる。
そして、このステップS500で読み出した利用履歴に含まれるアイテム(すなわち、アイテム識別子)の集合σを作成する。以下では、集合σに含まれるアイテムの数(i.e.アイテム識別子の種類数)をMs、ユーザの数(すなわち、ユーザ識別子の種類数)をUsとする。
ステップS510において、関連度算出部104は、推薦基準集合(すなわち、基準アイテム集合)K1を作成する。上述したように、第2のタイミングで推薦情報を作成する場合には、関連度算出部104は、推薦リクエストに含まれているアイテム識別子(リクエスト基準識別子)を推薦基準集合K1に入れればよい。
第3のタイミングで推薦情報を作成する場合には、関連度算出部104は、利用リクエストに含まれる利用基準アイテム識別子を推薦基準集合K1に入れればよい。
第1のタイミングで推薦情報を作成する場合は、ステップS500で作成したアイテムの集合σを推薦基準集合K1とすればよい。この場合は、所定条件を満たす利用履歴に含まれるアイテム識別子それぞれに対して関連アイテム集合が作成されることになる。なお、ここで作成された推薦基準集合K1は、情報選択部107、制御部110などの他の処理部から参照されてもよい。
ステップS520において、関連度算出部104は、ステップS510で作成された推薦基準集合K1の中から未処理のアイテムを1つ選択する。この処理対象となるアイテムを基準アイテムxとする。
ステップS530において、関連度算出部104は、ステップS500で読み出された利用履歴を用いて、基準アイテムxと、アイテム集合σに属する他アイテムy(y∈σ、x≠y)との関連度を算出する。
具体的には、基準アイテムxと他のアイテムyとを共に利用したことのあるユーザの数|I[x]∩I[y]|を算出し、これをアイテムx及びyのアイテム関連度W[x][y]としてもよい。また、アイテム関連度W[x][y]は、(1)式に示すジャカード(Jaccard)係数を用いて算出してもよい。(1)式において、I[x]はアイテムxを利用したユーザの集合を示し、I[y]はアイテムyを利用したユーザの集合を示し、|I[x]∩I[y]|はアイテムx及びyを共に利用したユーザの数を示し、|I[x]∪I[y]|はアイテムx及びyの少なくとも一方を利用したユーザの数を示す。
また、アイテム利用履歴からアイテム利用回数に関する情報、又はユーザがアイテムに対して行なった評価の情報(評価値)などの追加情報を含む場合、アイテム関連度はコサイン尺度やピアソン積率相関係数を用いて算出されてもよい。例えば、アイテム関連度W[x][y]は、(2)式に示すように、コサイン尺度を用いて算出されてもよい。ここで、E[x][u]はユーザuによるアイテムxの利用回数または評価値を示し、E[y][u]はユーザuによるアイテムyの利用回数または評価値を示す。また、Usは、ステップS500で読み出されたアイテム利用履歴に含まれるユーザの総数(ユーザ識別子の種類数)である。
また、関連度W[x][y]は、(3)式に示すように、ピアソン積率相関係数を用いて算出されてもよい。ここで、Ic[x][y]は、アイテムx及びyを共に利用または評価したユーザの集合である。Ea[x]は、Ic[x][y]に属するユーザによってアイテムxが利用された回数の平均値、または評価された評価値の平均値である。Ea[y]は、Ic[x][y]に属するユーザによってアイテムyが利用された回数の平均値または評価値の平均値である。
また、E[x][u]とE[y][u]とのユークリッド距離あるいはその他の距離を用いて、関連度W[x][y]を算出してもよい。
また、利用履歴格納部102にアイテム利用時期情報が格納されている場合は、E[x][u]などを算出する際に、利用時期が古い利用履歴より、新しい利用履歴の重みを大きくして算出してもよい。具体的にはまず、アイテム関連度算出処理を実行する時点(日時など)とアイテム利用時期との差を計算する。新しいアイテム利用履歴ではこの差が小さな値となり、古い利用履歴ではこの差が大きな値となる。そして、この差を単調減少関数に入力したときの出力値を重み係数とし、E[x][u]およびE[y][u]に重み係数を乗じた値を用いて、(2)式または(3)式に従ってアイテム関連度W[x][y]を算出すればよい。
また、アイテム情報テーブル101A(例えば、101A−1または101A−2)に、アイテム時期情報が格納されている場合は、アイテムyのアイテム時期情報が新しいほど大きな値となる重みを用いて、アイテム関連度W[x][y]を算出してもよい。具体的にはまず、アイテム関連度算出処理を実行する時点(日時など)とアイテム時期情報との差を計算する。アイテムyの制作または登録が新しい場合にこの差が小さな値となり、古い場合にこの差が大きな値となる。そして、この差を単調減少関数に入力したときの出力値を重み係数とし、上述のいずれかの方法で算出したアイテム関連度W[x][y]に重み係数を乗じた値を新たなアイテム関連度W[x][y]とすればよい。
さらに、ユーザuのアイテムxに対する利用回数または評価値であるE[x][u](x=1〜Ms,u=1〜Us)を行列要素とする行列に対して、主成分分析や数量化3類などの多変量解析を適用して、アイテム関連度を算出してもよい。多変量解析を適用することにより、行列を構成する各アイテムに対応し、かつ次元数を削減したベクトルを生成できるので、任意の2つのアイテムに対応する2つのベクトルのベクトル空間におけるコサイン尺度やユークリッド距離などを用いてアイテム関連度W[x][y]を算出すればよい。また、上記以外にも、2つのアイテム間の関連性を表わす指標であれば、どのような方法を用いてもよい。
ステップS540において、関連度算出部104は、アイテム関連度W[x][y]に基づいて、基準アイテムxに関する関連アイテム集合Ω[x]を作成し、アイテム関連度格納部105に格納させる。関連アイテム集合Ω[x]は、基準アイテムxと関連性の強いアイテム群のアイテム識別子を含む集合である。
関連アイテム集合作成の第1の方法は、ステップS530において基準アイテムxとの関連度を算出したすべてのアイテムを関連アイテム集合Ω[x]に入れる方法である。この方法は、なるべく精度よく推薦情報を作成したい場合に適している。
関連アイテム集合作成の第2の方法は、基準アイテムxとの関連度W[x][y]が相対的に高いアイテムを選出して関連アイテム集合Ω[x]に入れる方法である。具体的には、基準アイテムxとの関連度W[x][y]が閾値以上である他のアイテム(すなわち、アイテムxを除くアイテム)をアイテム集合σから選出する。また、基準アイテムxとの関連度W[x][y]が大きい順に所定値を超えない範囲で他のアイテムを選出してもよい。例えば、基準アイテムxとの関連度W[x][y]が算出されたアイテムの数が所定数に満たない場合は、関連度W[x][y]が算出されたすべてのアイテムを選出し、そうでない場合は、関連度W[x][y]が大きい順に所定数のアイテムを選出すればよい。この第2の方法によれば、アイテム関連度格納部105に必要な記憶容量を削減できる。
そして、関連度算出部104は、基準アイテムxのアイテム識別子と、関連アイテム集合Ω[x]に含まれる各アイテム識別子と、そのアイテム関連度W[x][y]とを対応させて、アイテム関連度格納部105のアイテム関連度テーブル105Aに記録する。具体的には、基準アイテムxのアイテム識別子が、図11に示したアイテム関連度テーブル105Aの基準アイテム識別子(基準アイテムID)に相当する。また、関連アイテム集合Ω[x]に含まれる各アイテム識別子は、関連度テーブル105Aの関連アイテム識別子(関連アイテムID)に相当する。なお、推薦基準集合K1に含まれるいずれかの識別子と合致する基準アイテム識別子がアイテム関連度テーブル105Aに既に格納されている場合、関連度算出部104は、それらを更新(上書き)すればよい。一方、推薦基準集合K1に含まれるいずれの識別子とも合致しない基準アイテム識別子が関連度テーブル105に格納されている場合、関連度算出部104は、それらを変更しないようにする。
ステップS550において、関連度算出部104は、他の基準アイテムを選択可能か判定する。関連度算出部104は、ステップS510で作成された推薦基準集合K1の中に未処理のアイテムが存在する場合に「Yes」と判定し、未処理のアイテムが存在しない場合にNo」と判定する。関連度算出部104は、「Yes」と判定した場合にステップS520に戻って処理を繰り返し、「No」と判定した場合にアイテム関連度算出処理を終了する。
<カテゴリ関連度算出(ステップS410)>
次に、カテゴリ関連度算出処理(ステップS410)の具体例について図19のフローチャートを参照して説明する。
ステップS600において、関連度算出部104は、まずステップS500と同様にアイテム利用履歴の読み出し処理を行なう。関連度算出部104は、ステップS500で読み出されたアイテム利用履歴をそのまま使用してもよいし、別の条件で利用履歴を読み出してもよい。そして、関連度算出部104は、アイテム−カテゴリ対応テーブル101Cを参照しながら、読み出されたアイテム利用履歴に含まれるアイテム識別子に対応するカテゴリ識別子を特定し、特定されたカテゴリ識別子の集合であるカテゴリ集合ρを作成する。
ステップS610において、関連度算出部104は、アイテムとカテゴリの対応関係に基づいて、基準カテゴリ集合K2を作成する。具体的には、関連度算出部104は、アイテム−カテゴリ対応テーブル101Cを参照することによって、図18のステップS510で作成された推薦基準集合K1に含まれる各アイテム識別子に対応するカテゴリ識別子を特定し、これらのカテゴリ識別子を同じカテゴリ識別子が重複しないように調整することで基準カテゴリ集合K2を作成する。1つのアイテム識別子に複数のカテゴリ識別子が対応する場合は、対応するカテゴリ識別子を全てK2に入れればよい。
なお、第3のタイミングで推薦情報を作成する場合には、関連度算出部104は、アイテム−カテゴリ対応テーブル101Cを参照しながら、利用リクエストに含まれる利用基準アイテム識別子に対応するカテゴリ識別子を特定し、これを基準カテゴリ集合K2に入れればよい。
また、第1のタイミングで推薦情報を作成する場合は、ステップS600で作成されたカテゴリ集合ρを基準カテゴリ集合K2としてもよい。なお、ここで作成された基準カテゴリ集合K2は、情報選択部107、制御部110などの他の処理部から参照されてもよい。
ステップS620において、関連度算出部104は、基準カテゴリ集合K2の中から未処理のカテゴリを1つ選択する。この処理対象となるカテゴリを基準カテゴリpとする。
ステップS630において、関連度算出部104は、ステップS600で読み出された利用履歴を用いて、基準カテゴリpと、カテゴリ集合ρに属する他カテゴリq(q∈ρ、p≠q)とのカテゴリ関連度を算出する。カテゴリ関連度の算出には、ステップS530におけるxをpに置換し、yをqに置換し、アイテム毎の利用回数やユーザ数をカテゴリ毎の利用回数やユーザ数に置換することで、ステップS530と同様に、種々の算出方法を用いることができる。また、ユーザによるアイテムの評価値が得られる場合は、アイテム−カテゴリ対応テーブル101Cを参照しながら、そのアイテムに対応するカテゴリを特定し、カテゴリ毎に評価値の平均値を算出して用いてもよい。
ステップS640において、関連度算出部104は、基準カテゴリpに関する関連カテゴリ集合Π[p]を作成し、カテゴリ関連度格納部103に格納させる。基準カテゴリpは、図9に示したカテゴリ関連度テーブル103Aの基準カテゴリ識別子に相当し、関連カテゴリ集合Π[p]に含まれる各カテゴリ識別子はテーブル103Aの関連カテゴリ識別子に相当する。関連カテゴリ集合Π[p]を作成するために、関連度算出部104は、ステップS540におけるアイテムをカテゴリに置き換えて同様の処理を行えばよい。具体的には、関連度算出部104は、ステップS540で説明した第1または第2の方法を用いて、関連カテゴリ集合Π[p]を作成すればよい。
ステップS650において、関連度算出部104は、他の基準カテゴリを選択可能か判定する。関連度算出部104は、ステップS610で作成された基準カテゴリ集合K2の中に未処理のカテゴリが存在する場合に「Yes」と判定し、未処理のカテゴリが存在しない場合に「No」と判定する。関連度算出部104は、「Yes」と判定した場合にステップ620に戻って処理を繰り返し、「No」と判定した場合にカテゴリ関連度算出処理を終了する。
なお、上述したアイテム関連度の算出工程において、アイテム関連度の最大値や合計値が所定値になるように、正規化処理を行なってもよい。例えば、アイテム関連度の最大値が「1」、最小値が「0」になるように正規化処理を行なってもよい。カテゴリ関連度についても同様である。
なお図18及び図19は、利用履歴格納部102に格納されたデータを用いて、アイテム関連度及びカテゴリ関連度を算出する方法を示したが、アイテム関連度及びカテゴリ関連度は他の方法によって算出されてもよい。例えば、アイテムが音楽コンテンツであり、「ジャンル」、「ムード」、「シチュエーション」などがカテゴリ種別として用いられる場合には、情報選択装置10または他の装置は、楽曲の音響信号から抽出した特徴量や、そのような特徴量を用いて楽曲を分類した結果を基づいてアイテム関連度及びカテゴリ関連度を算出してもよい。すなわち、利用履歴を用いずにアイテム関連度及びカテゴリ関連度を算出することができる。楽曲の音響信号から特徴量を抽出する手法と楽曲を分類する手法は、例えば、特開2007−322598号公報に開示されている。そして、2つの楽曲(アイテム)の特徴量の違い(差)や類似度を算出し、それを用いてアイテム関連度を算出すればよい。また2つの楽曲(アイテム)の分類結果の違いを数値化し、アイテム関連度としてもよい。また、楽曲(アイテム)の音響信号に基づきムード等の観点で分類した結果(カテゴリ)に基づき、アイテムとカテゴリとの対応情報(アイテム−カテゴリ対応テーブル101Cなど)を作成してもよい。また、カテゴリ毎に対応するアイテムの特徴量の代表値(平均値など)を算出し、これらの代表値の差や類似度を用いて、カテゴリ間の関連度を算出してもよい。また、あらかじめ専門家がアイテム関連度及びカテゴリ関連度を作成し、それらをアイテム関連度テーブル105A及びカテゴリ関連度テーブル103Aに格納しておいてもよい。
<推薦情報作成(ステップS420)>
続いて以下では、推薦情報作成(ステップS420)に含まれる推薦情報の選択処理の具体例について説明する。図20は、推薦情報選択処理の第1の方法を示すフローチャートである。
ステップS710において、情報選択部107は、ステップS510で作成された推薦基準集合K1の中から未処理のアイテムを1つ選択する。この処理対象となるアイテムを基準アイテムxとする。
ステップS720において、情報選択部107は、カテゴリ優先度を算出するためのバッファBを初期化する。カテゴリ優先度とは、基準アイテムxに対応する推薦カテゴリを決定するための指標である。具体的には、情報選択部107は、カテゴリ関連度テーブル103Aを参照し、そこに格納されているカテゴリの種類の総数Ncを特定する。そして、カテゴリk(カテゴリ識別子k)に対応するNc個のバッファB[k]を用意し、それらの値を「0」に初期化する。
ステップS730において、情報選択部107は、アイテム−カテゴリ対応テーブル101Cを参照しながら、基準アイテムxに対応するカテゴリ識別子を取得する。対応するカテゴリ識別子が複数存在する場合は、情報選択部107は、その全てを取得すればよい。この取得したカテゴリ識別子の集合を基準カテゴリ集合αとし、集合αの要素数をNαとする。以下では、αのi番目の要素であるカテゴリをα[i]と表記する。
ステップS740において、情報選択部107は、アイテム関連度テーブル105Aを参照しながら、基準アイテムxに対応する関連アイテムの中から未処理の関連アイテムyを選択し、そのアイテム関連度W[x][y]を取得する。
ステップS750において、情報選択部107は、アイテム−カテゴリ対応テーブル101Cを参照しながら、関連アイテムyに対応するカテゴリである候補カテゴリ(候補カテゴリ識別子)を取得する。候補カテゴリ識別子が複数存在する場合は、情報選択部107は、その全てを取得すればよい。この取得した候補カテゴリ識別子の集合を候補カテゴリ集合βとし、集合βの要素数をNβとする。
ステップS760において、情報選択部107は、候補カテゴリ集合βの要素を指定するための制御変数jを「1」に初期化する。以下では、βのj番目の要素であるカテゴリをβ[j]と表記する。
ステップS770において、情報選択部107は、カテゴリβ[j]に対応するカテゴリ優先度B[β[j]]を更新する。具体的には、以下に示す第1〜第4の方法のいずれかを用いればよい。
カテゴリ優先度更新の第1の方法は、(4)式を用いる方法である。ここで、H[α[i]][β[j]]は、集合αのi番目要素であるカテゴリと、集合βのj番目要素であるカテゴリとのカテゴリ関連度である。当該カテゴリ関連度は、カテゴリ関連度テーブル103Aを参照することで得られる。γ1およびγ2は、それぞれ正の定数である。集合αの要素数Nαが1(Nα=1)の場合、(4)式の丸括弧内は基準カテゴリと候補カテゴリとのカテゴリ関連度になる。すなわち、第1の方法は、基準カテゴリと候補カテゴリとのカテゴリ関連度H[α[i]][β[j]]を用いた値を基数とし第1の所定値γ1を指数とする累乗値と、アイテム関連度W[x][y]を基数とし第2の所定値γ2を指数とする累乗値との乗算値を用いて、カテゴリ優先度を算出しているといえる。γ1およびγ2の値を変えることにより、カテゴリ優先度算出におけるアイテム関連度とカテゴリ関連度のバランスを変えることができる。
カテゴリ優先度更新の第2の方法は、(5)式を用いる方法である。ここで、ω1、ω2は、それぞれ正の定数である。(5)式から明らかであるように、ω1は、基準カテゴリと候補カテゴリとのカテゴリ関連度H[α[i]][β[j]]に基づく値に対する重み係数である。また、ω2は、アイテム関連度W[x][y]に対する重み係数である。すなわち、第2の方法は、カテゴリ関連度H[α[i]][β[j]]を用いた値とアイテム関連度W[x][y]との重み付き加算値を用いて、カテゴリ優先度を算出しているといえる。ω1およびω2の値を変えることにより、カテゴリ優先度算出におけるアイテム関連度とカテゴリ関連度のバランスを変えることができる。
カテゴリ優先度更新の第3の方法は、(6)式を用いる方法である。第1の方法との違いは、関数F(X)を用いて、カテゴリ関連度を拡張関連度に変換して用いる点である。カテゴリ関連度を関数F(X)に入力した場合の出力が拡張関連度である。この関数F(X)の特性の一例を図22(a)及び(b)に示す。図22(b)に示す例では、入力Xが0からX1の区間では、入力に対して出力Yが増加するが、入力XがX1の時に出力Yが最大値Y1となり、入力XがX1より大きい区間では出力Yが減少し、入力Xが最大値X2のときに出力値はY2になる。すなわち、X1<X2かつY1>Y2である。このような特性の関数を用いると、カテゴリ関連度が非常に大きい場合に、拡張関連度を下げることができる。
基準カテゴリと同一のカテゴリ、あるいは非常に関連度の高いカテゴリを推薦することが有効な場合もあるが、アイテムやサービスの性質によっては、ユーザが推薦情報に対して意外性を感じないため、アイテム利用が促進されない等の問題が生じる場合もある。これに対して、図22(b)に示すような変換関数F(x)に基づく拡張関連度を用いてカテゴリ優先度を算出することにより、基準カテゴリと同じ自明なカテゴリが推薦され難くなるため、このような問題を解決することができる。
なお、X=0のときにY=0になるようにしてもよいが、図22(a)及び(b)に示すように、X=0のときの出力値Y0を比較的小さな正の値にしてもよい。このようにすることで、基準カテゴリとの関連度が非常に低いカテゴリも推薦情報の中にある程度入れ易くなる。もちろん図22(a)及び(b)に示す関数F(X)の特性は、あくまでも一例であり、アイテムやサービスの性質の応じて種々の特性の関数を用いることができる。また、変換関数F(x)として原点を通る単調増加の線形関数を用いれば、第1の方法と同じ結果を得ることができる。
カテゴリ優先度更新の第4の方法は、(7)式を用いる方法である。第2の方法との違いは、第3の方法で説明した関数F(X)を用いて、カテゴリ関連度を拡張関連度に変換して用いる点である。この第4の方法を使っても、第3の方法で説明した効果と同様な効果が得られる。
なお、(4)式〜(7)式では、丸括弧内でNα回の加算処理を行なっているため、集合αの要素が何個であっても適切にカテゴリ優先度を算出することができる。また、Nα回の加算処理をした後、その値をNαで割った値を用いてもよい。その場合は、基準カテゴリ集合αの各要素とβ[j」とのカテゴリ関連度または拡張関連度の平均値を用いることに相当する。また、そのような平均値の代わりに中央値を用いてもよい。なお、カテゴリ関連度の値の範囲と、アイテム関連度の値の範囲が大きく違うような場合には、対数関数などを用いて、カテゴリ関連度若しくはアイテム関連度又はこれら両方の値の範囲を調整した後に、(4)式〜(7)式を適用してもよい。
ステップS780において、情報選択部107は、制御変数jの値がNβより小さいか否か判定する。小さい場合はステップS790に進み、そうでない場合はステップS800に進む。
ステップS790において、情報選択部107は、制御変数jの値を「1」増やして更新する。そしてステップS770に戻る。
ステップS800において、情報選択部107は、アイテム関連度テーブル105Aを参照しながら、他の未処理の関連アイテムを選択可能か判定する。選択可能である場合はステップS740に戻り、そうでない場合はステップS810に進む。
ステップS810において、情報選択部107は、カテゴリ優先度(カテゴリ優先度バッファB)の値に基づいて、基準アイテムに対する推薦カテゴリを決定する。具体的には、情報選択部107は、カテゴリ優先度の高い順に所定数を超えない数のカテゴリを選択し、それを推薦カテゴリとすればよい。例えば、カテゴリ優先度が算出されたカテゴリの数が所定数以下の場合は、情報選択部107は、カテゴリ優先度が算出されたカテゴリを全て推薦カテゴリとすればよい。一方、所定数より多い場合は、情報選択部107は、カテゴリ優先度の高い順に所定数を選択し、これらを推薦カテゴリとすればよい。また、情報選択部107は、カテゴリ優先度が所定値以上のカテゴリを選択し、これらを推薦カテゴリとしてもよい。また、情報選択部107は、カテゴリ優先度が所定値以上のカテゴリの中から、カテゴリ優先度の高い順に所定数を超えない数のカテゴリを選択してもよい。
さらに、情報選択部107は、推薦カテゴリそれぞれに対して、カテゴリ優先度の高い順にカテゴリ順位を付与する。そして、情報選択部107は、基準アイテム識別子、カテゴリ順位、及び推薦カテゴリ識別子を対応させて、推薦情報テーブル108Aに格納する。ステップS810の1回の処理で、1つの基準アイテムに対応する推薦カテゴリ識別子およびこれらのカテゴリ順位が推薦情報テーブル108Aに格納される。
ステップS820において、情報選択部107は、ステップS810で決定された推薦カテゴリ毎に推薦アイテムを決定する。具体的には、情報選択部107は、アイテム関連度テーブル105Aの関連アイテム識別子とアイテム−カテゴリ対応テーブル101Cのアイテム識別子を対応させることで当該2つのテーブルを結合すればよい。そして、情報選択部107は、結合されたテーブルにおいて「基準アイテム識別子」カラム(項目)が基準アイテムxに一致する行を対象に選び、推薦カテゴリのカテゴリ識別子の各々に対してアイテム関連度の高い順に所定数を超えない数のアイテムを選択し、それを推薦アイテムとすればよい。例えば、推薦カテゴリに対応するアイテムの数が所定数以下の場合は、それらのアイテム全てを推薦アイテムとすればよい。一方、アイテムが所定数より多い場合は、アイテム関連度の高い順に所定数を選択して、これらを推薦アイテムとすればよい。なお、カテゴリ優先度の大きさに応じて、この所定数(すなわち、推薦カテゴリの上限数)を設定してもよい。例えば、カテゴリ優先度が高いカテゴリでは、この所定数を大きくし、多くのアイテムが推薦アイテムとして選択されるようにしてもよい。これに対して、カテゴリ優先度が低いカテゴリでは、この所定数を小さくし、少数のアイテムが推薦アイテムとして選択されるようにしてもよい。
また、情報選択部107は、推薦カテゴリのカテゴリ識別子の各々に対して、アイテム関連度が所定値以上のアイテムを選択し、それらを推薦アイテムとしてもよい。この場合も、カテゴリ優先度の大きさに応じて、この所定値を設定してもよい。例えば、カテゴリ優先度が高いカテゴリでは、この所定値を小さくし、多くのアイテムが推薦アイテムとして選択されるようにしてもよい。これに対して、カテゴリ優先度が低いカテゴリでは、この所定数を大きく、少数のアイテムが推薦アイテムとして選択されるようにしてもよい。
また、情報選択部107は、推薦カテゴリのカテゴリ識別子の各々に対して、アイテム関連度が所定値以上のアイテムの中からアイテム関連度の高い順に所定数を超えない数のアイテムを選択してもよい。
そして、情報選択部107は、推薦カテゴリと推薦アイテムの組合せそれぞれに対して、アイテム関連度の高い順にアイテム順位を付与する。そして、情報選択部107は、基準アイテム識別子、アイテム順位、及び推薦アイテム識別子を対応させて、推薦情報テーブル108Aに格納する。ステップS820の1回の処理で、1つの基準アイテムに対応する推薦アイテム識別子およびこれらのアイテム順位が推薦情報テーブル108Aに格納される。
ステップS820の処理の具体例を図23を用いて説明する。図23は、アイテム関連度テーブル105Aの関連アイテム識別子とアイテム−カテゴリ対応テーブル101Cのアイテム識別子とを対応させることで当該2つのテーブルを結合した状態(内部テーブル)を模式的に示している。例えば、関連アイテム「ItemID−52」に対応する行が合計3行あることからも分かるように、1つの関連アイテムに複数のカテゴリが対応する場合は、対応するカテゴリの個数だけ内部テーブルの行が作成される。本図の例において、アイテムは音楽コンテンツであり、カテゴリ種別として「ジャンル」と「ムード」とを用いており、ステップS810において、「ロック(ジャンル)」、「ジャズ(ジャンル)」、及び「渋い(ムード)」の3つのカテゴリが推薦カテゴリとして決定されたものとする。また、基準アイテムxが「ItemID−10」であり、各推薦カテゴリについてアイテム関連度の高い順に2つのアイテムを選択するという選択条件を用いる。
推薦カテゴリ「ロック」に対応するアイテムは、「ItemID−50」、「ItemID−52」、及び「ItemID−54」の3つであり、これらが推薦候補アイテムとなる。アイテム関連度はそれぞれ「0.90」、「0.80」、及び「0.60」である。このため、「ItemID−50」がアイテム順位1位、「ItemID−52」がアイテム順位2位として選択される。
推薦カテゴリ「ジャズ」に対応するアイテムは、「ItemID−58」の1つのみなので、これがアイテム順位1位として選択される。
推薦カテゴリ「渋い」に対応するカテゴリは、「ItemID−52」、「ItemID−55」、及び「ItemID−25」の3つであり、アイテム関連度はそれぞれ「0.80」、「0.72」、及び「0.40」である。このため、「ItemID−52」がアイテム順位1位、「ItemID−55」がアイテム順位2位として選択される。
なお、この例の場合、「ItemID−52」が「ロック」と「渋い」の2つのカテゴリで重複して選択されることになる。このように、複数のカテゴリ間で重複して同じアイテムを選択してもよい。あるいは、複数のカテゴリ間で重複しないようにアイテムを選択してもよい。例えば、「渋い」に対応するアイテムを選択する際に、「ItemID−52」が既に「ロック」で選択されていることをチェックし、これを除外して、「ItemID−55」をアイテム順位1位とし、「ItemID−25」をアイテム順位2位として選択してもよい。また、ある推薦候補アイテムが複数の推薦カテゴリに対応する場合、カテゴリ優先度またはカテゴリ関連度に応じて、最終的に対応させる推薦カテゴリを決定してもよい。例えば、図23に示した例において、「ロック」のカテゴリ優先度が「0.9」、「渋い」のカテゴリ優先度が「0.7」である場合、「ItemID−52」を相対的にカテゴリ優先度の高い「ロック」に対応させ、相対的にカテゴリ優先度の低い「渋い」には対応させない等の処理をしてもよい。また、2つのカテゴリのカテゴリ優先度が同程度であるような場合に、カテゴリ関連度の低いカテゴリを優先させて推薦カテゴリにしてもよい。このような処理により、意外性のある推薦情報をユーザに提供できる。
ステップS830において、情報選択部107は、アイテム関連度テーブル105Aを参照しながら、他の未処理の基準アイテムを選択可能か判定する。選択可能である場合はステップS710に戻り、そうでない場合は推薦情報選択処理を終了する。
次に、ステップS420における推薦情報選択処理の第2の方法について、図21のフローチャートを参照して説明する。
ステップS910において、情報選択部107は、ステップS510で作成された推薦基準集合K1の中から未処理のアイテムを1つ選択する。この処理対象となるアイテムを基準アイテムxとする。
ステップS920において、情報選択部107は、ステップS730と同様な処理により、基準アイテムxに対応するカテゴリ識別子の集合である基準カテゴリ集合αを取得する。集合αの要素数はNαである。
ステップS930において、情報選択部107は、基準アイテムxに対応する関連アイテムを関連アイテムに対応するカテゴリ毎にまとめるとともに、アイテム関連度の高い順にソートした一時テーブルを作成する。別の基準アイテムに対応する一時テーブルが既に存在する場合、情報選択部107は、それを消去してから新たな一時テーブルを作成すればよい。具体的には、ステップS820の説明と同様に、アイテム関連度テーブル105Aの関連アイテム識別子とアイテム−カテゴリ対応テーブル101Cのアイテム識別子とを対応させることで当該2つのテーブルを結合すればよい。そして、情報選択部107は、結合されたテーブルにおいて「基準アイテム識別子」カラム(項目)が基準アイテムxに一致する行を対象に選び、カテゴリ毎に基準アイテムとのアイテム関連度の高い順にテーブルの行をソートする。
この一時テーブルの一例を図24に示す。本図に示すように、一時テーブルでは、「ロック」、「ジャズ」、「ブルース」、「渋い」等のカテゴリ別に、アイテム関連度の高い順に、関連アイテムがソートされており、さらにアイテム順位が付与されている。なお、関連アイテム識別子の格納位置でアイテム順位が分かるため、アイテム順位のカラムを省略してもよい。また、アイテム順位のカラムを設ける場合は、テーブルの行を必ずしもソートしなくてよい。本図に示す例では、「ItemID−101」が「ロック」、「ブルース」、及び「渋い」の合計3つのカテゴリに登録されており、「ItemID−110」が「ロック」および「ブルース」の合計2つのカテゴリに登録されている。このことから分かるように、複数のカテゴリに対応するアイテムは、カテゴリ別に複数のテーブル行に登録されている。図24では、「ロック」、「ジャズ」、「ブルース」、及び「渋い」に対応するアイテムがそれぞれ「C1」、「C2」、「C3」、及び「C4」個登録されている。なお、一時テーブルを作成する際に、アイテム関連度テーブル105Aに登録されている関連アイテム全てを一時テーブルに入れるのではなく、各カテゴリの関連アイテム数が同じになるように登録したり、各カテゴリの関連アイテムの登録数に上限を設けてもよい。例えば、1つのカテゴリについて、関連アイテム数が最大20件となるように設定してもよい。また、アイテム関連度が所定値以上の関連アイテムのみを一時テーブルに登録してもよい。
ステップS940において、情報選択部107は、ステップS930で作成された一時テーブルを用いて、カテゴリ優先度を算出する。以下では、一時テーブルに登録されているカテゴリkのカテゴリ優先度をP[k]で表わす。
カテゴリ優先度算出の第1の方法は、(8)式を用いる方法である。ここで、H[α[i]][k]は、集合αのi番目要素であるカテゴリと、カテゴリkとのカテゴリ関連度である。当該カテゴリ関連度は、カテゴリ関連度テーブル103Aを参照することで得られる。γ3およびγ4は、それぞれ正の定数である。スコアQ[k]は、一時テーブルに登録された関連アイテムに関するカテゴリkの数値であり、基準アイテムxとのアイテム関連度を反映している。言い換えると、スコアQ[k]は、基準アイテムxとのアイテム関連度を用いた値である。スコアQ[k]の算出方法の具体例については後述する。したがって、第1の方法は、カテゴリ関連度H[α[i]][β[k]]を用いた値を基数とし第3の所定値γ3を指数とする累乗値と、アイテム関連度を用いた値(Q[k])を基数とし第4の所定値γ4を指数とする累乗値とを乗算した値を用いて、カテゴリ優先度を算出しているといえる。
カテゴリ優先度算出の第2の方法は、(9)式を用いる方法である。ここで、ω3、ω4は、それぞれ正の定数である。第2の方法は、カテゴリ関連度H[α[i]][β[k]]を用いた値と、アイテム関連度を用いた値(Q[k])とを重み付き加算した値を用いて、カテゴリ優先度を算出しているといえる。
カテゴリ優先度算出の第3の方法は、(10)式を用いる方法である。第1の方法との違いは、ステップS770の説明と同様に、関数F(X)を使った拡張関連度を用いる点である。カテゴリkが基準カテゴリ集合αと同一である場合、または非常に関連度が高い場合に、カテゴリ優先度を下げて、自明なカテゴリが推薦されるのを防ぐことができる。
カテゴリ優先度算出の第4の方法は、(11)式を用いる方法である。第2の方法との違いは、ステップS770の説明と同様に、関数F(X)を使った拡張関連度を用いる点である。
ここで、スコアQ[k]の算出方法について説明する。スコアQ[k]算出の第1の方法は、カテゴリkに対応する関連アイテムのうち、基準アイテムxとのアイテム関連度が所定値以上のアイテムの個数を用いる方法である。例えば、一時テーブルにおいて、アイテム関連度が「0.5」以上の関連アイテムの個数をカテゴリ毎にカウントすればよい。また、ステップS540において関連アイテム集合作成の第2の方法を用いて、基準アイテムxとのアイテム関連度が閾値以上のアイテムを関連アイテム集合に入れた場合は、一時テーブルに登録されているアイテム数「C1」、「C2」、「C3]、「C4]などを各カテゴリのスコアQ[k]とすることができる。
スコアQ[k]算出の第2の方法は、カテゴリkに対応する関連アイテムを、基準アイテムxとのアイテム関連度が高い順に所定数(NQ個)選択したときのアイテム関連度の総和、またはアイテム関連度の代表値を用いる方法である。代表値としては、平均値、中央値、又は最頻値などを用いることができる。図24に示す例において、NQ=3とし、平均値を用いる場合、カテゴリ「ロック」に対応するスコアQ[k]は、「(0.95+0.92+0.86)÷3=0.91」と算出される。
上述の第1および第2の方法のどちらを用いた場合でも、スコアQ[k]は、カテゴリkに対応する関連アイテムの基準アイテムxとのアイテム関連度を用いて算出された値といえる。なお、スコアQ[k]算出の各方法において、最大値を「1」にする等の正規化処理を行なってもよい。また、上述の第1および第2の方法を組合せてスコアQ[k]を算出してもよい。例えば、第1の方法によって得られる値をQ1[k]とし、第2の方法によって得られる値をQ2[k]とした場合、Q1[k]とQ2[k]との積Qa[k]、またはQ1[k]とQ2[k]との重み付き加算値Qb[k]を算出し、(8)式〜(11)式のQ[k]にQa[k]またはQb[k]を代入してカテゴリ優先度を算出してもよい。
ステップS950において、情報選択部107は、ステップS810と同様な方法で、推薦カテゴリを決定し、推薦カテゴリとカテゴリ順位とを推薦情報テーブル108Aに格納する。ステップS810におけるカテゴリ優先度バッファBの代わりに、カテゴリ優先度Pを用いて同様の処理を行なえばよい。
ステップS960において、情報選択部107は、基準アイテムxに対する推薦アイテムを決定する。具体的には、ステップS930で作成された一時テーブルを用いて、ステップS950で決定された推薦カテゴリ毎に、基準アイテムxとのアイテム関連度の高い順に所定数を超えない数のアイテムを選択し、それを推薦アイテムとすればよい。なお、ここで用いる所定数をステップS940のスコアQ算出の第2の方法で用いた所定数NQと同じにしてもよい。また、基準アイテムxとのアイテム関連度が所定値以上のアイテムを選択し、推薦アイテムとしてもよい。さらに、基準アイテムxとのアイテム関連度が所定値以上のアイテムの中から、基準アイテムxとのアイテム関連度の高い順に所定数を超えない数のアイテムを選択してもよい。
ステップS970において、情報選択部107は、アイテム関連度テーブル105Aを参照しながら、他の未処理の基準アイテムを選択可能か判定する。選択可能である場合はステップS910に戻り、そうでない場合は推薦情報選択処理を終了する。以上が推薦情報作成処理(ステップS420)に含まれる推薦情報選択処理の具体例に関する説明である。
既に述べたように、特許文献1に開示された技術は、推薦番組カテゴリ(すなわち、本実施形態の推薦アイテムに相当)を決定するために、ユーザによるテレビ番組の録画予約履歴に含まれる番組(すなわち、本実施形態の基準アイテムに相当)を用いて計算された番組カテゴリ毎のユーザ嗜好度を使用する。しかしながら、特許文献1に開示された技術は、推薦番組カテゴリを決定する際に、各番組カテゴリに属するテレビ番組(すなわち、本実施の形態のアイテムに相当)の情報を十分に考慮していない。このため、特許文献1に開示された技術では、推薦番組カテゴリに関連付けられた推薦番組(すなわち、本実施形態の推薦アイテムに相当)が十分に存在するとは限らない。したがって、特許文献1に開示された技術は、ユーザによるテレビ番組の録画予約履歴に含まれる番組(すなわち、本実施形態の推薦アイテムに相当)に基づいて推薦番組カテゴリ(すなわち、本実施形態の推薦カテゴリに相当)を提示できても、推薦番組(すなわち、本実施形態の推薦アイテムに相当)を十分に提示できない可能性がある。
情報推薦の主要な目的は、ユーザが興味を持つようなアイテムに関する情報をユーザに提示することで、ユーザによるアイテムの利用を増やすことにある。推薦カテゴリに分けて推薦アイテムの情報を提示することにより、推薦情報の分かり易さが向上し、ユーザの興味の度合いを高めることが期待できる。しかしながら、基準アイテムとの間に高い関連性を有するアイテムを含んでいない推薦カテゴリが推薦情報に混在していると、推薦情報に対するユーザの満足度や興味の度合いが低下し、むしろ逆効果となる。また、ユーザにとって有益でない推薦カテゴリを表示するために表示スペース又は表示ページが増えたり、推薦情報を閲覧するための操作が増える結果を招く。特に、表示画面が小さく一度に表示できる情報が限られ、ボタン等の操作部が小さい等操作性に制限のある携帯電話端末やスマートフォン等のデバイスでは、なるべく少ない表示ページや表示領域でコンパクトに推薦情報を提示することが必要であるため、このような問題が顕在化し易い。
これに対して、本実施形態の推薦情報選択の第1の方法では、ステップS770において、アイテム関連度を用いてカテゴリ優先度を算出(更新)し、ステップS810において、このカテゴリ優先度に基づいて推薦カテゴリを決定している。また、推薦情報選択の第2の方法では、ステップS940において、アイテム関連度を用いてカテゴリ優先度を算出し、ステップS950において、このカテゴリ優先度に基づいて推薦カテゴリを決定している。
すなわち、本実施形態で用いるカテゴリ優先度は、第1の実施形態のそれと同様に、各候補カテゴリに属するアイテムのそれぞれと基準アイテムとのアイテム関連度の大きさを反映している。このため、本実施形態は、基準アイテムとの間に高い関連性を有するアイテムが推薦カテゴリの中に存在しない可能性を減らすことができる。ひいては、推薦情報の表示に必要なスペースやページ、推薦情報の閲覧に必要な操作が不必要に増えることを防止できる。このため、本実施形態は、ユーザが使い易く、かつ分かり易い推薦情報を作成し、ユーザに提示することができる。
さらに、本実施形態では、(4)式〜(11)式のように、カテゴリ関連度とアイテム関連度の両方を用いてカテゴリ優先度を算出する例を示した。これにより基準アイテムとの関連性、類似性、又は相関性が強く、且つ基準アイテムとの間に高い関連性を有するアイテムと十分に対応付けられている可能性の高い推薦カテゴリを決定することができる。
<第4の実施形態>
本実施形態では、第3の実施形態のステップS180で表示される推薦リストの変形例について説明する。図25は、本実施形態に係る推薦リスト表示の変形例を示している。図16に示した例との違いは、画面の右上に「拡張関連度の調整」ボタンを表示している点である。ユーザは、「拡張関連度の調整」ボタンを押して、拡張関連度を算出する変換関数F(x)の特性を調整した後、「関連アイテム」ボタンを押すことにより、新しい関数特性を用いて作成された推薦情報を得ることができる。なお、図15に示した新着アイテム紹介画面など他の画面に「拡張関連度の調整」ボタンを表示してもよい。ユーザが「拡張関連度の調整」ボタンを押さない場合は、標準の関数特性または直前に設定された関数特性を用いて、拡張関連度が算出される。
端末装置30は、ユーザが「拡張関連度の調整」ボタンを押したことに応じて、図26(a)又は(b)に示すような拡張関連度の調整画面が表示するとよい。この調整画面は、情報選択装置10又はアイテム提供サーバ20から送信された表示制御情報に従って端末装置30により生成される。例えば、情報選択装置10の表示制御情報作成部106は、変換関数F(x)の特性の調整を受け付ける画面(例えば、図26(a)又は(b))を出力するための表示制御情報を生成し、これを端末装置30に送信すればよい。
図26(a)は、ユーザが所定の選択肢から1つを選んで、関数F(x)の特性を設定するための設定画面の一例である。図26(a)の例における各選択肢に対応する関数F(x)の一例を図27に示す。図26(a)の選択肢1)〜5)がそれぞれ図27の1)〜5)の特性に対応している。また、図26(b)に示すように、関数F(x)の特性をユーザが直接指定するようにしてもよい。本図に示す例では、ユーザは、入力装置330(例えば、マウス、トラックボール、タッチパネル)を用いて、関数のカーブを直接入力したり、あらかじめ用意されている関数カーブを修正することができる。なお、図26(a)及び(b)、並びに図27に示した例は、あくまでも一例であり、他の方法を使ってユーザに関数F(X)の特性を調整させてもよい。例えば、図26(a)に示した例と同様に、関連度の低いカテゴリに関する選択肢や、関連度が中程度のカテゴリに関する選択肢を用意し、ユーザに選ばせてもよい。また、ユーザに提示した推薦リストで用いた変換関数の特性を基準にして、それとの相対的な変化(例えば、「関連度の高いカテゴリをもっと上げる」、「関連度の低いカテゴリをもっと優先させる」など)をユーザに指定させて、新たな変換関数の特性を設定してもよい。
本実施形態は、ユーザに関数F(X)の特性を調整させた後に、それを使って推薦情報を作成することができるため、ユーザが自分の好みに合った推薦情報を容易に得ることができる。また、関数の特性を適宜変更することにより、変化に富んだ推薦情報を得ることができる。
<第5の実施形態>
本実施形態では、第3の実施形態のステップS180で表示される推薦リストの他の変形例について説明する。図28(a)〜(c)は、本実施形態に係る推薦リスト表示の変形例を示している。図28(a)〜(c)に示された表示画面は、複数の推薦カテゴリのそれぞれに対応する複数の図形オブジェクトを含む。さらに、表示画面内における各図形オブジェクトの配置は、各図形オブジェクトが表している推薦カテゴリのカテゴリ優先度の高さに応じて決定される。
より具体的には、図28(a)〜(c)は、推薦カテゴリを円形オブジェクトとして表示している。そして、各円形オブジェクトの画面の上下方向の座標位置は、各円形オブジェクトが表す推薦カテゴリのカテゴリ優先度に基づいて決定されている。例えば、図28(a)では、画面内の上方の位置ほどカテゴリ優先度が高いことに対応する。すなわち、画面の上から「カテゴリA」、「カテゴリC」、「カテゴリB」の順で並んでいるため、「カテゴリA」のカテゴリ優先度が最も高く、「カテゴリB」のカテゴリ優先度が最も低いことになる。このように、推薦カテゴリに対応付けられた図形オブジェクトを用いると共に、その表示位置をカテゴリ優先度に応じて定めることで、ユーザは推薦カテゴリのカテゴリ優先度を直感的に把握することができる。
図28(a)〜(c)の円形オブジェクト内に示された数字は、その推薦カテゴリに対応する推薦アイテムの個数である。図28(b)では、円形オブジェクトの大きさを推薦アイテムの個数に応じて設定している。「カテゴリC」の推薦アイテムが「20個」で最も多いので、円の直径が最も大きくなっている。このような表示をすることで、ユーザは推薦カテゴリに対応する推薦アイテムの個数を直感的に把握することができる。
図28(c)は、カテゴリ毎に表示色や表示パターン(模様)を変えて表示する例を示している。例えば、カテゴリ種別が「ムード」である場合、「癒し系」等のカテゴリに対してはパステルカラーなどの彩度の低い色を用いるとよく、「激しい」等のカテゴリに対しては原色系の彩度の高い色を用いるとよい。「ジャンル」、「ムード」、及び「シチュエーション」などの各カテゴリ種別に適合する色、模様、アイコンなどを色彩心理学などの知見を用いて設定してもよい。
図28(a)〜(c)に示す表示方法は、あくまでも一例であり、他の表示方法を用いてもよい。例えば、円形以外のオブジェクト形状を用いてもよいし、オブジェクトの形状をカテゴリ毎に変えて表示してもよいし、オブジェクトの形状、大きさ、色などの組合せをカテゴリ毎に変えてもよい。また、図28(a)〜(c)に示す2次元グラフにおいて、水平方向の座標値を何らかの指標に基づいて決定してもよい。例えば、ユーザの利用頻度の高いカテゴリほど画面の左側に表示されるようにしたり、アイテム時期情報が新しいアイテムが多いカテゴリほど左側に表示されるようにしたり、カテゴリ毎のアイテム価格の代表値や合計値などに基づいて、水平方向の座標値を決定してもよい。また、ユーザが自分の好みに応じて、推薦カテゴリに対応付けられた図形オブジェクトの表示位置、形状、大きさ、色などの表示特性を指定できるようにしてもよい。具体的には、端末装置30の制御部301が、入力装置330を用いてユーザに希望の表示特性を入力させ、カテゴリ(カテゴリID、カテゴリ名)と表示特性とを対応させたデータを送受信部302を介して情報選択装置10に送信する。情報選択装置10の制御部110は、送受信部109を介してそのデータを受信し、利用主体識別子と対応させて表示制御情報作成部106の内部メモリに記憶させる。表示制御情報作成部106は、内部メモリに記憶されている利用主体識別子に対しては、それに対応する表示特性に従って表示制御情報を作成すればよい。
図28(a)〜(c)に示すカテゴリの中からユーザが入力装置330を用いて所望のカテゴリを選択すると、図29に示すように、選択されたカテゴリに対応する推薦アイテムが表示してもよい。本図では、推薦アイテムの名称(タイトル)のみが表示されているが、もちろん適当なアイテム属性情報を合わせて表示してもよい。ユーザは所望のアイテムを選択することで、そのアイテムを利用することができる。
情報選択装置10は、図28及び図29に示された表示画面を端末装置30の表示装置320に表示するために以下のように動作すればよい。情報選択装置10の表示制御情報作成部106は、図14のステップS170において、図28および図29に示された表示画面を表示装置320に表示させることを可能にする表示制御情報を作成し、端末装置30に送信する。表示制御情報には、ユーザの対話的な操作を効率的に実現するために、端末装置30のブラウザ部303で実行可能なスクリプト言語等で記述されたプログラムが含まれていてもよい。表示制御情報作成部106は、複数の推薦カテゴリそれぞれに図形オブジェクトを対応させ、各推薦カテゴリに係わる情報、及び各推薦カテゴリに対応する推薦アイテムの情報に基づき、図形オブジェクトの位置、大きさ、形状、色などの表示特性を決定して表示制御情報を作成する。
なお、表示制御情報作成部106は、必ずしも表示制御情報を作成しなくてもよい。例えば、表示制御情報作成部106は、図14のステップS170において、表示制御情報の元情報である各推薦カテゴリに係わる情報(カテゴリ優先度など)、及び各推薦カテゴリに対応する推薦アイテムの情報を表示制御情報の代わりに端末装置30に送信してもよい。そして、端末装置30は、これらの情報に基づいて、図形オブジェクトの表示位置、形状、大きさ、色などの表示特性を決定してもよい。更に必要であれば、アイテム時期情報やアイテム価格情報などのデータを情報選択装置10から端末装置30に送信した上で、端末装置30がそれらの情報を用いて表示特性を決定してもよい。すなわち、推薦リストの表示に係わる処理を情報選択装置10と端末装置30にどのように分担させるかは任意である。
なお、以上の説明では、推薦カテゴリに対応する図形オブジェクトの配置をカテゴリ優先度の高さに応じて決定する例を示した。しかしながら、推薦カテゴリに対応する図形オブジェクトのその他の表示形態(例えば、色、大きさ、又は形状)をカテゴリ優先度に応じて決定してもよい。さらに、推薦カテゴリをテキスト表示することも考えられる。この場合、推薦カテゴリを示すテキストの色、フォントサイズ、又はフォント種別をカテゴリ優先度に応じて決定してもよい。すなわち、推薦カテゴリに対応する表示オブジェクト(例えば、図形若しくはテキスト、又はこれらの組み合わせ)の表示形態(例えば、配置、色、大きさ、形状、フォント、又はフォント種別)をカテゴリ優先度に応じて決定してもよい。これらの変形例においても、ユーザは推薦カテゴリのカテゴリ優先度を直感的に把握することができる。
<その他の実施形態>
上述した第3〜第5の実施形態では、情報選択装置10が、ステップS420(図17)の推薦情報作成処理を行なったが、この処理を端末装置30側で行なうようにしてもよい。この場合、端末装置30のアプリケーション部304に、情報選択部107に相当する動作を行なわせればよい。例えば、ステップS160(図14)に先立つ適当なタイミングで、アプリケーション部304が、アイテム提供サーバ20を経由して、あるいは直接情報選択装置10から、アイテム情報テーブル101A、カテゴリ情報テーブル101B、アイテム−カテゴリ対応テーブル101C、カテゴリ関連度テーブル103A、及びアイテム関連度テーブル105Aのデータを取得する。このとき、各々のテーブルの全部のデータを取得してもよいし、ステップS420で1つのリクエスト基準識別子に対して推薦情報を作成する際に必要なデータのみを取得するようにしてもよい。そして、ステップS160において、推薦リクエストを送信する代わりに、ステップS420に相当する処理をアプリケーション部304が実行すればよい。この場合、アプリケーション部304が情報選択部107の機能を担うことになる。
また、第3〜第5の実施形態で説明した変換関数F(x)を用いてカテゴリ関連度を拡張関連度に変換する技術思想は、推薦カテゴリを決定するためのカテゴリ優先度の計算にアイテム関連度を使用しない場合にも適用することができる。言い換えると、拡張関連度に関する技術思想は、第1〜第4の実施形態で説明した"カテゴリ優先度の計算にアイテム関連度を使用する技術思想"とは独立して実施可能である。拡張関連度に関する技術思想は、推薦カテゴリの決定にカテゴリ関連度を用いる場合に広く適用することができる。特に、図22(b)に示されているように、入力値の増加に応じて出力値が減少する区間を有する変換関数F(x)を用いることによって、基準カテゴリと同じ自明なカテゴリが推薦され難くなる。このため、ユーザにとって意外性のある推薦カテゴリを提供できる。
さらに、上述した実施形態は本件発明者により得られた技術思想の適用に関する例に過ぎない。すなわち、当該技術思想は、上述した実施形態のみに限定されるものではなく、種々の変更が可能であることは勿論である。
例えば、本件発明者により得られた技術思想は、以下に示す実施形態A1〜A33を含む。
(実施形態A1)
複数の候補カテゴリのそれぞれについて算出された複数のカテゴリ優先度に基づいて、ユーザに推薦される推薦カテゴリを前記複数の候補カテゴリの中から選択するカテゴリ選択部を備え、
前記複数のカテゴリ優先度の各々は、各候補カテゴリに属するアイテムと基準アイテムとの関連性の強さを示すアイテム関連度を用いて算出される、
情報選択装置。
(実施形態A2)
前記複数のカテゴリ優先度の各々は、前記アイテム関連度、及び前記基準アイテムと各候補カテゴリとの関連性の強さを示す異種関連度を用いて算出される、
実施形態A1に記載の情報選択装置。
(実施形態A3)
前記異種関連度は、前記基準アイテムに対応する基準カテゴリと各候補カテゴリとの関連性の強さを示すカテゴリ関連度を用いて算出される、
実施形態A2に記載の情報選択装置。
(実施形態A4)
前記複数のカテゴリ優先度の各々は、前記異種関連度が高く且つ前記アイテム関連度が高いほど、高くなるように算出される、
実施形態A2又は実施形態A3に記載の情報選択装置。
(実施形態A5)
前記複数のカテゴリ優先度の各々は、
(a)前記異種関連度を用いた値を基数とし第1の所定値を指数とする累乗値と、前記アイテム関連度を用いた値を基数とし第2の所定値を指数とする累乗値との乗算値、
(b)前記カテゴリ関連度を用いた値と前記アイテム関連度を用いた値との重み付き加算値、
のいずれかを用いて算出される、
実施形態A2〜実施形態A4のいずれか1項に記載の情報選択装置。
(実施形態A6)
前記複数のカテゴリ優先度の各々は、前記異種関連度を所定の変換規則に入力して得られる拡張関連度の関数として算出される、
実施形態A2〜実施形態A4のいずれか1項に記載の情報選択装置。
(実施形態A7)
前記変換規則は、入力値の増加に応じて出力値が減少する区間を有する変換関数である、
実施形態A6に記載の情報選択装置。
(実施形態A8)
前記複数のカテゴリ優先度の各々は、
(a)前記拡張関連度を用いた値を基数とし第3の所定値を指数とする累乗値と、前記アイテム関連度を用いた値を基数とし第4の所定値を指数とする累乗値との乗算値、
(b)前記拡張関連度を用いた値と前記アイテム関連度を用いた値との重み付き加算値、
のいずれかを用いて算出される、
実施形態A6又は実施形態A7に記載の情報選択装置。
(実施形態A9)
前記カテゴリ選択部は、
前記複数の候補カテゴリのそれぞれについて、前記アイテム関連度が第5の所定値以上であるアイテム群、又は前記アイテム関連度が大きい順に第6の所定値を超えない数のアイテム群、を上位アイテム集合として選択し、
前記上位アイテム集合に含まれる複数のアイテムと前記基準アイテムとの複数のアイテム関連度の合計値又は代表値を算出し、
前記合計値又は前記代表値を用いて前記カテゴリ優先度を算出する、
実施形態A1〜実施形態A8のいずれか1項に記載の情報選択装置。
(実施形態A10)
前記カテゴリ選択部は、前記複数の候補カテゴリのそれぞれについて、前記アイテム関連度が第7の所定値以上であるアイテムの数を用いて前記カテゴリ優先度を算出する、
実施形態A1〜実施形態A9のいずれか1項に記載の情報選択装置。
(実施形態A11)
前記推薦カテゴリに関する情報を示す表示画面を出力するための表示制御情報を作成する制御情報作成部をさらに備え、
前記カテゴリ選択部は、推薦カテゴリとして複数のカテゴリを選択し、
前記表示画面は、前記複数の推薦カテゴリのそれぞれに対応する複数の表示オブジェクトを含み、
前記表示画面内における各表示オブジェクトの表示状態は、各表示オブジェクトが表している推薦カテゴリのカテゴリ優先度の高さに応じて決定される、
実施形態A1〜実施形態A10のいずれか1項に記載の情報選択装置。
(実施形態A12)
前記変換規則の特性の調整を受け付ける表示画面を出力するための表示制御情報を作成する制御情報作成部をさらに備える、
実施形態A6〜実施形態A8のいずれか1項に記載の情報選択装置。
(実施形態A13)
前記アイテム関連度に基づいて、前記推薦カテゴリに属するアイテムの中から推薦アイテムを選択するアイテム選択部をさらに備える、
実施形態A1〜実施形態A12のいずれか1項に記載の情報選択装置。
(実施形態A14)
前記アイテム選択部は、前記カテゴリ優先度に応じて、前記推薦アイテムの選択条件を設定する、
実施形態A13に記載の情報選択装置。
(実施形態A15)
実施形態A12に記載の情報選択装置からネットワークを介して受信した前記表示制御情報に基づいて前記表示画面を表示部に出力するよう動作し、前記変換規則の特性を調整するための情報を前記情報選択装置に送信するよう動作する処理部を備える端末装置。
(実施形態A16)
推薦カテゴリ、及び前記推薦カテゴリの優先度を示すカテゴリ優先度を受信する受信部と、
前記推薦カテゴリに関する情報を示す表示画面を出力するための表示制御情報を作成する制御情報作成部を備え、
前記推薦カテゴリは複数であり、
前記表示画面は、前記複数の推薦カテゴリのそれぞれに対応する複数の表示オブジェクトを含み、
前記表示画面内における各表示オブジェクトの表示状態は、各表示オブジェクトが表している推薦カテゴリの前記カテゴリ優先度の高さに応じて決定される、
端末装置。
(実施形態A17)
複数の候補カテゴリのそれぞれについて、各候補カテゴリに属するアイテムと基準アイテムとの関連性の強さを示すアイテム関連度を用いてカテゴリ優先度を算出すること、及び
算出された複数のカテゴリ優先度に基づいて、ユーザに推薦される推薦カテゴリを前記複数の候補カテゴリの中から選択すること、
を備える情報選択方法。
(実施形態A18)
前記算出することは、前記基準アイテムと各候補カテゴリとの関連性の強さを示す異種関連度を用いて前記複数のカテゴリ優先度を算出することを含む、
実施形態A17に記載の情報選択方法。
(実施形態A19)
前記異種関連度は、前記基準アイテムに対応する基準カテゴリと各候補カテゴリとの関連性の強さを示すカテゴリ関連度を用いて算出される、
実施形態A18に記載の情報選択方法。
(実施形態A20)
実施形態A17〜実施形態A19のいずれか1項に記載の情報選択方法をコンピュータに行わせるためのコンピュータプログラム。
(実施形態A21)
前記カテゴリ選択部は、外部から指定された情報に基づいて、前記変換規則の特性を設定する、
実施形態A6〜実施形態A8のいずれか1項に記載の情報選択装置。
(実施形態A22)
前記基準アイテムは、前記ユーザに関する履歴に含まれるアイテムである、実施形態A1〜実施形態A14のいずれか1項に記載の情報選択装置。
(実施形態A23)
前記アイテム関連度は、前記基準アイテムを含む複数のアイテムに関する前記ユーザを含む複数のユーザの利用履歴に基づいて決定される、
実施形態A1〜実施形態A14、実施形態A21、及び実施形態A22のいずれか1項に記載の情報選択装置。
(実施形態A24)
前記アイテム関連度は、前記複数のユーザによる利用時期が新しいほど大きな値となるよう定められた重みを用いる重み付け計算によって導出される、
実施形態A23に記載の情報選択装置。
(実施形態A25)
前記アイテム関連度は、各アイテムの製作時期又は登録時期が新しいほど大きな値となるよう定められた重みを用いる重み付け計算によって導出される、
実施形態A1〜実施形態A14、並びに実施形態A22〜実施形態A24のいずれか1項に記載の情報選択装置。
(実施形態A26)
前記表示画面内における各表示オブジェクトの表示サイズは、各表示オブジェクトが表している推薦カテゴリに属する推薦アイテムの数に応じて決定される、
実施形態A11に記載の情報選択装置。
(実施形態A27)
前記推薦カテゴリに関する情報を示す表示画面を出力するための表示制御情報を作成する制御情報作成部をさらに備え、
前記推薦カテゴリは複数であり、
前記表示制御情報に基づく前記表示画面は、前記複数の推薦カテゴリのそれぞれに対応する複数の表示オブジェクトを含み、
前記表示画面内における各表示オブジェクトの表示サイズは、各表示オブジェクトが表している推薦カテゴリに属する推薦アイテムの数に応じて決定される、
実施形態A1〜実施形態A10のいずれか1項に記載の情報選択装置。
(実施形態A28)
前記異種関連度は、アイテムとキーワードとの対応情報、およびキーワードとカテゴリとの対応情報に基づいて算出される実施形態A2に記載の情報選択装置。
(実施形態A29)
前記異種関連度は、ユーザとユーザによって利用されたアイテムとの対応情報、およびユーザのカテゴリに対する興味の度合いを示す情報に基づいて算出される実施形態A2に記載の情報選択装置。
(実施形態A30)
複数の候補カテゴリのそれぞれについて算出された複数のカテゴリ優先度に基づいて、ユーザに推薦される推薦カテゴリを前記複数の候補カテゴリの中から選択するカテゴリ選択部を備え、
前記複数のカテゴリ優先度の各々は、基準アイテムと他のアイテムとの関連性の強さを示すアイテム関連度、及び前記他のアイテムと各候補カテゴリとの対応情報を用いて算出される、
情報選択装置。
(実施形態A31)
前記複数のカテゴリ優先度の各々は、前記アイテム関連度、及び前記基準アイテムと各候補カテゴリとの関連性の強さを示す異種関連度を用いて算出される、
実施形態A30に記載の情報選択装置。
(実施形態A32)
前記対応情報は、前記他のアイテムと各候補カテゴリとの関連性の強さを示す第2の異種関連度である実施形態A30またはA31に記載の情報選択装置。
(実施形態A33)
前記複数のカテゴリ優先度の各々は、
前記アイテム関連度と前記第2の異種関連度との積を用いて算出される、
実施形態A32に記載の情報選択装置。