以下に、本願に係る学習装置、学習方法及び学習プログラムを実施するための形態(以下、「実施形態」と呼ぶ)について図面を参照しつつ詳細に説明する。なお、この実施形態により本願に係る学習装置、学習方法及び学習プログラムが限定されるものではない。また、各実施形態は、処理内容を矛盾させない範囲で適宜組み合わせることが可能である。また、以下の各実施形態において同一の部位には同一の符号を付し、重複する説明は省略される。
〔1.学習処理の一例〕
まず、図1乃至図3を用いて、実施形態に係る学習処理の一例について説明する。図1は、実施形態に係る学習処理の一例を示す図である。図1では、本願に係る学習装置100によって、所定の情報コンテンツに関する所定の行動を実行したか否かを示す結果情報と、所定の情報コンテンツの提供先となるユーザ端末101が有する端末情報との関係性を学習する処理が行われる例を示している。なお、実施形態では、情報コンテンツとして、ウェブページに表示される広告であって、所定のアプリを宣伝対象とする広告を例に挙げて説明する。この場合、情報提供者とは、広告主である。また、実施形態では、所定の情報コンテンツに関する所定の行動として、所定の広告に対応するアプリを端末装置にインストールする行動を例に挙げて説明する。
図1に示す学習装置100は、広告主から入稿される広告を保持するサーバ装置である。学習装置100は、ユーザが操作する端末装置から広告配信の要求を受け付けた場合に、保持している広告の中から、端末装置に配信する広告を選択する。そして、学習装置100は、選択した広告を端末装置に配信する。
図1に示すユーザ端末101及び102は、スマートフォン等の情報処理端末である。実施形態において、ユーザ端末101は、ユーザU01によって利用される。また、ユーザ端末102は、ユーザU02によって利用される。ユーザ端末101及び102は、取得したコンテンツ(例えば、ウェブページ)に広告表示領域が存在する場合には、広告表示領域で表示する広告を配信するよう、学習装置100に要求する。そして、ユーザ端末101及び102は、取得した広告を広告表示領域に表示する。なお、以下では、ユーザ端末101及び102を区別する必要のないときは、「ユーザ端末10」と表記する。
図1に示す広告主端末20は、広告主によって利用される端末装置である。例えば、広告主端末20は、広告主による操作に従って、広告を学習装置100に入稿する。実施形態において、広告主が入稿する広告には、アプリが宣伝対象として対応付けられている。例えば、ユーザ端末10に表示された広告をユーザがクリックした場合には、ユーザ端末10は、広告に対応付けられているアプリをインストールする。もしくは、ユーザ端末10は、広告に対応付けられているアプリのダウンロードページ等に画面表示を遷移する。
図1において、学習装置100は、ユーザ端末10から広告配信の要求を受け付けた場合、ユーザ端末10に配信すべき適切な広告、すなわち、広告効果が高くなると想定される広告を判定する。例えば、学習装置100は、アプリが対応付けられた広告が配信される場合に、配信先であるユーザ端末10において、広告に対応付けられたアプリがユーザ端末10にインストールされる可能性が高いか否かを判定する。学習装置100は、上記の判定処理のため、アプリがユーザ端末10にインストールされる可能性を評価するモデルを生成する。そして、学習装置100は、生成したモデルを用いて、広告の配信先となるユーザ端末10を特定する。例えば、学習装置100は、モデルに基づいて、ユーザ端末10に広告が配信された場合にアプリがインストールされる確率などの指標値を算出することによって、配信先のユーザ端末10を特定する。以下、図1を用いて、学習装置100によって行われる学習処理の一例を流れに沿って説明する。
まず、学習装置100は、広告主端末20を介して、広告主からアプリに関する広告の入稿を受け付ける(ステップS11)。学習装置100は、受け付けた広告を広告情報記憶部121に記憶する。また、学習装置100は、広告に対応付けられたアプリを特定する。そして、学習装置100は、当該アプリを処理対象として、モデルの生成処理を行う。すなわち、学習装置100は、アプリごとにモデルを生成する。これは、アプリと広告とが1対1で対応付けられている場合、広告ごとにモデルが生成される、と言い換えることもできる。なお、学習装置100は、モデルの生成に要する情報を蓄積するまでは、モデルを用いずに、広告主から入稿された広告をユーザ端末10に配信する(ステップS12)。図1の例では、モデルが用いられずに広告が配信されたユーザ端末10を、ユーザ端末101と表記することとする。
続いて、学習装置100は、処理対象であるアプリが対応付けられた広告が配信されたユーザ端末101から、ユーザ端末101に関する情報である端末情報を取得する(ステップS13)。なお、図1では図示を省略しているが、広告が配信されたユーザ端末101は、学習処理を行うのに充分な相当数が存在するものとする。また、端末情報の詳細については後述するが、端末情報は、ユーザ端末101を利用する各ユーザの素性を示す特徴情報を含む。このため、学習装置100は、端末情報を取得することで、ユーザ端末101がどのような特徴を有するユーザU01によって利用されているかという傾向を捉えることができる。学習装置100は、取得した端末情報を端末情報記憶部122に記憶する。
また、学習装置100は、処理対象であるアプリに対応付けられた広告が配信されたユーザ端末101において、実際にアプリがインストールされたか否かといった結果情報を取得する。すなわち、学習装置100は、広告が配信されたユーザ端末101ごとに、アプリがインストールされたか否かといった結果情報を取得するとともに、ユーザ端末101から端末情報を取得する。
そして、学習装置100は、処理対象とされたアプリをインストールしたか否かを示す結果情報と、広告が配信されたユーザ端末101から取得した端末情報との関係性を学習することにより、処理対象とされたアプリをインストールする傾向を示すモデルを生成する。言い換えれば、学習装置100は、アプリをインストールする傾向にあるユーザU01に関する機械学習を行う(ステップS14)。より具体的には、学習装置100は、処理対象とされたアプリをインストールしたか否かを示す結果情報を目的変数とし、端末情報から抽出される情報であって、ユーザの特徴を示すと想定される特徴情報を説明変数としたモデルを生成する。学習装置100は、生成したモデルを学習モデル記憶部126に格納する。
学習装置100は、機械学習の結果に基づき生成されたモデルを用いて、アプリに関する広告をユーザ端末102に配信する(ステップS15)。生成されたモデルを用いることで、学習装置100は、処理対象とされたアプリをインストールする傾向にあるユーザを精度よく特定することができる。例えば、学習装置100は、広告の配信の要求をユーザ端末102から受け付けた場合、ユーザ端末102の端末情報を取得する。そして、学習装置100は、広告の配信先の候補であるユーザ端末102から取得された端末情報をモデルに入力する。学習装置100は、モデルから出力される情報に基づいて、ユーザ端末102がアプリをインストールする可能性の高いユーザU02によって利用されているか否かを判定する。学習装置100は、ユーザ端末102がアプリをインストールする可能性の高いユーザU02によって利用されていると判定した場合には、広告の配信先としてユーザ端末102を特定する。そして、学習装置100は、当該アプリが対応付けられている広告をユーザ端末102に配信する。
このように、学習装置100は、広告を受信するユーザ端末10に関する情報である端末情報を取得する。また、学習装置100は、広告に対応付けられているアプリがインストールされたか否かを示す結果情報と、取得された端末情報との関係性を学習することにより、広告に対応付けられているアプリがインストールされる傾向を示すモデルを生成する。さらに、学習装置100は、生成されたモデルに基づいて、広告を配信する配信先となるユーザ端末10を特定する。
すなわち、学習装置100は、端末情報に基づいて、広告に対応付けられたアプリをインストールするといったような、所定の行動を実行し易いユーザを判定するモデルを生成する。そして、学習装置100は、モデルに基づいて広告の配信先を特定することにより、過去にアプリをインストールしたユーザと類似する傾向にあるユーザに広告を配信することができる。このため、学習装置100は、モデルを用いずに広告を配信した場合と比較して、広告に対応付けられたアプリがインストールされる可能性を高めることができる。言い換えれば、学習装置100は、配信する広告が発揮する広告効果を向上させることができる。このようにして、学習装置100は、配信される広告と配信先のユーザとのマッチングを適切に行う。
ところで、図1では、学習装置100が、広告が配信されたユーザ端末101の端末情報を用いることでモデルを生成する例を示した。この場合、モデルの精度を上げるためには、学習装置100は、ユーザU01を的確に特徴付ける情報を端末情報から多く抽出することが望ましい。ここで、図2及び図3を用いて、学習装置100が取得する端末情報の一例について説明する。
図2は、実施形態に係る端末情報の一例を説明する図(1)である。図2では、端末情報の一例として、ユーザ端末10の装置自体が有する情報(以下、「装置情報」と表記する)について説明する。
学習装置100は、例えば、ユーザ端末10から広告配信の要求を受け付けた際に、ユーザ端末10の端末情報を取得する。端末情報が含む装置情報は、例えば、ユーザ端末10に設定されている型番40である。学習装置100は、例えば、ユーザ端末10から送信される装置固有の識別情報を取得することによって、型番40の情報を取得する。さらに、学習装置100は、型番40から抽出される特徴情報42についても、装置情報の一例として取得する。例えば、学習装置100は、ユーザ端末10を製造したメーカーによってユーザ端末10にブランド名が付されている場合には、型番40に基づいて、ブランド名を特徴情報として抽出する。図2の例では、ユーザ端末10には、ブランド名「AAA」がメーカーによって付けられているものとする。なお、学習装置100は、型番40とブランド名「AAA」との対応付けが記憶された所定のデータベースを参照することで、上記のような抽出処理を行うことができる。
また、学習装置100は、型番40に基づいて、例えば、ユーザ端末10が発売後「336日」経過しているという特徴情報を抽出する。また、学習装置100は、型番40に基づいて、通信キャリアが「BBB」社であるという特徴情報を抽出する。また、学習装置100は、型番40に基づいて、ユーザ端末10の画面の解像度が「1280×720」であるという特徴情報を抽出する。
学習装置100は、端末情報から抽出される型番40や、特徴情報42等を、ユーザ端末10を特徴付ける要素とする。言い換えれば、学習装置100は、端末情報に基づいて、ユーザ端末10を利用するユーザの特徴を抽出する。これは、ユーザ端末10の型番40や、特徴情報42が、ユーザを特徴付ける要素として機能することを示している。
例えば、ユーザ端末10のブランド名「AAA」は、世間一般に男性が好むブランドであり、洗練されたイメージを有するものとする。この場合、ブランド名「AAA」が付与されたユーザ端末10を利用しているユーザは、男性であり洗練されたイメージを好むような人物像が想定される。このように、学習装置100は、ユーザ端末10のブランド名を、ユーザU01という人物を特徴付ける一要素として用いることができる。また、学習装置100は、「発売から経過した日数」を、ユーザ端末10を利用するユーザが比較的新しい物を好むタイプであるか否かという特徴付けの要素として扱う。また、学習装置100は、「通信キャリア」を、ユーザ端末10を利用するユーザが安定した通信回線を望むのか、あるいは、料金の安さを望むのか、などの特徴付けの要素として扱う。また、学習装置100は、「解像度」を、ユーザが比較的大きな画面を好むか否かなどの特徴付けの要素として扱う。
そして、学習装置100は、取得した装置情報をモデルにおける説明変数の1つとして用いることで、ユーザの特徴を反映したモデルを生成する。例えば、学習装置100は、処理対象のアプリをユーザがインストールする傾向と、ユーザが利用しているユーザ端末10のブランド名が「AAA」であることが、所定の関係性を有する否かを学習する。同様に、学習装置100は、処理対象のアプリをユーザがインストールする傾向と、ユーザ端末10の発売後の日数や、通信キャリアや、解像度とが、どのような関係性を有するかを学習する。このように、学習装置100は、ユーザ端末10のユーザを特徴付ける要素の一例として、ユーザ端末10の装置自体の情報を用いることができる。
また、学習装置100は、端末情報として、さらに異なる情報を学習に用いることができる。この点について、図3を用いて説明する。図3は、実施形態に係る端末情報の一例を説明する図(2)である。図3では、端末情報の一例として、ユーザ端末10にインストールされたアプリに関する情報(以下、「アプリ情報」と表記する)について説明する。図3には、ユーザ端末10にインストールされた複数のアプリを示している。
図3に示す例では、ユーザ端末10のユーザは、他のユーザとの通信を行う通信系アプリ50や52をユーザ端末10にインストールしている。また、ユーザは、交通系アプリ54、ファイナンスアプリ56、ショッピングアプリ58や60、運動系アプリ62や64、賃貸検索アプリ66、子育てアプリ68、戦略系ゲームアプリ70、声優系ゲームアプリ72をインストールしている。
ここで、学習装置100は、ユーザ端末10にインストールされたアプリと、ユーザを特徴付ける要素である特徴情報との対応付けが記憶された所定のデータベースを参照する。例えば、所定のデータベースでは、通信系アプリ50や52と、「ライフスタイル」や「SNS(Social Networking Service)」といった特徴情報が対応付けられているものとする。これは、通信系アプリ50や52といった、他のユーザとの通信を主な機能として有するタイプのアプリを利用するユーザは、「ライフスタイル」や「SNS」といった要素に興味関心を抱く傾向にあるユーザであるとの推定による。同様に、交通系アプリ54には、「乗換案内」といった特徴情報が対応付けられていたり、ファイナンスアプリ56には、「株価・為替」といった特徴情報が対応付けられていたりする。
そして、学習装置100は、ユーザ端末10にインストールされたアプリに基づいて、ユーザを特徴付ける要素である特徴情報を抽出する。例えば、学習装置100は、ユーザ端末10に通信系アプリ50や52がインストールされているという端末情報を取得する。この場合、学習装置100は、ユーザ端末10を利用しているユーザは、「ライフスタイル」や「SNS」に興味関心を抱いていると特徴付ける。
具体的には、学習装置100は、ユーザ端末10に通信系アプリ50や52がインストールされている場合、ユーザ端末10を説明する説明変数として、「関心_ライフスタイル」や「関心_SNS」といった変数をユーザ端末10に付与する。また、学習装置100は、交通系アプリ54やファイナンスアプリ56がインストールされている場合、「関心_乗換案内」や「関心_株価・為替」といった変数を、適宜ユーザ端末10に付与する。
なお、学習装置100は、ゲームに関するアプリがユーザ端末10にインストールされている場合、ゲーム以外のアプリで用いられる変数とは異なる変数を付与するようにしてもよい。これは、ゲームに関するアプリの場合、ゲームのタイプごとにユーザの特徴付けを細分化することによって、よりユーザの特徴を明確に示す要素となりうるからである。
例えば、学習装置100は、ユーザ端末10にゲームアプリがインストールされている場合、ユーザ端末10を説明する説明変数として、「ゲーム嗜好」という種別で分類される変数をユーザ端末10に付与する。具体的には、学習装置100は、ユーザ端末10に戦略系ゲームアプリ70がインストールされている場合、「ゲーム嗜好_戦略」や「ゲーム嗜好_シミュレーション」といった変数をユーザ端末10に付与する。また、学習装置100は、声優系ゲームアプリ72がインストールされている場合、「ゲーム嗜好_声優」や「ゲーム嗜好_育成」といった変数をユーザ端末10に付与する。ユーザ端末10にインストールされたアプリから抽出される変数の集合である特徴情報80は、ユーザ端末10ごと(すなわち、ユーザごと)に生成される。
上記のように、学習装置100は、取得したアプリ情報をモデルにおける説明変数の要素として用いることで、ユーザの特徴を反映したモデルを生成することができる。すなわち、学習装置100は、処理対象のアプリをユーザがインストールする傾向にあるか否かが、ユーザが利用しているアプリとどのような関係性を有するかを学習する。例えば、学習装置100は、処理対象のアプリをインストールしたユーザと、ユーザが利用している処理対象以外のアプリとの関係性を学習する。これにより、学習装置100は、どのようなアプリを利用しているユーザが、処理対象のアプリを今後インストールする可能性が高いかといった可能性を評価可能なモデルを生成することができる。このように、学習装置100は、ユーザ端末10のユーザを特徴付ける要素の一例として、ユーザ端末10にインストールされたアプリのアプリ情報を用いる。なお、詳細は後述するが、学習装置100は、ユーザ端末10にインストールされているアプリの合計数や、ゲームアプリとゲーム以外のアプリの数等に関しても、アプリ情報として学習に用いることができる。
上述してきたように、学習装置100は、ユーザ端末10から取得可能な端末情報を用いることで、ユーザ端末10に処理対象のアプリがインストールされる傾向を示すモデルを生成する。以下、このような処理を行う学習装置100、及び、学習装置100を含む学習処理システム1の構成等について、詳細に説明する。
〔2.学習処理システムの構成〕
図4を用いて、実施形態に係る学習装置100が含まれる学習処理システム1の構成について説明する。図4は、実施形態に係る学習処理システム1の構成例を示す図である。図4に例示するように、実施形態に係る学習処理システム1には、ユーザ端末10と、広告主端末20と、ウェブサーバ30と、学習装置100とが含まれる。これらの各種装置は、ネットワークNを介して、有線又は無線により通信可能に接続される。なお、図4に示した学習処理システム1には、複数台のユーザ端末10や、複数台の広告主端末20や、複数台のウェブサーバ30が含まれてもよい。
ユーザ端末10は、例えば、スマートフォンや、デスクトップ型PC(Personal Computer)や、ノート型PCや、タブレット型端末や、携帯電話機、PDA(Personal Digital Assistant)、ウェアラブルデバイス(Wearable Device)等の情報処理装置である。ユーザ端末10は、ユーザによる操作に従って、ウェブサーバ30にアクセスすることで、ウェブサーバ30から提供されるウェブサイトからウェブページを取得する。そして、ユーザ端末10は、取得したウェブページを表示装置(例えば、液晶ディスプレイ)に表示する。なお、本明細書中においては、ユーザとユーザ端末10とを同一視する場合がある。例えば、「ユーザに情報コンテンツを提供する」とは、実際には、「ユーザが利用するユーザ端末10に情報コンテンツを提供する」ことを意味する場合がある。
広告主端末20は、学習装置100に広告配信を依頼する広告主によって利用される情報処理装置である。広告主端末20は、広告主による操作に従って、学習装置100にアプリに関する広告を入稿する。
なお、広告主は、広告主端末20を用いて、学習装置100に広告を入稿せずに、かかる入稿等を代理店に依頼する場合もある。この場合、学習装置100に広告を入稿等するのは代理店となる。以下では、「広告主」といった表記は、広告主だけでなく代理店を含む概念であり、「広告主端末」といった表記は、広告主端末だけでなく代理店によって利用される代理店装置を含む概念であるものとする。
ウェブサーバ30は、ユーザ端末10からアクセスされた場合に、各種ウェブページを提供するサーバ装置である。ウェブサーバ30は、例えば、ニュースサイト、天気予報サイト、ショッピングサイト、ファイナンス(株価)サイト、路線検索サイト、地図提供サイト、旅行サイト、飲食店紹介サイト、ウェブブログなどに関する各種ウェブページを提供する。
上述のように、ウェブサーバ30によって提供されるウェブページには、広告を表示するための表示領域である広告枠が含まれる。そして、広告枠を含むウェブページには、広告枠に表示する情報コンテンツを取得するための取得命令が含まれる。例えば、ウェブページを形成するHTML(HyperText Markup Language)ファイル等には、学習装置100のURL等が取得命令として記述される。ウェブページを取得したユーザ端末10は、HTMLファイル等に記述されているURLにアクセスすることで、学習装置100から広告の配信を受ける。
学習装置100は、広告主端末20から受け付けた広告について、配信先となるユーザ端末10を適切に特定するサーバ装置である。上述のように、学習装置100は、ユーザ端末10にアプリがインストールされたか否かを示す結果情報と、当該ユーザ端末10の端末情報とに基づいて、モデルを生成する。そして、学習装置100は、生成したモデルを用いて、配信先となるユーザ端末10を特定する。
なお、上述のように、学習装置100は、広告の配信にあたって、ユーザ端末10を識別したり、ユーザ端末10の端末情報を取得したりする。例えば、ユーザ端末10の端末情報の取得は、ユーザ端末10のウェブブラウザやブラウザアプリと、学習装置100との間でやり取りされるクッキーに情報を含めることによって行うことができる。ただし、端末情報を取得する手法は上記に限られない。例えば、ユーザ端末10に専用のプログラムを設定し、かかる専用プログラムから端末情報を学習装置100に送信させてもよい。また、学習装置100は、ユーザ端末10からアクセスを受けたウェブサーバ30から、ユーザ端末10の端末情報を取得してもよい。
〔3.学習装置の構成〕
次に、図5を用いて、実施形態に係る学習装置100の構成について説明する。図5は、実施形態に係る学習装置100の構成例を示す図である。図5に示すように、学習装置100は、通信部110と、記憶部120と、制御部130とを有する。なお、学習装置100は、学習装置100を利用する管理者等から各種操作を受け付ける入力部(例えば、キーボードやマウス等)や、各種情報を表示するための表示部(例えば、液晶ディスプレイ等)を有してもよい。
(通信部110について)
通信部110は、例えば、NIC(Network Interface Card)等によって実現される。かかる通信部110は、ネットワークNと有線又は無線で接続され、ネットワークNを介して、ユーザ端末10や、広告主端末20や、ウェブサーバ30との間で情報の送受信を行う。
(記憶部120について)
記憶部120は、例えば、RAM(Random Access Memory)、フラッシュメモリ(Flash Memory)等の半導体メモリ素子、または、ハードディスク、光ディスク等の記憶装置によって実現される。記憶部120は、広告情報記憶部121と、端末情報記憶部122と、学習モデル記憶部126とを有する。
(広告情報記憶部121について)
広告情報記憶部121は、広告主端末20から入稿される広告に関する情報を記憶する。ここで、図6に、実施形態に係る広告情報記憶部121の一例を示す。図6は、実施形態に係る広告情報記憶部121の一例を示す図である。図6に示した例では、広告情報記憶部121は、「広告主ID」、「広告ID」、「対応アプリID」といった項目を有する。
「広告主ID」は、広告主又は広告主端末20を識別するための識別情報を示す。「広告ID」は、広告主から入稿された広告を識別するための識別情報を示す。「対応アプリID」は、広告に対応付けられたアプリを識別するための識別情報を示す。
なお、本明細書中では、図6に示したような識別情報を参照符号として用いる場合がある。例えば、広告主ID「B10」によって識別される広告主を「広告主B10」と、広告ID「C10」によって識別される広告を「広告C10」と、(対応)アプリID「A10」によって識別されるアプリを「アプリA10」と、表記する場合がある。
すなわち、図6に示したデータの一例は、広告主ID「B10」によって識別される広告主B10が、広告ID「C10」や「C11」によって識別される広告を入稿していることを示す。また、広告C10に対応付けられているアプリは、対応アプリID「A10」によって識別されるアプリA10であることを示す。
なお、アプリは、広告と1対1で対応付けられるのではなく、複数の広告と対応付けられてもよい。例えば、図6に示すように、アプリA20は、広告C20と広告C21とに対応付けられている。これは、広告C20と広告C21とが、広告の画像データ等の内容は異なるものの、同一のアプリA20を宣伝対象としていることを示している。
なお、実際にユーザ端末10に配信される広告のコンテンツデータ(テキストデータや、動画コンテンツや静止画コンテンツ)は、学習装置100とは別に備えられた所定のストレージサーバに記憶されてもよい。この場合、学習装置100は、広告情報記憶部121に記憶された広告IDに基づいて、外部のストレージサーバに記憶された広告を特定する。そして、学習装置100は、ストレージサーバに対して、特定された広告をユーザ端末10に対して配信するよう制御する。
また、広告情報記憶部121には、広告に関する他の情報が記憶されてもよい。例えば、広告情報記憶部121には、広告毎に指定される配信先の条件や、広告毎に指定される配信数(指定インプレッション数)などが記憶されてもよい。また、広告情報記憶部121には、広告効果を示す指標値が記憶されてもよい。例えば、広告情報記憶部121には、広告毎に、CPI(Cost Per Install)や、CTR(Click Through Rate)等の指標値が記憶されてもよい。
(端末情報記憶部122について)
端末情報記憶部122は、広告の配信対象であるユーザ端末10に関する情報を記憶する。図5に示すように、端末情報記憶部122は、端末情報を記憶するデータテーブルとして、属性テーブル123と、装置テーブル124と、アプリテーブル125とを含む。
(属性テーブル123について)
ここで、図7に、実施形態に係る属性テーブル123の一例を示す。図7は、実施形態に係る属性テーブル123の一例を示す図である。属性テーブル123は、主として、ユーザ端末10を利用するユーザの属性に関する情報を記憶する。図7に示した例では、属性テーブル123は、「端末ID」、「性別」、「年齢」、「地域」といった項目を有する。
「端末ID」は、ユーザ端末10を識別する識別情報である。「性別」は、ユーザ端末10を利用するユーザの性別を示す。「年齢」は、ユーザ端末10を利用するユーザの年齢を示す。「地域」は、ユーザ端末10を利用するユーザの居住地を示す。なお、「地域」には、具体的な住所ではなく、ユーザの居住地に対応する一定の範囲を示す地域名(関東地方など)や、国名などが記憶されてもよい。
すなわち、図7に示したデータの一例は、端末ID「F11」によって識別されるユーザ端末10のユーザの性別が「男性」であり、年齢が「30歳代」であり、居住する地域が「A県」であることを示す。
なお、属性テーブル123に記憶される属性情報は、必ずしも正確な情報でなくともよい。例えば、学習装置100は、装置情報から推定される「推定性別」や「推定年齢」等を属性テーブル123に記憶してもよい。また、属性テーブル123には、「地域」に加え、その地域の都会度を示す「都会度ランク」等の情報が記憶されてもよい。
(装置テーブル124について)
続いて、図8に、実施形態に係る装置テーブル124の一例を示す。図8は、実施形態に係る装置テーブル124の一例を示す図である。装置テーブル124は、主として、ユーザ端末10という装置自体の情報を示した装置情報を記憶する。図8に示した例では、装置テーブル124は、「端末ID」、「型番」、「ブランド名」、「発売後経過日数」、「通信キャリア」、「メーカー名」、「解像度」といった項目を有する。
「端末ID」は、図7に示した同様の項目と対応する。「型番」は、ユーザ端末10の型番を示す。「ブランド名」は、ユーザ端末10に付与されたブランド名を示す。「発売後経過日数」は、ユーザ端末10が発売されてから経過した日数を示す。「通信キャリア」は、ユーザ端末10の通信回線を提供している通信キャリアの社名を示す。「解像度」は、ユーザ端末10の画面の解像度を示す。
すなわち、図8に示したデータの一例では、端末ID「F11」によって識別されるユーザ端末10は、型番が「XX−YY01」であり、ブランド名が「AAA」であることを示す。また、端末ID「F11」によって識別されるユーザ端末10は、発売後に「336日」が経過しており、通信キャリアは「BBB社」であり、製造したメーカーは「CCC社」であり、解像度は「1280×720」であることを示す。
(アプリテーブル125について)
続いて、図9に、実施形態に係るアプリテーブル125の一例を示す。図9は、実施形態に係るアプリテーブル125の一例を示す図である。アプリテーブル125は、主として、ユーザ端末10にインストールされたアプリに関する情報を記憶する。図9に示した例では、アプリテーブル125は、「端末ID」、「インストールアプリ数」、「非ゲームアプリ数」、「ゲームアプリ数」、「新作アプリ数」、「旧作アプリ数」、「インストール済アプリID」といった項目を有する。
「端末ID」は、図7に示した同様の項目と対応する。「インストールアプリ数」は、ユーザ端末10にインストールされているアプリの合計数を示す。「非ゲームアプリ数」は、インストールされているアプリのうち、ゲームアプリ以外のアプリの数を示す。「ゲームアプリ数」は、インストールされているアプリのうち、ゲームアプリの数を示す。「新作アプリ数」は、インストールされているアプリのうち、比較的最近(例えば、1年以内など)提供が開始されたアプリの数を示す。「旧作アプリ数」は、インストールされているアプリのうち、新作アプリ以外のアプリの数を示す。「インストール済アプリID」は、ユーザ端末10にインストールされている各アプリの識別情報を示す。
すなわち、図9に示したデータの一例では、端末ID「F11」によって識別されるユーザ端末10には、「35」個のアプリがインストールされていることを示す。また、端末ID「F11」によって識別されるユーザ端末10にインストールされたアプリのうち、非ゲームアプリ数は「22」で、ゲームアプリ数は「13」であることを示す。さらに、端末ID「F11」によって識別されるユーザ端末10にインストールされたアプリのうち、新作アプリ数は「15」で、旧作アプリ数は「20」であることを示す。また、端末ID「F11」によって識別されるユーザ端末10にインストールされたアプリは、「A101」や、「A103」や、「A107」や、「A108」や、「A122」等の識別情報で識別されるアプリであることを示す。
(学習モデル記憶部126について)
学習モデル記憶部126は、学習装置100の学習処理に関する情報を記憶する。図5に示すように、学習モデル記憶部126は、学習処理に関する情報を記憶するデータテーブルとして、設定テーブル127と、変数テーブル128と、モデルテーブル129とを含む。
(設定テーブル127について)
設定テーブル127は、主として、端末情報と、端末情報から抽出される変数との設定に関する情報を記憶する。設定テーブル127は、記憶された情報の種別ごとに、さらに複数のテーブルを含む。なお、設定テーブル127に記憶される設定内容は、例えば、学習装置100の管理者によって入力されたり、後述するように、アプリを紹介するサイト等から抽出される情報に基づいて自動的に設定が行われたりする。
ここで、図10に、実施形態に係る設定テーブル127の一例を示す。図10は、実施形態に係る設定テーブル127の一例を示す図(1)である。図10では、設定テーブル127の一例として、学習に用いる変数の識別情報と、変数の種別や内容との対応付けが設定された変数設定テーブル127Aを示す。図10に示した例では、変数設定テーブル127Aは、「変数ID」、「種別」、「変数名」といった項目を有する。
「変数ID」は、変数を識別する識別情報を示す。「種別」は、変数IDに対応する種別を示す。種別は、変数を分類するために用いられる。「変数名」は、種別を細分化した変数ごとの名称を示す。
すなわち、図10に示したデータの一例では、変数ID「E26」によって識別される変数は、「興味関心」という種別に関する変数であり、特に「ネットショッピング」への関心を示す変数であることを示す。また、変数ID「E58」によって識別される変数は、「ゲーム嗜好」という種別に関する変数であり、特に「シューティング」への関心を示す変数であることを示す。
次に、図11に、実施形態に係る設定テーブル127の他の例を示す。図11は、実施形態に係る設定テーブル127の一例を示す図(2)である。図11では、設定テーブル127の一例として、アプリに対応付けられる変数が設定されたアプリ設定テーブル127Bを示す。図11に示した例では、アプリ設定テーブル127Bは、「アプリID」、「タイプ」、「要素」、「変数名」といった項目を有する。
「アプリID」は、アプリを識別する識別情報を示す。「タイプ」は、アプリのタイプを示す。「要素」は、アプリが有する要素を示す。「変数名」は、アプリのタイプや要素に基づいて設定される変数を示す。
すなわち、図11に示したデータの一例では、アプリID「A51」によって識別されるアプリA51は、「通信系」というタイプに属するアプリであり、「コミュニケーション」や、「連絡」や、「チャット」や、「SNS」といったキーワードによって示される要素を有するアプリであることを示す。このため、アプリA51には、「関心_ライフスタイル」や、「関心_SNS」や、「関心_出会い」といった名称で識別される変数が設定されていることを示す。
(変数テーブル128について)
次に、図12に、実施形態に係る変数テーブル128の一例を示す。図12は、実施形態に係る変数テーブル128の一例を示す図である。図12に示すように、変数テーブル128は、「処理対象アプリID」、「端末ID」、「対象アプリインストール(目的変数)」、「特徴情報データ(説明変数)」といった項目を有する。
「処理対象アプリID」は、モデルが生成される対象となるアプリを識別する識別情報を示す。「端末ID」は、ユーザ端末10を識別する識別情報を示す。
「対象アプリインストール(目的変数)」は、学習装置100が生成するモデルにおける目的変数となる情報である。具体的には、「対象アプリインストール(目的変数)」とは、処理対象とされるアプリが、ユーザ端末10にインストールされたか否かを示す情報である。図12の例では、「対象アプリインストール(目的変数)」の項目が「1」であれば、処理対象アプリがユーザ端末10にインストールされていることを示す。一方、「対象アプリインストール(目的変数)」の項目が「0」であれば、処理対象アプリがユーザ端末10にインストールされていないことを示す。
「特徴情報データ(説明変数)」は、学習装置100が生成するモデルにおける説明変数となる情報である。図12の例では、「G11」といったように概念的に表記しているが、実際には、「特徴情報データ(説明変数)」は、ユーザ端末10が有する複数の説明変数が羅列されたデータである。すなわち、特徴情報データは、ユーザ端末10の端末情報から抽出された特徴情報の集合体であり、ユーザ端末10(言い換えれば、ユーザ端末10を利用するユーザ)の特徴を示すデータである。
すなわち、図12に示したデータの一例では、処理対象アプリID「A100」によって識別されるアプリA100は、端末ID「F11」によって識別されるユーザ端末10と、端末ID「F13」によって識別されるユーザ端末10にインストールされたことを示す。一方、アプリA100は、端末ID「F12」によって識別されるユーザ端末10にはインストールされなかったことを示す。また、端末ID「F11」によって識別されるユーザ端末10の特徴情報データは「G11」であり、端末ID「F12」によって識別されるユーザ端末10の特徴情報データは「G12」であり、端末ID「F13」によって識別されるユーザ端末10の特徴情報データは「G13」であることを示す。
(モデルテーブル129について)
次に、図13に、実施形態に係るモデルテーブル129の一例を示す。図13は、実施形態に係るモデルテーブル129の一例を示す図である。図13に示すように、モデルテーブル129は、「モデルID」、「対応アプリID」といった項目を有する。
「モデルID」は、モデルを識別する識別情報を示す。「対応アプリID」は、モデルに対応するアプリを識別する識別情報を示す。
すなわち、図13に示したデータの一例では、モデルID「M100」によって識別されるモデルM100は、アプリID「A100」に対応したモデルであることを示す。
(制御部130について)
制御部130は、例えば、CPU(Central Processing Unit)やMPU(Micro Processing Unit)等によって、学習装置100内部の記憶装置に記憶されている各種プログラム(学習プログラムの一例に相当)がRAMを作業領域として実行されることにより実現される。また、制御部130は、例えば、ASIC(Application Specific Integrated Circuit)やFPGA(Field Programmable Gate Array)等の集積回路により実現される。
図5に示すように、制御部130は、入稿受付部131と、取得部132と、学習部133と、抽出部134と、生成部135と、受信部136と、特定部137と、配信部138とを有し、以下に説明する情報処理の機能や作用を実現または実行する。なお、制御部130の内部構成は、図5に示した構成に限られず、後述する情報処理を行う構成であれば他の構成であってもよい。また、制御部130が有する各処理部の接続関係は、図5に示した接続関係に限られず、他の接続関係であってもよい。
(入稿受付部131について)
入稿受付部131は、広告主端末20から広告の入稿を受け付ける。そして、入稿受付部131は、入稿元の広告主を識別する広告主IDと、広告を識別する広告IDと、広告に対応するアプリを識別する対応アプリIDとを対応付けて、広告情報記憶部121に記憶する。
なお、入稿受付部131は、広告毎に指定される配信数や、配信先のユーザに関する条件等を広告主から受け付けてもよい。また、入稿受付部131は、広告(すなわち、アプリ)に対応するモデルを用いずに広告が配信される場合のために、例えば、広告の配信先となるユーザの属性の指定などのターゲティング要素を受け付けてもよい。
(取得部132について)
取得部132は、各種情報を取得する。例えば、取得部132は、広告を受信するユーザ端末10に関する情報である端末情報を取得する。具体的には、取得部132は、端末情報として、ユーザ端末10を利用するユーザの属性情報を取得する。また、取得部132は、端末情報として、ユーザ端末10の装置自体の情報である装置情報を取得する。また、取得部132は、端末情報として、ユーザ端末10にインストールされているアプリに関する情報であるアプリ情報を取得する。
また、取得部132は、端末情報として、受信した広告に関する情報であって、広告に対するユーザの行動に関する情報を取得してもよい。例えば、取得部132は、ユーザが広告を選択(例えば、クリック)した際に、広告が表示されていたウェブページや、広告枠の場所に関する情報を取得する。また、取得部132は、ユーザが最後に任意の広告を選択し、その後どのくらいの時間が経過しているかといった時間情報を取得してもよい。また、取得部132は、ユーザが一日のうちのどの時間帯で広告を選択することが多いかといった広告への接触時間帯といった情報を取得してもよい。このように取得部132によって取得された情報は、後述する学習部133によって、ユーザ端末10の説明変数として用いられる場合がある。
また、取得部132は、広告を受信したユーザ端末10が、広告に関する所定の行動を実行したか否かを示す結果情報を取得してもよい。具体的には、取得部132は、ユーザ端末10が、後述する学習部133によって学習処理の対象となるアプリをインストールしたか否かを示す結果情報を取得する。
なお、取得部132は、端末情報や結果情報をどのようなタイミングで取得してもよい。例えば、取得部132は、ユーザ端末10から広告配信の要求を受け付けた際に端末情報等を取得してもよい。また、広告に対応付けられたアプリがユーザ端末10にインストールされた際に、ユーザ端末10側から所定の通信を学習装置100側に送るようなプログラムがされている場合には、取得部132は、かかる通信を受け付ける際に端末情報等を取得する。あるいは、取得部132は、端末情報等をユーザ端末10から取得するのではなく、外部サーバから任意のタイミングでユーザ端末10の端末情報等を取得してもよい。
そして、取得部132は、取得した情報を所定の記憶部に格納する。例えば、取得部132は、端末情報を取得した場合には、取得した情報を端末情報記憶部122に記憶する。あるいは、取得部132は、取得した情報を学習部133等の処理部に送ってもよい。
なお、取得部132は、広告がクリックされたか否か、広告に対応するアプリがインストールされたか否か等、広告に関する情報を取得する手法については、既知の種々の手法により実現してもよい。例えば、取得部132は、ウェブビーコン(web beacon)等によって実現される通知機能を利用して、広告に関する情報を取得してもよい。
(学習部133について)
学習部133は、所定の情報コンテンツに関する所定の行動を実行したか否かを示す結果情報と、端末情報との関係性を学習する。そして、学習部133は、学習した結果に基づいて、所定の情報コンテンツに関する所定の行動を実行する傾向を示すモデルを生成する。また、学習部133は、モデルを生成した後にも端末情報を取得し、モデルの学習を継続することで、モデルを最適化する。学習部133は、抽出部134と、生成部135とを有し、上記の処理を実現する。
(抽出部134について)
抽出部134は、取得部132によって取得された端末情報から、ユーザ端末10を特徴付ける特徴情報を抽出する。例えば、抽出部134は、装置情報に基づいて、ユーザ端末10のブランド名や、発売後経過日数等の情報を抽出する。
また、抽出部134は、アプリ情報に基づいて、ユーザ端末10(すなわち、ユーザ端末10のユーザ)を特徴付ける特徴情報を抽出する。例えば、抽出部134は、ユーザ端末10にインストールされているアプリを特定する。そして、抽出部134は、アプリに設定されているアプリのタイプや要素を特定する。また、抽出部134は、アプリのタイプや要素に基づいて設定されている変数を特定する。すなわち、抽出部134は、端末情報から抽出される特徴情報として、後述するモデルで用いる変数を特定する。
抽出部134は、例えば、学習装置100の管理者によって入力される設定に基づいて、端末情報から特徴情報を抽出する。図11を例に挙げると、抽出部134は、アプリA51に「関心_ライフスタイル」や、「関心_SNS」や、「関心_出会い」といった変数が対応付けられていることを特定する。そして、抽出部134は、処理対象となるユーザ端末10にインストールされているアプリとして、アプリA51を特定した場合には、ユーザ端末10を特徴付ける情報として、上記の変数を抽出する。
なお、抽出部134は、学習装置100の管理者によって入力される設定以外の情報を用いて、特徴情報の抽出を行ってもよい。例えば、アプリのダウンロードサイト等では、アプリごとに、アプリに関する紹介文であるテキストデータが対応付けられている場合がある。この場合、抽出部134は、テキストデータを解析することにより、アプリのタイプや要素となるキーワードを抽出する。例えば、抽出部134は、アプリA51に対応付けられているテキストデータ内を形態素解析することで、「コミュニケーション」や「連絡」等の名詞を抽出したとする。この場合、抽出部134は、抽出した名詞をキーワードとして、アプリA51の要素として設定する。さらに、抽出部134は、要素として設定した単語に紐づけられた変数を、アプリA51に対応する変数として設定する。これにより、抽出部134は、学習装置100の管理者等、人為的な処理を介することなく、アプリに変数(特徴情報)を対応付けることができる。
(生成部135について)
生成部135は、所定の情報コンテンツに関する所定の行動が実行されたか否かを示す結果情報と、取得部132によって取得された端末情報との関係性を学習することにより、所定の情報コンテンツに関する所定の行動が実行される傾向を示すモデルを生成する。具体的には、生成部135は、所定のアプリをインストールしたか否かを示す結果情報と、端末情報との関係性を学習することにより、所定のアプリをインストールする傾向を示すモデルを生成する。
上述のように、生成部135は、アプリごと(アプリと広告が1対1に対応する場合には、「広告ごと」と言い換えることもできる)にモデルを生成する。すなわち、生成部135は、所定のアプリをインストールしたか否かを示す結果情報を、機械学習における目的変数とする。そして、生成部135は、所定のアプリに対応付けられた広告を受信したユーザ端末10における特徴情報を、機械学習における説明変数とする。そして、生成部135は、目的変数と説明変数とを用いて、所定のアプリに関するモデルを生成する。これにより、生成部135は、所定のアプリをインストールする傾向にあるユーザ端末10を精度よく特定することのできるモデルを生成する。
生成部135は、種々の説明変数を用いてモデルを生成する。例えば、生成部135は、ユーザ端末10にインストールされたアプリから抽出されるユーザの特徴情報を説明変数として用いる。一例として、生成部135は、アプリ情報から抽出される特徴情報として、ユーザ端末10にインストールされたアプリに設定されるタイプもしくは要素に基づき特定される情報であって、ユーザ端末10のユーザの関心を示す情報である関心情報を用いて、モデルを生成する。また、生成部135は、アプリ情報から抽出される特徴情報として、ユーザ端末10にインストールされたゲームアプリに設定されるタイプもしくは要素に基づき特定される情報であって、ユーザ端末10のユーザのゲーム嗜好を示す情報である嗜好情報を用いて、モデルを生成してもよい。なお、上述のように、アプリのタイプもしくは要素は、抽出部134がダウンロードサイト等の紹介文を解析することにより、アプリごとに設定されてもよい。すなわち、生成部135は、アプリを提供する提供者側からアプリに対して設定されるアプリの紹介に基づいて、ユーザ端末10にインストールされたアプリのタイプもしくは要素を設定することができる。
下記に、生成部135が生成するモデルの一例を説明する。なお、生成部135が生成するモデルに関する学習手法は、下記の例に限らず、種々の既知の機械学習の手法が採用されてもよい。
例えば、生成部135は、ユーザ端末10において所定のアプリがインストールされたか否かと、ユーザ端末10の端末情報との関係を示す式を生成する。さらに、生成部135は、ユーザ端末10の端末情報から抽出される個々の特徴情報が、所定のアプリがインストールされるという事象に対して、どのような重みを有するかを算出する。これにより、生成部135は、所定のアプリのインストールという事象に対して、個々の特徴情報がどのくらい寄与するのかといった情報を得ることができる。例えば、生成部135は、図12で示したアプリA100がインストールされる傾向を示すモデルの生成にあたり、下記式(1)を作成する。
y(A100) = ω1・x1 + ω2・x2 + ω3・x3 ・・・+ ωN・xN ・・・(1)(Nは任意の数)
上記式(1)は、例えば、アプリA100が対応付けられた広告が配信されたユーザ端末10ごとに作成される。上記式(1)において、「y(A100)」は、「広告が配信されたユーザ端末10において、アプリA100がインストールされたか否か」という事象を示す。
また、上記式(1)において、「x」は、ユーザ端末10の各説明変数に対応する。また、上記式(1)における「x1、x2、x3、・・・、xN」という説明変数は、図10に示した変数に対応する。具体的には、上記式(1)に「x26」が含まれる場合、「x26」は、図10に示した変数ID「E26」の変数に対応し、その内容は、「関心_ネットショッピング」である。すなわち、上記式(1)の右辺は、図12で示したような、ユーザ端末10の端末情報から抽出された特徴情報データに対応する。
また、上記式(1)において、「ω」は、「x」の係数であり、所定の重み値を示す。具体的には、「ω1」は、「x1」の重み値であり、「ω2」は、「x2」の重み値であり、「ω3」は、「x3」の重み値である。このように、上記式(1)は、端末情報から抽出された特徴情報に対応する説明変数「x」と、所定の重み値「ω」とを含む変数(例えば、「ω1・x1」)を組合せることにより作成される。
図7及び図11を参照し、具体例を挙げて説明する。なお、以下の説明では、便宜上、端末IDをユーザの参照符号として用いる。例えば、端末ID「F11」で識別されるユーザ端末10のユーザを、「ユーザF11」として表記する。また、上記式(1)において、仮に、「x1」が「性別」に対応し、「x2」が「年齢」に対応し、「x3」が「地域」に対応する説明変数であるとする。この場合、ユーザF11に対応する上記式(1)は、以下の式(2)のように表すことができる。
y(A100、F11)(= 1) = ω1・(男性) + ω2・(30歳代) + ω3・(A県) + ωN・xN ・・・(2)
同様に、ユーザF12や、ユーザF13については、それぞれ下記式(3)、(4)のように表すことができる。
y(A100、F12)(= 0) = ω1・(男性) + ω2・(40歳代) + ω3・(B県) + ωN・xN ・・・(3)
y(A100、F13)(= 1) = ω1・(女性) + ω2・(20歳代) + ω3・(C県) + ωN・xN ・・・(4)
生成部135は、上記式(2)、(3)及び(4)のように、ユーザごと(ユーザ端末10ごと)に式を生成し、生成した式を機械学習のサンプルとする。そして、生成部135は、サンプルとなる式の演算処理を行うことにより、所定の重み値「ω」に対応する値を導出する。すなわち、生成部135は、上記式(2)、(3)及び(4)を満たすような所定の重み値「ω」を決定する。言い換えれば、生成部135は、所定の説明変数が目的変数「y」に与える影響を示す重み値「ω」を決定することができる。例えば、アプリA100をインストールするユーザの特徴を示す情報として、「性別」が他の変数と比較して大きく寄与しているのであれば、「性別」に対応する重み値「ω1」の値は、他の変数と比較して大きな値が算出される。なお、上記の例では、説明変数が「性別」や「年齢」や「地域」など、ユーザの属性情報である例を示したが、実際には、上記式(2)等には、ユーザ端末10の装置情報や、アプリ情報など、種々の説明変数が含まれる。すなわち、生成部135は、図7乃至図12で例示したような、端末情報又は端末情報から抽出される種々の特徴情報を説明変数として、モデルを生成することができる。
上記のようにして、生成部135は、アプリA100がインストールされる傾向という事象と、ユーザ端末10から取得する端末情報とを関連付けるモデルを生成する。なお、上記式(2)、(3)及び(4)を用いた算出処理では、左辺を「1」や「0」そのものとするのではなく、所定の誤差を想定し、かかる誤差との差異を2乗した値が最小値となるよう近似する最小二乗法などの手法を用いて、「ω」の最適解を算出してもよい。
なお、生成部135は、生成したモデルに、ユーザ端末10の端末情報から抽出された特徴情報を代入する場合には、「関心_ネットショッピング」などの「有る」か「無し」かによって判定される変数については、「1」や「0」の数値を代入する。また、生成部135は、解像度などの変数に関しては、既知の手法に従い、説明変数として示される事象を、モデルで扱うことができるよう正規化するなど、様々な既知の手法を応用してもよい。
また、生成部135は、モデルを生成した後に、取得部132が新たな端末情報を取得した場合には、随時、モデルを更新してもよい。これにより、生成部135は、アプリをインストールする傾向にあるユーザ端末10の特徴を示したモデルを最適化していくことができる。
(受信部136について)
受信部136は、広告の配信要求を受信する。具体的には、受信部136は、ウェブページを表示するユーザ端末10から送信される要求であって、ウェブページに含まれる広告枠で表示する広告の配信に関する要求を受信する。
また、受信部136は、ユーザ端末10から送信される情報提供の要求を受け付けるとともに、ユーザ端末10から端末情報を受信してもよい。例えば、受信部136は、ユーザ端末10の端末情報の一例として、ユーザ端末10を識別する識別情報を受信する。この場合、受信部136は、受信した情報を取得部132や特定部137へ送る。
(特定部137について)
特定部137は、生成部135によって生成されたモデルに基づいて、所定の情報コンテンツを提供する提供先となるユーザ端末10を特定する。具体的には、特定部137は、広告に対応付けられたアプリがインストールされる傾向を示すモデルが示した傾向(すなわち、出力される値)に基づいて、当該アプリが対応付けられた広告を配信する配信先となるユーザ端末10を特定する。
例えば、特定部137は、受信部136によって広告配信の要求が受信された場合、要求を送信したユーザ端末10の端末情報を取得する。そして、特定部137は、取得した端末情報を、生成部135が生成したモデルに入力する。そして、特定部137は、モデルから出力される結果に基づいて、モデルに対応する広告を配信するか否かを判定する。例えば、特定部137は、モデルから出力される結果に基づいて、ユーザがアプリをインストールする確率を算出する。そして、特定部137は、算出された確率が所定の値以上を示す場合に、当該モデルに対応する広告を配信すると判定し、配信先となるユーザ端末10を特定する。
他の例としては、特定部137は、モデルから出力される値が所定の閾値を超えている場合に、モデルに対応するアプリが配信先のユーザ端末10においてインストールされる可能性が高いと判定する。そして、特定部137は、当該アプリに対応する広告を配信する配信先を特定する。一方、特定部137は、モデルから出力される値が所定の閾値を超えていない場合は、モデルに対応するアプリが配信先のユーザ端末10においてインストールされる可能性が低いと判定する。この場合、特定部137は、例えば、モデルから出力される値が所定の閾値を超えるまで、別のモデルに端末情報を入力することを繰り返してもよい。あるいは、特定部137は、モデルを用いずに広告を配信すると判定してもよい。なお、特定部137は、配信しようとする広告に対応するモデルが存在しない場合にも、モデルを用いずに広告を配信すると判定してもよい。上記の例の場合、モデルが出力する値とは、アプリをインストールする確率に限られず、任意の指標値であればよい。
また、特定部137は、モデルを生成した以後も、所定の場合には、広告を配信するユーザ端末10を、モデルを用いずに特定してもよい。例えば、学習処理が過度に行われた場合、特定部137は、あるユーザ端末10に対して、常に同じ広告を配信するよう判定する可能性がある。このような場合、広告配信において一定のランダム性を確保するため、特定部137は、モデルを用いずに特定処理を行ってもよい。
(配信部138について)
配信部138は、特定部137によって判定された結果に基づき、広告の配信先として判定されたユーザ端末10に対して、広告を配信する。
なお、上述のように、実際にユーザ端末10に配信される広告のデータ自体は、学習装置100に係る広告情報記憶部121内に記憶されていなくてもよい。例えば、配信部138は、外部に備えられた所定のストレージサーバに制御命令を送信することで、広告をユーザ端末10に配信させてもよい。
〔4.端末装置の構成〕
次に、図14を用いて、実施形態に係るユーザ端末10の構成について説明する。図14は、実施形態に係るユーザ端末10の構成例を示す図である。図14に示すように、ユーザ端末10は、通信部11と、入力部12と、表示部13と、検知部14と、記憶部15と、制御部16とを有する。なお、ユーザ端末10が有する各処理部の接続関係は、図14に示した接続関係に限られず、他の接続関係であってもよい。
通信部11は、ネットワークNと有線又は無線で接続され、ウェブサーバ30や学習装置100との間で情報の送受信を行う。例えば、通信部11は、NIC等によって実現される。
入力部12は、ユーザから各種操作を受け付ける入力装置である。例えば、入力部12は、ユーザ端末10に備えられた操作キー等によって実現される。また、入力部12には、画像を撮影するための撮像装置(カメラ等)や、音声を集音する集音機器(マイク等)が含まれてもよい。
表示部13は、各種情報を表示するための表示装置である。例えば、表示部13は、液晶ディスプレイ等によって実現される。なお、ユーザ端末10にタッチパネルが採用される場合には、入力部12の一部と表示部13とは一体化される。
検知部14は、ユーザ端末10に対する各種操作や、ユーザ端末10の周囲の環境情報等を検知する。例えば、検知部14は、各種情報を検知するセンサやアンテナにより実現される。具体的には、検知部14は、ユーザ端末10と接続されている機器に関する通信状況や、ユーザ端末10の周囲の照度や騒音、ユーザ端末10の物理的な動き、ユーザ端末10の位置情報等を検知する。
記憶部15は、各種情報を記憶する。記憶部15は、例えば、RAM、フラッシュメモリ等の半導体メモリ素子、または、ハードディスク、光ディスク等の記憶装置によって実現される。図14に示す例では、記憶部15は、インストール情報記憶部151を有する。インストール情報記憶部151は、例えば、ユーザ端末10にインストールされたアプリの情報を記憶する。
制御部16は、例えば、CPUやMPU等によって、ユーザ端末10内部の記憶装置に記憶されている各種プログラムがRAMを作業領域として実行されることにより実現される。また、制御部16は、例えば、ASICやFPGA等の集積回路により実現される。
制御部16は、ユーザ端末10において行われる各種処理を制御する。図14に示すように、制御部16は、受信部161と、取得部162と、実行部163と、送信部164とを有し、以下に説明する情報処理の機能や作用を実現または実行する。
受信部161は、各種情報を受信する。例えば、受信部161は、ウェブサーバ30や学習装置100から送信される情報を受信する。具体的には、受信部161は、広告配信の要求に応じて配信された広告を受信する。また、受信部161は、検知部14が検知する各種情報を受信する。
取得部162は、各種情報やデータを取得する。例えば、取得部162は、ウェブサーバ30にアクセスすることで、ユーザが閲覧を所望するウェブページを取得する。また、取得部162は、受信部161によって受信された広告データ等を取得する。また、取得部162は、アプリのダウンロードサイト等を介して、アプリのインストールに用いるデータを取得する。
実行部163は、ユーザ端末10における各種処理を実行する。例えば、実行部163は、アプリをインストールする処理を実行する。実行部163がアプリをインストールした場合、インストールに関する情報は、インストール情報記憶部151に格納される。
送信部164は、各種情報を送信する。例えば、送信部164は、取得部162によって取得されたウェブページに広告枠が含まれる場合には、広告配信の要求を学習装置100に送信する。また、送信部164は、記憶部15等を参照し、ユーザ端末10の端末情報を学習装置100に送信する。
〔5.処理手順〕
次に、図15及び図16を用いて、実施形態に係る学習装置100による処理の手順について説明する。まず、図15を用いて、モデルの生成に関する処理手順を説明する。図15は、実施形態に係る処理手順を示すフローチャート(1)である。
図15に示すように、学習装置100は、広告主端末20から広告の入稿を受け付ける(ステップS101)。そして、学習装置100は、入稿された広告に対応するアプリを特定する(ステップS102)。
その後、学習装置100は、ユーザ端末10から広告配信の要求を受け付けたか否かを判定する(ステップS103)。学習装置100は、広告配信の要求を受け付けていない場合、受け付けるまで待機する(ステップS103;No)。
一方、広告配信の要求を受け付けた場合(ステップS103;Yes)、学習装置100は、要求を送信したユーザ端末10に対して広告を配信する(ステップS104)。その後、学習装置100は、広告を配信したユーザ端末10から、広告に対応したアプリをインストールしたか否かを示す結果情報と、端末情報とを取得する(ステップS105)。
そして、学習装置100は、端末情報から特徴情報を抽出する(ステップS106)。続いて、学習装置100は、処理対象となるアプリに対応するモデルが既に存在しているか否かを判定する(ステップS107)。モデルが存在する場合には(ステップS107;Yes)、学習装置100は、取得した端末情報に基づいて、モデルの更新処理を行う(ステップS108)。
一方、モデルが存在しない場合には(ステップS107;No)、学習装置100は、取得した結果情報と端末情報とに基づいて、新たにモデルの生成処理を行う(ステップS109)。その後、学習装置100は、端末情報の取得処理を繰り返すことにより、モデルを最適化していく。なお、学習装置100は、結果情報や端末情報を外部サーバ等から取得可能な場合には、ステップS101乃至S104の処理を省略してもよい。
次に、図16を用いて、広告配信に関する処理手順を説明する。図16は、実施形態に係る処理手順を示すフローチャート(2)である。
図16に示すように、学習装置100は、ユーザ端末10から広告配信の要求を受け付けたか否かを判定する(ステップS201)。学習装置100は、広告配信の要求を受け付けていない場合、受け付けるまで待機する(ステップS201;No)。
一方、広告配信の要求を受け付けた場合(ステップS201;Yes)、学習装置100は、要求を送信したユーザ端末10から端末情報を取得する(ステップS202)。そして、学習装置100は、取得した端末情報を説明変数として、任意に選択したモデルに入力する(ステップS203)。
そして、学習装置100は、出力された値が一定の閾値を超えたか否かを判定する(ステップS204)。所定の閾値を超えた場合(ステップS204;Yes)、学習装置100は、モデルに対応する広告をユーザ端末10に配信する(ステップS205)。
一方、出力された値が一定の閾値を超えない場合(ステップS204;No)、学習装置100は、他のモデルが存在するか否かを判定する(ステップS206)。他のモデルが存在しない場合(ステップS206;No)、学習装置100は、モデルを利用せずに広告を配信する(ステップS207)。
一方、他のモデルが存在する場合(ステップS206;Yes)、学習装置100は、他のモデルを選択する(ステップS208)。そして、学習装置100は、選択したモデルに端末情報を入力する処理を繰り返す(ステップS203)。
〔6.変形例〕
上述した学習装置100は、上記実施形態以外にも種々の異なる形態にて実施されてよい。そこで、以下では、学習装置100の他の実施形態について説明する。
〔6−1.変数の種類〕
上述した実施形態において、取得部132は、端末情報として、ユーザ端末10のユーザの属性情報や、ユーザ端末10の装置情報や、アプリ情報を取得する例を示した。また、抽出部134は、取得部132が取得した情報に基づいて、特徴情報を抽出する例を示した。取得部132や抽出部134は、これらの例に限られず、さらに種々の端末情報を取得したり、特徴情報を抽出したりしてもよい。
例えば、取得部132は、ユーザ端末10のOS(Operating System)の種類やバージョン情報、縦画面や横画面の解像度、総画素数等を取得してもよい。また、取得部132は、ユーザ端末10にインストールされたアプリのうち、ゲームアプリの占める割合等を取得するようにしてもよい。
また、抽出部134は、端末情報から抽出される特徴情報として、図10に例示した変数以外にも抽出するようにしてもよい。例えば、抽出部134は、抽出される特徴情報の種別として、興味関心であれば、アルバイトや転職、出会いや結婚、住居や車、家計簿やクーポンやポイント、暇つぶし、ゴルフ等の種々のスポーツ、英語などの語学や料理、旅行やファッションやブランド、ダイエットや女性ターゲット商品や学生ターゲット商品、フリーマーケット、イラストや写真など、種々の情報を特徴情報(説明変数)として抽出してもよい。抽出部134は、例えば、アプリごとに設定された要素に基づいて、各種興味関心に対応する変数を抽出する。
また、抽出部134は、端末情報から抽出される特徴情報の種別として、ゲーム嗜好であれば、図10に例示したジャンル以外のジャンル(例えば、スポーツ、カジュアル、ボード、恋愛、美少女、育成、戦国・三国志)や、カード、戦略、シナリオ、ギャンブルといったような分類、キャラ、課金の有無など、種々の情報を特徴情報(説明変数)として抽出してもよい。すなわち、抽出部134によれば、ユーザ端末10のユーザが、例えば、「ゲーム嗜好_カード」や、「ゲーム嗜好_戦略」といった変数が与えられるようなゲームアプリをインストールしている、といった情報を抽出できる。そして、特定部137は、抽出された情報を説明変数としてモデルに入力することで、そのモデルに対応付けられたアプリが当該ユーザからインストールされる傾向にあるか否かという情報を出力することができる。
〔6−2.情報コンテンツの種類〕
上記実施形態では、ユーザに提供される情報コンテンツとして、アプリが対応付けられた広告を例に挙げた。しかし、情報コンテンツは、このような広告に限られない。例えば、情報コンテンツは、アプリが対応付けられていない広告であって、選択された場合にランディングページを表示するような広告であってもよい。この場合、生成部135は、目的変数を「広告がクリックされること」としたモデルを生成してもよい。これにより、特定部137は、配信される広告をクリックする傾向にあるユーザを特定して、広告を配信させることができる。
また、情報コンテンツは、広告に限られず、商品のレコメンド情報等でもよい。この場合、生成部135は、目的変数を「レコメンドされた商品が購入されること」としたモデルを生成してもよい。これにより、特定部137は、レコメンドされた商品を購入する傾向にあるユーザを特定して、レコメンド情報を提供させることができる。
〔6−3.媒体との関係〕
上述した実施形態において、特定部137は、生成部135によって生成されたモデルに基づいて、広告を配信するユーザ端末10を特定する例を示した。ここで、特定部137は、さらに、広告主から受け付ける所定の条件に基づいて、特定処理を行ってもよい。
例えば、広告主によっては、自身が入稿する広告を表示させる媒体コンテンツ(例えば、ウェブページやアプリなど)を指定する場合がある。具体的には、広告主は、広告の訴求効果を高めるため、特定のカテゴリの情報が掲載されているコンテンツに自身の広告を表示させたい場合がある。あるいは、広告主は、競合他社が提供するウェブページには、自身が入稿する広告を表示させないようにさせたい場合がある。
この場合、特定部137は、モデルにより出力される結果とともに、広告主から指定された条件も加味して、広告を配信するユーザ端末10を特定するようにしてもよい。これにより、広告主は、例えインストールされる可能性が高いユーザが表示しているウェブページであっても、自身の広告が掲載されることを望まないウェブページには、広告を表示させないことができる。
〔6−4.外部情報の利用〕
学習装置100は、端末情報として、ユーザ端末10を利用するユーザに関するさらに詳細な情報を利用してモデルを生成することができる場合には、それらの情報を利用してもよい。例えば、学習装置100は、ユーザに関して、公共機関等が発表する公的な調査結果などを取得する。一例として、学習装置100は、ユーザを含む国民一般の平均的な年収と地域との関係性などの調査結果を取得する。そして、学習装置100は、ユーザの地域を特定できる場合には、その地域における平均の年収額を特徴情報の1つとして利用してもよい。
また、他の例として、学習装置100は、ユーザを含む国民一般の娯楽や育児に費やす平均的な時間と年齢との関係性などの調査結果を取得する。そして、学習装置100は、ユーザの年齢を特定もしくは推定できる場合には、その年齢に対応する娯楽や育児に費やす平均的な時間を特徴情報の1つとして利用してもよい。このような処理により、学習装置100は、端末間では取得しにくい情報を利用したモデルを生成することができる。これにより、学習装置100は、ユーザの特徴をより的確に捉える特徴情報を得ることができる。
〔7.ハードウェア構成〕
上述してきた実施形態に係る学習装置100やユーザ端末10は、例えば図17に示すような構成のコンピュータ1000によって実現される。以下、学習装置100を例に挙げて説明する。図17は、学習装置100の機能を実現するコンピュータ1000の一例を示すハードウェア構成図である。コンピュータ1000は、CPU1100、RAM1200、ROM1300、HDD1400、通信インターフェイス(I/F)1500、入出力インターフェイス(I/F)1600、及びメディアインターフェイス(I/F)1700を有する。
CPU1100は、ROM1300又はHDD1400に記憶されたプログラムに基づいて動作し、各部の制御を行う。ROM1300は、コンピュータ1000の起動時にCPU1100によって実行されるブートプログラムや、コンピュータ1000のハードウェアに依存するプログラム等を記憶する。
HDD1400は、CPU1100によって実行されるプログラム、及び、かかるプログラムによって使用されるデータ等を記憶する。通信インターフェイス1500は、通信網500(図4に示したネットワークNに対応)を介して他の機器からデータを受信してCPU1100へ送り、CPU1100が生成したデータを、通信網500を介して他の機器へ送信する。
CPU1100は、入出力インターフェイス1600を介して、ディスプレイやプリンタ等の出力装置、及び、キーボードやマウス等の入力装置を制御する。CPU1100は、入出力インターフェイス1600を介して、入力装置からデータを取得する。また、CPU1100は、入出力インターフェイス1600を介して生成したデータを出力装置へ出力する。
メディアインターフェイス1700は、記録媒体1800に記憶されたプログラム又はデータを読み取り、RAM1200を介してCPU1100に提供する。CPU1100は、かかるプログラムを、メディアインターフェイス1700を介して記録媒体1800からRAM1200上にロードし、ロードしたプログラムを実行する。記録媒体1800は、例えばDVD(Digital Versatile Disc)、PD(Phase change rewritable Disk)等の光学記録媒体、MO(Magneto-Optical disk)等の光磁気記録媒体、テープ媒体、磁気記録媒体、または半導体メモリ等である。
例えば、コンピュータ1000が実施形態に係る学習装置100として機能する場合、コンピュータ1000のCPU1100は、RAM1200上にロードされたプログラムを実行することにより、制御部130の機能を実現する。また、HDD1400には、記憶部120内のデータが記憶される。コンピュータ1000のCPU1100は、これらのプログラムを記録媒体1800から読み取って実行するが、他の例として、他の装置から通信網500を介してこれらのプログラムを取得してもよい。
〔8.その他〕
また、上記実施形態において説明した各処理のうち、自動的に行われるものとして説明した処理の全部または一部を手動的に行うこともでき、あるいは、手動的に行われるものとして説明した処理の全部または一部を公知の方法で自動的に行うこともできる。この他、上記文書中や図面中で示した処理手順、具体的名称、各種のデータやパラメータを含む情報については、特記する場合を除いて任意に変更することができる。例えば、各図に示した各種情報は、図示した情報に限られない。
また、図示した各装置の各構成要素は機能概念的なものであり、必ずしも物理的に図示の如く構成されていることを要しない。すなわち、各装置の分散・統合の具体的形態は図示のものに限られず、その全部または一部を、各種の負荷や使用状況などに応じて、任意の単位で機能的または物理的に分散・統合して構成することができる。例えば、図5に示した取得部132と、受信部136とは統合されてもよい。また、図5に示した特定部137は、モデルに基づいてユーザ端末10がアプリをインストールする確率を算出する算出部と、算出された結果に基づいてユーザ端末10に広告を配信するか否かを判定する判定部と、判定された結果に基づいて配信先のユーザ端末10を特定する特定部と、に分散されてもよい。また、例えば、記憶部120に記憶される情報は、ネットワークNを介して、外部に備えられた所定の記憶装置に記憶されてもよい。
また、上記実施形態では、学習装置100が、例えば、広告(情報コンテンツ)の入稿を受け付ける受付処理と、アプリとユーザとの関係性を学習する学習処理と、広告を配信する配信処理とを行う例を示した。しかし、上述した学習装置100は、受付処理を行う受付装置と、学習処理を行う学習装置と、配信処理を行う配信装置とに分離されてもよい。この場合、受付装置は、少なくとも入稿受付部131を有する。学習装置は、少なくとも学習部133を有する。また、配信装置は、少なくとも配信部138を有する。そして、上記の学習装置100による処理は、受付装置と、学習装置と、配信装置との各装置を有する学習処理システム1によって実現される。
また、上述してきた実施形態及び変形例は、処理内容を矛盾させない範囲で適宜組み合わせることが可能である。
〔9.効果〕
上述してきたように、実施形態に係る学習装置100は、取得部132と、生成部135と、特定部137とを有する。取得部132は、情報コンテンツ(例えば、広告)を受信するユーザ端末10に関する情報である端末情報を取得する。生成部135は、所定の情報コンテンツに関する所定の行動が実行されたか否かを示す結果情報と、取得部132によって取得された端末情報との関係性を学習することにより、所定の情報コンテンツに関する所定の行動が実行される傾向を示すモデルを生成する。特定部137は、生成部135によって生成されたモデルに基づいて、所定の情報コンテンツを提供する提供先となるユーザ端末10を特定する。
このように、実施形態に係る学習装置100は、提供する情報コンテンツに対する所定の行動と、情報コンテンツが提供された提供先の端末情報との関係性を学習することで、情報コンテンツに対応するモデルを生成することができる。学習装置100は、生成したモデルが示す傾向(例えば、所定の情報コンテンツに関する所定の行動が実行される確率)を用いて情報コンテンツの提供先を特定することにより、提供される情報コンテンツと提供先のユーザとのマッチングを適切に行うことができる。
また、生成部135は、結果情報と、端末情報から抽出される情報であって、ユーザ端末10又はユーザ端末10を利用するユーザの特徴を示す情報である特徴情報との関係性を学習することにより、モデルを生成する。
このように、実施形態に係る学習装置100は、取得した端末情報から、ユーザ端末10や、ユーザ端末10のユーザの特徴を示す情報を抽出する。これにより、学習装置100は、ユーザ端末10や、ユーザ端末10のユーザの特徴を示す多数の情報を取得することができるため、より的確に情報コンテンツの提供先の特徴をモデルに反映することができる。このため、学習装置100は、生成するモデルの精度を向上させることができる。
また、生成部135は、端末情報から抽出される特徴情報として、ユーザの属性を示す情報である属性情報を用いて、モデルを生成する。具体的には、生成部135は、属性情報として、ユーザの性別、年齢、居住地の少なくとも1つを用いて、モデルを生成する。
このように、実施形態に係る学習装置100は、ユーザの属性情報を用いて、モデルを生成する。ユーザの属性情報には、年齢や性別など、ユーザの素性を示す情報が多く含まれる。すなわち、学習装置100は、属性情報を用いてモデルを生成することで、ユーザの特徴をより反映させたモデルを生成することができる。これにより、学習装置100は、モデルの精度を向上させることができる。
また、取得部132は、端末情報として、ユーザ端末10の製品としての情報である装置情報を取得する。生成部135は、装置情報から抽出される特徴情報を用いて、モデルを生成する。具体的には、生成部135は、装置情報から抽出される特徴情報として、ユーザ端末10に設定された型番、ブランド名、販売から経過した時間、通信キャリア名、メーカー名、解像度の少なくとも1つを用いて、モデルを生成する。
このように、実施形態に係る学習装置100は、ユーザ端末10の製品としての情報を取得し、情報コンテンツの提供先としての特徴を示す情報として用いる。製品としての情報は、ブランドやスペックなどを含むため、ユーザ端末10を利用するユーザの好みや性格といった特徴を反映させる要素となりうる。そして、学習装置100は、装置情報をモデルに反映させることで、ユーザの特徴を多角的に入力することができるため、情報コンテンツの提供先となるユーザを的確に特定できるモデルを生成することができる。
また、取得部132は、アプリに関する広告を受信可能なユーザ端末10であって、当該アプリをインストール可能なユーザ端末10に関する端末情報を取得する。生成部135は、所定のアプリがユーザ端末10にインストールされたか否かを示す結果情報と、取得部132によって取得された端末情報との関係性を学習することにより、当該所定のアプリがインストールされる傾向を示すモデルを生成する。特定部137は、生成部135によって生成されたモデルに基づいて、所定のアプリに関する広告の提供先となるユーザ端末10を特定する。
これにより、実施形態に係る学習装置100は、広告に対応付けられたアプリをインストールし易いユーザを判定するモデルを生成することができる。そして、学習装置100は、モデルに基づいて広告の配信先を特定することにより、過去にアプリをインストールしたユーザと類似する傾向にあるユーザに広告を配信する。このため、学習装置100は、配信される広告と配信先のユーザとのマッチングを適切に行うことができる。
また、取得部132は、端末情報として、ユーザ端末10にインストールされたアプリに関する情報であるアプリ情報を取得する。生成部135は、結果情報と、アプリ情報から抽出される特徴情報との関係性を学習することにより、所定のアプリをインストールする傾向を示すモデルを生成する。
このように、実施形態に係る学習装置100は、ユーザ端末10内に既にインストールされたアプリに関する情報を取得することで、例えば、似たようなアプリをインストールする傾向にあるユーザなどを精度よく推定することができる。これにより、学習装置100は、生成するモデルの精度を向上させることができる。
また、生成部135は、アプリ情報から抽出される特徴情報として、ユーザ端末10にインストールされたアプリの総数、ユーザ端末10にインストールされたゲームアプリの数、ユーザ端末10にインストールされたゲーム以外のアプリの数、又は、ユーザ端末10にインストールされたアプリの総数とゲームアプリの数との割合の少なくとも1つを用いて、モデルを生成する。
このように、実施形態に係る学習装置100は、ユーザ端末10内にインストールされたアプリの数に関する情報を特徴情報として用いる。これらの情報は、例えば、ユーザ端末10にインストールされたアプリの数が多いユーザほど新たなアプリをインストールする可能性が高いことや、ゲームアプリの数が多いユーザほど他のゲームアプリをインストールする可能性が高いことなど、ユーザの行動や特徴を示す情報となりうる。学習装置100は、このような情報を学習してモデルを生成することで、モデルの精度を向上させることができる。
また、生成部135は、アプリ情報から抽出される特徴情報として、ユーザ端末10にインストールされたアプリに設定されるタイプもしくは要素に基づき特定される情報であって、ユーザ端末10のユーザの関心を示す情報である関心情報を用いて、モデルを生成する。また、生成部135は、アプリ情報から抽出される特徴情報として、ユーザ端末10にインストールされたゲームアプリに設定されるタイプもしくは要素に基づき特定される情報であって、ユーザ端末10のユーザのゲーム嗜好を示す情報である嗜好情報を用いて、モデルを生成してもよい。
このように、実施形態に係る学習装置100は、インストールされたアプリの数に限らず、アプリのタイプや、アプリが有する要素も加味して、ユーザを特徴付ける特徴情報を抽出する。このため、学習装置100は、ユーザに関して詳細な特徴付けを行うことができ、また、その情報をモデルに反映することで、モデルの精度を向上させることができる。
また、生成部135は、アプリを提供する提供者側からアプリに対して設定されるアプリの紹介に基づいて、ユーザ端末10にインストールされたアプリのタイプもしくは要素を設定する。
このように、実施形態に係る学習装置100は、例えば、アプリのダウンロードサイト等に登録されるアプリの紹介文などを解析することで、アプリに対してタイプや要素を設定することができる。これにより、学習装置100は、人為的にアプリにタイプや要素の特徴付けを行うことなく、自動的にアプリに対してタイプや要素を設定することができる。このため、学習装置100は、例えば、学習装置100の管理者等の手間を軽減させることができる。
以上、本願の実施形態を図面に基づいて詳細に説明したが、これは例示であり、発明の開示の欄に記載の態様を始めとして、当業者の知識に基づいて種々の変形、改良を施した他の形態で本発明を実施することが可能である。
また、上述してきた「部(section、module、unit)」は、「手段」や「回路」などに読み替えることができる。例えば、取得部は、取得手段や取得回路に読み替えることができる。