(57)【特許請求の範囲】
【請求項１】
多次元データ・キューブに対してデータ・マイニングを行うためのシステムであって、
メモリと、
前記メモリに格納された、データ・マイニングすべき多次元データ・キューブにアクセスし、前記多次元データ・キューブに対して実行すべきデータ・マイニング・オペレーションを記述するデータ・マイニング拡張を、前記多次元データ・キューブに含まれる多次元データに対するクエリを定義する多次元クエリと一体化して、前記多次元データ・キューブのデータ・マイニング・モデルの入力を作成し、該入力から前記データ・マイニング・モデルを作成して、該作成されたデータ・マイニング・モデルに従って前記多次元データ・キューブに対するデータ・マイニングを実行する、データ・マイニング・コンポーネントと
を備え、
前記データ・マイニング・コンポーネントは、前記データ・マイニング拡張の前記データ・マイニング・オペレーションを前記多次元クエリの要素で表すことにより、前記データ・マイニング拡張を前記多次元クエリと一体化して、前記入力を作成するように構成され、
前記データ・マイニング・コンポーネントは、前記作成されたデータ・マイニング・モデルに従って前記多次元データ・キューブに対するデータ・マイニングを実行することによって、前記多次元データ・キューブ内に含まれる多次元データに対するデータ予測を行うように構成され、前記データ・マイニングを実行することは、前記多次元クエリの要素に従って前記多次元データ・キューブ内の前記多次元データの一部に対して前記データ・マイニング・オペレーションを実行することを含むことを特徴とするシステム。
【請求項２】
前記多次元データ・キューブは、オンライン分析処理（ＯＬＡＰ：on-line analytical processing）キューブであることを特徴とする請求項１に記載のシステム。
【請求項３】
前記データ・マイニング・コンポーネントは、前記データ・マイニング・モデルを作成した後に、前記データ・マイニング・モデルをトレーニングするトレーニング・フェーズにおいて前記データ・マイニング・モデルを構成するソース・データのタイプを設定するように構成され、前記ソース・データのタイプは、リレーショナル・ソース、ＯＬＡＰソースのいずれか一方に設定されることを特徴とする請求項１に記載のシステム。
【請求項４】
前記データ・マイニング・コンポーネントは、前記データ・マイニング・モデルのソース・データの構造が、リレーショナル構造であるか、多次元構造であるかに関わらず、前記データ・マイニング・モデルをトレーニングするように構成されることを特徴とする請求項１に記載のシステム。
【請求項５】
前記データ・マイニング・コンポーネントは、前記データ・マイニング・モデルのソース・データがリレーショナル・ソースおよび多次元ソースのいずれであっても、カラムの順序によって処理されるカラム・バインディングを用いて前記データ・マイニング・モデルをトレーニングするように構成されることを特徴とする請求項１に記載のシステム。
【請求項６】
前記データ・マイニング・コンポーネントは、前記データ・マイニング拡張の前記データ・マイニング・オペレーションを記述しているリレーショナル・クエリを前記多次元クエリで置き換えることによって、前記データ・マイニング拡張を前記多次元クエリと一体化して、前記入力を作成することを特徴とする請求項１に記載のシステム。
【請求項７】
前記データ・マイニング・コンポーネントは、前記データ・マイニング拡張においてＳＨＡＰＥディレクトリを使用して記述されているＳＨＡＰＥクエリを、入れ子構造のテーブルの前記多次元クエリで書き換えることによって、前記データ・マイニング拡張を前記多次元クエリと一体化して、前記入力を作成することを特徴とする請求項１に記載のシステム。
【請求項８】
前記データ・マイニング・コンポーネントは、前記データ・マイニング拡張において記述されている名前のみでバインドするステートメントを、前記多次元クエリを用いて定義することによって、前記データ・マイニング拡張を前記多次元クエリと一体化して、前記入力を作成することを特徴とする請求項１に記載のシステム。
【請求項９】
少なくともプロセッサとメモリとを備えるコンピュータシステムにおいて、前記メモリ内の多次元データ・キューブに対してデータ・マイニングを行うための方法であって、前記プロセッサが、
前記メモリに格納された、データ・マイニングすべき多次元データ・キューブにアクセスするステップと、
前記多次元データ・キューブに対して実行すべきデータ・マイニング・オペレーションを記述するデータ・マイニング拡張と、前記多次元データ・キューブ内の多次元データに対するクエリを定義する多次元クエリを一体化して、前記多次元データ・キューブのデータ・マイニング・モデルのための入力を作成するステップであって、前記データ・マイニング拡張を前記多次元クエリと一体化することは、前記データ・マイニング拡張の前記データ・マイニング・オペレーションを前記多次元クエリの要素で表すことを含む、入力を作成するステップと、
前記入力から、前記データ・マイニング・モデルを作成するステップと、
前記データ・マイニング・モデルに従って前記多次元データ・キューブに対するデータ・マイニングを実行することによって、前記多次元データ・キューブ内に含まれる多次元データに対するデータ予測を行うステップであって、前記データ・マイニングを実行することは、前記多次元クエリの要素に従って前記多次元データ・キューブに含まれる前記多次元データの一部に対して前記データ・マイニング・オペレーションを実行することを含む、データ予測を実行するステップと
を含むことを特徴とする方法。
【請求項１０】
前記多次元式クエリは、Ｍｉｃｒｏｓｏｆｔ（登録商標）  ＯＬＥ  ＤＢ  ｆｏｒ  ＯＬＡＰ仕様に準拠する多次元式で定義され、前記データ・マイニング拡張は、Ｍｉｃｒｏｓｏｆｔ（登録商標）  ＯＬＥ  ＤＢ  ｆｏｒ  Ｄａｔａ  Ｍｉｎｉｎｇ仕様に準拠することを特徴とする請求項９に記載の方法。
【請求項１１】
前記データ・マイニング・モデルを構成するソース・データのタイプは、前記データ・マイニング・モデルを作成した後に、前記データ・マイニング・モデルをトレーニングするトレーニング・フェーズにおいて設定され、前記ソース・データのタイプは、リレーショナル・ソース、またはＯＬＡＰソースのいずれかであることを特徴とする請求項９に記載の方法。
【請求項１２】
任意のデータ・ソースから前記作成されたデータ・マイニング・モデルをトレーニングするステップをさらに含み、前記データ・ソースはリレーショナルと多次元のうちの１つであることを特徴とする請求項９に記載の方法。
【請求項１３】
前記データ・マイニング拡張と前記多次元クエリとを一体化して、前記データ・マイニング・モデルのための入力を作成するステップは、前記データ・マイニング拡張の前記データ・マイニング・オペレーションを記述しているリレーショナル・クエリを、前記多次元クエリで置き換えることによって、前記データ・マイニング拡張と前記前記多次元クエリとを一体化して、前記データ・マイニング・モデルを作成するための入力とすることを含むことを特徴とする請求項９に記載の方法。
【請求項１４】
前記データ・マイニング拡張と前記多次元クエリとを一体化して、前記データ・マイニング・モデルのための入力を作成するステップは、前記データ・マイニング拡張においてＳＨＡＰＥディレクティブを使用して記述されているＳＨＡＰＥクエリを、前記多次元クエリで書き換えることによって、前記データ・マイニング拡張と前記前記多次元クエリとを一体化して、前記データ・マイニング・モデルのための入力を作成することを含むことを特徴とする請求項９に記載の方法。
【請求項１５】
前記データ・マイニング拡張と前記多次元クエリとを一体化して、前記データ・マイニング・モデルのための入力を作成するステップは、前記データ・マイニング拡張に記述されている名前のみバインドするステートメントを、前記多次元クエリを用いて定義することによって、前記データ・マイニング拡張と前記前記多次元クエリとを一体化して、前記データ・マイニング・モデルのための入力を作成することを含むことを特徴とする請求項９に記載の方法。
【請求項１６】
多次元データ・キューブに対するデータ・マイニングのために、コンピュータシステムに、
前記コンピュータシステムのメモリに格納された、データ・マイニングすべき多次元データ・キューブにアクセスするステップと、
前記多次元データ・キューブに対して実行すべきデータ・マイニング・オペレーションを記述するデータ・マイニング拡張と、前記多次元データ・キューブ内の多次元データに対するクエリを定義する多次元クエリを一体化して、前記多次元データ・キューブのデータ・マイニング・モデルのための入力を作成するステップであって、前記データ・マイニング拡張を前記多次元クエリと一体化することは、前記データ・マイニング拡張の前記データ・マイニング・オペレーションを前記多次元クエリの要素で表すことを含む、入力を作成するステップと、
前記入力から、前記データ・マイニング・モデルを作成するステップと、
前記データ・マイニング・モデルに従って前記多次元データ・キューブに対するデータ・マイニングを実行することによって、前記多次元データ・キューブ内に含まれる多次元データに対するデータ予測を行うステップであって、前記データ・マイニングを実行することは、前記多次元クエリの要素に従って前記多次元データ・キューブに含まれる前記多次元データの一部に対して前記データ・マイニング・オペレーションを実行することを含む、データ予測を行うステップと
を実行させることを特徴とするプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は一般にデータベースに関し、より詳細にはこうしたデータベースを検索し、分析する方法に関する。
【背景技術】
【０００２】
インターネットなどのグローバル通信ネットワークの到来により、膨大な量の情報が絶え間なく交換されるようになってきている。さらに、こうした情報を格納および維持するためのコストが低下しており、その結果、そこにアクセスすることが必要になる大規模なデータ・ストレージ構造が生じた。膨大な量のデータは、一般に組織のビジネス履歴を表すデータベースであるデータウェアハウスとして格納されることになる。この履歴データは、戦略的な計画から個々の組織単位の業績評価まで、多くのレベルでビジネス上の意思決定をサポートする分析に使用される。この履歴データを、クエリと分析のためのより効果的なツールにするために、リレーショナル・データベースの形態で格納されるデータを取得し、こうしたデータを処理する必要がある。データウェアハウスをより小規模でより効率的に管理するために、データ内の目標とされる部分集合（subset）だけが管理されるデータ・マートの概念が使用される。
【０００３】
ＳＱＬ（Structured Query Language：構造化照会言語）など、データ定義と操作に使用される多くの言語は、２次元の形態でデータを取り出すように設計されているが、一方、多次元データは３次元以上の構造によって表現されることになる。こうした多次元構造はキューブと呼ばれている。キューブは、リレーショナル・データベースでなく３次元のスプレッド・シートと同様にデータを表現する多次元データベースである。キューブは、データに関するさまざまなビューを、次元（dimensions）とメジャー（measures）の概念を使用して迅速に表示することを可能にする。次元はキューブの構造を定義し（たとえば、地理的な場所や製品の種類）、メジャーはエンドユーザにとって関心のある定量的な値（たとえば、販売価格（sales dollars）、在庫数量、費用総額）を表す。キューブ内のセルの位置は、次元の要素の論理績（intersection）で定義され、メジャー値は集計されてセル内の値を提供する。
【０００４】
データウェアハウス内またはデータ・マート内の情報は、オンライン分析処理（ＯＬＡＰ：online analytical processing）を使用して処理できる。ＯＬＡＰでは、データはキューブと見なされる。ＯＬＡＰは、データウェアハウスとデータ・マートがオンライン分析に効果的に使用され、反復する複雑な分析クエリに対して迅速な応答を提供することを可能にする。ＯＬＡＰシステムは、リアル・タイムの分析をサポートするために速さと柔軟性を提供する。
【０００５】
多次元のクエリと分析のためのＯＬＡＰを容易にさせる（facilitate）従来のアーキテクチャの１つはＭＤＸ（Multi-Dimensional eXpressions：多次元式）である。ＭＤＸは、多次元オブジェクトおよび多次元データの定義と操作をサポートし、多次元データへのアクセスをより容易かつ直感的なものになることを容易にするする構文である。ＭＤＸは、いろいろな意味でＳＱＬ（Structured Query Language：構造化照会言語）構文に似ている（しかし、ＳＱＬ言語の拡張ではない）。ＳＱＬクエリと同様に、ＭＤＸクエリにもデータ要求（ＳＥＬＥＣＴ句）、開始点（ＦＲＯＭ句）、フィルタ（ＷＨＥＲＥ句）が必要である。こうしたキーワードやその他のキーワードは、分析の対象となるキューブからデータの特定の部分を抽出するのに使用されるツールを提供する。さらに、ＭＤＸは、取り出されたデータを操作する堅牢な（robust）機能群に加えて、ＭＤＸをユーザ定義の機能で拡張する能力を提供する。
【０００６】
データ・マイニングとは、データに関するナレッジ（knowledge）と解釈できる、あるいはデータに関するイベントの予測に利用できる、興味深いデータ構造（たとえば、パターンやルール）を見つけ出すこと、である。こうした構造は、データセットを簡潔に説明するパターンの形態をとる。データ・マイニングは、大規模なデータベースの探索（exploration）や利用（exploitation）を、データを所有しているが統計やデータ分析において長年のトレーニングを積んでいないユーザにとって、簡単で、便利で、また実用的なものにする。データ・マイニング・アルゴリズムによって抽出された「ナレッジ」は、さまざまな形態を取り、さまざまに利用できる。多数の他の可能性の中でも、ナレッジは、ルール・セット、デシジョンツリー、回帰モデル、関連（associations）セット、の形態とすることができる。ナレッジは、データの要約を作成すること、あるいはそれまでの未知の相関を洞察する（get insight into）こと、もできる。そのデータに関連するイベント、たとえば欠落した値や一部の情報が不明のレコード、などの予測に利用することもできる。さまざまなデータ・マイニング技術が存在し、その多くは機械学習、統計、データベース・プログラミングの分野に、その起源がある。
【０００７】
【特許文献１】米国特許出願公開第２００４−０１２２８２０号公報
【特許文献２】米国特許第６，６８７，６９３号公報
【特許文献３】米国特許第６，４７３７，６４号公報
【特許文献４】米国特許第６，２０５，４４７号公報
【非特許文献１】WOLFGANG HUMMER, et al., XCUBE-XML For Data Warehouses, DOLAP'03, November 7, 2003, pp. 33-40, New Orleans, Louisiana, USA.
【非特許文献２】TAPIO NIEMI, et al., Constructing an OLAP Cube from Distributed XML Data, DOLAP'02, November 8, 2002, pp. 22-27, McLean, Virginia, USA.
【非特許文献３】OLE DB for Data Mining Specification, Version 1.0, Microsoft Corporation, July 2000, pp. 1-133.
【非特許文献４】JAYAVEL SHANMUGASUNDARAM et al., Compressed Data Cubes for OLAP Aggregate Query Approximation on Continuous Dimensions, KDD-99, 1999, pp. 223-232, San Diego, California, USA.
【発明の開示】
【発明が解決しようとする課題】
【０００８】
求められているのは、ＯＬＡＰキューブ全体にわたるデータ・マイニング・オペレーションの対話（interaction）を容易にさせる（facilitate）スキーマである。
【課題を解決するための手段】
【０００９】
本発明のいくつかの態様について基本的な理解が得られるように、本発明の概要について以下に簡単に説明する。以下の説明は、本発明の広範囲におよぶ概要を示すものではない。本発明の重要／不可欠な要素を特定したり、本発明の範囲を限定したりするものでもない。唯一の目的は、後述の「発明を実施するための最良の形態」に関する説明の準備として、本発明に関するいくつかの概念を簡略化した形で示すことである。
【００１０】
ここに開示し、請求する発明は、その１つの態様において、ＯＬＡＰキューブ内のデータ・マイニング・オペレーションを実行する多次元拡張（multidimensional extensions）（たとえばＭＤＸ）とデータ・マイニング拡張（たとえばＤＭＸ）を一体化する形式的言語（formal language）を備えている。データ・マイニング・オペレーションは、一般に＜ｓｏｕｒｃｅ−ｄａｔａ−ｑｕｅｒｙ＞で指定されたソース・データ・セットに関するオペレーションを実行する。現在に至るまで、＜ｓｏｕｒｃｅ−ｄａｔａ−ｑｕｅｒｙ＞要素は、リレーショナル・データベースに対して直接動作するリレーショナル・クエリか、リレーショナル・クエリを取得してそれを入れ子構造の（nested）行（row）セットに構成するＳＨＡＰＥステートメントに限定されてきていた。本発明で提供される＜ｓｏｕｒｃｅ−ｄａｔａ−ｑｕｅｒｙ＞は、リレーショナル・クエリだけでなく、たとえばＭＤＸを使用して形成された多次元クエリとすることができる。
【００１１】
本発明の別の態様においては、データ・マイニング・モデルは、ＯＬＡＰキューブに格納されたデータに対する予測を実行するのに使用される。
【００１２】
本発明のさらに別の態様において、本発明は、モデルの作成に関して、ソース・データ・タイプは、作成時に不明であり、トレーニング・フェーズ（training phase）まで設定されない、ことを述べている。従来のシステムでは、作成時にモデルの「タイプ」、すなわちリレーショナル・ソース・モデルかＯＬＡＰソース・モデルかが指定されていた。
【００１３】
さらに、マイニング・モデルは、任意のデータ・ソースから、その特性がリレーショナルか多次元かにかかわらず、トレーニング（trained）されることができる。カラム・バインディング（column binding）は、従来のシステムのカラム・バインディングがマイニング・モデルとＯＬＡＰキューブとの名前の一致によって指定されるのとは異なり、リレーショナルと多次元の両方のソースにおいて、明示的なカラムの順序で一貫して操作される。
【００１４】
さらに、マイニング・モデルは、予測のためのデータ・ソースとして任意のデータ・ソースを、その特性がリレーショナルか多次元かにかかわらず、利用できる。開示されたアーキテクチャは、ＤＭＸを使用して予測を生成することを可能にし、ＯＬＡＰキューブが、任意のモデルを、それがどのように作成されたかあるいはトレーニングされたかにかかわらず、予測のソースとすることができる。従来、ＯＬＡＰキューブに格納されたデータに対する予測は、ＭＤＸ内で実行され、同じキューブに関してトレーニングされたデータ・マイニング・モデルのみを使用していた。
【００１５】
前述の目的および関連する目的を達成するために、ここで本発明の特定の例示的な態様について、以下の実施形態と添付の図面に関連付けながら説明する。ただし、このような態様は例を示すものであり、本発明の原理を使用するさまざまな方法の一部にすぎない。また、本発明はこうしたすべての態様やその均等物のすべてを含むことを意図している。本発明のその他の利点と新規な機能は、以下に示す本発明の実施形態から、添付の図面を関連付けて考察することで明らかになるであろう。
【発明を実施するための最良の形態】
【００１６】
本発明について添付の図面に関連付けながら詳細に説明するが、全体にわたって同類の要素には似かよった参照番号を使用する。以下の説明において、説明を目的として、本発明に関する理解を深めるために、さまざまな具体的な細部が説明される。ただし、本発明は以下に示す個々の具体的な細部（specific details）がなくても実施できることは明らかである。他の例では、本発明の説明を容易にさせる（facilitate）ために、よく知られている構造やデバイスがブロック図の形で示されている。
【００１７】
本出願で使用する限り、「コンポーネント」および「システム」という用語は、コンピュータ関連のエンティティを表すものとし、ハードウェア、ハードウェアとソフトウェアの組合せ、ソフトウェア、実行中のソフトウェア（software in execution）のいずれでもよい。たとえば、コンポーネントは、プロセッサで実行するプロセス、プロセッサ、オブジェクト、実行可能ファイル、実行中のスレッド、プログラム、および／またはコンピュータのいずれでもよいが、これらに限定はされない。たとえば、サーバ上で動作するアプリケーションとサーバはいずれもコンポーネントと言える。実行中のプロセスおよび／またはスレッド内には、１つまたは複数のコンポーネントが存在してもよい。また、コンポーネントは１台のコンピュータに集中したり、かつ／または２台またはそれ以上のコンピューに分散したりしてもよい。
【００１８】
本発明は、ＯＬＡＰキューブ内に常駐するデータに関してデータ・マイニング操作を実行する多次元拡張とデータ・マイニング拡張を一体化するためのアーキテクチャを提供する。現在、＜ｓｏｕｒｃｅ−ｄａｔａ−ｑｕｅｒｙ＞要素は、リレーショナル・データベースに対して直接動作するリレーショナル・クエリ、またはリレーショナル・クエリを取得してそれを入れ子構造の（nested）行（row）セットに構成するＳＨＡＰＥステートメントに限定されてきていた。本発明が提供する＜ｓｏｕｒｃｅ−ｄａｔａ−ｑｕｅｒｙ＞は、リレーショナル・クエリだけでなく、多次元拡張を使用して構成した多次元クエリとすることができる。
【００１９】
これを実現する１つの方法は、ＭＤＸとＤＭＸを使用することである。ＭＤＸは、Ｍｉｃｒｏｓｏｆｔ  ＣｏｒｐｏｒａｔｉｏｎのＯＬＥ  ＤＢ  ｆｏｒ  ＯＬＡＰ仕様で定義される、ＭｕｌｔｉＤｉｍｅｎｓｉｏｎａｌ  ｅＸｐｒｅｓｓｉｏｎｓ（多次元式）の頭辞語であり、その全体は参照によって組み込まれている。ＤＭＸは、Ｍｉｃｒｏｓｏｆｔ  ＣｏｒｐｏｒａｔｉｏｎのＯＬＥ  ＤＢ  ｆｏｒ  Ｄａｔａ  Ｍｉｎｉｎｇ仕様で定義される、Ｄａｔａ  Ｍｉｎｉｎｇ  ｅＸｔｅｎｓｉｏｎｓ（データ・マイニング拡張）の頭辞語であり、その全体は、参照によって組み込まれている。この説明の目的のために、モデルの作成、モデルのトレーニング、新しいデータに対する予測の各オペレーションについて説明する。
【００２０】
ＤＭＸでは、こうしたオペレーションは、ＣＲＥＡＴＥ  ＭＩＮＩＮＧ  ＭＯＤＥＬ、ＩＮＳＥＲＴ  ＩＮＴＯ、ＳＥＬＥＣＴ…ＰＲＥＤＩＣＴＩＯＮ  ＪＯＩＮの各ステートメントを使用して実行される。次に例を示す。
【００２１】
【表１−１】
0004716796.tif 000002
【００２２】
【表１−２】
0004716796.tif 000003
【００２３】
ここで図１を参照すると、本発明に従って多次元式とデータ・マイニング拡張の一体化を容易にさせる（facilitate）システムが示されている。データ・マイニングの対象となる多次元データ・ソース（たとえば、ＯＬＡＰ（On-Line Analytical Processing：オンライン分析処理）キューブ）１０２が提供される。データ・マイニング・コンポーネント１０４には、多次元式コンポーネント１０６（たとえばＭＤＸ）とデータ・マイニング拡張コンポーネント１０８が含まれており、これらが連動してＯＬＡＰキューブ１０２のデータ・マイニングを容易にさせる（facilitate）。データ・マイニング・コンポーネントの出力は、データ・マイニング・モデルの作成、トレーニング、予測への入力として使用するデータである。
【００２４】
代替の実装では、多次元式のコンポーネント１０６とデータ・マイニング拡張のコンポーネント１０８が共に１つの全体データ・マイニング・コンポーネント１０４内に存在する必要はなく、いずれかのコンポーネントがデータ・マイニング・コンポーネント１０４から独立した外部のエンティティでもよいことが理解されるべきである。このように、２つのコンポーネント（１０６と１０８）は一方が他方に入力する形で独立していてもよい。
【００２５】
ここで図２を参照すると、本発明による多次元データ・マイニングの１つの方法を示す流れ図が示されている。説明を簡単にするために、ここに示す１つまたは複数の方法は、たとえば流れ図の形で、一連の動作（acts）として図示され、説明されているが、本発明がこの動作の順序に限定されないことを理解されたい。たとえば、いくつかの動作は、本発明に従って以下に説明するものとは異なる順序で行われてもよく、かつ／またはここに図示し、説明する他の動作と同時に行われてもよい。たとえば、方法は相互に関連する一連の状態またはイベントとしても（状態図のように）表現できることを当業者は理解されたい。また、本発明による方法を実装するために、図示されたすべての動作が必要なわけではない。
【００２６】
２００では、データ・マイニングの対象として多次元データが提供される。２０２では、多次元拡張とデータ・マイニング拡張を一体化し、多次元データを操作する言語スキーマが提供される。２０４では、多次元データからデータ・マイニング・モデルが作成される。２０６では、データ・マイニング・モデルがデータに関してトレーニングされる。２０８では、データ・マイニング拡張を使用して新しいデータに関する予測が行われる。ここで、プロセスはＳｔｏｐブロックに到達する。
【００２７】
次に図３を参照すると、本発明に従ってデータ・マイニング拡張の入力として多次元式を使用する例示的な方法を示す流れ図が示されている。データ・マイニング拡張のクエリでは、従来からそのデータ・ソースとしてリレーショナル・テーブルが期待されている。こうしたクエリは、入力としてフラット・テーブルを、またはＳＨＡＰＥディレクティブを使用して作成された入れ子構造のテーブルを、受け入れることができる。バインディングは、ＩＮＳＥＲＴ  ＩＮＴＯステートメントのようにカラム順で実行されるか、またはＳＥＬＥＣＴ…ＰＲＥＤＩＣＴＩＯＮ  ＪＯＩＮステートメントのようにＯＮ句を使用した明示的なマッピングによって実行される。次に例を示す。
【００２８】
【表２】
0004716796.tif 000004
【００２９】
開示された発明は、データ・マイニング拡張ステートメント（例えば、ＤＭＸ）への入力として、多次元拡張のクエリ（multidimensional extensions queries）（たとえばＭＤＸ）を使用した複数の方法に適用できる。たとえば、限定はしないが、以下の説明では本発明を実施する１つの方法としてＭＤＸとＤＭＸを使用する。３００で、第１の方法は、単にリレーショナル・クエリをＭＤＸクエリで置き換えることによる方法である。たとえば、次のクエリ、
【００３０】
【表３】
0004716796.tif 000005
【００３１】
はＭＤＸキューブ内では次のように表現できる。
【００３２】
【表４】
0004716796.tif 000006
【００３３】
別の例では、次のクエリ、
【００３４】
【表５】
0004716796.tif 000007
【００３５】
は次のように表現できる。
【００３６】
【表６】
0004716796.tif 000008
【００３７】
このように、この第１の形態ではリレーショナル・クエリをＭＤＸの式で置き換えることができる。
【００３８】
３０２で、第２の形態では、そのキューブの固有な多次元構造を利用することでＳＨＡＰＥ構造を消去できる。前述のＳＨＡＰＥ（shaped）リレーショナル・クエリは、ＭＤＸでは次のように記述できる。
【００３９】
【表７】
0004716796.tif 000009
【００４０】
追加の入れ子構造をとるテーブルは、追加の軸上に配置できる。
【００４１】
３０４で、本発明の第３の形態には、名前のみでバインドするステートメント、たとえばＳＥＬＥＣＴ、ＰＲＥＤＩＣＴＩＯＮ、およびＪＯＩＮが含まれる。この形態では、データ・マイニング拡張プロセッサはキューブ構造を利用して単純なクエリを作成し、ＯＮ句を展開してＭＤＸクエリから情報を抽出する。次に例を示す。
【００４２】
【表８】
0004716796.tif 000010
【００４３】
モデルの作成に関して、本発明では作成時にソース・データ・タイプが不明であり、トレーニング・フェーズ（training phase）まで設定されないことを表明（states）している。従来のシステムでは、そのモデルの「タイプ」、すなわちリレーショナル・ソース・モデルか、あるいはＯＬＡＰソース・モデルか、が作成時に指定される。
【００４４】
マイニング・モデルは、任意のデータ・ソースから、その特性がリレーショナルか多次元かにかかわらず、トレーニングできる。カラムのバインディングは、マイニング・モデルとＯＬＡＰキューブとの名前の一致によって示される従来のシステムとは異なり、リレーショナルと多次元のいずれのソースにおいても、明示的なカラムの順序で一貫して操作される。
【００４５】
マイニング・モデルは、その特性がリレーショナルか多次元かにかかわらず、予測のためのデータ・ソースとして任意のデータ・ソースを利用することができる。従来、ＯＬＡＰキューブに格納されたデータに対する予測は、ＭＤＸで実行することができるだけであり、同じキューブに関してトレーニングされデータ・マイニング・モデルを使用するだけである。開示されたアーキテクチャによって、ＤＭＸを使用して予測を生成でき、ＯＬＡＰキューブは、その作成やトレーニングの方法にかかわらず、任意のモデルを予測のソースとすることができる。
【００４６】
さらに図４を参照すると、開示されたアーキテクチャを実現するために動作できるコンピュータを示すブロック図が示されている。本発明のさまざまな態様のための追加の文脈を提供するために、図４と以下の説明は、本発明のさまざまな態様を実装できる適切なコンピューティング環境４００について簡単かつ一般的に説明することを目的としている。本発明について、１つまたは複数のコンピュータで動作するコンピュータ実行可能命令の一般的な文脈で説明してきたが、本発明を他のプログラム・モジュールとの組合せでも、かつ／またはハードウェアとソフトウェアの組合せでも実装できることは当業者には言うまでもない。
【００４７】
一般に、プログラム・モジュールには、特定のタスクを実行し、または特定の抽象データ型を実装するルーチン、プログラム、コンポーネント、データ構造などがある。さらに、本発明による方法がそれぞれ１つまたは複数の関連デバイスに結合することができる、シングル・プロセッサまたはマルチ・プロセッサによるコンピュータ・システム、ミニ・コンピュータ、メインフレーム・コンピュータ、ならびにパーソナル・コンピュータ、ハンドヘルド・コンピューティング・デバイス、マイクロ・プロセッサ・ベースの家電製品またはプログラム可能な家電製品など、他のコンピュータ・システム構成でも実施できることは、当業者には言うまでもない。
【００４８】
本発明の図示された態様は、通信ネットワークを介してリンクするリモート処理装置で特定のタスクを実行する分散コンピューティング環境でも実施できる。分散コンピューティング環境では、プログラム・モジュールはローカルとリモートのいずれのメモリ記憶装置内にも配置できる。
【００４９】
コンピュータは、通常はさまざまなコンピュータ可読媒体を備えている。コンピュータ可読媒体は、コンピュータからアクセスできる任意の使用可能な媒体でよい。揮発性と不揮発性の両方、および取り外し可能と不可能の両方の媒体が含まれる。例として、コンピュータ可読媒体にはコンピュータ記憶媒体および通信媒体を含めてもよいが、これらに限定はされない。コンピュータ記憶媒体には、コンピュータ可読の命令、データ構造、プログラム・モジュール、またはその他のデータなどの情報を記憶する任意の方法または技術で実施された、揮発性と不揮発性の両方、および取り外し可能と不可能の両方の媒体が含まれる。コンピュータ記憶媒体には、ＲＡＭ、ＲＯＭ、ＥＥＰＲＯＭ、フラッシュメモリなどのメモリ技術、ＣＤ−ＲＯＭ、デジタル・ビデオ・ディスク（ＤＶＤ：digital video disk）などの光ディスク記憶装置、磁気カセット、磁気テープ、磁気ディスクなどの磁気記憶装置、または必要な情報を格納でき、コンピュータからアクセスできる他の任意の媒体が含まれるが、これらに限定はされない。
【００５０】
通信媒体は、搬送波やその他の搬送メカニズムのような変調データ信号に含まれるコンピュータ可読の命令、データ構造、プログラム・モジュール、またはその他のデータなどを具体化したものであり、任意の情報伝達媒体を含む。「変調データ信号」という用語は、信号に情報を符号化するようにその特性の１つまたは複数が設定または変更された信号を意味する。例として、通信媒体には、有線ネットワーク、直接配線接続などの有線媒体と、音響、ＲＦ、赤外線などの無線媒体が含まれるが、これらに限定はされない。上記の任意の組合せも、コンピュータ可読媒体の範囲内に含まれるものとする。
【００５１】
もう一度図４を参照すると、本発明のさまざまな態様を実装する例示的な環境４００の要素となるコンピュータ４０２が示されており、コンピュータ４０２は処理装置４０４、システム・メモリ４０６、システム・バス４０８を備えている。システム・バス４０８は、それだけには限らないがシステム・メモリ４０６を含むシステム・コンポーネントを処理装置４０４に結合する。処理装置４０４は、市販のさまざまなプロセッサのいずれでもよい。デュアル・マイクロ・プロセッサやその他のマルチ・プロセッサ・アーキテクチャも処理装置４０４として利用できる。
【００５２】
システム・バス４０８は、市販のさまざまなバス・アーキテクチャの任意の１つを使用したメモリ・バス（メモリ・コントローラを伴っても伴わなくてもよい）、周辺バス、ローカルバスにさらに相互接続する各種バス構造のいずれでもよい。システム・メモリ４０６には、読み取り専用メモリ（ＲＯＭ）４１０とランダム・アクセス・メモリ（ＲＡＭ）４１２が含まれる。起動時などにコンピュータ４０２内の要素間の情報転送を支援する基本ルーチンを含む基本入出力システム（ＢＩＯＳ）４１０は、ＲＯＭ、ＥＰＲＯＭ、ＥＥＰＲＯＭなどの不揮発性メモリ４１０に格納される。また、ＲＡＭ  ４１２はデータをキャッシングするスタティックＲＡＭなどの高速のＲＡＭを備えていてもよい。
【００５３】
コンピュータ４０２は、さらに内蔵のハードディスク・ドライブ（ＨＤＤ）４１４（内蔵ハードディスク・ドライブ４１４は、適切な筐体（図示せず）に収納し、外付けで使用するように構成してもよい）、磁気フロッピー（登録商標）ディスク・ドライブ（ＦＤＤ）４１６（取り外し可能なディスケット４１８に対する読み出しまたは書き込みを行う）、光ディスク・ドライブ４２０（たとえば、ＣＤ−ＲＯＭディスク４２２の読み出し、またはＤＶＤなどの他の大容量光媒体に対する読み出しまたは書き込みを行う）を備えている。ハードディスク・ドライブ４１４、磁気ディスク・ドライブ４１６、および光ディスク・ドライブ４２０は、それぞれハードディスク・ドライブ・インターフェース４２４、磁気ディスク・ドライブ・インターフェース４２６、および光ディスク・ドライブ・インターフェース４２８を介してシステム・バス４０８に接続する。外付けドライブを実装するインターフェース４２４には、ユニバーサル・シリアル・バス（ＵＳＢ）とＩＥＥＥ  １３９４の少なくとも１つまたは両方の技術が含まれる。
【００５４】
ドライブとこれに関連付けられたコンピュータ可読媒体は、データ、データ構造、コンピュータ実行可能命令を格納する不揮発性ストレージとして利用できる。コンピュータ４０２の場合は、ドライブと媒体は任意のデータを適切なデジタル形式で格納できる。前述のコンピュータ可読媒体の説明は、ＨＤＤ、取り外し可能な磁気ディスケット、取り外し可能な光ディスク（ＣＤまたはＤＶＤなど）を表しているが、ｚｉｐドライブ、磁気カセット、フラッシュメモリカード、カートリッジなど、その他のコンピュータ可読媒体も例示的な動作環境で利用でき、さらにこうした任意の媒体に本発明の方法を実行するためのコンピュータ実行可能命令を格納できることを当業者は理解されたい。
【００５５】
オペレーティング・システム４３０、１つまたは複数のアプリケーションプログラム４３２、その他のプログラム・モジュール４３４、およびプログラムデータ４３６を含む多くのプログラム・モジュールは、ドライブおよびＲＡＭ  ４１２に格納できる。オペレーティング・システム、アプリケーション、モジュール、および／またはデータは、ＲＡＭ  ４１２にキャッシングできる。
【００５６】
本発明が市販のさまざまなオペレーティング・システムまたは複数のオペレーティング・システムの組合せで実装できることを理解されたい。
【００５７】
ユーザは、１つまたは複数の有線／無線の入力装置（キーボード４３８やマウス４４０などのポインティング・デバイス）を使用してコンピュータ４０２にコマンドや情報を入力できる。他の入力装置（図示せず）には、マイクロフォン、ＩＲリモート・コントロール、ジョイスティック、ゲームパッド、スタイラス・ペン、タッチ・スクリーンなどを含めてもよい。これらの入力装置および他の入力装置は、多くの場合にシステム・バス４０８に接続された入力装置インターフェース４４２を介して処理装置４０４に接続するが、パラレル・ポート、ＩＥＥＥ  １３９４シリアル・ポート、ゲーム・ポート、ＵＳＢポート、ＩＲインターフェースなどのような他のインターフェースを介して接続してもよい。
【００５８】
モニタ４４４または他のタイプの表示装置も、ビデオ・アダプタ４４６のようなインターフェースを介してシステム・バス４０８に接続される。コンピュータには、一般にモニタ４４４以外にもスピーカーやプリンタなどの周辺出力装置（図示せず）が接続されている。
【００５９】
コンピュータ４０２は、リモート・コンピュータ４４８のような１台または複数台のリモート・コンピュータへの有線および／または無線の通信を介した論理接続を使用してネットワーク環境で動作できる。リモート・コンピュータ４４８は、ワークステーション、サーバ・コンピュータ、ルーター、パーソナル・コンピュータ、ポータブル・コンピュータ、マイクロ・プロセッサ・ベースのエンターテイメント家電、ピア・デバイス、または他の一般的なネットワーク・ノー・ドでよい。通常は、コンピュータ４０２に関連して上で説明した要素の多くまたはすべてが含まれるが、簡単にするためにメモリ記憶装置４５０のみを示している。図示された論理接続には、ローカル・エリア・ネットワーク（ＬＡＮ）４５２および／またはさらに大規模なネットワーク、たとえばワイド・エリア・ネットワーク（ＷＡＮ）４５４が含まれる。このようなＬＡＮおよびＷＡＮネットワーキング環境は、オフィスや企業では一般的であり、イントラネットなどの事業体規模のコンピュータ・ネットワークを容易にさせる（facilitate）。こうしたネットワークのすべては、インターネットなどのグローバル通信ネットワークに接続できる。
【００６０】
ＬＡＮネットワーキング環境で使用する場合、コンピュータ４０２は有線および／または無線通信ネットワーク・インターフェースまたはネットワーク・アダプタ４５６を介してローカル・ネットワーク４５２に接続する。アダプタ４５６は、ＬＡＮ  ４５２に対する有線または無線の通信を容易にさせる（facilitate）。ＬＡＮ  ４５２には、無線アダプタ４５６と通信するための無線アクセス・ポイントを含めてもよい。ＷＡＮネットワーキング環境で使用する場合、コンピュータ４０２はモデム４５８を備えているか、ＬＡＮ上の通信サーバに接続する。あるいは、インターネットなどのＷＡＮ  ４５４を介して通信を確立するその他の手段を備えている。モデム４５８（内蔵でも外付けでもよいし、有線でも無線でもよい）は、シリアル・ポート・インターフェース４４２を介してシステム・バス４０８に接続される。ネットワーク環境では、コンピュータ４０２またはその一部に関連して記述したプログラム・モジュールをリモートメモリ／記憶装置４５０に格納できる。図示されたネットワーク接続は例示的なものであり、コンピュータ間の通信リンクを確立する他の手段を使用してもよいことは言うまでもない。
【００６１】
コンピュータ４０２は、任意の無線デバイスまたは無線通信に対応できるエンティティ（たとえば、プリンタ、スキャナ、デスクトップおよび／またはポータブル・コンピュータ、ＰＤＡ（portable data assistant：携帯情報端末）、無線で検出できるタグに関連付けられた任意の装置または場所（たとえば、ｋｉｏｓｋ、ニュース・スタンド、化粧室）、および電話と通信できる。これには、少なくともＷｉ−ＦｉとＢｌｕｅｔｏｏｔｈ（商標）の無線技術が含まれる。このように、通信は従来のネットワークと同様に事前に定義された構造でもよいし、単に少なくとも２台のデバイス間におけるその場限りの通信でもよい。
【００６２】
Ｗｉ−Ｆｉ（Wireless Fidelity）すなわちワイヤレス・フィディリティーを使用すると、自宅のソファ（couch）、ホテルのベッド、あるいは職場の会議室から無線でインターネットに接続できる。Ｗｉ−Ｆｉは、たとえばコンピュータなどのデバイスが屋内と屋外を問わず、基地局の担当範囲内のあらゆる場所でデータを送受信できる携帯電話（cell phone）と同様の無線技術である。Ｗｉ−Ｆｉネットワークでは、ＩＥＥＥ  ８０２．１１（ａ、ｂ、ｇなど）と呼ばれる電波（radio）技術を使用して安全で信頼性の高い高速の無線接続を提供している。Ｗｉ−Ｆｉネットワークを使用すると、コンピュータの相互接続、インターネット接続、無線ネットワークへの接続が可能になる（ＩＥＥＥ  ８０２．３またはＥｔｈｅｒｎｅｔ（登録商標）などを使用）。Ｗｉ−Ｆｉネットワークは、許可されていない２．４および５  ＧＨｚの電波帯域で１１  Ｍｂｐｓ（８０２．１１ｂ）または５４  Ｍｂｐｓ（８０２．１１ａ）のデータ転送速度で動作し、あるいは２つの帯域（デュアル・バンド（dual band））に対応する製品で動作するので、このネットワークは現実社会の多くのオフィスで使用されている基本的な１０ＢａｓｅＴ有線Ｅｔｈｅｒｎｅｔ（登録商標）ネットワーと同等のパフォーマンスを提供できる。
【００６３】
図５を参照すると、本発明による例示的なコンピュータ環境５００の概略的なブロック図が示されている。システム５００には、クライアント（１つまたは複数）５０２が含まれる。クライアント５０２は、ハードウェアおよび／またはソフトウェア（たとえばスレッド、プロセス、コンピューティング・デバイス）でよい。クライアント５０２には、たとえば本発明を使用することでｃｏｏｋｉｅおよび／または関連のコンテクスト情報を格納できる。システム５００には、サーバ（１台または複数台）５０４も含まれる。サーバ５０４は、ハードウェアおよび／またはソフトウェア（たとえばスレッド、プロセス、コンピューティング・デバイス）でよい。サーバ５０４には、たとえば本発明を使用することによって変換を実行するスレッドを格納できる。クライアント５０２とサーバ５０４の間で可能な１つの通信の例は、２つ以上のコンピュータ・プロセス間で送信できるデータパケットの形態でもよい。データパケットには、たとえばｃｏｏｋｉｅおよび／または関連のコンテクスト情報を含めてもよい。システム５００には、クライアント５０２とサーバ５０４の間の通信を容易にさせる（facilitate）通信フレームワーク５０６（たとえばインターネットなどのグローバル通信ネットワーク）を備えている。
【００６４】
有線（光ファイバーを含む）および／または無線の技術を使用する通信は、容易化されて（facilitated）きている。クライアント５０２は、クライアント５０２のローカルな情報（たとえばｃｏｏｋｉｅおよび／または関連のコンテクスト情報）を格納するための１つまたは複数のデータ・ストア（store(s)）５０８に接続して機能する。同様に、サーバ５０４はサーバ５０４のローカルな情報を格納するための１つまたは複数のデータ・ストア５１０に接続して機能する。
【００６５】
以上の説明には、本発明の例が含まれる。本発明について説明するためにコンポーネントまたは方法のあらゆる組合せについて説明するのはもちろん不可能であるが、他にも本発明の多くの組合せや置き換えが可能であることは当業者なら理解することができる。したがって、本発明には添付の特許請求の範囲の精神および範囲内にある代替、修正、変形のすべてが含まれるものとする。さらに、発明の実施の形態と特許請求の範囲のいずれかで使用する「含む」という用語およびその変形の範囲は、「備える」が特許請求の範囲で転換語として使用された場合に解釈される用語「備える」と同様に包括的な意味を表す。
【図面の簡単な説明】
【００６６】
【図１】本発明に従って多次元式（multidimensional expressions）とデータ・マイニング拡張の一体化を容易にさせる（facilitate）システムを示す図である。
【図２】本発明による多次元データ・マイニングの１つの方法を示す流れ図である。
【図３】本発明に従ってデータ・マイニング拡張の入力として多次元式を使用する例示的な方法を示す流れ図である。
【図４】開示されたアーキテクチャを実現するために動作できるコンピュータを示すブロック図である。
【図５】本発明による例示的なコンピュータ環境の概略を示すブロック図である。
【符号の説明】
【００６７】
１００    多次元式（multidimensional expressions）とデータ・マイニング拡張の一体化を容易にさせる（facilitate）システム
１０２    データ・キューブ
１０４    データ・マイニング・コンポーネント
１０６    多次元式コンポーネント
１０８    データ・マイニング拡張コンポーネント
４０４    処理装置
４０６    システム・メモリ
４０８    バス
４１４    内蔵ハードディスク・ドライブ
４１４    外付けハードディスク・ドライブ
４１８    ディスク
４２０    ＣＤドライブ
４２２    ディスク
４２４    インターフェース
４２６    インターフェース
４２８    インターフェース
４３０    オペレーティング・システム
４３２    アプリケーション
４３４    モジュール
４３６    データ
４３８    キーボード
４４０    マウス
４４２    入力装置インターフェース
４４４    モニタ
４４６    ビデオ・アダプタ
４４８    リモート・コンピュータ
４５０    メモリ／ストレージ
４５６    ネットワーク・アダプタ
４５８    モデム
５０２    クライアント
５０４    サーバ
５０６    通信フレームワーク
５０８    クライアント・データ・ストア
５１０    サーバ・データ・ストア
【図１】
0004716796.tif 000011
【図２】
0004716796.tif 000012
【図３】
0004716796.tif 000013
【図４】
0004716796.tif 000014
【図５】
0004716796.tif 000015