(57)【要約】【課題】精度良くパラメタを推定することができるようにする。【解決手段】パラメタ推定部３４によって、購買データ及び特徴データに基づいて、Ｉ×Ｊの行列Ｘ１＾を、共有トピックｒにアイテムｉが所属することを示す非負値の要素ａｉｒを持つＩ×Ｌ（１）のパラメタ行列Ａ１＾と、ユーザｊが共有トピックｒに所属することを示す非負値の要素ｂｊｒを持つＪ×Ｌ（１）のユーザパラメタ行列Ｂ＾とに分解し、かつ、Ｉ×Ｋの行列Ｘ２＾を、パラメタ行列Ａ１＾と非共有トピックｒにアイテムｉが所属することを示す非負値の要素ａｉｒを持つＩ×（Ｌ（２）−Ｌ（１））のパラメタ行列Ａ２＾とからなるＩ×Ｌ（２）のパラメタ行列Ａ＾と、特徴ｋが共有トピックｒに所属することを示す非負値の要素ｃｋｒ、及び特徴ｋが非共有トピックｒに所属することを示す非負値の要素ｃｋｒを持つＫ×Ｌ（２）のパラメタ行列Ｃ＾とに分解する。【選択図】図２
2015087874.tif 000002
【特許請求の範囲】
【請求項１】
ユーザｊ（１≦ｊ≦Ｊ，Ｊは１以上の整数）がアイテムｉ（１≦ｉ≦Ｉ，Ｉは１以上の整数）を購入した購入量を示す購買データと、前記アイテムｉ（１≦ｉ≦Ｉ）が有する特徴ｋ（１≦ｋ≦Ｋ，ｋは１以上の整数）の特徴量を示す特徴データとを受け付ける入力部と、
前記入力部によって受け付けた前記購買データ及び前記特徴データに基づいて、前記ユーザｊが前記アイテムｉを購入した購入量を示す非負値の要素ｘｉｊ（１）を持つＩ×Ｊの行列Ｘ１＾を、共有トピックｒ（１≦ｒ≦Ｌ（１），Ｌ（１）は予め定められた１以上の整数）に前記アイテムｉが所属することを示す非負値の要素ａｉｒを持つＩ×Ｌ（１）のパラメタ行列Ａ１＾と、前記ユーザｊが前記共有トピックｒに所属することを示す非負値の要素ｂｊｒを持つＪ×Ｌ（１）のユーザパラメタ行列Ｂ＾とに分解し、かつ、
前記アイテムｉが有する前記特徴ｋの特徴量を示す非負値の要素ｘｉｋ（２）を持つＩ×Ｋの行列Ｘ２＾を、前記パラメタ行列Ａ１＾と非共有トピックｒ（Ｌ（１）＋１≦ｒ≦Ｌ（２），Ｌ（２）は予め定められた２以上の整数）に前記アイテムｉが所属することを示す非負値の要素ａｉｒを持つＩ×（Ｌ（２）−Ｌ（１））のパラメタ行列Ａ２＾とからなるＩ×Ｌ（２）のパラメタ行列Ａ＾と、前記特徴ｋが前記共有トピックｒに所属することを示す非負値の要素ｃｋｒ、及び前記特徴ｋが前記非共有トピックｒに所属することを示す非負値の要素ｃｋｒを持つＫ×Ｌ（２）のパラメタ行列Ｃ＾とに分解するパラメタ推定部と、
を含むデータ解析装置。
【請求項２】
ユーザｊ（１≦ｊ≦Ｊ，Ｊは１以上の整数）がアイテムｉ（１≦ｉ≦Ｉ，Ｉは１以上の整数）を購入した購入量を示す購買データと、前記アイテムｉ（１≦ｉ≦Ｉ）が有する特徴ｋ（１≦ｋ≦Ｋ，ｋは１以上の整数）の特徴量を示す特徴データとを受け付ける入力部と、
前記入力部によって受け付けた前記購買データ及び前記特徴データに基づいて、前記ユーザｊが前記アイテムｉを購入した購入量を示す非負値の要素ｘｉｊ（１）を持つＩ×Ｊの行列Ｘ１＾を、共有トピックｒ（１≦ｒ≦Ｌ（１），Ｌ（１）は予め定められた１以上の整数）に前記アイテムｉが所属することを示す非負値の要素ａｉｒを持つＩ×Ｌ（１）のパラメタ行列Ａ１＾と、前記ユーザｊが前記共有トピックｒに所属することを示す非負値の要素ｂｊｒを持つＪ×Ｌ（１）のユーザパラメタ行列Ｂ＾とに分解し、かつ、
前記アイテムｉが有する前記特徴ｋの特徴量を示す非負値の要素ｘｉｋ（２）を持つＩ×Ｋの行列Ｘ２＾を、前記パラメタ行列Ａ１＾と非共有トピックｒ（Ｌ（１）＋１≦ｒ≦Ｌ（２），Ｌ（２）は予め定められた２以上の整数）に前記アイテムｉが所属することを示す非負値の要素ａｉｒを持つＩ×（Ｌ（２）−Ｌ（１））のパラメタ行列Ａ２＾とからなるＩ×Ｌ（２）のパラメタ行列Ａ＾と、前記特徴ｋが前記共有トピックｒに所属することを示す非負値の要素ｃｋｒ、及び前記特徴ｋが前記非共有トピックｒに所属することを示す非負値の要素ｃｋｒを持つＫ×Ｌ（２）のパラメタ行列Ｃ＾とに分解するパラメタ推定部と、
繰り返し条件を満足するまで、前記パラメタ推定部による分解を繰り返す反復判定部とを含むデータ解析装置であって、
前記パラメタ推定部は、前記入力部によって受け付けた前記購買データ及び前記特徴データに基づいて、
（ｉ，ｒ）の全ての組み合わせの各々について、
前記組み合わせのｒがｒ≦Ｌ（１）である場合、前記ユーザｊの各々についての前記要素ｘｉｊ（１）と、１≦ｒ≦Ｌ（１）である範囲における各ｒについての前記要素ａｉｒと、前記ユーザｊ及び１≦ｒ≦Ｌ（１）である範囲におけるｒの組み合わせの各々についての前記要素ｂｊｒと、前記特徴ｋの各々についての前記要素ｘｉｋ（2）と、１≦ｒ≦Ｌ（１）である範囲における各ｒについての前記要素ａｉｒと、前記特徴ｋ及び１≦ｒ≦Ｌ（１）である範囲におけるｒの組み合わせの各々についての前記要素ｃkｒとに基づいて、前記パラメタ行列Ａ１＾の要素ａｉｒを更新し、
前記組み合わせのｒがＬ（１）＜ｒ≦Ｌ（２）である場合、前記特徴ｋの各々についての前記要素ｘｉｋ（2）と、１≦ｒ≦Ｌ（１）である範囲における各ｒについての前記要素ａｉｒと、前記特徴ｋ及び１≦ｒ≦Ｌ（１）である範囲におけるｒの組み合わせの各々についての前記要素ｃkｒとに基づいて、前記パラメタ行列Ａ２＾の要素ａｉｒを更新し、
（ｊ，ｒ）の全ての組み合わせの各々について、前記アイテムｉの各々についての前記要素ｘｉｊ（１）と、１≦ｒ≦Ｌ（１）である範囲における各ｒについての前記要素ａｉｒと、前記ユーザｊ及び１≦ｒ≦Ｌ（１）である範囲におけるｒの組み合わせの各々についての前記要素ｂｊｒとに基づいて、前記ユーザパラメタ行列Ｂ＾の要素ｂｊｒを更新し、
（ｋ，ｒ）の全ての組み合わせの各々について、前記アイテムｉの各々についての前記要素ｘｉｋ（2）と、前記アイテムｉ及び１≦ｒ≦Ｌ（１）である範囲におけるｒの組み合わせの各々についての前記要素ａｉｒと、１≦ｒ≦Ｌ（2）である範囲におけるｒの各々についての前記要素ｃkｒとに基づいて、前記パラメタ行列Ｃ＾の要素ｃｋｒを更新することにより、前記行列Ｘ１＾を、前記パラメタ行列Ａ１＾と前記ユーザパラメタ行列Ｂ＾とに分解し、前記行列Ｘ２＾を、前記パラメタ行列Ａ＾と前記パラメタ行列Ｃ＾とに分解するデータ解析装置。
【請求項３】
前記パラメタ推定部は、前記入力部によって受け付けた前記購買データ及び前記特徴データに基づいて、
（ｉ，ｒ）の全ての組み合わせの各々について、
前記組み合わせのｒが、１≦ｒ≦Ｌ（１）である範囲のうちの複数の共有トピックｒの線形和で表わされる非共有トピックｒ’である場合、前記複数の共有トピックｒの各々の前記要素ａｉｒに基づいて、前記パラメタ行列Ａ２＾の要素ａｉｒを更新し、前記組み合わせのｒがｒ≦Ｌ（１）である場合、前記ユーザｊの各々についての前記要素ｘｉｊ（１）と、１≦ｒ≦Ｌ（１）である範囲における各ｒについての前記要素ａｉｒと、前記ユーザｊ及び１≦ｒ≦Ｌ（１）である範囲におけるｒの組み合わせの各々についての前記要素ｂｊｒと、前記特徴ｋの各々についての前記要素ｘｉｋ（2）と、１≦ｒ≦Ｌ（１）である範囲における各ｒについての前記要素ａｉｒと、前記特徴ｋ及び１≦ｒ≦Ｌ（１）である範囲におけるｒの組み合わせの各々についての前記要素ｃkｒと、前記特徴ｋ及び前記非共有トピックｒ’の組み合わせの各々についての前記要素ｃkｒ’とに基づいて、前記パラメタ行列Ａ１＾の要素ａｉｒを更新し、
前記組み合わせのｒがＬ（１）＜ｒ≦Ｌ（２）であり、かつｒ≠ｒ’である場合、前記特徴ｋの各々についての前記要素ｘｉｋ（2）と、１≦ｒ≦Ｌ（１）である範囲における各ｒについての前記要素ａｉｒと、前記特徴ｋ及び１≦ｒ≦Ｌ（１）である範囲におけるｒの組み合わせの各々についての前記要素ｃkｒとに基づいて、前記パラメタ行列Ａ２＾の要素ａｉｒを更新し、
（ｊ，ｒ）の全ての組み合わせの各々について、前記アイテムｉの各々についての前記要素ｘｉｊ（１）と、１≦ｒ≦Ｌ（１）である範囲における各ｒについての前記要素ａｉｒと、前記ユーザｊ及び１≦ｒ≦Ｌ（１）である範囲におけるｒの組み合わせの各々についての前記要素ｂｊｒとに基づいて、前記ユーザパラメタ行列Ｂ＾の要素ｂｊｒを更新し、
（ｋ，ｒ）の全ての組み合わせの各々について、前記アイテムｉの各々についての前記要素ｘｉｋ（2）と、前記アイテムｉ及び１≦ｒ≦Ｌ（１）である範囲におけるｒの組み合わせの各々についての前記要素ａｉｒと、１≦ｒ≦Ｌ（2）である範囲におけるｒの各々についての前記要素ｃkｒとに基づいて、前記パラメタ行列Ｃ＾の要素ｃｋｒを更新することにより、前記行列Ｘ１＾を、前記パラメタ行列Ａ１＾と前記ユーザパラメタ行列Ｂ＾とに分解し、前記行列Ｘ２＾を、前記パラメタ行列Ａ＾と前記パラメタ行列Ｃ＾とに分解する請求項２記載のデータ解析装置。
【請求項４】
入力部、パラメタ推定部、及び反復判定部を含むデータ解析装置におけるデータ解析方法であって、
前記入力部によって、ユーザｊ（１≦ｊ≦Ｊ，Ｊは１以上の整数）がアイテムｉ（１≦ｉ≦Ｉ，Ｉは１以上の整数）を購入した購入量を示す購買データと、前記アイテムｉ（１≦ｉ≦Ｉ）が有する特徴ｋ（１≦ｋ≦Ｋ，ｋは１以上の整数）の特徴量を示す特徴データとを受け付けるステップと、
前記パラメタ推定部によって、前記入力部によって受け付けた前記購買データ及び前記特徴データに基づいて、前記ユーザｊが前記アイテムｉを購入した購入量を示す非負値の要素ｘｉｊ（１）を持つＩ×Ｊの行列Ｘ１＾を、共有トピックｒ（１≦ｒ≦Ｌ（１），Ｌ（１）は予め定められた１以上の整数）に前記アイテムｉが所属することを示す非負値の要素ａｉｒを持つＩ×Ｌ（１）のパラメタ行列Ａ１＾と、前記ユーザｊが前記共有トピックｒに所属することを示す非負値の要素ｂｊｒを持つＪ×Ｌ（１）のユーザパラメタ行列Ｂ＾とに分解し、かつ、
前記アイテムｉが有する前記特徴ｋの特徴量を示す非負値の要素ｘｉｋ（２）を持つＩ×Ｋの行列Ｘ２＾を、前記パラメタ行列Ａ１＾と非共有トピックｒ（Ｌ（１）＋１≦ｒ≦Ｌ（２），Ｌ（２）は予め定められた２以上の整数）に前記アイテムｉが所属することを示す非負値の要素ａｉｒを持つＩ×（Ｌ（２）−Ｌ（１））のパラメタ行列Ａ２＾とからなるＩ×Ｌ（２）のパラメタ行列Ａ＾と、前記特徴ｋが前記共有トピックｒに所属することを示す非負値の要素ｃｋｒ、及び前記特徴ｋが前記非共有トピックｒに所属することを示す非負値の要素ｃｋｒを持つＫ×Ｌ（２）のパラメタ行列Ｃ＾とに分解するステップと、
前記反復判定部によって、繰り返し条件を満足するまで、前記パラメタ推定部による分解を繰り返すステップとを含むデータ解析方法であって、
前記パラメタ推定部によって分解するステップは、前記入力部によって受け付けた前記購買データ及び前記特徴データに基づいて、
（ｉ，ｒ）の全ての組み合わせの各々について、
前記組み合わせのｒがｒ≦Ｌ（１）である場合、前記ユーザｊの各々についての前記要素ｘｉｊ（１）と、１≦ｒ≦Ｌ（１）である範囲における各ｒについての前記要素ａｉｒと、前記ユーザｊ及び１≦ｒ≦Ｌ（１）である範囲におけるｒの組み合わせの各々についての前記要素ｂｊｒと、前記特徴ｋの各々についての前記要素ｘｉｋ（2）と、１≦ｒ≦Ｌ（１）である範囲における各ｒについての前記要素ａｉｒと、前記特徴ｋ及び１≦ｒ≦Ｌ（１）である範囲におけるｒの組み合わせの各々についての前記要素ｃkｒとに基づいて、前記パラメタ行列Ａ１＾の要素ａｉｒを更新し、
前記組み合わせのｒがＬ（１）＜ｒ≦Ｌ（２）である場合、前記特徴ｋの各々についての前記要素ｘｉｋ（2）と、１≦ｒ≦Ｌ（１）である範囲における各ｒについての前記要素ａｉｒと、前記特徴ｋ及び１≦ｒ≦Ｌ（１）である範囲におけるｒの組み合わせの各々についての前記要素ｃkｒとに基づいて、前記パラメタ行列Ａ２＾の要素ａｉｒを更新し、
（ｊ，ｒ）の全ての組み合わせの各々について、前記アイテムｉの各々についての前記要素ｘｉｊ（１）と、１≦ｒ≦Ｌ（１）である範囲における各ｒについての前記要素ａｉｒと、前記ユーザｊ及び１≦ｒ≦Ｌ（１）である範囲におけるｒの組み合わせの各々についての前記要素ｂｊｒとに基づいて、前記ユーザパラメタ行列Ｂ＾の要素ｂｊｒを更新し、
（ｋ，ｒ）の全ての組み合わせの各々について、前記アイテムｉの各々についての前記要素ｘｉｋ（2）と、前記アイテムｉ及び１≦ｒ≦Ｌ（１）である範囲におけるｒの組み合わせの各々についての前記要素ａｉｒと、１≦ｒ≦Ｌ（2）である範囲におけるｒの各々についての前記要素ｃkｒとに基づいて、前記パラメタ行列Ｃ＾の要素ｃｋｒを更新することにより、前記行列Ｘ１＾を、前記パラメタ行列Ａ１＾と前記ユーザパラメタ行列Ｂ＾とに分解し、前記行列Ｘ２＾を、前記パラメタ行列Ａ＾と前記パラメタ行列Ｃ＾とに分解する
データ解析方法。
【請求項５】
前記パラメタ推定部によって分解するステップは、前記入力部によって受け付けた前記購買データ及び前記特徴データに基づいて、
（ｉ，ｒ）の全ての組み合わせの各々について、
前記組み合わせのｒが、１≦ｒ≦Ｌ（１）である範囲のうちの複数の共有トピックｒの線形和で表わされる非共有トピックｒ’である場合、前記複数の共有トピックｒの各々の前記要素ａｉｒに基づいて、前記パラメタ行列Ａ２＾の要素ａｉｒを更新し、前記組み合わせのｒがｒ≦Ｌ（１）である場合、前記ユーザｊの各々についての前記要素ｘｉｊ（１）と、１≦ｒ≦Ｌ（１）である範囲における各ｒについての前記要素ａｉｒと、前記ユーザｊ及び１≦ｒ≦Ｌ（１）である範囲におけるｒの組み合わせの各々についての前記要素ｂｊｒと、前記特徴ｋの各々についての前記要素ｘｉｋ（2）と、１≦ｒ≦Ｌ（１）である範囲における各ｒについての前記要素ａｉｒと、前記特徴ｋ及び１≦ｒ≦Ｌ（１）である範囲におけるｒの組み合わせの各々についての前記要素ｃkｒと、前記特徴ｋ及び前記非共有トピックｒ’の組み合わせの各々についての前記要素ｃkｒ’とに基づいて、前記パラメタ行列Ａ１＾の要素ａｉｒを更新し、
前記組み合わせのｒがＬ（１）＜ｒ≦Ｌ（２）であり、かつｒ≠ｒ’である場合、前記特徴ｋの各々についての前記要素ｘｉｋ（2）と、１≦ｒ≦Ｌ（１）である範囲における各ｒについての前記要素ａｉｒと、前記特徴ｋ及び１≦ｒ≦Ｌ（１）である範囲におけるｒの組み合わせの各々についての前記要素ｃkｒとに基づいて、前記パラメタ行列Ａ２＾の要素ａｉｒを更新し、
（ｊ，ｒ）の全ての組み合わせの各々について、前記アイテムｉの各々についての前記要素ｘｉｊ（１）と、１≦ｒ≦Ｌ（１）である範囲における各ｒについての前記要素ａｉｒと、前記ユーザｊ及び１≦ｒ≦Ｌ（１）である範囲におけるｒの組み合わせの各々についての前記要素ｂｊｒとに基づいて、前記ユーザパラメタ行列Ｂ＾の要素ｂｊｒを更新し、
（ｋ，ｒ）の全ての組み合わせの各々について、前記アイテムｉの各々についての前記要素ｘｉｋ（2）と、前記アイテムｉ及び１≦ｒ≦Ｌ（１）である範囲におけるｒの組み合わせの各々についての前記要素ａｉｒと、１≦ｒ≦Ｌ（2）である範囲におけるｒの各々についての前記要素ｃkｒとに基づいて、前記パラメタ行列Ｃ＾の要素ｃｋｒを更新することにより、前記行列Ｘ１＾を、前記パラメタ行列Ａ１＾と前記ユーザパラメタ行列Ｂ＾とに分解し、前記行列Ｘ２＾を、前記パラメタ行列Ａ＾と前記パラメタ行列Ｃ＾とに分解する請求項４記載のデータ解析方法。
【請求項６】
解析対象物ｉ（１≦ｉ≦Ｉ，Ｉは１以上の整数）が有する第１特徴ｊ（１≦ｊ≦Ｊ，Ｊは１以上の整数）の特徴量を示す第１特徴データと、前記解析対象物ｉ（１≦ｉ≦Ｉ）が有する第２特徴ｋ（１≦ｋ≦Ｋ，ｋは１以上の整数）の特徴量を示す第２特徴データとを受け付ける入力部と、
前記入力部によって受け付けた前記第１特徴データ及び前記第２特徴データに基づいて、前記解析対象物ｉが有する前記第１特徴ｊの特徴量を示す非負値の要素ｘｉｊ（１）を持つＩ×Ｊの行列Ｘ１＾を、共有トピックｒ（１≦ｒ≦Ｌ（１），Ｌ（１）は予め定められた１以上の整数）に前記解析対象物ｉが所属することを示す非負値の要素ａｉｒを持つＩ×Ｌ（１）のパラメタ行列Ａ１＾と、前記第１特徴ｊが前記共有トピックｒに所属することを示す非負値の要素ｂｊｒを持つＪ×Ｌ（１）のパラメタ行列Ｂ＾とに分解し、かつ、
前記解析対象物ｉが有する前記第２特徴ｋの特徴量を示す非負値の要素ｘｉｋ（２）を持つＩ×Ｋの行列Ｘ２＾を、前記パラメタ行列Ａ１＾と非共有トピックｒ（Ｌ（１）＋１≦ｒ≦Ｌ（２），Ｌ（２）は予め定められた２以上の整数）に前記解析対象物ｉが所属することを示す非負値の要素ａｉｒを持つＩ×（Ｌ（２）−Ｌ（１））のパラメタ行列Ａ２＾とからなるＩ×Ｌ（２）のパラメタ行列Ａ＾と、前記第２特徴ｋが前記共有トピックｒに所属することを示す非負値の要素ｃｋｒ、及び前記第２特徴ｋが前記非共有トピックｒに所属することを示す非負値の要素ｃｋｒを持つＫ×Ｌ（２）のパラメタ行列Ｃ＾とに分解するパラメタ推定部と、
繰り返し条件を満足するまで、前記パラメタ推定部による分解を繰り返す反復判定部と、
を含むデータ解析装置であって、
前記パラメタ推定部は、
前記入力部によって受け付けた前記第１特徴データ及び前記第２特徴データに基づいて、
（ｉ，ｒ）の全ての組み合わせの各々について、
前記組み合わせのｒがｒ≦Ｌ（１）である場合、前記第１特徴ｊの各々についての前記要素ｘｉｊ（１）と、１≦ｒ≦Ｌ（１）である範囲における各ｒについての前記要素ａｉｒと、前記第１特徴ｊ及び１≦ｒ≦Ｌ（１）である範囲におけるｒの組み合わせの各々についての前記要素ｂｊｒと、前記第２特徴ｋの各々についての前記要素ｘｉｋ（2）と、１≦ｒ≦Ｌ（１）である範囲における各ｒについての前記要素ａｉｒと、前記第２特徴ｋ及び１≦ｒ≦Ｌ（１）である範囲におけるｒの組み合わせの各々についての前記要素ｃkｒとに基づいて、前記パラメタ行列Ａ１＾の要素ａｉｒを更新し、
前記組み合わせのｒがＬ（１）＜ｒ≦Ｌ（２）である場合、前記第２特徴ｋの各々についての前記要素ｘｉｋ（2）と、１≦ｒ≦Ｌ（１）である範囲における各ｒについての前記要素ａｉｒと、前記第２特徴ｋ及び１≦ｒ≦Ｌ（１）である範囲におけるｒの組み合わせの各々についての前記要素ｃkｒとに基づいて、前記パラメタ行列Ａ２＾の要素ａｉｒを更新し、
（ｊ，ｒ）の全ての組み合わせの各々について、前記解析対象物ｉの各々についての前記要素ｘｉｊ（１）と、１≦ｒ≦Ｌ（１）である範囲における各ｒについての前記要素ａｉｒと、前記第１特徴ｊ及び１≦ｒ≦Ｌ（１）である範囲におけるｒの組み合わせの各々についての前記要素ｂｊｒとに基づいて、前記パラメタ行列Ｂ＾の要素ｂｊｒを更新し、
（ｋ，ｒ）の全ての組み合わせの各々について、前記解析対象物ｉの各々についての前記要素ｘｉｋ（2）と、前記解析対象物ｉ及び１≦ｒ≦Ｌ（１）である範囲におけるｒの組み合わせの各々についての前記要素ａｉｒと、１≦ｒ≦Ｌ（2）である範囲におけるｒの各々についての前記要素ｃkｒとに基づいて、前記パラメタ行列Ｃ＾の要素ｃｋｒを更新することにより、前記行列Ｘ１＾を、前記パラメタ行列Ａ１＾と前記パラメタ行列Ｂ＾とに分解し、前記行列Ｘ２＾を、前記パラメタ行列Ａ＾と前記パラメタ行列Ｃ＾とに分解するデータ解析装置。
【請求項７】
前記パラメタ推定部は、前記入力部によって受け付けた前記第１特徴データ及び前記第２特徴データに基づいて、
（ｉ，ｒ）の全ての組み合わせの各々について、
前記組み合わせのｒが、１≦ｒ≦Ｌ（１）である範囲のうちの複数の共有トピックｒの線形和で表わされる非共有トピックｒ’である場合、前記複数の共有トピックｒの各々の前記要素ａｉｒに基づいて、前記パラメタ行列Ａ２＾の要素ａｉｒを更新し、
前記組み合わせのｒがｒ≦Ｌ（１）である場合、前記第１特徴ｊの各々についての前記要素ｘｉｊ（１）と、１≦ｒ≦Ｌ（１）である範囲における各ｒについての前記要素ａｉｒと、前記第１特徴ｊ及び１≦ｒ≦Ｌ（１）である範囲におけるｒの組み合わせの各々についての前記要素ｂｊｒと、前記第２特徴ｋの各々についての前記要素ｘｉｋ（2）と、１≦ｒ≦Ｌ（１）である範囲における各ｒについての前記要素ａｉｒと、前記第２特徴ｋ及び１≦ｒ≦Ｌ（１）である範囲におけるｒの組み合わせの各々についての前記要素ｃkｒと、前記第２特徴ｋ及び前記非共有トピックｒ’の組み合わせの各々についての前記要素ｃkｒ’とに基づいて、前記パラメタ行列Ａ１＾の要素ａｉｒを更新し、
前記組み合わせのｒがＬ（１）＜ｒ≦Ｌ（２）であり、かつｒ≠ｒ’である場合、前記第２特徴ｋの各々についての前記要素ｘｉｋ（2）と、１≦ｒ≦Ｌ（１）である範囲における各ｒについての前記要素ａｉｒと、前記第２特徴ｋ及び１≦ｒ≦Ｌ（１）である範囲におけるｒの組み合わせの各々についての前記要素ｃkｒとに基づいて、前記パラメタ行列Ａ２＾の要素ａｉｒを更新し、
（ｊ，ｒ）の全ての組み合わせの各々について、前記解析対象物ｉの各々についての前記要素ｘｉｊ（１）と、１≦ｒ≦Ｌ（１）である範囲における各ｒについての前記要素ａｉｒと、前記第１特徴ｊ及び１≦ｒ≦Ｌ（１）である範囲におけるｒの組み合わせの各々についての前記要素ｂｊｒとに基づいて、前記パラメタ行列Ｂ＾の要素ｂｊｒを更新し、
（ｋ，ｒ）の全ての組み合わせの各々について、前記解析対象物ｉの各々についての前記要素ｘｉｋ（2）と、前記解析対象物ｉ及び１≦ｒ≦Ｌ（１）である範囲におけるｒの組み合わせの各々についての前記要素ａｉｒと、１≦ｒ≦Ｌ（2）である範囲におけるｒの各々についての前記要素ｃkｒとに基づいて、前記パラメタ行列Ｃ＾の要素ｃｋｒを更新することにより、前記行列Ｘ１＾を、前記パラメタ行列Ａ１＾と前記パラメタ行列Ｂ＾とに分解し、前記行列Ｘ２＾を、前記パラメタ行列Ａ＾と前記パラメタ行列Ｃ＾とに分解する請求項６記載のデータ解析装置。
【請求項８】
コンピュータを、請求項１、請求項２、請求項３、請求項６、及び請求項７の何れか１項記載のデータ解析装置の各部として機能させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、データ解析装置、方法、及びプログラムに関する。
【背景技術】
【０００２】
ＰＯＳ（Point of Sales）データに代表される購買データや、単語の出現回数で表現された文書集合データなど、存在するデータの多くは行列形式により表現できることが知られている。これら行列表現された多くのデータの中から、“トピック”と呼ぶ、データの定性的な頻出パターンを抽出するための手法として、非負値行列分解（Non-negative Matrix Factorization，ＮＭＦ）と呼ばれる手法の有用性がこれまで示されている（例えば非特許文献１を参照）。
【０００３】
ＮＭＦの適用により入力となる行列データはそれより低次のランクの行列の積に分解され、データ中の頻出パターンを抽出することができる。
【０００４】
したがって、例えば購買データに対し適用することで抽出されたパターンをもとにユーザへのおすすめアイテムリストを作成したり、ニュース記事文書集合に対する適用結果から記事の自動分類を行うことが可能となる。ＮＭＦの購買データへの適用例を図１０に示す。
【０００５】
購買データＸ１＾＝｛ｘｉｊ（１）｝（記号に付された「＾」は、当該記号が行列または多次元配列またはベクトルであることを表わしている。）は行列中の第ｉ行目に対応するアイテムを第ｊ列目に対応するユーザが購入済みであるときにｘｉｊ（１）成分の値が１、そうでない時に０となるデータである（値は必ずしも０か１である必要はなく、複数個購買が想定されるデータでは値は購買数であってもよい）。
【０００６】
購買データにＮＭＦを適用することでアイテムパラメタ行列とユーザパラメタ行列が求まる。アイテムパラメタ行列のトピック１に対応する列に着目すると、１行目と２行目に対応するアイテムの値が１となっていることが分かる。これは１行目アイテムと２行目アイテムは同時に購買されやすいというパターンが存在することを示している。実際に購買データからもこの２つのアイテム両方を購入しているユーザが２人存在することが確かめられる。このようにあるアイテムがトピック１に対応するパターン中に出現することを、そのアイテムはトピック１に所属すると呼ぶことにする。ユーザパラメタ行列からも同様にパターンを読み取ることができ、あるユーザがトピック１に対応するパターン中に出現するとき、そのユーザはトピック１に所属すると呼ぶ。
【０００７】
なお、トピックの総数に相当するアイテムパラメタ行列のランク数は、解析する前に予め決定しておくものとする。
【０００８】
上記図１０で説明したようにＮＭＦでは入力として１つの行列データを受け取る。しかし近年２つ以上の複数の行列データを入力として受け取る複数行列の非負値行列分解(Non-negative Multiple Matrix Factorization，ＮＭＭＦ）が提案された（非特許文献２を参照）。ＮＭＭＦの適用例を図１１に示す。
【０００９】
あるトピックに所属するアイテムについて、別の観点からのトピックを同時に共有する形で抽出することを考える。例えばアイテムが衣類であれば、ユーザ毎の購買データに着目したトピックとあわせて、色、サイズ、形状、素材、製造国、販売会社などの分類要素に基づいてトピックを同時に共有する形で抽出できるかを考える。ここでは色に着目してトピックを共有することを考え、ＮＭＭＦを適用する例を説明する。ここでアイテムの色は、アイテムを撮影したディジタル画像から得た色とする。
【００１０】
上記図１１における入力は上記図１０と同じ購買データＸ１＾と、色データＸ２＾となっている。色データＸ２＾＝｛ｘｉｊ（２）｝は第ｉ行目に対応するアイテムの画像に第ｊ列目に対応する色が存在する時にｘｉｊ（２）成分の値が０より大きい値となるデータである。挿入される値ｘｉｊ（２）は画像中に存在する対応する色ｊのピクセル数を基にした値でもよいし、画像を等間隔に分割した格子の各格子毎の分割画像の中で最も出現頻度の多かった色ｊの格子数を数えた値などとしてもよい。
【００１１】
ＮＭＭＦの適用によりアイテムパラメタ行列、ユーザパラメタ行列、色パラメタ行列の３つが求まる。アイテムパラメタ行列が、購買データの分解結果及び色データの分解結果の両方で共有されていることがこの手法の特徴である。この手法は、入力となる複数の行列全てにおいて、同一トピックに所属するアイテム同士が分類要素上で同じパターンを持ち、異なるトピックに所属するアイテム同士では分類要素上で異なるパターンを持つとする前提条件が存在する場合に、次のＡおよびＢの２点でＮＭＦより優れた性質を持つ手法となる。上記図１１の例を用いて説明する。
【００１２】
なお、上記図１１は、トピック１に所属するアイテムに黒色、トピック２に所属するアイテムに黄色が利用されていることを示しており、同一トピックに所属するアイテム同士が同じ色、異なるトピックに所属するアイテム同士では異なる色となっており上記の条件を満たしている。ＮＭＭＦの性質を、以下の（Ａ）、（Ｂ）に示す。
【００１３】
（Ａ）アイテム画像中に存在する特徴量からそのアイテムの所属トピックが特定できることでより正確にパラメタが求まる。
【００１４】
新たに発売されたアイテムなどは被購買数が少ないために購買データだけからは所属トピックが決定できない場合がある。しかしアイテムの色を分類要素へ利用可能な特徴量と位置づけてトピックを特定できると、より正確にパラメタを求めることができる。
【００１５】
（Ｂ）各トピックに対応するアイテムの分類要素を、代表的な特徴量で抽象化することでトピックが特定できる。
【００１６】
色に着目して分類しようとすると、布地としての色合いやデザインはさまざま存在し、そのままではＮＭＭＦのような分類手法を適用することは困難である。しかしトピックを特徴づける色合いやデザインを代表的な色（固有色）で抽象化することでＮＭＭＦのような分類手法も容易に適用できる。このように、複雑な分類要素もその特徴量を抽象化する過程を経ることで、分類したいトピックがどういうトピックであるかトピックの解釈を容易にすることができる。
【先行技術文献】
【非特許文献】
【００１７】
【非特許文献１】澤田宏、「非負値行列因子分解ＮＭＦの基礎とデータ／信号解析への応用」、電子情報通信学会誌、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
【発明の概要】
【発明が解決しようとする課題】
【００１８】
しかしながら、上記の非特許文献２の技術は、入力として受け取る行列のいずれかにおいてトピック固有でないパターンが存在する場合に、先の（Ａ）、（Ｂ）の性質を満たす結果を保つことはできない。上記図１１の例で言えば、トピック固有でないトピック非依存の色が存在する場合にＮＭＭＦを適用しても先の（Ａ）、（Ｂ）の２点の性質を満たす結果を得られない。トピックに依存しない色が存在する状況の例としては、画像中に特定の背景色が存在する状況や画像中に影が入ることで黒色が存在する状況、及び画像中に人が存在することで肌の色等が存在する状況が挙げられる。ＮＭＭＦを適用することによる失敗例を図１２に示す。上記図１２は上記図１１の色行列に白色の背景色が混入した状況を想定している。
【００１９】
上記図１２はトピック数２によるＮＭＭＦの適用結果例を示す。色パラメタ行列のトピック２に対応する行に注目すると、黒色が０、黄色が７、赤色が０、白色が８で、白色に対応する成分の値が最も大きな値となっていることが分かる。これはトピック２において白色をトピック２の固有色と見なしてしまうことを示している。白色は背景色であるのだから、これは明らかに望ましくなく、先の性質Ｂが満たされていないことになる。また、アイテムパラメタ行列と色パラメタ行列との演算結果から元の色データを正確には復元できず、ＮＭＭＦを使った分析に影響を与えてしまっている。
【００２０】
図１３はトピック数を３に増やしてＮＭＭＦを行った際の適用結果例である。ここではトピック３に背景色の白色を所属させることで性質Ｂを満たす結果を得ることができている。しかし、これは各アイテムが本来所属していたトピックとユーザの関係が正しく抽出できなくなるだけでなく、白色を固有色として持つトピックとユーザとの関係の抽出におけるノイズとなる。このノイズはパラメタ推定精度の悪化につながる。誤った色データが特徴量として混入することで、トピック固有でないパターンが存在することになり、必ずしもパラメタ推定精度を向上させるとは言えなくなることから、上記性質（Ａ）が満たされないこととなる。
【００２１】
本発明は、上記の事情を鑑みてなされたものであり、精度良くパラメタを推定することができるデータ解析装置、方法、及びプログラムを提供することを目的とする。
【課題を解決するための手段】
【００２２】
上記の目的を達成するために第１の発明に係るデータ解析装置は、ユーザｊ（１≦ｊ≦Ｊ，Ｊは１以上の整数）がアイテムｉ（１≦ｉ≦Ｉ，Ｉは１以上の整数）を購入した購入量を示す購買データと、前記アイテムｉ（１≦ｉ≦Ｉ）が有する特徴ｋ（１≦ｋ≦Ｋ，ｋは１以上の整数）の特徴量を示す特徴データとを受け付ける入力部と、前記入力部によって受け付けた前記購買データ及び前記特徴データに基づいて、前記ユーザｊが前記アイテムｉを購入した購入量を示す非負値の要素ｘｉｊ（１）を持つＩ×Ｊの行列Ｘ１＾を、共有トピックｒ（１≦ｒ≦Ｌ（１），Ｌ（１）は予め定められた１以上の整数）に前記アイテムｉが所属することを示す非負値の要素ａｉｒを持つＩ×Ｌ（１）のパラメタ行列Ａ１＾と、前記ユーザｊが前記共有トピックｒに所属することを示す非負値の要素ｂｊｒを持つＪ×Ｌ（１）のユーザパラメタ行列Ｂ＾とに分解し、かつ、前記アイテムｉが有する前記特徴ｋの特徴量を示す非負値の要素ｘｉｋ（２）を持つＩ×Ｋの行列Ｘ２＾を、前記パラメタ行列Ａ１＾と非共有トピックｒ（Ｌ（１）＋１≦ｒ≦Ｌ（２），Ｌ（２）は予め定められた２以上の整数）に前記アイテムｉが所属することを示す非負値の要素ａｉｒを持つＩ×（Ｌ（２）−Ｌ（１））のパラメタ行列Ａ２＾とからなるＩ×Ｌ（２）のパラメタ行列Ａ＾と、前記特徴ｋが前記共有トピックｒに所属することを示す非負値の要素ｃｋｒ、及び前記特徴ｋが前記非共有トピックｒに所属することを示す非負値の要素ｃｋｒを持つＫ×Ｌ（２）のパラメタ行列Ｃ＾とに分解するパラメタ推定部と、を含んで構成されている。
【００２３】
第２の発明に係るデータ解析装置は、ユーザｊ（１≦ｊ≦Ｊ，Ｊは１以上の整数）がアイテムｉ（１≦ｉ≦Ｉ，Ｉは１以上の整数）を購入した購入量を示す購買データと、前記アイテムｉ（１≦ｉ≦Ｉ）が有する特徴ｋ（１≦ｋ≦Ｋ，ｋは１以上の整数）の特徴量を示す特徴データとを受け付ける入力部と、前記入力部によって受け付けた前記購買データ及び前記特徴データに基づいて、前記ユーザｊが前記アイテムｉを購入した購入量を示す非負値の要素ｘｉｊ（１）を持つＩ×Ｊの行列Ｘ１＾を、共有トピックｒ（１≦ｒ≦Ｌ（１），Ｌ（１）は予め定められた１以上の整数）に前記アイテムｉが所属することを示す非負値の要素ａｉｒを持つＩ×Ｌ（１）のパラメタ行列Ａ１＾と、前記ユーザｊが前記共有トピックｒに所属することを示す非負値の要素ｂｊｒを持つＪ×Ｌ（１）のユーザパラメタ行列Ｂ＾とに分解し、かつ、前記アイテムｉが有する前記特徴ｋの特徴量を示す非負値の要素ｘｉｋ（２）を持つＩ×Ｋの行列Ｘ２＾を、前記パラメタ行列Ａ１＾と非共有トピックｒ（Ｌ（１）＋１≦ｒ≦Ｌ（２），Ｌ（２）は予め定められた２以上の整数）に前記アイテムｉが所属することを示す非負値の要素ａｉｒを持つＩ×（Ｌ（２）−Ｌ（１））のパラメタ行列Ａ２＾とからなるＩ×Ｌ（２）のパラメタ行列Ａ＾と、前記特徴ｋが前記共有トピックｒに所属することを示す非負値の要素ｃｋｒ、及び前記特徴ｋが前記非共有トピックｒに所属することを示す非負値の要素ｃｋｒを持つＫ×Ｌ（２）のパラメタ行列Ｃ＾とに分解するパラメタ推定部と、
繰り返し条件を満足するまで、前記パラメタ推定部による分解を繰り返す反復判定部とを含むデータ解析装置であって、前記パラメタ推定部は、前記入力部によって受け付けた前記購買データ及び前記特徴データに基づいて、（ｉ，ｒ）の全ての組み合わせの各々について、前記組み合わせのｒがｒ≦Ｌ（１）である場合、前記ユーザｊの各々についての前記要素ｘｉｊ（１）と、１≦ｒ≦Ｌ（１）である範囲における各ｒについての前記要素ａｉｒと、前記ユーザｊ及び１≦ｒ≦Ｌ（１）である範囲におけるｒの組み合わせの各々についての前記要素ｂｊｒと、前記特徴ｋの各々についての前記要素ｘｉｋ（2）と、１≦ｒ≦Ｌ（１）である範囲における各ｒについての前記要素ａｉｒと、前記特徴ｋ及び１≦ｒ≦Ｌ（１）である範囲におけるｒの組み合わせの各々についての前記要素ｃkｒとに基づいて、前記パラメタ行列Ａ１＾の要素ａｉｒを更新し、前記組み合わせのｒがＬ（１）＜ｒ≦Ｌ（２）である場合、前記特徴ｋの各々についての前記要素ｘｉｋ（2）と、１≦ｒ≦Ｌ（１）である範囲における各ｒについての前記要素ａｉｒと、前記特徴ｋ及び１≦ｒ≦Ｌ（１）である範囲におけるｒの組み合わせの各々についての前記要素ｃkｒとに基づいて、前記パラメタ行列Ａ２＾の要素ａｉｒを更新し、（ｊ，ｒ）の全ての組み合わせの各々について、前記アイテムｉの各々についての前記要素ｘｉｊ（１）と、１≦ｒ≦Ｌ（１）である範囲における各ｒについての前記要素ａｉｒと、前記ユーザｊ及び１≦ｒ≦Ｌ（１）である範囲におけるｒの組み合わせの各々についての前記要素ｂｊｒとに基づいて、前記ユーザパラメタ行列Ｂ＾の要素ｂｊｒを更新し、（ｋ，ｒ）の全ての組み合わせの各々について、前記アイテムｉの各々についての前記要素ｘｉｋ（2）と、前記アイテムｉ及び１≦ｒ≦Ｌ（１）である範囲におけるｒの組み合わせの各々についての前記要素ａｉｒと、１≦ｒ≦Ｌ（2）である範囲におけるｒの各々についての前記要素ｃkｒとに基づいて、前記パラメタ行列Ｃ＾の要素ｃｋｒを更新することにより、前記行列Ｘ１＾を、前記パラメタ行列Ａ１＾と前記ユーザパラメタ行列Ｂ＾とに分解し、前記行列Ｘ２＾を、前記パラメタ行列Ａ＾と前記パラメタ行列Ｃ＾とに分解する。
【００２４】
第３の発明に係るデータ解析方法は、入力部、パラメタ推定部、及び反復判定部を含むデータ解析装置におけるデータ解析方法であって、前記入力部によって、ユーザｊ（１≦ｊ≦Ｊ，Ｊは１以上の整数）がアイテムｉ（１≦ｉ≦Ｉ，Ｉは１以上の整数）を購入した購入量を示す購買データと、前記アイテムｉ（１≦ｉ≦Ｉ）が有する特徴ｋ（１≦ｋ≦Ｋ，ｋは１以上の整数）の特徴量を示す特徴データとを受け付けるステップと、前記パラメタ推定部によって、前記入力部によって受け付けた前記購買データ及び前記特徴データに基づいて、前記ユーザｊが前記アイテムｉを購入した購入量を示す非負値の要素ｘｉｊ（１）を持つＩ×Ｊの行列Ｘ１＾を、共有トピックｒ（１≦ｒ≦Ｌ（１），Ｌ（１）は予め定められた１以上の整数）に前記アイテムｉが所属することを示す非負値の要素ａｉｒを持つＩ×Ｌ（１）のパラメタ行列Ａ１＾と、前記ユーザｊが前記共有トピックｒに所属することを示す非負値の要素ｂｊｒを持つＪ×Ｌ（１）のユーザパラメタ行列Ｂ＾とに分解し、かつ、前記アイテムｉが有する前記特徴ｋの特徴量を示す非負値の要素ｘｉｋ（２）を持つＩ×Ｋの行列Ｘ２＾を、前記パラメタ行列Ａ１＾と非共有トピックｒ（Ｌ（１）＋１≦ｒ≦Ｌ（２），Ｌ（２）は予め定められた２以上の整数）に前記アイテムｉが所属することを示す非負値の要素ａｉｒを持つＩ×（Ｌ（２）−Ｌ（１））のパラメタ行列Ａ２＾とからなるＩ×Ｌ（２）のパラメタ行列Ａ＾と、前記特徴ｋが前記共有トピックｒに所属することを示す非負値の要素ｃｋｒ、及び前記特徴ｋが前記非共有トピックｒに所属することを示す非負値の要素ｃｋｒを持つＫ×Ｌ（２）のパラメタ行列Ｃ＾とに分解するステップと、前記反復判定部によって、繰り返し条件を満足するまで、前記パラメタ推定部による分解を繰り返すステップとを含むデータ解析方法であって、前記パラメタ推定部によって分解するステップは、前記入力部によって受け付けた前記購買データ及び前記特徴データに基づいて、（ｉ，ｒ）の全ての組み合わせの各々について、前記組み合わせのｒがｒ≦Ｌ（１）である場合、前記ユーザｊの各々についての前記要素ｘｉｊ（１）と、１≦ｒ≦Ｌ（１）である範囲における各ｒについての前記要素ａｉｒと、前記ユーザｊ及び１≦ｒ≦Ｌ（１）である範囲におけるｒの組み合わせの各々についての前記要素ｂｊｒと、前記特徴ｋの各々についての前記要素ｘｉｋ（2）と、１≦ｒ≦Ｌ（１）である範囲における各ｒについての前記要素ａｉｒと、前記特徴ｋ及び１≦ｒ≦Ｌ（１）である範囲におけるｒの組み合わせの各々についての前記要素ｃkｒとに基づいて、前記パラメタ行列Ａ１＾の要素ａｉｒを更新し、前記組み合わせのｒがＬ（１）＜ｒ≦Ｌ（２）である場合、前記特徴ｋの各々についての前記要素ｘｉｋ（2）と、１≦ｒ≦Ｌ（１）である範囲における各ｒについての前記要素ａｉｒと、前記特徴ｋ及び１≦ｒ≦Ｌ（１）である範囲におけるｒの組み合わせの各々についての前記要素ｃkｒとに基づいて、前記パラメタ行列Ａ２＾の要素ａｉｒを更新し、（ｊ，ｒ）の全ての組み合わせの各々について、前記アイテムｉの各々についての前記要素ｘｉｊ（１）と、１≦ｒ≦Ｌ（１）である範囲における各ｒについての前記要素ａｉｒと、前記ユーザｊ及び１≦ｒ≦Ｌ（１）である範囲におけるｒの組み合わせの各々についての前記要素ｂｊｒとに基づいて、前記ユーザパラメタ行列Ｂ＾の要素ｂｊｒを更新し、（ｋ，ｒ）の全ての組み合わせの各々について、前記アイテムｉの各々についての前記要素ｘｉｋ（2）と、前記アイテムｉ及び１≦ｒ≦Ｌ（１）である範囲におけるｒの組み合わせの各々についての前記要素ａｉｒと、１≦ｒ≦Ｌ（2）である範囲におけるｒの各々についての前記要素ｃkｒとに基づいて、前記パラメタ行列Ｃ＾の要素ｃｋｒを更新することにより、前記行列Ｘ１＾を、前記パラメタ行列Ａ１＾と前記ユーザパラメタ行列Ｂ＾とに分解し、前記行列Ｘ２＾を、前記パラメタ行列Ａ＾と前記パラメタ行列Ｃ＾とに分解する。
【００２５】
第１〜第３の発明によれば、購買データ及び特徴データに基づいて、ユーザｊがアイテムｉを購入した購入量を示す非負値の要素ｘｉｊ（１）を持つＩ×Ｊの行列Ｘ１＾を、共有トピックｒにアイテムｉが所属することを示す非負値の要素ａｉｒを持つＩ×Ｌ（１）のパラメタ行列Ａ１＾と、ユーザｊが共有トピックｒに所属することを示す非負値の要素ｂｊｒを持つＪ×Ｌ（１）のユーザパラメタ行列Ｂ＾とに分解し、かつ、アイテムｉが有する特徴ｋの特徴量を示す非負値の要素ｘｉｋ（２）を持つＩ×Ｋの行列Ｘ２＾を、パラメタ行列Ａ１＾と非共有トピックｒにアイテムｉが所属することを示す非負値の要素ａｉｒを持つＩ×（Ｌ（２）−Ｌ（１））のパラメタ行列Ａ２＾とからなるＩ×Ｌ（２）のパラメタ行列Ａ＾と、特徴ｋが共有トピックｒに所属することを示す非負値の要素ｃｋｒ、及び特徴ｋが非共有トピックｒに所属することを示す非負値の要素ｃｋｒを持つＫ×Ｌ（２）のパラメタ行列Ｃ＾とに分解することにより、精度良くパラメタを推定することができる。
【００２６】
第４の発明に係るデータ解析装置は、解析対象物ｉ（１≦ｉ≦Ｉ，Ｉは１以上の整数）が有する第１特徴ｊ（１≦ｊ≦Ｊ，Ｊは１以上の整数）の特徴量を示す第１特徴データと、前記解析対象物ｉ（１≦ｉ≦Ｉ）が有する第２特徴ｋ（１≦ｋ≦Ｋ，ｋは１以上の整数）の特徴量を示す第２特徴データとを受け付ける入力部と、前記入力部によって受け付けた前記第１特徴データ及び前記第２特徴データに基づいて、前記解析対象物ｉが有する前記第１特徴ｊの特徴量を示す非負値の要素ｘｉｊ（１）を持つＩ×Ｊの行列Ｘ１＾を、共有トピックｒ（１≦ｒ≦Ｌ（１），Ｌ（１）は予め定められた１以上の整数）に前記解析対象物ｉが所属することを示す非負値の要素ａｉｒを持つＩ×Ｌ（１）のパラメタ行列Ａ１＾と、前記第１特徴ｊが前記共有トピックｒに所属することを示す非負値の要素ｂｊｒを持つＪ×Ｌ（１）のパラメタ行列Ｂ＾とに分解し、かつ、前記解析対象物ｉが有する前記第２特徴ｋの特徴量を示す非負値の要素ｘｉｋ（２）を持つＩ×Ｋの行列Ｘ２＾を、前記パラメタ行列Ａ１＾と非共有トピックｒ（Ｌ（１）＋１≦ｒ≦Ｌ（２），Ｌ（２）は予め定められた２以上の整数）に前記解析対象物ｉが所属することを示す非負値の要素ａｉｒを持つＩ×（Ｌ（２）−Ｌ（１））のパラメタ行列Ａ２＾とからなるＩ×Ｌ（２）のパラメタ行列Ａ＾と、前記第２特徴ｋが前記共有トピックｒに所属することを示す非負値の要素ｃｋｒ、及び前記第２特徴ｋが前記非共有トピックｒに所属することを示す非負値の要素ｃｋｒを持つＫ×Ｌ（２）のパラメタ行列Ｃ＾とに分解するパラメタ推定部と、繰り返し条件を満足するまで、前記パラメタ推定部による分解を繰り返す反復判定部と、を含むデータ解析装置であって、前記パラメタ推定部は、前記入力部によって受け付けた前記第１特徴データ及び前記第２特徴データに基づいて、（ｉ，ｒ）の全ての組み合わせの各々について、前記組み合わせのｒがｒ≦Ｌ（１）である場合、前記第１特徴ｊの各々についての前記要素ｘｉｊ（１）と、１≦ｒ≦Ｌ（１）である範囲における各ｒについての前記要素ａｉｒと、前記第１特徴ｊ及び１≦ｒ≦Ｌ（１）である範囲におけるｒの組み合わせの各々についての前記要素ｂｊｒと、前記第２特徴ｋの各々についての前記要素ｘｉｋ（2）と、１≦ｒ≦Ｌ（１）である範囲における各ｒについての前記要素ａｉｒと、前記第２特徴ｋ及び１≦ｒ≦Ｌ（１）である範囲におけるｒの組み合わせの各々についての前記要素ｃkｒとに基づいて、前記パラメタ行列Ａ１＾の要素ａｉｒを更新し、前記組み合わせのｒがＬ（１）＜ｒ≦Ｌ（２）である場合、前記第２特徴ｋの各々についての前記要素ｘｉｋ（2）と、１≦ｒ≦Ｌ（１）である範囲における各ｒについての前記要素ａｉｒと、前記第２特徴ｋ及び１≦ｒ≦Ｌ（１）である範囲におけるｒの組み合わせの各々についての前記要素ｃkｒとに基づいて、前記パラメタ行列Ａ２＾の要素ａｉｒを更新し、（ｊ，ｒ）の全ての組み合わせの各々について、前記解析対象物ｉの各々についての前記要素ｘｉｊ（１）と、１≦ｒ≦Ｌ（１）である範囲における各ｒについての前記要素ａｉｒと、前記第１特徴ｊ及び１≦ｒ≦Ｌ（１）である範囲におけるｒの組み合わせの各々についての前記要素ｂｊｒとに基づいて、前記パラメタ行列Ｂ＾の要素ｂｊｒを更新し、（ｋ，ｒ）の全ての組み合わせの各々について、前記解析対象物ｉの各々についての前記要素ｘｉｋ（2）と、前記解析対象物ｉ及び１≦ｒ≦Ｌ（１）である範囲におけるｒの組み合わせの各々についての前記要素ａｉｒと、１≦ｒ≦Ｌ（2）である範囲におけるｒの各々についての前記要素ｃkｒとに基づいて、前記パラメタ行列Ｃ＾の要素ｃｋｒを更新することにより、前記行列Ｘ１＾を、前記パラメタ行列Ａ１＾と前記パラメタ行列Ｂ＾とに分解し、前記行列Ｘ２＾を、前記パラメタ行列Ａ＾と前記パラメタ行列Ｃ＾とに分解する。
【００２７】
第４の発明に係るデータ解析装置によれば、第１特徴データ及び第２特徴データに基づいて、解析対象物ｉが有する第１特徴ｊの特徴量を示す非負値の要素ｘｉｊ（１）を持つＩ×Ｊの行列Ｘ１を、共有トピックｒに解析対象物ｉが所属することを示す非負値の要素ａｉｒを持つＩ×Ｌ（１）のパラメタ行列Ａ１＾と、第１特徴ｊが共有トピックｒに所属することを示す非負値の要素ｂｊｒを持つＪ×Ｌ（１）のパラメタ行列Ｂ＾とに分解し、かつ、解析対象物ｉが有する第２特徴ｋの特徴量を示す非負値の要素ｘｉｋ（２）を持つＩ×Ｋの行列Ｘ２を、パラメタ行列Ａ１＾と非共有トピックｒに解析対象物ｉが所属することを示す非負値の要素ａｉｒを持つＩ×（Ｌ（２）−Ｌ（１））のパラメタ行列Ａ２＾とからなるＩ×Ｌ（２）のパラメタ行列Ａ＾と、第２特徴ｋが共有トピックｒに所属することを示す非負値の要素ｃｋｒ、及び第２特徴ｋが非共有トピックｒに所属することを示す非負値の要素ｃｋｒを持つＫ×Ｌ（２）のパラメタ行列Ｃ＾とに分解することにより、精度良くパラメタを推定することができる
【００２８】
本発明に係るプログラムは、コンピュータを、上記のデータ解析装置の各部として機能させるためのプログラムである。
【発明の効果】
【００２９】
以上説明したように、本発明のデータ解析装置、方法、及びプログラムによれば、精度良くパラメタを推定することができる、という効果が得られる。
【図面の簡単な説明】
【００３０】
【図１】本発明の実施の形態の概要を説明するための図である。
【図２】本発明の第１の実施の形態に係るデータ解析装置の構成例を示す概略図である。
【図３】購買データ及び色データのテーブルデータの一例を示す図である。
【図４】アイテム共有パラメタテーブル及びアイテム非共有パラメタテーブルの一例を示す図である。
【図５】ユーザパラメタテーブル及び色パラメタテーブルの一例を示す図である。
【図６】本発明の実施の形態に係るデータ解析装置におけるデータ解析処理ルーチンの内容を示すフローチャートである。
【図７】第２の実施の形態の処理の内容を説明するための第１の図である。
【図８】第２の実施の形態の処理の内容を説明するための第２の図である。
【図９】本発明の第３の実施の形態に係るデータ解析装置の構成例を示す概略図である。
【図１０】先行技術を説明するための第１の図である。
【図１１】先行技術を説明するための第２の図である。
【図１２】先行技術を説明するための第３の図である。
【図１３】先行技術を説明するための第４の図である。
【発明を実施するための形態】
【００３１】
以下、図面を参照して本発明の実施の形態を詳細に説明する。なお、本実施の形態では、ユーザが衣類等のアイテムを購入した場合において、ユーザ毎の購買データ、及びアイテム毎の色データを対象として、データを解析するデータ解析装置に、本発明を適用した場合を例に説明する。
【００３２】
＜本発明の実施の形態の概要＞
本発明の実施の形態では、複数行列の非負値行列分解において共有されるパラメタ行列内に、共有トピックと非共有トピックの両方を存在させて行列分解を行う手法を提案する。図１（Ａ）に、購買データと、ノイズ成分を含んだ色データに対する本実施の形態の適用例を示す。図１（Ｂ）は既存手法であるＮＭＭＦの適用例である。
【００３３】
上記図１（Ａ）から、２つの行列の分解結果においてトピック１、２は両方で用いられるが、トピック３は色データの分解でのみ用いられていることが分かる。トピック１、２が共有トピック、トピック３が非共有トピックとなる。
【００３４】
上記図１（Ｂ）のＮＭＭＦにおいては、上記図１（Ａ）の非共有トピックであるトピック３のように、ある一つの行列の分解結果で用いられるトピックが存在するように行列分解を行うことができなかったため、トピック１および２には白を固有色とするデータが含まれるような、誤った色パラメタ行列を生成していた。
【００３５】
これと対比して上記図１（Ａ）では、分解結果の共有トピックに着目すると、背景色の白色が存在するにも関わらず、背景色が存在しなかった上記図１１のアイテムパラメタ行列と同じトピックを抽出できている。色パラメタ行列中の共有トピックであるトピック１、２に所属する色に注目しても背景色の白色を含むことなく、それぞれ黒と黄色を固有色として抽出できている。これは性質Ｂを満たしている。
【００３６】
上記図１（Ａ）では、非共有トピックであるトピック３に背景色が対応することでこの結果が得られている。非共有トピックは購買データの分解には関わらないため、トピック３の値が購買データのノイズとはならない。これは、背景色の影響を除去したうえで色の特徴にもとづいた共有トピックのアイテムパラメタ推定を行うことができているといえる。したがって性質Ａも満たされていることになる。
【００３７】
[第１の実施の形態]
＜データ解析装置１００の構成＞
図２に示すように、第１の実施の形態に係るデータ解析装置１００は、ＣＰＵ（Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）と、ＲＡＭ（Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ）と、後述するデータ解析処理ルーチンを実行するためのプログラムを記憶したＲＯＭ（Ｒｅａｄ  Ｏｎｌｙ  Ｍｅｍｏｒｙ）とを備えたコンピュータで構成され、機能的には次に示すように構成されている。データ解析装置１００は、入力部１と、記憶部２と、演算部３と、出力部４とを備えている。
【００３８】
入力部１は、外部装置２００から出力された、ユーザ毎の購買データとアイテム毎の色データとを受け付ける。ここで、購買データは、ユーザｊ（１≦ｊ≦Ｊ，Ｊは１以上の整数）がアイテムｉ（１≦ｉ≦Ｉ，Ｉは１以上の整数）を購入した購買数を示すデータである。また、色データは、アイテムｉ（１≦ｉ≦Ｉ）が有する色ｋ（１≦ｋ≦Ｋ，ｋは１以上の整数）を示すデータである。なお、色は特徴の一例であり、色データは特徴データの一例であり、購買数は、購入量の一例である。
【００３９】
記憶部２には、入力部１によって受け付けた購買データ及び色データと、後述する各部で作成される、購買情報テーブルと、色情報テーブルと、アイテム共有パラメタテーブルと、アイテム非共有パラメタテーブルと、ユーザパラメタテーブルと、色パラメタテーブルとが格納される。
【００４０】
演算部３は、入力部１によって受け付けた購買データと色データとに基づいて、各パラメタを推定する。演算部３は、購買情報処理部３０と、色情報処理部３２と、パラメタ推定部３４と、反復判定部３６と、パラメタ処理部３８とを備えている。
【００４１】
購買情報処理部３０は、入力部１によって受け付けた購買データと色データとに基づいて、購買情報テーブルを作成し、記憶部２へ格納する。購買情報テーブルは、アイテムＩＤ、ユーザＩＤ、及びユーザが購入したアイテムの購買数の組み合わせを格納したテーブルデータである。図３（Ａ）に購買情報テーブルの一例を示す。図３（Ａ）のアイテムＩＤフィールドには、ユーザにより購買されたアイテムを特定する識別子が設定される。ユーザＩＤフィールドには、購買されたアイテムがいずれのユーザに購買されたかを特定する識別子が設定される。購買数フィールドには、０、又は当該ユーザが当該アイテムを購入した数が設定される。なお、購買数フィールドの値には０又は正の整数値を設定できるが、負の数を設定することはできない。
【００４２】
また、購買情報処理部３０は、入力部１によって受け付けた購買データに基づいて、購買情報テーブルを更新する。更新のタイミングについては、例えば、システム管理者が外部装置２００から供給されるＰＯＳデータをもとに手動で更新できるようにしてもよいし、ユーザが何らかのアイテムを新たに購入した場合に外部装置２００であるＰＯＳシステムから自動的に更新処理を起動するようにしてもよい。
【００４３】
色情報処理部３２は、入力部１によって受け付けた購買データと色データとに基づいて、色情報テーブルを作成し、記憶部２へ格納する。色情報テーブルは、アイテムＩＤ、色ＩＤ、及び当該アイテムにおける当該色の画素数の組み合わせを格納したテーブルデータである。図３（Ｂ）に色情報テーブルの一例を示す。図３（Ｂ）のアイテムＩＤフィールドには、アイテムを特定する識別子が設定される。色ＩＤフィールドは、アイテムの画像中に存在する色を特定する識別子が設定される。画素数フィールドには、アイテムの色ＩＤを決定したときに集計に用いた画像単位数が設定される。
【００４４】
また、色情報処理部３２は、入力部１によって受け付けた色データに基づいて、色情報テーブルを更新する。更新のタイミングについては、例えば外部装置２００から供給されるＰＯＳデータをもとにシステム管理者が手動で更新できるようにしてもよいし、購買情報テーブルに存在していなかった新たなアイテムが購買情報テーブルに新たに作成された場合に外部装置２００であるＰＯＳシステムから自動的に更新処理を起動するようにしてもよい。
【００４５】
具体的には、色情報処理部３２は、外部装置２００から供給されるＰＯＳデータをもとに、アイテムＩＤを特定し、当該アイテムＩＤに該当する商品の色に相当する情報を獲得する。具体的な方法としては、例えば、予めアイテムＩＤとそのアイテムのデザインを表したディジタル画像とを対応付けて外部装置２００に蓄積しておき、アイテムＩＤからその商品のディジタル画像が特定されれば、色情報処理部３２において、そのディジタル画像を１×１のピクセル画像または１００×１００ピクセルなど一定の平方ピクセル数の格子画像単位で分解し、その画像単位内でピクセル毎の多数決判定を行って代表的な色を特定して代表的な色の数を集計し、集計上最大になった色とその画像単位数を特定する。
【００４６】
なお、本実施の形態では、実際のディジタル画像の色を、総数をＫ個とした代表的な色に置換してから、代表的な色の数を集計する。ディジタル画像において、色は一般的に三原色とそのビット幅で表現できることから、各色の表現ビット幅を８ビットとすると約１６７８万色が存在することになってしまい、すべての色をそれぞれ独立した色として扱うと本発明のトピックとして分解することが困難になってしまう。従ってここでの色数は、例えばビット幅を三原色それぞれ４ビットとする色合いに抽象化して表現すれば、総数Ｋ＝６４の色数として表現することができ、後段の処理において色ＩＤ数の膨大化を防ぐことができる。
【００４７】
また、各ディジタル画像毎に画像単位数の和が１になるように正規化する。例えば、各アイテムｉについて、定数で割ることにより、以下の式に示すように正規化を行う。
【００４８】
【数１】
2015087874.tif 000003
【００４９】
これによって、色の集計値格子画像単位の違いに強く依存しないように画像単位数を決定できる。以上のような画像処理によるアイテムの色の決定は、アイテムＩＤとそのデザインが固定であるとすれば、アイテムの初回仕入時に実施しておけば良く、外部装置２００ではアイテムＩＤと色と集計に用いた画像単位数の結果だけを保持しておく形でも良い。
【００５０】
なお、色情報処理部３２にディジタル画像を蓄積していなくても、該当するアイテムのＰＯＳデータで表される商品名に、例えば「Ｔシャツ  クロ」のようなテキストによる色情報（クロ＝黒色）の記載があれば、これをそのアイテムＩＤに対する色と特定しても良い。ここでテキスト情報から色情報を特定する場合には、画像を分解して集計する処理がなく画像単位数は得られないので、画像単位数としては一定の値を代入しておくこととする。
【００５１】
このように、色情報処理部３２は、アイテムＩＤに対する、その商品の色と、集計に用いた画像単位数とを特定して、色情報テーブルに、アイテム、色、画像単位数に応じてアイテムＩＤフィールド、色ＩＤフィールド、画素数（画像単位数）フィールドを設定した行を挿入する。また、商品の更新などに応じて色が変化した場合には、該当するアイテムＩＤに対して、色ＩＤフィールドと画素数（画像単位数）フィールドの更新を可能とする。
【００５２】
パラメタ推定部３４は、記憶部２に格納された購買情報テーブル及び色情報テーブルに基づいて、アイテム共有パラメタテーブルと、アイテム非共有パラメタテーブルと、ユーザパラメタテーブルと、色パラメタテーブルとを作成する。
【００５３】
アイテム共有パラメタテーブルは、アイテムＩＤ、トピックＩＤ、及びアイテムパラメタ値の組み合わせを示すテーブルデータである。図４（Ａ）にアイテム共有パラメタテーブルの一例を示す。図４（Ａ）のアイテムＩＤには、アイテムを特定する識別子が設定される。トピックＩＤフィールドには、トピックを特定する識別子が設定される。アイテムパラメタ値フィールドには、算出された当該アイテムの当該トピックに対するパラメタ値が設定される。
【００５４】
アイテム非共有パラメタテーブルは、アイテムＩＤ、トピックＩＤ、及びアイテムパラメタ値の組み合わせを格納したテーブルデータである。図４（Ｂ）にアイテム非共有パラメタテーブルの一例を示す。図４（Ｂ）のアイテムＩＤフィールドには、アイテムを特定する識別子が設定される。トピックＩＤフィールドには、トピックを特定する識別子が設定される。アイテムパラメタ値フィールドには、算出された当該アイテムの当該トピックに対するパラメタ値が設定される。
【００５５】
ユーザパラメタテーブルは、ユーザＩＤ、トピックＩＤ、及びユーザパラメタ値の組み合わせを示すテーブルデータである。図５（Ａ）にユーザパラメタテーブルの一例を示す。図５（Ａ）のユーザＩＤフィールドには、ユーザを特定する識別子が設定される。トピックＩＤフィールドには、共有トピックであるトピックを特定する識別子が設定される。ユーザパラメタ値フィールドには、当該ユーザが当該トピックに所属することを示すパラメタ値が設定される。
【００５６】
色パラメタテーブルは、色ＩＤ、トピックＩＤ、及び色パラメタ値の組み合わせを格納したテーブルデータである。図５（Ｂ）に色パラメタテーブルの一例を示す。図５（Ｂ）の色ＩＤフィールドには、色データを特定する識別子が設定される。トピックＩＤフィールドには、トピックを特定する識別子が設定される。色パラメタ値フィールドには、当該アイテムが当該トピックに所属することを示す色パラメタ値が設定される。
【００５７】
ここで、記憶部２に格納された購買情報テーブルに存在する全データから、Ｉ×Ｊの行列Ｘ１＾＝｛ｘｉｊ（１）｝i，ｊ＝１Ｉ，Ｊが得られる。また、記憶部２に格納された色情報テーブルに存在する全データから、Ｉ×Ｋの行列Ｘ２＝｛ｘｉｋ（２）｝i，ｋ＝１Ｉ，Ｋが得られる。ただし、行列Ｘ１の要素ｘｉｊ（１）は、ユーザｊがアイテムｉを購入した購買数量を示す。また、行列Ｘ２の要素ｘｉｋ（２）は、アイテムｉが有する色ｋの上記（１）式で正規化された画素数を示す。要素ｘｉｊ（１）、要素ｘｉｋ（２）はすべて非負値である。
【００５８】
また、アイテム共有パラメタテーブルから、以下の式で表わされるアイテム共有パラメタ行列Ａ１＾が得られる。
【００５９】
【数２】
2015087874.tif 000004
【００６０】
アイテム非共有パラメタテーブルから、以下の式で表わされるアイテム非共有パラメタ行列Ａ２＾が得られる。
【００６１】
【数３】
2015087874.tif 000005
【００６２】
ユーザパラメタテーブルから、以下の式で表わされるユーザパラメタ行列Ｂ＾が得られる。
【００６３】
【数４】
2015087874.tif 000006
【００６４】
色パラメタテーブルから、以下の式で表わされる色パラメタ行列Ｃ＾が得られる。
【００６５】
【数５】
2015087874.tif 000007
【００６６】
ただし、Ｉが全アイテム数、Ｊが全ユーザ数、Ｋが全色数を表す。ｉがアイテムを特定する識別子、ｊがユーザを特定する識別子、ｋが色を特定する識別子、ｒがトピックを特定する識別子を表す。
【００６７】
また、Ｌ（１）が、購買データを分解する際の予め定められた行列のランク数、Ｌ（２）が色データを分解する際の予め定められた行列のランク数であり、Ｌ（１）≦Ｌ（２）を満たす。なお、アイテム共有パラメタ行列Ａ１＾は、パラメタ行列Ａ１＾の一例であり、アイテム非共有パラメタ行列Ａ２＾は、パラメタ行列Ａ２＾の一例であり、ユーザパラメタ行列Ｂ＾は、パラメタ行列Ｂ＾の一例であり、色パラメタ行列Ｃ＾は、パラメタ行列Ｃ＾の一例である。
【００６８】
以下に、パラメタ推定部３４によってパラメタを推定する原理について説明する。Ｘ１＾の分解ではアイテム共有パラメタ行列は利用するが、アイテム非共有パラメタ行列を利用しないのに対し、Ｘ２＾の分解では両方の行列を利用することからＬ（１）≦Ｌ（２）となっている。ランク数Ｌ（１）が、行列Ｘ１＾から抽出するトピック数であり、ランク数Ｌ（２）は、例えばアイテム非共有パラメタ行列の列数Ｌ（２）−Ｌ（１）が、Ｘ２＾にノイズとして存在するパターン数に対応するように、ランク数Ｌ（１）及びランク数Ｌ（２）を設計する。Ｌ（１）＝Ｌ（２）のとき、この方法はＮＭＭＦと等価である。
【００６９】
パラメタ推定部３４は、行列Ｘ１＾を、Ｉ×Ｌ（１）のアイテム共有パラメタ行列Ａ１＾とＪ×Ｌ（１）のユーザパラメタ行列Ｂ＾とに分解する。ここで、アイテム共有パラメタ行列Ａ１＾の要素ａｉｒは、共有トピックｒ（１≦ｒ≦Ｌ（１），Ｌ（１）は予め定められた１以上の整数）にアイテムｉが所属することを示す。また、ユーザパラメタ行列Ｂ＾の要素ｂｊｒは、ユーザｊが共有トピックｒに所属することを示す。要素ａｉｒ、要素ｂｊｒはすべて非負値である。
【００７０】
また、パラメタ推定部３４は、行列Ｘ２を、Ｉ×Ｌ（２）のアイテムパラメタ行列Ａ＾と、Ｋ×Ｌ（２）の色パラメタ行列Ｃ＾とに分解する。アイテムパラメタ行列Ａ＾は、アイテム共有パラメタ行列Ａ１＾とアイテム非共有パラメタ行列Ａ２＾とからなる。アイテム非共有パラメタ行列Ａ２＾の要素ａｉｒは、非共有トピックｒ（Ｌ（１）＋１≦ｒ≦Ｌ（２），Ｌ（２）は予め定められた２以上の整数）にアイテムｉが所属することを示す。また、色パラメタ行列Ｃ＾の要素ｃｋｒは、色ｋが共有トピックｒ又は非共有トピックｒに所属することを示す。要素ａｉｒ、要素ｃｋｒはすべて非負値である。
【００７１】
ここで、行列Ｘ１＾、Ｘ２＾の生成確率は、以下の式でモデル化される。
【００７２】
【数６】
2015087874.tif 000008
【００７３】
ただし、
【００７４】
【数７】
2015087874.tif 000009
【００７５】
でポアソン分布を表す。
【００７６】
パラメタ推定部は、以下の式で表わされる目的関数を最大化するように、アイテムパラメタ行列Ａ＾、ユーザパラメタ行列Ｂ＾、色パラメタ行列Ｃ＾を求める。
【００７７】
【数８】
2015087874.tif 000010
【００７８】
具体的には、パラメタ推定部３４は、まず、アイテムパラメタ行列Ａ＾、ユーザパラメタ行列Ｂ＾及び色パラメタ行列Ｃ＾を初期化する。そして、パラメタ推定部３４は、（ｉ，ｒ）の全ての組み合わせの各々について、以下の（Ａ）又は（Ｂ）の処理を実行して、アイテムパラメタ行列Ａ＾の要素ａｉｒを更新する。
【００７９】
（Ａ）ｒがｒ≦Ｌ（１）である場合
ユーザｊの各々についての要素ｘｉｊ（１）と、１≦ｒ≦Ｌ（１）である範囲における各ｒについての要素ａｉｒと、ユーザｊ及び１≦ｒ≦Ｌ（１）である範囲におけるｒの組み合わせの各々についての要素ｂｊｒと、特徴ｋの各々についての要素ｘｉｋ（2）と、１≦ｒ≦Ｌ（１）である範囲における各ｒについての要素ａｉｒと、特徴ｋ及び１≦ｒ≦Ｌ（１）である範囲におけるｒの組み合わせの各々についての要素ｃkｒとに基づいて、以下の（２）式に従って、アイテムパラメタ行列Ａ＾の要素ａｉｒを更新する。なお記号「←」は右辺の計算結果を左辺の変数に代入する処理を意味する。
【００８０】
【数９】
2015087874.tif 000011
【００８１】
ここで、￣ｘｉｊ（１）は、
【００８２】
【数１０】
2015087874.tif 000012
【００８３】
である。また、￣ｘｉｋ（２）は、
【００８４】
【数１１】
2015087874.tif 000013
【００８５】
である。￣ｘｉｊ（１）はアイテム共有パラメタ行列Ａ１＾、アイテム非共有パラメタ行列Ａ２＾、及びユーザパラメタ行列Ｂ＾によるｘｉｊ（１）の推定値であるとみなせる。また、￣ｘｉｋ（２）はアイテム共有パラメタ行列Ａ１＾、アイテム非共有パラメタ行列Ａ２＾、及び色パラメタ行列Ｃに＾よる￣ｘｉｋ（２）の推定値であるとみなせる。
【００８６】
そして、パラメタ推定部３４は、上記（２）式で更新したアイテムパラメタ行列Ａ＾の要素ａｉｒの値を、アイテム共有パラメタテーブルに格納する。
【００８７】
（Ｂ）ｒがＬ（１）＜ｒ≦Ｌ（２）である場合
色ｋの各々についての要素ｘｉｋ（2）と、１≦ｒ≦Ｌ（１）である範囲における各ｒについての要素ａｉｒと、色ｋ及び１≦ｒ≦Ｌ（１）である範囲におけるｒの組み合わせの各々についての要素ｃkｒとに基づいて、以下の（３）式に従って、アイテムパラメタ行列Ａ＾の要素ａｉｒを更新する。
【００８８】
【数１２】
2015087874.tif 000014
【００８９】
そして、パラメタ推定部３４は、上記（３）式で更新したアイテムパラメタ行列Ａ＾の要素ａｉｒの値を、アイテム非共有パラメタテーブルに格納する。
【００９０】
次に、パラメタ推定部３４は、（ｊ，ｒ）の全ての組み合わせの各々について、アイテムｉの各々についての要素ｘｉｊ（１）と、１≦ｒ≦Ｌ（１）である範囲における各ｒについての要素ａｉｒと、ユーザｊ及び１≦ｒ≦Ｌ（１）である範囲におけるｒの組み合わせの各々についての要素ｂｊｒとに基づいて、以下の（４）式に従って、ユーザパラメタ行列Ｂ＾の要素ｂｊｒを更新する。
【００９１】
【数１３】
2015087874.tif 000015
【００９２】
そして、パラメタ推定部３４は、上記（４）式で更新したユーザパラメタ行列Ｂ＾の要素ｂｊｒの値を、ユーザパラメタテーブルに格納する。
【００９３】
次に、パラメタ推定部３４は、（ｋ，ｒ）の全ての組み合わせの各々について、アイテムｉの各々についての前記要素ｘｉｋ（2）と、アイテムｉ及び１≦ｒ≦Ｌ（１）である範囲におけるｒの組み合わせの各々についての要素ａｉｒと、１≦ｒ≦Ｌ（2）である範囲におけるｒの各々についての要素ｃkｒとに基づいて、以下の（５）式に従って、色パラメタ行列Ｃ＾の要素ｃｋｒを更新する。
【００９４】
【数１４】
2015087874.tif 000016
【００９５】
そして、パラメタ推定部３４は、上記（５）式で更新した色パラメタ行列Ｃ＾の要素ｃｋｒの値を、色パラメタテーブルに格納する。
【００９６】
パラメタ推定部３４は、上記のアイテムパラメタ行列Ａ＾、ユーザパラメタ行列Ｂ＾、及び色パラメタ行列Ｃ＾の各要素の更新処理を行うことにより、行列Ｘ１＾を、アイテム共有パラメタ行列Ａ１＾とユーザパラメタ行列Ｂ＾とに分解し、かつ、行列Ｘ２＾を、アイテムパラメタ行列Ａ＾と色パラメタ行列Ｃ＾とに分解する。
【００９７】
反復判定部３６は、繰り返し条件を満足するまで、パラメタ推定部３４による分解処理を繰り返す。具体的には、反復判定部３６は、更新前の各パラメタの要素の値と、更新後の各パラメタの要素の値との差の絶対値の最大値が、パラメタ更新の最大変化幅を示す変数δより大きければ、δに当該最大値を代入する。なお、一連の各行列の更新処理毎に、パラメタ更新の最大変化幅を示す変数δは初期化される。また、繰り返し条件の閾値ε、最大繰り返し回数Ｎが予め設定される。
【００９８】
より詳細には、反復判定部３６は、更新前のアイテムパラメタ行列Ａ＾の要素の値ａｉｒｏｌｄと、上記（２）式、上記（３）式に従ってパラメタ推定部３４によって更新された更新後のアイテムパラメタ行列Ａ＾の要素の値ａｉｒｎｅｗの差の絶対値の最大値ｍａｘｉｒ｜ａｉｒｏｌｄ−ａｉｒｎｅｗ｜がδより大きければ、δ←｜ａｉｒｏｌｄ−ａｉｒｎｅｗ｜と更新する。
【００９９】
そして、反復判定部３６は、更新前のユーザパラメタ行列Ｂ＾の要素の値ｂｊｒｏｌｄと、上記（４）式に従ってパラメタ推定部３４によって更新された更新後のユーザパラメタ行列Ｂ＾の要素の値ｂｊｒｎｅｗの差の絶対値の最大値ｍａｘｊｒ｜ｂｊｒｏｌｄ−ｂｊｒｎｅｗ｜ がδより大きければ、δ←ｍａｘｊｒ｜ｂｊｒｏｌｄ−ｂｊｒｎｅｗ｜と更新する。
【０１００】
そして、反復判定部３６は、更新前の色パラメタ行列Ｃの要素の値ｃｋｒｏｌｄと、上記（５）式に従ってパラメタ推定部３４によって更新された更新後の色パラメタ行列Ｃの要素の値ｃｋｒｎｅｗの差の絶対値の最大値がδより大きければ、δ←ｍａｘｋｒ｜ｃｋｒｏｌｄ−ｃｋｒｎｅｗ｜  と更新する。
【０１０１】
反復判定部３６は、繰り返し回数ｎが、予め定めた最大繰り返し数Ｎを超えるか、パラメタ推定部３４による更新による最大変化幅を表すδが予め定めた閾値εより小さければパラメタ推定部３４による更新処理を終了する。
【０１０２】
上記（２）式〜上記（５）式の各更新式は、全てのアイテムｉ、ユーザｊ、色ｋについて￣ｘｉｊ（１）＝ｘｉｊ（１）、及び￣ｘｉｋ（２）＝ｘｉｋ（２）が成立するとき、左辺と右辺が一致し、パラメタ更新の最大変化幅を示す変数δの値が閾値ε以下となるため、更新が停止することが分かる。
【０１０３】
またあるアイテムｉについて、￣ｘｉｊ（１）＜ｘｉｊ（１）であるとすれば、上記（３）式の更新を行うと、右辺の分子
【０１０４】
【数１５】
2015087874.tif 000017
【０１０５】
が分母
【０１０６】
【数１６】
2015087874.tif 000018
【０１０７】
より大きくなるために、ａｉｒを現在の値よりも大きくなるように更新することとなり、￣ｘｉｊ（１）の値が大きくなるようにパラメタａｉｒを更新していることになる。
【０１０８】
上記（２）式〜（５）式の、４つの数式の中で、上記（３）式の漸化式がアイテム非共有パラメタ行列Ａ２＾の更新式であり、上記（３）式の存在が本発明の実施の形態とＮＭＭＦとの本質的な違いとなる。上記（２）式では、購買情報テーブル中のデータＸ１＾と色情報テーブル中のデータＸ２＾の両方を含んだ更新式になっているのに対し、上記（３）式では色情報テーブル中のデータＸ２＾のみを含んだ更新式となっている。この更新式により、購買情報テーブル中のデータＸ１＾とは独立に、色情報テーブル中のデータＸ２＾を表現するためのアイテム非共有パラメタ行列Ａ２＾を推定することができる。これにより色データにおけるノイズ成分を、アイテム共有パラメタとは別に、アイテム非共有パラメタ行列と色パラメタ行列により表現できるようパラメタを推定させることを可能としている。
【０１０９】
また、本発明の実施の形態とＮＭＭＦとは推定すべきパラメタ数が異なることが分かる。ランク数をＬ（２）とした場合のＮＭＭＦにおけるパラメタ数はアイテム共有パラメタ行列Ａ１＾にＩ×Ｌ（２）個、ユーザパラメタ行列Ｂ＾にＪ×Ｌ（２）個、色パラメタ行列Ｃ＾にＫ×Ｌ（２）個の計（Ｉ＋Ｊ＋Ｋ）×Ｌ（２）個のパラメタを要していることが分かる。
【０１１０】
それに対して本発明の実施の形態では、アイテム共有パラメタ行列Ａ１＾とアイテム非共有パラメタ行列Ａ２＾とに合わせてＩ×Ｌ（２）個、ユーザパラメタ行列Ｂ＾にＪ×Ｌ（１）個、色パラメタ行列Ｃ＾にＫ×Ｌ（２）個の計（Ｉ＋Ｋ)×Ｌ（２）＋Ｊ×Ｌ（１）個のパラメタ数となり、Ｊ×（Ｌ（２）−Ｌ（１））個少ないパラメタ数の推定を行えばよい手法となっている。
【０１１１】
ユーザ数Ｊが十分多い場合にはこのパラメタ数の差は大きな差となる。冗長なパラメタを除き、推定すべきパラメタ数を少なくすることは、計算量の削減をもたらすだけでなく、パラメタの推定精度を高めることが知られている。
【０１１２】
パラメタ処理部３８は、パラメタ推定部３４の更新処理が終了した場合に、記憶部２に格納された更新済みの各テーブルのパラメタを出力する。例えば、パラメタ処理部３８は、外部装置２００からパラメタ出力のリクエスト信号の入力を受け付けた場合に、当該リクエスト信号に応じて、各テーブル内のパラメタを出力すればよい。パラメタ処理部３８は、全パラメタを出力する場合には、アイテム共有パラメタテーブル、アイテム非共有パラメタテーブル、ユーザパラメタテーブル、色パラメタテーブルの全ての行を出力すればよい。また、特定のユーザＩＤのパラメタのみを利用する場合には、リクエストの引数をユーザＩＤとして、ユーザパラメタテーブルから、当該ユーザＩＤをユーザＩＤフィールドに持つ行を出力としてもよい。
【０１１３】
出力部４は、パラメタ処理部３８によって出力された各パラメタを、外部装置２００へ出力する。
【０１１４】
＜データ解析装置の作用＞
次に、本実施の形態に係るデータ解析装置１００の作用について説明する。まず、データ解析装置１００は、購買データ及び色データが外部装置２００から入力されると、データ解析装置１００によって、図６に示すデータ解析処理ルーチンが実行される。
【０１１５】
まず、ステップＳ１００において、入力部１によって、購買データと色データとを受け付ける。
【０１１６】
ステップＳ１０１において、購買情報処理部３０によって、上記ステップＳ１００で受け付けた購買データに基づいて、購買情報テーブルを作成し、記憶部２へ格納する。また、色情報処理部３２によって、上記ステップＳ１００で受け付けた色データに基づいて、色情報テーブルを作成し、記憶部２へ格納する。そして、パラメタ推定部３４によって、予め設計された行列分解のランク数Ｌ（１）およびＬ（２）と、記憶部２に格納された購買情報テーブル及び色情報テーブルとに基づいて、アイテム共有パラメタテーブルと、アイテム非共有パラメタテーブルと、ユーザパラメタテーブルと、色パラメタテーブルとを作成する。
【０１１７】
ステップＳ１０２において、パラメタ推定部３４によって、上記ステップＳ１０１で作成されたアイテム共有パラメタテーブル、アイテム非共有パラメタテーブル、ユーザパラメタテーブル、及び色パラメタテーブルに基づいて得られる、アイテムパラメタ行列Ａ＾、ユーザパラメタ行列Ｂ＾、及び色パラメタ行列Ｃ＾と、繰り返し回数ｎとを初期化する。
【０１１８】
ステップＳ１０４において、変数δを０に初期化する。
【０１１９】
ステップＳ１０６において、パラメタ推定部３４によって、記憶部２に格納された購買情報テーブル及び色情報テーブルと、上記ステップＳ１０２で初期化された、又はステップＳ１０６〜Ｓ１１０で前回更新された、アイテムパラメタ行列Ａ＾、ユーザパラメタ行列Ｂ＾、及び色パラメタ行列Ｃ＾とに基づいて、上記（２）式に従ってアイテムパラメタ行列Ａ＾の要素ａｉｒを更新し、更新した要素ａｉｒをアイテム共有パラメタテーブルに格納する。そして、上記（３）式に従ってアイテムパラメタ行列Ａ＾の要素ａｉｒを更新し、更新した要素ａｉｒをアイテム非共有パラメタテーブルに格納する。また、反復判定部３６によって、更新前のアイテムパラメタ行列Ａ＾の要素の値ａｉｒｏｌｄと、上記（２）式、上記（３）式に従って更新された更新後のアイテムパラメタ行列Ａ＾の要素の値ａｉｒｎｅｗの差の絶対値の最大値ｍａｘｉｒ｜ａｉｒｏｌｄ−ａｉｒｎｅｗ｜がδより大きければ、δ←｜ａｉｒｏｌｄ−ａｉｒｎｅｗ｜と更新する。
【０１２０】
ステップＳ１０８において、パラメタ推定部３４によって、記憶部２に格納された購買情報テーブルと、上記ステップＳ１０６で更新されたアイテムパラメタ行列Ａ＾と、上記ステップＳ１０２で初期化された、又はステップＳ１０８で前回更新されたユーザパラメタ行列Ｂ＾とに基づいて、上記（４）式に従って、ユーザパラメタ行列Ｂ＾の要素ｂｊｒを更新し、更新した要素ｂｊｒの値を、ユーザパラメタテーブルに格納する。また、反復判定部３６によって、更新前のユーザパラメタ行列Ｂ＾の要素の値ｂｊｒｏｌｄと、上記（４）式に従って更新された更新後のユーザパラメタ行列Ｂ＾の要素の値ｂｊｒｎｅｗの差の絶対値の最大値ｍａｘｊｒ｜ｂｊｒｏｌｄ−ｂｊｒｎｅｗ｜ がδより大きければ、δ←ｍａｘｊｒ｜ｂｊｒｏｌｄ−ｂｊｒｎｅｗ｜と更新する。
【０１２１】
ステップＳ１１０において、パラメタ推定部３４によって、記憶部２に格納された色情報テーブルと、上記ステップＳ１０６で更新されたアイテムパラメタ行列Ａ＾と、上記ステップＳ１０２で初期化された、又はステップＳ１１０で前回更新された色パラメタ行列Ｃ＾とに基づいて、上記（５）式に従って、色パラメタ行列Ｃ＾の要素ｃｋｒを更新し、更新した要素ｃｋｒの値を、色パラメタテーブルに格納する。また、反復判定部３６によって、更新前の色パラメタ行列Ｃの要素の値ｃｋｒｏｌｄと、上記（５）式に従って更新された更新後の色パラメタ行列Ｃの要素の値ｃｋｒｎｅｗの差の絶対値の最大値がδより大きければ、δ←ｍａｘｋｒ｜ｃｋｒｏｌｄ−ｃｋｒｎｅｗ｜  と更新する。
【０１２２】
ステップＳ１１２において、反復判定部３６によって繰り返し回数ｎをインクリメントする。
【０１２３】
ステップＳ１１４において、反復判定部３６は、繰り返し回数ｎが予め定めた最大繰り返し数Ｎを超えたこと、又は変数δが予め定めた閾値εより小さいことを繰り返し条件として、当該繰り返し条件を満足したか否かを判定する。繰り返し条件を満足するようであれば、ステップＳ１１６へ進む。一方、繰り返し条件を満足しない場合には、ステップＳ１０４へ戻る。
【０１２４】
ステップＳ１１６において、パラメタ処理部３８によって、記憶部２に格納された更新済みの各テーブルのパラメタを出力する。
【０１２５】
ステップＳ１１８において、出力部４によって、上記ステップＳ１１６で出力された各パラメタを外部装置２００へ出力して、データ解析処理ルーチンを終了する。
【０１２６】
以上説明したように、第１の実施の形態に係るデータ解析装置によれば、購買データ及び色データに基づいて、ユーザｊがアイテムｉを購入した購買数を示す非負値の要素ｘｉｊ（１）を持つＩ×Ｊの行列Ｘ１＾を、Ｉ×Ｌ（１）のアイテム共有パラメタ行列Ａ１＾と、Ｊ×Ｌ（１）のユーザパラメタ行列Ｂ＾とに分解し、アイテムｉが有する色ｋの画素数を示す非負値の要素ｘｉｋ（２）を持つＩ×Ｋの行列Ｘ２＾を、アイテム共有パラメタ行列Ａ１＾とアイテム非共有パラメタ行列Ａ２＾とからなるＩ×Ｌ（２）のアイテムパラメタ行列Ａ＾と、Ｋ×Ｌ（２）の色パラメタ行列Ｃ＾とに分解することにより、トピック固有でないパターンが存在する場合においても、精度良くパラメタを推定することができる。
また、ＮＭＭＦの手法である複数行列の非負値行列分解において、トピック固有でないパターンが存在しても、アイテム画像中に存在する特徴量からそのアイテムの所属トピックが特定できることでより正確にパラメタが求まる。また、各トピックに対応するアイテムの分類要素を、代表的な特徴量で抽象化することでトピックが特定できる。
【０１２７】
また、トピック固有でないパターンが存在する状況における複数行列の非負値行列分解において、トピック非固有パターンの影響を除去してトピック固有パラメタの推定が可能であり、かつ、各トピック固有の特徴を特定することができる。
【０１２８】
また、複数の入力行列から頻出パターンを抽出することにより、特に、Ｅ−Ｃｏｍｍｅｒｃｅ（電子商取引）サービスにおけるＰＯＳデータから頻出パターンを抽出することができる。
【０１２９】
［第２の実施の形態］
＜データ解析装置の構成＞
次に、本発明の第２の実施の形態について説明する。なお、第２の実施の形態に係るデータ解析装置の構成は、第１の実施の形態と同様の構成となるため、同一符号を付して説明を省略する。
【０１３０】
第２の実施の形態のデータ解析装置では、各パラメタの更新方法が第１の実施の形態と異なる。第２の実施の形態では、後述する（６）式〜（１０）式を用いて各パラメタを更新する点が、第１の実施の形態と異なっている。
【０１３１】
第１の実施の形態では、アイテム共有パラメタ行列Ａ１＾とアイテム非共有パラメタ行列Ａ２＾は独立であるとして扱っているが、第２の実施の形態では、あるＬ（１）≦ｒ’≦Ｌ（２）（ここでｒ’は変数ではなく値）に対し、あるｒ≦Ｌ（１）の集合Ｓｒ’（例えばＳｒ’＝｛１，３，４｝やＳｒ’＝（１以上Ｌ（１）以下の全ての整数）とすることが考えられる）を用いて、すべてのアイテムｉについて、
【０１３２】
【数１７】
2015087874.tif 000019
【０１３３】
が成り立つという線形制約を置くことを考える。このようなｒ’は複数個あってよい。すなわち、非共有トピックｒ’は、１≦ｒ≦Ｌ（１）である範囲のうちの複数の共有トピックｒの線形和で表わされる。
【０１３４】
以下に、ある１つのＬ（１）≦ｒ’≦Ｌ（２）について、Ｓｒ’＝（１以上Ｌ（１）以下の全ての整数）であるとき、すなわち
【０１３５】
【数１８】
2015087874.tif 000020
【０１３６】
が成立するという制約のもとでのパラメタ推定時の更新式について説明する。図７及び図８に第２の実施の形態のパラメタ分解方法を示す。更新式が上記（２）式〜上記（５）式から、以下の（６）式〜（１０）式に代わる以外はパラメタ推定の手続きは第１の実施の形態と全く同じである。
【０１３７】
第２の実施の形態のデータ解析装置１００におけるパラメタ推定部３４は、（ｉ，ｒ）の全ての組み合わせの各々について、以下の（Ａ）、（Ｂ）、又は（Ｃ）の処理を実行して、アイテムパラメタ行列Ａ＾の要素ａｉｒを更新する。
【０１３８】
（Ａ）ｒがｒ≦Ｌ（１）である場合
ユーザｊの各々についての要素ｘｉｊ（１）と、１≦ｒ≦Ｌ（１）である範囲における各ｒについての要素ａｉｒと、ユーザｊ及び１≦ｒ≦Ｌ（１）である範囲におけるｒの組み合わせの各々についての要素ｂｊｒと、特徴ｋの各々についての要素ｘｉｋ（2）と、１≦ｒ≦Ｌ（１）である範囲における各ｒについての要素ａｉｒと、特徴ｋ及び１≦ｒ≦Ｌ（１）である範囲におけるｒの組み合わせの各々についての要素ｃkｒと、特徴ｋ及び非共有トピックｒ’の組み合わせの各々についての要素ｃkｒ’とに基づいて、以下の（６）式に従って、アイテムパラメタ行列Ａ＾の要素ａｉｒを更新する。
【０１３９】
【数１９】
2015087874.tif 000021
【０１４０】
そして、パラメタ推定部３４は、上記（６）式で更新したアイテムパラメタ行列Ａ＾の要素ａｉｒの値を、アイテム共有パラメタテーブルに格納する。
【０１４１】
（Ｂ）ｒがＬ（１）＜ｒ≦Ｌ（２）であり、かつｒ≠ｒ’である場合
色ｋの各々についての要素ｘｉｋ（2）と、１≦ｒ≦Ｌ（１）である範囲における各ｒについての要素ａｉｒと、色ｋ及び１≦ｒ≦Ｌ（１）である範囲におけるｒの組み合わせの各々についての要素ｃkｒとに基づいて、以下の（３）式に従って、アイテムパラメタ行列Ａ＾の要素ａｉｒを更新する。
【０１４２】
【数２０】
2015087874.tif 000022
【０１４３】
（Ｃ）ｒ＝ｒ’である場合
ｒが非共有トピックｒ’である場合、複数の共有トピックｒの各々の要素ａｉｒに基づいて、以下の（８）式に従って、アイテムパラメタ行列Ａ＾の要素ａｉｒを更新する。
【０１４４】
【数２１】
2015087874.tif 000023
【０１４５】
そして、パラメタ推定部３４は、上記（７）式〜（８）式で更新したアイテムパラメタ行列Ａ＾の要素ａｉｒの値を、アイテム非共有パラメタテーブルに格納する。
【０１４６】
次に、パラメタ推定部３４は、（ｊ，ｒ）の全ての組み合わせの各々について、アイテムｉの各々についての要素ｘｉｊ（１）と、１≦ｒ≦Ｌ（１）である範囲における各ｒについての要素ａｉｒと、ユーザｊ及び１≦ｒ≦Ｌ（１）である範囲におけるｒの組み合わせの各々についての要素ｂｊｒとに基づいて、以下の（９）式に従って、ユーザパラメタ行列Ｂ＾の要素ｂｊｒを更新する。
【０１４７】
【数２２】
2015087874.tif 000024
【０１４８】
そして、パラメタ推定部３４は、上記（９）式で更新したユーザパラメタ行列Ｂ＾の要素ｂｊｒの値を、ユーザパラメタテーブルに格納する。
【０１４９】
次に、パラメタ推定部３４は、（ｋ，ｒ）の全ての組み合わせの各々について、アイテムｉの各々についての要素ｘｉｋ（2）と、アイテムｉ及び１≦ｒ≦Ｌ（１）である範囲におけるｒの組み合わせの各々についての要素ａｉｒと、１≦ｒ≦Ｌ（2）である範囲におけるｒの各々についての要素ｃkｒとに基づいて、以下の（１０）式に従って、色パラメタ行列Ｃ＾の要素ｃｋｒを更新する。
【０１５０】
【数２３】
2015087874.tif 000025
【０１５１】
そして、パラメタ推定部３４は、上記（１０）式で更新した色パラメタ行列Ｃ＾の要素ｃｋｒの値を、色パラメタテーブルに格納する。
【０１５２】
パラメタ推定部３４は、上記のパラメタ行列Ａ＾、ユーザパラメタ行列Ｂ＾、及び色パラメタ行列Ｃ＾の各要素の更新処理を行うことにより、行列Ｘ１＾を、パラメタ行列Ａ１＾とユーザパラメタ行列Ｂ＾とに分解し、かつ、行列Ｘ２＾を、パラメタ行列Ａ＾と色パラメタ行列Ｃ＾とに分解する。
【０１５３】
以下の制約
【０１５４】
【数２４】
2015087874.tif 000026
【０１５５】
により色情報テーブル中のデータＸ２＾＝｛ｘｉｋ（２）｝i，ｋ＝１Ｉ，Ｋの要素はアイテム共有パラメタ行列Ａ１＾、アイテム共有パラメタ行列Ａ２＾、色パラメタ行列Ｃ＾を用いて
【０１５６】
【数２５】
2015087874.tif 000027
【０１５７】
と表現されることが分かる。上記（１１）式中の
【０１５８】
【数２６】
2015087874.tif 000028
【０１５９】
という項に注目し、その解釈を考えると、ｒ≦Ｌ（１）を満たす全ての共有トピックｒは各トピック固有の色パラメタｃｋｒに加えて共通の色パラメタｃｋｒ’を持つことになる。トピックによらずある特定の色の背景色が必ず存在する、といえる場合には、パラメタ｛ｃｋｒ’｝ｋ＝１Ｋに背景色を対応させることで、各共有トピックがパラメタｃｋｒ’を持つとすることが有効な仮定となる。しかし、この制約は背景色に複数の色が該当する場合にはノイズとなる可能性もあり、その場合には制約なしでのパラメタ推定が望ましい。
【０１６０】
なお、第２の実施の形態に係るデータ解析装置の他の構成及び作用については、第１の実施の形態と同様であるため、説明を省略する。
【０１６１】
以上説明したように、第２の実施の形態に係るデータ解析装置によれば、トピック固有でないパターンが存在する場合においても、精度良くトピックを抽出することができる。
なお、上記の第１の実施の形態及び第２の実施の形態では、行列Ｘ１の要素ｘｉｊ（１）は、ユーザｊがアイテムｉを購入した購買数量を示す場合を例に説明したが、これに限定されるものではなく、行列Ｘ１の要素ｘｉｊ（１）は、ユーザｊがアイテムｉを購入したか否かを示す値（０又は１）であってもよい。
【０１６２】
［第３の実施の形態］
＜データ解析装置の構成＞
次に、本発明の第３の実施の形態について説明する。第３の実施の形態は、解析対象物が文書である点が、第１及び第２の実施の形態と異なる。第３の実施の形態は、各ユーザが書いた文書において、どの文書にも現れやすい単語（代名詞や接続詞など）を「非共有トピック」として分離しつつ、文書ごとの固有に表れやすい単語を「共有トピック」として分析するための例である。なお、第３の実施の形態に係るデータ解析装置３００について、第１の実施の形態に係るデータ解析装置１００と同一の構成については、同一符号を付して、詳細な説明を省略する。
【０１６３】
図９に示すように、第３の実施の形態に係るデータ解析装置３００は、第１の実施の形態に係るデータ解析装置１００と同様に、入力部１と、記憶部２と、演算部３と、出力部４とを備えている。なお、文書ｉは、解析対象物ｉの一例であり、ユーザｊは、第１特徴ｊの一例であり、単語ｋは、第２特徴の一例である。
【０１６４】
入力部１は、外部装置２００から出力された、文書データ毎のユーザデータと文書データ毎の単語データとを受け付ける。ここで、文書データは、文書ｉ（１≦ｉ≦Ｉ，Ｉは１以上の整数）がユーザｊ（１≦ｊ≦Ｊ，Ｊは１以上の整数）によって書かれたか否かを示すデータである。また、単語データは、単語ｋ（１≦ｋ≦Ｋ，ｋは１以上の整数）についての、文書ｉ（１≦ｉ≦Ｉ）での当該単語ｋの出現頻度を示すデータである。なお、ユーザデータは、第１特徴データの一例であり、単語データは、第２特徴データの一例である。
【０１６５】
第１特徴情報処理部３３０は、入力部１によって受け付けたユーザデータと単語データとに基づいて、文書情報テーブルを作成し、記憶部２へ格納する。文書情報テーブルは、文書ＩＤ、ユーザＩＤ、及び文書が当該ユーザによって書かれたか否かを示す値の組み合わせを格納したテーブルデータである。
【０１６６】
第２特徴情報処理部３３２は、入力部１によって受け付けたユーザデータと単語データとに基づいて、単語情報テーブルを作成し、記憶部２へ格納する。単語情報テーブルは、文書ＩＤ、単語ＩＤ、及び文書での当該単語の出現頻度の組み合わせを格納したテーブルデータである。
【０１６７】
ここで、記憶部２に格納された文書情報テーブルに存在する全データから、Ｉ×Ｊの行列Ｘ１＾＝｛ｘｉｊ（１）｝i，ｊ＝１Ｉ，Ｊが得られる。また、記憶部２に格納された単語情報テーブルに存在する全データから、Ｉ×Ｋの行列Ｘ２＾＝｛ｘｉｋ（２）｝i，ｋ＝１Ｉ，Ｋが得られる。ただし、行列Ｘ１＾の要素ｘｉｊ（１）は、文書ｉがユーザｊによって書かれたか否かを示す。また、行列Ｘ２＾の要素ｘｉｋ（２）は、文書ｉでの単語ｋの出現頻度を示す。
【０１６８】
なお、要素ｘｉｊ（１）、要素ｘｉｋ（２）はすべて非負値である。また、行列Ｘ２＾の要素ｘｉｋ（２）は、単語ｋが、文書ｉに用いられるか否かであってもよい。
【０１６９】
パラメタ推定部３４は、行列Ｘ１＾を、Ｉ×Ｌ（１）の共有パラメタ行列Ａ１＾とＪ×Ｌ（１）のパラメタ行列Ｂ＾とに分解する。ここで、共有パラメタ行列Ａ１＾の要素ａｉｒは、共有トピックｒ（１≦ｒ≦Ｌ（１），Ｌ（１）は予め定められた１以上の整数）に文書ｉが所属することを示す。また、パラメタ行列Ｂ＾の要素ｂｊｒは、ユーザｊが共有トピックｒに所属することを示す。要素ａｉｒ、要素ｂｊｒはすべて非負値である。
【０１７０】
また、パラメタ推定部３４は、行列Ｘ２＾を、Ｉ×Ｌ（２）のパラメタ行列Ａ＾と、Ｋ×Ｌ（２）のパラメタ行列Ｃ＾とに分解する。パラメタ行列Ａ＾は、共有パラメタ行列Ａ１＾と非共有パラメタ行列Ａ２＾とからなる。非共有パラメタ行列Ａ２＾の要素ａｉｒは、非共有トピックｒ（Ｌ（１）＋１≦ｒ≦Ｌ（２），Ｌ（２）は予め定められた２以上の整数）に文書ｉが所属することを示す。また、パラメタ行列Ｃ＾の要素ｃｋｒは、単語ｋが共有トピックｒ又は非共有トピックｒに所属することを示す。要素ａｉｒ、要素ｃｋｒはすべて非負値である。
【０１７１】
なお、第３の実施の形態に係るデータ解析装置の他の構成及び作用については、第１の実施の形態と同様であるため、説明を省略する。
【０１７２】
なお、第２の実施の形態で説明した、非共有トピックを共有トピックの線形和として表現する技術を、上記第３の実施の形態に適用してもよい。
【０１７３】
以上説明したように、本実施の形態に係るデータ解析装置によれば、文書データ及び単語データに基づいて、文書ｉがユーザｊによって書かれたか否かを示す非負値の要素ｘｉｊ（１）を持つＩ×Ｊの行列Ｘ１＾を、Ｉ×Ｌ（１）の共有パラメタ行列Ａ１＾と、Ｊ×Ｌ（１）のパラメタ行列Ｂ＾とに分解し、文書ｉでの単語ｋの出現頻度を示す非負値の要素ｘｉｋ（２）を持つＩ×Ｋの行列Ｘ２＾を、共有パラメタ行列Ａ１＾とＩ×（Ｌ（２）−Ｌ（１））の非共有パラメタ行列Ａ２＾とからなるＩ×Ｌ（２）のパラメタ行列Ａ＾と、Ｋ×Ｌ（２）のパラメタ行列Ｃ＾とに分解することにより、トピック固有でないパターンが存在する場合においても、精度良くパラメタを推定することができる。
【０１７４】
なお、本発明は、上述した実施形態に限定されるものではなく、この発明の要旨を逸脱しない範囲内で様々な変形や応用が可能である。
【０１７５】
例えば、上記の実施の形態では、解析対象物ｉが、アイテムｉや文書ｉである場合について説明したが、他のものを解析対象物ｉとしてもよい。この場合には、その解析対象物が有する２つの特徴がそれぞれ正の数量としてカウントできるものであれば、上記の実施の形態の方法によって、２つの特徴量の間で同時発生する頻出パターンを抽出することが可能となる。
【０１７６】
上記の第１の実施の形態及び第２の実施の形態では、購買データと色データから得られる２つの行列から頻出パターンを抽出する例を示しているが、この例に限定されることなく、例えば、アイテムとアイテム紹介文中の単語の出現回数を表現する行列など、ユーザ、アイテム、単語のように１つ１つにＩＤ番号を付与して識別可能であり行列形式としてデータを表現することが可能な事物であれば、あらゆる対象が、本実施の形態によって頻出パターンの抽出が可能である。
【０１７７】
また、本発明は、周知のコンピュータに媒体もしくは通信回線を介して、プログラムをインストールすることによっても実現可能である。
【０１７８】
また、上述のデータ解析装置は、内部にコンピュータシステムを有しているが、「コンピュータシステム」は、ＷＷＷシステムを利用している場合であれば、ホームページ提供環境（あるいは表示環境）も含むものとする。
【０１７９】
また、本願明細書中において、プログラムが予めインストールされている実施形態として説明したが、当該プログラムを、コンピュータ読み取り可能な記録媒体に格納して提供することも可能である。
【符号の説明】
【０１８０】
１     入力部
２     記憶部
３     演算部
４     出力部
３０   購買情報処理部
３２   色情報処理部
３４   パラメタ推定部
３６   反復判定部
３８   パラメタ処理部
１００ データ解析装置
２００ 外部装置
３００ データ解析装置
３３０ 第１特徴情報処理部
３３２ 第２特徴情報処理部
【図２】
2015087874.tif 000029
【図３】
2015087874.tif 000030
【図４】
2015087874.tif 000031
【図５】
2015087874.tif 000032
【図６】
2015087874.tif 000033
【図９】
2015087874.tif 000034
【図１０】
2015087874.tif 000035
【図１】
2015087874.tif 000036
【図７】
2015087874.tif 000037
【図８】
2015087874.tif 000038
【図１１】
2015087874.tif 000039
【図１２】
2015087874.tif 000040
【図１３】
2015087874.tif 000041