(57)【特許請求の範囲】
【請求項１】
取得データを逐次クラスタリングするクラスタリング装置であって、
既にクラスタリングされたデータと、前記データが属するクラスタと、前記データが取得された取得順とを対応付けて記憶するデータ記憶部と、
前記クラスタと、前記クラスタに属する前記データの特徴量を代表する代表値とを対応付けて記憶する代表値記憶部と、
クラスタリングの対象となる新データを取得するデータ取得部と、
前記データ取得部が取得した前記新データの前記特徴量と前記代表値記憶部に記憶されている前記代表値の間のデータ距離を算出するデータ距離算出部と、
前記データ距離に基づいて、前記新データが属するクラスタを決定するクラスタ決定部と、
前記新データの前記特徴量を少なくとも用いて、前記新データに対して決定された前記クラスタの前記代表値を算出する代表値算出部と、
前記新データと、前記新データに対して決定された前記クラスタとを対応付けて、前記データ記憶部に書き込み、前記新データに対して決定された前記クラスタに対応付けて、前記代表値算出部で算出された、前記新データに対して決定された前記クラスタの前記代表値を、前記代表値記憶部に書き込むデータ更新部と、
前記データ取得部が前記新データを取得した場合に、前記新データと前記データ記憶部に記憶されている前記データとを合わせたデータ総数と、予め設定されたデータ数閾値とを比較し、前記データ総数が前記データ数閾値よりも大きい場合に、前記データ記憶部に記憶されている前記データのうち取得順の最も早い前記データを削除する削除部と
を備え、
前記代表値算出部は、さらに、前記削除部による削除後に前記データ記憶部に記憶されている前記データの前記特徴量に基づいて、削除された前記データが属していた前記クラスタの前記代表値を算出し、
前記データ更新部は、さらに、前記代表値記憶部に記憶されている、削除された前記データが属していた前記クラスタの前記代表値を、前記代表値算出部で算出された、削除された前記データが属していた前記クラスタの前記代表値に更新することを特徴とするクラスタリング装置。
【請求項２】
前記クラスタ決定部は、さらに、前記データ距離算出部により算出された前記データ距離と、距離閾値とを比較し、前記データ距離が前記距離閾値よりも大きい場合に、前記データ記憶部に記憶されているクラスタ以外の新たなクラスタを、前記新データが属するクラスタとして決定し、
前記代表値算出部は、さらに、前記新データの前記特徴量に基づいて、前記新たなクラスタの前記代表値を算出することを特徴とする請求項１に記載のクラスタリング装置。
【請求項３】
前記クラスタ決定部は、さらに、前記データ距離算出部により算出された前記データ距離と、距離閾値とを比較し、前記データ距離が前記距離閾値以下である場合に、前記距離閾値以下の前記データ距離が算出された前記代表値に対する前記クラスタを前記新データの属するクラスタとして決定し、
前記代表値算出部は、さらに、前記データ記憶部を参照し、前記新データに対して決定された前記クラスタに属する前記データの前記特徴量及び前記新データの前記特徴量に基づいて、前記新データが属するクラスタの前記代表値を算出し、
前記データ更新部は、さらに、前記代表値記憶部に記憶されている、前記新データに対して決定された前記クラスタの前記代表値を、前記代表値算出部により算出された、前記新データに対して決定された前記クラスタの前記代表値に更新することを特徴とする請求項１または２に記載のクラスタリング装置。
【請求項４】
前記代表値は、前記クラスタに属する前記データの前記特徴量の重心位置であることを特徴とする請求項１から３のいずれか一項に記載のクラスタリング装置。
【請求項５】
取得データを逐次クラスタリングするクラスタリング装置で実行されるクラスタリング方法であって、
前記クラスタリング装置は、既にクラスタリングされたデータと、前記データが属するクラスタと、前記データが取得された取得順とを対応付けて記憶するデータ記憶部と、
前記クラスタと、前記クラスタに属する前記データの特徴量を代表する代表値とを対応付けて記憶する代表値記憶部と
を備え、
クラスタリングの対象となる新データを取得するデータ取得工程と、
前記データ取得工程において取得した前記新データの前記特徴量と前記代表値記憶部に記憶されている前記代表値の間のデータ距離を算出するデータ距離算出工程と、
前記データ距離に基づいて、前記新データが属するクラスタを決定するクラスタ決定工程と、
前記新データの前記特徴量を少なくとも用いて、前記新データに対して決定された前記クラスタの前記代表値を算出する代表値算出工程と、
前記新データと、前記新データに対して決定された前記クラスタとを対応付けて、前記データ記憶部に書き込み、前記新データに対して決定された前記クラスタに対応付けて、前記代表値算出工程で算出された、前記新データに対して決定された前記クラスタの前記代表値を、前記代表値記憶部に書き込むデータ更新工程と、
前記データ取得工程で前記新データを取得した場合に、前記新データと前記データ記憶部に記憶されている前記データとを合わせたデータ総数と、予め設定されたデータ数閾値とを比較し、前記データ総数が前記データ数閾値よりも大きい場合に、前記データ記憶部に記憶されている前記データのうち取得順の最も早い前記データを削除する削除工程と
を含み、
前記代表値算出工程では、さらに、前記削除工程による削除後に前記データ記憶部に記憶されている前記データの前記特徴量に基づいて、削除された前記データが属していた前記クラスタの前記代表値を算出し、
前記データ更新工程では、さらに、前記代表値記憶部に記憶されている、削除された前記データが属していた前記クラスタの前記代表値を、前記代表値算出工程で算出された、削除された前記データが属していた前記クラスタの前記代表値に更新することを特徴とするクラスタリング方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、クラスタリング装置およびクラスタリング方法に関する。
【背景技術】
【０００２】
従来、クラスタリングの対象となるデータを外的基準を設定することなく、自動的にクラスタリングする手法が知られている。クラスタリングの手法は、樹形図によって表現されるような階層的手法と、クラスタの妥当性を基準とする非階層的手法とに大別される（例えば、非特許文献１参照）。いずれの手法も、クラスタリングの対象となるデータをクラスタリングの前に準備し、類似したデータをグループ化するものである。
【０００３】
また、特許文献１には、過去のクラスタリング結果と、これに付随する確率パラメータを用いて、記述長最小の基準に基づいて、新しくデータを追加する度にクラスタリングを行う技術が開示されている。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特許第３２４３６９３号公報
【非特許文献】
【０００５】
【非特許文献１】奥野忠一、久米均、芳賀敏郎、吉澤正著  「多変量解析法」  日科技連出版社  ｐ．１２４−１５７
【発明の概要】
【発明が解決しようとする課題】
【０００６】
特許文献１の技術においては、新しくデータを追加する度にクラスタリングを行うことができるので、クラスタリング前にクラスタリングの対象となるデータをすべて準備する必要がない。しかしながら、特許文献１の技術では、過去にクラスタリングを行ったすべてのデータを見直す必要がないものの、データを追加する毎にクラスタの統合を可能な限り繰り返す必要があり、演算量が多いという問題があった。
【０００７】
本発明は、上記に鑑みてなされたものであって、少ない演算量で、データが追加される度に逐次クラスタリングを行うことのできるクラスタリング装置およびクラスタリング方法を提供することを目的とする。
【課題を解決するための手段】
【０００８】
上述した課題を解決し、目的を達成するために、本発明は、取得データを逐次クラスタリングするクラスタリング装置であって、既にクラスタリングされたデータと、前記データが属するクラスタと、前記データが取得された取得順とを対応付けて記憶するデータ記憶部と、前記クラスタと、前記クラスタに属する前記データの特徴量を代表する代表値とを対応付けて記憶する代表値記憶部と、クラスタリングの対象となる新データを取得するデータ取得部と、前記データ取得部が取得した前記新データの前記特徴量と前記代表値記憶部に記憶されている前記代表値の間のデータ距離を算出するデータ距離算出部と、前記データ距離に基づいて、前記新データが属するクラスタを決定するクラスタ決定部と、前記新データの前記特徴量を少なくとも用いて、前記新データに対して決定された前記クラスタの前記代表値を算出する代表値算出部と、前記新データと、前記新データに対して決定された前記クラスタとを対応付けて、前記データ記憶部に書き込み、前記新データに対して決定された前記クラスタに対応付けて、前記代表値算出部で算出された、前記新データに対して決定された前記クラスタの前記代表値を、前記代表値記憶部に書き込むデータ更新部と、前記データ取得部が前記新データを取得した場合に、前記新データと前記データ記憶部に記憶されている前記データとを合わせたデータ総数と、予め設定されたデータ数閾値とを比較し、前記データ総数が前記データ数閾値よりも大きい場合に、前記データ記憶部に記憶されている前記データのうち取得順の最も早い前記データを削除する削除部とを備え、前記代表値算出部は、さらに、前記削除部による削除後に前記データ記憶部に記憶されている前記データの前記特徴量に基づいて、削除された前記データが属していた前記クラスタの前記代表値を算出し、前記データ更新部は、さらに、前記代表値記憶部に記憶されている、削除された前記データが属していた前記クラスタの前記代表値を、前記代表値算出部で算出された、削除された前記データが属していた前記クラスタの前記代表値に更新することを特徴とする。
【０００９】
また、本発明は、取得データを逐次クラスタリングするクラスタリング装置で実行されるクラスタリング方法であって、前記クラスタリング装置は、既にクラスタリングされたデータと、前記データが属するクラスタと、前記データが取得された取得順とを対応付けて記憶するデータ記憶部と、前記クラスタと、前記クラスタに属する前記データの特徴量を代表する代表値とを対応付けて記憶する代表値記憶部とを備え、クラスタリングの対象となる新データを取得するデータ取得工程と、前記データ取得工程において取得した前記新データの前記特徴量と前記代表値記憶部に記憶されている前記代表値の間のデータ距離を算出するデータ距離算出工程と、前記データ距離に基づいて、前記新データが属するクラスタを決定するクラスタ決定工程と、前記新データの前記特徴量を少なくとも用いて、前記新データに対して決定された前記クラスタの前記代表値を算出する代表値算出工程と、前記新データと、前記新データに対して決定された前記クラスタとを対応付けて、前記データ記憶部に書き込み、前記新データに対して決定された前記クラスタに対応付けて、前記代表値算出工程で算出された、前記新データに対して決定された前記クラスタの前記代表値を、前記代表値記憶部に書き込むデータ更新工程と、前記データ取得工程で前記新データを取得した場合に、前記新データと前記データ記憶部に記憶されている前記データとを合わせたデータ総数と、予め設定されたデータ数閾値とを比較し、前記データ総数が前記データ数閾値よりも大きい場合に、前記データ記憶部に記憶されている前記データのうち取得順の最も早い前記データを削除する削除工程とを含み、前記代表値算出工程では、さらに、前記削除工程による削除後に前記データ記憶部に記憶されている前記データの前記特徴量に基づいて、削除された前記データが属していた前記クラスタの前記代表値を算出し、前記データ更新工程では、さらに、前記代表値記憶部に記憶されている、削除された前記データが属していた前記クラスタの前記代表値を、前記代表値算出工程で算出された、削除された前記データが属していた前記クラスタの前記代表値に更新することを特徴とする。
【発明の効果】
【００１０】
本発明によれば、少ない演算量で、データが追加される度に逐次クラスタリングを行うことができるという効果を奏する。
【図面の簡単な説明】
【００１１】
【図１】図１は、実施の形態にかかるクラスタリング装置の構成を示すブロック図である。
【図２】図２は、セントロイドを説明するための図である。
【図３】図３は、データ記憶部のデータ構成を模式的に示す図である。
【図４】図４は、セントロイド記憶部のデータ構成を模式的に示す図である。
【図５】図５は、クラスタリング装置によるクラスタリング処理を示すフローチャートである。
【図６】図６は、クラスタの生成過程を示す図である。
【図７】図７は、音データを取得するのに伴い、古いデータを削除する過程を示す図である。
【図８−１】図８−１は、実施例１にかかるクラスタリング装置によるデータ範囲内のランダムデータに対するクラスタリング結果を示す図である。
【図８−２】図８−２は、比較例１にかかる群平均化法のクラスタリング結果を示す図である。
【図９−１】図９−１は、実施例２にかかるクラスタリング装置によるクラスタリング結果を示す図である。
【図９−２】図９−２は、比較例２にかかる群平均化法のクラスタリング結果を示す図である。
【図１０】図１０は、実施例３において入力されるデータのデータ範囲を示す図である。
【図１１】図１１は、実施例３において入力されるデータの入力順と、クラスタ遷移を示す図である。
【図１２−１】図１２−１は、距離閾値（Ｄｐ）７０に設定された場合のクラスタリング結果を示す図である。
【図１２−２】図１２−２は、距離閾値（Ｄｐ）８０に設定された場合のクラスタリング結果を示す図である。
【図１３−１】図１３−１は、距離閾値（Ｄｐ）７０に設定された場合のクラスタリング結果を示す図である。
【図１３−２】図１３−２は、距離閾値（Ｄｐ）８０に設定された場合のクラスタリング結果を示す図である。
【図１４−１】図１４−１は、距離閾値（Ｄｐ）７０に設定された場合のクラスタリング結果を示す図である。
【図１４−２】図１４−２は、距離閾値（Ｄｐ）８０に設定された場合のクラスタリング結果を示す図である。
【図１５−１】図１５−１は、距離閾値（Ｄｐ）７０に設定された場合のクラスタリング結果を示す図である。
【図１５−２】図１５−２は、距離閾値（Ｄｐ）８０に設定された場合のクラスタリング結果を示す図である。
【図１６−１】図１６−１は、距離閾値（Ｄｐ）７０に設定された場合のクラスタリング結果を示す図である。
【図１６−２】図１６−２は、距離閾値（Ｄｐ）８０に設定された場合のクラスタリング結果を示す図である。
【図１７−１】図１７−１は、距離閾値（Ｄｐ）７０に設定された場合のクラスタリング結果を示す図である。
【図１７−２】図１７−２は、距離閾値（Ｄｐ）８０に設定された場合のクラスタリング結果を示す図である。
【発明を実施するための形態】
【００１２】
以下に添付図面を参照して、クラスタリング装置およびクラスタリング方法の実施の形態を詳細に説明する。
【００１３】
図１は、実施の形態にかかるクラスタリング装置１の構成を示すブロック図である。クラスタリング装置１は、データを取得する度にデータのクラスタリングを逐次行っていく。クラスタリング装置１は、データ取得部１０と、特徴パラメータ算出部２０と、逐次クラスタリング部３０と、データ記憶部４０と、セントロイド記憶部５０と、データ更新部６０とを備えている。
【００１４】
データ取得部１０は、クラスタリングの対象となるデータを取得する。特徴パラメータ算出部２０は、データ取得部１０が取得したデータの特徴量としての特徴パラメータを算出する。なお、本実施の形態のクラスタリング装置１は、クラスタリングの対象データとして音データを取得し、特徴パラメータとして、ＬＰＣケプストラム係数を算出することとする。ただし、クラスタリングの対象データの種類および特徴パラメータの種類は実施の形態に限定されるものではない。
【００１５】
データ取得部１０は、例えば、１６ｋＨｚ、１６ｂｉｔで量子化された音響信号（以下、音データと称する）をクラスタリングの対象データとして取得する。また、特徴パラメータ算出部２０は、例えば、分析フレーム長６４ｍｓｅｃ（１０２４ｐ）、分析フレーム間隔１６ｍｓｅｃ（２５６ｐ）で１６次のＬＰＣケプストラム係数を算出することにより、音の周波数構造を表す１６次元の特徴パラメータを算出する。
【００１６】
なお他の例としては、クラスタリングの対象となる対象データとともに特徴パラメータを外部から取得してもよい。この場合には、クラスタリング装置１は、特徴パラメータ算出部２０を備えなくともよい。
【００１７】
逐次クラスタリング部３０は、特徴パラメータ算出部２０により算出された特徴パラメータに基づいて、データ取得部１０がデータを取得する度に、データのクラスタリングを逐次行う。
【００１８】
データ記憶部４０は、逐次クラスタリング部３０によりクラスタリングされた音データを記憶している。セントロイド記憶部５０は、逐次クラスタリング部３０により生成されたクラスタのセントロイドの値を記憶している。ここで、セントロイドとは、各クラスタに属する音データの特徴パラメータの重心である。本実施の形態においては、クラスタの特徴を示す代表値としてセントロイドを用いるが、代表値は、クラスタの特徴を示すような値であればよく、例えば、クラスタに属する音データの平均値などセントロイド以外の値を用いてもよい。
【００１９】
図２は、セントロイドを説明するための図である。なお、本実施の形態においては、説明の便宜上、音データの特徴パラメータがｘ，ｙ座標上の値を有する二次元データである場合を例に説明する。図２に示すように、クラスタＡに属するデータａ１〜ａ５の特徴パラメータのｘｙ平面上の位置の重心位置がクラスタＡのセントロイドである。
【００２０】
図１に戻り、データ更新部６０は、データ取得部１０が新たな音データを取得すると、新たな音データに基づいて、データ記憶部４０およびセントロイド記憶部５０のデータを更新する。なお、本実施の形態のクラスタリング装置１においては、データ取得部１０は、クラスタリングの対象となる音データを逐次取得し、データ更新部６０は、データ記憶部４０に記憶されている音データの数が予め設定された閾値を越えた場合には、最も古い音データを削除し、これに替えて新たな音データをデータ記憶部４０に書き込む。すなわち、データ更新部６０は、音データを削除する削除部としても機能する。
【００２１】
図３は、データ記憶部４０のデータ構成を模式的に示す図である。図３に示すように、データ記憶部４０は、データ取得部１０が音データを取得した取得順と、音データを識別するデータＩＤと、音データと、音データに対し特徴パラメータ算出部２０により算出された特徴パラメータと、音データが属するクラスタを識別するクラスタＩＤとを対応付けて記憶している。なお、取得順は、データを取得する度に付与される連続番号などであってもよく、また他の例としては、取得時刻であってもよい。
【００２２】
図４は、セントロイド記憶部５０のデータ構成を模式的に示す図である。図４に示すように、セントロイド記憶部５０は、逐次クラスタリング部３０により生成されたクラスタのクラスタＩＤと、クラスタのセントロイドとを対応付けて記憶している。
【００２３】
図１に戻り、逐次クラスタリング部３０は、データ距離算出部３１と、クラスタ決定部３２と、セントロイド算出部３３とを有している。データ距離算出部３１は、データ距離を算出する。ここで、データ距離とは、データ取得部１０が新たに取得した音データ（新データ）の特徴パラメータと、既に逐次クラスタリング部３０により生成されたクラスタのセントロイドとの距離である。データ距離算出部３１は、特徴パラメータ算出部２０により算出された特徴パラメータと、セントロイド記憶部５０に記憶されているクラスタのセントロイドに基づいて、データ距離を算出する。なお、セントロイド記憶部５０に複数のクラスタのセントロイドが記憶されている場合には、データ距離算出部３１は、すべてのセントロイドとのデータ距離を算出する。
【００２４】
クラスタ決定部３２は、データ距離算出部３１により算出されたデータ距離と、予め設定された距離閾値とを比較する。そして、クラスタ決定部３２は、所定のクラスタとのデータ距離が距離閾値以下の場合には、距離閾値以下のデータ距離が算出されたクラスタを新データが属するクラスタに決定する。クラスタ決定部３２はまた、データ距離が距離閾値よりも大きい場合には、新データの属するクラスタとして新たなクラスタを生成し、これを新データが属するクラスタに決定する。
【００２５】
なお、距離閾値は、クラスタリング装置１に予め設定しておく。なお、距離閾値の値は任意であるが、距離閾値を大きく設定することにより、生成されるクラスタの数を少なくすることができ、特徴量の異なるデータを同一クラスタに所属させることができる。一方で、距離閾値を小さく設定することにおり、比較的多くのクラスタを生成することができ、特徴量が比較的類似するデータのみを同一クラスタに所属させることができる。
【００２６】
セントロイド算出部３３は、クラスタ決定部３２により決定された新データのクラスタのセントロイドを算出する。セントロイド算出部３３はまた、データ更新部６０により所定の音データがデータ記憶部４０から削除された場合には、削除された音データが属していたクラスタのセントロイドを算出する。すなわち、セントロイド算出部３３は、音データの削除後に、削除された音データのクラスタに属する、残りの音データの特徴パラメータに基づいて、削除された音データが属していたクラスタのセントロイドを算出する。
【００２７】
なお、クラスタ決定部３２により新データが属するクラスタが決定されると、データ更新部６０は、新データと、新データのデータＩＤと、新データの特徴パラメータと、新データに対して決定されたクラスタのクラスタＩＤとをデータ記憶部４０に書き込む。また、セントロイド算出部３３によりセントロイドが算出されると、データ更新部６０は、セントロイド算出部３３により算出されたセントロイドをクラスタＩＤに対応付けてセントロイド記憶部５０に書き込む。
【００２８】
図５は、クラスタリング装置１によるクラスタリング処理を示すフローチャートである。クラスタリング処理は、クラスタリング装置１のデータ取得部１０が音データを取得する度に実行される。クラスタリング処理においては、まずデータ取得部１０が音データを取得すると（ステップＳ１００）、特徴パラメータ算出部２０は、音データの特徴パラメータを算出する（ステップＳ１０１）。次に、データ更新部６０は、データ記憶部４０を参照し、データ記憶部４０にデータが記憶されているか否かを確認する。
【００２９】
データ記憶部４０に音データが記憶されておらず、まだクラスタが生成されていない場合には（ステップＳ１０２，Ｎｏ）、データ更新部６０は、自身が有するデータ配列Ｘ［ｊ］のアドレス［ｊ＝０］にステップＳ１０１において算出された新データの特徴パラメータを格納する（ステップＳ１０３）。データ更新部６０は、さらにデータ記憶部４０に新たなデータ、新たなデータの取得順、データＩＤ、特徴パラメータを書き込む。
【００３０】
次に、逐次クラスタリング部３０のクラスタ決定部３２は、新データが属するクラスタ（新クラスタ）を新たに生成する（ステップＳ１０４）。これに対応し、データ記憶部４０においては、データ更新部６０により、新データに対応付けて、新クラスタのクラスタＩＤが書き込まれる。
【００３１】
次に、セントロイド算出部３３は、新クラスタのセントロイドを算出する（ステップＳ１０５）。なお、ステップＳ１０４において生成された新クラスタに属するデータは新データのみであるので、ステップＳ１０５では、新データの特徴パラメータがクラスタのセントロイドとして算出される。
【００３２】
算出されたセントロイドは、データ更新部６０により、新クラスタのクラスタＩＤに対応付けてセントロイド記憶部５０に書き込まれ、以上で、最初の音データを取得した場合のクラスタリング処理が終了する。
【００３３】
一方、ステップＳ１０２において、既にデータ記憶部４０に音データが記憶されており、クラスタ生成済みである場合には（ステップＳ１０２，Ｙｅｓ）、データ更新部６０は、データ配列Ｘ［ｊ］のアドレス［ｊ］を１だけ進める（ステップＳ１１０）。ここで、アドレス［ｊ］がデータ配列Ｘ［ｊ］の最終アドレスよりも大きい場合には（ステップＳ１１１，Ｙｅｓ）、データ更新部６０は、データ配列Ｘ［ｊ］のアドレスを［０］に戻す（ステップＳ１１２）。なお、ステップＳ１１１において、アドレス［ｊ］がデータ配列Ｘ［ｊ］の最終アドレス以下である場合には（ステップＳ１１１，Ｎｏ）、ステップＳ１１３へ進む。
【００３４】
次に、セントロイド算出部３３は、データ配列Ｘ［ｊ］の各アドレスに格納されている特徴パラメータのうち、アドレス［ｊ］に格納されている特徴パラメータ以外の特徴パラメータに基づいて、アドレス［ｊ］の特徴パラメータが属するクラスタのセントロイドを算出し、データ更新部６０は、算出結果に基づいて、セントロイド記憶部５０のセントロイドを更新する（ステップＳ１１３）。
【００３５】
なお、ここでは、アドレス［ｊ］に格納されている特徴パラメータが除外されるので、アドレス［ｊ］の特徴パラメータが属するクラスタのセントロイドの値が、前回算出されたセントロイドの値と異なる可能性があるが、これ以外のクラスタのセントロイドの値に変更はない。そこで、ステップＳ１１３においては、アドレス［ｊ］の特徴パラメータが属するクラスタのセントロイドの算出、更新を行えばよい。
【００３６】
次に、データ距離算出部３１は、新データと既に生成済みのすべてのクラスタのセントロイドとの間のデータ距離をそれぞれ算出する（ステップＳ１１４）。新データの特徴パラメータｘｋ（ｋ＝０，１，２…Ｋ）とクラスタ［i］（ｉ＝０，１，２…Ｉ）のセントロイドＣｉ，ｋの間のデータ距離ｄｉは、（式１）により算出される。ここで、ｋは、特徴パラメータの次元であり、Ｉは、生成済みのクラスタの数である。なお、本実施の形態においては、特徴パラメータは２次元である。
【数１】
0005912667.tif 000002
【００３７】
次に、クラスタ決定部３２は、複数のクラスタが存在する場合には、複数のクラスタそれぞれに対して算出された新データのデータ距離の最小値と、予め設定された距離閾値（Ｄｐ）とを比較する。なお、１つのクラスタのみ存在する場合には、算出されたデータ距離と距離閾値（Ｄｐ）とを比較する。データ距離の最小値が距離閾値（Ｄｐ）以下である場合には（ステップＳ１１５，Ｙｅｓ）、クラスタ決定部３２は、データ距離の最小値が得られたクラスタを新データが属するクラスタに決定する（ステップＳ１１６）。
【００３８】
次に、セントロイド算出部３３は、新データのクラスタのセントロイドを算出し、データ更新部６０は、算出結果に基づいて、セントロイド記憶部５０のセントロイドを更新する（ステップＳ１１７）。具体的には、セントロイド算出部３３は、新データと、新データが属するクラスタに属する音データの特徴パラメータに基づいて、新データが属するクラスタのセントロイドを算出する。そして、データ更新部６０は、新データが属するクラスタのクラスタＩＤに対応付けられているセントロイドの値を、セントロイド算出部３３により算出されたセントロイドの値、すなわち新データを追加後のクラスタのセントロイドの値に更新する。
【００３９】
次に、データ更新部６０は、アドレス［ｊ］に新データの特徴パラメータを格納し、新データ、新データの取得順、データＩＤ、特徴パラメータ、クラスタＩＤをデータ記憶部４０に書き込む（ステップＳ１１８）。以上で、処理が終了する。
【００４０】
なお、ステップＳ１１５において、データ距離の最小値が距離閾値（Ｄｐ）よりも大きい場合には（ステップＳ１１５，Ｎｏ）、新データは既に生成済みのいずれのクラスタにも属さないと判断し、ステップＳ１０４に進み、新データのみを所属データとする新クラスタを生成する。
【００４１】
以上のように、本実施の形態にかかるクラスタリング装置１は、新データが追加された場合には、新データの特徴パラメータと既に生成されているクラスタのセントロイドのみに基づいて、クラスタを更新する。すなわち、本実施の形態にかかるクラスタリング装置１は、少ない演算量で逐次クラスタリングを行うことができる。
【００４２】
また、データ配列数以上の数のデータを取得した場合には、古い音データから順に削除し、この場合には、削除されたデータが属していたクラスタについてのみクラスタの更新を行えばよいので、時々刻々と変化するデータに対し、少ない演算量で、常に最新の一定期間に得られたデータを適切にクラスタリングすることができる。
【００４３】
さらに、データ配列の数を設定することにより、クラスタリングの対象となるデータの最大数を設定することができるので、利用者は、希望するデータ数、または希望する期間に相当するデータ数を設定するだけで、常に希望するデータ数のデータを対象としたクラスタリング結果を自動的に得ることができる。
【００４４】
図６は、クラスタの生成過程を示す図である。クラスタリング装置１に音データ１〜５が番号順に入力されたとする。この場合、まず、音データ１の入力に対し、データ数１のクラスタＡが生成される。クラスタＡのセントロイドは、音データ１の特徴パラメータの値となる。
【００４５】
次に、音データ２が入力されると、音データ２とクラスタＡのセントロイドとのデータ距離が算出される。音データ２のデータ距離は、距離閾値（Ｄｐ）よりも大きいものとする。この場合、音データ２が属する新たなクラスタＢが生成され、クラスタＢのセントロイドは、音データ２の特徴パラメータの値となる。
【００４６】
次に、音データ３が入力されると、音データ３とクラスタＡのセントロイドとのデータ距離と、音データ３とクラスタＢのセントロイドとのデータ距離が算出される。ここで、いずれのデータ距離も距離閾値（Ｄｐ）よりも大きいものとする。この場合、音データ３が属する新たなクラスタＣ（図中Ｃ１）が生成され、クラスタＣのセントロイドは音データ３の特徴パラメータの値となる。
【００４７】
次に、音データ４が入力されると、音データ４とクラスタＡ〜Ｃのそれぞれのセントロイドとのデータ距離、すなわち３つのデータ距離が算出される。ここで、算出された３つのデータ距離のうちクラスタＣとのデータ距離が最小で、かつデータ距離の最小値が距離閾値（Ｄｐ）以下の値であるものとする。この場合には、音データ４の属するクラスタがクラスタＣに決定される。さらに、クラスタＣ（図中Ｃ２）の所属データを音データ３および音データ４として、クラスタＣ（Ｃ２）のセントロイドが更新される。
【００４８】
次に、音データ５が入力されると、音データ５と、クラスタＡ〜クラスタＣそれぞれのセントロイドとのデータ距離が算出される。ここで、算出された３つのデータ距離のうちクラスタＣ（Ｃ２）とのデータ距離が最小で、かつデータ距離の最小値が距離閾値（Ｄｐ）以下の値であるものとする。この場合には、音データ５の属するクラスタがクラスタＣに決定される。さらに、クラスタＣ（Ｃ３）の所属データを音データ３、音データ４および音データ５として、クラスタＣ（Ｃ３）のセントロイドが更新される。
【００４９】
図７は、音データを取得するのに伴い、古いデータを削除する過程を示す図である。なお、図７の例においては、データ配列Ｘ［ｊ］に１０個の音データが格納され、これ以上のデータがクラスタリング装置１に入力された場合には、古い音データから順に削除されるものとする。図７のｔ１のタイミングまでに音データ１〜１０がそれぞれクラスタＡ〜Ｄにクラスタリングされているものとする。
【００５０】
そして、ｔ１のタイミングでクラスタリング装置１に新データ１１が入力される。この場合には、ｔ１のタイミングにおいて、データ配列Ｘ［ｊ］に格納されている最も古いデータである音データ１が削除される。そして、ｔ２のタイミングで新データ１１が属するクラスタがクラスタＣに決定され、クラスタＣのセントロイドが更新される。
【００５１】
また、音データ１が削除されたことに伴い、ｔ２のタイミングで、音データ１が属していたクラスタＡのセントロイドが更新される。さらに、ｔ２のタイミングにおいて、新データ１２が入力されるとする。この場合には、ｔ２のタイミングにおいて、データ配列Ｘ［ｊ］に格納されている最も古いデータである音データ２が削除される。そして、ｔ３のタイミングで新データ１２が属する新たなクラスタＥが生成される。また、音データ２が削除されたことに伴い、音データ２が属していたクラスタＢが消滅する。なお、クラスタに属する音データが存在しない場合には、データ更新部６０は、セントロイド記憶部５０において、所属する音データが存在しないクラスタのクラスタＩＤに対応付けられているセントロイドの値、またはクラスタＩＤとセントロイドの値の両方を削除する。
【００５２】
（実施例１）
実施の形態にかかるクラスタリング装置１を用いて、二次元乱数データのクラスタリングを行った。クラスタリング装置１に入力するデータとしては、（式２）
（ｘ，ｙ）＝（−５０≦ｘ，ｙ≦５０）（式２）
のデータ範囲の１００個のランダムデータを用いた。データ距離閾値（Ｄｐ）は、５０に設定した。図８−１にクラスタリング装置１によるデータ範囲内のランダムデータに対するクラスタリング結果を示す。
【００５３】
（比較例１）
実施例１と同一のデータを用い、従来法としての群平均化法を用いて、クラスタリングを行った。図８−２に群平均化法のクラスタリング結果を示す。
【００５４】
（実施例２）
クラスタリング装置１を用いて、（式２）のデータ範囲の１００個のランダムデータに加え、（式２）のデータ範囲外の３個のデータ（特異データと称する）を追加した１０３個のデータのクラスタリングを行った。データ距離閾値（Ｄｐ）は、５０に設定した。図９−１にクラスタリング装置１によるクラスタリング結果を示す。
【００５５】
（比較例２）
実施例２と同一のデータを用い、群平均化法を用いて、クラスタリングを行った。図９−２に群平均化法のクラスタリング結果を示す。
【００５６】
図８−１および図８−２に示すように、本実施の形態にかかるクラスタリング装置１のクラスタリングにより、群平均化法によるクラスタリングと同様の結果を得ることができた。さらに、図９−１に示すように、クラスタリング装置１は、特異データを含むデータ群に対するクラスタリング処理においては、特異データを他のデータと異なるクラスタにクラスタリングすることができた。さらに、図９−１および図９−２に示すように、特異データを含むデータ群に対するクラスタリング装置１のクラスタリングにより、群平均化法によるクラスタリングと同様の結果を得ることができた。
【００５７】
（実施例３）
実施の形態にかかるクラスタリング装置１を用いて、図１０に示すデータ範囲の二次元データのクラスタリングを行った。なお、クラスタリング装置１に入力されるデータは、図１０に示すようにグループＡ〜Ｄの異なるデータ範囲のランダムデータであり、各グループのデータ数は、図１０に示す通りである。図１１は、データの入力順、データ番号とデータ数、データ範囲およびクラスタの遷移を示している。なお、クラスタの遷移の欄のうち各入力順に対応する上段は距離閾値（Ｄｐ）７０の場合、下段は距離閾値（Ｄｐ）８０の場合のクラスタ遷移を示している。図１１に示す入力順の通り、各データ範囲のデータを順次、クラスタリング装置１に入力した。
【００５８】
図１２−１〜図１７−２に図１１に示す入力順でのデータ入力後のクラスタリング結果を示す。なお、各図の枝番１および枝番２には、それぞれ距離閾値（Ｄｐ）を７０および８０に設定した場合のクラスタリング結果を示している。
【００５９】
入力順１の１００個のデータの入力後には、距離閾値（Ｄｐ）７０の場合には、図１２−１に示すように４つのクラスタが生成された。一方、距離閾値（Ｄｐ）８０の場合には、図１２−２に示すように、３つのクラスタが生成された。
【００６０】
続いて入力順２の１２０個のデータの入力後には、距離閾値（Ｄｐ）７０の場合には、図１３−１に示すように、クラスタ５が新たに生成された。一方、距離閾値（Ｄｐ）８０の場合には、図１３−２に示すように、クラスタ４が新たに生成された。
【００６１】
さらに、続いて入力順３の１２０個のデータの入力後には、距離閾値（Ｄｐ）７０の場合には、図１４−１に示すように、クラスタ５が消滅し、クラスタ６が新たに生成された。一方、距離閾値（Ｄｐ）８０の場合には、図１４−２に示すように、クラスタ４が消滅し、クラスタ５が生成された。さらに、距離閾値（Ｄｐ）７０および８０のいずれの場合も、他のデータと異なるデータ（特異データ）と予測されるデータが、それぞれ他のデータと異なるクラスタであるクラスタ６およびクラスタ５にクラスタリングされていることを確認できた。
【００６２】
続いて、入力順４の１４０個のデータの入力後には、距離閾値（Ｄｐ）７０の場合には、図１５−１に示すように、クラスタ７が新たに生成された。一方、距離閾値（Ｄｐ）８０の場合には、図１５−２に示すように、クラスタ６が生成された。ここでも、特異データと予測されるデータがそれぞれ他のデータと異なるクラスタであるクラスタ７およびクラスタ６にクラスタリングされていることを確認できた。
【００６３】
続いて、入力順５の１２０個のデータの入力後には、距離閾値（Ｄｐ）７０の場合には、図１６−１に示すように、クラスタ６，７の２つのクラスタが消滅し、クラスタ８が新たに生成された。一方、距離閾値（Ｄｐ）８０の場合には、図１６−２に示すように、クラスタ６が消滅し、クラスタ７が新たに生成された。
【００６４】
続いて、入力順６の１００個のデータの入力後には、距離閾値（Ｄｐ）７０の場合には、図１７−１に示すように、クラスタ８が消滅した。一方、距離閾値（Ｄｐ）８０の場合には、図１７−２に示すように、クラスタ７が消滅した。
【００６５】
以上のように、本実施の形態のクラスタリング装置１により、時間の経過とともに入力されるデータの特徴量が変化するようなデータ群に対し、データの特徴量の変化に追従したクラスタリングが可能であることが確認された。
【００６６】
さらに、距離閾値（Ｄｐ）を異ならせることにより、クラスタ数やクラスタ構造は異なる結果が得られるものの、距離閾値（Ｄｐ）として適切な範囲内の値が設定されている場合には、特異データを精度よく分離することができることが確認された。
【００６７】
なお、データ分散に対して、相対的に小さい距離閾値（Ｄｐ）を設定した場合には、クラスタ数が多くなり、相対的に大きい距離閾値（Ｄｐ）を設定した場合には、クラスタ数は少なくなる。最適な距離閾値（Ｄｐ）は、入力されるデータの特徴量に依存する。したがって、入力されるデータの特徴量や入力データ群のばらつきを予測し、これらの値に基づいて最適な距離閾値（Ｄｐ）を予め設定しておくことが望ましい。
【００６８】
以上のように、本実施の形態にかかるクラスタリング装置１においては、入力されたデータは、すべて記憶され続けるのではなく、古いデータから順次削除されるので、メモリを有効に活用することができる。さらに、本実施の形態にかかるクラスタリング装置１では、比較的新しいデータの傾向のみを反映させたクラスタリングを行うことができる。また、本実施の形態にかかるクラスタリング装置１においては、データ入力時に演算の対象となるのは、新たに入力されたデータと、このデータが属するクラスタに属する他のデータのみであり、また新たなクラスタ生成にかかる繰り返し演算も不要である。すなわち、本実施の形態にかかるクラスタリング装置１においては、新たなデータ入力時の演算量を削減し、処理効率を向上させることができる。
【符号の説明】
【００６９】
１  クラスタリング装置
１０  データ取得部
２０  特徴パラメータ算出部
３０  逐次クラスタリング部
３１  データ距離算出部
３２  クラスタ決定部
３３  セントロイド算出部
４０  データ記憶部
５０  セントロイド記憶部
６０  データ更新部
【図１】
0005912667.tif 000003
【図２】
0005912667.tif 000004
【図３】
0005912667.tif 000005
【図４】
0005912667.tif 000006
【図５】
0005912667.tif 000007
【図６】
0005912667.tif 000008
【図７】
0005912667.tif 000009
【図８−１】
0005912667.tif 000010
【図８−２】
0005912667.tif 000011
【図９−１】
0005912667.tif 000012
【図９−２】
0005912667.tif 000013
【図１０】
0005912667.tif 000014
【図１１】
0005912667.tif 000015
【図１２−１】
0005912667.tif 000016
【図１２−２】
0005912667.tif 000017
【図１３−１】
0005912667.tif 000018
【図１３−２】
0005912667.tif 000019
【図１４−１】
0005912667.tif 000020
【図１４−２】
0005912667.tif 000021
【図１５−１】
0005912667.tif 000022
【図１５−２】
0005912667.tif 000023
【図１６−１】
0005912667.tif 000024
【図１６−２】
0005912667.tif 000025
【図１７−１】
0005912667.tif 000026
【図１７−２】
0005912667.tif 000027