以下に、本願に係る抽出装置、抽出方法および抽出プログラムを実施するための形態(以下、「実施形態」と記載する。)について図面を参照しつつ詳細に説明する。なお、この実施形態により本願に係る抽出装置、抽出方法および抽出プログラムが限定されるものではない。また、以下の各実施形態において同一の部位には同一の符号を付し、重複する説明は省略する。
[実施形態]
〔1.情報提供装置が表示する処理について〕
まず、図1を用いて、抽出装置の一例となる情報提供装置が実行する抽出処理の一例について説明する。図1は、実施形態に係る情報提供装置が実行する抽出処理の一例を示す図である。
なお、以下の説明では、情報提供装置10が実行する抽出処理として、広告に関するコンテンツの配信履歴や選択履歴(以下、「ログ」と記載する。)から、選択されたコンテンツとコンテンツを選択した利用者の特徴との間の特徴(例えば、共起性)を学習する予測モデルの学習データとして適切なログを抽出する処理の一例について記載するが、実施形態は、これに限定されるものではない。情報提供装置10は、ニュースフィードや画像等、任意のコンテンツの配信履歴から、学習データとして適切なログを抽出してよい。
また、以下の説明において、広告とは、営利若しくは非営利の広告だけではなく、ボランティアの募集、公共広告、公共に対する通知、その他任意のコンテンツを含む概念である。また、広告は、いわゆる広告関連の情報を含むコンテンツのみならず、利用者に興味を抱かせ、任意の対象に関する情報、または、任意の対象と関連するコンテンツ(例えば、ランディングページ等)に含まれる情報を広く報知するものであれば、画像、動画像、テキスト、図形、記号、ハイパーリンク、その他任意のコンテンツがテキストと共に含まれていてよい。
〔1−1.情報提供装置の一例〕
情報提供装置10は、インターネット等の所定のネットワークN(例えば、図3を参照。)を介して、ログサーバ100や配信サーバ200と通信可能な情報処理装置であり、例えば、サーバ装置やクラウドシステム等により実現される。なお、情報提供装置10は、ネットワークNを介して、任意の数のログサーバ100や配信サーバ200と通信可能であってもよく、例えば、図示を省略した各種の外部サーバと通信可能であってよい。
ログサーバ100は、ログを管理するサーバ装置であり、例えば、サーバ装置やクラウドシステム等により実現される。例えば、ログサーバ100は、利用者がアクセスしたウェブサイト、利用者に配信されたウェブコンテンツ、利用者に配信された広告のコンテンツ、配信されたコンテンツのうち利用者が選択したコンテンツ、利用者のデモグラフィック属性やサイコグラフィック属性等、コンテンツの配信に伴う各種のログデータを取得、管理する。なお、ログサーバ100が発揮する機能は、周知のログサーバと同様であるものとして、詳細な説明を省略する。
配信サーバ200は、利用者に対してコンテンツの配信を行う情報処理装置であり、例えば、サーバ装置やクラウドシステム等により実現される。例えば、配信サーバ200は、ウェブコンテンツにアクセスした利用者の各種属性に基づいて、利用者が選択する可能性が高いコンテンツを選択し、選択したコンテンツの配信を行う。より具体的な例を挙げると、配信サーバ200は、利用者の属性に基づいて広告のリスティングを行い、リスティングの結果選択される広告の配信を行う。
〔1−2.抽出処理の一例〕
ここで、利用者が選択する可能性が高いコンテンツを配信するため、コンテンツを選択した利用者の属性、コンテンツを選択しなかった利用者の属性、およびコンテンツの特徴を学習データとし、学習データの特徴(例えば、共起性)を学習した予測モデルを生成し、学習モデルを用いてリスティングを行うといった態様が考えられる。このような予測モデルを生成する際に、コンテンツの配信履歴やコンテンツの選択履歴であるログを用いる技術が知られている。
しかしながら、このようなログには、学習データとして不適切な情報が含まれる場合がある。例えば、コンテンツの配信先となる利用者の中には、コンテンツの内容にかかわらず、絶対にコンテンツを選択しない利用者が含まれる場合がある。また、コンテンツの配信先となる利用者の中には、広告費用や配信態様の観点から、わざとCTR(Click Through Rate)を悪化させるためにアクセスを行う利用者が含まれる場合がある。また、コンテンツの配信先となる利用者の中には、所謂巡回ボットが含まれる場合がある。このような利用者の配信履歴や選択履歴を学習データに含めた場合は、コンテンツの特徴と、コンテンツを選択する利用者の属性との間の関係性を精度良く学習できない恐れがある。
そこで、情報提供装置10は、以下の抽出処理を実行する。まず、情報提供装置10は、コンテンツの選択割合が減少する期間を特定する。そして、情報提供装置10は、特定した期間にコンテンツが配信された利用者の中から所定の条件を満たす利用者を抽出する。ここで、情報提供装置10が抽出する利用者とは、絶対にコンテンツを選択しない利用者がCTRを悪化させるためのアクセスを行う利用者のみならず、学習データとして不適切なアクセスを行ったアクセス元を示す概念であり、自然人のみならず、巡回ボット等のプログラムをも含む概念である。
〔1−3.期間の特定について〕
例えば、情報提供装置10は、判定対象となるコンテンツについての配信履歴(例えば、配信先となる利用者や配信日時)や選択履歴(例えば、クリックされた回数や日時)をログとして収集し、単位時間(例えば、1分ごと)あたりの配信回数(例えば、インプレッション数)と選択回数(例えば、クリック数)とを算出する。そして、情報提供装置10は、選択割合として、コンテンツの配信回数に対する選択回数の割合、すなわち、CTRが所定の閾値を超えて減少する期間を特定する。
ここで、コンテンツの配信先となる利用者に各属性の利用者が一様に含まれている場合など、学習データの取得に理想的な状態である場合、配信回数が上昇した際に選択回数も上昇すると考えられる。しかしながら、コンテンツを選択しない利用者やCTRを悪化させる利用者、巡回ボット等といった学習データの取得対象として不適切な利用者(以下、「除外利用者」と記載する場合がある。)が含まれる場合は、配信回数が上昇したとしても、選択回数の上昇率が配信回数の上昇率に伴わないと考えられる。
そこで、情報提供装置10は、単位時間当たりのCTRの値を算出し、算出したCTRの値が低下している期間を特定期間とする。このような特定期間の間に所定のウェブサイトにアクセスすることでコンテンツが配信された利用者の中には、除外利用者が含まれると考えれる。そこで、情報提供装置10は、特定期間の間にアクセスした利用者の中から、所定の条件を満たす利用者を除外利用者として抽出する。より具体的には、情報提供装置10は、コンテンツの単位時間当たりの配信回数が上昇し、かつ、コンテンツの選択割合が減少する期間を特定する。例えば、情報提供装置10は、コンテンツの配信回数が上昇しているにもかからず、選択回数が上昇していない期間や、選択回数の上昇率が配信回数の上昇率よりも低い期間を特定する。
このような処理の結果、情報提供装置10は、判定対象となるコンテンツが配信された利用者に、除外利用者が比較的多く含まれると推定される期間を特定期間とする。そして、情報提供装置10は、特定期間に判定対象となるコンテンツが配信された利用者(すなわち、所定のウェブサイトにアクセスした利用者)の中から、所定の条件を満たす利用者を除外利用者として抽出する。
〔1−4.除外利用者の抽出について〕
ここで、情報提供装置10は、特定期間にアクセスした利用者を全て除外利用者とし、ログデータから除外利用者のデータを除外してもよい。一方、情報提供装置10は、特定期間にアクセスした利用者の中から、除外利用者である可能性が高い利用者、すなわち、学習データの取得対象として不適切な可能性が高い利用者を抽出してもよい。例えば、情報提供装置10は、特定期間の間にアクセスした利用者のアクセス履歴に基づいて、除外利用者の可能性が高い利用者を抽出してもよい。
例えば、一般的な利用者、すなわち、学習データの対象として適切な利用者には、生活パターンや行動パターンに伴い、ウェブ上での行動履歴に所定のパターンが含まれると考えられる。そこで、情報提供装置10は、特定期間の間にアクセスした利用者、すなわち、特定期間の間に判定対象となるコンテンツが配信された利用者のログから、利用者のアクセスパターンを特定する。例えば、情報提供装置10は、所定のウェブサイトにアクセスする日時のパターンや、コンテンツが頻繁に配信される日時のパターンをアクセスパターンとして特定する。
また、学習データの対象として適切な利用者は、所定のウェブサイトにアクセスするパターンと、コンテンツを選択するパターンとが一致すると予測される。そこで、情報提供装置10は、特定期間の間にアクセスした利用者、すなわち、特定期間の間に判定対象となるコンテンツが配信された利用者のログから、利用者がコンテンツを選択するパターンである選択パターンを特定する。例えば、情報提供装置10は、利用者がコンテンツを選択した日時の履歴に基づいて、コンテンツを選択する日時のパターンを特定する。
そして、情報提供装置10は、特定したアクセスパターンや選択パターンに基づいて、除外利用者を抽出する。例えば、情報提供装置10は、特定期間に所定のウェブサイトにアクセスする可能性やコンテンツが配信される可能性が低い利用者、特定された期間にコンテンツを選択する可能性が低い利用者を除外利用者として抽出する。より具体的な例を挙げると、情報提供装置10は、アクセスパターンと選択パターンとに基づいて、特定期間の間アクセスする可能性が低い利用者や、特定期間の間コンテンツをクリックする可能性が低い利用者などを特定する。すなわち、情報提供装置10は、特定期間の間アクセスする可能性が低い利用者や、特定期間の間クリックの可能性が少ないのにアクセスを行っている利用者を特定する。そして、情報提供装置10は、特定した利用者を除外利用者として抽出する。
なお、情報提供装置10は、特定期間において所定のウェブサイトにアクセスする可能性、または、特定期間においてコンテンツを選択する可能性のいずれかが所定の閾値よりも低い利用者を除外利用者として抽出してもよい。また、情報提供装置10は、特定期間において所定のウェブサイトにアクセスする可能性が所定の閾値よりも低く、かつ、特定期間においてコンテンツを選択する可能性のいずれかが所定の閾値よりも低い利用者を除外利用者として抽出してもよい。
ここで、情報提供装置10は、除外利用者を抽出した場合は、除外利用者に関する情報を除外したログデータを学習データとして生成する。そして、情報提供装置10は、生成した学習データを用いて、コンテンツの特徴と、コンテンツを選択した利用者の属性の特徴との間の関係性を学習した予測モデルを生成する。すなわち、情報提供装置10は、配信履歴や選択履歴から除外利用者の配信履歴や選択履歴を除外することで、予測モデルの生成に適した学習データを生成できる。
〔1−5.抽出処理の一例について〕
次に、図1を用いて、情報提供装置10が実行する抽出処理の一例について説明する。まず、情報提供装置10は、ログサーバ100から、所定のコンテンツに関する各種のログデータを取得する(ステップS1)。このような場合、情報提供装置10は、インプレッション数が増加しつつ、CTRが低下する期間を特定期間として特定する(ステップS2)。例えば、情報提供装置10は、ログデータから判定対象となるコンテンツのインプレッション数とクリック数とを単位時間ごとに算出する。そして、情報提供装置10は、インプレッション数に対するクリック数の割合、すなわち、CTRを単位時間ごとに算出し、算出したCTRが低下しつつ、かつ、インプレッション数が増加している期間を特定する。
例えば、図1中(A)に示す例では、判定対象となる所定のコンテンツのインプレッション数が増大している一方でクリック数が増大していないため、CTRの値があるタイミングを境に低下している。このような場合、情報提供装置10は、例えば、CTRの減少率が所定の閾値を超えた日時から、所定の期間だけ後の日時若しくはCTRの減少率が所定の閾値以下となった日時までの期間を特定期間CPとして特定する。一方、図1中(B)に示す例では、判定対象となる所定のコンテンツのインプレッション数が増大するに伴い、クリック数も増大しているため、CTRの値がほぼ一定の値となる。このような場合、情報提供装置10は、特定期間を特定せずに処理を継続する。
続いて、情報提供装置10は、特定期間にアクセスした利用者の行動履歴に基づいて、利用者が特定期間に所定のウェブサイトにアクセスし、かつ、コンテンツを選択する可能性を算出する(ステップS3)。例えば、図1に示す例では、情報提供装置10は、利用者#1のログデータに基づいて、利用者#1が所定のウェブサイトにアクセスする可能性が高い曜日や時間帯、利用者#1がコンテンツを選択する可能性が高い曜日や時間帯等を推定する。なお、このような推定については、各種予測処理や周知のパターン解析技術が適用可能である。そして、情報提供装置10は、特定期間において利用者#1が所定のウェブサイトにアクセスし、かつ、コンテンツを選択する可能性(例えば、図1に示す例では、「90パーセント」)を算出する。
続いて、情報提供装置10は、特定期間にアクセスした利用者のうち、特定期間の間に所定のウェブサイトにアクセスし、コンテンツを選択する可能性が所定の閾値よりも低い利用者を除外利用者として抽出し、ログデータから除外利用者のログデータを除外する(ステップS4)。例えば、図1に示す例では、利用者#1〜利用者#3について、所定のウェブサイトにアクセスし、コンテンツを選択する可能性として、「90パーセント」、「20パーセント」、および「80パーセント」が算出されている。このような場合、情報提供装置10は、算出された可能性が所定の閾値(例えば、70パーセント)よりも低い利用者#2を除外利用者として抽出する。そして、情報提供装置10は、利用者#1〜利用者#3のログデータ#1〜ログデータ#3のうち、利用者#2のログデータ#2を学習データから除外する。より具体的には、情報提供装置10は、判定対象となるコンテンツ、すなわち、予測モデルの学習対象となるコンテンツの配信履歴や選択履歴の中から、利用者#2に対するコンテンツの配信履歴や利用者#2の選択履歴を除外した学習データを生成する。
そして、情報提供装置10は、学習データを用いて、クリック傾向を学習した予測モデルを生成する(ステップS5)。例えば、情報提供装置10は、利用者#1のログデータ#1、利用者#3のログデータ#3、およびコンテンツ#1の特徴を示す特徴情報を用いて、ある特徴を有するコンテンツをどのような属性を有する利用者が選択しているか、すなわち、クリック傾向を学習した予測モデルを生成する。
その後、情報提供装置10は、生成した予測モデルを配信サーバ200に送信する(ステップS6)。この結果、情報提供装置10は、生成された予測モデルを用いたコンテンツの配信、すなわち、生成された予測モデルを用いたリスティング配信を行うことができる(ステップS7)。
〔1−6.除外利用者の一例について〕
ここで、情報提供装置10は、除外利用者のログデータを除外した学習データを用いて、予測モデルの生成を行った。しかしながら、実施形態は、これに限定されるものではない。例えば、情報提供装置10は、除外利用者の特徴を学習することで、学習データの取得対象として不適切な利用者の特徴を学習してもよい。そして、情報提供装置10は、学習した特徴を有する利用者の情報をログデータから除外することで、予測モデルの生成に適した学習データを生成してもよい。
例えば、図2は、実施形態に係る情報提供装置が除外利用者の特徴を学習する処理の一例について説明する図である。例えば、図2に示す情報提供装置10は、所定のコンテンツに関する各種のログデータを取得する(ステップS1)。このような場合、情報提供装置10は、特定期間の利用者のうち、アクセスおよびクリックの可能性が所定の閾値よりも低い利用者を抽出する(ステップS2)。例えば、情報提供装置10は、利用者#2を抽出する。
そして、情報提供装置10は、特定した利用者の特徴を学習した特徴モデルを生成する。例えば、情報提供装置10は、利用者#2の特徴として、利用者#2が所定のウェブサイトにアクセスした回数を特徴モデルに学習させる。このような特徴を特徴モデルに学習させた場合、情報提供装置10は、利用者#2と所定のウェブサイトにアクセスする回数が類似する他の利用者を推定する特定モデルを生成することができる。例えば、利用者#2が巡回ボットやCTRを不当に下げようとする利用者である場合、所定のウェブサイトに頻繁にアクセスすると考えられる。そこで、情報提供装置10は、利用者#2のアクセス回数を特徴モデルに学習させることで、利用者#2とアクセス回数が類似する他の利用者を推定可能な特徴モデルを生成することができる。
また、情報提供装置10は、利用者#2の特徴として注目度が急上昇した検索クエリ、すなわち、バズワードの発生とアクセスタイミングとの共起性を学習させる(ステップS3)。例えば、バズワードが発生した場合、一般に関連するウェブサイトへのアクセス数が上昇するが、このようなバズワードが発生した場合にのみアクセスを行う利用者は、コンテンツの選択率が低いと考えられる。そこで、情報提供装置10は、利用者#2のアクセスタイミングとバズワードとの共起性を特徴モデルに学習させることで、利用者#2とアクセスタイミングが類似する他の利用者を推定可能な特徴モデルを生成することができる。
また、情報提供装置10は、利用者#2の特徴として所定のウェブサイトに関する各種のプッシュ通知を設定しているか否かを学習させる。例えば、所定のウェブサイトに関する各種のプッシュ通知を設定している利用者は、所定のウェブサイトに意図的にアクセスする利用者であり、より予測モデルの学習に適した利用者であるとも考えられる。そこで、情報提供装置10は、所定のウェブサイトに関する各種のプッシュ通知を設定しているか否かを特徴モデルに学習させることで、利用者#2と同様の意図をもってアクセスを行う利用者を推定可能な特徴モデルを生成することができる。
そして、情報提供装置10は、特徴モデルを用いて、特徴が除外利用者と類似する利用者のログデータを除外する(ステップS4)。例えば、情報提供装置10は、特徴モデルを用いて、利用者#1、利用者#3、利用者#4の特徴が除外利用者である利用者#2の特徴と類似するか否かを判定する。そして、情報提供装置10は、例えば、利用者#2の特徴と利用者#4の特徴とが類似する場合、除外利用者である利用者#2のログデータ#2と、利用者#2と特徴が類似する利用者#4のログデータ#4とをログデータから除外する。
そして、情報提供装置10は、ログデータを用いて、クリック傾向を学習した予測モデルを生成する(ステップS5)。その後、情報提供装置10は、生成した予測モデルを配信サーバ200に送信する(ステップS6)。この結果、情報提供装置10は、生成された予測モデルを用いたコンテンツの配信、すなわち、生成された予測モデルを用いたリスティング配信を行うことができる(ステップS7)。
なお、情報提供装置10は、利用者#2に関する特徴であれば、任意の特徴を学習してよい。例えば、情報提供装置10は、利用者#2のアクセスパターンやクリックパターン、デモグラフィック属性やサイコグラフィック属性、IP(Internet Protocol)アドレス等を利用者#2の属性として特徴モデルに学習させてもよい。すなわち、情報提供装置10は、所定のウェブサイトに対するアクセス態様がコンテンツの選択態様が利用者#2と類似する、もしくは、各種属性が利用者#2と類似すると推定される利用者を特定する特徴モデルを学習するのであれば、任意の情報に基づいて、任意の特徴を学習してよい。
〔2.情報提供装置の構成〕
以下、上記した情報提供装置10が有する機能構成の一例について説明する。図3は、実施形態に係る情報提供装置の構成例を示す図である。図3に示すように、情報提供装置10は、通信部20、記憶部30、および制御部40を有する。
通信部20は、例えば、NIC(Network Interface Card)等によって実現される。そして、通信部20は、ネットワークNと有線または無線で接続され、ログサーバ100や配信サーバ200との間で情報の送受信を行う。
記憶部30は、例えば、RAM(Random Access Memory)、フラッシュメモリ(Flash Memory)等の半導体メモリ素子、または、ハードディスク、光ディスク等の記憶装置によって実現される。また、記憶部30は、ログデータベース31、および利用者はデータベース32を記憶する。
ログデータベース31には、各種コンテンツの配信に関するログデータが登録される。例えば、図4は、実施形態に係るログデータベースに登録される情報の一例を示す図である。図4に示す例では、ログデータベース31には、「コンテンツID(Identifier)」、「特徴情報」、「配信先」、「配信日時」、「選択履歴」、「選択日時」等といった情報が登録されている。
ここで、「コンテンツID」とは、コンテンツを識別する識別子である。また、「特徴情報」とは、対応付けられた「コンテンツID」が示すコンテンツの外観や内容等が有する特徴であり、例えば、「コンテンツID」が示すコンテンツの特徴を示すベクトルや分散表現等の多次元量である。また、「配信先」とは、対応付けられた「コンテンツID」が示すコンテンツの配信先となった利用者を識別する利用者IDである。また、「配信日時」とは、対応付けられた「コンテンツID」が示すコンテンツが、対応付けられた「配信先」が示す利用者に配信された日時を示す情報である。また、「選択履歴」とは、対応付けられた「コンテンツID」が示すコンテンツが、対応付けられた「配信先」が示す利用者によって選択されたか否かを示す情報である。また、「選択日時」とは、対応付けられた「コンテンツID」が示すコンテンツが、対応付けられた「配信先」が示す利用者によって選択された日時を示す情報である。
例えば、図4に示す例では、ログデータベース31には、コンテンツID「コンテンツ#1」、特徴情報「特徴#1」、配信先「利用者#1」、配信日時「配信日時#1」、選択履歴「選択」、選択日時「選択日時#1」が対応付けて登録されている。このような情報は、例えば、コンテンツID「コンテンツ#1」が示すコンテンツが、特徴情報「特徴#1」が示す特徴を有するコンテンツであり、配信先「利用者#1」が示す利用者に対し、配信日時「配信日時#1」に配信されるとともに、配信先「利用者#1」が示す利用者によって「選択」され、「選択」された日時が選択日時「選択日時#1」が示す日時である旨を示す。
なお、図4に示す例では、「コンテンツ#1」、「特徴#1」「利用者#1」、「配信日時#1」、「選択日時#1」等といった概念的な値を記載したが、実際には、ログデータベース31には、コンテンツや利用者を識別するための文字列、配信日時を示すための数値、特徴を示す多次元量等が登録されることとなる。また、ログデータベース31には、図4に示す情報以外にも、例えば、コンテンツが配信された際に利用者がアクセスしたウェブサイトを示す情報等、コンテンツの配信に関する各種の情報が登録されていてもよい。
図2に戻り、説明を続ける。利用者データベース32には、利用者に関する各種の情報が登録される。例えば、図5は、実施形態に係る利用者データベースに登録される情報の一例を示す図である。図5に示す例では、利用者データベース32には、「利用者ID」、「利用者特徴情報」、「アクセス先」、「アクセス日時」、「配信コンテンツ」等といった情報が登録されている。
ここで、「利用者ID」とは、利用者を識別する識別子である。また、「利用者特徴情報」とは、利用者のデモグラフィック属性やサイコグラフィック属性等、コンテンツのリスティングに用いられる各種利用者の特徴である。また、「アクセス先」とは、対応付けられた「利用者ID」が示す利用者がアクセスしたウェブサイト等のアクセス先を示す情報である。また、「アクセス日時」とは、対応付けられた「利用者ID」が示す利用者が対応付けられた「アクセス先」が示すウェブサイト等にアクセスした日時を示す情報である。また、「配信コンテンツ」とは、対応付けられた「利用者ID」が示す利用者が対応付けられた「アクセス先」が示すウェブサイト等にアクセスした際に配信されたコンテンツのコンテンツIDである。
例えば、図5に示す例では、利用者データベース32には、利用者ID「利用者#1」、利用者特徴情報「利用者特徴#1」、アクセス先「アクセス先#1」、アクセス日時「アクセス日時#1」、および配信コンテンツ「コンテンツ#1」が対応付けて登録されている。このような情報は、利用者ID「利用者#1」が示す利用者が、利用者特徴情報「利用者特徴#1」が示す特徴をゆうしており、アクセス先「アクセス先#1」が示すウェブサイト等に、アクセス日時「アクセス日時#1」が示す日時にアクセスし、配信コンテンツ「コンテンツ#1」が示すコンテンツが配信された旨を示す。
なお、図5に示す例では、「アクセス先#1」、「アクセス日時#1」、「利用者特徴#1」等といった概念的な値を記載したが、実際には、利用者データベース32には、アクセス先のURL(Uniform Resource Locator)や、アクセスを行った日時を示す数値、特徴を示す各種の情報等が登録されることとなる。また、利用者データベース32には、各種利用者のアクセス履歴や配信されたコンテンツの履歴のみならず、各利用者に関する検索クエリの履歴や各種ウェブコンテンツの閲覧履歴等といった各種履歴情報が登録されていてもよい。
図3に戻り、説明を続ける。制御部40は、コントローラ(controller)であり、例えば、CPU(Central Processing Unit)、MPU(Micro Processing Unit)等のプロセッサによって、情報提供装置10内部の記憶装置に記憶されている各種プログラムがRAM等を作業領域として実行されることにより実現される。また、制御部40は、コントローラ(controller)であり、例えば、ASIC(Application Specific Integrated Circuit)やFPGA(Field Programmable Gate Array)等の集積回路により実現されてもよい。
図3に示すように、制御部40は、取得部41、特定部42、抽出部43、特徴学習部44、生成部45、および傾向学習部46を有する。取得部41は、各コンテンツの配信履歴や選択履歴を含む各種ログデータをログサーバ100から取得する。このような場合、取得部41は、公知の解析技術を用いて、各コンテンツごとの配信先、配信日時、選択履歴、選択日時等を特定する。そして、取得部41は、特定した情報を対応付けてログデータベース31に登録する。また、取得部41は、各利用者ごとに、アクセス先、アクセス日時、アクセスした結果配信された配信コンテンツを特定し、特定した情報を対応付けて利用者データベース32に登録する。
特定部42は、コンテンツの選択割合が減少する特定期間を特定する。より具体的には、特定部42は、選択割合として、コンテンツの配信回数に対する選択回数の割合が所定の閾値を超えて減少する期間、すなわち、CTRの値が所定の値を超えて減少する期間を特定する。また、特定部42は、コンテンツの単位時間当たりの配信回数が上昇し、かつ、コンテンツの選択割合が減少する期間を特定する。
例えば、特定部42は、ログデータベース31を参照し、判定対象、すなわち、学習対象となるコンテンツの配信回数と選択回数とを所定の時間間隔ごとに算出する。また、特定部42は、算出した配信回数と選択回数とから、CTRの値を所定の時間間隔ごとに算出する。そして、特定部42は、配信回数が上昇しているにも関わらず、CTRの値が低下している期間を特定する。
例えば、図6は、実施形態に係る情報提供装置が特定期間を特定する処理の一例を示す図である。例えば、図6中(A)に示す例では、コンテンツの配信回数が上昇しているにも関わらず、選択回数に上昇がみられないため、CTRが減少している。このような場合、特定部42は、CTRが低下する日時から所定の期間を特定期間CPとして特定する。なお、特定部42は、例えば、CTRの減少率が所定の閾値を超えた日時に所定のマージンを考慮した日時を特定期間の始点として特定してもよい。また、特定部42は、配信回数の上昇率が所定の閾値以下となった日時、配信回数の情報が止まった日時、視点から所定の期間が経過した日時等を特定期間の終点として特定してもよい。
一方、図6中(B)に示す例では、コンテンツの配信回数の上昇に伴い、選択回数も上昇しているため、CTRがほぼ一定の値を取る。このような場合、アクセスを行った各利用が適切に広告を選択していると考えられるため、特定部42は、特定期間の特定を行わない。
また、図6中(C)に示す例では、コンテンツの配信回数が急上昇した後に元の水準まで戻るスパイクが生じている。一方でコンテンツの選択回数も上昇しているが、上昇率が配信回数の上昇率よりも低いため、CTRの値は、急激に低下した後に元の水準までもどっている。このような場合であっても、適切に広告を選択していない利用者が含まれると考えられるため、特定部42は、CTRが低下した期間を特定期間CPとして特定する。例えば、特定部42は、配信回数のスパイクが生じた期間、すなわち、CTRが急劇に低下し、その後、元に戻るまでの期間を特定期間CPとして特定してもよい。
一方、図6中(D)に示す例では、コンテンツの配信回数にスパイクが生じているが、コンテンツの配信回数の上昇および下降に伴い、選択回数も上昇および下降しているため、CTRがほぼ一定の値を取る。このような場合、アクセスを行った各利用が適切に広告を選択していると考えられるため、特定部42は、特定期間の特定を行わない。
図3に戻り、説明を続ける。抽出部43は、特定期間に判定対象となるコンテンツが配信された利用者の中から所定の条件を満たす利用者を抽出する。より具体的には、抽出部43は、所定の条件として、特定期間にコンテンツが配信される可能性が低い利用者や、特定期間にコンテンツを選択する可能性が低い利用者を除外利用者として抽出する。
例えば、図7は、実施形態に係る情報提供装置が除外利用者を抽出する処理を説明する図である。例えば、抽出部43は、利用者データベース32を参照し、特定部42が特定した特定期間において、判定対象となるコンテンツが配信されている利用者を特定する。続いて、抽出部43は、ログデータベース31や利用者データベース32から特定した利用者のアクセス日時や選択日時を取得する。また、抽出部43は、取得したアクセス日時や選択日時から、図7に示すように、利用者が所定のウェブサイトにアクセスしたり、コンテンツを選択したりする可能性が高い時間帯を曜日ごとに算出する。例えば、図7に示す例では、利用者が所定のウェブサイトにアクセスし、かつ、コンテンツを選択する可能性が高い時間帯を矢印で示した。
そして、抽出部43は、利用者がアクセスしたりコンテンツを選択したりする可能性が高い時間帯が特定期間と重なるか否かを判定する。例えば、図7に示す例では、利用者#1が所定のウェブサイトにアクセスしたり、コンテンツを選択したりする可能性が高い期間が特定期間と重なっている。このような場合、利用者#1は、従来から特定期間においてウェブサイトのアクセスを行い、コンテンツを選択する可能性が高い。そこで、抽出部43は、利用者#1を除外利用者として抽出せずに、利用者#1のログを学習データとして採用する。
一方、図7に示す例では、利用者#2が所定のウェブサイトにアクセスしたり、コンテンツを選択したりする可能性が高い期間が特定期間と重なっていない。このような場合、利用者#2は、特定期間においてイレギュラーにウェブサイトにアクセスしたとも考えられる。そこで、抽出部43は、利用者#2を除外利用者として抽出する。
なお、コンテンツを選択しない利用者については、利用者が所定のウェブサイトにアクセスし、かつ、コンテンツを選択したりする可能性が高い時間帯が存在しなくなる。このため、抽出部43は、ウェブサイトにアクセスし、かつ、コンテンツを選択する可能性が高い時間帯を算出することで、巡回ボットやCTRを下げようとする利用者、コンテンツを選択しない利用者を除外利用者として適切に抽出できる。
図2に戻り、説明を続ける。特徴学習部44は、除外利用者として抽出された利用者の特徴を学習する。例えば、特徴学習部44は、除外利用者の特徴として、所定期間において所定のアクセス先にアクセスした回数、所定期間において注目されていると判定された情報とアクセス回数との共起性、または、除外利用者に対して所定の情報をプッシュ通知する設定がなされているか否かの少なくともいずれか1つを学習する。
例えば、特徴学習部44は、除外利用者に対するコンテンツの配信履歴や選択履歴、所定期間において所定のアクセス先にアクセスした回数、利用者特徴情報等をログデータベース31や利用者データベース32から特定する。また、特徴学習部44は、図示を省略した各種の外部サーバから、所謂バズワードが生じた期間を特定し、特定した期間に除外利用者が所定のウェブサイトにアクセスしたか否か、アクセスした回数等を特定する。また、特徴学習部44は、所定のウェブサイトを介して各種サービスを提供する外部サーバから、除外利用者がプッシュ通知の設定を行っているか否かを特定する。
そして、特徴学習部44は、特定した各種の情報を素性として学習することで、除外利用者の特徴を学習した特徴モデルを生成する。このような特徴モデルは、DNN(Deep Neural Network)やSVM(Support Vector Machine)等の各種任意の分類器や学習器により実現され、任意の利用者の特徴が除外利用者の特徴と類似するか否かを判定することができる。
生成部45は、判定対象となるコンテンツの配信履歴および選択履歴から、抽出された除外利用者に対する配信履歴および選択履歴を除外した情報を生成する。例えば、生成部45は、判定対象となるコンテンツ、すなわち、選択する利用者の傾向を学習する対象となるコンテンツの配信履歴および選択履歴をログデータベース31から特定する。続いて、生成部45は、コンテンツの配信履歴や選択履歴のうち、除外利用者に対して配信した旨の配信履歴や、除外利用者によって選択された旨の選択履歴を削除した情報を学習データとして生成する。
さらに、生成部45は、コンテンツの配信履歴および選択履歴から、特徴モデルが学習した特徴を有する利用者に対する配信履歴および選択履歴を除外した情報を生成する。例えば、生成部45は、特徴学習部44によって学習が行われた特徴モデルを用いて、除外利用者と特徴が類似する利用者を特定する。より具体的な例を挙げると、生成部45は、各利用者の属性、所定期間において所定のアクセス先にアクセスした回数、所定期間において注目されていると判定された情報とアクセス回数との共起性、または、除外利用者に対して所定の情報をプッシュ通知する設定がなされているか否か等、特徴モデルに素性として学習させた各種の情報を取得する。そして、生成部45は、特徴モデルを用いて、各利用者の特徴が除外利用者の特徴と類似するか否かを判定する。その後、生成部45は、コンテンツの配信履歴および選択履歴から、特徴が除外利用者の特徴と類似すると判定された利用者に関する配信履歴や選択履歴を除外した情報を学習データとして生成する。
傾向学習部46は、生成された学習データを用いて、コンテンツを選択する利用者の傾向を学習する。より具体的には傾向学習部46は、生成部45によって生成された学習データを用いて、学習対象となるコンテンツの特徴をログデータベース31から取得する。また、傾向学習部46は、生成部が生成した学習データから、配信されたコンテンツを選択した利用者、および配信されたコンテンツを選択しなかった利用者を特定するとともに、特定した利用者の特徴を示す利用者特徴情報を利用者データベース32から読み出す。
そして、傾向学習部46は、コンテンツの特徴と、コンテンツを選択した利用者の特徴との関係を学習された予測モデルを生成する。例えば、傾向学習部46は、コンテンツを選択した利用者の特徴を正例とし、コンテンツの選択しなかった利用者の特徴を負例として、コンテンツの特徴と各利用者の特徴との間の関係性を予測モデルに学習させることで、コンテンツを選択する利用者の特徴の傾向を学習した予測モデルを生成する。そして、傾向学習部46は、生成した予測モデルを配信サーバ200へと提供する。
〔3.情報提供装置が実行する処理の流れの一例〕
続いて、図8を用いて、情報提供装置10が実行する抽出処理の流れについて説明する。図8は、実施形態に係る情報提供装置が実行する抽出処理の流れの一例を示すフローチャートである。
例えば、情報提供装置10は、各種ログデータを取得する(ステップS101)。そして、情報提供装置10は、判定対象となるコンテンツの配信回数と選択回数とに基づいて、CTRが低下している特定期間を特定する(ステップS102)。続いて、情報提供装置10は、特定期間にアクセスした利用者のログから、所定のサイトにアクセスしたりコンテンツを選択する可能性(以下、「アクセス可能性」と記載する。)が高い期間のパターンを予測する(ステップS103)。
そして、情報提供装置10は、特定期間においてアクセス可能性が所定の閾値よりも低い利用者を除外利用者として抽出する(ステップS104)。続いて、情報提供装置10は、除外利用者の特徴を学習させた特徴モデルを生成し(ステップS105)、ログデータから除外利用者と対応するデータを除外するとともに(ステップS106)、特徴モデルを用いて、除外利用者と特徴が類似する利用者のログデータを除外する(ステップS107)。そして、情報提供装置10は、ログデータから除外利用者や除外利用者と特徴が類似する利用者のログデータを除外した学習データを用いて、予測モデルを生成し(ステップS108)、処理を終了する。
〔4.変形例〕
上記では、情報提供装置10による抽出処理の一例について説明した。しかしながら、実施形態は、これに限定されるものではない。以下、情報提供装置10が実行する抽出処理のバリエーションについて説明する。
〔4−1.学習データの生成について〕
上述した例では、情報提供装置10は、コンテンツの配信履歴および選択履歴から、除外利用者に関する各種履歴と、除外利用者と特徴が類似する利用者に関する各種履歴とを除外した学習データを生成した。しかしながら、実施形態は、これに限定されるものではない。例えば、情報提供装置10は、コンテンツの配信履歴および選択履歴から、除外利用者に関する各種履歴を除外した学習データを生成し、生成した学習データを用いて、予測モデルの生成を行ってもよい。また、情報提供装置10は、コンテンツの配信履歴および選択履歴から、除外利用者と特徴が類似する利用者に関する各種履歴を除外した学習データを生成し、生成した学習データを用いて、予測モデルの生成を行ってもよい。
すなわち、情報提供装置10は、除外利用者の各種履歴を除外しただけの学習データを生成してもよく、除外利用者の特徴を学習した特徴モデルを用いて、除外利用者と類似する特徴の利用者に関する各種履歴を除外した学習データを生成してもよい。
〔4−2.特定期間の特定について〕
上述した例では、情報提供装置10は、コンテンツの配信数が上昇しつつ、CTRが低下する期間を特定期間として選択した。しかしながら、実施形態は、これに限定されるものではない。例えば、情報提供装置10は、単純にCTRが低下する期間を特定期間として特定してもよい。また、情報提供装置10は、CTRが低下するタイミングを基準として特定期間を選択するのであれば、CTRが上昇するような期間やCTRが低下してから元に戻るような期間を含む特定期間を特定してもよい。
〔4−3.装置構成〕
情報提供装置10は、フロントエンドサーバと、バックエンドサーバとで実現されてもよい。このような場合、フロントエンドサーバには、図3に示す取得部41、特定部42、抽出部43が配置され、バックエンドサーバには、特徴学習部44、生成部45、および傾向学習部46が配置される。また、記憶部30に登録された各データベース31、32は、外部のストレージサーバに保持されていてもよい。
〔4−4.その他〕
また、上記実施形態において説明した各処理のうち、自動的に行われるものとして説明した処理の全部または一部を手動的に行うこともでき、逆に、手動的に行われるものとして説明した処理の全部または一部を公知の方法で自動的に行うこともできる。この他、上記文書中や図面中で示した処理手順、具体的名称、各種のデータやパラメータを含む情報については、特記する場合を除いて任意に変更することができる。例えば、各図に示した各種情報は、図示した情報に限られない。
また、図示した各装置の各構成要素は機能概念的なものであり、必ずしも物理的に図示の如く構成されることを要しない。すなわち、各装置の分散・統合の具体的形態は図示のものに限られず、その全部または一部を、各種の負荷や使用状況などに応じて、任意の単位で機能的または物理的に分散・統合して構成することができる。
また、上記してきた各実施形態は、処理内容を矛盾させない範囲で適宜組み合わせることが可能である。
〔4−5.プログラム〕
また、上述した実施形態に係る情報提供装置10は、例えば図9に示すような構成のコンピュータ1000によって実現される。図9は、ハードウェア構成の一例を示す図である。コンピュータ1000は、出力装置1010、入力装置1020と接続され、演算装置1030、一次記憶装置1040、二次記憶装置1050、出力IF(Interface)1060、入力IF1070、ネットワークIF1080がバス1090により接続された形態を有する。
演算装置1030は、一次記憶装置1040や二次記憶装置1050に格納されたプログラムや入力装置1020から読み出したプログラム等に基づいて動作し、各種の処理を実行する。一次記憶装置1040は、RAM等、演算装置1030が各種の演算に用いるデータを一次的に記憶するメモリ装置である。また、二次記憶装置1050は、演算装置1030が各種の演算に用いるデータや、各種のデータベースが登録される記憶装置であり、ROM(Read Only Memory)、HDD(Hard Disk Drive)、フラッシュメモリ等により実現される。
出力IF1060は、モニタやプリンタといった各種の情報を出力する出力装置1010に対し、出力対象となる情報を送信するためのインタフェースであり、例えば、USB(Universal Serial Bus)やDVI(Digital Visual Interface)、HDMI(登録商標)(High Definition Multimedia Interface)といった規格のコネクタにより実現される。また、入力IF1070は、マウス、キーボード、およびスキャナ等といった各種の入力装置1020から情報を受信するためのインタフェースであり、例えば、USB等により実現される。
なお、入力装置1020は、例えば、CD(Compact Disc)、DVD(Digital Versatile Disc)、PD(Phase change rewritable Disk)等の光学記録媒体、MO(Magneto-Optical disk)等の光磁気記録媒体、テープ媒体、磁気記録媒体、または半導体メモリ等から情報を読み出す装置であってもよい。また、入力装置1020は、USBメモリ等の外付け記憶媒体であってもよい。
ネットワークIF1080は、ネットワークNを介して他の機器からデータを受信して演算装置1030へ送り、また、ネットワークNを介して演算装置1030が生成したデータを他の機器へ送信する。
演算装置1030は、出力IF1060や入力IF1070を介して、出力装置1010や入力装置1020の制御を行う。例えば、演算装置1030は、入力装置1020や二次記憶装置1050からプログラムを一次記憶装置1040上にロードし、ロードしたプログラムを実行する。
例えば、コンピュータ1000が情報提供装置10として機能する場合、コンピュータ1000の演算装置1030は、一次記憶装置1040上にロードされたプログラムを実行することにより、制御部40の機能を実現する。
〔5.効果〕
上述したように、情報提供装置10は、コンテンツの選択割合が減少する期間を特定する。そして、情報提供装置10は、特定期間にそのコンテンツが配信された利用者の中から所定の条件を満たす利用者を抽出する。このため、情報提供装置10は、コンテンツを選択しない利用者、巡回ボット、CTRを下げようとする利用者を効率よく抽出できるので、予測モデルの学習に適さない履歴の利用者を抽出することができる。
また、情報提供装置10は、選択割合として、コンテンツの配信回数に対する選択回数の割合が所定の閾値を超えて減少する期間を特定する。例えば、情報提供装置10は、コンテンツの単位時間当たりの配信回数が上昇し、かつ、そのコンテンツの選択割合が減少する期間を特定する。このため、情報提供装置10は、予測モデルの学習に適さない履歴の利用者が多くアクセスしている期間を特定期間として特定できる。
また、情報提供装置10は、所定の条件として、特定された期間にコンテンツが配信される可能性が低い利用者を抽出する。また、情報提供装置10は、所定の条件として、特定された期間にコンテンツを選択する可能性が低い利用者を抽出する。このため、情報提供装置10は、予測モデルの学習に適さない履歴の利用者を適切に抽出できる。
また、情報提供装置10は、コンテンツの配信履歴および選択履歴から、抽出された利用者に対する配信履歴および選択履歴を除外した情報を生成する。このため、情報提供装置10は、予測モデルを精度よく学習できる学習データを生成できる。
また、情報提供装置10は、抽出された利用者の特徴を学習し、コンテンツの配信履歴および選択履歴から、学習された特徴を有する利用者に対する配信履歴および選択履歴を除外した情報を生成する。このため、情報提供装置10は、履歴があまりない利用者についても、予測モデルの学習に適しているか否かを推定することができるので、予測モデルを精度よく学習できる学習データを生成できる。
また、情報提供装置10は、利用者の特徴として、所定期間において所定のアクセス先にアクセスした回数、所定期間において注目されていると判定された情報とアクセス回数との共起性、または、利用者に対して所定の情報をプッシュ通知する設定がなされているか否かの少なくともいずれか1つを学習する。このため、情報提供装置10は、予測モデルを精度よく学習できる学習データを生成できる。
また、情報提供装置10は、生成された情報を用いて、コンテンツを選択する利用者の傾向を学習する。このため、情報提供装置10は、予測モデルの予測精度を向上させることができる。
以上、本願の実施形態のいくつかを図面に基づいて詳細に説明したが、これらは例示であり、発明の開示の欄に記載の態様を始めとして、当業者の知識に基づいて種々の変形、改良を施した他の形態で本発明を実施することが可能である。
また、上記してきた「部(section、module、unit)」は、「手段」や「回路」などに読み替えることができる。例えば、提供部は、提供手段や提供回路に読み替えることができる。