(57)【特許請求の範囲】
【請求項１】
分析対象データ間の距離について計算および分析を行う計量適用データ分析部と、前記分析対象データ間の相関および属性を最適化してその最適化された計量行列を出力する計量最適化部と、前記最適化された計量行列を前記属性に応じてクラスタリングする属性クラスタリング部とからなり、複数の属性を有する分析対象データをクラスタリングする能動計量学習装置であって、
前記計量適用データ分析部が、前記分析対象データと該データ間の距離を表すマハラノビス計量行列を入力として前記分析対象データ間の距離を計算する計量適用手段と、前記分析対象データ間の距離を用いて所定の関数によりデータを分析しデータ分析結果を出力するデータ分析手段と、前記データ分析結果を保存する分析結果記憶手段と、前記計量適用手段および前記データ分析手段に対して前記最適化を行う前のもとの計量行列を近似して構造化された計量行列を入力する計量行列構造化部から構成され、
前記計量最適化部が、前記分析対象データ間の相関および属性のいずれかまたは組み合わせからなるユーザからのフィードバック指示からサイド情報を生成するフィードバック変換手段と、前記生成されたサイド情報から所定の条件に基づいて最適化された計量行列を生成する計量学習手段とから構成され、
前記属性に関するユーザからのフィードバック指示が、前記分析対象データ間で同一クラスタに属するべきものについての情報と前記分析対象データの粒度についての情報とを含み、
前記サイド情報が、前記分析対象データの中で同一ペアとなる２点のデータについての情報であるペア情報と、前記分析対象データの中で同一グループとなる２点以上のデータについての情報であるグループ情報とを含み、
前記属性クラスタリング部が、前記計量最適化部によって最適化された計量行列を前記属性に応じてクラスタリングすることを特徴とする能動計量学習装置。
【請求項２】
前記分析対象データに計量を適用して得られた計量データと、前記分析対象データの前記計量を分析した結果である分析結果のいずれか、またはそれらの組み合わせに基づいて、前記分析対象データの能動学習を行い、前記能動学習の結果を記憶する能動学習部を有することを特徴とする、請求項１に記載の能動計量学習装置。
【請求項３】
前記計量適用データ分析部が、前記データ分析結果に対して次元変換を施して表示装置へ表示する分析結果出力手段を有することを特徴とする、請求項１ないし請求項２記載の能動計量学習装置。
【請求項４】
前記計量最適化部に、前記サイド情報から生成された計量を可視化して表示装置へ表示する計量可視化手段が付属していることを特徴とする、請求項１ないし請求項３のうちいずれか１項に記載の能動計量学習装置。
【請求項５】
前記計量適用データ分析部の前記計量適用手段および前記データ分析手段が、前記計量行列構造化部によって前記もとの計量行列を近似して構造化された計量行列を前記距離計算および前記分析に反映させることを特徴とする、請求項１に記載の能動計量学習装置。
【請求項６】
前記属性クラスタリング部が、属性構造に関するユーザフィードバックを入力としてこの入力された属性構造を反映した制限付きクラスタリングを行うことを特徴とする、請求項１または請求項２に記載の能動計量学習装置。
【請求項７】
分析対象データ間の距離について計算および分析を行う計量適用データ分析部と、前記分析対象データ間の相関および属性を最適化してその最適化された計量行列を出力する計量最適化部と、前記最適化された計量行列を前記属性に応じてクラスタリングする属性クラスタリング部とからなる能動計量学習装置にあって、複数の属性を有する分析対象データをクラスタリングする能動計量学習方法であって、
前記計量適用データ分析部が、前記最適化を行う前のもとの計量行列を近似して構造化された計量行列を算出し、
前記計量適用データ分析部が、前記分析対象データと該データ間の距離を表すマハラノビス計量行列を入力として前記データ間の距離を計算し、
前記計量適用データ分析部が、前記データ間の距離計量を用いて所定の関数によりデータを分析しデータ分析結果を出力すると共に前記データ分析結果を保存し、
前記計量最適化部が、前記データ間の相関および属性のいずれかまたは組み合わせからなりかつ前記分析対象データ間で同一クラスタに属するべきものについての情報と前記分析対象データの粒度についての情報とを含むフィードバック指示を入力して前記分析対象データの中で同一ペアとなる２点のデータについての情報であるペア情報と前記分析対象データの中で同一グループとなる２点以上のデータについての情報であるグループ情報とを含むサイド情報を生成し、
前記計量最適化部が、前記生成されたサイド情報から所定の条件に基づいて最適化された計量行列を生成し、
前記属性クラスタリング部が、前記最適化された計量行列を前記属性に応じてクラスタリングすることを特徴とする能動計量学習方法。
【請求項８】
分析対象データ間の距離について計算および分析を行う計量適用データ分析部と、前記分析対象データ間の相関および属性を最適化してその最適化された計量行列を出力する計量最適化部と、前記最適化された計量行列を前記属性に応じてクラスタリングする属性クラスタリング部とからなる能動計量学習装置にあって、複数の属性を有する分析対象データをクラスタリングする能動計量学習装置が備えるコンピュータに、
前記最適化を行う前のもとの計量行列を近似して構造化された計量行列を算出する手順と、
前記分析対象データと該データ間の距離を表すマハラノビス計量行列を入力として前記データ間の距離を計算する手順と、
前記計量適用データ分析部が、前記データ間の距離計量を用いて所定の関数によりデータを分析しデータ分析結果を出力すると共に前記データ分析結果を保存する手順と、
前記計量最適化部が、前記データ間の相関および属性のいずれかまたは組み合わせからなりかつ前記分析対象データ間で同一クラスタに属するべきものについての情報と前記分析対象データの粒度についての情報とを含むフィードバック指示を入力して前記分析対象データの中で同一ペアとなる２点のデータについての情報であるペア情報と前記分析対象データの中で同一グループとなる２点以上のデータについての情報であるグループ情報とを含むサイド情報を生成する手順と、
前記計量最適化部が、前記生成されたサイド情報から所定の条件に基づいて最適化された計量行列を生成する手順と、
前記属性クラスタリング部が、前記最適化された計量行列を前記属性に応じてクラスタリングする手順と
を実行させることを特徴とする能動計量学習プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は文書クラスタリングなどに使用される計量の学習に関し、特に構造のある属性を使った距離計量の学習に関する。
【背景技術】
【０００２】
図９は、汎用の能動計量学習装置によって行われる具体的な文書クラスタリングの処理の例を示す説明図である。ここでは、クローラーを利用して各種ウェブサイト（主にブログや掲示板など）から取得した多量の文章データに対して文書クラスタリングの処理を行った例を示す。図９は、このデータから得られた階層クラスタリング(hierarchical-clustering)の結果の一部の例であり、文書データに含まれる膨大な単語数の中のごく一部のみを示している。このように階層クラスタリングされたデータに基づいて、たとえば検索エンジンなどに使われるデータが構築される。【０００３】
このような文書のクラスタリングの処理に使用される能動計量学習装置は、ユーザからのフィードバック入力装置、計量最適化部、そして最適化された計量を適用したデータ分析装置などから構成され、ユーザからの情報をもとに計量を学習する。ユーザがデータ分析、例えば文書のクラスタリングをする場合に、まず、最適化していない計量を用いて分析を行う。【０００４】
ユーザはその結果を参照し、該装置にフィードバックを返す。すると該装置はそのフィードバックを計量最適化部が扱うことのできる形に変換した後、計量学習を実行する。これにより該装置からユーザに、計量学習において学習結果に影響を与えるような重要な情報提示を行い、フィードバックの生成や計量学習の効率を上げる。より具体的には、マハラノビス（Mahalanobis）行列を最適化する場合に、マハラノビス距離に関するフィードバック（データ間の距離を遠ざける、近づけるなど）や、行列要素（属性重要度や属性間関連度）についての直接のフィードバックなどが用いられる。【０００５】
これに関連して、特許文献１にはクラスタリング処理において属性の構造化を行う一手法が記載されている。特許文献２には対象の素性ベクトル間の距離を算出した結果を用いてデータの検索を行うという技術が記載されている。特許文献３にはマハラノビス距離の演算を具体的に使用した技術の一例が記載されている。非特許文献１および２には、後述の通り、Information-theoretic Co-clustering、Bregman Clustering、およびspectral clusteringといった、クラスタリングの具体的な手法が記載されている。【０００６】
【特許文献１】特開２００５−２３５０９９号公報
【特許文献２】特開２００６−０３１４６０号公報
【特許文献３】特開２００８−１８５３９９号公報
【非特許文献１】Information-Theoretic Co-clustering, I. S. Dhillon, S. Mallela, and D. S. Modha, Proceedings of The Ninth ACM SIGKDD International Conference on Knowledge Discovery and Data Mining(KDD), pages 89-98, August 2003.
【非特許文献２】Clustering with Bregman Divergences, A. Banerjee, S. Merugu, I.S. Dhillon, J. Ghosh, The Journal of Machine Learning Research, Vol 6, December 2005
【発明の開示】
【発明が解決しようとする課題】
【０００７】
特許文献１〜３の技術を合わせると、分析対象データと該データ間の距離を計算し、それに基づいてクラスタリングを行う計量学習装置が得られる。このような計量学習装置は、たとえば検索エンジンなどで大量のテキストデータを処理するのに使われているが、以下のような各々の問題点がある。【０００８】
第１の問題点は、学習した計量の解釈が難しいということである。その理由は、計量の学習は属性の重要度や属性間の関連度を、フィードバックに応じて調整をすることであり、結果として最適化された計量は、属性の重要度や属性間の関連度は分かるが、例えば属性の分類、それによる階層構造の構成など、ユーザが解釈しやすい形になっていないからである。【０００９】
第２の問題点は、属性のフィードバック指示の効率が悪いということである。その理由は、フィードバックが属性単位であり、多くの属性に対してユーザがまとめフィードバックを出すということはできないからである。また、学習機能を用いても対象が属性単位である限り、多くの属性を扱うのは困難である。【００１０】
第３の問題点は、計量学習装置が階層構造をもつ属性に対応していない点である。つまり、属性が階層構造をしているということから、計量学習装置は最適なデータ分析の粒度を推定する。その粒度に対してもユーザがフィードバックによって修正できるべきであるが、汎用の技術ではそのようになっていない。また、逆に、データ分析の粒度があらかじめ分かる場合にはそれに適した属性の粒度が推定でき、またはデータへのフィードバックが与えられたときに、そのフィードバックの粒度に対応した属性の階層構造の粒度があるはずである。汎用の技術では、その粒度を場合に応じて設定もしくは推定できるようにはなっていない。【００１１】
ここでいう粒度とは、その属性が上位概念であるか下位概念であるかの違いを表す。図９で示した階層クラスタリングされたデータの例でいうなら、本来は粒度の等しい類似した概念として捉えられるべき「昨日」８０１ａと「今日」８０２ａ、そしてその上位の粒度と捉えられるべき「日記」８０１ｂが、ここでは粒度の等しく異なるクラスタに属する概念として捉えられており、そのクラスタの捉えられ方は明らかに不適切である。【００１２】
また「ビッグローブｍａｉｌ」８０２ｃと「ビッグローブ」８０３ｂはいずれも日本電気（株）のグループ会社によって運営されるサービスの名称であるので、この両者の粒度は等しく、またそれらは「ＮＥＣ」８０２ｂの下位概念にあたるので、「ＮＥＣ」８０２ｂと同一のクラスタで、かつ「ＮＥＣ」８０２ｂより細かい粒度であると言える。しかしながら、図９で示した例では、そのように捉えられていない。【００１３】
他にも、「ｇｏｏｇｌｅ  ｎｅｗｓ」８０１ｃと「日経新聞」８０１ｄとは本来直接的な関係はないものではあるが、同一のクラスタに属するものとして捉えられている。また、「ｇｍａｉｌ」８０２ｄと「ビッグローブｍａｉｌ」８０２ｃは異なる企業グループによって運営されるサービスであるが、これも粒度が等しく同一のクラスタに属するものとして捉えられている。「ｇｏｏｇｌｅ」８０３ａと「ビッグローブ」８０３ｂも同様である。他にも、図９には階層構造および粒度の設定が不適切である例が、枚挙に暇ないほど多く含まれている。【００１４】
このような不適切な階層構造および粒度の設定を含むデータに基づいて構築された検索エンジンなどでは、ユーザの望む的確な検索結果を得ることはできない。それにもかかわらず、汎用の技術では、計量学習装置が学習した計量にこのような不適切な階層構造および粒度の設定が含まれていた場合に、その階層構造および粒度の設定を修正できる方法はなかった。前述の特許文献１〜３および非特許文献１〜２にも、そのようなことを可能とする技術については記載されていない。【００１５】
本発明の目的は、属性の階層構造、およびその階層の粒度を適切に設定し、これによって適切なクラスタリング結果を得ることを可能とする能動計量学習装置、能動計量学習方法、および能動計量学習プログラムを提供することにある。
【課題を解決するための手段】
【００１６】
上記目的を達成するため、本発明に係る能動計量学習装置は、分析対象データ間の距離について計算および分析を行う計量適用データ分析部と、分析対象データ間の相関および属性を最適化してその最適化された計量行列を出力する計量最適化部と、最適化された計量行列を属性に応じてクラスタリングする属性クラスタリング部とからなり、複数の属性を有する分析対象データをクラスタリングする能動計量学習装置であって、計量適用データ分析部が、分析対象データと該データ間の距離を表すマハラノビス計量行列を入力として分析対象データ間の距離を計算する計量適用手段と、分析対象データ間の距離を用いて所定の関数によりデータを分析しデータ分析結果を出力するデータ分析手段と、データ分析結果を保存する分析結果記憶手段と、計量適用手段およびデータ分析手段に対して最適化を行う前のもとの計量行列を近似して構造化された計量行列を入力する計量行列構造化部から構成され、計量最適化部が、分析対象データ間の相関および属性のいずれかまたは組み合わせからなるユーザからのフィードバック指示からサイド情報を生成するフィードバック変換手段と、生成されたサイド情報から所定の条件に基づいて最適化された計量行列を生成する計量学習手段とから構成され、属性に関するユーザからのフィードバック指示が、分析対象データ間で同一クラスタに属するべきものについての情報と分析対象データの粒度についての情報とを含み、サイド情報が、分析対象データの中で同一ペアとなる２点のデータについての情報であるペア情報と、分析対象データの中で同一グループとなる２点以上のデータについての情報であるグループ情報とを含み、属性クラスタリング部が、計量最適化部によって最適化された計量行列を属性に応じてクラスタリングすることを特徴とする。
【００１７】
上記目的を達成するため、本発明に係る能動計量学習方法は、分析対象データ間の距離について計算および分析を行う計量適用データ分析部と、分析対象データ間の相関および属性を最適化してその最適化された計量行列を出力する計量最適化部と、最適化された計量行列を属性に応じてクラスタリングする属性クラスタリング部とからなる能動計量学習装置にあって、複数の属性を有する分析対象データをクラスタリングする能動計量学習方法であって、計量適用データ分析部が、最適化を行う前のもとの計量行列を近似して構造化された計量行列を算出し、計量適用データ分析部が、分析対象データと該データ間の距離を表すマハラノビス計量行列を入力としてデータ間の距離を計算し、計量適用データ分析部が、データ間の距離計量を用いて所定の関数によりデータを分析しデータ分析結果を出力すると共にデータ分析結果を保存し、計量最適化部が、データ間の相関および属性のいずれかまたは組み合わせからなりかつ分析対象データ間で同一クラスタに属するべきものについての情報と分析対象データの粒度についての情報とを含むフィードバック指示を入力して分析対象データの中で同一ペアとなる２点のデータについての情報であるペア情報と分析対象データの中で同一グループとなる２点以上のデータについての情報であるグループ情報とを含むサイド情報を生成し、計量最適化部が、生成されたサイド情報から所定の条件に基づいて最適化された計量行列を生成し、属性クラスタリング部が、最適化された計量行列を属性に応じてクラスタリングすることを特徴とする。
【００１８】
上記目的を達成するため、本発明に係る能動計量学習プログラムは、分析対象データ間の距離について計算および分析を行う計量適用データ分析部と、分析対象データ間の相関および属性を最適化してその最適化された計量行列を出力する計量最適化部と、最適化された計量行列を属性に応じてクラスタリングする属性クラスタリング部とからなる能動計量学習装置にあって、複数の属性を有する分析対象データをクラスタリングする能動計量学習装置が備えるコンピュータに、最適化を行う前のもとの計量行列を近似して構造化された計量行列を算出する手順と、分析対象データと該データ間の距離を表すマハラノビス計量行列を入力としてデータ間の距離を計算する手順と、計量適用データ分析部が、データ間の距離計量を用いて所定の関数によりデータを分析しデータ分析結果を出力すると共にデータ分析結果を保存する手順と、計量最適化部が、データ間の相関および属性のいずれかまたは組み合わせからなりかつ分析対象データ間で同一クラスタに属するべきものについての情報と分析対象データの粒度についての情報とを含むフィードバック指示を入力して分析対象データの中で同一ペアとなる２点のデータについての情報であるペア情報と分析対象データの中で同一グループとなる２点以上のデータについての情報であるグループ情報とを含むサイド情報を生成する手順と、計量最適化部が、生成されたサイド情報から所定の条件に基づいて最適化された計量行列を生成する手順と、属性クラスタリング部が、最適化された計量行列を属性に応じてクラスタリングする手順とを実行させることを特徴とする。
【発明の効果】
【００１９】
本発明は、上述したようにユーザのフィードバック指示から生成されたサイド情報によって計量行列を最適化してクラスタリング処理を行うように構成したので、分析対象データの属性構造を人間の理解に合ったものに最適化することができる。これによって、属性の階層構造、およびその階層の粒度を適切に設定し、これによって適切なクラスタリング結果を得ることができる。
【図面の簡単な説明】
【００２０】
【図１】本発明に係る能動計量学習装置のハードウェア構成を示す説明図である。
【図２】図１で示した能動計量学習装置で動作するソフトウェアの構成をより詳しく示す説明図である。
【図３】図２に示した計量適用データ分析部の構成をより詳しく示す説明図である。
【図４】図２に示した計量最適化部の構成をより詳しく示す説明図である。
【図５】図４に示したサイド情報記憶部の構成をより詳しく示す説明図である。
【図６】図２に示した能動学習部の構成をより詳しく示す説明図である。
【図７】図１および２に示した能動学習装置で行われる処理について示すフローチャートである。
【図８】図１および２に示した能動学習装置によって行われる文書クラスタリング処理の例を示す説明図である。図８（ａ）はデータから得られた階層クラスタリングの結果の一部の例である。図８（ｂ）は、ユーザが返したフィードバックが反映された再クラスタリング結果の例である。
【図９】汎用の能動計量学習装置によって行われる具体的な文書クラスタリングの処理の例を示す説明図である。
【発明を実施するための最良の形態】
【００２１】
（実施形態）
以下、本発明の実施形態の構成について添付図１に基づいて説明する。
最初に、本実施形態の基本的な内容について説明し、その後でより具体的な内容について説明する。
本実施形態に係る能動計量学習装置１００は、分析対象データ間の距離について計算および分析を行う計量適用データ分析部２００と、分析対象データ間の相関および属性を最適化する計量最適化部３００と、分析対象データをクラスタリングする属性クラスタリング部５００とからなり、複数の属性を有する分析対象データをクラスタリングする能動計量学習装置である。ここで、この計量適用データ分析部２００は、分析対象データと該データ間の距離を表すマハラノビス計量行列を入力として分析対象データ間の距離を計算する計量適用手段２１０と、分析対象データ間の距離を用いて所定の関数によりデータを分析しデータ分析結果を出力するデータ分析手段２２０と、データ分析結果を保存する分析結果記憶手段（分析結果記憶部２５０）とから構成される。また計量最適化部３００は、分析対象データ間の相関および属性のいずれかまたは組み合わせからなるユーザからのフィードバック指示からサイド情報を生成するフィードバック変換手段３１０と、生成されたサイド情報から所定の条件に基づいて最適化された計量行列を生成する計量学習手段３３０とから構成される。そして属性クラスタリング部５００が、計量最適化部によって最適化された計量行列をクラスタリングして属性を構造化する。【００２２】
また能動計量学習装置１００は、分析対象データに計量を適用して得られた計量データと、分析対象データの計量を分析した結果である分析結果のいずれか、またはそれらの組み合わせに基づいて、分析対象データの能動学習を行い、能動学習の結果を記憶する能動学習部４００を有する。【００２３】
そして計量適用データ分析部２００は、データ分析結果に対して次元変換を施して表示装置へ表示する分析結果出力手段２３０を有する。
さらに計量最適化部３００には、サイド情報から生成された計量を可視化して表示装置へ表示する計量可視化手段（計量可視化部１１２）が付属している。【００２４】
その一方で、能動計量学習装置１００は、計量適用データ分析部の計量適用手段およびデータ分析手段に対して構造化された距離計量行列を入力する計量行列構造化部５０２を有し、計量適用データ分析部２００の計量適用手段２１０およびデータ分析手段２２０が、計量行列構造化部によって構造化された計量行列を距離計算および分析に反映させる。【００２５】
さらにその一方で、属性クラスタリング部５００は、属性構造に関するユーザフィードバックを入力とする制限つきクラスタリングを行う。そして能動計量学習装置１００は、学習した計量行列を入力とする属性構造フィードバック支援能動学習部５１１をさらに有する。【００２６】
この構成を備えることにより、本実施形態は、属性の階層構造、およびその階層の粒度を適切に設定することを可能とする。
以下、これをより詳細に説明する。【００２７】
図１は、本発明に係る能動計量学習装置１００のハードウェア構成を示す説明図である。能動計量学習装置１００はコンピュータ装置であり、プログラムを実行する主体であるＣＰＵ（Central Processing Unit）１０１と、ＣＰＵ１０１が実行する対象のプログラムを記憶している不揮発性の記憶装置であるＲＯＭ（Read Only Memory）１０２と、ＣＰＵ１０１が読み出して実行する対象のプログラムを記憶させる主記憶装置であるＲＡＭ（Random Access Memory）１０３とを備える。ＲＡＭ１０３にはまた、ＣＰＵ１０１が各種の処理を実行する上において必要なデータなども適宜記憶される。【００２８】
ＨＤＤ（Hard Disk Drive）１０６は、プログラムおよび各種データが記憶される不揮発性の大容量記憶装置である。ここに、後述する分析対象データ記憶部１２１、計量記憶部１１１、分析結果記憶部２５０、サイド情報記憶部３２０、能動学習結果記憶部４４０としての各データが記憶される。【００２９】
ＣＰＵ１０１、ＲＯＭ１０２、ＲＡＭ１０３、入出力インタフェース１０５、およびＨＤＤ１０６は、バス１０４を介して相互に接続されている。このバス１０４にはまた、入出力インタフェース１０５も接続されている。【００３０】
入出力インタフェース１０５には、キーボード、マウス、ディスプレイ、スピーカ、ネットワークアダプタ（いずれも図示せず）などが接続されており、ここから後述する分析対象データ１２０、ユーザフィードバック１１０、属性構造ユーザ属性構造ユーザフィードバック５０１といったユーザからの各種入力データの受け付け、および後述するデータ分析結果１３０、分析結果マップ図１４０、計量学習結果１５０、および計量マップ図１６０といったユーザへの各種出力データの提示が行われる。【００３１】
図２は、図１で示した能動計量学習装置１００で動作するソフトウェアの構成をより詳しく示す説明図である。能動計量学習装置１００は、計量適用データ分析部２００と、計量最適化部３００と、能動学習部４００と、属性クラスタリング部５００と、計量行列構造化部５０２と、属性構造フィードバック支援能動学習部５１１と、計量可視化部１１２から構成されている。これらはいずれもＨＤＤ１０６から読み出されてＲＡＭ１０３に記憶され、ＣＰＵ１０１で実行されるソフトウェアである。【００３２】
また、外部から入出力インタフェース１０５を介して入力される分析対象データ１２０は、ＨＤＤ１０６上に分析対象データ記憶部１２１として記憶される。能動学習部４００による後述の処理の結果は、ＨＤＤ１０６上に能動学習結果記憶部４４０として記憶される。そして、属性クラスタリング部５００による後述の処理の結果は、ＨＤＤ１０６上に計量記憶部１１１として記憶される。【００３３】
計量適用データ分析部２００から出力されるデータ分析結果１３０および分析結果マップ図１４０は、入出力インタフェース１０５を介して外部に出力される。また、計量記憶部１１１に記憶された計量学習結果１５０と、この計量学習結果１５０から計量可視化部１１２によって作成された計量マップ図１６０も、入出力インタフェース１０５を介して外部に出力される。【００３４】
分析対象データ１２０にはｍ個のデータが含まれ、属性の数をｎとする（ｍおよびｎはいずれも２以上の自然数とする）。ｉを１≦ｉ≦ｍを満たす自然数とし、ｉ番目のデータをｘｉとする。データに対して計量学習をしていない場合、ユーザは初期計量を選ぶ。その初期の計量を適用し、計量適用データ分析部２００を動作させる。計量は距離を与えるものならなんでもよい。つまり、データ間の距離ｄは下式で示される関数φで与えられる。【００３５】
【数１】
0005477297.tif 000002
データは数値データでもよいし、シンボルでもよい。ここでは一例として、属性間の重みや相関を表す行列により、距離を表す。つまり、データｘｉとｘｊの間の距離は、下式で示される。この距離の定義において、データは実数値のベクトルである。行列Ａは属性の重要度や属性間の関連を与える変換行列で、半正定値行列である。【００３６】
【数２】
0005477297.tif 000003
したがって、初期値として単位行列を選んだ場合は、属性の重みはすべて１で相関は０とすることと等しい。計量適用データ分析部２００の出力は、データ分析結果１３０と計量マップ図１６０である。計量マップ図１６０は行列Ａの意味（属性の重要性、属性の類似度）を表したもので、マウスクリックなどの操作でユーザは付加的情報や詳細情報を得ることができるものである。この情報を元にしてユーザはフィードバックを生成して、後述の方法で入力する。【００３７】
ここでいう属性における構造とは、具体的には（フラットな）グルーピング（属性クラスタリング）、あるいは階層つきグルーピング（属性の階層つきグルーピング）などである。前者は似た属性同士をまとめたもので、属性に関するクラスタリングと考えることができる。後者はグルーピングに階層を加えたものである。ここでいう階層とは、オントロジーのように言葉の意味的な階層関係や、属性が商品コードであればその階層的分類などである。【００３８】
能動学習部４００は分析の結果、または分析対象データから重要なデータをランク付けする。重要なデータとは、どんな指標でもよいが、そのデータに関する情報が得られれば分析の進展に変化が起きるような点である。【００３９】
計量最適化部３００は分析対象データ１２０、およびユーザフィードバック１１０を入力とし、それをもとに計量を最適化する。出力は計量を計算するときに用いるパラメータ（数２の行列Ａ）や、最適化の際に得られたその他の情報を含む。【００４０】
図３は、図２に示した計量適用データ分析部２００の構成をより詳しく示す説明図である。計量適用データ分析部２００は、計量適用手段２１０と、データ分析手段２２０と、分析結果出力手段２３０といった各処理部を含む。これらはいずれもＨＤＤ１０６から読み出されてＲＡＭ１０３に記憶され、ＣＰＵ１０１で実行されるソフトウェアである。記憶部２４０は、これらの処理部によって行われる処理の途中のデータを記憶する、ＲＡＭ１０３の一部分である。またこれらの処理部による分析結果は、分析結果記憶部２５０としてＨＤＤ１０６上に記憶される。【００４１】
計量適用手段２１０は、分析対象データ記憶部１２１に記憶された分析対象データ１２０に計量行列構造化部５０２から出力される計量を適用する。適用方法は分析対象データに一次変換を施す、つまり、Ａ＝Ｂ’Ｂとなる行列（例えばＬＵ変換や行列の平方根）を用いてｘ’ｉ＝Ｂｘｉと変換する、または距離の計算時に前述の数２を用いるのでもよい。【００４２】
属性間に構造がある場合には計量の計算もそれに対応したものとすることができる。例えば、フラットなグルーピングの場合は、以下の手順を踏む。【００４３】
まず、計量行列Ａに属性クラスタリングを施し、行列の次元を属性クラスタ×属性クラスタに変換する。この処理で得られる行列Ａｃは、ブロック化された行列であり、そのｉ行（列）は計量行列Ａのｉ番目のクラスタを縮約したものである。【００４４】
次に入力ベクトルｘｉを各属性のクラスタリングによって次元の低いベクトルに変換する。具体的にはｘｉが、下式で示されるｚｉに変換される。ここでＬは、クラスタ数ｋ×ｎ次元の変換行列である。ｎは、前述のように分析対象データ１２０の属性の数である。【００４５】
【数３】
0005477297.tif 000004
続いて、クラスタリングで得られた行列ｚｉおよびｚｊおよびと計量行列Ａｃから、下式を用いて距離を計算する。【００４６】
【数４】
0005477297.tif 000005
また、属性の階層クラスタリングを適用する場合は、まず階層ごとに上記の属性クラスタリングの処理を行い、さらに下式で示される上記の次元の低いベクトルへの変換処理を行う。ここでＬｃは、クラスタ数ｋ×ｎ次元の変換行列である。【００４７】
【数５】
0005477297.tif 000006
以上の処理で得られたクラスタリングで得られた行列ｚｃｉおよびｚｃｊと計量行列Ａｃから、下式を用いて距離を計算する。【００４８】
【数６】
0005477297.tif 000007
計量を適用されたデータは構造を持つ属性に対応したデータ分析手段により分析される。データ分析は、分類問題、回帰問題、クラスタリング、ランキング問題等、データ間の距離を用いるものなら何でもよい。分析結果出力手段２３０はデータ分析結果１３０をファイルやディスプレイに出力する。また、計量可視化部１１２によって分析結果マップ図１４０をディスプレイに表示してもよい。【００４９】
分析結果マップ図１４０は、分析結果を２次元もしくは３次元空間に表示したものであり、クラス、クラスタ等の可視化、データ点から元データへの表示、クラス、クラスタを特徴付ける属性の表示、またフィードバック入力、能動学習出力表示などの機能がある。【００５０】
図４は、図２に示した計量最適化部３００の構成をより詳しく示す説明図である。計量最適化部３００は、フィードバック変換手段３１０と、計量学習手段３３０といった各処理部を含む。これらはいずれもＨＤＤ１０６から読み出されてＲＡＭ１０３に記憶され、ＣＰＵ１０１で実行されるソフトウェアである。フィードバック変換手段３１０による処理の結果は、サイド情報記憶部３２０としてＨＤＤ１０６上に記憶される。【００５１】
また図５は、図４に示したサイド情報記憶部３２０の構成をより詳しく示す説明図である。サイド情報記憶部３２０は、ペア記憶部３２１、グループ情報記憶部３２２、属性情報記憶部３２３といった３つの部分に分かれ、各々フィードバック変換手段３１０から出力されたペア情報、グループ情報、属性情報を記憶する。ここでいうサイド情報とは、これらの情報を総称した、計量学習に必要な入力データのことである。【００５２】
計量最適化部３００への入力は、ユーザからのユーザフィードバック１１０と、分析対象データ記憶部１２１に記憶された分析対象データ１２０である。または、以前の計量学習の結果から逐次的に学習を進めることもできる。その場合、計量学習手段３３０は図２に示した計量記憶部１１１から以前の計量を読み込んで、それを初期値として計量学習に反映する。【００５３】
ユーザの操作によって与えられるユーザフィードバック１１０は、フィードバック変換手段３１０によって前述のサイド情報に変換され、サイド情報記憶部３２０に保存される。例えば、クラスタ分析の際に、ユーザは、あるクラスタはいらないというフィードバックを返す。そのフィードバックは数学的な解釈が一意ではなく、例えば、そのクラスタの中に入っているデータを除去する、または分散を大きくする、またはクラスタの特徴となる属性の重要度を下げる、などの解釈ができ、それはデータセットや問題に依存する。このように、フィードバック変換手段３１０は人間のアウトプットを具体的手段、または数学的表現に変換するものである。【００５４】
計量学習手段３３０は計量の最適化を行う。入力はフィードバックを数学的表現に変換されたデータ、つまりサイド情報記憶部３２０に保存されているサイド情報である。計量の最適化は、フィードバックを満たすように距離計量に含まれるパラメータを決定変数として最適化する。例えば、距離が前述の数２で与えられるなら、行列Ａを変えることによって距離がサイド情報を満たすようにする。【００５５】
サイド情報は様々な形態があるが、本発明では、ペア情報によって示されるデータペアの関係に加え、グループ情報によって示されるデータ集合（グループ）とデータ間の距離、および属性情報によって示されるデータ集合間の関連度（類似性）についての情報をサイド情報として利用する。【００５６】
最も基本的なサイド情報は、ペアのデータ点同士が近いか遠いかという情報である。これは、多くのデータに関して、同じクラスタに属するか属さないかというフィードバックを与えられたときに、サイド情報としてのペアの数がデータ数の２乗のオーダー個必要となり、最適化問題の規模が大きくなる。【００５７】
そのような場合、それらの点を一つの塊（グループ）として扱い、そのグループの半径が小さい、つまり、グループ中心から所属する各データ点への距離が小さいという条件を与える（グループ所属条件）。ここで、それらの点にはクラスタラベルが与えられていないので、グループとクラスタは必ずしも一致する概念ではないということに注意する。つまり、複数のグループは同じクラスタに属するかも知れない。グループ中心と半径という概念を導入することにより、データ点が今度はあるグループに属さないという条件を与えることができる。これをグループ非所属条件と呼ぶ。【００５８】
さらに、中心と半径により、グループ間の関係を与える。グループ間の近さ、遠さである。グループ間の近さは、グループ中心間の距離がその半径の和より、小さい、逆に、グループ間の遠さは、半径の和よりもグループ間の中心の距離が大きいという条件で表現される。また、属性の重要度と属性間の関係に関しても、条件をつけることができる。距離計量のパラメータ（例では行列Ａ）の初期値を与えてその値からあまり遠ざからないという条件をつけることも可能である。これは正則化にもなるし、繰り返し計算するときの初期条件として用いることもできる。【００５９】
この問題の定式化および実装は汎用の技術によって行うことができる。属性に構造がある場合には、それを利用して以下に示す方法で計量学習を行うことができる。【００６０】
まず、属性がフラットなクラスタ構造を持つ場合には、単純に、上記の属性単位の計量行列を属性クラスタ単位の行列に置き換えて、その行列に関して最適化を行う。【００６１】
属性に階層クラスタリングをかけた場合には、以下で述べる、階層つきの属性に対する計量行列の表現を用いて最適化を行う。この場合、上記の属性に関するユーザフィードバックはある階層レベルの属性クラスタに関するフィードバックとして扱うことができ、また、最適化するパラメータの数がもとの、属性ｘ属性に行列よりも少なくてすむため、計算上有利である。【００６２】
計量学習手段３３０のアウトプットとしては、行列Ａのほかに、グループ半径、グループ中心などがある。それらの情報は計量記憶部１１１に保存される。また、ユーザが複数回連続して全体の能動計量学習装置１００を使用する場合、該ユーザの使用履歴情報が計量記憶部１１１に保存される。【００６３】
計量最適化部３００による処理の結果として得られる計量行列Ａは、属性クラスタリング部５００によってクラスタリングされる。クラスタリングの方法は、単なる（階層構造のない）クラスタリングの場合は、既知の手法（例：非特許文献１に記載のInformation-theoretic Co-clustering、非特許文献２に記載のBregman Clustering、およびspectral clusteringなど）を使用できる。それらの方法を用いる場合は、以下のポイントに留意するとよい。【００６４】
もとの計量行列は対称行列であり、対称行列を分割するので、行方向をクラスタするステップがあると、列方向も同様にクラスタリングしなければならない。分かりやすい例としては、前述のInformation-theoretic Co-clusteringのアルゴリズムにおいて、このことを考慮しながらクラスタリングを行うことである。【００６５】
構造のある属性を距離計量の行列として使用するには、構造を入れた計量行列を構築しなければならない。もちろんその行列はもとの計量行列を近似したものでなければならない。属性構造に対応し、もとの計量行列を近似する計量行列は計量行列構造化部５０２で構築される。【００６６】
フラットな構造のある属性クラスタリングに関しては、構造をそのまま反映してもとの行列Ａをブロック化する。各ブロックの値はもとの行列に近づくように最適化する。
階層構造のあるクラスタリングに関しては、既知の階層クラスタリングを用いる。階層クラスタリングは様々なものがあるが、階層なしクラスタリングと同様、上記の２点に留意しなければならない。【００６７】
特に、アルゴリズムが与えられるが目的関数の不明なものについては、下式で示される最小化問題を解くことにより、計量の行列が得られる。ここで、ｄは一般化距離であり、２乗ノルムやダイバージェンスを一般に表したものである。γｉｃはレベルｃのｉ番目のクラスタの重要度を表し、Ｂｉｃはレベルｃのｉ番目のクラスタを表すブロック対角行列である。行列Ｈはもとの行列を近似したものである。下式の最適化問題を解くときに、Ｈは半正定値行列でなければならないという制約をつける。【００６８】
【数７】
0005477297.tif 000008
以上で得られたもともとの計量行列や、それを近似したものは計量可視化部１１２によって可視化され、計量マップ図１６０として描画される。【００６９】
ユーザは、この計量マップ図１６０として得られた属性の構造について、フィードバックを与えることができる。このフィードバックは、図２で記した計量最適化装置に対して入力されるユーザフィードバック１１０とは違って、属性クラスタリング部５００に対して入力されるので、図２では属性構造ユーザ属性構造ユーザフィードバック５０１として示している。そのフィードバックの種類は、ペア属性間が同じクラスタに属する、属さない、というものである。属性クラスタリング部５００はこの属性構造ユーザ属性構造ユーザフィードバック５０１を満たすように再クラスタリングを行う。【００７０】
計量可視化部１１２は計量パラメータＡをディスプレイ上に表示する手段である。もとの計量行列Ａは対角成分が属性の重要性を表し、非対角成分は属性間の類似度を表すと理解できる。この情報をディスプレイ上に可視化する。属性の非階層的クラスタリングをかけたものについては、クラスタ間の計量行列Ａｃを可視化し、階層クラスタリングをかけたものについては、近似行列Ｈを可視化する。【００７１】
出力の計量マップ図は以上のいずれかの行列を低次元空間に図示したもので属性の重要性や関連性が直感的にわかるものである。この図を直接編集することによってもフィードバックをシステムに返すことができる。【００７２】
可視化の方法の一例を説明する。まず、Ａの非対角成分を用いて、類似度の高い属性間にエッジを張り、グラフとして表現する。その後、多次元尺度構成法により各属性の低次元空間での座標を計算し、描画する。例えば、属性の重みを属性名（単語）の大きさに反映させる。【００７３】
ユーザは、このマップ図を見て直接フィードバックをシステムに与えられる。フィードバックは「属性（クラスタ）の重要度、属性（クラスタ）間の類似度に関するフィードバック」（ユーザフィードバック１１０）と「属性構造に関するフィードバック」（属性構造ユーザ属性構造ユーザフィードバック５０１）という２種類がある。また、階層構造のある属性クラスタに関しては、第１のフィードバックは各階層レベルの属性クラスタ単位で与えることができる。【００７４】
ユーザフィードバック１１０は、属性構造を固定してのフィードバックであり、次のラウンドで計量最適化学習のときに用いられる。また、属性構造ユーザ属性構造ユーザフィードバック５０１に関しては、属性構造を変化させるものであり、属性クラスタリング部５００にもどして、再度属性クラスタリングを行う。この作業はユーザがクラスタリングが行われた後の属性構造に納得するまで続けることができる。【００７５】
図６は、図２に示した能動学習部４００の構成をより詳しく示す説明図である。能動学習部４００は、能動学習手段４１０と、能動学習結果出力手段４３０といった各処理部を含む。これらはいずれもＨＤＤ１０６から読み出されてＲＡＭ１０３に記憶され、ＣＰＵ１０１で実行されるソフトウェアである。記憶部４２０は、これらの処理部によって行われる処理の途中のデータを記憶する、ＲＡＭ１０３の一部分である。フィードバック変換手段３１０から出力される処理の結果は、能動学習結果記憶部４４０としてＨＤＤ１０６上に記憶される。【００７６】
能動学習手段４１０は、属性にクラスタリングを施さない場合は汎用の技術に係る処理をそのまま実施する。属性にクラスタリングを施す場合、能動学習手段４１０は以下に第１〜第４の方法として示す方法のいずれか、またはそれらの中から複数の方法を組み合わせて実行する。【００７７】
第１の方法は、分析対象データ１２０またはそれに計量を適用したものを用いて、重要な属性クラスタを見つけるという方法である。属性クラスタの見つけ方は、公知の実験計画法を用いることもできる。また、属性クラスタ間の関連性からグラフを構成し、公知のページランク（登録商標）のような技術を用いて、ハブのような点を抽出する方法でもよい。属性クラスタに階層がある場合は、これらのような手法を各階層について行う。【００７８】
第２の方法は、分析結果記憶部２５０に記憶された分析結果と分析対象データ１２０に計量を適用したものを用いて、クラスやクラスタを分けるのに重要な属性クラスタを抽出するという方法である。適する重要度の指標は問題やデータによる。公知の方法としては、属性とラベルとの間の相互情報量または相関により属性をランク付けする方法がある。属性クラスタに階層がある場合は、各階層について行う。【００７９】
さらに第３の方法は、計量記憶部１１１ら得られる計量パラメータやその履歴と、分析対象データ１２０から得られる属性クラスタ間の相関から、次に入力されそうなユーザのフィードバックを予測するという方法である。例えば、ユーザがある属性クラスタに対して重要であるというフィードバックを返したときに、その属性クラスタと相関の高い属性クラスタをランク付けし、次のフィードバックの候補としてユーザに提示する。外部情報（関連データ、テキストの場合は公知のｗｏｒｄｎｅｔのような概念辞書など）を使って、分析対象データにないがデータ中の重要属性と強い関連性を持つ属性を取り入れる。同様に、不要となる属性、関連性の抽出を行う。属性クラスタに階層がある場合は、各階層について行う。【００８０】
そして第４の方法は、ユーザフィードバック１１０から得られる情報を用いて、フィードバック変換時の解釈を抽出するという方法である。例えば、クラスタが不要であるというフィードバックが入力されたなどのように、取り得るアクションが複数ある。この場合にユーザの意図を再確認する。また、フィードバックから自動的に抽出できる情報を計算して、ユーザに確認する。たとえば二つのクラスタを同一視する、というフィードバックが帰ってきたら、それを説明する属性クラスタを自動的に抽出して提示する。属性クラスタに階層がある場合は、これを各階層について行う。【００８１】
属性クラスタリングの際には上記第１、第３、および第４の方法を適用することが可能である。動作は上記第１〜第４の方法のいずれでもよいし、それらの方法の中から複数を組み合わせたものであってもよい。またその方法をユーザに選択させてもよいし、あらかじめ決められた方法としてもよい。【００８２】
図７は、図１および２に示した能動計量学習装置１００で行われる処理について示すフローチャートである。まずユーザが能動計量学習装置１００に対して分析対象データを入力すると（ステップＳ６０１）、能動計量学習装置１００はそれらのデータに対して能動学習を行い（ステップＳ６０２）、重要な点や属性を抽出する。次にユーザはそれらのデータに対する属性構造ユーザフィードバック５０１を入力する（ステップＳ６０３）。ユーザが次のステップに進むか否かを選択し（ステップＳ６０４）、進まない場合、能動計量学習装置１００は入力された属性構造ユーザフィードバック５０１に対してステップＳ６０２に戻って能動学習を継続する。【００８３】
ステップＳ６０４で次のステップに進むことが選択された場合はステップＳ６０５以降に進み、能動計量学習装置１００はステップＳ６０３で入力された属性構造ユーザフィードバック５０１に対して計量最適化学習を行う（ステップＳ６０５）。さらに能動計量学習装置１００は、この計量最適化学習で最適化された計量の行列を用いて属性クラスタリングを行う（ステップＳ６０６）。属性クラスタリングは階層構造があるものでもいいし、ないものでもよい。【００８４】
次に、能動計量学習装置１００は、属性クラスタリングによって得られた属性構造に関する能動学習を行う（ステップＳ６０７）。この能動学習の工程は省略してもよい。能動学習の工程を実行する場合、能動計量学習装置１００は属性構造に関する質問をユーザに返し、その回答をユーザに入力させ（ステップＳ６０８）、またユーザに次のステップに進むか否かを選択させる（ステップＳ６０９）。【００８５】
ステップＳ６０９で、ユーザが次のステップに進まないことを選択した場合、能動計量学習装置１００は、ステップＳ６０７〜６０８の属性クラスタリングや能動学習で得られたデータを利用して、ステップＳ６０７に戻ってそれらのデータに対してさらに能動学習を行い、計量データを更に最適化する。【００８６】
ステップＳ６０９で、ユーザが次のステップに進むことを選択した場合、能動計量学習装置１００はここまでの処理で最適化された計量を用いてデータ分析を行い（ステップＳ６１０）、その分析結果をユーザに提示する（ステップＳ６１１）。ユーザは提示された分析結果を確認し、分析終了かまたは能動計量学習を続けるかの決定をする（ステップＳ６１２）。分析を継続する場合にはステップＳ６０２に戻り、データ分析の結果や計量学習の結果履歴などから能動学習を行い、分析を継続する。【００８７】
図８は、図１および２に示した能動計量学習装置１００によって行われる文書クラスタリング処理の例を示す説明図である。図８には、インターネット上のブログや掲示板などで、企業についてどのような話題が語られているかを、マーケッターが調査するという例を示している。まず、クローラーを利用して、各種ウェブサイト（主にブログや掲示板など）から多量の文章データを取得する。【００８８】
取得されたテキストデータに対して、Ｊｕｍａｎなどのような公知の形態素解析プログラムを用いて、単語を抽出し、１記事を１ベクトルに変換する。ここまでの処理が完了したデータを分析対象データ記憶部１２１に格納する。能動計量学習装置１００はそこからデータや属性に関する能動学習を行い、外れ値となるデータ、属性に関しての質問をユーザに対して行う。その結果が能動学習結果記憶部４４０に格納される。【００８９】
入力された結果に対応して、能動計量学習装置１００は該当するデータに対して２種類のアクションが可能である。一つは、重要でないデータおよび属性のうち、少なくとも一方を削減するというアクションである。そのような削減処理を行われた後の分析対象データ記憶部１２１に格納する。もう一つは、ユーザの回答をユーザフィードバック１１０として、計量最適化部３００を用いてユーザの回答を反映するように計量行列Ａを最適化するというアクションである。その最適化の結果は、計量記憶部１１１に格納される。【００９０】
最適化された計量行列Ａは、属性クラスタリング部５００でクラスタリングされる。図８（ａ）はデータから得られた階層クラスタリング(hierarchical-clustering)の結果の一部の例である。この図では、文書に含まれる膨大な単語数の中の一部のみを示している。ちなみにこれは前述の図９と同一のデータを例として示している。【００９１】
この例における分析のテーマは企業に関する調査であるので、「ｇｏｏｇｌｅ  ｎｅｗｓ」７０１ｃと「日経新聞」７０１ｄとは直接的な関係はないので、この両者が同一の粒度で類似した概念であるというのは明らかに不適切である。また、「ｇｍａｉｌ」７０２ｄが「ビッグローブｍａｉｌ」７０２ｃと類似しているのも違う企業であるため不適切である。同じように「ｇｏｏｇｌｅ」７０３ａと「ビッグローブ」７０３ｂが同じクラスタに属するというのも不適切である。【００９２】
能動学習を用いた場合は、分析に重要である単語について、例えば、「日記」７０１ｂと「ｇｏｏｇｌｅ  ｎｅｗｓ」７０１ｃは同じクラスタに属するか？または「ｇｏｏｇｌｅ」７０３ａと「ｇｏｏｇｌｅ  ｎｅｗｓ」７０１ｃは違うクラスタに属しているが、それでいいか？などのような質問をユーザに対して返す。能動学習を用いない場合は、ユーザが装置に提示された図を見ておかしい部分について、修正の属性構造ユーザフィードバック５０１を返す。【００９３】
ユーザは、たとえば「昨日」７０２ａ、「今日」７０１ａ、「日記」７０１ｂは同じクラスタに属するべきという属性構造ユーザフィードバック５０１を返す。また、「ＮＥＣ」７０２ｂ、「ビッグローブｍａｉｌ」７０２ｃ、「ビッグローブ」７０３ｂは同じクラスタに属し、かつその中で「ＮＥＣ」７０２ｂを最も粒度の粗い概念とするべきであるという属性構造ユーザフィードバック５０１なども返す。このように、ユーザは同じクラスタに属するべき単語と、そのクラスタにおける適切な粒度の設定（上位概念と下位概念の組み合わせ）を、属性構造ユーザフィードバック５０１として入力する。【００９４】
システム側でその属性構造ユーザフィードバック５０１を制限つきクラスタリングとして反映し、再クラスタリング結果をユーザに返す。図８（ｂ）は、ユーザが返したフィードバックが反映された再クラスタリング結果の例である。【００９５】
その再クラスタリング結果が反映された計量行列Ａを用いて、能動計量学習装置１００はデータ分析手段２２０を用いて公知の有限混合分布クラスタ分析を行う。その分析結果は、分析結果記憶部２５０に格納される。【００９６】
最初の分析に用いる計量行列Ａは、事前情報がない場合はすべての属性に対して重みが同じで類似度は０である、単位行列を用いる。事前情報がある場合や、以前の分析から開始したい場合などは任意の行列を計量の初期行列として用いる。計量パラメータは計量記憶部１１１に保存される。【００９７】
分析結果記憶部２５０に格納されているクラスタ分析の結果は、各文書がどのクラスタに属するかという情報であり、ここから逆に各クラスタに属する全ての文書ベクトルがわかる。それにより、クラスタ中心や、クラスタ半径（例えば、中心からの距離の平均または７５％点など）が計算できる。この計算は分析結果出力手段２３０で行われ、結果は分析結果記憶部２５０に格納される。【００９８】
結果表示図（クラスタマップ図）により、ユーザは結果を俯瞰し、詳細を調べることが可能となる。結果表示図は、各クラスタの大きさ（属するデータの数）とクラスタ半径、各クラスタを特徴付ける特徴属性（特徴語）や特徴語を持つ文書の数、特徴語がそのクラスタに出現する割合などの簡単な統計量などが表示される。さらに、クラスタ間の距離を反映した配置やクラスタ類似度を示すリンク表示もなされる。【００９９】
ユーザフィードバックはこのクラスタマップ図に、能動学習からヒントを得ながら、マウス操作によってクラスタ必要・不要、クラスタ分割・結合、クラスタ間リンク接続、切断といった各項目のフィードバックを入力する。【０１００】
これらのフィードバックはフィードバック変換手段３１０により、サイド情報に変換され、サイド情報記憶部３２０に保存される。計量学習手段３３０は、それらのサイド情報を用いて計量パラメータを最適化し、求めた計量パラメータ（行列Ａ）を計量記憶部１１１に格納する。学習した行列Ａは、計量可視化部１１２によって、ディスプレイ上に計量マップ図１６０として出力される。【０１０１】
ユーザはこの計量マップ図１６０を見て単語や単語間類似度の重要度、そして単語クラスタの重要度、単語クラスタ間の類似度について属性構造ユーザフィードバック５０１をシステムに返すことができる。また、新規に単語を登録して、その語と他の語の類似度を与えるなどのこともできる。【０１０２】
能動学習は、重要なデータや属性に関してユーザに質問するほか、フィードバック手順の調整、最適化などについてもユーザに照会する。つまり、ユーザに対して、最適化されたフィードバックの種類の順序を（例えば最初は不要クラスタを選び、次に必要クラスタを選び、クラスタ間リンクに関するフィードバックを与えるなどの手順）ヒントとして与え、全体の分析ループ回数、分析時間を短縮することを可能にする。【０１０３】
得られた計量を適用して、計量適用データ分析を行い、フィードバックから得られた計量がデータ分析にユーザの意図通りに反映さえているかどうか、確認する。ユーザはこの結果を改善するために、新たなフィードバックを入れて能動計量学習を再度実施することができる。得られた結果が満足できるものなら、その時点で終了する。【０１０４】
（全体的な動作）
次に、上記の実施形態の全体的な動作について説明する。本実施形態に係る動作は、分析対象データ間の距離について計算および分析を行う計量適用データ分析部２００と、分析対象データ間の相関および属性を最適化する計量最適化部３００と、分析対象データをクラスタリングする属性クラスタリング部５００とからなる能動計量学習装置１００にあって、複数の属性を有する分析対象データをクラスタリングする能動計量学習方法であって、計量適用データ分析部２００が、分析対象データと該データ間の距離を表すマハラノビス計量行列を入力としてデータ間の距離を計算し、計量適用データ分析部２００が、データ間の距離計量を用いて所定の関数によりデータを分析しデータ分析結果を出力すると共にデータ分析結果を保存し、計量最適化部３００が、データ間の相関および属性のいずれかまたは組み合わせからなるフィードバック指示を入力してサイド情報を生成し、計量最適化部３００が、生成されたサイド情報から所定の条件に基づいて最適化された計量行列を生成し、属性クラスタリング部５００が、最適化された計量行列をクラスタリングして属性を構造化する。【０１０５】
ここで、上記各動作ステップについては、これをコンピュータで実行可能にプログラム化し、これらを前記各ステップを直接実行するコンピュータである能動計量学習装置１００に実行させるようにしてもよい。
この動作により、本実施形態は以下のような効果を奏する。【０１０６】
第１の効果は、学習された計量が人間にとって解釈しやすくなることである。その理由は、計量学習で最適化される属性が構造をもち多量のデータを解釈するのは大変だからである。構造は分類や階層構造をもつ分類などを含む。構造や粒度を調整することにより、可読度合いを変更できる。【０１０７】
第２の効果は、属性の階層構造生成が計量学習との組み合わせで行われるため、汎用の属性クラスタリングよりもユーザの意図を反映した構造を構築しやすいことである。【０１０８】
第３の効果は、計算時間の短縮化やフィードバック作成などの作業も効率化できることである。なぜなら、属性構造を適用したデータ分析が属性の粒度に依存するため、データ分析の粒度もその属性の粒度に合わせたものになるからである。また、能動学習も属性の構造を使うことができるので、構造のない大量の属性を扱わなければならない場合よりも高速にできる。半自動的に、ユーザにカスタマイズされたオントロジーが構築可能である。【０１０９】
これまで本発明について図面に示した特定の実施形態をもって説明してきたが、本発明は図面に示した実施形態に限定されるものではなく、本発明の効果を奏する限り、これまで知られたいかなる構成であっても採用することができる。【０１１０】
この出願は２００８年１１月２６日に出願された日本出願特願２００８−３０１０４４を基礎とする優先権を主張し、その開示の全てをここに取り込む。
【産業上の利用可能性】
【０１１１】
検索エンジンなどで大量のテキストデータを処理するなどの目的で使われる能動計量学習装置に適用できる。
【符号の説明】
【０１１２】
１００  能動計量学習装置
１０１  ＣＰＵ
１０２  ＲＯＭ
１０３  ＲＡＭ
１０４  バス
１０５  入出力インタフェース
１０６  ＨＤＤ
１１０  ユーザフィードバック
１１１  計量記憶部
１１２  計量可視化部
１２０  分析対象データ
１２１  分析対象データ記憶部
１３０  データ分析結果
１４０  分析結果マップ図
１５０  計量学習結果
１６０  計量マップ図
２００  計量適用データ分析部
２１０  計量適用手段
２２０  データ分析手段
２３０  分析結果出力手段
２４０  記憶部
２５０  分析結果記憶部
３００  計量最適化部
３１０  フィードバック変換手段
３２０  サイド情報記憶部
３２１  ペア記憶部
３２２  グループ情報記憶部
３２３  属性情報記憶部
３３０  計量学習手段
４００  能動学習部
４１０  能動学習手段
４２０  記憶部
４３０  能動学習結果出力手段
４４０  能動学習結果記憶部
５００  属性クラスタリング部
５０１  属性構造ユーザフィードバック
５０２  計量行列構造化部
５１１  属性構造フィードバック支援能動学習部
【図１】
0005477297.tif 000009
【図２】
0005477297.tif 000010
【図３】
0005477297.tif 000011
【図４】
0005477297.tif 000012
【図５】
0005477297.tif 000013
【図６】
0005477297.tif 000014
【図７】
0005477297.tif 000015
【図８】
0005477297.tif 000016
【図９】
0005477297.tif 000017