(57)【特許請求の範囲】
【請求項１】
複数のサンプルデータを含むデータベースを記憶する記憶部と、
カテゴリデータの規模を決定するためのパラメータを入力する入力部と、
前記入力部によって入力されたパラメータ及び前記データベースに基づいて、変分ベイズ法による混合分布モデルを用いたアルゴリズムにより、前記データベースに含まれるサンプルデータを含む一又は複数の部分集合データである一又は複数のカテゴリデータを生成する制御部と、
を備える情報処理装置であって、
前記パラメータは、前記混合分布モデルにおける混合される分布の事前分布及び／又は混合比側の事前分布を決定するためのパラメータであり、
前記混合分布モデルは、混合ベルヌーイ分布であり、
混合比側の分布の事前分布にディリクレ分布を用い、そのパラメータの値を混合分布の次元に１を加算した値を２で除算した値以下とし、前記混合ベルヌーイ分布側の事前分布にベータ分布を用い、そのパラメータの値を０．１以下に設定することを特徴とする情報処理装置。
【請求項２】
前記カテゴリデータの規模は、クラスタリングの粒度であることを特徴とする請求項１に記載の情報処理装置。
【請求項３】
前記パラメータは、前記クラスタリングの粒度の大小を決定するためのパラメータであることを特徴とする請求項２に記載の情報処理装置。
【請求項４】
前記混合される分布の分散値の大小は、生成されるカテゴリデータの数及び一のカテゴリデータに含まれるサンプルデータの多少と相関を有することを特徴とする請求項１から３のいずれか一項に記載の情報処理装置。
【請求項５】
コンピュータを、
複数のサンプルデータを含むデータベースを記憶する手段、
カテゴリデータの規模を決定するためのパラメータを入力する手段、
前記入力されたパラメータ及び前記データベースに基づいて、変分ベイズ法による混合分布モデルを用いたアルゴリズムにより、前記データベースに含まれるサンプルデータを含む一又は複数の部分集合データである一又は複数のカテゴリデータを生成する手段、
として機能させるためのプログラムであって、
前記パラメータは、前記混合分布モデルにおける混合される分布の事前分布及び／又は混合比側の事前分布を決定するためのパラメータであり、
前記混合分布モデルは、混合ベルヌーイ分布であり、
混合比側の分布の事前分布にディリクレ分布を用い、そのパラメータの値を混合分布の次元に１を加算した値を２で除算した値以下とし、前記混合ベルヌーイ分布側の事前分布にベータ分布を用い、そのパラメータの値を０．１以下に設定することを特徴とするプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、情報処理装置及びプログラムに関する。
【背景技術】
【０００２】
近年、商品の購入を薦める等の提案を行う場合に、提案を受ける対象と同様の傾向を有する他のものの情報に基づいて提案を行う方法が用いられている。この方法では、例えば、提案を受ける対象者が過去にある商品（商品Ａ）を購入していた場合、同じ商品Ａを過去に購入した他者が購入している他の商品の購入を対象者へ勧める提案を行う。ここで、商品Ａを購入した他者は、商品Ａを購入していない他者に比して対象者と同様の購買傾向を持つ可能性が相対的に高いとみなされる。以下、このような提案のための処理を「レコメンデーション処理」と呼ぶ。
【０００３】
特に、ロングテール理論に基づくサービスにおいて、上述の方法による提案は効果が高いとされる。ロングテールとは、全体に対して割合の大きな大規模集合を形成する程ではない少数により構成される集合に応じたサービス等を提供するものである。このような少数による集合に含まれるデータ（例えば購入履歴等）の間では共通点が多いため、各データ間での差異に基づいた提案を行った場合、提案が受け入れられる可能性が高いとされる。例えば、少数の集合に含まれる二人の顧客データＢ１、Ｂ２があり、顧客データＢ１には商品Ｄ１と商品Ｄ２の購入履歴があり、顧客データＢ２には商品Ｄ１と商品Ｄ３の購入がある場合、顧客データＢ１に対応する顧客には商品Ｄ３を薦め、顧客データＢ２に対応する顧客には商品Ｄ２を薦めるのである。
【０００４】
このような少数により構成される集団から得られるデータに基づいて提案を行う場合、従来では協調フィルタリングにより提案するためのデータ抽出を行っていた（例えば特許文献１）。協調フィルタリングは、複数のサンプルデータを含むデータベースに対して、あるサンプルデータと同様又は近似した別のサンプルデータを相互相関に基づいて抽出し、抽出された別のサンプルデータに基づいてデータを得る方法である。
【０００５】
しかしながら、協調フィルタリングでは、あるサンプルデータを基準とする走査であるため、データベース内のサンプルデータによってどのような集団が形成されるのかを知ることはできなかった。このため、データベースに含まれる各サンプルデータによりされる集団の傾向に基づく解析等、データベースに対する定量的なデータ処理を行うことができなかった。
【０００６】
そこで、データベースに対してＥＭアルゴリズムや変分ベイズ法による解析処理を行い、クラスタリングを行う方法が知られている（例えば特許文献２、３）。ここで、クラスタリングとは、データベース等のデータの集合を部分集合に切り分ける処理である。クラスタリングにより得られた部分集合に含まれる各サンプルデータは、何らかの共通の特徴を有し、その特徴は各部分集合ごとに異なる。
【先行技術文献】
【特許文献】
【０００７】
【特許文献１】特開２００２−３３４２５７号公報
【特許文献２】特開２００７−２７２２９１号公報
【特許文献３】特開２００４−１１７５０３号公報
【発明の概要】
【発明が解決しようとする課題】
【０００８】
しかしながら、特許文献２、３に開示されているクラスタリングでは、粒度を調節することができなかった。粒度とは、部分集合の規模を示すものである。
図１０に基づいて、クラスタリングの粒度について説明を行う。
図１０のクラスタリング結果１０１に示す一の部分集合に含まれるサンプルデータＳの数は、クラスタリング結果１０２、１０３に示す各部分集合に比して多い。このようなクラスタリング結果１０１におけるクラスタリングの粒度は、クラスタリング結果１０２、１０３に比べて大きい。
一方、図１０のクラスタリング結果１０３に示す各部分集合に含まれるサンプルデータＳの数は、クラスタリング結果１０１の部分集合やクラスタリング結果１０２の部分集合１０２ａに比して少ない。このようなクラスタリング結果１０３におけるクラスタリングの粒度は、クラスタリング結果１０１、１０２に比べて小さい。
このように、クラスタリングの粒度は、部分集合に含まれるサンプルデータの数の多少、即ち部分集合の規模を示す。
【０００９】
クラスタリングの粒度は、部分集合に含まれる各サンプルデータ間の共通点に関するルールに基づいて決定する。例えば、共通点のルールが緩い場合には粒度は大きくなる傾向がある。緩いルールとは、例えば、サンプルデータ全体の中で発生する確率が比較的小さい事柄で構成されるルール等である。「発生する確率が比較的小さい事柄」とは、ある事柄について全く発生しない場合を0、100%発生する場合を1としたときにその発生頻度が0.5付近になる事柄である。
逆に、共通点のルールが厳しい場合には粒度は小さくなる傾向がある。厳しいルールとは、厳しいルールとは、例えば、サンプルデータ全体の中で発生しない確率が比較的高い（すなわち0付近になる）又は発生する
確率が比較的高い（すなわち1付近になる）事柄で構成されるルール等である。
上記数値はその事柄の発生確率を表している。この確率が1または0に近い場合、発生しない確率が0または1に近く、起こるか起こらないかがはっきりしている場合であり、一方、発生確率が0.5の場合は、起こらない場合も0.5となり、もっとも曖昧な状態になる。
【００１０】
特許文献２、３に開示されているクラスタリングでは、前述のようなクラスタリングの粒度を調節することはできなかった。
【００１１】
本発明の課題は、クラスタリングの粒度を調節可能とすることである。
【課題を解決するための手段】
【００１２】
請求項１に記載の発明は、複数のサンプルデータを含むデータベースを記憶する記憶部と、カテゴリデータの規模を決定するためのパラメータを入力する入力部と、前記入力部によって入力されたパラメータ及び前記データベースに基づいて、変分ベイズ法による混合分布モデルを用いたアルゴリズムにより、前記データベースに含まれるサンプルデータを含む一又は複数の部分集合データである一又は複数のカテゴリデータを生成する制御部と、を備える情報処理装置であって、前記パラメータは、前記混合分布モデルにおける混合される分布の事前分布及び／又は混合比側の事前分布を決定するためのパラメータであり、前記混合分布モデルは、混合ベルヌーイ分布であり、混合比側の分布の事前分布にディリクレ分布を用い、そのパラメータの値を混合分布の次元に１を加算した値を２で除算した値以下とし、前記混合ベルヌーイ分布側の事前分布にベータ分布を用い、そのパラメータの値を０．１以下に設定することを特徴とする。
【００１３】
請求項２に記載の発明は、請求項１に記載の情報処理装置であって、前記カテゴリデータの規模は、クラスタリングの粒度であることを特徴とする。
【００１４】
請求項３に記載の発明は、請求項２に記載の情報処理装置であって、前記パラメータは、前記クラスタリングの粒度の大小を決定するためのパラメータであることを特徴とする。
【００１８】
請求項４に記載の発明は、請求項１から３のいずれか一項に記載の情報処理装置であって、前記混合される分布の分散値の大小は、生成されるカテゴリデータの数及び一のカテゴリデータに含まれるサンプルデータの多少と相関を有することを特徴とする。
【００２２】
請求項５に記載の発明は、コンピュータを、複数のサンプルデータを含むデータベースを記憶する手段、カテゴリデータの規模を決定するためのパラメータを入力する手段、前記入力されたパラメータ及び前記データベースに基づいて、変分ベイズ法による混合分布モデルを用いたアルゴリズムにより、前記データベースに含まれるサンプルデータを含む一又は複数の部分集合データである一又は複数のカテゴリデータを生成する手段、として機能させるためのプログラムであって、前記パラメータは、前記混合分布モデルにおける混合される分布の事前分布及び／又は混合比側の事前分布を決定するためのパラメータであり、前記混合分布モデルは、混合ベルヌーイ分布であり、混合比側の分布の事前分布にディリクレ分布を用い、そのパラメータの値を混合分布の次元に１を加算した値を２で除算した値以下とし、前記混合ベルヌーイ分布側の事前分布にベータ分布を用い、そのパラメータの値を０．１以下に設定することを特徴とする。
【発明の効果】
【００２３】
本発明によれば、クラスタリングの粒度を調節可能とする。
【図面の簡単な説明】
【００２４】
【図１】本発明による情報処理装置１のブロック図である。
【図２】クラスタリング処理を行うときの情報処理装置１の機能ブロック図である。
【図３】データベースＤの内容の一例である。
【図４】クラスタリング処理結果の一例を示す図である。
【図５】クラスタリング処理結果の別の一例を示す図である。
【図６】情報処理装置１のクラスタリング処理の流れを示すフローチャートである。
【図７】総当り検索によるアイテムの抽出を示す説明図である。
【図８】本実施形態による条件付確率Ｐ（Ｒ｜Ｑ）に基づくアイテムＲの抽出の一例を示す説明図である。
【図９】レコメンデーション処理の流れを示すフローチャートである。
【図１０】クラスタリングの粒度に関する説明を行うための説明図である。
【発明を実施するための形態】
【００２５】
以下、図を参照して本発明の実施の形態の例を詳細に説明する。
【００２６】
図１に、本発明による情報処理装置１のブロック図を示す。
情報処理装置１は、コンピュータであり、ＣＰＵ１１、ＲＡＭ１２、ＲＯＭ１３、ストレージデバイス１４、通信装置１５、入力装置１６、表示装置１７を有する。
【００２７】
ＣＰＵ１１は、ＲＯＭ１３やストレージデバイス１４等から処理内容に応じたプログラム、データ等を読み出して実行処理し、情報処理装置１の動作制御を含む各種処理を行う。
ＲＡＭ１２は、ＣＰＵ１１が読み出したプログラム、データ等や、ＣＰＵ１１の処理によって生じたパラメータを記憶する記憶装置である。
【００２８】
ＲＯＭ１３は、ＣＰＵ１１が読み出すプログラム、データ等を書き換え不可能に記憶する記憶装置である。
本実施形態のＲＯＭ１３は、クラスタリング処理プログラムＥを記憶する。
【００２９】
ストレージデバイス１４は、ＣＰＵ１１が読み出すプログラム、データ等を書き換え可能に記憶すると共に、ＣＰＵ１１の処理によって生じたデータや外部から入力されたプログラム、データ等を記憶することが可能な記憶装置である。ストレージデバイス１４は、例えばフラッシュメモリやハードディスクドライブ、その他の書き換え可能な記憶装置又はその組み合わせにより構成される。
本実施形態のストレージデバイス１４は、複数のサンプルデータを含むデータベースＤを記憶する。
【００３０】
通信装置１５は、ネットワークを介した接続により、外部の機器と通信を行う。
【００３１】
入力装置１６は、情報処理装置１に対して各種の入力を行う。本実施形態の入力装置１６は、キーボードやマウス等の入力機器を有し、ユーザの入力操作内容に応じて情報処理装置１に対して各種の入力を行う。入力装置１６は、他の機器、方法による入力操作を受け付ける構成を備えてもよい。例えば、ペンによる文字入力やタッチパネル方式の入力装置による入力、あるいはこれらの一つ又は複数及びキーボード、マウス等による入力の組み合わせ等が挙げられる
【００３２】
表示装置１７は、情報処理装置１の処理に伴う各種の表示出力を行う。
【００３３】
本実施形態の情報処理装置１は、ＣＰＵ１１がＲＯＭ１３からクラスタリング処理プログラムＥを読み出して実行処理することによって、後述する図２に示す各機能ブロックに応じた機能を実現し、ストレージデバイス１４に記憶されたデータベースＤの内容に基づくクラスタリング処理を行う。
【００３４】
図２に、クラスタリング処理を行うときの情報処理装置１の機能ブロック図を示す。
情報処理装置１は、入力部２１、記憶部２２、制御部２３及び出力部２４として機能する。
【００３５】
入力部２１は、情報処理装置１に対して各種の入力を行う。入力部２１の機能は、入力装置１６による。
記憶部２２は、データベースＤを記憶する。また、記憶部２２はクラスタリング処理の結果を記憶することができる。記憶部２２の機能は、ＲＡＭ１２、ＲＯＭ１３、ストレージデバイス１４等の記憶装置による。
制御部２３は、記憶部２２からデータベースＤを読み出してクラスタリング処理を行う。制御部２３の機能は、クラスタリング処理プログラムＥを実行処理するＣＰＵ１１による。
出力部２４は、クラスタリング処理に関する各種の出力を行う。出力部２４の機能は、表示装置１７等の出力装置による。
【００３６】
本実施形態の情報処理装置１によるクラスタリング処理は、変分ベイズ法を用いた混合分布モデルによる。混合分布モデルは確率モデルのひとつであり、本実施形態で用いる混合分布モデルは混合ベルヌーイ分布である。
以下、本実施形態の変分ベイズ法を用いた混合ベルヌーイ分布について説明する。
【００３７】
まず、混合ベルヌーイ分布について説明する。
混合ベルヌーイ分布は潜在クラス解析に用いられる分布として知られており、2 値データのクラスタリングやレコメンデーションシステムなどの応用に広く用いられている。さらにベルヌーイ分布の事前分布が後述するようにひとつのハイパーパラメータであるため、実験・解析が容易である。ベルヌーイ分布の確率密度関数は以下の式（１）によって与えられる。
【数１】
0005446788.tif 000002
【００３８】
ここで ｘ = （ｘ１，…，ｘＭ）Tはデータ、μ= （μ１，… ，μＭ）T、Ｍはそれぞれパラメータとデータの次元である。このとき、混合ベルヌーイ分布は以下の式（２）によって定義される。
【数２】
0005446788.tif 000003
【００３９】
ただし、π はＢ（ｘ｜ｘｋ） の混合比を表し、K はコンポーネント数を表す。次にデータｘに対する隠れ変数を導入する。隠れ変数ｚはデータｘがどの分布から発生したかを示す競合的ベクトルz = （0，… ，1，… ，0）として表される。このとき、隠れ変数ｚおよびデータｘの分布の事前分布として共役事前分布であるディリクレ分布とベータ分布を用いるとZ = （ｚ１，…，ｚＮ），Ｘ =（ｚ１，…，ｚＮ），π およびθの分布はそれぞれ以下の式（３）〜（６）によって与えられる。
【数３】
0005446788.tif 000004
（a，b） は事前分布ｐ（π）、ｐ（θ）のパラメータでハイパーパラメータと呼ばれる。
【００４０】
ハイパーパラメータａは、ディリクレ分布のパラメータであり、事前分布の混合比を決定する。ハイパーパラメータｂは、ベータ分布のパラメータであり、事前分布において混合される分布の分散値の大小を決定する。
【００４１】
次に、変分ベイズ法について説明する。
本節では、Ｙによりパラメータを含むすべての隠れ変数、Ｘですべての観察可能な変数を表す。このとき、任意の確率分布ｑ（Ｙ）と事後分布ｐ（Ｙ｜Ｘ） に対して式（７）が成り立つ。
【数４】
0005446788.tif 000005
【数５】
0005446788.tif 000006
【００４２】
【数６】
0005446788.tif 000007
【００４３】
【数７】
0005446788.tif 000008
ここでＣ１，Ｃ２は正規化定数である。上式は互いの分布による平均値の計算を含んでいる。したがって、変分ベイズ法による学習は（７）および（８）の逐次的繰り返し演算により実行される。
【００４４】
次に、混合ベルヌーイ分布の変分ベイズ法について説明する。
前節で導いた変分ベイズ法の一般更新式（１４）、（１５）を前述の混合ベルヌーイ分布の説明における設定のもとで計算することで以下の混合ベルヌーイ分布の変分ベイズ学習アルゴリズムVB e-step及びVB m-stepを得る。
以下の式（１６）、（１７）は、VB e-stepを示す。以下の式（１８）〜（２０）はVB m-stepを示す。
【数８】
0005446788.tif 000009
【００４５】
ここで、以下の式（２１）とする。ただし、ψはディガンマ関数と呼ばれ、式（２２）が成り立つ。
【数９】
0005446788.tif 000010
以上、式（１６）〜（２２）によるアルゴリズムを実行することで事後分布が得られる。事後分布は、以下の式（２３）、（２４）によって得られる。
【数１０】
0005446788.tif 000011
【００４６】
なお「学習」とは、変分ベイズ法等のアルゴリズムによって提供されるVB e-step及びVB m-stepによる演算処理をさす。本例では、事前分布ｐ（π）、ｐ（θ）のパラメータであるハイパーパラメータ（ａ，ｂ）により事前分布を決定し、学習を行う。
【００４７】
ハイパーパラメータの設定については、その事前分布の性質から一般に、ハイパーパラメータａが大きい値をとる場合、より多くのコンポーネント（例えばサンプルデータ等）を含む事後分布が構成され、ハイパーパラメータａが小さい値をとる場合、事後分布を構成するためのコンポーネントの数の絞込みが行われる。ハイパーパラメータａが小さい値をとる場合の例として、ハイパーパラメータａを次元（Ｍ）に１を加算した値を２で除算した値以下にすることで、カテゴリ数の絞込みが行われることが実験により得られている。
【００４８】
一方、ハイパーパラメータｂを小さくとるとより確率的に確実性が高いものを集めたグループを構成することで、小さいカテゴリを見つけることができ、ハイパーパラメータｂを大きくとると、その逆に小さなカテゴリを検出せず、大きな傾向をみることができる傾向をもつ。
【００４９】
以上の例に示すアルゴリズムに基づき、情報処理装置１は、ストレージデバイス１４に記憶されたデータベースＤの内容に基づくクラスタリング処理を行う。
【００５０】
図３に、データベースＤの内容の一例を示す。
図３に示すデータベースＤは、「アイテム名」に示す各アイテムについて、各ユーザＵ１、Ｕ２…がその各アイテムを欲するか否かについて回答した結果を集計したデータベースである。ユーザが欲すると回答したアイテムには「１」が、欲しないと回答したアイテムには「０」が格納されている。図３では図示を省略しているが、本例において各ユーザは８３アイテムについて回答をしており、集計されたユーザ数は１７５０ユーザである。
【００５１】
図４に、クラスタリング処理結果の一例を示す。
図４に示すクラスタリング処理結果は、図３に示すデータベースＤを読み込み、変分ベイズ法を用いた混合ベルヌーイ分布による変分ベイズ学習アルゴリズムを用いて得られたクラスタリング処理結果の一例である。図４及び後述する図５に示す各カテゴリは、データベースＤに含まれるユーザの回答結果の一部により構成される部分集合である。各カテゴリの左側の項目は図３に示すデータベースＤのアイテム名である。各カテゴリの右側の数値は、そのカテゴリを構成する全てのユーザのうち、その左側に記載されたアイテムに対して「1」となる回答を行った、即ち「そのアイテムを欲する」と回答したユーザの割合であり、その割合は0〜1（0〜100[%]）で示される。
【００５２】
図４に示すクラスタリング処理結果では、１３の部分集合が形成されている。
図４に示すに示すクラスタリング処理結果では、カテゴリ１〜１３の中で、カテゴリ１が最も多くのサンプルデータ、即ちユーザによる回答結果の数（ユーザ数）により構成される最大の部分集合である。以下、カテゴリ２〜１３にかけて、番号の若い順に、各部分集合を構成するユーザ数が多い部分集合が続く。つまり、カテゴリ１３が最もユーザ数が少ない。
【００５３】
カテゴリ１１〜１３は共に、特定のアイテムについて「1」となる回答、即ちそのアイテムを欲すると回答したユーザが極めて多く存在する部分集合である。例えば、カテゴリ１１はxbox360（登録商標）、ps3（登録商標）、psp（登録商標）を欲すると回答したユーザが99.99[%]を超えている。同様に、カテゴリ１２ではplane（飛行機）、boat（船）を欲するユーザが99.99[%]を超え、カテゴリ１３では「cell phone」等の７アイテムについて欲すると回答したユーザが99.99[%]を超えている。
カテゴリ１１〜１３に示すような、特定のアイテムを欲すると回答したユーザの割合が極めて多い部分集合は、同様の嗜好や欲求を有する少数のユーザによる部分集合である可能性が極めて高い。つまり、図４に示すカテゴリ１１〜１３は、趣味や欲求が共通する少数のユーザの回答結果を反映した部分集合、所謂「少数意見」を反映した部分集合であるといえる。
【００５４】
図４に示すクラスタリング処理結果を得るに際し、混合分布数Ｋについて Ｋ = 50 とし、ハイパーパラメータａ、ｂについてａ = b = 0.001 として図３のデータベースＤに対して学習を行い、有効な混合比を持つカテゴリとして各カテゴリの発生確率が0.0001以上のものを抽出すると、図４に示すようなカテゴリ１、２、１１〜１３を含む計１３の部分集合を得られる。
【００５５】
本実施例ではb=0.001としたが、この値はデータや所望する粒度によっても異なる。事前分布に対してハイパーパラメータを１以下とすることで、少数意見を抽出しやすい傾向になることが事前分布（ベータ分布）の特性より分かるが、好ましくは０．１以下にすることがよいことが実験より得られている。
【００５６】
図５に、クラスタリング処理結果の別の一例を示す。
図５に示すクラスタリング処理結果は、ハイパーパラメータｂの値以外について図４に示すクラスタリング処理結果と同様の条件により得られたクラスタリング処理結果の一例である。図５に示すクラスタリング処理結果を得る際の学習においてハイパーパラメータｂに設定された値は、図４に示すクラスタリング処理結果を得る際の学習においてハイパーパラメータｂに設定された値よりも大きく、 b = 1.0 である。
【００５７】
図５に示すクラスタリング処理結果では、２の部分集合が形成されている。
図５に示すカテゴリ１は、house（家）、money（金）、love（愛）、friend（友）、job（職）等の普遍的な幸せに対応するアイテムを欲すると回答したユーザの割合が比較的多いカテゴリである。図５に示すカテゴリ２は、laptop（ラップトップコンピュータ）、ipod（登録商標）、house（家）、shoes（靴）、clothes（服）等の具体的な物欲に基づく回答を行ったユーザの割合が多いカテゴリである。カテゴリ１、２はいずれも、そのアイテムを欲すると回答したユーザの割合がそのカテゴリを構成する全てのユーザに対して40[%]に達していない。このことから、カテゴリ１、２はいずれも図４のカテゴリ１１〜１３に比して多数のユーザの回答結果により構成される大きな部分集合であるといえる。
【００５８】
このように、ハイパーパラメータａ，ｂの値を調節することにより、クラスタリングの粒度を調節することができる。
【００５９】
本実施形態では、ハイパーパラメータを直接的に指定しているが、ユーザの分類の目的や指定された部分集合の数等の各種条件に応じて自動的にハイパーパラメータを設定する仕組みを設けてもよい。ハイパーパラメータの値と、ハイパーパラメータを設定するための条件との対応付けは、実験的に求められるものであり特に制限されるものではない。
【００６０】
また、混合分布は混合ベルヌーイ分布に限るものではなく、他の混合分布を用いてもよい。他の混合分布として、例えば混合正規分布のような実数値のデータに対して適用できる確率モデルや、ｐＬＳＡ（Probabilistic Latent Semantic Analysis）等の潜在的意味解析で用いられる分布等が挙げられる。
また、変分ベイズ法以外の手法により学習を行ってもよい。学習を行うためのアルゴリズムとして、例えばＥＭアルゴリズム等の事前に分散に相当するパラメータを小さく設定することが可能なアルゴリズムや、k-means等の手法が挙げられる。ＥＭアルゴリズムの場合、ハイパーパラメータは、混合分布モデルにおいて混合される分布の分散値を決定するパラメータとなり、混合される分布の分散値の大小は、生成される部分集合データの数及び一の部分集合データに含まれるサンプルデータの多少と相関を有する。
【００６１】
このようにして得られたクラスタリング処理結果は、ユーザの嗜好の分類の解析に用いることができることは勿論、レコメンデーションシステム等、ユーザに対する提案を行うための情報源として活用する等の様々な応用が可能である。例えば、ユーザの回答結果のクラスタリング処理結果に基づいて同様のカテゴリに属するアイテムの購買を促す情報をそのカテゴリを構成する各ユーザへ届けるようにしてもよい。また、上述のような回答結果に含まれるユーザであるか否かに関わらず、あるアイテムに対して購入、閲覧等のアクションを行ったユーザに対して、前述のクラスタリング処理結果に基づいて得られた部分集合のうちそのアイテムに対する高い関心を示すカテゴリに含まれる別のアイテムの購買を促す情報をユーザへ届けるようにしてもよい。他にも、様々な応用が考えられる。
【００６２】
仮に、事前にクラスタリング処理が行われていない場合、あるアイテムについて購入、閲覧等の興味、関心を示すアクションを行ったユーザが生じた場合、そのアクションの後に、そのアイテムに対して同様の興味、関心を示すアクションを行ったユーザを抽出する処理を行い、その上でそのアイテムと関連性の高い部分集合に含まれる別のアイテムを抽出する等の処理をユーザのアクションが起こる毎に行う必要が生じる。このような処理は、高い計算コストを要し、コンピュータの処理能力を徒に浪費することに加え、レスポンスも劣悪となる。
【００６３】
一方、本実施形態ではクラスタリング処理を行うことによってデータベースＤに基づいた部分集合を示すデータ（部分集合データ）を得ることができ、必要に応じて部分集合データを部分集合として記憶部２２に記憶させることができる。本実施形態で扱う部分集合データは、各部分集合について個別に生成されるものとして扱うが、複数の部分集合及び各部分集合を構成するサンプルデータに関する情報を一括して管理するデータを生成して記憶、利用するようにしてもよい。
【００６４】
ユーザは、部分集合データを読み出すことでデータベースＤに基づく部分集合に関する情報を得ることができ、部分集合に基づくデータの解析や抽出を行うことができる。データの解析として、例えば各アイテムを欲する欲求の関連性やユーザ数の相関等に関する情報を得るための解析等が挙げられる。データの抽出として、例えばあるアイテムと関連性の深いアイテムに関するデータの抽出や、あるアイテムに関連性の深い部分集合のデータの抽出等が挙げられる。
【００６５】
以下、図６に示すフローチャートを用いて、情報処理装置１のクラスタリング処理の流れについて説明する。
まず、制御部２３が記憶部２２からデータベースＤを読み出してクラスタリング処理の対象となるデータを取得する（ステップＳ１）。
【００６６】
次に、パラメータの決定処理が行われる（ステップＳ２）。パラメータの決定処理とは、ハイパーパラメータａ，ｂの値を決定する処理であり、例えばユーザにより入力部２１を介して直接入力されたハイパーパラメータａ，ｂの値や、ユーザにより入力部２１を介して入力されたクラスタリング処理の目的や所望の部分集合数等に基づいて決定されたハイパーパラメータａ，ｂの値による。
【００６７】
次に、制御部２３はステップＳ２で得たハイパーパラメータａ，ｂに基づいて学習を行う（ステップＳ３）。学習のためのアルゴリズムは、前述の記載に基づく。
次に、制御部２３はステップＳ３の学習結果に基づいて有効な混合比を持つ部分集合を抽出し、クラスタリングを行う（ステップＳ４）。
本実施形態では、制御部２３は、ステップＳ４のクラスタリング結果を示す部分集合データを生成し、出力部２４に出力表示する。
【００６８】
次に、クラスタリングを終了するか否かの判定が行われる（ステップＳ５）。ステップＳ５の判定は、ステップＳ４で得られたクラスタリング結果により意見の抽出を行うか否かに基づいて決定され、その決定はユーザによる入力操作や所定の条件に基づく処理による、所定の条件に基づく処理とは、例えば所定の部分集合数に基づいて行われたクラスタリングであった場合に、その所定の部分集合数に応じた部分集合が得られたか否かに基づいてクラスタリングを完了するか、再度クラスタリングを行うかを決定する等である。
【００６９】
ステップＳ５においてクラスタリングを終了しない場合（ステップＳ５：ＮＯ）、ステップＳ２の処理に戻る。
ステップＳ５においてクラスタリングを終了する場合（ステップＳ５：ＹＥＳ）、データの抽出処理を行う（ステップＳ６）。データの抽出処理とは、ステップＳ４で得られたクラスタリング結果に基づいて所望のデータの抽出を行うことである。ステップＳ６によって得られるデータとして、例えばあるアイテムと関連性の深いアイテムに関するデータや、あるアイテムに関連性の深い部分集合のデータ等である。
【００７０】
ところで、何らかのアイテム（アイテムＱとする）について、アイテムＱと関連して発生する可能性が高いアイテム（アイテムＲとする）について、条件付確率Ｐ（Ｒ｜Ｑ）が高いアイテムＲを計算することで具体的なアイテムＲを得られる。
【００７１】
従来、条件付確率Ｐ（Ｒ｜Ｑ）が高いアイテムＲを抽出する場合、図７に示すように、アイテムＱが得られた後にデータベースＤに対して総当り検索を行い、アイテムＱを含むサンプルデータであって、かつ、最も多く含まれるアイテムＱ以外のアイテムをアイテムＲとして抽出していた。このようなアイテムＲの抽出処理は、総当り処理を行うために高い計算コストを要し、コンピュータの処理能力を徒に浪費することに加え、レスポンスも劣悪となる。
【００７２】
そこで、本実施形態では、前述のクラスタリング処理により得られた各部分集合に対して条件付確率Ｐ（Ｒ｜Ｑ）を適用し、条件付確率Ｐ（Ｒ｜Ｑ）が高いアイテムＲを抽出する。
図８に、本実施形態による条件付確率Ｐ（Ｒ｜Ｑ）に基づくアイテムＲの抽出の一例を示す。
まず、制御部２３は、クラスタリング処理によって得られた各部分集合の中で、アイテムＱの発生確率が最も高い部分集合を抽出する（ステップＳ１１）。そして、制御部２３は、抽出された部分集合に含まれるアイテムの中で、アイテムＱを除いて最も発生確率が高いアイテムをアイテムＲとして抽出する（ステップＳ１２）。
【００７３】
クラスタリング処理により得られた各部分集合に対して条件付確率Ｐ（Ｒ｜Ｑ）を適用することで、データベースＤに含まれる全てのサンプルデータに対して総当り処理を行う場合に比して大幅に計算コストを低減させることができ、アイテムＱを得てからアイテムＲを得るまでのレスポンスも大幅に向上する。したがって、アイテムＱに基づいてアイテムＲを提案する等のレコメンデーションを高速に行うことができる。
【００７４】
なお、二つ以上のアイテム（例えばアイテムＱ１、Ｑ２）に基づいて別のアイテムＲを抽出する条件付確率Ｐ（Ｒ｜Ｑ１，Ｑ２）などのように、複数のアイテムに基づく抽出処理を行う場合、アイテムＱ１，Ｑ２のいずれか一方に基づいて上述の処理と同様の処理を行ってもよいし、Ｐ（Ｒ｜Ｑ１）・Ｐ（Ｒ｜Ｑ２）の値が大きいアイテムを抽出するようにしてもよい。
【００７５】
図９のフローチャートを用いて、アイテムＲを抽出して提案するレコメンデーション処理の流れを説明する。
まず、制御部２３は、クラスタリング処理を行う（ステップＳ２１）。ステップＳ２１のクラスタリング処理は、前述のクラスタリング処理と同様である。
その後、制御部２３は、クラスタリング処理によって得られた各部分集合の中で、アイテムＱの発生確率が最も高い部分集合を抽出する（ステップＳ２２）。そして、制御部２３は、抽出された部分集合に含まれるアイテムの中で、アイテムＱを除いて最も発生確率が高いアイテムをアイテムＲとして抽出する（ステップＳ２３）。ステップＳ２３の抽出結果は、表示部２４に表示される。
【００７６】
そして、制御部２３は、アイテムＲに基づく提案処理を行う（ステップＳ２４）。
ステップＳ２４のアイテムＲに基づく提案処理とは、例えばアイテムＱを購入したユーザに対してアイテムＲの購入を薦めるための情報を提供する等の処理である。当該情報提供は、例えば電子メールの送信やダイレクトメール、カタログ等の送付によって行われる。制御部は、このような情報提供に関連する処理をプリセットに従って処理する。プリセットとは、予め定められた処理のことであり、例えばメール送信の場合は所定の雛形メールにアイテムＲ及びアイテムＲに関する情報を加味してユーザ宛へ送信する処理等であり、ダイレクトメールやカタログの送付においてはユーザの住所ラベルの出力やユーザに送付するダイレクトメールやカタログの種類を示す情報を送付担当者へ出力する処理等である。
ステップＳ２４の提案処理内容、例えばメール送信処理の結果やその他の情報出力は、表示部２４に表示される。
【００７７】
前述のアイテムＲの抽出及びレコメンデーション処理は、クラスタリング処理によって得られた各部分集合の中で、アイテムＱの発生確率が最も高い部分集合に含まれるアイテムの中で、アイテムＱを除いて最も発生確率が高いアイテムに基づいて行われているが、抽出の条件はこれに限らない。
例えば、各部分集合に含まれるアイテム等の項目について、その項目に関するパラメータ（例えば発生確率等）が最も低い部分集合の中出、その項目を除いてパラメータが最も低い項目を抽出することもできる。また、発生確率等のパラメータについては、最高／最低に限らず、任意の数値やその近似値を用いてアイテム等の項目の抽出を行うこともできる。
【００７８】
以上、本実施形態によれば、情報処理装置１は、設定されたハイパーパラメータ（ａ，ｂ）に応じてデータベースＤに基づく部分集合を示す部分集合データを生成する。ここで、ハイパーパラメータ（ａ，ｂ）は、クラスタリングの粒度を決定する。そして、ユーザは、入力部２１を介してハイパーパラメータ（ａ，ｂ）の値を任意に入力決定することができる。つまり、ユーザはハイパーパラメータ（ａ，ｂ）の値を入力することによりクラスタリングの粒度を調節することができる。よって、情報処理装置１は、クラスタリングの粒度を調節可能とする。
【００７９】
さらに、ハイパーパラメータａは、ディリクレ分布のパラメータであり、事前分布の混合比を決定する。ハイパーパラメータｂは、ベータ分布のパラメータであり、事前分布において混合される分布の分散値の大小を決定する。そして、制御部２３は、変分ベイズ法を用いたアルゴリズムにより部分集合データを生成する。これによって、ハイパーパラメータ（ａ，ｂ）の値の変化に応じて、クラスタリングの粒度を調節可能とすることができる。
【００８０】
さらに、ハイパーパラメータｂによって決定される、事前分布において混合される分布の分散値の大小は、生成される部分集合データの数及び一の部分集合データに含まれるサンプルデータの多少と相関を有する。前述に示すように、ハイパーパラメータｂの値が大きいほど、部分集合の数は少なくなり、一の部分集合に含まれるサンプルデータの数は多くなる傾向がある、一方、ハイパーパラメータｂの値が小さいほど、部分集合の数は多くなり、一の部分集合に含まれるサンプルデータの数は少なくなる傾向がある。このように、ハイパーパラメータｂはクラスタリングの粒度を調節するパラメータとして機能する。
【００８１】
さらに、混合ベルヌーイ分布を用いた学習において、混合比側の分布の事前分布にディリクレ分布を用い、そのパラメータの値を混合分布の次元に１を加算した値を２で除算した値以下とし、混合ベルヌーイ分布側の事前分布にベータ分布を用い、そのパラメータの値を０．１以下に設定することで、「少数意見の抽出」に適した粒度の小さい部分集合を得ることができる。これによって、特定のアイテムに関連性の深い部分集合に基づくデータの解析や提案を行うことができる。
【００８２】
さらに、制御部２３は、前述のレコメンデーション処理等のように、一又は複数の部分集合に含まれる一又は複数のパラメータに基づいて、一又は複数のパラメータとは異なるパラメータを抽出する。ここでいうパラメータとは、データベースに含まれるアイテム名等の項目に対応する発生確率等の、各部分集合に含まれるパラメータである。
これによって、データベースの全サンプルデータに対する総当りを要することなく、ある項目と関連性の深いデータを抽出することができ、レコメンデーション処理等の提案において必要となるデータの抽出を低い計算コストで迅速に、効率的に行うことができる。
【００８３】
さらに、部分集合に含まれるパラメータに基づくデータの抽出結果や提案処理の結果を表示部２４に出力することによって、各処理の結果をユーザに明示することができる。ユーザは、表示内容からデータの把握や解析等を行うことができる。
【００８４】
なお、本発明の実施の形態は、今回開示された実施の形態はすべての点で例示であって制限的なものではないと考えられるべきである。本発明の範囲は上記した説明ではなくて特許請求の範囲によって示され、特許請求の範囲と均等の意味および範囲内でのすべての変更が含まれることが意図される。
【００８５】
例えば、図３に示すデータベースＤのアイテム名、アイテム数、ユーザの回答、ユーザ数等の各種項目はあくまで一例であり、任意に変更可能である。図４、１２、１５等に示す部分集合の数、各部分集合に含まれるアイテムやその確率や、図６に示すフローチャートについても一例に過ぎず、これによって本発明が制限されるものではない。
また、制御部が読み出すデータベース及びプログラムの所在は前述の実施形態に限らず、外部の記憶装置や情報処理装置が読み出し可能な媒体等に記憶されていてもよい。
【符号の説明】
【００８６】
１１   ＣＰＵ
１２   ＲＡＭ
１３   ＲＯＭ
１４   ストレージデバイス
１５   通信装置
１６   入力装置
１７   表示装置
２１   入力部
２２   記憶部
２３   制御部
２４   出力部
Ｄ     データベース
Ｅ     クラスタリング処理プログラム
【図１】
0005446788.tif 000012
【図２】
0005446788.tif 000013
【図３】
0005446788.tif 000014
【図４】
0005446788.tif 000015
【図５】
0005446788.tif 000016
【図６】
0005446788.tif 000017
【図７】
0005446788.tif 000018
【図８】
0005446788.tif 000019
【図９】
0005446788.tif 000020
【図１０】
0005446788.tif 000021