(57)【要約】【課題】  機械学習手法を活用して目標変数のデータパースペクティブを構成する条件付け変数の自動生成を実現する。【解決手段】  目標変数の最良の目標変数プレディクタを決定し、分析し、これを使用して、目標変数に関する情報をユーザに伝えるのを容易にする。目標変数プレディクタとして使用される連続変数および離散変数を自動的に離散化して、その細かさを確立する。複雑さパラメータおよび／またはユーティリティパラメータを指定して、最良の目標変数プレディクタ対条件付け変数の複雑さおよび／またはユーティリティの分析を介してデータパースペクティブの生成を容易にする。データパースペクティブの条件付け変数（すなわち目標変数プレディクタ）を調整して、最適のビューを提供し、かつ／またはデータパースペクティブの生成を案内し／制御するためにユーザからの制御入力を受け入れる。【選択図】  図１
2005302040.tif 000002
【特許請求の範囲】
【請求項１】
データパースペクティブ生成を容易にするシステムであって、
データベースからの目標変数を含むユーザ指定の入力データを受け取るコンポーネントと、
少なくとも部分的に前記ユーザ指定の入力データおよび前記データベースから導出される、前記目標変数のデータパースペクティブの少なくとも１つの条件付け変数の自動生成を実現する生成コンポーネントと
を含むことを特徴とするシステム。
【請求項２】
前記データパースペクティブは、ピボットテーブルおよび多次元分析（ＯＬＡＰ）キューブからなる群から選択される少なくともその１つを含むことを特徴とする請求項１に記載のシステム。
【請求項３】
少なくとも１つの自動的に生成された条件付け変数を使用して、前記データパースペクティブを自動的に生成するデータパースペクティブコンポーネント
をさらに含むことを特徴とする請求項１に記載のシステム。
【請求項４】
前記データパースペクティブコンポーネントは、少なくとも部分的に機械学習手法に基づいて、ユーザへの提示の質を高めるために前記データパースペクティブのユーザビューをさらに自動的に調整することを特徴とする請求項３に記載のシステム。
【請求項５】
前記システムは、少なくとも１つのユーザ制御入力を使用することを特徴とする請求項４に記載のシステム。
【請求項６】
前記生成コンポーネントは、前記条件付け変数の前記自動生成を容易にする少なくとも１つの機械学習手法を使用することを特徴とする請求項１に記載のシステム。
【請求項７】
前記機械学習手法は、前記目標変数の前記データパースペクティブのトップセットおよび左セットからなる群から選択される少なくとも１つについて少なくとも１つの条件付け変数を特定することを特徴とする請求項６に記載のシステム。
【請求項８】
前記条件付け変数は、ユーザ制御入力を介して制御可能であることを特徴とする請求項７に記載のシステム。
【請求項９】
前記機械学習手法は、前記目標変数を予測する能力対前記条件付け変数の複雑さに基づいて前記条件付け変数を特定することを特徴とする請求項７に記載のシステム。
【請求項１０】
前記機械学習手法は、さらに、前記条件付け変数を特定する際に変数のユーティリティを適用することを特徴とする請求項９に記載のシステム。
【請求項１１】
前記機械学習手法は、前記条件付け変数の特定を容易にする少なくとも１つの完全な決定木を使用することを特徴とする請求項７に記載のシステム。
【請求項１２】
前記機械学習手法は、前記完全な決定木を構成する少なくとも１つのヒューリスティック方法（発見的方法）を使用することを特徴とする請求項１１に記載のシステム。
【請求項１３】
前記条件付け変数は、離散条件付け変数および連続条件付け変数からなる群から選択される少なくとも１つを含むことを特徴とする請求項７に記載のシステム。
【請求項１４】
前記機械学習手法は、さらに、離散化を介して前記条件付け変数の細かさを自動的に決定することを特徴とする請求項１３に記載のシステム。
【請求項１５】
前記細かさは、ユーザ制御入力を介して調整可能であることを特徴とする請求項１４に記載のシステム。
【請求項１６】
前記機械学習手法は、前記目標変数を予測する能力対前記条件付け変数の前記複雑さに基づいて前記条件付け変数の前記細かさを決定することを特徴とする請求項１４に記載のシステム。
【請求項１７】
前記機械学習手法は、さらに、前記条件付け変数の前記細かさを特定する際に条件付け変数の細かさのユーティリティを適用することを特徴とする請求項１６に記載のシステム。
【請求項１８】
前記機械学習手法は、前記条件付け変数の前記細かさの決定を容易にする少なくとも１つの完全な決定木を使用することを特徴とする請求項１６に記載のシステム。
【請求項１９】
前記機械学習手法は、前記完全な決定木を構成する少なくとも１つのヒューリスティック方法を使用することを特徴とする請求項１８に記載のシステム。
【請求項２０】
前記機械学習手法は、前記連続条件付け変数の少なくとも１つの範囲を自動的に決定し、前記範囲を新しい条件付け変数として表すことを特徴とする請求項１３に記載のシステム。
【請求項２１】
前記範囲は、ユーザ制御入力を介して調整可能であることを特徴とする請求項２０に記載のシステム。
【請求項２２】
前記機械学習手法は、前記目標変数を予測する能力対前記条件付け変数の前記複雑さに基づいて前記連続条件付け変数の前記範囲を決定することを特徴とする請求項２０に記載のシステム。
【請求項２３】
前記機械学習手法は、さらに、前記連続条件付け変数の前記範囲を特定する際に連続変数の範囲のユーティリティを適用することを特徴とする請求項２２に記載のシステム。
【請求項２４】
前記機械学習手法は、前記条件付け変数の前記範囲の決定を容易にする少なくとも１つの完全な決定木を使用することを特徴とする請求項２２に記載のシステム。
【請求項２５】
前記機械学習手法は、前記完全な決定木を構成する少なくとも１つのヒューリスティック方法を使用することを特徴とする請求項２４に記載のシステム。
【請求項２６】
データパースペクティブ再生を容易にする方法であって、
データベースからの目標変数を含むユーザ指定の入力データを受け取るステップと、
少なくとも部分的に前記ユーザ指定の入力データおよび前記データベースから導出される、前記目標変数のデータパースペクティブの少なくとも１つの条件付け変数を自動的に生成するステップと
を含むことを特徴とする方法。
【請求項２７】
前記データパースペクティブを自動的に生成するステップは、
前記条件付け変数の自動的生成を容易にする少なくとも１つの機械学習処理を使用するステップ
をさらに含むことを特徴とする請求項２６に記載の方法。
【請求項２８】
前記機械学習処理は、
前記目標変数の前記データパースペクティブのトップセットおよび左セットからなる群から選択される少なくとも１つに関する少なくとも１つの条件付け変数を特定するステップであって、前記条件付け変数は、前記目標変数を予測する能力対前記条件付け変数の複雑さに基づいて特定されるステップと、
離散条件付け変数の細かさを自動的に決定するステップであって、前記条件付け変数の前記細かさは、前記目標変数を予測する能力対前記条件付け変数の前記複雑さに基づくステップと、
連続条件付け変数の少なくとも１つの範囲を決定し、前記範囲を新しい条件付け変数として表すステップであって、前記条件付け変数の前記範囲は、前記目標変数を予測する能力対前記条件付け変数の前記複雑さに基づくステップと
を含むことを特徴とする請求項２７に記載の方法。
【請求項２９】
前記条件付け変数を特定するステップは、
前記目標変数を最もよく予測する少なくとも１つの最適条件付け変数およびその細かさを決定するために少なくとも１つの完全な決定木を使用するステップであって、前記完全な決定木は、少なくとも１つのヒューリスティック方法を使用して構成されるステップ
を含むことを特徴とする請求項２８に記載の方法。
【請求項３０】
前記ヒューリスティック方法は、
前記完全な決定木を含む単一の決定木を学習するステップと、
前記単一の決定木を、予測変数および前記予測変数の対応する値のセットに変換するステップと、
予測変数およびその細かさの少なくとも１つの最適セットを見つけるために、前記単一の決定木の少なくとも１つの部分木から検索するステップと
を含むことを特徴とする請求項２９に記載の方法。
【請求項３１】
少なくとも１つの部分木から検索するステップは、
予測変数なしのルートノードを有する第１部分木を選択するステップと、
前記単一の決定木から単一の分割を追加することによって第２部分木を選択するステップであって、前記単一の分割は、最適スコアに関する分割の評価を介して選択されるステップと、
最適スコアを増やす追加の分割がないことの発生および前記単一の決定木と等しい前記第２部分木の発生からなる群から選択される少なくとも１つのとき停止するステップと
を含むことを特徴とする請求項３０に記載の方法。
【請求項３２】
少なくとも１つのユーザ制御入力に基づいて、条件付け変数、条件付け変数の細かさ、および連続条件付け変数の範囲からなる群から選択される少なくとも１つを調整するステップ
をさらに含むことを特徴とする請求項２８に記載の方法。
【請求項３３】
条件付け変数、条件付け変数の細かさ、および連続条件付け変数の範囲からなる群から選択される少なくとも１つの特定および／または決定を容易にするためにユーティリティ値を適用するステップ
をさらに含むことを特徴とする請求項２８に記載の方法。
【請求項３４】
少なくとも１つの自動的に生成された条件付け変数を使用して前記データパースペクティブを自動的に生成するステップ
をさらに含むことを特徴とする請求項２６に記載の方法。
【請求項３５】
少なくとも部分的に機械学習手法に基づいて、ユーザへの提示の質を高めるために前記データパースペクティブのビューを自動的に調整するステップ
をさらに含むことを特徴とする請求項３４に記載の方法。
【請求項３６】
前記方法は、少なくとも１つのユーザ制御入力を使用することを特徴とする請求項３５に記載の方法。
【請求項３７】
前記データパースペクティブは、ピボットテーブルおよび多次元分析（ＯＬＡＰ）キューブからなる群から選択される少なくとも１つを含むことを特徴とする請求項２６に記載の方法。
【請求項３８】
データパースペクティブ生成を容易にするシステムであって、
データベースからの目標変数を含むユーザ指定の入力データを受け取る手段と、
少なくとも部分的に前記ユーザ指定の入力データおよび前記データベースから導出される、前記目標変数のデータパースペクティブの少なくとも１つの条件付け変数を自動的に生成する手段と
を含むことを特徴とするシステム。
【請求項３９】
データパースペクティブ生成を容易にする、複数のコンピュータコンポーネントの間で伝送されるデータパケットであって、データベースからの目標変数のデータパースペクティブの少なくとも１つの条件付け変数を自動的に生成するために、前記データベースの前記目標変数を含むユーザ指定のデータを少なくとも部分的に使用するデータパースペクティブ生成システムに関係する情報を少なくとも部分的に含むことを特徴とするデータパケット。
【請求項４０】
請求項１に記載のシステムのコンピュータ実行可能コンポーネントが記憶されていることを特徴とするコンピュータ読取可能媒体。
【請求項４１】
コンピュータ、サーバ、およびハンドヘルド電子デバイスからなる群から選択される少なくともその１つを含む、請求項２６に記載の方法を使用することを特徴とするデバイス。
【請求項４２】
コンピュータ、サーバ、およびハンドヘルド電子デバイスからなる群から選択される少なくともその１つを含む、請求項１に記載のシステムを使用することを特徴とするデバイス。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、全般的にはデータマイニングに関し、より詳細には、ユーザ指定の入力に基づくデータパースペクティブ（data perspective；直訳すると、データのバランスのとれた見方、データの大局観）の条件付け変数（conditioning variable）の自動生成を実現するシステムおよび方法に関する。
【背景技術】
【０００２】
情報のデジタル化は、膨大な量のデータを、信じられないほど狭いスペースに記憶することを可能にする。この処理は、たとえば、図書館の内容を記憶し、単一のコンピュータハードディスクにキャプチャすることを可能にする。これが可能なのは、データが、ハードドライブ、ＣＤ−ＲＯＭディスク、およびフロッピー（登録商標）ディスクなどの様々なタイプのデジタル記憶媒体にデジタル符号化装置を介して記憶できる２進データの状態に変換されるからである。デジタル記憶技術が進歩するに連れて、記憶装置の密度は、実質的により多くのデータを所与のスペースに記憶することを可能にし、データの密度は、主に物理的特性および製造プロセスによって制限される。
【０００３】
記憶容量が増えるにつれて、効果的なデータ検索という課題も増大し、データが簡単にアクセス可能であることが重要事項になる。たとえば、図書館が、ある本を有するが、それを突き止めることができないと、その本を読みたいと望む図書館利用者の助けにならない。同様に、単にデータをデジタル化するだけでは、それに簡単にアクセスできない限り、情報の提供を申し出ることにはならない。このことは、データ検索を容易に効率的にできるデータ構造の創設を引き起こすこととなった。これらのデータ構造は、一般に「データベース」と称されている。データベースには、データへの効率的なアクセスを提供する構造化されたフォーマットのデータが含まれる。データストレージ（データ記憶）を構造化すると、データを取り出す際に、構造化されないデータストレージによるよりも効率が高められる。インデクシング（指標付け、索引作業）および他の編成手法も適用することができる。データの間の関係も、データと共に記憶し、データの価値を高めることができる。
【０００４】
データベース開発の初期には、ユーザは、一般に、「生データ（未加工データ、原資料）」またはデータベースに入力されたとおりに表示されるデータを見ることになる。より効率的な形でデータをフォーマットし、操作し、表示できるようにする手法が、ついに開発された。これによって、たとえば、ユーザが、データに数学演算子を適用することが、さらにはレポートを作成することが可能になった。ビジネスユーザは、個々の売上だけを含むデータベース内のデータから、「総売上」などの情報にアクセスすることができるようになった。使いやすい利用者本位のフォーマットでのデータの取り出しおよび表示をさらに容易にするために、ユーザインターフェースの開発が続けられた。ユーザは、ついに、個々の売上からの総売上などのデータの様々なビュー（視察）により、データベース内の生データから追加情報（付加情報）を得ることができることを、高く評価するようになった。この追加データを探り出すことを、「データマイニング（大量のデータからある傾向を取り出すこと）」と称し、これによって「メタデータ」（すなわち、データに関するデータ；例えばデータを管理するための情報）が作られる。データマイニングを用いると、生データから追加情報を抽出できるようになる。これは、情報が、データベースの生入力データだけから生じるものを超えて、ビジネス上の売上および生産高の説明を見つけられるので、ビジネスにとって特に有用である。
【０００５】
このように、データ操作によって、非常に重要な情報を生データから抽出できるようになる。このデータの操作は、記憶されたデータのデジタル的な性質のゆえに可能になる。膨大な量のデジタル化されたデータを、手作業によって試みた場合よりも大幅に高速に、色々な側面から見ることができる。データについての各新規なパースペクティブによって、ユーザが、データに関する追加の洞察を得ることが可能である。これは、それがあると商売を成功させ、あるいはそれがないと失敗させることができる非常に強力なコンセプト（基本構想）である。たとえば、傾向分析、因果分析、影響度調査、および予測を、データベースに入力された生データから割り出すことができ、それらの数値データおよび適時性は、デジタル化された情報に直観的に、使いやすい利用者本位にアクセスすることができることによって示される。
【発明の開示】
【発明が解決しようとする課題】
【０００６】
現在、データマイニング機能を高めるためのデータ操作は、どのようにデータを見て所望のパラメータを抽出するのが最適かを操作プログラムに指示するために、かなりのユーザの入力および知識を必要とする。これは、ユーザが、データの深い知識と、データから探り出すことができるものに関する洞察を有することを必要とする。この事前の知識がなければ、ユーザは、所望の追加情報（マイニングされたデータ）を取り出すために、データの正しいパースペクティブをたまたま見つけることを期待して、「いきあたりばったり」のやり方を試みなければならない。この手法は、通常、アドバンスドユーザ（上級ユーザ）の技量を超え、かつ／または上級ユーザにとって時間がかかりすぎる。記憶されたデータの量は、一般に膨大、かつユーザとの関係において非常に複雑であり、ユーザは、関連する貴重な情報についてデータをマイニングするために使用可能な戦略を効率的に展開することができない。したがって、ユーザが、どの特定の情報（すなわち「目標変数」）を抽出したいかを知っている可能性があるという事実にかかわらず、ユーザは、所望のマイニングされたデータ（mined data）を提供するデータのパースペクティブを見られるようにする的確な次元パラメータ（たとえば表示パラメータ）も知っていなければならない。
【課題を解決するための手段】
【０００７】
以下では、本発明のいくつかの態様を基本的に理解するために、本発明の簡単な概要を提供する。この概要は、本発明の広範な全体像ではない。本発明の主要な／重要な要素を特定すること、または本発明の範囲を線引きすることは、意図されていない。その唯一の目的は、後で示すより詳細な説明の前置きとして、単純化された形で本発明のいくつかの概念（コンセプト）を提示することである。
【０００８】
本発明は、全般的にはデータマイニングに関し、具体的には、ユーザ指定の入力に基づくデータパースペクティブの自動生成を実現するシステムおよび方法に関する。機械学習手法を活用して、所与の目標変数の条件付け変数の自動生成を実現する。これによって、たとえばピボットテーブルおよび／またはＯＬＡＰ（多次元分析）キューブビューワなどのデータパースペクティブの、ユーザが望むパラメータおよびデータベースからの構成が可能になる。自動データパースペクティブ生成を実現することによって、本発明は、経験不足のユーザが、データベースから追加の貴重な情報を探り出すか、あるいは「データマイニングする（data mine）」ことを可能にする。本発明は、所与の目標変数の最良の目標変数プレディクタ（predictor：予測の判断材料）を決定し、分析し、これらを使用して、目標変数に関する情報をユーザに伝達するのを容易にする。本発明は、目標変数プレディクタとして使用される連続変数および離散変数を自動的に離散化（discretize）して、その細かさ（granularity;粒度、精度）を確立し、ユーザへの情報伝達の質を高める。
【０００９】
本発明の他の実例では、ユーザが、複雑さパラメータ（complexity parameter）を指定して、最良の目標変数プレディクタおよびその複雑さのセット（たとえば、条件付け変数の複雑さ）を決定する際のデータパースペクティブの自動生成を容易にすることもできる。また、本発明は、データパースペクティブの条件付け変数（すなわち、目標変数プレディクタ）を調整して、最適のビューを提供し、かつ／またはデータパースペクティブの生成を導き／制御するためにユーザからの制御入力を受け入れる。したがって、本発明は、初心者ユーザでも最大の最も複雑なデータベースから素早く情報をマイニングできるようにする、強力で直観的な手段を提供する。
【００１０】
上述したまた関連する目的を達成するために、本発明のいくつかの例示的な態様を、以下の説明および添付図面に関して本明細書で説明する。しかし、これらの態様は、本発明の原理を用いてできる様々なタイプの少数の例にすぎず、本発明は、そのような態様および同等物のすべてを含むことが意図されている。本発明の他の長所および新規の特徴は、添付図面と併せて考慮される時の本発明の以下の詳細な説明から明白になる。
【発明を実施するための最良の形態】
【００１１】
本発明を、図面を参照してこれから説明するが、図面では、同符号が、図面全体を通じて同様な要素を指すのに使用される。以下の説明で、説明のために、本発明の完全な理解を提供するために多数の特定の詳細を示す。しかし、本発明を、これらの特定の詳細なしで実践できることは明白であろう。他の場合に、本発明の説明を容易にするために、周知の構造およびデバイスはブロック図形式で示した。
【００１２】
本明細書で使用される用語「コンポーネント」(component)は、ハードウェア、ハードウェアおよびソフトウェアの組合せ、ソフトウェア、または実行中のソフトウェアのいずれであれ、コンピュータ関連のエンティティー（要素、実体）を指すことが意図されている。たとえば、コンポーネントは、プロセッサで動作中のプロセス、プロセッサ、オブジェクト、実行可能ファイル、実行のスレッド、プログラム、および／またはコンピュータとすることができるが、これらであることに制限はされない。例として、サーバで動作中のアプリケーションとサーバの両方を、コンピュータコンポーネントとすることができる。１つまたは複数のコンポーネントが、１つのプロセスおよび／または実行のスレッドに常駐することができ、１つのコンポーネントが、１つのコンピュータにローカライズされ、かつ／または複数のコンピュータの間で分散されることができる。「スレッド」（thread; 発言とそれに対するコメントからなる一連のメッセージ群）は、オペレーティングシステムカーネルが実行についてスケジューリングする、プロセス内のエンティティー（要素、実体）である。当業者に周知のように、各スレッドは、スレッドの実行に関連する揮発性データである関連する「コンテキスト」（文脈）を有する。スレッドのコンテキストに、そのスレッドのプロセスに属するシステムレジスタの内容および仮想アドレスが含まれる。したがって、スレッドのコンテキストを含む実際のデータは、そのスレッドが実行されたとき変化する。
【００１３】
本発明は、データベースのデータマイニングを容易にするデータパースペクティブを自動的に生成することによって、ユーザを支援するシステムおよび方法を提供する。本発明の１つの実例では、ユーザが、関心のあるデータを選択し、目標変数、集約関数、および結果のテーブルがどれほど複雑にならなければならないかを決定する「複雑さ」パラメータを指定する。次に、本発明は、機械学習手法を使用して、たとえば、Ｍｉｃｒｏｓｏｆｔ  Ｅｘｃｅｌ商標のスプレッドシート（表計算）ピボットテーブルのトップセットおよび左セット（ピボットテーブルは、関心を持ったデータの所望のビューまたは「パースペクティブ」を得るためにスプレッドシートおよび／またはデータベーステーブル内のデータの選択された列および行をユーザが再編成し、要約できるようにするデータ表示の道具である）など、どの条件付け変数をデータパースペクティブに含めるかを特定する。さらに、これらの変数のそれぞれの細かさを、連続変数および離散変数の両方の自動的離散化によって決定する。連続変数の範囲は、自動的に査定され、最適の変数範囲のために新しい代表変数が割り当てられる。これによって、本発明は、データの最良のビュー／パースペクティブを、目標変数に関する最良のプレディクタ／条件付け変数と共に提供できるようになる。同様に、本発明は、ＯＬＡＰキューブなどのような複数次元（プレディクタ／条件付け変数）を提供するのにも使用することができる。ＯＬＡＰキューブは、素早く、かつ信頼性があり、対話型のプロセスを介して情報への洞察を可能にする集約データの多次元ビューである。
【００１４】
図１に、本発明の一実施形態による、自動データパースペクティブ生成システム１００のブロック図を示す。自動データパースペクティブ生成システム１００は、入力データ１０４を受け取り、データベース１０６にアクセスするデータパースペクティブ生成コンポーネント１０２が含まれる。データパースペクティブ生成コンポーネント１０２は、出力データ１０８を自動的に生成し、この出力データ１０８には、ピボットテーブルおよび／またはＯＬＡＰキューブならびに類似物が含まれるが、これに制限はされない。本発明の他の実例を、所与の目標変数に関するプレディクタ／条件付け変数の自動生成ソースとして使用することもできる。したがって、本発明は、完全なピボットテーブルおよび／またはＯＬＡＰキューブならびに類似物を完全には生成しない（すなわち、集約関数を使用しない）システムで使用することができる。入力データ１０４は、たとえば目標変数および関心を持ったデータなどの情報を提供する。これらのパラメータは、本発明が目標変数を最もよく予測する条件付け変数を自動的に分析し、生成することを可能にする。データパースペクティブ生成コンポーネント１０２は、データベース１０６にアクセスして、入力データ１０４に基づくデータパースペクティブ生成に使用される関連データを取り出す。入力データ１０４は、一般に、データパースペクティブを生成するのに使用されるパラメータを選択するユーザ１１０から発する。
【００１５】
当業者は、オプションの他のデータソース１１２によって表されるように、本発明によって追加のデータおよびソースを使用できることを十分理解することができる。他のデータソース１１２は、入力データ１０４におよび／またはデータパースペクティブ生成コンポーネント１０２にパラメータを供給することができる。他のデータソース１１２に、環境コンテキストデータ（たとえば、ユーザコンテキスト環境）、ユーザプロファイルデータ、総合的なシステムユーティリティ情報（たとえば、経費節約対策に向けて結果を必ずゆがめるように指定されたシステム）、使用可能な代替データベースデータ（たとえば、目標変数のよりよいプレディクタを提供できる代替ソースからのデータの選択および／または取出に関する分析情報）、ならびに類似物を含めることができるが、これに制限はされない。
【００１６】
本発明の他の実例では、ユーザ１１０が、データパースペクティブ生成コンポーネント１０２と対話し、自動データパースペクティブ生成に関するユーザ制御／フィードバックを提供することができる。たとえば、ユーザ１１０は、データパースペクティブが構成される前に、自動的に選択された条件付け変数を再検討し、調整し、かつ／または拒否することができる。適当なデータベース選択、データソース、および／または連続条件付け変数の範囲の適当さならびに類似物などの追加の制御／フィードバックも、本発明によって使用することができる。これらの例は、例示であることだけを意味し、本発明の範囲を制限することを意味しない。
【００１７】
図２を参照すると、本発明の態様による、自動データパースペクティブ生成システム２００のもう１つのブロック図が示されている。自動データパースペクティブ生成システム２００は、データパースペクティブ生成コンポーネント２０２からなり、データパースペクティブ生成コンポーネント２０２は、ユーザ２０８から入力データ２１０から２２０を受け取り、入力データ２１０から２２０およびデータベース２２２に基づいて出力データ２２４を自動的に生成する。入力データ２１０から２２０は、本発明のこの実例では、関心を持ったデータ２１０、目標変数２１２、複雑さパラメータ２１４、ユーティリティパラメータ２１６、集約関数２１８、および他の入力データ２２０からなる。通常、ユーザ２０８が、入力データ２１０から２２０を供給するが、本発明の他の実例は、ユーザ２０８以外のソースから入力データ２１０から２２０を受け入れることができる。同様に、本発明の一部の実例は、入力データ２１０から２２０によって表されるデータのすべてを必要とはしない。本発明の諸実例は、入力データとして関心を持ったデータ２１０および目標変数２１２だけを用いて適当に機能する。本発明のこれらの実例は、入力データ複雑さパラメータ２１４として、デフォルトの固定された複雑さパラメータを前提とし、かつ／または内部でおよび／または外部で生成された動的複雑さパラメータを使用することができる。同様に、ユーティリティパラメータ２１６を、オプションの入力データとすることができ、かつ／またはユーザプリファレンスおよび／またはユーザプロファイルなどに基づいて内部で生成することができる。本発明の他の実例は、出力データ２２４として条件付け変数を生成し、したがって、集約関数２１８を使用も／要求もしない。集約関数２１８は、たとえば、ピボットテーブルの合計関数など、データパースペクティブの構成中に使用される。他の入力データ２２０に、環境データ、ユーザプロファイルデータ、ユーザプリファレンス、および総合的なシステム機能目標ならびに類似物を含めることができるが、これに制限はされない。
【００１８】
データパースペクティブ生成コンポーネント２０２は、変数決定コンポーネント２０４およびデータパースペクティブビルダコンポーネント２０６からなる。本発明の通常の実例では、変数決定コンポーネント２０４は、関心を持ったデータ２１０、目標変数２１２、および複雑さパラメータ２１４を受け取る。変数決定コンポーネント２０４は、これらの入力を使用して、データベース２２２に基づいて、目標変数２１２の最良のプレディクタ／条件付け変数を特定し、決定する。変数決定コンポーネント２０４は、特定された連続条件付け変数の範囲を含む条件付け変数の細かさも自動的に決定する。変数決定コンポーネント２０４は、機械学習手法を使用して、目標変数２１２の最良のプレディクタを見つけるのを容易にする。データパースペクティブビルダコンポーネント２０６は、選択された条件付け変数を受け取り、これらの条件付け変数、データベース２２２、および集約関数２１８に基づいてデータパースペクティブを構成する。データパースペクティブビルダコンポーネント２０６は、出力データ２２４としてデータパースペクティブを出力する。データパースペクティブは、ピボットテーブルおよび／またはＯＬＡＰキューブならびに類似物とすることができるが、これに制限はされない。本発明の他の実例では、データパースペクティブビルダコンポーネント２０６が、オプションであり、出力データ２２４が、変数決定コンポーネント２０４からの特定された条件付け変数からなり、集約関数２１８の使用が否定される。
【００１９】
変数決定コンポーネント２０４は、条件付け変数特性入力を使用して、条件付け変数の特定を制御し／これに影響することができる。本発明の他の実例は、これらの条件付け変数特性入力を使用しない。この入力に、複雑さパラメータ２１４、ユーティリティパラメータ２１６、および類似物が含まれる。条件付け変数特性入力は、変数決定コンポーネント２０４によって、その機械学習プロセスで使用されて、データパースペクティブに所望の特性が組み込まれる。この特性には、データパースペクティブの複雑さ、データパースペクティブのユーティリティ、および類似物が含まれるが、これに制限はされない。当業者は、本発明の範囲内で他の特性を組み込めることを理解することができる。
【００２０】
図３に移ると、本発明の態様による、自動データパースペクティブ生成システム３００のもう１つのブロック図が示されている。自動データパースペクティブ生成システム３００は、データパースペクティブ生成コンポーネント３０２からなり、データパースペクティブ生成コンポーネント３０２は、入力データ３０４を受け取り、入力データ３０４およびデータベース（図示せず）に基づいて、出力データ３０６を自動的に生成する。入力データ３０４には、目標変数および関心を持ったデータが含まれるが、これに制限はされない。データパースペクティブ生成コンポーネント３０２は、オプションのデータ前置フィルタコンポーネント３０８、変数決定コンポーネント３１０、およびデータパースペクティブビルダコンポーネント３１２からなる。オプションのデータ前置フィルタコンポーネント３０８は、入力データ３０４を受け取り、たとえばオプションのユーザコンテキストデータ３２０に基づいて、入力データ３０４のフィルタリングを実行する。これによって、処理の前に入力データ３０４を条件付けて、データパースペクティブ生成コンポーネント３０２がどのデータをどのように使用するかにおける柔軟性を可能にすることができるようになる。変数決定コンポーネント３１０は、変数オプティマイザコンポーネント３１４、決定木ジェネレータコンポーネント３１６、および決定木エバリュエータ（評価）コンポーネント３１８からなる。変数オプティマイザコンポーネント３１４は、データ前置フィルタコンポーネント３０８からオプションでフィルタリングされた入力データを受け取り、完全な決定木ラーナー（ｌｅａｒｎｅｒ）などの機械学習手法を使用することによって、目標変数に最良のプレディクタを特定する（決定木は、木のすべてのパスが、その木で使用されるすべての予測変数（プレディクタ変数）の値の範囲の独自のセットを定義し、これらの変数の値のすべての組合せがその木に含まれる場合に、完全である）。したがって、本発明のこの実例では、予測変数なし（プレディクタがない自明な決定木に対応する）から開始して、変数決定コンポーネント３１０が、最長マッチで、次のように予測変数およびその細かさの最良のセットを決定する。決定木ジェネレータコンポーネント３１６は、変数オプティマイザコンポーネント３１４から初期データを受け取り、現在の最良の決定木より１つ多い予測変数または現在の最良の決定木の変数のもう１つの分割のいずれかを用いて完全な決定木を生成する。この代替の完全な決定木のスコアは、決定木エバリュエータコンポーネント３１８によって評価される。変数オプティマイザコンポーネント３１４は、決定木スコアを受け取り、その特定の木が現在最高のスコアを有する完全な決定木であるかどうかに関する決定を行う。変数決定コンポーネント３１０は、条件付け変数およびその細かさの最高スコアのセットが見つかるまで、決定木の作成、評価、および最適決定を継続する。データパースペクティブビルダコンポーネント３１２は、最適の条件付け変数を受け取り、集約関数３２２を使用して、データパースペクティブを自動的に構成し、このデータパースペクティブが、出力データ３０６として出力される。
【００２１】
上記の例のシステムは、本発明によって提供される処理を使用するのに使用される。これらの処理は、経験不足のユーザによる場合であっても効率的なデータマイニングを可能にする。本発明は、データパースペクティブの自動生成を実現する機械学習手法を使用することによって、これを達成する。これらの手法が本発明にどのように組み込まれるかをよりよく理解するために、たとえばピボットテーブルなど、様々なデータパースペクティブのコンパイルコンポーネントを理解することが役に立つ。ピボットテーブルは、データベースからの大量のデータを効率的に組み合わせ、比較する、対話型のテーブルである。ピボットテーブルの行および列を操作して、関心を持った領域の詳細の表示を含めて、ソースデータの様々な異なる要約を見ることができる。これらのデータパースペクティブは、ユーザが関連する総計を分析したい時、特に、合計すべき数字の長いリストがあり、各数字に関する複数の事実を比較することが望ましいとき使用することができる。
【００２２】
ピボットテーブルのより技術的な説明は、他の変数の値に条件付けながら、目標変数の集約関数をユーザが見られるようにするテーブルである。条件付け変数は、ピボットテーブルでは２つのセット、トップセットおよび左セットに分類される。このテーブルには、トップセットの変数のドメインのクロス乗積の値のすべての別個のセットの列が含まれる。このテーブルには、左セットの変数のドメインのクロス乗積の値のすべての別個のセットの行が含まれる。たとえば、トップセットが、それぞれが２つおよび３つの状態を有する２つの離散変数からなる場合に、６つの列を有するテーブルがもたらされ、左セット変数によって定義される行も同様である。このテーブル（表）のすべてのセル（マス目）に、データがそのセルに対応するトップセットおよび左セットの両方の値の所与のセットに制限される時の目標変数の集約関数が含まれる。
【００２３】
たとえば、地域別、販売代理人別、および月別の売上を含む売上データが存在すると仮定する。このデータのサブセットは、図４に示されているもののようになり、図４には、データベースからのデータを示す表４００が示されている。このデータの変数（すなわち列）は、地域４０２、販売代理人４０４、月４０６、および売上４０８である。売上４０８を目標変数として使用し、Ｓｕｍ（）を集約関数として使用することによって、ピボットテーブルを使用して、ピボットテーブルのトップセットの条件付け変数として地域４０２を選択し（トップセットに単一の変数である地域４０２が含まれることを指定し）、テーブルの左セットの条件付け変数として販売代理人４０４を選択し（すなわち、左セットに単一の変数である販売代理人４０４が含まれることを指定し）、集約関数にＳｕｍ（）をセットすることによって、各地域の各販売代理人に関する売上合計を見ることができる。これによって、図５に示された表５００が作られるが、図５には、所与の目標変数（たとえば売上）に関するデータパースペクティブ（たとえばピボットテーブル）が示されている。
【００２４】
上記で示したものなどの単純なデータサンプルについて、ピボットテーブルで使用される適当な条件付け変数（すなわち予測変数）を選択することは、簡単である可能性がある。選択すべき多数の変数および／または多数のデータレコードを有するより複雑な状況では、それがはるかに困難になる。本発明は、部分的に、これに関する２つの関連する問題を解決する。下記で詳細に説明するように、本発明は、条件付け変数およびこれらの変数のそれぞれの詳細（または細かさ）を自動的に選択する。
【００２５】
本質的に、本発明は、まず、入力変数およびこれらの変数の細かさのセットを決定する。次に、入力変数およびそれに対応する細かさのあらゆるセットについて、本発明は、たとえば対応する完全な決定木を評価することによって、ピボットテーブルを生成するためにそのセットの品質を決定する。完全な決定木は、木のすべてのパスが、その木で使用されるすべての予測変数の値の範囲の独自のセットを指定し、これらの変数の値の組合せのすべてがその木に含まれるものとして定義される。たとえば、図６に、完全な決定木のグラフ６００が示されている。この例では、３つの入力変数Ａ、Ｂ、およびＣがあり、ＡおよびＢは２値変数であり、Ｃは３値変数である。この例では、２進データの状態が、０および１の値によって表される。しかし、０および１の値は、代表にすぎず、当業者は、これらの状態を離散エンティティおよび／または連続エンティティの範囲とすることができることを十分理解するであろう。完全な決定木は、変数Ａ、Ｂ、およびＣの値の２×２×３＝１２個の異なる可能な組合せのそれぞれの別々の葉も備える。グラフ６００からわかるように、１つ（多数の可能なもののうちの）の完全な決定木は、変数Ａでのルート分割、次のレベルでは変数Ｂでの分割、第３レベルで変数Ｃでのすべての分割を有することができる。破線６０２は、可能な組合せ＃３が最高の評価スコアを有する、可能な最適評価パスを表す。
【００２６】
候補予測変数およびそれに対応する細かさは、「標準」決定木ヒューリスティック（heuristic;試行錯誤により問題を解決する方法）を使用して同時に特定される。したがって、任意の所与の決定木について、予測変数は、木で分割されたすべての変数として木によって定義され、細かさは、分割点自体によって定義される。たとえば、ある木が、Ｘ＝２が一方の分岐に進み、Ｘ＝１または３が他方の分岐に進む３値変数Ｘでの分割を含み、この木が、一方の分岐でＹ＜５、他方の分岐でＹ≧５を有する連続変数Ｙでの分割を含むと仮定する。この木は、両方が離散的である２つの「新しい」変数Ｘ’およびＹ’を定義し、Ｘ’は、２つの値「２」および「１または３」を有し、Ｙ’は、２つの値「＜５」および「≧５」を有する。たとえば、この木に、Ｘ＝１が一方の分岐に進み、Ｘ＝２または３が他方の分岐に進む、Ｘでの新しい分割が追加される。この新しい木は、３つの値（１、２、および３）を有する新しい変数Ｘ”を定義する。したがって、予測変数の状態は、分割によって定義される範囲の交差によって定義される。したがって、単一の決定木は、予測変数および対応するこれらの変数の値のセットに変換される。
【００２７】
本発明によって使用されるヒューリスティックは、単一の決定木を学習し、その後、その決定木の部分木を検索して、予測変数および細かさのよいセットを見つけることを可能にする。一般に検討される最初の部分木は、ルートノードであり、これは、予測変数なしに対応する。この木から開始して、「次」に検討される木は、フルの木から単一の分割を追加することによって選択される。したがって、第１の木の後に、次に可能な唯一の木は、単一のルート分割を有する木である。追加できる複数の分割がある場合に、最良の予測変数および細かさスコアを有する（すなわち、対応する完全木スコアを評価する）木が使用される。現在の木の展開は、追加の分割によってスコアが増えない（または、現在の木がフルの木まで展開された）場合に停止する。
【００２８】
本発明の１つの実例では、ユーザは、単に（１）関心を持ったデータを選択し、（２）目標変数を指定し、（３）集約関数を指定し、（４）結果のテーブルがどれほど複雑でなければならないかを決定する「複雑さ」パラメータを指定する。その後、本発明が、機械学習手法を使用して、どの変数をトップセットまたは左セットに含めるかを特定する。さらに、これらの変数のそれぞれの細かさが、連続変数および離散変数の両方の自動離散化によって決定される。伝統的に、連続変数がトップセットまたは左セットのいずれかのメンバとして指定される場合に、データ内のその変数の別個の値のそれぞれが、別々のカテゴリ的状態として扱われる。たとえば、データに、変数「Ａｇｅ」が含まれ、データに９８個の別個の年齢値がある場合に、伝統的なピボットテーブルは、９８個の状態を有するカテゴリ変数としてＡｇｅを扱う。「Ａｇｅ」をピボットテーブルの上（左）セットに追加した結果は、列（行）の数が９８倍に増えることであるが、各個々の別個の年齢によってデータを見ることが有用である可能性は低い。本発明は、連続変数の興味深い範囲を自動的に検出し、これらの範囲に対応する新しい変数を作成する。たとえば、本発明は、Ａｇｅ＞２５またはＡｇｅ≦２５であるかどうかを知っていることが重要であることを決定することができ、この場合に、本発明は、その２つの値がこれらの範囲に対応する新しいカテゴリ的変数を作成し、この新しい変数をデータパースペクティブに挿入する。色などのカテゴリ的変数について、本発明の自動離散化は、状態を一緒にグループ化することができる。たとえば、３つの色、赤、緑、および青がある場合に、本発明は、赤対他の色がより興味深い（変換される）変数であることを検出し、それをピボットテーブルのトップセットまたは左セットのメンバとして使用することができる。
【００２９】
本発明の１つの実例は、トップセットと左セットのすべての変数を与えられれば、ピボットテーブルを目標変数に関する完全なテーブル（またはこれとと同等に完全な決定木）として解釈できるという事実を利用することによって動作する。この情況でどの変数が目標変数の予測に最適であるかを特定する標準的な学習アルゴリズムが存在する。たとえば、潜在的な予測変数がすべて離散変数である場合に、最長マッチの検索アルゴリズムを使用して、プレディクタを選択することができる。連続変数があるときは、検索アルゴリズムは、これらの変数の様々な離散化されたバージョンをプレディクタとして追加することを検討することもできる。同様に、検索アルゴリズムは、カテゴリ的変数の状態の様々なグループ化を検討することができる。
【００３０】
本発明のもう１つの実例は、次の非常に単純な検索アルゴリズムを使用して、プレディクタを特定する。まず、（標準）決定木を、標準的な最長マッチのアルゴリズムを使用して、目標変数について学習する。次に、その決定木を使用して、予測変数を最長マッチで追加する。決定木のすべての部分木が、予測変数の対応する離散化を伴う予測変数のセットを定義することに留意することが重要である。ルートノードだけからなる部分木から開始することによって、対応する変数の完全な決定木スコアが増えなくなるまで葉の子を含めることによって、部分木を最長マッチで展開する。この処理中に、特定の部分木が、完全でなくなる場合がある。この場合には、この木を、この段階で検討される変数について完全な木に展開する。
【００３１】
当業者は、完全な決定木スコアを多数の形で定義できることを理解することができる。本発明の１つの実例は、決定木へのデータのあてはめ（たとえば、ターゲットの所与のプレディクタの条件対数尤度によって測定される）と木に従って構成されるピボットテーブルの視覚的複雑さ（たとえば、予測変数の状態のクロス乗積によって与えられる、ピボットテーブル内のセルの個数によって測定される）とのバランスをとるスコアを使用する。完全な決定木スコアは、この形で、次のように定義される。
【００３２】
スコア＝条件対数尤度−ｃ×視覚的複雑さ；
ここで、ｃは、ユーザによって選択される「複雑さ」要因である。ユーザは、さらに、変数の数の閾値および／または結果のピボットテーブル内のセルの個数の閾値を指定することができる。
【００３３】
たとえば、図７に、本発明の態様による、学習された決定木を示すグラフ７００を示す。まず、部分木は、単にノードＡ  ７０２であり、これはプレディクタなしに対応する。この決定木は、葉Ｂ  ７０４およびＣ  ７０６からなる木を検討することによって展開される。この部分木は、対応する単一の２値プレディクタすなわち、状態「＜２５」および「≧２５」を有するＤＡｇｅ（Ａｇｅの離散化されたバージョン）を有する。この部分木は、完全であるが、目標変数のプレディクタとしてＤＡｇｅを追加することによって完全な決定木スコアが改善されると仮定すると、ノードＣ  ７０６が、展開について次に検討され、その結果、新しい葉ノードは、Ｂ  ７０４、Ｄ  ７０８、およびＥ  ７１０になる。ここで、２つのプレディクタ：ＤＡｇｅおよびＧｅｎｄｅｒがある。この決定部分木は、完全ではないが、Ｂ  ７０４の下にも（仮想の）Ｇｅｎｄｅｒ分割を追加することによって完全にすることができる。完全な決定木スコアが、ＤＡｇｅだけよりこの２つのプレディクタによってよくなると仮定すると、Ｄ  ７０８が展開され、その結果、部分木の葉は、Ｂ  ７０４、Ｆ  ７１２、Ｇ７１４、およびＥ  ７１０になる。まだ２つのプレディクタがあるが、Ａｇｅの離散化が異なり、この部分木では、状態｛＜２５，（２５，６５），≧６５｝を有する変数ＤＡｇｅ２が定義される。やはり、対応する（仮想の）完全な決定木が構成され、プレディクタＤＡｇｅ２およびＧｅｎｄｅｒに関する完全な決定木スコアが、プレディクタＤＡｇｅおよびＧｅｎｄｅｒのスコアよりよい場合には、ＤＡｇｅ２がその代わりに使用される。この例では、必ず展開される単一の葉ノードがある。複数のはノードがある場合には、各展開を前と同様にスコアリングし、完全な決定木スコアを最もよく改善する展開（存在する場合に）が、次にコミットされる。
【００３４】
本発明のこの実例の最終的な態様は、予測変数のセットを与えられて、トップセットに含める変数および左セットに含める変数を判断することである。この選択は、チャートが視覚的に最も魅力的になるように行うことができる。たとえば、結果のピボットテーブルの列の数が行の数とほぼ等しくなるように変数を配置することができる。
【００３５】
当業者は、本発明を使用して、ＯＬＡＰキューブ内の次元階層などのデータパースペクティブの他の態様を自動的に構成できることを十分理解するであろう。具体的に言うと、変数のグループ化および離散化によって、この階層が定義される。
【００３６】
図示し、上記で説明した例示的システムに鑑みて、本発明に従って実施することができる方法論は、図８から図１１の流れ図を参照してよりよく理解される。説明を単純にするために、この方法論を、一連のブロックとして図示し、説明するが、本発明によれば、一部のブロックを、図示され、本明細書で説明するものと異なる順序でおよび／または他のブロックと同時に行うことができるので、本発明がブロックのこの順序によって制限されないことを理解し、認識されたい。さらに、図示のブロックのすべてが、本発明による方法論を実施するのに必要なわけではない。
【００３７】
本発明を、プログラムモジュールなど、１つまたは複数のコンポーネントによって実行されるコンピュータ実行可能命令の全般的な文脈で説明することができる。一般に、プログラムモジュールには、特定のタスクを実行するか特定の抽象データ型を実装する、ルーチン、プログラム、オブジェクト、データ構造などが含まれる。通常、プログラムモジュールの機能性を、本発明の様々な実例で望み通りに組み合わせまたは分散させることができる。
【００３８】
図８に、本発明の態様による自動データパースペクティブ生成を容易にする方法８００の流れ図が示されている。方法８００は、目標変数、関心を持ったデータ、およびオプションの集約関数を入力すること８０４によって開始８０２される。集約関数は、データパースペクティブの構成に使用されるが、本発明は、データパースペクティブの実際の構成の前であっても、処理を実行し、条件付け変数を使用可能にすることができる。したがって、集約関数は、所与のターゲットの条件付け変数の決定に必要ではない。次に、機械学習手法の使用を介して、目標変数を最もよく予測する条件付け変数を自動的に決定する８０６。機械学習手法に、決定木学習、人口の神経回路網、ベイズ（Bayesian）学習、インスタンスベース(事例ベース)学習および類似物を含めることができるが、これに制限はされない。本質的に、機械学習手法を使用して変数およびその細かさの最適のセットが決定されるまで、提案された条件付け変数のそれぞれが評価される。これは、本発明の他の実例でユーザが影響することのできる自動化されたステップである。ユーザは、選択された条件付け変数、その特性（たとえば、詳細、細かさ、範囲など）、および／またはこれらの処理の別の態様を再検討し、これらの要素を制限し、変更し、かつ／または再初期化することによってこれらの要素の決定に影響することを選択することができる。条件付け変数が自動的に選択されたならば、選択された条件付け変数および集約関数を使用して、データパースペクティブを生成する８０８。このデータパースペクティブには、ピボットテーブルおよび／またはＯＬＡＰキューブならびに類似物を含めることができるが、これに制限はされない。上述したように、本発明の他の実例では、データパースペクティブの実際の生成が、オプションであり、本発明は、データパースペクティブを生成せずに、条件変数だけを出力することができる。実際のデータパースペクティブのビューを、本発明によって自動的に調整することができ８１０、この流れが終了する８１２。機械学習手法および／またはユーザインターフェース制限ならびに類似物が、結果の最初のデータパースペクティブビューに適用される。これによって、ユーザが見るためにデータパースペクティブの質をさらに高めることができ、本発明によって提供される自動化された処理によってデータベースからマイニングされる情報を広める際の価値が高まる。
【００３９】
図９を参照すると、本発明の態様による、自動データパースペクティブ生成を容易にする方法９００のもう１つの流れ図が示されている。この方法９００は、所与の目標変数の最良のプレディクタ（すなわち条件付け変数）の特性の自動決定および連続プレディクタの興味深い範囲を表す新しい変数の生成の処理を示す。方法９００は、選択された条件付け変数を供給すること９０４によって開始９０２される。選択された条件付け変数は、上述した従来の機械学習手法によって選択されており、離散変数と連続変数の両方を含めることができる。次に、変数の自動離散化を介して、選択された条件付け変数の細かさを決定する９０６。変数の離散化は、完全な決定木処理および類似物などの機械学習手法を使用することができる。機械学習手法から得られる最高のスコアを有する離散化された変数が、データパースペクティブ生成のために選択される。選択された条件付け変数に、連続変数が含まれる場合に、その連続変数の興味深い範囲を検出する９０８。関心を持たれる範囲に、情報内容密度が高い範囲、ユーザが好む範囲（たとえばユーザ制御入力）、可能性／尤度が高い範囲、および／または効率的なデータビュー範囲ならびに類似物を含めることができるが、これに制限はされない。範囲が選択されたならば、本発明は、その範囲に対応する新しい変数を作成することができる９１０。カテゴリ的変数に関して、自動離散化ステップは、データパースペクティブでの利用について状態を一緒にグループ化することができる。新しい条件付け変数（ある場合に）および／または条件付け特性を出力し９１２、この流れが終了する９１４。
【００４０】
図１０に移ると、本発明の態様による、自動データパースペクティブ生成を容易にする方法１０００のもう１つの流れ図が示されている。方法１０００は、目標変数、関心を持ったデータ、変数選択パラメータ、およびオプションの集約関数を入力すること１００４によって開始される１００２。前に上記で指摘したように、集約関数は、データパースペクティブの構成に使用される。しかし、本発明は、データパースペクティブを実際に構成する前に、処理を実行し、条件付け変数を使用可能にすることができる。したがって、集約関数は、所与のターゲットの条件付け変数の決定に必要ではない。本発明のこの実例では、条件付け変数の選択が、変数選択パラメータをアカウントしながら目標変数を最もよく予測する変数を、機械学習手法によって決定することに基づく１００６。使用される機械学習手法に、たとえば、完全な決定木学習処理を含めることができる。変数選択パラメータに、複雑さおよび／またはユーティリティならびに類似物などのパラメータを含めることができるが、これに制約はされない。したがって、ユーザは、複雑さパラメータおよび／またはユーティリティパラメータを入力することによって、自動化されたデータパースペクティブ生成処理に影響することができる。機械学習処理では、条件付け変数の最良のプレディクタ態様だけではなく、複雑さおよび／またはユーティリティならびに類似物などの選択パラメータもアカウントする。したがって、本発明のこの実例では、予測変数なし（プレディクタがない自明な決定木に対応する）から開始して、最長マッチで決定を行って、次のように予測変数およびその細かさの最良のセットを選択する。最初のデータが入力され、現在の最良の決定木より１つ多い予測変数または現在の最良の決定木の変数のもう１つの分割のいずれかを用いて完全な決定木を生成する。この代替の完全な決定木のスコアを評価して、その特定の木が現在の最高スコアの完全な決定木であるかどうかに関して判定する。条件付け変数およびその細かさの最高スコアを有するセットが見つかるまで、決定木の構成、評価、および最適判定を継続する。条件付け変数が、その特性と共に決定されたならば、その変数およびその特性を使用してデータパースペクティブを生成し１００８、この流れは終了する１０１０。本発明を実施するために、データパースペクティブの実際の生成が必要でないことに留意されたい。本発明を利用して、条件付け変数だけを供給することができる。
【００４１】
図１１を見ると、本発明の態様による、自動データパースペクティブ生成を容易にする方法１１００を示すもう１つの流れ図が示されている。方法１１００は、決定木機械学習手法によって使用されるヒューリスティック処理である。方法１１００は、まず最長マッチのアルゴリズムを介して目標変数の標準決定木を学習すること１１０４によって開始される１１０２。現在の最良の標準部分木を、ルートノードとして初期化し、点数付けする１１０６。現在の最良の標準部分木のスコアを、このスコアとしてセットする１１０７。現在の最良の標準部分木が、学習された標準決定木と等しいかどうかに関する判定を行う１１０８。もし、そうである場合には、この流れが１１１０で終了する。そうでない場合には、最良の代替スコアにマイナス無限大をセットする１１１２。次に、現在の最良の部分木より１つ多い分割を有する代替部分木を作成し、学習された標準決定木に適合させる１１１４。代替部分木から代替の完全な部分木を構成し１１１８、点数付けする１１２０。代替の完全な部分木スコアが最良の代替の完全な部分木スコアより大きいかどうかに関する判定を行う１１２２。大きい場合には、最良の代替（非完全）部分木を、代替（非完全）部分木と等しくなるようにセットし、最良の代替スコアを、代替スコアと等しくなるようにセットし１１２４、その後、検討すべき「１つ多い分割」代替案がまだあるかどうかに関する判定を行う１１２６。そうである場合には、次の代替案を作成し１１１４、上述したように継続する。検討すべき代替案がもう存在しない場合には、最良の代替スコアが最良の標準部分木スコアを超えるかどうかに関する判定を行う１１２８。そうでない場合には、この流れが終了する１１１０。超える場合には、最良の規則的部分木を、現在の最良の代替規則的部分木と等しくなるようにセットし、最良の規則的部分木スコアを、最良の代替スコアと等しくなるようにセットする１１３０。この流れは、その後、現在の最適の標準部分木が学習された標準決定木と等しいかどうかの判定１１０８に戻り、上述したように継続することによって継続される。このヒューリスティック処理を使用して、条件付け変数とその範囲および／または細かさならびに類似物の選択を評価することができる。
【００４２】
本発明の様々な態様を実施するための追加の文脈を提供するために、図１２および以下の説明は、本発明の様々な態様を実施することができる適切なコンピューティング環境１２００の短い全般的な説明を提供することを意図されたものである。上記では、ローカルコンピュータおよび／またはリモートコンピュータで動作するコンピュータプログラムのコンピュータ実行可能命令の全般的な文脈で本発明を説明したが、当業者は、本発明を他のプログラムモジュールと組み合わせて実施できることを十分理解するであろう。一般に、プログラムモジュールには、特定のタスクを実行し、かつ／または特定の抽象データ型を実施する、ルーチン、プログラム、コンポーネント、データ構造などが含まれる。さらに、単一プロセッサまたはマルチプロセッサのコンピュータシステム、ミニコンピュータ、メインフレームコンピュータ、ならびにパーソナルコンピュータ、ハンドヘルドコンピューティングデバイス、マイクロプロセッサベースおよび／またはプログラマブルの家電、ならびに類似物を含む、それぞれが１つまたは複数の関連するデバイスと機能的に通信することができる、他のコンピュータシステム構成と共に本発明を実践できることを、当業者は十分理解するであろう。本発明の例示された態様は、通信ネットワークを介してリンクされたリモート処理デバイスによってあるタスクが実行される分散コンピューティング環境でも実践することができる。しかし、本発明の、すべてではないとしてもいくつかの態様は、独立型コンピュータで実践することができる。分散コンピューティング環境では、プログラムモジュールを、ローカルメモリ記憶装置および／またはリモートメモリ記憶装置に配置することができる。
【００４３】
本明細書で使用される用語「コンポーネント」は、ハードウェア、ハードウェアおよびソフトウェアの組合せ、ソフトウェア、または実行中のソフトウェアのいずれであれ、コンピュータ関連の実体を指すことが意図されている。たとえば、コンポーネントは、プロセッサで動作中のプロセス、プロセッサ、オブジェクト、実行可能ファイル、実行のスレッド、プログラム、およびコンピュータとすることができるが、これらに制限はされない。例として、サーバで動作中のアプリケーションおよび／またはサーバを、コンポーネントとすることができる。さらに、コンポーネントに、１つまたは複数のサブコンポーネントを含めることができる。
【００４４】
図１２を参照すると、本発明の様々な態様を実施する例示的なシステム環境１２００に、普通のコンピュータ１２０２が含まれ、このコンピュータ１２０２に、処理ユニット１２０４、システムメモリ１２０６、およびシステムメモリを含む様々なシステムコンポーネントを処理ユニット１２０４に結合するシステムバス１２０８が含まれる。処理ユニット１２０４は、任意の市販のまたはメーカ独自のプロセッサとすることができる。さらに、処理ユニットを、並列に接続できるものなど、複数のプロセッサから形成されるマルチプロセッサとして実施することができる。
【００４５】
システムバス１２０８は、メモリバスまたはメモリコントローラ、周辺バス、ならびにたとえばＰＣＩ、ＶＥＳＡ、マイクロチャネル、ＩＳＡ、およびＥＩＳＡなどの様々な普通のバスアーキテクチャのいずれかを使用するローカルバスを含む、複数のタイプのバス構造のいずれかとすることができる。システムメモリ１２０６に、読取専用メモリ（ＲＯＭ）１２１０およびランダムアクセスメモリ（ＲＡＭ）１２１２が含まれる。スタートアップ中などにコンピュータ１２０２内の要素の間で情報を転送するのを助ける基本ルーチンを含む基本入出力システム（ＢＩＯＳ）１２１４が、ＲＯＭ  １２１０に記憶される。
【００４６】
コンピュータ１２０２に、たとえば、ハードディスクドライブ１２１６、たとえば取外し可能ディスク１２２０から読み取るかこれに書き込む磁気ディスクドライブ１２１８、およびたとえばＣＤ−ＲＯＭディスク１２２４または他の光ディスクから読み取るかこれに書き込む光ディスクドライブ１２２２を含めることができる。ハードディスクドライブ１２１６、磁気ディスクドライブ１２１８、および光ディスクドライブ１２２２は、それぞれハードディスクドライブインターフェース１２２６、磁気ディスクドライブインターフェース１２２８、および光ドライブインターフェース１２３０を介してシステムバス１２０８に接続される。ドライブ１２１６から１２２２およびこれらに関連するコンピュータ読取可能媒体は、データ、データ構造、コンピュータ可読命令などの不揮発性ストレージをコンピュータ１２０２に提供する。上記のコンピュータ可読媒体の説明では、ハードディスク、取外し可能な磁気ディスクおよびＣＤに言及したが、磁気カセット、フラッシュメモリカード、デジタルビデオディスク、ベルヌーイカートリッジ、ならびに類似物などのコンピュータによって可読の他のタイプのメディアも、例示的なオペレーティング環境１２００で使用することができ、さらに、そのようなメディアのいずれにも、本発明の方法を実行するコンピュータ実行可能命令を含めることができることを、当業者は十分理解するであろう。
【００４７】
オペレーティングシステム１２３２、１つまたは複数のアプリケーションプログラム１２３４、他のプログラムモジュール１２３６、およびプログラムデータ１２３８を含む複数のプログラムモジュールを、ドライブ１２１６から１２２２およびＲＡＭ  １２１２に記憶することができる。オペレーティングシステム１２３２は、適切なオペレーティングシステムのいずれかまたはオペレーティングシステムの組合せとすることができる。たとえば、アプリケーションプログラム１２３４およびプログラムモジュール１２３６に、本発明の態様による自動データパースペクティブ生成方式を含めることができる。
【００４８】
ユーザは、キーボード１２４０およびポインティングデバイス（たとえばマウス１２４２）などの１つまたは複数のユーザ入力デバイスを介して、コンピュータ１２０２にコマンドおよび情報を入力することができる。他の入力デバイス（図示せず）に、マイクロホン、ジョイスティック、ゲームパッド、衛星パラボラアンテナ、無線リモート、スキャナ、または類似物を含めることができる。上記および他の入力デバイスは、しばしば、システムバス１２０８に結合されたシリアルポートインターフェース１２４４を介して処理ユニット１２０４に接続されるが、パラレルポート、ゲームポート、またはｕｎｉｖｅｒｓａｌ  ｓｅｒｉａｌ  ｂｕｓ（ＵＳＢ）などの他のインターフェースによって接続することができる。モニタ１２４６および他のタイプのディスプレイデバイスも、ビデオアダプタ１２４８などのインターフェースを介してシステムバス１２０８に接続される。モニタ１２４６のほかに、コンピュータ１２０２に、スピーカ、プリンタなどの他の周辺出力デバイス（図示せず）を含めることができる。
【００４９】
１つまたは複数のリモートコンピュータ１２６０への論理接続を使用してネットワーク化された環境でコンピュータ１２０２を動作させることができることを理解されたい。リモートコンピュータ１２６０は、ワークステーション、サーバコンピュータ、ルータ、ピアデバイス、または他の一般的なネットワークノードとすることができ、通常は、コンピュータ１２０２に関して説明した要素の多数またはすべてが含まれるが、図を簡潔にするために、図１２にはメモリ記憶装置１２６２だけを示した。図１２に示された論理接続に、ローカルエリアネットワーク（ＬＡＮ）１２６４および広域ネットワーク（ＷＡＮ）１２６６が含まれる。そのようなネットワーキング環境は、オフィス、会社全体のコンピュータネットワーク、イントラネット、およびインターネットで平凡なものである。
【００５０】
たとえば、ＬＡＮネットワーキング環境で使用されたとき、コンピュータ１２０２は、ネットワークインターフェースまたはネットワークアダプタ１２６８を介してローカルネットワーク１２６４に接続される。ＷＡＮネットワーキング環境で使用されたとき、コンピュータ１２０２は、通常、モデム（たとえば電話、ＤＳＬ、ケーブルなど）１２７０を含むか、ＬＡＮ上の通信サーバに接続されるか、インターネットなどのＷＡＮ  １２６６を介する通信を確立する他の手段を有する。モデム１２７０は、コンピュータ１２０２に関して内蔵または外付けとすることができるが、シリアルポートインターフェース１２４４を介してシステムバス１２０８に接続される。ネットワーク化された環境では、プログラムモジュール（アプリケーションプログラム１２３４を含む）および／またはプログラムデータ１２３８を、リモートメモリ記憶装置１２６２に記憶することができる。図示のネットワーク接続が、例示であり、本発明の態様を実行するとき、コンピュータ１２０２よび１２６０の間の通信リンクを確立する他の手段（たとえば、有線または無線の）を使用できることを理解されたい。
【００５１】
コンピュータプログラミングの技術の技量を有する者の実践に従って、本発明を、他の形で示されない限り、コンピュータ１２０２またはリモートコンピュータ１２６０などのコンピュータによって実行される行為および動作の記号表現に関して説明した。そのような行為および動作を、時々、コンピュータ実行されると称する。行為および記号表現された動作に、電気信号表現の結果の変換または変形を引き起こす、データビットを表す電気信号の処理ユニット１２０４による操作と、メモリシステム（システムメモリ１２０６、ハードドライブ１２１６、フロッピー（登録商標）ディスク１２２０、ＣＤ−ＲＯＭ  １２２４、およびリモートメモリ１２６２を含む）内のメモリロケーションでデータビットを維持し、これによってコンピュータシステムの動作を再構成するか他の形で変更することならびに信号の他の処理が含まれることを理解されたい。そのようなデータビットが維持されるメモリロケーションは、そのデータビットに対応する特定の電気特性、磁気特性、または光学特性を有する物理的位置である。
【００５２】
図１３は、本発明が相互作用することができる例のオペレーティング環境１３００のもう１つのブロック図である。システム１３００には、さらに、１つまたは複数のクライアント１３０２を含むシステムが示されている。クライアント１３０２は、ハードウェアおよび／またはソフトウェア（たとえば、スレッド、プロセス、コンピューティングデバイス）とすることができる。システム１３００には、１つまたは複数のサーバ１３０４も含まれる。サーバ１３０４も、ハードウェアおよび／またはソフトウェア（たとえば、スレッド、プロセス、コンピューティングデバイス）とすることができる。サーバ１３０４は、たとえば、本発明を使用することによる変換を実行するスレッドを収容することができる。クライアント１３０２とサーバ１３０４の間の可能な通信の１つを、複数のコンピュータプロセスの間で送信されるように適合されたデータパケットの形とすることができる。システム１３００には、クライアント１３０２とサーバ１３０４の間の通信を容易にするのに使用することができる通信フレームワーク１３０８が含まれる。クライアント１３０２は、クライアント１３０２にローカルに情報を記憶するのに使用することができる１つまたは複数のクライアントデータストア１３１０に接続される。同様に、サーバ１３０４は、サーバ１３０４にローカルに情報を記憶するのに使用することができる１つまたは複数のサーバデータストア１３０６に接続される。
【００５３】
本発明の１つの実例で、データパースペクティブ生成を容易にする複数のコンピュータコンポーネントの間で伝送されるデータパケットは、データベースからの目標変数のデータベースパースペクティブの少なくとも１つの条件付け変数を自動的に生成するために、データベースの目標変数を含むユーザ指定のデータを少なくとも部分的に使用する、データパースペクティブ生成システムに関連する情報から少なくとも部分的に構成される。
【００５４】
本発明のシステムおよび／または方法を、コンピュータコンポーネントおよび同様に非コンピュータ関連コンポーネントを容易にする自動データパースペクティブ生成で使用できることを理解されたい。さらに、当業者は、本発明のシステムおよび／または方法を、コンピュータ、サーバ、および／またはハンドヘルド電子デバイスならびに類似物を含むがこれに制限されない、膨大な数の電子関連テクノロジで使用可能であることを十分理解するであろう。
【００５５】
上述したものに、本発明の例が含まれる。もちろん、本発明の記述においてコンポーネントまたは方法のすべての考えられる組合せを記述することは不可能であるが、当業者は、本発明の多数のさらなる組合せおよび置換が可能であることを十分理解するであろう。したがって、本発明は、請求項の趣旨および範囲に含まれるそのような代替物（置換物）、修正形態（変更形態）、および変形形態のすべてを含むことが意図されている。さらに、用語「includes」が詳細な説明または請求項のいずれかで使用される範囲まで、そのような用語が、用語「comprising」が請求項で前後を接続する単語として使用されたとき「comprising」が解釈されるのと類似する形で包含的であることが意図されている。
【図面の簡単な説明】
【００５６】
【図１】本発明の態様による、自動データパースペクティブ生成システムを示すブロック図である。
【図２】本発明の態様による、自動データパースペクティブ生成システムを示すもう１つのブロック図である。
【図３】本発明の態様による、自動データパースペクティブ生成システムを示すもう１つのブロック図である。
【図４】本発明の態様による、データベースからの情報を示す表図である。
【図５】本発明の態様による、データベースからの所与の目標変数に関するデータパースペクティブを示す表図である。
【図６】本発明の態様による、完全な決定木を示すグラフ図である。
【図７】本発明の態様による、決定木を示すグラフ図である。
【図８】本発明の態様による、自動データパースペクティブ生成を容易にする方法を示す流れ図である。
【図９】本発明の態様による、自動データパースペクティブ生成を容易にする方法を示すもう１つの流れ図である。
【図１０】本発明の態様による、自動データパースペクティブ生成を容易にする方法を示すもう１つの流れ図である。
【図１１】本発明の態様による、自動データパースペクティブ生成を容易にする方法を示すもう１つの流れ図である。
【図１２】本発明が機能することができる例示的オペレーティング環境を示す図である。
【図１３】本発明が機能することができるもう１つの例示的オペレーティング環境を示す図である。
【符号の説明】
【００５７】
１０２  データパースペクティブ生成コンポーネント
１０４  入力データ
１０６  データベース
１０８  出力データ
１１０  ユーザ
１１２  他のデータソース
２０２  データパースペクティブ生成コンポーネント
２０４  変数決定コンポーネント
２０６  データパースペクティブビルダコンポーネント
２０８  ユーザ
２１０  関心を持ったデータ
２１２  目標変数
２１４  複雑さパラメータ
２１６  ユーティリティパラメータ
２１８  集約関数
２２０  他の入力データ
２２２  データベース
２２４  出力データ
３０２  データパースペクティブ生成コンポーネント
３０４  入力データ
３０６  出力データ
３０８  データ前置フィルタコンポーネント
３１０  変数決定コンポーネント
３１２  データパースペクティブビルダコンポーネント
３１４  変数オプティマイザコンポーネント
３１６  決定木ジェネレータコンポーネント
３１８  決定木エバリュエータコンポーネント
３２０  ユーザコンテキストデータ
３２２  集約関数
４０２  地域
４０４  販売販売代理人
４０６  月
４０８  売上
１２０４  処理ユニット
１２０６  システムメモリ
１２０８  バス
１２２６  ハードディスクドライブインターフェース
１２２８  磁気ディスクドライブインターフェース
１２３０  光ドライブインターフェース
１２３２  オペレーティングシステム
１２３４  アプリケーションプログラム
１２３６  他のプログラムモジュール
１２３８  プログラムデータ
１２４４  シリアルポートインターフェース
１２４６  モニタ
１２４８  ビデオアダプタ
１２６０  リモートコンピュータ
１２６４  ローカルエリアネットワーク
１２６６  広域ネットワーク
１２６８  ネットワークインターフェース
１２７０  モデム
１３０２  クライアント
１３０４  サーバ
１３０６  サーバデータストア
１３０８  通信フレームワーク
１３１０  クライアントデータストア
【図１】
2005302040.tif 000003
【図２】
2005302040.tif 000004
【図３】
2005302040.tif 000005
【図４】
2005302040.tif 000006
【図５】
2005302040.tif 000007
【図６】
2005302040.tif 000008
【図７】
2005302040.tif 000009
【図８】
2005302040.tif 000010
【図９】
2005302040.tif 000011
【図１０】
2005302040.tif 000012
【図１１】
2005302040.tif 000013
【図１２】
2005302040.tif 000014
【図１３】
2005302040.tif 000015