(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】6680663
(24)【登録日】2020年3月24日
(45)【発行日】2020年4月15日
(54)【発明の名称】情報処理装置、情報処理方法、予測モデルの生成装置、予測モデルの生成方法、およびプログラム
(51)【国際特許分類】
G06N 20/20 20190101AFI20200406BHJP
G06N 5/02 20060101ALI20200406BHJP
【FI】
G06N20/20
G06N5/02 120
【請求項の数】6
【全頁数】10
(21)【出願番号】特願2016-218927(P2016-218927)
(22)【出願日】2016年11月9日
(65)【公開番号】特開2018-77671(P2018-77671A)
(43)【公開日】2018年5月17日
【審査請求日】2019年3月25日
(73)【特許権者】
【識別番号】319013263
【氏名又は名称】ヤフー株式会社
(74)【代理人】
【識別番号】100149548
【弁理士】
【氏名又は名称】松沼 泰史
(74)【代理人】
【識別番号】100154852
【弁理士】
【氏名又は名称】酒井 太一
(74)【代理人】
【識別番号】100181124
【弁理士】
【氏名又は名称】沖田 壮男
(74)【代理人】
【識別番号】100194087
【弁理士】
【氏名又は名称】渡辺 伸一
(72)【発明者】
【氏名】金政 実
【審査官】
今城 朋彬
(56)【参考文献】
【文献】
特開2016−040650(JP,A)
【文献】
特開2009−026326(JP,A)
【文献】
特開2016−181196(JP,A)
(58)【調査した分野】(Int.Cl.,DB名)
G06N 20/00−20/20
G06N 5/02
(57)【特許請求の範囲】
【請求項1】
それぞれが異なるアルゴリズムを実行することにより対象データを解析することで、所定の事象が生起する確率を表す複数の第1予測結果を生成する複数の第1予測部であって、正解データ群を学習した予測モデルに基づいて前記第1予測結果を生成する複数の第1予測部と、
前記正解データ群と異なる正解データを含むブレンディングデータ群を前記複数の予測モデルにより解析した結果としての複数の予測結果に基づいて、第2予測結果を生成するためのアルゴリズムを調整する調整部と、
前記調整部により調整されたアルゴリズムを実行することで、前記第1予測結果に基づいて前記所定の事象が生起する確率を表す前記第2予測結果を生成する第2予測部と、
を備える、情報処理装置。
【請求項2】
それぞれが異なるアルゴリズムを実行することにより対象データを解析することで所定の事象が生起する確率を表す複数の第1予測結果を生成するために実行される複数の予測モデルであって、正解データ群を学習した予測モデルを生成し、
前記正解データ群と異なる正解データを含むブレンディングデータ群を前記複数の予測モデルにより解析した結果としての複数の予測結果に基づいて、第2予測結果を生成するためのアルゴリズムを調整し、
調整されたアルゴリズムを実行することで、前記第1予測結果に基づいて前記所定の事象が生起する確率を表す前記第2予測結果を生成する、
情報処理方法。
【請求項3】
コンピュータに、
それぞれが異なるアルゴリズムを実行することにより対象データを解析することで所定の事象が生起する確率を表す複数の第1予測結果を生成するために実行される複数の予測モデルであって、正解データ群を学習した予測モデルを生成させ、
前記正解データ群と異なる正解データを含むブレンディングデータ群を前記複数の予測モデルにより解析した結果としての複数の予測結果に基づいて、第2予測結果を生成するためのアルゴリズムを調整させ、
調整されたアルゴリズムを実行することで、前記第1予測結果に基づいて前記所定の事象が生起する確率を表す前記第2予測結果を生成させる、
プログラム。
【請求項4】
それぞれが異なるアルゴリズムを実行することにより対象データを解析することで所定の事象が生起する確率を表す複数の第1予測結果を生成する複数の予測モデルであって、正解データ群を学習した予測モデルを生成する生成部と、
前記正解データ群と異なる正解データを含むブレンディングデータ群を前記複数の予測モデルにより解析した結果としての複数の予測結果に基づいて、第2予測結果を生成するためのアルゴリズムを調整する調整部と
を備える、予測モデルの生成装置。
【請求項5】
それぞれが異なるアルゴリズムを実行することにより対象データを解析することで所定の事象が生起する確率を表す複数の第1予測結果を生成する複数の予測モデルであって、正解データ群を学習した予測モデルを生成し、
前記正解データ群と異なる正解データを含むブレンディングデータ群を前記複数の予測モデルにより解析した結果としての複数の予測結果に基づいて、第2予測結果を生成するためのアルゴリズムを調整する、
予測モデルの生成方法。
【請求項6】
コンピュータに、
それぞれが異なるアルゴリズムを実行することにより対象データを解析することで所定の事象が生起する確率を表す複数の第1予測結果を生成する複数の予測モデルであって、正解データ群を学習した予測モデルを生成させ、
前記正解データ群と異なる正解データを含むブレンディングデータ群を前記複数の予測モデルにより解析した結果としての複数の予測結果に基づいて、第2予測結果を生成するためのアルゴリズムを調整させる、
プログラム。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、情報処理装置、情報処理方法、予測モデルの生成装置、予測モデルの生成方法、およびプログラムに関する。
【背景技術】
【0002】
従来、ユーザが、広告やニュース記事など配信情報をクリックするかを予測して、予測結果に基づいて配信情報を選択する技術が知られている。これに関連して、複数の学習器により生成された複数の予測結果に基づいて、最終的な予測結果を生成するスタッキングと称される技術が知られている(非特許文献1参照)。
【先行技術文献】
【非特許文献】
【0003】
【非特許文献1】Sill Joseph, et al.”Feature-Weighted Linear Stacking”arXiv preprint arXiv:0911.0460(2009)
【発明の概要】
【発明が解決しようとする課題】
【0004】
しかしながら、従来の技術では、予測結果に基づいて広告やニュース記事など情報を配信しても、ユーザの興味のない情報に対してクリックがされることは少ないため、情報配信の効果が向上しないという問題があった。
【0005】
本発明は、このような事情を考慮してなされたものであり、予測精度をさらに向上させることができる情報処理装置、情報処理方法、予測モデルの生成装置、予測モデルの生成方法、およびプログラムを提供することを目的の一つとする。
【課題を解決するための手段】
【0006】
本発明の一態様は、それぞれが異なるアルゴリズムを実行することにより対象データを解析することで、所定の事象が生起する確率を表す複数の第1予測結果を生成する複数の第1予測部であって、正解データ群を学習した予測モデルに基づいて前記第1予測結果を生成する複数の第1予測部と、前記正解データ群と異なる正解データを含むブレンディングデータ群を前記複数の予測モデルにより解析した結果としての複数の予測結果に基づいて、第2予測結果を生成するためのアルゴリズムを調整する調整部と、前記調整部により調整されたアルゴリズムを実行することで、前記第1予測結果に基づいて前記所定の事象が生起する確率を表す前記第2予測結果を生成する第2予測部と、を備える、情報処理装置である。
【発明の効果】
【0007】
本発明の一態様によれば、予測精度をさらに向上させることができる。
【図面の簡単な説明】
【0008】
【
図1】コンテンツ提供システム1の一例を示す構成図である。
【
図2】コンテンツ配信装置200の一例を示す構成図である。
【
図3】情報解析装置400の一例を示す構成図である。
【
図5】予測結果生成部450におけるアルゴリズムの調整処理の流れの一例を示すフローチャートである。
【
図6】線形分離による対象データの予測処理の一例を示す図である。
【
図7】線形分離および非線形分離による対象データの予測処理の一例を示す図である。
【
図8】情報解析装置400のハードウェア構成の一例を示す図である。
【発明を実施するための形態】
【0009】
以下、図面を参照し、本発明の情報処理装置、情報処理方法、予測モデルの生成方法、予測モデルの生成装置、およびプログラムの実施形態について説明する。
【0010】
<実施形態の概要>
実施形態のコンテンツ提供システム1は、対象データを解析することで所定の事象が生起する確率を予測する複数の第1予測部と、複数の第1予測部により予測された結果に基づいて所定の事象が生起する確率を予測する第2予測部とを備えるものである。コンテンツ提供システム1は、まず、予測アルゴリズムが異なる複数の第1予測部のそれぞれにより、所定の事象が生起する確率を予測することで複数の確率を取得し、次に、第2予測部により、複数の確率に基づいて所定の事象が生起する確率をさらに予測する。
【0011】
第1予測部は、正解データ群を学習した予測モデルに基づいて第1予測結果を生成するものである。コンテンツ提供システム1は、さらに、正解データ群と異なる正解データを含むブレンディングデータ群を複数の予測モデルにより解析した結果としての複数の予測結果に基づいて、第2予測結果を生成するためのアルゴリズムを調整する。第2予測部は、調整されたアルゴリズムを実行することで、第1予測結果に基づいて所定の事象が生起する確率を表す第2予測結果を生成する。これにより、コンテンツ提供システム1は、予測の精度を向上させることができる。
【0012】
所定の事象とは、例えば、ウェブページにニュースタイトルや広告コンテンツなどを掲載した場合において、ニュースタイトルや広告コンテンツがクリックされることである。所定の事象が生起する確率とは、例えば、ニュースタイトルや広告コンテンツがクリックされる確率である。なお、所定の事象とは、所定期間においてニュースタイトルや広告コンテンツがクリックされる回数であってもよく、所定の事象が生起する確率とは、所定期間においてニュースタイトルや広告コンテンツがクリックされる回数が所定回数を超える確率であってもよい。コンテンツ提供システム1は、ウェブページのうち限られた領域にニュースタイトルや広告コンテンツを掲載する場合において、ニュースタイトルや広告コンテンツがクリックされる確率を予測して、予測された確率が高いニュースタイトルや広告コンテンツを配信することができる。
【0013】
<コンテンツ提供システム1の構成>
図1は、コンテンツ提供システム1の一例を示す構成図である。コンテンツ提供システム1は、例えば、端末装置100と、コンテンツ配信装置200と、データサーバ300と、情報解析装置400とを備える。
図1の例では、端末装置100と、コンテンツ配信装置200と、データサーバ300と、情報解析装置400とが、ネットワークNWに接続されている。ネットワークNWに接続される各装置は、NIC(Network Interface Card)や無線通信モジュールなどの通信インターフェースを備えている(
図1では不図示)。ネットワークNWは、例えば、無線基地局、Wi−Fiアクセスポイント、通信回線、プロバイダ、インターネットなどを含む。なお、これらの構成要素の全ての組み合わせが相互に通信可能である必要はなく、ネットワークNWは、一部にローカルなネットワークを含んでもよい。また、これらの構成要素の全ての組み合わせが相互に通信可能である必要はなく、ネットワークNWは、一部にローカルなネットワークを含んでもよい。なお、コンテンツ配信装置200、データサーバ300、および情報解析装置400とは、一部または全部は、統合されて一つの装置とされてもよい。
【0014】
端末装置100は、ユーザ(一般利用者)によって使用される装置である。端末装置100は、例えば、スマートフォンなどの携帯電話、タブレット端末、パーソナルコンピュータなどのコンピュータ装置(通信装置)である。端末装置100は、ウェブブラウザなどのUA(User Agent)が起動し、ユーザによって所定の操作がなされることで、コンテンツ配信装置200に対してHTTP(Hypertext Transfer Protocol)リクエストを送信する。そして、端末装置100は、コンテンツ配信装置200から返信されたコンテンツに基づいてウェブ画面を生成し、表示部に表示させる。なお、コンテンツを取得するための手段として、ウェブブラウザに代えて、任意のアプリケーションプログラムが使用されてもよい。端末装置100は、ユーザの操作を受け付けることで、ウェブ画面に含まれるコンテンツのうち、いずれかのコンテンツを選択する。端末装置100は、選択したコンテンツに関連づけられたコンテンツの閲覧リクエストをコンテンツ配信装置200に送信する。
【0015】
コンテンツ配信装置200は、例えば、ニュース記事や広告などのコンテンツを提供するサーバ装置である。コンテンツ配信装置200は、端末装置100から受信したコンテンツの閲覧リクエストに応じて、コンテンツを提供する。
図2は、コンテンツ配信装置200の一例を示す構成図である。コンテンツ配信装置200は、例えば、コンテンツ蓄積部210と、リクエスト受付部220と、コンテンツ選択部230とを備える。
【0016】
コンテンツ蓄積部210は、例えば、HDD(Hard Disk Drive)やフラッシュメモリ、RAM(Random Access Memory)、ROM(Read Only Memory)、或いはこれらのうち複数を組み合わせたハイブリッド型記憶装置により実現される。また、コンテンツ蓄積部210の一部または全部は、NAS(Network Attached Storage)や外部のストレージサーバなど、コンテンツ配信装置200がアクセス可能な外部装置であってよい。コンテンツ蓄積部210は、端末装置100に提供するコンテンツデータを蓄積する。
【0017】
リクエスト受付部220およびコンテンツ選択部230を含む機能部のうち一部または全部は、LSI(Large Scale Integration)、ASIC(Application Specific Integrated Circuit)、またはFPGA(Field-Programmable Gate Array)などのハードウェアにより実現されてもよいし、ソフトウェアとハードウェアが協働することで実現されてもよい。リクエスト受付部220は、端末装置100から受信した閲覧リクエストを受け付ける。リクエスト受付部220は、閲覧リクエストを受け付けたことに応じて、当該閲覧リクエストに含まれる情報を、対象データとして情報解析装置400に送信する。閲覧リクエストに含まれる情報は、例えば、ユーザ情報やクエリなどである。コンテンツ選択部230は、情報解析装置400の予測結果に基づいて、コンテンツ蓄積部210に蓄積されたコンテンツのうち、端末装置100に配信するコンテンツを選択する。
【0018】
データサーバ300は、例えば、HDDやフラッシュメモリ、RAM、ROM、或いはこれらのうち複数を組み合わせたハイブリッド型記憶装置を備えるサーバ装置である。データサーバ300の一部または全部は、NAS(Network Attached Storage)や外部のストレージサーバなど、データサーバ300がアクセス可能な外部装置を備えていてもよい。データサーバ300は、情報解析装置400において解析対象となる対象データを蓄積する。具体的に、データサーバ300は、端末装置100を操作するユーザの属性などのユーザ情報、端末装置100からコンテンツ配信装置200に送信したクエリ、コンテンツ配信装置200から端末装置100に配信したコンテンツ、配信したコンテンツのうちクリックされたコンテンツ、各コンテンツのクリック回数などの履歴データなどの様々なデータを蓄積する。対象データとしてのコンテンツは、例えば、ニュース記事において出現する単語である。
【0019】
「情報解析装置400」
図3は、情報解析装置400の一例を示す構成図である。情報解析装置400は、例えば、正解データ収集部410と、データ蓄積部420と、複数の予測部430−1、・・・430−Nと、対象データ受付部440と、予測結果生成部450と、調整部460とを備える。なお、以下の説明において予測部を他の予測部と区別しない場合、「予測部430」と記載する。Nは2以上の自然数である。正解データ収集部410、複数の予測部430−1、・・・430−N、対象データ受付部440、予測結果生成部450を含む機能部のうち一部または全部は、LSI、ASIC、またはFPGAなどのハードウェアにより実現されてもよいし、ソフトウェアとハードウェアが協働することで実現されてもよい。
【0020】
正解データ収集部410は、データサーバ300から正解データを収集する。正解データは、対象データと同種のデータに、正解となるタグ情報を付加したデータである。具値的に、正解データは、ニュース記事のタイトルを表すコンテンツデータに、ニュース記事のタイトルがクリックされたか否かを表すタグ情報が付加されたデータである。正解データ収集部410は、収集した正解データをデータ蓄積部420に記憶させる。
【0021】
データ蓄積部420は、例えば、HDDやフラッシュメモリ、RAM、ROM、或いはこれらのうち複数を組み合わせたハイブリッド型記憶装置により実現される。また、データ蓄積部420の一部または全部は、NASや外部のストレージサーバなど、情報解析装置400がアクセス可能な外部装置であってよい。データ蓄積部420は、正解データ収集部410により収集された正解データを蓄積する。データ蓄積部420に蓄積された正解データは、予測部430を学習するための正解データと、予測部430の組み合わせを調整するためのブレンディングデータと、予測結果を評価するためのテストデータとに区分される。
【0022】
「予測部430の構成」
予測部430は、予測アルゴリズムにより対象データを解析することで所定の事象が生起する確率を予測する。ある予測部430の予測アルゴリズムは、他の予測部430の予測アルゴリズムとは異なる。予測アルゴリズムは、例えば、ニューラルネットワーク、GBDT(Gradient Boosting Decision Tree)、ロジスティック回帰、SVM(Support Vector Machine)、ランダムフォレストなどの機械学習のアルゴリズムが挙げられる。
【0023】
図4は、予測部430の一例を示す構成図である。予測部430は、学習部432と、モデルパラメータ記憶部434と、予測処理部436とを備える。学習部432は、正解データに基づいて予測モデルの生成を行う。学習部432は、例えば、予測モデルがニューラルネットワークを利用したモデルである場合、ニューラルネットワークにおける処理パラメータを生成および更新する。学習部432は、生成および更新した処理パラメータを、予測モデルの処理パラメータとしてモデルパラメータ記憶部434に記憶する。予測モデルとは、学習した結果としての処理パラメータに従って予測アルゴリズムを実行するソフトウェアである。モデルパラメータ記憶部434は、予測モデルの処理パラメータを記憶する。なお、モデルパラメータ記憶部434は、他の予測部430により生成された処理パラメータを記憶する記憶部と兼用であってもよい。予測処理部436は、対象データが供給される。予測処理部436は、予測モデルの処理パラメータをモデルパラメータ記憶部434から読み出す。予測処理部446は、読み出した処理パラメータに従って、対象データについて、所定の事象が生起する確率を予測する。具体的に、予測処理部436は、ニュース記事のタイトルを表すコンテンツデータが対象データとして供給された場合に、当該ニュース記事のタイトルがクリックされる確率を予測する。
【0024】
図3に戻る。対象データ受付部440は、対象データを受け付ける。具体的に、対象データ受付部440は、コンテンツ配信装置200から複数のコンテンツデータを、対象データとして受け付ける。
【0025】
「予測結果生成部450および調整部460」
予測結果生成部450は、複数の予測部430−1〜430−Nの予測結果(以下、複数の第1予測結果)に基づいて、所定の事象が生起する確率を表す予測結果(以下、第2予測結果)を生成する。予測結果生成部450は、第2予測結果を生成するためのアルゴリズムを実行する。第2予測結果を生成するためのアルゴリズムは、調整部460により調整される。第2予測結果を生成するためのアルゴリズムは、例えば、複数の第1予測結果に重み付けを付けて足し合わせることで第2予測結果を生成するための計算手順を表す。また、予測結果生成部450は、複数の第1予測結果をSVMなどの所定の予測アルゴリズムにより計算して第2予測結果を生成してもよい。
【0026】
調整部460は、正解データ群と異なる正解データを含むブレンディングデータ群を複数の予測モデルにより解析した結果としての複数の予測結果に基づいて、第2予測結果を生成するためのアルゴリズムを調整する。
【0027】
「予測結果生成部450におけるアルゴリズムの調整」
図5は、予測結果生成部450におけるアルゴリズムの調整処理の流れの一例を示すフローチャートである。まず、情報解析装置400は、訓練データを用いて複数の予測部430により学習処理を実行する(S10)。次に、情報解析装置400は、学習処理を実行した複数の予測部430のそれぞれにより、ブレンディングデータを用いて予測処理を行う(S20)。次に、情報解析装置400は、複数の予測部430の予測結果を用いて、予測結果生成部450におけるアルゴリズムの調整処理として、例えば、予測部430の組み合わせを調整する(S30)。情報解析装置400は、例えば、予測結果生成部450に第1予測結果を出力する予測部430と、予測結果生成部450に第1予測結果を出力しない予測部430との組み合わせを変更する。次に、情報解析装置400は、テストデータを用いて、組み合わせが調整された複数の予測部430、および予測結果生成部450により予測処理を行い、予測結果を評価する処理を行う(S40)。
【0028】
「予測処理」
図6は、線形分離による対象データの予測処理の一例を示す図である。情報解析装置400は、クリックされたニュース記事のタイトルを複数含む対象データD1と、クリックされなかったニュース記事のタイトルを複数含む対象データD2とを受け付けたものとする。情報解析装置400は、直線L1を境界に対象データD1とD2とを線形分離することができる予測モデルを実行する予測部430と、直線L2を境界に対象データD1とD2とを線形分離することができる予測モデルを実行する予測部430とを選択する。これにより、予測結果生成部450は、直線L1およびL2の双方により分離した第2予測結果を生成することができる。具体的に、予測結果生成部450は、直線L1およびL2の双方のOR条件により予測処理を行うことができる。
【0029】
図7は、線形分離および非線形分離による対象データの予測処理の一例を示す図である。情報解析装置400は、直線L1を境界に対象データD1とD2とを線形分離することができる予測モデルを実行する予測部430と、曲線L3を境界に対象データD1とD2とを非線形分離することができる予測モデルを実行する予測部430とを選択する。これにより、予測結果生成部450は、直線L1および曲線L3の双方により分離した第2予測結果を生成することができる。
【0030】
なお、情報解析装置400は、ニュース記事のタイトルがクリックされたか否かを予測したが、これに限定されず、ユーザの性別などのユーザ情報を加えて、女性のユーザがニュース記事のタイトルがクリックしたか否かを予測してもよい。
【0031】
以上説明したように、実施形態のコンテンツ提供システム1によれば、正解データ群を学習した予測モデルとして生成された複数の予測部430(第1予測部)と、正解データ群と異なる正解データを含むブレンディングデータ群に対して予測部430のそれぞれにより予測した複数の予測結果に基づいて、複数の予測部430のうち第2予測結果を生成するための予測部430を選択し、選択された予測部430により生成された第1予測結果に基づいて、所定の事象が生起する確率を表す第2予測結果を生成する予測結果生成部450を備えるので、単一の予測部430により予測処理を行うよりも予測精度を高くすることができる。
【0032】
<ハードウェア構成>
図8は、情報解析装置400のハードウェア構成の一例を示す図である。情報解析装置400は、例えば、NIC401、CPU402、RAM403、ROM404、フラッシュメモリやHDDなどの二次記憶装置405、およびドライブ装置406が、内部バスあるいは専用通信線によって相互に接続された構成となっている。ドライブ装置406には、光ディスクなどの可搬型記憶媒体が装着される。二次記憶装置405、またはドライブ装置406に装着された可搬型記憶媒体に記憶されたプログラムがDMAコントローラ(不図示)などによってRAM403に展開され、CPU402によって実行されることで、情報解析装置400の機能部が実現される。
【0033】
以上、本発明を実施するための形態について実施形態を用いて説明したが、本発明はこうした実施形態に何等限定されるものではなく、本発明の要旨を逸脱しない範囲内において種々の変形及び置換を加えることができる。
【符号の説明】
【0034】
1…コンテンツ提供システム、100…端末装置、200…コンテンツ配信装置、230…コンテンツ選択部、300…データサーバ、400…情報解析装置、410…正解データ収集部、420…データ蓄積部、430…予測部、432…学習部、434…モデルパラメータ記憶部、436…予測処理部、440…対象データ受付部、446…予測処理部、450…予測結果生成部