(57)【特許請求の範囲】
【請求項１】
電子商取引が可能な各アイテムごとにＩＤ付与された事物を推薦するための推薦装置であって、
複数のユーザからなるユーザグループについて、IDを付与した事物をユーザグループ内の各ユーザに提示することにより、該ユーザから入力された該事物に対する評点を事物IDごとに格納する評点情報記憶手段と、
グループに属するユーザIDを格納するグループ情報記憶手段と、
求める目的関数に、前記評点の平均値と分散値の重み付き差分、または、該評点の平均値と絶対偏差の重み付き差分を利用するものとし、複数の事物の組み合わせを、事物を含むときに正の実数値とする変数（w）で表現し、前記グループ情報記憶手段のグループに含まれるユーザに対応する前記評点情報記憶手段の前記評点に基づいて、全ての事物の組み合わせについて該変数（ｗ）を変化させて、事物の組み合わせにおける得点値と失点値とを含む目的関数f(w)を算出する目的関数算出手段と、
前記得点値と前記失点値の差が最大となる変数（ｗ）を最適解として出力する推薦手段と、
を有することを特徴とする推薦装置。
【請求項２】
前記目的関数算出手段は、
前記得点値を算出する際に、各ユーザが前記事物に付与した前記評点の平均値を利用し、前記失点値を算出する際に、各ユーザが前記事物に付与した前記評点を、組み合わせた事物及び全ユーザに対して累計した分散値、または、各ユーザの表現の絶対偏差を用いる手段を含む
請求項１記載の推薦装置。
【請求項３】
前記目的関数算出手段は、
前記目的関数の値が最大となる変数（ｗ）の値を、線形計画問題により導出する手段を含む
請求項１または２記載の推薦装置。
【請求項４】
前記目的関数算出手段は、
前記変数（ｗ）の範囲を、実数値ではなく、含まないときに"０"、含むときに"１"の２値の離散値で表現し、さらに、該変数（ｗ）が１となる個数を限定したときに、前記目的関数を最大にする変数（ｗ）を離散値最適化問題により導出する手段を含む
請求項１または２記載の推薦装置。
【請求項５】
電子商取引が可能な各アイテムごとにＩＤ付与された事物を推薦するための推薦装置であって、
複数のユーザからなるユーザグループについて、IDを付与した事物をユーザグループ内の各ユーザに提示することにより、該ユーザから入力された該事物に対する評点を事物IDごとに格納する評点情報記憶手段と、
グループに属するユーザIDを格納するグループ情報記憶手段と、
求める目的関数に、評点の最小値を利用するものとし、複数の事物の組み合わせを事物を含まないときに"０"、含むときに"１"の２値の離散値とする変数（ｂ）で表現し、前記グループ情報記憶手段に属するユーザ単位で、該変数（ｂ）と前記評点情報記憶手段の前記評点を乗算した値を累計して、該事物の組み合わせにおける得点を求め、該変数を変化させて、最小値となるときの得点ｆを求める最小値算出手段と、
前記最小値算出手段において、前記得点ｆが最大となる変数（ｂ）を最適解として出力する推薦手段と、
を有することを特徴とする推薦装置。
【請求項６】
電子商取引が可能な各アイテムごとにＩＤ付与された事物を推薦するための推薦方法であって、
複数のユーザからなるユーザグループについて、IDを付与した事物をユーザグループ内の各ユーザに提示することにより、該ユーザから入力された該事物に対する評点を事物IDごとに格納する評点情報記憶手段と、
グループに属するユーザIDを格納するグループ情報記憶手段と、
目的関数算出手段と、推薦手段と、を有する装置において、
前記目的関数算出手段が、求める目的関数に、前記評点の平均値と分散値の重み付き差分、または、該評点の平均値と絶対偏差の重み付き差分を利用するものとし、複数の事物の組み合わせを、事物を含むときに正の実数値とする変数（w）で表現し、前記グループ情報記憶手段のグループに含まれるユーザに対応する前記評点情報記憶手段の前記評点に基づいて、全ての事物の組み合わせについて該変数（ｗ）を変化させて、事物の組み合わせにおける得点値と失点値とを含む目的関数f(w)を算出する目的関数算出ステップと、
前記推薦手段が、前記得点値と前記失点値の差が最大となる変数（ｗ）を最適解として出力する推薦ステップと、
を行うことを特徴とする推薦方法。
【請求項７】
前記目的関数算出ステップにおいて、
前記得点値を算出する際に、各ユーザが前記事物に付与した前記評点の平均値を利用し、前記失点値を算出する際に、各ユーザが前記事物に付与した前記評点を、組み合わせた事物及び全ユーザに対して累計した分散値、または、各ユーザの表現の絶対偏差を用いる
請求項６記載の推薦方法。
【請求項８】
前記目的関数算出ステップにおいて、
前記目的関数の値が最大となる変数（ｗ）の値を、線形計画問題により導出する
請求項６または７記載の推薦方法。
【請求項９】
前記目的関数算出ステップにおいて、
前記変数（ｗ）の範囲を、実数値ではなく、含まないときに"０"、含むときに"１"の２値の離散値で表現し、さらに、該変数（ｗ）が１となる個数を限定したときに、前記目的関数を最大にする変数（ｗ）を離散値最適化問題により導出する
請求項６または７記載の推薦方法。
【請求項１０】
電子商取引が可能な各アイテムごとにＩＤ付与された事物を推薦するための推薦方法であって、
複数のユーザからなるユーザグループについて、IDを付与した事物をユーザグループ内の各ユーザに提示することにより、該ユーザから入力された該事物に対する評点を事物IDごとに格納する評点情報記憶手段と、
グループに属するユーザIDを格納するグループ情報記憶手段と、
最小値算出手段と、推薦手段と、を有する装置において、
前記最小値算出手段が、求める目的関数に、評点の最小値を利用するものとし、複数の事物の組み合わせを事物を含まないときに"０"、含むときに"１"の２値の離散値とする変数（ｂ）で表現し、前記グループ情報記憶手段に属するユーザ単位で、該変数（ｂ）と前記評点情報記憶手段の前記評点を乗算した値を累計して、該事物の組み合わせにおける得点を求め、該変数を変化させて、最小値となるときの得点ｆを求める最小値算出ステップと、
前記推薦手段が、前記最小値算出ステップにおいて、前記得点ｆが最大となる変数（ｂ）を最適解として出力する推薦ステップと、
を行うことを特徴とする推薦方法。
【請求項１１】
コンピュータを、
請求項１乃至５のいずれか１項に記載の推薦装置の各手段として機能させるための推薦プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、推薦装置及び方法及びプログラムに係り、特に、E-Commerce（電子商取引）サービスにおいて評価の高い商品、ソフトウェアやサービス等の事物の組み合わせを、複数のユーザからなるユーザグループに推薦するための推薦装置及び方法及びプログラムに関する。
【背景技術】
【０００２】
複数のユーザからなるユーザグループへの推薦技術は、飲食店推薦・旅行先推薦・BGM推薦など複数人での利用が前提となるサービスに適用することで、ユーザ満足度を高めることができる有効な技術である（例えば、非特許文献1参照）。当該非特許文献１のユーザグループへの推薦技術として、グループに所属するユーザの商品評点情報が利用可能であるとき、各ユーザの評点を用いて次の４つのいずれかの手法を用いて各商品のグループ評点を算出する方法がある。
【０００３】
手法１：グループ内の評点の平均値：
手法２：グループ内の評点の最小値：
手法３：グループ内の評点の平均値と分散値の重み付き和（平均値が大きければ大きいほど値が大きく、分散が大きいほど値が小さくなるように設定される）：
手法４：平均値と絶対偏差の重み付き和（平均値が大きければ大きいほど値が大きく、絶対偏差が大きいほど値が小さくなるように設定される）：
算出したグループ評点を基にグループ評点の高い商品を推薦する。ユーザＡ，Ｂ，Ｃからなるグループの評点情報の例とグループ評点算出に利用する統計量を表1に示す。
【０００４】
【表１】
0005941875.tif 000002
表１では各ユーザが入力した評点は０〜５の範囲の実数値としているが、評点の範囲は異なるものでもよく、値も実数値、離散値のいずれでもよい。表1における上記の手法１の各商品のグループ評点の値は平均値の行に対応し、手法２による値は最小値の行に対応する。手法３によるグループ評点は平均値の行から分散値の行の値を重み付けて（例えば0.5を乗算）引いた値、手法４は同様に平均値の行から絶対偏差の行の値を重み付けて引いた値となる。
【０００５】
グループ評点算出にどの方法を用いるかは推薦する方針による適切に選択する。例えば、手法１の平均値を用いた算出法は、"グループ内の満足度を最大化"を目指した方法、手法２の最小値を用いた算出法であれば、グループ内の誰かが極端に低い評点をつけた商品を回避するという意味で"グループ内の不満を最小化する"推薦を目指した方法と見做すことができる。手法３，４の重み付き和を用いた方法は、平均が大きく、分散（もしくは絶対偏差）が小さい（＝ユーザの評点のバラツキが小さい）商品、すなわちユーザ全体で同程度の高評点を持つ商品を推薦する"満足度最大化と不満最小化のバランス"を目指す方法といえる。
【０００６】
また、ユーザの商品評点情報に加えてグループの行動履歴データが利用可能であると仮定し、グループの特性、すなわちグループのユーザ間の力関係や嗜好の偏り具合を考慮した推薦リストを作成する方法がある（例えば、特許文献1参照）。
【先行技術文献】
【特許文献】
【０００７】
【特許文献１】特開2012−43036号公報
【非特許文献】
【０００８】
【非特許文献１】Recommendation to Groups, A. Jameson and B. Smyth.  The Adaptive Web, 2007.
【発明の概要】
【発明が解決しようとする課題】
【０００９】
しかしながら、上記の非特許文献１、特許文献1の技術は、グループが推薦リストから複数の商品を選択したい場合（具体例は後述する）にユーザの公平性を保つことはできない。これは、非特許文献1の手法では、算出するグループ評点は商品ごとに独立に算出され、商品の組み合わせを考慮していないことに起因し、グループ評点の高い商品で構成される推薦リストが、ある特定のユーザの評点が高い商品ばかりで占められてしまう可能性がある。
【００１０】
上記の表1及び以下の表２を用いて具体的に示す。
【００１１】
【表２】
0005941875.tif 000003
表２は表1の評点を元に商品の組合せに対して評点を記述したものである。表１において平均値をグループ評点として二つの商品の推薦を行う場合、表中の平均値行の値の上位２つの「商品１」、「商品４」が推薦されることとなる。しかし、この組み合わせは望ましい組み合わせではない。なぜなら、表２を見ると｛商品１、商品４｝の組み合わせと｛商品1、商品２｝の組み合わせの評点の平均値は同じ値（6.9）でありながら、分散の値が｛商品１、商品４｝の組みの方がはるかに大きな値となっているためである。表２における各ユーザの評点を見ても｛商品1、商品２｝の組み合わせではユーザＡとユーザＣの差は1.2程度であるが、｛商品1、商品４｝の組ではユーザＡの評点がユーザＣの評点よりも３以上も小さな値となっており、ユーザ間に大きな不公平が生じてしまっている。これはグループに対する複数商品の推薦において、商品の組み合わせに対してグループ評点を定義すべきであることを示唆している。
【００１２】
特許文献1の手法においてもそもそも不公平を重要な尺度と見做していない。公平性ではなくグループの特性に着目するのは重要なアプローチではあるが、グループ行動履歴データのない新たに作られたグループに対して特許文献1の手法は適用できない。よって新たに作られたグループに対しては公平性に留意して推薦を行うことが自然なアプローチとなるが、前述したようにグループ行動履歴データを用いない非特許文献1の手法では複数商品選択時のユーザ間の公平性は保たれない。
【００１３】
上記のように、従来技術では、例えば、N個の商品中K個の商品を推薦したい場合、
(1)個々の商品ごとに、グループ内ユーザによって、ユーザ全員の評価が高いものを単純に選ぶための評点の平均値を求める；
(2)ユーザが低すぎる評価をしたものを避けて選ぶための評点の最小値を求める；
(3)ユーザ全員の評価は高く、かつ、ユーザの評価のばらつきが低い方を選ぶための評点の平均値と分散値の重み付き差分を求める；
(4)ユーザ全員の評価は高く、かつ、ユーザの評価のばらつきが低いほうを選ぶための評点の平均値と絶対偏差の重み付き差分を求める；
等の目的関数で評価し、その結果、目的関数の値が大きくなった順にK個の商品を推薦している。しかし、この方法では、単品ごとの評点の平均値と分散値がそれぞれ異なった傾向を有する可能性については考慮されていない。そのため、例えば、(3)の目的関数を用いてK個の商品を推薦したときに、ある商品では平均値が高く分散値も高かったが、結果的に目的関数の値が高くなる結果となり、また、ある商品では、平均値は高い値でなくても分散値が小さく、結果的に目的関数の値が高くなる結果となることがある。その結果、目的関数が高い値をとったとして選ばれた商品を横通しで見ると、ある商品は特定のユーザだけが高評価したものであり、別の商品は各ユーザとも中ぐらいの評価であるのに選ばれてしまうという結果なるなど、複数商品の組み合わせ推薦をしたい場合には不向きと言える。
【００１４】
本発明は、上記の点に鑑みなされたもので、E-Commerceサービスにおいて、複数ユーザからなるグループに対して満足度・公平度の両面を考慮した商品、サービス等の事物の推薦が可能な事物推薦装置及び方法及びプログラムを提供することを目的とする。
【課題を解決するための手段】
【００１５】
一態様によれば、電子商取引が可能な各アイテムごとにＩＤ付与された事物を推薦するための推薦装置であって、
複数のユーザからなるユーザグループについて、IDを付与した事物をユーザグループ内の各ユーザに提示することにより、該ユーザから入力された該事物に対する評点を事物IDごとに格納する評点情報記憶手段と、
グループに属するユーザIDを格納するグループ情報記憶手段と、
求める目的関数に、前記評点の平均値と分散値の重み付き差分、または、該評点の平均値と絶対偏差の重み付き差分を利用するものとし、複数の事物の組み合わせを、事物を含むときに正の実数値とする変数（w）で表現し、前記グループ情報記憶手段のグループに含まれるユーザに対応する前記評点情報記憶手段の前記評点に基づいて、全ての事物の組み合わせについて該変数（ｗ）を変化させて、事物の組み合わせにおける得点値と失点値とを含む目的関数f(w)を算出する目的関数算出手段と、
前記得点値と前記失点値の差が最大となる変数（ｗ）を最適解として出力する推薦手段と、を有する推薦装置が提供される。
【発明の効果】
【００１６】
一態様によれば、従来の技術では不可能であった、複数ユーザからなるユーザグループに対して満足度・公平度の両面を考慮した商品の推薦が行えるようになる。
【００１７】
また、不公平さの低減により、サービスのより長期にわたる利用・購買が促進されるため、大幅な収益増につながる。
【図面の簡単な説明】
【００１８】
【図１】本発明の一実施の形態におけるユーザグループ商品推薦装置の概要動作のフローチャートである。
【図２】本発明の一実施の形態におけるユーザグループ商品推薦装置の構成例である。
【図３】本発明の一実施の形態における評点情報テーブルの例である。
【図４】本発明の一実施の形態におけるグループ情報テーブルの例である。
【図５】本発明の一実施の形態におけるグループ推薦リストの例である。
【図６】本発明の一実施の形態における評点情報更新時の処理のフローチャートである。
【図７】本発明の一実施の形態におけるグループ情報更新時の処理のフローチャートである。
【図８】本発明の一実施の形態におけるグループ推薦リスト作成時のフローチャートである。
【図９】本発明の一実施の形態における図８のステップ３３０の詳細な処理のフローチャートである。
【図１０】本発明の一実施の形態における推薦処理のフローチャートである。
【図１１】本発明の一実施の形態における推薦リストの例である。
【発明を実施するための形態】
【００１９】
以下、図面と共に本発明の実施の形態を説明する。
【００２０】
本発明は、複数のユーザからなるユーザグループの存在するE-Commerceサービスに対して商品を推薦するものであり、従来技術に基づく複数商品推薦のユーザ間の不公平さをなくすために、商品ごとに独立にグループ評点を計算するのではなく、商品の組み合わせを考慮した新しいグループ評点（以下「組み合わせ評点」と記す）を定義し、これを基に推薦リストを生成する。具体的には、前述の非特許文献１の平均値と分散との重み付け和に基づく方法（手法３）、平均値と分散との重み付け和に基づく方法（手法４）を商品の組合せに対して適用できるように拡張した方法である。本発明では、ユーザグループへの商品推薦を行う際に、商品の組み合わせに基づいて評点を算出する。
【００２１】
まず、本発明の概要動作を説明する。
【００２２】
図１は、本発明の一実施の形態におけるユーザグループ商品推薦装置の概要動作のフローチャートである。
【００２３】
ステップ１）  複数の商品を取捨選択し、商品の組み合わせを生成しておく。以下では、全ての商品の数N個とすると、最終的に推薦したい商品の個数をK個に限定することを目的としている（N≧K）。
【００２４】
ステップ２）  商品の組み合わせの個々の商品に対してユーザがどのような評点を与えたかを取り出して、商品の組み合わせを考慮した新たな目的関数にあてはめて評価する。なお、複数のユーザは予め各商品に対して、一定の範囲の値で評点を付与しておく（例えば、１〜５の５段階）。
【００２５】
ステップ３）  全ての商品の組み合わせについて目的関数を決定する。
【００２６】
ステップ４）  目的関数が最大になった商品の組み合わせを推薦商品とする。
【００２７】
図２は、本発明の一実施の形態におけるユーザグループ商品推薦装置の構成例である。
【００２８】
同図に示すユーザグループ商品推薦装置１は、評点情報処理部１０、グループ情報処理部２０、グループ推薦リスト作成部３０、推薦処理部４０、記憶部５０、通信処理部６０、入出力部７０を有し、通信処理部６０は、ネットワーク２に接続されており、入出力部７０は入力装置や表示装置等の外部装置４に接続されている。ネットワーク２は外部端末３に接続されている。
【００２９】
グループ推薦リスト作成部３０は、公平度考慮グループスコア算出部３１を有する。
【００３０】
記憶部５０は、評点情報テーブル５１、グループ情報テーブル５２、グループ推薦リスト５３を有する。
【００３１】
以下に各テーブルについて説明する。
【００３２】
＜評点情報テーブル５１＞
評点情報テーブル５１は、図３に示すように、ユーザIDフィールド、商品IDフィールド、評点フィールドを有する。ユーザIDフィールドは、評点情報処理部１０により評点実施ユーザを特定する識別子が設定される。商品IDフィールドは、評点情報処理部１０により評点を付けられた商品がいずれの商品に関するものかを特定する識別子が設定される。評点フィールドは、評点情報処理部１０により当該ユーザが当該商品に対する評点の値が設定される。
【００３３】
＜グループ情報テーブル５２＞
グループ情報テーブル５２は、図４に示すように、グループIDフィールドと、ユーザIDフィールドを有する。グループIDフィールドには、グループ情報処理部２０により複数のユーザから構成されるグループを特定する識別子が設定される。ユーザIDフィールドには、グループ情報処理部２０により当該グループに含まれるユーザの識別子が設定される。
【００３４】
＜グループ推薦リスト５３＞
グループ推薦リスト５３は、図５に示すように、グループIDフィールドと、商品IDフィールドと、グループ推薦スコアフィールドを有する。グループIDフィールドにはグループ推薦リスト作成部３０によりグループを特定する識別子が設定される。商品IDフィールドには、グループ推薦リスト作成部３０により商品を特定する識別子が設定される。グループ推薦スコアフィールドには、グループ推薦リスト作成部３０により算出された当該グループの当該商品に対するグループ推薦スコアが設定される。
【００３５】
上記の構成における動作を説明する。
【００３６】
本実施の形態では、組み合わせグループ評点に基づいて推薦リストを生成することを考える。
【００３７】
本発明では、従来技術の非特許文献１の手法３の「評点の平均値と分散値の重み付き和」または、手法４の「評点の平均値と絶対偏差の重み付き和」の考え方と同様であるが、組み合わせグループ評点を用いることにより、組み合わせが考慮されていない商品の組では目的関数が小さく評価され、商品の推薦として排除されやすくなる。
【００３８】
以下に具体的な動作を説明する。
【００３９】
（１）全ての商品の数をN個とすると、最終的に推薦したい商品の個数をK個に限定することを目的として、ＮとＫを設定する（N≧K）。
【００４０】
（２）複数のユーザは予め、各商品に対して、一定範囲の値で評点を付与しておき、これを評点情報処理部１０において収集し、評点情報テーブル５１に格納しておく。例えば、評点は1〜５の5段階評価の値とする。
【００４１】
また、グループ情報処理部２０は、グループに属するユーザをグループ情報テーブル５２に格納する。
【００４２】
（３）グループ推薦リスト作成部３０は、以下の方法で組み合わせグループ評点を算出し、記憶部５０のグループ推薦リスト５３に格納する。
【００４３】
N個の商品に対するK個の商品からなる組み合わせを表す変数wをｗ＝(ｗj)jとする。但し、wは
【００４４】
【数１】
0005941875.tif 000004
を満たす、次元数が全商品数となるベクトルである。jは商品に付与したID番号であり、ｊ＝1,…,Nである。wjは０または1の値をとり、wj＝1の場合はその商品ｊが組み合わせとして選択されたことを示す。同時にwj=１となるのはK個とする。
【００４５】
（４）グループ推薦リスト作成部３０は、グループ情報テーブル５２の各グループごとのユーザの評点を評点情報テーブル５１から読み出して、wにおける組み合わせグループ評点（目的関数f(w)）を以下のように求める。目的関数f(w)は、以下の通りとなる。式(１)に示す目的関数f(w)を、評点和のユーザ平均（式(１)右辺の第１項）が大きく、かつ、各ユーザのユーザ平均からの二乗誤差（式(1)右辺第２項）が小さい場合に最大化されるものとして定義し、この組み合わせグループ評点が大きい商品の組み合わせはユーザの満足度が高く不公平度が小さいものとなる。
【００４６】
【数２】
0005941875.tif 000005
但し、
【００４７】
【数３】
0005941875.tif 000006
は、商品の組み合わせに対する評点和のユーザ平均である。λ（＞０）は有限の値をとる不公平度調整パラメータであるrijはグループ内ユーザiの商品jへの評点であり、Mはグループ内ユーザ数である。式（１）、式(２)におけるiに関する総和は、グループに所属しているユーザに関する総和であり、jに関する総和は全商品に関する総和である。
【００４８】
上記の式（１）の右辺の第1項に相当する式（２）は、ユーザグループ内のユーザ（M人）がｗで表現される商品の組合せ全体に付与した評点の総和の平均値であり、目的関数f(w)における得点値となる。また、式（１）の第２項は、ユーザ（M人）の評点のばらつきを示す分散値であり、得点値に対する失点値となり、この項の値が大きくなると目的関数f(w)の値は低くなる。ここで、式（1）の第２項の自乗の項は、商品の組み合わせｗにおけるユーザの評点和を評点和のグループ内平均から引いたものであり、自乗項は、グループ内のあるユーザの評点和がグループ内の評点和平均から低すぎたり、高すぎたりする際に平均から乖離した大きな値として評価されることになる。これをグループ内の全ユーザの総和として求めるため、目的関数f(w)としては商品の組み合わせｗにおいて、グループ内のユーザ評点和がグループ内平均よりも高すぎたり、低すぎたりケースが頻発するときは低い値となり、逆に評点和のグループ内平均が大きく、かつ、メンバのどのユーザ評点和もグループ内平均に近い大きい値をとるとき、目的関数は高い値を取り得ることになる。
【００４９】
つまり、上記の式（１）を目的関数とし、組み合わせの商品の数をK個に制限下もとでの最適な組み合わせｗは、式（２）の離散最適問題を解くことで求めることができる。
【００５０】
（５）全てのK個の商品の組み合わせを取り得るように、変数wjを変化させて上記の（３）〜（４）を計算する。
【００５１】
（６）最終的に、推薦処理部４０において、目的関数f(w)（式(1)）として、「得点値と失点値との差分」が最大となる場合のwj＝１となったK個の商品の組み合わせを、目的に沿った最適解の商品K個として出力する。
【００５２】
最適解は、式（3）に示す離散最適問題を解くことで求める。
【００５３】
【数４】
0005941875.tif 000007
式（３）の解
【００５４】
【数５】
0005941875.tif 000008
の値を商品ｊのグループ推薦スコアと呼ぶこととする。式（３）により明らかに、
【００５５】
【数６】
0005941875.tif 000009
の値は０か１であり、かつ、
【００５６】
【数７】
0005941875.tif 000010
となる商品jの数はK個である。これが式（３）の目的関数を最小化する商品ｊの組み合わせである。
【００５７】
しかしながら、離散最適問題式（式（３））は、大規模問題においては解を求めることは困難となるため、近似解を求める方法を示す。グループ推薦スコアを線形計画問題（式（４））の解
【００５８】
【数８】
0005941875.tif 000011
と定義する。
【００５９】
【数９】
0005941875.tif 000012
上記の線形計画問題は、式（４）の3行目、4行目の制約条件により、式（３）では離散値に限定されていた変数ｗの離散値の制約を外すことで近似解を求めている。式（４）の右辺は必ずしも1である必要はなく、任意の有限の正の実数であればよい。）この目的関数はリスク尺度に絶対偏差を用いたポートフォリオ最適化問題と等価であり、線形計画問題として効率的に解くことができる。絶対誤差を用いたことで線形計画問題に帰着することができている。離散最適問題の場合と同じく、
【００６０】
【数１０】
0005941875.tif 000013
を商品ｊのグループ推薦スコアと呼ぶこととする。しかし、式（４）においては式（３）と異なり、
【００６１】
【数１１】
0005941875.tif 000014
の値は、実数値となる。したがって、この場合に推薦する商品の組み合わせを提示する場合は工夫が必要となるが、
【００６２】
【数１２】
0005941875.tif 000015
の値は大きい上位K個を選ぶ、もしくは、ある閾値を設けて
【００６３】
【数１３】
0005941875.tif 000016
がその値を上回る商品ｊを推薦することで、グループ推薦スコアを基に所望の商品の組み合わせが求まる。
【００６４】
以下に、図２に示す構成要素ごとの処理を示す。
【００６５】
＜評点情報処理部１０＞
最初に、評点情報テーブル５１の更新時の処理を説明する。
【００６６】
図６は、本発明の一実施の形態における評点情報更新時の処理のフローチャートである。
【００６７】
評点情報処理部１０による評点情報更新のタイミングは、例えば、システム管理者が手動で管理できるようにしてもよいし、ユーザが何らかの商品を評価した場合に自動的に起動するようにしてもよい。
【００６８】
ステップ１１０）  評点情報処理部１０は、評点情報テーブル５１に、評価された商品、評価したユーザ及び評点に応じて、商品IDフィールド、ユーザIDフィールド、評点の値を設定した行を挿入する。
【００６９】
＜グループ情報処理部２０＞
次に、グループ情報処理部２０によるグループ情報更新時の処理について説明する。
【００７０】
図７は、本発明の一実施の形態におけるグループ情報更新時の処理のフローチャートである。
【００７１】
グループ情報処理部２０によるグループ情報更新のタイミングは、例えばシステム管理者が手動で管理できるようにしてもよいし、新たなグループが作成された場合や新たにユーザが追加された場合に自動的に起動するようにしてもよい。
【００７２】
ステップ２１０）  グループ情報処理部２０が、グループ情報テーブル５２に編集されたグループ、所属するユーザに応じてグループIDフィールドとユーザIDフィールドの値を設定した行を挿入する。なお、グループ情報の編集処理は、グループ情報テーブル５２にこれまで存在していなかった新たなグループＩＤを含んだ行を挿入する処理を指す。
【００７３】
＜グループ推薦リスト作成部３０＞
次に、グループ推薦リスト作成部３０によるグループ推薦リスト作成時の処理について説明する。
【００７４】
図８は、本発明の一実施の形態におけるグループ推薦リスト作成時のフローチャートである。
【００７５】
グループ推薦リスト作成部３０による推薦リスト作成のタイミングは、例えば、システム管理者が手動で管理することができるようにしてもよいし、定期的に自動で行ってもよい。なお、本発明の実施の形態においては全ての｛ユーザ，アイテム｝対に対して評点が与えられている場合を考える。評点の該｛ユーザ，アイテム｝対が存在しない場合であっても、非特許文献２（Variational Bayesian Approach to Movie Rating Prediction. Y. J. Lim and Y. W. The., 2007.）に記載手法で評点の補完を行うことができ、本発明をそのまま適用することができる。
【００７６】
ステップ３１０）  グループ推薦リスト作成部３０は、グループ情報テーブル５２を参照し、グループIDフィールドに出現する全てのグループＩＤの値をメモリ（図示せず）のグループ集合Gに設定する。
【００７７】
取得したグループ集合Gに出現する各グループgについてステップ３２０〜３４０を実行する。
【００７８】
ステップ３２０）  グループ推薦リスト作成部３０が、グループ情報テーブル５２を参照し、グループgのグループIDフィールドと同じ行に出現するユーザIDフィールドの全ての値をメモリ（図示せず）のユーザ集合Uに設定する。Uの要素数、すなわちグループに所属するユーザ数をMとする。
【００７９】
ステップ３３０）  公平度考慮グループスコア算出部３１が、評価情報テーブル５１及びグループ情報テーブル５２を用いてグループgの各商品jに対するグループ推薦スコアgrgjを算出する。具体的には、前述の式(３)、式４）のいずれかを用いて算出する。
【００８０】
ステップ３４０）  グループ推薦リスト作成部３０は、グループ推薦リスト５３に推薦する商品の個数分の行を構成し、推薦する商品jごとに、グループIDフィールドにグループgのグループID、商品IDフィールドに商品jの商品ID、グループ推薦スコアフィールドにグループ推薦スコアgrgiを格納する。ここで商品を推薦するかしないかの基準としては、グループ推薦スコアの値が大きいものから順に予め設定した任意の件数を推薦すべき商品としてもよいし、グループ推薦スコアに対して閾値を設けて、グループ推薦スコアがその値を超えるものを推薦すべき商品としてもよい。
【００８１】
上記のステップ３３０の処理について詳細に説明する。
【００８２】
図９は、本発明の一実施の形態におけるステップ３３０の詳細な処理のフローチャートである。
【００８３】
ステップ３３１）  公平度考慮グループスコア算出部３１が、一時変数ｆ(線形計画問題における目的関数パラメータ)，A(線形計画問題における変数の不等式制約パラメータ)，Aeq(等式制約パラメータ)，ｂ(線形計画問題における変数の不等式制約パラメータ)，beq(等式制約パラメータ)，lb(不等式制約パラメータ)を式（５）にしたがって初期化し、パラメータλを設定する（Jは総アイテム数）。パラメータλは予め与えられている定数に従って設定される。なお、一時変数ｆ，A，Aeq，ｂ，beq，lbはメモリ（図示せず）に格納されるものとする。
【００８４】
【数１４】
0005941875.tif 000017
ステップ３３２）  公平度考慮グループスコア算出部３１は、評点情報テーブル５１からユーザ集合Uに所属する各ユーザuの各商品（計J個）の評点
【００８５】
【数１５】
0005941875.tif 000018
を取得し、Aを式（６）にしたがって更新する。Aeqを式（７）にしたがって更新する。
【００８６】
【数１６】
0005941875.tif 000019
ステップ３３３）  公平度考慮グループスコア算出部３１は、ｆ，A，Aeq，ｂ，beq，lbを用いて式（８）の線形計画問題を解く。線形計画問題の解法には、例えば、単体法が利用できる（非特許文献３：Practical Methods of Optimization, 2nd Edition. R. Fletcher, Wiley, 1987.参照）。式（８）は、線形計画問題の一般形であり、入力ｆ，A，Aeq，ｂ，beq，lbを与えることで、式（８）の制約条件下で目的関数fTxを最小化する解xoptを求める（式（８）はダミー変数を導入することで、式（1）から直接導出される）。
【００８７】
【数１７】
0005941875.tif 000020
ステップ３３４）  公平度考慮グループスコア算出部３１は、各商品ｊに対して解xoptの第M+j+1要素を抜き出し、グループgの商品jに対するグループ推薦スコアgrgiに設定する。これは、第1成分から第M+1成分にはダミー変数を導入しているためである。グループ推薦スコアの商品に関する総和は、
【００８８】
【数１８】
0005941875.tif 000021
を満たす。
【００８９】
＜推薦処理部４０＞
次に、推薦処理時の処理を説明する。
【００９０】
図１０は、本発明の一実施の形態における推薦処理時の処理のフローチャートである。
【００９１】
推薦処理は、例えば、通信処理部６０、ネットワーク２を介して外部端末３から当該ユーザグループ商品推薦装置１に推薦実行のリクエストが入力された場合に実行すればよい。このときのリクエストの引数は推薦対象のグループIDである。今、グループgに関する推薦のリクエストがあったとする。
【００９２】
ステップ４１０）  推薦処理部４０が、グループ推薦リスト５３を参照し、グループgのグループIDをもつ行の商品IDを（複数個）取得し、商品を推薦する。
【００９３】
推薦リストにおける推薦する商品数は、グループ推薦スコアの値を基に、例えば、上位4件を推薦するとしてもよいし、閾値を設定してそれを上回る商品を推薦してもよい。推薦処理部４０が出力する推薦リストの例を図１１に示す。
【００９４】
なお、上記では、従来技術の非特許文献１の手法３，４の目的関数に基づいて商品の組み合わせを考慮する方法を示しているが、この例に限定されることなく、従来技術の手法２の「評点の最小値」についても適用可能である。
【００９５】
商品の組み合わせについて、非特許文献1の手法２の「グループ内評点の最小値」に適用する場合は、
【００９６】
【数１９】
0005941875.tif 000022
上記において、biは商品iを組み合わせに含む"１"、含まない"０"のフラグであり、rmはグループ内ユーザmが商品iに付与した評価値のベクトルを表す。
【００９７】
上記の式の意味は、各ユーザ単位で、ある商品｛bi｝の組み合わせにおける得点fを計算し、最小値となるユーザの得点fを求め、その後、商品の組み合わせ{bi}をいろいろ変更して、得点ｆが最大値をとる組み合わせ｛bi｝の値を求める。
【００９８】
上記のように、手法２について、商品を含む"１"、含まない"０"の組み合わせを集計に適用することで、ユーザの過大な評価ではなく、かつ、最適な組み合わせとなる商品を推薦できる。
【００９９】
なお、上記の実施の形態では、商品を推薦する例を示しているが、この例に限定されることなく、例えば、サービスやテレビ番組やソフトウェアなど、１つ１つにID番号を付与して識別可能な事物であれば、あらゆるものが本装置によって推薦可能である。
【０１００】
また、上記の実施の形態の図２に示すユーザグループ商品推薦装置の各構成要素の動作をプログラムとして構築し、ユーザグループ商品推薦装置として利用されるコンピュータにインストールして実行させる、または、ネットワークを介して流通させることが可能である。
【０１０１】
本発明は、上記の実施の形態に限定されることなく、特許請求の範囲内において、種々変更・応用が可能である。
【符号の説明】
【０１０２】
１  ユーザグループ商品推薦装置
２  ネットワーク
３  外部端末
４  外部装置
１０評点情報処理部
２０  グループ情報処理部
３０  グループ推薦リスト作成部
３１  公平度考慮グループスコア算出部
４０  推薦処理部
５０  記憶部
５１  評点情報テーブル
５２  グループ情報テーブル
５３  グループ推薦リスト
６０  通信処理部
７０  入出力部
【図１】
0005941875.tif 000023
【図２】
0005941875.tif 000024
【図３】
0005941875.tif 000025
【図４】
0005941875.tif 000026
【図５】
0005941875.tif 000027
【図６】
0005941875.tif 000028
【図７】
0005941875.tif 000029
【図８】
0005941875.tif 000030
【図９】
0005941875.tif 000031
【図１０】
0005941875.tif 000032
【図１１】
0005941875.tif 000033