【文献】
ハヤシユタカ,HTML5でサイトをつくろう コンテンツを自動的に読み込んで無限スクロールさせる方法[jQuery連載13],[online],2015年 6月25日,[平成27年9月8日検索], インターネット,URL,http://www.html5-memo.com/jquery-tips/jquery13/
【文献】
スクロールでページ下部までいくと自動で次のページを読み込むjQueryプラグイン「jQuery.autopager」,[online],2013年10月17日,[平成27年9月8日検索], インターネット,URL,http://rapid-progress.net/scroll-jquery-autopager/
(58)【調査した分野】(Int.Cl.,DB名)
【発明を実施するための形態】
【0010】
以下に本発明の実施形態を説明する。なお、本実施形態は説明のためのものであり、本願発明の範囲を制限するものではない。従って、当業者であればこれらの各要素若しくは全要素をこれと均等なものに置換した実施形態を採用することが可能であるが、これらの実施形態も本発明の範囲に含まれる。また、本願発明の実施形態を図面を参照して説明するにあたり、図中同一又は相当する部分には同一符号を付す。
【0011】
図1は、本発明の実施形態に係る抽出システムの構成を示す図である。以下、本図を参照して説明する。
【0012】
本実施形態に係る抽出システム1は、通信ネットワーク4(インターネット)を介してユーザ(顧客)から注文を受け付け、商品をユーザに宅配するネットスーパーを提供する。抽出システム1は、抽出装置2と、ユーザ端末3(1)、3(2)、・・・3(m)と、から構成されており、抽出装置2と各ユーザ端末3(m)とは、インターネットを介して互いに通信可能に接続する。なお、mは1以上の正の整数である。また、通信ネットワーク4は、本実施形態ではインターネットであるが、LAN(Local Area Network)、WAN(Wide Area Network)、専用回線等であってもよい。
【0013】
ネットスーパーでは、既存のスーパーマーケットで売買される飲用水、日用品、野菜、肉、食料品等が売買される。以下ではこれらの商品のうちの一部を例にとって本実施形態を説明するが、ネットスーパーで取り扱う商品はこれに限定されず、任意である。また、商品はアイテムの一例にすぎず、本発明に係る提示順の制御対象は商品に限定されないことに留意されたい。
【0014】
各ユーザ端末3(m)は、例えば、PC(Personal Computer)、スマートフォン、タブレット端末、携帯電話であり、抽出装置2が提供するネットスーパー用のサイトにアクセスすると、ネットスーパーに出品されている商品を閲覧・注文することができる。
【0015】
抽出装置2は、ネットスーパーに出品されている商品のデータ(以下、単に商品と言う。)を記憶しており、各ユーザ端末3(m)からの要求に応じて、ユーザに提示すべき商品の集合を抽出し、抽出した商品の一部を各ユーザに送付する。なお、商品(アイテム)の集合とは、複数の商品(アイテム)からなる商品の集まりであり、商品の配列を限定するものではない。また、本実施形態では、抽出装置2とユーザ端末3(m)とが協働することで本発明が実現される例を説明するが、本発明は1つのコンピュータで実現されてもよい。
【0016】
図2は、抽出装置2のハードウェア構成を示す図である。抽出装置2は、同図に示すように、記憶部21と、通信部22と、制御部23と、を備える。
【0017】
記憶部21は、ハードディスク等の記憶装置を備え、ネットスーパーに出品されている商品を記憶する。具体的には、商品を識別する商品コードに対応付けて、商品名、価格、商品を表す画像データ等の商品の属性を示す様々な情報を記憶する。なお、記憶部21は、ハードディスク以外の不揮発な非一時的な記憶装置、例えばフラッシュメモリ、光ディスク、光磁気ディスクから構成されていてもよい。
【0018】
通信部22は、NIC(Network Interface Card)を備え、抽出装置2をインターネットに接続し、各ユーザ端末3(m)と通信する。
【0019】
制御部23は、CPU(Central Processing Unit)、ROM(Read Only Memory)、RAM(Random Access Memory)等を備え、ROM等の非一時的な記憶装置に記憶されたプログラムを一時的な記憶装置であるRAMに読み出し、読み出したプログラムに含まれる指令をCPUにより実行する。
【0020】
図3は、抽出装置2の機能構成を示す図である。制御部23は、ROM等が記憶するプログラムをRAMに読み出して、そのプログラムを実行制御することにより、
図3に示す各機能(受付部31と、商品記憶部32と、端末情報記憶部33と、取得部34と、抽出部35と、提示部36)を実現する。なお、受付部31及び提示部36は、通信部22と制御部23とが協働することにより実現される。また、取得部34及び抽出部35は、制御部23により実現される。また、商品記憶部32及び端末情報記憶部33は、記憶部21に構築される。
【0021】
図4は、抽出装置2とユーザ端末3(1)との間のやり取りを時系列に沿って示す図である。同図に示すように、各種要求がユーザ端末3(1)から抽出装置2に送られる。
【0022】
受付部31は、ユーザ端末3(1)から送られた各種要求を受け付ける。
【0023】
例えば、
図4に示すように、ユーザ端末3(1)から抽出装置2にアクセス要求が送られてきた場合、受付部31は送られてきたアクセス要求を受け付け、要求の内容を判別する。そして、要求がユーザ端末3(1)からのアクセス要求であると判別すると、抽出装置2とユーザ端末3(1)との間で通信を確立するために、ユーザ端末3(1)にセッションID(継続情報)を割り当てる。
【0024】
セッションIDの割り当てが完了すると、取得部34は、商品記憶部32から商品検索用の入力フォームを取得する。
【0025】
提示部36は、ユーザに入力フォームを提示するために、取得部34により取得された入力フォームをセッションIDと共にユーザ端末3(1)に送付する。
【0026】
図5は、商品検索用の入力フォームを示す図である。ユーザ端末3(1)は、抽出装置2から入力フォームを受け付けると、同図に示すように、ユーザ端末3(1)の画面上のブラウザ41に入力フォームを表示する。ユーザは、ユーザ端末3(1)を操作することにより、任意の検索ワードを入力フォーム上の検索ボックス411に入力し、検索ボタン412をクリックする。すると、ユーザ端末3(1)は、
図4に示すように、検索ワードにより特定される商品群をユーザに送付するよう要求する第1要求をセッションIDと共に抽出装置2に送る。なお、第1要求には、検索ボックス411に入力された検索ワードが検索クエリとして含まれる。
【0027】
受付部31は、ユーザ端末3(1)から送られてきた第1要求とセッションIDを受け付けると、同セッションIDに関連付けられた要求が端末情報記憶部33に存在するかどうかに基づいて、受け付けた要求が第1要求かどうかを判別する。
【0028】
第1要求であると判別された場合、取得部34は、第1要求に応じて、商品記憶部32に記憶された商品群から第1要求に指定された検索クエリに合致する商品の集合を取得する。そして、検索クエリに合致する度合が高い商品の順位が上になるように、取得した商品の集合に含まれる商品のおすすめ順序を決定する。
【0029】
なお、検索クエリに合致する度合は様々な方法で決定される。例えば、検索ワードと商品名が完全一致した商品、部分一致した商品、全く一致しない商品の順にハイスコアを付与し、スコアが高い商品ほど検索クエリに合致する度合が高いとしてもよい。
【0030】
抽出部35は、取得部34により取得された商品の集合のうち、おすすめ順序において上位の商品の所定個数を第1グループとして抽出する。
【0031】
提示部36は、
図4に示すように、第1グループに含まれる商品に対してユーザがとることが可能なアクションを指定した第1応答を、第1要求に応じて、ユーザに送付する。なお、本実施形態において、ユーザがとることが可能なアクションとは、商品の詳細を表示すること、商品をカートに入れることであるが、これは一例であり、本発明を限定するものではない。
【0032】
受付部31は、受け付けた第1要求を上記セッションIDに関連付けて端末情報記憶部33に記憶する。なお、受付部31は、これ以降にユーザ端末3(1)から送られてきた第n要求(nは2以上の整数)も上記セッションIDを関連付けて端末情報記憶部33に記憶する。これにより、ユーザ端末3(1)から送られてきた一連の要求が第1要求に引き続くものとして関連付けられる。
【0033】
なお、取得部34により取得された商品の数は、検索クエリの内容によっては膨大な数になる可能性がある。このような場合には、検索クエリに合致する商品の集合をユーザ端末3(1)に送付しても、その一部しかユーザ端末3(1)の画面に表示できない。そこで、商品の集合は、抽出装置2からユーザ端末3(1)に複数回に分けて送付される。なお、一度に送付される商品の数は、ユーザ端末3(1)の画面に一度に表示可能な所定個数であることが望ましい。また、検索クエリに合致する商品の総数は、検索結果としてユーザが知りたい情報なので、第1応答と共にユーザ端末3(1)に送付される。
【0034】
ユーザ端末3(1)は、第1応答を受け付けると、第1グループに含まれる各商品をブラウザ41に検索結果として表示する。
【0035】
図6は、飲用水を購入したいユーザが検索ワードに「水」を指定した結果、検索ワード「水」に合致する各商品が検索結果としてブラウザ41に表示された様子を示す図である。同図に示すように、ブラウザ41には、検索ワード「水」に合致する各商品、即ち、「○○産の水菜」、「水煮れんこん」、「○○の天然水」、「○○保湿クリーム」・・・が表示されている。なお、検索ボックス411直下に表示されているページ送り(ページネーション)は、取得部34により取得された商品の総数がブラウザ41に表示可能な所定個数を超えている場合に表示される。また、
図6では、1が太字で表されており、かつ、1に下線が引かれているが、これはブラウザ41に表示されている各商品が1ページ目の検索結果であることを示している。
【0036】
図6を参照すると分かるように、ブラウザ41にはユーザが購入しようと思っている飲用水以外の商品(水菜、水煮れんこん、保湿クリーム等)が多数表示されている。本来であれば各種飲用水が優先して表示されるべきところ、雑多な商品が混在して表示されている。つまり、検索結果として優先して表示されている商品は、現在ユーザが購入したいと思っている商品とずれてしまっている。そこで、本発明は、このずれを解消するために、ユーザがとるアクションに基づいて、現在ユーザが購入したいと思っている商品を把握する。
【0037】
例えば、商品が
図6に示すようにブラウザ41に表示されている場合、飲用水である「水」に興味を持っているユーザであれば、「○○の天然水」に対して何らかのアクションをとるはずである。具体例を挙げると、内容量や価格を知りたければ「詳細表示」414という文字をクリックし、商品を購入したければ「カートに入れる」という文字をクリックするはずである。従って、ユーザがアクションをとった商品が特定されれば、現在ユーザが興味を持っている商品の把握が可能となる。
【0038】
ここで、ユーザは、「○○の天然水」の内容量や価格を知るために
図6の「詳細表示」414をクリックしたとする。この場合、
図4に示すように、ユーザがとったアクションに対する応答要求、即ち、「○○の天然水」の詳細を求める応答要求がセッションIDと共にユーザ端末3(1)から抽出装置2に送られる。受付部31は、送られてきた応答要求とセッションIDを受け付けると、応答要求の内容から、ユーザ端末3(1)が「○○の天然水」の詳細を送付するよう求めていることを判別する。この要求に従い、取得部34は、「○○の天然水」の詳細を商品記憶部32から取得する。また、提示部36は、取得された「○○の天然水」の詳細を、ユーザがとったアクションに対する応答としてユーザ端末3(1)に送付する。また、受付部31は、ユーザがアクションをとった商品「○○の天然水」をセッションIDに関連付けて端末情報記憶部33に記憶する。
【0039】
図7は、ブラウザ41に表示された「○○の天然水」の詳細を示す図である。ユーザ端末3(1)は、アクションに対する応答を受け付けると、同図に示すように、「○○の天然水」の詳細をブラウザ41に表示する。なお、ユーザ端末3(1)は、商品の詳細を、ブラウザ41に表示する代わりに例えばポップアップ画面に表示してもよい。
【0040】
ユーザは、価格等を確認して「○○の天然水」を購入する場合は「購入する」ボタンをクリックする。また、「○○の天然水」を購入しない場合は「戻る」ボタン416をクリックする。ここで、ユーザが「戻る」ボタン416をクリックしたとすると、ブラウザ41の表示内容は
図6に戻る。そして、ユーザは、ブラウザ41に表示されている商品のリストに所望の商品がないと判断すると、他の商品を閲覧するために「次へ」ボタン413をクリックする。この場合、ユーザ端末3(1)は、
図4に示すように、検索ワード「水」により特定される商品群のうちユーザ端末3(1)に送付済みの商品群以外の商品群を送付するよう要求する第2要求をセッションIDと共に抽出装置2に送る。
【0041】
受付部31は、ユーザ端末3(1)から送られてきた第2要求とセッションIDを受け付けると、セッションIDに関連付けられた要求が端末情報記憶部33に存在するかどうかに基づいて、受け付けた要求が第1要求かどうかを判別する。そして、端末情報記憶部33には、セッションIDに関連付けられた第1要求が存在するので、受け付けた要求が第1要求ではないと判別する。この場合、取得部34は、同セッションIDに関連付けて端末情報記憶部33に記憶されている商品を特定する。なお、特定された商品は、ユーザがアクションをとった商品に該当する。ここで、上述したように、端末情報記憶部33には、「○○の天然水」が同セッションIDに関連付けられて記憶されている。よって、取得部34は、「○○の天然水」をユーザがアクションをとった商品であると特定する。
【0042】
ユーザがアクションをとった商品が「○○の天然水」であれば、ユーザは「水菜」等の野菜や「水煮れんこん」等の加工惣菜ではなく、飲用水に興味があるはずである。そこで、取得部34は、検索ワード「水」合致する商品として取得した商品の集合について、飲用水に関連する商品の順位が上になるように、商品のおすすめ順序を変更する。
【0043】
次に、抽出部35は、取得部34により取得された商品の集合のうち、おすすめ順序において上位の商品の所定個数を優先的に第2グループとして抽出する。ただし、送付済みの第1グループに含まれる商品は抽出対象から除かれる。
【0044】
次に、提示部36は、
図4に示すように、第2グループに含まれる各商品に対してユーザがとることが可能なアクションを指定した第2応答を、第2要求に応じて、ユーザに送付する。また、受付部31は、受け付けた第2要求を上記セッションIDに関連付けて端末情報記憶部33に記憶する。
【0045】
図8は、ブラウザ41に表示された第2応答を示す図である。ユーザ端末3(1)は、第2応答を受け付けると、同図に示すように、第2応答をブラウザ41に表示する。なお、同図から分かるように、ブラウザ41には、現在ユーザが興味を持っている飲用水に関連する商品(「△△の天然水」、「××の天然水」、「○○ミネラルウォータ」、「○○ジュース」)が検索結果の上位に表示されている。このように、抽出装置2は、ユーザがアクションをとった商品に関連する商品をおすすめ順序の上位に設定することにより、現在ユーザが望む商品を優先してユーザに提示することができる。
【0046】
次に、ユーザが望む商品が変化した場合に、商品の提示順がどのように制御されるかを説明する。
図6に戻り、例えば、ユーザが、ブラウザ41に表示されている各商品を閲覧した結果、保湿クリームに興味を持ったとする。この場合、ユーザはブラウザ41に表示されている「○○保湿クリーム」に対して何らかのアクションをとるはずである。以下、ユーザは、「○○保湿クリーム」の内容量や価格を知るために「詳細表示」415をクリックしたとする。この場合、「○○保湿クレーム」の詳細を求める応答要求がセッションIDと共にユーザ端末3(1)から抽出装置2に送られる。受付部31は、送られてきた応答要求とセッションIDを受け付けると、応答要求の内容から、ユーザ端末3(1)が「○○保湿クリーム」の詳細を送付するよう求めていることを判別する。取得部34は、応答要求に応じて、「○○保湿クリーム」の詳細を商品記憶部32から取得する。また、提示部36は、取得された「○○保湿クリーム」の詳細を、ユーザがとったアクションに対する応答としてユーザ端末3(1)に送付する。また、受付部31は、ユーザがアクションをとった商品「○○保湿クリーム」をセッションIDに関連付けて端末情報記憶部33に記憶する。
【0047】
図9は、ブラウザ41に表示された「○○保湿クリーム」の詳細を示す図である。ユーザ端末3(1)は、アクションに対する応答を受け付けると、同図に示すように、「○○保湿クリーム」の詳細をブラウザ41に表示する。
【0048】
ここで、ユーザが「戻る」ボタン417をクリックしたとすると、ブラウザ41の表示内容は
図6に戻る。そして、ユーザは、ブラウザ41に表示されている商品のリストに所望の商品がないと判断すると、他の商品を閲覧するために「次へ」ボタン413をクリックする。この場合、ユーザ端末3(1)は、
図4に示すように、検索ワード「水」により特定される商品群のうちユーザ端末3(1)に送付済みの商品群以外の商品群を送付するよう要求する第2要求をセッションIDと共に抽出装置2に送る。
【0049】
受付部31は、ユーザ端末3(1)から送られてきた第2要求とセッションIDを受け付けると、上述した一連の処理を実行することにより、ユーザがアクションをとった商品が「○○保湿クリーム」であると特定する。これにより、現在ユーザが化粧品に興味を持っていることが分かる。そこで、取得部34は、検索ワード「水」に合致する商品として取得した商品の集合について、化粧品に関連する商品の順位が上になるように、商品のおすすめ順序を変更する。
【0050】
次に、抽出部35は、取得部34により取得された商品の集合のうち、おすすめ順序において上位の商品の所定個数を優先的に第2グループとして抽出する。ただし、送付済みの第1グループに含まれる商品は抽出対象から除かれる。
【0051】
提示部36は、
図4に示すように、第2グループに含まれる各商品に対してユーザがとることが可能なアクションを指定した第2応答を、第2要求に応じて、ユーザに送付する。また、受付部31は、受け付けた第2要求を上記セッションIDに関連付けて端末情報記憶部33に記憶する。
【0052】
図10は、ブラウザ41に表示された第2応答を示す図である。ユーザ端末3(1)は、第2応答を受け付けると、同図に示すように、第2応答をブラウザ41に表示する。なお、同図から分かるように、ブラウザ41には、現在ユーザが興味を持っている化粧品に関連する商品(「△△保湿クリーム」、「××保湿クリーム」、「○○洗顔クリーム」、「クリーム肌水」)が検索結果の上位に表示されている。このように、抽出装置2は、ユーザが望む商品が変化した場合でも、その変化に合わせて商品の提示順を適切に制御できる。
【0053】
以上、第1応答に含まれる商品に対してユーザがアクションをとった場合にどのような第2応答がユーザに提示されるかを説明した。続いて、
図11〜13を参照して、第n応答に含まれる商品に対してユーザがアクションをとった場合にどのような第(n+1)応答がユーザに提示されるかを説明する。
【0054】
図11は、ブラウザ41に表示された第n応答を示す図である。同図に示すように、ブラウザ41には、「○△麦茶」、「○△緑茶」、「□□烏龍茶」、「○○烏龍茶24本詰め合わせ」等の商品のリストが表示されている。ここで、ユーザが「○○烏龍茶24本詰め合わせ」の詳細を知るために「詳細表示」418をクリックしたとする。この場合、
図4に示すように、「○○烏龍茶24本詰め合わせ」の詳細を求める応答要求がセッションIDと共にユーザ端末3(1)から抽出装置2に送られる。受付部31は、送られてきた応答要求とセッションIDを受け付けると、応答要求の内容から、ユーザ端末3(1)が「○○烏龍茶24本詰め合わせ」の詳細を送付するよう求めていることを判別する。取得部34は、この応答要求に応じて、「○○烏龍茶24本詰め合わせ」の詳細を商品記憶部32から取得する。また、提示部36は、取得された「○○烏龍茶24本詰め合わせ」の詳細を、ユーザがとったアクションに対する応答としてユーザ端末3(1)に送付する。また、受付部31は、ユーザがアクションをとった商品「○○烏龍茶24本詰め合わせ」をセッションIDに関連付けて端末情報記憶部33に記憶する。
【0055】
図12は、ブラウザ41に表示された「○○烏龍茶24本詰め合わせ」の詳細を示す図である。ユーザ端末3(1)は、アクションに対する応答を受け付けると、同図に示すように、「○○烏龍茶24本詰め合わせ」の詳細をブラウザ41に表示する。
【0056】
ここで、ユーザが「戻る」ボタン419をクリックしたとすると、ブラウザ41の表示内容は
図11に戻る。そして、ユーザは、ブラウザ41に表示されている商品のリストに所望の商品がないと判断すると、他の商品を閲覧するために「次へ」ボタン413をクリックする。この場合、ユーザ端末3(1)は、
図4に示すように、検索ワード「水」により特定される商品群のうちユーザ端末3(1)に送付済みの商品群以外の商品群を送付するよう要求する第(n+1)要求をセッションIDと共に抽出装置2に送る。
【0057】
受付部31は、ユーザ端末3(1)から送られてきた第(n+1)要求とセッションIDを受け付けると、受け付けた要求が第1要求かどうかを判別する。そして、受付部31が第1要求ではないと判別すると、取得部34は、同セッションIDに関連付けて端末情報記憶部33に記憶されている商品を特定する。なお、特定された商品は、抽出装置2が一連の要求[第1〜(n+1)要求]を受け付ける間にユーザがアクションをとった商品に該当する。ここで、端末情報記憶部33には、「○○の天然水」、「○○麦茶」、・・・、「○○烏龍茶24本詰め合わせ」が同セッションIDに関連付けられて記憶されているとする。この場合、取得部34は、「○○の天然水」、「○○麦茶」・・・、「○○烏龍茶24本詰め合わせ」をユーザがアクションをとった商品であると特定する。
【0058】
ユーザがアクションをとった商品が「○○の天然水」、「○○麦茶」・・・、「○○烏龍茶24本詰め合わせ」であれば、ユーザは、お茶単品ではなく、お茶の詰め合わせに興味があるはずである。そこで、このような場合、取得部34は、検索ワード「水」に合致する商品として取得した商品の集合について、お茶の詰め合わせに関連する商品の順位が上になるように、商品のおすすめ順序を変更する。
【0059】
次に、抽出部35は、取得部34により取得された商品の集合のうち、おすすめ順序において上位の商品の所定個数を優先的に第(n+1)グループとして抽出する。ただし、送付済みの第1〜nグループに含まれる商品は抽出対象から除かれる。
【0060】
提示部36は、
図4に示すように、第(n+1)グループに含まれる各商品に対してユーザがとることが可能なアクションを指定した第(n+1)応答を、第(n+1)要求に応じて、ユーザに送付する。また、受付部31は、受け付けた第(n+1)要求を上記セッションIDに関連付けて端末情報記憶部33に記憶する。
【0061】
図13は、ブラウザ41に表示された第(n+1)応答を示す図である。ユーザ端末3(1)は、第(n+1)応答を受け付けると、同図に示すように、第(n+1)応答をブラウザ41に表示する。なお、同図から分かるように、ブラウザ41には、現在ユーザが興味を持っているお茶の詰め合わせに関連する商品(「△△烏龍茶24本詰め合わせ」、「○○烏龍茶10本詰め合わせ」、「○△麦茶6本詰め合わせ」、「○△緑茶24本詰め合わせ」)が検索結果の上位に表示されている。このように、抽出装置2は、ユーザが望む商品の絞り込みを継続的に実行することができる。
【0062】
図14は、本発明の実施形態に係る抽出装置2により実行される処理の流れを示すフローチャートである。以下、本図を参照して説明する。本処理は、抽出装置2のハードウェア上でプログラムを実行することにより開始され、この処理によって抽出装置2が実現される。
【0063】
本処理が開始されると、抽出装置2は、ネットスーパー用のアプリケーションを起動し、上記アプリケーションで使用する各種パラメータを初期化する(ステップS1)。次に、受付部31は、ユーザ端末3(m)から送られてきた要求を受け付け(ステップS2)、要求の内容を判別する(ステップS3)。そして、要求がユーザ端末3(m)からのアクセス要求であると判別した場合には、抽出装置2とユーザ端末3(m)との間で通信を確立するために、ユーザ端末3(m)にセッションIDを割り当てる(ステップS4)。次に、提示部36は、
図5に示す商品検索用の入力フォームをセッションIDと共にユーザ端末3(m)に送付する(ステップS5)。
【0064】
ユーザ端末3(m)は、入力フォームとセッションIDを受け付け、
図5に示すように入力フォームをブラウザ41に表示する。これに対して、ユーザは、所定の検索ワードを検索ボックス411に入力し、検索ボタン412をクリックする。すると、第1要求がセッションIDと共にユーザ端末3(m)から抽出装置2に送られ、受付部31が送られてきた第1要求とセッションIDを受け付ける(ステップS2)。次に、受付部31は、セッションIDに関連付けられた要求が端末情報記憶部33に存在するかどうかに基づいて、直近に受け付けた要求が第1要求かどうかを判別する(ステップS3)。受付部31が第1要求であると判別した場合には、取得部34は、第1要求に応じて、商品記憶部32に記憶された商品から第1要求に指定された検索クエリに合致する商品の集合を取得する(ステップS6)。そして、検索クエリに合致する度合が高い商品の順位が上になるように、取得した商品の集合に含まれる商品のおすすめ順序を決定する(ステップS7)。次に、抽出部35は、おすすめ順序において上位の商品の所定個数を第1グループとして抽出し(ステップS8)、提示部36は、第1グループに含まれる商品に対してユーザがとることが可能なアクションを指定した第1応答をユーザに送付する(ステップS9)。また、受付部31は、受け付けた第1要求を上記セッションIDに関連付けて端末情報記憶部33に記憶する(ステップS10)。
【0065】
ユーザ端末3(m)は、送付された第1応答を受け付け、ブラウザ41に表示する。これに対して、ユーザが第1応答に含まれる商品のいずれかに所定のアクションをとると、ユーザがとったアクションに対して応答を求める応答要求がセッションIDと共にユーザ端末3(m)から抽出装置2に送られる。これに対して、受付部31は、送られてきた応答要求とセッションIDを受け付ける(ステップS2)。そして、要求の内容を判別し(ステップS3)、ユーザがとったアクションに対して応答を求める応答要求であると判別する。この場合、所定の機能部(取得部34、抽出部35、提示部36等)が、ユーザがとったアクションに対して応答を行う(ステップS11)。そして、ユーザがアクションをとった商品をセッションIDに関連付けて端末情報記憶部33に記憶する(ステップS12)。
【0066】
次に、ユーザがブラウザ41上の「次へ」ボタン413をクリックすると、第2要求がセッションIDと共にユーザ端末3(m)から抽出装置2に送られる。これに対して、受付部31は、送られてきた第2要求とセッションIDを受け付ける(ステップS2)。そして、上記セッションIDに関連付けられた要求が端末情報記憶部33に存在するかどうかに基づいて、直近に受け付けた要求が第1要求かどうかを判別する(ステップS3)。そして、端末情報記憶部33には、セッションIDに関連付けられた第1要求が存在するので、直近に受け付けた要求が第1要求ではないと判別する。この場合、取得部34は、端末情報記憶部33にセッションIDに関連付けて記憶されている商品を、ユーザがアクションをとった商品として特定する(ステップS13)。そして、特定した商品に関連する商品の順位が上になるように、ステップS7の処理で決定した商品のおすすめ順序を変更する(ステップS14)。
【0067】
次に、抽出部35は、おすすめ順序において上位の商品の所定個数を第2グループとして抽出し(ステップS15)、提示部36は、第2グループに対してユーザがとることが可能なアクションを指定した第2応答をユーザに送付する(ステップS16)。また、受付部31は、受け付けた第2要求を上記セッションIDに関連付けて端末情報記憶部33に記憶する(ステップS17)。
【0068】
ユーザ端末3(m)は、第2応答を受け付け、ブラウザ41に表示する。これに対して、ユーザが第2応答に含まれる商品のいずれかに所定のアクションをとると、ユーザがとったアクションに対して応答を求める応答要求がセッションIDと共にユーザ端末3(m)から抽出装置2に送付され、上述したステップS11、ステップS12の処理が再度実行される。また、ユーザがブラウザ41上の「次へ」ボタン413をクリックすると、その都度、上述したステップS13〜17の処理が実行される。
【0069】
なお、ステップS3において、要求が、アクセス要求、第1〜n要求、ユーザがとったアクションに対する応答要求のいずれにも該当しないと判別された場合には、要求に基づき所定の処理が実行される(ステップS18)。
【0070】
以上説明したように、抽出装置2によれば、ユーザがとったアクションを把握することにより、多数の商品の提示順を適切に制御することができる。
【0071】
(変形例)
以上に本発明の実施形態について説明したが、上記実施形態は一例であり、本発明の適用範囲はこれに限られない。即ち、本発明の実施形態は種々の応用が可能であり、あらゆる実施の形態が本発明の範囲に含まれる。
【0072】
上記実施形態では、未提示の検索結果は遷移先のページに表示される態様だったので、遷移先のページに表示する商品の提示順を制御する例を説明したが、本発明はこれに限定されず、上記実施形態の例とは検索結果の表示態様が異なっていても提示順の制御は可能である。以下、その一例を説明する。
【0073】
図15は、商品群がブラウザ41上でスクロール可能に表示されている様子を示す図である。同図では、ブラウザ41の右端にスクロールバー420がスクロール可能に表示されており、スクロールバー420が下方にスクロールされると、検索ワードに関連する商品が次々とブラウザ41に表示される態様になっている。なお、同図に表示されている商品は、抽出装置2の提示部36により送付された第i応答(検索ワード「水」に関連する商品の集合の一部)である。ただし、iは1以上の整数である。また、第i応答をブラウザ41に表示する一連の処理の内容は上記実施形態と同様なので説明を省略する。
【0074】
ここで、ユーザがユーザ端末3(1)を操作して「カートにいれる」421をクリックしたとすると、「○○産の水菜」に係る「カートにいれる」421がクリックされた旨の通知がユーザ端末3(1)から抽出装置2に送られる。そして、上記実施形態と同様に受付部31が通知を受け付けて端末情報記憶部33に記憶する。そして、提示部36が
図16に示す商品購入用の購入フォームをユーザ端末3(1)に送付する。
【0075】
図16は、商品購入用の購入フォームを示す図である。ユーザ端末3(1)は、提示部36から送付された購入フォームを受け付けると、同図に示すように購入フォームをブラウザ41に表示する。これに対して、ユーザは、「○○産の水菜」を購入する場合には「購入する」ボタンをクリックし、購入しない場合には「戻る」ボタン422をクリックする。ここで、ユーザが「戻る」ボタン422をクリックしたとすると、ブラウザ41の表示内容は
図15に戻る。そして、ユーザはブラウザ41に表示されている商品の中に所望の商品がないと判断すると、他の商品を閲覧するためにスクロールバー420を下方にスクロールする。
【0076】
図17は、商品群の末尾までスクロールされると他の商品群の読み込みが開始される様子を示す図である。同図に示すように、スクロールバー420がスクロール可能な範囲の下限までスクロールされると、第i応答の末尾がブラウザ41に表示される。この場合、ユーザ端末3(1)は、検索ワード「水」により特定される商品群のうち、ユーザ端末3(1)に送付済みの商品群以外の商品群を送付するよう要求する第(i+1)要求を抽出装置2に送り、第i応答の末尾に他の商品を読み込み中である旨のメッセージを表示する。
【0077】
これに対して、抽出部35は、第(i+1)要求に応じて、ユーザ端末3(1)から第1〜(i+1)要求が送られてくる間にユーザがアクションをとった商品に基づいて、検索ワード「水」に関連する商品の集合の一部を第(i+1)グループとして抽出する。そして、提示部36は、第(i+1)グループに含まれる商品に対してユーザがとることが可能なアクションを指定した第(i+1)応答を、第(i+1)要求に応じて、ユーザに送付する。
【0078】
図18は、ブラウザ41上に表示された第(i+1)応答を示す図である。ユーザ端末3(1)は、第(i+1)応答を受け付けると、同図に示すように、第(i+1)グループに含まれる各商品を第i応答の末尾に追加する。
【0079】
つまり、上記説明した例によれば、ユーザが画面スクロールを行うだけで、ユーザが望む商品が画面末尾に表示される。このように、本発明は、検索結果の様々な表示態様のうち特定のものにしか適用できないのではなく、様々な表示態様に対して適用される。
【0080】
また、上記実施形態では、商品の集合から一部の商品を抽出する際、ユーザがアクションをとった全商品を考慮した。しかしながら、比較的直近にアクションがとられた商品のみが考慮の対象であったほうが、よりユーザの嗜好に合致した商品が抽出されるはずである。そこで、商品抽出の際に考慮する商品を、直近にユーザがアクションをとった所定個数の商品に限定してもよい。
【0081】
具体的には、抽出部35は、ユーザ端末3(m)から送られた第(n+1)要求に応じて、第1〜n要求が送られてくる間にユーザがアクションをとった商品のうち、直近にユーザがアクションをとった所定個数の商品に基づいて、取得部34により取得された商品の集合の一部を第(n+1)グループとして抽出してもよい。ただし、ユーザ端末3(m)に送付済みの第1〜nグループに含まれる商品は抽出対象から除かれる。なお、直近にユーザがアクションをとった所定個数の商品を判別する方法の一例として、各通知が端末情報記憶部33に記憶されたときに各通知に付されたタイムスタンプを利用する方法が挙げられる。
【0082】
また、例えば、直近から数えて1〜5番目にユーザがアクションをとった商品のジャンルが「書籍」であり、6番目以降にユーザがアクションをとった商品のジャンルが「食品」である場合、6番目以降にアクションがとられた商品に対してユーザは興味を失っている可能性がある。そこで、抽出部35は、直近にユーザがアクションをとった商品と同ジャンルの商品かどうかを2、3、4番目・・・と過去に遡って判別し、例えば6番目の商品のジャンルが直近にユーザがアクションをとった商品のジャンルと異なる場合には、それ以前にユーザがアクションをとった商品(1〜5番目の商品)に基づいて、取得部34により取得された商品の集合からユーザに送付する商品を抽出してもよい。
【0083】
また、上記実施形態では、第1要求に含まれている検索クエリに基づいて商品の集合を取得し、取得した商品の集合の一部をユーザに送付する例を説明した。この例では、一連の処理を実行するにあたり検索クエリが必要となる。しかしながら、検索クエリを使用しないで本発明に係る一連の処理を実行することも可能である。
【0084】
例えば、取得部34が、ネットスーパーに出品されている全商品を商品記憶部32から予め取得しておく。次に、第1要求があると、抽出部35は、取得部34により取得された全商品のうち、各ジャンルからおすすめ商品を適当に抽出する。そして、提示部36は、抽出部35が抽出したおすすめ商品のリストをユーザに送付する。これに対して、ユーザは、おすすめ商品のリストから興味を持った商品をいくつか閲覧する。そして、ユーザが「次へ」ボタンをクリックすると、ユーザが閲覧したおすすめ商品が抽出装置2に通知される。すると、取得部34は、ユーザが閲覧した商品のジャンルを特定し、特定したジャンルの商品の順位が上になるように、未送付の商品のおすすめ順序を決定する。そして、第2要求があると、抽出部35は、おすすめ順序において上位の商品の所定個数を抽出し、提示部36は、抽出された商品のリストをユーザに送付する。このような方法で商品の提示順を制御すれば、本発明に係る一連の処理を実行するあたり、検索クエリは必要ない。
【0085】
また、上記実施形態では、ユーザがアクションをとる度にその旨をユーザ端末3(1)から抽出装置2に通知したが、一旦、その旨を通知予定情報としてブラウザ41に記憶させておいて(例えばクッキーに上記通知予定情報を記録しておいて)、ユーザ端末3(1)から抽出装置2に要求を送る際に、合わせて上記通知予定情報を抽出装置2に送ってもよい。
【0086】
また、本発明が制御対象とするアイテムには商品以外にも様々なものが含まれる。例えば、販売を目的としない品目も含まれるし、無体物である情報も含まれる。以下、本発明が情報の提示順を制御する例を説明する。
【0087】
この例において、抽出装置2は、インターネットを利用した情報検索サービスを提供する。ユーザ端末3(m)から抽出装置2にアクセスがあると、情報検索用の入力フォームが抽出装置2からユーザ端末3(m)に送られ、ユーザ端末3(m)のブラウザに入力フォームが表示される。また、入力フォームには検索ボックスと検索ボタンが表示され、ユーザが検索ボックスに所定の検索ワードを入力して検索ボタンをクリックすると、検索ワードに合致する検索結果がブラウザに表示される。
【0088】
ここで、あるユーザが肉料理のレシピを調べたいと思い、検索ボックスに「肉料理」という検索ワードを入力し、検索ボタンをクリックしたとする。すると、「肉料理」という検索クエリを指定する第1要求がユーザ端末3(m)から抽出装置2に送られ、受付部31が送られてきた第1要求を受け付ける。取得部34は、第1要求に応じて、インターネット上のサーバから検索クエリ「肉料理」に合致するレシピの集合を取得する。そして、「肉料理」に合致する度合が高いレシピの順位が上になるように、取得した集合に含まれるレシピのおすすめ順序を決定する。次に、抽出部35は、おすすめ順序において上位のレシピの所定個数を抽出し、提示部36は、抽出された所定個数のレシピに対してユーザがとることが可能なアクションを指定した第1応答をユーザに送付する。
【0089】
ユーザ端末3(m)は、第1応答を受け付け、第1応答に含まれるレシピのタイトルや見出しのリストを、ユーザがタイトルや見出しをクリックすればレシピの詳細が閲覧可能な態様で、ブラウザに表示する。以下、ブラウザには、「ハンバーグのレシピ」、「焼肉のレシピ」、「から揚げのレシピ」・・・等のタイトルが表示されたとする。また、ユーザは、焼肉のレシピに興味を持ち、「焼肉のレシピ」というタイトルをクリックしたとする。すると、「焼肉のレシピ」の詳細を求める応答要求がユーザ端末3(m)から抽出装置2に送付され、これに対して、「焼肉のレシピ」の詳細が抽出装置2からユーザ端末3(m)に送付される。また、抽出装置2は、ユーザがアクションをとった対象が「焼肉のレシピ」であることを記憶する。
【0090】
次に、ユーザがブラウザ上の「次へ」ボタンをクリックしたことに伴い、第2要求がユーザ端末3(m)から抽出装置2に送られ、受付部31が送られてきた第2要求を受け付けたとする。すると、抽出装置2は、第1、2要求を受け付ける間にユーザがどのような情報に対してアクションをとったかを判別する。そして、「焼肉のレシピ」に対してユーザがアクションをとったことを特定すると、「焼肉のレシピ」の順位が上になるように、取得部34が取得した「肉料理」に合致するレシピのおすすめ順序を変更する。
【0091】
抽出部35は、第2要求に応じて、おすすめ順序において上位のレシピの所定個数を抽出し、提示部36は、抽出された所定個数のレシピに対してユーザがとることが可能なアクションを指定した第2応答をユーザに送付する。ただし、上述したように、「焼肉のレシピ」の順位が上位に変更されているので、「焼肉のレシピ」が優先して抽出され第2応答としてユーザに送付されることとなる。従って、ブラウザ41には、現在ユーザが興味を持っている「焼肉のレシピ」が優先的に検索結果の続きとして表示される。このように、本発明は情報の提示順を制御することも可能であり、本発明が制御対象とするアイテムには情報が含まれる。
【0092】
また、上記実施形態では、抽出装置2とユーザ端末3(m)とが協働することで本発明が実現される例を説明したが、本発明は1つのコンピュータで実現されてもよい。以下、抽出装置2が単体で本発明を実現する例を説明する。
【0093】
この例において、抽出装置2は、多数の書籍を記憶する書籍データベースを有し、ユーザに書籍検索サービスを提供する。なお、書籍データベースには、インターネットを介してダウンロードされた書籍のリストが記憶されていてもよいし、USB(Universal Serial Bus)メモリ等の記憶端末からインタフェースを介して取得された書籍のリストが記憶されていてもよい。抽出装置2は、ユーザからマウスやキーボードの操作を介して書籍検索サービス用のアプリケーションを起動する旨の指示があると、同アプリケーションを起動し、書籍検索用画面を表示する。そして、予め定められた書籍のおすすめ順序において上位の書籍の所定個数を抽出し、抽出した書籍をおすすめ書籍のリストとして書籍検索用画面に表示する。
【0094】
おすすめ書籍のリストには、ビジネス書、コンピュータ・IT、小説等の各種ジャンルの書籍が含まれる。ここで、ユーザは、マウス等を操作して、おすすめ書籍のリストのうち、書籍A(なお、書籍Aのジャンルは小説)をカートに入れたとする。すると、抽出装置2は、ユーザが書籍Aに対してアクションをとったことを記憶する。そして、ユーザから別の書籍のリストを提示するよう指示があると、ユーザがアクションをとった書籍が書籍Aであると特定する。上述したように、書籍Aのジャンルは「小説」なので、ジャンル「小説」の書籍の順位が上になるように、書籍のおすすめ順序を変更する。そして、おすすめ順序において上位の書籍(小説の書籍)の所定個数を優先して抽出し、抽出した書籍を書籍検索用画面に表示する。このように、抽出装置2単体でも、本発明を実現可能である。
【0095】
また、本明細書において商品は、上記実施形態で例示した飲用水や食品以外に、衣料品、電気製品、書籍、チケット等、様々なジャンルに属する商品であってよい。また、商品には、食品、化粧品等の有形物のほか、例えばホテルの宿泊予約、オンラインチケット、ソフトウェアの使用ライセンス等の無形物も含まれる。また、商品には役務も含まれる。
【0096】
なお、本発明に係る機能を実現するための構成を予め備えた抽出装置2として提供できることはもとより、プログラムの適用により、既存のパーソナルコンピュータや情報端末機器等を、本発明に係る抽出装置2として機能させることもできる。即ち、上記実施形態で例示した抽出装置2による各機能構成を実現させるためのプログラムを、既存のパーソナルコンピュータや情報端末機器等を制御するCPU等が実行できるように適用することで、本発明に係る抽出装置2として機能させることができる。また、本発明に係る抽出方法は、抽出装置2を用いて実施できる。
【0097】
また、このようなプログラムの適用方法は任意である。プログラムを、例えば、コンピュータが読取可能な記録媒体[CD−ROM(Compact Disc Read-Only Memory)、DVD(Digital Versatile Disc)、MO(Magneto Optical disc)等]に格納して適用できる他、インターネット等のネットワーク上のストレージにプログラムを格納しておき、これをダウンロードさせることにより適用することもできる。
【0098】
なお、本発明は、本発明の広義の精神と範囲を逸脱することなく、様々な実施の形態及び変形が可能とされるものである。また、上述した実施の形態は、この発明を説明するためのものであり、本発明の範囲を限定するものではない。即ち、本発明の範囲は、実施の形態ではなく、特許請求の範囲によって示される。そして、特許請求の範囲内及びそれと同等の発明の意義の範囲内で施される様々な変形が、この発明の範囲内とみなされる。
【0099】
(まとめ)
以下に本発明のまとめを記載する。
【0100】
本発明の一形態に係る抽出装置2は、
ユーザに提示すべきアイテムの集合を取得する取得部32、
ユーザからの第1要求を受け付ける受付部31、
前記第1要求に応じて、前記取得された集合の一部を第1グループとして抽出する抽出部35、
前記第1グループに含まれる各アイテムに対してユーザがとることが可能なアクションを指定した第1応答を、前記第1要求に応じて、前記ユーザに提示する提示部36、
を備え、
前記受付部31は、前記第1応答が提示された前記ユーザからの第2要求を受け付け、
前記抽出部35は、前記第2要求に応じて、前記第1応答が提示された前記ユーザが前記第1グループに含まれるアイテムのいずれに対してアクションをとったか、に基づいて、前記取得された集合のうち、前記第1グループ以外の一部を第2グループとして抽出し、
前記提示部36は、前記第2グループに含まれる各アイテムに対してユーザがとることが可能なアクションを指定した第2応答を、前記第2要求に応じて、前記ユーザに提示する。
【0101】
2以上の整数nについて、
前記受付部31は、第nグループに含まれる各アイテムに対してユーザがとることが可能なアクションを指定した第n応答が提示された前記ユーザからの第(n+1)要求を受け付け、
前記抽出部35は、前記第(n+1)要求に応じて、前記第1応答乃至前記第n応答が提示された前記ユーザが前記第1グループ乃至前記第nグループに含まれるアイテムのいずれに対してアクションをとったか、に基づいて、前記取得された集合のうち、前記第1グループ乃至前記第nグループ以外の一部を第(n+1)グループとして抽出し、
前記提示部36は、前記第(n+1)グループに含まれる各アイテムに対してユーザがとることが可能なアクションを指定した第(n+1)応答を、前記第(n+1)要求に応じて、前記ユーザに提示してもよい。
【0102】
前記抽出部35は、前記ユーザがアクションをとった前記第1グループ乃至前記第nグループに含まれるアイテムのうち、直近にアクションをとった所定個数のアイテムに基づいて、前記第(n+1)グループを抽出してもよい。
【0103】
前記受付部31は、前記第2要求以降の要求には前記第1要求に引き続くものである旨を表す継続情報を関連付け、
前記抽出部35は、第n要求に応じて、前記継続情報に基づき前記第1要求乃至前記第n要求が前記ユーザからの一連の要求であると判別し、当該判別された一連の要求が前記受付部により受け付けられる間に前記ユーザがアクションをとったアイテムに基づいて前記第nグループを抽出してもよい。
【0104】
1以上の整数iについて、
前記提示部36により第i応答は前記ユーザが閲覧可能な画面にスクロール可能に表示され、前記第i応答の末尾が前記画面に表示されると、第(i+1)要求が送られて、前記受付部により受け付けられていてもよい。
【0105】
前記取得部34は、前記第1要求に指定されたクエリに合致するアイテムを検索し、当該検索された結果を、前記ユーザに提示すべきアイテムの集合としてもよい。
【0106】
前記取得部34は、前記第1要求の受け付けに先立って、前記ユーザに提示すべきアイテムの集合を取得してもよい。
【0107】
前記抽出装置2は、通信ネットワークを介して通信可能な端末とサーバとにより実現され、
前記第1要求は、前記ユーザから前記端末を介して前記サーバに送信され、
前記第1応答は、前記サーバにより生成されて前記端末を介して前記ユーザに提示され、
前記アクションは、前記ユーザから前記端末を介して指示され、
前記第2要求は、前記ユーザから前記端末を介して前記サーバに送信され、
前記第2応答は、前記サーバにより生成されて前記端末を介して前記ユーザに提示されてもよい。
【0108】
本発明の一形態に係る抽出方法は、
ユーザに提示すべきアイテムの集合を取得する取得ステップと、
ユーザからの第1要求を受け付ける受付ステップと、
前記第1要求に応じて、前記取得された集合の一部を第1グループとして抽出する抽出ステップと、
前記第1グループに含まれる各アイテムに対してユーザがとることが可能なアクションを指定した第1応答を、前記第1要求に応じて、前記ユーザに提示する提示ステップと、
を備え、
前記受付ステップでは、前記第1応答が提示された前記ユーザから送られた第2要求を受け付け、
前記抽出ステップでは、前記第2要求に応じて、前記第1応答が提示された前記ユーザが前記第1グループに含まれるアイテムのいずれに対してアクションをとったか、に基づいて、前記取得された集合のうち、前記第1グループ以外の一部を第2グループとして抽出し、
前記提示ステップでは、前記第2グループに含まれる各アイテムに対してユーザがとることが可能なアクションを指定した第2応答を、前記第2要求に応じて、前記ユーザに提示する。
【0109】
本発明の一形態に係る記録媒体は、
コンピュータを
ユーザに提示すべきアイテムの集合を取得する取得部34、
ユーザからの第1要求を受け付ける受付部31、
前記第1要求に応じて、前記取得された集合の一部を第1グループとして抽出する抽出部35、
前記第1グループに含まれる各アイテムに対してユーザがとることが可能なアクションを指定した第1応答を、前記第1要求に応じて、前記ユーザに提示する提示部36、
として機能させるプログラムを記憶したコンピュータ読み取り可能な記録媒体であって、
前記受付部31は、前記第1応答が提示された前記ユーザからの第2要求を受け付け、
前記抽出部35は、前記第2要求に応じて、前記第1応答が提示された前記ユーザが前記第1グループに含まれるアイテムのいずれに対してアクションをとったか、に基づいて、前記取得された集合のうち、前記第1グループ以外の一部を第2グループとして抽出し、
前記提示部36は、前記第2グループに含まれる各アイテムに対してユーザがとることが可能なアクションを指定した第2応答を、前記第2要求に応じて、前記ユーザに提示する。
【0110】
本発明の一形態に係るプログラムは、
コンピュータを
ユーザに提示すべきアイテムの集合を取得する取得部34、
ユーザからの第1要求を受け付ける受付部31、
前記第1要求に応じて、前記取得された集合の一部を第1グループとして抽出する抽出部35、
前記第1グループに含まれる各アイテムに対してユーザがとることが可能なアクションを指定した第1応答を、前記第1要求に応じて、前記ユーザに提示する提示部36、
として機能させるプログラムであって、
前記受付部31は、前記第1応答が提示された前記ユーザからの第2要求を受け付け、
前記抽出部35は、前記第2要求に応じて、前記第1応答が提示された前記ユーザが前記第1グループに含まれるアイテムのいずれに対してアクションをとったか、に基づいて、前記取得された集合のうち、前記第1グループ以外の一部を第2グループとして抽出し、
前記提示部36は、前記第2グループに含まれる各アイテムに対してユーザがとることが可能なアクションを指定した第2応答を、前記第2要求に応じて、前記ユーザに提示する。