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

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

Info

Publication number
JP2013130921A
JP2013130921A JP2011278287A JP2011278287A JP2013130921A JP 2013130921 A JP2013130921 A JP 2013130921A JP 2011278287 A JP2011278287 A JP 2011278287A JP 2011278287 A JP2011278287 A JP 2011278287A JP 2013130921 A JP2013130921 A JP 2013130921A
Authority
JP
Japan
Prior art keywords
selection
usage
item
related information
information
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
JP2011278287A
Other languages
English (en)
Other versions
JP5673520B2 (ja
Inventor
Konosuke Matsushita
幸之助 松下
Ichiro Shishido
一郎 宍戸
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
JVCKenwood Corp
Original Assignee
JVCKenwood Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by JVCKenwood Corp filed Critical JVCKenwood Corp
Priority to JP2011278287A priority Critical patent/JP5673520B2/ja
Publication of JP2013130921A publication Critical patent/JP2013130921A/ja
Application granted granted Critical
Publication of JP5673520B2 publication Critical patent/JP5673520B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

【課題】推薦可能なアイテム数を確保し、推薦の精度を維持した上で、計算量の削減を行うことを目的とする。
【解決手段】選出利用関連情報作成部は、利用主体識別子と、アイテム識別子と、利用時期情報とが関連付けられた利用関連情報を格納する格納部を参照し、特定の時点に近い利用時期情報を含む利用関連情報が多いほど多く選出されるような条件に基づいて、アイテム識別子ごとに、そのアイテム識別子における複数の利用関連情報のうちの少なくとも一部である選出利用関連情報を選出する。関連度算出部は、一のアイテム識別子における選出利用関連情報と、他のアイテム識別子における選出利用関連情報とに基づいて、一のアイテム識別子と他のアイテム識別子との関連度を算出する。
【選択図】図2

Description

本発明は、利用者のアイテムに関する利用履歴を用いて、アイテム間の関連度を計算する情報処理装置、情報処理方法、及び情報処理プログラムに関する。
近年、デジタル技術やネットワーク技術の進展により、ネットワークを使って配信、提供される文書、音楽、画像、映像等のデジタルコンテンツが非常に増えている。これに伴い、ユーザの嗜好に合ったデジタルコンテンツ等のアイテムを推薦するサービスのニーズが高まってきている。このようなニーズに対応する技術として、アイテムに関するユーザの閲覧履歴や評価履歴や購入履歴などの利用履歴を用いて、推薦アイテムを提供する技術の開発が行われている。
例えば、アイテムを推薦する技術の一つに、協調フィルタリングを用いた推薦処理が存在する。協調フィルタリングを用いた推薦処理では、多数の利用履歴を蓄積し、その利用履歴を用いて、ユーザの嗜好に合ったアイテムを推薦する。また、ユーザが興味を持ったアイテムと関連性の高いアイテムを推薦する。
また、アイテム推薦に必要な処理時間を短縮するための技術の開発も行われている。
例えば、アイテム推薦処理に使用する利用履歴データの量を制限することにより、処理時間を短縮する装置が、特許文献1と特許文献2に開示されている。
特許文献1の装置は、まず、指定された利用履歴の最小数と推薦対象ユーザ数に基づいて、推薦処理に要する時間の推定値を算出する。そして、処理時間の推定値が目標時間内に収まるように決定した最小数まで利用履歴を抽出し、抽出した利用履歴のみを用いて推薦処理を行っている。
特許文献2の装置は、推薦対象ユーザの利用履歴を閲覧/購入回数や閲覧時間や閲覧/購入した最新の日時などの条件によりソーティングし、その上位Ng1件(Ng1は任意の正数)を選択し、選択したNg1個の利用履歴のみを用いて推薦処理を行っている。
特開2006−302097 特開2002−024694
協調フィルタリング方式の推薦処理では、大量の利用履歴データを対象に処理を行う場合、計算量が膨大になるという問題があった。このため、演算能力の高いシステムが必要になる場合や、実用的な時間で推薦処理を行うことが難しい場合があった。また、全ての利用履歴を用いずに、一部の利用履歴のみを用いることで、実用的な時間で推薦処理を行う方法もあるが、推薦可能なアイテム数が十分に確保できなかったり、ユーザの嗜好の一部しか反映されないために推薦の精度が低下してしまったりすることで、ユーザの推薦結果に対する興味や信頼性を失ってしまう場合があった。
特許文献1の装置では、任意の方法で、全ての利用履歴から最小数まで抽出し、抽出した利用履歴を用いて推薦処理を行うため、計算量を削減することができるが、任意の方法で抽出すると、利用履歴が一部のアイテムに偏って抽出される場合があるため、推薦可能なアイテム数が十分に確保できないことがあった。また、推薦結果に最近頻繁に利用されるアイテムがほとんど入らない場合があり、推薦の精度が低くなってしまうことがあった。
また、特許文献2の方法によれば、ユーザごとに閲覧/購入した日時の新しい順に上位Ng1個の利用履歴を選択することで、計算量を削減しつつ最近の利用履歴を用いて推薦処理を行うことができるが、Ng1を適切に設定することが難しいという問題がある。すなわち、Ng1を大きくすると、多くの利用履歴が抽出されるため、計算量の削減効果をほとんど得ることができない。また、Ng1を小さくすると、利用履歴が元々少ないユーザでは、比較的影響が少ないが、利用履歴の数が多いユーザでは、その一部の利用履歴しか推薦処理に利用されないため、推薦の精度が低くなってしまうことがあった。このように、利用数や利用形態の異なる様々なユーザが存在する状況で、適切なNg1を設定することが難しい。このため、計算量の削減効果をほとんど得られなかったり、推薦の精度が低くなってしまうことがあった。また、特許文献2の方法とは別の方法として、アイテムごとに閲覧/購入された日時の新しい順に所定数の利用履歴を選択する方法も考えられるが、このような方法を用いたとしても、その所定数を適切に設定することが難しいため、計算量の削減効果をほとんど得られなかったり、推薦の精度が低くなってしまう場合がある。
そこで、本発明では、推薦可能なアイテム数を確保し、推薦の精度を維持した上で、計算量の削減を行うことを目的とする。
本発明は上述した従来の技術の課題を解決するため、アイテムを利用したユーザを一意に識別するためのユーザ識別子又はそのユーザがアイテムの利用に用いた端末装置を一意に識別するための端末識別子の少なくともいずれか一方である利用主体識別子と、利用の対象となったアイテムを識別するためのアイテム識別子と、アイテムの利用時期に関する利用時期情報と、が関連付けられた利用関連情報を格納する格納部を参照し、特定の時点に近い前記利用時期情報を含む前記利用関連情報が多いほど多く選出されるような条件に基づいて、前記アイテム識別子ごとに、そのアイテム識別子における複数の前記利用関連情報のうちの少なくとも一部である選出利用関連情報を選出する選出利用関連情報作成部と、前記選出利用関連情報作成部によって選出した一のアイテム識別子における選出利用関連情報と、前記選出利用関連情報選出部によって選出した前記一のアイテム識別子以外の他のアイテム識別子における選出利用関連情報とに基づいて、前記一のアイテム識別子と前記他のアイテム識別子との関連度を算出する関連度算出部とを備えることを特徴とする情報処理装置を提供する。
また、本発明は上述した従来の技術の課題を解決するため、選出利用関連情報作成部が、アイテムを利用したユーザを一意に識別するためのユーザ識別子又はそのユーザがアイテムの利用に用いた端末装置を一意に識別するための端末識別子の少なくともいずれか一方である利用主体識別子と、利用の対象となったアイテムを識別するためのアイテム識別子と、アイテムの利用時期に関する利用時期情報と、が関連付けられた利用関連情報を格納する格納部を参照し、特定の時点に近い前記利用時期情報を含む前記利用関連情報が多いほど多く選出されるような条件に基づいて、前記アイテム識別子ごとに、そのアイテム識別子における複数の前記利用関連情報のうちの少なくとも一部である選出利用関連情報を選出する選出利用関連情報選出ステップと、関連度算出部が、前記選出利用関連情報選出ステップによって選出した一のアイテム識別子における選出利用関連情報と、前記選出利用関連情報選出ステップによって選出した前記一のアイテム識別子以外の他のアイテム識別子における選出利用関連情報とに基づいて、前記一のアイテム識別子と前記他のアイテム識別子との関連度を算出する関連度算出ステップとを有することを特徴とする情報処理方法を提供する。
また、本発明は上述した従来の技術の課題を解決するため、コンピュータに、アイテムを利用したユーザを一意に識別するためのユーザ識別子又はそのユーザがアイテムの利用に用いた端末装置を一意に識別するための端末識別子の少なくともいずれか一方である利用主体識別子と、利用の対象となったアイテムを識別するためのアイテム識別子と、アイテムの利用時期に関する利用時期情報と、が関連付けられた利用関連情報を格納する格納部を参照し、特定の時点に近い前記利用時期情報を含む前記利用関連情報が多いほど多く選出されるような条件に基づいて、前記アイテム識別子ごとに、そのアイテム識別子における複数の前記利用関連情報のうちの少なくとも一部である選出利用関連情報を選出する選出利用関連情報選出ステップと、前記選出利用関連情報選出ステップによって選出した一のアイテム識別子における選出利用関連情報と、前記選出利用関連情報選出ステップによって選出した前記一のアイテム識別子以外の他のアイテム識別子における選出利用関連情報とに基づいて、前記一のアイテム識別子と前記他のアイテム識別子との関連度を算出する関連度算出ステップとを実行させることを特徴とする情報処理プログラムを提供する。
本発明の情報処理装置、情報処理方法、及び情報処理プログラムによれば、推薦の精度を維持しつつ、計算量の削減を行うことができる。
本発明の実施形態におけるシステム全体の構成を示す図である。 本発明の実施形態における情報処理サーバ装置1の構成を示す図である。 本発明の実施形態におけるユーザ情報格納部131の格納状態を示す図である。 本発明の実施形態におけるアイテム情報格納部132の格納状態を示す図である。 本発明の実施形態における利用履歴格納部133の格納状態を示す図である。 本発明の実施形態における選出条件格納部134の格納状態を示す図である。 本発明の実施形態における選出条件に該当する期間のイメージを示す図である。 本発明の実施形態における選出利用履歴格納部135の格納状態を示す図である。 本発明の実施形態における関連アイテム情報格納部136の格納状態を示す図である。 本発明の実施形態における、選出条件の第1の格納形式を用いた場合の選出利用履歴選出処理の手順を示すフローチャートである。 本発明の実施形態における、選出条件の第1の格納形式を用いた場合の選出利用履歴選出処理のステップS106の第1の条件の選択の例を示す図である。 本発明の実施形態における、選出条件の第2の格納形式を用いた場合の選出利用履歴選出処理の手順を示すフローチャートである。 本発明の実施形態における、選出条件の第2の格納形式を用いた場合の選出利用履歴選出処理のステップS211の選出利用履歴の選出の例を示す図である。 本発明の実施形態における関連アイテム選出処理の手順を示すフローチャートである。 本発明の実施形態における利用情報格納部の格納状態を示す図である。 本発明の実施形態における楽曲販売サイトでの購入履歴の例を示す図である。 本発明の実施形態における楽曲販売サイトでの購入履歴の例を示す図である。
以下、本発明の情報処理装置、情報処理方法、及び情報処理プログラムについて、添付図面を参照して説明する。なお、本発明におけるアイテムとは、テキスト、音声、音楽、映像、ウェブページ等のデジタルコンテンツや様々な物品であってもよいし、金融商品、不動産、人物に関する情報等であってもよい。また、衣料品や食料品であってもよい。すなわち本発明におけるアイテムは、有形か無形かを問わず、有料か無料かも問わない。
以下に、本発明の実施形態について、図を用いて詳細に説明する。図1は、本発明の実施形態におけるシステム全体の構成図である。本実施形態におけるシステムは、情報処理サーバ装置1と、1つ以上の端末装置3(3a〜3n)がネットワーク2を介して接続されている。
ネットワーク2は、例えばインターネット等のネットワークであり、情報処理サーバ装置1と端末装置3との間の情報のやり取りを仲介する。
端末装置3は、CPU、RAM、ROM、ハードディスクドライブ、ネットワークインタフェース等を備える一般的なコンピュータ、または、携帯電話やスマートフォンやタブレットPC等の携帯情報端末であり、ネットワーク2を介して、利用履歴の送信や関連アイテム詳細情報の受信を行う。なお、利用履歴と、後述する利用情報とを総称して利用関連情報とも呼ぶこととする。
利用履歴とは、ユーザによるアイテムの利用に関する情報であり、少なくとも、利用の対象となったアイテムを一意に識別するアイテム識別子を含む。また、利用履歴とは、端末装置3を利用中のユーザ(利用ユーザ)を一意に識別するユーザ識別子、又はそのユーザがアイテムの利用に用いた端末装置3を一意に識別するための端末識別子の少なくともいずれか一方と、利用時期情報とを含む。本実施形態では、ユーザ識別子を用いる場合を例にして説明するが、端末識別子を用いる場合も同様である。利用履歴には、ユーザのアイテムに対する評価(評価値)や、アイテムに対して支払った金額(支払い額)などの情報を含んでもよい。関連アイテム詳細情報とは、ユーザが閲覧や購入を行ったアイテム(基準アイテム)に関連するアイテム(関連アイテム)に関する情報であり、情報処理サーバ装置1に基準アイテムのアイテム識別子を少なくとも含む情報を送信することで得ることのできる情報である。
情報処理サーバ装置1は、利用履歴に応じて、端末装置3に関連アイテム情報を提供するCPU、RAM、ROM、ハードディスクドライブ、ネットワークインタフェース等を備える一般的なコンピュータである。また、CPU、RAM、ROM、ハードディスクドライブ(HDD)、ネットワークインタフェース等を備えるコンピュータを用いて、ソフトウェア(プログラム)処理として実施することも可能である。
図2は、本実施形態における情報処理サーバ装置1の構成図である。本実施形態における情報処理サーバ装置1は、情報処理サーバ制御部11と、情報処理サーバ通信部12と、各種の情報を格納する格納部である情報処理サーバ格納部13とを有して構成される。
情報処理サーバ通信部12は、ネットワーク2を介して端末装置3と通信を行うための機能を有している。
情報処理サーバ格納部13は、HDDなどの記憶装置を用いて、様々なデータを記憶する。情報処理サーバ格納部13は、ユーザ情報格納部131と、アイテム情報格納部132と、利用履歴格納部133と、選出条件格納部134と、選出利用履歴格納部135と、関連アイテム情報格納部136とを有して構成される。
ユーザ情報格納部131は、ユーザ情報を複数記憶する。図3は、ユーザ情報格納部131の格納状態を示す図である。ユーザ情報とは、ユーザ識別子(user_id)とユーザ属性情報(user_info)とを関連付けたものであり、図3のようなテーブル形式で記憶する。ユーザ属性情報とは、ユーザの名前、年齢、性別、住所(地域)、趣味、会員になった時期(年月、日付、日時など)、メールアドレス、電話番号などの情報である。
アイテム情報格納部132は、アイテム情報を複数記憶する。図4は、アイテム情報格納部132の格納状態を示す図である。アイテム情報とは、アイテム識別子(item_id)とアイテム属性情報(item_info)とを関連付けたものであり、図4のようなテーブル形式で記憶する。アイテム属性情報とは、例えば、アイテムの名称、制作者、制作年、ジャンル、価格、アイテムを利用するのに適したユーザの条件などの情報である。
利用履歴格納部133は、端末装置3より受信した利用履歴を複数記憶する。図5は、利用履歴格納部133の格納状態を示す図である。利用履歴とは、アイテム識別子(item_id)とユーザ識別子(user_id)と利用時期情報(dl_date)とを関連付けたものであり、図5のようなテーブル形式で記憶する。なお、端末装置3より受信した利用履歴には、利用時期情報が含まれていることを前提にしているが、もし利用時期情報が含まれていない場合は、利用履歴を記憶するときの日時を利用時期情報として記憶すればよい。また、利用履歴に、上記以外の情報が含まれている場合、その情報も含めて利用履歴格納部133に格納できるようにすればよい。
選出条件格納部134は、選出条件を複数記憶する。選出条件とは、複数の利用履歴の中から選出利用履歴(選出利用関連情報)を選出する際の条件を示すものである。この選出条件を用いることで、最近利用したユーザ数が多いアイテムほど、多くの選出利用履歴を選出することができる。また、選出利用履歴とは、後述する関連アイテム選出処理に用いられる利用履歴である。図6(図6(a)〜図6(b))は、選出条件格納部134の格納状態を示す図である。また、図7(図7(a)〜図(b))は、選出条件に該当する期間のイメージを示す図である。以下に図6と図7を用いて、選出条件の2種類の格納形式を説明する。
選出条件の第1の格納形式は、取得期間(period)と、取得制限数(limit_log)とを関連付けたもの(第1の条件)であり、図6(a)のようなテーブル形式で複数格納する。第1の条件は、取得期間が長くなるほど取得制限数が減っていく。第1の条件(取得期間,取得制限数)として、c1(30day,20)とc2(90day,10)とc3(150day,5)の3つが存在した場合について説明する。第1の条件における取得期間は、過去のある時点(取得開始時期)から所定の時点(取得終了時期)までの期間の長さを示しており、図7(a)のように、第1の条件のそれぞれの取得期間の取得終了時期は同一である。また、第1の条件の取得期間の取得開始時期は、取得終了時期から取得期間の日数分だけ過去に遡った時期となるため、第1の条件ごとに異なる。選出利用履歴は、アイテムごとに、第1の条件の取得期間に対応する取得開始時期から取得終了時期までの間にそのアイテムを利用したユーザに関する利用履歴の中から取得制限数に応じて選出される。
なお、直近の利用履歴を全て取得できるような第1の条件を設定してもよい。具体的には、第1の条件のうち、取得期間の最も短いもの対して、例えば、無限大を表す記号「∞」や「0」といった特別な取得制限数を設定する。そして、選出利用履歴を選出する際に、第1の条件に特別な取得制限数が設定されていた場合は、取得期間内の利用履歴を全て選出利用履歴として選出できるようにすればよい。また、1度でも利用されたアイテムに対応する利用履歴を少なくとも1つ取得できるような第1の条件を設定してもよい。具体的には、第1の条件のうち、取得制限数の最も小さい第1の条件の取得期間の取得開始時期が、サービスの開始時期に一致するように取得期間を設定すればよい。
選出条件の第2の格納形式は、適用する選出条件の順番である適用順(order)と、差分取得期間(dif_period)と、取得制限数(limit_log)とを関連付けたもの(第2の条件)であり、図6(b)のようなテーブル形式で複数格納する。第2の条件は、適用順に従って、取得制限数が減少する。第2の条件(適用順,差分取得期間,取得制限数)として、c1(1,30day,20)とc2(2,60day,10)とc3(3,60day,5)の3つが存在した場合、図7(b)のように、第2の条件のそれぞれの差分取得期間は、互いに重ならない。また、c1とc2といったように、適用順が連続する場合、適用順が先の第2の条件の取得終了時期と適用順が後の第2の条件の取得開始時期が一致する。選出利用履歴は、アイテムごとに、第2の条件の差分取得期間に対応する取得開始時期から取得終了時期までの間にそのアイテムを利用したユーザに関する利用履歴の中から取得制限数に応じて選出される。
なお、直近の利用履歴を全て取得できるような第2の条件を設定してもよい。具体的には、第2の条件のうち、適用順が「1」のものに対して、例えば、無限大を表す記号「∞」や「0」といった特別な取得制限数を設定する。そして、選出利用履歴を選出する際に、第2の条件に特別な取得制限数が設定されていた場合は、取得期間内の利用履歴を全て選出利用履歴として選出できるようにすればよい。また、1度でも利用されたアイテムに対応する利用履歴を少なくとも1つ取得できるような第2の条件を設定してもよい。具体的には、第2の条件のうち、適用順が最も遅い第2の条件の差分取得期間の取得開始時期が、サービスの開始時期と一致するように差分取得期間を設定すればよい。
なお、図6では、取得期間や差分取得期間を日数で表現しているが、時間単位でもよいし、秒単位でもよい。また、日数の代わりに、その期間の取得開始時期と取得終了時期の組合せを格納してもよい。また、選出条件の第2の格納形式においては、取得制限数の降順が、適用順に一致するため、後の処理で適用順の昇順の代わりに、取得制限数の降順を用いれば、適用順を省略することができる。取得順の選出条件の利用方法に関しては、選出利用履歴作成部112の処理内で詳しく説明する。
上記2つの選出条件以外にも、第1の条件の取得期間の取得終了時期や、適用順「1」の第2の条件の取得期間の取得終了時期となる特定の時点に近い時点の利用履歴の多いアイテムほど、多くの利用履歴を選出することができる条件であれば、その条件を選出条件としてもよい。
選出利用履歴格納部135は、選出利用履歴を複数記憶する。図8は、選出利用履歴の格納状態を示す図である。選出利用履歴は、利用履歴と同様に、アイテム識別子(item_id)とユーザ識別子(user_id)と利用時期情報(dl_date)とを関連付けたものであり、図8のようなテーブル形式で記憶する。選出利用履歴に他の情報が含まれている場合は、選出利用履歴格納部135に、他の情報を格納できるようにすればよい。
関連アイテム情報格納部136は、関連アイテム情報を複数記憶する。図9は、関連アイテム情報の格納状態を示す図である。
関連アイテム情報とは、基準アイテムのアイテム識別子(base_item_id)と関連アイテムのアイテム識別子(rel_item_id)と関連度(r_value)とを関連付けたものであり、図9のようなテーブル形式で記憶する。base_item_idとrel_item_idは、どちらもitem_idではあるが、区別するために異なる名称を用いている。
情報処理サーバ制御部11は、情報処理サーバ装置1を構成する各部に対して、全体的な制御を行う。情報処理サーバ制御部11は、利用履歴登録部111と、選出利用履歴作成部112と、関連アイテム選出部113と、関連アイテム提供部114と、関連度算出部115とを有して構成される。なお、選出利用履歴作成部112と、後述する選出利用情報作成部とを総称して選出利用関連情報作成部とも呼ぶこととする。
利用履歴登録部111は、端末装置3より利用履歴を受信した場合に、利用履歴格納部133に、受信した利用履歴を格納する。
選出利用履歴作成部112は、所定のタイミングごとに、選出利用履歴選出処理を行う。所定のタイミングとしては、所定の時間間隔(例えば24時間ごと)を用いてもよいし、利用履歴を一定回数受信するごととしてもよい。また、月曜日〜金曜日までは3時間ごと、土曜日は6時間ごと、日曜日は12時間ごと、というように時間間隔が変動してもよい。また、夏は時間間隔を短くして、冬は時間間隔を長くするなど、季節に応じて時間間隔を変えてもよい。選出利用履歴選出処理は、選出条件の格納形式によって手順が異なる。
まず、第1の条件を用いた場合の選出利用履歴選出処理について、図10のフローチャートを用いて説明する。
まず、選出利用履歴作成部112が、選出利用履歴格納部135にて、前回の選出利用履歴選出処理にて格納した選出利用履歴を全て削除する(ステップS101)。
次に、選出利用履歴作成部112が、選出条件格納部134より、第1の条件を全て取得する(ステップS102)。
次に、選出利用履歴作成部112が、ステップS102にて取得した第1の条件ごとに、取得開始時期と取得終了時期を設定する(ステップS103)。取得終了時期は、サービス提供側が予め定めた取得終了時期設定ルールにより決定される。なお、どの第1の条件においても、取得終了時期は同一の時期となる。取得終了時期設定ルールは、例えば、選出利用履歴選出処理を行う時点の時間をそのまま取得終了時期として設定するとしてもよいし、選出利用履歴選出処理を行う前日までの利用履歴が選出対象となるように取得終了時期として設定するとしてもよい。取得開始時期は、取得開始時期から取得終了時期までの期間が、第1の条件の取得期間に一致するように取得開始時期を設定する。取得開始時期から取得終了時期までの期間に該当する利用時期情報を有する利用履歴を特定利用履歴とする。
次に、選出利用履歴作成部112が、ステップS102にて取得した第1の条件のうち、取得期間が最大となる第1の条件(最長期間条件)を選択し、利用履歴格納部133より、最長期間条件に対応する特定利用履歴に含まれるitem_idを重複なしで全て抽出する(ステップS104)。
次に、選出利用履歴作成部112が、ステップS104にて抽出したitem_idのうち、例えば抽出した順に、1つ選択する(ステップS105)。
次に、選出利用履歴作成部112が、ステップS102にて取得した第1の条件より、ステップS105にて選択したitem_idを含む特定利用履歴の取得可能数が最大となるような第1の条件を1つ選択する(ステップS106)。取得可能数とは、ステップS105にて選択したitem_idを含む特定利用履歴の数と、第1の条件に対応する取得制限数のうち、低い方の数となる。なお、取得可能数が最大となる第1の条件が複数存在する場合は、取得可能数が最大となる第1の条件のうち、取得期間の最も短い第1の条件を選択すればよい。
次に、選出利用履歴作成部112が、利用履歴格納部133より、ステップS106にて選択した第1の条件に対応する特定利用履歴のうち、ステップS105にて選択したitem_idを含むものを全て抽出する(ステップS107)。ここで抽出した特定利用履歴を選出候補利用履歴とする。
次に、選出利用履歴作成部112が、ステップS107にて抽出した選出候補利用履歴より、ステップS106にて選択した第1の条件の取得制限数まで、選出利用履歴として選出する(ステップS108)。このとき、例えば、利用時期情報の新しいものから順に選出すればよい。
次に、選出利用履歴作成部112が、選出利用履歴格納部135に、ステップS108にて選出した選出利用履歴を登録する(ステップS109)。
次に、選出利用履歴作成部112が、ステップS105にて、ステップS104にて抽出したitem_idを全て選択したか否かを判定する(ステップS110)。全て選択した場合は、ステップS101からステップS110までの一連の処理を終了し、まだ未選択のものが残っている場合はステップS105へ進む。
ここで、第1の条件を用いた場合の選出利用履歴選出処理において、第1の条件(取得順,取得期間)として、c1(30日,20個)、c2(90日,10個)、c3(150日,5個)の3つが存在する場合における、2アイテム(アイテムA,アイテムB)に対するステップS106の第1の条件の選択の例を図11を用いて説明する。
まず、選出利用履歴作成部112は、選出対象のアイテム識別子における利用時期情報を参照して、取得制限数を上限に取得期間それぞれに含まれる利用関連情報の数を計数する。つまり、前述の取得可能数を計数する。図11(a)のように、第1の条件c1の取得期間30日に該当するアイテムAの特定利用履歴の数が「6」個、第1の条件c2の取得期間90日に該当するアイテムAの特定利用履歴の数が「18」個、第1の条件c3の取得期間150日に該当するアイテムAの特定利用履歴の数が「32」個の場合、それぞれの第1の条件において、アイテムAにおける特定利用履歴の取得可能数は、それぞれ「6」個、「10」個、「5」個となる。
そして、選出利用履歴作成部112は、計数した利用関連情報の数(取得可能数)が最も多い取得期間に含まれる利用関連情報を選出対象のアイテム識別子における選出利用関連情報として選出する。アイテムAにおいては、取得可能数が最大となる第1の条件c2を選択し、第1の条件c2の取得期間90日に該当するアイテムAの特定利用履歴「18」個より、第1の条件c2の取得制限数「10」個を上限に、選出利用関連情報として選出することとなる。
また、図11(b)のように、第1の条件c1の取得期間30日に該当するアイテムBの特定利用履歴の数が「13」個、第1の条件c2の取得期間90日に該当するアイテムBの特定利用履歴の数が「17」個、第1の条件c3の取得期間150日に該当するアイテムBの特定利用履歴の数が「25」個の場合、それぞれの第1の条件において、アイテムBにおける特定利用履歴の取得可能数は、それぞれ「13」個、「10」個、「5」個となる。このため、アイテムBにおいては、取得可能数が最大となる第1の条件c1を選択すればよい。このように、取得期間150日における特定利用履歴の数は、アイテムBより、アイテムAの方が多いが、アイテムBの方が直近で多くのユーザに利用されているため、選出される利用履歴の数は、アイテムBの方が多くなる。
以上が、第1の条件を用いた場合の選出利用履歴選出処理の説明である。このように、選出対象の利用主体識別子における利用時期情報を参照して、取得制限数を上限に取得期間それぞれに含まれる利用関連情報の数を計数し、計数した利用関連情報の数(取得可能数)が最も多い取得期間に含まれる利用関連情報を選出対象の利用主体識別子における選出利用関連情報として選出している。
次に、第2の条件を用いた場合の選出利用履歴選出処理について、図12のフローチャートを用いて説明する。
まず、選出利用履歴作成部112が、選出利用履歴格納部135にて、前回の選出利用履歴選出処理にて格納した選出利用履歴を全て削除する(ステップS201)。
次に、選出利用履歴作成部112が、選出条件格納部134より、第2の条件を全て取得する(ステップS202)。
次に、選出利用履歴作成部112が、取得終了時期の初期設定をする(ステップS203)。取得終了時期の初期設定は、サービス提供側が予め定めた取得終了時期初期設定ルールにより行えばよい。取得終了時期初期設定ルールは、例えば、選出利用履歴選出処理を行う時点の時間をそのまま取得終了時期として設定するとしてもよいし、選出利用履歴選出処理を行う前日までの利用履歴が選出対象となるように取得終了時期として設定するとしてもよい。
次に、選出利用履歴作成部112が、ステップS202にて取得した第2の条件を、適用順(order)の昇順に、1つ選択する(ステップS204)。
次に、選出利用履歴作成部112が、ステップS204にて選択した第2の条件に応じて、取得開始時期を設定する(ステップS205)。取得開始時期は、取得開始時期から取得終了時期までの期間が、第2の条件の差分取得期間に一致するように取得開始時期を設定する。取得開始時期から取得終了時期までの期間に該当する利用時期情報を有する利用履歴を特定利用履歴とする。
次に、選出利用履歴作成部112が、利用履歴格納部133より、ステップS204にて選択した第2の条件に対応する特定利用履歴に含まれるitem_idを重複なしで全て抽出する(ステップS206)。
次に、選出利用履歴作成部112が、ステップS206にて抽出したitem_idのうち、例えば抽出した順に、1つ選択する(ステップS207)。
次に、選出利用履歴作成部112が、ステップS207にて選択したitem_idに対応する選出利用履歴の登録数を算出する(ステップS208)。登録数を算出するには、選出利用履歴格納部135に格納されている選出利用履歴のうち、ステップS207にて選択したitem_idを含むものを数え上げればよい。
次に、選出利用履歴作成部112が、ステップS204にて選択した第2の条件の取得制限数が、ステップS208にて算出した登録数より大きいか否かを判定する(ステップS209)。登録数より大きい場合は、ステップS210へ進み、登録数以下の場合は、ステップS213へ進む。
ステップS210では、選出利用履歴作成部112が、利用履歴格納部133より、ステップS204にて選択した第2の条件に対応する特定利用履歴のうち、ステップS207にて選択したitem_idを含むものを全て抽出する。ここで抽出した特定利用履歴を選出候補利用履歴とする。
次に、選出利用履歴作成部112が、ステップS210にて抽出した選出候補利用履歴より、ステップS204にて選択した第2の条件の取得制限数からステップS208にて算出した登録数を差し引いた登録可能数まで、選出利用履歴として選出する(ステップS211)。このとき、例えば、利用時期情報の新しいものから順に選出すればよい。
次に、選出利用履歴作成部112が、選出利用履歴格納部135に、ステップS211にて選出した選出利用履歴を登録する(ステップS212)。次に、ステップS213へ進む。
ステップS213では、選出利用履歴作成部112が、ステップS207にて、ステップS206にて抽出したitem_idを全て選択したか否かを判定する。全て選択した場合は、ステップS214へ進み、まだ未選択のものが残っている場合はステップS207へ進む。
ステップS214では、選出利用履歴作成部112が、ステップS204にて、ステップS202にて取得した第2の条件を全て選択したか否かを判定する。全て選択した場合は、ステップS201からステップS215までの一連の処理を終了し、まだ未選択のものが残っている場合はステップS215へ進む。
ステップS215では、選出利用履歴作成部112が、取得終了時期を、ステップS205にて設定した取得開始時期と一致するように更新する。次に、ステップS204へ進む。
第2の条件の取得制限数は、適用順に応じて少なくなるため、適用順の早い段階で登録数が取得制限数以上になったアイテム(つまり、最近利用したユーザ数の多いアイテム)ほど、多くの利用履歴を選出利用履歴として選出することができる。
ここで、第2の条件を用いた場合の選出利用履歴選出処理において、第2の条件(適用順,差分取得期間,取得制限数)として、c1(1,30日,20個)、c2(2,60日,10個)、c3(3,60日,5個)の3つが存在する場合における、2アイテム(アイテムA,アイテムB)に対するステップS211の選出利用履歴の選出の例を図13を用いて説明する。アイテムAにおいて、図13(a)のように、適用順「1」の第2の条件c1の取得制限数が「20」個、登録数が「0」個となっているため、差分取得期間30日に該当するアイテムAの特定利用履歴「6」個全てを選出利用履歴として選出する。
次に、適用順「2」の第2の条件c2に進み、条件c2の取得制限数が「10」個、登録数である選出した選出利用履歴の総数が「6」個となっているため、差分取得期間60日に該当するアイテムAの特定利用履歴「12」個の中から、利用時期情報の新しい順に「4」個を選出利用履歴として選出する。
そして、適用順「3」の第2の条件c3の取得制限数が「5」個、登録数である選出した選出利用履歴の総数が「10」個となっているため、選出利用履歴の選出を行わない。
また、アイテムBにおいて、図13(b)のように、適用順「1」の第2の条件c1の取得制限数が「20」個、登録数が「0」個となっているため、差分取得期間30日に該当するアイテムBの特定利用履歴「13」個全てを選出利用履歴として選出する。次に、適用順「2」の第2の条件c2の取得制限数が「10」個、登録数である選出した選出利用履歴の総数が「13」個となって選出利用履歴の選出を行わない。そして、適用順「3」の第2の条件c3の取得制限数が「5」個、登録数である選出した選出利用履歴の総数が「13」個となっているため、ここでも選出利用履歴の選出を行わない。このように、全差分取得期間における特定利用履歴の総数は、アイテムAが「32」個、アイテムBが「25」個といったように、アイテムAの方が多いが、アイテムBの方が直近で多くのアイテムを利用しているため、選出される利用履歴の数は、アイテムBの方が多くなる。
以上が、第2の条件を用いた場合の選出利用履歴選出処理の説明である。このように、特定の時点に近い差分取得期間に対応する選出条件から順に、その選出条件における取得制限数を上限に、アイテム識別子ごとに利用関連情報を選出し、そして、現在選出に用いている選出条件における取得制限数が、選出対象のアイテム識別子における選出済みの選出利用関連情報の総数である登録数より多い場合に、現在選出に用いている選出条件における取得制限数から前記登録数を差し引いた数を上限に利用関連情報を選出することで、そのアイテム識別子における選出利用関連情報を選出している。
第1の条件を用いた場合においても、第2の条件を用いた場合においても、同一ユーザの同一アイテムに対する利用が複数回ある、つまり、(item_id,user_id)の組合せが一致する利用履歴が複数存在する場合は、選出利用履歴選出処理の各ステップにおいて、同一の(item_id,user_id)を有する利用履歴のうち、利用時期情報が最新のものだけを用いて、それ以外のものは利用しないとしてもよい。利用時期情報が最新の利用履歴だけを用いることで、推薦処理に用いるユーザ数を十分に確保することができる。
以上のように、第1の条件や第2の条件を用いて選出利用履歴選出処理を行うことで、最近よく利用されている、つまり、直近で多くのユーザに関連アイテムを閲覧される機会の多い基準アイテムの利用履歴を多く取得することになり、推薦の精度を維持することができる。また、最近あまり利用されていない、つまり、直近でほとんどのユーザに関連アイテムを閲覧される機会がないために、推薦の精度に大きな影響を与えることのない基準アイテムの利用履歴数を大きく制限することで、高い計算量の削減効果を得ることができる。また、少数ながらも利用履歴を抽出することができるので、最近あまり利用されていない基準アイテムでも関連アイテムを選出でき、推薦可能な基準アイテム数を確保することができる。
関連度算出部115は、選出利用履歴作成部112による選出利用履歴選出処理が終了したあとに関連度を算出し、その後、関連アイテム選出部113は、関連アイテム選出処理を行う。
関連アイテム選出処理について、図14のフローチャートを用いて説明する。
まず、関連度算出部115は、関連アイテム情報格納部136に格納されている関連アイテム情報を削除する(ステップS301)。関連アイテム情報を削除する方法は、以下の2種類がある。
関連アイテム情報削除の第1の方法は、関連アイテム情報格納部136に格納されている関連アイテム情報を全て削除する方法である。この方法は、選択を行わずに全ての関連アイテム情報を削除するため、処理量が小さくなる。
関連アイテム情報削除の第2の方法は、関連アイテム情報のうち、ステップS302以降の処理で新たに関連アイテム情報が作成される基準アイテムの関連アイテム情報のみを削除する方法である。関連アイテム情報は、選出利用履歴格納部135に格納されている選出利用履歴に含まれるitem_idに対応する基準アイテムのみ作成される。そのため、選出利用履歴格納部135に格納されているいずれかの選出利用履歴に含まれるitem_idと一致するbase_item_idを有する関連アイテム情報のみを削除することで実現できる。
この方法は、ステップS302以降の処理で新たに関連アイテム情報が作成されない基準アイテムに対して、過去の関連アイテム情報を残すことができる。
次に、関連度算出部115は、選出利用履歴格納部135より、全てのitem_idを重複なしで抽出する(ステップS302)。
次に、関連度算出部115は、ステップS302にて抽出したitem_idのうち、例えば抽出した順に、基準アイテムのitem_idとして1つ選択する(ステップS303)。
次に、関連度算出部115は、選出利用履歴格納部135より、ステップS303にて選択したitem_idを含む選出利用履歴を基準選出利用履歴として、全て取得する(ステップS304)。
次に、関連度算出部115は、選出利用履歴格納部135より、ステップS304にて取得した基準選出利用履歴のいずれかに含まれるuser_idを含む選出利用履歴のうち、ステップS303にて選択したitem_id以外のitem_idを関連候補アイテムのitem_idとして重複なしで全て抽出する(ステップS305)。
次に、関連度算出部115は、選出利用履歴格納部135より、ステップS305にて抽出した関連候補アイテムのitem_idのいずれかを含む選出利用履歴を関連候補選出利用履歴として取得する(ステップS306)。
次に、関連度算出部115は、基準選出利用履歴と関連候補選出利用履歴とを用いて、関連候補アイテムごとに、基準アイテムとの関連度を算出する(ステップS307)。関連度を算出する方法として例えば、基準選出利用履歴に含まれるユーザの集合と、関連候補アイテムに対応する関連候補選出利用履歴に含まれるユーザの集合とのJaccard(ジャカード)係数を用いればよい。また、基準アイテムに対するユーザの好みの度合いを示す嗜好度を基準選出利用履歴を用いて算出し、関連候補アイテムに対する嗜好度を関連候補選出利用履歴を用いて算出した上で、嗜好度を用いた2アイテム間のコサイン距離を関連度としてもよい。また、基準選出利用履歴に含まれるユーザ集合と関連候補選出利用履歴に含まれるユーザ集合の両方に存在するユーザのアイテムに対する嗜好度を、ユーザがアイテムに対して付与した評価とみたてて、ピアソン積率相関係数を用いてもよい。なお、上記の関連度算出方法の他にも公知の種々の関連度算出方法を用いることができる。
なお、嗜好度は、利用回数や、評価値や、支払額などの値をそのまま嗜好度として利用することもできるし、複数の値の和や積などを用いて算出した値を用いればよい。また、利用時期情報を用いて嗜好度を算出してもよい。
また、関連度算出を行う際に、選出条件である第1の条件や第2の条件による重み付けを行うことができる。
まず、第1の条件による関連度の重み付けについて説明する。
第1の条件による関連度の重み付けを行うには、第1の条件を用いた選出利用履歴選出処理にて、アイテムごとに選択された第1の条件を情報処理サーバ格納部13に格納した上で、まず、2アイテム間における選択された第1の条件の取得期間の差が小さければ小さいほど大きくなるような重み付け係数を算出する。2アイテム(アイテムxとアイテムy)の重み付け係数w(x、y)は、例えば、アイテムxに対して選択された第1の条件の取得期間をp(x)とし、アイテムyに対して選択された第1の条件の取得期間をp(y)とした場合に、定数k(>0)を用いて、式(1)にて算出することができる。
Figure 2013130921
また、定数α(>0)、β1(>0)、β2(>0)を用いて、式(2)にて算出することができる。
Figure 2013130921
具体的に、例えば、アイテムxに対して選択された第1の条件が図7(a)のc2(90day,10)であり、アイテムyに対して選択された第1の条件が図7(a)のc1(30day,20)であった場合、p(x)に「90」を代入し、p(y)に「30」を代入することで、重み付け係数w(x,y)を算出することができる。もちろん、他の方法を用いて重み付け係数を算出してもよい。そして、関連度v(x,y)を、Jaccard係数等を用いて算出した単純関連度v’(x,y)と重み付け係数w(x,y)とを用いて、式(3)、または、式(4)にて算出することができる。
Figure 2013130921
Figure 2013130921
次に、第2の条件による関連度の重み付けについて説明する。
第2の条件による関連度の重み付けを行うには、第2の条件を用いた選出利用履歴選出処理にて、アイテムごとに最後に選出利用履歴を選出した第2の条件を情報処理サーバ格納部13に格納した上で、まず、2アイテムの最後に選択された第2の条件の適用順が近いほど大きくなるような重み付け係数を算出する。2アイテム(アイテムxとアイテムy)の重み付け係数w(x、y)は、例えば、アイテムxの適用順をr(x)とし、アイテムyの適用順をr(y)とし、式(1)や式(2)のp(x)とp(y)を、それぞれr(x)とr(y)に置き換えることで算出することができる。なお、最後に選択された第2の条件とは、取得制限数に達したときの第2の条件である。
具体的に、例えば、アイテムxに対して選択された第2の条件が図7(b)のc1(1,30day,20)であり、アイテムyに対して選択された第2の条件が図7(b)のc3(3,60day,5)であった場合、r(x)に「1」を代入し、r(y)に「3」を代入することで、重み付け係数w(x,y)を算出することができる。もちろん、他の方法を用いて重み付け係数を算出してもよい。そして、第1の条件の場合と同様に、関連度v(x,y)を、Jaccard係数等を用いて算出した単純関連度v’(x,y)と、重み付け係数w(x,y)を用いて、式(3)、または、式(4)にて算出することができる。
以上のように、関連度に対して選出条件を考慮することで、同時期に流行った2アイテム間の関連度を高くすることができる。これは、最近あまり利用されていない基準アイテムに対する関連アイテムの精度を補うことにつながる。最近あまり利用されていない基準アイテムに対応する関連アイテムは、あまり閲覧されることがないとはいっても、全く閲覧されることがないわけではない。そこで、同時期に流行ったアイテムを関連アイテムとして提示しやすくすることで、ユーザがその関連アイテムを閲覧した場合に、ユーザが「そういえばこのアイテムも同じ時期に流行ったな」と感じ、推薦結果の信頼性を上げることができる。なお、第1の条件や第2の条件に対する重み付け係数をそのまま関連度として用いてもよい。
次に、関連アイテム選出部113は、ステップS307にて算出した関連度を基に、関連候補アイテムの中から、関連アイテムを選出する(ステップS308)。関連アイテムを選出するには、関連度の高い順にサービス提供側が予め定めた所定数までの関連候補アイテムを関連アイテムとして選出してもよい。また、サービス提供側が予め定めた所定値より高い関連度を有する関連候補アイテムを関連アイテムとして選出してもよい。もちろん、全ての関連候補アイテムを関連アイテムとして選出してもよい。
次に、関連アイテム選出部113は、関連アイテム情報格納部136に、ステップS308にて選出した関連アイテムごとに、ステップS303にて選択した基準アイテムのitem_id(base_item_id)と、ステップS308にて選出した関連アイテムのitem_id(rel_item_id)と、ステップS307にて算出した関連度(r_value)とを関連付けた関連アイテム情報を格納する(ステップS309)。
次に、関連アイテム選出部113は、ステップS303にて、ステップS302にて抽出した全てのitem_idが選択されたか否かを判定する(ステップS310)。全て選択された場合は、ステップS301からステップS310までの一連の処理を終了し、まだ未選択のものが存在する場合はステップS303へ進む。
以上のように、利用履歴の一部である選出利用履歴のみを用いて関連度を算出して、関連アイテムを選出することで、少ない計算量で関連アイテムを選出することができる。
なお、上記で説明した関連アイテム選出処理では、基準アイテムに関する処理(ステップS302とステップS304)と、関連候補アイテムに関する処理(ステップS305とステップS306)の両方で、選出利用履歴を用いて処理を行っているが、少なくとも一方の処理で選出利用履歴を用いれば、もう一方の処理で利用履歴を用いても、計算量を削減することができる。
また、関連アイテム選出処理に用いた選出利用履歴は、処理を行う時点(特定の時点)に近い時期の利用履歴が多いアイテムほど、多くなるように抽出されている。このため、少なくとも関連候補アイテムに関する処理にて、選出利用履歴を用いることで、基準アイテムとの関連性が同程度であれば、最近あまり利用されていないアイテムより、最近よく利用されているアイテムの方が関連アイテムとして推薦されやすくなる。また、最近あまり利用されていないアイテムであっても、制限しているのは利用履歴の数だけなので、基準アイテムとの関連性が高ければ、最近よく利用されているが、基準アイテムとともに利用するユーザの数が少ないアイテムより、関連アイテムとして推薦されやすい。つまり、選出利用履歴を用いることで、基準アイテムとの関連度が高く、かつ、最近流行っているアイテムと、最近流行ってはいないが、基準アイテムとの関連性がかなり高いアイテムの両方が混合されている状態で関連アイテムを提示できるため、推薦への信頼感が増し、精度が高くなるといった効果がある。
また、基準アイテムに関する処理でのみ選出利用履歴を利用する場合でも、直近で多くのユーザに利用されているような基準アイテムは、多くの利用履歴が選出利用履歴として選出されるため、関連アイテムを選出する際に、十分に精度を確保できる。また、直近でほとんど利用されていない基準アイテムは、その関連アイテムが提示される機会がほとんどないため、推薦の精度に与える影響も小さい。また、直近でほとんど利用されていない基準アイテムに関して、少数とはいえ利用履歴数を確保するために、関連アイテムを選出することができるので、推薦可能な基準アイテム数を確保することができる。
関連アイテム提供部114は、端末装置3の要求に応じて、端末装置3に関連アイテム詳細情報を送信する。具体的には、まず、関連アイテム情報格納部136より、要求を行った端末装置3より受信した基準アイテムのアイテム識別子と一致するbase_item_idを有する関連アイテム情報を抽出する。次に、アイテム情報格納部132より、抽出した関連アイテム情報に含まれるrel_item_idと一致するアイテム識別子に対応するアイテム情報を取得する。そして、取得したアイテム情報を基に関連アイテム詳細情報を作成し、端末装置3に作成した関連アイテム詳細情報を送信する。
なお、同一のユーザによる同一のアイテムの利用が複数回ある場合、つまり、(item_id,user_id)の組合せが一致する利用履歴が複数存在する場合は、利用履歴を用いて作成した利用情報を用いて、上記一連の処理を行ってもよい。このとき、端末装置3より受信した利用履歴は、利用情報の更新のためにのみ用いられ、他の処理では用いられなくなるので、利用履歴を記憶しておく必要がなくなる。このため、利用履歴登録部111の代わりに利用情報更新部を、利用履歴格納部133の代わりに利用情報を格納する利用情報格納部を用意する。また、利用情報が選出対象となるため、選出利用履歴作成部112の代わりに選出利用情報作成部を、選出利用履歴格納部135の代わりに選出利用情報格納部を用意する。なお、利用履歴と利用情報とを総称して利用関連情報とも呼ぶこととする。また、前述の通り、選出利用履歴作成部112と、後述する選出利用情報作成部とを総称して選出利用関連情報作成部とも呼ぶこととする。
図15は、利用情報格納部の格納状態を示す図である。利用情報は、アイテム識別子(item_id)と、ユーザ識別子(user_id)と、利用回数(cnt_dl)と、初めて利用した利用時期を示す開始利用時期情報(first_dl_date)と、最後に利用した利用時期を示す最終利用時期情報(last_dl_date)とを組み合わせたものであり、図15のテーブル形式で複数格納されている。(item_id,user_id)の組合せは一意であり、重複して登録することができない。
利用情報更新部は、端末装置3より利用履歴を受信するたびに、利用情報を更新する。このとき、利用情報格納部に、受信した利用履歴の(item_id,user_id)の組合せと一致する利用情報が含まれていない場合は、受信した利用履歴の(item_id,user_id)の組合せと、利用回数となる「1」と、開始利用時期情報となる利用履歴情報に含まれる利用時期情報と、最終利用時期情報となる利用履歴に含まれる利用時期情報とを関連付けた利用情報を作成し、作成した利用情報を利用情報格納部に記憶すればよい。また、利用情報格納部に、受信した利用履歴の(item_id,user_id)の組合せと一致する利用情報が含まれている場合は、一致した利用情報の利用回数に「1」を加算し、最終利用時期情報を、受信した利用履歴の利用時期情報で更新すればよい。ここで、利用履歴に評価値が含まれる場合は、利用情報に評価値の代表値(例えば、直近の評価値など)を関連付けてもよい。また、利用履歴に支払額が含まれている場合は、利用情報に支払い額の代表値(例えば、合計値や最大値など)を関連付けてもよい。それ以外にも、利用情報に、利用履歴に含まれる値に対する代表値(最大値や最小値や最頻値や中央値や直近の値や合計値や平均値など)を関連付けてもよい。つまり、利用情報は、利用履歴の集計結果となる。
選出利用情報格納部は、利用情報の一部である選出利用情報(選出利用関連情報)を格納するので、利用情報格納部と同じ図15の格納形式となる。
選出利用情報作成部は、選出利用情報選出処理を行う。第1の条件を用いた選出利用情報選出処理においても、第2の条件を用いた選出利用情報選出処理においても、最終利用時期情報を用いて所定期間に該当するかを判定すれば、選出利用履歴作成部112による第1の条件を用いた選出利用履歴選出処理や第2の条件を用いた選出利用履歴選出処理と同様に行うことができる。
また、関連アイテム選出部113及び関連度算出部115による関連アイテム選出処理では、利用履歴の代わりに、利用情報を用いることで同様に処理を行うことができる。
利用履歴を記憶せずに、利用履歴の集計結果となる利用情報を記憶することになるため、情報処理サーバ格納部13に記憶するデータ量を軽減することができる。また、最終利用時期情報が利用履歴を受信するたびに更新されるので、最新の利用時期情報をすぐに得ることができる。
ここで、本発明が高い効果を発揮するサービスの形態について説明する。本発明は、流行の移り変わりがあるサービスで特に効果を発揮する。図16は、楽曲販売サイトにおける楽曲ID「s98」に関する購入履歴を購入時期が最新のものから順に並べた図である。図16が示すように、楽曲ID「s98」の楽曲は、2011年4月における購入数が多いため、2011年4月ごろに流行っていることが読み取れる。図17は、楽曲販売サイトにおける楽曲ID「s14」に関するユーザの購入履歴を購入時期が最新のものから順に並べた図である。図17が示すように、楽曲ID「s14」の楽曲は、2010年9月から10月にかけてたくさん購入されているが、2011年4月あたりはほとんど購入されていないため、2010年9月から10月頃に流行ったが、2011年4月ごろは流行っていないことが読み取れる。
このようなサービスにおいて、本発明の計算量削減方法を用いた場合、例えば、2011年4月30日を取得終了時期として、図12の選出条件の第1の条件を用いて選出利用履歴を選出する場合、楽曲ID「s98」に関しては、選出条件c1(90日,20個)が選択され、2011年4月1日から2011年4月30日までに該当する購入履歴「17」個が選出利用履歴として選出される。また、楽曲ID「s14」に関しては、選出条件c3(150日,5個)が選択され、2010年12月2日から2011年4月30日までに該当する購入履歴「4」個が選出利用履歴として選出される。最近流行っている楽曲ID「s98」は、多くのユーザにその関連アイテムを閲覧されるため、推薦の精度に与える影響は大きいが、十分な数の利用履歴を選出した上で推薦処理を行っているので、推薦の精度を維持できる。
また、基準アイテムとの関連性が同程度、つまり、全ての利用履歴に確認して、同一のユーザに基準アイテムとともに利用される確率が同程度であれば、選出利用履歴が多ければ多いほど、関連候補アイテムとして選出されやすくなるので、基準アイテムとの関連性が同程度であれば、以前流行った楽曲ID「s14」に対応する楽曲よりも、最近流行っている楽曲ID「s98」に対応する楽曲の方が他の楽曲に対する関連候補アイテムとして抽出されやすい。そして、最近流行っているアイテムが多く含まれる関連候補アイテムから、基準アイテムとの関連性の高いアイテムが選出されるため、基準アイテムとの関連度が高く、かつ、最近流行っているアイテムが関連アイテムとして選出されやすい。このため、計算量を削減しつつ、精度よく関連アイテムを選出できる。
もし、上記のようなサービスにおいて、計算量を削減するために、全てのアイテムに対して、一律に所定数の購入履歴を抽出して関連アイテムを選出した場合、所定数が大きいと計算量の削減効果が薄れてしまう。また、逆に、所定数が小さい場合、例えば、推薦の精度に与える影響の大きくなるような、最近流行っている楽曲ID「s98」の利用履歴数を十分に確保できず、推薦の精度が維持できない可能性がある。
また、上記のようなサービスで、計算量を削減するために、所定期間の購入履歴のみを抽出する方法を用いた場合、計算量の削減効果を上げるために所定期間を短くすると、関連アイテムが更新される基準アイテム数が十分に確保できず、大多数の基準アイテムに対する関連アイテムは更新されなくなり、ユーザが変化の少ない推薦結果に興味を失い、精度が維持できない可能性がある。また、逆に、基準アイテムを大量に確保するために所定期間を長くすると、計算量の削減効果が薄れてしまう。
以上のように、本発明の情報処理装置、情報処理方法及び情報処理プログラムによれば、直近で利用されたアイテムに関する利用履歴ほど多くなるように選出利用履歴として選出し、選出利用履歴を用いて関連アイテムを選出する。このように、利用履歴の一部である選出利用履歴のみを用いて関連アイテムを選出するため、計算量を削減することができる。
また、直近で多く利用されるような、関連アイテムが閲覧される機会の多い推薦の精度に大きな影響を与えるアイテムに対しては、十分な数の選出利用履歴を確保した上で推薦処理を行う。このため、推薦の精度を維持しつつ、関連アイテムを選出することができる。また、直近であまり利用されないアイテムに対しても、少数とはいえ、選出利用履歴を確保することができる。このため、推薦可能なアイテム数を十分に確保することができる。
1 情報処理サーバ装置(情報処理装置)
2 ネットワーク
3 端末装置
11 情報処理サーバ制御部
111 利用履歴登録部
112 選出利用履歴作成部(選出利用関連情報作成部)
113 関連アイテム選出部
114 関連アイテム提供部
115 関連度算出部
12 情報処理サーバ通信部
13 情報処理サーバ格納部
131 ユーザ情報格納部
132 アイテム情報格納部
133 利用履歴格納部
134 選出条件格納部
135 選出利用履歴格納部
136 関連アイテム情報格納部

Claims (9)

  1. アイテムを利用したユーザを一意に識別するためのユーザ識別子又はそのユーザがアイテムの利用に用いた端末装置を一意に識別するための端末識別子の少なくともいずれか一方である利用主体識別子と、利用の対象となったアイテムを識別するためのアイテム識別子と、アイテムの利用時期に関する利用時期情報と、が関連付けられた利用関連情報を格納する格納部を参照し、特定の時点に近い前記利用時期情報を含む前記利用関連情報が多いほど多く選出されるような条件に基づいて、前記アイテム識別子ごとに、そのアイテム識別子における複数の前記利用関連情報のうちの少なくとも一部である選出利用関連情報を選出する選出利用関連情報作成部と、
    前記選出利用関連情報作成部によって選出した一のアイテム識別子における選出利用関連情報と、前記選出利用関連情報選出部によって選出した前記一のアイテム識別子以外の他のアイテム識別子における選出利用関連情報とに基づいて、前記一のアイテム識別子と前記他のアイテム識別子との関連度を算出する関連度算出部と
    を備えることを特徴とする情報処理装置。
  2. 前記条件は、前記特定の時点より過去のある時点から前記特定の時点までの期間を示す複数の取得期間と、その前記取得期間それぞれに対応付けられ、前記取得期間が長いほど少ない数に設定されている複数の取得制限数とを用いた条件であり、
    前記選出利用関連情報作成部は、前記選出利用関連情報を選出する選出対象のアイテム識別子における前記利用時期情報を参照して、取得制限数を上限に前記取得期間それぞれに含まれる前記利用関連情報の数を計数し、計数した前記利用関連情報の数が最も多い取得期間に含まれる利用関連情報を前記選出対象のアイテム識別子における前記選出利用関連情報として選出することを特徴とする請求項1記載の情報処理装置。
  3. 前記関連度算出部は、前記一のアイテム識別子における最も多い数の前記利用関連情報を取得できる前記取得期間と、前記他のアイテム識別子における最も多い数の前記利用関連情報を取得できる前記取得期間とに基づいて、前記関連度を算出することを特徴とする請求項2記載の情報処理装置。
  4. 前記条件は、前記特定の時点より過去の所定の期間を示し各々重複しない複数の期間である複数の差分取得期間と、前記差分取得期間それぞれに対応付けられるとともに、前記特定の時点から遠い差分取得期間であるほど少ない数に設定された取得制限数とを用いた複数の選出条件からなり、
    前記選出利用関連情報選出部は、前記選出利用関連情報を選出する選出対象のアイテム識別子における前記利用時期情報を参照して、前記特定の時点に近い前記差分取得期間に対応する選出条件から順に、その選出条件における取得制限数を上限に、前記利用関連情報を選出し、現在選出に用いている選出条件における取得制限数が、前記選出対象のアイテム識別子における選出済みの利用関連情報の総数より多い場合に、現在選出に用いている選出条件における取得制限数から前記総数を差し引いた数を上限に利用関連情報を選出することで、前記アイテム識別子における前記選出利用関連情報を選出することを特徴とする請求項1記載の情報処理装置。
  5. 前記関連度算出部は、前記一のアイテム識別子における、最後に選出に用いた前記選出条件と、前記他のアイテム識別子における、最後に選出に用いた前記選出条件とに基づいて、前記関連度を算出することを特徴とする請求項4記載の情報処理方法。
  6. 前記選出利用関連情報選出部は、新しい利用時期情報の前記利用関連情報から順に前記選出利用関連情報を選出することを特徴とする請求項1〜5のいずれか1項に記載の情報処理装置。
  7. 前記関連度に応じて、関連アイテムを選出する関連アイテム選出部を備えることを特徴とする請求項1〜6のいずれか1項に記載の情報処理装置。
  8. 選出利用関連情報作成部が、アイテムを利用したユーザを一意に識別するためのユーザ識別子又はそのユーザがアイテムの利用に用いた端末装置を一意に識別するための端末識別子の少なくともいずれか一方である利用主体識別子と、利用の対象となったアイテムを識別するためのアイテム識別子と、アイテムの利用時期に関する利用時期情報と、が関連付けられた利用関連情報を格納する格納部を参照し、特定の時点に近い前記利用時期情報を含む前記利用関連情報が多いほど多く選出されるような条件に基づいて、前記アイテム識別子ごとに、そのアイテム識別子における複数の前記利用関連情報のうちの少なくとも一部である選出利用関連情報を選出する選出利用関連情報選出ステップと、
    関連度算出部が、前記選出利用関連情報選出ステップによって選出した一のアイテム識別子における選出利用関連情報と、前記選出利用関連情報選出ステップによって選出した前記一のアイテム識別子以外の他のアイテム識別子における選出利用関連情報とに基づいて、前記一のアイテム識別子と前記他のアイテム識別子との関連度を算出する関連度算出ステップと
    を有することを特徴とする情報処理方法。
  9. コンピュータに、
    アイテムを利用したユーザを一意に識別するためのユーザ識別子又はそのユーザがアイテムの利用に用いた端末装置を一意に識別するための端末識別子の少なくともいずれか一方である利用主体識別子と、利用の対象となったアイテムを識別するためのアイテム識別子と、アイテムの利用時期に関する利用時期情報と、が関連付けられた利用関連情報を格納する格納部を参照し、特定の時点に近い前記利用時期情報を含む前記利用関連情報が多いほど多く選出されるような条件に基づいて、前記アイテム識別子ごとに、そのアイテム識別子における複数の前記利用関連情報のうちの少なくとも一部である選出利用関連情報を選出する選出利用関連情報選出ステップと、
    前記選出利用関連情報選出ステップによって選出した一のアイテム識別子における選出利用関連情報と、前記選出利用関連情報選出ステップによって選出した前記一のアイテム識別子以外の他のアイテム識別子における選出利用関連情報とに基づいて、前記一のアイテム識別子と前記他のアイテム識別子との関連度を算出する関連度算出ステップと
    を実行させることを特徴とする情報処理プログラム。
JP2011278287A 2011-12-20 2011-12-20 情報処理装置、情報処理方法、及び情報処理プログラム Active JP5673520B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2011278287A JP5673520B2 (ja) 2011-12-20 2011-12-20 情報処理装置、情報処理方法、及び情報処理プログラム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2011278287A JP5673520B2 (ja) 2011-12-20 2011-12-20 情報処理装置、情報処理方法、及び情報処理プログラム

Related Child Applications (1)

Application Number Title Priority Date Filing Date
JP2014264744A Division JP5928573B2 (ja) 2014-12-26 2014-12-26 情報処理装置、情報処理方法、及び情報処理プログラム

Publications (2)

Publication Number Publication Date
JP2013130921A true JP2013130921A (ja) 2013-07-04
JP5673520B2 JP5673520B2 (ja) 2015-02-18

Family

ID=48908451

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2011278287A Active JP5673520B2 (ja) 2011-12-20 2011-12-20 情報処理装置、情報処理方法、及び情報処理プログラム

Country Status (1)

Country Link
JP (1) JP5673520B2 (ja)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2015225588A (ja) * 2014-05-29 2015-12-14 シャープ株式会社 情報提供装置、情報提供システム、情報処理端末、情報提供方法、及びプログラム
JP2016212792A (ja) * 2015-05-13 2016-12-15 株式会社エヌ・ティ・ティ・データ 商品推薦装置、商品推薦方法及びプログラム
CN106339304A (zh) * 2016-08-30 2017-01-18 刘艺 智能电子设备使用时间控制***及方法

Citations (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2003167901A (ja) * 2001-11-29 2003-06-13 Kddi Corp 協調フィルタリング方法、協調フィルタリング装置及び協調フィルタリングプログラム
JP2004509415A (ja) * 2000-09-14 2004-03-25 ファースト サーチ アンド トランスファー エイエスエイ データ・ネットワークにおいて情報を検索および分析する方法
JP2006302097A (ja) * 2005-04-22 2006-11-02 Matsushita Electric Ind Co Ltd 協調フィルタ装置
JP2007213200A (ja) * 2006-02-08 2007-08-23 Hitachi Electronics Service Co Ltd ファイル検索機能を備える情報処理装置及びファイル検索結果優先順位変更プログラム及びファイル検索結果優先順位変更方法及びファイル検索結果優先順位変更システム
JP2007256992A (ja) * 2006-03-20 2007-10-04 Nifty Corp コンテンツ特定方法及び装置
US20080243815A1 (en) * 2007-03-30 2008-10-02 Chan James D Cluster-based assessment of user interests
US20080250026A1 (en) * 2001-10-24 2008-10-09 Linden Gregory D Recommendations based on cross-site browsing activities of users
JP2009230334A (ja) * 2008-03-21 2009-10-08 Denso It Laboratory Inc コンテンツ提示装置、コンテンツ提示方法、およびプログラム
JP2010176666A (ja) * 2009-01-27 2010-08-12 Palo Alto Research Center Inc ソーシャルインデックスにおける熱いトピック及び冷めたトピックを検出することによりユーザの関心を管理するためのシステム及び方法

Patent Citations (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2004509415A (ja) * 2000-09-14 2004-03-25 ファースト サーチ アンド トランスファー エイエスエイ データ・ネットワークにおいて情報を検索および分析する方法
US20080250026A1 (en) * 2001-10-24 2008-10-09 Linden Gregory D Recommendations based on cross-site browsing activities of users
JP2003167901A (ja) * 2001-11-29 2003-06-13 Kddi Corp 協調フィルタリング方法、協調フィルタリング装置及び協調フィルタリングプログラム
JP2006302097A (ja) * 2005-04-22 2006-11-02 Matsushita Electric Ind Co Ltd 協調フィルタ装置
JP2007213200A (ja) * 2006-02-08 2007-08-23 Hitachi Electronics Service Co Ltd ファイル検索機能を備える情報処理装置及びファイル検索結果優先順位変更プログラム及びファイル検索結果優先順位変更方法及びファイル検索結果優先順位変更システム
JP2007256992A (ja) * 2006-03-20 2007-10-04 Nifty Corp コンテンツ特定方法及び装置
US20080243815A1 (en) * 2007-03-30 2008-10-02 Chan James D Cluster-based assessment of user interests
JP2009230334A (ja) * 2008-03-21 2009-10-08 Denso It Laboratory Inc コンテンツ提示装置、コンテンツ提示方法、およびプログラム
JP2010176666A (ja) * 2009-01-27 2010-08-12 Palo Alto Research Center Inc ソーシャルインデックスにおける熱いトピック及び冷めたトピックを検出することによりユーザの関心を管理するためのシステム及び方法

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2015225588A (ja) * 2014-05-29 2015-12-14 シャープ株式会社 情報提供装置、情報提供システム、情報処理端末、情報提供方法、及びプログラム
JP2016212792A (ja) * 2015-05-13 2016-12-15 株式会社エヌ・ティ・ティ・データ 商品推薦装置、商品推薦方法及びプログラム
CN106339304A (zh) * 2016-08-30 2017-01-18 刘艺 智能电子设备使用时间控制***及方法

Also Published As

Publication number Publication date
JP5673520B2 (ja) 2015-02-18

Similar Documents

Publication Publication Date Title
JP5124680B1 (ja) 情報処理装置、情報処理方法、情報処理プログラム及び記録媒体
JP5633423B2 (ja) 情報処理方法、表示方法、情報処理装置、端末装置、及び情報処理プログラム
US20140074851A1 (en) Dynamic data acquisition method and system
JP2010073170A (ja) 推薦商品選択装置、推薦商品選択プログラムおよび商品検索装置
JP6655223B1 (ja) 情報処理システム、情報処理方法、及びプログラム
JP5673520B2 (ja) 情報処理装置、情報処理方法、及び情報処理プログラム
JP6079479B2 (ja) 情報処理装置、情報処理方法、及び情報処理プログラム
JP2017068547A (ja) 情報提供装置、プログラム及び情報提供方法
JP6060833B2 (ja) 情報処理装置、情報処理方法、及び情報処理プログラム
JP5430802B1 (ja) コンテンツ提供システム、コンテンツ提供方法及びコンテンツ提供プログラム
JP5673494B2 (ja) 情報処理装置、情報処理方法、及び情報処理プログラム
JP6269864B2 (ja) 情報処理装置、情報処理方法、及び情報処理プログラム
JP6028847B2 (ja) 情報処理装置、情報処理方法、及び情報処理プログラム
JP5928573B2 (ja) 情報処理装置、情報処理方法、及び情報処理プログラム
JP2013232031A (ja) 情報処理装置、端末装置、情報処理方法、表示方法、情報処理プログラム、及び表示プログラム
JP6028846B2 (ja) 情報処理装置、情報処理方法、及び情報処理プログラム
JP5928572B2 (ja) 情報処理装置、情報処理方法、及び情報処理プログラム
JP5370351B2 (ja) 情報処理方法、情報処理装置、及び情報処理プログラム
US20170255968A1 (en) Advertising method for securing and expanding customers by using contents
JP6443431B2 (ja) 情報処理装置、情報処理方法、及び情報処理プログラム
JP2016081156A (ja) 顔写真表示装置
JP2015181048A (ja) 情報処理装置、端末装置、情報処理方法、表示方法、情報処理プログラム、及び表示プログラム
JP5803800B2 (ja) 情報処理装置、端末装置、情報処理方法、表示方法、情報処理プログラム、及び表示プログラム
JP2014222532A (ja) 情報処理方法、表示方法、情報処理装置、端末装置、及び情報処理プログラム
JP2020119471A (ja) 決定装置、決定方法及び決定プログラム

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20140228

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20140812

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20140916

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20141114

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20141202

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20141215

R150 Certificate of patent or registration of utility model

Ref document number: 5673520

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150