(58)【調査した分野】(Int.Cl.,DB名)
【発明を実施するための形態】
【0009】
以下、本発明を適用した解析装置、情報提供装置、解析方法、およびプログラムを、図面を参照して説明する。
【0010】
[概要]
解析装置は、一以上のプロセッサによって実現される。解析装置は、原画像ORGから切り出されたクロッピング画像CRPが掲載された電子ページを閲覧したユーザによってとられた行動が評価された評価値を取得する。そして、解析装置は、原画像ORGにおいてクロッピング画像CRPが切り出された領域に関するパラメータと、取得した評価値とに基づいて、未知関数の最適化手法により、クロッピング画像CRPを切り出す領域のパラメータとして好ましい改善パラメータを決定し、決定した改善パラメータを出力する。これによって、自装置が、或いは他装置が、電子ページに掲載する画像として、より好適な画像を自動的に生成することができる。
【0011】
未知関数の最適化手法とは、事前に形状が分からない未知関数(未知の目的関数)を最適化する手法であり、例えば、ベイズ的最適化手法、遺伝的アルゴリズム、差分進化法、焼きなまし法、グリッドサーチ法などである。以下の実施形態では、未知関数の最適化手法としてベイズ的最適化手法を適用した場合の例について説明するが、遺伝的アルゴリズムや差分進化法などの他の手法を用いてもよい。この場合、更に、分布推定アルゴリズム(Estimation of Distribution Algorithms)などを利用して、最適化手法として行われる探索処理の過程で得られるパラメータ(探索点)を基に、ある確率モデルに従う関数(分布)を求めてもよい。
【0012】
ベイズ的最適化手法とは、上述したように、ある未知関数を導出する際に、何かしらの事前分布を仮定し、関数の事後分布を基に未知関数を最適化する手法である。本実施形態では、一例として、ガウス過程(Gaussian process)と呼ばれる確率過程(確率変数の集合)を用いて事前分布を仮定するベイズ的最適化手法について説明するが、他の確率過程を用いて事前分布を仮定してもよい。
【0013】
<第1実施形態>
[全体構成]
図1は、第1実施形態における解析装置200を含む解析システム1の一例を示す図である。第1実施形態における解析システム1は、例えば、一以上の端末装置10と、サービス提供装置100と、解析装置200とを備える。これらの装置は、ネットワークNWを介して接続される。なお、サービス提供装置100は、解析装置200内に集約されていてもよい。サービス提供装置100は、「情報提供装置」の一例である。
【0014】
図1に示す各装置は、ネットワークNWを介して種々の情報を送受信する。ネットワークNWは、例えば、無線基地局、Wi‐Fiアクセスポイント、通信回線、プロバイダ、インターネットなどを含む。なお、
図1に示す各装置の全ての組み合わせが相互に通信可能である必要はなく、ネットワークNWは、一部にローカルなネットワークを含んでもよい。
【0015】
端末装置10は、ユーザによって使用される装置である。端末装置10は、例えば、スマートフォンなどの携帯電話、タブレット端末、パーソナルコンピュータなどのコンピュータ装置である。
【0016】
端末装置10は、ユーザから所定の操作を受け付けると、ウェブブラウザを介して、サービス提供装置100が提供するウェブサイトにアクセスする。例えば、サービス提供装置100により提供されるウェブサイトは、ニュースや天気予報などの情報提供サイトや、検索サイト、ショッピングサイトなどであってもよいし、SNS(Social Networking Service)やメールサービスなどを享受可能なウェブサイトであってもよい。
【0017】
また、端末装置10は、ユーザから所定の操作を受け付けると、予めインストールされたアプリケーションを介してサービス提供装置100と通信を行い、アプリケーション上で表示或いは再生するコンテンツを取得する。コンテンツは、例えば、テキストデータや、画像データ、動画データ、音声データなどである。これによって、端末装置10には、アプリケーションを介して、上述した各種ウェブサイトにより提供されるサービス(情報提供、検索、ショッピングなど)と同様のサービスが提供される。
【0018】
サービス提供装置100は、インターネット上において、ショッピングサイトや検索サイトなどのウェブサイトを提供するウェブサーバ装置であってよいし、アプリケーションが起動された端末装置10と通信を行って、各種情報の受け渡しを行うアプリケーションサーバ装置であってもよい。
【0019】
以下、サービス提供装置100によりサービスとして提供されるウェブページまたはアプリケーション用のページを、電子ページと総称して説明する。
【0020】
図2は、サービス提供装置100により提供される電子ページの一例を示す図である。図示のように、電子ページには、例えば、ニュースなどの記事ATCと、その記事ATCの内容に関連した原画像ORGの一部(後述するクロッピング画像CRP)と、その記事ATCの詳細内容を紹介する記事が掲載された電子ページへのリンク(例えばハイパーリンク等)Lとが掲載される。例えば、電子ページに掲載される記事ATCが有名人などの特定の人物を紹介する記事である場合、「記事ATCの内容に関連した原画像ORG」は、その人物の全体画像(例えば頭から足先までを収めた全身の画像)である。この原画像ORGの一部とは、例えば、上半身や頭部のみが写された領域を切り出したクロッピング画像CRPである。以下、リンクLからアクセス可能な電子ページを「リンク先ページ」と称し、記事ATCやクロッピング画像CRP、リンクLが掲載される電子ページを「リンク元ページ」と称して説明する。
【0021】
解析装置200は、例えば、リンク元ページに掲載されるクロッピング画像CRPが原画像ORGから切り出された領域に関するパラメータ(以下、クロップパラメータと称する)として好ましい改善パラメータを、ベイズ的最適化手法などの未知関数の最適化手法により決定する。「好ましい」とは、現在のパラメータを改善パラメータに変更するのを推奨する、という意味である。
【0022】
[サービス提供装置の構成]
以下、サービス提供装置100および解析装置200の各構成について説明する。
図3は、第1実施形態におけるサービス提供装置100の構成の一例を示す図である。図示のように、サービス提供装置100は、例えば、サービス提供側通信部102と、サービス提供側制御部110と、サービス提供側記憶部130とを備える。
【0023】
サービス提供側通信部102は、例えば、NIC(Network Interface Card)などの通信インターフェースやDMA(Direct Memory Access)コントローラを含む。サービス提供側通信部102は、ネットワークNWを介して、端末装置10や解析装置200などと通信する。
【0024】
サービス提供側制御部110は、例えば、サービス提供部112と、画像処理部114と、評価値導出部116とを備える。サービス提供側制御部110の構成要素は、例えば、CPU(Central Processing Unit)やGPU(Graphics Processing Unit)などのプロセッサがサービス提供側記憶部130に格納されたプログラムを実行することにより実現される。また、サービス提供側制御部110の構成要素の一部または全部は、LSI(Large Scale Integration)、ASIC(Application Specific Integrated Circuit)、またはFPGA(Field-Programmable Gate Array)などのハードウェアにより実現されてもよいし、ソフトウェアとハードウェアの協働によって実現されてもよい。
【0025】
サービス提供側記憶部130は、例えば、HDD(Hard Disc Drive)、フラッシュメモリ、EEPROM(Electrically Erasable Programmable Read Only Memory)、ROM(Read Only Memory)、RAM(Random Access Memory)などにより実現される。サービス提供側記憶部130は、ファームウェアやアプリケーションプログラムなどの各種プログラムの他に、リンク元ページログ情報D1や、リンク先ページログ情報D2、原画像情報D3、クロップパラメータ情報D4、評価情報D5などを記憶する。これらの情報については後述する。
【0026】
サービス提供部112は、サービス提供側通信部102を用いて、サービスとし電子ページを端末装置10に提供する。例えば、サービス提供装置100がウェブサーバ装置である場合、サービス提供部112は、サービス提供側通信部102により端末装置10からHTTP(Hypertext Transfer Protocol)リクエストが受信されると、このリクエストに対応したウェブページとして、HTML形式のテキストデータや、CSS(Cascading Style Sheets)などのスタイルシート、画像データ、動画データ、音声データなどを、HTTPリクエストの送信元である端末装置10に送信する。テキストデータには、例えば、記事ATCが含まれる。また、画像データには、例えば、クロッピング画像CRPが含まれる。これを受けて、端末装置10の画面には、ウェブブラウザの機能によりウェブページが描画される。
【0027】
また、例えば、サービス提供装置100がアプリケーションサーバ装置である場合、サービス提供部112は、アプリケーションが起動された端末装置10からサービス提供側通信部102により所定のリクエストが受信されると、リクエストの送信元である端末装置10に対して、記事ATCを含むテキストデータと、クロッピング画像CRPを含む画像データとをコンテンツとして送信する。端末装置10は、コンテンツを受信すると、例えば、アプリケーションのインストール時に合わせて取得しておいたスタイルシートなどに基づいて、受信したコンテンツを画面上に配置する。これによって、端末装置10の画面には、アプリ用のページが描画される。
【0028】
また、サービス提供部112は、リンク先ページのリンクLが掲載されたリンク元ページについて、例えば、各ページの所定期間におけるインプレッション数などの指標値を収集することで、リンク元ページログ情報D1を生成する。インプレッションとは、例えば、リンク元ページに対してアクセス(訪問)があり、アクセス要求元(例えばHTTPリクエストの送信元)である端末装置10の画面にリンク元ページが表示されることである。
【0029】
図4は、リンク元ページログ情報D1の一例を示す図である。図示の例のように、リンク元ページログ情報D1は、リンク元ページごとに、そのリンク元ページに掲載されたコンテンツのIDと、リンク元ページに掲載されたリンクLに関連付けられた各リンク先ページのページIDと、リンク元ページのインプレッション数とが対応付けられた情報である。図示のように、コンテンツのIDは、例えば、記事ATCのIDおよびクロッピング画像CRPのIDを含む。
【0030】
また、サービス提供部112は、リンク元ページのリンクLからアクセス可能なリンク先ページについて、例えば、リンク元ページからのアクセス数などの指標値を収集することで、リンク先ページログ情報D2を生成する。
【0031】
図5は、リンク先ページログ情報D2の一例を示す図である。図示の例のように、リンク先ページログ情報D2は、各リンク先ページのページIDに、リンク元ページからのアクセス数が対応付けられた情報である。
【0032】
画像処理部114は、サービス提供部112により提供される予定のリンク元ページに掲載される記事ATCの内容に関連した原画像ORGから、クロッピング画像CRPを生成する。例えば、画像処理部114は、原画像情報D3を参照し、サービス提供部112により提供される予定のリンク元ページに掲載される記事ATCの内容に関連した原画像ORGを特定する。
【0033】
図6は、原画像情報D3の一例を示す図である。図示の例のように、原画像情報D3は、原画像ORGのIDに対して、その原画像ORGの画像データと、その原画像ORGに内容が関連した記事ATCのIDとが対応付けられた情報である。このような原画像情報D3は、サービス提供側記憶部130に予め記憶されているものとする。
【0034】
例えば、画像処理部114は、原画像情報D3において、リンク元ページに掲載される記事ATCのIDに対応付けられた原画像ORGの画像データを、記事ATCの内容に関連した原画像ORGとして特定する。
【0035】
そして、画像処理部114は、クロップパラメータ情報D4を参照し、特定した原画像ORGにおいて、クロッピング画像CRPとして切り出す画像領域(以下、クロップウィンドウと称する)を決定する。クロップパラメータ情報D4は、原画像ORGごとにクロップウィンドウを決定するための種々のクロップパラメータを示す情報である。
【0036】
図7は、クロップパラメータ情報D4の一例を示す図である。図示のように、クロップパラメータ情報D4は、原画像ORGのIDごとに、その原画像ORGに対するクロップウィンドウの位置、クロップウィンドウのサイズ、クロップウィンドウのアスペクト比といったクロップパラメータが対応付けられた情報である。例えば、クロップウィンドウの位置は、原画像ORGの所定位置を原点Oとし、その原点Oを基準としたときの原画像ORGの幅方向の座標と高さ方向の座標によって表される。クロップウィンドウのサイズは、例えば、ウィンドウの形状が略四角形状である場合、ある一辺の大きさAと、その一辺に接するまたは交差する他の一辺の大きさBによって表される。また、クロップウィンドウのアスペクト比は、例えば、上述したある一辺の大きさAと、他の一辺の大きさBとの比率によって表される。画像処理部114は、このような各パラメータに従って、原画像ORGにクロップウィンドウを設定し、その設定したクロップウィンドウと重なる画像領域を、クロッピング画像CRPとして切り出す。このようなクロップパラメータは、解析装置200により改善パラメータが決定されると変更される。なお、改善パラメータが決定されるまでは、クロップパラメータとして、予め決められたデフォルトのパラメータが設定されているものとする。
【0037】
図8は、クロッピング画像CRPの切り出し方法について説明するための図である。図中Xは、原画像ORGにおける幅方向を表し、Yは、原画像ORGにおける高さ方向を表している。また、図中Wは、クロップウィンドウを表し、CPは、クロップウィンドウの中心位置を表している。例えば、特定した原画像ORGのIDが「ORG_i」であった場合、画像処理部114は、クロップパラメータ情報D4を参照し、原画像ORG_iに対応付けられたクロップパラメータに従って、適宜サイズを変更しながら原画像ORG_i上にクロップウィンドウWを設定する。そして、画像処理部114は、原画像ORG_i上に設定したクロップウィンドウWと重なる画像領域を、原画像ORG_iに対応したクロッピング画像CRP_iとして切り出す。これによって、クロッピング画像CRP_iが生成される。
【0038】
なお、クロップパラメータには、上述したクロップウィンドウの位置、サイズ、アスペクト比に代えて或いは加えて、例えば、クロップウィンドウの形状(楕円形状や四角形状を含む多角形状等)を指定するパラメータが含まれていてもよい。
【0039】
また、クロップパラメータには、クロップウィンドウを設定する画像領域の特徴を指定するパラメータが含まれていてもよい。例えば、目や鼻、口などに由来する特徴の有無を指定するパラメータがクロップパラメータに含まれている場合、画像処理部114は、原画像ORG上において、目や鼻、口などの特徴を含む画像領域と重なるようにクロップウィンドウを設定する。これによって、目や鼻、口などの特徴を含む画像領域、すなわち人の頭部を写す画像領域がクロッピング画像CRP_iとして切り出される。
【0040】
評価値導出部116は、画像処理部114により生成されたクロッピング画像CRPが掲載されたリンク元ページがサービス提供部112によって提供されると、このリンク元ページを閲覧したユーザによってとられた行動が評価された評価値を、リンク元ページごとに導出する。
【0041】
例えば、評価値導出部116は、リンク元ページログ情報D1とリンク先ページログ情報D2とを参照して、あるリンク先ページのアクセス数を、そのリンク先ページへのリンクLが掲載されたリンク元ページのインプレッション数で除算したCTR(Click Through Rate)を評価値として導出する。
【0042】
なお、評価値導出部116は、評価値としてCTRを導出するのに代えて或いは加えて、リンク先ページでの滞在時間や、リンク先ページでの所定のコンバージョンの成立回数に基づくCVR(Conversion Rate)などを評価値として導出してもよい。所定のコンバージョンとは、例えば、リンク先ページに掲載される広告を閲覧したり、リンク先ページに掲載されるリンクから更に他のページへとアクセスしたりすることである。
【0043】
そして、評価値導出部116は、導出した評価値と、評価値の導出対象としたリンク元ページに対して、評価値と、リンク元ページに掲載されたクロッピング画像CRPとを対応付けた情報を生成し、この生成した情報を評価情報D5としてサービス提供側記憶部130に記憶させる。
【0044】
図9は、評価情報D5の一例を示す図である。図示の例のように、評価情報D5は、リンク元ページのIDごとに、そのページに掲載されるクロッピング画像CRPのIDと、そのページを閲覧したユーザの評価値とが対応付けられた情報である。例えば、各リンク元ページには、互いに異なる評価値が対応付けられてもよいし、同じ評価値が対応付けられてもよい。また、各リンク元ページには、互いに異なる複数の評価値(図の例では(CTR,滞在時間,CVR,…))が対応付けられてもよい。
【0045】
また、評価情報D5において、評価値が対応付けられたリンク元ページが改変された場合、評価値導出部116は、改変されたリンク元ページの評価値を再度導出してよい。リンク元ページの「改変」とは、例えば、リンク元ページに掲載されるクロッピング画像CRPが変更されることである。
【0046】
例えば、プログラマーやデザイナーなどのリンク元ページの設計者が、評価値導出部116により導出された評価値を参照して、リンク元ページからリンク先ページへとよりアクセスがされ易くなるように(評価値を向上させるために)、リンク先ページに掲載されたクロッピング画像CRPを変更することが想定される。
【0047】
また、リンク元ページの「改変」は、設計者が行う代わりに、サービス提供側制御部110のいずれかの構成要素(例えば、画像処理部114など)が行ってもよい。
【0048】
例えば、リンク元ページが改変されると、サービス提供部112は、サービス提供側通信部102を用いて、改変されたリンク元ページ(以下、改変済みリンク元ページと称する)を、所定のユーザが操作する端末装置10へと送信する。所定のユーザとは、例えば、不特定多数のユーザにより構成されたクラウドソーシング形式のワーキンググループに参加するユーザである。クラウドソーシングとは、依頼した業務の協力を募ることである。例えば、サービス提供部112は、クラウドソーシングに参加するユーザの端末装置10に対して、改変済みリンク元ページを提供する。これを受けて、クラウドソーシングに参加するユーザは、端末装置10を操作して、提供された改変済みリンク元ページにアクセスし、興味や関心があればリンクLを選択することでリンク先ページへとアクセスする。
【0049】
そして、評価値導出部116は、改変済みリンク元ページがサービス提供部112により端末装置10へと提供され、その端末装置10を操作するユーザによってリンク先ページにアクセスされると、この改変済みリンク元ページの評価値を導出する。例えば、評価値導出部116は、評価情報D5において、その改変済みリンク元ページのページIDに対応付けられた評価値を更新してもよいし、改変済みリンク元ページのページIDを新たなページIDとして扱うことで、評価情報D5に改変済みリンク元ページごとに評価値のログをレコードとして追加してもよい。
【0050】
[解析装置の構成]
図10は、第1実施形態における解析装置200の構成の一例を示す図である。図示のように、解析装置200は、例えば、解析側通信部202と、解析側制御部210と、解析側記憶部230とを備える。
【0051】
解析側通信部202は、例えば、NICなどの通信インターフェースやDMAコントローラを含む。解析側通信部202は、例えば、ネットワークNWを介して、サービス提供装置100などと通信する。
【0052】
解析側制御部210は、例えば、解析側取得部212と、パラメータ抽出部214と、パラメータ決定部216と、出力部218とを備える。解析側制御部210の構成要素は、例えば、CPUやGPUなどのプロセッサが解析側記憶部230に格納されたプログラムを実行することにより実現される。また、解析側制御部210の構成要素の一部または全部は、LSI、ASIC、またはFPGAなどのハードウェアにより実現されてもよいし、ソフトウェアとハードウェアの協働によって実現されてもよい。
【0053】
解析側記憶部230は、例えば、HDD、フラッシュメモリ、EEPROM、ROM、RAMなどにより実現される。解析側記憶部230は、ファームウェアやアプリケーションプログラムなどの各種プログラムの他に、上述したクロップパラメータ情報D4および評価情報D5と、パラメータ対評価値情報D6と、関数情報D7とを記憶する。パラメータ対評価値情報D6および関数情報D7については後述する。
【0054】
[処理フロー]
以下、フローチャートに即して解析側制御部210の各構成要素について説明する。
図11は、第1実施形態における解析側制御部210により実行される処理の一例を示すフローチャートである。本フローチャートの処理は、例えば、所定の周期で繰り返し行われる。
【0055】
まず、解析側取得部212は、解析側通信部202の通信相手であるサービス提供装置100から、解析側通信部202を介して、クロップパラメータ情報D4および評価情報D5を取得し(S100)、これらを解析側記憶部230に記憶させる。
【0056】
次に、パラメータ抽出部214は、解析側取得部212により取得されたクロップパラメータ情報D4から、クロップパラメータを、ベイズ的最適化手法により改善パラメータが決定される際に用いられるパラメータとして抽出する(S102)。
【0057】
次に、パラメータ抽出部214は、評価情報D5を参照し、抽出したクロップパラメータを用いて原画像ORGから切り出されたクロッピング画像CRPに対応付けられた評価値を抽出し、クロッピング画像CRPと、クロップパラメータと、評価値とを互いに対応付けたパラメータ対評価値情報D6を生成し(S104)、この情報を解析側記憶部230に記憶させる。
【0058】
図12は、パラメータ対評価値情報D6の一例を示す図である。図示のように、例えば、パラメータ対評価値情報D6は、各クロッピング画像CRPのIDに対して、そのクロッピング画像CRPが生成される際に使用されたクロッピングパラメータと、そのクロッピング画像CRPの評価値とが対応付けられた情報である。
【0059】
このとき、クロッピングパラメータは、その値が0〜1の数値範囲となるように正規化される。例えば、クロッピングパラメータが「クロップウィンドウの幅方向および高さ方向のサイズ」である場合、パラメータ抽出部214は、クロッピングパラメータとして抽出した「クロップウィンドウの幅方向および高さ方向のサイズ」を、そのサイズが取り得る最大値(例えば原画像ORGの幅方向および高さ方向のサイズ)で除算することで正規化する。
【0060】
パラメータ対評価値情報D6に含まれるクロッピングパラメータは、上述したように、クロップウィンドウの位置、クロップウィンドウのサイズ、クロップウィンドウのアスペクト比、クロップウィンドウの形状、クロップウィンドウを設定する画像領域の特徴などの各種パラメータのうち、いずれか1つのパラメータを有する一次元(基底が1つ)のパラメータであってもよいし、複数のパラメータを有する多次元(基底が複数)のパラメータであってもよい。
【0061】
次に、パラメータ決定部216は、パラメータ対評価値情報D6を参照し、クロップパラメータと評価値とに基づいて、ベイズ的最適化手法により、クロップパラメータとして好ましい(改善することを推奨する)改善パラメータを決定する(S106)。パラメータ決定部216は、この改善パラメータの決定処理を、パラメータ対評価値情報D6が示す各クロッピング画像CRPについて行う。なお、パラメータ決定部216は、上述したように、ベイズ的最適化手法に代えて、遺伝的アルゴリズムや差分進化法などの他の最適化手法を用いることで、改善パラメータを決定してもよい。
【0062】
図13は、ベイズ的最適化手法による改善パラメータの決定方法を説明するための図である。例えば、クロップパラメータをXとした場合、評価値は、クロップパラメータXを要素とした、ある未知関数(以下、ブラックボックス関数F(X)と称する)として表すことができる。
【0063】
ブラックボックス関数F(X)を導出するために、パラメータ決定部216は、パラメータ対評価値情報D6の評価値を初期値として利用する。図示の例では、初期値として評価値F(Xa)およびF(Xa)が与えられている。この評価値F(Xa)およびF(Xa)の其々のクロップパラメータは、Xa、Xbである。図中μは、この2点の初期値を基にガウス過程(確率変数であるクロップパラメータXがN次元のガウス分布N(μ,σ
2)に従う)により推定されるブラックボックス関数F(X)の平均を表している。また、図中CBは、ブラックボックス関数F(X)の平均μに標準偏差σ(分散σ
2)を加算した信頼区間(μ±σ)を表している。例えば、標準偏差σ(分散σ
2)は、ガウス過程を基に求められてよく、1σ、2σ、3σのように任意に決定されてよい。
【0064】
例えば、パラメータ決定部216は、ブラックボックス関数F(X)の信頼区間CBの大きさ(絶対値)を表すacquisition function(以下、a(X)と称する)が最も大きくなるクロップパラメータX(不確実性の高いパラメータX)を、改善パラメータとして決定する。a(X)は、例えば、以下の数式(1)に基づいて求められてよい。式中Kは、カーネル関数を表す。
【0065】
a(X)=(μ(X)+Kσ(X))…(1)
【0066】
図示の例では、改善パラメータXcのときにa(X)が最大となるため、パラメータ決定部216は、パラメータXcを改善パラメータに決定する。このように、改善パラメータは、a(X)の大きさに応じて決定される。
【0067】
次に、出力部218は、解析側通信部202を用いて、パラメータ決定部216により決定された改善パラメータを、サービス提供装置100に出力(送信)する(S108)。
【0068】
これを受けて、サービス提供装置100の画像処理部114は、クロップパラメータ情報D4のクロップパラメータを、解析装置200により出力された改善パラメータに変更することで、各原画像ORGから新たなクロッピング画像CRPを生成する。そして、サービス提供装置100のサービス提供部112は、例えば、クラウドソーシングに参加するユーザの端末装置10からHTTPリクエストなどがサービス提供側通信部102により受信されると、このリクエストのレスポンスとして、掲載される画像が、新たに生成されたクロッピング画像CRPに変更されたリンク元ページ(改変済みリンク元ページ)を、リクエストの送信元である端末装置10に提供する。このとき、クロッピング画像CRPの変更前後において、それらのページのリンクLに関連付けられたリンク先ページは同じページであるものとする。なお、リンク元ページに掲載される画像は、上述したように、設計者などによって変更されてもよい。
【0069】
サービス提供部112により改変済みリンク元ページが提供されると、サービス提供装置100の評価値導出部116は、改変済みリンク元ページの評価値を新たに導出する。
【0070】
次に、解析装置200の解析側取得部212は、解析側通信部202を用いて、サービス提供装置100から改変済みリンク元ページの評価値を取得する(S110)。
【0071】
次に、パラメータ決定部216は、改変済みリンク元ページの評価値(実測値)を用いて、ベイズ的最適化手法により、改善パラメータを再決定する(S112)。
【0072】
図14は、改善パラメータを再決定する方法を説明するための図である。例えば、上述した
図13において例示したように、パラメータXcが改善パラメータに決定され、このパラメータXcをクロップパラメータに従って新たに生成されたクロッピング画像CRPがリンク元ページに掲載されることで、リンク元ページが改変されたとする。この場合、パラメータ決定部216は、評価値の初期値F(Xa)およびF(Xb)と、前回改善パラメータとして決定したパラメータXcの実測値として取得された評価値F(Xc)とを固定点(確率的に求めた推測値ではなく観測したい事象の実測値)として用いて、ガウス過程によりブラックボックス関数F(X)の平均μを推定する。そして、パラメータ決定部216は、a(X)が最も大きくなるパラメータXを、改善パラメータとして再度決定する。図示の例では、パラメータXdのときにa(X)が最大となるため、パラメータ決定部216は、パラメータXdを改善パラメータに決定する。
【0073】
次に、出力部218は、解析側通信部202を用いて、パラメータ決定部216により再度決定された改善パラメータを、サービス提供装置100に対して出力する(S114)。
【0074】
次に、解析側制御部210は、改善パラメータを決定する演算処理の回数が所定回数に達したか否かを判定し(S116)、演算回数が所定回数に達していない場合、上述したS110に処理を移す。これによって、演算回数が所定回数に達するまでの間に、改善パラメータが繰り返し決定されるのに応じて、リンク元ページにおいてクロッピング画像CRPが変更され、その変更の都度、改変済みリンク元ページが生成される。改善パラメータが繰り返し決定されるのに応じて生成される改変済みリンク元ページは、「各世代の電子ページ」の一例である。例えば、改善パラメータを決定する演算処理が一回繰り返される毎に、リンク元ページの「世代」が一世代分増える。
【0075】
サービス提供装置100のサービス提供部112は、クロッピング画像CRPが変更されて改変済みリンク元ページが生成される度に、各世代の改変済みリンク元ページをクラウドソーシングに参加するユーザの端末装置10に送信する。そして、評価値導出部116は、各世代の改変済みリンク元ページごとに評価値を導出する。
【0076】
図15は、各世代の改変済みリンク元ページが生成される様子を模式的に示す図である。例えば、初回の処理として、画像処理部114によりクロッピング画像CRP1が生成されたとする。この場合、サービス提供部112は、クロッピング画像CRP1を掲載したリンク元ページを端末装置10に提供する。
【0077】
クロッピング画像CRP1が掲載されたリンク元ページが提供され、これを閲覧したユーザの行動に応じた評価値が導出されると、パラメータ決定部216は、ベイズ的最適化手法により改善パラメータを決定する。画像処理部114は、この改善パラメータに従って、原画像ORGから新たなクロッピング画像CRPを生成する。例えば、改善パラメータが、クロッピング画像CRP1の切り出し位置からクロップウィンドウのサイズを維持しながら図中左側にシフトさせた領域を、新たなクロッピング画像の切り出し位置に指定するパラメータである場合、画像処理部114は、原画像ORGからクロッピング画像CRP2を切り出す。サービス提供部112は、新たに切り出された(生成された)クロッピング画像CRP2を掲載したリンク元ページ、すなわち第1世代の改変済みリンク元ページを端末装置10に提供する。
【0078】
クロッピング画像CRP2が掲載されたリンク元ページが提供され、これを閲覧したユーザの行動に応じた評価値が導出されると、パラメータ決定部216は、ベイズ的最適化手法により新たに改善パラメータを決定する。画像処理部114は、この改善パラメータに従って、原画像ORGから新たなクロッピング画像CRPを生成する。例えば、改善パラメータが、クロッピング画像CRP2の切り出し位置からクロップウィンドウのサイズを維持しながら図中下側にシフトさせた領域を、新たなクロッピング画像の切り出し位置に指定するパラメータである場合、画像処理部114は、原画像ORGからクロッピング画像CRP3を切り出す。サービス提供部112は、新たに切り出された(生成された)クロッピング画像CRP3を掲載したリンク元ページ、すなわち第2世代の改変済みリンク元ページを端末装置10に提供する。
【0079】
クロッピング画像CRP3が掲載されたリンク元ページが提供され、これを閲覧したユーザの行動に応じた評価値が導出されると、パラメータ決定部216は、ベイズ的最適化手法により新たに改善パラメータを決定する。画像処理部114は、この改善パラメータに従って、原画像ORGから新たなクロッピング画像CRPを生成する。例えば、改善パラメータが、クロッピング画像CRP2の切り出し位置からクロップウィンドウのサイズを維持しながら図中下側にシフトさせた領域を、新たなクロッピング画像の切り出し位置に指定するパラメータである場合、画像処理部114は、原画像ORGからクロッピング画像CRP3を切り出す。サービス提供部112は、新たに切り出された(生成された)クロッピング画像CRP3を掲載したリンク元ページ、すなわち第2世代の改変済みリンク元ページを端末装置10に提供する。
【0080】
このように、改善パラメータに従って次々と新たな世代の改変済みリンク元ページされる。これらの各改変済みリンク元ページの評価値に応じてベイズ的最適化手法を繰り返すことで、ブラックボックス関数F(X)がどういった傾向の関数であるのかが決定される。この結果、リンク元ページの評価値が得られていないクロップパラメータであっても、導出したブラックボックス関数F(X)により、試行していない未知のクロップパラメータであってもどの程度の評価値が得られるのかがわかる。
【0081】
一方、演算回数が所定回数に達した場合、解析側制御部210は、リンク元ページと、そのブラックボックス関数F(X)とを対応付けた情報を、関数情報D7として解析側記憶部230に記憶させる(S118)。
【0082】
図16は、関数情報D7の一例を示す図である。例えば、関数情報D7は、各リンク元ページのページIDに対して、そのリンク元ページに掲載されたクロッピング画像CRPが生成されたときのクロップパラメータXと、所定回数演算することにより導出されたブラックボックス関数F(X)とが対応付けられた情報である。このクロップパラメータXは、ブラックボックス関数F(X)の導出時に用いたパラメータが、一次元のパラメータなのか、または多次元のパラメータなのか、多次元のパラメータならどういった要素を基底としているのか、といったことを示している。
【0083】
次に、出力部218は、解析側通信部202を用いて、所定回数演算することにより導出されたブラックボックス関数F(X)において、評価値F(X)が閾値以上となるクロップパラメータX(以下、最適パラメータと称する)を、サービス提供装置100に対して出力する(S120)。
【0084】
これを受けて、サービス提供装置100の画像処理部114は、最適パラメータに従って、原画像ORGからクロッピング画像CRPを生成する。サービス提供部112は、掲載する画像を、最適パラメータを基に生成されたクロッピング画像CRPに変更することで、改変済みリンク元ページを生成し、この改変済みリンク元ページを、クラウドソーシングに参加するユーザが操作する端末装置10に限らず、リクエストを受けた全ての端末装置10に提供する。これによって、本フローチャートの処理が終了する。
【0085】
なお、上述した第1実施形態では、
図6に例示した原画像情報D3が、一つの記事ATCに対して一つの原画像ORGが対応付けられた情報であるものとして説明したがこれに限られない。例えば、原画像情報D3は、一つの記事ATCに対して、複数の原画像ORGが対応付けられた情報であってもよい。このとき、複数の原画像ORGが同じカテゴリーに属す画像の集合であると好適である。例えば、ある記事ATCが、「野球」の試合結果を伝える記事である場合、複数の原画像ORGのうち、ある原画像ORGは、その試合に出場した「野球選手」の画像とし、他の原画像ORGは、その試合が行われた「球場」の画像とする。
【0086】
また、上述した第1実施形態では、画像処理部114は、パラメータ決定部216により改善パラメータが決定される度に、その改善パラメータに従ってクロッピング画像CRPを生成するものとして説明したがこれに限られず、改善パラメータが決定される前に予め複数のクロッピング画像CRPを生成しておいてもよい。例えば、画像処理部114は、一つの原画像ORGから切り出し位置やアスペクト比などを変更しながら複数のクロッピング画像CRPを生成する。このとき、画像処理部114は、所定の規則に従ってクロップパラメータを変更し、切り出し位置などがある程度分散した状態でクロッピング画像CRPを生成する。そして、サービス提供部112は、画像処理部114により生成された複数のクロッピング画像CRPのうち、いずれかのクロッピング画像CRPを掲載したリンク元ページを提供する。
【0087】
パラメータ決定部216により改善パラメータが決定された場合、画像処理部114は、事前に生成した複数のクロッピング画像CRPのうち、この改善パラメータと同じまたは近いクロップパラメータを用いて生成されたクロッピング画像CRPを選択する。例えば、クロップウィンドウのアスペクト比を0.1、0.2、0.3、…といったように変更しながら複数のクロッピング画像CRPを生成したとする。このとき、クロップウィンドウのアスペクト比を0.28に指定する改善パラメータが決定された場合、画像処理部114は、事前に生成した複数のクロッピング画像CRPのうち、アスペクト比を0.3として生成したクロッピング画像CRPを選択する。これによって、改善パラメータの決定に応じてなされるクロッピング画像CRPの生成処理を省略することができるため、ブラックボックス関数を確定するまでに要する処理時間を短縮することができる。
【0088】
以上説明した第1実施形態によれば、原画像ORGから切り出されたクロッピング画像CRPが掲載された電子ページを閲覧したユーザによってとられた行動が評価された評価値を取得する解析側取得部212と、原画像ORGにおいてクロッピング画像CRPが切り出された領域に関するクロップパラメータと、解析側取得部212により取得された評価値とに基づいて、ベイズ的最適化手法などの未知関数の最適化手法により、クロップパラメータとして好ましい改善パラメータを決定するパラメータ決定部216と、を備えることにより、サービス提供装置100などが、電子ページに掲載する画像として、より好適な画像を自動的に生成することができる。
【0089】
また、上述した第1実施形態によれば、ベイズ的最適化手法などの未知関数の最適化手法により改善パラメータを決定することから、設計者がこれまで試行していなかった領域をクロッピング画像CRPとして切り出すことができ、従来の常識を覆すような革新的な電子ページを生成することができる。
【0090】
また、上述した第1実施形態によれば、例えば、未知関数の最適化手法として、ベイズ的最適化手法を用いた場合、ガウス過程に基づくブラックボックス関数(連続性のある関数)を仮定し、そのブラックボックス関数において不確実性の高いパラメータを改善パラメータに決定するため、上述したような、電子ページの改変に対してユーザがどういった行動をとったのかという一連の試行処理(ライブテスト)に時間を要する場合、試行処理の結果が大量に必要な遺伝的アルゴリズムなどの他の未知関数の最適化手法と比べて、より速く目的関数であるブラックボックス関数を最適化することができる。
【0091】
また、上述した第1実施形態によれば、導出したブラックボックス関数を、クロッピング画像CRPの生成時に使用したクロップパラメータに対応付けて記憶するため、ベイズ的最適化手法などの未知関数の最適化手法により得られた知見として、どのようなクロップパラメータでクロッピング画像CRPを切り出せば評価値を向上させることができるのかを、設計者間で共有することができる。これによって、例えば、電子ページの設計知識の乏しい設計者であっても、高い評価値を得ることが可能な電子ページを設計することができる。
【0092】
<第2実施形態>
以下、第2実施形態について説明する。上述した第1実施形態では、画像処理部114が、解析装置200により決定された改善パラメータに従ってクロップウィンドウを原画像ORGに設定することで、そのクロップウィンドウと重なる画像領域を、新たなクロッピング画像CRPとして切り出すものとして説明した。第2実施形態では、改善パラメータの候補となるクロップパラメータに予め制限が設けられ、この制限を考慮して、新たなクロッピング画像CRPを生成する点で、上述した第1実施形態と相違する。以下、第1実施形態との相違点を中心に説明し、第1実施形態と共通する点については説明を省略する。なお、第2実施形態の説明において、第1実施形態と同じ部分については同一符号を付して説明する。
【0093】
図17は、改善パラメータの候補となるクロップパラメータに制限が設けられたときのクロッピング画像CRPの切り出し方法を説明するための図である。例えば、高さ方向Yに関するある数値範囲が、パラメータの制限範囲(クロップウィンドウの設定を禁止する数値範囲)に設定されたとする。このとき、改善パラメータとして、クロップウィンドウWの中心座標がCP1に指定され、クロップウィンドウWの幅方向XのサイズがA1、高さ方向YのサイズがB1に指定された場合、図示のように、クロップウィンドウWの一部の位置座標が、パラメータの制限範囲に含まれることになる。この場合、画像処理部114は、クロップウィンドウWの位置座標が制限範囲に含まれないように、改善パラメータを補正する。図示のように、画像処理部114は、例えば、改善パラメータとして指定されたクロップウィンドウWの中心座標をCP1からCP1#に変更する。これによって、例えば、従来の知見として、足元だけの画像をリンク元ページに掲載したときに、そのリンク元ページの評価値が低下するということが事前に判明している場合、画像下部の座標をパラメータの制限範囲に設定すれば、原画像ORGが人物の全体画像である場合に、足元だけの画像をクロッピング画像CRPとして生成しなくなる。これによって、どのような値にすればどういった評価値が得られるのかが既に判明しているクロップパラメータについては改善パラメータとして決定しなくなることから、改善パラメータを決定し、これに応じてクロッピング画像CRPを生成し、新たに改変済みリンク元ページを提供し、このページの評価値を導出し、再度ベイズ的最適化手法により改善パラメータを決定する、という一連の繰り返し処理の回数を削減することができる。この結果、ブラックボックス関数F(X)を確定するまでの処理時間を短くすることができる。
【0094】
また、上述したパラメータの制限範囲は、原画像ORGのカテゴリーごとに予め決められていてもよい。例えば、原画像ORGが「政治」のカテゴリーに属す場合、その原画像ORGに設けられるパラメータの制限範囲は、人物の顔がクロッピング画像CRPとして切り出されやすくするために、原画像ORGの下部および両サイドの領域座標に設定されてよい。また、原画像ORGが「スポーツ」のカテゴリーに属す場合、その原画像ORGに設けられるパラメータの制限範囲は、選手の動作全体がクロッピング画像CRPとして切り出されやすくするために、「政治」のカテゴリーに属す場合のパラメータの制限範囲と比べて狭くしてよい。
【0095】
また、上述した例では、パラメータの制限範囲は、サービス提供装置100においてクロッピング画像CRPが切り出される際に考慮されるものとして説明したがこれに限られず、解析装置200がベイズ的最適化手法により改善パラメータを決定する際に考慮されてよい。
【0096】
図18は、パラメータの制限範囲が設けられたときの改善パラメータの決定方法を説明するための図である。例えば、改善パラメータの候補となるクロップパラメータXにおいて、あるパラメータ範囲が制限範囲に設定された場合、パラメータ決定部216は、その制限範囲において導出するa(X)を、例えばゼロにする。例えば、制限範囲が設けられる前では、パラメータ決定部216は、a(X)が最も大きくなるパラメータXdが改善パラメータに決定する。一方、制限範囲が設けられた場合、パラメータ決定部216は、その領域のa(X)をゼロにするため、パラメータXdを改善パラメータに決定せずに、制限範囲以外の他の範囲のパラメータXを改善パラメータに決定する。図示の例では、パラメータXeのときにa(X)が最大となるため、パラメータ決定部216は、パラメータXeを改善パラメータに決定する。これよって、制限範囲に含まれるクロップパラメータを不確実なパラメータとして扱わなくなることから、より効果的に改善パラメータを探索することができる。
【0097】
以上説明した第2実施形態によれば、どのような値にすればどういった評価値が得られるのかが既に判明しているクロップパラメータに制限を設けることにより、より効果的に改善パラメータを探索したり、ブラックボックス関数F(X)を確定するまでの処理時間を短くしたりすることができる。
【0098】
<第3実施形態>
以下、第3実施形態について説明する。第3実施形態では、更に、画像処理部114が、原画像ORGにおいて物体認識処理を行い、パラメータ決定部216が、画像処理部114による認識の結果に基づいて、改善パラメータの候補とするクロップパラメータの範囲を決定し、その決定したクロップパラメータの範囲内で改善パラメータを決定する点で、上述した第1および第2実施形態と相違する。以下、第1および第2実施形態との相違点を中心に説明し、第1および第2実施形態と共通する点については説明を省略する。なお、第3実施形態の説明において、第1および第2実施形態と同じ部分については同一符号を付して説明する。
【0099】
第3実施形態における画像処理部114は、原画像ORGから、所定の画像特徴を抽出する。所定の画像特徴は、例えば、画素の輝度差に基づく特徴(例えばHaar−Like特徴)、画像の局所領域における輝度勾配に関する特徴(例えばHOG(Histograms of Oriented Gradients)やEOH(Edge of Orientation Histograms))などを含む。そして、画像処理部114は、抽出した特徴から所定物体OBの位置を原画像ORG上で認識する。所定物体OBとは、原画像ORGからクロッピング画像CRPとして切り出され易くしたい物体であり、例えば人や、犬、猫などの動物などの物体である。画像処理部114は、サービス提供側通信部102を用いて、原画像ORG上での所定物体OBの位置に関する情報を解析装置200に送信する。
【0100】
第3実施形態におけるパラメータ決定部216は、ベイズ的最適化手法により改善パラメータを決定する際に、サービス提供装置100により送信された所定物体OBの位置に基づいて、改善パラメータの候補とするクロップパラメータの範囲を決定する。例えば、パラメータ決定部216は、所定物体OBの位置に基づいて、ブラックボックス関数F(X)の信頼区間CBを補正し、改善パラメータの候補とするクロップパラメータの範囲を決定する。
【0101】
図19は、ブラックボックス関数F(X)の信頼区間CBの補正方法を説明するための図である。例えば、ある原画像ORG_iにおいて、事前にクロッピング画像CRP_aと、CRP_bが切り出されている場合、上述したように、これらの画像がそれぞれ掲載されたリンク元ページの評価値FaとFbが初期値として与えられる。この原画像ORG_iにおいて、画像処理部114により所定物体OBの位置が特定された場合、パラメータ決定部216は、原画像ORG_iに対する所定物体OBの位置に応じて、信頼区間CBの区間幅を大きくする。
【0102】
例えば、ブラックボックス関数F(X)の横軸であるクロップパラメータが、原画像ORGに対する幅方向の座標である場合、所定物体OBの位置を基準とした所定領域A
OBに含まれるクロップパラメータの信頼区間CBの区間幅を大きくすることで、信頼区間CBを補正する。より具体的には、パラメータ決定部216は、ガウス過程により仮定される確率分布の標準偏差σが1σである場合、所定領域A
OBの標準偏差σを2σや3σに変更することで、信頼区間CBの区間幅を大きくする。図中CB#は、補正した後の信頼区間を表す。これによって、所定領域A
OBに含まれるクロップパラメータのa(X)が補正前よりも大きくなるため、所定領域A
OBに含まれるクロップパラメータの範囲が改善パラメータとして決定され易くなる。すなわち、所定領域A
OBがより探索され易くなる。図示の例では、信頼区間CBの補正により、新たにパラメータXfが改善パラメータに決定されている。
【0103】
以上説明した第3実施形態によれば、原画像ORG上での物体認識処理により、クロッピング画像CRPに含めたい物体として予め決められた所定物体OBが認識された場合、パラメータ決定部216が、原画像ORG上での所定物体OBの位置に基づいて、改善パラメータの候補とするクロップパラメータの範囲を決定するため、原画像ORGにおいて所定物体OB近辺の画像領域がよりクロッピング画像CRPとして切り出され易くなる。この結果、より効率良くクロッピング画像CRPを生成することができる。
【0104】
なお、上述した第3実施形態において、クロップパラメータは、例えば、クロッピング画像CRPとして切り出す領域に含める物体として、人のみ、人と犬の組み合わせ、犬と猫の組み合わせ等のように、所定物体OBの組み合わせを指定するパラメータを含んでもよい。
【0105】
<ハードウェア構成>
上述した実施形態の解析システム1に含まれる複数の装置のうち、サービス提供装置100および解析装置200は、例えば、
図20に示すようなハードウェア構成により実現される。
図20は、実施形態のサービス提供装置100および解析装置200のハードウェア構成の一例を示す図である。
【0106】
サービス提供装置100は、NIC100−1、CPU100−2、RAM100−3、ROM100−4、フラッシュメモリやHDDなどの二次記憶装置100−5、およびドライブ装置100−6が、内部バスあるいは専用通信線によって相互に接続された構成となっている。ドライブ装置100−6には、光ディスクなどの可搬型記憶媒体が装着される。二次記憶装置100−5、またはドライブ装置100−6に装着された可搬型記憶媒体に格納されたプログラムがDMAコントローラ(不図示)などによってRAM100−3に展開され、CPU100−2によって実行されることでサービス提供側制御部110が実現される。CPU100−2が参照するプログラムは、ネットワークNWを介して他の装置からダウンロードされてもよい。
【0107】
解析装置200は、NIC200−1、CPU200−2、RAM200−3、ROM200−4、フラッシュメモリやHDDなどの二次記憶装置200−5、およびドライブ装置200−6が、内部バスあるいは専用通信線によって相互に接続された構成となっている。ドライブ装置200−6には、光ディスクなどの可搬型記憶媒体が装着される。二次記憶装置200−5、またはドライブ装置200−6に装着された可搬型記憶媒体に格納されたプログラムがDMAコントローラ(不図示)などによってRAM200−3に展開され、CPU200−2によって実行されることで、解析側制御部210が実現される。CPU200−2が参照するプログラムは、ネットワークNWを介して他の装置からダウンロードされてもよい。
【0108】
以上、本発明を実施するための形態について実施形態を用いて説明したが、本発明はこうした実施形態に何ら限定されるものではなく、本発明の要旨を逸脱しない範囲内において種々の変形及び置換を加えることができる。