(57)【要約】【課題】カテゴリに依存する単語特徴とカテゴリに依存しない単語特徴を分離したクラスタを取得することができるようにする。【解決手段】商品ｉが、カテゴリｍに所属することを表す非負値の要素ｙｉｍを持つカテゴリ情報行列Ｙ＾であって、かつ商品ｉがカテゴリｍに所属しない場合には要素ｙｉｍがゼロであるカテゴリ情報行列Ｙ＾に基づいて、商品ｉと単語ｊとの関連度を表す非負値の要素ｘｉｊを持つ商品単語関連度情報行列Ｘ＾を、商品ｉが、カテゴリとは異なるクラスタｒに所属することを表す非負値の要素ａｉｒを持つ商品特徴行列Ａ＾と、単語ｊが、クラスタｒに所属することを表す非負値の要素ｂｊｒを持つ単語特徴行列Ｂ＾と、商品ｉが、カテゴリｍに所属することを表す非負値の要素ａ＋ｉｍを持つカテゴリ依存商品特徴行列Ａ＾＋と、単語ｊが、カテゴリｍに所属することを表す非負値の要素ｃｊｍを持つカテゴリ依存単語特徴行列Ｃ＾とに分解する。【選択図】図６
2015230558.tif 000002
【特許請求の範囲】
【請求項１】
第１のオブジェクトｉ（１≦ｉ≦Ｉ，Ｉは１以上の整数）が、前記第１のオブジェクトの分類である第１のクラスタｍ（１≦ｍ≦Ｍ，Ｍは１以上の整数）に所属することを表す非負値の要素ｙｉｍを持つＩ×Ｍのクラスタ情報行列Ｙ＾であって、かつ前記第１のオブジェクトｉが前記第１のクラスタｍに所属しない場合には要素ｙｉｍがゼロであるＩ×Ｍのクラスタ情報行列Ｙ＾に基づいて、
前記第１のオブジェクトｉと第２のオブジェクトｊ（１≦ｊ≦Ｊ，Ｊは１以上の整数）との関連度を表す非負値の要素ｘｉｊを持つＩ×Ｊのオブジェクト関連度情報行列Ｘ＾を、
前記第１のオブジェクトｉが、前記第１のクラスタとは異なる前記第１のオブジェクトの分類である第２のクラスタｒ（１≦ｒ≦Ｒ，Ｒは１以上の整数）に所属することを表す非負値の要素ａｉｒを持つＩ×Ｒの第１のオブジェクト特徴行列Ａ＾と、
前記第２のオブジェクトｊが、前記第２のクラスタｒに所属することを表す非負値の要素ｂｊｒを持つＪ×Ｒの第２のオブジェクト特徴行列Ｂ＾と、
前記第１のオブジェクトｉが、前記第１のクラスタｍに所属することを表す非負値の要素ａ＋ｉｍを持つＩ×Ｍの第１のクラスタ依存第１のオブジェクト特徴行列Ａ＾＋と、
前記第２のオブジェクトｊが、前記第１のクラスタｍに所属することを表す非負値の要素ｃｊｍを持つＪ×Ｍの第１のクラスタ依存第２のオブジェクト特徴行列Ｃ＾とに分解する、特徴行列推定部及び反復判定部を含むデータ解析装置におけるデータ解析方法であって、
前記特徴行列推定部が、
（ｉ，ｒ）の全ての組み合わせの各々について、
前記第２のオブジェクトｊの各々についての前記要素ｘｉｊと、前記第２のクラスタｒの各々についての前記要素ａｉｒと、前記第２のオブジェクトｊ及び前記第２のクラスタｒの組み合わせの各々についての前記要素ｂｊｒと、前記第１のクラスタｍの各々についての前記要素ａ＋ｉｍと、前記第２のオブジェクトｊ及び前記第１のクラスタｍの組み合わせの各々についての前記要素ｃｊｍと、前記第１のクラスタｍの各々についての前記要素ｙｉｍとに基づいて、前記第１のオブジェクト特徴行列Ａ＾の要素ａｉｒを更新し、
（ｉ，ｍ）の全ての組み合わせの各々について、
前記要素ｙｉｍと、前記第２のクラスタｒの各々についての要素ａｉｒとに基づいて、
前記第１のクラスタ依存第１のオブジェクト特徴行列Ａ＾＋の要素ａ＋ｉｍを更新し、
（ｊ，ｒ）の全ての組み合わせの各々について、
前記第１のオブジェクトｉの各々についての前記要素ｘｉｊと、前記第１のオブジェクトｉ及び前記第２のクラスタｒの組み合わせの各々についての前記要素ａｉｒと、前記第２のクラスタｒの各々についての前記要素ｂｊｒと、前記第１のオブジェクトｉ及び前記第１のクラスタｍの組み合わせの各々についての前記要素ａ＋ｉｍと、前記第１のクラスタｍの各々についての前記要素ｃｊｍとに基づいて、前記第２のオブジェクト特徴行列Ｂ＾の要素ｂｊｒを更新し、
（ｊ，ｍ）の全ての組み合わせの各々について、
前記第１のオブジェクトｉの各々についての前記要素ｘｉｊと、前記第１のオブジェクトｉ及び前記第２のクラスタｒの組み合わせ各々についての前記要素ａｉｒと、前記第２のクラスタｒの各々についての前記要素ｂｊｒと、前記第１のオブジェクトｉ及び前記第１のクラスタｍの組み合わせの各々についての前記要素ａ＋ｉｍと、前記第１のクラスタｍの各々についての前記要素ｃｊｍとに基づいて、前記第１のクラスタ依存第２のオブジェクト特徴行列Ｃ＾の要素ｃｊｍを更新することにより、
前記オブジェクト関連度情報行列Ｘ＾及びクラスタ情報行列Ｙ＾から、前記第１のオブジェクト特徴行列Ａ＾と、前記第２のオブジェクト特徴行列Ｂ＾と、前記第１のクラスタ依存第１のオブジェクト特徴行列Ａ＾＋と、前記第１のクラスタ依存第２のオブジェクト特徴行列Ｃ＾とを推定するステップと、
前記反復判定部が、繰り返し条件を満足するまで、前記特徴行列推定部による推定を繰り返すステップと、
を含むデータ解析方法。
【請求項２】
前記第１のオブジェクトは、商品であり、
前記第２のオブジェクトは、前記商品の説明文書に出現する単語であり、
前記第１のクラスタは、前記商品のカテゴリであり、
前記第２のクラスタは、前記商品のカテゴリとは異なる、前記商品の特徴を表す単語に基づく商品の分類である請求項１記載のデータ解析方法。
【請求項３】
第１のオブジェクトｉ（１≦ｉ≦Ｉ，Ｉは１以上の整数）が、前記第１のオブジェクトの分類である第１のクラスタｍ（１≦ｍ≦Ｍ，Ｍは１以上の整数）に所属することを表す非負値の要素ｙｉｍを持つＩ×Ｍのクラスタ情報行列Ｙ＾であって、かつ前記第１のオブジェクトｉが前記第１のクラスタｍに所属しない場合には要素ｙｉｍがゼロであるＩ×Ｍのクラスタ情報行列Ｙ＾に基づいて、
前記第１のオブジェクトｉと第２のオブジェクトｊ（１≦ｊ≦Ｊ，Ｊは１以上の整数）との関連度を表す非負値の要素ｘｉｊを持つＩ×Ｊのオブジェクト関連度情報行列Ｘ＾を、
前記第１のオブジェクトｉが、前記第１のクラスタとは異なる前記第１のオブジェクトの分類である第２のクラスタｒ（１≦ｒ≦Ｒ，Ｒは１以上の整数）に所属することを表す非負値の要素ａｉｒを持つＩ×Ｒの第１のオブジェクト特徴行列Ａ＾と、
前記第２のオブジェクトｊが、前記第２のクラスタｒに所属することを表す非負値の要素ｂｊｒを持つＪ×Ｒの第２のオブジェクト特徴行列Ｂ＾と、
前記第１のオブジェクトｉが、前記第１のクラスタｍに所属することを表す非負値の要素ａ＋ｉｍを持つＩ×Ｍの第１のクラスタ依存第１のオブジェクト特徴行列Ａ＾＋と、
前記第２のオブジェクトｊが、前記第１のクラスタｍに所属することを表す非負値の要素ｃｊｍを持つＪ×Ｍの第１のクラスタ依存第２のオブジェクト特徴行列Ｃ＾とに分解するデータ解析装置であって、
（ｉ，ｒ）の全ての組み合わせの各々について、
前記第２のオブジェクトｊの各々についての前記要素ｘｉｊと、前記第２のクラスタｒの各々についての前記要素ａｉｒと、前記第２のオブジェクトｊ及び前記第２のクラスタｒの組み合わせの各々についての前記要素ｂｊｒと、前記第１のクラスタｍの各々についての前記要素ａ＋ｉｍと、前記第２のオブジェクトｊ及び前記第１のクラスタｍの組み合わせの各々についての前記要素ｃｊｍと、前記第１のクラスタｍの各々についての前記要素ｙｉｍとに基づいて、前記第１のオブジェクト特徴行列Ａ＾の要素ａｉｒを更新し、
（ｉ，ｍ）の全ての組み合わせの各々について、
前記要素ｙｉｍと、前記第２のクラスタｒの各々についての要素ａｉｒとに基づいて、
前記第１のクラスタ依存第１のオブジェクト特徴行列Ａ＾＋の要素ａ＋ｉｍを更新し、
（ｊ，ｒ）の全ての組み合わせの各々について、
前記第１のオブジェクトｉの各々についての前記要素ｘｉｊと、前記第１のオブジェクトｉ及び前記第２のクラスタｒの組み合わせの各々についての前記要素ａｉｒと、前記第２のクラスタｒの各々についての前記要素ｂｊｒと、前記第１のオブジェクトｉ及び前記第１のクラスタｍの組み合わせの各々についての前記要素ａ＋ｉｍと、前記第１のクラスタｍの各々についての前記要素ｃｊｍとに基づいて、前記第２のオブジェクト特徴行列Ｂ＾の要素ｂｊｒを更新し、
（ｊ，ｍ）の全ての組み合わせの各々について、
前記第１のオブジェクトｉの各々についての前記要素ｘｉｊと、前記第１のオブジェクトｉ及び前記第２のクラスタｒの組み合わせ各々についての前記要素ａｉｒと前記第２のクラスタｒの各々についての前記要素ｂｊｒと、前記第１のオブジェクトｉ及び前記第１のクラスタｍの組み合わせの各々についての前記要素ａ＋ｉｍと、前記第１のクラスタｍの各々についての前記要素ｃｊｍとに基づいて、前記第１のクラスタ依存第２のオブジェクト特徴行列Ｃ＾の要素ｃｊｍを更新することにより、
前記オブジェクト関連度情報行列Ｘ＾及びクラスタ情報行列Ｙ＾から、前記第１のオブジェクト特徴行列Ａ＾と、前記第２のオブジェクト特徴行列Ｂ＾と、前記第１のクラスタ依存第１のオブジェクト特徴行列Ａ＾＋と、前記第１のクラスタ依存第２のオブジェクト特徴行列Ｃ＾とを推定する特徴行列推定部と、
繰り返し条件を満足するまで、前記特徴行列推定部による推定を繰り返す反復判定部と、
を含むデータ解析装置。
【請求項４】
請求項１又は請求項２記載のデータ解析方法を構成する各ステップをコンピュータに実行させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、データ解析方法、装置、及びプログラムに関する。
【背景技術】
【０００２】
ＰＯＳ（Point of Sales）データに代表される購買履歴などの構造化されたデータのみならず、テキストデータや画像データなどの構造化されていないデータの多くも前処理によって行列形式により表現できることが知られている。これら行列表現されたデータ中に存在するクラスタを発見するための手法として、非負値行列分解（Non-negative Matrix Factorization, NMF）と呼ばれる手法の有用性がこれまで示されている（例えば非特許文献１を参照）。
【０００３】
ＮＭＦの適用により入力となる行列データはそれより低次のランクの行列の積に分解される。この各低次行列がそれぞれ各行、各列に対応する事物のクラスタへの寄与度を表しており、クラスタ発見が可能となる。したがって例えば購買履歴データに対し適用することで抽出されたクラスタをもとにユーザへのおすすめ商品リストを作成したり、ニュース記事文書集合に対する適用結果から記事の自動分類を行うこと、ＥＣサイトの商品文書集合に適用することで商品の自動分類が可能となる。
【０００４】
ＮＭＦの文書データへの適用例を図１４に示す。文書データＸ＾＝｛ｘｉｊ｝（記号に付された「＾」は、当該記号が行列または多次元配列またはベクトルであることを表わしている。）は行列中の第ｉ行目に対応する商品の説明文に第ｊ列目に対応する単語の出現数がｘｉｊの値となるＩ行Ｊ列の行列である。
【０００５】
この文書データにＮＭＦを適用することで、
【０００６】
【数１】
2015230558.tif 000003
【０００７】
となるＩ行Ｒ列の商品特徴行列Ａ＾＝｛ａｉｒ｝と、Ｊ行Ｒ列の単語特徴行列Ｂ＾＝｛ｂｊｒ｝とが求まる。ただし記号
【０００８】
【数２】
2015230558.tif 000004
【０００９】
は両者が類似していること、記号の上付きの記号Ｔは行列の転置を表す。
【００１０】
商品特徴行列Ａ＾のクラスタ１に対応する列に着目すると、商品１と商品２とに対応する１行目と２行目の値が０より大きい値となっていることが分かる。これは１行目商品と２行目商品とがクラスタ１に所属することを示している。また単語特徴行列Ｂ＾のクラスタ１に対応する行に着目すると、１列目の”可愛い”と２列目の“フェミニン”、３列目の”スカート”という単語に該当する列の値が０より大きい値となっていることが分かる。これは”可愛い”と“フェミニン”、“スカート”という２つの単語が同時に出現しやすいというクラスタ１のもつ特徴を表しているといえる。したがって、この”可愛い”と”フェミニン”、“スカート”という単語をまとめてクラスタ１の単語特徴と呼ぶ。同様に、クラスタ１に所属する商品のことをクラスタ１の商品特徴と呼ぶ。クラスタ１の単語特徴と商品特徴をまとめてクラスタ１の特徴と呼ぶこととする。
なお、クラスタの総数に相当する商品特徴行列のランク数は、解析する前に予め決定しておくものとする。
【先行技術文献】
【非特許文献】
【００１１】
【非特許文献１】澤田宏、「非負値行列因子分解ＮＭＦの基礎とデータ／信号解析への応用」、電子情報通信学会誌、2012、Vol. 95, No. 9, p.829-833
【非特許文献２】K．Takeuchi、K．Ishiguro、A．Kimura、and H．Sawada、「Non-negative Multiple Matrix Factorization」、Proceedings of 23rd International Joint Conference on Artificial Intelligence (IJCAI2013)、2013、p.1713-1720
【発明の概要】
【発明が解決しようとする課題】
【００１２】
しかしながら、上記の非特許文献１の技術は、ＥＣサイトの商品文書集合に適用する場合、出力となるクラスタの単語特徴に、商品カテゴリに関する単語（例えば、“襟”、“スカート”）と商品の感性的特徴に関する単語（例えば、”可愛い“、“シンプル“）が混在してしまうという問題がある。図１５に、上記図１４の行列分解の適用結果から得られるクラスタ特徴を示す。クラスタ１の単語特徴に“可愛い”及び“スカート”という単語、 クラスタ２の単語特徴に“可愛い”及び”襟”という単語が存在することが分かり、カテゴリに関する単語と感性的特徴に関する単語が混在していることが分かる。これは感性的特徴に基づきクラスタを作ることを目的とする場合に望ましい結果ではない。
【００１３】
本発明は、上記の事情を鑑みてなされたものであり、カテゴリに依存する特徴と、カテゴリに依存しない特徴とを分離したクラスタを抽出することができるデータ解析方法、装置、及びプログラムを提供することを目的とする。
【課題を解決するための手段】
【００１４】
上記の目的を達成するために本発明に係るデータ解析方法は、第１のオブジェクトｉ（１≦ｉ≦Ｉ，Ｉは１以上の整数）が、前記第１のオブジェクトの分類である第１のクラスタｍ（１≦ｍ≦Ｍ，Ｍは１以上の整数）に所属することを表す非負値の要素ｙｉｍを持つＩ×Ｍのクラスタ情報行列Ｙ＾であって、かつ前記第１のオブジェクトｉが前記第１のクラスタｍに所属しない場合には要素ｙｉｍがゼロであるＩ×Ｍのクラスタ情報行列Ｙ＾に基づいて、前記第１のオブジェクトｉと第２のオブジェクトｊ（１≦ｊ≦Ｊ，Ｊは１以上の整数）との関連度を表す非負値の要素ｘｉｊを持つＩ×Ｊのオブジェクト関連度情報行列Ｘ＾を、前記第１のオブジェクトｉが、前記第１のクラスタとは異なる前記第１のオブジェクトの分類である第２のクラスタｒ（１≦ｒ≦Ｒ，Ｒは１以上の整数）に所属することを表す非負値の要素ａｉｒを持つＩ×Ｒの第１のオブジェクト特徴行列Ａ＾と、前記第２のオブジェクトｊが、前記第２のクラスタｒに所属することを表す非負値の要素ｂｊｒを持つＪ×Ｒの第２のオブジェクト特徴行列Ｂ＾と、前記第１のオブジェクトｉが、前記第１のクラスタｍに所属することを表す非負値の要素ａ＋ｉｍを持つＩ×Ｍの第１のクラスタ依存第１のオブジェクト特徴行列Ａ＾＋と、前記第２のオブジェクトｊが、前記第１のクラスタｍに所属することを表す非負値の要素ｃｊｍを持つＪ×Ｍの第１のクラスタ依存第２のオブジェクト特徴行列Ｃ＾とに分解する、特徴行列推定部及び反復判定部を含むデータ解析装置におけるデータ解析方法であって、前記特徴行列推定部が、（ｉ，ｒ）の全ての組み合わせの各々について、前記第２のオブジェクトｊの各々についての前記要素ｘｉｊと、前記第２のクラスタｒの各々についての前記要素ａｉｒと、前記第２のオブジェクトｊ及び前記第２のクラスタｒの組み合わせの各々についての前記要素ｂｊｒと、前記第１のクラスタｍの各々についての前記要素ａ＋ｉｍと、前記第２のオブジェクトｊ及び前記第１のクラスタｍの組み合わせの各々についての前記要素ｃｊｍと、前記第１のクラスタｍの各々についての前記要素ｙｉｍとに基づいて、前記第１のオブジェクト特徴行列Ａ＾の要素ａｉｒを更新し、（ｉ，ｍ）の全ての組み合わせの各々について、前記要素ｙｉｍと、前記第２のクラスタｒの各々についての要素ａｉｒとに基づいて、前記第１のクラスタ依存第１のオブジェクト特徴行列Ａ＾＋の要素ａ＋ｉｍを更新し、（ｊ，ｒ）の全ての組み合わせの各々について、前記第１のオブジェクトｉの各々についての前記要素ｘｉｊと、前記第１のオブジェクトｉ及び前記第２のクラスタｒの組み合わせの各々についての前記要素ａｉｒと、前記第２のクラスタｒの各々についての前記要素ｂｊｒと、前記第１のオブジェクトｉ及び前記第１のクラスタｍの組み合わせの各々についての前記要素ａ＋ｉｍと、前記第１のクラスタｍの各々についての前記要素ｃｊｍとに基づいて、前記第２のオブジェクト特徴行列Ｂ＾の要素ｂｊｒを更新し、（ｊ，ｍ）の全ての組み合わせの各々について、前記第１のオブジェクトｉの各々についての前記要素ｘｉｊと、前記第１のオブジェクトｉ及び前記第２のクラスタｒの組み合わせ各々についての前記要素ａｉｒと、前記第２���クラスタｒの各々についての前記要素ｂｊｒと、前記第１のオブジェクトｉ及び前記第１のクラスタｍの組み合わせの各々についての前記要素ａ＋ｉｍと、前記第１のクラスタｍの各々についての前記要素ｃｊｍとに基づいて、前記第１のクラスタ依存第２のオブジェクト特徴行列Ｃ＾の要素ｃｊｍを更新することにより、前記オブジェクト関連度情報行列Ｘ＾及びクラスタ情報行列Ｙ＾から、前記第１のオブジェクト特徴行列Ａ＾と、前記第２のオブジェクト特徴行列Ｂ＾と、前記第１のクラスタ依存第１のオブジェクト特徴行列Ａ＾＋と、前記第１のクラスタ依存第２のオブジェクト特徴行列Ｃ＾とを推定するステップと、前記反復判定部が、繰り返し条件を満足するまで、前記特徴行列推定部による推定を繰り返すステップと、を含んで構成されている。
【００１５】
本発明に係るデータ解析装置は、第１のオブジェクトｉ（１≦ｉ≦Ｉ，Ｉは１以上の整数）が、前記第１のオブジェクトの分類である第１のクラスタｍ（１≦ｍ≦Ｍ，Ｍは１以上の整数）に所属することを表す非負値の要素ｙｉｍを持つＩ×Ｍのクラスタ情報行列Ｙ＾であって、かつ前記第１のオブジェクトｉが前記第１のクラスタｍに所属しない場合には要素ｙｉｍがゼロであるＩ×Ｍのクラスタ情報行列Ｙ＾に基づいて、前記第１のオブジェクトｉと第２のオブジェクトｊ（１≦ｊ≦Ｊ，Ｊは１以上の整数）との関連度を表す非負値の要素ｘｉｊを持つＩ×Ｊのオブジェクト関連度情報行列Ｘ＾を、前記第１のオブジェクトｉが、前記第１のクラスタとは異なる前記第１のオブジェクトの分類である第２のクラスタｒ（１≦ｒ≦Ｒ，Ｒは１以上の整数）に所属することを表す非負値の要素ａｉｒを持つＩ×Ｒの第１のオブジェクト特徴行列Ａ＾と、前記第２のオブジェクトｊが、前記第２のクラスタｒに所属することを表す非負値の要素ｂｊｒを持つＪ×Ｒの第２のオブジェクト特徴行列Ｂ＾と、前記第１のオブジェクトｉが、前記第１のクラスタｍに所属することを表す非負値の要素ａ＋ｉｍを持つＩ×Ｍの第１のクラスタ依存第１のオブジェクト特徴行列Ａ＾＋と、前記第２のオブジェクトｊが、前記第１のクラスタｍに所属することを表す非負値の要素ｃｊｍを持つＪ×Ｍの第１のクラスタ依存第２のオブジェクト特徴行列Ｃ＾とに分解するデータ解析装置であって、（ｉ，ｒ）の全ての組み合わせの各々について、前記第２のオブジェクトｊの各々についての前記要素ｘｉｊと、前記第２のクラスタｒの各々についての前記要素ａｉｒと、前記第２のオブジェクトｊ及び前記第２のクラスタｒの組み合わせの各々についての前記要素ｂｊｒと、前記第１のクラスタｍの各々についての前記要素ａ＋ｉｍと、前記第２のオブジェクトｊ及び前記第１のクラスタｍの組み合わせの各々についての前記要素ｃｊｍと、前記第１のクラスタｍの各々についての前記要素ｙｉｍとに基づいて、前記第１のオブジェクト特徴行列Ａ＾の要素ａｉｒを更新し、（ｉ，ｍ）の全ての組み合わせの各々について、前記要素ｙｉｍと、前記第２のクラスタｒの各々についての要素ａｉｒとに基づいて、前記第１のクラスタ依存第１のオブジェクト特徴行列Ａ＾＋の要素ａ＋ｉｍを更新し、（ｊ，ｒ）の全ての組み合わせの各々について、前記第１のオブジェクトｉの各々についての前記要素ｘｉｊと、前記第１のオブジェクトｉ及び前記第２のクラスタｒの組み合わせの各々についての前記要素ａｉｒと、前記第２のクラスタｒの各々についての前記要素ｂｊｒと、前記第１のオブジェクトｉ及び前記第１のクラスタｍの組み合わせの各々についての前記要素ａ＋ｉｍと、前記第１のクラスタｍの各々についての前記要素ｃｊｍとに基づいて、前記第２のオブジェクト特徴行列Ｂ＾の要素ｂｊｒを更新し、（ｊ，ｍ）の全ての組み合わせの各々について、前記第１のオブジェクトｉの各々についての前記要素ｘｉｊと、前記第１のオブジェクトｉ及び前記第２のクラスタｒの組み合わせ各々についての前記要素ａｉｒと前記第２のクラスタｒの各々についての前記要素ｂｊｒと、前記第１のオブジェクトｉ及び前記第１のクラスタｍの組み合わせの���々についての前記要素ａ＋ｉｍと、前記第１のクラスタｍの各々についての前記要素ｃｊｍとに基づいて、前記第１のクラスタ依存第２のオブジェクト特徴行列Ｃ＾の要素ｃｊｍを更新することにより、前記オブジェクト関連度情報行列Ｘ＾及びクラスタ情報行列Ｙ＾から、前記第１のオブジェクト特徴行列Ａ＾と、前記第２のオブジェクト特徴行列Ｂ＾と、前記第１のクラスタ依存第１のオブジェクト特徴行列Ａ＾＋と、前記第１のクラスタ依存第２のオブジェクト特徴行列Ｃ＾とを推定する特徴行列推定部と、繰り返し条件を満足するまで、前記特徴行列推定部による推定を繰り返す反復判定部と、を含んで構成されている。
【００１６】
本発明の前記第１のオブジェクトは、商品であり、前記第２のオブジェクトは、前記商品の説明文書に出現する単語であり、前記第１のクラスタは、前記商品のカテゴリであり、前記第２のクラスタは、前記商品のカテゴリとは異なる、前記商品の特徴を表す単語に基づく商品の分類であるようにすることができる。
【００１７】
本発明に係るプログラムは、本発明のデータ解析方法を構成する各ステップをコンピュータに実行させるためのプログラムである。
【発明の効果】
【００１８】
以上説明したように、本発明のデータ解析方法、装置、及びプログラムによれば、クラスタ情報行列Ｙ＾に基づいて、オブジェクト関連度情報行列Ｘ＾を、第１のオブジェクト特徴行列Ａ＾と、第２のオブジェクト特徴行列Ｂ＾と、第１のクラスタ依存第１のオブジェクト特徴行列Ａ＾＋と、第１のクラスタ依存第２のオブジェクト特徴行列Ｃ＾とに分解することにより、カテゴリに依存する特徴と、カテゴリに依存しない特徴とを分離したクラスタを抽出することができる、という効果が得られる。
【図面の簡単な説明】
【００１９】
【図１】本発明の実施の形態における行列分解の例を示す概略図である。
【図２】本発明の実施の形態において導入する制約条件を示す概略図である。
【図３】本発明の実施の形態において導入する制約条件の具体例を示す図である。
【図４】行列分解の適用例を示す図である。
【図５】行列分解を適用して得られるクラスタリング結果の例を示す図である。
【図６】本発明の実施の形態に係るデータ解析装置の構成例を示す概略図である。
【図７】文書情報テーブルの一例を示す図である。
【図８】カテゴリ情報テーブルの一例を示す図である。
【図９】商品特徴テーブルの一例を示す図である。
【図１０】カテゴリ依存商品特徴テーブルの一例を示す図である。
【図１１】単語特徴テーブルの一例を示す図である。
【図１２】カテゴリ依存単語特徴テーブルの一例を示す図である。
【図１３】本発明の実施の形態に係るデータ解析装置におけるデータ解析処理ルーチンの内容を示すフローチャートである。
【図１４】先行技術を説明するための第１の図である。
【図１５】先行技術を説明するための第２の図である。
【発明を実施するための形態】
【００２０】
以下、図面を参照して本発明の実施の形態を詳細に説明する。なお、本実施の形態では、非負値行列分解において、カテゴリに依存する単語特徴とカテゴリに依存しない単語特徴とを分離したクラスタリング結果を得ることができるデータ解析装置に、本発明を適用した場合を例に説明する。
【００２１】
＜本発明の実施の形態の概要＞
本発明の実施の形態では、外部情報として利用可能なカテゴリ情報を利用して、カテゴリに依存する単語特徴とカテゴリに依存しない単語特徴を分離できる非負値行列分解手法を提案する。提案手法では、上記図１４において入力で用いた商品文書集合の行列データである商品単語関連度情報行列Ｘ＾に加え、商品の所属カテゴリを表すカテゴリ情報行列Ｙ＾＝｛ｙｉｍ｝を利用する。カテゴリ情報行列Ｙ＾の要素ｙｉｍの値は行列中の第ｉ行目に対応する商品が第ｍ番目カテゴリに所属するときに１を、そうでないときに０を取るものとする。なお、ｙｉｍの値は０または１に限られず、０または正の整数値であればよい。ただし、負の数は用いない。
【００２２】
このデータを用いて、本発明の実施の形態では
【００２３】
【数３】
2015230558.tif 000005
【００２４】
という行列分解形を考える。ただしＡ＾＋＝｛ａ＋ｉｍ｝はＩ行Ｍ列の行列、Ｃ＾＝｛ｃｊｍ｝はＪ行Ｍ列の行列である。Ａ＾＋をカテゴリ依存商品特徴行列、Ｃ＾をカテゴリ依存単語特徴行列と呼ぶ。図１に本発明の実施の形態の行列分解形を示す。さらに、行列Ａ＾＋に
【００２５】
【数４】
2015230558.tif 000006
【００２６】
を満たすという制約条件を導入する。ただし、行列Ｅ＾は要素が全て１であるＲ行Ｍ列の行列であり、記号
【００２７】
【数５】
2015230558.tif 000007
【００２８】
で行列のアダマール積（要素毎の積）を表す。図２にこの制約条件を示し、図３にある行列Ａ＾，Ｙ＾が与えられたときのＡ＾＋の導出過程を示す。この制約条件の導入に本発明の実施の形態の新規性がある。なぜならこの制約条件なしでは、図３の行列分解は単純なＩ行（Ｒ＋Ｍ）列の行列とＪ行（Ｒ＋Ｍ）列の行列分解と等価だからである。
【００２９】
この制約条件は、商品特徴行列Ａ＾と単語特徴行列Ｂ＾とで表現されるクラスタに、カテゴリに依存しない単語特徴をもつことを促し、カテゴリ依存商品特徴行列Ａ＾＋とカテゴリ依存単語特徴行列Ｃ＾で表現されるクラスタに、カテゴリに依存する単語特徴をもつことを促す。なぜならＡ＾＋の制約条件を通して商品がその商品の所属するカテゴリに対応するクラスタへ所属させていることになり、所属カテゴリで共通する単語特徴は行列Ｃ＾によって表現されるからである。
【００３０】
上記の設定のもと、図４に、上記図１４と同じ行列データＸ＾に対する本発明の実施の形態の適用例を示し、図５に、その結果得られるクラスタリング結果を示す。図５から、クラスタ１、２が感性的特徴を表す単語を特徴として持ち、スカートカテゴリクラスタ、シャツカテゴリクラスタがカテゴリに関する単語を特徴として持っていることが分かる。よって感性的特徴を表す単語(カテゴリに依存しない単語)を持つクラスタとカテゴリに関する単語(カテゴリに依存する単語)を持つクラスタを分離したクラスタリング結果となっており、所望の結果となっていることが分かる。
【００３１】
本発明の実施の形態の概要動作は、以下に示すとおりである。
ステップ１）  文書データ、カテゴリデータを入力する
ステップ２）  各特徴行列を推定する
ステップ３）  各特徴行列を出力する
【００３２】
＜データ解析装置１００の構成＞
図６に示すように、本発明の実施の形態に係るデータ解析装置１００は、ＣＰＵ（Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）と、ＲＡＭ（Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ）と、後述するデータ解析処理ルーチンを実行するためのプログラムを記憶したＲＯＭ（Ｒｅａｄ  Ｏｎｌｙ  Ｍｅｍｏｒｙ）とを備えたコンピュータで構成され、機能的には次に示すように構成されている。データ解析装置１００は、入力部１と、記憶部２と、演算部３と、出力部４とを備えている。
【００３３】
入力部１は、外部装置２００から出力された、文書データとカテゴリデータとを受け付ける。ここで、文書データは、商品ｉ（１≦ｉ≦Ｉ，Ｉは１以上の整数）と単語ｊ（１≦ｊ≦Ｊ，Ｊは１以上の整数）との関連度を表すデータである。例えば、文書データは、商品ｉを説明する文書において出現した単語ｊを表すデータである。また、カテゴリデータは、商品ｉが、商品の分類であるカテゴリｍ（１≦ｍ≦Ｍ，Ｍは１以上の整数）に所属するか否かを表すデータである。なお、テーブル形式のデータは行列形式にて表現できることから、以下では、各テーブルと各行列を同一視し、区別せずに用いる。商品ｉは、文書に出現する商品であり、単語ｊは、当該文書に出現する単語である。
【００３４】
記憶部２には、入力部１によって受け付けた文書データ及びカテゴリデータと、後述する各部で作成される、文書情報テーブルと、カテゴリ情報テーブルと、商品特徴テーブルと、カテゴリ依存商品特徴テーブルと、単語特徴テーブルと、カテゴリ依存単語特徴テーブルとが格納される。
【００３５】
演算部３は、入力部１によって受け付けた文書データとカテゴリデータとに基づいて、各値を推定する。演算部３は、文書情報処理部３０と、カテゴリ情報処理部３２と、特徴行列推定部３４と、反復判定部３６と、特徴行列処理部３８とを備えている。
【００３６】
文書情報処理部３０は、入力部１によって受け付けた文書データに基づいて、文書情報テーブルを作成し、記憶部２へ格納する。文書情報テーブルは、商品ＩＤ、単語ＩＤ、及び単語出現数の組み合わせを格納したテーブルデータである。図７に文書情報テーブルの一例を示す。図７の商品ＩＤフィールドには、商品を特定する識別子が設定される。単語ＩＤフィールドには、商品と関連する文書中に存在する単語を特定する識別子が設定される。単語出現数フィールドには、１、又は当該単語の当該商品と関連する文書中に出現した数が設定される。なお、単語出現数フィールドの値には０又は正の整数値を設定できるが、負の数を設定することはできない。
【００３７】
また、文書情報処理部３０は、入力部１によって受け付けた文書データに基づいて、文書情報テーブルを更新する。更新のタイミングについては、例えば、システム管理者が外部装置２００から供給されるＰＯＳデータをもとに手動で更新できるようにしてもよいし、新たな商品と文書とが追加された場合に外部装置２００であるＰＯＳシステムから自動的に更新処理を起動するようにしてもよい。
例えば、文書情報処理部３０は、文書情報テーブルに、追加された商品、文書中に存在する単語、及び単語数に応じて、商品ＩＤフィールド、単語ＩＤフィールド、単語出現数の値を設定した行を挿入する。なお、文書を単語分割する処理には、自然言語処理技術である形態素解析を利用することが可能である。
【００３８】
カテゴリ情報処理部３２は、入力部１によって受け付けたカテゴリデータに基づいて、カテゴリ情報テーブルを作成し、記憶部２へ格納する。カテゴリ情報テーブルは、商品ＩＤ、カテゴリＩＤ、及び当該商品の所属カテゴリを示す所属値の組み合わせを格納したテーブルデータである。図８にカテゴリ情報テーブルの一例を示す。図８の商品ＩＤフィールドには、商品を特定する識別子が設定される。カテゴリＩＤフィールドは、商品が所属するカテゴリを特定する識別子が設定される。所属値フィールドには、商品の所属カテゴリを示す値である所属値が設定される。
【００３９】
また、カテゴリ情報処理部３２は、入力部１によって受け付けたカテゴリデータに基づいて、カテゴリ情報テーブルを更新する。更新のタイミングについては、例えば外部装置２００から供給されるＰＯＳデータをもとにシステム管理者が手動で更新できるようにしてもよいし、文書情報テーブルに存在していなかった新たな商品が文書情報テーブルに新たに作成された場合に外部装置２００であるＰＯＳシステムから自動的に更新処理を起動するようにしてもよい。例えば、カテゴリ情報処理部３２は、カテゴリ情報テーブルに、追加された商品、及び当該商品のカテゴリに応じて、商品ＩＤフィールド、カテゴリＩＤフィールド、及び所属値フィールドを設定した行を挿入する。
【００４０】
特徴行列推定部３４は、記憶部２に格納された文書データ及びカテゴリデータに基づいて、商品特徴テーブルと、カテゴリ依存商品特徴テーブルと、単語特徴テーブルと、カテゴリ依存単語特徴テーブルとを作成する。
【００４１】
商品特徴テーブルは、商品ＩＤ、クラスタＩＤ、及び商品特徴値の組み合わせを示すテーブルデータである。図９に商品特徴テーブルの一例を示す。図９の商品ＩＤフィールドには、商品を特定する識別子が設定される。クラスタＩＤフィールドには、クラスタを特定する識別子が設定される。商品特徴値フィールドには、算出された当該商品の当該クラスタに対する特徴値が設定される。クラスタは、商品のカテゴリとは異なる、商品の特徴を表す単語に基づく商品の分類である。
【００４２】
カテゴリ依存商品特徴テーブルは、商品ＩＤ、カテゴリＩＤ、及び商品特徴値の組み合わせを格納したテーブルデータである。図１０にカテゴリ依存商品特徴テーブルの一例を示す。図１０の商品ＩＤフィールドには、商品を特定する識別子が設定される。カテゴリＩＤフィールドには、カテゴリを特定する識別子が設定される。商品特徴値フィールドには、算出された当該商品の当該カテゴリに対する特徴値が設定される。なお、カテゴリはクラスタの１種であり、先述の例であれば、商品に対してスカート、シャツなどがカテゴリ（商品カテゴリ）と呼ばれるものである。
【００４３】
単語特徴テーブルは、単語ＩＤ、クラスタＩＤ、及び単語特徴値の組み合わせを示すテーブルデータである。図１１に単語特徴テーブルの一例を示す。図１１の単語ＩＤフィールドには、単語を特定する識別子が設定される。クラスタＩＤフィールドには、クラスタを特定する識別子が設定される。単語特徴値フィールドには、算出された当該単語の当該クラスタに対する特徴値が設定される。
【００４４】
カテゴリ依存単語特徴テーブルは、単語ＩＤ、カテゴリＩＤ、及び単語特徴値の組み合わせを格納したテーブルデータである。図１２にカテゴリ依存単語特徴テーブルの一例を示す。図１２の単語ＩＤフィールドには、単語を特定する識別子が設定される。カテゴリＩＤフィールドには、カテゴリを特定する識別子が設定される。単語特徴値フィールドには、算出された当該単語の当該クラスタに対する特徴値が設定される。
【００４５】
ここで、記憶部２に格納された文書情報テーブルに存在する全データから、Ｉ×Ｊの商品単語関連度情報行列Ｘ＾＝｛ｘｉｊ｝i，ｊ＝１Ｉ，Ｊが得られる。また、記憶部２に格納されたカテゴリ情報テーブルに存在する全データから、Ｉ×Ｍのカテゴリ情報行列Ｙ＾＝｛ｙｉｍ｝i，ｍ＝１Ｉ，Ｍが得られる。ただし、行列Ｘ＾の要素ｘｉｊは、単語ｊと商品ｉとの関連度を表す値であって、例えば、商品ｉと関連する文書における当該単語ｊの出現回数を表す。また、行列Ｙ＾の要素ｙｉｍは、商品ｉが、商品の分類であるカテゴリｍに所属するか否かを表す値である。例えば、要素ｙｉｍは、商品ｉが、商品の分類であるカテゴリｍに所属することを表す場合には、１の値をとり、商品ｉが、商品の分類であるカテゴリｍに所属しないことを表す場合には、０の値をとる。要素ｘｉｊ、要素ｙｉｍはすべて非負値である。
【００４６】
また、商品特徴テーブルから、Ｉ×Ｒの商品特徴行列Ａ＾＝｛ａｉｒ｝i＝１，ｒ＝１Ｉ，Ｒが得られる。カテゴリ依存商品特徴テーブルから、Ｉ×Ｍのカテゴリ依存商品特徴行列Ａ＾＋＝｛ａｉｍ＋｝i＝１，ｍ＝１Ｉ，Ｍが得られる。単語特徴テーブルから、Ｊ×Ｒの単語特徴行列Ｂ＾＝｛ｂｊｒ＋｝ｊ＝１，ｒ＝１Ｊ，Ｒが得られる。カテゴリ依存単語特徴テーブルから、Ｊ×Ｍのカテゴリ依存単語特徴行列Ｃ＾＝｛ｃｊｍ｝ｊ＝１，ｍ＝１Ｊ，Mが得られる。
【００４７】
ただし、Ｉが全商品数、Ｊが全単語数、Ｍが全カテゴリ数を表す。ｉが商品を特定する識別子、ｊが単語を特定する識別子、ｍがカテゴリを特定する識別子、ｒがクラスタを特定する識別子に対応する。
【００４８】
特徴行列推定部３４は、カテゴリ情報行列Ｙ＾に基づいて、商品単語関連度情報行列Ｘ＾を、商品特徴行列Ａ＾と、単語特徴行列Ｂ＾と、カテゴリ依存商品特徴行列Ａ＾＋と、カテゴリ依存単語特徴行列Ｃ＾とに分解する。ここで、商品特徴行列Ａ＾の要素ａｉｒは、商品ｉが、カテゴリとは異なる商品の分類であるクラスタｒ（１≦ｒ≦Ｒ，Ｍは１以上の整数）に所属することを表す。クラスタｒは、商品のカテゴリとは異なる、商品の特徴を表す単語に基づく商品の分類である。また、カテゴリ依存商品特徴行列Ａ＾＋の要素ａ＋ｉｍは、商品ｉが、カテゴリｍに所属することを表す。また、単語特徴行列Ｂ＾の要素ｂｊｒは、単語ｊが、クラスタｒに所属することを表す。また、カテゴリ依存単語特徴行列Ｃ＾の要素ｃｊｍは、単語ｊが、カテゴリｍに所属することを表す。要素ａｉｒ、要素ａ＋ｉｍ、要素ｂｊｒ、及び要素ｃｊｍはすべて非負値である。
【００４９】
ここで、商品単語関連度情報行列Ｘ＾（文書データ）の生成確率は、以下の式でモデル化される。
【００５０】
【数６】
2015230558.tif 000008
【００５１】
特徴行列推定部３４は、カテゴリ情報行列Ｙ＾を利用した制約条件
【００５２】
【数７】
2015230558.tif 000009
【００５３】
のもと、以下の式で表わされる目的関数を最大化するように、商品特徴行列Ａ＾、カテゴリ依存商品特徴行列Ａ＾＋、単語特徴行列Ｂ＾、及びカテゴリ依存単語特徴行列Ｃ＾を求める。
【００５４】
【数８】
2015230558.tif 000010
【００５５】
ただし、
【００５６】
【数９】
2015230558.tif 000011
【００５７】
でポアソン分布を表し、行列Ｅ＾は要素が全て１であるＲ行Ｍ列の行列、記号
【００５８】
【数１０】
2015230558.tif 000012
【００５９】
で行列のアダマール積（要素毎の積）を表す。
【００６０】
具体的には、特徴行列推定部３４は、まず、商品特徴行列Ａ＾、カテゴリ依存商品特徴行列Ａ＾＋、単語特徴行列Ｂ＾、及びカテゴリ依存単語特徴行列Ｃ＾を初期化する。そして、特徴行列推定部３４は、（ｉ，ｒ）の全ての組み合わせの各々について、以下の処理を実行して、商品特徴行列Ａ＾の要素ａｉｒを更新する。
【００６１】
特徴行列推定部３４は、（ｉ，ｒ）の全ての組み合わせの各々について、単語ｊの各々についての要素ｘｉｊと、クラスタｒの各々についての要素ａｉｒと、単語ｊ及びクラスタｒの組み合わせの各々についての要素ｂｊｒと、カテゴリｍの各々についての要素ａ＋ｉｍと、単語ｊ及びカテゴリｍの組み合わせの各々についての要素ｃｊｍと、カテゴリｍの各々についての要素ｙｉｍとに基づいて、以下の式（１）に従って、商品特徴行列Ａ＾の要素ａｉｒを更新する。なお記号「←」は右辺の計算結果を左辺の変数に代入する処理を意味する。
【００６２】
【数１１】
2015230558.tif 000013
【００６３】
ここで、￣ｘｉｊは、
【００６４】
【数１２】
2015230558.tif 000014
【００６５】
である。そして、特徴行列推定部３４は、上記式（１）で更新した商品特徴行列Ａ＾の要素ａｉｒの値を、商品特徴テーブルに格納する。
【００６６】
次に、特徴行列推定部３４は、（ｉ，ｍ）の全ての組み合わせの各々について、要素ｙｉｍと、クラスタｒの各々についての要素ａｉｒとに基づいて、以下の式（２）に従って、カテゴリ依存商品特徴行列Ａ＾＋の要素ａ＋ｉｍを更新する。
【００６７】
【数１３】
2015230558.tif 000015
【００６８】
そして、特徴行列推定部３４は、上記式（２）で更新したカテゴリ依存商品特徴行列Ａ＾＋の要素ａ＋ｉｍの値を、カテゴリ依存商品特徴テーブルに格納する。
【００６９】
次に、特徴行列推定部３４は、（ｊ，ｒ）の全ての組み合わせの各々について、商品ｉの各々についての要素ｘｉｊと、商品ｉ及びクラスタｒの組み合わせの各々についての要素ａｉｒと、クラスタｒの各々についての要素ｂｊｒと、商品ｉ及びカテゴリｍの組み合わせの各々についての要素ａ＋ｉｍと、カテゴリｍの各々についての要素ｃｊｍとに基づいて、以下の式（３）に従って、単語特徴行列Ｂ＾の要素ｂｊｒを更新する。
【００７０】
【数１４】
2015230558.tif 000016
【００７１】
そして、特徴行列推定部３４は、上記式（３）で更新した単語特徴行列Ｂ＾の要素ｂｊｒの値を、単語特徴テーブルに格納する。
【００７２】
次に、特徴行列推定部３４は、（ｊ，ｍ）の全ての組み合わせの各々について、商品ｉの各々についての要素ｘｉｊと、商品ｉ及びクラスタｒの組み合わせ各々についての要素ａｉｒと、クラスタｒの各々についての要素ｂｊｒと、商品ｉ及びカテゴリｍの組み合わせの各々についての要素ａ＋ｉｍと、カテゴリｍの各々についての要素ｃｊｍとに基づいて、以下の式（４）に従って、カテゴリ依存単語特徴行列Ｃ＾の要素ｃｊｍを更新する。
【００７３】
【数１５】
2015230558.tif 000017
【００７４】
そして、特徴行列推定部３４は、上記式（４）で更新したカテゴリ依存単語特徴行列Ｃ＾の要素ｃｊｍの値を、カテゴリ依存単語特徴テーブルに格納する。
【００７５】
特徴行列推定部３４は、上記の商品特徴行列Ａ＾、カテゴリ依存商品特徴行列Ａ＾＋、単語特徴行列Ｂ＾、及びカテゴリ依存単語特徴行列Ｃ＾の各要素の更新処理を行うことにより、カテゴリ情報行列Ｙ＾に基づいて、商品単語関連度情報行列Ｘ＾を、商品特徴行列Ａ＾と、単語特徴行列Ｂ＾と、カテゴリ依存商品特徴行列Ａ＾＋と、カテゴリ依存単語特徴行列Ｃ＾とに分解する。
【００７６】
反復判定部３６は、繰り返し条件を満足するまで、特徴行列推定部３４による更新処理を繰り返す。具体的には、反復判定部３６は、更新前の各要素の値と、更新後の各要素の値との差の絶対値の最大値が、値更新の最大変化幅を示す変数δより大きければ、δに当該最大値を代入する。なお、一連の各行列の更新処理毎に、値更新の最大変化幅を示す変数δは初期化される。また、繰り返し条件の閾値ε、最大繰り返し回数Ｎが予め設定される。
【００７７】
より詳細には、反復判定部３６は、更新前の商品特徴行列Ａ＾の要素の値ａｉｒｏｌｄと、上記式（１）に従って特徴行列推定部３４によって更新された更新後の商品特徴行列Ａ＾の要素の値ａｉｒｎｅｗの差の絶対値の最大値ｍａｘｉｒ｜ａｉｒｏｌｄ−ａｉｒｎｅｗ｜がδより大きければ、δ←｜ａｉｒｏｌｄ−ａｉｒｎｅｗ｜と更新する。なお、記号「←」は右辺の計算結果を左辺の変数に代入する処理を意味する。また、代入処理前の商品特徴行列Ａ＾の要素の値をａｉｒｏｌｄ、代入処理後の値をａｉｒｎｅｗとして記述した。
【００７８】
そして、反復判定部３６は、更新前の単語特徴行列Ｂ＾の要素の値ｂｊｒｏｌｄと、上記式（３）に従って特徴行列推定部３４によって更新された更新後の単語特徴行列Ｂ＾の要素の値ｂｊｒｎｅｗの差の絶対値の最大値ｍａｘｊｒ｜ｂｊｒｏｌｄ−ｂｊｒｎｅｗ｜ がδより大きければ、δ←ｍａｘｊｒ｜ｂｊｒｏｌｄ−ｂｊｒｎｅｗ｜と更新する。代入処理前の単語特徴行列Ｂ＾の要素の値をｂｊｒｏｌｄ、代入処理後の値をｂｊｒｎｅｗとして記述した。
【００７９】
そして、反復判定部３６は、更新前のカテゴリ依存単語特徴行列Ｃ＾の要素の値ｃｊｍｏｌｄと、上記式（４）に従って特徴行列推定部３４によって更新された更新後のカテゴリ依存単語特徴行列Ｃ＾の要素の値ｃｊｍｎｅｗの差の絶対値の最大値がδより大きければ、δ←ｍａｘｋｒ｜ｃｊｍｏｌｄ−ｃｊｍｎｅｗ｜ と更新する。代入処理前のカテゴリ依存単語特徴行列Ｃ＾の要素の値をｃｊｍｏｌｄ、代入処理後の値をｃｊｍｎｅｗとして記述した。
【００８０】
反復判定部３６は、繰り返し回数ｎが、予め定めた最大繰り返し数Ｎを超えるか、特徴行列推定部３４による更新による最大変化幅を表すδが予め定めた閾値εより小さければ特徴行列推定部３４による更新処理を終了する。
【００８１】
上記式（１）〜上記式（４）の各更新式は、全ての商品ｉ、単語ｊについて￣ｘｉｊ＝ｘｉｊが成立するとき、左辺と右辺が一致し、更新の最大変化幅を示す変数δの値が閾値ε以下となるため、更新が停止することが分かる。
【００８２】
またある単語ｊについて、￣ｘｉｊ＜ｘｉｊであるとすれば、上記式（３）の更新を行うと、右辺の分子
【００８３】
【数１６】
2015230558.tif 000018
【００８４】
が分母
【００８５】
【数１７】
2015230558.tif 000019
【００８６】
より大きくなるために、ｂｊｒを現在の値よりも大きくなるように更新することとなり、￣ｘｉｊの値が大きくなるように特徴ｂｊｒを更新していることになる。
【００８７】
上記式（１）〜（４）の、４つの数式の中で、上記式（２）の漸化式が制約条件により導かれるカテゴリ依存商品特徴行列の更新式であり、上記（２）式の存在が本発明の実施の形態とＮＭＦとの本質的な違いとなる。上記式（２）のｙｉｍが０でないときのみに限り、ａｉｍ＋は０より大きい値を取り、￣ｘｉｊの値にｃｊｍの値が寄与することになる。このことがカテゴリ依存単語特徴行列Ｃ＾がカテゴリに依存する単語特徴を表現することを促している。
【００８８】
特徴行列処理部３８は、特徴行列推定部３４の更新処理が終了した場合に、記憶部２に格納された更新済みの各テーブルの値を出力する。例えば、特徴行列処理部３８は、外部装置２００から出力のリクエスト信号の入力を受け付けた場合に、当該リクエスト信号に応じて、各テーブル内の値を出力すればよい。特徴行列処理部３８は、全特徴を出力する場合には、商品特徴テーブル、カテゴリ依存商品特徴テーブル、単語特徴テーブル、カテゴリ依存単語特徴テーブルの全ての行を出力すればよい。また、クラスタの単語特徴のみを利用する場合には、例えばリクエストの引数をクラスタＩＤとして、単語特徴テーブルから、当該クラスタＩＤを持つ行の単語ＩＤフィールド、単語特徴値フィールドを出力した後、単語特徴値フィールドの値の大きい順に単語ＩＤ１０件を特定することでクラスタの単語特徴を求めることができる。
【００８９】
出力部４は、特徴行列処理部３８によって出力された各特徴を、外部装置２００へ出力する。
【００９０】
＜データ解析装置の作用＞
次に、本実施の形態に係るデータ解析装置１００の作用について説明する。まず、データ解析装置１００は、文書データ及びカテゴリデータが外部装置２００から入力されると、データ解析装置１００によって、図１３に示すデータ解析処理ルーチンが実行される。
【００９１】
まず、ステップＳ１００において、入力部１によって、文書データとカテゴリデータとを受け付ける。
【００９２】
ステップＳ１０１において、文書情報処理部３０によって、上記ステップＳ１００で受け付けた文書データに基づいて、文書情報テーブルを作成し、記憶部２へ格納する。また、カテゴリ情報処理部３２によって、上記ステップＳ１００で受け付けたカテゴリデータに基づいて、カテゴリ情報テーブルを作成し、記憶部２へ格納する。そして、特徴行列推定部３４によって、記憶部２に格納された文書情報テーブル及びカテゴリ情報テーブルに基づいて、商品特徴テーブルと、カテゴリ依存商品特徴テーブルと、単語特徴テーブルと、カテゴリ依存単語特徴テーブルとを作成する。
【００９３】
ステップＳ１０２において、特徴行列推定部３４によって、上記ステップＳ１０１で作成された文書情報テーブル、カテゴリ情報テーブル、商品特徴テーブル、カテゴリ依存商品特徴テーブル、単語特徴テーブル、及びカテゴリ依存単語特徴テーブルに基づいて得られる商品特徴行列Ａ＾、カテゴリ依存商品特徴行列Ａ＾＋、単語特徴行列Ｂ＾、及びカテゴリ依存単語特徴行列Ｃ＾と、繰り返し回数ｎとを初期化する。
【００９４】
ステップＳ１０４において、変数δを０に初期化する。
【００９５】
ステップＳ１０６において、特徴行列推定部３４によって、記憶部２に格納された文書情報テーブル及びカテゴリ情報テーブルと、上記ステップＳ１０２で初期化された、又はステップＳ１０６〜Ｓ１１０で前回更新された、商品特徴行列Ａ＾、カテゴリ依存商品特徴行列Ａ＾＋、単語特徴行列Ｂ＾、及びカテゴリ依存単語特徴行列Ｃ＾とに基づいて、上記式（１）に従って商品特徴行列Ａ＾の各要素ａｉｒを更新し、更新した各要素ａｉｒを商品特徴テーブルに格納する。そして、上記式（２）に従ってカテゴリ依存商品特徴行列Ａ＾＋の各要素ａ＋ｉｍを更新し、更新した要素ａ＋ｉｍをカテゴリ依存商品特徴テーブルに格納する。また、反復判定部３６によって、更新前の商品特徴行列Ａ＾の要素の値ａｉｒｏｌｄと、上記式（１）に従って更新された更新後の商品特徴行列Ａ＾の要素の値ａｉｒｎｅｗとの差の絶対値の最大値ｍａｘｉｒ｜ａｉｒｏｌｄ−ａｉｒｎｅｗ｜がδより大きければ、δ←｜ａｉｒｏｌｄ−ａｉｒｎｅｗ｜と更新する。
【００９６】
ステップＳ１０８において、特徴行列推定部３４によって、記憶部２に格納された文書情報テーブルと、上記ステップＳ１０６で更新された商品特徴行列Ａ＾及びカテゴリ依存商品特徴行列Ａ＾＋と、上記ステップＳ１０２で初期化された、又はステップＳ１０８で前回更新された単語特徴行列Ｂ＾と、上記ステップＳ１０２で初期化された、又はステップＳ１１０で前回更新されたカテゴリ依存単語特徴行列Ｃ＾とに基づいて、上記（３）式に従って、単語特徴行列Ｂ＾の各要素ｂｊｒを更新し、更新した各要素ｂｊｒの値を、単語特徴テーブルに格納する。また、反復判定部３６によって、更新前の単語特徴行列Ｂ＾の要素の値ｂｊｒｏｌｄと、上記式（３）に従って更新された更新後の単語特徴行列Ｂ＾の要素の値ｂｊｒｎｅｗとの差の絶対値の最大値ｍａｘｊｒ｜ｂｊｒｏｌｄ−ｂｊｒｎｅｗ｜ がδより大きければ、δ←ｍａｘｊｒ｜ｂｊｒｏｌｄ−ｂｊｒｎｅｗ｜と更新する。
【００９７】
ステップＳ１１０において、特徴行列推定部３４によって、記憶部２に格納された文書情報テーブルと、上記ステップＳ１０６で更新された商品特徴行列Ａ＾及びカテゴリ依存商品特徴行列Ａ＾＋と、上記ステップＳ１０８で更新された単語特徴行列Ｂ＾と、上記ステップＳ１０２で初期化された、又はステップＳ１１０で前回更新されたカテゴリ依存単語特徴行列Ｃ＾とに基づいて、上記（４）式に従って、カテゴリ依存単語特徴行列Ｃ＾の各要素ｃｊｍを更新し、更新した各要素ｃｊｍの値を、カテゴリ依存単語特徴テーブルに格納する。また、反復判定部３６によって、更新前のカテゴリ依存単語特徴行列Ｃ＾の要素の値ｃｊｍｏｌｄと、上記（４）式に従って更新された更新後のカテゴリ依存単語特徴行列Ｃ＾の要素の値ｃｊｍｎｅｗとの差の絶対値の最大値がδより大きければ、δ←ｍａｘｋｒ｜ｃｊｍｏｌｄ−ｃｊｍｎｅｗ｜ と更新する。
【００９８】
ステップＳ１１２において、反復判定部３６によって繰り返し回数ｎをインクリメントする。
【００９９】
ステップＳ１１４において、反復判定部３６は、繰り返し回数ｎが予め定めた最大繰り返し数Ｎを超えたこと、又は変数δが予め定めた閾値εより小さいことを繰り返し条件として、当該繰り返し条件を満足したか否かを判定する。繰り返し条件を満足するようであれば、ステップＳ１１６へ進む。一方、繰り返し条件を満足しない場合には、ステップＳ１０４へ戻る。
【０１００】
ステップＳ１１６において、特徴行列処理部３８によって、記憶部２に格納された更新済みの各テーブルの値を出力する。
【０１０１】
ステップＳ１１８において、出力部４によって、上記ステップＳ１１６で出力された各値を外部装置２００へ出力して、データ解析処理ルーチンを終了する。
【０１０２】
以上説明したように、第１の実施の形態に係るデータ解析装置によれば、カテゴリ情報行列Ｙ＾に基づいて、商品単語関連度情報行列Ｘ＾を、商品特徴行列Ａ＾と、単語特徴行列Ｂ＾と、カテゴリ依存商品特徴行列Ａ＾＋と、カテゴリ依存単語特徴行列Ｃ＾とに分解することにより、カテゴリに依存する単語特徴とカテゴリに依存しない単語特徴を分離したクラスタを取得することができる。
【０１０３】
また、従来の技術では不可能であった、非負値行列分解において、カテゴリに依存する単語特徴とカテゴリに依存しない単語特徴を分離したクラスタリング結果を得ることが可能となる。
【０１０４】
また、行列形式で与えられるデータからクラスタを発見することができるため、複数の入力行列から頻出パターンを抽出することにより、特に、Ｅ−Ｃｏｍｍｅｒｃｅ（電子商取引）サービスにおける商品文書データからクラスタを発見することができる。
【０１０５】
なお、本発明は、上述した実施形態に限定されるものではなく、この発明の要旨を逸脱しない範囲内で様々な変形や応用が可能である。
【０１０６】
例えば、上記の実施の形態では、文書データとカテゴリデータを表現した行列からクラスタを抽出する例を示しているが、この例に限定されることはない。例えば、単語と商品の購入回数を表現する行列など、単語、商品のように１つ１つにＩＤ番号を付与して識別可能であり行列形式としてデータを表現することが可能な事物であれば、あらゆるものが本装置によるクラスタ抽出が可能である。また、出現数や購入回数のように整数である必要もなく、一般に実数であればよい。
【０１０７】
また、上記の実施の形態では、文書データに出現する商品と単語の関連度を表現した行列である商品単語関連度情報行列Ｘ＾と商品のカテゴリデータを表現した行列であるカテゴリ情報行列Ｙ＾とからクラスタを抽出する場合を例に説明したが、これに限定されるものではない。
例えば、第１のオブジェクトを商品以外のものとし、第２のオブジェクトを単語以外のものとし、第１のクラスタを商品のカテゴリ以外の第１のオブジェクトの分類とし、第２のクラスタを、第１のクラスタとは異なる第１のオブジェクトの分類として、第１のオブジェクトｉ（１≦ｉ≦Ｉ，Ｉは１以上の整数）が、第１のオブジェクトの分類である第１のクラスタｍ（１≦ｍ≦Ｍ，Ｍは１以上の整数）に所属することを表す非負値の要素ｙｉｍを持つＩ×Ｍのクラスタ情報行列Ｙ＾であって、かつ第１のオブジェクトｉが第１のクラスタｍに所属しない場合には要素ｙｉｍがゼロであるＩ×Ｍのクラスタ情報行列Ｙ＾に基づいて、第１のオブジェクトｉと第２のオブジェクトｊ（１≦ｊ≦Ｊ，Ｊは１以上の整数）との関連度を表す非負値の要素ｘｉｊを持つＩ×Ｊのオブジェクト関連度情報行列Ｘ＾を、第１のオブジェクトｉが、第１のクラスタとは異なる第１のオブジェクトの分類である第２のクラスタｒ（１≦ｍ≦Ｍ，Ｍは１以上の整数）に所属することを表す非負値の要素ａｉｒを持つＩ×Ｒの第１のオブジェクト特徴行列Ａ＾と、第２のオブジェクトｊが、第２のクラスタｒに所属することを表す非負値の要素ｂｊｒを持つＪ×Ｒの第２のオブジェクト特徴行列Ｂ＾と、第１のオブジェクトｉが、第１のクラスタｍに所属することを表す非負値の要素ａ＋ｉｍを持つＩ×Ｍの第１のクラスタ依存第１のオブジェクト特徴行列Ａ＾＋と、第２のオブジェクトｊが、第１のクラスタｍに所属することを表す非負値の要素ｃｊｍを持つＪ×Ｍの第１のクラスタ依存第２のオブジェクト特徴行列Ｃ＾とに分解するようにしてもよい。
【０１０８】
また、入力となる行列が１つ以上存在する場合を扱う上記非特許文献２の手法にも本発明による方法は適用可能である。
【０１０９】
また、本発明は、周知のコンピュータに媒体もしくは通信回線を介して、プログラムをインストールすることによっても実現可能である。
【０１１０】
また、上述のデータ解析装置は、内部にコンピュータシステムを有しているが、「コンピュータシステム」は、ＷＷＷシステムを利用している場合であれば、ホームページ提供環境（あるいは表示環境）も含むものとする。
【０１１１】
また、本願明細書中において、プログラムが予めインストールされている実施形態として説明したが、当該プログラムを、コンピュータ読み取り可能な記録媒体に格納して提供することも可能である。
【符号の説明】
【０１１２】
１     入力部
２     記憶部
３     演算部
４     出力部
３０   文書情報処理部
３２   カテゴリ情報処理部
３４   特徴行列推定部
３６   反復判定部
３８   特徴行列処理部
１００ データ解析装置
２００ 外部装置
【図１】
2015230558.tif 000020
【図５】
2015230558.tif 000021
【図６】
2015230558.tif 000022
【図７】
2015230558.tif 000023
【図８】
2015230558.tif 000024
【図９】
2015230558.tif 000025
【図１０】
2015230558.tif 000026
【図１１】
2015230558.tif 000027
【図１２】
2015230558.tif 000028
【図１３】
2015230558.tif 000029
【図１４】
2015230558.tif 000030
【図１５】
2015230558.tif 000031
【図２】
2015230558.tif 000032
【図３】
2015230558.tif 000033
【図４】
2015230558.tif 000034