(57)【特許請求の範囲】
【請求項１】
ディスプレイスクリーンの表示領域内に情報を表示するためのコンピュータシステムの動作方法において、
前記コンピュータシステムのメモリに記憶されたツリーデータ構造にアクセスするステップであって、該ツリーデータ構造が、データ項目を表すリーフノードと内部ノードとを含み、前記内部ノードが前記データ項目のクラスタを表し、かつ、子クラスタ間の非類似度を有するステップと、
前記ツリーデータ構造の内部ノードをたどり、第１の非類似度を有する内部ノードに到達するまで前記表示領域を再帰的に分割することによって、前記データ項目のグループ分けを生成するステップと、
前記ディスプレイスクリーンの表示領域に前記グループ分けを表示するステップとを有する、情報を表示するためのコンピュータシステムの動作方法。
【請求項２】
前記ツリーデータ構造の各データ項目ごとに、前記表示領域にグリフを生成するステップをさらに有する請求項１に記載の方法。
【請求項３】
前記ツリーデータ構造の内部ノードをたどり、第２の非類似度を有する内部ノードに到達するまで前記表示領域を再帰的に分割することによって、前記データ項目の改訂グループ分けを生成するステップと、
前記表示領域に前記改訂グループ分けを表示するステップとをさらに有し、
前記表示領域内の前記グリフの位置は不変のままである請求項２に記載の方法。
【請求項４】
前記表示領域は長方形に分割され、
前記再帰的に分割することは、
現在の長方形の長いほうの軸に沿って前記表示領域を再帰的に分割することを含むことを特徴とする請求項１に記載の方法。
【請求項５】
ディスプレイスクリーンの表示領域内に情報を表示するためのコンピュータシステムの動作方法において、
前記コンピュータシステムのメモリに記憶されたツリーデータ構造にアクセスするステップであって、該ツリーデータ構造が、データ項目を表すリーフノードと内部ノードとを含み、前記内部ノードが前記データ項目のクラスタを表し、かつ、子クラスタのセット間の非類似度を有するステップと、
前記ツリーデータ構造の内部ノードをたどり、前記非類似度に少なくとも部分的に基づいて前記表示領域内に表示グループ分けを生成することによって、表示領域を生成するステップと、
前記ディスプレイスクリーンに前記表示領域を表示するステップとを有する情報を表示するためのコンピュータシステムの動作方法。
【請求項６】
前記ツリーデータ構造の各データ項目ごとに、前記表示領域にグリフを生成するステップをさらに有する請求項５に記載の方法。
【請求項７】
前記ツリーデータ構造の内部ノードをたどり、改訂された非類似度に少なくとも部分的に基づいて前記表示領域内に改訂表示グループ分けを生成することによって改訂表示領域を生成するステップと、
前記ディスプレイスクリーンに前記改訂表示領域を表示するステップとを有し、
前記改訂表示領域において前記グリフの位置は不変のままである請求項６に記載の方法。
【請求項８】
ディスプレイスクリーンの表示領域内に情報を表示するコンピュータシステムにおいて、該コンピュータシステムはメモリを有し、該メモリは、
ツリーデータ構造であって、データ項目を表すリーフノードと内部ノードとを含み、前記内部ノードが前記データ項目のクラスタを表し、かつ、子クラスタのセット間の非類似度を有するツリーデータ構造と、
前記コンピュータシステム上で実行するためのコンピュータプログラム命令であって、前記ツリーデータ構造の内部ノードをたどるステップと、所定の非類似度を有する内部ノードに到達するまで前記表示領域を再帰的に分割するステップと、前記ディスプレイスクリーンに前記表示領域を表示するステップとを実行するコンピュータプログラム命令とを記憶するコンピュータシステム。
【請求項９】
前記ツリーデータ構造の各データ項目ごとに、前記表示領域にグリフを生成するステップを実行するコンピュータプログラム命令をさらに有する請求項８に記載のコンピュータシステム。
【請求項１０】
前記ツリーデータ構造の内部ノードをたどり、第２の非類似度を有する内部ノードに到達するまで前記表示領域を再帰的に分割することによって、前記クラスタの改訂グループ分けを生成するステップと、
前記表示領域に前記改訂グループ分けを表示するステップとを実行するコンピュータプログラム命令をさらに有し、
前記表示領域内の前記グリフの位置は不変のままである請求項９に記載のコンピュータシステム。
【請求項１１】
前記表示領域は長方形に分割され、
前記再帰的に分割するステップを実行する前記コンピュータプログラム命令は、現在の長方形の長いほうの軸に沿って前記表示領域を再帰的に分割するステップを実行するコンピュータプログラム命令をさらに含む請求項８に記載のコンピュータシステム。
【請求項１２】
ディスプレイスクリーンの表示領域内に情報を表示するためのコンピュータシステムの動作方法において、
前記コンピュータシステムのメモリに記憶されたツリーデータ構造にアクセスするステップであって、該ツリーデータ構造が、データ項目を表すリーフノードと内部ノードとを含み、前記内部ノードが前記データ項目のクラスタを表し、かつ、子クラスタ間の非類似度を有するステップと、
前記ツリーデータ構造の内部ノードにアクセスする間に、第１の非類似度を有する内部ノードに到達するまで前記表示領域を再帰的に分割することによって、前記データ項目のグループ分けを生成するステップと、
前記ディスプレイスクリーンの表示領域に前記グループ分けを表示するステップとを有する、情報を表示するためのコンピュータシステムの動作方法。
【請求項１３】
前記ツリーデータ構造の各データ項目ごとに、前記表示領域にグリフを生成するステップをさらに有する請求項１２に記載の方法。
【請求項１４】
前記ツリーデータ構造の内部ノードにアクセスする間に、第２の非類似度を有する内部ノードに到達するまで前記表示領域を再帰的に分割することによって、前記データ項目の改訂グループ分けを生成するステップと、
前記表示領域に前記改訂グループ分けを表示するステップとをさらに有し、
前記表示領域内の前記グリフの位置は不変のままである請求項１３に記載の方法。
【請求項１５】
前記表示領域は長方形に分割され、
前記再帰的に分割することは、現在の長方形の長いほうの軸に沿って前記表示領域を再帰的に分割することを含むことを特徴とする請求項１２に記載の方法。
【請求項１６】
ディスプレイスクリーンの表示領域内に情報を表示するためのコンピュータシステムの動作方法において、
前記コンピュータシステムのメモリに記憶されたツリーデータ構造にアクセスするステップであって、該ツリーデータ構造が、データ項目を表すリーフノードと内部ノードを含み、前記内部ノードが前記データ項目のクラスタを表し、かつ、子クラスタのセット間の非類似度を有するステップと、
前記非類似度に少なくとも部分的に基づいて前記表示領域内に表示グループ分けを生成するステップと、
前記ディスプレイスクリーンに前記表示領域を表示するステップとを有する、情報を表示するためのコンピュータシステムの動作方法。
【請求項１７】
前記ツリーデータ構造の内部ノードをたどるステップと、
第１の非類似度を有する内部ノードに到達するまで前記表示領域を再帰的に分割するステップとをさらに有する請求項１６に記載の方法。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、データ視覚化に関し、特に、階層的クラスタリングされたデータのビューを、コンピュータを用いて生成し表示することに関する。
【０００２】
【従来の技術】
コンピュータ化されたデータ分析における共通の問題は、項目を記述するいくつかの変数に基づいて、類似の項目のグループ（クラスタ）を形成することである。例えば、ビジネス環境では、精度のよいマーケティングのために顧客グループを形成することがしばしば重要となる。クラスタリングの全般的な目標は、データを記述する変数を用いてデータをいくつかのクラスに分け、各クラスは互いに類似した要素を含むとともに他のクラスの要素とは類似しないようにすることである。クラスタリングを実行するための多くの知られた技術がある。最も一般的な技術の１つは階層的クラスタリングと呼ばれるものである。
【０００３】
階層的クラスタリングは、いくつかの従来技術とは異なり、結果として得られるクラスタの数があらかじめ定義されていることを要求しない。代わりに、階層的クラスタリング法は、もとのデータ項目がリーフ（葉）となり、内部ノード（節点）が項目のクラスタを表すような二進ツリー（二分木）を作成する。各内部ノードには、そのノードの子クラスタの２つのセットの間の非類似性の尺度の表現も格納される。二進ツリーが作成された後、データを分析するユーザは、クラスタリングアルゴリズムを再実行することを必要とせずに、与えられた非類似性のレベルでツリーを切断して、さまざまな個数のグループのクラスタリングを作成することができる。このように、クラスタリングアルゴリズムを再実行することを必要とせずにツリーを切断することができることは、大きいデータセットを調べる際に非常に重要である。これにより、ユーザは、非常に遅いかもしれないアルゴリズムを大きいデータセットに対して一度実行した後、アルゴリズムを再実行してツリー構造を再作成することを必要とせずに、作成された構造をさまざまな方法で調べることができるからである。階層的クラスタリングを実行する方法は当業者に周知であるため、ここでは詳細には説明しない。このような方法は、”Ｃｌｕｓｔｅｒ  Ａｎａｌｙｓｉｓ”，  Ｅｖｅｒｉｔｔ，  Ｂ．  Ｓ．，  ３ｒｄ  ｅｄ．，  Ｈａｌｓｔｅｄ  Ｐｒｅｓｓ，  ＮＹ  （１９９３）、に記載されている。階層的クラスタリングを実行するのに用いられる具体的方法は本発明にとって重要ではない。
【０００４】
適当な階層的クラスタリング方法を用いてツリー構造が作成された後、そのツリーを視覚化しなければならない。すなわち、ツリーの表現を生成し、ユーザのためにコンピュータスクリーン上に表示しなければならない。階層的クラスタリングアルゴリズムの結果を視覚化する１つの技術は、単に、ツリー構造のビューを生成し表示することである。しかし、この技術は、中程度のサイズのデータセットの場合でも非常に面倒となる。
【０００５】
さらによい技術は、ツリーマップ（ｔｒｅｅ−ｍａｐ）を生成し表示することである。これは、スクリーン空間を最大限に利用するような、ツリーを視覚化する技術である。基本バージョンは、指定された長方形領域をとり、ツリー構造に基づいてそれを再帰的に分割していく。この方法は、ツリーの第１レベルを見て、ビュー領域を横にｎ個の長方形に分割する。ただし、ｎは、第１ノードの子の数である。各長方形は、各子ノードの下のサブツリーのサイズに比例する面積が割り当てられる。次に、この方法は、ツリーの次のレベルを見て、各ノードに対して、領域を再帰的に縦に分割することを除いては同じアルゴリズムを実行する。アルゴリズムは、指定された最大深さに到達する場合か、または、リーフノードに到達する場合が生じるまで、交互（横と縦）の方向にこの部分分割を続ける。いずれの場合でも、その後、そのノードに対する長方形領域が、ユーザ指定の特性（例えば、色、シェーディング、ラベル）により描画される。ツリーマップを生成するアルゴリズムは当業者に周知であり、”Ｔｒｅｅ  Ｖｉｓｕａｌｉｚａｔｉｏｎ  ｗｉｔｈ  Ｔｒｅｅ  Ｍａｐｓ；  ａ  ２Ｄ  Ｓｐａｃｅ−Ｆｉｌｌｉｎｇ  Ａｐｐｒｏａｃｈ”，  Ｓｃｈｎｉｅｄｅｒｍａｎ，  ＡＣＭ  Ｔｒａｎｓａｃｔｉｏｎｓ  ｏｎ  Ｇｒａｐｈｉｃｓ，  Ｊａｎｕａｒｙ  １９９２、に記載されている。
【０００６】
【発明が解決しようとする課題】
本発明は、階層的クラスタリングされたデータのビューを生成し表示する技術を改善する。
【０００７】
【課題を解決するための手段】
具体的には、ツリーマップの生成は、与えられたレベルで非類似性にかかわらずにツリーを切断する従来技術とは異なり、データクラスタの非類似性の尺度に基づいて表示グループ分けを生成することによって、改善される。
【０００８】
本発明の一実施例によれば、コンピュータシステムのメモリに記憶されているツリーのノードをたどり、所定の非類似度を有するノードに到達するまで、表示領域を再帰的に分割する。このような所定の非類似度までの再帰的分割により、データクラスタをよりよく視覚化するツリーマップが得られる。その理由は、結果として得られるグルーピング（グループ分け）は、より密接にクラスタの類似性に関係しているからである。このような視覚化により、もとになるデータを分析するユーザに、より有用な情報が伝えられる。
【０００９】
本発明のもう１つの特徴によれば、従来技術のようにデータ項目のまとめられたグループの表現を表示するだけでなく、ツリー内のすべてのデータ項目を記号的に表示すると有効であることが分かる。この技術は、もとになるデータを分析するユーザに、さらに有用な情報を提供する。
【００１０】
本発明のもう１つの特徴によれば、従来技術に従ってこれまで行われたように縦横の分割を交互に行うのではなく、ツリーマップを長方形の長いほうの軸に沿って再帰的に分割する。長方形の長いほうの軸に沿って分割することににより、より正方形に近い長方形からなるツリーマップが得られる。これは、細長い長方形が生じがちな従来技術とは異なる。本発明を用いることにより得られる正方形に近い長方形により、ユーザは、もとになるデータを容易に視覚化することができる。
【００１１】
本発明のさらにもう１つの特徴によれば、非類似性のレベルが変更され新しいツリーマップが生成された場合、データ項目はツリーマップの同じ相対位置にとどまる。変更されるのは、データ項目の周りのグループ分けの表示のみである。本発明のこの特徴により、異なる非類似性レベルのグループの比較がうまくできるようになる。
【００１２】
【発明の実施の形態】
本発明は、任意のタイプの周知のコンピュータシステム上に実現可能である。ここでは、コンピュータという用語は、データを受け取り、所定の処理をそのデータに適用し、その処理の結果を生成することが可能な任意の装置あるいはマシンを含む。本発明の機能は、当業者に周知のタイプの、プログラムされたディジタルコンピュータによって実行される。その例を図１に示す。図１において、コンピュータシステム１００は、ディスプレイモニタ（ディスプレイ装置、ディスプレイスクリーン）１０２、テキスト入力デバイス（例えばキーボード）１０４、グラフィカル入力デバイス（例えばマウス）１０６、コンピュータプロセッサすなわちＣＰＵ１０８、メモリユニット１１０、および不揮発性記憶装置（外部記憶装置。例えばディスクドライブ）１２０を有する。メモリユニット１１０は、例えば、コンピュータプログラムコードおよびデータを記憶する。コンピュータプロセッサ１０８は、ディスプレイモニタ１０２、メモリユニット１１０、不揮発性記憶装置１２０、キーボード１０４、およびマウス１０６に接続される。外部記憶装置１２０は、データおよびコンピュータプログラムコードを記憶するために用いられる。コンピュータプロセッサ１０８は、メモリユニット１１０に記憶されているコンピュータプログラムコードを実行する。実行中に、プロセッサは、メモリユニット１１０および不揮発性記憶装置１２０に記憶されているデータにアクセスすることが可能である。コンピュータシステム１００は、メインフレームコンピュータ、ミニコンピュータ、ワークステーション、あるいはパーソナルコンピュータのような当業者に周知の任意のタイプの適当なものが可能である。もちろん当業者には認識されるように、コンピュータシステムに含まれるその他の多くのコンポーネントがあるが、明確化のために図１には図示しない。さらに、当業者には認識されるように、多くの変更およびコンポーネント置換を図１のコンピュータシステムに対して行うことが可能である。
【００１３】
表１に、本発明の説明に用いるサンプルデータを示す。この表は、７種類の動物に関するデータからなり、それらの相対サイズと脚の本数を含む。
【表１】
0003554676.tif 000002
【００１４】
図２に、表１のデータに階層的クラスタリング方法を適用して得られるツリー２００を示す。上記のように、周知の階層的クラスタリング方法のうちの任意のものを用いて、図２のツリーのようなツリーを作成することが可能である。異なる階層的クラスタリング方法は多少異なるツリーを生成することがあるが、ツリーの基本構造は同一である。内部ノードＡ、Ｂ、Ｃ、Ｄ、Ｅ、Ｆは、データ項目のクラスタを表すクラスタノードである。例えば、クラスタノードＣは、データ項目「ネコ」および「イヌ」のクラスタを表す。クラスタノードＤは、データ項目「ヘビ」およびクラスタノードＣのクラスタを表す。内部ノードは、子ノード間の非類似度が付される。例えば、ノードＤは非類似度４．５を有し、ノードＢは非類似度２．０を有する。これは、「ヒト」が「カンガルー」に類似する程度のほうが、「ヘビ」が「ネコ」−「イヌ」対に類似する程度より類似性が高いことを意味する。図２のツリー構造は、周知のデータ表現技術を用いてコンピュータシステム１００のメモリ１１０に記憶される。
【００１５】
図２のツリーが与えられると、本発明は、そのクラスタリングを視覚化する改善された技術を提供する。発明者の認識するところでは、階層的クラスタリングを視覚化する従来のツリーマップ法はいくつかの問題点を有する。従来のツリーマップ法の問題点の１つは、クラスタの非類似度が利用されないことである。ユーザは、異なる深さでツリーを切断することに基づいて表示グループを作成することができるだけである。例えば、図２のツリーを考える。従来技術を用いると、ユーザは、深さ２、すなわちノードＥおよびＡでツリーを切断すれば、次のようなグループを得ることができる。
Ｄ：ネコ−イヌ−ヘビ（Ｅの左側子ノード）
Ｂ：カンガルーーヒト（Ｅの右側子ノード）
ウマ（Ａの左側子ノード）
ウシ（Ａの右側子ノード）
このグループ分けから得られるツリーマップを図３に示す。グループ「ウマ」、「ウシ」、Ｄ、およびＢが示されている。ここで、このグループ分けは、「ウシ」と「ウマ」を分割しているが、これは好ましくない。その理由は、これらは互いに非常に類似している（すなわち、これらの非類似度は１．０である）からである。しかし、従来のツリーマップ法は、非類似度に基づいてグループを作成することができないため、ツリー深さに基づくグループ分けが、できる最善のことになっている。
【００１６】
従来のツリーマップのもう１つの問題点は、ツリーマップが、データ項目のまとめられたグループしか示さないことである。例えば、図３では、ツリーマップにグループＤおよびＢが示されているが、これらのグループＤおよびＢを構成する個々のデータ項目は示されていない。発明者が認識するところでは、まとめられたグループよりも個々のデータ項目を示すことのほうが有益である。
【００１７】
従来のツリーマップのもう１つの問題点は、縦横の分割を交互にすると、ツリー深さはうまく示されるが、もとになるツリーがアンバランスのときに非常に細長い長方形が作成される傾向がある。このことは図３に見られる。本発明の１つの特徴によれば、縦横の分割を交互にする代わりに、表示領域は、長方形の長いほうの軸に沿って分割され、結果として得られる長方形が、他方の軸に沿って切る場合よりも正方形に近くなるようにする。
【００１８】
従来のツリーマップに対するこれらの改善を実現するために本発明を実施する１つの方法を図４〜図８を参照して以下で説明する。改善された方法は以下のように記述される。まず、流れ図（ず４）のステップについて、具体例を参照せずに一般的に説明する。この説明の目的は、本発明の方法に一般的なコンテクストを与え、抽象的に実行されるステップを一般的に説明することである。この説明の後に、流れ図のステップについて、図２のツリー例の処理に関してさらに詳細に説明する。この説明は、本発明の方法の詳細な例を与える。
【００１９】
プログラムされたコンピュータによって実行されるステップを示す流れ図を図４に示す。周知のように、コンピュータによって実行されるステップは、メモリ１１０に記憶されプロセッサ１０８によって実行される適当なコンピュータプログラムコードによって実現することができる。以下の説明が与えられれば、当業者は、プログラムされたディジタルコンピュータを利用して本発明を直ちに実装することができるはずである。
【００２０】
図４の説明に戻って、ステップ４０２で、与えられた表示領域を分割するルーチンが呼び出される。分割ルーチンは、呼び出されるときに、いくつかの変数が渡される。第１に、ノードｎが渡される。これは、処理されるノードである。最初に呼び出されるとき、ノードｎはツリーの最高レベルのルート（根）ノードである。また、長方形の座標も渡される。この長方形は、最初は、ツリーマップの視覚化が表示されることになるディスプレイ装置１０２の表示領域を定義する。また、ブール変数ＣＬＵＳＴＥＲ＿ＤＲＡＷＮも渡される。この変数は、この分割ルーチンの最初の呼出しの前にＦａｌｓｅ（偽、Ｆ）に初期化される。最後に、変数ＣＲＩＴＩＣＡＬ＿ＶＡＬＵＥが渡される。この変数は、この方法がグループ分けを表示する際の非類似性のレベルを示す。
【００２１】
ステップ４０４で、ＣＬＵＳＴＥＲ＿ＤＲＡＷＮが偽でありかつノードｎの非類似度がＣＲＩＴＩＣＡＬ＿ＶＡＬＵＥより小さいかどうかを判断する。ステップ４０４のテストがＹｅｓである場合、ステップ４０６で、グループ長方形を現在定義された長方形の周に沿って描画する。ステップ４０８で、ＣＬＵＳＴＥＲ＿ＤＲＡＷＮをＴｒｕｅ（真、Ｔ）にセットする。
【００２２】
ステップ４１０で、現在のノードがリーフノードであるかどうかを判断する。リーフノードである場合、制御はステップ４２４に移り、ノード（すなわちデータ項目）のグリフ（すなわち記号）が現在の長方形内に描画され、制御はステップ４２６に移る。ステップ４１０で現在のノードがリーフノードでないと判断された場合、ステップ４１２で、分割比を計算する。このステップは、長方形のどこで分割するかを計算する。この計算は、結果として得られる長方形に、現在のノードの各子の下のサブツリーのサイズに比例する面積を割り当てるように行われる。
【００２３】
ステップ４１４で、現在の長方形の幅が現在の長方形の高さより大きいかどうかを判断する。幅が高さより大きい場合、ステップ４１８で、縦分割となる分割を計算する。幅が高さより大きくない場合、ステップ４１６で、横分割となる分割を計算する。これらのステップ４１４、４１６、４１８は、表示領域を長方形の長いほうの軸に沿って分割するという上記の本発明の特徴を実現する。これにより、従来技術のように縦軸と横軸で交互に切る場合よりも長方形が正方形に近くなる。
【００２４】
ステップ４２０で、分割ルーチンは現在のノードの子ノードａ（すなわち左側の子）に対して再帰的に呼び出される。ステップ４２２で、分割ルーチンは現在のノードの子ノードｂ（すなわち右側の子）に対して再帰的に呼び出される。分割ルーチンはステップ４２６で終了する。なお、再帰的サブルーチン呼出しは、サブルーチンが自分自身を呼び出すものである。再帰は、計算機科学における周知の技術である。
【００２５】
次に、図４の方法ステップを、図５〜図８および図２のツリー例とともにさらに詳細に説明する。図５〜図７は、ツリーの進行中の処理を説明し、表示領域長方形の再帰的分割を例示する。図８は、処理中の再帰のレベルを説明する。
【００２６】
図４と、図２のツリーの説明に戻って、ユーザは、図２のツリーを処理しようとしており、非類似レベル５でデータをグループ分けしようとしていると仮定する。分割ルーチンがステップ４０２で呼び出され、次のパラメータが渡される。
・ノードの識別Ｆ
・最初の長方形の座標
・Ｆａｌｓｅに初期化されたＣＬＵＳＴＥＲ＿ＤＲＡＷＮ変数
・所望の非類似性グループ分けレベルを示すＣＲＩＴＩＣＡＬ＿ＶＡＬＵＥ＝５
図８に、処理中の再帰のレベルを示す。分割ルーチンがノードＦで最初に呼び出されると、処理は、ブロック６０２で指定される再帰レベルで行われる。
【００２７】
図５〜図７は、ＣＬＵＳＴＥＲ＿ＤＲＡＷＮ変数の値（列５０４）と、分割ルーチンの各再帰呼出しに対する表示領域の分割の変化図（列５０６）を示す。現在処理されているノードは列５０２に示す。図４のステップ４０４で、ＣＬＵＳＴＥＲ＿ＤＲＡＷＮ＝Ｆａｌｓｅかつ非類似度＜ＣＲＩＴＩＣＡＬ＿ＶＡＬＵＥであるかどうかを判断する。ＣＬＵＳＴＥＲ＿ＤＲＡＷＮ＝Ｆａｌｓｅであるが、ノードＦの非類似度は８．９でありＣＲＩＴＩＣＡＬ＿ＶＡＬＵＥ＝５より小さくないため、このテストはＮｏを返す。
【００２８】
制御はステップ４１０に移る。ステップ４１０で、現在のノードＦがリーフノードでないと判定され、ステップ４１２で、分割比を計算する。分割比は、子ノードａのデータ項目（すなわちリーフ）の数と、子ノードｂのデータ項目の数の比として計算される。従って、この例では、ノードＦを処理すると、比は５：２となる。ステップ４１４で、現在の長方形の幅が高さより大きいかどうかを判定する。図５の列５０６に示すように、最初の長方形５０８は幅が高さより大きいため、ステップ４１４のテストはＹｅｓとなり、制御はステップ４１８に移る。ステップ４１８で、長方形分割は縦分割として計算される。すなわち、最初の長方形を、５：２の比で縦に分割するように計算される。この長方形５１０を分割線５１１とともに図５に示す。この行の列５０６は、ノードＦの処理を示す。なお、長方形は、これらの長方形分割が計算のみであることを表すために点線で示されている。グループ分け長方形の実際の描画は、所望の非類似レベルに到達するまで実行されない。グループ長方形の実際の描画はステップ４０６で実行される。これは、ステップ４０４のテストが真であるときにのみ実行される。
【００２９】
処理ステップの説明に戻って、制御はステップ４２０に移る。ステップ４２０で、分割ルーチンは、現在処理されているノードの子ノードａに対して再帰的に呼び出される。現在処理されているノードはノードＦであり、従って、分割ルーチンはノードＥに対して再帰的に呼び出される。前述のように、分割ルーチンが呼び出されるときに、いくつかのパラメータを渡さなければならない。再帰的に呼び出されるときにもこれらのパラメータは渡される。そこで、今の場合、分割ルーチンは、
・ノードＥ。これは、これから処理されるノードである。
・ノードＦの処理中に分割された長方形の左側５１２の座標。これは、現在処理されているノードであるノードＦの子ノードａ（すなわちノードＥ）に対応する長方形であるからである。
・ブール変数ＣＬＵＳＴＥＲ＿ＤＲＡＷＮ。この値は今回もＦａｌｓｅである。
・ＣＲＩＴＩＣＡＬ＿ＶＡＬＵＥ＝５。
を渡すことによって呼び出される。
【００３０】
ノードＥの処理中の再帰のレベルは、図８にレベル６０４として示されている。ステップ４０４のテストは今度も偽である。ＣＬＵＳＴＥＲ＿ＤＲＡＷＮ＝Ｆａｌｓｅであるが、ノードＥの非類似度は５．３であり、これはＣＲＩＴＩＣＡＬ＿ＶＡＬＵＥ＝５より小さくないからである。制御はステップ４１０に移る。ステップ４１０で、ノードＥはリーフノードでないと判定され、ステップ４１２で上記のように分割比３：２が計算される。処理中の長方形５１２は幅が高さより大きいため、ステップ４１８で、分割比３：２での縦分割が計算される。この計算された分割は、ノードＥに対して、図５の長方形５１６の分割線５１４として表されている。
【００３１】
処理ステップの説明に戻って、制御はステップ４２０に移る。ステップ４２０で、分割ルーチンは、現在処理されているノードの子ノードａに対して再帰的に呼び出される。現在処理されているノードはノードＥであり、従って、分割ルーチンはノードＤに対して再帰的に呼び出される。今の場合、分割ルーチンは、以下のパラメータを渡すことによって呼び出される。
・ノードＤ。これは、これから処理されるノードである。
・ノードＥの処理中に分割された長方形の左側５１８の座標。これは、現在処理されているノードであるノードＥの子ノードａ（すなわちノードＤ）に対応する長方形であるからである。
・ブール変数ＣＬＵＳＴＥＲ＿ＤＲＡＷＮ。この値は今回もＦａｌｓｅである。
・ＣＲＩＴＩＣＡＬ＿ＶＡＬＵＥ＝５。
【００３２】
ノードＤの処理中の再帰のレベルは、図８にレベル６０６として示されている。図４の処理ステップの説明に戻って、ステップ４０４のテストは今度は真である。CLUSTER_DRAWN=Falseであり、かつ、ノードＤの非類似度は４．５であって、これはCRITICAL_VALUE＝５より小さいからである（これは、ツリーデータ構造の内部ノードをたどり、第１の（所定の）非類似度を有する内部ノードに到達したことを意味する）。制御はステップ４０６に移る。ステップ４０６で、グループ長方形を現在の長方形の周に沿って描画する。今の場合、ノードＤの処理に関して図５に示された実線の長方形５２０によって図示されるように、グループ長方形は長方形５１８の周に沿って描画される。実線の長方形５２０は、長方形分割の計算のみを表す点線と区別して、表示領域における長方形の実際の描画を表す。なお、グループ長方形を描画するさまざまな方法が使用可能である。図５〜図７の例では、グループ長方形を示すために境界を描画している。代替法の例として、グループは、そのグループに関する追加情報を伝えることが可能な色／テクスチャパターンで長方形の内部をフィルする（塗りつぶす）ことによって指定することも可能である。
【００３３】
処理はステップ４０８に進み、変数ＣＬＵＳＴＥＲ＿ＤＲＡＷＮは真にセットされる。この変数値の変化は、図５の列５０４でノードＤの処理に関してＦ→Ｔとしても表されている。
【００３４】
処理はステップ４１０に進む。現在のノードはリーフノードではないため、現在の長方形は、ステップ４１４〜４１８に関して前述したように再び分割される。現在の長方形のこのさらなる分割は、図５では、長方形５１８を縦に分割する点線５２２によって示されている。
【００３５】
ステップ４２０で、分割ルーチンはノードＤの子ノードａに対して再帰的に呼び出される。現在処理されているノードはノードＤであり、従って、分割ルーチンはリーフノード「ヘビ」に対して再帰的に呼び出される。今の場合、分割ルーチンは、以下のパラメータを渡すことによって呼び出される。
・ノード「ヘビ」。これは、これから処理されるノードである。
・ノードＤの処理中に分割された長方形の左側５２４の座標。これは、現在処理されているノードであるノードＤの子ノードａ（すなわちノード「ヘビ」）に対応する長方形であるからである。
・ブール変数ＣＬＵＳＴＥＲ＿ＤＲＡＷＮ。この値は今回はＴｒｕｅである。
・ＣＲＩＴＩＣＡＬ＿ＶＡＬＵＥ＝５。
【００３６】
ノード「ヘビ」の処理中の再帰のレベルは、図８にレベル６０８として示されている。図４の処理ステップの説明に戻って、ステップ４０４のテストは今度は偽である。ノード「ヘビ」の非類似度は０であって、これはＣＲＩＴＩＣＡＬ＿ＶＡＬＵＥ＝５より小さいが、ＣＬＵＳＴＥＲ＿ＤＲＡＷＮ＝Ｔｒｕｅであるからである。なお、ノード「ヘビ」の非類似度が０であるのは、定義により、項目は自分自身との非類似度が０であるためである。制御はステップ４１０に移る。現在のノードがリーフノードであるため、制御はステップ４２４に移る。ステップ４２４で、ノード「ヘビ」のグリフ（ｓｎａｋｅのＳ）が現在の長方形内に描画される。これは、図５でノード「ヘビ」の処理に関してグリフ５２６として示されている。なお、グリフを描画する任意の方法が使用可能である。例えば、グリフは、テキスト名、シンボル、あるいはカラーコード化された円などの形状として描画することが可能である。また、グリフを、どのグループに含まれるかに応じて異なるように描画することも可能である。今の例の説明に戻って、制御は次にステップ４２６に移り、図８に示すように、再帰レベル６０８は終了し、処理は再帰レベル６０６に戻る。再帰レベル６０６に戻ることにより、制御はステップ４２２に移る。ステップ４２２で、分割ルーチンがノードＤの子ノードｂに対して再帰的に呼び出される。
【００３７】
分割ルーチンは、以下のパラメータを渡すことによってノードＣに対して再帰的に呼び出される。
・ノードＣ。これは、これから処理されるノードである。
・ノードＤの処理中に分割された長方形５２８の座標。これは、現在処理されているノードであるノードＤの子ノードｂ（すなわちノードＣ）に対応する長方形であるからである。
・ブール変数ＣＬＵＳＴＥＲ＿ＤＲＡＷＮ。この値は今回もＴｒｕｅである。これは、再帰レベル６０６から渡され、このレベルは、ノードＤを処理し、この値をＦ→Ｔと変えたからである。
・ＣＲＩＴＩＣＡＬ＿ＶＡＬＵＥ＝５。
【００３８】
ノードＣの処理中の再帰のレベルは、図８にレベル６１０として示されている。図４の処理ステップの説明に戻って、ステップ４０４のテストは今度は偽である。ノードＣの非類似度は３．０であり、これはＣＲＩＴＩＣＡＬ＿ＶＡＬＵＥ＝５より小さいが、ＣＬＵＳＴＥＲ＿ＤＲＡＷＮ＝Ｔｒｕｅであるからである。
【００３９】
処理はステップ４１０に進む。現在のノードはリーフノードではないため、現在の長方形は、ステップ４１４〜４１８に関して前述したように再び分割される。現在の長方形のこのさらなる分割は、図６では、長方形を横に分割する点線５３０によって示されている。
【００４０】
ステップ４２０で、分割ルーチンはノードＣの子ノードａに対して再帰的に呼び出される。今の場合、分割ルーチンはリーフノード「ネコ」に対して再帰的に呼び出される。ここで、分割ルーチンは、以下のパラメータを渡すことによって呼び出される。
・ノード「ネコ」。これは、これから処理されるノードである。
・ノードＣの処理中に分割された長方形５３２の座標。これは、現在処理されているノードであるノードＣの子ノードａ（すなわちノード「ネコ」）に対応する長方形であるからである。
・ブール変数ＣＬＵＳＴＥＲ＿ＤＲＡＷＮ。この値は今回はＴｒｕｅである。
・ＣＲＩＴＩＣＡＬ＿ＶＡＬＵＥ＝５。
【００４１】
ノード「ネコ」の処理中の再帰のレベルは、図８にレベル６１２として示されている。図４の処理ステップの説明に戻って、ステップ４０４のテストは今度は偽である。ノード「ネコ」の非類似度は０であって、これはＣＲＩＴＩＣＡＬ＿ＶＡＬＵＥ＝５より小さいが、ＣＬＵＳＴＥＲ＿ＤＲＡＷＮ＝Ｔｒｕｅであるからである。制御はステップ４１０に移る。現在のノードがリーフノードであるため、制御はステップ４２４に移る。ステップ４２４で、ノード「ネコ」のグリフ（ｃａｔのＣ）が現在の長方形５３２内に描画される。これは、図６でノード「ネコ」の処理に関してグリフ５３４として示されている。制御は次にステップ４２６に移り、図８に示すように、再帰レベル６１２は終了し、処理は再帰レベル６１０に戻る。再帰レベル６１０に戻ることにより、制御はステップ４２２に移る。ステップ４２２で、分割ルーチンがノードＣの子ノードｂ（すなわちノード「イヌ」）に対して再帰的に呼び出される。従って、処理は次に再帰レベル６１４に入る。
【００４２】
分割ルーチンは、以下のパラメータを渡すことによって呼び出される。
・ノード「イヌ」。これは、これから処理されるノードである。
・ノードＣの処理中に分割された長方形５３６の座標。これは、現在処理されているノードであるノードＣの子ノードｂ（すなわちノード「イヌ」）に対応する長方形であるからである。
・ブール変数ＣＬＵＳＴＥＲ＿ＤＲＡＷＮ。この値はＴｒｕｅである。
・ＣＲＩＴＩＣＡＬ＿ＶＡＬＵＥ＝５。
【００４３】
ノード「イヌ」の処理中の再帰のレベルは、図８にレベル６１４として示されている。図４の処理ステップの説明に戻って、ステップ４０４のテストは今度は偽である。ノード「イヌ」の非類似度は０であって、これはＣＲＩＴＩＣＡＬ＿ＶＡＬＵＥ＝５より小さいが、ＣＬＵＳＴＥＲ＿ＤＲＡＷＮ＝Ｔｒｕｅであるからである。制御はステップ４１０に移る。現在のノードがリーフノードであるため、制御はステップ４２４に移る。ステップ４２４で、ノード「イヌ」のグリフ（ｄｏｇのＤ）が現在の長方形５３６内に描画される。これは、図６でノード「イヌ」の処理に関してグリフ５３８として示されている。制御は次にステップ４２６に移り、図８に示すように、再帰レベル６１４は終了し、処理は再帰レベル６１０に戻る。再帰レベル６１０に戻ることにより、制御はステップ４２６に移り、処理は再帰レベル６０６に戻る。再帰レベル６０６に戻ることにより、制御はステップ４２６に移り、処理は再帰レベル６０４に戻る。再帰レベル６０４に戻ることにより、制御はステップ４２２に移り、ノードＥの子ノードｂ（すなわちノードＢ）の処理が行われる。
【００４４】
分割ルーチンは、ノードＢに対して再帰的に呼び出される。今の場合、分割ルーチンは、以下のパラメータを渡すことによって呼び出される。
・ノードＢ。これは、これから処理されるノードである。
・ノードＥの処理中に分割された長方形５４０の座標。これは、現在処理されているノードであるノードＥの子ノードｂ（すなわちノードＢ）に対応する長方形であるからである。
・ブール変数ＣＬＵＳＴＥＲ＿ＤＲＡＷＮ。この値は今回はＦａｌｓｅである。これは、再帰レベル６０４から渡され、このレベルは、ノードＥを処理し、このレベルではＣＬＵＳＴＥＲ＿ＤＲＡＷＮの値はまだＦａｌｓｅであるからである（図５で、ノードＥの処理に関して列５０４を参照）。
・ＣＲＩＴＩＣＡＬ＿ＶＡＬＵＥ＝５。
【００４５】
ノードＢの処理中の再帰のレベルは、図８にレベル６１６として示されている。図４の処理ステップの説明に戻って、ステップ４０４のテストは今度は真である。ノードＢの非類似度は２．０であり、これはCRITICAL_VALUE＝５より小さく（これは、ツリーデータ構造の内部ノードをたどり、第１の（所定の）非類似度を有する内部ノードに到達したことを意味する）、しかも、CLUSTER_DRAWN=Falseであるからである。制御はステップ４０６に移る。ステップ４０６で、グループ長方形５４２を現在の長方形５４０の周に沿って描画する。この実線の長方形５４２は、長方形分割の計算のみを表す点線と区別して、表示領域における長方形の実際の描画を表す。
【００４６】
処理はステップ４０８に進み、変数ＣＬＵＳＴＥＲ＿ＤＲＡＷＮは真にセットされる。この変数値の変化は、図６の列５０４でノードＢの処理に関してＦ→Ｔとしても表されている。
【００４７】
処理はステップ４１０に進む。現在のノードはリーフノードではないため、現在の長方形は、ステップ４１４〜４１８に関して前述したように再び分割される。現在の長方形のこのさらなる分割は、図６では、長方形を横に分割する点線５４４によって示されている。
【００４８】
ステップ４２０で、分割ルーチンはノードＢの子ノードａに対して再帰的に呼び出される。すなわち、分割ルーチンはリーフノード「ヒト」に対して再帰的に呼び出される。今の場合、分割ルーチンは、以下のパラメータを渡すことによって呼び出される。
・ノード「ヒト」。これは、これから処理されるノードである。
・ノードＢの処理中に分割された長方形の左側５４６の座標。これは、現在処理されているノードであるノードＢの子ノードａ（すなわちノード「ヒト」）に対応する長方形であるからである。
・ブール変数ＣＬＵＳＴＥＲ＿ＤＲＡＷＮ。この値は今回はＴｒｕｅである。
・ＣＲＩＴＩＣＡＬ＿ＶＡＬＵＥ＝５。
【００４９】
ノード「ヒト」の処理中の再帰のレベルは、図８にレベル６１８として示されている。図４の処理ステップの説明に戻って、ステップ４０４のテストは今度は偽である。ノード「ヒト」の非類似度は０であって、これはＣＲＩＴＩＣＡＬ＿ＶＡＬＵＥ＝５より小さいが、ＣＬＵＳＴＥＲ＿ＤＲＡＷＮ＝Ｔｒｕｅであるからである。制御はステップ４１０に移る。現在のノードがリーフノードであるため、制御はステップ４２４に移る。ステップ４２４で、ノード「ヒト」のグリフ（ｍａｎのＭ）が現在の長方形５４６内に描画される。これは、図６でノード「ヒト」の処理に関してグリフ５４８として示されている。制御は次にステップ４２６に移り、図８に示すように、再帰レベル６１８は終了し、処理は再帰レベル６１６に戻る。再帰レベル６１６に戻ることにより、制御はステップ４２２に移る。ステップ４２２で、分割ルーチンがノードＢの子ノードｂ（すなわちノード「カンガルー」）に対して再帰的に呼び出される。従って、処理は次に再帰レベル６２０に入る。
【００５０】
分割ルーチンは、以下のパラメータを渡すことによって呼び出される。
・ノード「カンガルー」。これは、これから処理されるノードである。
・ノードＢの処理中に分割された長方形５５０の座標。これは、現在処理されているノードであるノードＢの子ノードｂ（すなわちノード「カンガルー」）に対応する長方形であるからである。
・ブール変数ＣＬＵＳＴＥＲ＿ＤＲＡＷＮ。この値はＴｒｕｅである。
・ＣＲＩＴＩＣＡＬ＿ＶＡＬＵＥ＝５。
【００５１】
ノード「カンガルー」の処理中の再帰のレベルは、図８にレベル６２０として示されている。図４の処理ステップの説明に戻って、ステップ４０４のテストは偽である。ノード「カンガルー」の非類似度は０であって、これはＣＲＩＴＩＣＡＬ＿ＶＡＬＵＥ＝５より小さいが、ＣＬＵＳＴＥＲ＿ＤＲＡＷＮ＝Ｔｒｕｅであるからである。制御はステップ４１０に移る。現在のノードがリーフノードであるため、制御はステップ４２４に移る。ステップ４２４で、ノード「カンガルー」のグリフ（ｋａｎｇａｒｏｏのＫ）が現在の長方形５５０内に描画される。これは、図６でノード「カンガルー」の処理に関してグリフ５５２として示されている。制御は次にステップ４２６に移り、図８に示すように、再帰レベル６２０は終了し、処理は再帰レベル６１６に戻る。再帰レベル６１６に戻ることにより、制御はステップ４２６に移り、処理は再帰レベル６０４に戻る。再帰レベル６０４に戻ることにより、制御はステップ４２６に移り、処理は再帰レベル６０２に戻る。再帰レベル６０２に戻ることにより、制御はステップ４２２に移り、ノードＦの子ノードｂ（すなわちノードＡ）の処理が行われる。
【００５２】
分割ルーチンは、ノードＡに対して再帰的に呼び出される。今の場合、分割ルーチンは、以下のパラメータを渡すことによって呼び出される。
・ノードＡ。これは、これから処理されるノードである。
・ノードＦの処理中に分割された長方形５５４の座標。これは、現在処理されているノードであるノードＦの子ノードｂ（すなわちノードＡ）に対応する長方形であるからである。
・ブール変数ＣＬＵＳＴＥＲ＿ＤＲＡＷＮ。この値は今回はＦａｌｓｅである。これは、再帰レベル６０２から渡され、このレベルは、ノードＦを処理し、このレベルではＣＬＵＳＴＥＲ＿ＤＲＡＷＮの値はまだＦａｌｓｅであるからである（図５で、ノードＦの処理に関して列５０４を参照）。
・ＣＲＩＴＩＣＡＬ＿ＶＡＬＵＥ＝５。
【００５３】
ノードＡの処理中の再帰のレベルは、図８にレベル６２２として示されている。図４の処理ステップの説明に戻って、ステップ４０４のテストは今度は真である。ノードＡの非類似度は１．０であり、これはＣＲＩＴＩＣＡＬ＿ＶＡＬＵＥ＝５より小さく、しかも、ＣＬＵＳＴＥＲ＿ＤＲＡＷＮ＝Ｆａｌｓｅであるからである。制御はステップ４０６に移る。ステップ４０６で、グループ長方形５５６を現在の長方形５５４の周に沿って描画する。この実線の長方形５５６は、長方形分割の計算のみを表す点線と区別して、表示領域における長方形の実際の描画を表す。
【００５４】
処理はステップ４０８に進み、変数ＣＬＵＳＴＥＲ＿ＤＲＡＷＮは真にセットされる。この変数値の変化は、図７の列５０４でノードＡの処理に関してＦ→Ｔとしても表されている。
【００５５】
処理はステップ４１０に進む。現在のノードはリーフノードではないため、現在の長方形は、ステップ４１４〜４１８に関して前述したように再び分割される。現在の長方形のこのさらなる分割は、図７では、長方形を横に分割する点線５５８によって示されている。
【００５６】
ステップ４２０で、分割ルーチンはノードＡの子ノードａに対して再帰的に呼び出される。すなわち、分割ルーチンはリーフノード「ウマ」に対して再帰的に呼び出される。今の場合、分割ルーチンは、以下のパラメータを渡すことによって呼び出される。
・ノード「ウマ」。これは、これから処理されるノードである。
・ノードＡの処理中に分割された長方形の左側５６０の座標。これは、現在処理されているノードであるノードＡの子ノードａ（すなわちノード「ウマ」）に対応する長方形であるからである。
・ブール変数ＣＬＵＳＴＥＲ＿ＤＲＡＷＮ。この値は今回はＴｒｕｅである。
・ＣＲＩＴＩＣＡＬ＿ＶＡＬＵＥ＝５。
【００５７】
ノード「ウマ」の処理中の再帰のレベルは、図８にレベル６２４として示されている。図４の処理ステップの説明に戻って、ステップ４０４のテストは今度は偽である。ノード「ウマ」の非類似度は０であって、これはＣＲＩＴＩＣＡＬ＿ＶＡＬＵＥ＝５より小さいが、ＣＬＵＳＴＥＲ＿ＤＲＡＷＮ＝Ｔｒｕｅであるからである。制御はステップ４１０に移る。現在のノードがリーフノードであるため、制御はステップ４２４に移る。ステップ４２４で、ノード「ウマ」のグリフ（ｈｏｒｓｅのＨ）が現在の長方形５６０内に描画される。これは、図７でノード「ウマ」の処理に関してグリフ５６２として示されている。制御は次にステップ４２６に移り、図８に示すように、再帰レベル６２４は終了し、処理は再帰レベル６２２に戻る。再帰レベル６２２に戻ることにより、制御はステップ４２２に移る。ステップ４２２で、分割ルーチンがノードＡの子ノードｂ（すなわちノード「ウシ」）に対して再帰的に呼び出される。
【００５８】
分割ルーチンは、以下のパラメータを渡すことによって呼び出される。
・ノード「ウシ」。これは、これから処理されるノードである。
・ノードＡの処理中に分割された長方形５６４の座標。これは、現在処理されているノードであるノードＡの子ノードｂ（すなわちノード「ウシ」）に対応する長方形であるからである。
・ブール変数ＣＬＵＳＴＥＲ＿ＤＲＡＷＮ。この値はＴｒｕｅである。
・ＣＲＩＴＩＣＡＬ＿ＶＡＬＵＥ＝５。
【００５９】
ノード「ウシ」の処理中の再帰のレベルは、図８にレベル６２６として示されている。図４の処理ステップの説明に戻って、ステップ４０４のテストは偽である。ノード「ウシ」の非類似度は０であって、これはＣＲＩＴＩＣＡＬ＿ＶＡＬＵＥ＝５より小さいが、ＣＬＵＳＴＥＲ＿ＤＲＡＷＮ＝Ｔｒｕｅであるからである。制御はステップ４１０に移る。現在のノードがリーフノードであるため、制御はステップ４２４に移る。ステップ４２４で、ノード「ウシ」のグリフ（ｃｏｗのＣ）が現在の長方形５６４内に描画される。これは、図７でノード「ウシ」の処理に関してグリフ５６６として示されている。制御は次にステップ４２６に移り、図８に示すように、再帰レベル６２６は終了し、処理は再帰レベル６２２に戻る。再帰レベル６２２に戻ることにより、制御はステップ４２６に移り、処理は再帰レベル６０２に戻る。再帰レベル６０２に戻ることにより、制御はステップ４２６に移り、この再帰的方法が終了する。
【００６０】
処理が終了すると、図２のツリーの視覚化が、選択した非類似度の値５で、図９に示すように、ディスプレイ７００として行われる。このディスプレイ７００は、コンピュータディスプレイスクリーン１０２（図１）上に表示される。
【００６１】
本発明の１つの特徴によれば、分割ルーチンが別のＣＲＩＴＩＣＡＬ＿ＶＡＬＵＥで再実行された場合、表示されるグループ分けは変わるが、個々のデータ項目の相対位置は同じままとなる。例えば、図９は、ＣＲＩＴＩＣＡＬ＿ＶＡＬＵＥが５にセットされたときに結果として得られるディスプレイ７００を示している。図１０は、ＣＲＩＴＩＣＡＬ＿ＶＡＬＵＥが２．５にセットされたときに結果として得られるディスプレイ８００を示している。個々のデータ項目はすべて、図９と同じ位置に示されていることに注意すべきである。変わっているのは表示グループ分けのみである。本発明のこの特徴は、異なる非類似レベルをユーザが比較する際に有益である。
【００６２】
以上、本発明の実施例について説明したが、当業者であれば、さまざまな変形例を考えることが可能である。例えば、本発明を２進ツリーに関して説明したが、本発明は、他のタイプのツリーを用いても実施することが可能である。このような実施例では、分割比計算は必ずしも一対一分割ではなく、各子ノードにおけるデータ項目（すなわちリーフ）の個数の比になる。例えば、１個、２個、５個および９個のデータ項目を含む４個の子ノードを有する内部ノードは比１：２：５：９に分割される。さらに、各子ノードごとに１回の呼出しが必要なので、追加の再帰呼出しが必要になることもある。
【００６３】
【発明の効果】
以上述べたごとく、本発明によれば、階層的クラスタリングされたデータのビューを生成し表示する技術が改善される。具体的には、ツリーマップの生成は、与えられたレベルで非類似性にかかわらずにツリーを切断する従来技術とは異なり、データクラスタの非類似性の尺度に基づいて表示グループ分けを生成することによって、改善される。
【図面の簡単な説明】
【図１】本発明を実現するように構成することが可能なコンピュータシステムのコンポーネントの概略図である。
【図２】階層的クラスタリング方法の適用により得られるツリーの図である。
【図３】ツリーマップ例の図である。
【図４】本発明に従って実行されるステップを示す流れ図である。
【図５】ツリー例の処理に従って、処理の各段階での進行中の処理と、結果として得られるツリーマップを示す図である。
【図６】ツリー例の処理に従って、処理の各段階での進行中の処理と、結果として得られるツリーマップを示す図である。
【図７】ツリー例の処理に従って、処理の各段階での進行中の処理と、結果として得られるツリーマップを示す図である。
【図８】ツリー例の処理中の再帰のレベルの説明図である。
【図９】本発明により生成されるディスプレイ例の図である。
【図１０】本発明により生成されるディスプレイ例の図である。
【符号の説明】
１００  コンピュータシステム
１０２  ディスプレイモニタ
１０４  キーボード
１０６  マウス
１０８  コンピュータプロセッサ
１１０  メモリユニット
１２０  不揮発性記憶装置
２００  ツリー
７００  ディスプレイ
８００  ディスプレイ
【図１】
0003554676.tif 000003
【図２】
0003554676.tif 000004
【図３】
0003554676.tif 000005
【図４】
0003554676.tif 000006
【図５】
0003554676.tif 000007
【図６】
0003554676.tif 000008
【図７】
0003554676.tif 000009
【図８】
0003554676.tif 000010
【図９】
0003554676.tif 000011
【図１０】
0003554676.tif 000012