(58)【調査した分野】(Int.Cl.,DB名)
前記マッチング部は、前記ログデータに基づいて前記候補セットに対して同一ユーザが使用している可能性を示すスコアを算出し、前記スコアに基づいて複数の端末をマッチングする、
前記請求項1に記載の情報処理装置。
【発明を実施するための形態】
【0009】
以下、実施形態について、図面を参照して説明する。
図1は、サービス提供システム10の構成例を示す図である。
サービス提供システム10は、ユーザ端末4又は5に所定のサービスを提供する。たとえば、サービス提供システム10は、ユーザ端末4又は5上で実行されるブラウザ、ゲームアプリ、ニュースアプリ又はSNSアプリなどのアプリケーション上で提供されるサービスに関連するデータを配信する。
【0010】
図1が示すように、サービス提供システム10は、マッチングサーバ1、サーバ2、ルータ3、及び、ユーザ端末4並びに5などを備える。サービス提供システム10は、インターネットなどの通信網6を通じて、マッチングサーバ1、サーバ2、ルータ3、及び、ユーザ端末4並びに5を互いに接続する。
【0011】
マッチングサーバ1は、同一のユーザがネットワークを介して使用するユーザ端末4又は5をマッチングする。即ち、マッチングサーバ1は、いずれの端末が同一のユーザの使用に属するかを判定する。マッチングサーバ1の構成又は動作例については、後述する。
【0012】
サーバ2は、通信網6を通じて、ユーザ端末4又は5へ所定のサービスを提供する。また、サーバ2は、ユーザ端末4又は5がサーバ2にアクセスしたことを示すログデータを生成する。ログデータについては、後述する。たとえば、サーバ2は、ユーザ端末4又は5からのアクセスに基づいてログデータを生成する。サーバ2は、生成されたログデータを格納する。
【0013】
ここでは、サーバ2は、通信網6を通じて、ユーザ端末4又は5へ広告を配信するものとする。サーバ2は、広告主が提供する広告を予め格納する。サーバ2は、ユーザ端末4又は5から広告の配信を要求する広告リクエストを受け付ける。サーバ2は、広告リクエストに対するレスポンスとして広告をユーザ端末4又は5へ送信する。また、サーバ2は、ユーザ端末4又は5へ、広告レスポンスとして広告を特定するキャンペーンIDなどを送信してもよい。
【0014】
サーバ2が配信する広告は、たとえば、html、テキスト、画像、又は、それらの組み合わせによって構成される。サーバ2が配信する広告のフォーマット及び内容は、特定の構成に限定されるものではない。サーバ2は、複数の広告を格納してもよい。また、サーバ2は、適宜広告を更新してもよい。
【0015】
なお、サーバ2は、Eコマースを提供するものであってもよいし、Webサイトを提供するWebサーバであってもよい。また、サーバ2は、ゲームなどのスマートフォンアプリからのリクエストに応じて所定のデータなどを送信するものであってもよい。サーバ2が提供するサービスは、特定の構成に限定されるものではない。
【0016】
ルータ3は、ローカルネットワークを形成する。ルータ3は、ローカルネットワーク内の端末(たとえば、ユーザ端末4又は5)を通信網6と接続させる。即ち、ルータ3は、ユーザ端末4又は5と通信網6とのデータの送受信を中継する。
【0017】
ルータ3は、IPアドレスを割り当てられる。ルータ3は、割り当てられたIPアドレスからのデータとして、ルータ3が形成するローカルネットワーク内の端末(たとえば、ユーザ端末4又は5)からのデータを通信網6へ送信する。即ち、通信網6において、ルータ3が形成するローカルネットワーク内の端末(たとえば、ユーザ端末4又は5)からのアクセスは、ルータ3に割り当てられたIPアドレスからのアクセスとして扱われる。つまり、ルータ3が形成するローカルネットワーク内の端末(たとえば、ユーザ端末4又は5)からのアクセスは、同一のIPアドレスからのアクセスとして扱われる。
【0018】
ユーザ端末4又は5は、ユーザが所持する端末である。ユーザ端末4又は5は、ユーザの操作(入力)に基づいてブラウザなどのアプリケーションを実行する。ユーザ端末4又は5は、アプリケーションの動作に従ってサーバ2が配信する広告を表示する。
【0019】
ユーザ端末4又は5は、それぞれ端末IDを格納する記憶領域4a又は4bを備える。記憶領域4a又は4bは、たとえば、ユーザ端末4又は5が格納する不揮発性メモリなどに形成される。
【0020】
端末IDは、ユーザ端末4又は5を識別するIDである。端末IDは、ユーザ端末4又は5の製造時に格納されたものであってもよい。また、端末IDは、適宜生成されたIDであってもよい。
【0021】
たとえば、端末IDは、IDFA(Identification For Advertisers)、又は、Advertising IDなどであってもよい。また、端末IDは、Cookieなどに設定されたIDであってもよい。また、端末IDは、サーバ2が端末毎に発行するID(たとえば、広告IDなど)であってもよい。また、端末IDは、webサイト内のスクリプトによって生成されるIDであってもよい。
【0022】
ユーザ端末4又は5は、たとえば、ディスクトップPC、ノートPC、タブレットPC、スマートフォン、又は、ウェアラブル端末などであってもよい。ユーザ端末4又は5の構成は、特定の構成に限定されるものではない。
【0023】
通信網6は、マッチングサーバ1、サーバ2、及び、ルータ3を互いに通信可能に接続する。通信網6は、たとえば、インターネットである。マッチングサーバ1、サーバ2、及び、ルータ3は、有線又は無線で通信網6にアクセスする。
【0024】
次に、マッチングサーバ1について説明する。
図2は、マッチングサーバ1の構成例を示すブロック図である。
【0025】
図2が示す構成例において、マッチングサーバ1(情報処理装置)は、基本的な構成として、CPU11、ROM12、RAM13、NVM14、通信部15、操作部16、及び、表示部17などを備える。これらの各部は、データバスを介して互いに接続されている。なお、マッチングサーバ1は、
図2が示すような構成の他に必要に応じた構成を具備したり、特定の構成を除外したりしてもよい。
【0026】
CPU11は、マッチングサーバ1全体の動作を制御する機能を有する。CPU11は、内部キャッシュおよび各種のインターフェースなどを備えても良い。CPU11は、内部メモリ、ROM12あるいはNVM14に予め記憶したプログラム(コード)を実行することにより種々の処理を実現する。CPU11は、たとえば、プロセッサである。
【0027】
なお、CPU11がプログラムを実行することにより実現する各種の機能のうちの一部は、ハードウエア回路により実現されるものであっても良い。この場合、CPU11は、ハードウエア回路により実行される機能を制御する。
【0028】
ROM12は、予め制御用のプログラム及び制御データなどが記憶された不揮発性のメモリである。ROM12に記憶される制御プログラム及び制御データは、予めマッチングサーバ1の仕様に応じて組み込まれる。ROM12は、たとえば、マッチングサーバ1の回路基板を制御するプログラム(例えば、BIOS)などを格納している。
【0029】
RAM13は、揮発性のメモリである。RAM13は、CPU11の処理中のデータなどを一時的に格納する。RAM13は、CPU11からの命令に基づき種々のアプリケーションプログラムを格納している。また、RAM13は、アプリケーションプログラムの実行に必要なデータ及びアプリケーションプログラムの実行結果などを格納してもよい。
【0030】
NVM14は、データの書き込み及び書き換えが可能な不揮発性のメモリである。NVM14は、例えば、ハードディスク、SSD、EEPROM(登録商標)又はフラッシュメモリなどにより構成される。NVM14は、マッチングサーバ1の運用用途に応じて制御プログラム、アプリケーション、及び種々のデータを格納する。
【0031】
NVM14は、ログデータを記憶する記憶領域14aを備える。ログデータについては、後述する。
【0032】
通信部15は、通信網6を通じてサーバ2又はルータ3などとデータを送受信するためのインターフェースである。通信部15は、たとえば、LAN接続をサポートするインターフェースである。
【0033】
操作部16は、マッチングサーバ1の操作者によって、種々の操作指示が入力される。操作部16は、操作者に入力された操作指示のデータをCPU11へ送信する。操作部16は、たとえば、キーボード、テンキー、及び、タッチパネルなどである。
【0034】
表示部17は、CPU11の制御により種々の情報を表示する表示装置である。表示部17は、たとえば、液晶モニタなどである。なお、操作部16がタッチパネルなどで構成される場合、表示部17は、操作部16と一体的に形成されてもよい。
【0035】
なお、マッチングサーバ1とサーバ2とは、一体としてひとつのサーバであってもよい。
【0036】
次に、ログデータについて説明する。
ログデータは、ユーザ端末4又は5が通信網6にアクセスした(たとえば、広告などを閲覧した)ログである。ログデータは、IPアドレス、端末ID及びタイムスタンプを対応付けて格納する。
【0037】
IPアドレスは、ユーザ端末4又は5に割り振られたIPアドレスである。たとえば、IPアドレスは、ユーザ端末4又は5が所属するローカルネットワークを形成するルータ3に割り振られたIPアドレスである。
【0038】
端末IDは、通信網6にアクセスした端末を示す。
タイムスタンプは、ユーザ端末4又は5が通信網6にアクセスした日時を示す。
【0039】
ここでは、ログデータは、広告配信に関するものである。即ち、ログデータは、ユーザ端末4又は5へ広告を配信した際に生成されるものである。
【0040】
なお、ログデータは、広告配信、Web閲覧、Eコマース又はスマートフォンアプリに関するアクセスから生成されてもよい。ログデータは、上記の構成を備えていれば、いずれのサービスに関するものであってもよい。
【0041】
なお、ログデータは、ユーザ端末4又は5で動作するOS又はOSのバージョンなどを示すOS情報を備えてもよい。
【0042】
たとえば、マッチングサーバ1は、サーバ2からログデータを取得し、記憶領域14aに格納する。また、マッチングサーバ1は、操作者の操作に従って他のインターフェース(たとえば、USBをサポートするインターフェース)などからログデータを取得してもよい。
【0043】
次に、CPU11が実現する機能について説明する。
CPU11は、複数個のログデータを取得する機能を有する(取得部)。たとえば、CPU11は、記憶領域14aからログデータを取得する。また、CPU11は、外部装置からログデータを取得してもよい。
【0044】
CPU11は、取得された複数個のログデータが備えるIPアドレスをクラスタに分類する機能を有する(分類部)。たとえば、CPU11は、IPアドレスの特徴に基づいてIPアドレスをクラスタに分類する。たとえば、CPU11は、IPアドレスを、家庭用ルータで使用されるIPアドレス、企業用ルータで使用されるIPアドレス、又は、携帯キャリアで使用されるIPアドレスのいずれの特徴を有するかに基づいてクラスタに分類する。
【0045】
たとえば、CPU11は、ログデータに基づいてIPアドレスの特徴を判定する(特徴判定部)。たとえば、CPU11は、IPアドレスに対応するタイムスタンプに基づいてIPアドレスの特徴を判定する。たとえば、CPU11は、時間帯別及び曜日別に使用される頻度(使用頻度)の特徴を判定する。たとえば、CPU11は、時間帯別及び曜日別の使用頻度を示す波形を生成して、当該波形に基づいて使用頻度の特徴を判定する。
【0046】
CPU11は、たとえば、以下のように使用頻度の特徴を判定する。
CPU11は、平日及び休日とも使用頻度が低く平日と休日とで使用頻度に大きな差はないが休日の日中の方がやや使用頻度が高い場合には、IPアドレスの使用頻度が家庭用ルータに使用されるIPアドレスの特徴を備えると判定する(モデルA)。
【0047】
また、CPU11は、平日及び休日ともに使用頻度が高い、休日は平日よりも使用頻度が高い、かつ、平日の12時前後に使用頻度が高い場合には、IPアドレスの使用頻度が携帯キャリアで使用されるIPアドレスの特徴を備えると判定する(モデルB)。
【0048】
また、CPU11は、平日の夜に使用頻度が高く休日の方が平日よりも使用頻度が高い場合には、IPアドレスの使用頻度が家庭用ルータに使用されるIPアドレスの特徴を備えると判定する(モデルC)。
【0049】
また、CPU11は、平日の日中に使用頻度が極めて高く休日の使用頻度が低い場合には、IPアドレスの使用頻度が企業用ルータに使用されるIPアドレスの特徴を備えると判定する(モデルD)。
【0050】
CPU11は、モデルA乃至Dに対応するモデル波形とIPアドレスの使用頻度を示す波形とを比較して、各モデル波形との統計的距離を算出する。CPU11は、統計的距離に基づいて、使用頻度の特徴を判定する。
【0051】
なお、CPU11は、モデルA乃至D以外のモデルを用いて使用頻度の特徴を判定してもよい。CPU11が使用頻度の特徴を判定するモデルは、特定のモデルに限定されるものではない。
【0052】
また、CPU11は、IPアドレスの特徴としてIPアドレスを使用する端末の数(密集度)の特徴を判定する。
たとえば、CPU11は、IPアドレスを使用する端末が50を超えた場合には、IPアドレスの密集度がキャリア回線に使用されるIPアドレスの特徴を備えると判定する。
【0053】
また、CPU11は、IPアドレスを使用する端末が20を超え50未満である場合には、IPアドレスの密集度が企業用ルータに使用されるIPアドレスの特徴を備えると判定する。
【0054】
また、CPU11は、IPアドレスを使用する端末が10未満である場合には、IPアドレスの密集度が家庭用ルータに使用されるIPアドレスの特徴を備えると判定する。
【0055】
また、CPU11は、IPアドレスの特徴として同一の端末にどの程度継続して使用されるかに基づいてIPアドレスの特徴を判定する。即ち、CPU11は、直近の所定の期間(たとえば、直近の10日間)とその前の所定の期間(たとえば、20日前から11日前までの10日間)との両期間に使用した端末の割合(継続使用率)の特徴を判定する。
【0056】
たとえば、CPU11は、両期間に使用した端末の割合が5%以下である場合、IPアドレスの継続利用率がキャリア回線に使用されるIPアドレスの特徴を備えると判定する。
【0057】
また、CPU11は、両期間に使用した端末の割合が30%以上50%以下である場合、IPアドレスの継続利用率が会社用ルータで使用されるIPアドレスの特徴を備えると判定する。
【0058】
また、CPU11は、両期間に使用した端末の割合が70%以上である場合、IPアドレスの継続利用率が家庭用ルータで使用されるIPアドレスの特徴を備えると判定する。
【0059】
また、CPU11は、IPアドレスの特徴として端末あたりのログデータの件数(活動量)の特徴を判定する。
【0060】
たとえば、CPU11は、端末当たりのログデータの件数が40件以下である場合(即ち、1ユーザあたりの使用が少ない場合)には、IPアドレスの活動量がキャリア回線で使用されるIPアドレスの特徴を備えると判定する。
【0061】
CPU11は、端末当たりのログデータの件数が41件以上70件以下である場合には、IPアドレスの活動量が会社用ルータで使用されるIPアドレスの特徴を備えると判定する。
【0062】
CPU11は、端末当たりのログデータの件数が100件以上である場合(即ち、1ユーザあたりの使用が多い場合)には、IPアドレスの活動量が家庭用ルータで使用されるIPアドレスの特徴を備えると判定する。
【0063】
CPU11は、以上のような特徴に基づいてIPアドレスをクラスタに分類する。CPU11は、IPアドレスの特徴を元に、種々の統計手法又は機械学習によりIPアドレスの特徴が最大化するようにIPアドレスをクラスタに分類する。なお、CPU11がIPアドレスの特徴を判定するための各閾値は、上記の値に限定されるものではない。CPU11は、統計的観点から適宜閾値を変更してもよい。
【0064】
また、CPU11は、IPアドレスの特徴に基づいて、IPアドレスの使用用途を判定する(用途判定部)。たとえば、CPU11は、IPアドレスの各特徴から算出される使用用途の尤度を合算して、所定の閾値を超えた尤度に対応する使用用途をIPアドレスの使用用途と判定する。また、CPU11は、IPアドレス毎に使用用途の確からしさを示す確信度を算定してもよい。
【0065】
たとえば、CPU11は、あるIPアドレスに関して活動量がかなり多い上に密集度も高く企業用ルータに使用されるIPアドレスの特徴が現れているが、使用頻度が平日夜に高く休日が平日より高く家庭用ルータに使用されるIPアドレスの特徴も現れている場合、家庭用ルータに使用されるIPアドレスと分類するが確信度を低く算出する(たとえば、分類=家庭用ルータに使用されるIPアドレス、確信度=0.55)。
【0066】
また、CPU11は、あるIPアドレスに関して平日の日中に使用が集中し密集度がやや高く継続使用率が高い場合、企業用ルータに使用されるIPアドレスと分類し、確信度を高く算出する(たとえば、分類=企業量ルータに使用されるIPアドレス、確信度=0.98)。
【0067】
なお、CPU11は、各特徴の傾向、又は尤度などを定点観測し、自動的に分類方法に補正してもよい。
CPU11がIPアドレスをクラスタに分類する方法は、特定の方法に限定されるものではない。
【0068】
また、CPU11は、クロスデバイスマッチングに使用するクラスタ(第1のクラスタ)を選択する機能を有する(選択部)。たとえば、CPU11は、密集度が小さく継続使用率が高く活動量が多く、所定の時間帯(たとえば、平日の夜又は休日など)に集中的に使用されるIPアドレスを選択する。
【0069】
また、CPU11は、選択されたクラスタのIPアドレスのログデータを取得する機能を有する。たとえば、CPU11は、記憶領域14aからログデータを取得する。
【0070】
また、CPU11は、取得されたログデータに基づいてマッチングを推定する機能を有する(マッチング部)。
CPU11は、複数の端末IDが同一の時間帯に同一のIPアドレスのログデータに頻繁に出現する場合に当該複数の端末IDを同一ユーザが所持する複数の端末の端末IDであると推定する。
【0071】
図3は、マッチング推定の動作例を示す。
図3が示す例では、端末ID123が示す端末Aと端末ID456が示す端末Bとは、IPアドレス11:22:33:44を用いて通信網6にアクセスする。
【0072】
同一ユーザが端末Aと端末Bとを使用する場合、端末Aと端末Bとは、同時期に同一のネットワーク下にある可能性が高い。従って、端末Aと端末Bとが同時期に同一のネットワーク下にある(即ち、同一のIPアドレスからアクセスする)場合、端末Aと端末Bとは、同一ユーザの使用に属する可能性が高い。
【0073】
CPU11は、ログデータから同時期に同一のIPアドレスを用いる端末の組み合わせを同一ユーザの使用に属すると推定し、推定結果に基づき(同一ユーザの使用可能性が高いとの推定結果に基づき)これら端末をマッチングする。
【0074】
たとえば、CPU11は、ログデータに基づいて、同一のIPアドレスを用いる2つの端末を含む候補セットを特定する。CPU11は、候補セットに対して同一ユーザが使用している可能性を示すスコアを算出する。
【0075】
たとえば、CPU11は、所定の時間内に候補セットの両端末が同一のIPアドレスを使用した場合に、候補セットのスコアを加算する。たとえば、CPU11は、候補セットのある端末がIPアドレスを使用してから他の端末が同一のIPアドレスを使用するまでの間隔に応じてスコアを加算する。たとえば、CPU11は、1時間以内に候補セットの両端末が同一のIPアドレスを使用した場合、1.0点を加算する。また、CPU11は、1時間を超えて8時間以内である場合、0.1点を加算する。
【0076】
また、CPU11は、候補セットの両端末が同時間帯に使用される場合に、候補セットのスコアを加算する。たとえば、CPU11は、時間帯を区分する(たとえば、月〜木曜日PM22〜翌朝AM7、平日AM9〜PM17、及び、金曜日PM22〜月曜日AM7)。CPU11は、同一の時間区分に候補セットの両端末が使用される場合に、スコアを加算する。なお、CPU11は、候補セットの両端末が同一の時間区分に使用される割合などに応じてスコアを調整してもよい。
【0077】
また、CPU11は、候補セットの両端末が重複して使用される時間(重複使用時間)に基づいて、候補セットのスコアを加算する。たとえば、CPU11は、候補セットの両端末の端末IDを含むログデータに基づいて両端末の起動期間を特定する。たとえば、CPU11は、端末の複数のログデータが示す日時が互いに所定の時間内である場合に、ログデータが示す日時の間を端末の起動期間と特定する。
【0078】
CPU11は、端末毎の起動期間が互いに重複する期間の長さを重複使用時間と特定する。
たとえば、CPU11は、重複使用時間が所定の閾値よりも大きい場合に、候補セットのスコアを加算する。また、CPU11は、重複使用時間に応じてスコアを加算してもよい。たとえば、CPU11は、重複使用時間が多くなるほど大きなスコアを加算する。また、CPU11は、重複使用時間が所定の閾値よりも大きく重複使用時間以外の時間において両端末が他のIPアドレスを使用していない場合に、スコアを加算してもよい。たとえば、CPU11は、両端末が1時間ずつ起動し30分間重複していて重複していない30分に他のIPアドレスを使用していない場合に、スコアを加算する。
【0079】
また、CPU11は、異なる使用用途の各IPアドレスにおいて候補セットの両端末のログデータがある場合には、候補セットのスコアを加算する。たとえば、CPU11は、異なる使用用途の各IPアドレスにおいて重複使用時間がある場合に、候補セットのスコアを加算してもよい。
【0080】
CPU11は、候補セットのスコアに基づいて、当該候補セットが含む2つの端末を同一ユーザの使用に属する端末としてマッチングする。たとえば、CPU11は、候補セットのスコアが所定の閾値を超えた場合に、当該候補セットが含む2つの端末を同一ユーザの使用に属する端末としてマッチングする。即ち、CPU11は、候補セットから同一ユーザが使用する候補セットを特定する。CPU11は、マッチされた端末同士を紐付けてNVM14などに格納する。また、CPU11は、端末Aと端末Bとがマッチングされ、端末Bと端末Cとがマッチングされた場合、端末A乃至Cを同一人の使用に属するとしてマッチングしてもよい。
【0081】
また、CPU11は、3つ以上の端末を含む候補セットを生成して、スコアを算出してもよい。
【0082】
次に、サービス提供システム10の各部の動作例について説明する。
まず、ユーザ端末4又は5の動作例について説明する。ここでは、例としてユーザ端末4の動作例を説明する。ユーザ端末5も同様の動作を行う。
【0083】
ユーザ端末4は、ユーザからの操作に基づいてアプリケーションを起動する。ここでは、アプリケーションは、サーバ2から提供される広告を表示するものである。
【0084】
アプリケーションを起動すると、ユーザ端末4は、アプリケーションの動作に従って、端末IDを含む広告リクエストをサーバ2へ送信する。なお、広告リクエストは、ユーザ端末4上で動作するOS又はOSのバージョンを示すOS情報を備えてもよい。
【0085】
ユーザ端末4は、サーバ2から、広告リクエストに対するレスポンスとして広告を受信する。広告を受信すると、ユーザ端末4は、表示部などに広告を表示する。広告を表示すると、ユーザ端末4は、動作を終了する。
【0086】
なお、広告IDが端末IDである場合、ユーザ端末4は、広告IDを格納しているかを判定する。広告IDを格納していないと判定した場合、ユーザ端末4は、広告リクエストをサーバ2へ送信し、レスポンスに含まれる広告IDを端末IDとして格納する。広告IDを格納していると判定した場合(たとえば、サーバ2へ2回目以降にアクセスする場合など)、ユーザ端末4は、格納された広告IDを含む広告リクエストをサーバ2へ送信する。
【0087】
次に、サーバ2の動作例について説明する。
サーバ2は、ユーザ端末4又は5から広告リクエストを受信する。広告リクエストを受信すると、サーバ2は、広告リクエストに応じた広告をレスポンスとしてユーザ端末4又は5へ送信する。
【0088】
また、サーバ2は、ログデータを生成する。たとえば、サーバ2は、広告リクエストから端末IDを抽出する。また、サーバ2は、広告リクエストの送信元のIPアドレスを取得する。また、サーバ2は、広告リクエストを受信した日時又は広告を送信した日時を示すタイムスタンプを生成する。サーバ2は、端末ID、IPアドレス及びタイムスタンプを対応付けてログデータを生成する。なお、広告リクエストがOS情報を含む場合、サーバ2は、さらにOS情報も対応付けてログデータとして格納する。
【0089】
なお、サーバ2は、広告をユーザ端末4又は5に送信してからログデータを生成してもよいし、ログデータを生成してから広告をユーザ端末4又5へ送信してもよい。
【0090】
サーバ2は、生成されたログデータを不揮発性メモリに格納する。なお、サーバ2は、随時ログデータをマッチングサーバ1へ送信してもよい。また、サーバ2は、所定の間隔でログデータをマッチングサーバ1へ送信してもよい。
【0091】
次に、マッチングサーバ1の動作例について説明する。
図4は、マッチングサーバ1の動作例を説明するためのフローチャートである。
【0092】
ここでは、マッチングサーバ1の記憶領域14aは、複数個のログデータを格納しているものとする。
【0093】
まず、マッチングサーバ1のCPU11は、記憶領域14aが格納するログデータに基づいて、ログデータに含まれるIPアドレスをクラスタに分類する(S11)。
IPアドレスをクラスタに分類すると、CPU11は、分類したクラスタからマッチング推定に使用するクラスタを選択する(S12)。
【0094】
クラスタを選択すると、CPU11は、選択されたクラスタのIPアドレスに対応するログデータを取得する(S13)。
ログデータを取得すると、CPU11は、マッチングを推定する(S14)。
【0095】
マッチングを推定すると、CPU11は、動作を終了する。
【0096】
CPU11は、たとえば、サーバ2へ、マッチングされた2つの端末IDを送信する。
【0097】
サーバ2は、マッチングされた2つの端末IDを受信すると、不揮発性メモリなどに格納する。
サーバ2は、マッチングされた2つの端末IDが示す端末に対して関連する広告を提供することができる。
【0098】
以下、サーバ2がマッチングされた2つの端末に関連する広告を配信する動作例について説明する。ここでは、端末Aと端末Bとがマッチングされたものとする。
まず、サーバ2は、端末Aからの広告リクエストに応じて所定の広告に配信する。
端末Aに所定の広告を配信すると、サーバ2は、端末Bからの広告リクエストを受信するまで待機する。
【0099】
端末Bから広告リクエストを受信すると、サーバ2は、広告リクエストから端末Bの端末IDを抽出する。端末Bの端末IDを抽出すると、サーバ2は、抽出された端末IDにマッチングする端末IDを検索する。ここでは、サーバ2は、端末Aの端末IDを発見する。なお、サーバ2は、端末Bとマッチングされる端末をマッチングサーバ1から取得してもよい。
【0100】
端末Aの端末IDを発見すると、サーバ2は、端末Aに配信した広告に関連する広告を取得する。たとえば、端末Aがスマートフォンであり端末BがPCである場合、サーバ2は、端末Aへ配信したスマートフォン向けの広告に対応するPC向けの広告を取得する。なお、端末Aと端末Bとが共にPC(又はスマートフォン)である場合、サーバ2は、端末Aへ配信した広告と同じ広告を取得してもよい。
【0101】
広告を取得すると、サーバ2は、広告リクエストのレスポンスとして端末Bに取得された広告を配信する。広告を配信すると、サーバ2は、動作を終了する。
【0102】
以上のように構成されるマッチングサーバは、IPアドレスを分類することができる。また、マッチングサーバは、IPアドレスの使用用途を推定することができる。そのため、マッチングサーバは、IPアドレスの使用用途に応じて、使用者が端末を使用する状態を推定することができる。たとえば、マッチングサーバは、端末が使用するIPアドレスが家庭用ルータに使用されるIPアドレスである場合、端末の使用者が家庭で端末を使用していることを認識することができる。また、マッチングサーバは、端末が使用するIPアドレスが企業用ルータに使用されるIPアドレスである場合、端末の使用者が会社の休憩中などに端末を使用していることを認識することができる。また、マッチングサーバは、端末が使用するIPアドレスが携帯キャリアに使用されるIPアドレスである場合、端末の使用者が電車などで移動しながら端末を使用していることを認識することができる。
【0103】
たとえば、スマートデバイス向けサービス(たとえば、ゲームアプリなど)において、サービス提供者は、使用者の状況毎にサービスの使用時間(たとえば、プレイ時間)が変化するかを分析することができる。
【0104】
また、マッチングサーバは、同一ユーザの使用に属する複数の端末をマッチングすることができる。その結果、広告サーバは、マッチング結果に基づいて、同一ユーザが使用する異なる端末に関連する広告を配信することができる。たとえば、広告サーバは、スマートフォンに広告を配信した後に、スマートフォンの使用者のPCに対して関連する広告を配信することができる。その結果、広告サーバは、効果的に広告を配信し、使用者に効果的にコンバージョンを促すことができる。
【0105】
また、所定のサービス(ECサイトなど)を提供する管理サーバは、マッチング結果を用いて、端末を横断してパーソナライズ(たとえば、顧客ごとのデザイン又は商品の提示)を行うことができる。たとえば、管理サーバは、共通のIDでログインされなくとも、PCでのサービス使用に対して行われたパーソナライズと同様のパーソナライズをスマートフォンでのサービス使用に適用することができる。その結果、管理サーバは、使用者の体験を向上させることができる。
【0106】
また、マッチングサーバは、タイムスタンプに基づいて複数の端末をマッチングする。マッチングサーバは、所定の時間内に複数の端末が同一のアドレスを使用した場合に、複数の端末が同一ユーザの使用に属する可能性が高いと判定する。その結果、マッチングサーバは、当該時間の長さを調整することで、マッチング精度とボリュームとのバランスを調整することができる。
【0107】
また、マッチングサーバは、同一の時間帯に複数の端末が使用された場合に、複数の端末が同一ユーザの使用に属する可能性が高いと判定する。その結果、マッチングサーバは、ユーザが複数の端末を併用する時間帯が固定化している場合にマッチングの精度を向上させることができる。
【0108】
また、マッチングサーバは、重複使用時間が長い場合に複数の端末が同一ユーザの使用に属する可能性が高いと判定する。その結果、マッチングサーバは、ユーザが複数の端末を同時に使用する場合にマッチングの精度を向上させることができる。
【0109】
また、マッチングサーバは、異なる使用用途の各IPアドレスにおいて複数の端末のログデータがある場合に複数の端末が同一ユーザの使用に属する可能性が高いと判定する。その結果、マッチングサーバは、家庭と企業とで使用される複数の端末をマッチングさせることができる。従って、マッチングサーバは、ユーザの家族が使用する端末とマッチングされることを防止することができる。
【0110】
なお、本発明は、上記実施形態に限定されるものではなく、実施段階ではその要旨を逸脱しない範囲で種々に変形することが可能である。また、各実施形態は可能な限り適宜組み合わせて実施してもよく、その場合組み合わせた効果が得られる。更に、上記実施形態には種々の段階の発明が含まれており、開示される複数の構成要件における適当な組み合わせにより種々の発明が抽出され得る。例えば、実施形態に示される全構成要件からいくつかの構成要件が削除されても、発明が解決しようとする課題の欄で述べた課題が解決でき、発明の効果の欄で述べられている効果が得られる場合には、この構成要件が削除された構成が発明として抽出され得る。
以下に本件出願当初の特許請求の範囲に記載された発明を付記する。
[C1]
IPアドレスと端末IDとタイムスタンプとを対応づけた複数のログデータを取得する取得部と、
前記複数のログデータに基づいて同一のIPアドレスを用いる複数の端末を含む候補セットを特定し、前記IPアドレスに関する前記ログデータに基づいて前記候補セットが含む複数の端末の同一ユーザが使用している可能性を推定し、推定結果に基づき複数の端末をマッチングするマッチング部と、
を備える情報処理装置。
[C2]
前記マッチング部は、前記ログデータに基づいて前記候補セットに対して同一ユーザが使用している可能性を示すスコアを算出し、前記スコアに基づいて複数の端末をマッチングする、
前記C1に記載の情報処理装置。
[C3]
前記マッチング部は、所定の時間内に前記候補セットの複数の端末が同一のIPアドレスを使用した場合に、前記候補セットのスコアを加算する、
前記C2に記載の情報処理装置。
[C4]
前記マッチング部は、前記候補セットの複数の端末が同一の時間帯に使用される場合に、前記候補セットのスコアを加算する、
前記C2又は3に記載の情報処理装置。
[C5]
前記マッチング部は、前記候補セットの複数の端末が重複して使用される時間に基づいて、前記候補セットのスコアを加算する、
前記C2乃至4の何れか1項に記載の情報処理装置。
[C6]
IPアドレスの特徴に基づいて前記複数のログデータが含むIPアドレスを複数のクラスタに分類する分類部と、
前記複数のクラスタから第1のクラスタを選択する選択部と、
をさらに備え、
前記マッチング部は、前記選択部が選択した前記第1のクラスタのIPアドレスに関するログデータに基づいて同一のIPアドレスを用いる複数の端末を含む候補セットを特定する、
前記C1乃至5の何れか1項に記載の情報処理装置。
[C7]
前記分類部は、IPアドレスの使用頻度、密集度、継続使用率又は活動量の少なくとも1つに基づいて、IPアドレスをクラスタに分類する、
前記C6に記載の情報処理装置。
[C8]
前記分類部は、IPアドレスの使用用途を判定し、
前記マッチング部は、異なる使用用途のIPアドレスにおいて前記候補セットの複数の端末のログデータがある場合、前記候補セットのスコアを加算する、
前記C6又は7に記載の情報処理装置。
[C9]
IPアドレスと端末IDとタイムスタンプとを対応づけた複数のログデータを取得し、
前記複数のログデータに基づいて同一のIPアドレスを用いる複数の端末を含む候補セットを特定し、
前記IPアドレスに関する前記ログデータに基づいて前記候補セットが含む複数の端末の同一ユーザが使用している可能性を推定し、推定結果に基づき複数の端末をマッチングする、
情報処理方法。
[C10]
プロセッサに、IPアドレスと端末IDとタイムスタンプとを対応づけた複数のログデータを取得させるコードと、
前記プロセッサに、前記複数のログデータに基づいて同一のIPアドレスを用いる複数の端末を含む候補セットを特定させるコードと、
前記プロセッサに、前記IPアドレスに関する前記ログデータに基づいて前記候補セットが含む複数の端末の同一ユーザが使用している可能性を推定し、推定結果に基づき複数の端末をマッチングさせるコードと、
を備えるプログラム。
[C11]
IPアドレスと端末IDとタイムスタンプとを対応づけた複数のログデータを取得する取得部と、
前記複数のログデータに基づいて前記IPアドレスの使用頻度、密集度、継続使用率又は活動量の少なくとも1つの特徴を判定する特徴判定部と、
前記特徴に基づいて、前記IPアドレスの使用用途を判定する用途判定部と、
を備える情報処理装置。
[C12]
IPアドレスと端末IDとタイムスタンプとを対応づけた複数のログデータを取得し、
前記複数のログデータに基づいて前記IPアドレスの使用頻度、密集度、継続使用率又は活動量の少なくとも1つの特徴を判定し、
前記特徴に基づいて、前記IPアドレスの使用用途を判定する、
情報処理方法。
[C13]
プロセッサに、IPアドレスと端末IDとタイムスタンプとを対応づけた複数のログデータを取得させるコードと、
前記プロセッサに、前記複数のログデータに基づいて前記IPアドレスの使用頻度、密集度、継続使用率又は活動量の少なくとも1つの特徴を判定させるコードと、
前記プロセッサに、前記特徴に基づいて、前記IPアドレスの使用用途を判定させるコードと、
を備えるプログラム。
【解決手段】実施形態によれば、情報処理装置は、取得部と、マッチング部と、を備える。取得部は、IPアドレスと端末IDとタイムスタンプとを対応づけた複数のログデータを取得する。マッチング部は、前記複数のログデータに基づいて同一のIPアドレスを用いる複数の端末を含む候補セットを特定し、前記IPアドレスに関する前記ログデータに基づいて前記候補セットが含む複数の端末の同一ユーザが使用している可能性を推定し、推定結果に基づき複数の端末をマッチングする。