以下に、本願にかかる情報処理装置、情報処理方法、及び情報処理プログラムを実施するための形態(以下、「実施形態」と記載する。)について図面を参照しつつ詳細に説明する。なお、この実施形態により本願にかかる情報処理装置、情報処理方法、及び情報処理プログラムが限定されるものではない。また、以下の各実施形態において同一の部位には同一の符号を付し、重複する説明は省略される。
〔1.情報処理装置の動作〕
最初に、本実施形態の情報処理装置の一例である情報処理サーバ30を例に、情報処理装置の動作を説明する。
情報処理サーバ30は、クライアント端末に対して各種サービスを提供するサーバ用ホストコンピュータである。例えば、情報処理サーバ30は、検索サイトとして機能する検索サーバである。図1は、実施形態に係る情報処理サーバ30の動作の概要を示す図である。情報処理サーバ30は、ネットワークを介してコンテンツ提供サーバ20及び端末装置100と接続されている。図1の例では、コンテンツ提供サーバ20及び端末装置100がそれぞれ1つしか示されていないが、情報処理サーバ30に接続される端末装置及びサーバは、それぞれ複数であってもよい。
端末装置100は、例えば、スマートデバイス(スマートフォン、或いはタブレット)、携帯電話、パーソナルコンピュータ等のユーザ端末である。図1の例では、端末装置100は、スマートデバイスとなっているが、端末装置100はスマートデバイスに限定されない。端末装置100は、ネットワークを介して情報処理サーバ30に対して情報の送信を要求する。例えば、端末装置100は、情報処理サーバ30に対して検索クエリを送信することで、情報処理サーバ30に対して検索結果の送信を要求する。
コンテンツ提供サーバ20は、クライアント端末に対して各種サービスを提供するサーバ用ホストコンピュータである。例えば、コンテンツ提供サーバ20は、ショッピングサイト(例えば、EC(Electronic Commerce)サイト)として機能するショッピングサーバである。コンテンツ提供サーバ20は、端末装置100に対して各種コンテンツを送信する。例えば、コンテンツ提供サーバ20がショッピングサーバなのであれば、コンテンツ提供サーバ20は、端末装置100に対して商品・サービスに関するコンテンツ(商品紹介のための画像、テキスト)を送信する。また、コンテンツ提供サーバ20は、情報処理サーバ30からの要求に応じて、情報処理サーバ30にコンテンツを送信する。例えば、コンテンツ提供サーバ20は、情報処理サーバ30から検索クエリが送信されると、検索クエリに対応するコンテンツを情報処理サーバ30に送信する。コンテンツ提供サーバ20がショッピングサーバなのであれば、コンテンツ提供サーバ20が送信するコンテンツは、ショッピングサイトが提供している商品或いはサービスの情報であってもよい。
図2は、コンテンツ提供サーバ20が情報処理サーバ30に送信するコンテンツの一例を示す図である。図2の例では、コンテンツ提供サーバ20は、情報処理サーバ30に複数のコンテンツを送信している。図2に示すコンテンツC1〜C13それぞれが、1つのコンテンツである。これらコンテンツは、商品或いはサービスに関するコンテンツ(情報)であってもよい。例えば、コンテンツは、コンテンツ提供サーバ20が配信するショッピングサイト内で提供される商品或いはサービスの販売用コンテンツであってもよい。このとき、販売用コンテンツは、商品紹介用の画像(静止画のみならず動画を含む。)であってもよいし、商品紹介用のテキスト(例えば、商品名、価格、商品のカテゴリー、ブランド、識別コード等)であってもよい。図2の例では、画像とテキストを組み合わせたものが、1つのコンテンツとなっている。なお、コンテンツはテキスト情報のみで構成されていてもよいし、画像情報のみで構成されていてもよい。コンテンツ提供サーバ20が情報処理サーバ30に送信するコンテンツの数は13個に限定されない。コンテンツの数は13個より多くてもよいし少なくてもよい。また、コンテンツ提供サーバ20は複数のコンテンツを一度に情報処理サーバ30に送信してもよいし、分割して情報処理サーバ30に送信してもよい。
コンテンツC1、C3〜C5、C8、C11〜C13は、それぞれ異なるストア(例えば、オンラインストア)で販売されている同じ商品の販売用コンテンツである。例えば、コンテンツC1、C3〜C5、C8、C11〜C13は、識別コードが12345の衣類(シャツ)の販売用コンテンツである。識別コードは、JAN(Japanese Article Number)コード、EAN(European Article Number)コード、UPC(Universal Product Code)、ITF(Interleaved Two of Five)コード等の規格化されたコードであってもよいし、ショッピングサイトが独自に定めたコードであってもよい。これらコンテンツが示す商品の価格はそれぞれ2600円、7500円、2300円、2350円、2700円、4600円、2830円、2900円である。なお、コンテンツC11、C3が示す商品は、それぞれ、2点セット、3点セットの商品であり、他の同一商品より高い価格(約2倍〜3倍の価格)となっている。
また、コンテンツC2は、識別コードが23456の衣類収納(ハンガー)の販売用コンテンツである。コンテンツC2が示す商品の価格は1000円である。また、コンテンツC6は、識別コードが31245の衣類(Tシャツ)の販売用コンテンツである。コンテンツC6が示す商品の価格は510円である。また、コンテンツC7は、識別コードが45678の衣類(ワイシャツ及びネクタイ)の販売用コンテンツである。コンテンツC7が示す商品の価格は3980円である。また、コンテンツC9は、識別コードが56789の衣類(コート)の販売用コンテンツである。コンテンツC9が示す商品の価格は19800円である。また、コンテンツC10は、識別コードが12345の衣類(シャツ)及び識別コードが12350の衣類(ズボン)の販売用コンテンツである。識別コードが12345の衣類(シャツ)はコンテンツC1、C3〜C5、C8、C11〜C13が示す商品と同じである。コンテンツC10が示す商品の価格は4100円である。
コンテンツ提供サーバ20が送信する複数のコンテンツそれぞれには、コンテンツが示す商品或いはサービスの価格、識別コード等の情報が関連付けられている。また、複数のコンテンツそれぞれには、コンテンツが示す商品或いはサービスのカテゴリーの情報が関連付けられている。図2の例であれば、コンテンツC1、C3〜C13が示す商品のカテゴリーは“衣類”であり、コンテンツC2が示す商品のカテゴリーは“衣類収納”である。カテゴリーの分類は、サイト独自のものであってもよいし、情報処理サーバ30の開発者が独自に決めたものであってもよい。なお、コンテンツに関連付けられる情報(以下、付加情報という。)は、カテゴリー、価格、及び識別コードの情報に限定されない。付加情報には、商品或いはサービスを提供するストア(以下、提供ストアという。)、及び商品或いはサービスのブランド等の情報が含まれていてもよい。なお、ストアにはオンラインストアも含まれる。付加情報はコンテンツの情報に含まれていてもよい。
コンテンツ提供サーバ20は、複数のコンテンツを、予め設定された基準(第1の基準)に従って順位づけ(ランキング)する。例えば、コンテンツ提供サーバ20は、複数のコンテンツを商品の売れ筋の順に順位付けする。このとき、コンテンツ提供サーバ20は、ストアの販売履歴に基づいて商品の販売数を判別し、販売数の多い順にコンテンツを順位付けしてもよい。また、コンテンツ提供サーバ20は、ユーザの好みにあうと思われる順にコンテンツを順位付けしてもよい。例えば、コンテンツ提供サーバ20は、過去、複数の検索結果ページにおいて多数のユーザによるコンテンツの選択履歴(例えば、クリックされた履歴)を保持する。そして、コンテンツ提供サーバ20は、コンテンツの選択回数が多い順にコンテンツを順位づけする。また、コンテンツ提供サーバ20が情報処理サーバ30からユーザの情報(例えば、デモグラフィック情報やサイコグラフィック情報等の属性情報)を取得しているのであれば、コンテンツ提供サーバ20は、ユーザ情報に基づいて、複数のコンテンツそれぞれについて、コンテンツが示す商品とユーザの嗜好とのマッチングの度合い(以下、マッチ度という。)を数値化する。そして、コンテンツ提供サーバ20は、マッチ度が高い順に複数のコンテンツを順位付けしてもよい。また、複数のコンテンツが広告コンテンツなのであれば、コンテンツ提供サーバ20は、広告料が高い順に複数のコンテンツを順位付けしてもよい。なお、コンテンツ提供サーバ20は、複数の要素を組み合わせてコンテンツを順位付けしてもよい。例えば、コンテンツ提供サーバ20は、複数のコンテンツそれぞれについて、商品の販売数、コンテンツの選択回数、ユーザの嗜好とのマッチ度等を重み付け加算して数値を算出する。そして、コンテンツ提供サーバ20は、数値が高い順にコンテンツを順位付けしてもよい。なお、第1の基準は上記に限られず様々な基準を採用可能である。コンテンツ提供サーバ20は、複数のコンテンツをコンテンツの順位の情報とともに情報処理サーバ30に送信する。図2の例であれば、コンテンツC1〜C13の上部に付された1、2、3等の数字がコンテンツそれぞれの順位である。
情報処理サーバ30は、コンテンツ提供サーバ20からコンテンツを受信すると、端末装置100に送信するページPを生成する。例えば、情報処理サーバ30は、コンテンツ提供サーバ20から受信した複数のコンテンツを検索結果の一部とする検索結果ページを生成する。図1の例では、情報処理サーバ30は、ページPとして、検索結果が縦方向にリストされた検索結果ページを生成している。図1に示すページPは、検索結果の表示領域の1つが、リスト方向(図1の例の場合、縦方向)に対して垂直(図1の例の場合、横方向)にスクロール可能となっている(以下、この領域をスクロール領域Aという)。情報処理サーバ30は、スクロール領域Aに、コンテンツ提供サーバ20から受信した複数のコンテンツを表示する。図1の例では、情報処理サーバ30は、スクロール領域Aのスクロール方向(図1の例の場合、横方向)に沿って一列に複数のコンテンツを表示している。
なお、情報処理サーバ30は、スクロール領域Aにコンテンツ提供サーバ20から受信した全てのコンテンツを表示するのではなく、受信した複数のコンテンツの中から予め設定された数(以下、設定数という。)のコンテンツを選択して表示する。情報処理サーバ30がスクロール領域Aに表示するコンテンツの数(設定数)は、例えば、10個である。勿論、設定数は10個より多くてもよいし少なくてもよい。なお、本実施形態の場合、ページPの初期表示状態で、画面に表示されるコンテンツの数は設定数よりさらに少ない。例えば、図1の例の場合、ページPの初期表示状態で画面に表示されるコンテンツの数(以下、初期表示数という。)は、10個より少ない5個である。勿論、初期表示数は5個より多くてもよいし少なくてもよい。なお、図1の例の場合、5番目のコンテンツは一部(およそ半分)が隠れた状態となっている。6番目以降のコンテンツは画面の外に完全に隠れた状態となっている。
図2に示すように、コンテンツ提供サーバ20が送信する複数のコンテンツそれぞれには順位が付されている(以下、図2に示す順位状態を状態D1という)。情報処理サーバ30は、コンテンツ提供サーバ20が付した順位順に複数のコンテンツをページPに表示するのではなく、複数のコンテンツの順位を予め設定された基準(第2の基準)で変更してページPに表示する。具体的には、情報処理サーバ30は、第2の基準に基づいて複数のコンテンツの中からコンテンツを選択し、選択したコンテンツを他の順位に回すことにより複数のコンテンツの順位を変更する。このとき、情報処理サーバ30は、コンテンツが示す商品或いはサービスに関する情報を基準に、他の順位に回すコンテンツを選択してもよい。例えば、情報処理サーバ30は、商品或いはサービスのカテゴリー、価格、識別コード、ブランド、提供ストア等を考慮要素とした基準に基づいて他の順位に回すコンテンツを選択してもよい。このとき、情報処理サーバ30は、複数のコンテンツの中にある複数の類似コンテンツ(類似コンテンツ群)と非類似のコンテンツ(例えば、他の多数のコンテンツから外れたコンテンツ)を複数のコンテンツの中から選択し、選択したコンテンツを他の順位に回してもよい。類似コンテンツ群は、互いに類似するコンテンツで構成されていてもよいし、基準となるコンテンツと類似するコンテンツで構成されていてもよい。また、類似コンテンツ群は、複数のコンテンツより求まる基準となる数値範囲のコンテンツで構成されていてもよい。あるコンテンツが類似コンテンツ群に含まれるか否かの基準は装置設計者等が任意に定めることができる。なお、情報処理サーバ30は、複数のコンテンツの中に、互いに類似するコンテンツが所定数以上含まれる場合に、その所定数以上のコンテンツを類似コンテンツ(類似コンテンツ群)、その他のコンテンツ(類似コンテンツ群に含まれないコンテンツ)を非類似コンテンツとして判別してもよい。「類似」には「同じ」も含まれる。
また、コンテンツ提供サーバ20は、複数のコンテンツの中の所定順位(以下、設定順位という。)までのコンテンツの中から他の順位に回すコンテンツを選択してもよい。設定順位は、上述の設定数に基づき定められてもよい。例えば、設定数が10個なのであれば、設定順位は10位であってもよい。図2の例の場合、破線の枠内のコンテンツC1〜C10が設定順位内のコンテンツである。このとき、情報処理サーバ30は、複数のコンテンツの中の所定順位までのコンテンツの中に、互いに類似するコンテンツが所定数以上含まれる場合に、その所定数以上のコンテンツを類似コンテンツ(類似コンテンツ群)、その他のコンテンツを非類似コンテンツとして判別してもよい。なお、“所定順位までのコンテンツ”を“複数のコンテンツ”そのものとみなすことも可能である。
図3は、図2に示す複数のコンテンツの順位が変更される様子を示す図である。情報処理サーバ30は、第2の基準(例えば、カテゴリー、価格、識別コード等を考慮要素した基準)に基づいて複数回順位の変更を行う。図3の例では、情報処理サーバ30は、3回順位の変更を行っている。図3の上段が、1回目の順位変更後の複数のコンテンツの順位状態(以下、状態D2という。)を示しており、中段が、2回目の順位変更後の複数のコンテンツの順位状態(以下、状態D3という。)を示しており、下段が、3回目の順位変更後の複数のコンテンツの順位状態(以下、状態D4という。)を示している。以下、情報処理サーバ30が行う順位の変更処理について、図2及び図3を参照しながら説明する。
最初に、情報処理サーバ30は、1回目の順位の変更処理を実行する。1回目の処理では、情報処理サーバ30は、コンテンツが示す商品或いはサービスのカテゴリー(以下、コンテンツのカテゴリーともいう。)に基づく順位の変更を行う。具体的には、情報処理サーバ30は、他の多数のコンテンツのカテゴリーとは異なるカテゴリーのコンテンツを他の順位に回す。1回目の順位の変更処理は次の手順で行う。
まず、情報処理サーバ30は、複数のコンテンツの中に、コンテンツが示す商品或いはサービスのカテゴリーが類似する(或いは同じ)コンテンツがいくつあるか判別する。具体的には、情報処理サーバ30は、設定順位までのコンテンツの中に、カテゴリーが同じコンテンツがいくつあるかカウントする。図2の例であれば、設定順位(10位)までのコンテンツC1〜C10の中に、カテゴリーが「衣類」のコンテンツは、コンテンツC1、C3〜C10の9個ある。そのため、情報処理サーバ30は、設定順位までのコンテンツの中にカテゴリーが同じコンテンツが9個あると判別する。
その後、情報処理サーバ30は、カウントした数に基づいて、同じカテゴリーのコンテンツが複数のコンテンツ(設定順位までコンテンツ)の多数を占めているか判別する。例えば、情報処理サーバ30は、設定順位までのコンテンツの中に、同じカテゴリーのコンテンツが所定数(例えば、7個)以上含まれるか否か判別することにより同じカテゴリーのコンテンツが多数を占めているか判別する。所定数が7個と設定されていたとすると、図2の例の場合、設定順位(10位)までのコンテンツC1〜C10の中に同じカテゴリー(「衣類」)のコンテンツは9個あるので、情報処理サーバ30は、同じカテゴリーのコンテンツが所定数(例えば、7個)以上含まれる(多数を占める)と判別する。なお所定数は7個に限定されない。7個より多くてもよいし、7個より少なくてもよい。また、所定数ではなく所定割合であってもよい。
カテゴリーが互いに同じコンテンツが所定数以上含まれる場合、情報処理サーバ30は、これらのコンテンツをカテゴリーが類似する類似コンテンツ(以下、カテゴリー類似コンテンツという。)として判別する。そして、情報処理サーバ30は、設定順位までのコンテンツの中から、カテゴリー類似コンテンツのカテゴリーとは異なるカテゴリーのコンテンツを、カテゴリーが非類似のコンテンツ(以下、カテゴリー非類似コンテンツという。)として選択する。図2の例であれば、コンテンツC2が示す商品のカテゴリーは「衣類収納」であり、他の9個のカテゴリー「衣類」とは異なっている。そこで、情報処理サーバ30は、コンテンツC2をカテゴリー非類似コンテンツとして選択する。
そして、情報処理サーバ30は、カテゴリー非類似コンテンツとして選択したコンテンツの順位を他の順位に回すことにより複数のコンテンツの順位を変更する。例えば、情報処理サーバ30は、選択したコンテンツが設定順位(例えば10位)より後の順位となるよう複数のコンテンツの順位を変更する。このとき、情報処理サーバ30は、選択したコンテンツが設定順位の一つ後の順位となるよう複数のコンテンツの順位を変更してもよい。複数のコンテンツの状態が図2の状態D1であり、選択されたコンテンツが白抜き矢印で示すコンテンツC2なのであれば、情報処理サーバ30は、図3の状態D2で示すように、コンテンツC2を設定順位(10位)の一つ後の11位に回す。コンテンツC3〜C10は、コンテンツC2の順の変更に伴い、順位を一つずつ繰り上げる。
以上の処理により、商品或いはサービスのカテゴリーが他と異なるコンテンツが設定順位から外れることになる。
次に、情報処理サーバ30は、2回目の順位の変更処理を実行する。2回目の処理では、情報処理サーバ30は、コンテンツが示す商品或いはサービスの価格(以下、コンテンツの価格ともいう。)に基づき順位の変更を行う。具体的には、情報処理サーバ30は、他の多数のコンテンツの価格帯を外れたコンテンツを他の順位に回す。2回目の順位の変更処理は次の手順で行う。
まず、情報処理サーバ30は、順位が変更された複数のコンテンツの中の設定順位までのコンテンツが示す商品或いはサービスの価格の中央値を判別する。図3の状態D2の例であれば、設定順位(10位)までのコンテンツは、コンテンツC1、C3〜C11である。コンテンツC1、C3〜C11が示す商品の価格は、それぞれ、2600円、7500円、2300円、2350円、510円、3980円、2700円、19800円、4100円、4600円である。設定順位(10位)が偶数であるので、中央は5番目と6番目の2つとなる。5番目及び6番目の価格は、コンテンツC8の2700円及びコンテンツC7の3980円である。情報処理サーバ30は、コンテンツC8とコンテンツC7のいずれか一方の価格を中央値と判別してもよいし、コンテンツC8の価格とコンテンツC7の価格の平均値を中央値として判別してもよい。本実施形態では、情報処理サーバ30は、2700円と3980円の平均値である3340円を中央値として判別する。
その後、情報処理サーバ30は、設定順位までのコンテンツの中から所定の価格範囲のコンテンツを価格が類似するコンテンツ(以下、価格類似コンテンツという。)とし、所定の価格範囲を外れたコンテンツを価格が非類似のコンテンツ(以下、価格非類似コンテンツという。)として選択する。このとき、所定の価格範囲は、中央値を基準に定まる価格範囲であってもよい。例えば、価格範囲は、中央値の50%〜200%の範囲の価格であってもよい。3340円が中央値なのであれば、価格範囲は、中央値の50%〜200%である1670円〜6680円であってもよい。なお、価格範囲は中央値の50%〜200%の範囲に限定されない。価格範囲は、中央値を基準とした他の割合の範囲、例えば、中央値の60%〜150%の範囲の価格であってもよい。或いは、価格範囲は設定順位までのコンテンツの価格の平均値を基準に定まる価格範囲であってもよい。その他、価格範囲は設定順位までのコンテンツの価格に基づき定まる価格範囲であってもよい。図3の状態D2の例において、価格範囲が1670円〜6680円なのであれば、情報処理サーバ30は、この価格範囲を外れたコンテンツC3(7500円)、コンテンツC6(510円)、コンテンツC9(19800円)を価格非類似コンテンツとして選択する。
そして、情報処理サーバ30は、価格非類似コンテンツとして選択したコンテンツの順位を他の順位に回すことにより複数のコンテンツの順位を変更する。例えば、情報処理サーバ30は、選択したコンテンツが設定順位(例えば10位)より後の順位となるよう複数のコンテンツの順位を変更する。このとき、情報処理サーバ30は、選択したコンテンツが所定順位の直後に並ぶよう複数のコンテンツの順位を変更してもよい。複数のコンテンツの状態が図3の状態D2であり、選択されたコンテンツが白抜き矢印で示すコンテンツC3、C6、C9の3つなのであれば、情報処理サーバ30は、図3の状態D3で示すように、コンテンツC3、C6、C9の3つを設定順位(10位)の直後の11位、12位、13位に回す。このとき、情報処理サーバ30は、選択したコンテンツを元の順位が高い順に並べてもよい。例えば、情報処理サーバ30は、元の順位が最も高いコンテンツC3を11位に、元の順位が次に高いコンテンツC6を12位に、元の順位が最も低いコンテンツC9を13位にしてもよい。コンテンツC4、C5、C7、C8、C10、C11は、コンテンツC3、C6、C9の順の変更に伴い、順位を繰り上げる。
以上の処理により、商品或いはサービスの価格が他と外れたコンテンツが設定順位から外れることになる。
次に、情報処理サーバ30は、3回目の順位の変更処理を実行する。3回目の処理では、情報処理サーバ30は、コンテンツが示す商品或いはサービスの識別コード(以下、コンテンツの識別コードともいう。)に基づく順位の変更を行う。具体的には、情報処理サーバ30は、他の多数のコンテンツの識別コードとは異なる識別コードのコンテンツを他の順位に回す。3回目の順位の変更処理は次の手順で行う。
まず、情報処理サーバ30は、順位が変更された複数のコンテンツの中に、コンテンツが示す商品或いはサービスの識別コードが類似する(或いは同じ)コンテンツがいくつあるか判別する。具体的には、情報処理サーバ30は、設定順位までのコンテンツの中に、識別コードが同じコンテンツがいくつあるかカウントする。なお、識別コードが複数付されているコンテンツが含まれる場合、情報処理サーバ30は、複数の識別コードのいずれかが一致するコンテンツを識別コードが同じコンテンツとして判別してもよい。図3の状態D3の例であれば、設定順位(10位)までのコンテンツC1、C4、C5、C7、C8、C10、C11、C2、C12、C13の中に、識別コードが「12345」のコンテンツは、コンテンツC1、C4、C5、C8、C10、C11、C12、C13の8個ある。そのため、情報処理サーバ30は、設定順位までのコンテンツの中に識別コードが同じコンテンツが8個あると判別する。
その後、情報処理サーバ30は、カウントした数に基づいて、同じ識別コードのコンテンツが複数のコンテンツ(設定順位までコンテンツ)の多数を占めているか判別する。例えば、情報処理サーバ30は、設定順位までのコンテンツの中に、同じ識別コードのコンテンツが所定数(例えば、7個)以上含まれるか否か判別することにより同じ識別コードのコンテンツが多数を占めているか判別する。所定数が7個と設定されていたとすると、図3の状態D3の例の場合、設定順位(10位)までのコンテンツC1、C4、C5、C7、C8、C10、C11、C2、C12、C13の中に同じ識別コード(「12345」)のコンテンツは8個あるので、情報処理サーバ30は、同じ識別コードのコンテンツが所定数(例えば、7個)以上含まれる(多数を占める)と判別する。なお所定数は7個に限定されない。7個より多くてもよいし、7個より少なくてもよい。また、所定数ではなく所定割合であってもよい。
同じ識別コードのコンテンツが所定数以上含まれる場合、情報処理サーバ30は、これらのコンテンツを識別コードが類似するコンテンツ(以下、識別コード類似コンテンツという。)として判別する。そして、情報処理サーバ30は、設定順位までのコンテンツの中から、識別コード類似コンテンツの識別コードとは異なる識別コードのコンテンツを、識別コードが非類似の非類似コンテンツとして選択する。図3の状態D3の例であれば、コンテンツC7、C2が示す商品の識別コードは「45678」、「23456」であり、他の8個の識別コード「12345」とは異なっている。そこで、情報処理サーバ30は、コンテンツC7、C2を識別コード非類似コンテンツとして選択する。
そして、情報処理サーバ30は、識別コード非類似コンテンツとして選択したコンテンツの順位を他の順位に回すことにより複数のコンテンツの順位を変更する。例えば、情報処理サーバ30は、選択したコンテンツが設定順位(例えば10位)より後の順位となるよう複数のコンテンツの順位を変更する。このとき、情報処理サーバ30は、選択したコンテンツが所定順位の直後に並ぶよう複数のコンテンツの順位を変更してもよい。複数のコンテンツの状態が図3の状態D3であり、選択されたコンテンツが白抜き矢印で示すコンテンツC7、C2の2つなのであれば、情報処理サーバ30は、図3の状態D4で示すように、コンテンツC7、C2の2つを設定順位(10位)の直後の11位、12位に回す。このとき、情報処理サーバ30は、選択したコンテンツを元の順位が高い順に並べてもよい。例えば、情報処理サーバ30は、元の順位が最も高いコンテンツC7を11位に、元の順位が次に高いコンテンツC2を12位にしてもよい。コンテンツC1、C4、C5、C8、C10、C11、C12、C13は、コンテンツC7、C2の順の変更に伴い、順位を繰り上げる。
以上の処理により、商品或いはサービスの識別コードが他と異なるコンテンツが設定順位から外れることになる。
順位の変更処理が完了したら、情報処理サーバ30は、順位が変更された複数のコンテンツに基づいて図1に示すページPを生成する。このとき、情報処理サーバ30は、順位が変更された複数のコンテンツの中から、最上位から順位順に設定数(図1の例の場合10個)のコンテンツを選択する。そして、情報処理サーバ30は、選択したコンテンツを順位順にページPのスクロール領域Aに配置する。ページPの生成が完了したら、情報処理サーバ30は、ページPを端末装置100に送信する。端末装置100は、情報処理サーバ30から受信したページPを画面に表示する。
以上のように、情報処理サーバ30は、第1の基準で順位づけされた複数のコンテンツの情報をコンテンツ提供サーバ20から取得する。そして、情報処理サーバ30は、第2の基準に基づいて複数のコンテンツの中からコンテンツを選択し、選択したコンテンツを他の順位に回すことにより複数のコンテンツの順位を変更する。第1の基準で順位づけされた結果がユーザにとって効果的でない結果を含む場合であっても、第2の基準に基づいて選択されたコンテンツの順位が変更されているので、生成される複数のコンテンツの順位はユーザにとって効果的である。
〔2.配信システムの構成例〕
以上、本実施形態の情報処理装置の一例である情報処理サーバ30を例に、情報処理装置の動作を述べたが、以下、本実施形態の情報処理装置の構成を説明する。以下の説明では、情報処理サーバ30を備える配信システム1を例に情報処理装置の構成を説明する。最初に、図4を使って実施形態に係る配信システム1の構成について説明する。
図4は、実施形態に係る配信システム1の構成例を示す図である。図4に示すように、配信システム1は、端末装置100と、ストア端末10と、コンテンツ提供サーバ20と、情報処理サーバ30とを備える。端末装置100、ストア端末10、コンテンツ提供サーバ20および情報処理サーバ30は、ネットワークNを介して接続される。ネットワークNは、LAN(Local Area Network)、WAN(Wide Area Network)、電話網(携帯電話網、固定電話網等)、地域IP(Internet Protocol)網、インターネット等の通信ネットワークである。ネットワークNには、有線ネットワークが含まれていてもよいし、無線ネットワークが含まれていてもよい。なお、図4に示す配信システム1には、端末装置100、ストア端末10、コンテンツ提供サーバ20、及び情報処理サーバ30がそれぞれ複数台含まれてもよい。
端末装置100は、ページを閲覧するユーザによって利用される情報処理装置である。端末装置100は、ユーザの操作に従って、コンテンツ提供サーバ20及び情報処理サーバ30からページの情報を取得する。端末装置100の構成は後述する。
ストア端末10は、商品或いはサービスを提供するストアによって利用される情報処理装置である。例えば、ストア端末10は、スマートデバイス(スマートフォン、或いはタブレット)、携帯電話、パーソナルコンピュータ等の端末装置である。ストア端末10は、ストアの店員等による操作に従って、コンテンツ提供サーバ20にコンテンツを入稿する。例えば、ストア端末10は、コンテンツC1、C2等をコンテンツとしてコンテンツ提供サーバ20に入稿する。ストア端末10が入稿するコンテンツは、画像(静止画、動画像)であってもよいし、テキストデータであってもよい。
コンテンツ提供サーバ20は、ストア端末10から入稿されたコンテンツを配信するサーバ装置である。例えば、コンテンツ提供サーバ20は、オークションサイト、ショッピングサイト、飲食店紹介サイト等として機能するサーバである。例えば、コンテンツ提供サーバ20は、端末装置100から商品或いはサービスに関する検索クエリを受付けると、検索クエリに基づいて検索クエリにマッチする商品或いはサービスを判別するとともに、判別結果に基づいてページを生成して端末装置100に送信する。コンテンツ提供サーバ20の構成は後述する。
情報処理サーバ30は、端末装置100にページの情報を配信するサーバ装置である。例えば、情報処理サーバ30は、ポータルサイト、ニュースサイト、オークションサイト、天気予報サイト、ショッピングサイト、ファイナンス(株価)サイト、路線検索サイト、地図提供サイト、旅行サイト、飲食店紹介サイト、ウェブブログなどに関連する各種情報がタイル状に配置されたウェブページを端末装置100に配信する装置である。情報処理サーバ30は、ポータルサイト等のウェブページを配信するサーバであってもよい。また、情報処理サーバ30は、端末装置100に制御情報を配信する配信装置としても機能する。情報処理サーバ30の構成は後述する。
〔3.コンテンツ提供サーバの構成例〕
次に、コンテンツ提供サーバ20の構成について説明する。コンテンツ提供サーバ20は、端末装置100、ストア端末10、情報処理サーバ30等のクライアント端末からの要求を処理するサーバ用ホストコンピュータ(以下、単に「サーバ」という。)である。コンテンツ提供サーバ20は、PCサーバであってもよいし、ミッドレンジサーバであってもよいし、メインフレームサーバであってもよい。また、コンテンツ提供サーバ20は、1つのサーバにより構成されていてもよいし、協同して処理を実行する複数のサーバにより構成されていてもよい。コンテンツ提供サーバ20が複数のサーバで構成される場合、これらサーバの設置場所は離れていてもよい。設置場所が離れていたとしても、協同して処理を実行するのであれば、これらサーバは1つのコンテンツ提供サーバとみなすことができる。
図5は、実施形態に係るコンテンツ提供サーバ20の構成例を示す図である。コンテンツ提供サーバ20は、通信部21と、記憶部22と、制御部23と、を備える。なお、図5に示した構成は機能的な構成であり、ハードウェア構成はこれとは異なっていてもよい。
通信部21は、外部の装置と通信する通信インタフェースである。通信部21は、ネットワークインタフェースであってもよいし、機器接続インタフェースであってもよい。例えば、通信部21は、NIC(Network Interface Card)等のLANインタフェースであってもよいし、USB(Universal Serial Bus)ホストコントローラ、USBポート等により構成されるUSBインタフェースであってもよい。また、通信部21は、有線インタフェースであってもよいし、無線インタフェースであってもよい。通信部21は、コンテンツ提供サーバ20の通信手段として機能する。通信部21は、制御部23の制御に従って端末装置100、ストア端末10、及び情報処理サーバ30と通信する。
記憶部22は、DRAM(Dynamic Random Access Memory)、SRAM(Static Random Access Memory)、フラッシュメモリ、ハードディスク等のデータ読み書き可能な記憶装置である。記憶部22は、コンテンツ提供サーバ20の記憶手段として機能する。記憶部22は、コンテンツデータベース24を記憶する。
コンテンツデータベース24は、ストア端末10から入稿されたコンテンツに関する情報が格納されたデータベースである。図6は、実施形態に係るコンテンツデータベース24に格納された情報の一例を示す図である。図6に示した例では、コンテンツデータベース24は、ストアID、コンテンツ、商品名、カテゴリー、価格、識別コード等の項目を有している。
「ストアID」は、ストア(提供ストア)またはストア端末10を識別するための識別情報を示す。「コンテンツ」は、ストア端末10から入稿されたコンテンツ、すなわち、コンテンツC1、C2、C4、C20、C21等の商品に関するコンテンツを示す。なお、図6に示す例では、「コンテンツ」には「C1」、「C2」、「C4」、「C20」、「C21」といった概念的な情報が格納されているが、音声データ、画像データ、テキストデータ、ゲームデータ、ゲーム形式のデータ等、コンテンツのデータそのものが格納されていてもよい。なお、「コンテンツ」には、各コンテンツが所在するURL、または、これらの格納場所を示すファイルパス名などが格納されていてもよい。「商品名」は、ストアが提供する商品の名前を示す。「カテゴリー」は、ストアが提供する商品のカテゴリーを示す。「識別コード」は、ストアが提供する商品の識別コードを示す。
図6の例では、ストアID「K10」によって識別されるストアが、コンテンツC1、C2、C20を入稿した例が示されている。コンテンツC1は、商品名が「AAAA」、カテゴリーは「衣類」、価格は「2600」、識別コードは「12345」である。コンテンツC2は、商品名が「BBBB」、カテゴリーは「衣類収納」、価格は「1000」、識別コードは「23456」である。コンテンツC20は、商品名が「CCCC」、カテゴリーは「食品」、価格は「2100」、識別コードは「34567」である。また、図6の例では、ストアID「K20」によって識別されるストアが、コンテンツC4、C21を入稿した例が示されている。コンテンツC4は、商品名が「AAAA」、カテゴリーは「衣類」、価格は「2300」、識別コードは「12345」である。コンテンツC21は、商品名が「BBBB」、カテゴリーは「衣類収納」、価格は「900」、識別コードは「23456」である。
なお、コンテンツデータベース24は、上記以外の項目の情報を記憶してもよい。例えば、コンテンツデータベース24は、商品のブランドの情報やコンテンツとユーザとのマッチングを行うための情報をさらに記憶してもよい。
図5に戻り、制御部23は、コントローラ(controller)であり、例えば、CPU(Central Processing Unit)、MPU(Micro Processing Unit)等のプロセッサによって、コンテンツ提供サーバ20内部の記憶装置に記憶されている各種プログラムがRAM等を作業領域として実行されることにより実現される。また、制御部23は、コントローラであり、例えば、ASIC(Application Specific Integrated Circuit)やFPGA(Field Programmable Gate Array)等の集積回路により実現されてもよい。
制御部23は、図5に示すように、コンテンツ受付部25と、要求受付部26と、順位生成部27と、送信部28と、を備える。制御部23を構成するブロック(コンテンツ受付部25〜送信部28)はそれぞれ制御部23の機能を示す機能ブロックである。これら機能ブロックはソフトウェアブロックであってもよいし、ハードウェアブロックであってもよい。例えば、上述の機能ブロックが、それぞれ、ソフトウェア(マイクロプログラムを含む。)で実現される1つのソフトウェアモジュールであってもよいし、半導体チップ(ダイ)上の1つの回路ブロックであってもよい。勿論、各機能ブロックがそれぞれ1つのプロセッサ或いは1つの集積回路であってもよい。機能ブロックの構成方法は任意である。なお、制御部23は上述の機能ブロックとは異なる機能単位で構成されていてもよい。
コンテンツ受付部25は、ストア端末10からコンテンツの入稿を受け付ける。コンテンツ受付部25は、コンテンツの情報とともに、カテゴリー、価格、及び識別コード、ブランド等の付加情報の入稿を受け付けてもよい。コンテンツ受付部25は、コンテンツおよび付加情報を、ストアIDとともにコンテンツデータベース24に登録する。
要求受付部26は、端末装置100及び情報処理サーバ30からコンテンツの取得要求を受け付ける。例えば、要求受付部26は、コンテンツの取得要求として、HTTPリクエストを受け付ける。
順位生成部27は、要求受付部26によってコンテンツの取得要求が受け付けられた場合に、配信候補のコンテンツをコンテンツデータベース24から選択する。例えば、順位生成部27は、端末装置100或いは情報処理サーバ30から取得した情報(例えば、検索クエリ)に基づいて配信対象となるコンテンツのマッチングを行う。複数のコンテンツがマッチした場合には、順位生成部27は、第1の基準に従って複数のコンテンツの順位付けを行う。
送信部28は、順位生成部27が選択したコンテンツを順位の情報とともに、端末装置100或いは情報処理サーバ30に対して送信する。
〔4.情報処理サーバの構成例〕
次に、情報処理サーバ30の構成について説明する。情報処理サーバ30は、端末装置100等のクライアント端末からの要求を処理するサーバ用ホストコンピュータ(以下、単に「サーバ」という。)である。情報処理サーバ30は、PCサーバであってもよいし、ミッドレンジサーバであってもよいし、メインフレームサーバであってもよい。また、情報処理サーバ30は、1つのサーバにより構成されていてもよいし、協同して処理を実行する複数のサーバにより構成されていてもよい。情報処理サーバ30が複数のサーバで構成される場合、これらサーバの設置場所は離れていてもよい。設置場所が離れていたとしても、協同して処理を実行するのであれば、これらサーバは1つのコンテンツ提供サーバとみなすことができる。
図7は、実施形態に係る情報処理サーバ30の構成例を示す図である。情報処理サーバ30は、通信部31と、記憶部32と、制御部33と、を備える。なお、図7に示した構成は機能的な構成であり、ハードウェア構成はこれとは異なっていてもよい。
通信部31は、外部の装置と通信する通信インタフェースである。通信部31は、ネットワークインタフェースであってもよいし、機器接続インタフェースであってもよい。例えば、通信部31は、NIC等のLANインタフェースであってもよいし、USBホストコントローラ、USBポート等により構成されるUSBインタフェースであってもよい。また、通信部31は、有線インタフェースであってもよいし、無線インタフェースであってもよい。通信部31は、情報処理サーバ30の通信手段として機能する。通信部31は、制御部33の制御に従って端末装置100、及びコンテンツ提供サーバ20と通信する。
記憶部32は、DRAM、SRAM、フラッシュメモリ、ハードディスク等のデータ読み書き可能な記憶装置である。記憶部32は、情報処理サーバ30の記憶手段として機能する。記憶部32は、コンテンツC1等のコンテンツが配置されたページの情報を記憶する。例えば、記憶部32は、ページを形成するHTML(Hyper Text Markup Language)ファイルや、ページに表示される画像のデータを記憶する。
制御部33は、コントローラであり、例えば、CPU、MPU等のプロセッサによって、情報処理サーバ30内部の記憶装置に記憶されている各種プログラムがRAM等を作業領域として実行されることにより実現される。また、制御部33は、コントローラであり、例えば、ASICやFPGA等の集積回路により実現されてもよい。
制御部33は、図7に示すように、受付部34と、取得部35と、変更部36と、生成部37と、送信部38と、を備える。制御部33を構成するブロック(受付部34〜送信部38)はそれぞれ制御部33の機能を示す機能ブロックである。これら機能ブロックはソフトウェアブロックであってもよいし、ハードウェアブロックであってもよい。例えば、上述の機能ブロックが、それぞれ、ソフトウェア(マイクロプログラムを含む。)で実現される1つのソフトウェアモジュールであってもよいし、半導体チップ(ダイ)上の1つの回路ブロックであってもよい。勿論、各機能ブロックがそれぞれ1つのプロセッサ或いは1つの集積回路であってもよい。機能ブロックの構成方法は任意である。なお、制御部33は上述の機能ブロックとは異なる機能単位で構成されていてもよい。
受付部34は、端末装置100からページの取得要求を受け付ける。例えば、受付部34は、ウェブページの取得要求として、HTTPリクエストを受け付ける。ウェブページの取得要求には商品或いはサービスに関する検索クエリが含まれていてもよい。
取得部35は、コンテンツ提供サーバ20から第1の基準で順位づけされた複数のコンテンツの情報を取得する。なお、複数のコンテンツが記憶部32に格納されているのであれば、取得部35は、記憶部32から複数のコンテンツの情報を取得してもよい。
変更部36は、複数のコンテンツのうち、類似するコンテンツ群である類似コンテンツ群と非類似のコンテンツの順位を変更する。例えば、変更部36は、第2の基準に基づいて複数のコンテンツの中からコンテンツを選択し、選択したコンテンツを他の順位に回すことにより複数のコンテンツの順位を変更する。このとき、変更部36は、複数のコンテンツの中にある複数の類似コンテンツと非類似のコンテンツを複数のコンテンツの中から選択し、選択したコンテンツを他の順位に回してもよい。例えば、変更部36は、複数のコンテンツの中の所定順位までのコンテンツの中に、互いに類似するコンテンツが所定数以上含まれる場合に、所定順位までのコンテンツの中から、互いに類似するコンテンツとは非類似のコンテンツを他の順位に回すコンテンツとして選択する。
また、変更部36は、第2の基準に基づいて複数のコンテンツの中の所定順位までのコンテンツの中からコンテンツを選択し、選択したコンテンツを他の順位に回してもよい。例えば、変更部36は、複数のコンテンツの中の所定順位までのコンテンツの中にある複数の類似コンテンツと非類似のコンテンツを所定順位までのコンテンツの中から選択し、選択したコンテンツを他の順位に回してもよい。このとき、変更部36は、選択したコンテンツが所定順位より後の順位となるよう複数のコンテンツの順位を変更してもよい。例えば、変更部36は、選択したコンテンツが所定順位の一つ後の順位となるよう複数のコンテンツの順位を変更してもよい。また、変更部36は、所定順位までのコンテンツの中からコンテンツを複数選択し、選択したコンテンツが所定順位の直後に元の順位が高い順に並ぶよう複数のコンテンツの順位を変更してもよい。
また、変更部36は、コンテンツの出力態様を基準に、他の順位に回すコンテンツを選択してもよい。例えば、変更部36は、コンテンツが画像を含むか否かを基準に、他の順位に回すコンテンツを選択してもよい。
なお、複数のコンテンツは、商品或いはサービスに関するコンテンツであってもよい。このとき、変更部36は、コンテンツが示す商品或いはサービスの情報を基準に、他の順位に回すコンテンツを選択してもよい。例えば、変更部36は、商品或いはサービスのカテゴリー、価格、識別コード、ブランド、若しくは提供ストアを基準に、他の順位に回すコンテンツを選択してもよい。
また、変更部36は、複数のコンテンツの中の所定順位までのコンテンツの中に、商品或いはサービスのカテゴリーが同じコンテンツが所定数以上含まれる場合には、所定順位までのコンテンツの中から、このカテゴリーとは異なるカテゴリーのコンテンツを他の順位に回すコンテンツとして選択してもよい。
また、変更部36は、複数のコンテンツの中の所定順位までのコンテンツが示す商品或いはサービスの価格の中央値を算出し、所定順位までのコンテンツの中から、中央値を基準に定まる価格範囲を外れたコンテンツを他の順位に回すコンテンツとして選択してもよい。
また、変更部36は、複数のコンテンツの中の所定順位までのコンテンツの中に、商品或いはサービスの識別コードが同じコンテンツが所定数以上含まれる場合には、所定順位までのコンテンツの中から、この識別コードとは異なる識別コードのコンテンツを他の順位に回すコンテンツとして選択してもよい。
また、変更部36は、複数のコンテンツの中の所定順位までのコンテンツの中に、商品或いはサービスのカテゴリーが同じコンテンツが所定数以上含まれる場合には、所定順位までのコンテンツの中から、このカテゴリーとは異なるカテゴリーのコンテンツを選択し、選択したコンテンツの順位を他の順位に回すことにより複数のコンテンツの順位を変更してもよい。
さらに、その後、変更部36は、順位が変更された複数のコンテンツの中の所定順位までのコンテンツが示す商品或いはサービスの価格の中央値を判別し、所定順位までのコンテンツの中から、中央値を基準に定まる価格範囲を外れたコンテンツを選択し、選択したコンテンツの順位を他の順位に回すことにより複数のコンテンツの順位を変更してもよい。
さらに、その後、変更部36は、順位が変更された複数のコンテンツの中の所定順位までのコンテンツの中に、商品或いはサービスの識別コードが同じコンテンツが所定数以上含まれる場合には、所定順位までのコンテンツの中から、この識別コードとは異なる識別コードのコンテンツを選択し、選択したコンテンツの順位を他の順位に回すことにより複数のコンテンツの順位を変更してもよい。
また、変更部36は、複数のコンテンツの中の所定順位までのコンテンツのタイトル中に、商品或いはサービスの名称が同じコンテンツが所定数以上含まれる場合には、所定順位までのコンテンツの中から、該名称とは異なる名称のコンテンツを他の順位に回すコンテンツとして選択してもよい。
生成部37は、順位が変更された複数のコンテンツに基づいてページPを生成する。例えば、生成部37は、順位が変更された複数のコンテンツの中から、最上位から順位順に設定数のコンテンツを選択し、選択したコンテンツを順位順にページPのスクロール領域Aに配置する。送信部38は、生成部37が生成したページを端末装置100に対して送信する。
〔5.端末装置の構成例〕
次に、端末装置100の構成について説明する。端末装置100は、ユーザがページの閲覧に使用する情報表示装置である。端末装置100は、例えば、スマートフォン、タブレット、携帯電話等の通信端末である。通信機能を備えるのであれば、端末装置100は、パーソナルコンピュータ(ノートPC、デスクトップPC)、PDA(Personal Digital Assistant)等の情報処理端末であってもよい。この場合、情報処理端末も通信端末の一種である。端末装置100は、ネットワークNを介してコンテンツ提供サーバ20、及び情報処理サーバ30と接続する。
図8は、実施形態に係る端末装置100の構成例を示す図である。端末装置100は、通信部110と、入力部120と、記憶部130と、出力部140と、制御部150と、を備える。なお、図8に示した構成は機能的な構成であり、ハードウェア構成はこれとは異なっていてもよい。
通信部110は、外部の装置と通信する通信インタフェースである。通信部110は、ネットワークインタフェースであってもよいし、機器接続インタフェースであってもよい。例えば、通信部110は、NIC等のLANインタフェースであってもよいし、USBホストコントローラ、USBポート等により構成されるUSBインタフェースであってもよい。また、通信部110は、有線インタフェースであってもよいし、無線インタフェースであってもよい。通信部110は、端末装置100の通信手段として機能する。通信部110は、制御部150の制御に従ってコンテンツ提供サーバ20、及び情報処理サーバ30と通信する。
入力部120は、外部から各種入力を受け付ける入力装置である。例えば、入力部120は、キーボードやマウスや操作キー等、ユーザが各種操作を行うための操作装置である。入力部120は、端末装置100の入力手段として機能する。なお、端末装置100にタッチパネルが採用される場合には、タッチパネルも入力部120に含まれる。この場合、ユーザは、指やスタイラスで画面をタッチすることにより各種操作を行う。
記憶部130は、DRAM、SRAM、フラッシュメモリ、ハードディスク等のデータ読み書き可能な記憶装置である。記憶部130は、端末装置100の記憶手段として機能する。記憶部130は、ウェブブラウザ等のアプリケーションのデータが格納されている。以下の説明では、ウェブブラウザのことを単にブラウザという。
出力部140は、音、光、振動、画像等、外部に各種出力を行う装置である。出力部140は、端末装置100の出力手段として機能する。出力部140は、表示部141を備える。表示部141は、各種情報を表示する装置である。例えば、表示部141は、液晶ディスプレイ、有機ELディスプレイ等の表示装置である。なお、端末装置100にタッチパネルが採用される場合には、入力部120と表示部141は一体であってもよい。
図9は、端末装置100に表示されるページPの一例を示す図である。ページPは、例えば、ニュース、天気予報、受信メールのインデックスや内容、フォトビュワー、その他各種のコンテンツが配置されたウェブページである。ページPは、HTML、XML(Extensible Markup Language)等で記述される。
本実施形態では、ページPは、ユーザの検索クエリに対応した検索結果が縦方向にリストされた検索結果ページとなっている。ページPは、検索結果の表示領域の1つが、スクロール領域Aとなっている。スクロール領域Aは、リスト方向(図9の例の場合、縦方向)に対して垂直にスクロール可能である。スクロール領域Aには、スクロール方向(図9の例の場合、横方向)に沿って一列に複数のコンテンツがタイル状に配置されている。図9の例であれば、スクロール領域Aには、コンテンツC1、C4、C5、C8、C10〜C13、C3、C6の10個のコンテンツが配置されている。また、スクロール領域Aの図面右端にはボタンA1が配置されている。ボタンA1は、11位以下の検索結果(コンテンツ)が配置されたページへジャンプするためのボタンである。ユーザがボタンA1をクリック(タップ)、11位以下の検索結果(コンテンツ)のページにジャンプする。
図10は、ページPが端末装置100に表示された様子を示す図である。図10の例ででは、スクロール領域Aに配置された10個のコンテンツのうち、上位の順位の5個のコンテンツが表示部141に表示されている。図10の例の場合、順位が5番目のコンテンツは一部(およそ半分)が隠れた状態となっている。5番目以降のコンテンツは表示部141の外に完全に隠れた状態となっている。図11は、端末装置100がスクロール操作された様子を示す図である。スクロール領域Aがスクロールすると、画面の外に隠れていたコンテンツが表示部141に表示される。
図8に戻り、制御部150は、コントローラであり、例えば、CPU、MPU等のプロセッサによって、端末装置100内部の記憶装置に記憶されている各種プログラムがRAM等を作業領域として実行されることにより実現される。また、制御部150は、コントローラであり、例えば、ASICやFPGA等の集積回路により実現されてもよい。
制御部150は、図8に示すように、表示制御部151を備える。制御部150を構成するブロック(表示制御部151)は制御部150の機能を示す機能ブロックである。この機能ブロックはソフトウェアブロックであってもよいし、ハードウェアブロックであってもよい。例えば、上述の機能ブロックが、ソフトウェア(マイクロプログラムを含む。)で実現される1つのソフトウェアモジュールであってもよいし、半導体チップ(ダイ)上の1つの回路ブロックであってもよい。勿論、各機能ブロックが1つのプロセッサ或いは1つの集積回路であってもよい。機能ブロックの構成方法は任意である。なお、制御部150は上述の機能ブロックとは異なる機能単位で構成されていてもよい。
表示制御部151は、コンテンツが配置されたページを画面に表示する。スクロール可能な部分はページの一部であってもよい。このとき、スクロール方向は縦方向であってもよいし、横方向であってもよい。
〔6.情報処理サーバの処理フロー〕
次に、図12を参照しながら、情報処理サーバ30が実行する処理の手順について説明する。図12は、送信処理の一例を示すフローチャートである。情報処理サーバ30は、電源が投入されると、送信処理を開始する。
まず、情報処理サーバ30は、端末装置100からページPのリクエストを受信したか判別する(ステップS11)。リクエストを受信していない場合(ステップS11:No)、情報処理サーバ30は、再度ステップS11を実行する。
リクエストを受信している場合(ステップS11:Yes)、情報処理サーバ30は、コンテンツ提供サーバ20に対し、第1の基準で順位付けされた複数のコンテンツの送信を要求する(ステップS12)。そして、情報処理サーバ30は、コンテンツ提供サーバ20から複数のコンテンツを受信したか判別する(ステップS13)。複数のコンテンツを受信していない場合(ステップS13:No)、情報処理サーバ30は、再度ステップS13を実行する。
コンテンツを受信している場合(ステップS13:Yes)、情報処理サーバ30は、複数のコンテンツの中の所定順位までのコンテンツの中に、商品或いはサービスのカテゴリーが同じコンテンツが所定数以上含まれるか否か判別する(ステップS14)。所定数以上含まれない場合(ステップS14:No)、情報処理サーバ30はステップS16に処理を進める。所定数以上含まれる場合(ステップS14:Yes)、情報処理サーバ30は、コンテンツが示す商品或いはサービスのカテゴリーに基づいて、複数のコンテンツの順位を変更する(ステップS15)。
続いて、情報処理サーバ30は、コンテンツが示す商品或いはサービスの価格に基づいて、複数のコンテンツの順位を変更する(ステップS16)。
続いて、情報処理サーバ30は、複数のコンテンツの中の所定順位までのコンテンツの中に、商品或いはサービスの識別コードが同じコンテンツが所定数以上含まれるか否か判別する(ステップS17)。所定数以上含まれない場合(ステップS17:No)、情報処理サーバ30はステップS19に処理を進める。所定数以上含まれる場合(ステップS17:Yes)、情報処理サーバ30は、コンテンツが示す商品或いはサービスの識別コードに基づいて、複数のコンテンツの順位を変更する(ステップS18)。
次に、情報処理サーバ30は、順位が変更された複数のコンテンツに基づいてページPを生成する(ステップS19)。例えば、情報処理サーバ30は、順位が変更された複数のコンテンツの中から、最上位から順位順に設定数のコンテンツを選択し、選択したコンテンツを順位順にページPのスクロール領域Aに配置する。ページPの生成が完了したら、情報処理サーバ30は、ページPを端末装置100に送信する(ステップS20)。
ページPの送信が完了したら、情報処理サーバ30は、ステップS11に処理を戻し、ステップS11〜S20の処理を繰り返す。
〔7.変形例〕
上述の実施形態は一例を示したものであり、種々の変更及び応用が可能である。
例えば、上述の実施形態では、コンテンツが配置されるページはウェブページであるものとしたが、ページはウェブページに限定されない。例えば、ページは、ユーザインタフェース画面に表示されることを目的として作成されたページであってもよい。例えば、ページは、メッセンジャーアプリケーションの画面、カメラアプリケーションの画面、ゲーム画面、音楽再生画面、動画再生画面であってもよい。また、コンテンツが配置される領域はスクロール領域Aに限定されない。コンテンツはページPの他の領域に配置されていてもよい。
また、上述の実施形態では、情報処理サーバ30が順位を変更する複数のコンテンツは商品或いはサービスに関するコンテンツであるものとしたが、コンテンツは商品或いはサービスに関するコンテンツに限られない。例えば、複数のコンテンツは、ゲーム、音楽、映画等のコンテンツであってもよい。コンテンツは、広告コンテンツであってもよい。
また、上述の実施形態では、順位の変更処理は情報処理サーバ30が実行するものとしたが、コンテンツ提供サーバ20或いは端末装置100が実行してもよい。
また、上述の実施形態では、コンテンツ提供サーバ20(順位生成部27)が第1の基準に基づいて複数のコンテンツを順位付けするものとしたが、第1の基準に基づく順位付けは情報処理サーバ30が実行してもよい。このとき、情報処理サーバ30は順位生成部27としての機能を有していてもよい。
また、情報処理サーバ30は、コンテンツの出力態様を基準に、他の順位に回すコンテンツを選択してもよい。コンテンツの出力態様とは、コンテンツが画像を表示するコンテンツか否か、コンテンツが音を出力するコンテンツか否か等の態様のことである。例えば、情報処理サーバ30は、コンテンツが画像を含むか否かを基準に、他の順位に回すコンテンツを選択してもよい。例えば、変更部36は、コンテンツが画像を含まず、テキスト情報のみから構成されるコンテンツを他の順位に回すコンテンツとして選択してもよい。
また、上述の実施形態では、情報処理サーバ30は、複数のコンテンツの中のカテゴリーが一致するコンテンツをカテゴリーが類似する類似コンテンツとした。しかし、カテゴリーが類似する類似コンテンツは必ずしもカテゴリーが一致するコンテンツでなくてもよい。例えば、情報処理サーバ30は、商品が衣類のコンテンツと商品が衣類収納のコンテンツを類似コンテンツと判別してもよい。同様に、識別コードが類似する類似コンテンツは必ずしも識別コードが一致するコンテンツでなくてもよい。類似か否かの基準は、情報処理サーバ30の運用者等が任意に設定可能である。
また、上述の実施形態では、情報処理サーバ30は、複数のコンテンツの中にある複数の類似コンテンツ(例えば、カテゴリー、価格、識別コードが類似するコンテンツ)と非類似のコンテンツを複数のコンテンツの中から選択し、選択したコンテンツを後の順位に回した。しかし、情報処理サーバ30は非類似のコンテンツを前の順位に回してもよい。例えば、情報処理サーバ30は、複数のコンテンツの中の設定順位までのコンテンツの中にある複数の類似コンテンツと非類似のコンテンツを設定順位までのコンテンツの中から選択し、選択したコンテンツを前の順位(例えば、先頭の順位)に回してもよい。選択したコンテンツが複数あるのであれば、選択したコンテンツが、先頭から元の順位順に並ぶように複数のコンテンツの順位を変更してもよい。
また、上述の実施形態では、商品或いはサービスのカテゴリー、価格、及び識別コードを基準に3回順位の変更処理を実行した。しかしながら、順位の変更処理は3回に限定されない。情報処理サーバ30は、3回より多くてもよいし少なくてもよい。このとき、順位の変更の基準はカテゴリー、価格、及び識別コードの3つに限定されず、他の基準が含まれていてもよい。
また、情報処理サーバ30は、商品或いはサービスのカテゴリーのみに基づいて順位の変更処理を行ってもよい。例えば、情報処理サーバ30は、複数のコンテンツの中の設定順位までのコンテンツの中に、商品或いはサービスのカテゴリーが同じコンテンツが所定数以上含まれる場合には、設定順位までのコンテンツの中から、このカテゴリーとは異なるカテゴリーのコンテンツを選択し、選択したコンテンツの順位を他の順位に回してもよい。
また、情報処理サーバ30は、商品或いはサービスの価格のみに基づいて順位の変更処理を行ってもよい。例えば、情報処理サーバ30は、複数のコンテンツの中の設定順位までのコンテンツが示す商品或いはサービスの価格の中央値を判別し、設定順位までのコンテンツの中から、中央値を基準に定まる価格範囲を外れたコンテンツを選択し、選択したコンテンツの順位を他の順位に回してもよい。
また、情報処理サーバ30は、商品或いはサービスの価格のみに基づいて順位の変更処理を行ってもよい。例えば、情報処理サーバ30は、複数のコンテンツの中の設定順位までのコンテンツの中に、商品或いはサービスの識別コードが同じコンテンツが所定数以上含まれる場合には、設定順位までのコンテンツの中から、この識別コードとは異なる識別コードのコンテンツを選択し、選択したコンテンツの順位を他の順位に回してもよい。
また、複数のコンテンツには、コンテンツのタイトル(以下、コンテンツタイトルという。)の情報が含まれていてもよい。コンテンツタイトルは、商品タイトル(商品名称)或いはサービスタイトル(サービス名称)を含むものであってもよい。そして、情報処理サーバ30は、複数のコンテンツの中の所定順位までのコンテンツの中に、コンテンツタイトル中の商品或いはサービスの名称が同じコンテンツが所定数以上含まれる場合には、所定順位までのコンテンツの中から、該名称とは異なる名称のコンテンツを他の順位に回すコンテンツとして選択してもよい。例えば、情報処理サーバ30は、ユーザが指定した検索クエリの単語群(例えば、商品名称或いはサービス名称)とコンテンツタイトルとの一致度(マッチ度)を判別する。一致度の判別方法は様々な方法を採用可能である。例えば、情報処理サーバ30は、検索クエリの総単語数(或いは総文字数)に対する一致した単語数(或いは文字数)の割合に基づき一致度を判別してもよい。そして、情報処理サーバ30は、一致度が所定の閾値より高いコンテンツを「名称が一致するコンテンツ」とし、一致度が所定の閾値より低いコンテンツを「名称が不一致のコンテンツ」として判別する。そして、情報処理サーバ30は、名称が一致するコンテンツが所定数以上の場合には、名称が不一致のコンテンツを後ろに回すコンテンツとして選択する。例えば、情報処理サーバ30は、検索クエリの単語群のうち、商品タイトルとマッチした割合(一致度)が0.75(完全一致を1とする)以上の商品が10件中7件以上あれば、残りの0.75未満の商品(最大3商品)を後ろに回してもよい。
また、上記実施形態において説明した各処理のうち、自動的に行われるものとして説明した処理の全部または一部を手動的に行うこともでき、あるいは、手動的に行われるものとして説明した処理の全部または一部を公知の方法で自動的に行うこともできる。この他、上記文書中や図面中で示した処理手順、具体的名称、各種のデータやパラメータを含む情報については、特記する場合を除いて任意に変更することができる。例えば、各図に示した各種情報は、図示した情報に限られない。
また、図示した各装置の各構成要素は機能概念的なものであり、必ずしも物理的に図示の如く構成されていることを要しない。すなわち、各装置の分散・統合の具体的形態は図示のものに限られず、その全部または一部を、各種の負荷や使用状況などに応じて、任意の単位で機能的または物理的に分散・統合して構成することができる。
また、上記してきた各実施形態は、処理内容を矛盾させない領域で適宜組み合わせることが可能である。
また、本実施形態のコンテンツ提供サーバ20、情報処理サーバ30、或いは端末装置100を制御する制御装置は、専用のコンピュータシステムによって実現してもよいし、通常のコンピュータシステムにより実現してもよい。例えば、上述の動作を実行するためのプログラムを、光ディスク、半導体メモリ、磁気テープ、フレキシブルディスク等のコンピュータ読み取り可能な記録媒体に格納して配布し、該プログラムをコンピュータにインストールし、上述の処理を実行することによって制御装置を構成してもよい。制御装置は、端末装置100の外部の装置(例えば、パーソナルコンピュータ)であってもよいし、内部の装置(例えば、制御部23、制御部33、或いは制御部150)であってもよい。また、上記プログラムをインターネット等のネットワーク上のサーバ装置が備えるディスク装置に格納しておき、コンピュータにダウンロード等できるようにしてもよい。また、上述の機能を、OS(Operating System)とアプリケーションソフトとの協働により実現してもよい。この場合には、OS以外の部分を媒体に格納して配布してもよいし、OS以外の部分をサーバ装置に格納しておき、コンピュータにダウンロード等できるようにしてもよい。
〔8.ハードウェア構成〕
実施形態及び変形例に係るコンテンツ提供サーバ20、情報処理サーバ30、或いは端末装置100は、例えば図13に示すような構成のコンピュータ1000によっても実現可能である。図13は、コンテンツ提供サーバ20、情報処理サーバ30、或いは端末装置100の機能を実現するコンピュータの一例を示すハードウェア構成図である。コンピュータ1000は、CPU(Central Processing Unit)1100、RAM1200、ROM1300、HDD(Hard Disk Drive)1400、通信インタフェース(I/F)1500、入出力インタフェース(I/F)1600、及びメディアインタフェース(I/F)1700を有する。
CPU1100は、ROM1300またはHDD1400に格納されたプログラムに基づいて動作し、各部の制御を行う。ROM1300は、コンピュータ1000の起動時にCPU1100によって実行されるブートプログラムや、コンピュータ1000のハードウェアに依存するプログラム等を格納する。
HDD1400は、CPU1100によって実行されるプログラム、及び、かかるプログラムによって使用されるデータ等を格納する。通信インタフェース1500は、ネットワークNを介して他の機器からデータを受信してCPU1100へ送り、CPU1100が生成したデータをネットワークNを介して他の機器へ送信する。
CPU1100は、入出力インタフェース1600を介して、ディスプレイやプリンタ等の出力装置、及び、キーボードやマウス等の入力装置を制御する。CPU1100は、入出力インタフェース1600を介して、入力装置からデータを取得する。また、CPU1100は、生成したデータを入出力インタフェース1600を介して出力装置へ出力する。
メディアインタフェース1700は、記録媒体1800に格納されたプログラムまたはデータを読み取り、RAM1200を介してCPU1100に提供する。CPU1100は、かかるプログラムを、メディアインタフェース1700を介して記録媒体1800からRAM1200上にロードし、ロードしたプログラムを実行する。記録媒体1800は、例えばDVD(Digital Versatile Disc)、PD(Phase change rewritable Disk)等の光学記録媒体、MO(Magneto-Optical disk)等の光磁気記録媒体、テープ媒体、磁気記録媒体、または半導体メモリ等である。
例えば、コンピュータ1000が実施形態に係るコンテンツ提供サーバ20、情報処理サーバ30、或いは端末装置100として機能する場合、コンピュータ1000のCPU1100は、RAM1200上にロードされたプログラムを実行することにより、制御部23、制御部33、或いは制御部150の機能を実現する。コンピュータ1000のCPU1100は、これらのプログラムを記録媒体1800から読み取って実行するが、他の例として、他の装置からネットワークNを介してこれらのプログラムを取得してもよい。
〔9.効果〕
上述したように、情報処理サーバ30は、順位づけされた複数のコンテンツの情報を取得し、複数のコンテンツのうち、類似するコンテンツである類似コンテンツ群と非類似のコンテンツの順位を変更する。複数のコンテンツの順位がユーザにとって効果的でない場合であっても、非類似コンテンツの順位が変更されるので、コンテンツの順位はユーザにとって効果的である。
また、情報処理サーバ30は、前複数のコンテンツの中の所定順位までのコンテンツの中から、類似コンテンツ群と非類似のコンテンツを選択し、選択したコンテンツの順位を変更する。所定順位までのコンテンツの順位がユーザにとって効果的でない場合であっても、非類似コンテンツの順位が変更されるので、コンテンツの順位はユーザにとって効果的である。
また、情報処理サーバ30は、複数のコンテンツの中の所定順位までのコンテンツの中に、互いに類似するコンテンツが所定数以上含まれる場合に、所定順位までのコンテンツの中から、互いに類似するコンテンツとは非類似のコンテンツを他の順位に回すコンテンツとして選択する。所定順位までのコンテンツの順位がユーザにとって効果的でない場合であっても、非類似コンテンツの順位が変更されるので、コンテンツの順位はユーザにとって効果的である。
また、情報処理サーバ30は、選択したコンテンツが所定順位より後の順位となるよう複数のコンテンツの順位を変更する。例えば、情報処理サーバ30は、選択したコンテンツが所定順位の一つ後の順位となるよう複数のコンテンツの順位を変更する。或いは、情報処理サーバ30は、所定順位までのコンテンツの中からコンテンツを複数選択し、選択したコンテンツが所定順位の直後に元の順位が高い順に並ぶよう複数のコンテンツの順位を変更する。第2の基準に基づいて選択されたコンテンツの順位が後の順位に回されるので、上位の順位はユーザにとって効果的である。
また、情報処理サーバ30は、コンテンツの出力態様を基準に、他の順位に回すコンテンツを選択する。例えば、情報処理サーバ30は、コンテンツが画像を含むか否かを基準に、他の順位に回すコンテンツを選択する。コンテンツの出力態様はユーザが商品等の選択にあたり大きな影響を与える。コンテンツの出力態様が類似するコンテンツが所定の順に並ぶので、ユーザのコンテンツの選択は容易である。
また、複数のコンテンツは、商品或いはサービスに関するコンテンツであり、情報処理サーバ30は、コンテンツが示す商品或いはサービスの情報を基準に、他の順位に回すコンテンツを選択する。例えば、情報処理サーバ30は、商品或いはサービスのカテゴリー、価格、識別コード、ブランド、若しくは提供ストアを基準に、他の順位に回すコンテンツを選択する。これにより、情報処理サーバ30は、順位をカテゴリー、価格、識別コード、ブランド、提供ストア等で精査したものとできる。
また、情報処理サーバ30は、複数のコンテンツの中の所定順位までのコンテンツの中に、商品或いはサービスのカテゴリーが同じコンテンツが所定数以上含まれる場合には、所定順位までのコンテンツの中から、該カテゴリーとは異なるカテゴリーのコンテンツを他の順位に回すコンテンツとして選択する。これにより、情報処理サーバ30は、順位をカテゴリーで精査したものとできる。
また、情報処理サーバ30は、複数のコンテンツの中の所定順位までのコンテンツが示す商品或いはサービスの価格の中央値を判別し、所定順位までのコンテンツの中から、中央値を基準に定まる価格範囲を外れたコンテンツを他の順位に回すコンテンツとして選択する。これにより、情報処理サーバ30は、順位を価格で精査したものとできる。
また、情報処理サーバ30は、複数のコンテンツの中の所定順位までのコンテンツの中に、商品或いはサービスの識別コードが同じコンテンツが所定数以上含まれる場合には、所定順位までのコンテンツの中から、該識別コードとは異なる識別コードのコンテンツを他の順位に回すコンテンツとして選択する。これにより、情報処理サーバ30は、順位を識別コードで精査したものとできる。
また、複数のコンテンツは、商品或いはサービスに関するコンテンツである。そして、情報処理サーバ30は、複数のコンテンツの中の所定順位までのコンテンツの中に、商品或いはサービスのカテゴリーが同じコンテンツが所定数以上含まれる場合には、所定順位までのコンテンツの中から、該カテゴリーとは異なるカテゴリーのコンテンツを選択し、選択したコンテンツの順位を他の順位に回すことにより複数のコンテンツの順位を変更する。さらに、情報処理サーバ30は、順位が変更された複数のコンテンツの中の所定順位までのコンテンツが示す商品或いはサービスの価格の中央値を判別し、所定順位までのコンテンツの中から、中央値を基準に定まる価格範囲を外れたコンテンツを選択し、選択したコンテンツの順位を他の順位に回すことにより複数のコンテンツの順位を変更する。さらに、情報処理サーバ30は、順位が変更された複数のコンテンツの中の所定順位までのコンテンツの中に、商品或いはサービスの識別コードが同じコンテンツが所定数以上含まれる場合には、所定順位までのコンテンツの中から、該識別コードとは異なる識別コードのコンテンツを選択し、選択したコンテンツの順位を他の順位に回すことにより複数のコンテンツの順位を変更する。これにより、情報処理サーバ30は、順位をカテゴリー、価格、及び識別コードで精査したものとできる。
また、複数のコンテンツは、商品或いはサービスに関するコンテンツである。そして、情報処理サーバ30は、複数のコンテンツの中の所定順位までのコンテンツの中に、コンテンツタイトル中の商品或いはサービスの名称が同じコンテンツが所定数以上含まれる場合には、所定順位までのコンテンツの中から、該名称とは異なる名称のコンテンツを他の順位に回すコンテンツとして選択する。これにより、情報処理サーバ30は、順位を商品或いはサービスの名称で精査したものとできる。
以上、本願の実施形態のいくつかを図面に基づいて詳細に説明したが、これらは例示であり、発明の開示の欄に記載の態様を始めとして、当業者の知識に基づいて種々の変形、改良を施した他の形態で本発明を実施することが可能である。
また、上述してきた「部(section、module、unit)」は、「手段」や「回路」などに読み替えることができる。例えば、変更部は、変更手段や変更回路に読み替えることができる。