以下、発明の実施の形態を通じて本発明を説明するが、以下の実施形態は特許請求の範囲にかかる発明を限定するものではない。また、実施形態の中で説明されている特徴の組み合わせの全てが発明の解決手段に必須であるとは限らない。
図1は、本実施形態に係るシステム10を示す。システム10は、複数のアイテムからユーザの選択指示にマッチするマッチアイテムを選択し、ユーザとアイテムの属性を比較した結果に基づいて選択されたマッチアイテムを優先付けて出力する。また、システム10は、マッチアイテムと他のアイテムの属性を比較した結果に基づいて、マッチアイテムと関連する他のアイテム(関連アイテムとも言う)を選択し、選択された関連アイテムを合わせて出力する。システム10は、ユーザ端末20と、検索サーバ30と、店舗端末40と、履歴管理サーバ46と、個人属性データベース52と、アイテム属性データベース54と、装置100とを備える。
ユーザ端末20は、1つ又は複数がネットワーク22を介して装置100に接続され、ユーザからアイテムを選択する選択指示をボタン、キーボード、タッチパネルおよび/または音声入力等により入力し、当該選択指示を装置100に送信する。ここで、アイテムとは、ユーザがユーザ端末20を介して選択可能な情報であってよく、例えば、商品、サービス、人物、作品、および/またはウェブサイト上の項目等であってよい。また、アイテムを選択する選択指示は、2以上の選択アイテムの何れかに対する選択指示でもよいし、検索により対応文字列のアイテムを選択させるための検索キーの入力でもよい。ユーザ端末20は、装置100から選択指示に応じた処理結果を受け取り、表示画面に表示する。ユーザ端末20は、パーソナルコンピュータ、ノート型コンピュータ、携帯電話、スマートフォン、又は、データ入出力可能なその他の端末装置等であってよい。
ネットワーク22は、インターネット、広域ネットワーク(WAN)、ローカルエリアネットワーク等の各種ネットワークまたはその組み合わせを含んで構成される。ネットワーク22は、有線ネットワークまたは無線ネットワークの少なくとも一方による接続を各接続ポイントに含んでよい。例えば、ネットワーク22は、インターネットにより実現されてよい。
検索サーバ30は、ネットワーク22を介して装置100に接続され、装置100から検索キーを受け取り、検索キーにヒットする一又は複数のアイテムを検索用データベース32から抽出し、抽出された結果を装置100に送信する。検索サーバ30は、一般に利用可能な検索エンジン等により実現されてよい。
店舗端末40は、1つ又は複数がネットワーク42を介して装置100に接続され、各種の店舗に設けられたPOS端末または同等の機能を有するコンピュータ等である。店舗端末40は、対象者が商品またはサービス(以下「商品等」と総称する場合がある)を購入する場合に、対象者の購買データを履歴管理サーバ46へと送信する。
ネットワーク42は、インターネット、広域ネットワーク(WAN)、ローカルエリアネットワーク等の各種ネットワークまたはその組み合わせを含んで構成される。ネットワーク42は、有線ネットワークまたは無線ネットワークの少なくとも一方による接続を各接続ポイントに含んでよい。例えば、ネットワーク42は、ネットワーク22と分離された専用回線により実現されてよい。また、ネットワーク22およびネットワーク42は同一のネットワーク(例えば、インターネット)であってもよい。
履歴管理サーバ46は、例えばサーバ・コンピュータ等のコンピュータであり、ネットワーク42を介して店舗端末40および装置100に接続され、各店舗に設けられた1または複数の店舗端末40を管理する。履歴管理サーバ46は、複数のコンピュータによる分散システムであってもよい。履歴管理サーバ46は、店舗端末40から受け取った購買データに基づく購買処理(販売処理)を行うと共に、ユーザの購買データを購買履歴データベース44に記録する。また、履歴管理サーバ46は、装置100からのリクエストに応じてユーザの購買データを装置100に提供する。
装置100は、例えばサーバ・コンピュータ等のコンピュータであり、ユーザ端末20から選択指示を受け取り、アイテムおよびユーザの属性を比較した比較結果に基づいて選択指示に応じたアイテムを出力する。装置100は、相互にバス接続された選択指示取得部110、個人属性取得部120、アイテム属性取得部130、第1出力処理部150、および、第2出力処理部160を有する。装置100は、これらの各構成または機能、もしくは各構成または機能の一部ずつを複数のコンピュータにより分散して処理する分散システムであってもよい。
選択指示取得部110は、ユーザ端末20から、複数のアイテムの中から一部のアイテムを選択するためのユーザによる選択指示を取得する。例えば、選択指示取得部110は、選択指示として、複数のアイテムの中から一部のアイテムを検索するべくユーザが指定した検索キー(例えば、検索キーワード)を取得する。また、例えば、選択指示取得部110は、選択指示として、ユーザに提示された画面に含まれる2以上の選択アイテムの中からユーザが選択した選択アイテムを示す入力(例えば、ハイパーリンクが付されたテキストのクリック等)を取得する。選択指示取得部110は、選択指示を入力したユーザを特定するために、ユーザを識別する個人識別情報(例えば、ログインID等)を別途取得してよい。
個人属性取得部120は、複数の属性について個人が有する複数の属性値を含む個人属性データを取得する。例えば、個人属性取得部120は、選択指示取得部110から検索キー等の選択指示を入力したユーザの個人識別情報を取得し、当該個人識別情報を含む個人属性データを、複数の個人に対応付けて個人属性データを格納した個人属性データベース52から探索して取得する。これにより、個人属性取得部120は、選択指示を入力したユーザの個人属性データを取得する。また、個人属性取得部120は、購買履歴データベース44に格納された複数のユーザの購買履歴等から、複数のユーザの個人属性データを生成して個人属性データベース52に格納してよい。個人属性データの詳細については後述する。
アイテム属性取得部130は、複数のアイテムのそれぞれに対応して、複数の属性について各アイテムが有する複数の属性データをそれぞれ示す複数のアイテム属性データを取得する。例えば、アイテム属性取得部130は、複数のアイテムのアイテム属性データを格納したアイテム属性データベース54から、選択指示取得部110が取得した検索キー等の選択指示にマッチするマッチアイテムのアイテム属性データを取得する。また、アイテム属性取得部130は、各アイテムを嗜好する複数の個人についての複数の個人属性データに基づいて、各アイテムのアイテム属性データを生成してアイテム属性データベース54に格納してよい。アイテム属性データの詳細については後述する。
第1出力処理部150は、各マッチアイテムの情報を、個人属性データおよびアイテム属性データを比較した比較結果に基づいて優先付けして出力する。ここで、「選択指示にマッチする各マッチアイテム」は、選択指示で直接選択されたアイテムであってもよい。また、「選択指示にマッチする各マッチアイテム」は、選択指示にマッチして選択されたマッチアイテムから派生する別のマッチアイテムであってもよい。例えば、第1出力処理部150は、選択指示にマッチして選択されたマッチアイテムに応じてユーザに提示されるべき次の画面に含める各マッチアイテムを、比較結果に基づいて優先付けして出力してもよい。第1出力処理部150は、アイテム適合度算出部152、個人‐アイテム属性適合度算出部154および情報出力部156を含む。
アイテム適合度算出部152は、選択指示と当該選択指示に応じたマッチアイテムとの適合度を表すアイテム適合度を算出する。例えば、アイテム適合度算出部152は、検索キーの少なくとも一部に適合するマッチアイテムの検索を検索サーバ30にリクエストし、検索サーバ30から1又は複数のマッチアイテムを含む検索結果を受け取り、受け取った各マッチアイテムの検索キーに対する適合度を算出する。
個人‐アイテム属性適合度算出部154は、個人属性データおよびアイテムのアイテム属性データを比較した比較結果に基づいて属性適合度を算出する。例えば、個人‐アイテム属性適合度算出部154は、検索キーを入力したユーザの個人属性データと、アイテム適合度算出部152が検索サーバ30から受け取った検索結果に含まれる各マッチアイテムのアイテム属性データとを比較した属性適合度を算出する。
情報出力部156は、選択指示(例えば、検索キー)にマッチする情報を出力する。例えば、情報出力部156は、複数のマッチアイテムの中からアイテム適合度および属性適合度に基づいて、一部のマッチアイテムを選択し優先付けして出力する。例えば、情報出力部156は、複数のマッチアイテムをアイテム適合度および属性適合度に基づいて順位づけし、アイテム適合度および属性適合度が総合的に最も高いマッチアイテムから先に表示されるように、選択指示を入力したユーザ端末20に出力結果を供給する。
第2出力処理部160は、複数のアイテムの中からマッチアイテムに関連する各関連アイテムの情報を出力する。例えば、第2出力処理部160は、関連アイテムを広告として出力する。第2出力処理部160は、選択部161およびアイテム出力部168を含む。
選択部161は、マッチアイテムのアイテム属性データと、他の複数のアイテムのアイテム属性データとを比較した結果に基づいて、複数のアイテムの中から少なくとも1つのアイテムを、関連アイテムとして選択する。選択部161は、属性適合度算出部164およびアイテム選択部166を含む。
属性適合度算出部164は、マッチアイテムに対応付けられた属性データと、複数のアイテムのうちマッチアイテム以外の他の各アイテムに対応付けられたアイテム属性データとを比較した結果に基づいて、他のアイテムについての属性適合度を算出する。例えば、属性適合度算出部164は、検索キーに対する適合度が高い少なくとも1つのマッチアイテムの属性データと、これ以外の複数の他のアイテムの属性データとをそれぞれ比較する。そして、属性適合度算出部164は、他の各アイテムについて、マッチアイテムに対する属性適合度を算出する。
アイテム選択部166は、属性適合度に基づいて複数のアイテムの中から、関連アイテムを選択する。例えば、アイテム選択部166は、マッチアイテムの属性データと、1または複数の他のアイテムの属性データとを比較した結果に基づいて、複数のアイテムの中から少なくとも1つの他のアイテムを、関連アイテムとして選択する。一例として、アイテム選択部166は、属性適合度が基準適合度よりも高い複数のアイテムを関連アイテムとして選択してもよいし、属性適合度が高い少なくとも1つのアイテムを関連アイテムとして選択してもよい。属性適合度についての基準適合度としては、属性適合度算出部164によって複数の他のアイテムについて算出された複数の属性適合度を用いて算出した値(例えば平均値、中央値、または、既定のパーセンタイル順位に対応する値)を用いてもよいし、固定値を用いてもよい。選択されたアイテムは、アイテム出力部168に供給される。
アイテム出力部168は、選択部161が選択した関連アイテムを出力する。例えば、アイテム出力部168は、選択部161が選択した関連アイテムについて、購入を促進する情報を出力する。ここで、「購入を促進する情報」としては、関連アイテムの購入ページへのリンク、バナー広告、当該アイテムについて店舗端末3等から発券されるクーポン券などが挙げられる。例えば、アイテム出力部168は、選択部161が選択した関連アイテムについての特典を含んだダイレクトメールを送信してよい。これにより、アイテム出力部168は関連アイテムを広告としてユーザに提示することができる。
このように本実施形態の装置100は、ユーザから検索キー等の選択指示を受け取り、選択指示にマッチするマッチアイテムの選択を実行し、ユーザの個人属性データおよびアイテム属性データに基づき選択されたマッチアイテムを優先付けした結果を出力する。これにより、装置100は選択指示と選択結果との適合度に加え、ユーザとアイテムの属性の適合度合を加味した結果をユーザに提供することができる。これにより、装置100は、選択指示をしたユーザの属性に応じて、より適切な検索結果等を提供することができる。
また、装置100は、マッチアイテムに対応付けられたアイテム属性データと、他のアイテムのアイテム属性データとを比較した結果に基づいて、複数のアイテムの中から少なくとも1つの関連アイテムを選択して出力する。これにより、装置100は、選択指示にマッチして出力されるマッチアイテムとは別に、マッチアイテムの属性データに対する適合度が高く、かつ、検索キーにマッチしない関連アイテムをユーザにレコメンドすることができる。従って、装置100によれば、選択指示によるターゲットとは異なるが潜在的にユーザが欲している可能性のあるアイテムを、ユーザに提示することができる。
なお、システム10の各要素は、複数が組み合わせて1つの要素が構成されてよい。例えば、個人属性データベース52とアイテム属性データベース54は単一のデータベースにより実現されてもよい。また、装置100は、装置100以外の要素(例えば、個人属性データベース52)を含んでもよく、または装置100内の要素(例えば、個人属性取得部120)を外部のサーバ装置等により実装してもよい。
図2は、本実施形態における個人属性データの一例を示す。図示するように、個人属性データは、複数の属性について各個人が有する複数の属性値を含み、グラフ上の波形として表現される。図2は、実線で表される個人1の個人属性データ、および、破線で表される個人2の個人属性データを示す。例えば、個人1の属性x1(結婚)は100%であり、属性x2(子供)は59%である。これは個人1が既婚者である統計上の確率が100%(即ち、確実に既婚者)であり、個人1が子供を有する確率が60%と推定されることを意味してよい。また、例えば、個人1の属性x3(運転)は48%であり、属性x4(喫煙)は20%である。これは個人1の運転に対する嗜好度合が0−100のスケールで48程度(例えば、月に2回程度の運転頻度)であり、個人1の喫煙に対する嗜好度合が0−100のスケールで20程度(例えば、月に1箱程度の喫煙量)であることを意味する。
装置100は、個人1のN個の属性の属性値を特定することで、図2に示すような波形を形成する個人1の個人属性データを生成する。このように装置100は複数の個人ごとの個人属性データを生成する。装置100は、個人属性データを個人ごとに生成することに加えて/代えて、同一集団又は類似集団に属する複数の個人を表す個人属性データ(例えば、特定の世帯に属する家族全員の個人属性データまたは特定の団体のメンバー全員に対応する個人属性データ等)を生成してもよい。
図3は、本実施形態におけるアイテム属性データの一例を示す。アイテム属性データは、各アイテムを嗜好する複数の個人の個人属性データに基づいて生成され、各アイテム1を選択した個人の各属性の属性値の分布を含んで良い。例えば、図3は、1個の商品であるアイテム1を購入した複数の個人の個人属性データに基づいて生成されたアイテム属性データを示す。図示するようにアイテム1を購入した複数の個人のうち属性x1の属性値が90%以上の個人の分布割合が10%であり、属性値が80%以上90%未満の個人の分布割合が5%であり、属性値が70%以上80%未満の個人の分布割合が0%であり、…属性値が0%以上10%未満の個人の分布割合が5%であることを示す。また、アイテム1を購入した複数の個人の属性x1の属性値の平均は41%である。このようにアイテム属性データは、当該アイテムを嗜好する個人の各属性値の分布データとして表される。なお、アイテム属性データは、アイテムを嗜好する個人の分布割合(%)ではなく、アイテムを嗜好する個人の集計数で表されてもよい。
図4は、本実施形態に係る装置100の第1の処理フローを示す。装置100は、S110〜S150の処理を実行することにより、個人属性データおよびアイテム属性データを生成する。
まず、個人属性取得部120は、複数の個人についての基本属性データを取得する(S110)。例えば、個人属性取得部120は、店舗端末40から複数の個人が会員登録時等において各店舗に提供した各個人の基本的な属性情報(一例として、年齢、性別、住所、居住エリア、職業、既婚・未婚の別、及び/又は、通勤通学エリア等)を、各個人の個人識別情報と紐づけて基本属性データとして取得する。なお、個人属性取得部120は、店舗端末40に加えて/代えて、ユーザ端末20を介してユーザから直接基本属性データを取得してもよい。
次に、個人属性取得部120は、複数の個人についての購買履歴データを取得する(S120)。例えば、個人属性取得部120は、履歴管理サーバ46から個人識別情報が紐づけられた複数の個人の購買履歴(購買商品/サービスの名称、購買商品/サービスのカテゴリ、購買商品/サービスの特徴、購買商品/サービスの金額/価格帯、購買の日時、購買場所/店舗、及び/又は、決済手段等)を取得する。個人属性取得部120は、購買履歴に加えて/代えて、インターネット等の通信ネットワーク上での各個人の行動履歴を取得してよい。例えば、個人属性取得部120は、行動履歴として各個人がアクセスしたウェブサイトの名称、ウェブサイトのカテゴリ、推定滞在時間、回遊行動様式等を取得してよい。
次に、個人属性取得部120は、複数の個人についてのリサーチ系データを取得する(S130)。例えば、個人属性取得部120は、複数の個人から得られたアンケート回答結果(一例として、既婚・未婚の別、子供の有無、住居の態様、収入、運転免許の有無、信用状態、趣味嗜好、行動様式、高級志向性、価格志向性、伝統志向性、及び/又は、革新志向性等)を個人識別情報と紐づけてリサーチ系データとして取得してよい。リサーチ系データは、基本属性データと少なくとも一部の情報が重複するものであってもよい。
次に、個人属性取得部120は、個人属性データを生成する(S140)。個人属性取得部120は、取得した基本属性データ、購買履歴データ、行動履歴データ、リサーチ系データの少なくとも1つ以上に基づいて、複数の個人について各属性の属性値を割り当てる。例えば、個人属性取得部120は、基本属性データが既婚であることを示す場合、結婚の有無に関する属性x1の属性値に100%を割り当ててよい。また、例えば、リサーチ系データに含まれる高級志向性の値0〜10のうち5であれば、高級志向性を示す属性xNの属性値に50%を割り当ててよい。
個人属性取得部120は、個人属性データに含まれる少なくとも一部の属性の属性値を推測してもよい。例えば、基本属性データを収集するための登録フォーム又はリサーチ系データを収集するためのアンケート等の項目の一部が欠落し、当該項目に対応する属性の属性値が得られなかった場合、個人属性取得部120は、当該属性の属性値を他の属性の属性値から予測してよい。例えば、個人属性取得部120は、リサーチ系データにおいてあるユーザの運転免許の有無の情報が得られなかったとしても、購買履歴データに車の購入の情報が含まれていた場合は、高い確率(例えば95%)で当該ユーザが運転免許を有していると推定することができる。
個人属性取得部120は、全ての属性の属性値のデータが得られている学習用データから確率推論アルゴリズムを生成し、当該確率推論アルゴリズムに基づいて欠落した属性値を予測してよい。個人属性取得部120は、確率推論アルゴリズムとしてベイジアンネットワーク、ニューラルネットワーク、ランダムフォレスト等の各種手法を用いてよい。
ここで、個人属性取得部120は各個人について生成した個人属性データを個人識別情報と紐づけて個人属性データベース52に格納する。
次に、アイテム属性取得部130は、各アイテムを嗜好する複数の個人についての複数の個人属性データに基づいてアイテム属性データを生成する(S150)。例えば、アイテム属性取得部130は、複数のアイテムについて、各アイテムを購入、売却、使用、レンタル、ブックマーク、または、アイテムに関するメッセージの送信・投稿等を行った個人の個人識別情報を履歴管理サーバ46にリクエストし、履歴管理サーバ46から各アイテムを購入した個人の個人識別情報を取得する。その後、アイテム属性取得部130は、各アイテムを購入した複数の個人の個人属性データを個人属性データベース52から取得し、各属性の属性値を集計し、各属性の属性値の分布を作成する。アイテム属性取得部130は、各属性の属性値の分布そのもの、および/または、分布を表す数値をアイテム属性データとして生成する。
例えば、アイテム属性取得部130は、各アイテムを嗜好する複数の個人についての複数の個人属性データを複数の属性のそれぞれ毎に平均した結果に基づいて、各アイテムのアイテム属性データにおける各属性の属性データを生成する。これにより、アイテム属性取得部130は、図3の平均の行に示すように、当該アイテムを嗜好する個人の属性値の平均値を各属性の属性値として含むアイテム属性データを生成する。また、アイテム属性取得部130は、平均に加えて、アイテム属性データの各属性の分布に関する数値(分散、偏差、尖度、歪度、分布形の種類、KLD、又はJSD等)をアイテム属性データの少なくとも一部として算出してよい。
また、例えば、アイテム属性取得部130は、各アイテムを嗜好する複数の個人についての複数の個人属性データにおける、複数の属性のそれぞれ毎の分布に基づいて、各アイテムのアイテム属性データにおける各属性の属性データを生成する。これにより、アイテム属性取得部130は、平均値等の一個の属性値ではなく、属性値の分布自体を各属性の特徴を表すアイテム属性データを生成することができ、より正確に各アイテムの各属性の状態をアイテム属性データに反映することができる。
このように装置100は、S110〜S150の処理により個人属性データおよびアイテム属性データを生成する。ここで、装置100は、選択指示取得部110がユーザから選択指示を取得する前にあらかじめS110〜S150の処理の全部又は一部を実行してよく、又は、選択指示取得部110がユーザから選択指示を取得する度にS110〜S150の処理の全部又は一部を実行してよい。
なお、装置100は、必要に応じてS110〜S130の処理のいずれかを省いてもよい。例えば、装置100は、個人属性データの生成にリサーチ系データが必要ない場合、S130の処理を省略してよい。また、個人属性データおよびアイテム属性データの生成に必要な処理があれば適宜実行することができる。例えば、装置100は、特許文献1に記載した手法を用いて個人属性データおよびアイテム属性データを生成することができる。
図5は、個人属性データおよびアイテム属性データの一例を示す。図5は、装置100は、第1の処理フローにより、個人1の個人属性データの波形と、アイテム1およびアイテム2のアイテム属性データの波形とを生成した場合の例を示す。本図において、アイテム1およびアイテム2のアイテム属性データの波形は、各アイテムを嗜好する個人の個人属性データの各属性の属性値の平均から形成されている。波形間の距離および形状の類似度は、個人およびアイテム、又は、複数のアイテム同士の親和性を表す。例えば、図5では、アイテム2の波形よりもアイテム1の波形の方が個人1の波形に近く、個人1がアイテム2よりもアイテム1を嗜好する可能性が高いことを示している。
図6は、個人属性データおよびアイテム属性データの別の一例を示す。図6は、装置100は、第1の処理フローにより、個人1の個人属性データの波形およびアイテム1のアイテム属性データの分布を生成した場合を示す。点線で示す個人1の個人属性データおよび実線で示すアイテム1のアイテム属性データは図5で示したものと同一である。斜線で示したアイテム属性データの分布は図3及び図5におけるアイテム1と対応する。斜線の密度はアイテム属性データの分布割合に対応する。
個人属性データの波形に対応するアイテム属性データの各属性上の分布割合は、個人およびアイテムの近似度を表す。装置100は、アイテム属性データを分布で表すことにより、個人との親和性をより厳密に評価することができる。例えば、属性x3におけるアイテム1のアイテム属性データの属性値と個人1の個人属性データの属性値の近似度を分布を考慮せずに平均により評価すると、図6の点線グラフと実線グラフで示されるように両者は比較的近似するものとして評価される。
しかし、属性x3におけるアイテム属性データの分布は、個人属性データのグラフが通る付近の値(50%前後)で周囲の領域と比較して疎となっており、実際には個人1とアイテム1の属性x3の属性値はあまり近似していない可能性が高い。例えば、個人1は運転を中程度の頻度で行う個人(例えば月に2回)であるのに対し、アイテム1を嗜好する個人の集団は高い頻度で運転する個人(例えば、毎日)と運転頻度が低い個人(例えば、2月に1回)とで構成されるので、両者は性質が異なる可能性が高い。本実施形態の装置100は、アイテム属性データを分布として扱うので、個人とアイテムの属性適合度、および、アイテム同士の属性適合度をより高い精度で推定することができる。
図7は、本実施形態に係る装置100の第2の処理フローを示す。装置100は、S210〜S265の処理を実行することにより、マッチアイテムおよび関連アイテムの出力を行う。ここでは、ユーザが選択指示として検索キーを入力する場合について説明する。
まず、個人属性取得部120は、ユーザ端末20を操作する個人属性データを取得する(S210)。例えば、選択指示取得部110が、ネットワーク22を介して、ユーザ端末20にログイン画面を供給し、ログイン画面上でユーザに個人識別情報(例えば、ログインID、会員ID、氏名、又は、メールアドレス等)を入力させることによりユーザ端末20を操作するユーザの個人識別情報を取得する。そして、個人属性取得部120は、選択指示取得部110からユーザの個人識別情報を受け取り、当該個人識別情報に紐づけられた個人属性データを個人属性データベース52から取得することにより、ユーザ端末20を操作するユーザの個人属性データを取得する。個人属性取得部120は、取得した個人属性データを第1出力処理部150の個人‐アイテム属性適合度算出部154に供給する。
次に、選択指示取得部110は、ユーザから選択指示として検索キーを取得する(S215)。検索キーは無数のアイテムから、検索キーに関連する一部のアイテムのみを選択するために用いられる。例えば、選択指示取得部110は、検索画面をユーザ端末20に供給し、ユーザが選択したいアイテムに関連する商品・サービスの一般名称又は略称等のキーワードを、ユーザ端末20に入力させて取得する。選択指示取得部110は、取得した検索キーを第1出力処理部150のアイテム適合度算出部152に供給する。
次に、アイテム適合度算出部152は、検索キーを用いた検索を実行して、検索キーにマッチ(ヒット)するマッチアイテムを取得する(S220)。例えば、アイテム適合度算出部152は、検索キーによる検索実行を検索サーバ30にリクエストする。これに応じて、検索サーバ30は、検索キーの一部又は全部と一致するアイテム、検索キーの一部又は全部の同義語、類義語、又は、関連語による検索を実行し、検索キーと同一又は予め定められた程度以上類似するアイテムに関連するデータを検索用データベース32から抽出する。例えば、検索サーバ30は、検索キーに対応するキーワードをタイトルおよび/またはコンテンツに含むウェブページを抽出してよい。一例として、検索キーが特定の商品である場合、検索サーバは当該商品に関連する複数のウェブページをアイテムに関連する情報として抽出する。検索サーバ30は、検索でマッチした一又は複数のアイテムをアイテム属性取得部130およびアイテム適合度算出部152に供給する。
次に、アイテム属性取得部130は、S220の検索でマッチした各マッチアイテムのアイテム属性データを取得する(S225)。例えば、アイテム属性取得部130は、検索でマッチした各マッチアイテム(例えば、ウェブページに含まれる商品・サービス名称)をアイテム属性データベース54から検索し、各マッチアイテムに対応するアイテム属性データを取得する。これにより、アイテム属性取得部130は、S150において各アイテムを嗜好する複数の個人の個人属性データに基づいて生成された、各マッチアイテムのアイテム属性データを取得する。アイテム属性取得部130は、取得した各マッチアイテムのアイテム属性データを個人‐アイテム属性適合度算出部154および属性適合度算出部164の両方に供給する。
また、アイテム属性取得部130は、S220の検索でマッチしなかった他の各アイテムの属性データをアイテム属性データベース54から取得して属性適合度算出部164に供給する。但し、アイテム属性取得部130は、S220での検索結果とは無関係に各アイテムの属性データをアイテム属性データベース54から取得して属性適合度算出部164に供給してもよい。
次に、アイテム適合度算出部152は、各マッチアイテムについて、検索キーに対する適合度合であるアイテム適合度を算出する(S230)。例えば、アイテム適合度算出部152は、検索キーの文字列と、当該検索キーでマッチした各ウェブページの名称、本文、メタタグにおける検索キーと同一又は関連する文字列の出現回数、文字列の一致割合、配置位置、及び/又は、使用態様に基づき、アイテム適合度を算出する。一例として、アイテム適合度算出部152は、検索キーと各マッチアイテムに対応するウェブページ中の文字列の一致度が高いほど、使用頻度が高いほど、及び/又は、より前方で使用されているほど各マッチアイテムのアイテム適合度を高く算出してよい。アイテム適合度算出部152は、既に用いられている種々のキーワードマッチングの手法によりアイテム適合度を算出してよい。ここでは、アイテム適合度算出部152は、0〜1のスケールで各マッチアイテムのアイテム適合度を算出するものとする。なお、アイテム適合度算出部152による算出に代えて、検索サーバ30がアイテムの検索時にアイテム適合度を算出して、アイテム適合度算出部152に算出したアイテム適合度を供給してもよい。アイテム適合度算出部152は、各マッチアイテムのアイテム適合度を情報出力部156に供給する。
個人‐アイテム属性適合度算出部154は、S210で取得したユーザの個人属性データおよびS225で取得したマッチアイテムのアイテム属性データを比較した比較結果に基づいて、検索キーを入力したユーザとS220で検索キーにマッチした各マッチアイテムとの属性適合度を算出する(S235)。ここでは、個人‐アイテム属性適合度算出部154は、0〜1のスケールで属性適合度を算出するものとする。
ここで、S235に関し、まず、(1)アイテム属性データの波形を用いて比較を行う場合の属性適合度の算出方法について説明する。
この場合には、個人‐アイテム属性適合度算出部154はユーザの個人属性データの波形および各マッチアイテムのアイテム属性データの波形(あわせて「両波形」ともいう)を比較することで、両波形の差異を算出する。例えば、個人‐アイテム属性適合度算出部154は、両波形の比較により両波形の距離を算出してよい。一例として、個人‐アイテム属性適合度算出部154は、個人属性データの各属性の属性値と、アイテム属性データの対応する属性の属性値(平均値)を比較して差分を算出してよい。そして、個人‐アイテム属性適合度算出部154は、全ての属性のうち、算出結果が予め定められた閾値に収まっている属性の割合により属性適合度を算出する。一例として、N=100個の属性のうち50個の属性の属性値の差分が閾値10%に収まっている場合は、0.50を属性適合度として算出する。
また、例えば、個人‐アイテム属性適合度算出部154は両波形の比較により両波形の線分角度の近さを算出する。例えば、個人‐アイテム属性適合度算出部154は、個人属性データにおける隣接する2個の属性の線分角度(例えば、個人属性データの属性x1の属性値と属性x2の属性値によりグラフ上で構成される線分の角度)と、アイテム属性データにおける対応する属性の線分角度(例えば、アイテム属性データの属性x1の属性値と属性x2の属性値によりグラフ上で構成される線分)との差を算出してよい。そして、個人‐アイテム属性適合度算出部154は、全ての属性のうち、算出結果が予め定められた閾値に収まっている属性の割合により属性適合度を算出する。具体的には、N=100個の属性から99個の隣接区間が形成され、そのうちの50個の区間における線分角度の差分が閾値10度に収まっている場合は、約0.51を属性適合度として算出する。
個人‐アイテム属性適合度算出部154は、両波形の距離および両波形の線分角度の近さの両方に基づいて属性適合度を算出してもよい。例えば、個人‐アイテム属性適合度算出部154は、両波形の距離および両波形の線分角度の近さの平均または重みづけ平均を属性適合度として算出してもよい。このように、(1)において個人‐アイテム属性適合度算出部154は、アイテム属性データを平均化された波形として表し、アイテム属性データの波形と個人属性データの位置および形状の近似度により属性適合度を算出する。
次に、S235に関し、(2)アイテム属性データの複数の属性の分布データを用いて比較を行う場合の属性適合度の算出方法について説明する。
この場合には、個人‐アイテム属性適合度算出部154は、個人属性データの波形と、アイテム属性データの複数の属性の分布との比較により、両者の差異を算出する。すなわち、個人‐アイテム属性適合度算出部154は、アイテム属性データの複数の属性の分布データを取得し、各属性について、個人属性データの属性値を含む所定の区間のアイテム属性データの分布割合を算出し、これを各属性の近似度(差異)とする。一例として、個人属性データの属性x1の属性値が100%(図2の個人1に対応)であり、アイテム属性データの属性x1の90%以上の区間(100%を含む)の分布割合が10%(図3に示す分布に対応)である場合、個人‐アイテム属性適合度算出部154は、属性x1の近似度を0.1(10%)と算出してよい。
そして、個人‐アイテム属性適合度算出部154は、複数の属性の近似度の平均または重みづけ平均等を算出し、個人属性データとアイテム属性データとの属性適合度とする。これにより、アイテム属性データの分布における各区間の分布割合(頻度値)のうち、個人属性データの属性値に対応する区間の分布割合が大きいほど、属性適合度が高く算出される。このように、(2)において個人‐アイテム属性適合度算出部154は、アイテム属性データの分布自体を用い、アイテム属性データの分布割合と個人属性データの属性値により属性適合度を算出する。
次に、S235に関し、(3)アイテム属性データにおける複数の属性のそれぞれについての分布パラメータを用いて比較を行う場合の属性適合度の算出方法について説明する。ここで、分布パラメータとは、例えば平均、分散、歪度、尖度、最頻値、分布の種類等またはその組み合わせである。
この場合には、個人‐アイテム属性適合度算出部154は、分布パラメータを用いて、一のマッチアイテムのアイテム属性データと、ユーザの個人属性データとを比較して、両者の差異を算出する。例えば、(1)と同様に、個人‐アイテム属性適合度算出部154は、個人属性データの各属性の属性値と、アイテム属性データの対応する属性の属性値(平均値)とを比較して差分を算出する。そして、個人‐アイテム属性適合度算出部154は、全ての属性のうち、算出結果が予め定められた閾値に収まっている属性の割合により属性適合度を算出する。なお、個人‐アイテム属性適合度算出部154は、アイテム属性データの各属性の属性値(平均値)を用いる代わりに、アイテム属性データの各属性の属性値の最頻値を用いてもよい。
また、個人‐アイテム属性適合度算出部154は、分布パラメータ自体を比較に用いることに代えて、属性毎に分布パラメータから元の分布を生成し、(2)と同様の手法によって差異(近似度)を算出してもよい。そして、個人‐アイテム属性適合度算出部154は、複数の属性の近似度の平均または重みづけ平均等を算出し、個人属性データとアイテム属性データとの属性適合度とする。これにより、アイテム属性データの分布における各区間の分布割合(頻度値)のうち、個人属性データの属性値に対応する区間の分布割合が大きいほど、属性適合度が高く算出される。このように、(3)において個人‐アイテム属性適合度算出部154は、分布パラメータを用いることにより、(1)または(2)と同様にして属性適合度を算出する。
ここで、個人‐アイテム属性適合度算出部154は、例えば(1)〜(3)の各手法の算出結果に対し平均または重みづけ平均等を用いて属性適合度を算出してもよい。個人‐アイテム属性適合度算出部154は、算出した属性適合度を情報出力部156に供給する。
次に、情報出力部156は、複数のマッチアイテムの中からアイテム適合度および属性適合度に基づいて、一部のマッチアイテムを選択し優先付けする(S240)。例えば、情報出力部156は、S220の検索で検索キーにマッチした複数のマッチアイテムについて、S230で算出したアイテム適合度、および、S235で算出した属性適合度の合計を算出し、合計値の大きさに応じてマッチアイテムを順位づける。そして、情報出力部156は、高い順位のマッチアイテム(すなわち合計値が大きいマッチアイテム)により高い優先度を割り当てる。
次に、情報出力部156は、優先度に応じて複数のマッチアイテムの全部又は一部を出力する(S245)。例えば、情報出力部156は、優先度が大きい順番にマッチアイテムを上から並べた検索結果を生成し、ユーザ端末20に供給する。このとき、情報出力部156は、検索キーにマッチする情報を表示するための情報表示エリアを表示画面に含めさせ、この情報表示エリア内にマッチアイテムを出力させてよい。また、情報出力部156は、優先度に応じた強調処理を実行して、複数のマッチアイテムを出力してよい。例えば、情報出力部156は、優先度に応じて各マッチアイテムの表示の大きさ(フォント又は画像の大きさ等)、または、表示の修飾(フォントの太字化、下線付与、又は色の変更等)を変更してよい。
なお、情報出力部156は、属性適合度を考慮せずに、アイテム適合度のみに基づいてマッチアイテムを優先付けして出力してもよい。この場合には、S235の処理は省略される。また、情報出力部156は、属性適合度およびアイテム適合度を考慮せずに、マッチアイテムをそのまま出力してもよい。この場合には、S230、S235の処理が省略される。
次に、属性適合度算出部164は、S220で検索キーにマッチしたマッチアイテムのアイテム属性データと、複数のアイテムのうち、マッチアイテム以外の他の各アイテムのアイテム属性データとを比較した結果に基づいて、両アイテムの属性適合度を算出する(S255)。ここでは、属性適合度算出部164は、0〜1のスケールで属性適合度を算出するものとする。
ここで、S255に関し、まず、(I)アイテム属性データの波形を用いて比較を行う場合の属性適合度の算出方法について説明する。この場合には、属性適合度算出部164は、マッチアイテムのアイテム属性データの波形と、他のアイテムのアイテム波形データとを用いることで、S235に関して説明した(1)と同様の手法により、属性適合度を算出してよい。
次に、S255に関し、(II)アイテム属性データの複数の属性の分布データを用いて比較を行う場合の属性適合度の算出方法について説明する。この場合には、属性適合度算出部164は、複数の属性のそれぞれについて、マッチアイテムにおける属性値の分布および他のアイテムにおける属性値の分布の比較により、両者の差異を算出する。すなわち、属性適合度算出部164は、マッチアイテムのアイテム属性データにおける1つの属性の分布データを取得し、当該属性について、平均値または最頻値を算出する。次に、属性適合度算出部164は、他のアイテムのアイテム属性データにおける当該属性の分布データを取得し、マッチアイテムについて算出した平均値または最頻値を含む所定の区間のアイテム属性データの分布割合を算出して、これを各属性の近似度(差異)とする。このような処理を属性ごとに行うことにより、属性適合度算出部164は、各属性の近似度を算出する。なお、マッチアイテムと他のアイテムとを反対に用いてもよい。
そして、属性適合度算出部164は、S235に関して説明した(2)と同様の手法により、複数の属性の近似度の平均または重みづけ平均等を算出し、マッチアイテムおよび他のアイテムのアイテム属性データの属性適合度とする。
また、例えば属性適合度算出部164は、マッチアイテムおよび他のアイテムについてのアイテム属性データにおける属性毎の属性値分布の重なり度合いに応じて属性適合度を算出してよい。一例として、属性適合度算出部164は、複数の属性のそれぞれについて、マッチアイテムのアイテム属性データにおける属性値の分布の近似波形と、他のアイテムのアイテム属性データにおける属性値の分布の近似波形とを重回帰分析などにより算出する。ここで、属性値の分布の近似波形とは、例えば、属性値を一方の座標軸、分布割合を他方の座標軸とした座標平面において分布を近似した波形である。近似波形を算出したら、属性適合度算出部164は、属性毎に、マッチアイテムについての属性値の近似波形と属性値の座標軸とで囲まれ、かつ、他のアイテムについての属性値の近似波形と属性値の座標軸とで囲まれる領域の面積を近似度として算出する。そして、属性適合度算出部164は、属性毎に算出された近似度の平均または重みづけ平均を属性適合度として算出する。
次に、S255に関し、(III)アイテム属性データにおける複数の属性のそれぞれについての分布パラメータを用いて比較を行う場合の属性適合度の算出方法について説明する。
この場合には、例えば、属性適合度算出部164は、分布パラメータ同士の比較によって、マッチアイテムのアイテム属性データと、他のアイテムのアイテム属性データとを比較して、分布の差異を算出する。一例として、属性適合度算出部164は、マッチアイテムのアイテム属性データの各属性の属性値(平均値)と、他のアイテムのアイテム属性データの対応する属性の属性値(平均値)とを比較して差分を算出する。そして、属性適合度算出部164は、全ての属性のうち、算出結果が予め定められた閾値に収まっている属性の割合により属性適合度を算出する。なお、属性適合度算出部164は、アイテム属性データの各属性の属性値(平均値)を用いる代わりに、アイテム属性データの各属性の属性値の最頻値を用いてもよい。
また、例えば、属性適合度算出部164は、分布パラメータ自体を比較に用いることに代えて、属性毎に分布パラメータから元の分布を生成し、(II)と同様の手法によって差異を算出してよい。すなわち、まず属性適合度算出部164は、アイテム属性データの1つの属性についての分布の平均、分散、分布の種類等のデータからアイテム属性データの当該属性の元の分布を仮想的に生成する。次に属性適合度算出部164は、マッチアイテムについて仮想的に生成した分布のうち、最も分布割合の大きい区間を検出する。次に、属性適合度算出部164は、他のアイテムについて仮想的に生成した分布のうち、検出した区間の分布割合を算出して、これを当該属性の近似度(差異)とする。このような処理を属性ごとに行うことにより、属性適合度算出部164は、各属性の近似度を算出してよい。なお、マッチアイテムと他のアイテムとを反対に用いてもよい。そして、属性適合度算出部164は、複数の属性の近似度の平均または重みづけ平均等を算出し、マッチアイテムおよび他のアイテムのアイテム属性データの属性適合度とする。
ここで、アイテム属性データに属性値の分布が含まれている場合に、属性値のサンプル数が少ないと、用いられる手法に応じて属性適合度の信頼性が低くなる場合がある。例えば、あるアイテムに関連する人の数が少ないと、当該アイテムのアイテム属性データでは、各属性の属性値のサンプル数が少ない場合が生じうる。また、例えば、個人属性データ内で属性の属性値に欠落があると、アイテム属性データにおける当該属性の属性値について、サンプル数が少ない場合が生じうる。このような場合には、(II)で説明したように分布データを用いて近似度を算出しても、(III)で説明したように分布パラメータから元の分布を仮想的に生成して近似度を算出しても、近似度、ひいては属性適合度の信頼性が低くなってしまう。そのため、マッチアイテムおよび他のアイテムのアイテム属性データの少なくとも一方の分布に含まれる属性値のサンプル数が基準数(例えば、固定値)以下である属性については、属性適合度算出部164は、マッチアイテムおよび他のアイテムのアイテム属性データの分布パラメータ同士、例えば各属性の平均値または最頻値を比較して分布の差異を算出してよい。
ここで、属性適合度算出部164は、例えば(I)〜(III)の各手法の算出結果に対し平均または重みづけ平均等を用いて属性適合度を算出してもよい。属性適合度算出部164は、算出した属性適合度をアイテム出力部168に供給する。
以上のS255の処理において、例えば、属性適合度算出部164は、比較に用いるマッチアイテムとして、検索キーにマッチし、かつ、S245で出力された全てのマッチアイテムを用いてもよいし、検索キーにマッチし、かつ、S245で出力されたアイテムのうち、上位に出力された一または複数のマッチアイテムのみを用いてもよい。複数のマッチアイテムを比較に用いる場合には、属性適合度算出部164は、一例として、S245で算出された優先度に応じて分布パラメータや分布データ自体を重みづけ平均した、マッチアイテムのアイテム属性データと、他のアイテムのアイテム属性データとの比較結果に基づいて属性適合度を算出してよい。
次に、アイテム選択部166は、マッチアイテムとは異なる他の複数のアイテムの中から属性適合度に基づいて少なくとも1つの関連アイテムを選択する(S260)。例えば、アイテム選択部166は、属性適合度が高い順に、他のアイテムを上から並べた選択結果を生成し、属性適合度が基準適合度よりも高い複数のアイテムを関連アイテムとして選択してもよいし、属性適合度が高い少なくとも1つの関連アイテムを選択してもよい。
次に、アイテム出力部168は、S260で選択された関連アイテムを出力する(S265)。例えば、アイテム出力部168は、S255で算出された属性適合度が大きい順番に関連アイテムを上から並べた検索結果を生成し、ユーザ端末20に供給する。
このとき、アイテム出力部168は、S260で選択された関連アイテムを表示するためのアイテム表示エリアを表示画面に含めさせ、このアイテム表示エリア内に関連アイテムを出力させてよい。また、情報出力部156は、優先度に応じた強調処理を実行して、複数の関連アイテムを出力してよい。例えば、情報出力部156は、優先度に応じて各関連アイテムの表示の大きさ(フォント又は画像の大きさ等)、または、表示の修飾(フォントの太字化、下線付与、又は色の変更等)を変更してよい。これにより、関連アイテムが広告として出力される。
なお、関連アイテムについてのS265での出力は、マッチアイテムについてのS245での出力と同時でもよいし、S245での出力より先であってもよい。例えば、S245での出力に先立ち、S255〜S265の処理を行ってよい。このように関連アイテムについての出力を先に行う場合には、関連アイテムについてのインストリーム広告の動画を再生した後、マッチアイテムの出力と合わせて、関連アイテムについてのインディスプレイ・インサーチ広告を出力してもよい。
このように本実施形態の装置100は、S210〜S265のフローを実行することにより、ユーザが入力した検索キーでマッチアイテムを検索し、検索キーにより選択されたマッチアイテムのアイテム適合度、および、ユーザとマッチアイテムの属性適合度の両方に基づいて、検索されたマッチアイテムを適切な態様でユーザに対して提供することができる。また、検索キーによる検索結果として出力されるマッチアイテムとは別に、このマッチアイテムの属性データに対する適合度が高く、かつ、検索キーにマッチしない関連アイテムをユーザにレコメンドすることができる。
図8は、ユーザからの選択指示および装置100の出力の一例を示す。例えば、装置100は、S215において、ユーザからユーザ端末20を介して「ABCファッションマガジン」を検索キーとして受け取る。すると、装置100は、S245において、検索キー「ABCファッションマガジン」にマッチする一のマッチアイテム「ABCファッションマガジン」を出力する。ここでは、マッチアイテム「ABCファッションマガジン」は表示画面の情報表示エリア1560に表示されている。
さらに装置100は、S255において、検索キー「ABCファッションマガジン」にマッチし、かつ出力されるマッチアイテム「ABCファッションマガジン」のアイテム属性データと、検索キー「ABCファッションマガジン」にマッチしない他のアイテムのアイテム属性データとを比較する。そして装置100は、S265において、比較結果に基づいて属性適合度が最も高い一の関連アイテム「XYコスメ」を出力する。ここでは、関連アイテム「XYコスメ」は表示画面のアイテム表示エリア1680にバナーとして表示されている。
図9は、図8で出力されたアイテムに係る属性の分布を示す。関連アイテム「XYコスメ」のアイテム属性データは、他のアイテムのアイテム属性データと比べ、マッチアイテム「ABCファッションマガジン」のアイテム属性データに対する適合度が高くなっている。
図10は、図8の出力を行う場合における情報出力部156によるマッチアイテムの優先付けの一例を示す。ここで、装置100は、S220で検索キーにマッチしたマッチアイテム(「ABCファッションマガジン」等)のそれぞれについて、アイテム適合度および属性適合度を算出している。本例で示すように、情報出力部156は、各マッチアイテムについて出力優先度を更に設定してもよい。例えば、装置100は、各マッチアイテムのメーカー等から提示された出稿金額等に基づいて出力優先度を設定してもよい。図示するように、情報出力部156は、アイテム適合度、属性適合度、および、出力優先度の合計を総合スコアとして算出してよい。図8に示すように、情報出力部156は、当該総合スコアが最も高いマッチアイテムのみを検索結果に表示する。ただし、総合スコアが高い順番に各マッチアイテムを検索結果に並べて表示しても良い。
図11は、アイテム1およびアイテム2に係る属性の分布の近似波形を示す。ここでは、アイテム1の属性x1の分布およびアイテム2の属性x1の分布の近似波形を示している。図中にハッチングで示すように、アイテム1とアイテム2の分布の近似波形は一部が重なっている。S255の処理について(II)で説明したように、アイテム属性データにおける属性毎の属性値分布の重なり度合いに応じて各属性の近似度、ひいては両アイテムの属性適合度を算出する場合には、個人‐アイテム属性適合度算出部154は、当該分布の重なりの面積を、アイテム1およびアイテム2の属性x1の近似度として算出する。
図12は、(II)により算出されるアイテム1およびアイテム2の属性適合度の一例を示す。図示するように、個人‐アイテム属性適合度算出部154は、属性x1、属性x2、…属性xNのN個の属性についてアイテム1およびアイテム2の近似度を算出する。例えば、個人‐アイテム属性適合度算出部154は、図12における分布の重なりの面積から属性x1の近似度を25と計算してよい。個人‐アイテム属性適合度算出部154は、複数の属性の近似度を平均または重みづけ平均することでアイテム1およびアイテム2の最終的な属性適合度を算出してよい。
図13は、本実施形態に係る装置100の第3の処理フローを示す。装置100は、S310〜S380の処理を実行することにより、マッチアイテムおよび関連アイテムの出力を行う。ここでは、ユーザに提示される画面に選択肢として2以上のアイテム(選択アイテムとも言う)が含まれ、ユーザが何れかの選択アイテムに対する選択指示を入力する場合について説明する。
まず、個人属性取得部120は、ユーザ端末20を操作する個人属性データを取得する(S310)。個人属性取得部120は、S210と同様の処理により個人属性データを取得してよい。
次に、選択指示取得部110は、複数の選択アイテムを含む画面をユーザ端末20に供給する(S315)。例えば、選択指示取得部110は、ネットワーク22を介してユーザ端末20に選択可能な複数の選択アイテム(一例として、次の階層のウェブページへジャンプするハイパーリンクまたはボタン等が付与されたアイテム)を含むウェブページ画面を提供する。
次に、選択指示取得部110は、ユーザに提示された画面に含まれる2以上の選択アイテムの中からユーザが選択した選択アイテムを示す選択指示を取得する(S320)。例えば、選択指示取得部110は、ユーザ端末20から、複数の選択アイテムからユーザが選択した1つのアイテムに対応する情報を選択指示として取得する。選択指示取得部110は、取得した選択指示をアイテム属性取得部130に供給する。
次に、アイテム属性取得部130は、選択指示に応じてユーザに提示される画面に含まれる複数の選択アイテム、つまり選択指示にマッチする複数のマッチアイテムのそれぞれに対応するアイテム属性データを取得する(S325)。すなわち、まずアイテム属性取得部130は、選択指示にマッチして新たに提示されるべき選択アイテム(マッチアイテム)を取得する。
そして、選択アイテム(マッチアイテム)が取得されたら、アイテム属性取得部130は、S150において各アイテムを嗜好する複数の個人の個人属性データに基づいて生成されたアイテム属性データを、ユーザに提示される複数の選択アイテム(マッチアイテム)について取得する。ここで、アイテム属性取得部130は、S320におけるユーザの選択によりS315で表示した画面以降に表示される可能性がある全部又は一部の画面に含まれる複数の選択アイテム(マッチアイテム)のアイテム属性データを取得してよい。
例えば、アイテム属性取得部130は、S315で表示した画面において選択指示に係るアイテムを選択した後の次の画面で表示する複数の選択アイテム(マッチアイテム)のアイテム属性データを取得してよい。さらに、アイテム属性取得部130は、当該次の画面以降の画面(例えば、次の画面、次の次の画面…等)に含まれる複数の選択アイテム(マッチアイテム)のそれぞれを選択した後の更に次の画面で表示する全ての選択アイテム(マッチアイテム)のアイテム属性データを取得してよい。アイテム属性取得部130は、選択指示に係るアイテムの次以降の画面(下位の画面とも言う)に表示される可能性がある全ての選択アイテム(マッチアイテム)のアイテム属性データを取得してもよいし、最下位の画面(更に選択可能な選択アイテムが含まれない画面)以外の下位の画面に表示される可能性がある全ての選択アイテム(マッチアイテム)のアイテム属性データを取得してもよい。このように、アイテム属性取得部130は、表示中の画面に係る選択アイテムの下位の階層に含まれる複数の選択アイテム(マッチアイテム)のアイテム属性データを取得する。
また、アイテム属性取得部130は、S320におけるユーザの選択の前にS315で表示した画面以降に表示される可能性がある画面に含まれる複数の選択アイテム(マッチアイテム)のアイテム属性データを取得してよい。アイテム属性取得部130は、取得した各マッチアイテムのアイテム属性データを個人‐アイテム属性適合度算出部154および属性適合度算出部164の両方に供給する。
また、アイテム属性取得部130は、選択指示にマッチしない各アイテムの属性データをアイテム属性データベース54から取得して属性適合度算出部164に供給する。例えば、アイテム属性取得部130は、選択指示に係るアイテムの次以降の画面(下位の画面とも言う)に表示される可能性がある全ての選択アイテム(マッチアイテム)以外の各アイテムを、マッチしないアイテムとし、その属性データを供給する。但し、アイテム属性取得部130は、選択指示にマッチするか否かとは無関係に各アイテムの属性データをアイテム属性データベース54から取得して属性適合度算出部164に供給してもよい。
次に、個人‐アイテム属性適合度算出部154は、S310で取得したユーザの個人属性データおよびS325で取得した選択アイテム(マッチアイテム)のアイテム属性データを比較した比較結果に基づいて、選択指示を入力したユーザと、各選択アイテム、つまり選択指示にマッチした各マッチアイテムとの属性適合度を算出する(S330)。個人‐アイテム属性適合度算出部154は、S235で説明した手法と同様の手法により、属性適合度を算出してよい。個人‐アイテム属性適合度算出部154は、算出した属性適合度を情報出力部156に供給する。
次に、情報出力部156は、ユーザが選択した選択アイテムに応じてユーザに提示されるべき次の画面に含める各選択アイテム(マッチアイテム)を、個人属性データおよびアイテム属性データを比較した比較結果に基づいて優先付けする(S335)。例えば、情報出力部156は、属性適合度が大きい順番に、S330で算出した次画面以降で表示する複数の選択アイテム(マッチアイテム)に高い優先度を割り当てる。
次に、情報出力部156は、優先度に応じて次の選択アイテム(マッチアイテム)を出力する(S340)。例えば、情報出力部156は、最も優先度の高い選択アイテム(マッチアイテム。最優先選択アイテムとも言う)をユーザ端末20に供給してよい。このとき、情報出力部156は、選択指示にマッチする情報を表示するための情報表示エリアを表示画面に含めさせ、この情報表示エリア内に最優先選択アイテム(マッチアイテム)を出力させてよい。なお、情報出力部156は、最優先選択アイテムの画面中に、最優先選択アイテムの次の階層の選択アイテム(マッチアイテム。最優先次階層選択アイテムとも言う)を複数表示してもよい。ここで、情報出力部156は、最優先次階層選択アイテム(マッチアイテム)の優先度が高い順番に複数の最優先次階層選択アイテム(マッチアイテム)を出力してよく、または、最優先次階層選択アイテム(マッチアイテム)の優先度に応じて各最優先次階層選択アイテム(マッチアイテム)の表示の大きさまたは表示の修飾を変更してよい。
次に、属性適合度算出部164は、S320で選択指示にマッチしたマッチアイテムのアイテム属性データと、複数のアイテムのうち、マッチアイテム以外の他の各アイテムのアイテム属性データとを比較した結果に基づいて、両アイテムの属性適合度を算出する(S355)。属性適合度算出部164は、S255で説明した手法と同様の手法により、属性適合度を算出してよい。
次に、アイテム選択部166は、マッチアイテムとは異なる他の複数のアイテムの中から属性適合度に基づいて少なくとも1つの関連アイテムを選択する(S360)。アイテム選択部166は、S260と同様の処理により、関連アイテムを選択してよい。
次に、アイテム出力部168は、S360で選択された関連アイテムを出力する(S375)。アイテム出力部168は、S265で説明した手法と同様の手法により、関連アイテムを出力してよい。
次に、選択指示取得部110は、現在の表示画面が次に選択可能な選択アイテム(マッチアイテム)を含むか否かを判断する(S380)。現在の表示画面が選択可能な選択アイテム(マッチアイテム)を含む場合、選択指示取得部110は、処理をS320に戻して再び次の選択指示をユーザ端末20から受け付け、そうでない場合、処理を終了してよい。
このように本実施形態の装置100は、S310〜S380のフローを実行することにより、ユーザが複数の選択アイテムから選択した選択アイテムの次階層以降の選択アイテム(マッチアイテム)から、属性適合度に基づいて次の画面に表示すべき選択アイテム(マッチアイテム)を決定する。これにより、装置100は、ユーザの個人属性データをヒントに例えばユーザがリンクを辿って目的のページを目指すことをサポートすることができる。また、選択指示にマッチするマッチアイテムとは別に、このマッチアイテムの属性データに対する適合度が高く、かつ、選択指示にマッチしない関連アイテムをユーザにレコメンドすることができる。
図14は、選択アイテムの階層構造の一例を示す。装置100は、第3の処理フローを実行する際に図14に係る階層構造の複数の選択アイテムを前提としてよい。ユーザが、ユーザ端末20の画面中の複数の選択アイテムの1つをクリックまたはタップ等で選択することに応答して、装置100は、選択された選択アイテムの下位のいずれかの階層に含まれる選択アイテムを含む画面をユーザ端末20に供給する。
図示するように、第1階層に「平日午後」という選択アイテムが存在し、「平日午後」の次の第2階層に「ひと休み」、「近くの駅探索」および「タクシー手配」という選択アイテムが存在し、「ひと休み」の次の第3階層に「コンビニ探索」、「喫茶店探索」および「ニュース検索」という選択アイテムが存在し、「喫茶店探索」の次の第4階層に「カフェ店A」、「カフェ店B」および「コーヒー専門店C」という選択アイテムが存在する。図14において、図示した以外の選択アイテムが存在してもよい。例えば、図示しないが「近くの駅探索」および「タクシー手配」等の一又は複数の下位階層に更に選択アイテムが存在してもよい。
図15は、第1階層における表示画面の一例を示す。例えば、選択指示取得部110は、最初のS315の処理において、第1階層の「平日午後」に係る表示画面をユーザ端末20に提供する。ここで、当該表示画面の情報表示エリア1560には第2階層に係る「ひと休み」等の3個の選択アイテムが選択可能なものとして表示されており、これらの選択アイテムにはそれぞれハイパーリンクが設定されている。
また、この例では、「平日午後」にマッチし、かつ出力されるアイテム「ひと休み」のアイテム属性データと、「平日午後」にマッチしないアイテムのアイテム属性データとの比較結果に基づき、属性適合度が最も高い一のアイテム「A天気予報」がアイテム表示エリア1680にバナーとして表示される。ここで、例えば、ユーザが「ひと休み」のリンクをクリックして当該「ひと休み」を選択指示としてユーザ端末20に入力すると、従来であれば、「ひと休み」の次の階層の「コンビニ探索」等の選択アイテムが選択可能な選択アイテム(マッチアイテム)として表示される。
図16は、選択指示を入力後の表示画面の一例を示す。本実施形態の装置100によると、例えばS320でユーザが図15の「ひと休み」のリンクをクリックして当該「ひと休み」を選択指示としてユーザ端末20に入力すると、装置100はS330において「ひと休み」の下位の階層の全ての選択アイテム、つまり選択指示「ひと休み」にマッチするマッチアイテム(「コンビニ探索」、「喫茶店探索」、「ニュース検索」、「カフェ店A」、「カフェ店B」および「コーヒー専門店C」等)とユーザとの属性適合度を算出し、S335において最も属性適合度が高い「喫茶店探索」を最優先選択アイテムとして決定する。そして、装置100は、S340で図16に示す「喫茶店探索」に係る表示画面をユーザ端末20に出力する。ここで、装置100は、「喫茶店探索」に係る表示画面に次階層の複数の選択アイテム(マッチアイテム。「カフェ店A」等)を選択可能な状態で含める。また、装置100は、選択指示「ひと休み」にマッチし、かつ出力されるアイテム「カフェ店A」のアイテム属性データと、選択指示「ひと休み」にマッチしない他のアイテムのアイテム属性データとの比較結果に基づき、属性適合度が最も高い一の関連アイテム「お散歩マガジン」がアイテム表示エリア1680にバナーとして表示される。
通常であればユーザは第3階層の複数の選択アイテム(「コンビニ探索」等)から「喫茶店探索」を選択した後でなければ当該「喫茶店探索」に係る表示画面を表示することができないが、装置100によると当該選択を省略していち早くユーザに「喫茶店探索」の画面を提供することができる。これにより、装置100は、ユーザがウェブページ上の予め定められたリンク階層を辿る場合にも、ユーザと各リンク項目(アイテム)との適合度に応じて、ユーザに適合するウェブページを先回りして表示することができる。
図17は、本実施形態に係るコンピュータ1900の構成の一例を示す。本実施形態に係るコンピュータ1900は、装置100として機能する。これに加えて、検索サーバ30および/またはユーザ端末20としてネットワーク22と接続されるコンピュータ、店舗端末40および/または履歴管理サーバ46としてネットワーク42と接続されるコンピュータは、コンピュータ1900と同様の構成を採ってよい。
本実施形態に係るコンピュータ1900は、ホスト・コントローラ2082により相互に接続されるCPU2000、RAM2020、グラフィック・コントローラ2075、及び表示装置2080を有するCPU周辺部と、入出力コントローラ2084によりホスト・コントローラ2082に接続される通信インターフェイス2030、ハードディスクドライブ2040、及びDVDドライブ2060を有する入出力部と、入出力コントローラ2084に接続されるROM2010、フラッシュメモリ・ドライブ2050、及び入出力チップ2070を有するレガシー入出力部を備える。
ホスト・コントローラ2082は、RAM2020と、高い転送レートでRAM2020をアクセスするCPU2000及びグラフィック・コントローラ2075とを接続する。CPU2000は、ROM2010及びRAM2020に格納されたプログラムに基づいて動作し、各部の制御を行う。グラフィック・コントローラ2075は、CPU2000等がRAM2020内に設けたフレーム・バッファ上に生成する画像データを取得し、表示装置2080上に表示させる。これに代えて、グラフィック・コントローラ2075は、CPU2000等が生成する画像データを格納するフレーム・バッファを、内部に含んでもよい。
入出力コントローラ2084は、ホスト・コントローラ2082と、比較的高速な入出力装置である通信インターフェイス2030、ハードディスクドライブ2040、DVDドライブ2060を接続する。通信インターフェイス2030は、有線又は無線によりネットワークを介して他の装置と通信する。また、通信インターフェイスは、通信を行うハードウェアとして機能する。ハードディスクドライブ2040は、コンピュータ1900内のCPU2000が使用するプログラム及びデータを格納する。DVDドライブ2060は、DVD2095からプログラム又はデータを読み取り、RAM2020を介してハードディスクドライブ2040に提供する。
また、入出力コントローラ2084には、ROM2010と、フラッシュメモリ・ドライブ2050、及び入出力チップ2070の比較的低速な入出力装置とが接続される。ROM2010は、コンピュータ1900が起動時に実行するブート・プログラム、及び/又は、コンピュータ1900のハードウェアに依存するプログラム等を格納する。フラッシュメモリ・ドライブ2050は、フラッシュメモリ2090からプログラム又はデータを読み取り、RAM2020を介してハードディスクドライブ2040に提供する。入出力チップ2070は、フラッシュメモリ・ドライブ2050を入出力コントローラ2084へと接続するとともに、例えばパラレル・ポート、シリアル・ポート、キーボード・ポート、マウス・ポート等を介して各種の入出力装置を入出力コントローラ2084へと接続する。
RAM2020を介してハードディスクドライブ2040に提供されるプログラムは、フラッシュメモリ2090、DVD2095、又はICカード等の記録媒体に格納されて利用者によって提供される。プログラムは、記録媒体から読み出され、RAM2020を介してコンピュータ1900内のハードディスクドライブ2040にインストールされ、CPU2000において実行される。
コンピュータ1900にインストールされ、コンピュータ1900を装置100の少なくとも一部として機能させるプログラムは、指示取得モジュール、個人属性取得モジュール、アイテム属性取得モジュール、出力処理モジュール、アイテム適合度算出モジュール、属性適合度算出モジュール、および、アイテム出力モジュールのうち少なくとも1つを備える。これらのプログラム又はモジュールは、CPU2000等に働きかけて、コンピュータ1900を、選択指示取得部110、個人属性取得部120、アイテム属性取得部130、第1出力処理部150、および第2出力処理部160としてそれぞれ機能させてよい。
これらのプログラムに記述された情報処理は、コンピュータ1900に読込まれることにより、ソフトウェアと上述した各種のハードウェア資源とが協働した具体的手段であるCPU2000等に働きかけて、コンピュータ1900を、選択指示取得部110、個人属性取得部120、アイテム属性取得部130、第1出力処理部150、および第2出力処理部160として機能させる。そして、これらの具体的手段によって、本実施形態におけるコンピュータ1900の使用目的に応じた情報の演算又は加工を実現することにより、使用目的に応じた特有の装置100が構築される。
一例として、コンピュータ1900と外部の装置等との間で通信を行う場合には、CPU2000は、RAM2020上にロードされた通信プログラムを実行し、通信プログラムに記述された処理内容に基づいて、通信インターフェイス2030に対して通信処理を指示する。通信インターフェイス2030は、CPU2000の制御を受けて、RAM2020、ハードディスクドライブ2040、フラッシュメモリ2090、又はDVD2095等の記憶装置上に設けた送信バッファ領域等に記憶された送信データを読み出してネットワークへと送信し、もしくは、ネットワークから受信した受信データを記憶装置上に設けた受信バッファ領域等へと書き込む。このように、通信インターフェイス2030は、DMA(ダイレクト・メモリ・アクセス)方式により記憶装置との間で送受信データを転送してもよく、これに代えて、CPU2000が転送元の記憶装置又は通信インターフェイス2030からデータを読み出し、転送先の通信インターフェイス2030又は記憶装置へとデータを書き込むことにより送受信データを転送してもよい。
また、CPU2000は、ハードディスクドライブ2040、DVDドライブ2060(DVD2095)、フラッシュメモリ・ドライブ2050(フラッシュメモリ2090)等の外部記憶装置に格納されたファイルまたはデータベース等の中から、全部または必要な部分をDMA転送等によりRAM2020へと読み込ませ、RAM2020上のデータに対して各種の処理を行う。そして、CPU2000は、処理を終えたデータを、DMA転送等により外部記憶装置へと書き戻す。このような処理において、RAM2020は、外部記憶装置の内容を一時的に保持するものとみなせるから、本実施形態においてはRAM2020及び外部記憶装置等をメモリ、記憶部、または記憶装置等と総称する。
例えば、装置100の記憶部は、選択指示取得部110、個人属性取得部120、アイテム属性取得部130、第1出力処理部150、および第2出力処理部160から受け取った及び/又はこれらへ提供するデータ、並びに個人属性データベース52およびアイテム属性データベース54内のデータベース等を適宜記憶してよい。例えば、記憶部は、個人属性取得部120が第1出力処理部150に供給する個人属性データを受け取って記憶してよい。また、記憶部は、個人‐アイテム属性適合度算出部154等が算出した属性適合度等を記憶してよい。
本実施形態における各種のプログラム、データ、テーブル、データベース等の各種の情報は、このような記憶装置上に格納されて、情報処理の対象となる。なお、CPU2000は、RAM2020の一部をキャッシュメモリに保持し、キャッシュメモリ上で読み書きを行うこともできる。このような形態においても、キャッシュメモリはRAM2020の機能の一部を担うから、本実施形態においては、区別して示す場合を除き、キャッシュメモリもRAM2020、メモリ、及び/又は記憶装置に含まれるものとする。
また、CPU2000は、RAM2020から読み出したデータに対して、プログラムの命令列により指定された、本実施形態中に記載した各種の演算、情報の加工、条件判断、情報の検索・置換等を含む各種の処理を行い、RAM2020へと書き戻す。例えば、CPU2000は、条件判断を行う場合においては、本実施形態において示した各種の変数が、他の変数または定数と比較して、大きい、小さい、以上、以下、等しい等の条件を満たすか否かを判断し、条件が成立した場合(又は不成立であった場合)に、異なる命令列へと分岐し、またはサブルーチンを呼び出す。
また、CPU2000は、記憶装置内のファイルまたはデータベース等に格納された情報を検索することができる。例えば、第1属性の属性値に対し第2属性の属性値がそれぞれ対応付けられた複数のエントリが記憶装置に格納されている場合において、CPU2000は、記憶装置に格納されている複数のエントリの中から第1属性の属性値が指定された条件と一致するエントリを検索し、そのエントリに格納されている第2属性の属性値を読み出すことにより、所定の条件を満たす第1属性に対応付けられた第2属性の属性値を得ることができる。
また、実施形態の説明において複数の要素が列挙された場合には、列挙された要素以外の要素を用いてもよい。例えば、「Xは、A、B及びCを用いてYを実行する」と記載される場合、Xは、A、B及びCに加え、Dを用いてYを実行してもよい。
以上、本発明を実施の形態を用いて説明したが、本発明の技術的範囲は上記実施の形態に記載の範囲には限定されない。上記実施の形態に、多様な変更または改良を加えることが可能であることが当業者に明らかである。その様な変更または改良を加えた形態も本発明の技術的範囲に含まれ得ることが、特許請求の範囲の記載から明らかである。
特許請求の範囲、明細書、および図面中において示した装置、システム、プログラム、および方法における動作、手順、ステップ、および段階等の各処理の実行順序は、特段「より前に」、「先立って」等と明示しておらず、また、前の処理の出力を後の処理で用いるのでない限り、任意の順序で実現しうることに留意すべきである。特許請求の範囲、明細書、および図面中の動作フローに関して、便宜上「まず、」、「次に、」等を用いて説明したとしても、この順で実施することが必須であることを意味するものではない。