添付図面を参照しながら本開示の実施形態を説明する。可能な場合には、同一の部分には同一の符号を付して、重複する説明を省略する。
図1は、本開示におけるレコメンドシステム100の動作概要を示す図である。レコメンドシステム100は、店舗300からの送客依頼により、ユーザ端末200に対してレコメンドメッセージを送信する。このレコメンドメッセージは、例えば、店舗300に関する情報であって、店舗300がレストランであれば、そのメニュー、タイムセールなどを含む情報である。レコメンドメッセージは、店舗300をユーザに推奨するための情報である。
図1(a)において、レコメンドシステム100は、レコメンドをユーザUが所有するユーザ端末200に送信すると、ユーザ端末200は、適切なタイミングでそのレコメンドメッセージを表示(提示)する。
図1(b)において、ユーザUがその店舗300を訪問する。レコメンドシステム100は、その訪問を判定する。訪問判定は、店舗300またはユーザ端末200からレコメンドシステム100への通知により行われる。
図1(c)において、レコメンドシステム100は、レコメンド精度向上のため、自身に対してフィードバックするとともに、店舗300に対してレコメンド効果を提示する。このレコメンド効果に応じて店舗300は、送客手数料をレコメンドシステム100(その運営者)に支払う。
本開示においては、レコメンドシステム100がレコメンドメッセージをユーザ端末200(ユーザU)に送信し、そのレコメンドメッセージに対するレコメンド効果(評価)を算出することで、レコメンドに対する適正な対価を算出することができる。
以下、本開示における、レコメンド効果の考え方について説明する。図2は、レコメンド効果の考え方を示す模式図である。図2(a)は、レコメンドがなかった場合においてユーザUが店舗Aに訪問したと仮定したときの模式図である。図2(b)は、レコメンドがあった場合において、ユーザUが店舗Aに訪問した実際の模式図である。
図2(a)および図2(b)に示されるとおり、レコメンドの有無にかかわらず、ユーザUが店舗Aに訪問した場合、そのレコメンドは効果が無いと判断される。
図2(c)においては、レコメンドがなかった場合、ユーザUは店舗Bに訪問しないと仮定し、一方で図2(d)においては、レコメンドがあった場合、ユーザUは実際に店舗Bに訪問した場合、レコメンドがないと訪問しないと判断でき、レコメンドに効果があると判断される。
図2から分かるように、本開示においては、店舗に対するユーザの評価は同一である場合、レコメンドの有無でユーザが訪問するか否かの予測値を比較することで、レコメンドの効果を測定する。図2における店舗評価fx2(fx2_1、fx2_2)、および非合理評価fx3は、ユーザの評価パラメータを示す。店舗評価fx2は、趣味趣向の一致度に基づく属性評価fx2_1、およびユーザの訪問状況に対する制約評価fx2_2を示す。その詳細は後述する。
図3は、本開示におけるレコメンドシステム100の機能構成を示すブロック図である。本開示のレコメンドシステム100は、店舗取得部101、店舗評価部102、評価導出部103、レコメンド評価部104、店舗情報記憶部105、訪問履歴記憶部106、DB管理部106a、ユーザ属性記憶部107、状況モデル108、推定モデル109、評価モデル110、およびレコメンド履歴記憶部111を含んで構成されている。
店舗取得部101は、ユーザの来訪候補店舗fx1を取得する部分である。店舗取得部101は、ユーザの選択肢にあがる既知店舗を店舗情報記憶部105および訪問履歴記憶部106から取得し、その既知店舗に基づいて、ユーザが来訪するであろう来訪候補店舗fx1を取得する。来訪候補店舗の取得処理の詳細については後述する。
店舗評価部102は、訪問履歴記憶部106に記憶されている訪問履歴情報、ユーザ属性記憶部107に記憶されているユーザ属性情報、および店舗情報記憶部105に記憶されている店舗情報に基づいて、ユーザにおける各店舗の店舗評価fx2を算出する部分である。店舗評価部102は、各ユーザの属性に基づいて、各ユーザの店舗との趣味趣向の一致度に基づいた属性評価fx2_1を算出する。また、店舗評価部102は、各ユーザの訪問状況と各店舗の情報とに基づいた各店舗の制約評価fx2_2を算出する。
評価導出部103は、属性評価fx2_1、制約評価fx2_2、および非合理評価fx3を評価モデル110に入力し、その出力である訪問可能性評価g(x)を取得する部分である。非合理評価fx3は、レコメンドされた店舗および他の店舗に対するユーザの直近訪問情報に基づいて、推定モデル109から取得される。評価導出部103は、属性評価fx2_1、制約評価fx2_2、および非合理評価fx3のうち少なくとも一つを入力すればよく、推定モデル109も少なくとも一つを使って学習されてもよい。
レコメンド評価部104は、訪問した店舗(例えば店舗A)に対する訪問可能性評価g(x)およびレコメンドがなかったと仮定したときの訪問可能性評価g(x)の差分に基づいて、レコメンド効果を評価する部分である。レコメンド評価部104は、レコメンド履歴記憶部111を参照して、過去にまたは所定期間内にレコメンドしたことがある店舗(例えば、店舗A)に対しては、レコメンド評価はしない。
店舗情報記憶部105は、店舗情報を記憶する部分である。店舗情報は、その店舗のジャンル、価格帯等の属性情報である。図4は、店舗情報の具体例を示す図である。図に示されるとおり、店舗情報は、店舗ごとに、ジャンル、価格帯、店舗形態、駐車場の有無、開店している時間帯、エリアなどを含む。ジャンルは、飲食店、衣料品店、雑貨屋などの店舗の種別を示す。
訪問履歴記憶部106は、ユーザごとの訪問履歴情報を記憶する部分である。図5は、その具体例を示す図である。図に示されるとおり、訪問履歴情報は、ユーザID、訪問日時、店舗、移動手段、同伴者、時間帯、および来訪候補店舗を対応付けて構成されている。
DB管理部106aは、訪問履歴記憶部106に訪問履歴情報を記憶する部分である。DB管理部106aは、ユーザ端末200が来訪する度に、そのユーザ端末200または来訪した店舗から訪問情報(訪問履歴情報と同じ情報)を取得する。
ユーザ属性記憶部107は、各ユーザのユーザ属性情報を記憶する部分である。図6は、ユーザ属性情報の具体例を示す図である。図に示されるとおり、ユーザ属性情報は、ユーザID、性別、住居、および職業等を含む。これら情報以外に、年代、家族構成等を含んでもよい。
状況モデル108は、ユーザの訪問状況ごとに用意された推定モデルであって、ユーザの訪問状況を入力し、その店舗に対する評価fx2_2を出力する機械学習モデルである。この状況モデル108は、ユーザごとの全エリアにおける訪問履歴(移動手段、同伴者有無、時間帯など)に基づいて訪問状況ごとに生成されており、ユーザの訪問状況を説明変数とし、各店舗の訪問の有無を目的変数として学習される。よって、状況モデル108の出力は、店舗ごとの訪問可能性を示す。
推定モデル109は、ユーザの直近訪問情報を入力し、店舗ごとの訪問可能性を示す非合理評価fx3を出力する機械学習モデルである。この推定モデル109は、ユーザの店舗に対する訪問頻度情報(リピート回数、経過日数、ジャンル等)およびそのときのユーザの直近状況情報(天気、前回の価格帯・・・当該店舗の訪問の有無など)を含む直近訪問情報を説明変数とし、その訪問の有無を目的変数として、機械学習により生成される。この学習については後述する。
評価モデル110は、店舗評価fx2(fx2_1、fx2_2)、および非合理評価fx3を入力して、訪問可能性評価g(x)を出力する機械学習モデルである。この評価モデル110は、店舗評価fx2、および非合理評価fx3を説明変数とし、訪問の有無を目的変数として、機械学習により生成される。この学習について後述する。
レコメンド履歴記憶部111は、ユーザごとにレコメンド履歴情報を記憶する部分である。図7は、レコメンド履歴情報の具体例を示す図である。図に示されるとおり、レコメンド履歴情報は、レコメンドされたユーザのユーザID、レコメンドした日時、およびレコメンド対象の店舗を含む。
なお、属性評価fx2_1を算出するにあたって、上記にかえて、以下の構成および処理としてもよい。例えば、属性モデルは店舗ごとに用意された各店舗の属性情報であり、店舗ごとの訪問ユーザの属性に基づいて生成される。そして、この属性モデルを利用して属性評価fx2_1を算出してもよい。また、店舗評価fx2を算出するための状況モデル108および属性モデルの学習処理がこのタイミングで行われてもよい。
このように構成されたレコメンドシステム100の動作について説明する。図8は、レコメンドシステム100における来訪候補店舗を取得するフローチャートである。
ユーザが店舗Aに訪問すると、ユーザ端末200からユーザID、訪問日時、および訪問した店舗Aが訪問履歴記憶部106に送信され記憶される(S101)。これら処理は、DB(データベース)管理部106aにより制御される。図10(a)は、その訪問履歴情報を示す。
DB管理部106aは、これら処理を行うと、訪問n時間前のユーザ状況を取得し、さらに訪問履歴記憶部106に対応付けて記憶する(S102)。図10(b)は、ユーザ状況を反映した訪問履歴情報を示す。このユーザ状況は、ここでは、そのユーザの移動手段、同伴者の有無、および時間帯を含む。DB管理部106aは、ユーザ端末200からユーザ操作によって直接これら情報を取得してもよいし、ユーザ端末200のセンサ等に基づいて取得された情報を取得してもよい。また、DB管理部106aは、ユーザ端末200の位置登録を行うDBの位置情報に基づいて、移動手段、同伴者の有無等を推定してもよい。本開示では、DB管理部106aは、訪問n時間前の情報を取得している。ユーザ端末200または端末管理サーバ(図示せず)は、常時、ユーザ状況を記憶しており、DB管理部106aは、そのユーザ状況のうち、n時間前の情報を取得することができる。
店舗取得部101は、ユーザの来訪候補店舗fx1を取得し(S103)、訪問履歴記憶部106に来訪候補店舗を記憶する(S104)。図10(c)は、来訪候補店舗を反映した訪問履歴情報を示す。
ここで、評価導出部103は、店舗Aが来訪候補店舗に含まれていると判断するか、否かを判断する(S105)。ここで、含まれていないと判断され、レコメンド評価部104が、店舗Aがレコメンドされていると判断する場合は、レコメンド評価部104は、そのレコメンドは効果があると判定し、処理終了となる(S106)。一方で、含まれていると判断されると、評価導出部103は、より詳細な評価処理を行う。
図9は、レコメンドシステム100におけるレコメンド評価の詳細処理を示すフローチャートである。
店舗評価部102は、対象ユーザにおける各来訪候補店舗の評価fx2を算出する(S201)。より詳細には、店舗評価部102は、属性評価fx2_1および制約評価fx2_2を算出する。なお、店舗評価fx2を算出するための状況モデル108の学習処理がこのタイミングで行われてもよい。
そして、評価導出部103は、ユーザの直近の行動を含む統計情報に基づいて、各来訪候補店舗に対する非合理評価fx3を算出する(S202)。
評価導出部103は、対象ユーザにおける属性評価fx2_1、制約評価fx2_2、および非合理評価fx3を、訪問履歴記憶部106に記憶する(S203)。図10(d)は、対象ユーザにおける属性評価fx2_1、制約評価fx2_2、および非合理評価fx3を、訪問履歴情報に反映した図を示す。なお、非合理評価fx3を算出するための推定モデル109の学習処理がこのタイミングで行われてもよい。
評価導出部103は、訪問した店舗(例えば店舗A)が過去に(または所定期間内に)そのユーザにレコメンドされているか否かを、レコメンド履歴記憶部111を参照して判断する(S204)。
評価導出部103は、レコメンドされたと判断すると、各評価(fx2、およびfx3)を用いて訪問可能性g(x)を算出し、訪問可能性g(x)を用いて、レコメンド効果を算出する(S205)。具体的には、レコメンドされていなかったと仮定した訪問可能性g(x)をさらに算出し、レコメンドされたときの訪問可能性g(x)と、レコメンドされていなかったと仮定した訪問可能性g(x)との差分を求めることで、そのレコメンド効果を算出する。なお、訪問可能性g(x)を算出するための評価モデル110の学習処理が、このタイミングで行われてもよい。
評価導出部103は、ここでレコメンドされていないと判断すると、レコメンド評価しない(S206)。
このようにして、レコメンドシステム100は、レコメンドに対する効果を求めることができる。レコメンド送付の運営者はレコメンドに対する効果に基づいて、レコメンドに対する送付手数料を決定することができ、合理的な運営を可能にする。
つぎに、上述した来訪候補店舗fx1、店舗評価fx2、非合理評価fx3、および訪問可能性g(x)の求め方について説明する。
図11~図13は、来訪候補店舗fx1の求め方を示す図である。図11は、店舗取得部101により対象となる来訪候補店舗fx1を取得する処理を示す模式図である。
図に示されるとおり、店舗取得部101は、訪問履歴記憶部106を参照して、対象ユーザ(図11では、ユーザ101)の全エリアの訪問履歴(図10(a)参照)を取得する(S1)。店舗取得部101は、現在訪問した店舗と同じエリアの店舗を、訪問履歴から取得する(S2)。そして、店舗取得部101は、対象ユーザごとに集計して該当エリアの訪問履歴を取得して、訪問履歴テーブルを生成する(S3)。
図12は、対象となる店舗の近隣店舗を示す図である。図に示されるとおり、来訪候補店舗として、近隣店舗を含めることがよい場合がある。本開示においては、対象となる店舗を中心として半径10mなど所定半径内にある近隣店舗を来訪候補店舗とする(図12(a))。また、対象店舗と同じテナントに入っている店舗を近隣店舗として来訪候補店舗とする(図12(b))。同じテナントか否かの情報は、店舗情報に含まれているテナント名に基づいて判断されてもよい。図4では、そのテナント名は省略されている。
なお、上記に限らず、過去に訪問履歴があった店舗と過去の訪問ログからユーザが存在を知っているであろう店舗であれば、いろいろな手法がある。近隣店舗の訪問ログ等から推測された知っている店舗でもよい。
図13は、生成した訪問履歴テーブルから来訪候補店舗の評価値を求めるときを示す模式図である。図13(a)は、訪問履歴テーブルを示す。この図に示されるとおり、この訪問履歴テーブルには、各店舗の訪問履歴(頻度)が記述されている。図13(a)によると、以下の店舗A~Eは、ユーザにとって以下の印象がもたれている。
店舗A: 最近たくさん来ていて習慣化している
店舗B:最近思い出したように来た→最近来たので覚えてる
店舗C:最近来ていない&前来た時も思い出したようにきている→あまり覚えてない
店舗D:昔何度も行っていた→多分覚えてる
店舗E:昔1回→覚えていない
店舗取得部101は、この訪問履歴テーブルに従って、該当するエリアの訪問回数と、それに対する店舗訪問とに基づいて、各店舗に対するユーザの覚えている程度(既知度)を算出する。エリアへの訪問回数は訪問履歴情報から求められる。覚えている程度(既知度)は、以下の式に基づく。この式によると、エリアへの訪問回数と、その訪問間隔とに基づいて、ユーザが覚えている程度が求められる。以下の式は、訪問間隔があいているほど、覚えている程度が低くなるように作られている。
なお、覚えている程度は、当然ながら上記式に限定されるものではなく、訪問頻度および訪問間隔またはそれらいずれか一つに基づいて定めることができる。上記dayは、訪問してからの経過日数に基づいて評価値を割り引くための割引率(係数)とする。例えば、3日経過すると1/3,10日経過すると、係数1/10などのように、経過日数に応じてその係数が低くなるように定められる。
図13(b)は、店舗取得部101により取得された来訪候補店舗ごとの値を示した図である。図に示されるとおり、この店舗群には、店舗A~Eのそれぞれの近隣店舗FおよびGが加えられている。店舗A~Eは、上記した通りの店舗としての評価値(ユーザが覚えている程度:既知度)が求められている。店舗FおよびGは、訪問されていないため、その評価値がない。そのため、店舗取得部101は、近隣店舗FおよびGを近隣店舗として導き出した店舗AおよびBの評価値に所定係数を乗算することにより、近隣店舗FおよびGの評価値を算出する。この評価値が高い店舗に対して、ユーザは近隣の店舗も知っている可能性があるので候補に追加する。「これ以上数値が高ければ候補に挙がる」であろう閾値を用いて、ユーザの来訪候補店舗を抽出する。
店舗取得部101は、この評価値が閾値以上の店舗を来訪候補店舗fx1とする。なお、これら評価値は、後述する訪問可能性評価g(x)に利用されてもよい。これにより、候補店舗として算出するだけでなく、来訪候補店舗fx1の店の評価値を後述する評価fx2、およびfx3同等に扱って、より精度のよい評価を算出することができる。
図14は、店舗評価fx2の求め方を示す図である。事前準備として、以下の処理が行われる。図14(a)に示されるように、訪問履歴記憶部106の訪問履歴情報およびユーザ属性記憶部107のユーザ属性情報に基づいて、店舗ごとの訪問したユーザおよびそのユーザ属性情報が取得される。図14(a)では、例えば店舗Aの訪問ユーザの属性情報(訪問ユーザ属性履歴)が取得されている。
そして、図14(b)に示されるように、店舗ごとに統計的ユーザ情報が生成される。この統計的ユーザ情報は、訪問ユーザ属性履歴に基づいて生成される情報であり、平均値、中央値、または最頻値に基づく。なお、住居、職業等の平均値、中央値を求めることできない項目については、最頻値に基づいてもよい。
これら処理は、図示しない店舗属性生成部により行われる。この部分は、レコメンドシステム100に備えられてもよいし、外部の装置に備えられてもよい。
図14(c)は、ユーザの属性情報を示す図である。図14(b)および図14(c)を用いて店舗に対する属性評価fx2_1の算出過程を示す。店舗評価部102は、対象となるユーザのユーザ属性情報(図14(c))と、店舗ごとの統計的ユーザ情報(訪問ユーザ属性履歴、図14(b))との類似度を求め、この類似度を属性評価fx2_1とする。
より具体的には、店舗評価部102は、ユーザ属性記憶部107を参照して、レコメンド効果の評価対象となるユーザ属性情報を取得する。店舗評価部102は、来訪候補店舗fx1の各店舗の属性情報と、ユーザの属性情報との類似度を算出することで、各店舗に対する評価fx2_1を算出する。類似度は、コサイン類似度により求められるが、これに限るものではない。
なお、属性評価fx2_1に関しては店舗への来訪ユーザの属性と来訪の有無とから算出される来訪予測値なども評価値としては利用できる。すなわち、属性評価モデルを用いて、ユーザ属性を入力して、それに対する来訪可能性を推定するモデルを利用してもよい。その属性評価モデルは、ユーザ属性を説明変数、来訪の有無を目的変数として学習される。属性評価fx2_1は、店舗への来訪ユーザの属性と来訪の有無とから算出され、ユーザの属性にもとづく店舗評価を算出する手法は上記に限らない。
つぎに、制限評価fx2_2の算出方法について説明する。図15は、その模式図を示す。店舗評価部102は、対象ユーザ(ユーザ101)の訪問状況を訪問履歴記憶部106から取得する。この状況情報は、ユーザの店舗への来訪時間からn時間前に基づいたものとする。そして、ユーザごとに作成された状況モデル108を状況に応じて選択する。この状況モデル108は、事前に状況パターンに応じて複数用意されており、店舗評価部102は、ユーザのn時間前の訪問状況に最も近いパターンにあった状況モデル108を選択する。
そして、店舗評価部102は、店舗情報記憶部105を参照して、来訪候補店舗fx1の店舗情報を取得する。そして、店舗評価部102は、この店舗情報を状況モデル108に入力する。店舗評価部102は、状況モデル108から出力された各店舗に対する制約評価fx2_2を取得する。
つぎに、状況モデル108の生成方法について説明する。図16は、状況モデル108を学習する学習装置120の機能構成を示すブロック図である。この学習装置120は、レコメンドシステム100に備えられてもよいし、それとは別に存在していてもよい。学習装置120は、訪問状況パターン分類部121および学習部122を備える。
図17は、状況モデル108を生成するための事前準備のための処理を示す図である。図17(a)に示すとおり、訪問状況パターン分類部121は、訪問履歴記憶部106を参照して、その状況情報(移動手段、同伴者、…時間帯など)を取得する。この状況情報は、上述したとおり、ユーザが店舗を訪問したn時間前の状況を示す。
そして、図17(b)に示されるとおり、訪問状況パターン分類部121は、パターンごとに状況情報を分類する。分類は、一定の訪問履歴(例えば5件以上など)が分類できるパターンに絞ることで行われる。
図17(c)に示されるとおり、学習部122は、ユーザの訪問時の状況パターンを生成する。学習部122は、訪問した店舗に対して、どの状況パターンだったかを判定し、各パターンで訪問した店舗を1、訪問しなかった店舗を0とする。
図18は、状況モデル108の学習処理の具体例を示す図である。学習部122は、訪問履歴記憶部106に記憶されている店舗ごとに、店舗情報記憶部105から各店舗に店舗情報を読み出し、各パターン(図17(c))に付与する。そして、学習部122は、店舗情報を説明変数とし、訪問の有無を目的変数として、機械学習により状況モデル108を各パターンごと学習する。この状況モデル108は、各ユーザのパターンごとに学習されている。
状況モデル108の学習方法は上記に限るものではない。制約評価fx2_2は、店舗への来訪ユーザの直前の状況と来訪の有無とから算出されればよく、ユーザの状況にもとづく店舗の評価を算出する手法は上記に限らない。
また、属性評価fx2_1および制約評価fx2_2の両方を考慮した推定モデルを用いてもよい。すなわち、ユーザと店舗との趣向一致度はfx2_1とfx2_2とで分けず、1つの評価値として算出するモデルとしてもよい。
この学習装置120は、レコメンドの有無によらず、対象ユーザが訪問する度に、訪問時における来訪候補店舗の訪問履歴情報を用いて学習処理をするが、ある程度の間隔を空けて纏めて学習処理をしてもよい。
つぎに、非合理評価fx3について説明する。図19は、非合理評価fx3を求めるための推定モデル109を学習するための学習装置130の機能構成を示すブロック図である。図20は、各種管理テーブルを生成することを説明する模式図である。図21は、これら各種管理テーブルを用いた学習処理を示す図である。
図20に示されるとおり、取得部131は、訪問履歴記憶部106を参照して、同じユーザの訪問履歴を取得する。また、取得部131は、店舗情報記憶部105を参照して、訪問履歴にあった店舗の店舗情報を取得し、対応付けた店舗情報テーブル130aを生成する。
さらに、取得部131は、エリアごと、ジャンルごとに集計して、前回の訪問履歴情報テーブル130bを取得する。この「前回の訪問履歴情報テーブル130bは、ユーザが訪問した前回の店舗と比較した訪問状況である前回比較状況(前回の価格帯など)、ユーザが訪問した店舗に対する訪問状況(外食頻度、ジャンルAの割合など)である店舗訪問状況、並びに外部サーバから取り出したエリア混雑度・エリア天気である外部情報に基づく統計情報を含む。これら前回比較状況、店舗訪問状況、外部情報については、少なくとも一つがあればよい。
また、取得部131は、ユーザの各店舗に対する訪問状況を店舗ごとに集計し、また前回の訪問履歴を取得して、訪問状況テーブル130cを取得する。この「訪問状況テーブル130c」は、各店舗の訪問頻度および訪問間隔などの訪問履歴状況を示す統計情報である。
図21に示されるとおり、学習部132は、訪問履歴記憶部106から来訪候補店舗を取得し、その来訪候補店舗の訪問履歴状況に、前回比較状況、店舗訪問状況、および外部情報を対応付けた情報を説明変数とし、実際に訪問したか否かを目的変数として、機械学習により学習して、推定モデル109を学習する。訪問したか否かについて、訪問した場合を1、訪問しなかった場合を0とした目的変数とする。なお、上記した来訪候補店舗fx1を取得する際に求めた各店舗の評価値を説明変数として用いてもよい。
これにより、ユーザのそのときの気分等に基づいた非合理な情報に基づく訪問可能性、すなわち非合理評価を算出するための推定モデル109を生成することができる。また、推定モデル109の学習については上記に限るものではなく、ユーザのジャンルおよびエリア等の訪問傾向から、各店舗の訪問予測値を算出する別のモデルを学習して構築してもよい。
この学習装置130は、レコメンドの有無によらず、対象ユーザが訪問する度に、訪問履歴情報を用いて学習処理をするが、ある程度の間隔を空けて纏めて学習処理をしてもよい。
本開示においては、ユーザのそのときに、その店舗に行く可能性があるかを算出するための基準となる情報として、上記統計情報を記憶している。また、これら統計情報は、ユーザの気分にかかわる特徴量をもとめるための基準となる情報である。本開示においては、ユーザの直近の訪問履歴、過去の訪問頻度等の統計情報を利用しているが、ユーザのその日の気分による訪問可能性を算出することを目的しているため、これ以外の情報を含んでもよい。
図22は、推定モデル109を用いて不合理評価fx3を算出する処理を示す図である。評価導出部103は、前回比較状況、店舗訪問状況、外部情報を、対象ユーザのための推定モデル109に入力することで、当該対称ユーザにとって店舗ごとの訪問可能性評価g(x)を算出することができる。上記したとおりこの推定モデル109において、各店舗の評価値を説明変数として用いて学習されたものとしてもよい。なお、それに限らず、この店舗ごと訪問可能性評価g(x)に対して、来訪候補店舗fx1を取得する際に利用した評価値を加算または乗算することによって、最終的な訪問可能性g(x)を求めてもよい。
つぎに、評価モデル110の学習について説明する。図23は、その評価モデル110を学習する学習装置140の機能構成を示すブロック図である。図24は、その学習装置140の動作を示す模式図である。学習装置140は、学習部140aを備えている。この学習部140aは、上記したとおり算出された店舗評価fx2、非合理評価fx3、およびレコメンド履歴を、そのときの各店舗の訪問の結果と対応付けて記憶しているデータベースから取り出し、店舗評価fx2、非合理評価fx3、レコメンド履歴を説明変数、各店舗の訪問の結果を目的変数として、機械学習により学習する。これにより評価モデル110が生成される。
この学習装置140は、レコメンドの有無によらず、対象ユーザが訪問する度に訪問履歴情報を用いて算出された店舗評価fx2および不合理評価fx3を用いて学習処理をするが、ある程度の間隔を空けて纏めて学習処理をしてもよい。
つぎに評価処理の詳細について説明する。図25は、評価導出部103およびレコメンド評価部104の詳細処理を示す図である。上述したとおり、評価導出部103は、レコメンドをした店舗について、その店舗評価fx2、制限評価fx3、およびレコメンド有りの情報を、評価モデル110に入力し、評価モデル110は、訪問可能性g(x)を出力する。また、評価導出部103は、レコメンドをした店舗について、その店舗評価fx2、制限評価fx3、およびレコメンド無しの情報を、評価モデル110に入力し、評価モデル110は、レコメンド無しと仮定したときの訪問可能性評価g(x)を出力する。
レコメンド評価部104は、レコメンドした店舗の訪問可能性評価g(x)と、レコメンド無しと仮定したときの訪問可能性評価g(x)との差分を算出する。この差分が、レコメンドした店舗に対するレコメンド評価となる。レコメンド送付を運営する運営者は、レコメンド評価に基づいて、レコメンド手数料を決定することができる。
つぎに、推定処理と学習処理とのタイミングについて説明する。図26は、推定処理と学習処理とのタイミングを示す模式図である。図に示されるとおり、ユーザがある店舗を訪問すると、レコメンドシステム100は、来訪候補店舗fx1、店舗評価fx2、および非合理評価fx3を算出し、その店舗がレコメンド履歴記憶部111に記憶されていた場合(レコメンド対象であった場合)、訪問可能性評価g(x)を算出する。推定処理時においては、前日の各学習モデルを用いる。
各学習モデルの学習処理は、適宜適切なタイミングで行われる。訪問時でもよいし、訪問があった日の夜でもよい。
本開示において、レコメンドシステム100は、Push通知によるレコメンドネッセージを想定した処理をするが、これに限るものではない。web広告などの媒体についても適用することができる。
来訪候補店舗fx1、店舗評価fx2、非合理評価fx3、および訪問可能性評価g(x)についてそれぞれ関数を作成せず、訪問可能性評価g(x)のInputとして、来訪候補店舗fx1、店舗評価fx2を、非合理評価fx3のInput情報のように別の関数に含めた形のモデルとしてもよい。すなわち、非合理評価fx3を算出すること無く、来訪候補店舗fx1および店舗評価fx2と、非合理評価fx3の関数を通す前のインプット情報とから導出するような形のモデルとしてもよい。また、同様に来訪店舗fx1、店舗評価fx2、非合理評価fx3を算出すること無く、関数を通さずに、インプット情報からg(x)を求めてもよい。インプット情報とは、本開示においては、店舗情報、ユーザの来訪履歴、ユーザ属性、レコメンド履歴を少なくとも一つを含んだものである。
来訪候補店舗fx1、店舗評価fx2、非合理評価fx3、および訪問可能性評価g(x)の機械学習手法(機械学習モデル)に関しては、上記開示したもの以外を用いても良い。また、それぞれ算出方法についても機械学習手法を用いずに、他の方法で求めてもよい。
訪問可能性評価g(x)の目的変数で「その日に行った」は、「レコメンド後1週間以内に行った」など、目的変数の対象の幅を広げてもよい。
不要なレコメンドを削減したい(レコメンドに対するユーザからの信頼度を上げて、レコメンド効果を高めたい)といった場合に、訪問可能性評価g(x)を活用してレコメンド送信するしないを決める形態があってもよい。すなわち、訪問可能性評価g(x)を用いた上記レコメンド評価の値が所定値以下の場合には、レコメンドシステム100は、そのユーザ、その店舗に対するレコメンドをしないようにしてもよい。
統計的ユーザ情報、その他の学習モデル等の生成について、店舗評価fx2、非合理評価fx3の目的に合う項目に絞って良い。例えば、店舗評価fx2について、ユーザが連続で行ったかどうか、直近でたくさんいっているか、といった時系列系は不要にするなど、各項目を取捨選別してもよい。
ユーザ毎のモデル作成などで、データが不足したとき、次の処理を適用してもよい。例えば、来訪候補店舗fx1の算出関数として、ユーザの操作ログ、そのほか上記開示から判定した来訪候補店舗fx1に加えて、類似ユーザの来訪候補店舗fx1を加えてもよい。また、その際に、類似ユーザの来訪候補店舗fx1の値(ユーザが覚えている程度)を用いて、その値の多い店を順に加えてもよい。
店舗評価fx2について、類似ユーザの店舗評価fx2から評価値を算出・平均をとったものを、対象ユーザの店舗評価fx2の結果としてもよい。
非合理評価fx3について、類似ユーザの非合理評価fx3から評価値を算出・平均をとったものを対象ユーザの非合理評価fx3としてもよい。各類似ユーザの非合理評価fx3に対して、対象ユーザのデータ(前回店を連続、…etc)をインプットしてもよい。
対象ユーザにとって、今回が店舗Aに2回目の訪問状況だとする。この場合、類似ユーザのデータを用いてモデリングする。店舗Aに2回目来店のデータがある類似ユーザに絞る。例えば、類似ユーザが店舗Aに2回目来店するまでの通算データ(店舗A以外を含む)を使う。その時のデータを用いて、ユーザの現在のfx1/fx2/fx3を用いて算出した結果を、対象ユーザの訪問可能性評価g(x)の学習データに利用する。
つぎに、店舗取得部101について、変形例を説明する。上記開示において、店舗取得部101は、エリアにおける訪問回数と、それに対する店舗訪問からユーザの覚えている程度を算出し、それに基づいて、来訪候補店舗を求めていた。
この変形例においては、さらに加えて、また上記に代えて、店舗取得部101は、ユーザごとに店舗情報の閲覧履歴を取得し、その閲覧時間および閲覧回数に基づいて、店舗情報の既知度(店舗の確認度に相当)を算出する。この既知度の高い店舗を来訪候補店舗とする。
この変形例においては、ユーザは、スマートフォン、パソコン、タブレット端末を用いてwebまたはそのほかアプリケーション用いて店舗情報を閲覧することができる。
図27は、その変形例におけるレコメンドシステム100aの機能構成を示すブロック図である。図に示されるとおり、この変形例におけるレコメンドシステム100aは、図3のレコメンドシステム100の機能構成に加えて、閲覧履歴記憶部105aを備える。
店舗取得部101は、閲覧履歴記憶部105aを参照して、来訪候補店舗fx1を取得する。
図28は、閲覧履歴記憶部105aの具体例を示す図である。図に示されるとおり、ユーザごとに閲覧日時、閲覧時間、および閲覧した店舗情報を対応付けて記憶している。これら情報は、閲覧したユーザ端末から取得されるが、それ以外の手法、例えば、レコメンドシステム100aがユーザ端末から収集したり、そのほか公知のインターネット接続プロバイダがレコメンドシステム100aに提供してもよい。
より詳細には、店舗取得部101は、店舗ごとに閲覧時間および閲覧からの経過時間に基づいて、店舗ごとの既知度を算出する。以下は、既知度を求めるための数式の一例である。
上記dayは、訪問してからの経過日数に基づいて評価値を割り引くための割引率(係数)とする。例えば、3日経過すると1/3、10日経過すると、係数1/10などのように、経過日数に応じてその係数が低くなるように定められる。
図29は、閲覧履歴情報から店舗ごとの値(既知度)を算出したときの模式図である。図29(a)は、閲覧履歴情報を示す図であり、図29(b)は、店舗ごとの既知度を示す図である。図29(b)は、上記式に基づいて算出された結果を示す。以降において、表における値は、既知度を示す。
店舗取得部101は、この既知度に基づいて、ユーザに提示する来訪候補店舗fx1_1を取得する。この店舗取得部101は、さらに上述したとおり(図12参照)、閲覧情報に基づいて近隣の店舗を来訪候補店舗としてもよい。
また、他の変形例も考えられる。例えば、上記式は以下の通りとしてもよい。
この式は、閲覧時間が長い、訪問回数が多いものは既知度が高いとの思想のもので作られている。また、上記開示によるレコメンドを受けたことにより、その店舗のweb等を閲覧した場合には、その店舗を候補からはずすような式となっている。上記式では、レコメンド契機による閲覧であった場合、recom=1とし、そうではない場合はrecom=0とする。tは、閲覧回数に応じて、増幅率が設定されている。例えば、閲覧回数が3回以上であれば、1.3倍するなどである。このtは、閲覧回数が多いと、閲覧時間が長くなるように増幅率が設定されている。閲覧回数が多くなるほど増幅率が大きくなるため、既知度は高く評価される。
図30は、レコメンド由来による閲覧であるか否かを記憶する閲覧履歴記憶部105aの具体例を示す図である。図に示されるとおり、レコメンド由来であるか否かをさらに記憶する。レコメンド由来であるか否かは、上記レコメンドシステム100がユーザ端末200に対してレコメンドを送り、そのユーザ端末200がそのレコメンドに基づいたweb閲覧等をしたことを、レコメンドシステム100が判断することで、記憶する。その判断は、ユーザ端末200からレコメンド受信後、所定時間内にweb閲覧等をしたことの通知を受けるなど処理によりなされる。または、レコメンドシステム100が定期的にユーザ端末200にアクセスして、レコメンド送信後、所定時間内にユーザ端末がレコメンドに関するweb閲覧をしたことを収集してもよい。
図31は、閲覧履歴情報から店舗ごとの既知度を算出したときの模式図である。図31(a)は、閲覧履歴情報を示す図であり、図31(b)は、店舗ごとの既知度を示す図である。図31(b)は、上記式に基づいて算出された結果を示す。なお、訪問回数が多いと、閲覧時間が短くなるのでその分を増幅させるようにしてもよい。例えば、訪問履歴情報における訪問履歴から訪問回数が所定回数以上の店舗については、1より大きい係数を値に乗算してもよい。
さらに、訪問履歴および閲覧履歴の両方を考慮した処理をしてもよい。上述店舗評価部102は、閲覧履歴情報から得た来訪候補店舗fx1_1を店舗評価の対象としてもよいし、訪問履歴情報から得た来訪候補店舗fx1_1のみを店舗評価の対象としてもよいし、その両方を対象としてもよい。また、来訪候補店舗fx_1の値(既知度)に重み付けをして調整してもよい。図32は、訪問履歴および閲覧履歴の両方を考慮した処理を示した模式図である。
図32(a)は、訪問履歴記憶部106に記憶された訪問履歴に基づいて求められた来訪候補店舗とその評価値を示す。ここでは、さらに訪問履歴の有無を対応付けている。訪問履歴の有無は、訪問履歴情報に基づいて求められる(図13(a)参照)。図32(b)は、閲覧履歴記憶部105aに基づいた来訪候補店舗とその評価値を示す。なお、評価値が高い店舗のみを利用し、ほかは0とする。評価値が低い店舗は、ほぼ見ていない店舗とみなしてよい。
店舗取得部101は、これら情報を用いて、訪問履歴と閲覧履歴との両方を用いた来訪候補店舗fx1を求める。
店舗取得部101は、オンライン候補店舗情報、オフライン候補店舗情報を求めると、それぞれにおいて、以下の数式(図32(c))を用いて店舗ごとに評価値を求める。この式によると、訪問した店舗と訪問していない店舗とに分けて評価をしている。訪問した店舗は高い評価となる。
なお、オフライン評価値は、訪問履歴に基づく評価値(既知度)であり、オンライン評価値は閲覧履歴に基づく評価値(既知度)を示す。
図32(d)は、その結果を示す。訪問履歴がある店舗については、その評価値は0となり、訪問履歴がない店舗について評価値が求められる。店舗取得部101は、この評価値に基づいて、来訪候補店舗fx1を導出することができる。なお、上記では、近隣店舗については、説明を簡易にするために省略したが、当然に近隣店舗も考慮して来訪候補店舗fx1を導出してもよい。例えば近隣店舗について、所定係数をかけることにより、その評価値を調整してもよい。
つぎに、本開示のレコメンドシステム100の作用効果について説明する。
本開示のレコメンドシステム100は、対象ユーザに対してレコメンドがなされた店舗に対する訪問可能性評価g(x)およびレコメンドが無かったと仮定した場合の訪問可能性評価g(x)を導出する評価導出部103と、レコメンドがなされた店舗に対する訪問可能性評価g(x)およびレコメンドが無かったと仮定したときの訪問可能性評価に基づいて、レコメンド評価を導出するレコメンド評価部104と、を備える。
この開示によれば、レコメンド評価を適切に行うことができる。したがって、レコメンドの運営者はその手数料を合理的に求めることができる。
また、本開示のレコメンドシステム100において、評価導出部103は、少なくとも、レコメンドされた店舗に対するユーザにおける属性評価fx2_1、レコメンドされた店舗に訪問したときのユーザの訪問状況に応じた制約評価fx2_2、およびレコメンドされた店舗および他の店舗に対するユーザの直近訪問情報に基づいた非合理評価fx3、の一つに基づいて、訪問可能性評価g(x)を導出する。
本開示によれば、これら情報を用いることでユーザの訪問可能性を適切に判断することができる。
また、本開示のレコメンドシステム100において、評価導出部103は、機械学習により学習された評価モデル110を用いて、属性評価fx2_1、制限評価fx2_2および非合理評価fx3の少なくとも一つを入力して訪問可能性評価g(x)を導出する。
そして、評価モデル110は、学習用に用意され、ユーザが訪問した店舗に基づいた店舗(例えば、上記来訪候補店舗)に対する属性評価fx2_1、制約評価fx2_2、および直近訪問情報を示す非合理評価fx3の少なくとも一つおよびレコメンドの有無を説明変数とし、訪問の有無を目的変数として、学習される。
この開示によれば、機械学習により学習された評価モデルを利用して訪問可能性評価g(x)を適切に算出することができる。本開示においては、学習のもととなるデータは、来訪候補店舗に基づいているが、それに限らず、来訪していない店舗、近隣にない店舗等を対象としてもよい。
また、本開示のレコメンドシステム100において、ユーザの行動(訪問)に基づいて選択された来訪候補店舗fx1の店舗評価fx2を行う店舗評価部102をさらに備える。評価導出部103は、来訪候補店舗の店舗評価fx2に基づいて訪問可能性評価g(x)を導出する。
より具体的には、レコメンドシステム100において、ユーザごとに、訪問履歴(日時、店舗、移動手段等)を記憶する訪問履歴記憶部106と、ユーザごとに、ユーザ属性情報(年齢、性別等)を記憶するユーザ属性記憶部107と、をさらに備える。
そして、店舗評価部102は、店舗ごとに、訪問履歴とユーザ属性情報とから、訪問したユーザの属性傾向(年齢、性別等)を取得する。この属性傾向とは、例えば上記した統計的ユーザ情報を示し、各店舗を訪問したユーザの属性の傾向を示す情報である。そして、店舗評価部102は、対象ユーザのユーザ属性と、属性傾向とに基づいて、候補店舗ごとに、対象ユーザにとっての属性評価fx2_1を導出する。
この開示によれば、ユーザの趣味趣向に応じた店舗を評価することができる。
また、レコメンドシステム100は、状況モデル108をさらに備えており、この状況モデル108は、ユーザの訪問履歴(移動手段、同伴者有無、時間帯など)に基づいてユーザの訪問状況ごとに生成されている。この状況モデル108は、複数生成されている。この状況モデル108は、ユーザの訪問状況を入力して店舗に対する評価値を出力する。
そして、店舗評価部102は、ユーザの訪問状況に対応する状況モデル108を選択し、当該状況モデル108から、ユーザにおける店舗の制約評価fx2_2を導出する。
また、レコメンドシステム100において、状況モデル108は、ユーザの訪問履歴から分類された訪問状況パターンに対応する訪問状況で訪問した店舗の前記店舗情報とを紐付け、店舗ごとに用意された店舗情報を説明変数、店舗ごとの訪問状況パターンを目的変数として、訪問状況パターンごとに、機械学習により学習されたものである。
例えば、この状況モデル108は、学習装置120により学習されている。この学習装置120は、店舗ごとに、店舗情報を記憶する店舗情報記憶部105と、アクセス可能に構成されている。また、学習装置120は、全ユーザの訪問履歴を記憶する訪問履歴記憶部106と、訪問履歴から、訪問状況パターンに分類する訪問状況パターン分類部121と、訪問状況パターンと、当該訪問状況パターンに対応する訪問状況で訪問した店舗の店舗情報とを紐付け、店舗情報を説明変数、店舗ごとの訪問状況パターンにおける訪問の有無を目的変数として、機械学習により訪問状況パターンごとに、状況モデル108を学習する学習部122と、を備える。
これにより、訪問状況パターンごとに、状況モデル108を生成することができる。
また、レコメンドシステム100において、店舗ごとの直近訪問情報を入力して、店舗に対する非合理評価fx3を出力する推定モデル109をさらに備える。評価導出部103は、推定モデル109を用いて、訪問可能性評価g(x)を導出する。
この推定モデル109は、学習装置130により学習されて生成される。この学習装置130は、ユーザの来訪候補情報(訪問日時、訪問店舗およびそのときの候補店舗)から、店舗ごとに、ユーザの当該店舗に対する訪問頻度情報(リピート回数、経過日数、ジャンル等)およびそのときのユーザの直近状況情報(天気、前回の価格帯・・・当該店舗の訪問の有無など)を含む直近訪問情報を取得する取得部131と、店舗ごとの直近訪問情報を説明変数とし、店舗ごとの訪問の有無を目的変数として推定モデル109を学習する学習部132と、を備える。
評価導出部103は、推定モデル109を使って非合理評価fx3を導出する。
これにより、推定モデル109を学習することができる。
本開示のレコメンドシステム100は、ユーザごとに、訪問履歴(日時、店舗、移動手段等)を記憶する訪問履歴記憶部106と、訪問履歴に基づいて、訪問した店舗または当該店舗の近隣にある近隣店舗を、候補店舗として導出する店舗導出部として機能する店舗取得部101と、を備える。評価導出部103は、候補店舗に対する評価を導出する。
この構成により、ユーザが訪問したことがない店舗に対しても、評価対象とすることができる。
つぎに、本開示のレコメンドシステム100における店舗導出装置として機能するときの作用効果について説明する。
本開示の店舗導出装置として機能するレコメンドシステム100において、ユーザの行動履歴である店舗への訪問履歴情報を記憶する訪問履歴記憶部106を備える。そして、店舗取得部101は、この訪問履歴情報に基づいて、当該ユーザの店舗に対する既知店舗(既知度)を取得する。店舗取得部101は、この既知店舗(既知度)に基づいて、ユーザに訪問を推奨する来訪候補店舗fx1を導出する。
この構成により、既知店舗に基づいて来訪候補店舗fx1を導出することができる。これを利用して、レコメンド処理をすることで、既知度に応じた店舗(知らない店舗、あまり覚えていない店舗など)をレコメンドすることと比べて有効なレコメンドを行うことができる。
店舗取得部101は、訪問履歴で示される店舗ごとに、訪問回数(行動回数)と、行動してからの経過日数とに基づいて、店舗を評価し、当該評価に基づいて、来訪候補店舗fx1を導出する。この記評価は、経過日数が大きいほど低評価となるよう、算出される。
人の店舗に対する覚えている程度は、およそ訪問回数と訪問してからの訪問間隔(特に最終日からの経過日数)に大きく影響すると考えられる。本開示によれば、訪問回数と訪問してからの経過日数とに基づいて覚えている程度(既知度)を算出することで、来店候補店舗としての適切な評価を行うことができる。
また、店舗取得部101は、候補店舗の近隣にある近隣店舗を、来店候補店舗fx1に含めて導出してもよい。そのため、店舗取得部101は、来店候補店舗の評価に所定係数を乗算した値を近隣店舗の評価とし、当該評価に基づいて、近隣店舗のうちいくつかの店舗を候補店舗として導出してもよい。
ユーザが訪問したことのある店舗の近隣にある近隣店舗は、ユーザがみたことがあったりして、覚えている可能性がある。
また、店舗取得部101は、ユーザが訪問したエリア内における店舗に対して導出処理を行う。
上記の作用効果の説明においては、ユーザの店舗に対する訪問について説明したが、webなどの店舗情報の閲覧と読み替えてもよい。すなわち、ユーザの行動とは、店舗に対する訪問または店舗情報の閲覧を含んでもよい。
また、本開示において、ユーザの行動として店舗情報の閲覧であった場合において、当該閲覧がユーザに対するレコメンドがなされた店舗に対する閲覧に応じて、当該店舗に対する既知度は、算出される。
例えば、事前にユーザにレコメンドされていた場合には、ユーザはその店舗は知っているため、既知度を高くするが、そうではない場合には、既知度を0とするよう調整される。
また、本開示において、ユーザの行動とは、店舗に対する訪問および店舗情報の閲覧であり、既知度は、店舗に対する訪問および店舗情報の閲覧に基づいて算出される。
例えば、訪問による既知度、閲覧による既知度を適切に重み付けすることにより、総合の既知度を算出する。
その場合、既知度は、訪問があった店舗に対してはその値が大きくなるよう算出される。また、既知度は、店舗情報の閲覧に基づいた値が所定値以上となる値に基づいて算出される。その既知度が低い場合には、みていないとの同義と扱われる。
本開示のレコメンドシステム100の一機能である店舗導出装置は、以下の構成を有する。
[1]
ユーザの行動履歴を記憶する訪問履歴記憶部と、
前記行動履歴に基づいて、当該ユーザの店舗に対する既知度を算出する算出部と、
前記既知度に基づいて、前記ユーザに訪問を推奨する候補店舗を導出する店舗導出部と、
を備える店舗導出装置
[2]
前記算出部は、
前記訪問履歴で示される店舗ごとに、行動回数と、行動してからの経過日数とに基づいて既知度を算出し、
当該既知度に基づいて、候補店舗を導出する、
[1]に記載の店舗導出装置。
[3]
前記既知度は、経過日数が大きいほど低評価となるよう、算出される、
[2]に記載の店舗導出装置。
[4]
前記店舗導出部は、
前記候補店舗の近隣にある近隣店舗を、候補店舗として導出する、
[1]から[3]のいずれか一つに記載のレコメンド評価装置。
[5]
前記店舗導出部は、
前記候補店舗の既知度に所定係数を乗算した値を近隣店舗の既知度とし、当該既知度に基づいて、近隣店舗のうちいくつかの店舗を候補店舗として導出する、
[4]に記載の店舗導出装置。
[6]
前記ユーザの行動とは、店舗に対する訪問または店舗情報の閲覧である、
[1]から[5]のいずれか一つに記載の店舗導出装置。
[7]
前記ユーザの行動として店舗情報の閲覧であった場合において、
当該閲覧がユーザに対するレコメンドがなされた店舗に対する閲覧に応じて、当該店舗に対する既知度は、算出される、
[1]から[6]のいずれか一つに記載の店舗導出装置。
[8]
前記ユーザの行動とは、店舗に対する訪問および店舗情報の閲覧であり、
前記既知度は、前記店舗に対する訪問および店舗情報の閲覧に基づいて算出される、
[1]から[7]のいずれか一つに記載の店舗導出装置。
[9]
前記既知度は、訪問があった店舗に対してはその値が大きくなるよう算出される、
[8]に記載の店舗導出装置。
[10]
前記既知度は、前記店舗情報の閲覧に基づいた値が所定値以上となる値に基づいて算出される、
[8]または[9]に記載の店舗導出装置。
上記実施形態の説明に用いたブロック図は、機能単位のブロックを示している。これらの機能ブロック(構成部)は、ハードウェアおよびソフトウェアの少なくとも一方の任意の組み合わせによって実現される。また、各機能ブロックの実現方法は特に限定されない。すなわち、各機能ブロックは、物理的または論理的に結合した1つの装置を用いて実現されてもよいし、物理的または論理的に分離した2つ以上の装置を直接的または間接的に(例えば、有線、無線などを用いて)接続し、これら複数の装置を用いて実現されてもよい。機能ブロックは、上記1つの装置または上記複数の装置にソフトウェアを組み合わせて実現されてもよい。
機能には、判断、決定、判定、計算、算出、処理、導出、調査、探索、確認、受信、送信、出力、アクセス、解決、選択、選定、確立、比較、想定、期待、見做し、報知(broadcasting)、通知(notifying)、通信(communicating)、転送(forwarding)、構成(configuring)、再構成(reconfiguring)、割り当て(allocating、mapping)、割り振り(assigning)などがあるが、これらに限られない。たとえば、送信を機能させる機能ブロック(構成部)は、送信部(transmitting unit)や送信機(transmitter)と呼称される。いずれも、上述したとおり、実現方法は特に限定されない。
例えば、本開示の一実施の形態におけるレコメンドシステム100は、本開示のレコメンド評価方法の処理を行うコンピュータとして機能してもよい。図33は、本開示の一実施の形態に係るレコメンドシステム100のハードウェア構成の一例を示す図である。上述のレコメンドシステム100は、物理的には、プロセッサ1001、メモリ1002、ストレージ1003、通信装置1004、入力装置1005、出力装置1006、バス1007などを含むコンピュータ装置として構成されてもよい。
なお、以下の説明では、「装置」という文言は、回路、デバイス、ユニットなどに読み替えることができる。レコメンドシステム100のハードウェア構成は、図に示した各装置を1つまたは複数含むように構成されてもよいし、一部の装置を含まずに構成されてもよい。
レコメンドシステム100における各機能は、プロセッサ1001、メモリ1002などのハードウェア上に所定のソフトウェア(プログラム)を読み込ませることによって、プロセッサ1001が演算を行い、通信装置1004による通信を制御したり、メモリ1002およびストレージ1003におけるデータの読み出しおよび書き込みの少なくとも一方を制御したりすることによって実現される。
プロセッサ1001は、例えば、オペレーティングシステムを動作させてコンピュータ全体を制御する。プロセッサ1001は、周辺装置とのインターフェース、制御装置、演算装置、レジスタなどを含む中央処理装置(CPU:Central Processing Unit)によって構成されてもよい。例えば、上述の店舗取得部101、店舗評価部102、評価導出部103,レコメンド評価部104などは、プロセッサ1001によって実現されてもよい。
また、プロセッサ1001は、プログラム(プログラムコード)、ソフトウェアモジュール、データなどを、ストレージ1003および通信装置1004の少なくとも一方からメモリ1002に読み出し、これらに従って各種の処理を実行する。プログラムとしては、上述の実施の形態において説明した動作の少なくとも一部をコンピュータに実行させるプログラムが用いられる。例えば、店舗取得部101は、メモリ1002に格納され、プロセッサ1001において動作する制御プログラムによって実現されてもよく、他の機能ブロックについても同様に実現されてもよい。上述の各種処理は、1つのプロセッサ1001によって実行される旨を説明してきたが、2以上のプロセッサ1001により同時または逐次に実行されてもよい。プロセッサ1001は、1以上のチップによって実装されてもよい。なお、プログラムは、電気通信回線を介してネットワークから送信されても良い。
メモリ1002は、コンピュータ読み取り可能な記録媒体であり、例えば、ROM(Read Only Memory)、EPROM(Erasable Programmable ROM)、EEPROM(Electrically Erasable Programmable ROM)、RAM(Random Access Memory)などの少なくとも1つによって構成されてもよい。メモリ1002は、レジスタ、キャッシュ、メインメモリ(主記憶装置)などと呼ばれてもよい。メモリ1002は、本開示の一実施の形態に係るレコメンド評価方法を実施するために実行可能なプログラム(プログラムコード)、ソフトウェアモジュールなどを保存することができる。
ストレージ1003は、コンピュータ読み取り可能な記録媒体であり、例えば、CD-ROM(Compact Disc ROM)などの光ディスク、ハードディスクドライブ、フレキシブルディスク、光磁気ディスク(例えば、コンパクトディスク、デジタル多用途ディスク、Blu-ray(登録商標)ディスク)、スマートカード、フラッシュメモリ(例えば、カード、スティック、キードライブ)、フロッピー(登録商標)ディスク、磁気ストリップなどの少なくとも1つによって構成されてもよい。ストレージ1003は、補助記憶装置と呼ばれてもよい。上述の記憶媒体は、例えば、メモリ1002およびストレージ1003の少なくとも一方を含むデータベース、サーバその他の適切な媒体であってもよい。
通信装置1004は、有線ネットワークおよび無線ネットワークの少なくとも一方を介してコンピュータ間の通信を行うためのハードウェア(送受信デバイス)であり、例えばネットワークデバイス、ネットワークコントローラ、ネットワークカード、通信モジュールなどともいう。通信装置1004は、例えば周波数分割複信(FDD:Frequency Division Duplex)および時分割複信(TDD:Time Division Duplex)の少なくとも一方を実現するために、高周波スイッチ、デュプレクサ、フィルタ、周波数シンセサイザなどを含んで構成されてもよい。例えば、上述の店舗取得部101の一機能は、通信装置1004によって実現されてもよい。この通信装置1004は、送信部と受信部とで、物理的に、または論理的に分離された実装がなされてもよい。
入力装置1005は、外部からの入力を受け付ける入力デバイス(例えば、キーボード、マウス、マイクロフォン、スイッチ、ボタン、センサなど)である。出力装置1006は、外部への出力を実施する出力デバイス(例えば、ディスプレイ、スピーカー、LEDランプなど)である。なお、入力装置1005および出力装置1006は、一体となった構成(例えば、タッチパネル)であってもよい。
また、プロセッサ1001、メモリ1002などの各装置は、情報を通信するためのバス1007によって接続される。バス1007は、単一のバスを用いて構成されてもよいし、装置間ごとに異なるバスを用いて構成されてもよい。
また、レコメンドシステム100は、マイクロプロセッサ、デジタル信号プロセッサ(DSP:Digital Signal Processor)、ASIC(Application Specific Integrated Circuit)、PLD(Programmable Logic Device)、FPGA(Field Programmable Gate Array)などのハードウェアを含んで構成されてもよく、当該ハードウェアにより、各機能ブロックの一部または全てが実現されてもよい。例えば、プロセッサ1001は、これらのハードウェアの少なくとも1つを用いて実装されてもよい。
情報の通知は、本開示において説明した態様/実施形態に限られず、他の方法を用いて行われてもよい。例えば、情報の通知は、物理レイヤシグナリング(例えば、DCI(Downlink Control Information)、UCI(Uplink Control Information))、上位レイヤシグナリング(例えば、RRC(Radio Resource Control)シグナリング、MAC(Medium Access Control)シグナリング、報知情報(MIB(Master Information Block)、SIB(System Information Block)))、その他の信号またはこれらの組み合わせによって実施されてもよい。また、RRCシグナリングは、RRCメッセージと呼ばれてもよく、例えば、RRC接続セットアップ(RRC Connection Setup)メッセージ、RRC接続再構成(RRC Connection Reconfiguration)メッセージなどであってもよい。
本開示において説明した各態様/実施形態の処理手順、シーケンス、フローチャートなどは、矛盾の無い限り、順序を入れ替えてもよい。例えば、本開示において説明した方法については、例示的な順序を用いて様々なステップの要素を提示しており、提示した特定の順序に限定されない。
入出力された情報等は特定の場所(例えば、メモリ)に保存されてもよいし、管理テーブルを用いて管理してもよい。入出力される情報等は、上書き、更新、または追記され得る。出力された情報等は削除されてもよい。入力された情報等は他の装置へ送信されてもよい。
判定は、1ビットで表される値(0か1か)によって行われてもよいし、真偽値(Boolean:trueまたはfalse)によって行われてもよいし、数値の比較(例えば、所定の値との比較)によって行われてもよい。
本開示において説明した各態様/実施形態は単独で用いてもよいし、組み合わせて用いてもよいし、実行に伴って切り替えて用いてもよい。また、所定の情報の通知(例えば、「Xであること」の通知)は、明示的に行うものに限られず、暗黙的(例えば、当該所定の情報の通知を行わない)ことによって行われてもよい。
以上、本開示について詳細に説明したが、当業者にとっては、本開示が本開示中に説明した実施形態に限定されるものではないということは明らかである。本開示は、請求の範囲の記載により定まる本開示の趣旨および範囲を逸脱することなく修正および変更態様として実施することができる。したがって、本開示の記載は、例示説明を目的とするものであり、本開示に対して何ら制限的な意味を有するものではない。
ソフトウェアは、ソフトウェア、ファームウェア、ミドルウェア、マイクロコード、ハードウェア記述言語と呼ばれるか、他の名称で呼ばれるかを問わず、命令、命令セット、コード、コードセグメント、プログラムコード、プログラム、サブプログラム、ソフトウェアモジュール、アプリケーション、ソフトウェアアプリケーション、ソフトウェアパッケージ、ルーチン、サブルーチン、オブジェクト、実行可能ファイル、実行スレッド、手順、機能などを意味するよう広く解釈されるべきである。
また、ソフトウェア、命令、情報などは、伝送媒体を介して送受信されてもよい。例えば、ソフトウェアが、有線技術(同軸ケーブル、光ファイバケーブル、ツイストペア、デジタル加入者回線(DSL:Digital Subscriber Line)など)および無線技術(赤外線、マイクロ波など)の少なくとも一方を使用してウェブサイト、サーバ、または他のリモートソースから送信される場合、これらの有線技術および無線技術の少なくとも一方は、伝送媒体の定義内に含まれる。
本開示において説明した情報、信号などは、様々な異なる技術のいずれかを使用して表されてもよい。例えば、上記の説明全体に渡って言及され得るデータ、命令、コマンド、情報、信号、ビット、シンボル、チップなどは、電圧、電流、電磁波、磁界若しくは磁性粒子、光場若しくは光子、またはこれらの任意の組み合わせによって表されてもよい。
なお、本開示において説明した用語および本開示の理解に必要な用語については、同一のまたは類似する意味を有する用語と置き換えてもよい。例えば、チャネルおよびシンボルの少なくとも一方は信号(シグナリング)であってもよい。また、信号はメッセージであってもよい。また、コンポーネントキャリア(CC:Component Carrier)は、キャリア周波数、セル、周波数キャリアなどと呼ばれてもよい。
また、本開示において説明した情報、パラメータなどは、絶対値を用いて表されてもよいし、所定の値からの相対値を用いて表されてもよいし、対応する別の情報を用いて表されてもよい。例えば、無線リソースはインデックスによって指示されるものであってもよい。
上述したパラメータに使用する名称はいかなる点においても限定的な名称ではない。さらに、これらのパラメータを使用する数式等は、本開示で明示的に開示したものと異なる場合もある。様々なチャネル(例えば、PUCCH、PDCCHなど)および情報要素は、あらゆる好適な名称によって識別できるので、これらの様々なチャネルおよび情報要素に割り当てている様々な名称は、いかなる点においても限定的な名称ではない。
本開示においては、「移動局(MS:Mobile Station)」、「ユーザ端末(user terminal)」、「ユーザ装置(UE:User Equipment)」、「端末」などの用語は、互換的に使用され得る。
移動局は、当業者によって、加入者局、モバイルユニット、加入者ユニット、ワイヤレスユニット、リモートユニット、モバイルデバイス、ワイヤレスデバイス、ワイヤレス通信デバイス、リモートデバイス、モバイル加入者局、アクセス端末、モバイル端末、ワイヤレス端末、リモート端末、ハンドセット、ユーザエージェント、モバイルクライアント、クライアント、またはいくつかの他の適切な用語で呼ばれる場合もある。
本開示で使用する「判断(determining)」、「決定(determining)」という用語は、多種多様な動作を包含する場合がある。「判断」、「決定」は、例えば、判定(judging)、計算(calculating)、算出(computing)、処理(processing)、導出(deriving)、調査(investigating)、探索(looking up、search、inquiry)(例えば、テーブル、データベースまたは別のデータ構造での探索)、確認(ascertaining)した事を「判断」「決定」したとみなす事などを含み得る。また、「判断」、「決定」は、受信(receiving)(例えば、情報を受信すること)、送信(transmitting)(例えば、情報を送信すること)、入力(input)、出力(output)、アクセス(accessing)(例えば、メモリ中のデータにアクセスすること)した事を「判断」「決定」したとみなす事などを含み得る。また、「判断」、「決定」は、解決(resolving)、選択(selecting)、選定(choosing)、確立(establishing)、比較(comparing)などした事を「判断」「決定」したとみなす事を含み得る。つまり、「判断」「決定」は、何らかの動作を「判断」「決定」したとみなす事を含み得る。また、「判断(決定)」は、「想定する(assuming)」、「期待する(expecting)」、「みなす(considering)」などで読み替えられてもよい。
「接続された(connected)」、「結合された(coupled)」という用語、またはこれらのあらゆる変形は、2またはそれ以上の要素間の直接的または間接的なあらゆる接続または結合を意味し、互いに「接続」または「結合」された2つの要素間に1またはそれ以上の中間要素が存在することを含むことができる。要素間の結合または接続は、物理的なものであっても、論理的なものであっても、或いはこれらの組み合わせであってもよい。例えば、「接続」は「アクセス」で読み替えられてもよい。本開示で使用する場合、2つの要素は、1またはそれ以上の電線、ケーブルおよびプリント電気接続の少なくとも一つを用いて、並びにいくつかの非限定的かつ非包括的な例として、無線周波数領域、マイクロ波領域および光(可視および不可視の両方)領域の波長を有する電磁エネルギーなどを用いて、互いに「接続」または「結合」されると考えることができる。
本開示において使用する「に基づいて」という記載は、別段に明記されていない限り、「のみに基づいて」を意味しない。言い換えれば、「に基づいて」という記載は、「のみに基づいて」と「に少なくとも基づいて」の両方を意味する。
本開示において使用する「第1の」、「第2の」などの呼称を使用した要素へのいかなる参照も、それらの要素の量または順序を全般的に限定しない。これらの呼称は、2つ以上の要素間を区別する便利な方法として本開示において使用され得る。したがって、第1および第2の要素への参照は、2つの要素のみが採用され得ること、または何らかの形で第1の要素が第2の要素に先行しなければならないことを意味しない。
本開示において、「含む(include)」、「含んでいる(including)」およびそれらの変形が使用されている場合、これらの用語は、用語「備える(comprising)」と同様に、包括的であることが意図される。さらに、本開示において使用されている用語「または(or)」は、排他的論理和ではないことが意図される。
本開示において、例えば、英語でのa, anおよびtheのように、翻訳により冠詞が追加された場合、本開示は、これらの冠詞の後に続く名詞が複数形であることを含んでもよい。
本開示において、「AとBが異なる」という用語は、「AとBが互いに異なる」ことを意味してもよい。なお、当該用語は、「AとBがそれぞれCと異なる」ことを意味してもよい。「離れる」、「結合される」などの用語も、「異なる」と同様に解釈されてもよい。