(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2024-07-26
(45)【発行日】2024-08-05
(54)【発明の名称】予測システム、予測方法、及びプログラム
(51)【国際特許分類】
G06Q 30/0207 20230101AFI20240729BHJP
G06Q 10/04 20230101ALI20240729BHJP
G06N 20/00 20190101ALI20240729BHJP
【FI】
G06Q30/0207 350
G06Q10/04
G06Q30/0207 346
G06N20/00
(21)【出願番号】P 2019236792
(22)【出願日】2019-12-26
【審査請求日】2022-11-09
(73)【特許権者】
【識別番号】399037405
【氏名又は名称】楽天グループ株式会社
(74)【代理人】
【識別番号】110000154
【氏名又は名称】弁理士法人はるか国際特許事務所
(72)【発明者】
【氏名】ウェンドクーニ モイス コンボルボ
【審査官】松野 広一
(56)【参考文献】
【文献】特開2016-001422(JP,A)
【文献】米国特許出願公開第2014/0222503(US,A1)
【文献】特開2016-042297(JP,A)
【文献】特開2019-088456(JP,A)
【文献】特開2013-003861(JP,A)
【文献】特開2003-077067(JP,A)
【文献】特開2017-188031(JP,A)
【文献】米国特許出願公開第2010/0161385(US,A1)
【文献】米国特許出願公開第2018/0349953(US,A1)
(58)【調査した分野】(Int.Cl.,DB名)
G06Q 10/00-99/00
G06N 20/00
(57)【特許請求の範囲】
【請求項1】
過去にサービスを利用した複数のユーザの各々の行動履歴と、
前記サービス
がコンバージョンされたか放棄されたかそれ以外かの利用結果と、の関係が学習された学習モデルと、
前記サービスを利用中のユーザの最新の行動履歴を取得する取得手段と、
前記利用中のユーザの最新の行動履歴と前記学習モデルとに基づいて、前記利用中のユーザの最新の前記利用結果を予測する予測手段と、
予測された前記最新の利用結果が過去に予測された前記利用結果から
の変化
として、前記コンバージョンの蓋然性が最も高い状態から前記放棄の蓋然性が最も高い状態に変化した場合、又は、前記コンバージョンの蓋然性の減少量が閾値以上であった場合、又は、前記放棄の蓋然性の増加量が閾値以上であった場合に、予測された前記最新の利用結果に応じた処理
として、前記利用中のユーザに対し、前記サービスに関する特典を付与する実行手段と、
を含むことを特徴とする予測システム。
【請求項2】
施設を予約又は商品を購入するためのページが閲覧されることによって利用されるサービスを過去に利用した複数のユーザの各々の閲覧履歴と、前記サービスがコンバージョンされたか否かの結果と、の関係が学習された学習モデルと、
前記サービスを利用中のユーザの閲覧履歴を取得する取得手段と、
前記利用中のユーザの閲覧履歴と前記学習モデルとに基づいて、前記利用中のユーザにより前記サービスがコンバージョンされるか否かを予測する予測手段と、
前記利用中のユーザにより前記サービスがコンバージョンされないことが予測された場合に、予測されたコンバージョンの有無に応じた処理として、前記利用中のユーザに対し、前記サービスに関するクーポン又はポイントを付与
し、前記利用中のユーザにより前記サービスがコンバージョンされることが予測された場合に、前記利用中のユーザに対し、前記クーポン又は前記ポイントを付与しない実行手段と、
を含むことを特徴とする予測システム。
【請求項3】
複数のステップの各々が順次行われることによって利用されるサービスを過去に利用した複数のユーザの各々により行われた少なくとも1つの前記ステップを示す行動履歴と、前記行動履歴に含まれる前記サービスの利用結果と、の関係が
、前記ステップごとに別々に用意された学習モデル
ごとに用意され、自身の前記ステップに対応する前記関係が学習された前記学習モデルと、
前記利用中のユーザにより行われた少なくとも1つの前記ステップを、前記サービスを利用中のユーザの行動履歴として取得する取得手段と、
複数の前記学習モデルの中から、前記利用中のユーザにより現在行われているステップに対応する学習モデルを選択し、当該選択した学習モデ
ルと、前記利用中のユーザの行動履歴と、に基づいて、前記利用中のユーザの前記利用結果を予測する予測手段と、
予測された前記利用結果に応じた処理を実行する実行手段と、
を含むことを特徴とする予測システム。
【請求項4】
前記予測システムは、各学習モデルに、対応するステップまで進んだことを示す行動履歴と、前記行動履歴に含まれる前記利用結果と、の関係を学習させる学習手段、
を更に含むことを特徴とする請求項3に記載の予測システム。
【請求項5】
各ステップでは、前記サービスを利用するためのページが表示され、
前記学習モデルは、前記ページが表示される順番ごとに用意され、
前記予測手段は、前記複数の学習モデルの中から、前記利用中のユーザにより現在表示されたページの順番に対応する学習モデルを選択する、
ことを特徴とする請求項3又は
4に記載の予測システム。
【請求項6】
前記学習モデルは、前記利用結果の蓋然性を出力し、
前記実行手段は、予測された前記利用結果の蓋然性に応じた前記処理を実行する、
ことを特徴とする請求項1
又は3又は4又は5に記載の予測システム。
【請求項7】
前記学習モデルは、重み付けされたk近傍法に基づいて、前記利用中のユーザの前記行動履歴を分類し、前記利用結果を出力する、
ことを特徴とする請求項1
又は3又は4又は5又は6に記載の予測システム。
【請求項8】
過去にサービスを利用した複数のユーザの各々の行動履歴と、
前記サービス
がコンバージョンされたか放棄されたかそれ以外かの利用結果と、の関係が学習された学習モデルを利用したコンピュータによる予測方法であって、前記コンピュータが、
前記サービスを利用中のユーザの最新の行動履歴を取得する取得ステップと、
前記利用中のユーザの最新の行動履歴と前記学習モデルとに基づいて、前記利用中のユーザの最新の前記利用結果を予測する予測ステップと、
予測された前記最新の利用結果が過去に予測された前記利用結果から
の変化
として、前記コンバージョンの蓋然性が最も高い状態から前記放棄の蓋然性が最も高い状態に変化した場合、又は、前記コンバージョンの蓋然性の減少量が閾値以上であった場合、又は、前記放棄の蓋然性の増加量が閾値以上であった場合に、予測された前記最新の利用結果に応じた処理
として、前記利用中のユーザに対し、前記サービスに関する特典を付与する実行ステップと、
を実行することを特徴とする予測方法。
【請求項9】
過去にサービスを利用した複数のユーザの各々の行動履歴と、
前記サービス
がコンバージョンされたか放棄されたかそれ以外かの利用結果と、の関係が学習された学習モデルを利用可能なコンピュータを、
前記サービスを利用中のユーザの最新の行動履歴を取得する取得手段、
前記利用中のユーザの最新の行動履歴と前記学習モデルとに基づいて、前記利用中のユーザの最新の前記利用結果を予測する予測手段、
予測された前記最新の利用結果が過去に予測された前記利用結果から
の変化
として、前記コンバージョンの蓋然性が最も高い状態から前記放棄の蓋然性が最も高い状態に変化した場合、又は、前記コンバージョンの蓋然性の減少量が閾値以上であった場合、又は、前記放棄の蓋然性の増加量が閾値以上であった場合に、予測された前記最新の利用結果に応じた処理
として、前記利用中のユーザに対し、前記サービスに関する特典を付与する実行手段、
として機能させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、予測システム、予測方法、及びプログラムに関する。
【背景技術】
【0002】
従来、サービスを利用するユーザの行動を解析する技術が知られている。例えば、特許文献1には、ウェブページをブックマークに登録するなどの所定の操作が行われた場合に、単にウェブページを表示させる場合よりも、ユーザが興味を持ちコンバージョン確率が高いと予測し、ブックマークされたウェブページに係る特典を付与するシステムが記載されている。
【先行技術文献】
【特許文献】
【0003】
【発明の概要】
【発明が解決しようとする課題】
【0004】
しかしながら、特許文献1の技術では、ユーザの行動のバリエーションは多岐に渡るので、コンバージョン確率が高いと予測される操作を網羅的に設定することは難しく、十分な予測精度を得ることができなかった。また、特許文献1の技術では、ユーザが所定の操作をするまでは特典が付与されないので、リアルタイム性にも乏しかった。
【0005】
本発明は上記課題に鑑みてなされたものであって、その目的は、予測精度とリアルタイム性を高めることが可能な予測システム、予測方法、及びプログラムを提供することである。
【課題を解決するための手段】
【0006】
上記課題を解決するために、本発明の一態様に係る予測システムは、過去にサービスを利用した複数のユーザの各々の行動履歴と、前記行動履歴に含まれる前記サービスの利用結果と、の関係が学習された学習モデルと、前記サービスを利用中のユーザの行動履歴を取得する取得手段と、前記利用中のユーザの行動履歴と前記学習モデルとに基づいて、前記利用中のユーザの前記利用結果を予測する予測手段と、予測された前記利用結果に応じた処理を実行する実行手段と、を含むことを特徴とする。
【0007】
本発明の一態様に係る予測方法は、過去にサービスを利用した複数のユーザの各々の行動履歴と、前記行動履歴に含まれる前記サービスの利用結果と、の関係が学習された学習モデルを利用した予測方法であって、前記サービスを利用中のユーザの行動履歴を取得する取得ステップと、前記利用中のユーザの行動履歴と前記学習モデルとに基づいて、前記利用中のユーザの前記利用結果を予測する予測ステップと、予測された前記利用結果に応じた処理を実行する実行ステップと、を含むことを特徴とする。
【0008】
本発明の一態様に係るプログラムは、過去にサービスを利用した複数のユーザの各々の行動履歴と、前記行動履歴に含まれる前記サービスの利用結果と、の関係が学習された学習モデルを利用可能なコンピュータを、前記サービスを利用中のユーザの行動履歴を取得する取得手段、前記利用中のユーザの行動履歴と前記学習モデルとに基づいて、前記利用中のユーザの前記利用結果を予測する予測手段、予測された前記利用結果に応じた処理を実行する実行手段、として機能させる。
【0009】
また、本発明の一態様では、前記サービスは、複数のステップの各々が順次行われることによって利用され、前記学習モデルには、過去に各ユーザにより行われた少なくとも1つの前記ステップを示す前記行動履歴と、前記行動履歴に含まれる前記利用結果と、の関係が学習されており、前記取得手段は、前記利用中のユーザにより行われた少なくとも1つの前記ステップを、前記利用中のユーザの行動履歴として取得する、ことを特徴とする。
【0010】
また、本発明の一態様では、前記学習モデルは、前記ステップごとに用意され、前記予測手段は、複数の前記学習モデルの中から、前記利用中のユーザにより現在行われているステップに対応する学習モデルを選択し、当該選択した学習モデルに基づいて、前記利用結果を予測する、ことを特徴とする。
【0011】
また、本発明の一態様では、前記予測システムは、各学習モデルに、対応するステップまで進んだことを示す行動履歴と、前記行動履歴に含まれる前記利用結果と、の関係を学習させる学習手段、を更に含むことを特徴とする。
【0012】
また、本発明の一態様では、各ステップでは、前記サービスを利用するためのページが表示され、前記学習モデルは、前記ページが表示される順番ごとに用意され、前記予測手段は、前記複数の学習モデルの中から、前記利用中のユーザにより現在表示されたページの順番に対応する学習モデルを選択する、ことを特徴とする。
【0013】
また、本発明の一態様では、前記取得手段は、前記利用中のユーザの最新の前記行動履歴を取得し、前記予測手段は、前記利用中のユーザの前記最新の行動履歴が取得された場合に、前記利用中のユーザの最新の前記利用結果を予測し、前記実行手段は、予測された前記最新の利用結果が過去に予測された前記利用結果から変化した場合に、前記処理を実行する、ことを特徴とする。
【0014】
また、本発明の一態様では、前記学習モデルは、前記利用結果の蓋然性を出力し、前記実行手段は、予測された前記利用結果の蓋然性に応じた前記処理を実行する、ことを特徴とする。
【0015】
また、本発明の一態様では、前記学習モデルは、重み付けされたk近傍法に基づいて、前記利用中のユーザの前記行動履歴を分類し、前記利用結果を出力する、ことを特徴とする。
【0016】
また、本発明の一態様では、前記サービスは、施設を予約又は商品を購入するためのページが閲覧されることによって利用され、前記学習モデルには、過去における各ユーザの閲覧履歴と、前記サービスがコンバージョンされたか否かの結果と、の関係が学習され、前記取得手段は、前記利用中のユーザの閲覧履歴を取得し、前記予測手段は、前記利用中のユーザの閲覧履歴と前記学習モデルとに基づいて、前記利用中のユーザにより前記サービスがコンバージョンされるか否かを予測し、前記実行手段は、予測されたコンバージョンの有無に応じた前記処理を実行する、ことを特徴とする。
【0017】
また、本発明の一態様では、前記実行手段は、前記利用中のユーザにより前記サービスがコンバージョンされないことが予測された場合に、前記処理として、前記利用中のユーザに対し、前記サービスに関するクーポン又はポイントを付与する、ことを特徴とする。
【発明の効果】
【0018】
本発明によれば、予測精度とリアルタイム性を高めることができる。
【図面の簡単な説明】
【0019】
【
図2】ウェブサーバが提供するウェブサイトの構成例を示す図である。
【
図3】学習モデルの学習方法の一例を示す図である。
【
図4】利用中のユーザの行動履歴に基づいて、サービスの利用結果がリアルタイムに予測される様子の一例を示す図である。
【
図5】利用中のユーザの行動履歴に基づいて、サービスの利用結果がリアルタイムに予測される様子の一例を示す図である。
【
図6】予測システムで実現される機能の一例を示す機能ブロック図である。
【
図7】ユーザデータベースのデータ格納例を示す図である。
【
図8】行動履歴データベースのデータ格納例を示す図である。
【
図9】ドメインナレッジデータのデータ格納例を示す図である。
【
図10】教師データセットのデータ格納例を示す図である。
【
図11】重み付けされたk近傍法を利用した学習モデルの一例を示す図である。
【
図12】モデル作成処理の一例を示すフロー図である。
【
図13】サービス提供処理の一例を示すフロー図である。
【
図14】サービス提供処理の一例を示すフロー図である。
【発明を実施するための形態】
【0020】
[1.予測システムの全体構成]
以下、本発明の一態様に関わる予測システムの実施形態の例を説明する。
図1は、予測システムの全体構成を示す図である。
図1に示すように、予測システムSは、ウェブサーバ10、学習サーバ20、ユーザ端末30、及び解析者端末40を含み、これらはインターネット等のネットワークNに接続される。なお、
図1では、ウェブサーバ10、学習サーバ20、ユーザ端末30、及び解析者端末40を1台ずつ示しているが、これらは複数台あってもよい。
【0021】
ウェブサーバ10は、ウェブサイトを管理するサーバコンピュータである。本実施形態では、ウェブサイトに含まれる個々の画面をページと記載し、これら複数のページの集合をウェブサイトと記載する。例えば、ウェブサーバ10は、制御部11、記憶部12、及び通信部13を含む。
【0022】
制御部11は、少なくとも1つのプロセッサを含む。制御部11は、記憶部12に記憶されたプログラムやデータに従って処理を実行する。記憶部12は、主記憶部及び補助記憶部を含む。例えば、主記憶部はRAMなどの揮発性メモリであり、補助記憶部は、ハードディスクやフラッシュメモリなどの不揮発性メモリである。通信部13は、有線通信又は無線通信用の通信インタフェースを含み、例えば、ネットワークNを介してデータ通信を行う。
【0023】
学習サーバ20は、ユーザの行動を解析するサーバコンピュータである。例えば、学習サーバ20は、制御部21、記憶部22、及び通信部23を含む。制御部21、記憶部22、及び通信部23のハードウェア構成は、それぞれ制御部11、記憶部12、及び通信部13と同様であってよい。
【0024】
ユーザ端末30は、ユーザが操作するコンピュータである。例えば、ユーザ端末30は、パーソナルコンピュータ、携帯情報端末(タブレット型コンピュータを含む)、又は携帯電話機(スマートフォンを含む)等である。ユーザは、ウェブサーバ10が提供するサービスの利用者であり、例えば、ウェブサイトの閲覧者である。ユーザは、エンドユーザということもできる。
【0025】
ユーザ端末30は、制御部31、記憶部32、通信部33、操作部34、及び表示部35を含む。制御部31、記憶部32、及び通信部33のハードウェア構成は、それぞれ制御部11、記憶部12、及び通信部13と同様であってよい。操作部34は、ユーザが操作を行うための入力デバイスであり、例えば、タッチパネルやマウス等のポインティングデバイスやキーボード等である。操作部34は、ユーザの操作内容を制御部21に伝達する。表示部35は、例えば、液晶表示部又は有機EL表示部等である。
【0026】
解析者端末40は、解析者が操作するコンピュータであり、例えば、パーソナルコンピュータ、携帯情報端末、又は携帯電話機等である。解析者は、ユーザの行動等の解析を担当する担当者であり、例えば、サービスの提供会社におけるデータサイエンティストである。
【0027】
解析者端末40は、制御部41、記憶部42、通信部43、操作部44、及び表示部45を含む。制御部41、記憶部42、通信部43、操作部44、及び表示部45のハードウェア構成は、それぞれ制御部11、記憶部12、通信部13、操作部34、及び表示部35と同様であってよい。
【0028】
なお、記憶部12,22,32,42に記憶されるものとして説明するプログラム及びデータは、ネットワークNを介して供給されるようにしてもよい。また、ウェブサーバ10、学習サーバ20、ユーザ端末30、及び解析者端末40のハードウェア構成は、上記の例に限られず、種々のハードウェアを適用可能である。例えば、ウェブサーバ10、学習サーバ20、ユーザ端末30、及び解析者端末40の各々は、コンピュータ読み取り可能な情報記憶媒体を読み取る読取部(例えば、光ディスクドライブやメモリカードスロット)や外部機器と直接的に接続するための入出力部(例えば、USB端子)を含んでもよい。この場合、情報記憶媒体に記憶されたプログラムやデータが読取部又は入出力部を介して供給されるようにしてもよい。
【0029】
[2.予測システムの概要]
本実施形態の予測システムSは、過去にサービスを利用した複数のユーザの各々の行動履歴と、行動履歴に含まれるサービスの利用結果と、の関係が学習された学習モデルに基づいて、サービスを利用中のユーザの行動を解析する。
【0030】
サービスは、電子的又は物理的な手段を利用して提供される任意の種類のサービスを適用可能である。本実施形態では、サービスの一例として、ゴルフ場予約サービスを挙げるが、例えば、宿泊施設や航空券等の旅行予約サービス、オンラインショッピングモールにおける商品購入サービス、宝くじや馬券等の販売代行サービス、動画やゲーム等のコンテンツ提供サービス、金融サービス、又は保険サービスについても、予測システムSを適用可能である。
【0031】
行動履歴とは、過去に完了した行動の履歴である。行動は、サービス利用時のユーザの挙動であり、ユーザ端末30が実行した処理のログということもできる。行動履歴は、少なくとも1つの行動を示す。行動履歴は、1つの行動だけを示してもよいし、複数の行動の各々を時系列的に示してもよい。例えば、ウェブサイトを利用したサービスであれば、行動履歴は、ユーザの閲覧履歴と、個々のページにおけるユーザの入力履歴と、の少なくとも一方を示す。閲覧とは、表示部35にページが表示されること、又は、当該表示されたページを見ることである。入力とは、ページが表示された状態で操作部34が受け付けた操作である。例えば、入力は、入力フォームのフォーカス、入力フォームに対する情報入力、ページのスクロール、又はボタンの選択である。
【0032】
サービスの利用結果とは、ユーザがサービスを利用したことによって得られた結果である。別の言い方をすれば、サービスの利用結果は、サービスの利用のされ方である。例えば、サービスの利用結果は、サービスにおいて所定の結果が得られたか否かである。所定の結果は、ユーザの行動を解析するために定められた結果であればよく、例えば、コンバージョンされたか否かを示す。なお、サービスの利用結果は、コンバージョンに限られず、行動解析の目的に応じて設定されるようにすればよい。例えば、予測システムSを不正検知に利用するのであれば、サービスの利用結果は、不正が行われたか否かを示してもよい。
【0033】
コンバージョンとは、サービスの目的が達成されることである。施設の予約を目的とするサービスであれば、予約又は決済が完了することは、コンバージョンしたことを意味する。商品の販売を目的とするサービスであれば、購入又は決済が完了することは、コンバージョンしたことを意味する。例えば、ゴルフ場予約サービスであれば、ゴルフ場の予約が完了することである。旅行予約サービスであれば、宿泊施設や航空券等の予約が完了することである。商品購入サービスであれば、商品の購入が完了することである。他のサービスについても同様であり、サービスの目的が達成されると、コンバージョンされたことになる。
【0034】
本実施形態では、サービスの利用結果の一例として、コンバージョンされたことを示す「コンバージョン」、コンバージョンの意志はあったが最終的にコンバージョンされなかったことを示す「放棄」、及びコンバージョンの意志がなかったことを示す「意志無し」の3種類を説明する。各行動履歴は、これら3種類の利用結果の何れかに分類(ラベリング)される。行動履歴の分類方法については、後述する。
【0035】
学習モデルとは、機械学習を利用したモデルである。学習モデルは、AI(Artificial Intelligence)、分類器、又は分類学習器と呼ばれることもある。機械学習自体は、公知の種々の手法を利用可能であり、例えば、ニューラルネットワーク、強化学習、又は深層学習といった手法を利用可能である。機械学習は、教師有り学習、半教師有り学習、又は教師無し機械学習の何れが用いられてもよい。
【0036】
利用中のユーザとは、現時点でサービスを利用しているユーザである。本実施形態のように、ウェブサイトを利用したサービスであれば、ウェブサイトに接続中のユーザ(サービスに対してオンライン中のユーザ)は、利用中のユーザに相当する。例えば、ウェブサーバ10とユーザ端末30のセッションが張られているユーザは、利用中のユーザに相当する。また例えば、直近の操作又はアクセスをしてから所定時間が経過していないユーザは、利用中のユーザに相当する。また例えば、ログイン中のユーザは、利用中のユーザに相当する。
【0037】
例えば、予測システムSは、サービスを利用中のユーザの行動履歴を解析し、このユーザがコンバージョンするか否かをリアルタイムで予測する。ウェブサーバ10は、ゴルフ場の予約を受け付けるためのウェブサイトをユーザ端末30に表示させ、ユーザは、所望のゴルフ場のページを検索し、予約を完了させる。
【0038】
図2は、ウェブサーバ10が提供するウェブサイトの構成例を示す図である。本実施形態では、
図2に示すように、例えば、トップページA、検索ページB、検索結果ページC、詳細ページD、予約ステップ1ページE、予約ステップ2ページF、及び予約完了ページGの順番に画面遷移すると、ゴルフ場の予約が完了する。
【0039】
トップページAは、サービスの入り口となる最上位のページである。ウェブサイトがツリー構造(階層構造)を有していたとすると、トップページAは、根ノードに相当する。検索ページBは、ゴルフ場の検索条件(クエリ)を入力するためのページである。検索ページBには、ゴルフ場のエリア、プレイ開始日時、又はプレイ人数といった検索条件を入力するための入力フォームが表示される。
【0040】
検索結果ページCは、検索条件にヒットしたゴルフ場の一覧が表示されるページである。詳細ページDは、ゴルフ場におけるコースの詳細を示すページである。例えば、検索結果ページCの中から選択されたゴルフ場の詳細ページDが表示される。
図2の例では、詳細ページDを1つだけ示しているが、ウェブサーバ10が予約を受付可能なコースの数だけ詳細ページDが存在する。このため、ユーザは、表示させた詳細ページDのゴルフ場が気に入らなければ、検索結果ページCに戻り、他のゴルフ場の詳細ページDを表示させることができる。
【0041】
予約ステップ1ページE及び予約ステップ2ページFの各々は、ゴルフ場の予約に必要な情報を入力するためのページである。例えば、予約ステップ1ページEは、プレイ開始時間及びプレイ人数等を入力するための入力フォームが表示される。また例えば、予約ステップ2ページFは、予約者の氏名、住所、電話番号、メールアドレス、及び他のプレイヤの氏名等を入力するための入力フォームが表示される。
【0042】
本実施形態では、予約ステップ1ページEにおける全ての入力フォームを入力しなければ、予約ステップ2ページFには進めないようになっている。例えば、予約ステップ1ページEで未入力の情報があると、予約ステップ2ページFに進むためのボタンが選択されたとしても、予約ステップ2ページFに進むことはできない。この場合、予約ステップ1ページEが再び表示され、未入力の情報がある旨を示すエラーメッセージが所定の位置に表示される。
【0043】
予約完了ページGは、ゴルフ場の予約が完了したことを示すページである。本実施形態では、予約ステップ2ページFの全ての入力フォームを入力しなければ、予約完了ページGには進めないようになっている。このため、予約ステップ1ページFと同様、予約ステップ2ページFで未入力の情報があると、予約完了ページGに進むことができず、エラーメッセージが表示される。
【0044】
なお、ユーザは、必ずしも上記の順番で画面遷移する必要はなく、任意の順番で画面遷移することができる。例えば、ユーザは、外部の検索サイトを経由して、最初から検索結果ページCを表示させることもできる。また例えば、ユーザが詳細ページDのリンクをブックマークしている場合には、トップページA、検索ページB、及び検索結果ページCが表示されることなく、最初から詳細ページDが表示されるようにしてもよい。また例えば、ユーザは、検索結果ページCと詳細ページDの間を行き来して所望のゴルフ場を見つけることもできるし、予約完了ページGからトップページAに戻ることもできる。
【0045】
本実施形態では、ウェブサーバ10は、過去にサービスを利用した多数のユーザの行動履歴を収集し、蓄積している。
図2では、4人のユーザU1~U4の行動履歴を示しておいる。また、ユーザが閲覧したページをアルファベットの大文字で示し、個々のページに対するユーザの入力をアルファベットの小文字で示す。
【0046】
例えば、ユーザU1の行動履歴は、トップページAで入力a1~a4が行われ、検索ページBで入力b1~b4が行われ、検索結果ページCで入力c1~c3が行われ、詳細ページDで入力d1~d6が行われ、予約ステップ1ページEで入力e1,e2が行われ、予約ステップ2ページFで入力f1,f2が行われ、予約完了ページGで入力g1が行われたことを示している。ユーザU1の行動履歴は、予約完了ページGまでたどり着いており、ゴルフ場の予約が完了しているので、「コンバージョン」に分類される。
【0047】
また例えば、ユーザU2の行動履歴は、詳細ページDで入力d1~d6が行われ、予約ステップ1ページEで入力e1,e2が行われ、予約ステップ2ページFで入力f1,f2が行われ、予約完了ページGで入力g1が行われたことを示している。ユーザU2は、詳細ページDをブックマークしており、最初に詳細ページDを表示させている。ユーザU2の行動履歴は、予約完了ページGまでたどり着いており、ゴルフ場の予約が完了しているので、「コンバージョン」に分類される。
【0048】
また例えば、ユーザU3の行動履歴は、トップページAで入力a1~a4が行われ、検索ページBで入力b1~b4が行われ、検索結果ページCで入力c1~c3が行われ、トップページAに戻り入力a1~a3が行われ、再度表示されたトップページAで入力a1~a3が行われたことを示している。ユーザU3の行動履歴は、予約ステップ1ページEにたどり着くことなく離脱しており、予約の意志がなくゴルフ場を閲覧しているだけであると予測されるので、「意志無し」に分類される。
【0049】
また例えば、ユーザU4の行動履歴は、最初に検索結果ページCが表示され、入力ミス等の要因により詳細ページDに遷移できないことが何度か続いた後に、詳細ページDで入力d1,d6が行われ、予約ステップ1ページEで入力e1,e2が行われ、予約ステップ2ページFで入力f1が行われた後に離脱したことを示している。ユーザU4の行動履歴は、予約ステップ1ページEと予約ステップ2ページFを表示させ、予約の意志があったものの予約完了ページGまでたどり着かなかったので、「放棄」に分類される。
【0050】
上記のように、ユーザは、ウェブサーバ10が提供するウェブサイトの各ページを順次移動しながらサービスを利用する。本実施形態では、学習サーバ20は、ウェブサーバ10に蓄積された行動履歴に基づいて、学習モデルを学習させる。
【0051】
図3は、学習モデルの学習方法の一例を示す図である。学習モデルは、1つだけであってもよいが、本実施形態では、複数の学習モデルが用意されている場合を説明する。
図3に示すように、学習モデルM1は、利用中のユーザが1番目に表示させたページに基づいて、サービスの利用結果を予測するためのモデルである。学習モデルM1は、ウェブサーバ10に蓄積された過去の行動履歴が示す1番目のページと、行動履歴に含まれるサービスの利用結果と、の関係が学習されている。2番目以降に表示させたページについては、学習モデルM1には学習されない。
【0052】
学習モデルM2は、利用中のユーザが1番目と2番目に表示させたページに基づいて、サービスの利用結果を予測するためのモデルである。学習モデルM2は、ウェブサーバ10に蓄積された過去の行動履歴が示す1番目と2番目のページと、行動履歴に含まれるサービスの利用結果と、の関係が学習されている。3番目以降に表示させたページについては、学習モデルM2には学習されない。
【0053】
以降の学習モデルMp(pは3以上の整数)についても同様であり、学習モデルMpは、利用中のユーザが1番目~p番目に表示させたページに基づいて、サービスの利用結果を予測するためのモデルである。学習モデルMpは、ウェブサーバ10に蓄積された行動履歴が示すp番目までのページと、サービスの利用結果と、の関係が学習されている。なお、以降の説明では、個々の学習モデルを区別しないときは、学習モデルMnと記載する。nは、1以上の自然数である。nの最大値は、任意の値を設定可能である。nの最大値は、学習モデルMnの合計数を意味する。例えば、利用中のユーザが表示させた20番目のページまで追跡して解析したい場合には、nは20となり、20個の学習モデルMnが用意される。
【0054】
図4及び
図5は、利用中のユーザの行動履歴に基づいて、サービスの利用結果がリアルタイムに予測される様子の一例を示す図である。
図4及び
図5の黒い三角は、「コンバージョン」に分類される蓋然性を示す。黒い四角は、「放棄」に分類される蓋然性を示す。黒い丸は、「意志無し」に分類される蓋然性を示す。なお、本実施形態では、「コンバージョン」を示すラベルを「C」と記載する。「放棄」を示すラベルを「A」と記載する。「意志無し」を示すラベルを「N」と記載する。
【0055】
図4に示すように、例えば、ユーザUxは、ウェブサーバ10にアクセスし、詳細ページDを表示させて詳細ページDに対する入力d1,d2,d4を行う。ウェブサーバ10は、ユーザUxの1番目の行動内容(詳細ページDに対する入力内容)を学習サーバ20に送信し、解析を依頼する。学習サーバ20は、ユーザUxの1番目の行動内容を学習モデルM1に入力する。
【0056】
学習モデルM1は、ユーザUxの1番目の行動内容に基づいて、「コンバージョン」、「放棄」、及び「意志無し」の各々の蓋然性を計算する。蓋然性は、分類の確度(確率)ということもできる。
図4に示すように、学習モデルM1は、1番目の行動内容だけでサービスの利用結果を予測するモデルであり、ユーザの行動履歴に含まれる情報量が多くないので、どの蓋然性もあまり高くはならない。
【0057】
次に、ユーザUxは、予約ステップ1ページEを表示させて予約に必要な情報を入力する。ウェブサーバ10は、ユーザUxの2番目までの行動内容(詳細ページDと予約ステップ1ページEの各々に対する入力内容)を学習サーバ20に送信し、解析を依頼する。学習サーバ20は、ユーザUxの2番目までの行動内容を学習モデルM2に入力する。学習モデルM2は、ユーザUxの2番目までの行動内容に基づいて、「コンバージョン」、「放棄」、及び「意志無し」の各々の蓋然性を計算する。
図4に示すように、これらの蓋然性が変化する。
【0058】
次に、ユーザUxは、予約ステップ2ページFを表示させて予約に必要な情報を入力する。ウェブサーバ10は、ユーザUxの3番目までの行動内容(詳細ページD、予約ステップ1ページE、及び予約ステップ2ページFの各々に対する入力内容)を学習サーバ20に送信し、解析を実行させる。学習サーバ20は、ユーザUxの3番目までの行動内容を学習モデルM3に入力する。学習モデルM3は、ユーザUxの3番目までの行動内容に基づいて、「コンバージョン」、「放棄」、及び「意志無し」の各々の蓋然性を計算する。
【0059】
以降、ユーザUxのセッションが切断されるまで、又は、コンバージョンが完了するまでの間、新たなページが表示されるたびに、学習モデルMnにより「コンバージョン」、「放棄」、及び「意志無し」の各々の蓋然性が計算される。
図4に示すように、ユーザUxは、3番目のページを表示させた時点で「コンバージョン」の蓋然性が非常に高くなる。ユーザUxは、このままゴルフ場の予約を完了させる蓋然性が非常に高いので、ウェブサーバ10は、ユーザUxについては特に何もしない。
【0060】
一方、
図5に示すように、ユーザUyについては、3番目のページを表示させた時点で「放棄」の蓋然性が非常に高くなる。これは、ユーザUyがその後にウェブサイトから離脱をする蓋然性が高いことを意味する。このため、ウェブサーバ10は、ユーザUyについては、4番目のページが表示される時点で、ゴルフ場の予約で使用可能なクーポンを配信する。これにより、ユーザUyがコンバージョンせずに離脱する可能性が低減する。
【0061】
以上のように、予測システムSは、サービスを利用中のユーザの行動履歴と、学習モデルMnと、に基づいて、利用中のユーザの利用結果を予測する。予測システムSは、予測された利用結果に応じた処理を実行することによって、利用結果の予測精度と、それに応じた処理のリアルタイム性と、を高めるようにしている。以降、予測システムSの詳細を説明する。
【0062】
[3.本実施形態において実現される機能]
図6は、予測システムSで実現される機能の一例を示す機能ブロック図である。本実施形態では、ウェブサーバ10と学習サーバ20で実現される機能を説明する。
【0063】
[3-1.ウェブサーバにおいて実現される機能]
図6に示すように、ウェブサーバ10では、データ記憶部100、受付部101、提供部102、及び実行部103が実現される。データ記憶部100は、記憶部12を主として実現され、他の各機能は、制御部11を主として実現される。
【0064】
[データ記憶部]
データ記憶部100は、ユーザにサービスを提供するために必要なデータを記憶する。例えば、データ記憶部100は、ユーザデータベースDB1を記憶する。
【0065】
図7は、ユーザデータベースDB1のデータ格納例を示す図である。
図7に示すように、ユーザデータベースDB1は、複数のユーザの各々の情報が格納されたデータベースである。例えば、ユーザデータベースDB1には、ユーザID、ユーザ名、パスワード、セッションID、セッション開始時間、セッション中の行動履歴、予測結果の履歴、及びクーポン情報が格納される。
【0066】
ユーザIDは、ユーザを一意に識別する情報である。ユーザ名は、ユーザの氏名である。パスワードは、サービスにログインするための認証情報である。なお、ユーザデータベースDB1には、ユーザにより登録された他の情報が格納されるようにしてもよく、例えば、住所、生年月日、性別、電話番号、及びメールアドレスといった情報が格納されていてもよい。
【0067】
セッションIDは、ウェブサーバ10とユーザ端末30の間のセッションを一意に識別する情報である。セッションIDは、セッションが確立されると生成され、セッションが切断されるまで有効となる。セッションの確立方法自体は、任意の通信プロトコルの手法を利用可能であり、例えば、HTTP、HTTPS、又はSSLを利用可能である。
【0068】
セッション開始時間は、セッションが確立された時間である。セッションの有効時間が定められている場合には、セッションIDは、セッション開始時間から一定時間後まで有効となる。
【0069】
セッション中の行動履歴は、セッションが開始されてから切断されるまでの(セッションが張られている間の)行動履歴である。行動履歴の意味は、先述した通りであり、ユーザの行動が時系列的に示されている。
図7の例では、行動履歴として、行動履歴の内容と、行動が行われた時間と、が格納される。例えば、行動履歴は、ユーザによる閲覧履歴と、ユーザによる入力内容の履歴と、の少なくとも一方を含む。本実施形態では、これらの両方が行動履歴に含まれている場合を説明するが、何れか一方のみが行動履歴に含まれていてもよい。
【0070】
閲覧履歴は、ユーザ端末30に表示されたページの時系列的な変化である。閲覧履歴は、画面遷移ということもできる。閲覧履歴は、ユーザ端末30に表示されたページの履歴ということもできる。本実施形態では、URLによってページが識別される場合を説明するが、ページID等の任意の情報によって画面が識別されてよい。ユーザによる入力内容は、各ページに対するユーザの入力である。ユーザによる入力は、操作部34からの操作履歴ということもできる。
【0071】
予測結果の履歴は、予測部203により予測された利用結果の履歴である。本実施形態では、予測結果として、「コンバージョン」、「放棄」、及び「意志無し」の各々の蓋然性が計算されるので、予測結果の履歴には、これらの蓋然性の変化が示される。また、本実施形態では、ユーザ端末30に表示されるページが変わるたびに利用結果が予測されるので、予測結果の履歴には、表示されたページごとに、各ラベルの蓋然性が格納される。
【0072】
クーポン情報は、後述する実行部103により付与されたクーポンに関する情報である。例えば、複数のクーポンが用意されている場合、クーポン情報は、ユーザに付与されたクーポンの種類を示す。クーポンに有効期限が設定されている場合、クーポン情報には、有効期限が含まれていてもよい。クーポンが付与されなかったユーザについては、クーポン情報は格納されない。
【0073】
例えば、ウェブサーバ10は、あるユーザのユーザ端末30とのセッションを確立すると、このユーザのユーザIDが格納されたレコードのセッションIDとセッション開始時間を格納する。ウェブサーバ10は、ユーザ端末30に表示させる画面が変わるたびに、画面のURLを格納する。また例えば、ウェブサーバ10は、ユーザ端末30から入力フォームに対する入力等の操作を受信するたびに、ユーザの入力内容を格納する。また例えば、ウェブサーバ10は、学習サーバ20から予測結果を受信すると、当該予測結果を予測結果の履歴に格納する。クーポン情報は、実行部103により付与された場合に格納される。
【0074】
なお、データ記憶部100に記憶されるデータは、上記の例に限られない。例えば、データ記憶部100は、ウェブサイトにおける各ページの表示データを記憶してもよい。また例えば、データ記憶部100は、ユーザに付与されるクーポンの種類を記憶してもよい。また例えば、データ記憶部100は、後述する行動履歴データベースDB2及びドメインナレッジデータベースDB3を記憶してもよい。また例えば、データ記憶部100は、予約済みの内容を示すデータベースを記憶してもよい。
【0075】
[受付部]
受付部101は、ユーザ端末30から各種要求を受け付ける。受付部101は、ユーザ端末30から任意の要求を受付可能であり、例えば、アクセス要求と、ページ表示要求とを受け付ける。これらの要求は、所定形式のデータが送信されることによって行われる。
【0076】
アクセス要求は、セッションが確立していないユーザ端末30がウェブサーバ10にアクセスする時に送信される要求である。例えば、アクセス要求には、ユーザID、パスワード、及びアクセス先のページのURLが含まれる。例えば、受付部101がアクセス要求を受け付けると所定の認証処理が実行される。認証が成功するとウェブサーバ10とユーザ端末30との間でセッションが確立する。
【0077】
ページ表示要求は、新たなページを表示させるための要求である。例えば、ページ表示要求は、次に表示させるページのURLを含む。また例えば、ページ表示要求は、表示中のページのURLと、当該ページにおける入力内容と、を含む。例えば、受付部101がページ表示要求を受け付けると、ページ表示要求に含まれるURLと入力内容をセッション中の行動内容として、現在日時とともに格納する。
【0078】
[提供部]
提供部102は、ユーザに対し、サービスを提供する。例えば、提供部102は、ページ表示要求が受け付けられた場合に、ユーザ端末30に対し、新たなページの表示データを送信する。また例えば、提供部102は、実行部103によりクーポンが発行された場合には、当該発行されたクーポンを識別する情報を新たなページに含めて表示データを送信する。また例えば、提供部102は、ユーザが所定の予約操作を行った場合に、予約処理を実行する。
【0079】
[実行部]
実行部103は、予測された利用結果に応じた処理を実行する。例えば、実行部103は、利用中のユーザが離脱する前に、上記処理を実行する。なお、実行部103は、利用中のユーザが離脱した後に、又は、利用中のユーザが離脱しているか不明な時に、上記処理を実行してもよい。
【0080】
離脱とは、サービスからユーザが離脱することであり、サービスの利用を終了することである。本実施形態のように、ウェブサイトを利用したサービスであれば、離脱は、ウェブサイトからユーザが離脱することである。例えば、ウェブサーバ10とユーザ端末30のセッションが切断されることは、離脱に相当する。また例えば、ユーザによる操作又はアクセスが一定時間無いことは、離脱に相当する。また例えば、ユーザが所定のログアウト操作をすることは、離脱に相当する。また例えば、ユーザが画面を閉じることは、離脱に相当する。利用中のユーザは、離脱したユーザとは逆の意味となる。本実施形態では、利用中のユーザは、サービスに対してオンライン中のユーザであり、離脱したユーザは、サービスに対してオフライン中のユーザである。
【0081】
予測された利用結果に応じた処理とは、予測された利用結果によって実行するか否かが決まる処理、又は、予測された利用結果によって内容が変わる処理である。本実施形態では、この処理の一例として、ユーザにクーポンを付与する処理を説明する。クーポンは、サービスに係るものであればよく、例えば、サービス利用時に割引を受けることができる権利、サービス利用時にポイントが付与される権利、又は、サービス利用時にコンテンツや物を受け取ることができる権利などである。なお、実行部103が実行する処理は、任意の処理であってよく、例えば、サービスの利用を制限する処理、サービスの利用を支援する処理、又は、クーポン以外の特典を付与する処理であってもよい。特典は、ユーザに与えられる利益である。特典は、クーポン以外の任意の内容であってよく、例えば、ポイントの付与であってもよいし、商品又はサービスのプレゼントであってもよい。
【0082】
本実施形態では、利用結果としてコンバージョンの有無が予測されるので、実行部103は、予測されたコンバージョンの有無に応じた処理を実行する。例えば、実行部103は、利用中のユーザによりサービスがコンバージョンされないことが予測された場合に、上記処理として、利用中のユーザに対し、サービスに関するクーポン又はポイントを付与する。実行部103は、コンバージョンされることが予測された場合には、クーポン又はポイントは付与しない。本実施形態では、クーポンが付与される場合について説明するが、ポイントが付与される場合についても同様の処理が実行される。
【0083】
例えば、学習モデルMnは、予測される利用結果の蓋然性(本実施形態では、「コンバージョン」、「放棄」、「意志無し」の各々の蓋然性)を出力するので、実行部103は、予測された利用結果の蓋然性に応じた処理を実行する。実行部103は、「放棄」の蓋然性が閾値未満のユーザにはクーポンを付与せず、この蓋然性が閾値以上のユーザに対し、クーポンを付与する。閾値は、固定値であってもよいし、可変値であってもよい。閾値は、ユーザごとに定められてもよい。また例えば、複数種類のクーポンが用意されている場合、実行部103は、「放棄」の蓋然性の高さに基づいて、付与するクーポンを変えてもよい。例えば、実行部103は、この蓋然性が高いほど価値が高いクーポンを付与する。この場合、クーポンは、この蓋然性によってランク分けされているものとする。また例えば、特に閾値を利用せず、実行部103は、「放棄」の蓋然性が最も高かった場合にクーポンを付与してもよい。
【0084】
実行部103は、予測された最新の利用結果が過去に予測された利用結果から変化した場合に、上記処理を実行してもよい。例えば、実行部103は、利用結果が所定の変化をしたことを条件として、処理を実行する。また例えば、実行部103は、利用結果の変化に応じて、処理の内容を変更する。例えば、実行部103は、「コンバージョン」の蓋然性が最も高い状態から、「放棄」の蓋然性が最も高い状態に変化した場合に、クーポンを付与する。また例えば、実行部103は、「コンバージョン」の蓋然性の減少量が閾値以上であった場合、又は、「放棄」の蓋然性の増加量が閾値以上であった場合に、クーポンを付与する。
【0085】
なお、本実施形態では、学習モデルMnが蓋然性を出力する場合を説明するが、学習モデルMnは、分類(ラベリング)のみを実行し、蓋然性を出力しなくてもよい。この場合、学習モデルMnは、利用結果の予測として、「コンバージョン」、「放棄」、又は「意志無し」の何れかのラベルを出力する。実行部103は、出力されたラベルに応じた処理を実行すればよい。例えば、実行部103は、「放棄」が出力された場合にクーポンを付与してもよい。また例えば、実行部103は、「コンバージョン」から「放棄」又は「意志無し」に変化した場合にクーポンを付与してもよい。
【0086】
[3-2.学習サーバにおいて実現される機能]
図6に示すように、学習サーバ20では、データ記憶部200、学習部201、取得部202、及び予測部203が実現される。データ記憶部200は、記憶部12を主として実現され、他の各機能は、制御部21を主として実現される。
【0087】
[データ記憶部]
データ記憶部200は、ユーザの行動を解析するために必要なデータを記憶する。例えば、データ記憶部200は、行動履歴データベースDB2、ドメインナレッジデータベースDB3、及び教師データセットDSnを記憶する。なお、教師データセットDSnのnは、学習モデルMnのnと同じ意味である。
【0088】
図8は、行動履歴データベースDB2のデータ格納例を示す図である。
図8に示すように、行動履歴データベースDB2は、過去にサービスを利用した複数のユーザの各々の行動履歴を示すデータである。行動履歴データベースDB2には、過去の全ての期間における行動履歴が格納されていてもよいし、一部の期間における行動履歴が格納されていてもよい。また、行動履歴データベースDB2には、全てのユーザの行動履歴が格納されていてもよいし、一部のユーザの行動履歴だけが格納されていてもよい。
【0089】
例えば、行動履歴データベースDB2には、行動履歴を一意に識別する行動履歴ID、ユーザID、行動履歴の内容、及び行動履歴に含まれるサービスの利用結果を示すラベルが格納される。その時とは、行動履歴が示す行動が行われた時を意味する。行動履歴データベースDB2に格納される行動履歴は、切断済みのセッションにおける行動履歴である。
【0090】
例えば、ウェブサーバ10は、あるユーザのユーザ端末30とのセッションを切断すると、ウェブサーバ10は、ユーザデータベースDB1を参照し、当該ユーザのユーザIDに関連付けられたセッション中の行動履歴を取得する。ウェブサーバ10は、学習サーバ20に、当該ユーザのユーザIDと、取得したセッション中の行動履歴と、を送信する。学習サーバ20は、ユーザIDと行動履歴を受信すると、行動履歴IDを発行し、行動履歴データベースDB2に格納する。
【0091】
学習サーバ20は、後述するドメインナレッジデータベースDB3に基づいて、格納した行動履歴にラベルを付与する。ラベルは、行動履歴が示す行動の結果得られた利用結果である。先述したように、本実施形態では、「コンバージョン」、「放棄」、又は「意志無し」の3種類のラベルが存在する。各行動履歴は、これら3種類のうちの何れかに属する。ラベルの付与方法は後述する。なお、ラベルは、サービスの管理者等によって手動で付与されてもよい。
【0092】
図9は、ドメインナレッジデータベースDB3のデータ格納例を示す図である。
図9に示すように、ドメインナレッジデータベースDB3には、ウェブサーバ10が提供するサービスに関する種々の情報が格納される。例えば、ドメインナレッジデータベースDB3には、複数のページの各々の属性が格納される。
【0093】
属性は、ページの種類であり、本実施形態では、サービスの利用結果を示すラベルを付与するために利用される。例えば、属性は、ページの階層を示す情報であり、トップページA、検索ページB、検索結果ページC、及び詳細ページDといった上位の階層のページには、「意志無し」の属性が付与される。また例えば、予約ステップ1ページE及び予約ステップ2ページFといった中間的な階層のページには、「意志有り」の属性が付与される。また例えば、予約完了ページGのように下位の階層のページには、「コンバージョン」の属性が付与される。
【0094】
本実施形態では、「意志無し」の属性のページだけが表示された場合には、「意志無し」のラベルが付与される。「意志有り」の属性のページが表示されたが、「コンバージョン」の属性のページが表示されなかった場合には、「放棄」のラベルが付与される。「コンバージョン」の属性のページが表示された場合には、「コンバージョン」のラベルが付与される。これらのラベルを付与する処理は、学習サーバ20によって実行されてもよいし、他のコンピュータによって実行されてもよい。付与されたラベルは、行動履歴データベースDB2に格納される。
【0095】
図10は、教師データセットDSnのデータ格納例を示す図である。
図10に示すように、教師データセットDSnには、学習モデルにMnに学習させる入力と出力のペアである教師データが多数格納されている。例えば、個々の教師データには、行動履歴の特徴量と、行動履歴に付与されたラベルと、のペアが格納される。
【0096】
教師データとは、学習モデルMnに学習させるデータである。教師データは、学習データ又は訓練データと呼ばれることもある。例えば、教師データは、学習モデルMnに対する入力(設問)と、学習モデルMnの出力(回答)と、のペアである。例えば、教師データは、学習モデルに入力される入力データ(未知の分類対象)と同じ形式のデータ(ラベル付与済みの分類対象)と、当該データに付与されたラベルと、がペアになったデータである。
【0097】
なお、機械学習では、複数の教師データを利用して学習が行われるので、本実施形態では、複数の教師データの集まりを教師データセットDSnと記載し、教師データセットDSnに含まれる個々のデータを教師データと記載する。即ち、教師データと記載した箇所は、上記説明したペアを意味し、教師データセットDSnは、ペアの集まりを意味する。
【0098】
特徴量は、行動履歴の特徴を示す数値である。本実施形態では、特徴量が多次元ベクトルで表現される場合を説明するが、特徴量は、任意の形式で表現可能であり、例えば、配列で表現されてもよいし、1つの数値で表現されてもよい。特徴量は、任意の計算式で計算可能であり、例えば、所定の計算式によって特徴を数値化することによって計算される。なお、特徴量は、学習モデルMnによって計算されてもよい。この場合、教師データには、行動履歴の内容そのものが、入力として格納される。
【0099】
本実施形態では、学習モデルMnごとに、教師データセットDSnが用意される。このため、教師データセットDSnは、学習モデルMnの数だけ存在する。即ち、学習モデルMnと教師データセットDSnは、1対1で対応する。例えば、教師データセットDS1は、学習モデルM1を学習させるために利用される。
【0100】
例えば、教師データセットDS1には、過去にサービスを利用したユーザの行動履歴における1番目の行動と、行動履歴に含まれるサービスの利用結果と、の関係が示される。また例えば、教師データセットDS2には、過去にサービスを利用したユーザの行動履歴における2番目までの行動と、行動履歴に含まれるサービスの利用結果と、の関係が示される。他の教師データセットDSpについても同様であり、過去にサービスを利用したユーザの行動履歴におけるp番目までの行動と、行動履歴に含まれるサービスの利用結果と、の関係が示される。
【0101】
なお、データ記憶部200に記憶されるデータは、上記の例に限られない。例えば、データ記憶部200は、データ記憶部200は、上記データ以外にも、学習済みの学習モデルMnのプログラムやパラメータを記憶する。学習モデルMnの学習処理は、学習部201によって実行される。
【0102】
[学習部]
学習部201は、教師データセットDSnに基づいて、学習モデルMnの学習処理を実行する。本実施形態では、サービスは、施設を予約又は商品を購入するためのページが閲覧されることによって利用されるので、学習モデルMnには、過去における各ユーザの閲覧履歴と、サービスがコンバージョンされたか否かの結果と、の関係が学習される。
【0103】
なお、学習処理自体は、機械学習で利用されている公知の手法を利用可能であり、例えば、ニューラルネットワークで利用されている学習処理を利用可能である。学習処理のプログラムは、データ記憶部200に記憶されているものとする。学習部201は、教師データセットDSnに格納された教師データの入力と出力の関係が得られるように、学習モデルMnのパラメータを調整する。
【0104】
本実施形態のサービスは、複数のステップの各々が順次行われることによって利用されるので、学習モデルMnには、過去に各ユーザにより行われた少なくとも1つのステップを示す行動履歴と、行動履歴に含まれる利用結果と、の関係が学習されている。
【0105】
ステップとは、サービスの利用時に行われる手順である。例えば、各ステップでは、サービスを利用するためのページが表示され、学習モデルMnは、ページが表示される順番ごとに用意される。このため、本実施形態で個々のページの表示について説明している箇所は、ステップと読み替えることができる。ページが表示される順番とは、Mnのnの数値のことである。この順番は、ページの閲覧順ということもできる。
【0106】
なお、ステップは、個々のページの表示に限られず、任意のステップであってよい。例えば、複数のページの表示が1つのステップに相当してもよい。また例えば、個々の入力フォームに対する入力が1つのステップに相当してもよい。ステップは、少なくとも1つの行動からなる単位であればよい。
【0107】
例えば、学習モデルMnは、ステップごとに用意され、学習部201は、各学習モデルMnに、対応するステップまで進んだことを示す行動履歴と、行動履歴に含まれる利用結果と、の関係を学習させる。対応するステップまで進んでいない行動履歴については、学習モデルMnには学習されない。各学習モデルMnを学習させるための教師データセットDSnの作成方法については、後述するモデル作成処理(
図12)で説明する。
【0108】
先述したように、学習モデルMnは、ニューラルネットワーク等の任意のモデルを適用可能であるが、学習モデルMnは、重み付けされたk近傍法を利用してもよい。この場合、学習モデルMnは、重み付けされたk近傍法に基づいて、利用中のユーザの行動履歴を分類し、利用結果を出力する。
【0109】
図11は、重み付けされたk近傍法を利用した学習モデルMnの一例を示す図である。
図11の例では、行動履歴の特徴量が2次元平面上にプロットされている場合を示し、分類対象の行動履歴の特徴量F0を星型で示す。学習モデルMnは、分類対象の行動履歴の特徴量F0から近い順にk個の行動履歴(ラベル済みの行動履歴)の特徴量F1~F9を取得する。
【0110】
図11の例では、「コンバージョン」のラベルが付与された3つの行動履歴の特徴量F1~F3、「放棄」のラベルが付与された5つの行動履歴の特徴量F4~F8、及び「意志無し」のラベルが付与された1つの行動履歴の特徴量F9が取得される。学習モデルMnは、分類対象の行動履歴の特徴量F0と、これら取得されたラベル済みの行動履歴の特徴量F1~F9の各々と、の距離に応じて重み係数を決定する。例えば、これらの距離が短いほど重み係数が高くなる。距離と重み係数の関係は、予め定めておけばよく、例えば、重み係数は距離に反比例する。
【0111】
重み付けしていないk近傍法であれば、多数決によってラベルが決まるので、上記の場合、分類対象の行動履歴には、5票獲得する「放棄」が付与される。一方、
図11に示すように、重み付けされたk近傍法によれば、重み係数によって投票結果が変わり、分類対象の行動履歴に「コンバージョン」が付与される。なお、重み付け方法自体は、種々の手法を適用可能であり、例えば、距離と重み係数は、単純な反比例でなくてもよく、指数関数的な関係であってもよい。
【0112】
[取得部]
取得部202は、サービスを利用中のユーザの行動履歴を取得する。本実施形態では、利用中のユーザの行動履歴がユーザデータベースDB1に格納されており、取得部202が学習サーバ20によって実現されるので、取得部202は、ウェブサーバ10から、ユーザデータベースDB1に格納された利用中のユーザの行動履歴を取得する。利用中のユーザが複数存在する場合には、取得部202は、利用中のユーザごとの行動履歴を取得する。
【0113】
本実施形態では、複数のステップの各々が順次行われるので、取得部202は、利用中のユーザにより行われた少なくとも1つのステップを、利用中のユーザの行動履歴として取得する。本実施形態では、利用中のユーザの行動履歴は繰り返し更新されるので、取得部202は、利用中のユーザの最新の行動履歴を取得する。例えば、取得部202は、新たなページが表示されるたびに、最新の行動履歴を取得する。また、本実施形態では、行動履歴にページの閲覧履歴が含まれるので、取得部202は、利用中のユーザの閲覧履歴を取得することになる。行動履歴には、入力履歴も含まれるが、特に入力履歴は含まれなくてもよい。この場合、行動履歴は、閲覧履歴だけを示すことになる。
【0114】
[予測部]
予測部203は、利用中のユーザの行動履歴と学習モデルMnとに基づいて、利用中のユーザの利用結果を予測する。例えば、予測部203は、利用中のユーザの行動履歴の特徴量を計算し、学習モデルMnに入力する。学習モデルMnは、入力された特徴量に基づいて、利用結果として、各ラベルの蓋然性を出力する。
【0115】
本実施形態では、学習モデルMnがステップごとに用意されているので、予測部203は、複数の学習モデルMnの中から、利用中のユーザにより現在行われているステップに対応する学習モデルMnを選択し、当該選択した学習モデルMnに基づいて、利用結果を予測する。例えば、予測部203は、複数の学習モデルMnの中から、利用中のユーザにより現在表示されたページの順番に対応する学習モデルMnを選択する。現在の順番と選択すべき学習モデルMnとの対応関係は、データ記憶部200に予め定義されているものとする。
【0116】
予測部203は、利用中のユーザの最新の行動履歴が取得された場合に、利用中のユーザの最新の利用結果を予測する。例えば、予測部203は、利用中のユーザの行動履歴が更新されるたびに、利用中のユーザの利用結果を予測する。本実施形態では、コンバージョンの有無が利用結果として取得されるので、予測部203は、利用中のユーザの閲覧履歴と学習モデルMnとに基づいて、利用中のユーザによりサービスがコンバージョンされるか否かを予測することになる。
【0117】
[4.本実施形態において実行される処理]
次に、予測システムSで実行される処理を説明する。本実施形態では、学習モデルMnを作成するモデル作成処理と、ユーザにサービスを提供するサービス提供処理と、について説明する。
【0118】
[4-1.モデル作成処理]
図12は、モデル作成処理の一例を示すフロー図である。
図12に示す処理は、制御部21がそれぞれ記憶部22に記憶されたプログラムに基づいて動作することによって実行される。モデル作成処理は、
図6に示す機能ブロックの処理の一例である。
【0119】
図12に示すように、学習サーバ20は、行動履歴データベースDB2とドメインナレッジデータベースDB3とに基づいて、各ユーザの行動履歴にラベルを付与する(S100)。S100において、学習サーバ20は、行動履歴データベースDB2に格納された行動履歴ごとにラベルを付与する。ラベルの付与方法については、先述した通りである。
【0120】
学習サーバ20は、カウンタ変数mに1を代入する(S101)。学習サーバ20は、行動履歴データベースDB2に格納された各行動履歴のうち、m番目までの行動を取得する(S102)。例えば、mが1の場合、学習サーバ20は、各行動履歴に示された行動のうち、1番目の行動だけを取得する。mが2以上の場合、学習サーバ20は、各行動履歴に示された行動のうち、m番目までの行動を取得する。mが2以上の場合、学習サーバ20は、m-1番目までの行動しか存在しない行動履歴の行動は取得しない。
【0121】
学習サーバ20は、S101で取得された行動履歴と、S100で付与されたラベルと、に基づいて、教師データセットDSmを作成する(S103)。S103において、学習サーバ20は、行動履歴ごとに、m番目までの行動履歴の特徴量を入力とし、当該行動履歴のラベルを出力とするペアを作成する。学習サーバ20は、各行動履歴の当該ペアが格納された教師データセットDSmを作成する。なお、特徴量の計算アルゴリズムは、学習サーバ20に予め記憶されているものとする。この計算アルゴリズムは、行動履歴に含まれる値を入力すると、多次元ベクトルに変換するように定められている。
【0122】
学習サーバ20は、S102で作成した教師データセットDSmに基づいて、m番目の学習モデルMmの学習処理を実行する(S104)。S104においては、教師データセットDSmに格納された多数のペアの入力と出力の関係が得られるように、学習モデルMmのパラメータを調整する。
【0123】
学習サーバ20は、カウンタ変数mが閾値よりも大きくなったか否かを判定する(S105)。この閾値は、nの値の最大値である。カウンタ変数mが閾値よりも大きくなったと判定されない場合(S105;N)、学習サーバ20は、カウンタ変数mをインクリメントし(S106)、S102の処理に戻る。この場合、次の学習モデルMm用の教師データセットDSmが作成され、学習処理が実行される。一方、カウンタ変数mが閾値よりも大きくなったと判定された場合(S105;Y)、本処理は終了する。
【0124】
[4-2.サービス提供処理]
図13及び
図14は、サービス提供処理の一例を示すフロー図である。
図13及び
図14に示す処理は、制御部11,21,31がそれぞれ記憶部12,22,32に記憶されたプログラムに基づいて動作することによって実行される。サービス提供処理は、
図6に示す機能ブロックの処理の一例である。
【0125】
図13に示すように、ユーザ端末30がウェブサーバ10にアクセス要求を送信すると、ウェブサーバ10とユーザ端末30との間で、セッションが確立される(S200)。S200において、所定の通信プロトコルで定められた手順に沿ってセッションが確立される。セッションが確立されると、ウェブサーバ10は、ウェブサーバ10にアクセスしたユーザのユーザIDに関連付けてセッションIDとセッション開始時間を格納する。セッションIDは、他のセッションと重複しないように発行される。セッション開始時間は、リアルタイムクロック等を利用して取得された現在日時が格納されるようにすればよい。
【0126】
なお、本実施形態では、セッション確立時にユーザIDとパスワードが送信されて認証処理が実行されるものとするが、特に認証処理は実行されなくてもよい。この場合、どのユーザIDのユーザがアクセスしているかを特定できないことがあるので、ウェブサーバ10は、ユーザデータベースDB1とは異なる場所に、セッションIDとセッション開始時間を記録してもよい。
【0127】
ウェブサーバ10は、ユーザ端末30に、ユーザにより指定されたURLのページの表示データを送信する(S201)。本実施形態では、アクセス要求にURLが含まれているものとする。このため、セッションが確立したばかりの時点では、S201において、ウェブサーバ10は、アクセス要求に含まれるURLのページの表示データを送信する。
【0128】
ユーザ端末30は、表示データを受信すると、ページを表示部35に表示させ(S202)、操作部34の検出信号に基づいて、ユーザの操作を受け付ける(S203)。S203において、ユーザ端末30は、入力フォームのフォーカス、入力フォームに対する情報入力、ページのスクロール、又はボタンの選択といった操作を受け付ける。これらの操作の検出方法自体は、公知の方法を利用可能であり、例えば、OSに標準的に搭載されているイベントの検知機能を利用すればよい。ユーザ端末30は、表示中のページに対するユーザの入力履歴を、記憶部22に時系列的に記録する。
【0129】
ユーザ端末30は、次のページを表示させるための操作が行われたか否かを判定する(S204)。表示中のページには、他のページへのリンクを含むボタン等が表示される。S204において受け付けられる操作は、当該リンクを選択する操作である。この操作が行われたと判定されない場合(S204;N)、本処理は終了する。
【0130】
一方、次のページを表示させるための操作が行われたと判定された場合(S204;Y)、ユーザ端末30は、ウェブサーバ10に対し、次のページのページ表示要求を送信する(S205)。このページ表示要求には、次のページのURLと、S203及びS204で受け付けた操作内容と、が含まれているものとする。なお、次のページのページ表示要求が送信されない状態が一定時間経過すると、セッションは強制的に切断されるものとする。
【0131】
ウェブサーバ10は、ページ表示要求を受信すると、ユーザデータベースDB1に格納されたセッション中の行動履歴を更新する(S206)。S206においては、ウェブサーバ10は、利用中のユーザのユーザIDに関連付けて、ユーザ端末30に表示されていたページのURLと、ページ表示要求に含まれる操作内容と、を格納する。
【0132】
ウェブサーバ10は、学習サーバ20に対し、サービスの利用結果の予測要求を送信する(S207)。この予測要求には、利用中のユーザの現時点までの行動履歴が含まれているものとする。
【0133】
学習サーバ20は、予測要求を受信すると、当該予測要求に含まれる利用中のユーザの行動履歴を取得し(S208)、使用する学習モデルMnを選択する(S209)。S209において、学習サーバ20は、S207で取得した行動履歴が何ページ目までを示しているかを特定する。このページをpページ目とすると、学習サーバ20は、学習モデルMpを選択する。
【0134】
学習サーバ20は、S208で取得した行動履歴と、S209で選択した学習モデルMnと、に基づいて、利用中のユーザの利用結果を予測し(S210)、ウェブサーバ10に対し、S210における予測結果を送信する(S211)。S209において、学習サーバ20は、S208で取得した行動履歴の特徴量を計算する。学習サーバ20は、当該特徴量を学習モデルMnに入力する。学習モデルMnは、入力された特徴量に基づいて、各ラベルの蓋然性を計算して出力する。学習サーバ20は、学習モデルMnから出力された各ラベルの蓋然性を、利用結果の予測として取得する。
【0135】
図14に移り、ウェブサーバ10は、予測結果を受信すると、クーポンを付与するか否かを判定する(S212)。S212において、ウェブサーバ10は、受信した予測結果をユーザデータベースDB1に格納する。ウェブサーバ10は、予測結果の履歴に基づいて、「放棄」の蓋然性が上昇したか否かを判定する。ウェブサーバ10は、この蓋然性が上昇した場合に、クーポンを付与すると判定する。
【0136】
クーポンを付与すると判定された場合(S212;Y)、ウェブサーバ10は、利用中のユーザにクーポンを付与し(S213)、ユーザ端末30に対し、クーポンを含むページの表示データを送信する(S214)。S214において、ウェブサーバ10は、利用中のユーザのユーザIDに関連付けて、クーポン情報を格納する。クーポンを含むページには、クーポンを示す画像が表示される。ユーザは、当該画像を選択することによって、クーポンを使用することができる。
【0137】
一方、S211において、クーポンを付与すると判定されない場合(S212;N)、ウェブサーバ10は、ユーザ端末30に対し、クーポンを含まないページの表示データを送信する(S215)。
【0138】
ユーザ端末30は、表示データを受信すると、当該表示データに基づいて、ページを表示部35に表示させる(S216)。続くS217及びS218の処理は、それぞれS203及びS204と同じである。次のページを表示させるための操作が行われたと判定されない場合(S218;N)、本処理は終了する。一方、この操作が行われたと判定された場合(S218;Y)、S205の処理に戻り、上記説明した処理が繰り返される。なお、一度クーポンが付与されたユーザについては、再度クーポンが付与されないようにしてもよいし、特に関係なく、違うクーポンが付与されてもよい。
【0139】
ウェブサーバ10は、セッションが切断されたか否かを判定する(S216)。セッションの切断を判定する方法自体は、公知の手法を適用可能であり、通信プロトコルで規定された手順に沿って判定されるようにすればよい。セッションが切断されたと判定されない場合(S216;N)、ユーザ端末30からページ表示要求を受信すると、S205の処理が再び実行される。一方、セッションが切断されたと判定された場合(S216;Y)、本処理は終了する。
【0140】
以上説明した予測システムSによれば、サービスを利用中のユーザの行動履歴と学習モデルMnとに基づいて、利用中のユーザの利用結果を予測し、予測された利用結果に応じた処理を実行することによって、利用結果の予測精度と、それに応じた処理のリアルタイム性と、を高めることができる。例えば、予測システムSは、サービスから離脱すると思われる「放棄」のユーザであることを検出した場合に、適切なタイミングでクーポン等の特典を付与することができ、コンバージョン率を高めることができる。適切なタイミングでクーポン等の特典が付与されることによって、特典の付与コストを低減させることができる。例えば、全てのユーザに対してクーポン等の特典を付与すると、その処理の分だけウェブサーバ10に処理負荷がかかるが、適切なユーザに対し、適切なタイミングで特典を付与することによって、ウェブサーバ10の処理負荷を軽減することができる。
【0141】
また、予測システムSは、利用中のユーザにより行われた少なくとも1つのステップを、利用中のユーザの行動履歴として取得して利用結果を予測することによって、複数のステップの各々が順次行われるサービスにおける予測精度とリアルタイム性を高めることができる。例えば、利用中のユーザが個々のステップを行うたびに、そのユーザの利用結果を予測することによって、予測精度を高めることができ、ステップごとに予測結果に応じた処理を実行してリアルタイム性を高めることもできる。
【0142】
また、予測システムSは、複数の学習モデルMnの中から、利用中のユーザにより現在行われているステップに対応する学習モデルMnを選択することによって、現在のステップに応じた最適な学習モデルMnに利用結果を予測させることができ、利用結果の予測精度を効果的に高めることができる。
【0143】
また、予測システムSは、各学習モデルMnに、対応するステップまで進んだことを示す行動履歴と、行動履歴に含まれる利用結果と、の関係を学習させることによって、不要な情報が学習されることを防止し、学習モデルMnの精度を高めることができる。また、不要な情報が学習処理で利用されないので、学習処理を高速化することもできる。
【0144】
また、予測システムSは、ページが表示される順番ごとに学習モデルMnを用意し、複数の学習モデルMnの中から、利用中のユーザにより現在表示されたページの順番に対応する学習モデルMnを選択することによって、現在の順番に応じた最適な学習モデルMnに利用結果を予測させることができ、利用結果の予測精度を効果的に高めることができる。
【0145】
また、予測システムSは、利用中のユーザの最新の行動履歴が取得された場合に、利用中のユーザの最新の利用結果を予測し、予測された最新の利用結果が過去に予測された利用結果から変化した場合に、クーポン付与等の処理を実行することによって、最適なタイミングで当該処理を実行することができる。例えば、予測された利用結果が劇的に変化した場合であっても、最新の予測結果に応じた処理を迅速に実行することができる。
【0146】
また、予測システムSは、予測された利用結果の蓋然性に応じた処理を実行することによって、最適なタイミングで処理を実行することができる。例えば、予測された利用結果の蓋然性が劇的に変化した場合であっても、最新の予測結果に応じた処理を迅速に実行することができる。
【0147】
また、予測システムSは、重み付けされたk近傍法に基づいて、利用中のユーザの行動履歴を分類し、利用結果を出力する学習モデルMnを利用することによって、予測精度を効果的に高めることができる。更に、処理が比較的単純なk近傍法を利用することによって、利用結果を予測する処理を高速化することができる。このため、予測システムSのリアルタイム性を効果的に高めることができる。
【0148】
また、予測システムSは、利用中のユーザの閲覧履歴と学習モデルMnとに基づいて、利用中のユーザによりサービスがコンバージョンされるか否かを予測し、予測されたコンバージョンの有無に応じた処理を実行することによって、施設を予約又は商品を購入するためのページが閲覧されることによって利用されるサービスにおける予測精度とリアルタイム性を高めることができる。
【0149】
また、予測システムSは、利用中のユーザによりサービスがコンバージョンされないことが予測された場合に、処理として、利用中のユーザに対し、サービスに関するクーポンを付与することによって、ユーザの離脱を防止し、コンバージョン率を高めることができる。
【0150】
[5.変形例]
なお、本発明は、以上に説明した実施の形態に限定されるものではない。本発明の趣旨を逸脱しない範囲で、適宜変更可能である。
【0151】
例えば、ウェブサイトを利用したサービスを例に挙げたが、実店舗におけるユーザの行動を解析する場面にも予測システムSを適用可能である。この場合、学習モデルMnには、実店舗におけるユーザの行動履歴と、行動履歴に含まれるサービスの利用結果と、の関係が学習されている。この行動履歴は、店内の移動、手や足の動き、顔の向き、又はユーザの姿勢などである。実店舗内には、少なくとも1つのカメラを設置し、予測システムSは、画像解析によってユーザの行動を特定する。予測システムSは、一定時間ごとに、画像解析によって得られたユーザの行動履歴を学習モデルMnに入力し、サービスの利用結果を取得する。例えば、予測システムSは、サービスの利用結果が放棄(実店舗の外に出ること)を示している場合に、所定の処理を実行する。この処理は、ユーザの興味を高めるような処理であればよく、例えば、スピーカーから所定の音声を出力すること、ユーザの端末にクーポンを送信すること、又は店員に所定の通知をすることなどである。
【0152】
また例えば、実施形態では、複数のステップの各々が順次行われることで利用されるサービスを例に挙げたが、サービス利用時のステップは、特に定められていなくてもよい。また例えば、実行部103が実行する処理は、実施形態で説明した処理に限られない。例えば、実行部103は、コンバージョン等の蓋然性の変化(例えば、
図4-5のようなグラフ)を解析者端末40に表示させてもよい。また例えば、各行動履歴には、3種類のラベルの何れかが付与される場合を説明したが、ラベルの数は、任意であってよく、2種類であってもよいし、4種類以上であってもよい。また例えば、予測システムSは、ユーザのコンバージョンを予測する場面以外の場面にも適用可能であり、例えば、ユーザの不正検知の場面に適用してもよいし、サービスの利用方法を分からないユーザを検知する場面に適用してもよい。
【0153】
また例えば、ウェブサーバ10で実現されるものとして説明した機能は、学習サーバ20又は他のコンピュータで実現されてもよい。また例えば、学習サーバ20で実現されるものとして説明した機能は、ウェブサーバ10又は他のコンピュータで実現されてもよい。また例えば、各機能がウェブサーバ10及び学習サーバ20で実現される場合を説明したが、1台のコンピュータによって各機能が実現されてもよい。例えば、ウェブサーバ10、ユーザ端末30、及び解析者端末40の各々で機能が分担されてもよい。この場合、ネットワークNを介して処理結果が送受信されることで、機能が分担されるようにすればよい。また例えば、データ記憶部200に記憶されるものとして説明したデータは、ウェブサーバ10以外のコンピュータに記憶されていてもよい。
【符号の説明】
【0154】
S 予測システム、N ネットワーク、10 ウェブサーバ、11,21,31,41 制御部、12,22,32,42 記憶部、13,23,33,43 通信部、20 学習サーバ、30 ユーザ端末、34,44 操作部、35,45 表示部、40 解析者端末、100 データ記憶部、101 受付部、102 提供部、103 実行部、200 データ記憶部、201 学習部、202 取得部、203 予測部、DB1 ユーザデータベース、DB2 行動履歴データベース、DB3 ドメインナレッジデータベース、DSn 教師データセット。