JP2012118696A - ランキング生成装置、ランキング生成プログラム、ランキング生成プログラムを記録したコンピュータ読み取り可能な記録媒体、及びランキング生成方法 - Google Patents
ランキング生成装置、ランキング生成プログラム、ランキング生成プログラムを記録したコンピュータ読み取り可能な記録媒体、及びランキング生成方法 Download PDFInfo
- Publication number
- JP2012118696A JP2012118696A JP2010266915A JP2010266915A JP2012118696A JP 2012118696 A JP2012118696 A JP 2012118696A JP 2010266915 A JP2010266915 A JP 2010266915A JP 2010266915 A JP2010266915 A JP 2010266915A JP 2012118696 A JP2012118696 A JP 2012118696A
- Authority
- JP
- Japan
- Prior art keywords
- genre
- ranking
- index value
- product
- user
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
- 238000000034 method Methods 0.000 title claims abstract description 66
- 238000012937 correction Methods 0.000 claims description 32
- 238000003860 storage Methods 0.000 claims description 26
- 238000004519 manufacturing process Methods 0.000 claims description 16
- 239000000047 product Substances 0.000 description 207
- 230000010354 integration Effects 0.000 description 75
- 230000008569 process Effects 0.000 description 41
- 230000037213 diet Effects 0.000 description 31
- 235000005911 diet Nutrition 0.000 description 31
- 238000009826 distribution Methods 0.000 description 22
- 238000012545 processing Methods 0.000 description 20
- 230000006870 function Effects 0.000 description 15
- 238000004891 communication Methods 0.000 description 7
- 235000012149 noodles Nutrition 0.000 description 5
- 238000010586 diagram Methods 0.000 description 3
- 235000008446 instant noodles Nutrition 0.000 description 3
- 239000007795 chemical reaction product Substances 0.000 description 2
- 235000013402 health food Nutrition 0.000 description 2
- 239000004973 liquid crystal related substance Substances 0.000 description 2
- 230000008859 change Effects 0.000 description 1
- 238000005401 electroluminescence Methods 0.000 description 1
- 235000013305 food Nutrition 0.000 description 1
- 230000010365 information processing Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000001172 regenerating effect Effects 0.000 description 1
Images
Landscapes
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
Abstract
【課題】複数のジャンルにそれぞれ属する商品が所定の比率でランクインしたランキングを生成できるランキング生成装置、ランキング生成プログラム、ランキング生成プログラムを記録したコンピュータ読み取り可能な記録媒体、及びランキング生成方法を提供する。
【解決手段】ランキング生成装置100は、複数の商品のそれぞれが属するジャンル毎に、商品の指標値に基づいてジャンル別ランキング情報を生成する個別生成部102を備える。また、ランキング生成装置100は、ジャンル別ランキング情報に含まれる商品の指標値を、第1ジャンルに属する商品の指標値に対する第2ジャンルに属する商品の指標値の比率が略一定になるように補正し、補正された指標値に基づいて、第1ジャンル及び第2ジャンルにそれぞれ属する商品の統合ランキング情報を生成する統合生成部105をさらに備える。
【選択図】図3
【解決手段】ランキング生成装置100は、複数の商品のそれぞれが属するジャンル毎に、商品の指標値に基づいてジャンル別ランキング情報を生成する個別生成部102を備える。また、ランキング生成装置100は、ジャンル別ランキング情報に含まれる商品の指標値を、第1ジャンルに属する商品の指標値に対する第2ジャンルに属する商品の指標値の比率が略一定になるように補正し、補正された指標値に基づいて、第1ジャンル及び第2ジャンルにそれぞれ属する商品の統合ランキング情報を生成する統合生成部105をさらに備える。
【選択図】図3
Description
本発明は、ランキング生成装置、ランキング生成プログラム、ランキング生成プログラムを記録したコンピュータ読み取り可能な記録媒体、及びランキング生成方法に関する。
従来から、検索キーワードに基づいて既に作成されたランキングを、当該検索キーワードでウェブを検索した検索結果に基づいて再作成する技術が知られている(例えば、特許文献1)。
ここで、特許文献1の技術では、複数の異なるジャンルに属する商品を併せてランキングする場合には、同じ種類の指標値に基づいてこれらの商品をランキングしても、あるジャンルに属する商品の指標値が他のジャンルに属する商品の指標値よりも全体的に大きい傾向にあると、当該あるジャンルの商品がランクインし易いが、当該他のジャンルの商品がランクインし難いという問題があった。
本発明は、このような点に鑑みてなされたものであり、その目的とするところは、複数のジャンルにそれぞれ属する商品が所定の比率でランクインしたランキングを生成できるランキング生成装置、ランキング生成プログラム、ランキング生成プログラムを記録したコンピュータ読み取り可能な記録媒体、及びランキング生成方法を提供することにある。
上記目的を達成するため、本発明の第1の観点に係るランキング生成装置は、
複数の商品のそれぞれが属するジャンルが記憶される商品記憶部、
前記記憶されたジャンル毎に、当該ジャンルに属する商品の所定の指標に対する指標値を求め、当該指標値に基づいて当該ジャンルに属する商品のジャンル別ランキング情報を生成する個別生成部、
第1ジャンル及び第2ジャンルを含む複数のジャンルが指定されると、当該複数のジャンルのそれぞれについて、前記生成されたジャンル別ランキング情報に含まれる商品の指標値を、前記第1ジャンルに属する商品の指標値に対する前記第2ジャンルに属する商品の指標値の比率が略一定になるように補正し、当該補正された指標値に基づいて、当該複数のジャンルに属する商品の統合ランキング情報を生成する統合生成部、を備える、
ことを特徴とする。
複数の商品のそれぞれが属するジャンルが記憶される商品記憶部、
前記記憶されたジャンル毎に、当該ジャンルに属する商品の所定の指標に対する指標値を求め、当該指標値に基づいて当該ジャンルに属する商品のジャンル別ランキング情報を生成する個別生成部、
第1ジャンル及び第2ジャンルを含む複数のジャンルが指定されると、当該複数のジャンルのそれぞれについて、前記生成されたジャンル別ランキング情報に含まれる商品の指標値を、前記第1ジャンルに属する商品の指標値に対する前記第2ジャンルに属する商品の指標値の比率が略一定になるように補正し、当該補正された指標値に基づいて、当該複数のジャンルに属する商品の統合ランキング情報を生成する統合生成部、を備える、
ことを特徴とする。
また、第1の観点に係るランキング生成装置において、
前記統合生成部は、各ジャンル別ランキング情報に含まれる商品の指標値の総和を求め、当該求められた総和の積算値を算出し、当該積算値に対する前記総和の比率がそれぞれ略等しくなるように当該ジャンルに対する係数を定め、各ジャンル別ランキング情報に含まれる各商品の指標値に当該ジャンルに対する係数を乗じることにより、当該商品の指標値を補正する、
としても良い。
前記統合生成部は、各ジャンル別ランキング情報に含まれる商品の指標値の総和を求め、当該求められた総和の積算値を算出し、当該積算値に対する前記総和の比率がそれぞれ略等しくなるように当該ジャンルに対する係数を定め、各ジャンル別ランキング情報に含まれる各商品の指標値に当該ジャンルに対する係数を乗じることにより、当該商品の指標値を補正する、
としても良い。
また、第1の観点に係るランキング生成装置において、
前記ジャンルの各々は項目ごとに分類されており、
ユーザからのクエリを受け付ける受付部、
前記受け付けられたクエリに該当するジャンルおよび当該ジャンルを含む項目を選択し、前記選択した項目の中から前記クエリに該当するジャンルを最も多く含む項目を特定し、前記特定された項目に含まれるジャンルを前記統合生成部に指定する特定部、をさらに備える、
としても良い。
前記ジャンルの各々は項目ごとに分類されており、
ユーザからのクエリを受け付ける受付部、
前記受け付けられたクエリに該当するジャンルおよび当該ジャンルを含む項目を選択し、前記選択した項目の中から前記クエリに該当するジャンルを最も多く含む項目を特定し、前記特定された項目に含まれるジャンルを前記統合生成部に指定する特定部、をさらに備える、
としても良い。
また、第1の観点に係るランキング生成装置において、
ユーザの属性があらかじめ記憶されるユーザ記憶部、をさらに備え、
前記所定の指標は、前記記憶されたジャンルごとにあらかじめ定められ、
前記統合生成部は、前記第1ジャンルと前記第2ジャンルとを含む複数のジャンルにあらかじめ定められる所定の指標がそれぞれ異なる場合、
(1)前記クエリを発したユーザについて前記ユーザ記憶部に記憶される属性にあらかじめ対応付けられるユーザ指標を取得し、
(2)当該複数のジャンルのうち、当該取得されたユーザ指標と異なる所定の指標があらかじめ定められているジャンルについて、当該ジャンルに属する商品の当該取得されたユーザ指標に対する指標値を求め、当該指標値に基づいて当該ジャンルに属する商品のジャンル別ランキング情報を生成し、
(3)当該複数のジャンルのそれぞれについて前記生成されたジャンル別ランキング情報に含まれる商品の前記取得されたユーザ指標に対する指標値を、前記第1ジャンルに属する商品の前記ユーザ指標に対する指標値と、前記第2ジャンルに属する商品の前記ユーザ指標に対する指標値との比率が略一定になるように補正し、当該補正されたユーザ指標値に基づいて、当該複数のジャンルに属する商品の統合ランキング情報を生成する、
としても良い。
ユーザの属性があらかじめ記憶されるユーザ記憶部、をさらに備え、
前記所定の指標は、前記記憶されたジャンルごとにあらかじめ定められ、
前記統合生成部は、前記第1ジャンルと前記第2ジャンルとを含む複数のジャンルにあらかじめ定められる所定の指標がそれぞれ異なる場合、
(1)前記クエリを発したユーザについて前記ユーザ記憶部に記憶される属性にあらかじめ対応付けられるユーザ指標を取得し、
(2)当該複数のジャンルのうち、当該取得されたユーザ指標と異なる所定の指標があらかじめ定められているジャンルについて、当該ジャンルに属する商品の当該取得されたユーザ指標に対する指標値を求め、当該指標値に基づいて当該ジャンルに属する商品のジャンル別ランキング情報を生成し、
(3)当該複数のジャンルのそれぞれについて前記生成されたジャンル別ランキング情報に含まれる商品の前記取得されたユーザ指標に対する指標値を、前記第1ジャンルに属する商品の前記ユーザ指標に対する指標値と、前記第2ジャンルに属する商品の前記ユーザ指標に対する指標値との比率が略一定になるように補正し、当該補正されたユーザ指標値に基づいて、当該複数のジャンルに属する商品の統合ランキング情報を生成する、
としても良い。
また、第1の観点に係るランキング生成装置において、
前記ユーザ記憶部には、ユーザによる商品の購入履歴が、さらに記憶され、
前記統合生成部は、前記クエリを発したユーザについて、前記記憶された商品の購入履歴からユーザの嗜好を求め、当該ユーザの嗜好から前記複数のジャンルの重みを取得し、当該商品が属するジャンルについて取得された重みを前記指標値にさらに乗じることにより、当該指標値を補正する、
としても良い。
前記ユーザ記憶部には、ユーザによる商品の購入履歴が、さらに記憶され、
前記統合生成部は、前記クエリを発したユーザについて、前記記憶された商品の購入履歴からユーザの嗜好を求め、当該ユーザの嗜好から前記複数のジャンルの重みを取得し、当該商品が属するジャンルについて取得された重みを前記指標値にさらに乗じることにより、当該指標値を補正する、
としても良い。
また、上記目的を達成するため、本発明の第2の観点に係るランキング生成プログラムは、
コンピュータを、
複数の商品のそれぞれが属するジャンルが記憶される商品記憶部、
前記記憶されたジャンル毎に、当該ジャンルに属する商品の所定の指標に対する指標値を求め、当該指標値に基づいて当該ジャンルに属する商品のジャンル別ランキング情報を生成する個別生成部、
第1ジャンル及び第2ジャンルを含む複数のジャンルが指定されると、当該複数のジャンルのそれぞれについて、前記生成されたジャンル別ランキング情報に含まれる商品の指標値を、前記第1ジャンルに属する商品の指標値に対する前記第2ジャンルに属する商品の指標値の比率が略一定になるように補正し、当該補正された指標値に基づいて、当該複数のジャンルに属する商品の統合ランキング情報を生成する統合生成部、として機能させる、
ことを特徴とする。
コンピュータを、
複数の商品のそれぞれが属するジャンルが記憶される商品記憶部、
前記記憶されたジャンル毎に、当該ジャンルに属する商品の所定の指標に対する指標値を求め、当該指標値に基づいて当該ジャンルに属する商品のジャンル別ランキング情報を生成する個別生成部、
第1ジャンル及び第2ジャンルを含む複数のジャンルが指定されると、当該複数のジャンルのそれぞれについて、前記生成されたジャンル別ランキング情報に含まれる商品の指標値を、前記第1ジャンルに属する商品の指標値に対する前記第2ジャンルに属する商品の指標値の比率が略一定になるように補正し、当該補正された指標値に基づいて、当該複数のジャンルに属する商品の統合ランキング情報を生成する統合生成部、として機能させる、
ことを特徴とする。
また、上記目的を達成するため、本発明の第3の観点に係るコンピュータ読み取り可能な記録媒体が記録したランキング生成プログラムは、
コンピュータを、
複数の商品のそれぞれが属するジャンルが記憶される商品記憶部、
前記記憶されたジャンル毎に、当該ジャンルに属する商品の所定の指標に対する指標値を求め、当該指標値に基づいて当該ジャンルに属する商品のジャンル別ランキング情報を生成する個別生成部、
第1ジャンル及び第2ジャンルを含む複数のジャンルが指定されると、当該複数のジャンルのそれぞれについて、前記生成されたジャンル別ランキング情報に含まれる商品の指標値を、前記第1ジャンルに属する商品の指標値に対する前記第2ジャンルに属する商品の指標値の比率が略一定になるように補正し、当該補正された指標値に基づいて、当該複数のジャンルに属する商品の統合ランキング情報を生成する統合生成部、として機能させる、
ことを特徴とする。
コンピュータを、
複数の商品のそれぞれが属するジャンルが記憶される商品記憶部、
前記記憶されたジャンル毎に、当該ジャンルに属する商品の所定の指標に対する指標値を求め、当該指標値に基づいて当該ジャンルに属する商品のジャンル別ランキング情報を生成する個別生成部、
第1ジャンル及び第2ジャンルを含む複数のジャンルが指定されると、当該複数のジャンルのそれぞれについて、前記生成されたジャンル別ランキング情報に含まれる商品の指標値を、前記第1ジャンルに属する商品の指標値に対する前記第2ジャンルに属する商品の指標値の比率が略一定になるように補正し、当該補正された指標値に基づいて、当該複数のジャンルに属する商品の統合ランキング情報を生成する統合生成部、として機能させる、
ことを特徴とする。
さらに上記目的を達成するため、本発明の第4の観点に係るランキング生成方法は、
個別生成部と統合生成部とを備えるランキング生成装置が実行する方法であって、
前記個別生成部が、複数の商品のそれぞれが属するジャンル毎に、当該ジャンルに属する商品の所定の指標に対する指標値を求め、当該指標値に基づいて当該ジャンルに属する商品のジャンル別ランキング情報を生成する個別生成ステップ、
第1ジャンル及び第2ジャンルを含む複数のジャンルが指定されると、前記統合生成部が、当該複数のジャンルのそれぞれについて、前記生成されたジャンル別ランキング情報に含まれる商品の指標値を、前記第1ジャンルに属する商品の指標値に対する前記第2ジャンルに属する商品の指標値の比率が略一定になるように補正し、当該補正された指標値に基づいて、当該複数のジャンルに属する商品の統合ランキング情報を生成する統合生成ステップ、を有する、
ことを特徴とする。
個別生成部と統合生成部とを備えるランキング生成装置が実行する方法であって、
前記個別生成部が、複数の商品のそれぞれが属するジャンル毎に、当該ジャンルに属する商品の所定の指標に対する指標値を求め、当該指標値に基づいて当該ジャンルに属する商品のジャンル別ランキング情報を生成する個別生成ステップ、
第1ジャンル及び第2ジャンルを含む複数のジャンルが指定されると、前記統合生成部が、当該複数のジャンルのそれぞれについて、前記生成されたジャンル別ランキング情報に含まれる商品の指標値を、前記第1ジャンルに属する商品の指標値に対する前記第2ジャンルに属する商品の指標値の比率が略一定になるように補正し、当該補正された指標値に基づいて、当該複数のジャンルに属する商品の統合ランキング情報を生成する統合生成ステップ、を有する、
ことを特徴とする。
本発明に係るランキング生成装置、ランキング生成プログラム、ランキング生成プログラムを記録したコンピュータ読み取り可能な記録媒体、及びランキング生成方法によれば、複数のジャンルにそれぞれ属する商品が所定の比率でランクインしたランキングを生成できる。
以下、本発明の実施例について添付図面を参照しつつ説明する。
本発明の実施例に係るランキング生成システム1は、図1に示すように、コンピュータ通信網10(以下単に、通信網10という)と、本発明のランキング生成装置100と、端末装置201及び202とで構成される。端末装置201及び202は、それぞれ同様の構成を有するため、以下、端末装置201についてのみ説明する。
通信網10は、例えば、インターネットで構成される。通信網10は、LAN(Local Area Network)又は公衆回線網であっても良い。
ランキング生成装置100について説明する前に、端末装置201について説明する。
端末装置201は、例えば、LCD(Liquid Crystal Display)などの表示部と、キーボードなどの入力部とを備えたパーソナル・コンピュータで構成される。端末装置201は、ユーザに操作されて、操作に応じた各種の信号をランキング生成システム1に入力し、入力された信号に基づいた情報をランキング生成装置100へ送信する。また、端末装置201は、ランキング生成装置100から返信された情報を受信し、受信された情報に基づいて表示部に各種の情報を表示する。
端末装置201は、例えば、LCD(Liquid Crystal Display)などの表示部と、キーボードなどの入力部とを備えたパーソナル・コンピュータで構成される。端末装置201は、ユーザに操作されて、操作に応じた各種の信号をランキング生成システム1に入力し、入力された信号に基づいた情報をランキング生成装置100へ送信する。また、端末装置201は、ランキング生成装置100から返信された情報を受信し、受信された情報に基づいて表示部に各種の情報を表示する。
ランキング生成装置100は、ウェブサーバソフトウェアをインストールされたサーバ機である。ランキング生成装置100は、端末装置201からクエリを受信し、受信されたクエリに該当する複数種類(以下、ジャンルという)の商品を順位付けし(以下、ランキングするという)、ランキングした結果(以下、ランキングという)を表す情報を端末装置201へ返信する。
尚、クエリは、ランキング生成装置100に対するランキングの生成要求を示すデータをいう。本実施例において、端末装置201によって送信されるクエリは、ジャンルの検索に用いられる検索キーワードを文字列で表現したものである。
ランキング生成装置100は、図2に示すように、CPU(Central Processing Unit)100a、ROM(Read Only Memory)100b、RAM(Random Access Memory)100c、ハードディスク100d、メディアコントローラ100e、LANカード(Local Area Network)100f、ビデオカード100g、LCD(Liquid Crystal Display)100h、キーボード100i、スピーカ100j、及びマウス100kで構成される。
CPU100aは、ROM100b又はハードディスク100dに保存されたプログラムに従ってソフトウェア処理を実行することで、ランキング生成装置100の全体制御を行う。RAM100cは、CPU100aによるプログラムの実行時において、処理対象とする情報(つまり、データ)を一時的に記憶する。
ハードディスク100dは、各種の情報(つまり、データ)を保存した表(つまり、テーブル)を記憶する商品記憶部及びユーザ記憶部である。尚、ランキング生成装置100は、ハードディスク100dの代わりに、フラッシュメモリを備えても良い。
メディアコントローラ100eは、フラッシュメモリ、CD(Compact Disc)、DVD(Digital Versatile Disc)、及びブルーレイディスク(Blu-ray Disc)(登録商標)を含む記録媒体から各種のデータ及びプログラムを読み出す。
LANカード100fは、通信網10を介して接続する端末装置201及び202との間でデータを送受信する。キーボード100i及びマウス100kは、ユーザの操作に応じた信号又は情報を入力する。LANカード100fは、受付部及び出力部を構成する。
ビデオカード100gは、CPU100aから出力されたデジタル信号に基づいて画像を描画(つまり、レンダリング)すると共に、描画された画像を表す画像信号を出力する。LCD100hは、ビデオカード100gから出力された画像信号に従って画像を表示する表示部である。なお、ランキング生成装置100は、LCD100hの代わりに、PDP(Plasma Display Panel)又はEL(Electroluminescence)ディスプレイを備えても良い。スピーカ100jは、CPU100aから出力された信号に基づいて音声を出力する。
ランキング生成装置100のCPU100aは、図2のハードウェアを用いて、ジャンル毎に商品をランキングする個別ランキング生成処理を実行することで、図3に示すような個別生成部102として機能する。また、CPU100aは、図2のハードディスク100dと協働して、商品記憶部101mとして機能する。この個別ランキング生成処理は、例えば、数十分に1回から1週間に1回といった所定周期で実行されるため、各ジャンルのランキングを表すジャンル別ランキング情報は、例えば、クエリが受信されるより前に予め生成される。しかし、これに限定されるのではなく、個別ランキング生成処理は、クエリが受信されたタイミングで実行されても良い。
商品記憶部101mは、図4に示すような商品購買テーブルを記憶する。商品購買テーブルは、購買された商品を識別する情報(以下、商品IDという)、商品の名称(以下、商品名という)、商品が属するジャンルを識別する情報(以下、ジャンルIDという)、商品の価格を表す情報、及び売上個数を表す情報を対応付けて保存された複数のレコードを有する。
商品記憶部101mは、図5に示すようなジャンルテーブルをさらに記憶する。ジャンルテーブルは、図4の商品購買テーブルに記憶されたジャンルIDと、ジャンルIDで識別されるジャンルの名称(以下、ジャンル名という)を表す情報、当該ジャンルに属する商品の並び順を変える(以下、ソートという)場合に使用される並び替えの基準又は指標(以下、ソートキーという)を表す情報、及び当該ジャンルに属する商品で満足されるユーザの嗜好を識別する情報(以下、合致嗜好IDという)を対応付けて保存された複数のレコードを有する。本実施例において、ソートキーは、商品の「価格」、商品の「売上件数」、商品の「売上個数」、及び商品の「流通額」などの指標、並びに、例えば、「流通額×売上件数」のような、これら指標を所定の数式を用いて算出した算出結果を含む。これらソートキーは、ジャンルに属する商品の用途、種類、及び価格などによって予め定められている。具体例として、「高級ラーメン」のジャンルに属する商品の価格は、「通常のラーメン」、「インスタントラーメン」、及び「ダイエットラーメン」などの他のジャンルに属する同種の商品の価格よりも高いため、「高級ラーメン」のジャンルには、流通額が高い商品が属する。このため、「高級ラーメン」のジャンルには、「流通額」がソートキーとして予め設定されている。
図3の個別生成部102は、個別ランキング生成処理の実行を開始すると、図5のジャンルテーブルに記憶された全ジャンルに対して、ジャンル毎のランキング(以下、ジャンル別ランキングという)を生成したか否かを判別する。個別生成部102は、全ジャンルに対してジャンル別ランキングを生成した訳ではないと判別すると、ジャンル別ランキングを生成していないジャンルの1つを注目ジャンル(つまり、処理対象)とする。次に、個別生成部102は、注目ジャンルに予め定められたソートキーを取得する。具体的には、個別生成部102は、図5のジャンルテーブルから注目ジャンルのジャンルIDに対応付けたソートキー表す情報を取得する。
具体例として、個別生成部102は、注目ジャンルがジャンルID「J001」の「インスタントラーメン」である場合、及び注目ジャンルがジャンルID「J005」の「ダイエットラーメン」である場合には、図5のジャンルテーブルからソートキー「売上個数」を取得する。これに対して、個別生成部102は、注目ジャンルがジャンルID「J003」の「高級ラーメン」である場合には、図5のジャンルテーブルからソートキー「流通額」を取得する。
その後、個別生成部102は、図4の商品購買テーブルに、取得されたソートキーが保存されているか否かを判別し、保存されていないと判別するとソートキーに対する指標値を算出する。具体例としては、商品購買テーブルには、「流通額」が保存されていないので、個別生成部102は、「流通額」が予め定められたソートキーであるジャンルに属する商品のそれぞれについて、商品の「売上個数」に対して商品の「価格」を乗算することで商品の「流通額」を算出する。
その後、個別生成部102は、取得又は算出されたソートキーに対する指標値に基づいて、注目ジャンルのジャンル別ランキングを表すジャンル別ランキング情報を生成する。具体的には、個別生成部102は、図4の商品購買テーブルから、注目ジャンルのジャンルIDを記録されたレコードを検索し、検索されたレコードを、取得されたソートキーに対する指標値に基づいてソートすることで、図6(a)から(c)に示すようなジャンル別ランキング情報を生成する。
具体例として、注目ジャンルが「インスタントラーメン」である場合、及び「ダイエットラーメン」である場合には、図6(a)及び(c)に示すような、指標値「売上個数」でソートされたジャンル別ランキングを生成する。これに対して、注目ジャンルが「高級ラーメン」である場合には、図6(b)に示すような、指標値「流通額」でソートされたランキングを生成する。
その後、個別生成部102は、生成されたジャンル別ランキング情報を、図3の商品記憶部101mに保存した後に、ジャンルテーブルに記憶された全ジャンルに対してランキングを生成するまで、上記処理を繰り返す。
CPU100aは、図2のハードウェアを用いて、商品を購入したユーザの嗜好を特定する嗜好特定処理を実行することで、図3に示すような特定部104として機能する。また、CPU100aは、図2のハードディスク100dと協働して、ユーザ記憶部101uとして機能する。尚、この嗜好特定処理は、例えば、数十分に1回から1週間に1回といった所定周期で実行される。
ユーザ記憶部101uは、図7に示すような履歴テーブルを記憶する。履歴テーブルは、ユーザを識別する情報(以下、ユーザIDという)、ユーザが商品を購入した日付を表す情報、ユーザが購入した商品(以下、購入商品という)の商品ID、及び購入商品の商品名を表す情報を対応付けて保存された複数のレコードを有する。
ユーザ記憶部101uは、図8(a)に示すようなユーザテーブルをさらに記憶する。ユーザテーブルは、ユーザID、ユーザIDで識別されるユーザの嗜好を識別する情報(以下、嗜好IDという)、嗜好を表す情報を対応付けて保存された複数のレコードを有する。尚、ユーザの嗜好は、ユーザ属性の1つであるため、嗜好属性とも称する。また、嗜好属性は、例えば、高級な商品を好む嗜好、健康食品など健康的な商品を好む嗜好、及び通常の商品を好む嗜好を含む。
ユーザ記憶部101uは、図8(b)に示すような嗜好テーブルを記憶する。嗜好テーブルは、嗜好ID、嗜好IDで識別される嗜好、及び当該嗜好に合致する商品をランキングする際に用いられるソートキーを表す情報を対応付けて保存された複数のレコードを有する。例えば、高級な商品を好む嗜好は、価格が低い商品よりも高い商品によって満足させられるため、ソートキー「価格」に対応付けられ、高級な商品をランキングする際には、ソートキー「価格」が用いられる。
図3の特定部104は、嗜好特定処理の実行を開始すると、図8(a)のユーザテーブルに記憶された全ユーザに対して嗜好を特定したか否かを判別する。特定部104は、全ユーザに対して嗜好を特定した訳ではないと判別すると、嗜好を特定していないユーザの1人を注目ユーザとする。次に、特定部104は、注目ユーザが過去に購入した商品を特定する。具体的には、特定部104は、図7の履歴テーブルから注目ユーザのユーザIDと対応付けられた購入商品の商品IDを検索する。次に、特定部104は、検索された商品IDで識別される商品に基づいて、ユーザの嗜好を特定する。
具体的には、特定部104は、検索された商品IDに基づいて、図4の商品購買テーブルから当該商品のジャンルを検索する。次に、特定部104は、検索されたジャンルのジャンルIDに基づいて、図5のジャンルテーブルから、注目ユーザが購入した商品に合致する嗜好を特定し、特定された嗜好を注目ユーザの嗜好とする。また、これに限定される訳ではなく、特定部104は、検索された商品IDに基づいて、図4の商品購買テーブルから、検索された商品IDに対応付けた価格情報を検索し、検索された情報で表される価格が、注目ユーザが購入した商品のジャンルに属する商品群又は同等の機能を有する商品群における平均価格よりも高い場合に、注目ユーザの嗜好に高価格商品(つまり、高級品)が合致すると特定し、そうでない場合に、注目ユーザの嗜好に低価格商品が合致すると特定する。
注目ユーザの嗜好を特定した後に、特定部104は、図8(a)のユーザテーブルに対して、注目ユーザのユーザIDと、特定された嗜好の嗜好IDとを対応付けて保存した後に、ユーザテーブルに記憶された全てのユーザに対して嗜好を特定するまで、上記処理を繰り返す。
ランキング生成装置100のCPU100aは、複数のジャンルにそれぞれ属する商品を合わせてランキングした統合ランキングの生成を求める要求(つまり、リクエスト)を端末装置201から受信すると、図9に示すような統合ランキング生成処理の実行を開始する。CPU100aは、図2のハードウェアを用いて、この統合ランキング生成処理を実行することで、図3に示すような特定部104及び統合生成部105としてさらに機能する。また、CPU100aは、図2のLANカード100fと協働することで、受付部103及び出力部106として機能する。
図9の統合ランキング生成処理の実行を開始すると、受付部103は、端末装置201を操作するユーザに対してユーザ認証を行う(ステップS01)。具体的には、端末装置201を操作するユーザのユーザID及びパスワードを表す情報を端末装置201から受信し、受信されたユーザID及びパスワードの組み合わせが、予めランキング生成装置100に記憶されたユーザID及びパスワードの組合せに一致するか否かを判別する。
次に、受付部103は、端末装置201を操作するユーザがユーザ認証をクリアするか否かを判別する(ステップS02)。具体的には、受付部103は、受信されたユーザID及びパスワードの組み合わせが、記憶されたユーザID及びパスワードの組み合わせに一致すると判別すると、当該ユーザがユーザ認証をクリアしたと判別し、そうでないと判別するとユーザ認証をクリアしなかったと判別する。
ステップS02において、ユーザがユーザ認証をクリアしなかったと判別されると(ステップS02;No)、受付部103は、統合ランキング生成処理の実行を終了する。これに対して、ユーザがユーザ認証をクリアしたと判別されると(ステップS02;Yes)、出力部106は、図10に示すようなジャンル選択画面FSを表す情報を端末装置201へ送信する(ステップS03)。
尚、端末装置201は、ジャンル選択画面FSを表す情報を受信すると、受信された情報で表されるジャンル選択画面FSを表示部に表示させる。次に、端末装置201は、ユーザに入力部を操作されて、ランキングを行うジャンルの検索に用いられる検索キーワードを入力し、入力された検索キーワードに基づいてクエリを生成し、生成されたクエリをランキング生成装置100へ返信する。
ステップS03が実行された後に、受付部103は、端末装置201からクエリを受け付ける(ステップS04)。次に、図3の特定部104は、受け付けられたクエリに該当するジャンルを特定する、図11(a)に示すようなジャンル特定処理を実行する(ステップS05)。
図11(a)のジャンル特定処理を開始すると、特定部104は、図5のジャンルテーブルから、受け付けられたクエリに該当するジャンルを検索する(ステップS11)。具体的には、特定部104は、クエリの文字列(つまり、検索ワード)を含むジャンル名を検索する。
ここで、ジャンルは、ジャンルに属する商品の用途、種類、及び価格などに基づいて、大分類項目と小分類項目とを含む項目ごとに分類される。ある大分類項目に含まれる(つまり、分類される)ジャンルは、小分類項目にごとにさらに分類される。具体例として、「インスタントラーメン」、「(通常タイプで通常価格の)ラーメン」、及び「高級ラーメン」という3つのジャンルのそれぞれに属する商品は全て麺類であるため、これらの3つのジャンルは、大分類項目「麺類」にそれぞれ分類される。これに対して、これら3つのジャンルの内、ジャンル「インスタントラーメン」のみにインスタント食品が属するため、ジャンル「インスタントラーメン」だけが小分類項目「インスタント」に分類される。
このため、図3の商品記憶部101mは、図12(a)から(c)に示すような項目テーブル、項目関係テーブル、及び項目ジャンルテーブルを記憶する。
図12(a)の項目テーブルは、大分類項目又は小分類項目を識別する情報(以下、項目IDという)と、大分類項目又は小分類項目の名称(以下、項目名という)を表す情報とを対応付けて記録された複数のレコードを有する。
図12(b)の項目関係テーブルは、大分類項目の項目ID(以下、大分類項目IDという)及び名称(以下、大分類項目名という)と、当該大分類項目に分類されたジャンルが、さらに分類される小分類項目の項目ID(以下、小分類項目IDという)及び名称(以下、小分類項目名という)とを対応付けて記録された複数のレコードを有する。
図12(c)の項目ジャンルテーブルは、大分類項目又は小分類項目の項目ID及び名称と、当該大分類項目又は当該小分類項目に分類されるジャンルのジャンルID及び名称とを対応付けて記録された複数のレコードを有する。
図12(a)の項目テーブルは、大分類項目又は小分類項目を識別する情報(以下、項目IDという)と、大分類項目又は小分類項目の名称(以下、項目名という)を表す情報とを対応付けて記録された複数のレコードを有する。
図12(b)の項目関係テーブルは、大分類項目の項目ID(以下、大分類項目IDという)及び名称(以下、大分類項目名という)と、当該大分類項目に分類されたジャンルが、さらに分類される小分類項目の項目ID(以下、小分類項目IDという)及び名称(以下、小分類項目名という)とを対応付けて記録された複数のレコードを有する。
図12(c)の項目ジャンルテーブルは、大分類項目又は小分類項目の項目ID及び名称と、当該大分類項目又は当該小分類項目に分類されるジャンルのジャンルID及び名称とを対応付けて記録された複数のレコードを有する。
図11(a)のステップS11が実行された後に、特定部104は、ステップS11で検索されたジャンル名のジャンルを含む小分類項目を検索した後に、検索された小分類項目を含む大分類項目を検索する(ステップS12)。具体的には、特定部104は、ステップS11で検索されたジャンルのジャンルIDと対応付けられた項目IDを、図12(c)の項目ジャンルテーブルから検索する。次に、特定部104は、図12(b)の項目関係テーブルから、検索された項目IDを小分類項目ID列に記録したレコードを検索し、レコードが見つかった場合には、見つかったレコードの大分類項目ID列に記録された大分類項目IDを取得する。
その後、出力部106は、図11のステップS12で検索されたジャンルIDで識別されるジャンルの名称を表す情報、小分類項目IDで識別される項目の名称を表す情報、及び大分類項目IDで識別される項目の名称を表す情報を端末装置201へ送信する(ステップS13)。
尚、端末装置201は、ジャンル名を表す情報、小分類項目の名称を表す情報、及び大分類項目の名称を表す情報を受信した後に、受信された情報で表されるジャンル名、小分類項目名、及び大分類項目名を、図10のジャンル選択画面FSのジャンル表示部PJへ表示する。次に、ユーザは、表示されたジャンル名の内で、ランキングの生成を求める複数のジャンルを選択する。その後、端末装置201は、ユーザによって選択されたジャンルを表す情報を複数入力し、入力された複数の情報をランキング生成装置100へ送信する。
ステップS13が実行された後に、受付部103は、選択されたジャンルを表す情報を端末装置201から複数受信する。その後、特定部104は、受信された複数の情報でそれぞれ表されるジャンルを、ユーザがランキングの生成を求めるジャンルであると特定し(ステップS14)、特定された複数のジャンルに対してランキングを生成するように統合生成部105に対して指定する(ステップS15)。その後、特定部104は、ジャンル特定処理の実行を終了する。
本実施例において、ユーザは、図10のジャンル選択画面を確認した後に、ユーザがランキングの生成を求めるジャンルを選択するとして説明した。しかし、これに限定される訳ではなく、クエリに該当するジャンルを含む複数の項目の内で、クエリに該当するジャンルを多く含む項目を選択し、選択された項目に含まれるジャンルを、ユーザがランキングの生成を求めるジャンルとする構成を採用できる。この構成において、特定部104は、図11(b)に示すようなジャンル特定処理を実行する。
図11(b)のジャンル特定処理を開始すると、特定部104は、図11(a)のステップS11からS13と同様の処理を実行する(ステップS21からステップS23)。次に、特定部104は、項目毎に検索されたジャンルの数を計数する(ステップS24)。
例えば、図10に示すように、クエリ「ラーメン」に基づいて検索されたジャンルが「インスタントラーメン」、「ラーメン」、「高級ラーメン」、「ラーメン鉢」、及び「ダイエットラーメン」である場合には、特定部104は、項目「麺類」に含まれるジャンルの数を、「インスタントラーメン」、「ラーメン」、及び「高級ラーメン」の3つと計数し、項目「中華食器」に含まれるジャンルの数を、「ラーメン鉢」の1つと計数し、項目「ダイエット」に含まれるジャンルの数を「ダイエットラーメン」の1つと計数する。
その後、特定部104は、計数されたジャンルの数に基づいて、ユーザがランキングの生成を求めるジャンルを他の項目よりも多く含む項目を特定する(ステップS25)。具体的には、特定部104は、クエリに該当するジャンルを最も多く含む項目「麺類」を特定する。その後、特定部104は、特定された項目に含まれるジャンルを、ユーザがランキングの生成を求めるジャンルとして特定する(ステップS26)。つまり、特定部104は、「インスタントラーメン」、「ラーメン」、「高級ラーメン」、「ラーメン鉢」、及び「ダイエットラーメン」の内で、「麺類」に属する「インスタントラーメン」、「ラーメン」、及び「高級ラーメン」のみを、ユーザがランキングの生成を求めるジャンルとして特定する。
その後、特定部104は、特定された複数のジャンルに対してランキングを生成するように統合生成部105に対して指定した後に(ステップS27)、ジャンル特定処理を終了する。
これらの構成によれば、クエリに該当するジャンルを最も多く含む項目を特定し、特定された項目に含まれるジャンルを、統合ランキング情報を生成する統合生成部に指定する。ここで、通常、ユーザは、同一又は類似の用途、種類、又は価格の商品についてジャンルを跨ったランキングの生成を求めるため、ユーザが統合ランキング情報の生成を求めるジャンルを精度良く特定できるだけでなく、ユーザが統合ランキング情報の生成を求めていないジャンルについて統合ランキング情報を生成することを防止できる。また、ユーザがジャンルを選択する必要がないため利便性が向上する。
尚、本実施例において、統合生成部105は、クエリに該当するジャンルを検索するとして説明したが、これに限定される訳ではない。例えば、端末装置201のユーザが、図10のジャンル選択画面のリストボックスLBを用いて商品を検索するように指示する命令を端末装置201に入力した後に、端末装置201は、入力された命令と、商品の検索に用いられる検索キーワードを文字列で表現したクエリとを送信する構成を採用できる。この構成において、統合生成部105は、送信された命令に従って、図4の商品購買テーブルから、送信されたクエリに該当する商品(つまり、検索キーワードを含む商品名の商品)を検索し、検索された商品の属するジャンルを検索する構成を採用できる。
図9に示すステップS05の処理が終了すると、統合生成部105は、特定部104によって指定された複数のジャンル(以下、複数の指定ジャンルという)に対して、図5のジャンルテーブルからソートキーをそれぞれ検索する(ステップS06)。次に、統合生成部105は、検索された複数のソートキーがそれぞれ同じであるか否かを判別する(ステップS07)。
ステップS07において、統合生成部105は、複数のソートキーのいずれか2つがそれぞれ相違すると判別すると(ステップS07;No)、統合ランキングの生成に用いられるユーザ指標値を指定ジャンル毎に算出する、図13に示すようなユーザ指標値算出処理を実行する(ステップS08)。
図13のユーザ指標値算出処理を開始すると、統合生成部105は、図9のステップS01で取得されたユーザIDに基づいて、図8(a)のユーザテーブルから、ユーザの嗜好を識別する嗜好IDを検索する(ステップS31)。次に、統合生成部105は、検索された嗜好IDに基づいて、図8(b)の嗜好テーブルから、ユーザの嗜好属性に予め対応付けられたソートキー(以下、ユーザソートキー又はユーザ指標という)を検索する(ステップS32)。次に、統合生成部105は、図9のステップS06で検索されたソートキーが、検索されたユーザソートキーと異なる指定ジャンルを特定する(ステップS33)。
その後、統合生成部105は、特定されたジャンル(以下、特定ジャンルという)の全てについてユーザソートキーを生成したか(つまり、ステップS35からS40の処理対象としたか)否かを判別する(ステップS34)。このとき、統合生成部105は、全ての特定ジャンルを処理した訳ではないと判別すると(ステップS34;No)、未処理の特定ジャンルの1つを注目ジャンルとする(ステップS35)。次に、注目ジャンルのジャンル別ランキング情報に含まれる商品を特定する(ステップS36)。その後、統合生成部105は、特定された商品(以下、特定商品という)の全てについてユーザ指標に対する指標値(以下、ユーザ指標値という)を算出したか(つまり、ステップS38及びS39の処理を実行したか)否かを判別する(ステップS37)。
ステップS37において、統合生成部105は、全ての特定商品について処理を実行した訳ではないと判別した場合には(ステップS37;No)、未処理の特定商品の1つを注目商品とする(ステップS38)。その後、統合生成部105は、注目商品のユーザ指標値を算出した後に(ステップS39)、ステップS37から上記処理を繰り返す。
ステップS37において、統合生成部105は、全ての特定商品について処理を実行したと判別した場合には(ステップS37;Yes)、ユーザソートキーに基づいて注目ジャンルのジャンル別ランキング情報を再生成した後に(ステップS40)、ステップS34に戻り上記処理を繰り返す。
ステップS34において、全ての特定ジャンルを処理したと判別すると(ステップS34;Yes)、ユーザ指標値算出処理の実行を終了する。
具体例として、図9のステップS01で取得されたユーザIDが「U003」であり、ジャンル「インスタントラーメン」、「高級ラーメン」、及び「ダイエットラーメン」が指定された場合を挙げて、ユーザ指標値算出処理を再度説明する。
統合生成部105は、図9のステップS06で、指定ジャンル「インスタントラーメン」に予め定められたソートキーと、指定ジャンル「ダイエットトラーメン」に予め定められたソートキーとが「売上個数」であり、指定ジャンル「高級ラーメン」に予め定められたソートキーが「流通額」であると特定し、ステップS07で、これらのキーがそれぞれ相違すると判別する。
統合生成部105は、図13のステップS31で、健康的な商品がユーザの嗜好に合致すると図8(a)のユーザテーブルから判別し、ステップS32で、ユーザ指標値が「流通額」であると図8(b)の嗜好テーブルから判別する。その後、統合生成部105は、ステップS33で、「流通額」と異なるキーに予め対応付けられたジャンル「インスタントラーメン」を特定し、ステップS36で、特定されたジャンルのジャンル別ランキング情報に含まれる商品が「ラーメンA」及び「ラーメンB」であることを、図6(a)のジャンル別ランキング情報から特定する。次に、統合生成部105は、ステップS39で、「ラーメンA」及び「ラーメンB」の「流通額」を、それぞれの「価格」に対してそれぞれの「売上個数」を乗算することで算出する。その後、統合生成部105は、ステップS40で、ユーザ指標値「流通額」に基づいて、図14(a)に示すような「インスタントラーメン」のジャンル別ランキング情報を生成する。同様に、統合生成部105は、ユーザ指標値「流通額」に基づいて、図14(c)に示すような「ダイエットラーメン」のジャンル別ランキング情報を生成する。
図9のステップS07において、ソートキーが同じであると判別された場合(ステップS07;Yes)には、当該ソートキーを統合ランキングの生成に用いられる指標(以下、統合用指標という)とする。また、ステップS08の後に、統合生成部105は、ユーザ指標を統合用指標とする。その後、統合生成部105は、統合用指標値の指定ジャンル間における比率を補正する、図15に示すような比率補正処理を実行する(ステップS09)。
図15の比率補正処理の実行を開始すると、統合生成部105は、指定ジャンルのそれぞれの統合用指標値を積算した積算値を格納する積算値係数の値を「0」として初期化する(ステップS51)。次に、統合生成部105は、指定ジャンルの全てについて統合用指標値の総和を算出したか(つまり、ステップS55の処理を実行したか)否かを判別する(ステップS52)。尚、ある指定ジャンルについての統合用指標値の総和とは、当該指定ジャンルのジャンル別ランキング情報で表されるランキングに含まれる商品(以下、ジャンル別ランクイン商品という)の統合用指標値を全て和算した値をいう。
ステップS52において、全ての指定ジャンルについて統合用指標値の総和を算出した訳ではないと判別されると(ステップS52;No)、統合生成部105は、未処理の指定ジャンルの1つを注目ジャンルとする(ステップS53)。次に、統合生成部105は、個別生成部102によって生成された注目ジャンルのジャンル別ランキング情報を商品記憶部101mから検索し、検索されたジャンル別ランキング情報に含まれる商品(つまり、ジャンル別ランクイン商品)を特定する(ステップS54)。次に、統合生成部105は、ステップS54で特定された商品(以下、特定商品という)の統合用指標値について、総和を算出する(ステップS55)。
例えば、注目ジャンルが「インスタントラーメン」であり、統合用指標が「流通額」である場合には、図14(a)に示すようなジャンル別ランキング(図13のステップS40で再生成されたランキング)に含まれる商品「ラーメンA」の統合用指標値「\25,000」と「ラーメンB」の統合用指標値「\31,500」とを和算した「\56,500」が、図16に示すような統合用指標値の総和として算出される。同様に、注目ジャンルが「高級ラーメン」である場合には、図14(b)に示すような「高級ラーメン」のジャンル別ランキングに含まれる「高級ラーメンA」の「流通額」と「高級ラーメンB」の「流通額」とを和算した値「\1,275,000」が、「高級ラーメン」における統合用指標値の総和として算出される。さらに同様に、注目ジャンルが「ダイエットラーメン」である場合には、図14(c)に示すような「ダイエットラーメン」のジャンル別ランキングに含まれる「ダイエットラーメンA」の「流通額」と「ダイエットラーメンB」の「流通額」とを和算した値「\58,500」が、「高級ラーメン」における統合用指標値の総和として算出される。
ステップS55の後に、統合生成部105は、積算値変数に対して、ステップS55で算出された総和を加算した後に(ステップS56)、ステップS52に戻り上記処理を繰り返す。
ステップS52において、全ての指定ジャンルについて統合用指標値の総和を算出したと判別されると(ステップS52;Yes)、統合生成部105は、全ての指定ジャンルについて、統合用指標値を補正したか(つまり、ステップS58からS62処理を実行したか)否かを判別する(ステップS57)。
ステップS57において、全ての指定ジャンルについて処理を実行した訳ではないと判別すると(ステップS57;No)、統合生成部105は、未処理の指定ジャンルの1つを注目ジャンルとする(ステップS58)。次に、統合生成部105は、注目ジャンルにおける統合用指標値の総和と、積算値変数の値とを用いて以下の式(1)から補正係数を算出する(ステップS59)。
例えば、指定ジャンルが「インスタントラーメン」、「高級ラーメン」、及び「ダイエットラーメン」であり、統合用指標が「流通額」である場合には、総和の積算値が「\1,390,000」であるので、「インスタントラーメン」、「高級ラーメン」、及び「ダイエットラーメン」の補正計数は、図16に示すような値「8.2」、「0.4」、及び「7.9」とそれぞれ算出される。
ステップS59の後に、統合生成部105は、注目ジャンルのジャンル別ランキングに含まれる商品(つまり、ステップS54で特定された特定商品)の全てについて、統合用指標値を補正したか(つまり、ステップS62の処理を実行したか)否かを判別する(ステップS60)。このとき、全ての特定商品について統合用指標値を補正した訳ではないと判別される場合には(ステップS60;No)、統合生成部105は、未処理の特定商品の1つを注目商品とする(ステップS61)。その後、統合生成部105は、ステップS59で算出された補正係数を下記の式(2)に用いて注目商品の統合用指標値を補正した後に(ステップS62)、ステップS60に戻り上記処理を繰り返す。
補正後統合用指標値 = 補正前ランキング用指標値 × 注目ジャンルの補正係数・・・(2)
例えば、指定ジャンルが「インスタントラーメン」、「高級ラーメン」、及び「ダイエットラーメン」である場合には、図16に示すようなこれらの補正係数「8.2」、「0.4」、及び「7.9」を、図14(a)から(c)に示す統合用指標値に乗算することで、図17(a)から(c)に示すような統合用指標値に補正する。
ここで、「高級ラーメン」のジャンルに属する商品は、「インスタントラーメン」及び「ダイエットラーメン」等の他のジャンルに属する商品と比べて「価格」が高いため、統合用指標値である「流通額」も高くなる傾向にある。このため、「高級ラーメン」のジャンルに属する商品と、「インスタントラーメン」及び「ダイエットラーメン」等の他のジャンルに属する商品とを、統合用指標値の補正をせずに併せてランキングするのでは、「高級ラーメン」に属する商品が統合ランキングの上位にランクインし、「インスタントラーメン」及び「ダイエットラーメン」に属する商品が下位にランクインしてしまい、統合ランキングに均一又は一定の比率でそれぞれのジャンルに属する商品がランクインしない。
このため、本実施例では、統合生成部105は、ステップS62の補正により、指定ジャンル「高級ラーメン」のジャンル別ランクイン商品の統合用指標値に対する指定ジャンル「インスタントラーメン」のジャンル別ランクイン商品の統合用指標値の比率、指定ジャンル「高級ラーメン」のジャンル別ランクイン商品の統合用指標値に対する指定ジャンル「ダイエットラーメン」のジャンル別ランクイン商品の統合用指標値の比率、及び指定ジャンル「インスタントラーメン」のジャンル別ランクイン商品の統合用指標値に対する指定ジャンル「ダイエットラーメン」のジャンル別ランクイン商品の統合用指標値の比率を、それぞれどの商品同士を比べても約「1:1」から「1:1.4」の範囲に属する値(つまり、略一定の値)とする。また、統合生成部105は、ステップS62の補正により、「インスタントラーメン」、「高級ラーメン」、及び「ダイエットラーメン」それぞれについて、ジャンル別ランキングに含まれる商品(以下、ジャンル別ランクイン商品という)の統合用指標値に対する総和を「\463,333」とする。つまり、総和の積算値「\1,390,000」に対する指定ジャンルそれぞれの総和「\463,333」が占める比率を約「0.33」として、それぞれ略等しい値にする。
尚、統合用指標値の補正方法は、ジャンル別ランクイン商品の統合用指標値に対する総和がジャンル毎に略同一となるように補正することに限定される訳ではなく、ジャンル別ランクイン商品に対する統合用指標値の平均値がジャンル毎に略同一となるように補正する方法であっても良い。さらに、統合用指標値の補正方法は、ジャンル別ランクイン商品の最大値及び最小値の双方がジャンル毎に略同一となるように補正する方法であっても良い。
さらに、統合用指標値の補正方法は、図4の商品購買テーブルに保存された商品の内で、所定期間において販売された商品に対する統合用指標値の平均値がジャンル毎に略同一となるように補正する方法であっても良い。さらに、統合用指標値の補正方法は、所定期間において販売された商品の最大値及び最小値の双方がジャンル毎に略同一となるように補正する方法であっても良い。
またさらに、統合用指標値の補正方法は、ある指定ジャンルにおけるジャンル別ランクイン商品の統合用指標値に対する総和に対する、他の指定ジャンルにおけるジャンル別ランクイン商品の統合用指標値に対する総和の比率が、所定の比率となるように補正する方法であっても良い。つまり、統合用指標値の補正方法は、ある指定ジャンルにおけるジャンル別ランクイン商品の統合用指標値と、他の指定ジャンルにおけるジャンル別ランクイン商品の統合用指標値との差が縮小するように補正する方法であれば良い。
ステップS60において、全ての特定商品について統合用指標値を補正したと判別される場合には(ステップS60;Yes)、統合生成部105は、ステップS57から上記処理を繰り返す。
ステップS57において、全ての指定ジャンルについて処理を実行したと判別すると(ステップS57;Yes)、統合生成部105は、比率補正処理の実行を終了する。
図9のステップS09を実行した後に、統合生成部105は、端末装置201を操作するユーザの嗜好に基づいて統合用指標値に対して重み付けする、図18に示すような重付補正処理を実行する。
図18の重付補正処理を開始すると、統合生成部105は、全ての指定ジャンルについて、ユーザの嗜好に基づいて補正を検討したか(つまり、ステップS74の処理を実行したか)否かを判別する(ステップS71)。
ステップS71において、全ての指定ジャンルについて処理を実行した訳ではないと判別すると(ステップS71;No)、統合生成部105は、未処理の指定ジャンルの1つを注目ジャンルとする(ステップS72)。次に、統合生成部105は、注目ジャンルに属する商品に合致する嗜好を検索する(ステップS73)。具体的には、統合生成部105は、注目ジャンルのジャンルIDに対応付けられた嗜好IDを、図5のジャンルテーブルから検索する。
その後、統合生成部105は、ステップS72で検索された嗜好が、図13のステップS31で検索されたユーザの嗜好に合致するか否かを判別する(ステップS74)。このとき、注目ジャンルに合致する嗜好と、ユーザの嗜好とが一致すると判別されると(ステップS74;Yes)、注目ジャンルの補正計数に対して重み付け計数を乗算する(ステップS75)。次に、統合生成部105は、注目ジャンルのジャンル別ランキングに含まれる商品(つまり、ジャンル別ランクイン商品)を特定する(ステップS76)。その後、統合生成部105は、特定された商品(特定商品)の全てについて、統合用指標値を再補正したか(つまり、ステップS79の処理を実行したか)否かを判別する(ステップS77)。
ステップS77において、全ての特定商品について統合用指標値を再補正した訳ではないと判別される場合には(ステップS77;No)、統合生成部105は、未処理の特定商品の1つを注目商品とする(ステップS78)。その後、統合生成部105は、ステップS75で重み付けされた補正係数を用いて注目商品の統合用指標値を再補正した後に(ステップS79)、ステップS77に戻り上記処理を繰り返す。具体的には、統合生成部105は、図15のステップS62で補正される前の統合用指標値に対して、ステップS75で重み付けられた補正計数を乗算する。しかし、これに限定される訳ではなく、図15のステップS62で補正された後の統合用指標値に対して、ステップS75で用いられる重み付け係数を乗算しても良い。
例えば、ユーザのユーザIDが「U003」である場合には、図13のステップS31で、ユーザの嗜好は、健康食品などで満足させられると、図8(a)のユーザテーブルに基づいて特定されている。このため、統合生成部105は、図18のステップS74で、指定ジャンル「インスタントラーメン」及び「高級ラーメン」のいずれもユーザの嗜好に合致しないが、指定ジャンル「ダイエットラーメン」のみがユーザの嗜好に合致すると、図5のジャンルテーブルから判別する。このため、統合生成部105は、図16の補正係数の内で、指定ジャンル「ダイエットラーメン」の補正係数のみ値「1.2」を乗算することで重み付けする。その後、統合生成部105は、図14(c)に示す「ダイエットラーメン」のジャンル別ランキングに含まれる商品の統合用指標値に対して、重み付けされた補正係数を乗算することで、図17(d)に示すようなジャンル別ランキングに補正する。
ステップS77において、全ての特定商品について統合用指標値を再補正したと判別される場合には(ステップS77;Yes)、統合生成部105は、ステップS71から上記処理を繰り返す。
ステップS74において、注目ジャンルに合致する嗜好と、ユーザの嗜好とが相違すると判別されると(ステップS74;No)統合生成部105は、ステップS71から上記処理を繰り返す。
ステップS71において、全ての指定ジャンルについて処理を実行したと判別すると(ステップS71;Yes)、統合生成部105は、重付補正処理の実行を終了する。
図9のステップS10を実行した後に、統合生成部105は、統合ランキングを表す情報(以下、統合ランキング情報という)を、補正後の統合用指標値に基づいて生成する(ステップS11)。具体的には、統合生成部105は、統合用指標に基づいて、複数の指定ジャンルのジャンル別ランクイン商品を併せてランキングする。つまり、統合生成部105は、図17(a)、図17(b)、及び図17(d)のジャンル別ランキングにランクインした商品を、図17(a)及び(b)の補正された統合用指標値、並びに図17(d)の重み付けされた統合用指標値に従ってソートすることで、図19に示すような統合ランキングを生成する。
図19の統合ランキングには、「インスタントラーメン」、「高級ラーメン」、及び「ダイエットラーメン」の指定ジャンルに属する商品が、それぞれ略均一(所定の比率)で上位の3位(所定の順位)までにランクインしている。また、端末装置201のユーザの嗜好に合致する「高級ラーメン」のジャンルに属する商品が、1位(つまり、他のジャンルに属する商品よりも上位)にランクインしている。
図9のステップS11の後に、図3の出力部105は、生成された統合ランキング情報を、端末装置201へ送信した後に(ステップS12)、統合ランキング生成処理の実行を終了する。
これらの構成によれば、例えば、「インスタントラーメン」などの第1ジャンルに属する商品の指標値に対する「高級ラーメン」などの第2ジャンルに属する商品の指標値の比率が略一定になるように補正した後に、補正された指標値に基づいて第1ジャンルに属する商品と第2ジャンルに属する商品とを併せてランキングする。このため、第1ジャンルに属する商品と、第2ジャンルに属する商品とが所定の比率でランクインした統合ランキングを表す統合ランキング情報を生成できる。また、統合ランキングにランクインした商品と、当該商品の補正された指標値とを対応付けたランキングを生成すれば、第1ジャンルに属する商品の指標値と、第2ジャンルに属する商品の指標値とが所定の比率でランクインしランキングを生成できる。
また、これらの構成によれば、積算値に対する総和の比率がそれぞれ略等しくなるように指定ジャンルの指標値に乗算される補正係数を定めるため、第1ジャンルに属する商品の平均的な指標値の大きさと第2ジャンルに属する商品の平均的な指標値の大きさとが異なる場合であっても、第1ジャンルに属する商品と、第2ジャンルに属する商品とが所定の比率でランクインした統合ランキング情報を生成できる。
これらの構成によれば、ユーザの属性に対応付けられたユーザ指標に基づいて統合ランキング情報を生成するため、統合ランキング情報に含まれる商品の順位をユーザ毎に異ならせることができる。またこれらの構成によれば、ユーザの嗜好から取得されたジャンルの重みをユーザ指標値に乗じるため、ユーザの嗜好に基づいて上位にランクインする商品を変更できる。
本発明に係る機能を実現するための構成を備えたランキング生成装置として提供できることはもとより、複数の装置で構成されるランキング生成システムであって、本発明に係る機能を実現するための構成をシステム全体として備えた情報処理システムとして提供することもできる。
なお、本発明に係る機能を実現するための構成を予め備えたランキング生成装置として提供できることはもとより、プログラムの適用により、既存のランキング生成装置を本発明に係るランキング生成装置として機能させることもできる。すなわち、上記実施例で例示したランキング生成装置100による各機能構成を実現させるためのランキング生成プログラムを、既存のランキング生成装置を制御するコンピュータ(CPUなど)が実行できるように適用することで、本発明に係るランキング生成装置100として機能させることができる。
このようなプログラムの配布方法は任意であり、例えば、メモリカード、CD−ROM、又はDVD−ROMなどの記録媒体に格納して配布できる他、インターネットなどの通信媒体を介して配布することもできる。また、本発明に係るランキング生成方法は、本発明に係るランキング生成装置100を用いて実施できる。
以上本発明の好ましい実施例について詳述したが、本発明は係る特定の実施例に限定されるものではなく、特許請求の範囲に記載された本発明の要旨の範囲内において、種々の変形、変更が可能である。
10:通信網
100:ランキング生成装置
100a:CPU
100b:ROM
100c:RAM
100d:ハードディスク
100e:メディアコントローラ
100f:LANカード
100g:ビデオカード
100h:LCD
100i:キーボード
100j:スピーカ
100k:マウス
101m:商品記憶部
101u:ユーザ記憶部
102:個別生成部
103:受付部
104:特定部
105:統合生成部
106:出力部
201,202:端末装置
100:ランキング生成装置
100a:CPU
100b:ROM
100c:RAM
100d:ハードディスク
100e:メディアコントローラ
100f:LANカード
100g:ビデオカード
100h:LCD
100i:キーボード
100j:スピーカ
100k:マウス
101m:商品記憶部
101u:ユーザ記憶部
102:個別生成部
103:受付部
104:特定部
105:統合生成部
106:出力部
201,202:端末装置
Claims (8)
- 複数の商品のそれぞれが属するジャンルが記憶される商品記憶部、
前記記憶されたジャンル毎に、当該ジャンルに属する商品の所定の指標に対する指標値を求め、当該指標値に基づいて当該ジャンルに属する商品のジャンル別ランキング情報を生成する個別生成部、
第1ジャンル及び第2ジャンルを含む複数のジャンルが指定されると、当該複数のジャンルのそれぞれについて、前記生成されたジャンル別ランキング情報に含まれる商品の指標値を、前記第1ジャンルに属する商品の指標値に対する前記第2ジャンルに属する商品の指標値の比率が略一定になるように補正し、当該補正された指標値に基づいて、当該複数のジャンルに属する商品の統合ランキング情報を生成する統合生成部、を備える、
ことを特徴とするランキング生成装置。 - 請求項1に記載のランキング生成装置であって、
前記統合生成部は、各ジャンル別ランキング情報に含まれる商品の指標値の総和を求め、当該求められた総和の積算値を算出し、当該積算値に対する前記総和の比率がそれぞれ略等しくなるように当該ジャンルに対する係数を定め、各ジャンル別ランキング情報に含まれる各商品の指標値に当該ジャンルに対する係数を乗じることにより、当該商品の指標値を補正する、
ことを特徴とするランキング生成装置。 - 請求項1又は2に記載のランキング生成装置であって、
前記ジャンルの各々は項目ごとに分類されており、
ユーザからのクエリを受け付ける受付部、
前記受け付けられたクエリに該当するジャンルおよび当該ジャンルを含む項目を選択し、前記選択した項目の中から前記クエリに該当するジャンルを最も多く含む項目を特定し、前記特定された項目に含まれるジャンルを前記統合生成部に指定する特定部、をさらに備える、
ことを特徴とするランキング生成装置。 - 請求項3に記載のランキング生成装置であって、
ユーザの属性があらかじめ記憶されるユーザ記憶部、をさらに備え、
前記所定の指標は、前記記憶されたジャンルごとにあらかじめ定められ、
前記統合生成部は、前記第1ジャンルと前記第2ジャンルとを含む複数のジャンルにあらかじめ定められる所定の指標がそれぞれ異なる場合、
(1)前記クエリを発したユーザについて前記ユーザ記憶部に記憶される属性にあらかじめ対応付けられるユーザ指標を取得し、
(2)当該複数のジャンルのうち、当該取得されたユーザ指標と異なる所定の指標があらかじめ定められているジャンルについて、当該ジャンルに属する商品の当該取得されたユーザ指標に対する指標値を求め、当該指標値に基づいて当該ジャンルに属する商品のジャンル別ランキング情報を生成し、
(3)当該複数のジャンルのそれぞれについて前記生成されたジャンル別ランキング情報に含まれる商品の前記取得されたユーザ指標に対する指標値を、前記第1ジャンルに属する商品の前記ユーザ指標に対する指標値と、前記第2ジャンルに属する商品の前記ユーザ指標に対する指標値との比率が略一定になるように補正し、当該補正されたユーザ指標値に基づいて、当該複数のジャンルに属する商品の統合ランキング情報を生成する、
ことを特徴とするランキング生成装置。 - 請求項4に記載のランキング生成装置であって、
前記ユーザ記憶部には、ユーザによる商品の購入履歴が、さらに記憶され、
前記統合生成部は、前記クエリを発したユーザについて、前記記憶された商品の購入履歴からユーザの嗜好を求め、当該ユーザの嗜好から前記複数のジャンルの重みを取得し、当該商品が属するジャンルについて取得された重みを前記指標値にさらに乗じることにより、当該指標値を補正する、
ことを特徴とするランキング生成装置。 - コンピュータを、
複数の商品のそれぞれが属するジャンルが記憶される商品記憶部、
前記記憶されたジャンル毎に、当該ジャンルに属する商品の所定の指標に対する指標値を求め、当該指標値に基づいて当該ジャンルに属する商品のジャンル別ランキング情報を生成する個別生成部、
第1ジャンル及び第2ジャンルを含む複数のジャンルが指定されると、当該複数のジャンルのそれぞれについて、前記生成されたジャンル別ランキング情報に含まれる商品の指標値を、前記第1ジャンルに属する商品の指標値に対する前記第2ジャンルに属する商品の指標値の比率が略一定になるように補正し、当該補正された指標値に基づいて、当該複数のジャンルに属する商品の統合ランキング情報を生成する統合生成部、として機能させる、
ことを特徴とするランキング生成プログラム。 - コンピュータを、
複数の商品のそれぞれが属するジャンルが記憶される商品記憶部、
前記記憶されたジャンル毎に、当該ジャンルに属する商品の所定の指標に対する指標値を求め、当該指標値に基づいて当該ジャンルに属する商品のジャンル別ランキング情報を生成する個別生成部、
第1ジャンル及び第2ジャンルを含む複数のジャンルが指定されると、当該複数のジャンルのそれぞれについて、前記生成されたジャンル別ランキング情報に含まれる商品の指標値を、前記第1ジャンルに属する商品の指標値に対する前記第2ジャンルに属する商品の指標値の比率が略一定になるように補正し、当該補正された指標値に基づいて、当該複数のジャンルに属する商品の統合ランキング情報を生成する統合生成部、として機能させる、
ことを特徴とするランキング生成プログラムを記録したコンピュータ読み取り可能な記録媒体。 - 個別生成部と統合生成部とを備えるランキング生成装置が実行する方法であって、
前記個別生成部が、複数の商品のそれぞれが属するジャンル毎に、当該ジャンルに属する商品の所定の指標に対する指標値を求め、当該指標値に基づいて当該ジャンルに属する商品のジャンル別ランキング情報を生成する個別生成ステップ、
第1ジャンル及び第2ジャンルを含む複数のジャンルが指定されると、前記統合生成部が、当該複数のジャンルのそれぞれについて、前記生成されたジャンル別ランキング情報に含まれる商品の指標値を、前記第1ジャンルに属する商品の指標値に対する前記第2ジャンルに属する商品の指標値の比率が略一定になるように補正し、当該補正された指標値に基づいて、当該複数のジャンルに属する商品の統合ランキング情報を生成する統合生成ステップ、を有する、
ことを特徴とするランキング生成方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2010266915A JP2012118696A (ja) | 2010-11-30 | 2010-11-30 | ランキング生成装置、ランキング生成プログラム、ランキング生成プログラムを記録したコンピュータ読み取り可能な記録媒体、及びランキング生成方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2010266915A JP2012118696A (ja) | 2010-11-30 | 2010-11-30 | ランキング生成装置、ランキング生成プログラム、ランキング生成プログラムを記録したコンピュータ読み取り可能な記録媒体、及びランキング生成方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2012118696A true JP2012118696A (ja) | 2012-06-21 |
Family
ID=46501460
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2010266915A Pending JP2012118696A (ja) | 2010-11-30 | 2010-11-30 | ランキング生成装置、ランキング生成プログラム、ランキング生成プログラムを記録したコンピュータ読み取り可能な記録媒体、及びランキング生成方法 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2012118696A (ja) |
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2015146136A (ja) * | 2014-02-03 | 2015-08-13 | Necパーソナルコンピュータ株式会社 | 情報処理装置およびプログラム |
JP2015179461A (ja) * | 2014-03-19 | 2015-10-08 | ヤフー株式会社 | 情報提供装置、情報提供方法および情報提供プログラム |
JP2018041308A (ja) * | 2016-09-08 | 2018-03-15 | ヤフー株式会社 | 決定装置、決定方法、及び決定プログラム |
WO2019182068A1 (ja) * | 2018-03-22 | 2019-09-26 | 日本電気株式会社 | 情報処理装置、情報処理方法及び記録媒体 |
CN113744015A (zh) * | 2020-10-20 | 2021-12-03 | 北京沃东天骏信息技术有限公司 | 一种排序方法、装置、设备及计算机存储介质 |
JP7212183B1 (ja) | 2022-01-20 | 2023-01-24 | ヤフー株式会社 | 提案装置、提案方法および提案プログラム |
-
2010
- 2010-11-30 JP JP2010266915A patent/JP2012118696A/ja active Pending
Cited By (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2015146136A (ja) * | 2014-02-03 | 2015-08-13 | Necパーソナルコンピュータ株式会社 | 情報処理装置およびプログラム |
JP2015179461A (ja) * | 2014-03-19 | 2015-10-08 | ヤフー株式会社 | 情報提供装置、情報提供方法および情報提供プログラム |
JP2018041308A (ja) * | 2016-09-08 | 2018-03-15 | ヤフー株式会社 | 決定装置、決定方法、及び決定プログラム |
WO2019182068A1 (ja) * | 2018-03-22 | 2019-09-26 | 日本電気株式会社 | 情報処理装置、情報処理方法及び記録媒体 |
JP2019168817A (ja) * | 2018-03-22 | 2019-10-03 | 日本電気株式会社 | 情報処理装置、情報処理方法及びプログラム |
JP7054444B2 (ja) | 2018-03-22 | 2022-04-14 | 日本電気株式会社 | 情報処理装置、情報処理方法及びプログラム |
CN113744015A (zh) * | 2020-10-20 | 2021-12-03 | 北京沃东天骏信息技术有限公司 | 一种排序方法、装置、设备及计算机存储介质 |
JP7212183B1 (ja) | 2022-01-20 | 2023-01-24 | ヤフー株式会社 | 提案装置、提案方法および提案プログラム |
JP2023106230A (ja) * | 2022-01-20 | 2023-08-01 | ヤフー株式会社 | 提案装置、提案方法および提案プログラム |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10021200B2 (en) | Methods and systems for activity-based recommendations | |
US10304116B2 (en) | System and method for targeting content based on filter activity | |
Amatriain | Big & personal: data and models behind netflix recommendations | |
US8601003B2 (en) | System and method for playlist generation based on similarity data | |
US8266131B2 (en) | Method and a system for searching information using information device | |
JP5681651B2 (ja) | リコメンデーションを作成する方法及びシステム | |
JP2012118696A (ja) | ランキング生成装置、ランキング生成プログラム、ランキング生成プログラムを記録したコンピュータ読み取り可能な記録媒体、及びランキング生成方法 | |
US9141671B2 (en) | System and method for presenting filter options to a user based on ongoing monitoring of filter selections | |
US10896458B2 (en) | Method, system, and computer-readable medium for product and vendor selection | |
JP5568077B2 (ja) | 情報処理装置、情報処理方法、情報処理プログラム、及び情報処理プログラムが記録された記録媒体 | |
CN103279513A (zh) | 产生内容标签的方法、提供多媒体内容信息的方法及装置 | |
JP2011175362A (ja) | 情報処理装置、重要度算出方法及びプログラム | |
EP2161668A1 (en) | System and method for playlist generation based on similarity data | |
JP2018156429A (ja) | 情報処理装置、情報処理方法、およびプログラム | |
US11475081B2 (en) | Combining catalog search results from multiple package repositories | |
JP5404662B2 (ja) | 商品推薦装置及び方法及びプログラム | |
JP2016509703A (ja) | ラベル付けされた主に非テキストのアイテムを検索するためのシステム及び方法 | |
US8204883B1 (en) | Systems and methods of determining genre information | |
JP7003088B2 (ja) | レコメンド装置、レコメンド方法、及びレコメンドプログラム | |
JP5699672B2 (ja) | 表示制御装置、表示制御方法、検索装置、検索方法、プログラム、及び通信システム | |
JP4266511B2 (ja) | 情報提供サーバ及び情報提供方法 | |
JP2018151995A (ja) | 情報提供装置、情報提供方法、および情報提供プログラム | |
JP7231468B2 (ja) | 情報処理システム、および情報処理方法 | |
JP2012174029A (ja) | 情報処理装置、情報処理方法、及びプログラム | |
JP5735191B1 (ja) | 検索装置、検索方法、記録媒体、ならびに、プログラム |