【文献】
足立貴行,Web検索ログを用いた特定の話題における関心事分析,電子情報通信学会技術研究報告,社団法人電子情報通信学会,2011年5月30日,Vol.111,No.77,p.97−102
(58)【調査した分野】(Int.Cl.,DB名)
【発明を実施するための形態】
【0009】
以下に、本願に係る推定装置、推定方法および推定プログラムを実施するための形態(以下、「実施形態」と呼ぶ)について図面を参照しつつ詳細に説明する。なお、この実施形態により本願に係る推定装置、推定方法および推定プログラムが限定されるものではない。また、以下の実施形態において同一の部位には同一の符号を付し、重複する説明は省略される。
【0010】
〔1.実施形態〕
〔1−1.実施形態に係る推定処理〕
まず、
図1を用いて、実施形態に係る推定処理の一例について説明する。
図1は、実施形態に係る推定システム1による推定処理の一例を示す説明図である。
図1の例では、推定装置100が「ゴルフ」に対するユーザの関心を予測するモデルの要素を用いて「ゴルフ」より詳細なユーザの関心を推定する推定処理が行われる。
【0011】
図1に示すように、推定システム1には、端末装置10A〜10Cと、推定装置100とが含まれる。端末装置10A〜10Cと推定装置100とは、それぞれネットワークと有線または無線により通信可能に接続される。なお、以下では、端末装置10A〜10Cの各装置を区別なく総称する場合には、「端末装置10」と記載する場合がある。
【0012】
端末装置10は、例えば、PC(Personal Computer)や、タブレット型端末や、スマートフォン、携帯電話機、PDA(Personal Digital Assistant)等の情報処理装置である。推定装置100は、ユーザの関心を推定するサーバ装置である。具体的には、推定装置100は、ユーザの関心を予測するモデルの要素を用いてユーザのより詳細な関心を推定する推定処理を実行する。この点について、
図1を用いて詳細に説明する。
【0013】
まず、端末装置10A〜10Cは、それぞれユーザUs1〜Us3に関するユーザ情報を推定装置100に送信する(ステップS1)。例えば、端末装置10A〜10Cは、ユーザ情報として、ユーザUs1〜Us3が検索に用いた検索ワードを推定装置100に送信する。一例としては、端末装置10Aは、ユーザ情報として、ユーザUs1が検索に用いた検索ワード「ドライバー」、「アイアン」、「パター」、「野球選手」を推定装置100に送信する。これにより、推定装置100は、ユーザ情報を端末装置10A〜10Cから受信する。
【0014】
続いて、推定装置100は、「ゴルフ」に対するユーザの関心を予測するモデルを用いて、ユーザUs1〜Us3が「ゴルフ」に関心を有するか否かを推定する(ステップS2)。この点について
図2を用いて詳細に説明する。
図2は、推定装置100による推定処理を説明するための説明図である。一例としては、推定装置100は、「ゴルフ」に対するユーザの関心を予測するモデルとして、
図2に示す線形回帰モデルのモデルm1を用いて、ユーザUs1〜Us3が「ゴルフ」に関心を有するか否かを推定する。「ゴルフ」に対するユーザの関心を予測するモデルm1は、例えば、ゴルフ好きなユーザが検索に用いた検索ワードを機械学習することで生成される。モデルm1の要素x
1〜x
nは、「ゴルフ」に関心を有することを示す説明変数である。例えば、モデルm1の要素x
1は、ゴルフクラブの「ドライバー」に対応する。モデルm1の要素x
2は、ゴルフの打ち方の「バックスイング」に対応する。モデルm1の要素x
2は、ゴルフ選手の「A選手」に対応する。
【0015】
ここで、推定装置100は、モデルm1にユーザUs1が検索に用いた検索ワード「ドライバー」、「アイアン」、「パター」、「野球選手」に関する情報を入力することでユーザUs1が「ゴルフ」に関心を有するか否かを推定する。一例としては、推定装置100は、モデルm1の要素x
1〜x
nのうち検索ワード「ドライバー」、「アイアン」、「パター」、「野球選手」に対応する要素に「1」を代入し、その他の要素に「0」を代入して算出される「y」の値に基づいてユーザUs1が「ゴルフ」に関心を有するか否かを推定する。この例では、推定装置100は、ユーザUs1〜Us3が「ゴルフ」に関心を有すると推定するものとする。
【0016】
続いて、推定装置100は、ユーザUs1〜Us3が「ゴルフ」に関心を有すると推定した場合に、より詳細な関心を推定する処理を実行する。具体的には、推定装置100は、まず、「ゴルフ」に対するユーザの関心を予測するモデルm1の要素x
1〜x
nを取得する(ステップS3)。
【0017】
そして、推定装置100は、取得された要素x
1〜x
nに基づいて、「ゴルフ」より詳細な分野に対するユーザUs1〜Us3の関心を推定する(ステップS4)。
図2の例では、推定装置100は、「ゴルフ」に対するユーザの関心を予測するモデルm1の要素x
1〜x
nを用いて、「ゴルフ」より詳細な分野であるゴルフの「クラブ」、「打ち方」、「選手」に対するユーザUs1〜Us3の関心をそれぞれ推定する。具体的には、推定装置100は、モデルm1の要素x
1〜x
nのうち「クラブ」に対応する要素、「打ち方」に対応する要素、「選手」に対応する要素に基づいて「クラブ」、「打ち方」、「選手」に対するユーザUs1の関心をそれぞれ推定する。より具体的には、モデルm1の要素x
1〜x
nのうちユーザUs1のユーザ情報に対応する要素に基づいて「クラブ」、「打ち方」、「選手」に対するユーザの関心を推定する。例えば、推定装置100は、モデルm1の要素x
1〜x
nのうち「クラブ」に対応する要素と、ユーザUs1が検索に用いた検索ワードとが一致する数に基づいて、「クラブ」に対応する要素のスコア「4」を算出する。一例としては、推定装置100は、クラブの「ドライバー」に対応する要素x
1とユーザUs1が検索に用いた検索ワード「ドライバー」とが一致するので「クラブ」に対応する要素のスコアに「1」を加算する。そして、推定装置100は、ユーザUs1のユーザ情報に含まれる全ての検索ワードを対象としてこのような計算を実行することで「クラブ」に対応する要素のスコア「4」を算出する。同様に、推定装置100は、ユーザUs1のユーザ情報を用いて「打ち方」に対応する要素のスコア「1」を算出する。また、推定装置100は、ユーザUs1のユーザ情報を用いて「選手」に対応する要素のスコア「2」を算出する。そして、推定装置100は、スコアが高い要素に対応する分野ほどユーザが強く関心を持つ分野として推定する。
図2の例では、推定装置100は、「クラブ」に対応する要素のスコアが最も高いので、「クラブ」をユーザUs1が関心を強く有する分野として推定する。
【0018】
同様に、推定装置100は、ユーザUs2のユーザ情報を用いて「クラブ」に対応する要素、「打ち方」に対応する要素、「選手」に対応する要素のスコア「1」、「4」、「3」をそれぞれ算出し、スコアが最も高い要素に対応する「打ち方」をユーザUs2が関心を強く有する分野として推定する。また、推定装置100は、ユーザUs3のユーザ情報を用いて「クラブ」に対応する要素、「打ち方」に対応する要素、「選手」に対応する要素のスコア「2」、「3」、「4」をそれぞれ算出し、スコアが最も高い要素に対応する「選手」をユーザUs3が関心を強く有する分野として推定する。これにより、推定装置100は、「ゴルフ」に関心を有するユーザUs1〜Us3のより詳細な関心分野「クラブ」、「打ち方」、「選手」をそれぞれ推定することができる。このため、推定装置100は、例えば、ユーザUs1に対してゴルフクラブに関する広告を配信させることで広告効果を高めることができる。
【0019】
このように、実施形態に係る推定装置100は、第1の分野に対するユーザの関心を予測するモデルの要素を取得する。また、推定装置100は、取得された要素に基づいて、第1の分野より詳細な第2の分野に対するユーザの関心を推定する。
【0020】
これにより、推定装置100は、第1の分野より詳細な第2の分野に対するユーザの関心を推定することができるので、ユーザの関心を詳細に推定することができる。例えば、推定装置100は、ゴルフ好きなユーザがゴルフの中の分野のうちどの分野に関心があるかを推定することができるので、ユーザの関心をより詳細に推定することができる。一例としては、推定装置100は、同じゴルフ好きのユーザでもゴルフのクラブに関心があるのか、ゴルフの打ち方に関心があるのか、ゴルフの選手に関心があるのかをユーザ毎に詳細に推定することができる。
【0021】
また、推定装置100は、第1の分野に対するユーザの関心を予測するモデルの要素を用いて第1の分野より詳細な第2の分野に対するユーザの関心を推定することができるので、より詳細なユーザの関心を推定するのに掛かる負担を軽減することができる。例えば、推定装置100は、第2の分野に対するユーザの関心を予測するモデルを新たに生成する場合と比較して、モデルを生成する手間を掛けずに第2の分野に対するユーザの関心を推定することができるので、ユーザの関心を推定するのに掛かる負担を軽減することができる。また、推定装置100は、第1の分野より詳細な無数に存在する第2の分野に対するユーザの関心を予測するモデルを新たに生成する膨大な手間を掛けずにユーザの詳細な関心を推定することができる。
【0022】
また、推定装置100は、第1の分野に対するユーザの関心を予測するモデルの要素を用いて第1の分野より詳細な第2の分野に対するユーザの関心を推定することができるので、第2の分野に対するユーザの関心を高い精度で推定することができる。例えば、推定装置100は、第2の分野より広いカテゴリである第1の分野に対するユーザの関心を予測するモデルの要素を用いるので、学習情報の量が多く統計的に精度の高いモデルの要素を用いることができ、ユーザの関心を高い精度で推定することができる。
【0023】
また、推定装置100は、モデルの要素のうち第2の分野に対応する要素に基づいて第2の分野に対するユーザの関心を推定する。これにより、推定装置100は、第2の分野に関連する要素を用いてユーザの詳細な関心を推定することができるので、ユーザの詳細な関心を高い精度で推定することができる。
【0024】
なお、
図1では、推定システム1に、複数の端末装置10と、1台の推定装置100とが含まれる例を示したが、推定システム1には、複数台の端末装置10と、複数台の推定装置100とが含まれてもよい。
【0025】
また、
図1では、「ゴルフ」に対するユーザの関心を予測するモデルm1が線形回帰モデルである例を示したが、線形回帰モデルに限らず、ロジスティック回帰モデルなど他の各種のモデルであってもよい。
【0026】
〔1−2.実施形態に係る推定装置の構成〕
次に、
図3を用いて、実施形態に係る推定装置100の構成について説明する。
図3は、実施形態に係る推定装置100の構成例を示す図である。
図3に示すように、推定装置100は、通信部110と、記憶部120と、制御部130とを有する。なお、推定装置100は、推定装置100を利用する管理者等から各種操作を受け付ける入力部(例えば、キーボードやマウス等)や、各種情報を表示するための表示部(例えば、液晶ディスプレイ等)を有してもよい。
【0027】
(通信部110について)
通信部110は、NIC(Network Interface Card)等によって実現される。具体的には、通信部110は、ネットワークと有線または無線で接続され、ネットワークを介して、端末装置10との間で情報の送受信を行う。一例としては、通信部110は、端末装置10からユーザ情報を受信する通信を行なう。
【0028】
(記憶部120について)
記憶部120は、例えば、RAM(Random Access Memory)、フラッシュメモリ(Flash Memory)等の半導体メモリ素子、または、ハードディスク、光ディスク等の記憶装置によって実現される。記憶部120は、ユーザ情報記憶部121と、モデル情報記憶部122と、関心情報記憶部123と、分類情報記憶部124とを有する。
【0029】
(ユーザ情報記憶部121について)
ユーザ情報記憶部121は、ユーザに関する情報を記憶する。具体的には、ユーザ情報記憶部121は、ユーザ毎に、ユーザが検索に用いた検索ワードに関する情報を記憶する。ここで、
図4に、実施形態に係るユーザ情報記憶部121の一例を示す。
図4に示すように、ユーザ情報記憶部121は、「ユーザID」および「検索ワード」といった項目を有する。
【0030】
「ユーザID」は、ユーザを識別するための識別情報を示す。例えば、「ユーザID」には、ユーザに付与される固有の文字列などが記憶される。「検索ワード」は、ユーザが過去に検索に用いたキーワードを示す。例えば、「検索ワード」には、ユーザによって検索サイトの検索ウィンドウに入力され検索に用いられた文字列などが記憶される。
【0031】
すなわち、
図4では、ユーザID「Us1」によって識別されるユーザは、「ドライバー」、「アイアン」、「パター」、「野球選手」といったキーワードを用いて過去に検索を行なった例を示している。
【0032】
(モデル情報記憶部122について)
モデル情報記憶部122は、第1の分野に対するユーザの関心を予測するモデルに関する情報を記憶する。具体的には、モデル情報記憶部122は、第1の分野毎に、モデルを形成する要素に関する情報を記憶する。ここで、
図5に、実施形態に係るモデル情報記憶部122の一例を示す。
図5に示すように、モデル情報記憶部122は、「第1の分野」および「要素」といった項目を有する。
【0033】
「第1の分野」は、モデルの予測対象を識別するための識別情報を示す。例えば、「第1の分野」には、ユーザの関心対象となる分野の名称が記憶される。「要素」は、モデルを形成する要素の重みを示す。例えば、「要素」には、予測対象の分野に関連するキーワードの重みが記憶される。なお、「要素」は、第1の分野より詳細な第2の分野に分類されて記憶される。
【0034】
すなわち、
図5では、第1の分野「ゴルフ」に対するユーザの関心を予測するモデルは、「ドライバー」、「アイアン」、「パター」、「バックスイング」、「フォロースルー」、「捻転」、「A選手」、「B選手」、「C選手」などといった要素によって形成される例を示している。また、要素「ドライバー」の重みは、「1.2」である例を示している。また、「ドライバー」、「アイアン」、「パター」の要素は、分野「クラブ」に分類される例を示している。また、「バックスイング」、「フォロースルー」、「捻転」の要素は、分野「打ち方」に分類される例を示している。また、「A選手」、「B選手」、「C選手」の要素は、分野「選手」に分類される例を示している。
【0035】
(関心情報記憶部123について)
関心情報記憶部123は、ユーザの関心に関する情報を記憶する。具体的には、関心情報記憶部123は、ユーザ毎に、第2の分野に対する関心に関する情報を記憶する。ここで、
図6に、実施形態に係る関心情報記憶部123の一例を示す。
図6に示すように、関心情報記憶部123は、「ユーザID」および「第2の分野」といった項目を有する。
【0036】
「ユーザID」は、ユーザを識別するための識別情報を示す。例えば、「ユーザID」には、ユーザに付与される固有の文字列などが記憶される。「第2の分野」は、第1の分野より詳細な分野に対する関心のスコアを示す。例えば、「第2の分野」には、第2の分野に対応する要素に基づいて算出される関心のスコアが記憶される。一例としては、関心のスコアは、第2の分野に対応する要素とユーザが検索に用いた検索ワードとが一致する数に基づいて算出される。
【0037】
すなわち、
図6では、ユーザID「Us1」によって識別されるユーザは、「クラブ」に対する関心のスコアが「4」である例を示している。また、ユーザID「Us1」によって識別されるユーザは、「打ち方」に対する関心のスコアが「1」である例を示している。また、ユーザID「Us1」によって識別されるユーザは、「選手」に対する関心のスコアが「2」である例を示している。すなわち、
図6では、ユーザID「Us1」によって識別されるユーザは、ゴルフの打ち方やゴルフ選手よりゴルフクラブに強い関心を有する例を示している。
【0038】
(分類情報記憶部124について)
分類情報記憶部124は、ユーザが属する分類に関する情報を記憶する。具体的には、分類情報記憶部124は、ユーザ毎に、ユーザの関心が高い分野に関する情報を記憶する。ここで、
図7に、実施形態に係る分類情報記憶部124の一例を示す。
図7に示すように、分類情報記憶部124は、「ユーザID」および「カテゴリ」といった項目を有する。
【0039】
「ユーザID」は、ユーザを識別するための識別情報を示す。例えば、「ユーザID」には、ユーザに付与される固有の文字列などが記憶される。「カテゴリ」は、ユーザの関心が高い分野を示す。例えば、「カテゴリ」には、第1の分野より詳細な第2の分野が記憶される。
【0040】
すなわち、
図7では、ユーザID「Us1」によって識別されるユーザは、「クラブ」に対する関心が高い例を示している。また、ユーザID「Us2」によって識別されるユーザは、「打ち方」に対する関心が高い例を示している。また、ユーザID「Us3」によって識別されるユーザは、「選手」に対する関心が高い例を示している。
【0041】
(制御部130について)
図3に戻り、制御部130は、例えば、CPU(Central Processing Unit)やMPU(Micro Processing Unit)等によって、推定装置100内部の記憶装置に記憶されている各種プログラム(推定プログラムの一例に相当)がRAMを作業領域として実行されることにより実現される。また、制御部130は、例えば、ASIC(Application Specific Integrated Circuit)やFPGA(Field Programmable Gate Array)等の集積回路により実現される。
【0042】
制御部130は、
図3に示すように、受信部131と、取得部132と、推定部133と、分類部134とを有し、以下に説明する情報処理の機能や作用を実現または実行する。なお、制御部130の内部構成は、
図3に示した構成に限られず、後述する推定処理を行う構成であれば他の構成であってもよい。また、制御部130が有する各処理部の接続関係は、
図3に示した接続関係に限られず、他の接続関係であってもよい。
【0043】
(受信部131について)
受信部131は、ユーザに関するユーザ情報を端末装置10から受信する。具体的には、受信部131は、ユーザ情報として、ユーザが検索に用いた検索ワードなどを端末装置10から受信する。また、受信部131は、端末装置10からユーザ情報を受信した場合に、受信したユーザ情報をユーザ情報記憶部121に格納する。例えば、受信部131は、ユーザ情報を、ユーザ毎に個別に付与されたユーザIDに対応付けてユーザ情報記憶部121に格納する。
【0044】
(取得部132について)
取得部132は、第1の分野に対するユーザの関心を予測するモデルの要素を取得する。具体的には、取得部132は、モデル情報記憶部122を参照し、第1の分野に対するユーザの関心を予測するモデルの要素を取得する。例えば、取得部132は、ユーザ情報を機械学習によって学習することで生成された第1の分野に対するユーザの関心を予測するモデルの要素を取得する。一例としては、取得部132は、ユーザが検索に用いた検索ワードを機械学習によって学習することで生成された第1の分野に対するユーザの関心を予測する線形回帰モデルやロジスティック回帰モデルなどの説明変数を取得する。
【0045】
(推定部133について)
推定部133は、第1の分野に対するユーザの関心を予測するモデルを用いて、ユーザが第1の分野に関心を有するか否かを推定する。具体的には、推定部133は、第1の分野に対して関心を有するユーザが検索に用いた検索ワードを機械学習することで生成されるモデルを用いて、ユーザが第1の分野に関心を有するか否かを推定する。例えば、推定部133は、かかるモデルにユーザが検索に用いた検索ワードに関する情報を入力することでユーザが第1の分野に関心を有するか否かを推定する。一例としては、推定部133は、かかるモデルの要素のうち検索ワードに対応する要素に「1」を代入し、その他の要素に「0」を代入して算出される「y」の値に基づいてユーザが第1の分野に関心を有するか否かを推定する。
【0046】
また、推定部133は、取得部132によって取得された要素に基づいて、第1の分野より詳細な第2の分野に対するユーザの関心を推定する。具体的には、推定部133は、第1の分野に対するユーザの関心を予測するモデルの要素のうちユーザのユーザ情報に対応する要素に基づいて第2の分野に対するユーザの関心を推定する。また、推定部133は、モデルの要素のうち第2の分野に対応する要素に基づいて第2の分野に対するユーザの関心を推定する。また、推定部133は、モデルの要素のうち第1の分野に対してユーザが関心を有することを示す要素に基づいて第2の分野に対するユーザの関心を推定する。例えば、推定部133は、ユーザが検索に用いた検索ワードを示すユーザ情報を用いて、モデルの要素のうち重みが正の値の要素であって第2の分野に対応する要素のスコアを算出する。一例としては、推定部133は、ユーザが検索に用いた検索ワードを参照し、モデルの要素のうち第2の分野に対応する要素とユーザが検索に用いた検索ワードとが一致する数に基づいて第2の分野に対応する要素のスコアを算出する。そして、推定部133は、算出したスコアが高い要素に対応する分野ほどユーザが強く関心を持つ分野として推定する。なお、推定部133は、第1の分野に対してユーザが関心を有する場合に、第2の分野に対するユーザの関心を推定する。
【0047】
(分類部134について)
分類部134は、推定部133によって推定された第2の分野にユーザを分類する。例えば、分類部134は、第2の分野に対応する要素のうちユーザのユーザ情報に対応する要素の比率に基づいてユーザを分類する。一例としては、分類部134は、第2の分野に対応する要素とユーザが検索に用いた検索ワードとが一致する数が最も多い第2の分野にユーザを分類する。そして、分類部134は、分類したユーザを第2の分野に対応付けて分類情報記憶部124に格納する。
【0048】
〔1−3.実施形態に係る推定処理手順〕
次に、
図8を用いて、実施形態に係る推定システム1による処理の手順について説明する。
図8は、実施形態に係る推定システム1による推定処理手順を示すフローチャートである。
【0049】
図8に示すように、まず、推定装置100は、端末装置10からユーザ情報を受信する(ステップS101)。例えば、推定装置100は、ユーザ情報として、第1の分野に関心を有するユーザが検索に用いた検索ワードを端末装置10から受信する。そして、推定装置100は、受信したユーザ情報をユーザ情報記憶部121に格納する(ステップS102)。
【0050】
続いて、推定装置100は、第1の分野に対するユーザの関心を予測するモデルを用いて、ユーザが第1の分野に関心を有するか否かを推定する(ステップS103)。例えば、推定装置100は、第1の分野に対するユーザの関心を予測するモデルにユーザが検索に用いた検索ワードに関する情報を入力することでユーザが第1の分野に関心を有するか否かを推定する。
【0051】
続いて、推定装置100は、第1の分野に対するユーザの関心を予測するモデルの要素を取得する(ステップS104)。例えば、推定装置100は、第1の分野に対してユーザが関心を有すると推定された場合に、モデル情報記憶部122を参照し、ユーザ情報を機械学習によって学習することで生成された第1の分野に対するユーザの関心を予測するモデルの要素を取得する。
【0052】
続いて、推定装置100は、取得部132によって取得された要素に基づいて、第1の分野より詳細な第2の分野に対するユーザの関心を推定する(ステップS105)。具体的には、推定装置100は、第1の分野に対するユーザの関心を予測するモデルの要素のうち第2の分野に対応する要素に基づいて第2の分野に対するユーザの関心を推定する。例えば、推定装置100は、第1の分野に対してユーザが関心を有する場合に、第2の分野に対するユーザの関心を推定する。
【0053】
その後、推定装置100は、推定部133によって推定された第2の分野にユーザを分類する(ステップS106)。例えば、推定装置100は、第2の分野に対応する要素のうちユーザのユーザ情報に対応する要素の比率に基づいてユーザを分類する。そして、推定装置100は、分類したユーザを第2の分野に対応付けて分類情報記憶部134に格納する(ステップS107)。
【0054】
〔1−4.実施形態の効果〕
上述してきたように、実施形態に係る推定装置100は、取得部132と、推定部133とを有する。取得部132は、第1の分野に対するユーザの関心を予測するモデルの要素を取得する。推定部133は、取得部132によって取得された要素に基づいて、第1の分野より詳細な第2の分野に対するユーザの関心を推定する。
【0055】
これにより、推定装置100は、第1の分野より詳細な第2の分野に対するユーザの関心を推定することができるので、ユーザの関心を詳細に推定することができる。例えば、推定装置100は、ゴルフ好きなユーザがゴルフの中の分野のうちどの分野に関心があるかを推定することができるので、ユーザの関心をより詳細に推定することができる。一例としては、推定装置100は、同じゴルフ好きのユーザでもゴルフのクラブに関心があるのか、ゴルフの打ち方に関心があるのか、ゴルフの選手に関心があるのかをユーザ毎に詳細に推定することができる。
【0056】
また、推定装置100は、第1の分野に対するユーザの関心を予測するモデルの要素を用いて第1の分野より詳細な第2の分野に対するユーザの関心を推定することができるので、より詳細なユーザの関心を推定するのに掛かる負担を軽減することができる。例えば、推定装置100は、第2の分野に対するユーザの関心を予測するモデルを新たに生成する場合と比較して、モデルを生成する手間を掛けずに第2の分野に対するユーザの関心を推定することができるので、ユーザの関心を推定するのに掛かる負担を軽減することができる。また、推定装置100は、第1の分野より詳細な無数に存在する第2の分野に対するユーザの関心を予測するモデルを新たに生成する膨大な手間を掛けずにユーザの詳細な関心を推定することができる。
【0057】
また、実施形態に係る推定装置100において、推定部133は、モデルの要素のうちユーザのユーザ情報に対応する要素に基づいて第2の分野に対するユーザの関心を推定する。これにより、推定装置100は、ユーザに関する情報と対応付けてユーザの詳細な関心を推定することができるので、ユーザの詳細な関心を高い精度で推定することができる。
【0058】
また、実施形態に係る推定装置100において、推定部133は、モデルの要素のうち第2の分野に対応する要素に基づいて第2の分野に対するユーザの関心を推定する。これにより、推定装置100は、第2の分野に関連する要素を用いてユーザの詳細な関心を推定することができるので、ユーザの詳細な関心を高い精度で推定することができる。
【0059】
また、実施形態に係る推定装置100において、推定部133は、モデルの要素のうち第1の分野に対してユーザが関心を有することを示す要素に基づいて第2の分野に対するユーザの関心を推定する。これにより、推定装置100は、ユーザの詳細な関心を高い精度で推定することができる。
【0060】
また、実施形態に係る推定装置100において、推定部133は、第1の分野に対してユーザが関心を有する場合に、第2の分野に対するユーザの関心を推定する。これにより、推定装置100は、第1の分野に対して関心を有するユーザの詳細な分野に対する関心を推定することができるので、ユーザが有する関心をより明確にすることができる。
【0061】
また、推定装置100は、第1の分野に対するユーザの関心を予測するモデルの要素を用いて第1の分野より詳細な第2の分野に対するユーザの関心を推定することができるので、第2の分野に対するユーザの関心を高い精度で推定することができる。例えば、推定装置100は、第2の分野より広いカテゴリである第1の分野に対するユーザの関心を予測するモデルの要素を用いるので、学習情報の量が多く統計的に精度の高いモデルの要素を用いることができ、ユーザの関心を高い精度で推定することができる。
【0062】
また、実施形態に係る推定装置100は、推定部133によって推定された第2の分野にユーザを分類する分類部134をさらに備える。これにより、推定装置100は、ユーザが関心を有する分野にユーザを分類することができるので、ユーザを適したカテゴリに分類することができる。例えば、推定装置100は、ユーザを適したカテゴリに分類することで、ユーザに適した広告を配信するなどユーザに効果的な対応を実行することができる。
【0063】
また、実施形態に係る推定装置100において、分類部134は、第2の分野に対応する要素のうちユーザのユーザ情報に対応する要素の比率に基づいてユーザを分類する。これにより、推定装置100は、ユーザが複数の分野に関心を有する場合でもユーザを適したカテゴリに分類することができる。
【0064】
〔2.変形例〕
上述した実施形態に係る推定装置100は、上記実施形態以外にも種々の異なる形態にて実施されてよい。そこで、以下では、上記の推定装置100の他の実施形態について説明する。
【0065】
〔2−1.バイリニア〕
上記の実施形態では、推定装置100が取得部132によって取得された要素に基づいて、第1の分野より詳細な第2の分野に対するユーザの関心を推定する例を挙げて説明した。ここで、推定装置100は、複数の要素を組み合わせた要素群に基づいてユーザの関心を推定してもよい。
【0066】
具体的には、推定装置100の推定部133は、複数の要素を組み合わせた要素群に基づいて要素群に対応する第2の分野に対するユーザの関心を推定する。例えば、推定装置100は、ドライブに対して関心を有するユーザを対象とする場合に、複数の要素として景色と渋滞とを組み合わせた要素群に基づいて経路に対する関心を推定する。ここで、かかるユーザのユーザ情報は、景色が綺麗な経路は好きだが渋滞のある経路は嫌いであることを示すものとする。また、かかるユーザのユーザ情報は、渋滞があっても景色が綺麗な経路を好むものとする。この場合、推定装置100は、かかるユーザのより詳細な関心として、渋滞はあるけれども景色の綺麗な経路を推定する。これにより、推定装置100は、例えば、ユーザがカーナビゲーションで経路検索をする場合に、かかるユーザに適した経路である渋滞はあるけれども景色の綺麗な経路を提案することができる。
【0067】
このように、変形例に係る推定装置100は、複数の要素を組み合わせた要素群に基づいて要素群に対応する第2の分野に対するユーザの関心を推定する。これにより、推定装置100は、複数の要素を組み合わせた要素群に基づいてユーザの関心を推定することができるので、より細かい粒度でユーザの関心を推定することができる。例えば、推定装置100は、複数の要素を組み合わせることでより表現力のある素性に基づいてユーザの関心を推定することができるので、ユーザの関心を的確に推定することができる。
【0068】
なお、推定装置100は、2つの要素に限らず、3つ以上の要素を組み合わせた要素群に基づいて第2の分野に対するユーザの関心を推定してもよい。これにより、推定装置100は、より細かい粒度でユーザの関心を推定することができるので、ユーザの関心をより的確に推定することができる。
【0069】
〔2−2.モデルの質拡張〕
上記の実施形態では、推定装置100が第1の分野に対するユーザの関心を予測するモデルの要素を取得する例を挙げて説明した。ここで、推定装置100は、所定の条件を満たす場合に、質を拡張したモデルの要素を取得してもよい。
【0070】
具体的には、推定装置100の取得部132は、モデルによって予測される第1の分野に対するユーザの関心の精度が所定の閾値未満である場合に学習情報を拡張することでモデルを補正し、補正したモデルの要素を取得する。例えば、推定装置100は、第1の分野に関連する学習情報であって種別が異なる学習情報を用いて機械学習を行なうことでモデルを補正し、補正したモデルの要素を取得する。
【0071】
このように、変形例に係る推定装置100は、モデルによって予測される第1の分野に対するユーザの関心の精度が所定の閾値未満である場合に学習情報を拡張することでモデルを補正し、補正したモデルの要素を取得する。これにより、推定装置100は、モデルの質を拡張することができるので、第2の分野に対するユーザの関心を高い精度で推定することができる。例えば、推定装置100は、質の高いモデルの要素を用いて第2の分野に対するユーザの関心を推定することができるので、第2の分野に対するユーザの関心をより高い精度で推定することができる。
【0072】
〔2−3.時系列解析〕
上記の実施形態では、推定装置100が推定部133によって推定された第2の分野にユーザを分類する例を挙げて説明した。ここで、推定装置100は、所定の期間の要素を用いてユーザを分類してもよい。
【0073】
具体的には、推定装置100の分類部134は、第2の分野に対応する要素のうち所定の期間の要素を用いてユーザを分類する。例えば、推定装置100は、第2の分野に対応する要素と、ユーザが所定の期間に検索で用いた検索ワードとが一致する数が最も多い第2の分野にユーザを分類する。一例としては、推定装置100は、所定の期間として、直近の期間の第2の分野に対応する要素を用いてユーザを分類する。
【0074】
このように、変形例に係る推定装置100は、第2の分野に対応する要素のうち所定の期間の要素を用いてユーザを分類する。これにより、推定装置100は、所定の期間にユーザが関心を有する分野にユーザを分類することができるので、ユーザをより正確な分野に分類することができる。例えば、推定装置100は、直近の期間の要素に基づいてユーザを分類することで現在も関心を有する可能性が高い分野にユーザを分類することができる。また、推定装置100は、所定の期間の要素に基づいた分類を他の期間の要素に基づいた分類と比較することが可能となるので、ユーザが有する関心の分野の時系列変化を把握することができる。このため、推定装置100は、ユーザが次に関心を有する可能性が高い分野を推定することができるので、ユーザの関心の推移を先読みした広告配信などの対応を実行させることができる。
【0075】
〔2−4.重みが負の要素を使用〕
上記の実施形態では、推定装置100がモデルの要素のうち第1の分野に対してユーザが関心を有することを示す要素に基づいて第2の分野に対するユーザの関心を推定する例を挙げて説明した。ここで、推定装置100は、モデルの要素のうち重みが負の値である要素を用いてユーザの関心を推定してもよい。
【0076】
具体的には、推定装置100は、モデルの要素のうち第1の分野に対してユーザが関心を有さないことを示す要素に基づいてユーザの関心を推定する。より具体的には、推定装置100は、モデルの要素のうち重みが負の値である要素を用いてユーザの関心を推定する。例えば、推定装置100は、第1の分野に対してユーザが関心を有する場合に、第1の分野に対するユーザの関心を予測するモデルの要素のうち重みが負の値である要素を用いることで、ユーザが第1の分野に対して関心を有するものの第1の分野より詳細な第2の分野に対しては関心を有さないことを推定する。一例としては、推定装置100は、「ゴルフ」に対してユーザが関心を有する場合であって「ゴルフ」に対するユーザの関心を予測するモデルの要素「日焼け」の重みが負の値である場合、かかるユーザは「ゴルフ」好きであるものの「日焼け」してしまう部分が嫌いであると推定する。
【0077】
このように、推定装置100は、モデルの要素のうち第1の分野に対してユーザが関心を有さないことを示す要素に基づいてユーザの関心を推定する。これにより、推定装置100は、ユーザの関心をより詳細に推定することができる。このため、推定装置100は、ユーザの関心の総合評価とユーザの関心の個々の素性との間のギャップを利用してユーザに働きかけることが可能となるので、ユーザにより適した対応を取ることができる。例えば、推定装置100は、「ゴルフ」好きであるものの「日焼け」してしまう部分が嫌いなユーザに対してゴルフに関連する広告に限らず日焼け止めに関連する広告を配信させることができるので、広告効果を高めることができる。
【0078】
また、推定装置100は、第1の分野に対してユーザが関心を有さない場合には、第1の分野に対するユーザの関心を予測するモデルの要素のうち重みが負の値である要素を用いることで、ユーザが第1の分野に対して関心を有さない理由を推定してもよい。例えば、推定装置100は、「ゴルフ」に対してユーザが関心を有さない場合に、モデルの要素のうち重みが負の値である要素「日焼け」をユーザが「ゴルフ」に対して関心を有さない理由として推定する。
【0079】
他の例では、推定装置100は、推定結果が対立する2つしか存在しない場合に、モデルの要素のうち重みが負の値である要素を用いてユーザの関心を推定する。例えば、政党は、A党及びB党しか存在しないものとする。また、A党を支持する場合はB党を支持しないものとし、B党を支持する場合はA党を支持しないものとする。この場合、推定装置100は、B党に対するユーザの関心を予測するモデルの要素のうち重みが負の値である要素を用いて、A党に対するユーザの関心を推定する。B党に対するユーザの関心を予測するモデルの要素のうち重みが負の値である要素は、B党を支持しない理由であるので、A党を支持する理由であると考えられるからである。
【0080】
このように、変形例に係る推定装置100は、モデルの要素のうち第1の分野に対してユーザが関心を有さないことを示す要素に基づいてユーザの関心を推定する。これにより、推定装置100は、対立する分野に対応する要素に基づいてユーザの関心を推定することができるので、ユーザの関心をより高い精度で推定することができる。
【0081】
〔2−5.広告配信〕
上記の実施形態では、推定装置100が取得部132によって取得された要素に基づいて第1の分野より詳細な第2の分野に対するユーザの関心を推定する例を挙げて説明した。ここで、推定装置100は、推定した第2の分野に対するユーザの関心に基づいて広告を配信してもよい。
【0082】
具体的には、推定装置100は、ユーザが関心を有する第2の分野に関連する内容の広告をかかるユーザに配信する。例えば、推定装置100は、ゴルフクラブに関心を有するユーザがWebページを閲覧する場合に、Webページの広告枠にゴルフクラブに関連する広告が表示されるようにする。
【0083】
このように、変形例に係る推定装置100は、推定した第2の分野に対するユーザの関心に基づいて広告を配信する。これにより、変形例に係る推定装置100は、ユーザのより詳細な関心に基づいて広告等を配信することができるので、広告効果を高めることができる。
【0084】
〔2−6.レコメンデーション〕
上記の実施形態では、推定装置100が取得部132によって取得された要素に基づいて第1の分野より詳細な第2の分野に対するユーザの関心を推定する例を挙げて説明した。ここで、推定装置100は、推定した第2の分野に対するユーザの関心に基づいてレコメンデ―ションを行なってもよい。
【0085】
例えば、推定装置100は、ユーザがオンラインショッピングサイトを閲覧する場合に、ユーザが関心を有する第2の分野に関連する内容の商品を推薦する。一例としては、推定装置100は、ゴルフクラブに関心を有すると推定されたユーザがオンラインショッピングサイトを閲覧する場合に、ゴルフクラブの購入ページへ遷移するリンクが埋め込まれた商品画像がサイトの推薦枠に表示されるようにする。
【0086】
このように、変形例に係る推定装置100は、推定した第2の分野に対するユーザの関心に基づいてレコメンデ―ションを行なう。これにより、推定装置100は、ユーザのより詳細な関心に基づいて商品等の推薦を行なうことができるので、ユーザの商品購入率を高めることができる。
【0087】
また、推定装置100は、ユーザが関心を有すると推定された分野と関連する分野の推薦を行なってもよい。例えば、推定装置100は、「ゴルフクラブ」に関心を有すると推定されたユーザがオンラインショッピングサイトを閲覧する場合に、「ゴルフウェア」の購入ページへ遷移するリンクが埋め込まれた画像がサイトの推薦枠に表示されるようにする。「ゴルフクラブ」に関心を有するユーザは、「ゴルフウェア」にも関心を有する可能性が高いためである。これにより、推定装置100は、ユーザ自身が気づいていない関心のある商品等の推薦を行なうことができるので、ユーザの商品購入率を高めることができる。
【0088】
〔2−7.推定処理〕
上記の実施形態では、推定装置100が第1の分野に対してユーザが関心を有すると推定した場合に第2の分野に対するユーザの関心を推定する例を挙げて説明した。ここで、推定装置100は、第1の分野に対してユーザが関心を有するか否かを推定しなくてもよい。具体的には、推定装置100は、第1の分野に対してユーザが関心を有するか否かを推定せずに、第2の分野に対するユーザの関心を推定してもよい。
【0089】
〔2−8.適用対象〕
上記の実施形態では、推定装置100は、ユーザが関心を有すると推定した分野にユーザを分類する例を挙げて説明した。ここで、推定装置100は、ユーザの分類に限らず、商品の分類に応用してもよい。例えば、推定装置100は、オンラインショッピングサイトで販売される商品のクラスタリングに適用してもよい。これにより、推定装置100は、自動的に商品を分類することができるので、商品の分類を設定する手間を削減することができる。
【0090】
〔2−9.ユーザ情報〕
上記の実施形態では、ユーザ情報の一例としてユーザが検索に用いた検索ワードを採用する例を挙げて説明した。ここで、ユーザ情報は、検索ワードに限らず、ユーザに関する各種の情報から採用されてもよい。例えば、ユーザ情報は、ユーザがオンラインショッピングサイト等で商品を購入した購買履歴や、サービスを利用した利用履歴などから抽出される特徴語が採用されてもよい。他の例では、ユーザ情報は、ユーザが過去に閲覧したWebページの閲覧履歴などから抽出されるキーワードが採用されてもよい。一例としては、ユーザ情報は、ユーザが過去に閲覧したニュース記事に含まれる出現頻度が相対的に高い特徴語などが採用されてもよい。
【0091】
〔2−10.変形例の効果〕
上述してきたように、変形例に係る推定装置100において、分類部134は、第2の分野に対応する要素のうち所定の期間の要素を用いてユーザを分類する。これにより、変形例に係る推定装置100は、所定の期間にユーザが関心を有する分野にユーザを分類することができるので、ユーザをより正確な分野に分類することができる。例えば、推定装置100は、直近の期間の要素に基づいてユーザを分類することで現在も関心を有する可能性が高い分野にユーザを分類することができる。また、推定装置100は、所定の期間の要素に基づいた分類を他の期間の要素に基づいた分類と比較することが可能となるので、ユーザが有する関心の分野の時系列変化を把握することができる。このため、推定装置100は、ユーザが次に関心を有する可能性が高い分野を推定することができるので、ユーザの関心の推移を先読みした広告配信などの対応を実行させることができる。
【0092】
また、変形例に係る推定装置100において、推定部133は、複数の要素を組み合わせた要素群に基づいて要素群に対応する第2の分野に対するユーザの関心を推定する。これにより、変形例に係る推定装置100は、複数の要素を組み合わせた要素群に基づいてユーザの関心を推定することができるので、より細かい粒度でユーザの関心を推定することができる。例えば、推定装置100は、複数の要素を組み合わせることでより表現力のある素性に基づいてユーザの関心を推定することができるので、ユーザの関心を的確に推定することができる。
【0093】
また、変形例に係る推定装置100において、取得部132は、モデルによって予測される第1の分野に対するユーザの関心の精度が所定の閾値未満である場合に学習情報を拡張することでモデルを補正し、補正したモデルの要素を取得する。これにより、変形例に係る推定装置100は、モデルの質を拡張することができるので、第2の分野に対するユーザの関心を高い精度で推定することができる。例えば、推定装置100は、質の高いモデルの要素を用いて第2の分野に対するユーザの関心を推定することができるので、第2の分野に対するユーザの関心をより高い精度で推定することができる。
【0094】
また、変形例に係る推定装置100において、推定部133は、モデルの要素のうち第1の分野に対してユーザが関心を有さないことを示す要素に基づいてユーザの関心を推定する。これにより、推定装置100は、ユーザの関心をより詳細に推定することができる。
【0095】
〔3.その他〕
また、上記実施形態において説明した各処理のうち、自動的に行われるものとして説明した処理の全部または一部を手動的に行うこともでき、あるいは、手動的に行われるものとして説明した処理の全部または一部を公知の方法で自動的に行うこともできる。この他、上記文書中や図面中で示した処理手順、具体的名称、各種のデータやパラメータを含む情報については、特記する場合を除いて任意に変更することができる。
【0096】
また、図示した各装置の各構成要素は機能概念的なものであり、必ずしも物理的に図示の如く構成されていることを要しない。すなわち、各装置の分散・統合の具体的形態は図示のものに限られず、その全部または一部を、各種の負荷や使用状況などに応じて、任意の単位で機能的または物理的に分散・統合して構成することができる。
【0097】
例えば、
図3に示したモデル情報記憶部122は、推定装置100が保持せずに、ストレージサーバ等に保持されてもよい。この場合、推定装置100は、ストレージサーバにアクセスすることで、第1の分野に対するユーザの関心を予測するモデルの要素を取得する。
【0098】
また、推定装置100は、分類処理は行わず、推薦処理のみを行う推定装置であってもよい。この場合、推定装置は、分類部134を有しない。そして、分類部134を有する分類装置がユーザを分類する。
【0099】
また、上述してきた実施形態に係る推定装置100は、例えば
図9に示すような構成のコンピュータ1000によって実現される。以下、推定装置100を例に挙げて説明する。
図9は、推定装置100の機能を実現するコンピュータ1000の一例を示すハードウェア構成図である。コンピュータ1000は、CPU1100、RAM1200、ROM1300、HDD1400、通信インターフェイス(I/F)1500、入出力インターフェイス(I/F)1600、およびメディアインターフェイス(I/F)1700を有する。
【0100】
CPU1100は、ROM1300またはHDD1400に格納されたプログラムに基づいて動作し、各部の制御を行う。ROM1300は、コンピュータ1000の起動時にCPU1100によって実行されるブートプログラムや、コンピュータ1000のハードウェアに依存するプログラム等を格納する。
【0101】
HDD1400は、CPU1100によって実行されるプログラム、および、かかるプログラムによって使用されるデータ等を格納する。通信インターフェイス1500は、ネットワークNを介して他の機器からデータを受信してCPU1100へ送り、CPU1100が生成したデータを、ネットワークNを介して他の機器へ送信する。
【0102】
CPU1100は、入出力インターフェイス1600を介して、ディスプレイやプリンタ等の出力装置、および、キーボードやマウス等の入力装置を制御する。CPU1100は、入出力インターフェイス1600を介して、入力装置からデータを取得する。また、CPU1100は、生成したデータを、入出力インターフェイス1600を介して出力装置へ出力する。
【0103】
メディアインターフェイス1700は、記録媒体1800に格納されたプログラムまたはデータを読み取り、RAM1200を介してCPU1100に提供する。CPU1100は、かかるプログラムを、メディアインターフェイス1700を介して記録媒体1800からRAM1200上にロードし、ロードしたプログラムを実行する。記録媒体1800は、例えばDVD(Digital Versatile Disc)、PD(Phase change rewritable Disk)等の光学記録媒体、MO(Magneto Optical disk)等の光磁気記録媒体、テープ媒体、磁気記録媒体、または半導体メモリ等である。
【0104】
例えば、コンピュータ1000が実施形態に係る推定装置100として機能する場合、コンピュータ1000のCPU1100は、RAM1200上にロードされたプログラムを実行することにより、制御部130の機能を実現する。また、HDD1400には、記憶部120内のデータが格納される。コンピュータ1000のCPU1100は、これらのプログラムを記録媒体1800から読み取って実行するが、他の例として、他の装置からネットワークNを介してこれらのプログラムを取得してもよい。
【0105】
以上、本願の実施形態のいくつかを図面に基づいて詳細に説明したが、これらは例示であり、発明の開示の欄に記載の態様を始めとして、当業者の知識に基づいて種々の変形、改良を施した他の形態で本発明を実施することが可能である。
【0106】
また、上述した推定装置100は、複数のサーバコンピュータで実現してもよく、また、機能によっては外部のプラットフォーム等をAPI(Application Programming Interface)やネットワークコンピューティングなどで呼び出して実現するなど、構成は柔軟に変更できる。
【0107】
また、特許請求の範囲に記載した「部(section、module、unit)」は、「手段」や「回路」などに読み替えることができる。例えば、受信部は、受信手段や受信回路に読み替えることができる。