(58)【調査した分野】(Int.Cl.,DB名)
前記検出部によって前記クエリの分布に変化を生じさせる要因となったクエリが検出された場合に、当該要因となったクエリごとに生成されるフィルタであって、当該要因となったクエリを前記所定のサービス側が行う所定の処理の対象から除外するためのフィルタを生成する生成部、
をさらに備えることを特徴とする請求項2〜4のいずれか一つに記載の検出装置。
【発明を実施するための形態】
【0011】
以下に、本願に係る検出装置、検出方法及び検出プログラムを実施するための形態(以下、「実施形態」と呼ぶ)について図面を参照しつつ詳細に説明する。なお、この実施形態により本願に係る検出装置、検出方法及び検出プログラムが限定されるものではない。また、以下の各実施形態において同一の部位には同一の符号を付し、重複する説明は省略される。
【0012】
〔1.検出処理の一例〕
まず、
図1を用いて、実施形態に係る検出処理の一例について説明する。
図1は、実施形態に係る検出処理の一例を示す図である。
図1では、本願に係る検出装置に対応する広告装置100を例に挙げて、本願に係る検出処理の一形態について説明する。具体的には、
図1では、広告装置100が、所定のオンラインサービスを提供するサービス提供装置30や広告装置100に対して行われるアクセスに関して、異常が発生していることを検出する処理の一例について説明する。
【0013】
図1において、広告装置100は、図示しない通信ネットワーク(例えば、インターネット)を介して、端末装置10やサービス提供装置30と互いに通信可能に接続される。
【0014】
端末装置10は、所定のユーザによって利用される情報処理装置である。具体的には、端末装置10は、所定の情報をサービス提供装置30や広告装置100に送信したり、サービス提供装置30や広告装置100から送信される情報を受信したりするために利用される。
図1の例では、端末装置10は、ユーザU01によって利用される。なお、以下の説明において、端末装置10をユーザU01と表記する場合がある。すなわち、以下では、ユーザU01を端末装置10と読み替えることもできる。
【0015】
サービス提供装置30は、端末装置10からアクセスされた場合に、各種ウェブページを提供するサーバ装置である。言い換えれば、サービス提供装置30は、ウェブページを介して、各種オンラインサービスをユーザU01に提供する。
図1の例では、サービス提供装置30は、検索サービスを提供するサーバ装置であるものとする。
【0016】
例えば、サービス提供装置30は、検索に係るクエリ(以下、単に「クエリ」と表記する)を入力するための検索窓を有するウェブページをユーザU01に提供する。そして、サービス提供装置30は、端末装置10からクエリを受け付けた場合に、検索結果を表示するウェブページである検索結果ページを端末装置10に応答する。なお、クエリとは、端末装置10から送信される問い合わせ情報のことをいう。一般に、検索サービスにおけるクエリは、検索対象となる単語等の文字列を示すテキストデータによって構成される。
【0017】
サービス提供装置30から配信されるウェブページや、応答された検索結果ページには、広告コンテンツを表示するための広告枠が含まれる。そして、広告枠を含むウェブページには、広告枠に表示する広告コンテンツを取得するための広告取得命令が含まれる。例えば、ウェブページを形成するHTML(HyperText Markup Language)ファイル等には、広告装置100のURL等が広告取得命令として記述される。ウェブページを取得した端末装置10は、HTMLファイル等に記述されているURLにアクセスすることで、広告装置100から広告コンテンツの配信を受ける。
【0018】
広告装置100は、端末装置10に広告コンテンツを配信するサーバ装置である。具体的には、広告装置100は、端末装置10が受信したウェブページに含まれる広告取得命令を受信し、受信した広告取得命令に従って広告コンテンツを選択する。そして、広告装置100は、選択した広告コンテンツを端末装置10に配信する。
【0019】
広告装置100は、広告コンテンツの選択にあたって、ユーザU01が入力したクエリに関連する広告コンテンツを選択する場合がある。そして、広告装置100が選択した広告コンテンツは、ユーザU01に応答された検索結果ページに表示される。このように、クエリと連動して表示される広告コンテンツを検索連動型広告という。検索連動型広告によれば、ユーザU01が検索した事柄に関係する広告コンテンツがユーザU01の利用する端末装置10に表示されることになる。このように、広告装置100は、ユーザU01の興味関心に即した広告コンテンツを配信することで、配信する広告コンテンツの広告効果を向上させることができる。
【0020】
ここで、
図2を用いて、実施形態に係る広告表示処理の一例を示す。
図2は、実施形態に係る広告表示処理の一例を示す図(1)である。
図2では、広告装置100が検索結果ページに広告コンテンツを配信した場合に、端末装置10が表示する検索結果ページ50の一例を示している。
【0021】
検索結果ページ50では、ユーザU01が、検索サービスにおいて、「名刺」、「東京都」というクエリを入力した場合に表示される検索結果を示している。
図2に示すように、サービス提供装置30が提供する検索結果ページ50には、広告コンテンツを表示するための枠である広告枠52、54、56及び58が含まれる。そして、検索結果ページ50には、検索結果とともに、クエリと連動した広告コンテンツである広告コンテンツC10、C11、C12及びC13が表示される。ユーザU01は、表示された広告コンテンツを選択する操作(例えば、クリック操作)により、選択した広告コンテンツに関係するランディングページ(Landing Page)に表示を遷移させることができる。
【0022】
ところで、上記のような検索連動型広告では、サービスにおいて何らかの異常なアクセスが行われることにより、適切な広告配信が妨げられる場合がある。例えば、何らかの特殊な行動を行う傾向にある複数の所定のユーザが、特定のクエリを用いて、大量のアクセスをサービス提供装置30に繰り返し行うとする。この場合、所定のユーザには、特定のクエリに関連する広告コンテンツが大量に配信される。さらに、所定のユーザが広告コンテンツに対するクリック操作を繰り返した場合、広告コンテンツを入稿した広告主に多額の課金額が発生するため、広告主の広告料金を枯渇させてしまう場合がある。そうすると、広告料金が枯渇した広告コンテンツは、今後、広告主から入金があるまで配信対象から外れることになる。あるいは、所定のユーザが、広告コンテンツを大量に表示させるだけで、クリック操作を行わない場合、広告コンテンツのCTR(Click Through Rate)が減少する。そうすると、広告コンテンツの品質評価値が下がることになり、広告コンテンツが配信対象として選択される確率が減少する。いずれにせよ、広告主にとって望ましくない状況が起こり得る。また、所定のユーザ以外の一般ユーザにとっては、本来配信されるはずだった広告コンテンツの配信を受けることができなくなるという不都合が生じる可能性がある。
【0023】
ここで、
図3を用いて、実施形態に係る広告表示処理の一例を示す。
図3は、実施形態に係る広告表示処理の一例を示す図(2)である。
図3では、サービスに対する特殊な操作(アクセス)が繰り返され、検索結果ページ50と比較して広告コンテンツが表示されにくくなった検索結果ページ60の一例を示している。
【0024】
検索結果ページ60では、
図2と同様に、ユーザU01が、検索サービスにおいて、「名刺」、「東京都」というクエリを入力した場合に表示される検索結果を示している。
図3に示すように、検索結果ページ60では、検索結果ページ50において広告コンテンツC10が表示されていた広告枠52に対応する広告枠62に、広告コンテンツが表示されず、空欄になっている。同様に、検索結果ページ60では、広告枠64や、広告枠68も空欄となっており、広告枠66に広告コンテンツC20が一つだけ表示されるのみとなっている。これは、特殊な操作が繰り返されることで、「名刺」、「東京都」というクエリに関連する広告コンテンツC10等の品質評価値が下げられたり、広告料金が枯渇したりしたために、広告コンテンツC10等が表示されなくなったことを示している。このことは、所定のユーザが、サービス提供装置30が提供するサービスにおいて、「名刺」あるいは「東京都」というクエリを用いてアクセスや操作を繰り返したために、クエリに関係する事業を行う各広告主(例えば、名刺作成に関わる事業者)が入稿している広告コンテンツが表示されなくなったことを意味している。
【0025】
図3で示したように、特殊なアクセスは、サービス提供装置30や広告装置100が関連する広告配信処理に影響を及ぼす。ここで、上記のような手法を行う所定のユーザに対しては、アクセス解析等を行うことにより、所定のユーザを識別し、当該ユーザに対してアクセス制限をするなどの対策が考えられる。しかしながら、アクセス解析に用いられるIPアドレスや、Cookieや、UA(User Agent)等の情報をユーザ側で偽装された場合、所定のユーザを特定することができず、サーバ側がアクセス制限を行うことは困難である。
【0026】
そこで、広告装置100は、以下に説明する手法を用いることにより、ユーザ側からの特殊なアクセスの発生、すなわち、アクセスに関する異常を検出する。これにより、広告装置100は、特殊なアクセスによる広告コンテンツへの影響を遮断し、適切な広告配信を継続する。以下、
図1を用いて、広告装置100が実行する処理を流れに沿って説明する。なお、
図1の例では、ユーザU01が特殊なアクセスを行うユーザであり、端末装置10が特殊なアクセスに用いられる端末であるものとして説明する。
【0027】
まず、端末装置10を利用するユーザU01は、特定のクエリを用いて、サービス提供装置30が提供する検索サービスを利用する(ステップS11)。ここで、特定のクエリとは、特定の広告コンテンツを引き当てるために利用される特定の単語(文字列)をいう。なお、特定のクエリは、1つの単語でもよいし、特定の広告コンテンツを引き当てるために利用される特定の単語と他の単語を組み合わせたような複数の単語から構成されるものであってもよい。
【0028】
サービス提供装置30は、受け付けたクエリに対応する検索結果ページを端末装置10に送信する(ステップS12)。また、サービス提供装置30は、受け付けたクエリに関する情報を広告装置100に送信する(ステップS13)。クエリに関する情報とは、例えば、サービス提供装置30に対する端末装置10のアクセスログ(以下、単に「ログ」と表記する場合がある)である。
【0029】
端末装置10は、検索結果ページに含まれる広告取得命令に従い、広告コンテンツの配信の要求を広告装置100に送信する(ステップS14)。なお、端末装置10がサービス提供装置30に送信したクエリに関する情報は、ステップS14のタイミングで、端末装置10から広告装置100に送信されてもよい。
【0030】
広告装置100は、広告コンテンツの配信の要求を受信した場合、クエリに対応する広告コンテンツを選択する(ステップS15)。例えば、広告装置100は、広告コンテンツに予め設定されたキーワードとクエリとが一致する場合に、当該広告コンテンツを端末装置10に配信する広告コンテンツとして選択する。広告装置100は、選択した広告コンテンツを端末装置10に配信する(ステップS16)。
【0031】
端末装置10は、広告コンテンツを受信し、広告コンテンツと検索結果とが含まれるウェブページを表示する。そして、ユーザU01は、表示された広告コンテンツに対してクリック等の選択操作を行う。端末装置10は、ユーザU01によって行われた、広告コンテンツに対するクリック操作に関する情報を広告装置100に送信する(ステップS17)。例えば、端末装置10は、クリック操作が行われる度に、広告コンテンツをクリックしたことを示す情報を広告装置100に送信する。
【0032】
なお、ユーザU01は、アクセスに際して、端末装置10に表示されたウェブページ内の広告コンテンツを実際にクリックするのではなく、任意の手法でクリックが行われたことを示す情報のみを発生させ、発生させた情報を広告装置100に送信してもよい。例えば、ユーザU01は、所定のスクリプトやプログラムを利用し、特定のクエリを送信する処理や、特定のクエリに基づいて配信された広告コンテンツをクリックする処理等を自動的に発生させるようにしてもよい。これにより、ユーザU01は、サービスに異常を発生させるようなクリック操作に関する情報等を短時間に大量に発生させる。
【0033】
また、ユーザU01は、ステップS11、S14、S17の各ステップにおいて、自身のIPアドレスや、Cookieや、端末固有の識別情報を含むUAなどの情報を偽装する場合がある。すなわち、ユーザU01は、ステップS11〜S17に示される処理を繰り返す場合に、一連の繰り返しの処理ごとに、異なるIPアドレスや、異なるCookieや、異なるUAを広告装置100やサービス提供装置30に送信する。このため、広告装置100やサービス提供装置30側は、ステップS11〜S17に示される処理が繰り返された場合であっても、それらの処理が特定のユーザによって行われたものか、多数のユーザが個別に行っているかを判別することは困難である。すなわち、広告装置100やサービス提供装置30側は、送信元情報に基づいて、特定の送信元からのアクセスを遮断するといった対処を行うことが困難である。
【0034】
そこで、広告装置100は、IPアドレスやCookie等の識別情報を用いたアクセス解析ではなく、クエリを用いた解析を行うことにより、特殊なアクセスを検出する手法を採用する。詳細は後述するが、広告装置100は、所定の式を用いて、所定のサービスに送信される各クエリを数値化する(ステップS18)。具体的には、広告装置100は、サービス提供装置30に送信される各クエリの出現数に基づいて、各クエリを数値化する。
【0035】
そして、広告装置100は、時系列における、サービスに送信される各クエリに対応する数値の変化を観測する。そして、広告装置100は、観測を通じて、特定のクエリに関する挙動に異常が検出されたか否かを判定する(ステップS19)。特定のクエリに関する挙動の異常とは、例えば、ある時系列において、所定の時間幅における特定のクエリの出現数が直前の時間幅における特定のクエリの出現数と比較して、極めて増大した状況(例えば、クエリの出現数が10倍に増大した状況)などをいう。
【0036】
そして、広告装置100は、特定のクエリの挙動が異常であるか否かを判定することにより、サービス提供装置30に対する異常が発生していることを検出する。サービス提供装置30に対する異常とは、上述のように、サービス提供装置30に対して何らかの共通したクエリが大量に送信されるような状況である。具体的には、サービス提供装置30に対する異常とは、特定のクエリに関するアクセスが短時間に大量に行われ、サービス提供装置30が提供する検索結果ページにおいて広告コンテンツが表示させられなくなるなど、通常時とは異なるインプレッション(impression)やクリックが行われている状況である。
【0037】
広告装置100は、特定のクエリに関する挙動に異常が検出されないと判定する場合には(ステップS19;No)、時系列における各クエリに対応する数値の変化を観測し続ける。一方、広告装置100は、特定のクエリに関する挙動に異常が検出されたと判定する場合(ステップS19;Yes)、すなわち、サービス提供装置30に異常が発生したことを検出した場合には、特定のクエリに対応するフィルタを生成する(ステップS20)。
【0038】
広告装置100が生成するフィルタは、例えば、所定の時間、特定のクエリを送信してきた端末装置10が実行するクリック操作を無効クリックと判定したり、特定のクエリを送信してくる端末装置10のアクセスを制限したりする効果を生じさせる。すなわち、広告装置100は、フィルタを適用させることにより、特定のクエリを用いて大量のアクセスを行い、繰り返し同じ操作を行うような特殊な操作を行う端末装置10を排除する。これにより、広告装置100は、特殊なアクセスによる影響を抑制することができるので、適切な広告コンテンツの配信処理を継続することができる。
【0039】
上述してきたように、実施形態に係る広告装置100は、サービス提供装置30が提供する検索サービスに対するアクセスログに含まれるクエリを取得する。また、広告装置100は、取得されたクエリの時系列上の変化量に基づいて、クエリに関する異常の発生を判定する。そして、広告装置100は、クエリに関する異常が発生したと判定された場合に、所定のサービスの利用に関する異常を検出する。
【0040】
このように、実施形態に係る広告装置100は、サービスに対して異常なアクセスが行われていると想定される場合に、不確定な要素の多い送信元情報(IPアドレスやCookieなど)ではなく、端末装置10が送信するクエリを取得する。そして、広告装置100は、サービスにおける各クエリの出現数を数値化することで、各クエリの挙動を観測する。そして、広告装置100は、短時間に特定のクエリの出現が増大するなどの変化が生じたことを検出することで、サービスに異常が発生したことを検出する。すなわち、広告装置100は、送信元情報によらずに、サービスの異常を検出し、特殊な操作を遮断することができる。このように、広告装置100は、送信元情報に特徴を有しないアクセスログに基づいて、所定のサービス等で発生する異常を検出することができる。
【0041】
〔2.検出システムの構成〕
次に、
図4を用いて、実施形態に係る広告装置100が含まれる検出システム1の構成について説明する。
図4は、実施形態に係る検出システム1の構成例を示す図である。
図4に例示するように、実施形態に係る検出システム1には、端末装置10と、広告主端末20と、サービス提供装置30と、広告装置100とが含まれる。これらの各種装置は、ネットワークNを介して、有線又は無線により通信可能に接続される。なお、
図4に示した検出システム1には、複数台の端末装置10や、複数台の広告主端末20や、複数台のサービス提供装置30が含まれてもよい。
【0042】
端末装置10は、例えば、デスクトップ型PC(Personal Computer)や、ノート型PCや、タブレット型端末や、携帯電話機、PDA(Personal Digital Assistant)等の情報処理装置である。例えば、端末装置10は、ユーザによる操作に従って、サービス提供装置30にアクセスすることで、サービス提供装置30から提供されるウェブページを取得する。そして、端末装置10は、取得したウェブページを表示装置(例えば、液晶ディスプレイ)に表示する。
【0043】
広告主端末20は、広告装置100に広告配信を依頼する広告主によって利用される情報処理装置である。広告主端末20は、広告主による操作に従って、広告装置100に広告コンテンツを入稿する。
【0044】
なお、広告主は、広告主端末20を用いて、広告装置100に広告コンテンツを入稿せずに、かかる入稿等を代理店に依頼する場合もある。この場合、広告装置100に広告コンテンツを入稿等するのは代理店となる。以下では、「広告主」といった表記は、広告主だけでなく代理店を含む概念であり、「広告主端末」といった表記は、広告主端末だけでなく代理店によって利用される代理店装置を含む概念であるものとする。
【0045】
サービス提供装置30は、端末装置10からアクセスされた場合に、各種ウェブページを提供するサーバ装置である。サービス提供装置30は、例えば、ウェブページ検索サイト、ニュースサイト、天気予報サイト、ショッピングサイト、ファイナンス(株価)サイト、路線検索サイト、地図提供サイト、旅行サイト、飲食店紹介サイト、ウェブブログなどに関する各種ウェブページを提供する。
【0046】
上述のように、サービス提供装置30によって配信されるウェブページには、広告コンテンツを表示するための広告枠が含まれる。そして、広告枠を含むウェブページには、広告枠に表示する広告コンテンツを取得するための広告取得命令が含まれる。例えば、ウェブページを形成するHTMLファイル等には、広告装置100のURL等が広告取得命令として記述される。ウェブページを取得した端末装置10は、HTMLファイル等に記述されているURLにアクセスすることで、広告装置100から広告コンテンツの配信を受ける。
【0047】
広告装置100は、端末装置10に広告コンテンツを配信するサーバ装置である。また、広告装置100は、端末装置10から送信されるクエリに基づいて、サービス提供装置30や広告装置100に対する特殊なアクセスを検出することで、サービス提供装置30や広告装置100に関する異常を検出する。
【0048】
〔3.広告装置の構成〕
次に、
図5を用いて、実施形態に係る広告装置100の構成について説明する。
図5は、実施形態に係る広告装置100の構成例を示す図である。
図5に示すように、広告装置100は、通信部110と、記憶部120と、制御部130とを有する。なお、広告装置100は、広告装置100を利用する管理者等から各種操作を受け付ける入力部(例えば、キーボードやマウス等)や、各種情報を表示するための表示部(例えば、液晶ディスプレイ等)を有してもよい。
【0049】
(通信部110について)
通信部110は、例えば、NIC(Network Interface Card)等によって実現される。かかる通信部110は、ネットワークNと有線又は無線で接続され、ネットワークNを介して、端末装置10や、広告主端末20や、サービス提供装置30との間で情報の送受信を行う。
【0050】
(記憶部120について)
記憶部120は、例えば、RAM(Random Access Memory)、フラッシュメモリ(Flash Memory)等の半導体メモリ素子、または、ハードディスク、光ディスク等の記憶装置によって実現される。記憶部120は、広告情報記憶部121と、アクセスログ記憶部122とを有する。
【0051】
(広告情報記憶部121について)
広告情報記憶部121は、広告主端末20から入稿される広告コンテンツに関する情報を記憶する。ここで、
図6に、実施形態に係る広告情報記憶部121の一例を示す。
図6は、実施形態に係る広告情報記憶部121の一例を示す図である。
図6に示した例では、広告情報記憶部121は、「広告コンテンツID」、「広告主ID」、「キーワード」、「CTR」、「入札額」といった項目を有する。
【0052】
「広告コンテンツID」は、広告コンテンツを識別するための識別情報を示す。「広告主ID」は、広告主又は広告主端末20を識別するための識別情報を示す。なお、以下では、
図6に示した識別情報を参照符号として用いる場合がある。例えば、広告コンテンツID「C10」によって識別される広告コンテンツを「広告コンテンツC10」と、広告主ID「B10」によって識別される広告主を「広告主B10」と表記する場合がある。
【0053】
「キーワード」は、広告コンテンツとクエリとの一致の判定に用いられるキーワードを示す。例えば、広告コンテンツに設定されたキーワードとクエリが一致することにより、クエリを送信した端末装置10に、当該クエリと一致するキーワードが設定された広告コンテンツが配信され易くなる。キーワードは、例えば、広告コンテンツを入稿する広告主によって任意に設定される。
【0054】
「CTR」は、広告効果を示す指標値の1つであるCTRの値を示す。CTRは、広告コンテンツがクリックされた回数を広告コンテンツが表示された回数で除することで算出される。
【0055】
「入札額」は、広告コンテンツの配信に対して広告主が入札する際の入札額を示す。一般に、入札額が高いほど、広告コンテンツの配信における競争(ビッティング)に勝つ可能性が高くなるため、広告コンテンツの配信数が増加する。
【0056】
すなわち、
図6に示す一例では、広告コンテンツID「C10」によって識別される広告コンテンツC10は、広告主ID「B10」によって識別される広告主B10によって入稿されていることを示している。また、広告コンテンツC10には、キーワードとして、「名刺」と「東京都」が設定されていることを示している。また、広告コンテンツC10は、CTRが「0.02」であり、入札額が「100」円であることを示している。
【0057】
なお、実際に端末装置10に配信される広告コンテンツのデータ(テキストデータや、動画コンテンツや静止画コンテンツ)は、広告装置100とは別に備えられた所定の広告配信サーバに記憶されてもよい。この場合、広告装置100は、広告情報記憶部121に記憶された広告コンテンツIDに基づいて、外部の広告配信サーバに記憶された広告コンテンツを特定する。そして、広告装置100は、広告配信サーバに対して、特定された広告コンテンツを端末装置10に対して配信するよう制御する。
【0058】
また、広告情報記憶部121には、CTR以外の指標値であるCVR(Conversion Rate)や、eCPM(effective Cost Per Mill)等が記憶されてもよい。
【0059】
また、広告情報記憶部121には、広告コンテンツごとの品質評価値のような変数が記憶されてもよい。例えば、品質評価値は、CTR等の広告効果から算出される広告コンテンツの評価値を示す。例えば、品質評価値が高い広告コンテンツは、ユーザに配信される広告コンテンツとして選択され易くなる。一方、品質評価値が低い広告コンテンツは、ユーザに配信される広告コンテンツとして選択されにくくなる。品質評価値は、配信される広告コンテンツのCTR等によって、リアルタイムに変動されてもよい。
【0060】
(アクセスログ記憶部122について)
アクセスログ記憶部122は、端末装置10がサービス提供装置30にアクセスした際や、ユーザU01が配信された広告コンテンツをクリックした際に送信される、端末装置10のアクセスログを記憶する。
【0061】
ここで、
図7に、実施形態に係るアクセスログ記憶部122の一例を示す。
図7は、実施形態に係るアクセスログ記憶部122の一例を示す図である。なお、ユーザU01が広告コンテンツをクリックしない場合のアクセスログも広告装置100に取得されるが、
図7では、説明の簡略化のため、ユーザU01が広告コンテンツをクリックした場合に取得されるアクセスログを例示するものとする。
図7に示した例では、アクセスログ記憶部122は、「アクセスログID」、「クリック日時」、「Cookie」、「Cookie発行日」、「クエリ」、「IPアドレス」、「UA」といった項目を有する。
【0062】
「アクセスログID」は、アクセスログを識別するための識別情報を示す。「クリック日時」は、ユーザU01によって任意の広告コンテンツがクリックされた日時を示す。なお、以下では、
図7に示した識別情報を参照符号として用いる場合がある。例えば、アクセスログID「L01」によって識別されるアクセスログを「アクセスログL01」と表記する場合がある。
【0063】
「Cookie」は、ユーザU01がサービス提供装置30の検索サービスを利用する際に、サービス提供装置30が発行するCookieを示す。なお、
図7に示した例では、Cookieは、「CK01」といった概念で表記しているが、実際には、任意の英数字の組合せなどで示される情報がアクセスログ記憶部122に記憶される。「Cookie発行日」は、Cookieが発行された日時を示す。
【0064】
「クエリ」は、端末装置10から送信されたクエリを示す。クエリは、一つの単語に限られず、複数の単語であったり、複数の単語が組み合わさった文であったりしてもよい。
【0065】
「IPアドレス」は、端末装置10のIPアドレスを示す。なお、
図7に示した例では、IPアドレスは、「IP01」といった概念で表記しているが、実際には、任意の数字の組合せで示される情報がアクセスログ記憶部122に記憶される。
【0066】
「UA」は、端末装置10から送信されるUAを示す。なお、
図7に示した例では、UAは、「UA01」といった概念で表記しているが、実際には、端末装置10で使用されているブラウザ名や、OS(Operating System)名などの組合せで示される情報がアクセスログ記憶部122に記憶される。
【0067】
すなわち、
図7に示す一例では、アクセスログID「L01」によって識別されるアクセスログL01は、「2016年2月20日 10時00分03秒」に広告コンテンツがクリックされたことで取得されたアクセスログであることを示している。また、アクセスログL01に対応するCookieは「CK01」であり、そのCookieは、「2016年2月20日 9時00分00秒」に発行されたことを示している。また、アクセスログL01に対応するクエリは、「名刺」と「東京都」であることを示している。また、アクセスログL01に対応する端末装置10に対応するIPアドレスは「IP01」であり、UAは「UA01」であることを示している。
【0068】
なお、アクセスログ記憶部122には、上記の情報以外が記憶されてもよい。例えば、アクセスログ記憶部122には、IPアドレスから割り出される情報として、端末装置10が所在する地域情報や、国情報が記憶されてもよい。
【0069】
(制御部130について)
制御部130は、コントローラ(controller)であり、例えば、CPU(Central Processing Unit)やMPU(Micro Processing Unit)等によって、広告装置100内部の記憶装置に記憶されている各種プログラム(検出プログラムの一例に相当)がRAMを作業領域として実行されることにより実現される。また、制御部130は、コントローラ(controller)であり、例えば、ASIC(Application Specific Integrated Circuit)やFPGA(Field Programmable Gate Array)等の集積回路により実現される。
【0070】
図5に示すように、制御部130は、受信部131と、取得部132と、検出部133と、算出部134と、判定部135と、生成部136と、選択部137と、配信部138とを有し、以下に説明する情報処理の機能や作用を実現または実行する。なお、制御部130の内部構成は、
図5に示した構成に限られず、後述する情報処理を行う構成であれば他の構成であってもよい。また、制御部130が有する各処理部の接続関係は、
図5に示した接続関係に限られず、他の接続関係であってもよい。
【0071】
(受信部131について)
受信部131は、任意の装置から送信される各種情報を受信する。例えば、受信部131は、広告主端末20から送信される要求であって、広告コンテンツの入稿の要求を受信する。また、受信部131は、端末装置10から送信される要求であって、広告コンテンツの配信の要求を受信する。具体的には、受信部131は、ウェブページを表示する端末装置10から送信される要求であって、ウェブページに含まれる広告枠で表示する広告コンテンツの配信に関する要求を受信する。また、受信部131は、サービス提供装置30から送信される情報であって、サービスに対するアクセスに関する情報を受信する。
【0072】
(取得部132について)
取得部132は、各種情報を取得する。例えば、取得部132は、所定のサービスに対するアクセスログを取得するとともに、アクセスログに含まれるクエリを取得する。具体的には、取得部132は、サービス提供装置30が提供する検索サービスにおいて、端末装置10がアクセスしたログであるアクセスログを取得する。なお、アクセスログとは、
図7で示したように、必ずしも端末装置10がサービス提供装置30にアクセスしたタイミングで取得されるログに限られず、端末装置10が広告コンテンツを受信したタイミング等で取得されるログも含む概念である。すなわち、アクセスログには、端末装置10に関する行動ログが含まれてもよい。
【0073】
例えば、取得部132は、検索サービスの利用を契機としてユーザU01に配信された広告コンテンツに対して、ユーザU01が広告コンテンツを選択する操作を行った情報である操作情報を含むアクセスログを取得してもよい。操作情報とは、例えば、ユーザU01が端末装置10において広告コンテンツをクリックしたり、タップしたりした操作に関する情報である。
【0074】
また、取得部132は、広告コンテンツに関する情報を取得する。具体的には、取得部132は、受信部131によって広告コンテンツの入稿の要求が受信された場合に、当該要求に係る広告コンテンツに関する情報を取得する。また、取得部132は、配信された広告コンテンツが端末装置10に表示された回数(インプレッション数)等を取得してもよい。取得部132は、取得した情報を広告情報記憶部121に適宜格納する。
【0075】
(検出部133について)
検出部133は、取得部132によって取得されたクエリの時系列上の変化量に基づいて、所定のサービスの利用に関する異常を検出する。具体的には、検出部133は、後述する算出部134が算出する特徴量や、判定部135が判定した判定結果に基づいて、サービス提供装置30が提供する検索サービスの利用に関する異常を検出する。
【0076】
例えば、検出部133は、判定部135によって、検索サービスにおけるクエリの分布に所定の変化が生じたと判定される場合に、検索サービスにおけるクエリの分布に変化を生じさせる要因となったクエリを検出するとともに、検索サービスの利用に関する異常を検出する。ここで、サービスにおけるクエリの分布とは、サービスの利用においてユーザから送信されるクエリの種類や、各クエリの出現数(送信された数)に関する情報をいう。すなわち、サービスにおけるクエリの分布の異常とは、時系列で比較した場合に、直前の所定幅の時間内の特定のクエリの出現数と比較して、特定のクエリの出現数が極めて増加する状況などをいう。
【0077】
検出部133は、上記のように、検索サービスにおけるクエリの時系列上の変化量に基づいて検出処理を行う。この場合、検出部133は、クエリの時系列上の変化量を求めるために、所定の算出処理及び判定処理を行う。具体的には、検索サービスの利用に関する異常を検出する処理の一部として、算出部134が所定の算出処理を行い、判定部135が所定の判定処理を行う。
【0078】
(算出部134について)
算出部134は、取得部132によって取得されたクエリを数値化するための算出処理を行う。上記のように、検出部133は、サービスにおけるクエリの時系列の変化量に基づいて、サービスに関する異常の検出を行う。このため、算出部134は、時系列に沿って、サービスにおけるクエリの出現数の変化を追跡することができるよう、クエリごとに所定の特徴量を算出する。なお、後述する判定部135は、算出部134が算出する特徴量を用いて、判定処理を行う。
【0079】
ここで、判定部135は、ある時系列データにおける変化点を検出するアルゴリズム等を用いて、判定処理を行う。一例として、判定部135は、自己回帰モデルの2段階学習により変化点を検出するChangeFinderなど、既知のアルゴリズムを用いてもよい。このようなアルゴリズムによれば、判定部135は、予め定常状態を設定することなく、時系列において、入力に何らかの変化が生じた場合に変化点を検出することができる。
【0080】
算出部134は、上記のようなアルゴリズムに対する入力を算出する。具体的には、算出部134は、クエリの特徴量を所定の式によって数値化する。そして、判定部135は、算出部134によって算出された特徴量を入力とすることにより、サービスにおけるクエリの変化を判定することができる。
【0081】
なお、算出部134は、処理に際して、クエリを要素ごとに分解し、クエリを構成する要素を処理対象とする。すなわち、クエリは、一つの単語のみならず、複数の単語や、文で表現される場合もある。このような場合、検出部133は、例えば形態素解析等によって、予めクエリを所定の文字列から構成される要素に分割する。この点について、
図8を用いて説明する。
【0082】
図8は、実施形態に係る検出処理の一例を説明する図である。
図8に示すように、表70には、
図7で示したアクセスログL01〜L06に含まれるクエリが格納される。そして、算出部134は、形態素解析により、表70に格納されたクエリを要素(品詞)に分解する処理を行う(ステップS30)。例えば、算出部134は、「名刺」、「東京都」など、各単語として扱うことのできるクエリに関しては、単語毎に単語の出現数を計数する。また、算出部134は、「名刺の販売」など、複数の単語が連なったクエリに関しては、形態素解析により、「名刺」、「販売」を各単語として抽出する。そして、算出部134は、「名刺」、「販売」といった各単語の出現数を計数する。
図8に示すように、表80には、算出部134がクエリを各単語に分解し、各単語の出現数を計数した結果が格納される。算出部134は、適宜、各クエリについて、クエリを構成する要素に分解する処理を行うものとする。
【0083】
アルゴリズムに対する入力値の算出の一例として、算出部134は、下記式(1)を用いて、特徴量fを算出する。
【0085】
上記式(1)において、xは、クエリの時系列データ(x=(q
1、q
2、・・・、q
n))を示す(qはクエリを示す。例えば、q
1は、特定のクエリが、ある時系列において出現した回数を示す)。また、上記式(1)において、特定のクエリqの品詞分解後の要素の集合を、「(w
1、w
2、・・・、w
m)」とする。また、上記式(1)において、クエリqの品詞分解後の要素の数を│w│とする。時系列データにおける要素の出現頻度を「freq_w」とする。αは、所定の変数を示し、時系列データ中に当該クエリと全く同じクエリが存在する場合は「1」の値をとり、存在しない場合は「0」の値をとる。上記数を用いて、算出部134は、特徴量fを算出する。
【0086】
特徴量fは、所定のサービスにおいて、クエリの生起に関するエントロピー(entropy)のような性質を有する。特徴量fは、クエリに含まれる要素の出現頻度が高くなるほど、低い値が算出される。例えば、特徴量fは、特定の時刻から異常に出現頻度が増える要素を含むクエリに関して、他のクエリと比較して、値が小さく算出される。このため、所定のサービスにおいて特定のクエリの割合が増えることで、所定のサービス内の各クエリに対応する特徴量fの値の分布に変動が生じることが想定される。そして、後述する判定部135は、例えば変化点を検出するアルゴリズムを用いて特徴量fの値の分布の変動を判定することにより、所定のサービスに送信されるクエリに異常が発生したか否かを判定する。
【0087】
なお、上記で示した算出処理は一例であり、算出部134は、他の既知の種々の手法を用いて、クエリを数値化する処理を行ってもよい。この場合、判定部135は、数値化されたクエリの時系列上の変化を参照することにより、所定のサービスにおけるクエリの分布に変化が生じたか否かを判定する。また、算出部134は、例えば、上記の算出処理にあたって、処理の対象とするログを必ずしもクエリごとに分類することを要さない。すなわち、算出部134は、所定のサービスに関する一定時間のログを集計し、集計したデータを処理対象とすることで、上記のような特徴量を算出するようにしてもよい。
【0088】
(判定部135について)
判定部135は、クエリの時系列上の変化量に基づいて、所定のサービス全体における各クエリの出現量の分布に所定の変化が生じたか否かを判定する。具体的には、判定部135は、クエリを所定の要素に分解し、当該所定の要素ごとの時系列上の変化量に基づいて、所定のサービスにおける所定の要素の分布に所定の変化が生じたか否かを判定する。
【0089】
例えば、判定部135は、上述した算出部134が算出する特徴量fと、各データの変化点を検出する所定のアルゴリズムを用いて、所定のサービスにおけるクエリの分布に所定の変化が生じたか否かを判定する。
【0090】
なお、判定部135は、検索サービスに対するアクセスログのうち、ユーザが広告コンテンツを選択する操作を行った操作情報を含むアクセスログを処理対象とするようにしてもよい。すなわち、検索サービスにおいて、クエリが送信されたことを示すアクセスログは、膨大なサンプル数になることが想定される。判定部135は、広告コンテンツをクリックしたユーザから取得されるアクセスログのみを処理対象とすることによって、判定対象とするアクセスログを絞り込むことができる。これにより、判定部135は、処理を効率化することができ、処理の高速化を図ることができる。
【0091】
(生成部136について)
生成部136は、検出部133によってクエリの分布に変化を生じさせる要因となったクエリが検出された場合に、当該要因となったクエリごとにフィルタを生成する。具体的には、生成部136は、異常の要因となったクエリごとに、当該クエリを所定のサービス側が行う所定の処理の対象から除外するためのフィルタを生成する。
【0092】
例えば、生成部136が生成するフィルタは、特定のクエリを送信した端末装置10が実行するクリック操作を無効クリックと判定したり、検索サービスに対して特定のクエリを送信する端末装置10のアクセスを制限したりする効果を生じさせる。
【0093】
また、生成部136は、生成するフィルタに有効時間を設けるようにしてもよい。例えば、上記説明してきたようなサービスに対する異常なアクセスは、短時間に集中して行われることが想定される。このため、生成部136は、サービスに異常が発生したと検出されてから、所定時間だけ有効となるようなフィルタを生成する。これにより、生成部136は、効率よくサービスへの異常なアクセスを排除することができるとともに、長時間にわたりサービスに影響を及ぼすことがなく、一般ユーザのユーザビリティを低下させることを防止できる。
【0094】
また、生成部136は、フィルタの生成に関して、ホワイトリストを利用するようにしてもよい。例えば、検出部133による検出処理では、一時的に流行した単語に関するクエリなどが検出されることも想定される。このため、生成部136は、分布に異常を生じさせたクエリであってもフィルタを適用しないクエリ(例えば、クエリを構成する各単語などの要素)を予め設定したホワイトリストを参照する。このようなホワイトリストは、例えば、広告装置100やサービス提供装置30の管理者によって作成されてもよいし、検索サービスで常に頻出する単語などを抽出し、自動的に作成されてもよい。ホワイトリストには、例えば、ネットワーク上で比較的検索されやすいポータルサイトの名称や、所定の検索サービス以外でも頻繁にネットワーク上に出現する流行語などが含まれる。
【0095】
なお、ホワイトリストが利用される場合、上述した検出部133は、異常の要因として検出されたクエリが、ホワイトリストに含まれるか否かを判定してもよい。そして、検出部133は、クエリがホワイトリストに含まれない場合に、サービスの利用に関して異常を検出する。すなわち、ホワイトリストは、フィルタの生成処理の判定基準として用いられてもよいし、サービスに関する異常の検出処理の判定基準として用いられてもよい。
【0096】
すなわち、生成部136は、予め設定されるホワイトリストに含まれるクエリと分布に変化を生じさせる要因として検出されたクエリとが一致しない場合に、当該クエリに関するフィルタを生成する。一方、生成部136は、ホワイトリストに含まれるクエリと分布に変化を生じさせる要因として検出されたクエリとが一致する場合には、当該クエリに関するフィルタを生成しない。これにより、生成部136は、異常なアクセスによる影響を効率良く排除することができる。
【0097】
(選択部137について)
選択部137は、端末装置10に配信する広告コンテンツを選択する。例えば、選択部137は、検索サービスに送信されたクエリと、広告コンテンツに設定されているキーワードとが一致する場合に、当該広告コンテンツを端末装置10に配信する広告コンテンツとして選択する。なお、選択部137は、広告コンテンツの入札額や、広告コンテンツを配信するウェブページの情報や、配信先のユーザ情報等に基づいて、広告コンテンツを選択するようにしてもよい。
【0098】
(配信部138について)
配信部138は、選択部137によって選択された広告コンテンツを端末装置10に配信する。なお、上述のように、実際に配信される広告コンテンツのデータ自体は、広告装置100に係る広告情報記憶部121内に記憶されていなくてもよい。例えば、配信部138は、外部に備えられた所定の広告配信サーバに広告配信の制御命令を送信することで、選択部137が選択した広告コンテンツを端末装置10に配信させてもよい。
【0099】
〔4.処理手順〕
次に、
図9及び
図10を用いて、実施形態に係る広告装置100による処理の手順について説明する。まず、
図9を用いて、広告装置100が、所定のサービスの利用に関する異常を検出する処理手順を説明する。
図9は、実施形態に係る広告装置100による処理手順を示すフローチャート(1)である。
【0100】
図9に示すように、広告装置100に係る取得部132は、アクセスログに含まれるクエリに関する情報を取得したか否かを判定する(ステップS101)。取得部132は、クエリに関する情報を取得していない場合は(ステップS101;No)、取得するまで待機する。
【0101】
一方、取得部132がクエリに関する情報を取得した場合には(ステップS101;Yes)、選択部137がクエリに対応する広告コンテンツを選択し、配信部138は、クエリに対応する広告コンテンツを、クエリの送信元である端末装置10に配信する(ステップS102)。
【0102】
続けて、取得部132は、端末装置10から、広告コンテンツに対するクリック操作が行われたログを取得する(ステップS103)。そして、算出部134は、クリック操作が行われたログに含まれる各クエリの特徴量を算出する(ステップS104)。
【0103】
そして、判定部135は、特定のクエリに関する挙動に異常が検出されたか否かを判定する(ステップS105)。異常が検出されない場合には(ステップS105;No)、取得部132は、再び、アクセスログに含まれるクエリに関する情報を取得するまで待機する。
【0104】
一方、異常が検出された場合には(ステップS105;Yes)、検出部133は、特定のクエリがホワイトリストに含まれるか否かを判定する(ステップS106)。特定のクエリがホワイトリストに含まれる場合には(ステップS106;Yes)、検出部133は、サービスに異常を検出することなく、処理をステップS101へ返す。
【0105】
一方、特定のクエリがホワイトリストに含まれない場合には(ステップS106;No)、検出部133は、サービスに関する異常を検出する(ステップS107)。その後、広告装置100の実行する処理は、フィルタ生成処理へと移行する。
【0106】
次に、
図10を用いて、広告装置100が、所定のサービスの利用に関する異常を検出した後の処理手順を説明する。
図10は、実施形態に係る広告装置100による処理手順を示すフローチャート(2)である。
【0107】
図10に示すように、検出部133は、サービスに関する異常の要因となったクエリを検出する(ステップS201)。そして、生成部136は、検出されたクエリに対応するフィルタを生成する(ステップS202)。
【0108】
その後、生成部136は、フィルタの有効時間が経過したか否かを判定する(ステップS203)。フィルタの有効時間が経過していない場合(ステップS203;No)、生成部136は、フィルタを有効なまま持続させる。
【0109】
一方、フィルタの有効時間が経過した場合(ステップS203;Yes)、生成部136は、フィルタの効力を解除する(ステップS204)。
【0110】
〔5.変形例〕
上述した実施形態に係る広告装置100は、上記実施形態以外にも種々の異なる形態にて実施されてよい。そこで、以下では、上記の広告装置100の他の実施形態について説明する。
【0111】
〔5−1.流行語との判別〕
上記のように、広告装置100は、クエリを処理対象とすることにより、送信元のIPアドレス等の情報によらず、異常なアクセスを排除することができる。この場合、広告装置100は、悪意のあるアクセスに基づくクエリのみならず、一時的に世間で流行する流行語(バズワード)をクエリの分布の異常として検出する場合がありうる。
【0112】
この点に関して、広告装置100は、例えば、複数のサービスに対するクエリの挙動を観測することにより、流行語と、サービスに対する異常なアクセスに係るクエリとを判別することができる。すなわち、広告装置100は、サービス提供装置30が提供する検索サービスとともに、他のサービスに関しても、クエリの分布の異常を検出する処理を行う。
【0113】
具体的には、広告装置100は、検索サービス以外のサービスである他のサービスに対するクエリを取得する。続いて、広告装置100は、他のサービスに対するクエリの時系列上の変化量に基づいて、当該他のサービスにおけるクエリの分布に所定の変化が生じたか否かを判定するとともに、同じ時系列において、検索サービスにおけるクエリの分布に所定の変化が生じたか否かを判定する。そして、広告装置100は、他のサービスにおけるクエリの分布に所定の変化が生じないと判定されるとともに、検索サービスにおけるクエリの分布に所定の変化が生じたと判定される場合に、検索サービスの利用に関する異常を検出する。
【0114】
すなわち、広告装置100は、流行語に関しては、検索サービスにおいても、他のサービスにおいても、一時的にクエリの分布に異常を生じさせるクエリとして検出することができる。
【0115】
ところで、検索サービスに対して異常なアクセスが行われる場合には、そのようなアクセスに対応するクエリは、検索サービスにおいて異常が検出される。一方で、検索サービスで異常が検出されたクエリは、他のサービスでは異常が検出されないことが想定される。
【0116】
このように、広告装置100は、同じ時間帯において、検索サービスのみならず、他のサービスにおけるクエリの分布の異常を検出する処理を行う。これにより、広告装置100は、検出されたクエリが単に流行語であるのか、あるいは、異常なアクセスによるものかを判別することが可能となる。このため、広告装置100は、流行語などのクエリを排除の対象とすることなく、適切に不正なアクセスを排除することができる。
【0117】
〔5−2.アクセスログの種別〕
上記実施形態においては、広告装置100は、端末装置10で広告コンテンツがクリックされた際のアクセスログを用いて、クエリの分布に異常が生じているか否かを検出する例を示した。しかし、広告装置100は、クリックの有無にかかわらず、全てのアクセスログを用いて、クエリの分布に異常が生じているか否かを検出してもよい。
【0118】
〔5−3.地域の限定〕
上記実施形態において、広告装置100は、送信元の情報を用いずに、クエリの分布に異常が生じているか否かを検出する例を示した。しかし、広告装置100は、送信元の情報に基づいて、所定の情報が取得できる場合には、取得した情報を用いるようにしてもよい。
【0119】
そして、広告装置100は、異常が検出された場合には、特定の情報を持つなど、傾向を持つアクセスに対してフィルタが有効となるような処理を行ってもよい。これにより、広告装置100は、検索サービスを利用しようとする一般ユーザへの影響を抑えつつ、悪意のあるアクセスのみを適切に排除することができる。
【0120】
〔5−4.クエリの要素の意味理解〕
上記実施形態では、広告装置100は、クエリを構成する要素(品詞分解された単語などの文字列)の言語上の意味については参照せずに、サービスにおけるクエリの分布に異常を与えるクエリを検出する例を示した。
【0121】
ここで、広告装置100は、クエリの言語上の意味を含めた処理を行ってもよい。この場合、広告装置100は、所定の辞書データとクエリとを照合することにより、意味を含めた処理を行うことができる。
【0122】
例えば、「ブラック(Black)」という単語と、機械や器具などの単語とを組み合わせたクエリは、特にネガティブな意味を生じないため、異常なアクセスとはみなされない。しかし、ブラックという単語と、人物名や企業名とを組み合わせたクエリは、当該人物や企業の評判を下げるために検索サービスへ送信した可能性がある。このような場合、広告装置100は、ブラックという単語と、人物名や企業名とを組み合わせたクエリを異常なアクセスに係るクエリとして取り扱うことで、フィルタの対象にするなどの対処を行うことができる。
【0123】
〔5−5.異常が検出された場合の対応〕
上記実施形態で説明したように、広告装置100は、異常なアクセスやクリックに関してフィルタを生成すること等により対応を行う。ここで、広告装置100は、異常が検出された場合には、異常なアクセスやクリックによって影響を受けたと想定される広告コンテンツの評価値等について、異常を検出する前の状態に戻す処理を行ってもよい。
【0124】
異常なアクセスの流れを、以下に説明する。まず、異常なアクセスを行うユーザは、所定のクエリ(例えば「名刺」)を用いたアクセスを検索サービスに対して大量に発生させる。そして、ユーザは、名刺というクエリを契機として配信された広告コンテンツに対して大量のクリック操作を発生させる。この時点では、広告コンテンツを配信するサーバ側では、大量のクリック操作が行われた広告コンテンツが非常に有益なコンテンツとして判定される。その後一定期間を置いて、ユーザは、名刺を用いたアクセスを検索サービスに対して大量に発生させるものの、配信された広告コンテンツに対してクリック操作を行わないようにする。すなわち、広告コンテンツのインプレッションが大量に発生するものの、クリック操作が行われないことになる。この場合、広告コンテンツを配信するサーバ側では、広告コンテンツの評価値が急激に低下しているというデータを取得することになる。ここで、広告コンテンツの評価値が急激に低下している場合、広告コンテンツを配信するサーバによっては、広告コンテンツに何らかの問題があるのではないかという判定を行う場合がある。この場合、サーバ側は、この広告コンテンツがユーザに配信されにくくするといった処理を行う。これにより、広告主は、自身の広告コンテンツがユーザに配信されなくなるといった害を被る。
【0125】
このため、広告装置100は、以下の処置を行ってもよい。例えば、広告装置100に係る検出部133は、クエリの分布に変化を生じさせる要因となったクエリが検出された場合には、記憶部120に記憶されている、検出されたクエリに関する情報であって、クエリを含むアクセスログから抽出される情報を、サービスの利用に関する異常が検出された時点から所定時間前の状態に戻すような処理を行ってもよい。なお、アクセスログから抽出される情報とは、例えば、アクセスログの取得された数量であったり、クエリに関するクリックログの回数であったり、クエリに関連する広告コンテンツが配信された配信数などである。
【0126】
また、広告装置100に係る検出部133は、クエリの分布に変化を生じさせる要因となったクエリが検出された場合には、記憶部120に記憶されている、クエリに関するコンテンツの評価値であって、当該クエリを含むアクセスログに基づいて算出される評価値を、所定のサービスの利用に関する異常が検出された時点から所定時間前に記憶されていたアクセスログに基づいて算出し直した評価値に更新するようにしてもよい。クエリに関するコンテンツの評価値とは、例えば、広告コンテンツのインプレッションや、CTRや等である。なお、クエリに関するコンテンツの評価値には、広告コンテンツに関するビッド価格や、広告主への課金額など、CTR等に基づいて算出される値が含まれてもよい。
【0127】
〔5−6.広告装置の構成〕
上記実施形態では、広告装置100が、広告コンテンツの入稿を受け付ける受付処理や、広告コンテンツを配信する配信処理や、サービスに関する異常を検出する検出処理等を行う例を示した。しかし、広告装置100は、例えば、受付処理を行う受付装置と、配信処理を行う配信装置と、検出処理を行う検出装置とに分離されてもよい。この場合、受付装置は、少なくとも受信部131と取得部132とを有する。配信装置は、少なくとも配信部138を有する。検出装置は、少なくとも検出部133を有する。この場合、上述してきた広告装置100による処理は、受付装置と、配信装置と、検出装置との各装置を有する検出システム1によって実現される。
【0128】
〔5−7.各処理部の構成〕
上記実施形態において、
図5で示したような各処理部の構成は、機能概念的なものであり、必ずしも物理的に図示の如く構成されていることを要しない。例えば、上記実施形態では、検出部133は、算出部134や判定部135によって実行される処理に基づいて、サービスの利用に関する異常を検出する例を示した。しかし、算出部134や判定部135によって実行されるとして記載された処理は、検出部133によって実行されてもよい。
【0129】
〔6.その他〕
また、上記実施形態において説明した各処理のうち、自動的に行われるものとして説明した処理の全部または一部を手動的に行うこともでき、あるいは、手動的に行われるものとして説明した処理の全部または一部を公知の方法で自動的に行うこともできる。この他、上記文書中や図面中で示した処理手順、具体的名称、各種のデータやパラメータを含む情報については、特記する場合を除いて任意に変更することができる。
【0130】
また、図示した各装置の各構成要素は機能概念的なものであり、必ずしも物理的に図示の如く構成されていることを要しない。すなわち、各装置の分散・統合の具体的形態は図示のものに限られず、その全部または一部を、各種の負荷や使用状況などに応じて、任意の単位で機能的または物理的に分散・統合して構成することができる。
【0131】
例えば、
図5に示した広告情報記憶部121や、アクセスログ記憶部122は、広告装置100が保持せずに、外部のストレージサーバ等に保持されてもよい。この場合、広告装置100は、ストレージサーバにアクセスすることで、広告情報やアクセスログ等を取得する。
【0132】
また、例えば、上述してきた広告装置100は、端末装置10やサービス提供装置30からアクセスログを受け付けるといったような、外部装置とのやりとりを中心に処理を実行するフロントエンドサーバ側と、サービスに関する異常を検出するといった、内部処理を実行するバックエンドサーバ側とに分散されてもよい。
【0133】
〔7.ハードウェア構成〕
また、上述してきた実施形態に係る広告装置100は、例えば
図11に示すような構成のコンピュータ1000によって実現される。
図11は、広告装置100の機能を実現するコンピュータ1000の一例を示すハードウェア構成図である。コンピュータ1000は、CPU1100、RAM1200、ROM1300、HDD1400、通信インターフェイス(I/F)1500、入出力インターフェイス(I/F)1600、及びメディアインターフェイス(I/F)1700を有する。
【0134】
CPU1100は、ROM1300又はHDD1400に格納されたプログラムに基づいて動作し、各部の制御を行う。ROM1300は、コンピュータ1000の起動時にCPU1100によって実行されるブートプログラムや、コンピュータ1000のハードウェアに依存するプログラム等を格納する。
【0135】
HDD1400は、CPU1100によって実行されるプログラム、及び、かかるプログラムによって使用されるデータ等を記憶する。通信インターフェイス1500は、通信網500(
図4で示すネットワークNに対応)を介して他の機器からデータを受信してCPU1100へ送り、また、通信網500を介してCPU1100が検出したデータを他の機器へ送信する。
【0136】
CPU1100は、入出力インターフェイス1600を介して、ディスプレイやプリンタ等の出力装置、及び、キーボードやマウス等の入力装置を制御する。CPU1100は、入出力インターフェイス1600を介して、入力装置からデータを取得する。また、CPU1100は、入出力インターフェイス1600を介して検出したデータを出力装置へ出力する。
【0137】
メディアインターフェイス1700は、記録媒体1800に格納されたプログラム又はデータを読み取り、RAM1200を介してCPU1100に提供する。CPU1100は、かかるプログラムを、メディアインターフェイス1700を介して記録媒体1800からRAM1200上にロードし、ロードしたプログラムを実行する。記録媒体1800は、例えばDVD(Digital Versatile Disc)、PD(Phase change rewritable Disk)等の光学記録媒体、MO(Magneto-Optical disk)等の光磁気記録媒体、テープ媒体、磁気記録媒体、または半導体メモリ等である。
【0138】
例えば、コンピュータ1000が広告装置100として機能する場合、コンピュータ1000のCPU1100は、RAM1200上にロードされた検出プログラムを実行することにより、制御部130の機能を実現する。また、HDD1400には、記憶部120内の各データが格納される。コンピュータ1000のCPU1100は、これらのプログラムを記録媒体1800から読み取って実行するが、他の例として、他の装置から通信網500を介してこれらのプログラムを取得してもよい。
【0139】
〔8.効果〕
上述してきたように、実施形態に係る広告装置100は、取得部132と、検出部133とを備える。取得部132は、所定のサービスに対するアクセスログに含まれるクエリを取得する。検出部133は、取得部132によって取得されたクエリの時系列上の変化量に基づいて、所定のサービスの利用に関する異常を検出する。
【0140】
このように、実施形態に係る広告装置100は、偽装される可能性が高い送信元情報によらず、サービスに対して送信されたクエリを取得する。そして、広告装置100は、短時間に特定のクエリの出現が増大するなどの変化が生じたことを検出することで、サービスの利用に関する異常を検出する。このように、広告装置100は、送信元情報に特徴を有しないアクセスログであっても、クエリの時系列上の変化を捉えることで、サービスで発生する異常を検出することができる。
【0141】
また、実施形態に係る広告装置100は、クエリの時系列上の変化量に基づいて、所定のサービス全体における各クエリの出現量の分布に所定の変化が生じたか否かを判定する判定部135をさらに備える。検出部133は、判定部135によってクエリの分布に所定の変化が生じたと判定される場合に、当該クエリの分布に変化を生じさせる要因となったクエリを検出するとともに、所定のサービスの利用に関する異常を検出する。
【0142】
このように、実施形態に係る広告装置100は、短時間に特定のクエリの出現が増大することにより、サービスにおけるクエリの出現数などの分布が変化したことを捉える。そして、広告装置100は、分布に異常を生じさせた要因となるクエリを検出する。このように、広告装置100は、サービス全体におけるクエリの分布という概念を用いることで、送信元情報によらず、特定のクエリの発生をトリガーとして、サービスに関する異常を検出することができる。
【0143】
また、判定部135は、クエリを所定の文字列で構成される要素に分解し、要素ごとの時系列上の変化量に基づいて、所定のサービスにおけるクエリの分布に所定の変化が生じたか否かを判定する。
【0144】
このように、実施形態に係る広告装置100は、端末装置10から送信される問い合わせ情報であるクエリを、例えば形態素解析等により品詞ごとの要素に分解して処理を行うことができる。これにより、広告装置100は、各クエリを詳細に分析することや、各クエリの特徴量を適切に算出したりすることができるため、サービスにおけるクエリの分布の変化をより的確に捉えることができる。
【0145】
また、取得部132は、所定のサービス以外のサービスである他のサービスに対するクエリを取得する。判定部135は、他のサービスに対するクエリの時系列上の変化量に基づいて、他のサービスにおけるクエリの分布に所定の変化が生じたか否かを判定するとともに、同じ時系列において、所定のサービスにおけるクエリの分布に所定の変化が生じたか否かを判定する。検出部133は、判定部135によって、他のサービスにおけるクエリの分布に所定の変化が生じないと判定されるとともに、所定のサービスにおけるクエリの分布に所定の変化が生じたと判定される場合に、所定のサービスの利用に関する異常を検出する。
【0146】
このように、実施形態に係る広告装置100は、複数のサービスに対するクエリに対して検出処理を行ってもよい。これにより、広告装置100は、単なる流行語と、異常なアクセスに係るクエリとの判別を精度よく行うことができる。
【0147】
また、実施形態に係る広告装置100は、検出部133によってクエリの分布に変化を生じさせる要因となったクエリが検出された場合に、要因となったクエリごとに生成されるフィルタであって、要因となったクエリを所定のサービス側が行う所定の処理の対象から除外するためのフィルタを生成する。
【0148】
このように、実施形態に係る広告装置100は、送信元を特定することによって端末装置10からのアクセスを遮断するといった手法ではなく、クエリに対応するフィルタを生成することにより、異常なアクセスがサービスに対して影響を及ぼさないような対処を行う。これにより、広告装置100は、送信元を特定するといった手間を要さずに、短時間に行われる大量のアクセス等について迅速な対応を行うことができる。
【0149】
また、生成部136は、予め設定されるリスト(ホワイトリスト)に含まれるクエリと、分布に変化を生じさせる要因として検出されたクエリとが一致する場合には、当該クエリに関するフィルタを生成せず、リストに含まれるクエリと分布に変化を生じさせる要因として検出されたクエリとが一致しない場合に、当該クエリに関するフィルタを生成するようにしてもよい。
【0150】
このように、実施形態に係る広告装置100は、ホワイトリストを用いることにより、異常なアクセスによるクエリと、流行語などのクエリとで異なる処理を行うことができる。これにより、広告装置100は、効率良く異常なアクセスの影響を排除することができる。
【0151】
また、取得部132は、所定のサービスの利用を契機としてユーザに配信されたコンテンツに対して、ユーザがコンテンツを選択する操作(例えば、広告コンテンツをクリックする操作)を行った情報である操作情報を含むアクセスログを取得する。検出部133、取得部132によって取得されるクエリのうち、操作情報を含むアクセスログに含まれるクエリの時系列上の変化量に基づいて、所定のサービスの利用に関する異常を検出する。
【0152】
このように、実施形態に係る広告装置100は、広告コンテンツをクリックする操作など、操作情報を含むアクセスログを処理対象として、サービスに関する異常を検出してもよい。これにより、広告装置100は、処理対象とするアクセスログを絞り込むことができるため、異常なアクセスに対して迅速な対応を行うことができる。
【0153】
また、検出部133は、クエリの分布に変化を生じさせる要因となったクエリが検出された場合には、所定の記憶部(例えば、記憶部120)に記憶されている、当該検出されたクエリに関する情報であって、当該クエリを含むアクセスログから抽出される情報を、所定のサービスの利用に関する異常が検出された時点から所定時間前の状態に戻す。
【0154】
このように、実施形態に係る広告装置100は、異常が検出された場合には、異常なアクセスと想定されるアクセスによって変化が生じたクエリに関する情報を、異常が検出されていなかった状態に復帰させることができる。これにより、広告装置100は、異常なアクセスに対して適切な処置を行うことができる。
【0155】
また、検出部133は、クエリの分布に変化を生じさせる要因となったクエリが検出された場合には、所定の記憶部に記憶されている、クエリに関するコンテンツの評価値であって、当該クエリを含むアクセスログに基づいて算出される評価値を、所定のサービスの利用に関する異常が検出された時点から所定時間前に記憶されていたアクセスログに基づいて算出し直した評価値に更新する。
【0156】
このように、実施形態に係る広告装置100は、異常が検出された場合には、異常なアクセスと想定されるアクセスによって変化が生じた広告コンテンツの評価値を、異常が検出される前の情報に基づいて、更新することができる。これにより、広告装置100は、異常なアクセスによって生じる被害を抑えることができる。
【0157】
また、取得部132は、クエリとして、検索サービスに対するアクセスログに含まれる検索クエリを取得する。検出部133は、取得部132によって取得された検索クエリの時系列上の変化量に基づいて、検索サービスの利用に関する異常を検出する。
【0158】
このように、実施形態に係る広告装置100は、所定のサービスとして、検索サービスに関する異常を検出する。上述のように、検索サービスにおいては、検索連動型の広告配信が行われること等により、異常なアクセスを行う送信元から送信されるクエリによって影響を受け易い。このため、広告装置100は、検索サービスに対する検索クエリの時系列上の変化量に基づいて、短時間において頻出するクエリなどを特定することで、検索サービスの利用に関する異常を検出し、サービスへの影響を抑制することができる。
【0159】
以上、本願の実施形態のいくつかを図面に基づいて詳細に説明したが、これらは例示であり、発明の開示の欄に記載の態様を始めとして、当業者の知識に基づいて種々の変形、改良を施した他の形態で本発明を実施することが可能である。
【0160】
また、上述した広告装置100は、複数のサーバコンピュータで実現してもよく、また、機能によっては外部のプラットフォーム等をAPI(Application Programming Interface)やネットワークコンピューティングなどで呼び出して実現するなど、構成は柔軟に変更できる。
【0161】
また、特許請求の範囲に記載した「部(section、module、unit)」は、「手段」や「回路」などに読み替えることができる。例えば、取得部は、取得手段や取得回路に読み替えることができる。