(57)【要約】      （修正有）【課題】複数の商品間の購入関係性を示す指標を算出する際、想定される商品の組合せに対して全通りの確率を統計的に計算する場合と比べて、より少ないサンプル数でありながら指標の算出精度を向上可能な商品評価装置、方法及びプログラムを提供する。【解決手段】商品推薦システムにおいて、商品評価装置の制御部２２は、商品毎の購入可能性を入力及び出力とする予測器６０に対して学習処理を行う学習処理部３０（学習手段）と、学習処理が行われた予測器６０の演算規則を定めるパラメータセット３６を用いて、複数の商品間の購入関係性を示す指標を算出する評価処理部を備える。【選択図】図３
2020102043.tif 000002
【特許請求の範囲】
【請求項１】
商品毎の購入可能性を入力及び出力とする予測器に対して学習処理を行う学習手段と、
前記学習手段により学習処理が行われた前記予測器の演算規則を定めるパラメータセットを用いて、複数の商品間の購入関係性を示す指標を算出する算出手段と、
を備えることを特徴とする商品評価装置。
【請求項２】
前記予測器は、商品群に属する１種類の商品の購入可能性を示すラベルを出力値とし、前記商品群のうち前記１種類の商品を除く複数種類の商品の購入可能性を示すラベルの集合を入力ベクトルとする、商品毎に構築された学習器であることを特徴とする請求項１に記載の商品評価装置。
【請求項３】
前記算出手段により算出された指標又は当該指標に基づき生成された情報を利用者に向けて出力する出力手段をさらに備えることを特徴とする請求項２に記載の商品評価装置。
【請求項４】
利用者が購入を予定する購入予定商品が選択される度に、前記算出手段による算出及び前記出力手段による出力を行うことを特徴とする請求項３に記載の商品評価装置。
【請求項５】
前記指標は、各々の入力値と出力値の間の関係の強度を示す前記予測器の重み付け係数であり、
前記算出手段は、直近に選択された１種類の購入予定商品に対応する前記重み付け係数を、少なくとも前記購入予定商品を除く商品毎に算出する
ことを特徴とする請求項４に記載の商品評価装置。
【請求項６】
前記指標は、複数の入力値からなる入力ベクトルに対する前記予測器の出力値であり、
前記算出手段は、現時点で選択されている商品の種類組合せに対応する前記予測器の出力値を、少なくとも前記購入予定商品を除く商品毎に算出する
ことを特徴とする請求項４に記載の商品評価装置。
【請求項７】
前記予測器は、利用者毎に構築された学習器であり、
前記学習手段は、同一の利用者が過去に同時に購入した商品の種類組合せから生成される学習データセットを用いて利用者毎に学習処理を行う
ことを特徴とする請求項１〜６のいずれか１項に記載の商品評価装置。
【請求項８】
前記学習手段は、商品の販売価格、販売場所、販売時期、販売方法、及び在庫状況のうち少なくとも１つに応じて異なる前記学習データセットを用いて学習処理を行うことを特徴とする請求項７に記載の商品評価装置。
【請求項９】
前記予測器は、商品の販売価格、販売時期、及び販売方法のうち少なくとも１つに応じて構築された学習器であることを特徴とする請求項７又は８に記載の商品評価装置。
【請求項１０】
商品毎の購入可能性を入力及び出力とする予測器に対して学習処理を行う学習ステップと、
学習処理が行われた前記予測器の演算規則を定めるパラメータセットを用いて、複数の商品間の購入関係性を示す指標を算出する算出ステップと、
を１つ又は複数のコンピュータが実行することを特徴とする商品評価方法。
【請求項１１】
商品毎の購入可能性を入力及び出力とする予測器に対して学習処理を行う学習ステップと、
学習処理が行われた前記予測器の演算規則を定めるパラメータセットを用いて、複数の商品間の購入関係性を示す指標を算出する算出ステップと、
を１つ又は複数のコンピュータに実行させることを特徴とする商品評価プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、商品評価装置、方法及びプログラムに関する。
【背景技術】
【０００２】
特許文献１には、利用者の閲覧履歴情報及び購入履歴情報を用いて商品間の相補性・代替性を示す指標を算出しておき、この利用者が一の商品を選択した場合に上記した指標に基づいて他の商品を推薦する装置が開示されている。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２０１６−２０６７３４号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
例えば、商品の閲覧又は購入に関する確率を用いて複数の商品間の購入関係性を示す指標を算出する場合、想定される商品の組合せに対して全通りの計算を行う必要があり、母集団のサンプル数が十分でないと当該指標の確度が低下するという問題が生じる。
【０００５】
本発明の目的は、複数の商品間の購入関係性を示す指標を算出する際、想定される商品の組合せに対して全通りの確率を統計的に計算する場合と比べて、より少ないサンプル数でありながら指標の算出精度を向上可能な商品評価装置、方法及びプログラムを提供することである。
【課題を解決するための手段】
【０００６】
請求項１に記載の発明は、商品毎の購入可能性を入力及び出力とする予測器に対して学習処理を行う学習手段と、前記学習手段により学習処理が行われた前記予測器の演算規則を定めるパラメータセットを用いて、複数の商品間の購入関係性を示す指標を算出する算出手段と、を備える商品評価装置である。
請求項２に記載の発明は、前記予測器は、商品群に属する１種類の商品の購入可能性を示すラベルを出力値とし、前記商品群のうち前記１種類の商品を除く複数種類の商品の購入可能性を示すラベルの集合を入力ベクトルとする、商品毎に構築された学習器である、請求項１に記載の商品評価装置である。
請求項３に記載の発明は、前記算出手段により算出された指標又は当該指標に基づき生成された情報を利用者に向けて出力する出力手段をさらに備える、請求項２に記載の商品評価装置である。
請求項４に記載の発明は、利用者が購入を予定する購入予定商品が選択される度に、前記算出手段による算出及び前記出力手段による出力を行う、請求項３に記載の商品評価装置である。
請求項５に記載の発明は、前記指標は、各々の入力値と出力値の間の関係の強度を示す前記予測器の重み付け係数であり、前記算出手段は、直近に選択された１種類の購入予定商品に対応する前記重み付け係数を、少なくとも前記購入予定商品を除く商品毎に算出する、請求項４に記載の商品評価装置である。
請求項６に記載の発明は、前記指標は、複数の入力値からなる入力ベクトルに対する前記予測器の出力値であり、前記算出手段は、現時点で選択されている商品の種類組合せに対応する前記予測器の出力値を、少なくとも前記購入予定商品を除く商品毎に算出する、
請求項４に記載の商品評価装置である。
【０００７】
請求項７に記載の発明は、前記予測器は、利用者毎に構築された学習器であり、前記学習手段は、同一の利用者が過去に同時に購入した商品の種類組合せから生成される学習データセットを用いて利用者毎に学習処理を行う、請求項１〜６のいずれか１項に記載の商品評価装置である。
請求項８に記載の発明は、前記学習手段は、商品の販売価格、販売場所、販売時期、販売方法、及び在庫状況のうち少なくとも１つに応じて異なる前記学習データセットを用いて学習処理を行う、請求項７に記載の商品評価装置である。
請求項９に記載の発明は、前記予測器は、商品の販売価格、販売時期、及び販売方法のうち少なくとも１つに応じて構築された学習器である、請求項７又は８に記載の商品評価装置である。
【０００８】
請求項１０に記載の発明は、商品毎の購入可能性を入力及び出力とする予測器に対して学習処理を行う学習ステップと、学習処理が行われた前記予測器の演算規則を定めるパラメータセットを用いて、複数の商品間の購入関係性を示す指標を算出する算出ステップと、を１つ又は複数のコンピュータが実行する商品評価方法である。
請求項１１に記載の発明は、商品毎の購入可能性を入力及び出力とする予測器に対して学習処理を行う学習ステップと、学習処理が行われた前記予測器の演算規則を定めるパラメータセットを用いて、複数の商品間の購入関係性を示す指標を算出する算出ステップと、を１つ又は複数のコンピュータに実行させる商品評価プログラムである。
【発明の効果】
【０００９】
請求項１，１０，１１に記載の発明によれば、複数の商品間の購入関係性を示す指標を算出する際、想定される商品の組合せに対して全通りの確率を統計的に計算する場合と比べて、より少ないサンプル数でありながら指標の算出精度が向上する。
請求項２に記載の発明によれば、入出力特性が多対多である学習器を用いる場合と比べて、商品間の関係性がより単純に記述される。
請求項３に記載の発明によれば、指標又は情報を受け取った利用者は、商品間の購入関係性を把握することができる。
請求項４に記載の発明によれば、購入予定商品の選択状況に適した情報が、利用者に向けて適時に提供される。
請求項５に記載の発明によれば、購入予定商品の変更の度に指標を計算し直す場合と比べて、計算時の演算量がより少なく済む。
請求項６に記載の発明によれば、種類組合せの変更の度に計算方法を変更する場合と比べて、指標の計算がより容易になる。
【００１０】
請求項７に記載の発明によれば、他の利用者における商品の種類組合せが含まれる場合と比べて、利用者の嗜好をより強く反映した学習処理がなされ、その分だけ指標の妥当性が高まる。
請求項８に記載の発明によれば、商品の販売価格、販売場所、販売時期、販売方法、又は在庫状況の違いを考慮したきめ細かな学習処理がなされる。
請求項９に記載の発明によれば、商品の販売価格、販売時期、又は販売方法の違いを考慮したきめ細かな購入関係性の評価がなされる。
【図面の簡単な説明】
【００１１】
【図１】本発明の一実施形態における商品評価装置が組み込まれた商品推薦システムの全体構成図である。
【図２】図１の商品予測部に含まれる予測器の構成の一例を示す図である。
【図３】図１に示す制御部の学習処理に関わる機能ブロック図である。
【図４】図１に示す商品評価装置の動作説明に供されるフローチャートである。
【図５】図５（ａ）は、購入履歴データにおけるデータ構造の一例を示す図である。図５（ｂ）は、イベントデータにおけるデータ構造の一例を示す図である。
【図６】学習の準備（図４のステップＳ４）に関する詳細フローチャートである。
【図７】図１に示す制御部の評価処理に関わる第１の機能ブロック図である。
【図８】図１に示す制御部の評価処理に関わる第２の機能ブロック図である。
【図９】商品推薦リストの表示の一例を示す図である。
【発明を実施するための形態】
【００１２】
以下、本発明における商品評価装置、方法及びプログラムについて、添付の図面を参照しながら説明する。
【００１３】
［商品評価装置１２の構成］
＜商品推薦システム１０の全体構成＞
図１は、本発明の一実施形態における商品評価装置１２が組み込まれた商品推薦システム１０の全体構成図である。この商品推薦システム１０は、スーパーマーケットを含む実店舗内でショッピングを行う利用者に対して、購入状況に応じた商品を推薦するサービスを提供可能に構成されるシステムである。このシステムは、いわゆる「オフライン・ショッピング」に適用しているが、仮想店舗内での「オンライン・ショッピング」にも適用し得る。
【００１４】
この商品推薦システム１０は、商品評価装置１２と、ストレージ装置１４と、ショッピングカート１６と、ＰＯＳ（Point Of Sales）端末１８と、を含んで構成される。商品評価装置１２は、実店舗内の商品の取引に関する統括的な制御を実行可能な、ＰＯＳサーバと一体又は別体のコンピュータである。具体的には、この商品評価装置１２は、通信部２０（出力手段）と、制御部２２と、記憶部２４と、を備える。
【００１５】
通信部２０は、外部装置に対して電気信号を送受信するインターフェースである。これにより、通信部２０は、制御部２２により生成された提供データＤ４をショッピングカート１６に向けて出力可能である。
【００１６】
制御部２２は、ＣＰＵ（Central Processing Unit）、ＭＰＵ（Micro-Processing Unit）を含む処理演算装置によって構成される。この制御部２２は、記憶部２４に格納された商品評価プログラムを読み出し実行することで、データ処理部２６、商品予測部２８、学習処理部３０（学習手段）、及び評価処理部３２として機能する。
【００１７】
記憶部２４は、非一過性であり、かつ、コンピュータ読み取り可能な記憶媒体で構成されている。ここで、コンピュータ読み取り可能な記憶媒体は、光磁気ディスク、ＲＯＭ、ＣＤ−ＲＯＭ、フラッシュメモリ等の可搬媒体、コンピュータシステムに内蔵されるハードディスク等の記憶装置である。本図の例では、記憶部２４には、学習データ群３４と、複数組のパラメータセット３６がそれぞれ格納されている。
【００１８】
ストレージ装置１４は、商品の評価処理に関わる複数種類のデータベースを構築可能な外部記憶装置であり、商品評価装置１２との間でデータのやり取りを行う。具体的には、ストレージ装置１４には、商品の購入履歴に関するデータベース（以下、購入履歴ＤＢ３８）及び商品の販売イベントに関するデータベース（以下、イベントＤＢ４０）が構築されている。
【００１９】
ショッピングカート１６は、利用者が購入を予定する商品（以下、「購入予定商品」ともいう）を積載して移動可能な台車である。具体的には、ショッピングカート１６は、商品を収容するバスケット４４の他に、利用者検出部４６と、商品検出部４８と、無線通信部５０と、情報出力部５２（出力手段）と、を含んで構成される。
【００２０】
利用者検出部４６は、ショッピングカート１６と一緒に実店舗内を移動する利用者を検出する。利用者検出部４６は、例えば、利用者が携行するＩＤカードを読取可能なカードリーダや、身体的特徴を通じて利用者を識別可能な生体認証機器などから構成される。
【００２１】
商品検出部４８は、利用者がバスケット４４内に入れた商品を検出する。商品検出部４８は、例えば、商品に付された電子タグを読取可能な電子タグリーダや、カメラから出力された撮像信号に基づいて商品を識別する画像識別ユニットなどから構成される。
【００２２】
無線通信部５０は、中継機器４２を介して外部装置と双方向に通信可能な無線モジュールから構成される。これにより、ショッピングカート１６は、例えば、商品検出部４８により検出された購入予定商品を示すデータ（以下、カート商品データＤ３）を商品評価装置１２に供給可能であるとともに、利用者に対する提供情報を含むデータ（以下、提供データＤ４）を商品評価装置１２から取得可能である。
【００２３】
情報出力部５２は、商品評価装置１２からの提供データＤ４に含まれる提供情報を、利用者が五感を通じて知覚可能な態様で出力する。情報出力部５２は、例えば、タッチパネルディスプレイやスピーカから構成される。
【００２４】
ＰＯＳ端末１８は、商品の売上データ（いわゆる、ＰＯＳデータＤ５）を収集可能なコンピュータであり、例えば、キャッシュレジスタ、タブレット型端末、スマートフォンから構成される。ＰＯＳ端末１８は、商品の購入を確定する操作又は動作に応じてＰＯＳデータＤ５を逐次取得し、蓄積されたＰＯＳデータＤ５をＰＯＳサーバ（本図の例では、商品評価装置１２）に向けて定期的又は不定期に送信する。
【００２５】
＜予測器６０の構成＞
図２は、図１の商品予測部２８に含まれる予測器６０の構成の一例を示す図である。予測器６０は、商品群に属するＮ種類（Ｎは、３以上の整数である）の商品の購入可能性を入出力するための入力層６１，出力層６２からなる２層型の学習器である。入力層６１は、（Ｎ−１）種類の商品の購入可能性を示すラベルの集合を入力するための（Ｎ−１）個のユニットから構成される。一方、出力層６２は、１種類の商品の購入可能性を示すラベルを出力するための１個のユニットから構成される。
【００２６】
本図の例では、ｉ（１≦ｉ≦Ｎ）番目の予測器６０における入出力特性を示している。ｉ番目の予測器６０は、商品群に属する複数種類の商品（ｊ）（１≦ｊ≦Ｎ，ｊ≠ｉ）の購入可能性を示すラベルの集合（以下、入力ベクトル）を入力し、ｉ番目の商品（ｉ）の購入可能性を示すラベル（以下、出力値）を出力する。各々のラベルは、［０，１］の範囲内の連続値で定義される場合、ラベルの値が１に近いほど購入可能性が高い一方、値が０に近いほど購入可能性が低いことを意味する。
【００２７】
予測器６０の演算規則は、学習パラメータの集合体であるパラメータセット３６（図３参照）の値によって定められる。パラメータセット３６は、例えば、ユニットの活性化関数を記述する係数、ユニット間の結合強度（以下、重み付け係数｛Ｗｉｊ｝）を含む「可変パラメータ」と、学習モデルのアーキテクチャを特定するための「固定パラメータ」（いわゆるハイパーパラメータ）から構成される。ハイパーパラメータの例として、各層を構成するユニットの個数、中間層の数が挙げられる。
【００２８】
例えば、ロジスティック回帰モデルにおいて、重み付け係数｛Ｗｉｊ｝（いわゆる回帰係数）は、商品（ｉ）と商品（ｊ）の間の購入可能性に相関するパラメータである。正の重み付け係数は「相補性」を示す一方、負の重み付け係数は「代替性」を示す。なお、重み付け係数が０である場合、実質的に「無相関」であることを意味する。
【００２９】
＜学習処理に関わる機能ブロック＞
図３は、図１に示す制御部２２の学習処理に関わる機能ブロック図である。本図では、学習処理部３０及び予測器６０の具体的構成を示している。学習処理の開始前、予測器６０には、パラメータセット３６（本図における「ＬＰ」）の初期値が設定されている。
【００３０】
この学習処理部３０は、購入履歴データＤ１及びイベントデータＤ２を用いて、予測器６０に対する学習処理（換言すれば、パラメータセット３６の最適化処理）を行う。学習処理部３０は、学習データ生成部６４と、学習誤差算出部６６と、パラメータ更新部６８と、収束判断部７０と、を備える。
【００３１】
学習データ生成部６４は、購入履歴データＤ１に対して所望の加工処理を施し、学習データセット（教師ありデータ）の基になる学習データ群３４を生成した後、複数組の学習データセットを学習中の予測器６０に向けて逐次供給する。この学習データ群３４の生成方法については後述する。
【００３２】
学習誤差算出部６６は、学習データセットの入力ベクトルに対する予測器６０からの出力値と、学習データセットの出力値の間の誤差（以下、学習誤差という）を算出する。この学習誤差は、差分の絶対値を返すＬ１ノルム関数であってもよいし、差分の２乗値を返すＬ２ノルム関数であってもよい。また、この学習誤差は、１組の学習データセットにおける誤差（オンライン学習の場合）であってもよいし、複数組の学習データセットに関する誤差（バッチ学習又はミニバッチ学習の場合）であってもよい。
【００３３】
パラメータ更新部６８は、学習誤差算出部６６により算出された学習誤差が小さくなるようにパラメータセット３６（上記した可変パラメータ）を更新する。更新アルゴリズムとして、例えば、勾配降下法、確率的勾配降下法、モーメンタム法、ＲＭＳｒｏｏｐを含む様々な手法を用いてもよい。
【００３４】
収束判断部７０は、現在の学習時点にて予め定められた収束条件を満たすか否かを判断する。この収束条件の一例として、［１］学習誤差が十分に小さくなったこと、［２］学習誤差の更新量が十分に小さくなったこと、［３］学習の繰り返し回数が上限値に到達したこと、などが挙げられる。
【００３５】
［商品評価装置１２の動作］
この実施形態における商品推薦システム１０は、以上のように構成される。続いて、商品評価装置１２の動作について、図４のフローチャート及び図５〜図９を参照しながら説明する。
【００３６】
＜１．学習処理の詳細＞
図４のステップＳ１において、制御部２２は、利用者による購入の開始通知を受け付けたか否かを確認する。例えば、制御部２２は、購入開始フラグ、利用者ＩＤ及び店舗ＩＤを含むデータをショッピングカート１６から受信した場合、この通知があったと判定してもよい。購入の開始通知をまだ受け付けていない場合（ステップＳ１：ＮＯ）、この通知を受け付けるまでステップＳ１に留まる。一方、購入の開始通知を受け付けた場合（ステップＳ１：ＹＥＳ）、次のステップＳ２に進む。
【００３７】
ステップＳ２において、制御部２２は、ショッピングカート１６の利用者と、ショッピングカート１６が配備されている店舗をそれぞれ特定する。具体的には、制御部２２は、ショッピングカート１６から受信したデータに含まれる利用者ＩＤ及び店舗ＩＤから利用者及び店舗をそれぞれ特定する。
【００３８】
ステップＳ３において、データ処理部２６は、購入履歴ＤＢ３８（図１）に対して「利用者ＩＤ」を検索キーとする検索処理を行うことで、ステップＳ２で特定された利用者が過去に商品を同時に購入した履歴を示すデータ（つまり、購入履歴データＤ１）を取得する。
【００３９】
図５（ａ）は、購入履歴データＤ１におけるデータ構造の一例を示す図である。購入履歴データＤ１は、購入履歴ＤＢ３８のデータ構成単位（つまり、レコード）の少なくとも一部に相当する。購入履歴データＤ１は、例えば、購買トランザクションの識別情報である「処理ＩＤ」と、利用者の識別情報である「利用者ＩＤ」と、商品の識別情報である「商品ＩＤ」と、購買トランザクションの終了時刻である「購入時刻」と、店舗の識別情報である「店舗ＩＤ」と、を含んで構成される。
【００４０】
さらに、データ処理部２６は、イベントＤＢ４０（図１）に対して「店舗ＩＤ」を検索キーとする検索処理を行うことで、ステップＳ２で特定された店舗内における商品の販売イベントに関するデータ（つまり、イベントデータＤ２）を取得する。
【００４１】
図５（ｂ）は、イベントデータＤ２におけるデータ構造の一例を示す図である。イベントデータＤ２は、イベントＤＢ４０のデータ構成単位（レコード）の少なくとも一部に相当する。イベントデータＤ２は、例えば、販売イベントの識別情報である「イベントＩＤ」と、商品の識別情報である「商品ＩＤ」と、店舗の識別情報である「店舗ＩＤ」と、イベントの種類を示す「イベント種類」と、販売イベントの「発生時期」（開始時刻Ｓ及び終了時刻Ｅ）と、を含んで構成される。
【００４２】
販売イベントは、販売に影響を与え得る事象であり、例えば、商品の販売価格、販売場所、販売時期、販売方法、又は在庫状況に関するイベントである。具体的には、特売、タイムセール、限定販売（地域、店舗、期間、季節、数量）、セット販売、バンドル販売、在庫切れなどが挙げられる。
【００４３】
なお、データ処理部２６は、上記した「利用者ＩＤ」の他に、「購入時刻」又は「発生時期」を検索キーとする検索処理を行うことで、データの取得量を抑制してもよい。例えば、直近の期間内（例えば、現時点から１年以内）に制限することで、利用者の嗜好、市場の特性などに関する直近の変化傾向を捉えやすくなる。
【００４４】
図４のステップＳ４において、学習処理部３０は、ステップＳ３で取得された購入履歴データＤ１及びイベントデータＤ２を用いて、後述する学習処理（ステップＳ５）の準備を行う。以下、準備の具体例について、図６のフローチャートを参照しながら詳細に説明する。
【００４５】
図６のステップＳ４１において、学習処理部３０は、購入対象となり得る母集団の中からＮ種類の商品を選定し「商品群」を形成する。この商品群は、評価対象になり得る商品の集合体に相当する。また、「商品の種類」とは、各々の商品を識別可能な分類の単位に相当し、例えば、品目（集合単品）であってもよいし、絶対単品であってもよい。あるいは、同一の品目・単品であっても、上記した販売イベント（特に、販売価格、販売時期、販売方法）に応じて利用者の購買行動が変化する場合、この販売イベントと対応付けた「別個の種類」として取り扱ってもよい。
【００４６】
また、学習処理部３０は、母集団を構成するすべての商品を評価対象としてもよいし、利用者が購入しない可能性が高い商品を除外してもよい。例えば、［１］利用者が過去に１回も購入したことがない商品、［２］何らかの制限により販売されていない商品、［３］在庫切れの商品、などが除外され得る。
【００４７】
ステップＳ４２において、学習処理部３０は、ステップＳ４１で選定された各々の商品を評価するための予測器６０の構成及び個数を決定する。図２の例では、入力層６１のユニット数が（Ｎ−１）個、出力層６２のユニット数が１個、重み付け係数の個数がＮ個、予測器６０の個数がＮ個となる。
【００４８】
ステップＳ４３において、学習処理部３０は、イベントデータＤ２を用いて、学習処理に供される購入履歴データＤ１を選定する。学習処理部３０は、購入履歴ＤＢ３８から取得したすべての購入履歴を用いてもよいし、学習上のノイズである可能性が高い購入履歴を除外してもよい。例えば、［１］商品群に属さない商品の購入時における購入履歴、［２］特定の販売イベント（例えば、特売・セット販売）の発生中における購入履歴、などが除外され得る。
【００４９】
具体的には、学習処理部３０は、現在の販売価格が「通常」である商品Ｆに関して、利用者が過去に商品Ｆ，Ｇを「セット割引価格」で同時に購入していた場合、この購入履歴を除外してもよい。なぜならば、セット販売が動機づけとなって商品Ｆ，Ｇの購入関係性が一時的に発生したにすぎず、この購入履歴がノイズとして作用する可能性があるからである。
【００５０】
ステップＳ４４において、学習処理部３０は、ステップＳ４３で選定された購入履歴データＤ１を用いて、利用者が同時に購入した商品の種類組合せを示す学習データ群３４を生成する。この学習データ群３４は、学習データセットの基になるマスターデータの集合体に相当する。このマスターデータは、Ｎ種類の商品の購入有無を示すラベルの集合であり、例えば、１，２，３番目の商品のみを同時に購入した場合に｛１，１，１，０，・・・，０｝となる。
【００５１】
このようにして、学習処理部３０による準備が終了する（図４のステップＳ４）。その後、図４のフローチャートに戻って、次のステップＳ５に進む。
【００５２】
ステップＳ５において、学習処理部３０は、ステップＳ４での準備を通じて生成された学習データ群３４を用いて、Ｎ個の予測器６０に対する学習処理を行う。
【００５３】
例えば、ｉ番目の予測器６０に対する学習処理の場合、マスターデータが示すＮ個のベクトル成分のうち、ｉ番目の成分を出力値とし、ｉ番目の成分を除いた残りの（Ｎ−１）個の成分を入力ベクトルとする学習データセットを生成する。具体的には、マスターデータが｛１，１，１，０，・・・，０｝である場合、１〜３番目の予測器６０における学習データセットは｛１，１，０，・・・，０｝＆｛１｝となり、４〜Ｎ番目の予測器６０における学習データセットは｛１，１，１，・・・，０｝＆｛０｝となる。
【００５４】
そして、学習処理部３０は、Ｎ個の予測器６０に対して学習処理を行うことで、Ｎ組のパラメータセット３６が得られる。これにより、利用者毎にカスタマイズされた予測器６０が形成される（ステップＳ５）。
【００５５】
このように、予測器６０は、利用者毎に構築された学習器であり、学習処理部３０は、同一の利用者が過去に同時に購入した商品の種類組合せから生成される学習データセットを用いて利用者毎に学習処理を行ってもよい。これにより、他の利用者における商品の種類組合せが含まれる場合と比べて、利用者の嗜好をより強く反映した学習処理がなされ、その分だけ指標の妥当性が高まる。
【００５６】
また、学習処理部３０は、商品の販売価格、販売場所、販売時期、販売方法、及び在庫状況の少なくとも１つに応じて異なる学習データセットを用いて学習処理を行ってもよい。これにより、商品の販売価格、販売場所、販売時期、販売方法、又は在庫状況の違いを考慮したきめ細かな学習処理がなされる。
【００５７】
また、予測器６０は、商品の販売価格、販売時期、及び販売方法の少なくとも１つに応じて構築された学習器であってもよい。これにより、商品の販売価格、販売時期、及び販売方法の違いを考慮したきめ細かな購入関係性の評価がなされる。
【００５８】
＜２．評価処理の詳細＞
図４のステップＳ６において、制御部２２は、ショッピングカート１６の商品検出部４８によって購入予定商品の更新が検出されたか否かを確認する。購入予定商品の更新が検出されない場合（ステップＳ６：ＮＯ）、この更新が検出されるまでステップＳ６に留まる。一方、購入予定商品の更新が検出された場合（ステップＳ６：ＹＥＳ）、次のステップＳ７に進む。
【００５９】
ステップＳ７において、評価処理部３２（指標算出部７２，７６）は、複数の商品間の購入関係性を示す指標を算出する。この「複数の商品」とは、ステップＳ７にて更新された購入予定商品と、商品群に属する個々の商品（購入予定商品を除く）の間の少なくとも２種類の組合せを意味する。以下、算出方法の具体例について、図７及び図８を参照しながら詳細に説明する。
【００６０】
第１例として、評価処理部３２（図１）の一形態である評価処理部３２Ａは、直近に選択された１種類の購入予定商品との購入関係性を示す指標を算出してもよい。この場合、評価処理部３２Ａ（より詳しくは、指標算出部７２）は、各々の入力値と出力値の間の関係の強度を示す予測器６０の重み付け係数｛Ｗｉｊ｝を、第１の指標Ｉｄｘ１として算出する。
【００６１】
図７に示すように、評価処理部３２Ａは、（Ｎ−１）個の指標群｛Ｉｄｘ１｝を算出する指標算出部７２と、この指標群｛Ｉｄｘ１｝に基づいて提供情報を生成する提供情報生成部７４と、を備える。ここで、カート商品データＤ３は、ショッピングカート１６のバスケット４４内に直近に入れられた購入予定商品（例えば、ｋ番目の商品（ｋ））を示す「１個の商品ＩＤ」に相当する。
【００６２】
指標算出部７２は、合計Ｎ（Ｎ−１）個の重み付け係数｛Ｗｉｊ｝（ただし、ｉ≠ｊ）の中から、商品（ｋ）に対応する重み付け係数、つまり、［１］ｋ番目の予測器６０における重み付け係数（Ｗｋｉ）、又は［２］ｉ番目の予測器６０における重み付け係数（Ｗｉｋ）を選択する。
【００６３】
例えば、指標算出部７２は、選択した１つの重み付け係数Ｗｋｉ（又はＷｉｋ）を、ｉ番目の指標Ｉｄｘ１（ｉ）（ただし、ｉ≠ｋ）として算出する。あるいは、指標算出部７２は、選択した２つの重み付け係数Ｗｋｉ，Ｗｉｋの統計量（具体的には、最大値・最小値・平均値のいずれか）をｉ番目の指標Ｉｄｘ１（ｉ）として算出してもよい。その後、指標算出部７２は、それぞれ算出した（Ｎ−１）個の指標｛Ｉｄｘ１｝を提供情報生成部７４に向けて供給する。
【００６４】
このように、第１の指標Ｉｄｘ１が、各々の入力値と出力値の間の関係の強度を示す予測器６０の重み付け係数｛Ｗｉｊ｝である場合、指標算出部７２は、直近に選択された１種類の購入予定商品（ｋ番目の商品）に対応する重み付け係数（Ｗｋｉ，Ｗｉｋ）を、少なくとも購入予定商品を除く商品毎に算出してもよい。これにより、学習処理を通じて確定した重み付け係数（Ｗｋｉ，Ｗｉｋ）から指標Ｉｄｘ１を算出可能となり、購入予定商品の変更の度に指標を計算し直す場合と比べて、計算時の演算量がより少なく済む。
【００６５】
第２例として、評価処理部３２（図１）の一形態である評価処理部３２Ｂは、現時点で選択されている複数種類の購入予定商品との購入関係性を示す指標を算出してもよい。この場合、評価処理部３２Ｂ（より詳しくは、指標算出部７６）は、複数の入力値からなる入力ベクトルに対する予測器６０の出力値｛Ｏｉ｝を、第２の指標Ｉｄｘ２として算出する。
【００６６】
図８に示すように、評価処理部３２Ｂは、（Ｎ−ｎ）個の指標群｛Ｉｄｘ２｝を算出する指標算出部７６と、この指標群｛Ｉｄｘ２｝に基づいて提供情報を生成する提供情報生成部７４と、を備える。ここで、カート商品データＤ３は、ショッピングカート１６のバスケット４４内に入れられた購入予定商品の種類組合せを示す「ｎ個の商品ＩＤ」に相当する。
【００６７】
指標算出部７６は、Ｎ組のパラメータセット３６のうち、購入予定商品（ｎ種類）を除く（Ｎ−ｎ）組のパラメータセット３６を選択する。そして、指標算出部７６は、ｉ番目の予測器６０を用いた予測処理（［１］パラメータセット３６の設定、［２］入力ベクトルの生成、［３］入出力処理）を実行することで、予測器６０の出力値Ｏｉをｉ番目の指標Ｉｄｘ２（ｉ）として算出する。その後、指標算出部７６は、それぞれ算出した（Ｎ−ｎ）個の指標｛Ｉｄｘ２｝を提供情報生成部７４に向けて供給する。
【００６８】
このように、第２の指標Ｉｄｘ２が、複数の入力値からなる入力ベクトルに対する予測器６０の出力値Ｏｉである場合、指標算出部７６は、現時点で選択されている商品の種類組合せに対応する予測器６０の出力値Ｏｉを、少なくとも購入予定商品を除く商品毎に算出してもよい。これにより、入力ベクトルの成分を変更することで種類組合せの変更に対応可能となり、種類組合せの変更の度に計算方法を変更する場合と比べて、指標の計算がより容易になる。
【００６９】
ステップＳ８において、提供情報生成部７４は、ステップＳ８で算出された指標を用いて、提供情報の一形態である商品推薦リストを生成する。この商品推薦リストは、指標の値が大きい順に商品を並べ替えたテーブルデータであり、例えば、商品名、指標の値、指標の属性（相補性／代替性）、推奨度（順位あるいは得点）が含まれる。なお、この商品推薦リストには、評価対象であるすべての商品を掲載してもよいし、上位を占める一部の商品のみを掲載してもよい。
【００７０】
ステップＳ９において、商品評価装置１２は、ステップＳ９で生成された商品推薦リストを含む提供データＤ４を外部装置（ここでは、ショッピングカート１６）に向けて出力する。その後、ショッピングカート１６は、無線通信部５０を通じて提供データＤ４を受信し、情報出力部５２を介して商品推薦リストの内容を出力する。
【００７１】
図９は、商品推薦リストの表示の一例を示す図である。情報出力部５２（図１）の表示領域８０内には、左側から右側にわたって、メッセージを示す文字列８２と、商品推薦リストの内容を示すリスト欄８４と、商品名を示す文字列８６と、［詳細］と表記された複数のボタン８８と、［全商品］と表記されたボタン９０が配置されている。
【００７２】
文字列８２は、店舗（スーパー〇〇／Ｘ店）の利用者（Ａさん）に向けて、購入可能性が高いと予測される商品（以下、推薦商品ともいう）の購入を促すためのメッセージである。リスト欄８４内には、推薦商品（本図の例では、上位３位までの商品）の名称と、当該商品の推奨度がそれぞれ一覧表示されている。文字列８６は、直近に選択された１種類の購入予定商品の名称（例えば、商品Ｚ）を示している。
【００７３】
例えば、利用者が［詳細］ボタン８８をタッチする操作を行うと、当該ボタン８８に対応する商品のガイダンス情報（例えば、販売価格や売り場など）がさらに出力される。また、利用者が［全商品］ボタン９０をタッチする操作を行うと、直近の購入予定商品のみならず、今までに選択されたすべての購入予定商品のリストがさらに出力される。
【００７４】
ステップＳ１０において、制御部２２は、利用者による購入の終了通知を受け付けたか否かを確認する。例えば、制御部２２は、購入終了フラグ、利用者ＩＤ及び店舗ＩＤを含むデータをショッピングカート１６から受信した場合、この通知があったと判定してもよい。購入の終了通知をまだ受け付けていない場合（ステップＳ１０：ＮＯ）、ステップＳ６に戻って、以下、ステップＳ６〜Ｓ１０を順次繰り返す。
【００７５】
このように、通信部２０（出力手段）は、指標算出部７２，７６（算出手段）により算出された指標又は当該指標に基づき生成された情報を利用者に向けて出力してもよい。これにより、指標又は情報を受け取った利用者は、商品間の購入関係性を把握することができる。そして、利用者は、提供された情報を参考にしながら、次に購入すべき商品を検討することができる。
【００７６】
また、商品評価装置１２は、購入予定商品が選択される度に、指標算出部７２，７６による算出及び通信部２０による出力を行ってもよい。これにより、購入予定商品の選択状況に適した情報が、利用者に向けて適時に提供され、その結果、利用者に対する商品の販売促進効果が高まる。
【００７７】
一方、図４のステップＳ１０に戻って、制御部２２が購入の終了通知を受け付けた場合（ステップＳ１０：ＹＥＳ）、次のステップＳ１１に進む。
【００７８】
ステップＳ１１において、商品評価装置１２のデータ処理部２６は、ＰＯＳ端末１８から受信したＰＯＳデータＤ５に加工処理を施し、生成した購入履歴データＤ１をストレージ装置１４に供給する。これにより、購入履歴ＤＢ３８のレコードが追加される。
【００７９】
［商品評価装置１２による効果］
以上のように、この商品評価装置１２は、商品毎の購入可能性を入力及び出力とする予測器６０に対して学習処理を行う学習処理部３０（学習手段）と、学習処理が行われた予測器６０の演算規則を定めるパラメータセット３６を用いて、複数の商品間の購入関係性を示す指標を算出する指標算出部７２，７６（算出手段）を備える。
【００８０】
また、この商品評価方法及びプログラムでは、１つ又は複数のコンピュータが、商品毎の購入可能性を入力及び出力とする予測器６０に対して学習処理を行う学習ステップ（図４のＳ５）と、学習処理が行われた予測器６０の演算規則を定めるパラメータセット３６を用いて、複数の商品間の購入関係性を示す指標を算出する算出ステップ（図４のＳ７）を実行する。
【００８１】
このように、商品毎の購入可能性を入力及び出力とする予測器６０を用いることで、学習処理を通じて潜在的な購入パターンを抽出可能となり、当該購入パターンの傾向が指標に適切に反映されやすくなる。これにより、複数の商品間の購入関係性を示す指標を算出する際、想定される商品の組合せに対して全通りの確率を統計的に計算する場合と比べて、より少ないサンプル数でありながら指標の算出精度が向上する。
【００８２】
また、予測器６０は、商品群に属する１種類の商品の購入可能性を示すラベルを出力値とし、商品群のうち１種類の商品を除く複数種類の商品の購入可能性を示すラベルの集合を入力ベクトルとする、商品毎に構築された学習器であってもよい。これにより、入出力特性が多対多である学習器を用いる場合と比べて、商品間の関係性がより単純に記述される。そして、単純な構成を採用するとその分だけ学習時間が短縮されやすくなる。
【００８３】
［変形例］
なお、本発明は、上記した実施形態に限定されるものではなく、この発明の主旨を逸脱しない範囲で自由に変更できることは勿論である。あるいは、技術的に矛盾が生じない範囲で各々の構成を任意に組み合わせてもよい。
【００８４】
上記した実施形態では、商品評価装置１２が商品推薦リストを含む提供データＤ４を外部に送信しているが（図４のステップＳ９参照）、評価結果の出力方法はこれに限られない。例えば、商品評価装置１２が備えるディスプレイ（出力手段）に可視情報を表示させてもよいし、商品評価装置１２に代わってショッピングカート１６が制御部２２の各機能を実行してもよい。
【００８５】
上記した実施形態では、利用者が購入を開始する度に予測器６０の生成及び学習を行っているが（図４のステップＳ４，Ｓ５参照）、予測器６０の生成方法はこれに限られない。例えば、商品評価装置１２は、制御部２２が生成したパラメータセット３６を記憶部２４に一時的に保存しておき、予め定められた保存期間が経過した場合に予測器６０を生成し直してもよい。これにより、同一の利用者が後日ショッピングを行う際にこのパラメータセット３６を再度読み出して利用することができる。
【００８６】
上記した実施形態では、ロジスティック回帰モデルを用いて予測器６０（図２参照）を構築したが、機械学習の手法はこれに限られない。例えば、サポートベクターマシン（ＳＶＭ）、ディシジョンツリー、ランダムフォレスト、ニューラルネットワーク、ブースティング法を含む様々な手法を採用してもよい。
【００８７】
上記した実施形態では、データ処理部２６は、Ｎ個の予測器６０に共通するマスターデータを用いてＮ通りの学習データセットを生成しているが（図６のステップＳ４４参照）、予測器６０に応じて異なる購入履歴データＤ１を用いてＮ通りの学習データセットを生成してもよい。
【符号の説明】
【００８８】
１０  商品推薦システム、１２  商品評価装置、２０  通信部（出力手段）、２２  制御部、２４  記憶部、２６  データ処理部、２８  商品予測部、３０  学習処理部（学習手段）、３４  学習データ群（学習データセット）、３６  パラメータセット、５２  情報出力部（出力手段）、６０  予測器、６１  入力層、６２  出力層、７２，７６  指標算出部（算出手段）、Ｄ１  購入履歴データ、Ｄ２  イベントデータ、Ｄ３  カート商品データ、Ｄ４  提供データ、Ｄ５  ＰＯＳデータ。
【図１】
2020102043.tif 000003
【図２】
2020102043.tif 000004
【図３】
2020102043.tif 000005
【図４】
2020102043.tif 000006
【図５】
2020102043.tif 000007
【図６】
2020102043.tif 000008
【図７】
2020102043.tif 000009
【図８】
2020102043.tif 000010
【図９】
2020102043.tif 000011