(57)【要約】【課題】リアルタイムにユーザの嗜好情報を更新可能とする。【解決手段】全体ユーザ及び各ユーザの長期プロファイル情報を記憶する長期プロファイルＤＢ２２と、各ユーザの短期プロファイル情報を記憶する短期プロファイルＤＢ２３と、各アイテムの属性データを記憶するアイテム情報記憶部２１と、ユーザからのアクセスデータをユーザ毎に集計するアクセス集計部１１と、一定期間毎に、その一定期間のアクセス集計データを受け取り、各アイテムの属性データと全体ユーザ及び各ユーザの長期プロファイル情報を利用して、それら長期プロファイル情報を更新する長期プロファイル算出部１２と、アクセス集計データが生成される毎にアクセス集計データを受け取り、各アイテムの属性データと各ユーザの長期プロファイル情報を利用して、各ユーザの短期プロファイル情報を更新する短期プロファイル算出部１３とを備える。【選択図】図１
2011118646.tif 000002
【特許請求の範囲】
【請求項１】
全体ユーザの長期プロファイル情報と各ユーザの長期プロファイル情報を記憶する長期プロファイルＤＢと、
各ユーザの短期プロファイル情報を記憶する短期プロファイルＤＢと、
各アイテムの属性データを記憶するアイテム情報記憶部と、
ユーザからのアクセスデータを受け取り、ユーザ毎に集計したアクセス集計データを生成するアクセス集計部と、
前記アクセス集計部から一定期間毎に、その一定期間のアクセス集計データを受け取り、前記アイテム情報記憶部に記憶されている各アイテムの属性データと、前記長期プロファイルＤＢに記憶されている全体ユーザの長期プロファイル情報及び各ユーザの長期プロファイル情報を利用して、全体ユーザの長期プロファイル情報及び各ユーザの長期プロファイル情報を更新する長期プロファイル算出部と、
前記アクセス集計部でアクセス集計データが生成される毎に、そのアクセス集計データを受け取り、前記アイテム情報記憶部に記憶されている各アイテムの属性データと、前記長期プロファイルＤＢに記憶されている各ユーザの長期プロファイル情報を利用して、各ユーザの短期プロファイル情報を更新する短期プロファイル算出部と、
を具備することを特徴とするユーザプロファイル処理装置。
【請求項２】
アクセス集計部が、ユーザからのアクセスデータを受け取り、ユーザ毎に集計したアクセス集計データを生成するステップと、
短期プロファイル算出部が、前記アクセス集計部でアクセス集計データが生成される毎に、そのアクセス集計データを受け取り、アイテム情報記憶部に記憶されている各アイテムの属性データと、長期プロファイルＤＢに記憶されている各ユーザの長期プロファイル情報を利用して、短期プロファイルＤＢに記憶されている各ユーザの短期プロファイル情報を更新するステップと、
長期プロファイル算出部が、前記アクセス集計部から一定期間毎に、その一定期間のアクセス集計データを受け取り、前記アイテム情報記憶部に記憶されている各アイテムの属性データと、前記長期プロファイルＤＢに記憶されている全体ユーザの長期プロファイル情報及び各ユーザの長期プロファイル情報を利用して、全体ユーザの長期プロファイル情報及び各ユーザの長期プロファイル情報を更新するステップと、
を有することを特徴とするユーザプロファイル処理方法。
【請求項３】
請求項１記載のユーザプロファイル処理装置としてコンピュータを機能させるためのユーザプロファイル処理プログラム。
【請求項４】
請求項３記載のユーザプロファイル処理プログラムを記録したコンピュータが読み取り可能な記録媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
この発明は例えば検索結果をカスタマイズする際に利用されるユーザプロファイルを作成する装置に関し、特にリアルタイムにユーザの嗜好情報を更新可能とするユーザプロファイル処理装置及びユーザプロファイル処理方法に関する。
【背景技術】
【０００２】
ユーザの検索エンジンを利用した過去の実績に基づいてユーザプロファイルを作成し、そのユーザプロファイルを用いて検索エンジンから返された検索結果を順序付けるシステム及び方法が知られている（特許文献１参照）。
【０００３】
この特許文献１による検索エンジンシステムは、ユーザプロファイルを利用して検索結果をカスタマイズする。このユーザプロファイルはユーザの検索嗜好を特徴付ける複数の用語を含んでいる。また、これらの用語はユーザから暗黙的または明示的に提供された個人情報と同様に、ユーザが送信した以前の検索クエリ、以前の検索クエリにより識別される文書との相互リンク、識別された文書からのサンプリングされた内容を含む各種の情報源から抽出される。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２００９−１８７３８４号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
しかしながら、上記特許文献１に記載されているシステム、方法では、ユーザプロファイルをひとまとめに扱っているため、データ量が大きくなるとメモリ（ＲＡＭ）だけでは足りず、物理ディスクアクセスが必要となってユーザプロファイルの更新速度が遅くなってしまうため、リアルタイムなユーザの嗜好情報の更新が困難になるという問題があった。
【０００６】
この発明はこのような問題に鑑みてなされたものであり、その目的はリアルタイムにユーザの嗜好情報を更新可能なユーザプロファイル処理装置及びユーザプロファイル処理方法を提供することにある。
【課題を解決するための手段】
【０００７】
この発明によれば、ユーザプロファイル処理装置は、全体ユーザの長期プロファイル情報と各ユーザの長期プロファイル情報を記憶する長期プロファイルＤＢと、各ユーザの短期プロファイル情報を記憶する短期プロファイルＤＢと、各アイテムの属性データを記憶するアイテム情報記憶部と、ユーザからのアクセスデータを受け取り、ユーザ毎に集計したアクセス集計データを生成するアクセス集計部と、アクセス集計部から一定期間毎に、その一定期間のアクセス集計データを受け取り、アイテム情報記憶部に記憶されている各アイテムの属性データと、長期プロファイルＤＢに記憶されている全体ユーザの長期プロファイル情報及び各ユーザの長期プロファイル情報を利用して、全体ユーザの長期プロファイル情報及び各ユーザの長期プロファイル情報を更新する長期プロファイル算出部と、アクセス集計部でアクセス集計データが生成される毎に、そのアクセス集計データを受け取り、アイテム情報記憶部に記憶されている各アイテムの属性データと、長期プロファイルＤＢに記憶されている各ユーザの長期プロファイル情報を利用して、各ユーザの短期プロファイル情報を更新する短期プロファイル算出部とを具備する。
【０００８】
この発明によるユーザプロファイル処理方法は、アクセス集計部がユーザからのアクセスデータを受け取り、ユーザ毎に集計したアクセス集計データを生成するステップと、短期プロファイル算出部がアクセス集計部でアクセス集計データが生成される毎に、そのアクセス集計データを受け取り、アイテム情報記憶部に記憶されている各アイテムの属性データと、長期プロファイルＤＢに記憶されている各ユーザの長期プロファイル情報を利用して、短期プロファイルＤＢに記憶されている各ユーザの短期プロファイル情報を更新するステップと、長期プロファイル算出部がアクセス集計部から一定期間毎に、その一定期間のアクセス集計データを受け取り、アイテム情報記憶部に記憶されている各アイテムの属性データと、長期プロファイルＤＢに記憶されている全体ユーザの長期プロファイル情報及び各ユーザの長期プロファイル情報を利用して、全体ユーザの長期プロファイル情報及び各ユーザの長期プロファイル情報を更新するステップとを有する。
【発明の効果】
【０００９】
この発明によれば、長期的な嗜好情報である長期プロファイル情報を記憶する長期プロファイルＤＢの他に、短期的な嗜好情報である短期プロファイル情報を記憶する短期プロファイルＤＢを具備するものとなっており、短期プロファイルＤＢは対象短期期間にアクセスのあったユーザの短期プロファイル情報のみ保存するものとすることにより、サイズを削減でき、オンメモリＤＢとして実装することができる。これにより、ユーザの嗜好情報をリアルタイムに更新することが可能となる。
【００１０】
また、ユーザの嗜好の持続パターンは属性によって異なる場合があるが、その場合も短期・長期のプロファイル情報を持つことで、世間での流行やイベントなどによって高まる一時的な嗜好を短期プロファイル情報に表し、ユーザが普遍的に好む半永久的な嗜好を長期プロファイル情報に表すことが可能となる。これにより、ユーザの嗜好を正確に抽出することが可能となる。
【図面の簡単な説明】
【００１１】
【図１】この発明によるユーザプロファイル処理装置の一実施例の構成を示すブロック図。
【図２】図１に示したユーザプロファイル処理装置の処理フローを示すフローチャート。
【図３】アクセス集計データの一例を示す図。
【図４】アイテム毎に設定された属性データの一例を示す図。
【図５】ユーザ毎のアクセス評価値の算出例を示す図。
【図６】全体ユーザのアクセス評価値の算出例を示す図。
【発明を実施するための形態】
【００１２】
この発明の実施形態を図面を参照して実施例により説明する。
【００１３】
図１はこの発明によるユーザプロファイル処理装置の一実施例の機能構成を示したものである。ユーザプロファイル処理装置はこの例では中央処理制御装置１０と記憶装置２０とよりなる。
【００１４】
記憶装置２０はアイテム情報記憶部２１と長期プロファイルＤＢ（データベース）２２と短期プロファイルＤＢ２３とを備えている。アイテム情報記憶部２１には各アイテムの属性データが記憶され、長期プロファイルＤＢ２２には全体ユーザ及び各ユーザの長期プロファイル情報が記憶されている。また、短期プロファイルＤＢ２３には各ユーザの短期プロファイル情報が記憶されている。
【００１５】
中央処理制御装置１０はアクセス集計部１１と長期プロファイル算出部１２と短期プロファイル算出部１３とを備えている。アクセス集計部１１は検索エンジンを利用して検索を行うユーザからのアクセスデータを受け取り、アクセスデータをユーザ毎に集計してアクセス集計データを生成する。
【００１６】
長期プロファイル算出部１２はアクセス集計部１１からアクセス集計データを受け取り、アイテム情報記憶部２１に記憶されている各アイテムの属性データと、長期プロファイルＤＢ２２に記憶されている全体ユーザ及び各ユーザの長期プロファイル情報を利用して、それら全体ユーザ及び各ユーザの長期プロファイル情報を更新する。
【００１７】
一方、短期プロファイル算出部１３はアクセス集計部１１からアクセス集計データを受け取り、アイテム情報記憶部２１に記憶されている各アイテムの属性データと、長期プロファイルＤＢ２２に記憶されている各ユーザの長期プロファイル情報を利用して、各ユーザの短期プロファイル情報を更新する。
【００１８】
このような構成を有するユーザプロファイル処理装置は、専用のハードウェアとして構成してもよい。また、汎用的なコンピュータをユーザプロファイル処理装置として機能させてもよく、そのためのコンピュータプログラムは、半導体メモリ、磁気ディスク、光ディスク、光磁気ディスク、磁気テープなどのコンピュータ読み取り可能な記録媒体に格納し、陳列などして流通させることができる。または、当該コンピュータプログラムをインターネットなどの通信網を介して伝送させてもよい。
【００１９】
図２は図１に示したユーザプロファイル処理装置の処理フローを示したものであり、以下、図２を参照してユーザプロファイル処理方法を説明する。なお、ここでは料理データにアクセスした場合を例にとって説明する。
【００２０】
まず、アクセス集計部１１にアクセスデータが入力される（ステップＳ１）。このアクセスデータはユーザ名とアクセスしたアイテムの情報を含むデータであり、アクセス集計部１１はアクセスデータをユーザ毎に集計してアクセス集計データを生成する（ステップＳ２）。図３はアクセス集計データの一例を示したものである。
【００２１】
長期プロファイル算出部１２は、アクセス集計部１１から一定期間（例えば１日）毎に、その一定期間のアクセス集計データを受け取る（ステップＳ３）。そして、受け取ったアクセス集計データに基づき、アイテム情報記憶部２１に記憶されているアイテムと属性データ（属性名及び属性の重み）の関係を読み込み（ステップＳ４）、各ユーザの各属性（attribute）のアクセス評価値（Rating）：attributeRating（ユーザ，属性）を計算する（ステップＳ５）。ここで、図３に示したようなアクセス集計データを受け取った場合を例に説明すると、長期プロファイル算出部１２は図４に示したようなアイテムと属性データの関係をアイテム情報記憶部２１から読み込み、計算を行う。なお、図４に示したようなアイテムと属性データの関係は予め用意した静的なデータである。
【００２２】
各ユーザのアクセス評価値：attributeRating（ユーザ，属性）は例えばユーザがアクセスしたアイテムの各属性の重みを全て足し合わせるなどして算出する。例えば、図３に示すアクセス集計データが入力され、図４に示すようなアイテムと属性データの関係が設定されていたとすると、ユーザＡは「パスタ」，「うどん」にアクセスしているので、ユーザＡのattributeRating値は、
・attributeRating（ユーザＡ，洋風）＝（「パスタ」の洋風属性の重み）＝0.5
・attributeRating（ユーザＡ，和風）＝（「うどん」の和風属性の重み）＝0.3
・attributeRating（ユーザＡ，麺）
＝（「パスタ」の麺属性の重み）＋（「うどん」の麺属性の重み）
＝0.5＋0.7＝1.2
と算出される。ユーザＢについても同様に算出される。このようにattributeRating（ユーザ，属性）を算出した例を図５に示す。
【００２３】
長期プロファイル算出部１２はさらに各属性について全体ユーザのアクセス評価値：allRating（属性）も算出する（ステップＳ６）。全体ユーザのアクセス評価値：allRating（属性）は各ユーザのアクセス評価値attributeRating（ユーザ，属性）を足し合わせるなどして算出する。例えば図５に示すようなattributeRating値が算出されていたとすると、
・allRating（洋風）
＝attributeRating（ユーザＡ，洋風）＋attributeRating（ユーザＢ，洋風）
＝0.5＋０＝0.5
・allRating（和風）
＝attributeRating（ユーザＡ，和風）＋attributeRating（ユーザＢ，和風）
＝0.3＋0.6＝0.9
などと算出する。図６にallRating（属性）を算出した例を示す。
【００２４】
長期プロファイル算出部１２はこのように一定期間（例えば１日）のアクセス集計データから算出したアクセス評価値を用いて長期プロファイル情報の更新を行う。
【００２５】
まず、全体ユーザの長期プロファイル情報を、全体ユーザの長期プロファイル更新重み：allLongUpdateWeightを用いて、
allLongProfile(attribute）:＝
allLongProfile(attribute）×（１−allLongUpdateWeight）
＋allRating(attribute）×allLongUpdateWeight
と更新する（ステップＳ７）。
【００２６】
ここで、allLongUpdateWeightは定数でもよいし、あるいはアクセス評価値の算出に利用したアクセスデータ量に応じて増減する値としてもよいし、さらには更新回数に応じて増減する値としてもよい。なお、allLongProfile（属性）の初期値は０とする。
【００２７】
また、全体ユーザの各属性のアクセス率を、
【００２８】
【数１】
2011118646.tif 000003
と算出する（ステップＳ８）。
【００２９】
次に、各ユーザの長期プロファイル情報を、長期プロファイル更新重みLongUpdateWeightを用いて、
longProfile(user,attribute）:＝
longProfile(user,attribute）×（１−longUpdateWeight）
＋attributeRating(user,attribute）×longUpdateWeight
と更新する（ステップＳ９）。
【００３０】
ここで、longUpdateWeightは定数でもよいし、あるいはアクセス評価値の算出に利用したアクセスデータ量に応じて増減する値としてもよいし、さらには更新回数に応じて増減する値としてもよい。例えば、更新回数Ｎが少ない間はlongUpdateWeightを大きく、更新回数Ｎが多くなるにつれてlongUpdateWeightを小さくするならば、
【００３１】
【数２】
2011118646.tif 000004
などとする。なお、minLongUpdateWeightはlongUpdateWeightの最小値とする定数であり、例えば0.1などの値を設定する。
【００３２】
新たなユーザを追加する場合などは、longProfile（ユーザ，属性）の初期値を設定するが、初期値の設定は、
longProfile(user,attribute)＝allLongProfileRatio(attribute)×defaultScale
とする。ここで、defaultScaleは初期値の大きさを調整するための定数である。
【００３３】
一方、短期プロファイル算出部１３はアクセス集計部１１でアクセス集計データが生成される毎に、そのアクセス集計データを受け取る（ステップＳ１１）。そして、対象短期期間（例えば１日）のアクセス集計データからアクセス評価値：attributeRating（ユーザ，属性）を計算する。attributeRating（ユーザ，属性）の計算は受け取ったアクセス集計データに基づき、アイテム情報記憶部２１に記憶されているアイテムと属性データの関係を読み込み（ステップＳ１２）、前述の長期プロファイル算出部１２で説明した方法と同様に行う（ステップＳ１３）。
【００３４】
短期プロファイル算出部１３は算出したアクセス評価値と長期プロファイル情報を用いて短期プロファイル情報を作成する。具体的には短期プロファイル更新重み：shortUpdateWeightを用いて、
shortProfile(user,attribute）:＝
longProfile(user,attribute)×（１−shortUpdateWeight）
＋attributeRating(user,attribute）×shortUpdateWeight
と更新する（ステップＳ１４）。
【００３５】
ここで、shortUpdateWeightは定数でもよいし、あるいはアクセス評価値の算出に利用したアクセスデータ量に応じて増減する値としてもよい。いずれにせよ、shortUpdateWeightにlongUpdateWeightより大きい値を設定することで、直近のアクセスデータを強く反映させることができる。
【００３６】
以上説明したように、この例では長期的な嗜好情報である長期プロファイル情報を算出する際には、一定期間のアクセス集計データを一度に読み込んでバッチ処理により長期プロファイルＤＢ２２に保存されている長期プロファイル情報を更新する。
【００３７】
一方、短期的な嗜好情報である短期プロファイル情報を算出する際には、アクセスデータを受け取り、アクセス集計データを生成する度に、リアルタイムに短期プロファイルＤＢ２３に保存されている短期プロファイル情報を更新する。
【００３８】
ここで、短期プロファイルＤＢ２３には直近に（対象短期期間に）アクセスのあったユーザの短期プロファイル情報しか保存しないため、長期プロファイルＤＢ２２と比較してデータ量は少なくなり、ＤＢのサイズを削減できる。従って、短期プロファイルＤＢ２３全体をオンメモリＤＢとして実装することが可能となり、つまりメモリ（ＲＡＭ）上で動作させることができる。これにより、読み込み操作・書き込み操作を高速に行うことが可能になり、短期プロファイル情報は例えば参照・更新頻度が多くてもリアルタイムに処理することが可能となる。
【００３９】
上記のように算出した各ユーザの長期プロファイル情報及び短期プロファイル情報はユーザ毎に各属性の嗜好度を表現したデータとなるので、あるアイテムのパーソナライズドスコアを計算する際はアイテムの各属性の重みと嗜好度の積を算出し、その合計を計算する。
【００４０】
即ち、あるアイテムのある属性の重みをattributeWeight（アイテム，属性）とすると、あるユーザにとってのあるアイテムの長期パーソナライズドスコアは、
【００４１】
【数３】
2011118646.tif 000005
と算出する。この値は長期プロファイルベクトルとアイテムの属性重みベクトルの内積と等価である。
【００４２】
また、短期パーソナライズドスコアについても同様に、
【００４３】
【数４】
2011118646.tif 000006
と算出する。
【００４４】
上記の長期、短期パーソナライズドスコアを検索エンジンが出力した一般的な検索スコアに重み付け加算し、その加算結果に基づいて検索結果の各アイテムの順位を変更することで、長期、短期パーソナライズド検索が可能となる。
【図１】
2011118646.tif 000007
【図２】
2011118646.tif 000008
【図３】
2011118646.tif 000009
【図４】
2011118646.tif 000010
【図５】
2011118646.tif 000011
【図６】
2011118646.tif 000012