(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B1)
(11)【特許番号】
(24)【登録日】2023-08-03
(45)【発行日】2023-08-14
(54)【発明の名称】レコメンドサーバ、レコメンド方法およびプログラム
(51)【国際特許分類】
G06Q 50/10 20120101AFI20230804BHJP
【FI】
G06Q50/10
(21)【出願番号】P 2022206461
(22)【出願日】2022-12-23
【審査請求日】2022-12-27
【早期審査対象出願】
(73)【特許権者】
【識別番号】507009009
【氏名又は名称】株式会社博報堂DYホールディングス
(74)【代理人】
【識別番号】110003476
【氏名又は名称】弁理士法人瑛彩知的財産事務所
(72)【発明者】
【氏名】加藤 博司
(72)【発明者】
【氏名】夏堀 雄太
(72)【発明者】
【氏名】堂上 研
【審査官】松田 岳士
(56)【参考文献】
【文献】特開2017-182663(JP,A)
【文献】特開2007-058398(JP,A)
【文献】特開2021-103542(JP,A)
【文献】特開2013-206407(JP,A)
(58)【調査した分野】(Int.Cl.,DB名)
G06Q 10/00-99/00
(57)【特許請求の範囲】
【請求項1】
コンテンツに対応付けられた因子情報と、ユーザに対応付けられた因子スコア情報とを説明変数とし、反応確率を目的変数として第1の推定モデルを学習させることで生成された第1の学習済み推定モデルを取得する第1のモデル取得部と、
複数の対象コンテンツの各々について、対象コンテンツに対応付けられた因子情報と、対象ユーザに対応付けられた因子スコア情報とを前記第1の学習済み推定モデルに入力して、反応確率を推定する第1の推定部と、
前記複数の対象コンテンツの各々について推定された反応確率に基づいて、前記複数の対象コンテンツの中から1以上の対象コンテンツを抽出する第1の抽出部と
を備え
、
前記因子は、ユーザの潜在的な心理状態を表現するものとして定義された因子であり、
前記対象ユーザに対応付けられた因子スコア情報は、前記対象ユーザが因子を重視する度合いを示す情報である
ことを特徴とするレコメンドサーバ。
【請求項2】
サービスに対応付けられた因子情報と、ユーザに対応付けられた因子スコア情報とを説明変数とし、反応確率を目的変数として第2の推定モデルを学習させることで生成された第2の学習済み推定モデルを取得する第2のモデル取得部と、
複数の対象サービスの各々について、対象サービスに対応付けられた因子情報と、前記対象ユーザに対応付けられた因子スコア情報とを前記第2の学習済み推定モデルに入力して、反応確率を推定する第2の推定部と、
前記複数の対象サービスの各々について推定された反応確率に基づいて、前記複数の対象サービスの中から、前記1以上の対象コンテンツと対応付けられた1以上の対象コンテンツを抽出する第2の抽出部と
をさらに備える、請求項1に記載のレコメンドサーバ。
【請求項3】
前記コンテンツは、ユーザの幸福度を向上させるものとして定義されたアドバイス情報であることを特徴とする、請求項1または2に記載のレコメンドサーバ。
【請求項4】
前記第2のモデル取得部は、サービスが属する個別領域ごとに第2の学習済み推定モデルを取得し、
前記第2の推定部は、前記複数の対象サービスの各々について、対象サービスに対応付けられた因子情報と、前記対象ユーザに対応付けられた因子スコア情報とを、当該対象サービスが属する個別領域について取得された第2の学習済み推定モデルに入力して、反応確率を推定する
ことを特徴とする、請求項2に記載のレコメンドサーバ。
【請求項5】
前記1以上の対象コンテンツのうち、いずれかが前記対象ユーザにより選択されると、前記対象ユーザに対応付けられた因子スコア情報であって、当該選択された対象コンテンツに対応付けられた因子のスコア情報を更新する更新部をさらに備える、請求項1または2に記載のレコメンドサーバ。
【請求項6】
前記第1のモデル取得部は、前記更新された因子スコア情報を説明変数として前記第1の推定モデルに学習させることで、前記第1の学習済み推定モデルを更新することを特徴とする、請求項
5に記載のレコメンドサーバ。
【請求項7】
前記第1の推定部はさらに、複数の対象サービスの各々について、対象サービスに対応付けられた因子情報と、前記更新された因子スコア情報とを前記第1の学習済み推定モデルに入力して、反応確率を推定することを特徴とする、請求項
5に記載のレコメンドサーバ。
【請求項8】
コンピュータにより実行されるレコメンド方法であって、
コンテンツに対応付けられた因子情報と、ユーザに対応付けられた因子スコア情報とを説明変数とし、反応確率を目的変数として第1の推定モデルを学習させることで生成された第1の学習済み推定モデルを取得するステップと、
複数の対象コンテンツの各々について、対象コンテンツに対応付けられた因子情報と、対象ユーザに対応付けられた因子スコア情報とを前記第1の学習済み推定モデルに入力して、反応確率を推定するステップと、
前記複数の対象コンテンツの各々について推定された反応確率に基づいて、前記複数の対象コンテンツの中から1以上の対象コンテンツを抽出するステップと
を有
し、
前記因子は、ユーザの幸福度を向上させるものとして定義された因子であり、
前記対象ユーザに対応付けられた因子スコア情報は、前記対象ユーザが因子を重視する度合いを示す情報である
ことを特徴とするレコメンド方法。
【請求項9】
サービスに対応付けられた因子情報と、ユーザに対応付けられた因子スコア情報とを説明変数とし、反応確率を目的変数として第2の推定モデルを学習させることで生成された第2の学習済み推定モデルを取得するステップと、
複数の対象サービスの各々について、対象サービスに対応付けられた因子情報と、前記対象ユーザに対応付けられた因子スコア情報とを前記第2の学習済み推定モデルに入力して、反応確率を推定するステップと、
前記複数の対象サービスの各々について推定された反応確率に基づいて、前記複数の対象サービスの中から、前記1以上の対象コンテンツと対応付けられた1以上の対象コンテンツを抽出するステップと
をさらに有する、請求項
8に記載のレコメンド方法。
【請求項10】
前記コンテンツは、ユーザの幸福度を向上させるものとして定義されたアドバイス情報であることを特徴とする、請求項
8または
9に記載のレコメンド方法。
【請求項11】
前記第2の学習済み推定モデルを取得するステップは、サービスが属する個別領域ごとに第2の学習済み推定モデルを取得するステップであり、
前記反応確率を推定するステップは、前記複数の対象サービスの各々について、対象サービスに対応付けられた因子情報と、前記対象ユーザに対応付けられた因子スコア情報とを、当該対象サービスが属する個別領域について生成された第2の学習済み推定モデルに入力して、反応確率を推定するステップである
ことを特徴とする、請求項
9に記載のレコメンド方法。
【請求項12】
前記1以上の対象コンテンツのうち、いずれかが前記対象ユーザにより選択されると、前記対象ユーザに対応付けられた因子スコア情報であって、当該選択された対象コンテンツに対応付けられた因子のスコア情報を更新するステップをさらに有する、請求項
8または
9に記載のレコメンド方法。
【請求項13】
前記更新された因子スコア情報を説明変数として前記第1の推定モデルに学習させることで、前記第1の学習済み推定モデルを更新するステップをさらに有することを特徴とする、請求項
12に記載のレコメンド方法。
【請求項14】
複数の対象サービスの各々について、対象サービスに対応付けられた因子情報と、前記更新された因子スコア情報とを前記第1の学習済み推定モデルに入力して、反応確率を推定するステップをさらに有することを特徴とする、請求項
12に記載のレコメンド方法。
【請求項15】
コンピュータを、請求項1または2に記載の各部として機能させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、レコメンドサーバ、レコメンド方法およびプログラムに関する。
【背景技術】
【0002】
本技術分野の背景技術を開示する文献として、特開2011-175362号公報(特許文献1)がある。この公報には、「推薦エンジン:ユーザの嗜好(Preference)又はユーザのコンテンツに対するアクション等に基づいてコンテンツを推薦するシステムモジュール。」と記載されている(段落0028参照)。
【0003】
この公報には、より具体的には、「まず、解析部120により、記憶部110の属性テーブルに記憶されているコンテンツの基本属性が取得される(ステップS102)。次に、解析部120は、PLSA又はLDAによる確率的分類法に従って、基本属性の属性値に基づいて、拡張属性の属性値を算出する(ステップS104)。解析部120は、ここで算出した拡張属性の属性値を属性テーブルに格納する。」と記載されている(段落0102参照)。また、この公報には、「まず、推薦部140により、記憶部110が保持している属性テーブルに記憶されている属性値を用いて、ユーザに推薦すべきコンテンツが選択される(ステップS202)。」と記載されている(段落0106参照)。すなわち、この公報には、PLSAにより属性値が算出されて属性テーブルに格納され、属性テーブルに記憶されている属性値を用いて、ユーザに推薦すべきコンテンツが選択されることが記載されている。
【先行技術文献】
【特許文献】
【0004】
【発明の概要】
【発明が解決しようとする課題】
【0005】
特許文献1に記載のPLSAは、レコメンドアルゴリズムの1つとして知られている。このPLSAは、ユーザとコンテンツの背後の潜在因子を事後的に(暗黙的に)推定するアルゴリズムである。このようなアルゴリズムを使用するレコメンド方法に対して、本発明は、ユーザとコンテンツを所定の因子に対応付けて、その因子に基づいてコンテンツをレコメンドするための仕組みを提供する。
【課題を解決するための手段】
【0006】
上記課題を解決するために、例えば特許請求の範囲に記載の構成を採用する。
【発明の効果】
【0007】
本発明によれば、ユーザとコンテンツを所定の因子に対応付けて、その因子に基づいてコンテンツをレコメンドするための仕組みを提供することができる。
上記した以外の課題、構成及び効果は、以下の実施形態の説明により明らかにされる。
【図面の簡単な説明】
【0008】
【
図1】
図1は、Matrix Factorizationを用いたレコメンド方法の例を示す。
【
図2】
図2は、全体ドメインと個別ドメインの概念モデルの例を示す。
【
図3】
図3は、全体ドメインと個別ドメインの概念モデルの別の例を示す。
【
図8】
図8は、情報処理システム800の構成の例を示す。
【
図9】
図9は、レコメンドサーバ801の構成の例を示す。
【
図13】
図13は、コンテンツ行動スコア情報1300の例を示す。
【
図15】
図15は、サービス行動スコア情報1500の例を示す。
【
図22】
図22は、全体最適モデルに学習させる入力データの例を示す。
【
図23】
図23は、学習済み全体最適モデルに入力する入力データの例を示す。
【
図24】
図24は、個別最適モデルに学習させる入力データの例を示す。
【
図25】
図25は、学習済み個別最適モデルに入力する入力データの例を示す。
【発明を実施するための形態】
【0009】
1.実施例
以下、本発明の実施例について図面を参照して説明する。
1-1.概要
従来、多くのレコメンドサービスが個別ドメインの中でのレコメンドになっている。例えば
図1は、Matrix Factorizationを用いたレコメンド方法の例を示す。
【0010】
同図に示すレコメンド方法では、評価行列101をユーザの特徴量行列102とアイテムの特徴量行列103に分解する。そして、分解した2つの行列の積をとり、新しい評価行列104を生成する。最後に、生成した新しい評価行列104において値の高いアイテムをレコメンドする。
同図の上段は、商品の購買データに基づいて商品をレコメンドする方法を示しており、下段は、映画の視聴データに基づいて映画をレコメンドする方法を示している。
【0011】
このようなレコメンド方法では、ユーザの嗜好を個別ドメインの行動データから定義する。そのため、ドメインを横断してレコメンドを行うことが難しい。
【0012】
これに対して、本実施例に係るレコメンド方法では、ユーザの潜在的な心理状態を表現する因子、具体的には、人間の幸福の価値観の表現するウェルビーイング因子を利用する。具体的には本レコメンド方法では、事業者側で予め定義されるウェルビーイング因子をユーザ、ウェルビーイングコンテンツ、ウェルビーイングサービスの各々に対応付ける。その上で、ユーザのウェルビーイング最大化の観点から、ウェルビーイングコンテンツを利用した全体ドメイン最適を図り、次にウェルビーイングサービスを利用した個別ドメイン最適を図る。そのため、このレコメンド方法によれば、ドメインを横断してレコメンドを行うことができる。
【0013】
なお、上記のウェルビーイング(well-being)とは、健康で安心なこと、満足できる生活状態、幸福などを意味する用語である。以下の説明では、このウェルビーイングを「WB」と略す場合がある。
【0014】
図2は、全体ドメインと個別ドメインの概念モデルの例を示す。同図に示す概念モデルでは、全体ドメイン201に属するWBコンテンツ202(例えば、「働く」)が、それぞれ、個別ドメイン203に属する1以上のWBサービス204(例えば、「施設環境」)と対応付けられている。
【0015】
この概念モデルを用いて本実施例に係るレコメンド方法について説明すると、まず全体最適として、「働く」に関心が高いユーザに「働く」が推薦される。そして次に、個別最適として、「働く」に関連する具体的なサービスが当該ユーザに推薦される。
【0016】
図3は、全体ドメインと個別ドメインの概念モデルの別の例を示す。同図に示す概念モデルでは、全体ドメイン301に属するWBコンテンツ302が、それぞれ、個別ドメイン303に属する1以上のWBサービス304と対応付けられている。
【0017】
この概念モデルを用いて本実施例に係るレコメンド方法について説明すると、まず全体最適として、WBコンテンツがユーザに推薦される。この際、当該ユーザの関心が高い意識領域が推定される。そして次に、個別最適として、当該WBコンテンツが対応付けられたWBサービスが当該ユーザに推薦される。言い換えると、当該ユーザの関心領域内でさらにWBサービスが推薦される。これにより、当該ユーザのウェルビーイングを向上させる。
【0018】
次に、WB因子について説明する。
図4は、WB因子の例を示す。同図に示す合計21個のWB因子は、カテゴリ「ウェルネス」に属する、活動または身体に関する7個のWB因子と、カテゴリ「ニューネス」に属する、要素または精神に関する7個のWB因子と、カテゴリ「コミュニティ」に属する、状態または社会に関する7個のWB因子からなる。
【0019】
これらのWB因子は、ウェルビーイングの観点から事業者側で潜在因子として予め定義される。言い換えると、これらのWB因子は、ユーザの幸福度を表現するもの、またはユーザの幸福度の価値観を表現するものとして事業者側で予め定義される。
【0020】
これらのWB因子は、ユーザに対応付けられる。具体的な方法としては、まず、サービス登録時にユーザに対してWB因子についてのアンケートを実施する。このアンケートは、各WB因子の重要度をユーザに回答させるものである。このアンケートの詳細については、例えば
図28に示す登録画面2800を参照のこと。
【0021】
そして、アンケートの結果をユーザに対応付けてテーブルに格納する。
図5は、因子スコアテーブルの例を示す。同図に示す因子スコアテーブル500は、ユーザごとに各WB因子のスコアを格納している。
【0022】
次に、WBコンテンツについて説明する。
WBコンテンツは、事業者側で予め定義されるレコメンド用のコンテンツであり、ユーザのその時の興味、関心領域を明らかにするためのコンテンツである。言い換えるとWBコンテンツは、ユーザの幸福度を向上させるものとして予め定義されたアドバイス情報である。このWBコンテンツは、一例として400種類用意される。このWBコンテンツの具体例については、例えば
図29に示すレコメンド画面2900を参照のこと。
【0023】
各WBコンテンツは、それぞれWB因子とテーブルで対応付けられる。WBコンテンツとWB因子を対応付けるテーブルについては、例えば
図16に示すコンテンツ情報1600を参照のこと。
【0024】
次に、WBサービスについて説明する。
WBサービスは、事業者側で予め定義されるレコメンド用の事業者サービスであり、各ユーザのその時の興味、関心領域内のサービスである。このWBサービスの具体例については、例えば
図30に示すレコメンド画面3000を参照のこと。
【0025】
各WBサービスは、それぞれWB因子とテーブルで対応付けられる。WBサービスとWB因子を対応付けるテーブルについては、例えば
図17に示すサービス情報1700を参照のこと。
また各WBサービスは、
図2および
図3に示すように、それぞれWBコンテンツと対応付けられる。
【0026】
次に、本実施例に係るレコメンド方法の流れについて説明する。
本実施例に係るレコメンド方法では、まず、全体ドメインにおいてユーザの興味、関心領域を推定し、WBコンテンツを推薦する。次に、個別ドメインにおいて当該ユーザの興味、関心領域内のWBサービスを推薦する。言い換えると、個別ドメインにおいて、当該ユーザが反応したWBコンテンツに対応付けられたWBサービスを推薦する。
【0027】
このように本実施例に係るレコメンド方法は2段階になっている。これに対して、WBコンテンツを推薦せずに、WBサービスをダイレクトに推薦するレコメンド方法が考えられる。
図6は、前者のレコメンド方法と後者のレコメンド方法の比較例を示す。
【0028】
同図に示すレコメンド方法はいずれも、書籍を推薦する方法である。ただし、段階を踏む推薦601は、まず書籍のジャンルを推薦し、その次に、当該ジャンルに属する書籍を推薦する。これに対して、段階を踏まない推薦602は、書籍のジャンルを推薦せずに、書籍をダイレクトに推薦する。
【0029】
段階を踏む推薦601のような2段階のレコメンド方法は、興味や関心のない可能性があるWBサービスをいきなり推薦するよりは、より曖昧な興味、関心領域から徐々に具体的なWBサービスに絞り込む方が、ユーザが好反応を示すという経験則に基づいている。
【0030】
次に、本実施例に係るレコメンド方法とトピックモデルの差異について説明する。
まずトピックモデルは、レコメンドアルゴリズムの1つであり、ユーザとレコメンドコンテンツの背後の潜在因子を事後的に(暗黙的に)推定するアルゴリズムである。このトピックモデルの代表例であるPLSA(Probabilistic Latent Semantic Analysis)は、
図7のように図示され、また下式により表される。
【数1】
・・・(1)
【0031】
この数式(1)において、P(c
i,g
j)は共起確率を表し、P(z
k)、P(c
i|z
k)およびP(g
j|z
k)は確率変数を表す。また、この数式(1)と
図7において、c
iはユーザ情報を表し、g
jはコンテンツ情報を表し、z
kは潜在因子を表す。
このPLSAは、ユーザ情報とコンテンツ情報(言い換えると、ユーザのコンテンツへの反応情報)からEMアルゴリズム等で、共起確率P(c
i,g
j)を最大化する潜在因子z
kを事後的に(暗黙的に)求める。
【0032】
これに対して、本実施例に係るレコメンド方法では、潜在因子zkに相当する情報を事前に事業者側で定義し、ユーザとコンテンツに対応付ける。その点で本レコメンド方法はPLSAと相違する。
なお、潜在因子zkに相当する情報をユーザに対応付ける方法は、例えばユーザに対する聴取(具体的には、アンケート)によってもよい。一方、潜在因子zkに相当する情報をコンテンツに対応付ける方法は、例えば経験則によってもよい。
【0033】
1-2.構成
次に、実施例に係る情報処理システムについて説明する。
図8は、情報処理システムの構成の例を示す。同図に示す情報処理システム800は、レコメンドサーバ801と複数のユーザ端末802を備える。各構成機器は有線または無線のネットワークを介して接続され、互いに情報を送受信することができる。
【0034】
この情報処理システム800を構成するレコメンドサーバ801は、WBコンテンツとWBサービスをユーザにレコメンドするためのサーバである。
一方、ユーザ端末802は、レコメンドサーバ801が提供するレコメンドサービスを受けるための端末装置である。
【0035】
情報処理システム800の各構成機器は、例えば、スマートフォン、タブレット、携帯電話機、携帯情報端末(PDA)などの携帯端末(モバイル端末)でもよいし、メガネ型や腕時計型、着衣型などのウェアラブル端末でもよい。また、各構成機器は、据置型または携帯型のコンピュータや、クラウドやネットワーク上に配置されるサーバでもよい。また、各構成機器は、機能としてはVR(仮想現実:Virtual Reality)端末、AR(拡張現実:Augmented Reality)端末、MR(複合現実:Mixed Reality)端末でもよい。あるいは、各構成機器は、これらの複数の端末の組合せであってもよい。例えば、1台のスマートフォンと1台のウェアラブル端末との組合せが論理的に一つの端末として機能し得る。また、各構成機器は、これら以外の情報処理端末であってもよい。
【0036】
各構成機器は、それぞれオペレーティングシステムやアプリケーション、プログラムなどを実行するプロセッサと、RAM(Random Access Memory)等の主記憶装置と、ICカードやハードディスクドライブ、SSD(Solid State Drive)、フラッシュメモリ等の補助記憶装置と、ネットワークカードや無線通信モジュール、モバイル通信モジュール等の通信制御部と、タッチパネルやキーボード、マウス、音声入力、カメラ部の撮像による動き検知による入力などの入力装置と、モニタやディスプレイ等の出力装置とを備える。なお、出力装置は、外部のモニタやディスプレイ、プロジェクタ、プリンタ、機器などに、出力するための情報を送信する装置や端子であってもよい。
【0037】
主記憶装置には、各種プログラムやアプリケーションなど(モジュール)が記憶されており、これらのプログラムやアプリケーションをプロセッサが実行することで全体システムの各機能要素が実現される。なお、これらの各モジュールは集積化する等によりハードウェアで実装してもよい。また、各モジュールはそれぞれ独立したプログラムやアプリケーションでもよいが、1つの統合プログラムやアプリケーションの中の一部のサブプログラムや関数などの形で実装されていてもよい。
【0038】
本明細書では、各モジュールが、処理を行う主体(主語)として記載をしているが、実際には各種プログラムやアプリケーションなど(モジュール)を処理するプロセッサが処理を実行する。
【0039】
補助記憶装置には、各種データベース(DB)が記憶されている。「データベース」とは、プロセッサまたは外部のコンピュータからの任意のデータ操作(例えば、抽出、追加、削除、上書きなど)に対応できるようにデータ集合を記憶する機能要素(記憶部)である。データベースの実装方法は限定されず、例えばデータベース管理システムでもよいし、表計算ソフトウェアでもよいし、XML、JSONなどのテキストファイルでもよい。
【0040】
以下、情報処理システム800の構成機器のうち、特にレコメンドサーバ801について詳細に説明する。
【0041】
図9は、レコメンドサーバ801の構成の例を示す。同図に示すレコメンドサーバ801は、例えば、クラウド上に配置された1以上のサーバで構成される。
本サーバの主記憶装置901には、全体最適用のモジュールとして、モデル学習モジュール911、スコアリングモジュール912、リランキングモジュール913、抽出モジュール914、スクリーニングモジュール915、レコメンドモジュール916、行動ログ管理モジュール917等のプログラムが記憶されている。
【0042】
また主記憶装置901には、個別最適用のモジュールとして、モデル学習モジュール921、スコアリングモジュール922、フィルタリングモジュール923、リランキングモジュール924、抽出モジュール925、スクリーニングモジュール926、レコメンドモジュール927、行動ログ管理モジュール928等のプログラムが記憶されている。
【0043】
さらに主記憶装置901には、マイページモジュール931、ユーザ情報管理モジュール932等のプログラムが記憶されている。
以上説明したプログラムをプロセッサ903が実行することでレコメンドサーバ801の各機能要素が実現される。以下、各モジュールについて説明する。
【0044】
モデル学習モジュール911は、WBコンテンツに予め対応付けられたWB因子情報と、ユーザに予め対応付けられたWB因子スコア情報とを説明変数とし、反応確率を目的変数として、推定モデルを学習させる。当該モジュールは、この学習により、学習済み推定モデルを生成し、取得する。
【0045】
このモジュールが学習させる推定モデルは、FM(Factorization Machines)である。FMは以下の特徴を有する。
・FMは、非常にスパースなデータに対しても、信頼できるパラメータ推定が可能な一般的な識別器である。
・FMは、回帰、分類、ランキング問題を解くことが可能である。
・FMは、すべての特徴量同士の交互作用を近似的に考慮可能なモデルである。
・FMは、内部的に計算量を落とす工夫がある。
【0046】
このFMの数式モデルは、一般に下式により表される。
【数2】
・・・(2)
【数3】
・・・(3)
この数式(2)のyおよびxは所与のパラメータであり、vおよびwは推定されるパラメータである。
【0047】
次に、スコアリングモジュール912は、複数のWBコンテンツの各々について、WBコンテンツに予め対応付けられたWB因子情報と、対象ユーザに予め対応付けられたWB因子スコア情報とを学習済み推定モデルに入力して、反応確率を推定する。
【0048】
リランキングモジュール913は、反応確率が推定されたWBコンテンツの中から、対象ユーザが過去に選択したWBコンテンツを除外する。これは、過去にレコメンドしたWBコンテンツを再度レコメンドすることを回避するためである。また当該モジュールは、反応確率が上位のWBコンテンツに類似するものが存在する場合に、それらのうち1以上のWBコンテンツの順番を並び替える。これは、類似するWBコンテンツを一度に複数レコメンドすることを避けるためである。
【0049】
抽出モジュール914は、リランキングされたWBコンテンツの中から、各WBコンテンツについて推定された反応確率に基づいて、1以上のWBコンテンツを抽出する。抽出されるWBコンテンツは、反応確率が上位5位以内のWBコンテンツである。
【0050】
スクリーニングモジュール915は、抽出されたWBコンテンツの中から不適切なものを除外する。ここで、不適切なものとは、対象ユーザのユーザ属性に基づいてルールベースまたはモデルベースで特定されるWBコンテンツのことである。
【0051】
レコメンドモジュール916は、スクリーニングを通過したWBコンテンツを対象ユーザにレコメンドする。
【0052】
行動ログ管理モジュール917は、レコメンドされたWBコンテンツに対する対象ユーザの行動を記録する。
【0053】
モデル学習モジュール921は、WBサービスに予め対応付けられた因子情報と、ユーザに予め対応付けられたWB因子スコア情報とを説明変数とし、反応確率を目的変数として、推定モデルを学習させる。その際、当該モジュールは、個別領域ごとに推定モデルを学習させる。当該モジュールは、この学習により、個別領域ごとに学習済み推定モデルを生成し、取得する。なお、このモジュールが学習させる推定モデルは、FMである。
【0054】
スコアリングモジュール922は、複数のWBサービスの各々について、WBサービスに予め対応付けられた因子情報と、対象ユーザに予め対応付けられたWB因子スコア情報とを学習済み推定モデルに入力して、反応確率を推定する。なお、この推定で用いられる学習済み推定モデルは、WBサービスが属する個別領域に対応するものである。
【0055】
フィルタリングモジュール923は、反応確率が推定されたWBサービスの中から、対象ユーザが選択したWBコンテンツに対応しないWBサービスを除外する。これは、対象ユーザが選択したWBコンテンツと関係のないWBサービスをレコメンドすることを回避するためである。なお、当該ユーザが選択したWBコンテンツに対応しないWBサービスとは、当該ユーザが選択したWBコンテンツと個別領域を共有しないWBサービスのことである。
【0056】
リランキングモジュール924は、フィルタリングされたWBサービスの中から、対象ユーザが過去に選択したWBサービスを除外する。これは、過去にレコメンドしたWBサービスを再度レコメンドすることを回避するためである。また当該モジュールは、反応確率が上位のWBサービスに類似するものが存在する場合に、それらのうち1以上のWBサービスの順番を並び替える。これは、類似するWBサービスを一度に複数レコメンドすることを避けるためである。
【0057】
抽出モジュール925は、リランキングされたWBサービスの中から、各WBサービスについて推定された反応確率に基づいて、1以上のWBサービスを抽出する。抽出されるWBサービスは、反応確率が上位5位以内のWBサービスである。
【0058】
スクリーニングモジュール926は、抽出されたWBサービスの中から不適切なものを除外する。ここで、不適切なものとは、対象ユーザのユーザ属性に基づいてルールベースまたはモデルベースで特定されるWBサービスのことである。
【0059】
レコメンドモジュール927は、スクリーニングを通過したWBサービスを対象ユーザにレコメンドする。
【0060】
行動ログ管理モジュール928は、レコメンドされたWBサービスに対する対象ユーザの行動を記録する。
【0061】
マイページモジュール931は、ユーザの要求に応じてマイページ(
図32参照)をユーザ端末802に表示させる。
【0062】
ユーザ情報管理モジュール932は、ユーザの属性情報とWB因子スコアを管理する。
【0063】
次に、レコメンドサーバ801の補助記憶装置902について説明する。
補助記憶装置902は各種情報を記憶する。具体的には本装置は、ユーザ属性情報1000、因子スコア情報1100、コンテンツ行動ログ1200、コンテンツ行動スコア情報1300、サービス行動ログ1400、サービス行動スコア情報1500、コンテンツ情報1600、サービス情報1700、活動ログ1800等の情報を記憶する。
【0064】
また本装置は、画面データ941、イメージ画像データ942等の各種データを記憶する。
以下、各情報について説明する。
【0065】
図10は、ユーザ属性情報1000の例を示す。同図に示すユーザ属性情報1000は、各ユーザの属性情報を示すテーブル形式の情報である。このユーザ属性情報1000は、ユーザID1001、生年月日1002、性別1003、体重1004、身長1005、興味対象ID1006等のカラムを有する。
【0066】
図11は、因子スコア情報1100の例を示す。同図に示す因子スコア情報1100は、ユーザのWB因子スコアを示すテーブル形式の情報である。この因子スコア情報1100は、ユーザID1101、登録日時1102、因子スコア1103等のカラムを有する。これらのカラムのうち、因子スコア1103には、ユーザがWB因子を重視する度合いを示す値が格納される。格納される値は、一例として、「1」から「5」までの値となる。
この因子スコア情報1100は、ユーザごとに生成される。
【0067】
図12は、コンテンツ行動ログ1200の例を示す。同図に示すコンテンツ行動ログ1200は、レコメンドされたWBコンテンツに対するユーザの行動履歴を示すテーブル形式の情報である。このコンテンツ行動ログ1200は、ユーザID1201、コンテンツID1202、表示位置1203、行動スコア1204、登録日時1205等のカラムを有する。これらのカラムのうち、表示位置1203には、レコメンド画面(
図29参照)おいてWBコンテンツが表示された順位を示す値が格納される。また、行動スコア1204には、WBコンテンツに対するユーザの反応確率を示す値が格納される。具体的には、行動スコア1204には、ユーザがWBコンテンツを選択したことを示す「1」の値、または、ユーザがWBコンテンツを選択しなかったことを示す「0」の値が格納される。
【0068】
このコンテンツ行動ログ1200は、サービス開始当初は、WBコンテンツをランダムでユーザに配信することで蓄積される。そして、行動ログが一定程度蓄積し、モデル学習が可能になったら、学習済みモデルで推定したWBコンテンツを配信することで蓄積される。
【0069】
図13は、コンテンツ行動スコア情報1300の例を示す。同図に示すコンテンツ行動スコア情報1300は、各WBコンテンツについて記録または推定された行動スコアを示すテーブル形式の情報である。この情報では、行動スコアが降順となるようにWBコンテンツがソートされており、WBコンテンツのランキングを示す情報となっている。
【0070】
このコンテンツ行動スコア情報1300は、ユーザID1301、コンテンツID1302、行動スコア1303等のカラムを有する。これらのカラムのうち、行動スコア1303には、WBコンテンツに対するユーザの反応確率を示す値が格納される。格納される値は、一例として、「0」から「1」までの値となる。
このコンテンツ行動スコア情報1300は、ユーザごとに生成される。
【0071】
図14は、サービス行動ログ1400の例を示す。同図に示すサービス行動ログ1400は、レコメンドされたWBサービスに対するユーザの行動履歴を示すテーブル形式の情報である。このサービス行動ログ1400は、ユーザID1401、サービスID1402、表示位置1403、行動スコア1404、登録日時1405等のカラムを有する。これらのカラムのうち、表示位置1403には、レコメンド画面(
図30参照)おいてWBサービスが表示された順位を示す値が格納される。また、行動スコア1404には、WBサービスに対するユーザの反応確率を示す値が格納される。具体的には、行動スコア1404には、ユーザがWBサービスを選択したことを示す「1」の値、または、ユーザがWBサービスを選択しなかったことを示す「0」の値が格納される。
【0072】
このサービス行動ログ1400は、サービス開始当初は、WBサービスをランダムでユーザに配信することで蓄積される。そして、行動ログが一定程度蓄積し、モデル学習が可能になったら、学習済みモデルで推定したWBサービスを配信することで蓄積される。
【0073】
図15は、サービス行動スコア情報1500の例を示す。同図に示すサービス行動スコア情報1500は、各WBサービスについて記録または推定された行動スコアを示すテーブル形式の情報である。この情報では、行動スコアが降順となるようにWBサービスがソートされており、WBサービスのランキングを示す情報となっている。
【0074】
このサービス行動スコア情報1500は、ユーザID1501、サービスID1502、行動スコア1503等のカラムを有する。これらのカラムのうち、行動スコア1503には、WBサービスに対するユーザの反応確率を示す値が格納される。格納される値は、一例として、「0」から「1」までの値をとる。
このサービス行動スコア情報1500は、ユーザごとに生成される。
【0075】
図16は、コンテンツ情報1600の例を示す。同図に示すコンテンツ情報1600は、各WBコンテンツに関する情報を示すテーブル形式の情報である。このコンテンツ情報1600は、コンテンツID1601、内容1602、画像ID1603、因子ID1604、個別領域ID1605等のカラムを有する。これらのカラムのうち、画像ID1603には、WBコンテンツのイメージ画像(
図29参照)のIDが格納される。また、因子ID1604には、WBコンテンツに予め対応付けれたWB因子のIDが格納される。また、個別領域ID1605には、WBコンテンツに予め対応付けれた個別領域のIDが格納される。ここで個別領域とは、WBコンテンツまたはWBサービスが属するカテゴリのことである。このカテゴリには、「眠る」、「食べる」、「遊ぶ」などがある。
【0076】
図17は、サービス情報1700の例を示す。同図に示すサービス情報1700は、各WBサービスに関する情報を示すテーブル形式の情報である。このサービス情報1700は、サービスID1701、内容1702、画像ID1703、因子ID1704、個別領域ID1705等のカラムを有する。これらのカラムのうち、画像ID1703には、WBサービスのイメージ画像(
図30参照)のIDが格納される。また、因子ID1704には、WBサービスに予め対応付けれたWB因子のIDが格納される。また、個別領域ID1705には、WBサービスに予め対応付けれた個別領域のIDが格納される。
【0077】
ここで、WBサービスにWB因子を対応付ける方法について説明する。
第1の方法としては、WBサービスに対応するWBコンテンツのWB因子を、当該WBサービスに対応付けるという方法がある。なお、ここで、WBサービスに対応するWBコンテンツとは、WBサービスと個別領域を共有するWBコンテンツのことである。
第2の方法としては、WBサービスに対応するWBコンテンツのWB因子をピックアップした上で、その中で特に重要なものを人力で対応付けるという方法がある。この第2の方法の方がWBサービスに関係のないWB因子を確実に排除できる点において、第1の方法よりもメリットがある。
【0078】
次に、
図18は、活動ログ1800の例を示す。同図に示す活動ログ1800は、ユーザの日々の活動記録を示すテーブル形式の情報である。この活動ログ1800は、ユーザID1801、登録日時1802、WB度1803、メモ1804等のカラムを有する。これらのカラムのうち、WB度1803には、ユーザの幸福度または満足度を示す値が格納される。また、メモ1804には、ユーザにより日記として記録された情報が格納される。
【0079】
1-3.動作
次に、情報処理システム800の動作について説明する。
1-3-1.レコメンド処理
図19は、レコメンド処理の流れの例を示す。
まずユーザは、レコメンドサービスを受けるにあたり、レコメンドサーバ801に対して事前登録を行う。その際、レコメンドサーバ801のユーザ情報管理モジュール932は、ユーザ端末802に登録画面を表示させる。
【0080】
図26~
図28は、登録画面の例を示す。
図26に示す登録画面2600は、ユーザのプロフィールを登録するための画面である。この画面は、生年月日選択欄2601、性別選択欄2602、体重選択欄2603、身長選択欄2604および続けるボタン2605を有する。この画面においてユーザが生年月日等を選択し、続けるボタン2605を選択すると、次に、
図27に示す登録画面2700が表示される。
【0081】
登録画面2700は、ユーザの興味対象を登録するための画面である。この画面は、興味対象を選択するための複数の選択ボタン2701と、続けるボタン2702を有する。この画面においてユーザが自身の興味対象の選択ボタン2701を選択し、続けるボタン2702を選択すると、次に、
図28に示す登録画面2800が表示される。
【0082】
登録画面2800は、WB因子に関するアンケート画面である。このアンケート画面は、各WB因子の重要度を5段階でユーザに回答させるものである。ユーザが回答した重要度は、WB因子スコアとしてレコメンドサーバ801に登録される。
【0083】
この登録画面2800は、質問ごとに設けられた複数の回答選択欄2801と、続けるボタン2802を有する。この画面においてユーザが質問に対する回答を選択し、続けるボタン2802を選択すると、次のアンケート画面(図示略)が表示される。
【0084】
ユーザが、すべてのWB因子に関する質問に回答し、図示せぬ送信ボタンを選択すると、ユーザ登録が完了する。
なお、ユーザに提示される質問の中には、WB因子に関する質問以外に、ユーザの属性を回答させるものが含まれてもよい。例えば、ユーザの食生活や疾患について回答させるものが質問に含まれてもよい。
【0085】
ユーザにより選択された情報は、レコメンドサーバ801に登録される。その際、レコメンドサーバ801のユーザ情報管理モジュール932は、登録画面2600で選択されたプロフィール情報を、ユーザIDと対応付けてユーザ属性情報1000に追加する(ステップ1901)。ここでプロフィール情報とは、生年月日、性別、体重および身長である。
【0086】
また当該モジュールは、登録画面2700で選択された興味対象のIDを、ユーザIDと対応付けてユーザ属性情報1000に追加する(ステップ1901)。
また当該モジュールは、登録画面2800で選択されたWB因子スコアを、ユーザIDと登録日時とに対応づけて因子スコア情報1100に追加する(ステップ1902)。
以上がユーザ登録についての説明である。
【0087】
次に、行動スコアの更新処理について説明する。
この行動スコアの更新処理は、定期的に実行されるバッチ処理である。この更新処理は、毎日、毎週、毎月等の頻度で実行される。
また、この更新処理は、WBコンテンツとWBサービスの各々について実行される。各更新処理では、推定モデルの学習と、学習した推定モデルに基づく行動スコアの推定が行われる。以下ではまず、WBコンテンツについて実行される更新処理について説明する。
【0088】
レコメンドサーバ801のモデル学習モジュール911は、コンテンツ行動ログ1200等に基づいて全体最適モデルを学習させる(ステップ1903)。その際、当該モジュールは、各ユーザの属性情報および初回のWB因子スコアと各WBコンテンツの因子情報とを説明変数とし、各WBコンテンツに関する行動スコアを目的変数として全体最適モデルを学習させる。当該モジュールは、この学習の結果、学習済み全体最適モデルを生成する。
【0089】
図22は、全体最適モデルに学習させる入力データの例を示す。同図に示す入力データ2200は、FM用のデータフォーマットを採用している。
この入力データ2200は、user2201、item2202、U_WB2203、I_WB2204、Y2205等のカラムを有する。以下、各カラムについて説明する。
【0090】
user2201には、ユーザを識別するためのフラグが格納される。例えば、user1のカラムにフラグ「1」が格納されたレコードは、ユーザ1の行動ログである。
item2202には、WBコンテンツを識別するためのフラグが格納される。例えば、item1のカラムにフラグ「1」が格納されたレコードは、WBコンテンツ1についての行動ログである。
【0091】
U_WB2203には、ユーザのWB因子スコアが格納される。各WB因子スコアはユーザにとってのWB因子の重要度を表し、下記の5段階で表現される。
1:全く思わない
2:あまり思わない
3:どちらとも言えない
4:そう思う
5:非常にそう思う
【0092】
I_WB2204には、WBコンテンツに対応付けられているWB因子を識別するためのフラグが格納される。例えば、あるレコードについてitem1のカラムにフラグ「1」が格納され、I_WB1のカラムにフラグ「1」が格納されている場合には、WBコンテンツ1がWB因子1に対応付けられていることを示している。
なお、1つのWBコンテンツに複数のWB因子が対応付けられてもよい。
【0093】
Y2205には、行動スコアを示すフラグが格納される。格納されるフラグには、WBコンテンツが選択されたことを示すフラグ「1」と、WBコンテンツが選択されていないことを示すフラグ「0」がある。
【0094】
なお、
図22に示す入力データ2200には、ユーザ属性のカラムが含まれていない。しかし、この入力データ2200にユーザ属性のカラムを含めてもよい。これにより、各ユーザの属性情報を説明変数として全体最適モデルに学習させることができる。
【0095】
次に、学習済み全体最適モデルを用いた行動スコアの推定について説明する。
レコメンドサーバ801のスコアリングモジュール912は、生成された学習済み全体最適モデルを用いてスコアリング処理を実行する(ステップ1904)。このスコアリング処理は、ユーザごとに実行される。
【0096】
図20は、このスコアリング処理の例を示す。同図に示すスコアリング処理2000において当該モジュールは、ユーザにレコメンド済みのWBコンテンツの行動スコアをコンテンツ行動スコア情報1300に追加する(ステップ2001)。ここで、ユーザにレコメンド済みのWBコンテンツとは、コンテンツ行動ログ1200において当該ユーザと対応付けられているWBコンテンツのことである。すなわち当該モジュールは、コンテンツ行動ログ1200において当該ユーザと対応付けられているWBコンテンツを特定し、特定したWBコンテンツの行動スコアをコンテンツ行動スコア情報1300に追加する。
【0097】
次に当該モジュールは、ユーザにレコメンド未済のWBコンテンツの行動スコアを、学習済み全体最適モデルを用いて推定する(ステップ2002)。ここで、ユーザにレコメンド未済のWBコンテンツとは、コンテンツ情報1600に含まれるWBコンテンツであって、コンテンツ行動ログ1200において当該ユーザと対応付けられていないWBコンテンツのことである。当該モジュールは、レコメンド未済のWBコンテンツを特定すると、特定したWBコンテンツの因子情報と対象ユーザの属性情報および初回のWB因子スコアを学習済み全体最適モデルに入力し、行動スコアを推定する。当該モジュールは、推定した行動スコアをコンテンツ行動スコア情報1300に追加する。
【0098】
図23は、学習済み全体最適モデルに入力する入力データの例を示す。同図に示す入力データ2300は、FM用のデータフォーマットを採用している。
この入力データ2300は、user2301、item2302、U_WB2303、I_WB2304、Y2305等のカラムを有する。これらのカラムの属性は、上述した入力データ2200の同名のカラムと共通するため、その説明を省略する。なお、この入力データ2300は行動スコアを推定するためのデータであるため、Y2305にはいずれのフラグも格納されていない。
【0099】
ちなみに、
図23に示す入力データ2300には、ユーザ属性のカラムが含まれていない。しかし、この入力データ2300にユーザ属性のカラムを含めてもよい。これにより、対象ユーザの属性情報を説明変数として行動スコアを推定することができる。
【0100】
スコアリングモジュール912は、行動スコアの推定後、コンテンツ行動スコア情報1300のWBコンテンツを行動スコアが降順となるようにソートする(ステップ2003)。この結果、対象ユーザの反応確率が高い順に並べられたWBコンテンツのランキング情報が生成される。
【0101】
次に、WBサービスについて実行される更新処理について説明する。
レコメンドサーバ801のモデル学習モジュール921は、サービス行動ログ1400等に基づいて個別最適モデルを学習させる(ステップ1905)。その際、当該モジュールは、個別領域ごとに個別最適モデルを学習させ、個別領域ごとに学習済み個別最適モデルを生成する。具体的には当該モジュールは、個別領域ごとに、各ユーザの属性情報および初回のWB因子スコアと、当該個別領域に属する各WBコンテンツの因子情報とを説明変数とし、当該各WBコンテンツに関する行動スコアを目的変数として個別最適モデルを学習させる。当該モジュールは、この学習の結果、個別領域ごとに学習済み個別最適モデルを生成する。
【0102】
図24は、個別最適モデルに学習させる入力データの例を示す。同図に示す入力データ2400は、FM用のデータフォーマットを採用している。
この入力データ2400は、user2401、item2402、U_WB2403、I_WB2404、Y2405等のカラムを有する。以下、各カラムについて説明する。
【0103】
user2401には、ユーザを識別するためのフラグが格納される。例えば、user1のカラムにフラグ「1」が格納されたレコードは、ユーザ1の行動ログである。
item2402には、WBサービスを識別するためのフラグが格納される。例えば、item1のカラムにフラグ「1」が格納されたレコードは、WBサービス1についての行動ログである。
【0104】
U_WB2403には、ユーザのWB因子スコアが格納される。各WB因子スコアはユーザにとってのWB因子の重要度を表し、下記の5段階で表現される。
1:全く思わない
2:あまり思わない
3:どちらとも言えない
4:そう思う
5:非常にそう思う
【0105】
I_WB2404には、WBサービスに対応付けられているWB因子を識別するためのフラグが格納される。例えば、あるレコードについてitem1のカラムにフラグ「1」が格納され、I_WB1のカラムにフラグ「1」が格納されている場合には、WBサービス1がWB因子1に対応付けられていることを示している。
なお、1つのWBサービスに複数のWB因子が対応付けられてもよい。
【0106】
Y2405には、行動スコアを示すフラグが格納される。格納されるフラグには、WBサービスが選択されたことを示すフラグ「1」と、WBサービスが選択されていないことを示すフラグ「0」がある。
【0107】
なお、
図24に示す入力データ2400には、ユーザ属性のカラムが含まれていない。しかし、この入力データ2400にユーザ属性のカラムを含めてもよい。これにより、各ユーザの属性情報を説明変数として個別最適モデルに学習させることができる。
【0108】
次に、学習済み個別最適モデルを用いた行動スコアの推定について説明する。
レコメンドサーバ801のスコアリングモジュール922は、生成された学習済み個別最適モデルを用いてスコアリング処理を実行する(ステップ1906)。このスコアリング処理は、ユーザごとに実行される。
【0109】
図21は、このスコアリング処理の例を示す。同図に示すスコアリング処理2100において当該モジュールは、ユーザにレコメンド済みのWBサービスの行動スコアをサービス行動スコア情報1500に追加する(ステップ2101)。ここで、ユーザにレコメンド済みのWBサービスとは、サービス行動ログ1400において当該ユーザと対応付けられているWBサービスのことである。すなわち当該モジュールは、サービス行動ログ1400において当該ユーザと対応付けられているWBサービスを特定し、特定したWBサービスの行動スコアをサービス行動スコア情報1500に追加する。
【0110】
次に当該モジュールは、ユーザにレコメンド未済のWBサービスの行動スコアを、学習済み個別最適モデルを用いて推定する(ステップ2102)。ここで、ユーザにレコメンド未済のWBサービスとは、サービス情報1700に含まれるWBサービスであって、サービス行動ログ1400において当該ユーザと対応付けられていないWBサービスのことである。当該モジュールは、レコメンド未済のWBサービスを特定すると、特定したWBサービスの因子情報と対象ユーザの属性情報および初回のWB因子スコアを学習済み個別最適モデルに入力し、行動スコアを推定する。なお、この推定で用いられる学習済み個別最適モデルは、特定したWBサービスが属する個別領域に対応するものである。
当該モジュールは、推定した行動スコアをサービス行動スコア情報1500に追加する。
【0111】
図25は、学習済み個別最適モデルに入力する入力データの例を示す。同図に示す入力データ2500は、FM用のデータフォーマットを採用している。
この入力データ2500は、user2501、item2502、U_WB2503、I_WB2504、Y2505等のカラムを有する。これらのカラムの属性は、上述した入力データ2400の同名のカラムと共通するため、その説明を省略する。なお、この入力データ2500は行動スコアを推定するためのデータであるため、Y2505にはいずれのフラグも格納されていない。
【0112】
ちなみに、
図25に示す入力データ2500には、ユーザ属性のカラムが含まれていない。しかし、この入力データ2500にユーザ属性のカラムを含めてもよい。これにより、対象ユーザの属性情報を説明変数として行動スコアを推定することができる。
【0113】
スコアリングモジュール922は、行動スコアの推定後、サービス行動スコア情報1500のWBサービスを行動スコアが降順となるようにソートする(ステップ2103)。この結果、対象ユーザの反応確率が高い順に並べられたWBサービスのランキング情報が生成される。
以上が行動スコアの更新処理についての説明である。
【0114】
次に、WBコンテンツのレコメンドフローについて説明する。このレコメンドフローは、レコメンドサーバ801が提供するサイトにユーザがアクセスことで開始される。
【0115】
まず、レコメンドサーバ801のリランキングモジュール913は、対象ユーザのコンテンツ行動スコア情報1300から、当該ユーザが過去に選択したWBコンテンツを除外する(ステップ1907)。これは、過去にレコメンドしたWBコンテンツを再度レコメンドすることを回避するためである。なお、当該ユーザが過去に選択したWBコンテンツとは、コンテンツ行動ログ1200において当該ユーザと行動スコア「1」とに対応付けられているWBコンテンツのことである。
【0116】
また当該モジュールは、行動スコア上位のWBコンテンツに類似するものが存在する場合に、それらのうち1以上のWBコンテンツの順番を並び替える(ステップ1907)。これは、類似するWBコンテンツを一度に複数レコメンドすることを避けるためである。なお、行動スコア上位のWBコンテンツとは、一例として、上位5位以内のWBコンテンツのことである。また、類似するWBコンテンツとは、一例として、個別領域が共通するWBコンテンツのことである。また、順番の並び替えとは、一例として、類似する2つのWBコンテンツのうちの一方を6位以下に降格することである。
【0117】
次に、レコメンドサーバ801の抽出モジュール914は、リランキングされたコンテンツ行動スコア情報1300から、上位5位以内のWBコンテンツを抽出する(ステップ1908)。なお、抽出するWBコンテンツの件数は適宜変更してよい。
【0118】
次に、レコメンドサーバ801のスクリーニングモジュール915は、抽出されたWBコンテンツの中から不適切なものを除外する(ステップ1909)。ここで、不適切なものとは、対象ユーザのユーザ属性情報1000に基づいてルールベースまたはモデルベースで特定されるWBコンテンツのことである。
【0119】
次に、レコメンドサーバ801のレコメンドモジュール916は、スクリーニングを通過したWBコンテンツを対象ユーザにレコメンドする(ステップ1910)。その際、当該モジュールは、コンテンツ情報1600を参照してレコメンド画面を生成し、ユーザ端末802に表示させる。
図29は、レコメンド画面の例を示す。
【0120】
同図に示すレコメンド画面2900は、5件のWBコンテンツ2901を提示している。5件のWBコンテンツ2901は行動スコア順に並べられており、それぞれWBコンテンツの内容2902とイメージ画像2903により構成されている。ユーザはこのレコメンド画面2900を参照することで、自身のウェルビーイングを向上させるためのアドバイスを得ることができる。
【0121】
ユーザがこのレコメンド画面2900において特に関心のあるWBコンテンツ2901を選択すると、WBサービスのレコメンドフローが開始される。また、当該選択に伴い、レコメンドサーバ801の行動ログ管理モジュール917は、選択されたWBコンテンツ2901の情報を、ユーザIDと行動スコア「1」とに対応付けてコンテンツ行動ログ1200に追加する(ステップ1911)。
【0122】
また、当該選択に伴い、ユーザ情報管理モジュール932は、対象ユーザの因子スコア情報1100を更新する(図示略)。具体的には当該モジュールは、選択されたWBコンテンツ2901のWB因子を特定し、特定したWB因子のスコアを、例えば「0.1」インクリメントする。このようにユーザのWB因子スコアは、選択したWBコンテンツ2901に応じて変化する。
【0123】
レコメンド画面2900の説明に戻る。
ユーザはレコメンド画面2900において複数のWBコンテンツ2901を選択することができる。この画面において一定時間ユーザに選択されないWBコンテンツ2901は、コンテンツ行動ログ1200に登録される(ステップ1911)。その際、行動ログ管理モジュール917は、選択されなかったWBコンテンツ2901の情報を、ユーザIDと行動スコア「0」とに対応付けてコンテンツ行動ログ1200に追加する。
以上がWBコンテンツのレコメンドフローについての説明である。
【0124】
次に、WBサービスのレコメンドフローについて説明する。このレコメンドフローは、
図29に例示するレコメンド画面2900においてWBコンテンツ2901が選択されることで開始される。
【0125】
まず、レコメンドサーバ801のフィルタリングモジュール923は、対象ユーザのサービス行動スコア情報1500から、当該ユーザが選択したWBコンテンツに対応しないWBサービスを除外する(ステップ1912)。これは、対象ユーザが選択したWBコンテンツと関係のないWBサービスをレコメンドすることを回避するためである。なお、当該ユーザが選択したWBコンテンツに対応しないWBサービスとは、当該ユーザが選択したWBコンテンツと個別領域を共有しないWBサービスのことである。そのようなWBサービスの識別は、コンテンツ情報1600とサービス情報1700を参照することで行うことができる。
【0126】
なお、フィルタリングモジュール923は、ユーザが選択したWBコンテンツに対応しないWBサービスを除外する代わりに、当該WBサービスの行動スコアを「0」にすることで、当該WBサービスのレコメンドを阻止してもよい。
【0127】
次に、レコメンドサーバ801のリランキングモジュール924は、フィルタリングされたサービス行動スコア情報1500から、当該ユーザが過去に選択したWBサービスを除外する(ステップ1913)。これは、過去にレコメンドしたWBサービスを再度レコメンドすることを回避するためである。なお、当該ユーザが過去に選択したWBサービスとは、サービス行動ログ1400において当該ユーザと行動スコア「1」とに対応付けられているWBサービスのことである。
【0128】
また当該モジュールは、行動スコア上位のWBサービスに類似するものが存在する場合に、それらのうち1以上のWBサービスの順番を並び替える(ステップ1913)。これは、類似するWBサービスを一度に複数レコメンドすることを避けるためである。なお、行動スコア上位のWBサービスとは、一例として、上位5位以内のWBサービスのことである。また、類似するWBサービスとは、一例として、個別領域が共通するWBサービスのことである。また、順番の並び替えとは、一例として、類似する2つのWBサービスのうちの一方を6位以下に降格することである。
【0129】
次に、レコメンドサーバ801の抽出モジュール925は、リランキングされたサービス行動スコア情報1500から、上位5位以内のWBサービスを抽出する(ステップ1914)。なお、抽出するWBサービスの件数は適宜変更してよい。
【0130】
次に、レコメンドサーバ801のスクリーニングモジュール926は、抽出されたWBサービスの中から不適切なものを除外する(ステップ1915)。ここで、不適切なものとは、対象ユーザのユーザ属性情報1000に基づいてルールベースまたはモデルベースで特定されるWBサービスのことである。
【0131】
次に、レコメンドサーバ801のレコメンドモジュール927は、スクリーニングを通過したWBサービスを対象ユーザにレコメンドする(ステップ1916)。その際、当該モジュールは、サービス情報1700を参照してレコメンド画面を生成し、ユーザ端末802に表示させる。
図30は、このレコメンド画面の例を示す。
【0132】
同図に示すレコメンド画面3000は、5件のWBサービス3001を提示している。5件のWBサービス3001は行動スコア順に並べられており、それぞれWBサービスの内容3002とイメージ画像3003により構成されている。ユーザはこのレコメンド画面3000を参照することで、自身のウェルビーイングを向上させるためのサービスを知ることができる。
【0133】
ユーザがこのレコメンド画面3000において特に関心のあるWBサービス3001を選択すると、レコメンドモジュール927は詳細画面をユーザ端末802に表示させる。
図31は、この詳細画面の例を示す。
【0134】
同図に示す詳細画面3100は、WBサービス3001についての詳細説明欄3101と、やってみるボタン3102を有する。この画面においてユーザがやってみるボタン3102を選択すると、WBサービス3001を提供する事業者のサイトに遷移する。
なお、レコメンドモジュール927は、詳細画面3100を表示させずに、レコメンド画面3000から事業者のサイトに直接遷移させてもよい。
【0135】
上記のレコメンド画面3000におけるWBサービス3001の選択に伴い、レコメンドサーバ801の行動ログ管理モジュール928は、選択されたWBサービス3001の情報を、ユーザIDと行動スコア「1」とに対応付けてサービス行動ログ1400に追加する(ステップ1917)。
【0136】
ユーザはレコメンド画面3000において複数のWBサービス3001を選択することができる。この画面において一定時間ユーザに選択されないWBサービス3001は、サービス行動ログ1400に登録される(ステップ1917)。その際、行動ログ管理モジュール928は、選択されなかったWBサービス3001の情報を、ユーザIDと行動スコア「0」とに対応付けてサービス行動ログ1400に追加する。
以上がWBサービスのレコメンドフローについての説明である。
【0137】
以上説明したレコメンド処理によれば、まずWBコンテンツを利用した全体ドメイン最適を図り、次にWBサービスを利用した個別ドメイン最適を図る。これにより、ドメインを横断したレコメンドが可能になる。
【0138】
1-3-2.マイページ表示処理
次に、マイページ表示処理について説明する。
ここでマイページとは、ユーザの日々の活動を表示、記録するための画面である。レコメンドサーバ801のマイページモジュール931は、ユーザの要求に応じてマイページをユーザ端末802に表示させる。その際、当該モジュールは、対象ユーザの因子スコア情報1100と活動ログ1800に基づいてマイページを生成する。
【0139】
図32は、マイページの例を示す。同図に示すマイページ3200は、コンテンツ確認ボタン3201、因子スコア表示領域3202、カレンダー3203、マイページボタン3204およびレコメンドボタン3205を有する。以下、各表示要素について説明する。
【0140】
コンテンツ確認ボタン3201は、WBコンテンツのレコメンド画面(
図29参照)を表示するためのボタンである。
【0141】
因子スコア表示領域3202は、ユーザのWB因子スコアが表示される領域である。この領域には、カテゴリ選択タブ3206~3208、値選択ボタン3209~3211およびレーダーチャート3212が表示される。これらの表示要素のうち、カテゴリ選択タブ3206~3208は、レーダーチャート3212に表示するWB因子のカテゴリを、「ウェルネス」、「ニューネス」、「コミュニティ」の中から選択するためのタブである。値選択ボタン3209~3211は、レーダーチャート3212に表示するWB因子の値を、現在の値(言い換えると、最新の値)、初回アンケートの値(言い換えると、最初に登録された値)、平均値の中から選択するためのボタンである。
ユーザは、この因子スコア表示領域3202を参照することで、自身のWB因子のバランスと変化を確認することができる。
【0142】
カレンダー3203は、ユーザのWB度を日単位で示す。ユーザのWB度はフェイスマーク3213で表現される。
マイページボタン3204は、マイページ3200を表示するためのボタンである。
レコメンドボタン3205は、WBコンテンツのレコメンド画面(
図29参照)を表示するためのボタンである。
【0143】
ユーザが上記のカレンダー3203においていずれかの日付を選択すると、マイページモジュール931は詳細画面をユーザ端末802に表示させる。その際、当該モジュールは、対象ユーザの活動ログ1800、サービス行動ログ1400およびサービス情報1700に基づいて詳細画面を生成する。
図33は、生成される詳細画面の例を示す。
【0144】
同図に示す詳細画面3300は、WB度を示すスライダ3301、メモ表示欄3302および選択サービス表示欄3303を有する。ユーザはこの画面を参照することで、選択した日付のWB度、日記、選択したWBサービスを確認することができる。
【0145】
この詳細画面3300の内容は編集画面で編集することができる。
図34は、編集画面の例を示す。
【0146】
同図に示す編集画面3400は、WB度を指定するためのスライダ3401、メモ入力欄3402および記録ボタン3403を有する。マイページモジュール931は、記録ボタン3403が選択されると、この画面で指定されたWB度と入力されたメモを、ユーザIDと対応付けて活動ログ1800に追加する。
【0147】
2.変形例
上記の実施例は以下のように変形してもよい。
(1)上記の実施例では、WB因子スコアは5段階で評価されている。しかし、この5段階での評価は必須ではない。例えば、WB因子スコアを2段階や10段階で評価してもよい。
【0148】
(2)上記の実施例では、レコメンドされたWBコンテンツまたはWBサービスは、「0」または「1」の2段階で評価されている(
図19のステップ1911参照)。しかし、この2段階での評価は必須ではない。例えば、ユーザにWBコンテンツまたはWBサービスを5段階で評価させ、その評価値を行動ログとして記録してもよい。ここで記録される評価値は、WBコンテンツやWBサービスに対するユーザの反応を示す反応確率に相当する。
【0149】
なお、5段階の評価は、一例として、以下のように表現される。
1:まったく興味がない
2:あまり興味がない
3:どちらとも言えない
4:少し気に入った
5:非常に気に入った
【0150】
(3)上記の実施例のモデル学習では、ユーザ属性情報を推定モデルに学習させている(
図19のステップ1903および1905参照)。しかし、ユーザ属性情報の学習は必須ではなく、省略してもよい。
【0151】
(4)上記の実施例では、推定モデルとしてFMが使用されている(
図19のステップ1903および1905参照)。しかし、FMの使用は必須ではない。上記の実施例においてFM以外の回帰モデルを採用してもよい。
【0152】
(5)モデル学習モジュール921は、個別領域ごとに個別最適モデルを学習させている。しかし、この学習方法は必須ではない。モデル学習モジュール921に個別領域を横断して個別最適モデルを学習させてもよい。この場合、単一の学習済み個別最適モデルが生成されることになる。
【0153】
(6)上記のレコメンド処理でレコメンドサーバ801は、スクリーニングを通過したWBコンテンツをユーザ端末802に出力している(
図19のステップ1910参照)。しかし、当該サーバは、他の装置に当該出力を行わせるために、スクリーニング前の段階で情報を出力してもよい。例えば、当該サーバは、コンテンツ行動スコア情報1300、ステップ1907でリランキングされたコンテンツ行動スコア情報1300、ステップ1908で抽出されたWBコンテンツのいずれかを他の装置に出力してもよい。
【0154】
同様に当該サーバは、スクリーニング前の段階で、サービス行動スコア情報1500、ステップ1912でフィルタリングされたサービス行動スコア情報1500、ステップ1913でリランキングされたサービス行動スコア情報1500、ステップ1914で抽出されたWBサービスのいずれかを他の装置に出力してもよい。
【0155】
(7)上記のレコメンド処理では、全体最適のためのスコアリング処理を定期的に実行している(
図19のステップ1904参照)。しかし、このスコアリング処理を、ユーザがサイトにアクセスしたタイミングで実行するようにしてもよい。
【0156】
同様に、個別最適のためのスコアリング処理を、ユーザがWBコンテンツを選択したタイミングで実行してもよい。この場合、レコメンドサーバ801は、ユーザに選択されたWBコンテンツに対応するWBサービスについてのみ、サービス行動スコア情報1500を生成するようにしてもよい。ここで、WBコンテンツに対応するWBサービスとは、WBコンテンツと個別領域を共有するWBサービスのことである。このようにすることで、ステップ1912のフィルタリング処理を省略することができる。
【0157】
(8)レコメンドサーバ801は、モデリングとスコアリングの両方をサーバ上で行っている(
図19のステップ1903~1906)。しかし、モデリングは必須ではない。当該サーバは、モデリングを他の装置に実行させ、生成された学習済みモデルを当該装置から取得するようにしてもよい。
【0158】
(9)上記の実施例においてWB因子は、ウェルビーイングの観点から事業者側で潜在因子として予め定義されている。その際、事業者は、以下の方法でWB因子を定義してもよい。
まず事業者は、仮のWB因子を定義する。次に事業者は、定義した仮のWB因子についてユーザにアンケートを行う。次に事業者は、アンケート結果を因子分析等し、潜在因子を抽出する。最後に事業者は、抽出した潜在因子を正式なWB因子として定義する。
事業者はこのような方法でWB因子を定義してもよい。
【0159】
(10)上記のレコメンド処理では、レコメンドされたWBコンテンツがユーザに選択されると、当該ユーザの因子スコア情報1100が更新される。その際、更新されたWB因子スコアは、次回のモデリングおよびスコアリングに反映されてもよい。具体的にはモデル学習モジュール911は、更新されたWB因子スコアを説明変数として全体最適モデルに学習させることで、学習済み全体最適モデルを更新してもよい。また、スコアリングモジュール912は、更新されたWB因子スコアを学習済み全体最適モデルに入力して、反応確率を推定してもよい。
【0160】
同様に、モデル学習モジュール921は、更新されたWB因子スコアを説明変数として個別最適モデルに学習させることで、学習済み個別最適モデルを更新してもよい。また、スコアリングモジュール922は、更新されたWB因子スコアを学習済み個別最適モデルに入力して、反応確率を推定してもよい。
【0161】
これらの処理の結果、対象ユーザに次回レコメンドされるWBコンテンツとWBサービスが変化する可能性がある。
【0162】
なお、本発明は上記した実施例に限定されるものではなく、様々な変形例が含まれる。例えば、上記した実施例は本発明を分かりやすく説明するために詳細に説明したものであり、必ずしも説明した全ての構成を備えるものに限定されるものではない。また、ある実施例の構成の一部を他の実施例の構成に置き換えることが可能であり、また、ある実施例の構成に他の実施例の構成を加えることも可能である。また、各実施例の構成の一部について、他の構成の追加・削除・置換をすることが可能である。
【0163】
また、上記の各構成、機能、処理部、処理手段等は、それらの一部又は全部を、例えば集積回路で設計する等によりハードウェアで実現してもよい。また、上記の各構成、機能等は、プロセッサがそれぞれの機能を実現するプログラムを解釈し、実行することによりソフトウェアで実現してもよい。各機能を実現するプログラム、テーブル、ファイル等の情報は、メモリや、ハードディスク、SSD(Solid State Drive)等の記録装置、または、ICカード、SDカード、DVD等の記録媒体に置くことができる。
【0164】
また、制御線や情報線は説明上必要と考えられるものを示しており、製品上必ずしも全ての制御線や情報線を示しているとは限らない。実際には殆ど全ての構成が相互に接続されていると考えてもよい。
なお、上述の実施例は少なくとも以下に記載の構成を開示している。
(1)
コンテンツに対応付けられた因子情報と、ユーザに対応付けられた因子スコア情報とを説明変数とし、反応確率を目的変数として第1の推定モデルを学習させることで生成された第1の学習済み推定モデルを取得する第1のモデル取得部と、
複数の対象コンテンツの各々について、対象コンテンツに対応付けられた因子情報と、対象ユーザに対応付けられた因子スコア情報とを前記第1の学習済み推定モデルに入力して、反応確率を推定する第1の推定部と、
前記複数の対象コンテンツの各々について推定された反応確率に基づいて、前記複数の対象コンテンツの中から1以上の対象コンテンツを抽出する第1の抽出部と
を備えるレコメンドサーバ。
(2)
サービスに対応付けられた因子情報と、ユーザに対応付けられた因子スコア情報とを説明変数とし、反応確率を目的変数として第2の推定モデルを学習させることで生成された第2の学習済み推定モデルを取得する第2のモデル取得部と、
複数の対象サービスの各々について、対象サービスに対応付けられた因子情報と、前記対象ユーザに対応付けられた因子スコア情報とを前記第2の学習済み推定モデルに入力して、反応確率を推定する第2の推定部と、
前記複数の対象サービスの各々について推定された反応確率に基づいて、前記複数の対象サービスの中から、前記1以上の対象コンテンツと対応付けられた1以上の対象コンテンツを抽出する第2の抽出部と
をさらに備える、(1)に記載のレコメンドサーバ。
(3)
前記因子は、ユーザの潜在的な心理状態を表現するものとして定義された因子であることを特徴とする、(1)または(2)に記載のレコメンドサーバ。
(4)
前記コンテンツは、ユーザの幸福度を向上させるものとして定義されたアドバイス情報であることを特徴とする、(1)または(2)に記載のレコメンドサーバ。
(5)
前記対象ユーザに対応付けられた因子スコア情報は、前記対象ユーザが因子を重視する度合いを示す情報であることを特徴とする、(1)または(2)に記載のレコメンドサーバ。
(6)
前記第2のモデル取得部は、サービスが属する個別領域ごとに第2の学習済み推定モデルを取得し、
前記第2の推定部は、前記複数の対象サービスの各々について、対象サービスに対応付けられた因子情報と、前記対象ユーザに対応付けられた因子スコア情報とを、当該対象サービスが属する個別領域について取得された第2の学習済み推定モデルに入力して、反応確率を推定する
ことを特徴とする、(2)に記載のレコメンドサーバ。
(7)
前記1以上の対象コンテンツのうち、いずれかが前記対象ユーザにより選択されると、前記対象ユーザに対応付けられた因子スコア情報であって、当該選択された対象コンテンツに対応付けられた因子のスコア情報を更新する更新部をさらに備える、(1)または(2)に記載のレコメンドサーバ。
(8)
前記第1のモデル取得部は、前記更新された因子スコア情報を説明変数として前記第1の推定モデルに学習させることで、前記第1の学習済み推定モデルを更新することを特徴とする、(7)に記載のレコメンドサーバ。
(9)
前記第1の推定部はさらに、複数の対象サービスの各々について、対象サービスに対応付けられた因子情報と、前記更新された因子スコア情報とを前記第1の学習済み推定モデルに入力して、反応確率を推定することを特徴とする、(7)に記載のレコメンドサーバ。
(10)
コンピュータにより実行されるレコメンド方法であって、
コンテンツに対応付けられた因子情報と、ユーザに対応付けられた因子スコア情報とを説明変数とし、反応確率を目的変数として第1の推定モデルを学習させることで生成された第1の学習済み推定モデルを取得するステップと、
複数の対象コンテンツの各々について、対象コンテンツに対応付けられた因子情報と、対象ユーザに対応付けられた因子スコア情報とを前記第1の学習済み推定モデルに入力して、反応確率を推定するステップと、
前記複数の対象コンテンツの各々について推定された反応確率に基づいて、前記複数の対象コンテンツの中から1以上の対象コンテンツを抽出するステップと
を有するレコメンド方法。
(11)
サービスに対応付けられた因子情報と、ユーザに対応付けられた因子スコア情報とを説明変数とし、反応確率を目的変数として第2の推定モデルを学習させることで生成された第2の学習済み推定モデルを取得するステップと、
複数の対象サービスの各々について、対象サービスに対応付けられた因子情報と、前記対象ユーザに対応付けられた因子スコア情報とを前記第2の学習済み推定モデルに入力して、反応確率を推定するステップと、
前記複数の対象サービスの各々について推定された反応確率に基づいて、前記複数の対象サービスの中から、前記1以上の対象コンテンツと対応付けられた1以上の対象コンテンツを抽出するステップと
をさらに有する、(10)に記載のレコメンド方法。
(12)
前記因子は、ユーザの幸福度を向上させるものとして定義された因子であることを特徴とする、(10)または(11)に記載のレコメンド方法。
(13)
前記コンテンツは、ユーザの幸福度を向上させるものとして定義されたアドバイス情報であることを特徴とする、(10)または(11)に記載のレコメンド方法。
(14)
前記対象ユーザに対応付けられた因子スコア情報は、前記対象ユーザが因子を重視する度合いを示す情報であることを特徴とする、(10)または(11)に記載のレコメンド方法。
(15)
前記第2の学習済み推定モデルを取得するステップは、サービスが属する個別領域ごとに第2の学習済み推定モデルを取得するステップであり、
前記反応確率を推定するステップは、前記複数の対象サービスの各々について、対象サービスに対応付けられた因子情報と、前記対象ユーザに対応付けられた因子スコア情報とを、当該対象サービスが属する個別領域について生成された第2の学習済み推定モデルに入力して、反応確率を推定するステップである
ことを特徴とする、(11)に記載のレコメンド方法。
(16)
前記1以上の対象コンテンツのうち、いずれかが前記対象ユーザにより選択されると、前記対象ユーザに対応付けられた因子スコア情報であって、当該選択された対象コンテンツに対応付けられた因子のスコア情報を更新するステップをさらに有する、(10)または(11)に記載のレコメンド方法。
(17)
前記更新された因子スコア情報を説明変数として前記第1の推定モデルに学習させることで、前記第1の学習済み推定モデルを更新するステップをさらに有することを特徴とする、(16)に記載のレコメンド方法。
(18)
複数の対象サービスの各々について、対象サービスに対応付けられた因子情報と、前記更新された因子スコア情報とを前記第1の学習済み推定モデルに入力して、反応確率を推定するステップをさらに有することを特徴とする、(16)に記載のレコメンド方法。
(19)
コンピュータを、(1)または(2)に記載の各部として機能させるためのプログラム。
【符号の説明】
【0165】
800…情報処理システム、801…レコメンドサーバ、802…ユーザ端末、911…モデル学習モジュール、912…スコアリングモジュール、913…リランキングモジュール、914…抽出モジュール、915…スクリーニングモジュール、916…レコメンドモジュール、917…行動ログ管理モジュール、921…モデル学習モジュール、922…スコアリングモジュール、923…フィルタリングモジュール、924…リランキングモジュール、925…抽出モジュール、926…スクリーニングモジュール、927…レコメンドモジュール、928…行動ログ管理モジュール、931…マイページモジュール、932…ユーザ情報管理モジュール、941…画面データ、942…イメージ画像データ、1000…ユーザ属性情報、1100…因子スコア情報、1200…コンテンツ行動ログ、1300…コンテンツ行動スコア情報、1400…サービス行動ログ、1500…サービス行動スコア情報、1600…コンテンツ情報、1700…サービス情報、1800…活動ログ
【要約】 (修正有)
【課題】ユーザとコンテンツを所定の因子に対応付けて、その因子に基づいてコンテンツをレコメンドするためのレコメンドサーバ、レコメンド方法及びプログラムを提供する。
【解決手段】複数のユーザ端末を有する情報処理システムにおいて、レコメンドサーバ801は、コンテンツに対応付けられた因子情報と、ユーザに対応付けられた因子スコア情報とを説明変数とし、反応確率を目的変数として第1の推定モデルを学習させることで生成された第1の学習済み推定モデルを取得する第1のモデル取得部、複数の対象コンテンツの各々について、対象コンテンツに対応付けられた因子情報と、対象ユーザに対応付けられた因子スコア情報とを第1の学習済み推定モデルに入力して、反応確率を推定する第1の推定部及び複数の対象コンテンツの各々について推定した反応確率に基づいて、複数の対象コンテンツの中から1以上の対象コンテンツを抽出する第1の抽出部を備える。
【選択図】
図8