(58)【調査した分野】(Int.Cl.,DB名)
【発明の概要】
【発明が解決しようとする課題】
【0004】
上記の技術では、放送広告に予め広告の開始から終了までの放送秒数を埋め込み、放送広告を再生した利用者側の端末において、放送広告が再生された秒数を計測し、最初に埋め込まれた放送秒数と、再生された秒数を比較することにより、広告が視聴されたか否かを判断する。しかし、このように、予め全てのコンテンツについて放送秒数等の情報を用意し、埋め込みを行い、さらに端末において再生時間を計測することは、手間がかかるので、より簡易な技術が求められている。
【0005】
近年では、コンテンツの観賞中にデジタル放送やSNS(Social Networking Service)等を介してユーザの操作を求めることができる。このようなユーザが行う操作を利用して、コンテンツやコンテンツ中のイベントを観賞等の体験をしているか否かを判断できれば、予め情報を用意する等の手間をかけることなく、ユーザの行動を確認することができる。
【0006】
本発明は、上記のような課題を解決するもので、ユーザの操作から当該ユーザが所定のイベントを体験していたか否かを推定するのに好適な推定装置、推定方法、プログラム、及び、非一時的なコンピュータ読取可能な情報記録媒体を提供することを目的とする。
【課題を解決するための手段】
【0007】
本発明の第1の観点に係る推定装置は、
複数のユーザのそれぞれが使用する端末において前記ユーザが所定の操作を行った時刻を、前記各端末から受け付ける受付部と、
前記受け付けた時刻から、前記所定の操作の第1時間分布を取得する取得部と、
前記取得された第1時間分布と、前記各端末から受け付けた時刻と、の一致度を算定する算定部と、
前記一致度に基づいて、前記複数のユーザのそれぞれが、前記所定の操作に予め対応付けられた所定のイベントを体験していたか否かを推定する推定部と、
を備えることを特徴とする。
【0008】
また、上記観点に係る推定装置において、
前記所定のイベントは、複数回生じるものであって、
前記受付部は、前記複数のユーザのそれぞれが行った前記所定の操作の時刻を、前記各端末から受け付け、
前記取得部は、前記複数のユーザのそれぞれについて、前記ユーザが行った前記所定の操作の第2時間分布を取得し、
前記算定部は、前記取得された第1時間分布と、前記取得された第2時間分布と、の類似度を算定し、
前記推定部は、前記類似度に基づいて、前記類似度にかかる前記第2時間分布が取得されたユーザが、前記所定のイベントが生じる体験対象を体験していたか否かを推定する
ことを特徴とする。
【0009】
また、上記観点に係る推定装置において、
前記各端末が、前記所定の操作が行われた時刻から前記推定装置へ前記所定の操作が行われた旨を報告するまでの余裕時間を、前記各端末にランダムに割り当てる割当部
をさらに備え、
前記受付部は、前記余裕時間経過後に報告される前記所定の操作が行われた旨の報告を、前記各端末から受け付け、
前記取得部は、前記所定の操作が行われた旨の報告を受け付けた時刻から、前記所定の操作が行われた旨の報告の第3時間分布と、前記推定装置へのアクセスの集中度と、を取得し、
前記割当部は、前記アクセスの集中度を限界閾値以下に抑えつつ、前記第1時間分布と、前記第3時間分布とのずれが小さくなるように、前記余裕時間を調節する
ことを特徴とする。
【0010】
また、上記観点に係る推定装置において、
前記各端末から受け付けた前記所定の操作が行われた時刻は、前記各端末の時計で計測された時刻であり、
前記算定部は、前記各端末で計測された前記所定の操作の時刻と、前記所定の操作が行われた旨の報告を受け付けた時刻と、の差を求める
ことを特徴とする。
【0011】
本発明の第2の観点に係る推定方法は、
推定装置が実行する推定方法であって、
前記推定装置が、複数のユーザのそれぞれが使用する端末において前記ユーザが所定の操作を行った時刻を、前記各端末から受け付ける受付工程と、
前記推定装置が、前記受け付けた時刻から、前記所定の操作の第1時間分布を取得する取得工程と、
前記推定装置が、前記取得された第1時間分布と、前記各端末から受け付けた時刻と、の一致度を算定する算定工程と、
前記推定装置が、前記一致度に基づいて、前記複数のユーザのそれぞれが、前記所定の操作に予め対応付けられた所定のイベントを体験していたか否かを推定する推定工程と、
を備えることを特徴とする。
【0012】
本発明の第3の観点に係るプログラムは、
コンピュータを、
複数のユーザのそれぞれが使用する端末において前記ユーザが所定の操作を行った時刻を、前記各端末から受け付ける受付部、
前記受け付けた時刻から、前記所定の操作の第1時間分布を取得する取得部、
前記取得された第1時間分布と、前記各端末から受け付けた時刻と、の一致度を算定する算定部、
前記一致度に基づいて、前記複数のユーザのそれぞれが、前記所定の操作に予め対応付けられた所定のイベントを体験していたか否かを推定する推定部、
として機能させることを特徴とする。
【0013】
本発明の第4の観点に係る非一時的なコンピュータ読取可能な情報記録媒体は、
コンピュータを、
複数のユーザのそれぞれが使用する端末において前記ユーザが所定の操作を行った時刻を、前記各端末から受け付ける受付部、
前記受け付けた時刻から、前記所定の操作の第1時間分布を取得する取得部、
前記取得された第1時間分布と、前記各端末から受け付けた時刻と、の一致度を算定する算定部、
前記一致度に基づいて、前記複数のユーザのそれぞれが、前記所定の操作に予め対応付けられた所定のイベントを体験していたか否かを推定する推定部、
として機能させることを特徴とするプログラムを記録する。
【0014】
上記非一時的なコンピュータ読取可能な情報記録媒体は、コンピュータとは独立して配布・販売することができる。ここで、非一時的な(non-transitory)情報記録媒体とは、有形な(tangible)情報記録媒体をいう。非一時的な情報記録媒体は、例えば、コンパクトディスク、フレキシブルディスク、ハードディスク、光磁気ディスク、ディジタルビデオディスク、磁気テープ、半導体メモリ等である。また、一時的な(transitory)情報記録媒体とは、伝送媒体(伝搬信号)それ自体を示す。一時的な情報記録媒体は、例えば、電気信号、光信号、電磁波等である。なお、一時的な(temporary)記憶領域とは、データやプログラムを一時的に記憶するための領域であり、例えば、RAM(Random Access Memory)等の揮発性メモリである。
【発明の効果】
【0015】
本発明によれば、ユーザの操作から当該ユーザが所定のイベントを体験していたか否かを推定するのに好適な推定装置、推定方法、プログラム、及び、非一時的なコンピュータ読取可能な情報記録媒体を提供することができる。
【発明を実施するための形態】
【0017】
(1.全体構成)
本発明の実施形態に係る推定装置100は、
図1に示すように、インターネット300に接続される。この他、インターネット300には、複数の端末200が接続される。
【0018】
推定装置100は、端末200から、端末200において所定の操作が行われた時刻や所定の操作が行われた旨の報告を受け付け、端末200のユーザが所定のイベントを体験していたか否か推定する装置である。
【0019】
端末200は、ユーザによる様々な操作を受け付ける装置であり、ユーザが端末200にて所定の操作を行うと、所定の操作を行った時刻を推定装置100に通知したり、所定の操作を行った旨を通知したりする。
【0020】
以下の実施形態では、テレビを観賞しているユーザが、デジタル放送受信機器において所定の操作を行う場合や、スマートフォン等の機器で所定の操作を行う場合を例に説明する。したがって、以下の実施形態では、端末200は、デジタル放送受信機器やスマートフォン等の機器であり、推定装置100は、これらから情報を受け付けるサーバとして説明する。
【0021】
また、以下の実施形態では、テレビで野球の試合が中継されている間に、ユーザが所定の操作を求められることとし、推定装置100は、ユーザによる所定の操作に基づいて、ユーザが試合を見ていたか否かを推定するものとする。
【0022】
なお、本願発明は、ユーザが、テレビやインターネット等を通してある事象やコンテンツを視聴等の体験をしている場合に限らず、ユーザが、スポーツの試合、演劇、映画等を直接その場で体験(観戦、観劇、観賞等)している場合にも適用可能である。
【0023】
(2.情報処理装置の概要構成)
本発明の実施形態に係る推定装置100が実現される典型的な情報処理装置600の概要構成について説明する。
【0024】
情報処理装置600は、
図2に示すように、CPU(Central Processing Unit)601と、ROM(Read Only Memory)602と、RAM 603と、記憶装置604と、NIC(Network Interface Card)605と、画像処理部606と、音声処理部607と、ディスプレイ608と、スピーカ609と、コントローラ610と、を備える。
【0025】
CPU 601は、情報処理装置600全体の動作を制御し、各構成要素と接続され、制御信号やデータをやりとりする。
【0026】
ROM 602には、情報処理装置600全体の動作制御に必要なオペレーティングシステムのプログラムや各種のデータが記録される。
【0027】
RAM 603は、データやプログラムを一時的に記憶するためのもので、記憶装置604から読み出したプログラムやデータ、その他、通信に必要なデータ等が保持される。
【0028】
記憶装置604は、ハードディスクやフラッシュメモリ等から構成され、情報処理装置600で処理するデータを記憶する。また、記憶装置604は、CD(Compact Disc)等の非一時的なコンピュータ読取可能な情報記録媒体からデータを読み出すデバイス等を備えるように構成されてもよい。
【0029】
NIC 605は、情報処理装置600をインターネット等のコンピュータ通信網に接続するためのものであり、NIC 605を介して他の情報処理装置等とやりとりをする。
【0030】
画像処理部606は、記憶装置604等から読み出されたデータやカメラで撮影されたデータをCPU 601や画像処理部606が備える画像演算プロセッサによって加工処理し、画像処理部606が備えるフレームメモリに記録する。フレームメモリに記録された画像情報は、所定の同期タイミングでビデオ信号に変換され、ディスプレイ608に出力される。
【0031】
音声処理部607は、記憶装置604等から読み出されたデータをアナログ音声信号に変換し、スピーカ609から出力させる。
【0032】
コントローラ610は、ユーザからの指示入力を受け付ける。
【0033】
以下、上記情報処理装置600において実現される推定装置100について、
図1乃至
図12を参照して説明する。情報処理装置600に電源が投入されると、推定装置100として機能させるプログラムが実行され、実施形態に係る推定装置100が実現される。
【0034】
(3.実施形態1に係る推定装置の概要構成)
推定装置100は、
図3に示すように、受付部101と、取得部102と、算定部103と、推定部104と、から構成される。
【0035】
本実施形態において、CPU 601及びNIC 605が協働して、受付部101として機能し、CPU 601が、取得部102、算定部103及び推定部104として機能する。
【0036】
受付部101は、複数のユーザのそれぞれが使用する端末200においてユーザが所定の操作を行った時刻を、各端末200から受け付ける。
【0037】
所定の操作とは、端末200を使用するユーザが、端末200において行う操作である。本実施形態では、テレビで野球観戦をしているユーザは、所定のイベント(試合終了の合図、三振、出塁、又は、ホームチームの攻撃回開始等)が起きたら所定の操作を行うことが求められるとし、所定の操作は、デジタル放送受信機器のリモコンで所定のボタンを押す、或いは、インターネットの指定されたページにアクセスする等とする。
【0038】
例えば、ユーザは、チームPとチームQとが対戦する野球の試合において、球審より試合終了の合図がされると、デジタル放送受信機器のリモコンの所定のボタンを押すことが求められるとする。例えば、球審より試合終了の合図がされたタイミングで、ユーザa−1がリモコンで所定のボタンを押すと、デジタル放送受信機器から、所定のボタンが押された時刻が推定装置100宛に送信される。受付部101は、ユーザa−1のデジタル放送受信機器から送信された時刻を受け付ける。なお、デジタル放送受信機器が、所定のボタンが押圧された旨を送信し、受付部101は、押圧された旨を受け付けた時刻を、所定の操作を行った時刻としてもよい。
【0039】
受付部101は、ユーザの端末200から時刻を受け付けると、例えば、
図4の操作履歴テーブル100aに時刻等を登録する。操作履歴テーブル100aは、受け付けた時刻に所定の操作を行ったユーザを識別するためのユーザID 100a1と、所定の操作が行われた時刻を示す操作時刻100a2と、が対応付けて登録されている。例えば、
図4の操作履歴テーブル100aの1行目は、ユーザID 100a1が“a−1”のユーザa−1が、“18時00分05秒”にリモコンで所定のボタンを押したことを示す。
【0040】
取得部102は、受け付けた時刻から、所定の操作の第1時間分布を取得する。
【0041】
第1時間分布とは、受付部101が受け付けた時刻全体から求めた、所定の操作の時間分布である。
【0042】
例えば、取得部102は、
図4の操作履歴テーブル100aを参照して、ユーザa−1〜a−na(na:任意の自然数)の操作時刻から、所定の操作の第1時間分布(
図5)を取得する。
図5では、横軸は、所定の操作の時刻、縦軸は、各端末200から受け付けた所定の操作の時刻の件数を示している。
【0043】
算定部103は、取得された第1時間分布と、各端末200から受け付けた時刻と、の一致度を算定する。
【0044】
一致度とは、それぞれのユーザが使用する端末から受けた時刻が、第1時間分布のどの位置に含まれるかを表す指標である。
【0045】
例えば、
図5に示すような時間分布が得られたとすると(平均時刻:18時00時00分、標準偏差(SD):30秒)、算定部103は、推定の対象となるユーザの操作時刻がこの分布のどの位置に属するかを判断することにより一致度を算定する。
【0046】
推定部104は、一致度に基づいて、複数のユーザのそれぞれが、所定の操作に予め対応付けられた所定のイベントを体験していたか否かを推定する。
【0047】
所定のイベントとは、所定の操作に予め対応付けられたイベントであり、所定の操作がイベントに起因して行われるようなイベントである。
【0048】
また、「体験」には、見る、聞く、触る、観賞する、自ら動く等、ユーザが五感等を介して知得できるすべての経験が含まれる。
【0049】
本実施形態では、球審の試合終了の合図を受けて、所定のボタンが押圧されることを求められており、この場合、所定のイベントとは、球審の試合終了の合図であり、当該合図の視聴が体験に該当する。なお、この他、テレビ番組である場面になると、一斉にサーバにアクセスされる様な現象がある場合には、この「ある場面」が所定のイベントとなる。
【0050】
以下の例では、一致度は、第1時間分布の標準偏差の何倍かを示す値で表す。例えば、推定部104は、あるユーザの操作時刻が、第1時間分布において標準偏差の±2(±2SD)の範囲に収まる場合は、当該あるユーザは、所定の操作に予め対応付けられた所定のイベントを体験していたと推定する。標準偏差の±2の範囲とは、分布が正規分布に従うとすると、所定の操作を行ったユーザの約95%がその範囲に含まれる時刻に所定の操作を行った範囲である。多くのユーザが所定の操作を行った時間帯に、あるユーザが所定の操作を行ったとすると、当該ユーザは、他のユーザが所定の操作を行った原因と同じ原因に反応して、所定の操作を行ったと考えることができる。よって、所定の操作は、所定のイベントに対応して行われる操作なので、当該ユーザは所定のイベントを体験していたと推定される。
【0051】
例えば、ユーザa−1は、“18時00分05秒”に所定の操作を行っているので、一致度は、+0.17SDと求められ、
図5の時間分布の標準偏差の±2の範囲に含まれる。よって、推定部104は、ユーザa−1は所定のイベントを体験していたと推定する。一方、ユーザa−2は、“18時50分00秒”に所定の操作を行っているので、一致度は、+100SDと求められ、
図5の時間分布の標準偏差の±2の範囲に含まれない。よって、推定部104は、ユーザa−2は所定のイベントを体験していなかったと推定する。
【0052】
なお、所定のイベントが複数回生じる場合は、所定のイベントが生じる体験対象を体験していたか否かを推定することができる。
【0053】
ここで、体験対象とは、例えば、映像又は音声を含むコンテンツや、その場で行われるスポーツの試合、演劇、演奏、映画又は対戦(例えば、囲碁・チェス・ゲームの対戦)等の各種の催し、パフォーマンス、興行又は演目等であって、テレビやインターネット等の媒体を通して提供されるか否かに関わらず、ユーザによる体験の対象となるものである。本実施形態では、体験対象は、野球の中継番組であり、以下では、野球の中継番組を視聴していたか否かを推定したい場合を例に説明する。
【0054】
受付部101は、複数のユーザのそれぞれが行った所定の操作の時刻を、各端末200から受け付ける。
【0055】
例えば、ユーザは、チームP対チームQの野球の試合で、チームPが三振を奪った場合、リモコンの所定のボタンを押すことが求められるとする。各ユーザが、チームPが三振を奪った度に所定のボタンを押すと、受付部101は、端末200から、チームPが三振を奪った度に所定のボタンが押された時刻を受け付ける。
【0056】
取得部102は、複数のユーザのそれぞれについて、ユーザが行った所定の操作の第2時間分布を取得する。
【0057】
第2時間分布とは、受付部101が受け付けた時刻からユーザ毎に求めた所定の操作の時間分布である。
【0058】
例えば、受付部101が、ユーザから複数回行われた所定の操作の各時刻を受け付け、
図6の操作履歴テーブル100bに示すように、各ユーザについて複数の所定の操作についての操作時刻が登録されているとすると、取得部102は、ユーザ毎に操作の時間分布を求める。
【0059】
図7に、受付部101が時刻を受け付けた全ユーザについての、所定のボタンが押圧された時刻の時間分布(第1時間分布)と、ユーザa−1により所定のボタンが押圧された時刻の時間分布(第2時間分布)との関係の例を示す。
図7は、所定のイベントが複数回生じ(イベント1〜x(x:任意の自然数。本実施形態では、チームPが奪った三振の数))、ユーザa−1は、イベント1、3、・・・、xが起きた後、他のユーザが所定のボタンを押圧した時間帯に含まれるタイミングで所定のボタンを押圧し、イベント2が起きた後は、所定のボタンを押圧していないことを示す。
【0060】
算定部103は、取得された第1時間分布と、取得された第2時間分布と、の類似度を算定する。
【0061】
例えば、類似度は以下のように求める。
【0062】
ユーザが視聴している野球の試合時間を15秒毎の時間区間に区切り、先頭から順に各時間区間に番号0〜T−1を割り当てる。そして、あるユーザiがある時間区間tにて所定の操作を行ったとすると、
u
i,t = 1
とし、あるユーザiがある時間区間tにて所定の操作を行っていなければ、
u
i,t = 0
とする。ここで、u
iはT次元のベクトルであり、第2時間分布は、u
iで表すことができる。
【0063】
次に、算定部103は、所定の操作の第1時間分布w
tを以下のように求める。wはT次元のベクトルである。
w
t = Σ
i u
i,t
【0064】
ユーザiによる操作の第2時間分布と、所定の操作の第1時間分布との類似度c
iを、ベクトルu
iの方向ベクトルとベクトルwの方向ベクトルとの内積で表す。ベクトルu
iの長さU
iは、
U
i = (Σ
t u
i,t2)
1/2
ベクトルwの長さWは、
W = (Σ
t w
t2)
1/2
である。これらから、類似度c
iを以下のように求める。
類似度c
i = Σ
t u
i,t×w
t / (U
i×W) ・・・(式1)
【0065】
なお、u
iとwの内積そのものを類似度としても良い。
【0066】
すなわち、例えば、
図7において、他のユーザ達が所定のボタンを押圧した時間区間とユーザa−1が所定のボタンを押圧した時間区間とが一致する数が大きいほど類似度が高くなる。
【0067】
推定部104は、類似度に基づいて、類似度にかかる第2時間分布が取得されたユーザが、所定のイベントが生じる体験対象を体験していたか否かを推定する。
【0068】
例えば、推定部104は、上記のように求めた、ユーザa−1について取得された時間分布と、所定の操作の時刻が通知された全ユーザについて取得された時間分布との類似度が所定の閾値以上の場合は、ユーザa−1が所定のイベント1〜xが含まれるコンテンツ(野球の試合中継)を体験していたと推定する。
【0069】
本実施形態によれば、多くのユーザが所定の操作をした時間帯に、あるユーザも所定の操作をしていれば、あるユーザは、他のユーザが所定の操作を行った原因と同じ原因に反応して、所定の操作を行ったと考えることができ、その原因(所定のイベント)を体験していたと簡易に推定することができる。
【0070】
また、一般的に、あるユーザが、所定のイベントをリアルタイムで体験していたか否かを判断するためには、当該イベントが起きた時刻(例えば、本実施形態の野球観戦の例ではチームPが三振を奪った時刻)等の情報を履歴情報として用意しなければならない。しかし、本実施形態によれば、ある時刻においてあるイベントが起きた等の履歴情報を管理者が用意する必要がなく、ユーザの操作のみに基づいて、所定のイベントをリアルタイムで体験していたか否かを推定することができる。
【0071】
なお、推定装置100は、各ユーザの端末200に、所定のイベントが生じた時に所定の操作を行うよう、通知するようにしてもよい。例えば、推定装置100は、操作を求めるイベントの種類(試合終了の合図、三振、出塁、又は、ホームチームの攻撃回開始等)を指定して、試合開始前に、端末200に通知する。
【0072】
また、端末200から、所定の操作を行った時刻が直ちに送信され、推定装置100は、所定の操作を行った時刻を受け付けると、直ちに集計して、所定の操作の時間分布や、最近の所定秒数内に受け付けた時刻(すなわち、所定の操作)の数を端末200に表示させるようにしてもよい。
【0073】
また、推定装置100は、所定の操作の数が急に増加したことを検知して、ユーザの端末200に、その旨を通知するようにしてもよい。例えば、スマートフォンのアプリから所定の操作を受け付けている場合、他のユーザによる所定の操作の数が急に多くなると、推定装置100は、スマートフォンのアプリを起動していないユーザのスマートフォンに、所定の操作が急に増加した時刻付近のテレビの静止画像を伴うプッシュ通知を行うようにしてもよい。このような構成によれば、アプリを起動し、テレビの視聴に誘導することができる。
【0074】
(4.実施形態1の推定装置の動作)
本実施形態の推定装置100の動作について説明する。推定装置100は、例えば、電源が投入されると、
図8に示す推定処理を開始する。
【0075】
受付部101は、複数のユーザのそれぞれが使用する端末200においてユーザが所定の操作を行った時刻を、各端末200から受け付けたか否かを判断する(ステップS101)。受付部101は、所定の操作を行った時刻を受け付けたと判断すると(ステップS101;Yes)、受け付けた時刻を登録する(ステップS102)。一方、受付部101は、所定の操作を行った時刻を受け付けていないと判断すると(ステップS101;No)、そのまま待機する。
【0076】
例えば、受付部101が、ユーザa−1の端末200から、ユーザa−1が所定の操作を行った時刻を受け付けると、
図4の操作履歴テーブル100aに受け付けた時刻を登録する。一方、受付部101が、いずれの端末200からも時刻を受け付けない場合は、そのまま待機する。
【0077】
推定装置100は、ユーザが所定の操作に予め対応付けられたイベントを体験していたか否かの推定を実行する指示を受け付けたか否かを判断する(ステップS103)。推定装置100が、推定を実行するよう指示を受け付けたと判断すると(ステップS103;Yes)、取得部102は、受け付けた時刻から、所定の操作の第1時間分布を取得する(ステップS104)。一方、推定装置100が、推定を実行するよう指示を受け付けていないと判断すると(ステップS103;No)、ステップS101に戻る。なお、所定のイベントが複数回生じる場合は、ステップS104において、取得部102は、複数のユーザのそれぞれについて、ユーザが行った所定の操作の第2時間分布を取得するようにしてもよい。
【0078】
例えば、推定装置100の管理者が、ユーザa−1が所定のイベントを体験していたか否かを推定するよう、推定装置100に指示したとすると、取得部102は、
図4の操作履歴テーブル100aを参照して、ユーザa−1〜a−naの操作時刻から、所定の操作の第1時間分布を取得する。一方、管理者から指示を受け付けない場合は、ステップS101に戻る。なお、取得部102は、
図6の操作履歴テーブル100bに示すように、各ユーザについて複数の所定の操作についての操作時刻が登録されている場合は、取得部102は、ユーザ毎に操作時刻の時間分布(第2時間分布)を求めるようにしてもよい。
【0079】
算定部103は、取得された第1時間分布と、各端末200から受け付けた時刻と、の一致度、或いは、取得された第1時間分布と、取得された第2時間分布と、の類似度を算定する(ステップS105)。
【0080】
例えば、算定部103は、ユーザa−1の操作時刻が、受付部101が受け付けた時刻全体から取得した第1時間分布のどの位置に属するか否かを判断することにより一致度を算定する。ユーザ毎に操作時刻の時間分布が求められた場合は、算定部103は、ユーザa−1による所定の操作の時間分布と、受付部101が時刻を受け付けた全ユーザについての所定の操作の時間分布と類似度を、(式1)により求める。
【0081】
推定部104は、一致度に基づいて、受け付けた時刻に所定の操作を行ったユーザが、所定の操作に予め対応付けられた所定のイベントを体験していたか否か、或いは、類似度に基づいて、類似度にかかる時間分布が取得されたユーザが、所定のイベントが生じる体験対象を体験していたか否かを推定する(ステップS106)。
【0082】
例えば、推定部104は、ユーザa−1の操作時刻が、取得された第1時間分布において標準偏差の±2の範囲に収まる場合、ユーザa−1は所定のイベントを体験していたと推定する。或いは、推定部104は、ユーザa−1について取得された時間分布と、受付部101が時刻を受け付けた全ユーザについて取得された時間分布との類似度が所定の閾値以上の場合は、ユーザa−1が所定のイベントが生じる体験対象を体験していたと推定する。
【0083】
(5.実施形態2に係る推定装置の概要構成)
推定装置100は、
図9に示すように、受付部101と、取得部102と、算定部103と、推定部104と、割当部105と、から構成される。
【0084】
実施形態2において、算定部103及び推定部104は実施形態1と同様の機能を有する。以下、受付部101及び取得部102の実施形態1と異なる機能又は追加される機能、並びに、割当部105の機能について説明する。
【0085】
本実施形態において、CPU 601及びNIC 605が協働して、割当部105として機能する。
【0086】
割当部105は、各端末200が、所定の操作が行われた時刻から推定装置100へ所定の操作が行われた旨を報告するまでの余裕時間を、各端末200にランダムに割り当てる。
【0087】
余裕時間とは、端末200において所定の操作が行われた旨を、所定の操作が行われた時刻から、推定装置100へ報告するまでの時間である。
【0088】
例えば、割当部105は、ユーザa−1〜a−naの端末200に、0秒〜120秒の余裕時間をランダムに割り当てる。
【0089】
受付部101は、余裕時間経過後に報告される所定の操作が行われた旨の報告を、各端末200から受け付ける。
【0090】
例えば、ユーザa−1に割り当てられた余裕時間が5秒であるとすると、ユーザa−1の端末200から、ユーザa−1が所定の操作を行った時刻(18時00時05秒)から5秒後(18時00時10秒)に所定の操作が行われた旨の報告が送信され、受付部101は、ユーザa−1の端末200から、この報告を受け付ける。また、受付部101は、ユーザa−1の端末200から、ユーザa−1が所定の操作が行った時刻を受け付ける。
【0091】
受付部101は、ユーザの端末200から報告及び所定の操作の時刻を受け付けると、例えば、
図10の操作履歴テーブル100cに、報告が到着した時刻及び操作時刻を登録する。また、割当部105は、各ユーザに余裕時間を割り当てると、
図10の操作履歴テーブル100cに余裕時間を登録する。操作履歴テーブル100cには、ユーザID 100c1と、割り当てられた余裕時間100c2と、報告を受け付けた時刻を示す報告到着時刻100c3と、所定の操作が行われた時刻を示す操作時刻100c4と、が対応付けて登録されている。
【0092】
取得部102は、所定の操作が行われた旨の報告を受け付けた時刻から、所定の操作が行われた旨の報告の第3時間分布と、推定装置100へのアクセスの集中度と、を取得する。
【0093】
すなわち、第1時間分布は、時刻を受け付けた全ユーザによる所定の操作の時刻の時間分布であり、第2時間分布は、体験対象を体験していたか否かの推定を行う対象となるユーザによる所定の操作の時刻の時間分布であり、第3時間分布は、所定の操作が行われた旨の報告を受け付けた全ユーザについて取得した当該報告を受け付けた時刻の時間分布である。
【0094】
例えば、取得部102は、
図10の操作履歴テーブル100cを参照して、ユーザa−1〜a−naの操作時刻の第1時間分布(
図11の時間分布401)及び報告到着時刻の第3時間分布(
図11の時間分布402)を求める。そして、取得部102は、報告到着時刻の時間分布から推定装置100へのアクセス(報告)の集中度を求める。アクセスの集中度は、例えば、1分間に何件の報告を受け付けたかによって表す。
【0095】
割当部105は、アクセスの集中度を限界閾値以下に抑えつつ、第1時間分布と、第3時間分布とのずれが小さくなるように、余裕時間を調節する。
【0096】
限界閾値とは、アクセスの集中度の上限となる値であり、アクセスの集中度をこの値以下にすることが求められる値である。例えば、推定装置100の管理者により、システムのアクセス許容度等を考慮して指定される。
【0097】
例えば、割当部105は、ユーザa−1〜a−naの報告到着時刻の時間分布402(
図11)のピークを、限界閾値以下に収まるようにしつつ、ユーザa−1〜a−naによる所定の操作時刻の時間分布401(
図11)と、ユーザa−1〜a−naからの報告到着時刻の時間分布402(
図11)とのずれ500(
図11)が小さくなるように、余裕時間を調節する。
【0098】
本実施形態によれば、推定装置100へのアクセスの集中度を制御し、かつ、報告を受ける時刻を実際の操作時刻に近づけることができる。これにより、推定装置100への過剰なアクセスを防ぎつつ、ユーザの操作に基づき、ユーザが所定のイベント又は体験対象を体験していたか否かの推定を行うことができる。
【0099】
なお、端末200は、所定の操作の時刻(操作時刻)から余裕時間後に推定装置100に報告を行うので、操作時刻は、推定装置100に報告が到着した時刻(報告到着時刻)より余裕時間前と考えられる。したがって、端末200における時刻合わせを省くことができる。また、報告到着時刻より余裕時間前の時刻を操作時刻とみなす場合は、端末200から操作時刻が送信されない構成としてもよい。
【0100】
また、ユーザが端末200の時計の時刻をずらして、操作時刻に不正を加えたとしても、報告到着時刻から余裕時間前を操作時刻として用いることにより、このような不正行為を無効化することができ、安易なチート行為を防止することもできる。
【0101】
また、推定装置100へのアクセスが集中して、推定装置100に報告が到着した旨を端末200に連絡する応答パケットが、端末200に到着しない場合、端末200が自律的に余裕時間を大きくするようにしてもよい。そして、推定装置100に報告が到着した時点で、推定装置100は、アクセスの集中度を勘案して、当該端末200に対する余裕時間を再設定するようにしてもよい。
【0102】
また、スマートフォンにおいて所定の操作が行われる場合は、アプリ起動時に推定装置100にアクセスし、推定装置100はアクセスした端末200に対し余裕時間を割り当てるようにしてもよい。
【0103】
このような構成によれば、推定装置100は、所定の操作の報告を受ける可能性のある総数を把握することができ、アクセスの集中度合いを予測することが可能となる。
【0104】
また、アプリ起動時に推定装置100との通信ができない場合には、端末200側で、アクセスの集中度を高めないように、余裕時間を大きめに設定するようにしてもよい。
【0105】
また、各端末200から受け付けた所定の操作が行われた時刻は、各端末200の時計で計測された時刻とし、算定部103は、各端末200で計測された所定の操作の時刻と、所定の操作が行われた旨の報告を受け付けた時刻と、の差を求めるようにしてもよい。
【0106】
例えば、操作履歴テーブル100c(
図10)の操作時刻100c4は、各端末200の時計で計測された時刻である。なお、推定装置100及び端末200は、日本標準時等と時刻合わせがされていることとする。
【0107】
例えば、算定部103は、操作履歴テーブル100c(
図10)の報告到着時刻100c3と、操作時刻100c4と、の差を求める。差が、割り当てた余裕時間より大きい場合は、通信遅延が生じていると考えられる。また、求められた差を、例えば、ISP(Internet Services Provider)毎や基地局毎に分類してもよい。
【0108】
このような構成によれば、遅延テストを行うことができる。
【0109】
(6.実施形態2の推定装置の動作)
実施形態2の推定装置100の動作について説明する。推定装置100は、例えば、電源が投入されると、
図12に示す推定処理を開始する。なお、
図12のフローチャートのステップS204、S206、S207の処理は、
図8のフローチャートのステップS103、S105、S106の処理と同様である。したがって、これらの処理については省略する。
【0110】
各端末200が、所定の操作が行われた時刻から推定装置100へ所定の操作が行われた旨を報告するまでの余裕時間を、各端末のそれぞれにランダムに割り当てる(ステップS201)。
【0111】
例えば、割当部105は、ユーザa−1〜a−naの端末200に、0秒〜120秒の余裕時間をランダムに割り当てる。また、割当部105は、各ユーザに余裕時間を割り当てると、
図10の操作履歴テーブル100cに余裕時間を登録する。
【0112】
受付部101は、各端末200から、余裕時間経過後に報告される所定の操作が行われた旨の報告、及び、ユーザが所定の操作を行った時刻を受け付けたか否かを判断する(ステップS202)。受付部101は、所定の操作が行われた旨の報告及び所定の操作を行った時刻を受け付けたと判断すると(ステップS202;Yes)、所定の操作が行われた旨の報告の到着時刻(報告到着時刻)及び所定の操作を行った時刻(操作時刻)を登録する(ステップS203)。一方、受付部101は、所定の操作が行われた旨の報告及び所定の操作を行った時刻を受け付けていないと判断すると(ステップS202;No)、そのまま待機する。
【0113】
例えば、受付部101が、ユーザa−1の端末200から、所定の操作を行った旨の報告及びユーザa−1が所定の操作を行った時刻(操作時刻)を受け付けると、
図10の操作履歴テーブル100cに、当該報告が到着した報告到着時刻と操作時刻とを登録する。一方、受付部101が、いずれの端末200からも報告及び時刻を受け付けない場合は、そのまま待機する。
【0114】
推定装置100が、推定を実行するよう指示を受け付けたと判断すると(ステップS204;Yes)、取得部102は、受け付けた所定の操作の時刻から第1時間分布を取得し、所定の操作が行われた旨の報告を受け付けた時刻から、第3時間分布を取得する(ステップS205)。
【0115】
例えば、取得部102は、
図10の操作履歴テーブル100cを参照して、ユーザa−1〜a−naの操作時刻の第1時間分布(
図11の時間分布401)及び報告到着時刻の第3時間分布(
図11の時間分布402)を求める。
【0116】
ステップS207において推定が行われたあと、取得部102は、報告到着時刻の第3時間分布から推定装置100へのアクセスの集中度を取得する(ステップS208)。
【0117】
例えば、取得部102は、報告到着時刻の第3時間分布(
図11の時間分布402)から推定装置100へのアクセスの集中度を求める。
【0118】
割当部105は、アクセスの集中度を限界閾値以下に抑えつつ、所定の第1時間分布と、第3時間分布とのずれが小さくなるように、余裕時間を調節する(ステップS209)。
【0119】
例えば、割当部105は、ユーザa−1〜a−naの報告到着時刻の時間分布402(
図11)のピークを、限界閾値以下に収まるようにしつつ、ユーザa−1〜a−naの操作時刻の時間分布401(
図11)と、ユーザa−1〜a−naからの報告到着時刻の時間分布402(
図11)とのずれ500(
図11)が小さくなるように、余裕時間を調節する。
【0120】
本発明は、本発明の広義の精神と範囲を逸脱することなく、様々な実施の形態及び変形が可能とされるものである。また、上述した実施の形態は、この発明を説明するためのものであり、本発明の範囲を限定するものではない。すなわち、本発明の範囲は、実施の形態ではなく、特許請求の範囲によって示される。そして、特許請求の範囲内及びそれと同等の発明の意義の範囲内で施される様々な変形が、この発明の範囲内とみなされる。
受付部(101)は、複数のユーザのそれぞれが使用する端末においてユーザが所定の操作を行った時刻を、各端末から受け付ける。取得部(102)は、受け付けた時刻から、所定の操作の第1時間分布を取得する。算定部(103)は、取得された第1時間分布と、各端末から受け付けた時刻と、の一致度を算定する。推定部(104)は、一致度に基づいて、複数のユーザのそれぞれが、所定の操作に予め対応付けられた所定のイベントを体験していたか否かを推定する。