JP2012058894A - 利用者情報処理装置、利用者情報処理方法、及び利用者情報処理プログラム - Google Patents
利用者情報処理装置、利用者情報処理方法、及び利用者情報処理プログラム Download PDFInfo
- Publication number
- JP2012058894A JP2012058894A JP2010199725A JP2010199725A JP2012058894A JP 2012058894 A JP2012058894 A JP 2012058894A JP 2010199725 A JP2010199725 A JP 2010199725A JP 2010199725 A JP2010199725 A JP 2010199725A JP 2012058894 A JP2012058894 A JP 2012058894A
- Authority
- JP
- Japan
- Prior art keywords
- value
- user
- inner product
- norm
- content
- 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
Links
Images
Landscapes
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
Abstract
【解決手段】ノルム格納部は、所定の時点までに受信した利用情報に基づいて、各コンテンツに対する利用頻度を示す数値である利用頻度値の2乗を利用者ごとに加算した値を用いて算出されたノルム関連値を格納する。第1の補正値計算部は、所定の時点以降に受信した利用情報に基づいて、所定の時点からの利用者ごとのノルム関連値の変化量を示すノルム2乗補正値を計算する。類似度算出部は、ノルム関連値とノルム2乗補正値とを用いて新規ノルム関連値を利用者ごとに計算し、新規ノルム関連値を用いて、利用者のうちの任意の2人の間の類似度を計算する。
【選択図】図1
Description
例えば、コンテンツ推薦処理に使用する行動履歴データの量を制限することにより、処理時間を短縮する装置が、特許文献1に開示されている。この装置は、まず、指定された推薦対象のユーザ数と行動履歴データの数に基づいて、推薦処理に要する時間の推定値を算出する。そして、処理時間の推定値が目標時間内に収まるように推薦対象のユーザ数と行動履歴データの数を制限した後、協調フィルタリング方式の推薦処理を行っている。
また、本発明は上述した従来の技術の課題を解決するため、コンテンツを利用する利用者における、コンテンツに対する利用状況に関する情報である利用情報を受信し、その利用情報を用いて、利用者間の類似度を計算する利用者情報処理装置において、利用情報を格納する格納部と、前記利用者情報処理装置が所定の時点に利用情報を受信した後に、前記所定の時点より前の時点から前記格納部に格納されている利用情報と、前記所定の時点に受信した利用情報とに基づいて、前記所定の時点に受信した利用情報に係る利用者における類似度を計算する計算部とを備えることを特徴とする利用者情報処理装置を提供する。
また、本発明は上述した従来の技術の課題を解決するため、コンテンツを利用する利用者における、コンテンツに対する利用状況に関する情報である利用情報を受信し、前記利用情報を用いて、利用者間の類似度を計算する利用者情報処理方法において、所定の時点までに受信した前記利用情報に基づいて、各コンテンツに対する利用頻度を示す数値である利用頻度値の2乗を利用者ごとに加算した値を用いて算出されたノルム関連値をノルム格納部に格納させるノルム格納ステップと、前記所定の時点以降に受信した前記利用情報に基づいて、前記所定の時点からの利用者ごとの前記ノルム関連値の変化量を示すノルム2乗補正値を計算する第1の補正値計算ステップと、前記ノルム関連値と前記ノルム2乗補正値とを用いて新規ノルム関連値を利用者ごとに計算し、前記新規ノルム関連値を用いて、利用者のうちの任意の2人の間の類似度を計算する類似度算出ステップとを有することを特徴とする利用者情報処理方法を提供する。
また、本発明は上述した従来の技術の課題を解決するため、コンテンツを利用する利用者における、コンテンツに対する利用状況に関する情報である利用情報を受信し、前記利用情報を用いて、利用者間の類似度を計算する利用者情報処理装置のコンピュータを、
所定の時点までに受信した前記利用情報に基づいて、各コンテンツに対する利用頻度を示す数値である利用頻度値の2乗を利用者ごとに加算した値を用いて算出されたノルム関連値をノルム格納部に格納させるノルム格納手段、前記所定の時点以降に受信した前記利用情報に基づいて、前記所定の時点からの利用者ごとの前記ノルム関連値の変化量を示すノルム2乗補正値を計算する第1の補正値計算手段、前記ノルム関連値と前記ノルム2乗補正値とを用いて新規ノルム関連値を利用者ごとに計算し、前記新規ノルム関連値を用いて、利用者のうちの任意の2人の間の類似度を計算する類似度算出手段、として機能させることを特徴とする利用者情報処理プログラムを提供する。
以下に、本発明の実施形態について、図を用いて詳細に説明する。
図1は、本発明の第1の実施形態におけるシステム全体の構成図である。サーバ装置1、端末装置3、ネットワーク2により構成されている。
サーバ装置1は、ネットワーク2を通じて、複数の端末装置3(3a〜3n)より受信したコンテンツの利用情報を用いて、ユーザごとに推薦コンテンツを決定し、端末装置3の取得要求に応じて、推薦コンテンツに関する情報を送信する装置である。尚、コンテンツの利用情報には、少なくとも端末装置3を利用中のユーザを識別するためのユーザ識別情報(利用者識別子)と、そのユーザが利用したコンテンツを識別するためのコンテンツ識別情報(コンテンツ識別子)が含まれている。また、取得要求には、少なくとも端末装置3を利用中のユーザを識別するためのユーザ識別情報が含まれている。尚、本実施形態においては、ユーザを識別するユーザ識別情報を用いて処理を行う場合を説明するが、ユーザ識別情報の代わりに端末装置3を識別する端末識別情報を用いて処理を行なっても良い。
サーバ装置1は、CPU、RAM、ROM、ハードディスクドライブ(HDD)、ネットワークインタフェース等を備えるコンピュータを用いて、ソフトウェア(プログラム)処理として実施することも可能である。
制御部10は、サーバ装置1を構成する各部に対して全体的な制御を行なう。
利用頻度値は、例えば、ユーザがコンテンツを1回以上利用した場合には「1」、1回も利用していない場合を「0」として算出すれば良い。
さらに、利用情報に利用日時が含まれる場合は、同じ利用回数ならば利用日時が新しい場合ほど利用頻度値が大きくなるように算出しても良い。
また、利用情報に、ユーザのコンテンツに対する評価の情報が含まれている場合は、その評価情報を用いて利用頻度値を算出する。
嗜好情報の第1の格納形式は、ユーザ識別情報であるuser_idと、コンテンツ識別情報であるcontent_idと、類似度算出部15において直近の類似度算出が行なわれた際に使われた利用頻度値であるvalueと、直近の類似度算出が行われたとき以降に利用頻度値算出部14によって算出された最新の利用頻度値であるnew_valueと、嗜好情報の状態を示すフラグであるstateとを関連付けたものであり、図2(a)に示すテーブル形式で格納されている。このテーブルにおいて、(user_id,content_id)の組合せはユニーク(一意)であり、この組合せを指定することにより、テーブルのデータが特定できる。
これは、直近の類似度算出が行われた際に、すでに嗜好情報格納部18に、嗜好情報が登録されており、かつ、その後に少なくとも1回は、利用頻度値算出部14によって、その嗜好情報に含まれるユーザ識別情報とコンテンツ識別情報に対して、利用頻度値が算出され、嗜好情報の利用頻度値が更新されたことを示す。stateが「2」の場合は、new_valueにのみ値が記憶されている状態である。これは、直近の類似度算出が行われたとき以降に、利用頻度値算出部14が、あるユーザ識別情報とコンテンツ識別情報に対して、利用頻度値を算出して嗜好情報として記憶する際に、嗜好情報格納部18に、そのユーザ識別情報とコンテンツ識別情報に対応する嗜好情報が存在しなかったことを示している。尚、利用頻度値を算出して嗜好情報として記憶する際に、そのユーザ識別情報とコンテンツ識別情報に対応する嗜好情報のstateが「2」である場合は、stateを「2」のままにして、new_valueを更新する。本実施形態ではこのようなstateを用いて処理を行なうが、stateを用いる代わりに、valueとnew_valueの有無を用いて、同様に嗜好情報の状態を判定することも可能である。
ノルム格納部19は、HDDなどの記憶装置を用いて、ユーザ識別情報と、そのユーザ識別情報に対応するノルムの2乗と、そのユーザ識別情報に対応するノルムとを関連付けて複数記憶する。図4は、ノルム格納部19の格納状態の一例を示す図である。図4に示すように、ユーザ識別情報であるuser_idと、そのユーザ識別情報に対応するノルムの2乗であるnorm_squareと、そのユーザ識別情報に対応するノルムであるnormとを関連付けて、テーブル形式で記憶する。
コンテンツ情報格納部22は、HDDなどの記憶装置を用いて、コンテンツ識別情報と、コンテンツ属性情報とを関連付けて記憶する。コンテンツ属性情報とは、例えば、コンテンツの名称、制作者、制作年、ジャンル、価格、コンテンツを利用するのに適したユーザの条件、などの情報である。図7は、コンテンツ情報格納部22の格納状態の一例を示す図である。図7に示すように、コンテンツ識別情報であるcontent_idと、コンテンツ識別情報に対応するコンテンツの情報であるcontent_infoとを関連付けて記憶する。
ここで、類似度算出部15の構成を図8のブロック図を用いて説明する。図8に示すように、類似度算出部15は、コサイン類似度算出部150、通常ノルム算出部151、補正ノルム算出部152、追加ノルム2乗補正値算出部153、更新ノルム2乗補正値算出部154、通常内積算出部155、補正内積算出部156、追加内積補正値算出部157、更新内積補正値算出部158との構成である。なお、補正ノルム算出部152は、第1の補正値計算部や第1の統合補正値計算部としての機能を有する。また、補正内積算出部157は、第2の補正値計算部や第2の統合補正値計算部としての機能を有する。
通常ノルム算出部151は、一度もノルムを算出したことのないユーザのノルムの2乗と、ノルムを算出するためのものである。
更新ノルム2乗補正値算出部154は、ノルム算出対象のユーザにおいて、前回類似度を算出した際に、嗜好情報を有するコンテンツにおいて、その嗜好情報における利用頻度値に対して更新が行われた場合に、そのコンテンツにおける嗜好情報のみを用いて、更新ノルム2乗補正値を算出するためのものである。
通常内積算出部155は、一度も内積を算出したことのない2ユーザ間の内積を算出するためのものである。
追加内積補正値算出部157は、類似度算出対象の2ユーザにおいて、前回類似度を算出した際に、少なくとも一方が、嗜好情報を有していないコンテンツであり、新たに嗜好情報が追加されたことにより、両ユーザが共に嗜好情報を有することなったコンテンツにおける両ユーザの嗜好情報のみを用いて、追加内積補正値を算出するためのものである。
更新内積補正値算出部158は、類似度算出対象の2ユーザにおいて、前回類似度を算出した際に、両ユーザが共に嗜好情報を有する同一のコンテンツにおいて、その少なくとも一方の嗜好情報における利用頻度値に対して更新が行われた場合に、その同一コンテンツにおける両ユーザの嗜好情報のみを用いて、更新内積補正値を算出するためのものである。
以上が、類似度算出部15における構成の説明である。
推薦コンテンツ選択部17は、取得要求受信部12より、ユーザ識別情報を含む取得要求を受信した後、嗜好情報格納部18、類似度格納部20に記憶されているデータを用いて、1つ以上の推薦するコンテンツのコンテンツ識別情報を選択する。そして、コンテンツ情報格納部22より、選択したコンテンツ識別情報に対応するコンテンツ情報を取得する。そして、要求情報送信部13に、取得した1つ以上のコンテンツ情報を要求情報として送信する。
端末装置3は、利用情報送信部31、取得要求送信部32、要求情報受信部33、入力部34、表示部35から構成される。
端末装置3は、CPU、RAM、ROM、ハードディスクドライブ(HDD)、ネットワークインタフェース等を備えるパーソナルコンピュータ等を用いて、ソフトウェア(プログラム)処理として実施することも可能である。
要求情報受信部33は、サーバ装置1より、要求情報を受信する。そして、受信した要求情報を描画し、表示部35に表示する。
表示部35は、例えば、ディスプレイといったように、様々な情報を表示し、ユーザに視覚的に示すためのインタフェースである。表示部35は、要求情報受信部33によって描画された要求情報を表示する。
第1の実施形態におけるサーバ装置1は、ネットワーク2を通じて、複数の端末装置3との情報のやり取りを行いながら、主に、嗜好情報の記憶、類似度の算出、類似ユーザ情報の提供、コンテンツの推薦を行う。
図9は、端末装置3から送信された嗜好情報をサーバ装置1が受信して記憶する処理フローを示すシーケンス図である。
次に、サーバ装置1の利用情報受信部11が、端末装置3から送信された利用情報を受信し(ステップS104)、利用頻度値算出部14に、ステップS104にて受信した利用情報を送信する(ステップS105)。
次に、利用頻度値算出部14が、利用情報受信部11より、利用情報を受信し(ステップS106)、ステップS106で受信した利用情報を用いて利用頻度値を算出する(ステップS107)。
また、ユーザごとに、嗜好情報格納部18に記憶する嗜好情報の数を設定し、記憶できる数の上限に到達した後はそれ以上記憶しないようにすることもできる。
以上が、端末装置3より、利用情報を受信した際の、サーバ装置1による嗜好情報を記憶する処理フローの説明である。
まず、コサイン類似度算出部150が、通常ノルム算出部152、補正ノルム算出部153とデータのやり取りを行いながら、ノルム算出処理を行い(ステップS201)、通常内積算出部155、補正内積算出部156とデータのやり取りを行いながら、内積算出処理を行い(ステップS202)、類似度算出処理を行う(ステップS203)。
次に、コサイン類似度算出部150が、嗜好情報格納部18に記憶されている嗜好情報の中で、stateが「1」、または、「2」の嗜好情報において、valueの値を、new_valueの値で置き換え(ステップS204)、new_valueを全て消去し(ステップS205)、全てのstateを「0」とし(ステップS206)、ステップS201からステップS206までの一連の処理を終了する。
まず、コサイン類似度算出部150が、ノルムを算出するユーザに対するユーザ識別情報を、user_idとして抽出する(ステップS301)。ここでは、嗜好情報格納部18を参照しながら、全ユーザの中で、少なくとも1つの嗜好情報におけるstateが「1」または「2」であるという条件を満たすユーザのユーザ識別情報を抽出する。この条件を満たすユーザは、前回の類似度算出時以降に、新たにコンテンツとして追加されたり、前回の類似度算出時にそのコンテンツに対する嗜好情報が存在していても、その嗜好情報における利用頻度値に変化が起きたりするため、ノルムが変化する。また、この条件を満たさないユーザのノルムは、前回の類似度算出時のノルムから変化がないため、改めてノルムを算出する必要がない。尚、stateを用いない場合は、new_valueが存在する状態がstate「1」、または、state「2」の状態のどちらか一方であるため、new_valueの存在の有無で判定することができる。
次に、コサイン類似度算出部150が、ステップS302にて選択したuser_idにおいて、以前ノルムを算出したか否かを判定する。以前ノルムを算出したことがある場合は、ステップS305へ進み、以前ノルムを算出したことがない場合は、ステップS304へ進む(ステップS303)。ここで、以前ノルムを算出したか否かを判定するには、ノルム格納部19に、ステップS302で選択したuser_idに対応したノルム(norm)が記憶されているか否かで容易に判定することができる。記憶されている場合は、以前ノルムを算出したことになる。記憶されていない場合は、以前ノルムを算出していないことになる。サーバ装置1の初期状態では、ノルム格納部19に何も格納されていないため、user_idにおいて、必ず最初の1回は、ステップS304に進むことになる。
ステップS305では、コサイン類似度算出部150が、補正ノルム算出部152に、ステップS302にて選択したuser_idを送ることで、補正ノルム算出部152が、補正ノルム算出処理を行い、ステップS306へ進む。
次に、コサイン類似度算出部150が、ステップS302にて、全てのuser_idを選択したか否かを判定する。全て選択した場合は、ステップS301からステップS306までの一連の処理を終了し、まだ未選択のものが残っている場合は、ステップS302へ進む(ステップS306)。
以上が、ステップS201のノルム算出処理の説明である。
まず、通常ノルム算出部151が、コサイン類似度算出部150より、user_idを取得し(ステップS401)、ノルムの2乗を算出するための変数n_s=0とする(ステップS402)。
次に、通常ノルム算出部151が、嗜好情報格納部18にて、ステップS401にて取得したuser_idに対応するcontent_idを全て取得する(ステップS403)。
次に、通常ノルム算出部151が、ステップS403にて取得したcontent_idのうち、例えば、取得した順番に、content_idを選択する(ステップS404)。
次に、通常ノルム算出部151が、n_sにステップS405にて取得したnew_valueの2乗を加える(ステップS406)。
次に、通常ノルム算出部151が、ステップS404にて、全てのcontent_idを選択したか否かを判定する。全て選択した場合は、ステップS408へ進み、まだ未選択のものが残っている場合は、ステップS404へ進む(ステップS407)。
ステップS408では、通常ノルム算出部151が、ノルムを算出するためにn=n_s^0.5とする。
尚、通常ノルム算出処理によるノルム算出式は、ノルム算出対象のユーザをuとし、ユーザuの全コンテンツをI(u)、ユーザuのコンテンツiにおける利用頻度値をv(u,i)としたとき、ユーザuのノルムの2乗ns(u)は、数式(1)で表わされる。
以上が、ステップS304の通常ノルム算出処理の説明である。
まず、補正ノルム算出部152が、コサイン類似度算出部150より、user_idを取得し(ステップS501)、ノルム格納部19より、ステップS501にて取得したuser_idに対応するnorm_squareを取得し(ステップS502)、ノルムを算出するための変数new_n_sの初期値をnorm_squareとする(ステップS503)。
次に、補正ノルム算出部152が、追加ノルム2乗補正値算出部153に、ステップS501にて取得したuser_idを送ることで、追加ノルム2乗補正値算出部153が、追加ノルム2乗補正値算出処理を行う(ステップS504)。
次に、補正ノルム算出部152が、追加ノルム2乗補正値算出部153より、追加ノルム2乗補正値Δn_n_sを取得し(ステップS505)、new_n_sにステップS505にて取得したΔn_n_sを加算する(ステップS506)。
次に、補正ノルム算出部152が、更新ノルム2乗補正値算出部154に、ステップS501にて取得したuser_idを送ることで、更新ノルム2乗補正値算出部154が、更新ノルム2乗補正値算出処理を行う(ステップS507)。
次に、補正ノルム算出部152が、ノルムを算出するために、new_n=new_n_s^0.5とし(ステップS510)、ノルム格納部19に、ステップS501にて取得したuser_idと、ステップS502からステップS509までの処理にて算出したnew_n_sをnorm_squareとし、ステップS510にて算出したnew_nをnormとして関連付けたものを記憶し(ステップS511)、ステップS501からステップS511までの一連の処理を終了する。
以上が、ステップS305の補正ノルム算出処理の説明である。
まず、追加ノルム2乗補正値算出部153が、補正ノルム算出部152より、user_idを取得し(ステップS601)、追加ノルム2乗補正値を算出するための変数Δn_n_s=0とする(ステップS602)。
次に、追加ノルム2乗補正値算出部153が、嗜好情報格納部18より、ステップS601にて取得したuser_idに対応する嗜好情報の中で、stateが「2」の嗜好情報のcontent_idを全て取得する(ステップS603)。嗜好情報のstateが「2」であれば、前回の類似度算出以降に、嗜好情報格納部18に記憶されたため、前回の類似度算出の際に、対応する嗜好情報の利用頻度値の2乗を加算していない。そのため、norm_squareに、利用頻度値の2乗をそのまま加算する必要がある。尚、stateを用いない場合は、new_valueのみが存在する状態がstate「2」の状態と等しいので、valueとnew_valueの有無で判定することができる。
次に、追加ノルム2乗補正値算出部153が、Δn_n_sに、ステップS605にて取得したnew_valueの2乗を加算する(ステップS606)。
次に、追加ノルム2乗補正値算出部153が、ステップS604にて、全てのcontent_idを選択したか否かを判定する。全て選択した場合は、ステップS608へ進み、まだ未選択のものが残っている場合は、ステップS604へ進む(ステップS607)。
次に、追加ノルム2乗補正値算出部153が、補正ノルム算出部152に、Δn_n_sを送り(ステップS608)、ステップS601からステップS608までの一連の処理を終了する。
以上が、ステップS504の追加ノルム2乗補正値算出処理の説明である。
まず、更新ノルム2乗補正値算出部154が、補正ノルム算出部152より、user_idを取得し(ステップS701)、更新ノルム2乗補正値を算出するための変数Δu_n_s=0とする(ステップS702)。
次に、更新ノルム2乗補正値算出部154が、嗜好情報格納部18より、ステップS701にて取得したuser_idに対応する嗜好情報の中で、stateが「1」の嗜好情報のcontent_idを全て取得する(ステップS703)。嗜好情報のstateが「1」であれば、前回の類似度算出時に、嗜好情報格納部18に記憶されていたため、前回の類似度算出の際に、対応する嗜好情報の利用頻度値の2乗を加算している。そのため、norm_squareに、利用頻度値の2乗の変化量のみを加算する必要がある。尚、stateを用いない場合は、valueとnew_valueが共に存在する状態がstate「1」の状態と等しいので、valueとnew_valueの有無で判定することができる。
次に、更新ノルム2乗補正値算出部154が、Δu_n_sに、ステップS705にて取得したnew_valueの2乗から、ステップS705にて取得したvalueの2乗を引いたものを加算する(ステップS706)。
次に、更新ノルム2乗補正値算出部154が、ステップS704にて、全てのcontent_idを選択したか否かを判定する。全て選択した場合は、ステップS708へ進み、まだ未選択のものが残っている場合は、ステップS704へ進む(ステップS707)。
次に、更新ノルム2乗補正値算出部154が、補正ノルム算出部152に、Δu_n_sを送り(ステップS708)、ステップS701からステップS708までの一連の処理を終了する。
以上が、ステップS507の更新ノルム2乗補正値算出処理の説明である。
まず、コサイン類似度算出部150が、内積を算出する2ユーザに対するユーザ識別情報の組合せを、user_id_1とuser_id_2との組合せとして抽出する(ステップS801)。ここでは、嗜好情報格納部18を参照しながら、2ユーザ間で同一のコンテンツに対応する嗜好情報が存在しており、かつ、少なくとも一方のユーザの嗜好情報における、stateが「1」または「2」であるという条件を満たす、2ユーザの組合せを抽出する。この条件を満たす2ユーザは、前回の類似度算出時には共通でなかったコンテンツが新たに共通コンテンツとして追加されたり、前回の類似度算出時に共通であっても、そのコンテンツに対する嗜好情報における利用頻度値に変化が起きたりするため、内積が変化する。また、この条件を満たさない2ユーザ間の内積は、前回の類似度算出時の内積から変化がないため、改めて内積を算出する必要がない。尚、stateを用いない場合は、new_valueが存在する状態がstate「1」、または、state「2」の状態のどちらか一方であるため、new_valueの存在の有無で判定することができる。
次に、コサイン類似度算出部150が、ステップS802で選択したuser_id_1とuser_id_2との組合せにおいて、以前内積を算出したか否かを判定する。以前内積を算出したことがある場合は、ステップS805へ進み、以前内積を算出したことがない場合は、ステップS804へ進む(ステップS803)。ここで、以前内積を算出したか否かを判定するには、類似度格納部20に、ステップS802で選択したuser_id_1とuser_id_2との組合せに対応した内積(inner_product)が記憶されているか否かで容易に判定することができる。記憶されている場合は、以前内積を算出したことになる。記憶されていない場合は、以前内積を算出していないことになる。サーバ装置1の初期状態では、類似度格納部20に何も格納されていないため、user_id_1とuser_id_2の全ての組合せにおいて、必ず最初の1回は、ステップS804に進むことになる。
ステップS805では、コサイン類似度算出部150が、補正内積算出部156に、ステップS802で選択したuser_id_1とuser_id_2との組合せを送ることで、補正内積算出部156が、補正内積算出処理を行い、ステップS806へ進む。
次に、コサイン類似度算出部150が、ステップS802にて、全てのuser_id_1とuser_id_2との組合せを選択したか否かを判定する。全て選択した場合は、ステップS801からステップS806までの一連の処理を終了し、まだ未選択のものが残っている場合は、ステップS802へ進む(ステップS806)。
以上が、ステップS202の内積算出処理の説明である。
まず、通常内積算出部155が、コサイン類似度算出部150より、user_id_1とuser_id_2との組合せを取得し(ステップS901)、内積を算出するための変数i_p=0とする(ステップS902)。
次に、通常内積算出部155が、嗜好情報格納部18より、ステップS901にて取得したuser_id_1に対応する全ての嗜好情報のcontent_idの集合と、user_id_2に対応する全ての嗜好情報のcontent_idとの集合において、その両方の集合に存在するcontent_idを全て取得する(ステップS903)。これにより、2ユーザ間の共通コンテンツのcontent_idを全て取得することができる。
次に、通常内積算出部155が、嗜好情報格納部18にて、ステップS901にて取得したuser_id_1とステップS904にて選択したcontent_idとに対応する嗜好情報のstateを確認し、その値により判定を行う。stateが「0」の場合は、ステップS906へ進み、stateが「1」、または、「2」の場合は、ステップS907へ進む(ステップS905)。尚、stateを用いない場合は、valueが存在し、new_valueが存在しない状態がstate「0」の状態と等しいので、valueとnew_valueの有無で判定することができる。
ステップS907では、通常内積算出部155が、嗜好情報格納部18にて、ステップS901にて取得したuser_id_1とステップS904にて選択したcontent_idとに対応する嗜好情報において、最新の利用頻度値が記憶されているnew_valueをvalue1として取得し、ステップS908へ進む。
ステップS909では、通常内積算出部155が、嗜好情報格納部18にて、ステップS901にて取得したuser_id_2とステップS904にて選択したcontent_idとに対応する嗜好情報において、最新の利用頻度値が記憶されているvalueをvalue2として取得し、ステップS911へ進む。
ステップS910では、通常内積算出部155が、嗜好情報格納部18にて、ステップS901にて取得したuser_id_2とステップS904にて選択したcontent_idとに対応する嗜好情報において、最新の利用頻度値が記憶されているnew_valueをvalue2として取得し、ステップS911へ進む。
次に、通常内積算出部155が、ステップS904にて、全てのcontent_idを選択したか否かを判定する。全て選択した場合は、ステップS913へ進み、まだ未選択のものが残っている場合は、ステップS904へ進む(ステップS912)。
ステップS913では、通常内積算出部155が、類似度格納部20に、ステップS901にて取得したuser_id_1とuser_id_2と、ステップS902からステップS912までの処理にて算出したi_pをinner_productとして関連付けたものを記憶し、ステップS901からステップS913までの一連の処理を終了する。
尚、通常内積算出処理による内積算出式は、内積算出対象の2ユーザをx,yとし、ユーザxとユーザyの全共通コンテンツをIc、ユーザxのコンテンツi(∈Ic)における利用頻度値をv(x,i)、ユーザxのコンテンツiにおける利用頻度値をv(y,i)としたとき、ユーザxとユーザyの内積ipは、数式(5)で表わされる。
以上が、ステップS804の通常内積算出処理の説明である。
まず、補正内積算出部156が、コサイン類似度算出部150より、user_id_1とuser_id_2との組い合わせを取得し(ステップS1001)、類似度格納部20より、ステップS1001にて取得したuser_id_1とuser_id_2との組合せに対応するinner_productを取得し(ステップS1002)、内積を算出するための変数new_i_pの初期値をinner_productとする(ステップS1003)。
次に、補正内積算出部156が、追加内積補正値算出部157に、ステップS1001にて取得したuser_id_1とuser_id_2との組合せを送ることで、追加内積補正値算出部157が、追加内積補正値算出処理を行う(ステップS1004)。
次に、補正内積算出部156が、追加内積補正値算出部157より、追加内積補正値Δn_i_pを取得し(ステップS1005)、new_i_pにステップS1005にて取得したΔn_i_pを加算する(ステップS1006)。
次に、補正内積算出部156が、更新内積補正値算出部158より、更新内積補正値Δu_i_pを取得し(ステップS1008)、new_i_pにステップS1008にて取得したΔu_i_pを加算する(ステップS1009)。
次に、補正内積算出部156が、類似度格納部20に、ステップS1001にて取得したuser_id_1とuser_id_2との組合せと、ステップS1002からステップS1009までの処理にて算出したnew_i_pをinner_productとして関連付けたものを記憶し(ステップS1010)、ステップS1001からステップS1010までの一連の処理を終了する。
以上が、ステップS805の補正内積算出処理の説明である。
まず、追加内積補正値算出部157が、補正内積算出部156より、user_id_1とuser_id_2との組合せを取得し(ステップS1101)、追加内積補正値Δn_i_p=0とする(ステップS1102)。
次に、追加内積補正値算出部157が、嗜好情報格納部18より、ステップS1101にて取得したuser_id_1に対応するユーザとuser_id_2に対応するユーザの共通コンテンツにおいて、少なくとも一方の共通コンテンツに対応する嗜好情報のstateの値が「2」のcontent_idを全て取得する(ステップS1103)。この条件を満たすcontent_idは、前回類似度算出以降に、そのcontent_idに対応するコンテンツが共通コンテンツとなったため、前回類似度算出時に、inner_productを算出する際に、対応する嗜好情報の利用頻度値の積を加算していない。そのため、inner_productに、対応する利用頻度値の積をそのまま加算する必要がある。
次に、追加内積補正値算出部157が、ステップS1101にて取得したuser_id_1と、ステップS1104にて選択したcontent_idとに対応する嗜好情報のstateを判定する。stateが「0」の場合は、ステップS1106へ進み、stateが「1」、または、「2」の場合は、ステップS1107へ進む(ステップS1105)。尚、stateを用いない場合は、valueが存在し、new_valueが存在しない状態がstate「0」の状態と等しいので、valueとnew_valueの有無で判定することができる。
ステップS1107では、追加内積補正値算出部157が、嗜好情報格納部18より、ステップS1101にて取得したuser_id_1と、ステップS1104にて選択したcontent_idとに対応する嗜好情報において、最新の利用頻度値であるnew_valueをnew_value1として取得し、ステップS1108へ進む。
次に、追加内積補正値算出部157が、ステップS1101にて取得したuser_id_2と、ステップS1104にて選択したcontent_idとに対応する嗜好情報のstateを判定する。stateが「0」の場合は、ステップS1109へ進み、stateが「1」、または、「2」の場合は、ステップS1110へ進む(ステップS1108)。尚、stateを用いない場合は、valueが存在し、new_valueが存在しない状態がstate「0」の状態と等しいので、valueとnew_valueの有無で判定することができる。
次に、追加内積補正値算出部157が、嗜好情報格納部18より、ステップS1101にて取得したuser_id_2と、ステップS1104にて選択したcontent_idとに対応する嗜好情報において、最新の利用頻度値であるnew_valueをnew_value2として取得し(ステップS1110)、ステップS1111へ進む。
次に、追加内積補正値算出部157が、Δn_i_pにnew_value1×new_value2を加算する(ステップS1111)。
次に、追加内積補正値算出部157が、補正内積算出部156に、Δn_i_pを送り(ステップS1113)、ステップS1101からステップS1113までの一連の処理を終了する。
以上が、ステップS1004の追加内積補正値算出処理の説明である。
まず、更新内積補正値算出部158が、補正内積算出部156より、user_id_1とuser_id_2との組合せを取得し(ステップS1201)、更新内積補正値を算出するための変数Δu_i_p=0とする(ステップS1202)。
次に、更新内積補正値算出部158が嗜好情報格納部18より、ステップS1201にて取得したuser_id_1に対応するユーザとuser_id_2に対応するユーザの共通コンテンツにおいて、一方のユーザの共通コンテンツに対応する嗜好情報のstateの値が「1」で、他方のユーザの共通コンテンツに対応するstateの値が「1」か「0」のcontent_idを全て取得する(ステップS1203)。この条件を満たすcontent_idは、前回の類似度算出時に、すでに共通コンテンツであったため、前回類似度算出時に、inner_productを算出する際に、対応する嗜好情報の利用頻度値の積を加算している。このため、更新内積補正値算出処理を適用し、inner_productに、利用頻度値の積の変化量のみを加算する必要がある。尚、stateを用いない場合は、valueとnew_valueが共に存在する状態がstate「1」の状態と等しいので、valueとnew_valueの有無で判定することができる。
次に、更新内積補正値算出部158が、ステップS1201にて取得したuser_id_1と、ステップS1204にて選択したcontent_idとに対応する嗜好情報のstateを判定する。stateが「0」の場合は、ステップS1206へ進み、stateが「1」の場合は、ステップS1208へ進む(ステップS1205)。尚、stateを用いない場合は、valueが存在し、new_valueが存在しない状態がstate「0」の状態と等しく、valueとnew_valueが共に存在する状態がstate「1」の状態と等しいので、valueとnew_valueの有無で判定することができる。
ステップS1207では、更新内積補正値算出部158が、嗜好情報格納部18より、ステップS1201にて取得したuser_id_1と、ステップS1204にて選択したcontent_idとに対応する嗜好情報において、最新の利用頻度値であるnew_valueをnew_value1として、前回類似度算出時と同値の利用頻度値であるvalueをvalue1として取得し、ステップS1208へ進む。
ステップS1209では、更新内積補正値算出部158が、嗜好情報格納部18より、ステップS1201にて取得したuser_id_2と、ステップS1204にて選択したcontent_idとに対応する嗜好情報において、最新の利用頻度値であるvalueをnew_value2として、同時に前回類似度算出時と同値の利用頻度値でもあるvalueをvalue2として取得し、ステップS1211へ進む。
次に、更新内積補正値算出部158が、Δu_i_pにnew_value1×new_value2−value1×value2を加算する(ステップS1211)。
次に、更新内積補正値算出部158が、ステップS1204にて、全てのcontent_idを選択したか否かを判定する。全て選択した場合は、ステップS1213へ進み、まだ未選択のものが残っている場合は、ステップS1204へ進む(ステップS1212)。
次に、更新内積補正値算出部158が、補正内積算出部156に、Δu_i_pを送り(ステップS1213)、ステップS1201からステップS1213までの一連の処理を終了する。
以上が、ステップS1007の更新内積補正値算出処理の説明である。
まず、コサイン類似度算出部150が、類似度を算出する2ユーザに対するユーザ識別情報の組合せを、user_id_1とuser_id_2との組合せとして取得する(ステップS1301)。尚、類似度を算出する2ユーザは、嗜好情報格納部18において、少なくとも一方の嗜好情報の中で、少なくとも一つの嗜好情報のstateが「1」、または、「2」であるという条件を満たす。この条件を満たす2ユーザは、ステップS201のノルム算出処理、または、ステップS202の内積算出処理により、ノルムや内積の値が変化しているため、類似度を改めて算出する必要がある。また、この条件を満たさない2ユーザは、前回の類似度算出時のノルムや内積から変化していないので、改めて類似度を算出する必要がない。
次に、コサイン類似度算出部150が、類似度格納部20より、ステップS1302にて選択したuser_id_1とuser_id_2との組合せに対応するinner_productを取得する(ステップS1303)。
次に、コサイン類似度算出部150が、ノルム格納部19より、ステップS1302にて選択したuser_id_1に対応するnormをnorm1として取得する(ステップS1304)。
次に、コサイン類似度算出部150が、ノルム格納部19より、ステップS1302にて選択したuser_id_2に対応するnormをnorm2として取得する(ステップS1305)。
次に、コサイン類似度算出部150が、ステップS1302にて全てのuser_id_1とuser_id_2との組合せを選択したか否かを判定する。全ての組合せを選択した場合は、ステップS1301からステップS1308までの一連の処理を終了し、未選択の組合せが残っている場合は、ステップS1302へ進む(ステップS1308)。
以上が、ステップS203の類似度算出処理の説明である。
協調フィルタリング方式のコンテンツ推薦において、時間の経過と共に、ユーザ間の類似度計算を繰り返し行うことが一般的である。本実施形態においても、上述した所定のタイミングごとに、繰り返しユーザ間の類似度計算を行っている。
しかしながら、従来の協調フィルタリングにおけるユーザ間の類似度計算においては、本実施形態の通常内積算出部155に相当する処理を行っており、繰り返し計算において、過去の計算結果を利用した計算量の削減は行われていなかった。
具体的には、嗜好情報格納部18に、直近の類似度算出時の用いた利用頻度値であるvalueと、直近の類似度算出以降に追加または変更された利用頻度値であるnew_valueと、嗜好情報の状態を示すフラグのstateを格納しているので、stateの値、またはvalueの値の有無とnew_valueの値の有無の組合せを用いることにより、ステップS301において、ノルムの再計算の必要なユーザを的確に抽出できる。さらに、ステップS801においても、内積の再計算が必要な2ユーザの組合せを的確に抽出できる。上述した利用頻度値データの性質により、ほとんどのユーザの利用頻度値は、変更も追加もされないため、ノルムや内積の再計算も必要ない。従って、ステップS301で処理で対象となるユーザは、全てのユーザのうちの極一部である。さらに、ステップS801以降の処理で対象となるユーザの組合せも、全てのユーザの組合せの内の極一部であり、大半のユーザの組合せに関しては再計算処理を行う必要がないので、計算量を大幅に削減することができる。
また、ステップS603において、嗜好情報格納部18のstateの値、またはvalueの値の有無とnew_valueの値の有無の組合せを用いて、どのユーザのどのコンテンツに対する利用頻度値が追加されたかについて、限定して適切に抽出している。同様に、ステップS703においても、嗜好情報格納部18のstateの値、またはvalueの値の有無とnew_valueの値の有無の組合せを用いて、どのユーザのどのコンテンツに対する利用頻度値が更新されたかについて、限定して適切に抽出している。そして、追加時(ステップS504)と更新時(ステップS507)の場合のみ処理を行っているため、ノルムの値に影響を与える必要最低限のデータのみを使って効率よくノルムを計算ができる。
また、ステップS1103において、嗜好情報格納部18のstateの値、またはvalueの値の有無とnew_valueの値の有無の組合せを用いて、どのユーザのどのコンテンツに対する利用頻度値が追加されたかについて、限定して適切に抽出している。同様に、ステップS1203においても、嗜好情報格納部18のstateの値、またはvalueの値の有無とnew_valueの値の有無の組合せを用いて、どのユーザのどのコンテンツに対する利用頻度値が更新されたかについて、限定して適切に抽出している。そして、追加時(ステップS1004)と更新時(ステップS1007)の場合のみ処理を行っているため、内積の値に影響を与える必要最低限のデータのみを使って効率よく内積を計算ができる。
まず、取得要求送信部32が、入力部34より、類似ユーザ情報の取得を要求する操作を受信し(ステップS1401)、端末装置3を利用中のユーザを識別するユーザ識別情報を用いて、類似ユーザ情報の取得を要求する取得要求を作成し(ステップS1402)、ネットワーク2を通じて、取得要求受信部12に、ステップS1402にて作成した取得要求を送信する(ステップS1403)。
次に、取得要求受信部12が、ネットワーク2を通じて、取得要求送信部32より、取得要求を受信し(ステップS1404)、類似ユーザ情報選択部16に、ステップS1404にて受信した取得要求を送信する(ステップS1405)。
次に、類似ユーザ情報選択部16が、取得要求受信部12より、取得要求を受信する(ステップS1406)。
次に、類似ユーザ情報選択部16が、要求情報送信部13に、ステップS1406で取得した取得要求のユーザ識別情報とともに、ステップS1408で取得した全てのユーザ情報を要求情報として送信する(ステップS1409)。
次に、要求情報送信部13が、類似ユーザ情報選択部16より、ユーザ識別情報と要求情報とを受信し(ステップS1410)、ネットワーク2を通じて、ステップS1410にて取得したユーザ識別情報に対応する端末装置3の要求情報受信部33に、ステップS1410にて取得した要求情報を送信する(ステップS1411)。
次に、要求情報受信部33が、ネットワーク2を通じて、要求情報送信部13より、要求情報を取得し(ステップS1412)、ステップS1412にて取得した要求情報を描画し、表示装置25に表示し(ステップS1413)、ステップS1401からステップS1413までの一連の処理を終了する。
以上が、端末装置3より類似ユーザ情報の取得を要求する取得要求を受信した際の、サーバ装置1による類似ユーザ情報提供処理の説明である。
まず、取得要求送信部32が、入力部34より、コンテンツの推薦を要求する操作を受信し(ステップS1501)、端末装置3を利用中のユーザを識別するユーザ識別情報を用いて、推薦コンテンツの取得を要求する取得要求を作成し(ステップS1502)、ネットワーク2を通じて、取得要求受信部12に、ステップS1502にて作成した取得要求を送信する(ステップS1503)。
次に、取得要求受信部12が、ネットワーク2を通じて、取得要求送信部32より、取得要求を受信し(ステップS1504)、推薦コンテンツ選択部17に、ステップS1504にて受信した取得要求を送信する(ステップS1505)。
次に、推薦コンテンツ選択部17が、取得要求受信部12より、取得要求を受信する(ステップS1506)。
次に、推薦コンテンツ選択部17が、コンテンツ情報格納部22より、ステップS1508にて取得した全てのcontent_idに対応するcontent_infoを取得する(ステップS1509)。
次に、要求情報送信部13が、推薦コンテンツ選択部17より、ユーザ識別情報と要求情報とを受信し(ステップS1511)、ネットワーク2を通じて、ステップS1511にて取得したユーザ識別情報に対応する端末装置3の要求情報受信部33に、ステップS1511にて取得した要求情報を送信する(ステップS1512)。
次に、要求情報受信部33が、ネットワーク2を通じて、要求情報送信部13より、要求情報を取得し(ステップS1513)、ステップS1513にて取得した要求情報を描画し、表示装置25に表示し(ステップS1514)、ステップS1501からステップS1514の一連の処理を終了する。
ステップS1507において、推薦コンテンツ選択部17が、類似度格納部20より、ステップS1506にて受信した取得要求のユーザ識別情報に対応するユーザ(一のユーザ)における類似ユーザのユーザ識別情報とsimilarityとを取得する。類似ユーザのユーザ識別情報取得には、user_id_1とuser_id_2のどちらか一方に、一のユーザのユーザ識別情報を含む組合せの中から、similarityが所定値以上のuser_id_1とuser_id_2を選択し、一のユーザ以外のユーザ識別情報を、類似ユーザのユーザ識別情報として取得する。若しくは、user_id_1とuser_id_2のどちらか一方に、ステップS1506にて受信した取得要求のユーザ識別情報を含むものの中から、similarityの高い順に所定数のuser_id_1とuser_id_2を選択し、一のユーザ以外のユーザ識別情報を、類似ユーザのユーザ識別情報として取得する。
以上が、端末装置3より推薦コンテンツの取得を要求する取得要求を受信した際の、サーバ装置1によるコンテンツ推薦処理の説明である。
以下に、本発明の実施形態について、図を用いて詳細に説明する。
図24は、本発明の第2の実施形態におけるサーバ装置4の構成図である。本発明のシステム全体の構成は、図1の本発明の第1の実施形態におけるシステム全体の構成図において、サーバ装置1を、図24のサーバ装置4で置き換えたものである。
サーバ装置4は、本発明の第1の実施形態のサーバ装置1と、構成が変わっているものの、同様の機能を有する。
利用情報受信部11、取得要求受信部12、要求情報送信部13、利用頻度値算出部14、類似ユーザ情報選択部16、推薦コンテンツ選択部17、嗜好情報格納部18、ノルム格納部19、類似度格納部20、ユーザ情報格納部21、コンテンツ情報格納部22に関しては、第1の実施形態と同様である。
ここで、類似度算出部215の構成を図26のブロック図を用いて説明する。図26に示すように、類似度算出部215は、コサイン類似度算出部2150、通常ノルム算出部151、補正ノルム算出部152、追加ノルム2乗補正値算出部153、更新ノルム2乗補正値算出部154、通常内積算出部2155、補正内積算出部2156、追加内積補正値算出部2157、更新内積補正値算出部2158、内積算出補助値算出部2159との構成である。
コサイン類似度算出部2150は、通常ノルム算出部2151、補正ノルム算出部2152、通常内積算出部155、補正内積算出部156とデータのやり取りを行いながら、嗜好情報格納部18に記憶されている複数の嗜好情報や、ノルム格納部19に記憶されているユーザ識別情報に対する嗜好ベクトルのノルムや、類似度格納部20に記憶されている2ユーザ間の類似性を数値化した類似度等を用いて、コサイン距離を用いた類似度を算出する。そして、類似度格納部20に、類似度算出対象の2ユーザに対応する2つのユーザ識別情報と、算出した類似度とを関連付けて記憶する。そして、全類似度算出対象の2ユーザ間の類似度算出が終わると、嗜好情報格納部18において、stateが「1」、または、「2」の全ての嗜好情報に対して、valueの値をnew_valueの値に置き換え、new_valueの値を消去し、stateを「0」とする。そして、内積算出補助情報格納部223において、p_stateが「1」、または、「2」の全ての内積算出補助情報に対して、productの値をnew#productの値に置き換え、new_productの値を消去し、p_stateを「0」にする。また、stateを用いない場合は、new_valueを消去するだけでよい。また、p_stateを用いない場合は、new_productを消去するだけでよい。
更新内積補正値算出部2158は、類似度算出対象の2ユーザにおいて、内積算出補助情報格納部223にて、p_stateが「1」のみの内積算出補助情報を用いて、更新内積補正値を算出するためのものである。
以上が、類似度算出部215における構成の説明である。
ネットワーク2と端末装置3の構成については、第1の実施形態と同様である。
第2の実施形態におけるサーバ装置4は、ネットワーク2を通じて、複数の端末装置3との情報のやり取りを行いながら、主に、嗜好情報の記憶、類似度の算出、類似ユーザ情報の提供、コンテンツの推薦を行う。
端末装置3より、利用情報を受信した際の、サーバ装置4による嗜好情報を記憶する処理、端末装置3より類似ユーザ情報の取得を要求する取得要求を受信した際の、サーバ装置4による類似ユーザ情報提供処理、端末装置3より推薦コンテンツの取得を要求する取得要求を受信した際の、サーバ装置4によるコンテンツ推薦処理については、第1の実施形態と同様である。
まず、コサイン類似度算出部2150が、内積算出補助値算出部2159と、通常内積算出部2155と、補正内積算出部2156とデータのやり取りを行いながら、内積算出処理を行う(ステップS1601)。次に、ステップS202へ進む。
ステップS202からステップS205までの手順は、本発明の第1の実施形態における所定のタイミングごとに行われる、類似度算出部15による類似度算出処理のステップS202からステップS205までの処理と同様である。ステップS202からステップS205までの処理を終えると、ステップS1606へ進む。
以上が、所定のタイミングごとに行われる、類似度算出部215による類似度算出処理の説明である。
まず、コサイン類似度算出部2150が、内積算出補助値算出部2159にて、内積算出補助値算出処理を行わせる(ステップS1701)。
ステップS1704の通常内積算出処理と、ステップS1705の補正内積算出処理は後ほど詳しく説明する。
以上が、ステップS1601の内積算出処理の説明である。
次に、内積算出補助値算出部2159が、嗜好情報格納部18にて、ステップS1802にて選択したuser_id_1とcontent_idとに対応する嗜好情報のstateを確認し、その値により判定を行う。stateが「0」の場合は、ステップS1804へ進み、stateが「1」、または、「2」の場合は、ステップS1805へ進む(ステップS1803)。尚、stateを用いない場合は、valueが存在し、new_valueが存在しない状態がstate「0」の状態と等しいので、valueとnew_valueの有無で判定することができる。
ステップS1805では、内積算出補助値算出部2159が、嗜好情報格納部18にて、ステップS1802にて選択したuser_id_1とcontent_idとに対応する嗜好情報において、最新の利用頻度値であるnew_valueをvalue1として取得し、ステップS1806へ進む。
ステップS1807では、内積算出補助値算出部2159が、嗜好情報格納部18にて、ステップS1802にて選択したuser_id_2とcontent_idとに対応する嗜好情報において、最新の利用頻度値であるvalueをvalue2として取得し、ステップS1809へ進む。
次に、内積算出補助値算出部2159が、内積算出補助値をvalue1とvalue2との積として算出する(ステップS1809)。
次に、内積算出補助値算出部2159が、ステップS1802にて選択したuser_id_1と、user_id_2と、content_idの組合せに対応する内積算出補助値を算出したことがあるか否かを判定する。算出したことがある場合は、ステップS1812へ進み、算出したことがない場合は、ステップS1811へ進む(ステップS1810)。尚、内積算出補助値を算出したことがあるか否かを判定するには、内積算出補助情報格納部223に、user_id_1と、user_id_2と、content_idの組合せに対応する内積算出補助情報が存在するかを調べればよい。存在する場合は、算出したことがあることを意味し、存在しない場合は、算出したことがないことを示す。
ステップS1812では、内積算出補助値算出部2159が、内積算出補助情報格納部223に、ステップS1802にて選択したuser_id_1と、user_id_2と、content_idとの組合せに対応する内積算出補助情報におけるnew_productにステップS1809にて算出した内積算出補助値を記憶し、p_stateを1とし、ステップS1813へ進む。
次に、内積算出補助値算出部2159が、ステップS1802にて、全てのuser_id_1と、user_id_2と、content_idとの組合せを選択したか否かを判定する。全て選択した場合は、ステップS1801からステップS1813までの一連の処理を終了し、まだ未選択のものが残っている場合は、ステップS1802へ進む(ステップS1813)。
以上が、ステップS1701の内積算出補助値算出部2159による内積算出補助値算出処理の説明である。
本実施形態におけるステップS1704の通常内積算出処理は、本発明の第1の実施形態におけるステップS804の通常内積算出処理のステップS903の処理がステップS1903の処理に置き換わり、ステップS905からステップS911までの処理が、ステップS1905からステップS1906までの処理に置き換わる。
ステップS1903では、通常内積算出部2155が、内積算出補助情報格納部223より、ステップS801にて取得したuser_id_1とuser_id_2の組合せに対応する内積算出補助情報におけるcontent_idを全て抽出する。次に、ステップS904へ進む。内積算出補助情報格納部223には、2ユーザ間の共通コンテンツが全て記憶されているので、本発明の第1の実施形態におけるステップS804の通常内積算出処理におけるステップS903の2ユーザ間の共通コンテンツを抽出する処理に比べ、容易に共通コンテンツを抽出することができる。
次に、通常内積算出部2155が、i_pに、ステップS1905にて取得したproductを加える(ステップS1906)。次に、ステップS912へ進む。
以上が、本実施形態におけるステップS1704の通常内積算出処理の説明である。
次に、ステップS1705の補正内積算出処理について、図31のフローチャートを用いて説明する。本実施形態のステップS1705の補正内積算出処理は、本発明の第1の実施形態におけるステップS805の補正内積算出処理のステップS1004の追加内積補正値算出処理がステップS2004の追加内積補正値算出処理に置き換わり、ステップS1007の更新内積補正値算出処理がステップS2007の更新内積補正値算出処理に置き換わる。
本実施形態におけるステップS2004の追加内積補正値算出処理は、本発明の第1の実施形態におけるステップS1004の追加内積補正値算出処理のステップS1103の処理がステップS2103の処理に置き換わり、ステップS1105からステップS1111までの処理が、ステップS2105からステップS2106までの処理に置き換わる。
ステップS2103では、追加内積補正値算出部2157が、内積算出補助情報格納部223より、ステップS1101にて取得したuser_id_1とuser_id_2の組合せに対応する内積算出補助情報のうち、p_stateが「2」の内積算出補助情報におけるcontent_idを抽出する。この条件を満たす共通コンテンツは、前回の類似度算出以降に新たに追加されたため、内積が変化する。また、この条件を満たさない2ユーザ間の内積は、後述するステップS2007の更新内積補正値算出処理にて算出されるか、または、前回の類似度算出時の内積から変化がないため、改めて内積を算出する必要がない。また、予め共通コンテンツが記憶されている内積算出補助情報格納部223より、2ユーザ間の共通コンテンツを探すため、本発明の第1の実施形態におけるステップS1004の補正内積算出処理におけるステップS1103の2ユーザ間の共通コンテンツを抽出する処理に比べ、容易に共通コンテンツを抽出することができる。尚、p_stateを用いない場合は、new_productのみ存在する状態がp_state「2」の状態を示すので、new_productとproductの存在の有無で判定することができる。
ステップS2106では、追加内積補正値算出部2157が、Δn_i_pにステップS2105にて取得したnew_productを加算する。
次に、ステップS2007の更新内積補正値算出処理について、図33を用いて説明する。
ステップS2206では、更新内積補正値算出部2158が、Δu_i_pにステップS2205にて取得したnew_productから、ステップS2205にて取得したproductを引いたものを加算する。
以上が、本実施形態におけるステップS1705の補正内積算出処理の説明である。
なお、本発明は上述実施形態に限定されることなく、適宜変形して実施することができる。例えば、上述においては、端末装置3から送信される利用情報をサーバ装置1に集めて処理を行うようにしているが、端末装置3において上述実施形態のサーバ装置1の処理についても行うようにし、サーバ装置1を省略することも可能である。具体的には、端末装置3同士で利用情報を交換できるようにし、端末装置3にサーバ装置1の各部を追加した上で、端末装置3にて、上述実施形態においてサーバ装置1の処理として説明した処理を行ってもよい。この場合更に、ある端末装置3aにおいて、全てのユーザの組合せに対する類似度を計算するのではなく、端末装置3aを利用するユーザと、他のユーザとの組合せに限定して、ユーザ間の類似度の計算を行うようにしてもよい。
10 制御部
11 利用情報受信部
12 取得要求受信部
13 要求情報送信部
14 利用頻度値算出部
15,215 類似度算出部
16 類似ユーザ情報選択部
17 推薦コンテンツ選択部
18 嗜好情報格納部
19 ノルム格納部
20 類似度格納部
21 ユーザ情報格納部
22 コンテンツ情報格納部
2 ネットワーク
3a,3b,3n 端末装置
31 利用情報送信部
32 取得要求送信部
33 要求情報受信部
34 入力部
35 表示部
150,2150 コサイン類似度算出部
151 通常ノルム算出部
152 補正ノルム算出部
153 追加ノルム2乗補正値算出部
154 更新ノルム2乗補正値算出部
155,2155 通常内積算出部
156,2156 補正内積算出部
157,2157 追加内積補正値算出部
158,2158 更新内積補正値算出部
223 内積算出補助情報格納部
2159 内積算出補助値算出部
Claims (16)
- コンテンツを利用する利用者における、コンテンツに対する利用状況に関する情報である利用情報を受信し、前記利用情報を用いて、利用者間の類似度を計算する利用者情報処理装置において、
所定の時点までに受信した前記利用情報に基づいて、各コンテンツに対する利用頻度を示す数値である利用頻度値の2乗を利用者ごとに加算した値を用いて算出されたノルム関連値を格納するノルム格納部と、
前記所定の時点以降に受信した前記利用情報に基づいて、前記所定の時点からの利用者ごとの前記ノルム関連値の変化量を示すノルム2乗補正値を計算する第1の補正値計算部と、
前記ノルム関連値と前記ノルム2乗補正値とを用いて新規ノルム関連値を利用者ごとに計算し、前記新規ノルム関連値を用いて、利用者のうちの任意の2人の間の類似度を計算する類似度算出部と
を備えることを特徴とする利用者情報処理装置。 - 前記受信した利用情報に基づいて、利用者を識別するユーザ識別情報と、コンテンツを識別するコンテンツ識別情報と、前記利用者の前記コンテンツに対する利用の有無を少なくとも示す利用頻度値とを関連付けて格納する嗜好情報格納部を更に備え、
前記嗜好情報格納は、前記所定の時点における利用頻度値である第1の利用頻度値と、前記第1の利用頻度値が前記所定の時点以降に値が更新された場合の更新後の利用頻度値である第2の利用頻度値と、前記所定の時点では格納されておらず、それ以降に新たに追加された利用頻度値である第3の利用頻度値とをそれぞれ格納し、
前記第1の補正値計算部は、
前記嗜好情報格納部に格納されている利用頻度値の内から各利用者の前記第3の利用頻度値を抽出し、前記第3の利用頻度値の2乗を利用者ごとに加算した追加ノルム2乗補正値を計算する追加ノルム2乗補正値算出部と、
前記嗜好情報格納部に格納されている利用頻度値の内から各利用者の前記第2の利用頻度値と、それに対応する前記第1の利用頻度値とを抽出し、前記第2の利用頻度値の2乗を利用者ごとに加算した値から前記第1の利用頻度値の2乗を利用者ごとに加算した値を減算した値である更新ノルム2乗補正値を計算する更新ノルム2乗補正値算出部と、
前記追加ノルム2乗補正値と前記更新ノルム2乗補正値とを加算して前記ノルム2乗補正値を算出する第1の統合補正値計算部とを有することを特徴とする請求項1に記載の利用者情報処理装置。 - 前記2人の利用者の前記利用頻度値の内積値を計算する通常内積算出部を更に備え、
前記類似度算出部は、前記内積値と、前記新規ノルム関連値とを用いて前記2人の利用者の間の類似度を計算することを特徴とする請求項1または請求項2に記載の利用者情報処理装置。 - 前記所定の時点までに受信した前記利用情報に基づく前記利用頻度値を用いて、前記通常内積算出部により算出された内積値である利用者間内積値を格納する内積値格納部と、
前記所定の時点以降に受信した前記利用情報に基づいて、前記所定の時点からの前記2人の利用者の前記利用者間内積値の変化量を示す内積補正値を計算する第2の補正値計算部とを更に備え、
前記類似度算出部は、前記ノルム関連値と前記ノルム2乗補正値とを用いて新規ノルム関連値を利用者ごとに計算し、前記利用者間内積値と前記内積補正値とを加算した値を用いて新規内積値を計算すると共に、前記新規ノルム関連値と前記新規内積値とを用いて、前記2人の利用者の間の類似度を計算することを特徴と請求項3に記載の利用者情報処理装置。 - 前記受信した利用情報に基づいて、利用者を識別するユーザ識別情報と、コンテンツを識別するコンテンツ識別情報と、前記利用者の前記コンテンツに対する利用の有無を少なくとも示す利用頻度値とを関連付けて格納する嗜好情報格納部を更に備え、
前記嗜好情報格納部は、前記所定の時点における利用頻度値である第1の利用頻度値と、前記第1の利用頻度値が前記所定の時点以降に値が更新された場合の更新後の利用頻度値である第2の利用頻度値と、前記所定の時点では格納されておらず、それ以降に新たに追加された利用頻度値である第3の利用頻度値をそれぞれ格納し、
前記第2の補正値計算部は、
前記嗜好情報格納部に格納されている利用頻度値の内から各利用者の前記第3の利用頻度値を抽出し、前記2人の利用者の利用頻度値の内積値であり、その少なくとも一方の利用者の利用頻度値が前記第3の利用頻度値の内積値である追加内積補正値とをそれぞれ計算する追加内積補正値算出部と、
前記嗜好情報格納部に格納されている利用頻度値の内から各利用者の前記第2の利用頻度値と、それに対応する前記第1の利用頻度値とを抽出し、前記2人の利用者の利用頻度値の内積値であり、その一方の利用者の利用頻度値が前記第2の利用頻度値であり、かつ他方の利用者の利用頻度値が前記第1の利用頻度値または前記第2の利用頻度値である内積値から、前記2人の利用者の前記第1の利用頻度値の内積値を減算した値である更新内積補正値とをそれぞれ計算する更新内積補正値算出部と、
前記追加内積補正値と前記更新内積補正値を加算して前記内積補正値を算出する第2の統合補正値計算部とを有することを特徴とする請求項4に記載の利用者情報処理装置。 - 前記所定の時点までに前記2人の利用者の両方が利用したコンテンツの前記コンテンツ識別情報と、前記2人の利用者の前記第1の利用頻度値の積である内積算出補助値とを関連付けて格納する内積算出補助情報格納部を更に備え、
前記更新内積補正値算出部は、前記嗜好情報格納部を参照しながら、前記2人の利用者の利用頻度値の内積値であり、その一方の利用者の利用頻度値が前記第2の利用頻度値であり、かつ他方の利用者の利用頻度値が前記第1の利用頻度値または前記第2の利用頻度値である第1の内積値を算出すると共に、前記第1の内積値を算出する際に用いたコンテンツに対応する前記内積算出補助値を前記内積算出補助情報格納部から読み出して、それらの総和である第2の内積値を算出し、前記第1の内積値から前記第2の内積値を減算した値を更新内積補正値とすることを特徴とする請求項5に記載の利用者情報処理装置。 - 前記2人の利用者の両方が利用したコンテンツの前記コンテンツ識別情報と、前記2人の利用者の前記利用頻度値の積である内積算出補助値とを関連づけて格納する内積算出補助情報格納部をさらに備え、
前記内積算出補助情報格納部は、前記2人の利用者の前記第1の利用頻度値の積である第1の内積算出補助値と、前記2人の利用者の内の一方の利用者の前記利用頻度値が前記第2の利用頻度値であり、かつ他方の利用者の利用頻度値が前記第1の利用頻度値または前記第2の利用頻度値である場合の利用頻度値の積である第2の内積算出補助値と、前記2人の利用者の内の少なくとも一方の利用者の前記利用頻度値が前記第3の利用頻度値である場合の利用頻度値の積である第3の内積算出補助値とを識別可能なように格納し、
前記追加内積補正値算出部は、前記第3の内積算出補助値の総和である前記追加内積補正値を計算し、
前記更新内積補正値算出部は、前記第2の内積算出補助値の総和から前記第1の内積算出補助値の総和を減算した値を前記更新内積補正値として計算することを特徴とする請求項5に記載の利用者情報処理装置。 - 前記類似度算出部は、前記新規内積値を新たな利用者間内積値として前記内積値格納部に格納させることを特徴とする請求項4〜請求項7のいずれか一項に記載の利用者情報処理装置。
- 前記類似度算出部は、前記新規ノルム関連値を新たなノルム関連値として前記ノルム格納部に格納させることを特徴とする請求項1〜請求項8のいずれか一項に記載の利用者情報処理装置。
- 前記ノルム格納部は、所定の条件を満たすコンテンツを対象にして算出された前記ノルム関連値を格納し、
前記第1の補正値計算部は、前記所定の条件を満たすコンテンツを対象にして、前記ノルム2乗補正値を計算することを特徴とする請求項1〜請求項9のいずれか一項に記載の利用者情報処理装置。 - 利用者を識別するユーザ識別情報と、ユーザ属性情報とを対応させて格納するユーザ情報格納部と、
前記類似度算出部で計算された前記一の利用者との前記類似度が所定値以上の他の利用者、または前記類似度が高い順に所定数の他の利用者の前記ユーザ識別情報を選択する類似ユーザ情報選択部と
を更に備えることを特徴とする請求項1〜請求項10のいずれか一項に記載の利用者情報処理装置。 - コンテンツを識別するコンテンツ識別情報と、コンテンツ属性情報とを対応させて格納するコンテンツ情報格納部と、
前記類似度算出部で計算された前記一の利用者との前記類似度が所定値以上の他の利用者、または前記類似度が高い順に所定数の他の利用者の前記ユーザ識別情報を選択する類似ユーザ情報選択部と、
前記類似ユーザ情報選択部で選択されたユーザ識別情報と対応する前記利用頻度値が利用ありの状態を示すコンテンツを対象にして所定個数の前記コンテンツ識別情報を選択する推薦コンテンツ選択部と、
を更に備えることを特徴とする請求項1〜請求項11のいずれか一項に記載の利用者情報処理装置。 - コンテンツを識別するコンテンツ識別情報と、コンテンツ属性情報とを対応させて格納するコンテンツ情報格納部と、
前記類似度算出部で計算された前記一の利用者との前記他の利用者との類似度が大きいほど、かつ前記他の利用者の利用頻度値が大きいほど大きな値となる適合度をコンテンツごとに計算すると共に、前記適合度が所定値以上のコンテンツの前記コンテンツ識別情報、または前記適合度が大きな順に所定個数の前記コンテンツ識別情報を選択する推薦コンテンツ選択部と、
を更に備えることを特徴とする請求項1〜請求項11のいずれか一項に記載の利用者情報処理装置。 - コンテンツを利用する利用者における、コンテンツに対する利用状況に関する情報である利用情報を受信し、その利用情報を用いて、利用者間の類似度を計算する利用者情報処理装置において、
利用情報を格納する格納部と、
前記利用者情報処理装置が所定の時点に利用情報を受信した後に、前記所定の時点より前の時点から前記格納部に格納されている利用情報と、前記所定の時点に受信した利用情報とに基づいて、前記所定の時点に受信した利用情報に係る利用者における類似度を計算する計算部と
を備えることを特徴とする利用者情報処理装置。 - コンテンツを利用する利用者における、コンテンツに対する利用状況に関する情報である利用情報を受信し、前記利用情報を用いて、利用者間の類似度を計算する利用者情報処理方法において、
所定の時点までに受信した前記利用情報に基づいて、各コンテンツに対する利用頻度を示す数値である利用頻度値の2乗を利用者ごとに加算した値を用いて算出されたノルム関連値をノルム格納部に格納させるノルム格納ステップと、
前記所定の時点以降に受信した前記利用情報に基づいて、前記所定の時点からの利用者ごとの前記ノルム関連値の変化量を示すノルム2乗補正値を計算する第1の補正値計算ステップと、
前記ノルム関連値と前記ノルム2乗補正値とを用いて新規ノルム関連値を利用者ごとに計算し、前記新規ノルム関連値を用いて、利用者のうちの任意の2人の間の類似度を計算する類似度算出ステップと
を有することを特徴とする利用者情報処理方法。 - コンテンツを利用する利用者における、コンテンツに対する利用状況に関する情報である利用情報を受信し、前記利用情報を用いて、利用者間の類似度を計算する利用者情報処理装置のコンピュータを、
所定の時点までに受信した前記利用情報に基づいて、各コンテンツに対する利用頻度を示す数値である利用頻度値の2乗を利用者ごとに加算した値を用いて算出されたノルム関連値をノルム格納部に格納させるノルム格納手段、
前記所定の時点以降に受信した前記利用情報に基づいて、前記所定の時点からの利用者ごとの前記ノルム関連値の変化量を示すノルム2乗補正値を計算する第1の補正値計算手段、
前記ノルム関連値と前記ノルム2乗補正値とを用いて新規ノルム関連値を利用者ごとに計算し、前記新規ノルム関連値を用いて、利用者のうちの任意の2人の間の類似度を計算する類似度算出手段、
として機能させることを特徴とする利用者情報処理プログラム。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2010199725A JP5429116B2 (ja) | 2010-09-07 | 2010-09-07 | 利用者情報処理装置、利用者情報処理方法、及び利用者情報処理プログラム |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2010199725A JP5429116B2 (ja) | 2010-09-07 | 2010-09-07 | 利用者情報処理装置、利用者情報処理方法、及び利用者情報処理プログラム |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2012058894A true JP2012058894A (ja) | 2012-03-22 |
JP5429116B2 JP5429116B2 (ja) | 2014-02-26 |
Family
ID=46055946
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2010199725A Active JP5429116B2 (ja) | 2010-09-07 | 2010-09-07 | 利用者情報処理装置、利用者情報処理方法、及び利用者情報処理プログラム |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP5429116B2 (ja) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2014097589A1 (ja) * | 2012-12-20 | 2014-06-26 | パナソニック株式会社 | 情報提供方法およびプログラム |
JP2018128752A (ja) * | 2017-02-07 | 2018-08-16 | 大日本印刷株式会社 | キャンペーン管理装置及びキャンペーン管理システム |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH1153381A (ja) * | 1997-08-01 | 1999-02-26 | Toshiba Corp | 類似文書検索装置および類似文書検索方法 |
JP2006302097A (ja) * | 2005-04-22 | 2006-11-02 | Matsushita Electric Ind Co Ltd | 協調フィルタ装置 |
JP2007141135A (ja) * | 2005-11-22 | 2007-06-07 | Ntt Communications Kk | 情報処理装置、検索方法およびプログラム |
JP2007323398A (ja) * | 2006-06-01 | 2007-12-13 | Sony Corp | 情報処理装置および方法、プログラム、並びに記録媒体 |
JP2009265754A (ja) * | 2008-04-22 | 2009-11-12 | Ntt Docomo Inc | 情報提供装置、情報提供方法及び情報提供プログラム |
-
2010
- 2010-09-07 JP JP2010199725A patent/JP5429116B2/ja active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH1153381A (ja) * | 1997-08-01 | 1999-02-26 | Toshiba Corp | 類似文書検索装置および類似文書検索方法 |
JP2006302097A (ja) * | 2005-04-22 | 2006-11-02 | Matsushita Electric Ind Co Ltd | 協調フィルタ装置 |
JP2007141135A (ja) * | 2005-11-22 | 2007-06-07 | Ntt Communications Kk | 情報処理装置、検索方法およびプログラム |
JP2007323398A (ja) * | 2006-06-01 | 2007-12-13 | Sony Corp | 情報処理装置および方法、プログラム、並びに記録媒体 |
JP2009265754A (ja) * | 2008-04-22 | 2009-11-12 | Ntt Docomo Inc | 情報提供装置、情報提供方法及び情報提供プログラム |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2014097589A1 (ja) * | 2012-12-20 | 2014-06-26 | パナソニック株式会社 | 情報提供方法およびプログラム |
JPWO2014097589A1 (ja) * | 2012-12-20 | 2017-01-12 | パナソニック インテレクチュアル プロパティ コーポレーション オブ アメリカPanasonic Intellectual Property Corporation of America | 情報提供方法およびプログラム |
US10043198B2 (en) | 2012-12-20 | 2018-08-07 | Panasonic Intellectual Property Corporation Of America | Information providing method and program |
US10699300B2 (en) | 2012-12-20 | 2020-06-30 | Panasonic Intellectual Property Corporation Of America | Information providing method and program |
JP2018128752A (ja) * | 2017-02-07 | 2018-08-16 | 大日本印刷株式会社 | キャンペーン管理装置及びキャンペーン管理システム |
Also Published As
Publication number | Publication date |
---|---|
JP5429116B2 (ja) | 2014-02-26 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10405016B2 (en) | Recommending media items based on take rate signals | |
JP5161267B2 (ja) | 画面カスタマイズ支援システム、画面カスタマイズ支援方法、および画面カスタマイズ支援プログラム | |
JP4678546B2 (ja) | 推薦装置および方法、プログラム、並びに記録媒体 | |
US20070055657A1 (en) | System for generating and managing context information | |
US20150350732A1 (en) | Assessing digital content across a communications network | |
JP4370850B2 (ja) | 情報処理装置および方法、プログラム、並びに記録媒体 | |
US11455675B2 (en) | System and method of providing object for service of service provider | |
CN102165473A (zh) | 视频共享站点中的视频推介 | |
JP2012118624A (ja) | コンテンツ提示装置、外部推薦装置およびコンテンツ提示システム | |
US8682746B2 (en) | Techniques for correlating events to digital media assets | |
KR101169170B1 (ko) | 시간에 따라 변화하는 사용자 선호도를 고려한 컨텐츠 추천 방법 | |
JP5971895B2 (ja) | 情報処理方法、表示方法、情報処理装置、端末装置、及びプログラム | |
KR101628054B1 (ko) | 가상 공간 제공 장치 및 방법 | |
KR20170014464A (ko) | 사용자 성향을 고려한 여행 일정 추천 방법,장치 및 컴퓨터 프로그램 | |
JP5892839B2 (ja) | プロファイル生成装置及びプログラム | |
JP5429116B2 (ja) | 利用者情報処理装置、利用者情報処理方法、及び利用者情報処理プログラム | |
JP6079479B2 (ja) | 情報処理装置、情報処理方法、及び情報処理プログラム | |
JP5447307B2 (ja) | 利用者情報処理装置、利用者情報処理方法、及び利用者情報処理プログラム | |
JP6247504B2 (ja) | 検索式作成装置、検索式作成方法、およびプログラム | |
JP2005293384A (ja) | コンテンツレコメンドシステムと方法、及びコンテンツレコメンドプログラム | |
WO2010036164A1 (en) | Double weighted correlation scheme | |
JP6065061B2 (ja) | 情報処理装置、端末装置、情報処理方法、表示方法、情報処理プログラム、及び表示プログラム | |
JP5858127B2 (ja) | 情報選択装置、情報選択方法、端末装置およびコンピュータプログラム | |
JP6856084B2 (ja) | 情報処理装置、コンテンツ制御装置、情報処理方法、及びプログラム | |
JP5429088B2 (ja) | 利用者情報処理装置、利用者情報処理方法、利用者情報処理プログラム |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20120724 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20130726 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20130820 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20130905 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20131017 |
|
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: 20131105 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20131118 |
|
R150 | Certificate of patent or registration of utility model |
Free format text: JAPANESE INTERMEDIATE CODE: R150 Ref document number: 5429116 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
S111 | Request for change of ownership or part of ownership |
Free format text: JAPANESE INTERMEDIATE CODE: R313113 |
|
R350 | Written notification of registration of transfer |
Free format text: JAPANESE INTERMEDIATE CODE: R350 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
S531 | Written request for registration of change of domicile |
Free format text: JAPANESE INTERMEDIATE CODE: R313531 |
|
R350 | Written notification of registration of transfer |
Free format text: JAPANESE INTERMEDIATE CODE: R350 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
S533 | Written request for registration of change of name |
Free format text: JAPANESE INTERMEDIATE CODE: R313533 |
|
R350 | Written notification of registration of transfer |
Free format text: JAPANESE INTERMEDIATE CODE: R350 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |