JP2008516313A - クエリー結果の一連の近似を算出するためのシステム、方法及びコンピュータプログラム - Google Patents

クエリー結果の一連の近似を算出するためのシステム、方法及びコンピュータプログラム Download PDF

Info

Publication number
JP2008516313A
JP2008516313A JP2007534900A JP2007534900A JP2008516313A JP 2008516313 A JP2008516313 A JP 2008516313A JP 2007534900 A JP2007534900 A JP 2007534900A JP 2007534900 A JP2007534900 A JP 2007534900A JP 2008516313 A JP2008516313 A JP 2008516313A
Authority
JP
Japan
Prior art keywords
query
series
result
sample
data elements
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
JP2007534900A
Other languages
English (en)
Other versions
JP5176012B2 (ja
Inventor
シェラー,デイヴィッド,アール.
ローゼンタール,デイヴィッド,エー.
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Visual Sciences Technologies LLC
Original Assignee
Visual Sciences LLC
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Visual Sciences LLC filed Critical Visual Sciences LLC
Publication of JP2008516313A publication Critical patent/JP2008516313A/ja
Application granted granted Critical
Publication of JP5176012B2 publication Critical patent/JP5176012B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/24Querying
    • G06F16/245Query processing
    • G06F16/2458Special types of queries, e.g. statistical queries, fuzzy queries or distributed queries
    • G06F16/2462Approximate or statistical queries
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10TECHNICAL SUBJECTS COVERED BY FORMER USPC
    • Y10STECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10S707/00Data processing: database and file management or data structures
    • Y10S707/99931Database or file accessing
    • Y10S707/99932Access augmentation or optimizing
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10TECHNICAL SUBJECTS COVERED BY FORMER USPC
    • Y10STECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10S707/00Data processing: database and file management or data structures
    • Y10S707/99931Database or file accessing
    • Y10S707/99933Query processing, i.e. searching
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10TECHNICAL SUBJECTS COVERED BY FORMER USPC
    • Y10STECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10S707/00Data processing: database and file management or data structures
    • Y10S707/99931Database or file accessing
    • Y10S707/99933Query processing, i.e. searching
    • Y10S707/99934Query formulation, input preparation, or translation
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10TECHNICAL SUBJECTS COVERED BY FORMER USPC
    • Y10STECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10S707/00Data processing: database and file management or data structures
    • Y10S707/99941Database schema or data structure
    • Y10S707/99944Object-oriented database structure
    • Y10S707/99945Object-oriented database structure processing

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Probability & Statistics with Applications (AREA)
  • Theoretical Computer Science (AREA)
  • Computational Linguistics (AREA)
  • Software Systems (AREA)
  • Mathematical Physics (AREA)
  • Data Mining & Analysis (AREA)
  • Databases & Information Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Fuzzy Systems (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

クエリーの結果の一連の近似を作成するための方法、システム及びコンピュータプログラム。クエリーがデータの徐々に大きくなっていく標本に適用されて、徐々に精度が高くなっていく近似が算出される。選択によってクエリーの真の結果が算出されるまで処理が続けられる。

Description

本発明は全体的に、データを分析及びクエリーするためのシステムと方法に関する。さらに詳細には、本発明は、クエリー結果を徐々に、選択によってはクエリー完了時の真のクエリー結果が算出されるまで、近似計算していくためのシステムと方法に関する。
現代のビジネスでは、大量のデータの分析がますます重要なものとなってきている。しかし、大量のデータセットの複雑な分析及びクエリーには長時間かかりコストが高くなることがある。従って、複雑なデータ分析及びクエリーをより速くより安価に実行するために多くの手段が考案されている。
大量のデータセットをより早く分析するための一つの方法は、より高性能のコンピュータシステムを使用してクエリー処理に掛かる時間を短縮することである。無論、コンピュータ処理のリソースに高い性能を求めると、多くの企業・組織には手が出せないほど高い予算が必要となることが多い。
一つの手段として、大量のデータセットを処理及びクエリーするときに、特定の統計的標本抽出法を利用することが挙げられる。データの統計的標本を作成してからクエリーすることによって、実際に処理してクエリーするデータの量を大幅に低減できるので、処理に関わるコンピュータシステムの必要なリソースも低減できる。共有の特許文献1には、統計的標本抽出法を使用してデータ処理及びクエリーに掛かる時間を減少させる統計的標本抽出機能を有するデータ処理、クエリー及び分析システムが記載されている。特許文献1の全内容を参照により本願明細書に援用する。このシステムでは、大量なデータの複雑な処理、クエリー及び分析が実行されるが、データのクエリー及び分析を担当するコンピュータ処理システムの部分には、そのデータセットサイズの限界よりも大きいデータセットのうちの一部(統計的標本)のみが渡される。この構成によって、データセットのクエリー及び分析に必要なコンピュータ処理リソースが、データセット全体を処理及びクエリーする場合よりも少なくなるという効果がもたらされる。つまり、このような統計的標本抽出法によって、コンピュータ処理用のリソースと、コストと、時間とが節約できる。システムのデータセットサイズの限界よりもクエリーされるデータセットの方が少ない場合を除いては、データセット全体がクエリー及び分析に利用できる訳ではないので、無論、提示される結果は、許容できる程度までは正確である場合もあるが、100パーセント正確であるとは言えない。
よって、コンピュータ処理用リソースとコストと時間とを節約して、データを処理し、クエリー及び分析するための新しく改良されたシステム及び方法に対する要求は継続して存在している。
米国特許出願公開第20030144868号明細書
《発明の概要》
本発明の一実施形態によると、複数のデータ要素Dへのクエリーの結果Rの一連の近似を作成するための方法が提供される。この方法は、(a)Dの標本Siへのクエリーの結果Aiを算出するステップと、(b)少なくとも結果Aiをもとに結果Rの近似Biを算出するステップと、(c)ステップ(a)及び(b)を、異なるSiについて複数のi回実行することによって一連の近似を作成するステップとを含んでいる。
本発明の別の実施形態によると、データ記憶装置に格納された複数のデータ要素Dへのクエリーの結果Rの一連の近似を作成するためのシステムが提供される。このシステムは、前記データ記憶装置にアクセスするように構成されており、(a)複数のデータ要素Dの標本Siへのクエリーの結果Aiを算出し、(b)少なくとも結果Aiをもとに結果Rの近似Biを算出し、(c)(a)及び(b)を、異なる標本Siについて複数のi回実行することによって一連の近似を作成するように構成されている処理部を有している。
本発明の別の実施形態によると、データ記憶装置に格納された複数のデータ要素Dへのクエリーの結果Rの一連の近似を作成するコンピュータプログラムが提供される。前記コンピュータプログラムはコンピュータで読み込み可能な媒体に格納されており、前記データ記憶装置にアクセスし複数のデータ要素Dの標本Siへのクエリーの結果Aiを算出するための第1のコード部分を有している。前記コンピュータプログラムはさらに、少なくとも結果Aiをもとに結果Rの近似Biを算出するための第2のコード部分を有している。前記コンピュータプログラムはさらに、前記第1及び第2のコード部分を、異なる標本Siについて複数のi回実行することによって一連の近似を作成するための第3のコード部分を有している。
本発明の別の実施形態によると、複数のデータ要素Dへのクエリーの結果Rの一連の近似を作成するための方法が提供される。この方法は、(a)Dの標本Siへのクエリーの結果Aiを算出するための各ステップと、(b)少なくとも結果Aiをもとに結果Rの近似Biを算出するための各ステップと、(c)ステップ(a)及び(b)を、異なるSiについて複数のi回実行することによって一連の近似を作成するための各ステップとを含んでいる。
本発明の別の実施形態によると、データ記憶装置に格納された複数のデータ要素Dへのクエリーの結果Rの一連の近似を作成するためのシステムが提供される。このシステムは、前記データ記憶装置にアクセスし、(a)複数のデータ要素Dの標本Siへのクエリーの結果Aiを算出し、(b)少なくとも結果Aiをもとに結果Rの近似Biを算出し、(c)(a)及び(b)を、異なる標本Siについて複数のi回実行することによって一連の近似を作成するための処理手段を有している。
本発明の別の実施形態によると、データ記憶装置に格納された複数のデータ要素Dへのクエリーの結果Rの一連の近似を作成するためのシステムが提供される。このシステムは、データネットワークに接続されて、クエリー要請を作成しこのクエリー要請を前記データネットワークを介して処理手段に送信するように構成されているクライアント・ユーザー・インターフェースを有している。このクライアント・ユーザー・インターフェースは、クエリー要請に応える一連の近似を受け取り表示する。前記クエリー要請をもとに前記処理手段は、(a)前記複数のデータ要素Dの標本Siへのクエリーの結果Aiを算出し、(b)少なくとも結果Aiをもとに結果Rの近似Biを算出し、(c)(a)及び(b)を、異なる標本Siについて複数のi回実行することによって一連の近似を作成し、(d)前記一連の近似を前記クライアント・ユーザー・インターフェースに送信する。
本発明の各種の実施形態のさらなる応用及び利点を、図面を参照しながら以降で説明する。
《好適な実施形態の詳細な説明》
本発明は多くの様々な形態で実現できるが、本願明細書ではいくつかの例示的な実施形態を説明する。ただし、本開示は本発明の原理の例を示すものとみなすべきであり、また、これらの例は、本願明細書に開示及び/又は図示される好適な実施形態に本発明を限定するためのものではない、ということを理解されたい。
クエリー結果の一連の近似算出(以下、SAQR)は、クエリーが完了するまでクエリー結果の一連の近似を算出していく革新的な方法である。
「クエリー」は、各データ要素が「ドメイン」Dのメンバーであるデータ要素のリスト(データリスト)から「範囲」Rのメンバーである結果を抽出する数学関数Qとして、以下のように表すことができる:
Q:list(D)→ R
データリストXに対するクエリー関数Qの適用を「Xへのクエリー」と称する。また、このような適用によって算出される値Q(X)を「XへのクエリーQの結果」と称する。
クエリー関数は、データリスト内の順序を変更してもクエリーの結果が変わらない場合は、「バッグ関数」であると見なされる。つまり、あらゆるデータについて以下のようになる:
Q(permute(data))= Q(data)
前回の結果(Rのメンバー)とデータ要素(これもDのメンバー)から新しい結果(これもRのメンバー)を算出する「更新関数」Uがあれば、例えばこのUがデータ要素のリストへのクエリーQの結果と新しいデータ要素とに適用されると、その結果が、その新しいデータ要素をそのリストに加える(appendする)ことによって作成されるリストへのクエリーQの結果と同一であるようであれば、クエリー関数は「段階的に評価する」ことができる。これは以下によって表すことができる:
U:(R×D)→ R;
U(Q(a), b)= Q(append(a, b));
(append(a, b)は、リスト[a1, a2, … an, b]のこと)
結果(Rのメンバー)と、標本の大きさ(自然数グループNのメンバーである)と、母集団の大きさ(同様にNのメンバー)とから新しい結果(同様にRのメンバー)を算出する「近似関数」Aがあって、データの十分に大きなランダム又は擬似ランダム標本があることを前提に、この標本に適用されるクエリーQと、標本中のデータ要素の数と、データ中のデータ要素の数とに適用されるAの結果がこのデータに適用されるQの結果の有効な近似となるようであれば、クエリー関数は標本から近似を算出できる。これは以下によって表される:
A:(R×N×N)→ R;
(s = sample(a)) → A(Q(s), |s|, |a|)は、Q(a)の有効な近似である)
通常、近似関数は、より大きい標本へのクエリーの結果が与えられると、期待精度がより高い(つまりQ(a)に対して期待誤差がより低い)近似を算出し、母集団全体が与えられるとその母集団へのクエリーの結果そのものを算出する(つまり、A(Q(a), |a|, |a| = Q(a))。
バッグ関数であり標本から近似算出できるクエリー関数は、本発明の方法によって連続的に近似算出できる。次に説明する好適な実施形態では、さらにこのクエリー関数が段階的に評価できることも必要としている。
図1を参照すると、本発明の実施形態に従ったSAQRを使用してデータをクエリーする方法がフローチャートで示されている。ステップS1−1では、(ドメインRの)結果変数が、空のリストへのクエリーの結果へと初期化されている。これは以下のように表すことができる。
r : = Q([])
次に、ステップS1−2において、データをランダム並べ替え(random permutation)したものに渡ってクエリーを繰り返し(つまり繰り返し評価し)、更新関数を適用したデータ要素の数を記録していく。これは以下によって表される:
rpdata : = random_permutation (data);
for count : = 1 to |rpdata|;
d = rpdata[count]
ステップS1−3では、データ要素ごとに更新関数を前回の結果とデータ要素とに適用して、新しいクエリー結果r:=U(r, d)を算出する。更新関数の各適用の間に、ステップS1−4において、結果と、カウントと、データ要素の総数とに近似関数を適用してQ(data)の近似を算出することができる。なお、処理効率のために、近似関数の実行を図1に示すように毎回ではなく一定期間ごとのみにすることが必要となる場合もある。近似関数は以下によって表される:
a : = A(r, count, |rpdata|)
アプリケーションによっては、算出処理の実行中に、近似をステップS1−5においてユーザーに表示する、又は他の処理に対して出力することもできる。
さらに繰り返す必要がある場合(S1−6)、クエリーの次の調査が実行される。繰り返すべき処理が全て完了すると、クエリー結果がステップS1−7にて作成される。この段階ではクエリーは全データに対して実行されているので、ここでの結果rはQ(data)と正確に同一である。この段階で、クエリー結果rをユーザーに表示できる、又は格納できる、又は他の処理に出力できる。
つまり、本発明の方法では、徐々に大きくなる標本に対してクエリーを評価し近似のクエリー結果を作成していき、これにより、データの母集団全体に対してクエリーすることになるまで徐々に精度の高い近似を出力していくことができる。前述の実施形態では、各標本は前回の標本と一つの追加のデータ要素とから構成されており、更新関数を一度適用するだけで次のより大きな標本へ進むことができる。近似関数が有効であるとしてランダム並べ替えに関するコストを無視すれば、この処理は、更新関数を利用してデータリスト全体へクエリーを評価するまで漸近的に結果を提供していく。
アプリケーションによっては、データ要素のランダム順列を算出して格納し、そしてそれを多くのクエリーで使用することが適切である場合がある。又は、ランダム順列に対応する順序でランダムアクセスデータ構造を走査する、又は種類を問わず他の方法を利用して対応する順序でデータを走査する方がより適切である場合がある。
新しいデータ要素は、順列におけるランダムな位置に各要素を挿入することによって挿入すると、データリストをランダム順列の状態で維持できる。
クエリーの進行中にデータ要素を挿入又は修正又は削除する必要がある場合は、その処理が起こってもこれに纏わる変更を無視してクエリーすべきであるか(必要に応じて修正又は削除された要素を保存して)、又は該当するデータ要素が現在処理中の標本に(つまり、既に更新関数によって処理されたデータリストのランダム順列の一部に)属している場合は、クエリー処理はこのような変更も反映すべきであるかのどちらかである。新しい要素「n」の現在処理中の標本への挿入は、単に更新関数をこれらに適用することによって反映させることができる。有効である標本の大きさの変更を記録しておく必要もある場合がある。これは以下のように表すことができる:
r : = U(r, n)
count : = count + 1
−1(Q(append(a, b)), b)=Q(a)であるようなクエリーへの「逆更新関数」U−1があれば、現在処理中の標本における古い値「o」から新しい値「n」へのデータ要素の修正、又は古い値「o」に対応するデータ要素の現在処理中の標本からの削除を以下のようにして反映させることができる:
修正: r: = U(U−1(r, o), n)
削除: r: = U−1(r, o)
count: = count − 1
真に「ランダム」な順列を、全てのケースで達成することは困難である場合もある。ほぼ全てのクエリー及び近似関数のために、決定性擬似ランダム値によって、又はデータ要素ごとに異なる値を生成するようなデータ要素の機能によるハッシュによってソートすることを、近似の正確度合いに影響を与えずに順列を作成するために利用できる。
別の実施形態によると、データ要素を連結可能な2つ以上の標本に分割するようにしてもよい。各データ要素が一つの標本に属する必要があり、各データ要素は、同等かつ別個の確率を有する所定の標本に属する。これらの標本を連結したものは、必ずしも内部的にランダムな順序であるとは限らないので、ランダム順列とは言えない。しかし、近似が標本間の境目でのみ算出される場合は、その結果はやはり有効かつ正確である。
本発明の非常にシンプルな実施形態は、データ要素の小さな標本を作成し、その小さな標本に渡って高速でクエリーを評価して第一の近似を算出し、そしてデータリスト全体に渡ってクエリーを評価して真の結果となる第二の近似を算出するものである。
本発明によって、真のクエリー結果の算出を待たずにいつでもクエリーを打ち切ることが可能となる。近似の結果は打ち切る直前の処理をもとに出力できる。クエリーは、特定のアプリケーションにおいて、統計的性質をもとに近似関数から決定できるので近似結果の出力がその目的にとって十分に正確であるという理由で、早期に打ち切る場合がある。同様に、状況が変化するとクエリーの結果がもはや有効ではなくなるという理由から、クエリーを早期に打ち切る場合もある。
なお、本発明は、クエリーが完了したときの結果の完全な正確さと引き換えにコストをさらに減少させるために、一般的なランダム標本抽出と組み合わせて、データ要素のランダム標本のみが並び替えられてクエリーされるようにすることができる。同じ目的が順列のサフィックスを単に取り除くことによって達成できる。これにより格納するデータ要素の数は減少するがクエリーの完了は不可能となる。
本発明の要件を満たす関数の例示的なクラスを以下に列挙する。
各データ要素の関数Fの合計:
Q(data) = F(d) ;
U(r, d) = r + F(d) ;
A(r, n, N) = r * N / n
複数のクエリーの組み合わせ:
Q(data) = (R(data), S(data));
U((r,s), d ) = (U(r,d), U(s,d));
A((r,s), n, N) = (A(r,n,N), A(s,n,N))
複数のクエリーの関数:
たとえ別個のクエリーの結果が出力では必要ないとしても、これらの結果で結果のドメインを拡大させる。これにより、各クエリーの更新関数でこれらの結果を使用できるようになる。更新関数においてFを調査するように選択しない実施も可能である。
Q(data) = (F(R(data), S(data)), R(data), S(data));
U((f,r,s), d) = (F(U(r,d), U(s,d)), U(r,d), U(s,d));
A((f,r,s), n, N) = (F(A(r,n,N), A(s,n,N)), A(r,n,N), A(s,n,N))
ある述語Fを満たすデータ要素の抽出。ここでは、このような抽出のランダム標本がリスト全体の有効な近似となる。
Q(data) = Concatenate ||d in data ({{d} if F(d), {} otherwise );
U( r, d ) = {append(r,d) if F(d), r otherwise ;
A( r, n, N ) = r
以下の擬似コードが、例示的なSAQR処理のスクリプト方法を示している。
r := ( Undefined, 0, 0 )
rpdata := random_permutation(data)
for count := 1 to |rpdata|
d := rpdata[count]
r := U( r, d )
if (count % 3000) = 0
(fraction, numerator, denominator):= A( r, count, |rpdata|)
print “割合の近似値は”, fraction * 100.0
if (ユーザーが処理を中断する)
exit
fraction, numerator, denominator := r
print “割合の真の値は”, fraction * 100.0
exit
以下の例によって本発明の方法を例示する。なお、この例は本発明を限定するものではない。大勢の人々についての情報を分析するとする(例えば、国勢調査、又は世論調査などからの情報)。例えば、各個人に、「年齢」、「2003年の所得」、「都市」、「目の色」などの様々な属性を付帯できるようになっているとする。このデータは、指定の条件に合う人々の割合を知りたいという要求に応じて繰り返し調査できる。この場合の条件としては、例えば以下のようなものが考えられる:
所得<$20,000の人のうち、何パーセントが都市=「ニューヨーク」であるか?
都市=「シアトル」の人のうち、何パーセントが所得>$80,000であるか?
年齢>55の人のうち、何パーセントが所得<$15,000であるか?
また、データセットが非常に大量(例えば、地球の全人口など)であって、利用できるコンピュータ処理用リソースでは、上述のような指定の質問のいずれに答えを出すのにも相当な時間がかかるものとする。データのユーザーにとって時間が重要な問題である場合、ユーザーが、長い処理時間を掛けて真の結果(54.125936…%)を得るよりも、短時間で得られるならば近似の結果(約54.2%)でもよいとすることはよくあることである。
上述の前提に加えて、各個人についての情報が属性の一データとして表されるとし、これらのデータが以下のように「データ」リストに入れられているとする:
D=名前×年齢×所得×都市×目の色;
=(「ジョン・ドウ」、25、$35300、「ニューヨーク」、青);
=(「ジェーン・スミス」、42、$61200、「シアトル」、茶);
data = [d1, d, … dn] ここでは(diはDのメンバーである)
前処理のステップでは、このデータリストをランダムに並び替えて(rpdata = random_permutation(data))、何らかの法則に沿った人々の順序がない状態にする。これは、例えば、擬似ランダムキーで各diを増やしていき、そしてこのキーによってデータリストを結合してソートすることなどによって達成できる。これらのステップは、データの全リストを保有するのに十分な容量のRAMを必要とせずに、外部の(ディスク)ストレージにて実行できる。
上述したようなクエリーが提出されると、2つの述語関数がクエリー中の条件をもとに定義される。例えば、「所得<$20,000の人のうち、何パーセントが都市=「ニューヨーク」であるか?」というクエリーでは、以下のような2つの述語が定義される:
PredA(d) = {1 if income(d) < $20000, 0 otherwise;
PredB(d) = {1 if city(d) = “ニューヨーク”, 0 otherwise
「年齢>55の人のうち、何パーセントが所得<$15,000であるか?」というクエリーの場合は、以下のような2つの述語が定義される:
PredA(d) = {1 if age(d) > 55, 0 otherwise;
PredB(d) = {1 if income(d) < $15000, 0 otherwise
これらの述語関数をもとに、クエリー関数を以下のように定義できる:
Q(d) = ( ( PredA(d)*PredB(d)) / (Sumd in data PredA(d)),
( PredA(d)*PredB(d)),
( PredA(d))
適切な更新関数と近似関数は以下のように定義される:
U((f,r,s), d ) = ((d+PredA(d)*PredB(d))/(d+PredA(d)),
d + PredA(d)*PredB(d),
d + PredA(d) ),
A((f,r,s), n, N) = (r/s, r*N/n, s*N/n)
上述した通りにデータリストが順に処理されていく。この例では、数千のレコードが処理される度に、近似関数が計算されて、その結果がパーセントの形式に整えられて、ユーザーに(近似の結果として)表示される。ユーザーは処理を中断する機会を与えられる。処理が中断されなければ、クエリーが完了したときに真の結果が表示される。
PYTHONスクリプト言語で記載されたスクリプトの以下のプログラムを上述の例を遂行するために使用できる。なお、このプログラムは、理解を容易にするために一例として示すものに過ぎず。本発明をどのような形であれ制限するものではない。
import random
domains = ("名前", "年齢", "所得", "都市", "目の色")
data… = [("ジョン・ドウ", 25, 35300, "ニューヨーク", "青"),
..........("ジェーン・スミス", 42, 61200, "シアトル", "茶"),
..........("ジェイソン・ジョンソン", 33, 48400, "シアトル", "茶"),
..........("フレッド・フリントストーン", 10000, 0, "ベッドロック", "茶"),
..........("ボブ・ジョーンズ", 18, 0, "ボストン", "青"),
.......... ]

#上記の一握りのレコードをあまり
#大きくないサイズにコピーする
data = data * 10000

def ToDictionary( tuple ):
.........."""ドメインからのキーとデータからの値を含む
..........ディクショナリを返す"""
..........dict = {}
..........for k,v in zip(domains,tuple):
.......... dict[k]=v
..........return dict

#データのランダム順列を作成する
rpdata = data[:]
random.shuffle(rpdata)

while 1:
..........# ユーザーにクエリーを入力するよう要請する
..........queryA = raw_input("クエリー:…である人のうち何パーセントが")
..........queryB = raw_input(" …であるか")

..........#クエリーをもとにPredA とPredB とを定義する
..........def PredA(d): return float(eval(queryA, ToDictionary(d)))
..........ef PredB(d): return float(eval(queryB, ToDictionary(d)))

..........def Update( (f,r,s), d ):
.......... return (r+PredA(d) and (r+PredA(d)*PredB(d))/(s+PredA(d)),
.......... r+PredA(d)*PredB(d),
.......... s+PredA(d) )

..........def Approximate( (f,r,s), n, N ):
.......... return (s and r/s, r*N/n, s*N/n)

..........try:
.......... # 徐々に精度の高いクエリー結果を算出していく
.......... result = ("未定義", 0, 0)
.......... for i,d in enumerate(rpdata):
.......... count = i+1
.......... result = Update(result, d)

.......... if count % 1000 == 0:
.......... fraction, numerator, denominator = Approximate(result, count, len(rpdata))
.......... print "割合の近似値は", fraction * 100.0

.......... fraction, numerator, denominator = result
.......... print "割合の真の値は", fraction * 100.0

..........except KeyboardInterrupt:
.......... print
.......... print "クエリーはユーザーによって中断されました。"
..........Print
前記のスクリプトを実行したら以下の例示的な結果が生成された:
クエリー:都市 == "ニューヨーク"である人のうち何パーセントが …所得 < 30000であるか割合の近似値は0.0割合の近似値は0.0割合の近似値は0.0割合の近似値は0.0割合の近似値は0.0割合の近似値は0.0割合の近似値は0.0割合の近似値は0.0割合の近似値は0.0割合の近似値は0.0割合の近似値は0.0割合の近似値は0.0割合の近似値は0.0割合の近似値は0.0割合の近似値は0.0割合の近似値は0.0割合の近似値は0.0割合の近似値は0.0割合の近似値は0.0割合の近似値は0.0割合の近似値は0.0割合の近似値は0.0割合の近似値は0.0割合の近似値は0.0割合の近似値は0.0割合の近似値は0.0割合の近似値は0.0割合の近似値はクエリーはユーザーによって中断されました。
クエリー: 年齢 > 20である人のうち何パーセントが …所得 < 30000であるか割合の近似値は25.0316055626割合の近似値は24.7648902821割合の近似値は23.9038785835割合の近似値は23.8170347003割合の近似値は24.2576748868割合の近似値は24.1379310345割合の近似値は24.6695248303割合の近似値は24.5721463338割合の近似値は24.8015596714割合の近似値は24.9749373434割合の近似値は25.0割合の近似値は25.0260145682割合の近似値は25.0287797391割合の近似値は24.9288002848割合の近似値は24.8626602297割合の近似値は24.9219968799割合の近似値は25.0459052516割合の近似値は25.0797614093割合の近似値は24.9852100177割合の近似値は25.0046848648割合の近似値は25.1070154578割合の近似値は25.0823208811割合の近似値は25.145404142割合の近似値は25.0886155129割合の近似値は25.0275302833割合の近似値は24.9843607141割合の近似値は24.9212087505割合の近似値は24.8747091462割合の近似値は24.8616874136割合の近似値は24.8402856069割合の近似値は24.9201923465割合の近似値は24.8816371249割合の近似値は24.9687085151割合の近似値は24.9687385068割合の近似値は25.0223190372割合の近似値は25.0355717508割合の近似値は25.0388382303割合の近似値は25.0419118372割合の近似値は25.0272243931割合の近似値は25.0421743205割合の近似値は25.093004818割合の近似値は25.1286781113割合の近似値は25.0922938287割合の近似値は25.038337025割合の近似値は25.0763422353割合の近似値は25.0801325583割合の近似値は25.0392193358割合の近似値は25.0436186558割合の近似値は25.0255128074割合の近似値は25.0割合の真の値は25.0
クエリー:目の色== "茶"である人のうち何パーセントが …都市== "シアトル"であるか割合の近似値は66.0377358491割合の近似値は67.0008354219割合の近似値は67.7657760091割合の近似値は67.940552017割合の近似値は67.5420875421割合の近似値は67.6561187342割合の近似値は67.0090778786割合の近似値は67.1701279631割合の近似値は66.8466120625割合の近似値は66.5210818075割合の近似値は66.3658611196割合の近似値は66.3400979706割合の近似値は66.3701985048割合の近似値は66.5072342461割合の近似値は66.5958398569割合の近似値は66.5164535737クエリーはユーザーによって中断されました。
上記の例から明確に理解できるように、クエリー結果の一連の近似が算出されていき、クエリーを最後まで実行させた場合、最後のこのような「近似」は真のクエリー結果となる。実際の精度は不規則に変動するが、連続して算出される各近似の期待精度は高まっていく。
上述の例では、印刷された出力の性質上、その時点までの連続算出された近似の全てが表示されている。これが有益である例もあるが、最終かつ最良の近似だけ表示すればよいというのがもっと一般的である。
図2は、本発明の方法を実行可能である処理機構の構成を示すブロック図である。処理機構の構成200には、データ記憶装置204に接続された処理部202と、入/出力(I/O)装置206と、表示装置208と、プリンタ装置210とが含まれている。処理部はCPUを有していてもよく、上述の処理を遂行するためのコンピュータプログラムを実行するように構成されていてもよい。当技術の通常の技量を有するものであれば、処理機構の構成200が、無制限の数のハードウェア及びソフトウェア構成で実現可能であり、これらのハードウェア及びソフトウェアはアプリケーションに応じて選択可能であることが分かるだろう。例えば、SAQRエンジンは、PYTHON等のオブジェクト指向のスクリプト言語で記述でき、UNIXをベースとするプロセッサ上で作動できる。
クエリーされるデータはデータ記憶装置204に格納されていてもよい。データ記憶装置204は、例えばスタンドアローンのデータベース、データウェアハウス等である。データは、単層ファイルに、又はその他のどのような構成で格納されていてもよい。データは、オブジェクト指向型のもの、リレーショナル型のもの等であってもよい。当業者であれば、あるデータ構造では、その他の構造よりもランダム順列を達成することがより困難となる場合があることが分かるだろう。
当業者であれば、分散型構成において、又はクライアント・サーバー構成やウェブをベースとした構成などの様々な構成のいずれを介しても、処理を中央で実行するようにできることが分かるだろう。
データの表示は、クライアントユーザー用のインターフェース等、どのような手段を介したどのような形で実行してもよい。情報は、ベンチマーク、信頼区間、カラーランプ測定値、動的抽出次元、スケールと凡例、トレリスグラフ、平滑推移、線グラフのための移動平均及びカーネル平滑化など、様々なプレゼンテーション手法を用いて表示できる。
図3は、基本的で例示的なインターフェース300を示している。インターフェース300ではクエリー302の入力が可能であり、クエリーの結果304が表示される。結果304は、前述したとおりにデータに渡ってクエリーが処理されるのに従って更新されていってもよい。「信頼度」インジケータ306を近似の結果と共に表示して、近似の正確度合いを示すことができる。この例では、シンプルな棒グラフを用いて既に調査されたデータの量(サンプルの大きさ)を示している。しかし、信頼度インジケータは、近似の正確度合いを示すために様々な統計分析手法のいずれを用いて計算しても構わない。標準偏差などデータのその他の特性も同様に表示できる。
統計学の分野では、信頼区間及びその他の正確度の指標を算出するために多くの有用な式や方法が存在している。述語を満たすデータ要素のカウントについての80%対称信頼区間を近似算出するのに利用できるあるシンプルかつ効果的な式は、以下のようになる:
((count + 0.68)^0.5 * 1.281551 + 1.2269) / count
SAQRが、例えば、ユーザーのシステムとの1回のやりとりに応えて(つまり1つのクエリーをもとに)時間の経過と共に精度を高めていく結果の連続表示をシステムのユーザーに提供できる、などの明らかな利点を有することが当業者であれば分かるだろう。つまり、1つのクエリー要請に応えて表示可能な動的クエリー結果を作成する。この動的クエリー結果では、それぞれ精度と信頼度が高まっていく瞬間的な結果の無制限なセットが提供される。
ここまで、図面を参照しながら様々な好適な実施形態を詳細に説明してきた。これらの好適な実施形態をもとに本発明を説明したが、当業者であれば、説明した実施形態への修正、改変、代替の構成の適用などが本発明の趣旨と範囲の中で可能であることが明確に理解できるであろう。
《著作権について》
本特許出願の一部は著作権保護の対象となる内容を含んでいる。著作権の所有者は、特許商標局で開示されているとおりの特許書類又は特許開示は誰が複製してもよいとしているが、それ以外の場合は全著作権を留保する。
図1は、例示的なSAQR方法を示すフローチャートである。 図2は、本発明を実施するために使用できるコンピュータ処理機構の構成を示すブロック図である。 図3は、本発明の一実施形態に従った例示的な表示を図示している。
符号の説明
200 処理機構の構成
202 処理部
204 データ記憶装置
206 I/O装置
208 表示装置
210 プリンタ
300 インターフェース
302 クエリー
304 クエリーの結果
306 信頼度

Claims (67)

  1. 複数のデータ要素Dへのクエリーの結果Rの一連の近似を作成するための方法であって、
    a)Dの標本Siへのクエリーの結果Aiを算出するステップと、
    b)少なくとも前記の結果Aiをもとに、結果Rの近似Biを算出するステップと、
    c)ステップ(a)及び(b)を、異なるSiについて複数のi回実行することによって一連の近似を作成するステップと
    を含む方法。
  2. ステップ(a)の一連の適用において、標本Siが徐々に大きくなっていき(つまり|Si+1| > |Si|)、ステップ(b)の一連の適用において、近似Biの期待精度が徐々に高くなっていく
    ことを特徴とする請求項1に記載の方法。
  3. ステップ(a)の少なくとも一回の適用において、標本Siが、前回の標本Sjからのデータ要素と複数の新しいデータ要素Niとを含んでおり、
    iがAjとNiとの関数として算出される
    ことを特徴とする請求項1に記載の方法。
  4. iが、Dのランダム又は擬似ランダム順列の間順走査によって作成される
    ことを特徴とする請求項3に記載の方法。
  5. iが、Dのランダム又は擬似ランダム走査によって作成される
    ことを特徴とする請求項3に記載の方法。
  6. ステップ(a)の少なくとも一回の適用において、標本Siが前記複数のデータ要素Dを含んでいる
    ことを特徴とする請求項1に記載の方法。
  7. クエリーを作成するステップをさらに含む請求項1に記載の方法。
  8. 表示装置にステップ(c)で作成される前記一連の近似を表示するステップをさらに含む請求項1に記載の方法。
  9. 前記複数のデータ要素Dが単層ファイルに格納されており、
    前記方法が、前記単層ファイルにアクセスするステップをさらに含んでいる請求項1に記載の方法。
  10. 前記クエリーが完了した割合を示すインジケータを作成するステップをさらに含む請求項1に記載の方法。
  11. 近似Biごとに前記近似Biの正確度合いを示す信頼インジケータCiを作成するステップをさらに含む請求項1に記載の方法。
  12. データ記憶装置に格納された複数のデータ要素Dへのクエリーの結果Rの一連の近似を作成するためのシステムであって、
    前記データ記憶装置にアクセスするように構成されており、(a)複数のデータ要素Dの標本Siへのクエリーの結果Aiを算出し、(b)少なくとも結果Aiをもとに結果Rの近似Biを算出し、(c)(a)及び(b)を、異なる標本Siについて複数のi回実行することによって一連の近似を作成するように構成されている処理部を備えるシステム。
  13. 前記処理部がさらに、(a)の一連の適用において、徐々に大きくなっていく標本Si(つまり|Si+1| > |Si|)をDから選択するように構成されており、
    ステップ(b)の一連の適用において、近似Biの期待精度が徐々に高くなっていく
    ことを特徴とする請求項12に記載のシステム。
  14. 前記処理部が実行する(a)の少なくても1回の適用において、標本Siが、前回の標本Sjからのデータ要素と複数の新しいデータ要素Niとを含んでおり、
    iがAjとNiとの関数として算出される
    ことを特徴とする請求項12に記載のシステム。
  15. iが、Dのランダム又は擬似ランダム順列の間順走査によって作成される
    ことを特徴とする請求項14に記載のシステム。
  16. iが、Dのランダム又は擬似ランダム走査によって作成される
    ことを特徴とする請求項14に記載のシステム。
  17. ステップ(a)の少なくとも1回の適用において、標本Siが前記複数のデータ要素Dを含んでいる
    ことを特徴とする請求項12に記載のシステム。
  18. 前記処理部がさらに、クエリー要請を受け付けて前記クエリー要請をもとに前記クエリーを作成するように構成されている
    ことを特徴とする請求項12に記載のシステム。
  19. 前記処理部がさらに、(c)にて作成された前記一連の近似を表示装置に表示するように構成されている
    ことを特徴とする請求項12に記載のシステム。
  20. 前記複数のデータ要素Dが前記データ記憶装置の単層ファイルに格納されている
    ことを特徴とする請求項12に記載のシステム。
  21. 前記処理部がさらに、前記クエリーが完了した割合を示すインジケータを作成するように構成されている
    ことを特徴とする請求項12に記載のシステム。
  22. 前記処理部がさらに、近似Biごとに前記近似Biの正確度合いを示す信頼インジケータCiを作成するように構成されている
    ことを特徴とする請求項12に記載のシステム。
  23. 前記信頼インジケータCiが、少なくとも結果Aiをもとにしている
    ことを特徴とする請求項22に記載のシステム。
  24. データ記憶装置に格納された複数のデータ要素Dへのクエリーの結果Rの一連の近似を作成するコンピュータプログラムであって、コンピュータで読み込み可能な媒体に格納されており、
    前記データ記憶装置にアクセスし、複数のデータ要素Dの標本Siへのクエリーの結果Aiを算出するための第1のコード部分と、
    少なくとも結果Aiをもとに結果Rの近似Biを算出するための第2のコード部分と、
    前記第1及び第2のコード部分を、異なる標本Siについて複数のi回実行することによって一連の近似を作成するための第3のコード部分と
    を備えるコンピュータプログラム。
  25. 前記第1のコード部分が、徐々に大きくなっていく標本Si(つまり|Si+1| > |Si|)を使用するように構成されており、
    前記第2のコード部分の一連の実行において、近似Biの期待精度が徐々に高くなっていく
    ことを特徴とする請求項24に記載のコンピュータプログラム。
  26. 前記第1のコード部分の少なくとも1回の実行において、標本Siが、前回の標本Sjからのデータ要素と複数の新しいデータ要素Niとを含んでおり、
    iがAjとNiとの関数として算出される
    ことを特徴とする請求項24に記載のコンピュータプログラム。
  27. iが、Dのランダム又は擬似ランダム順列の間順走査によって作成される
    ことを特徴とする請求項26に記載のコンピュータプログラム。
  28. iが、Dのランダム又は擬似ランダム走査によって作成される
    ことを特徴とする請求項26に記載のコンピュータプログラム。
  29. 前記第1のコード部分の少なくとも一回の実行において、標本Siが前記複数のデータ要素Dを含んでいる
    ことを特徴とする請求項24に記載のコンピュータプログラム。
  30. クエリーを作成するための第4のコード部分をさらに含む請求項24に記載のコンピュータプログラム。
  31. 前記一連の近似を表示するための第4のコード部分をさらに含む請求項24に記載のコンピュータプログラム。
  32. 前記複数のデータ要素Dが単層ファイルに格納されている
    ことを特徴とする請求項24に記載のコンピュータプログラム。
  33. 前記クエリーが完了した割合を示すインジケータを作成するための第4のコード部分をさらに含む請求項24に記載のコンピュータプログラム。
  34. 近似Biごとに前記近似Biの正確度合いを示す信頼インジケータCiを作成するための第4のコード部分をさらに含む請求項24に記載のコンピュータプログラム。
  35. 複数のデータ要素Dへのクエリーの結果Rの一連の近似を作成するための方法であって、
    a)Dの標本Siへのクエリーの結果Aiを算出するための各ステップと、
    b)少なくとも結果Aiをもとに結果Rの近似Biを算出するための各ステップと、
    c)ステップ(a)及び(b)を、異なるSiについて複数のi回実行することによって一連の近似を作成するための各ステップと
    を含む方法。
  36. (a)の一連の適用において、標本Siが徐々に大きくなっていき(つまり|Si+1| > |Si|)、(b)の一連の適用において、近似Biの期待精度が徐々に高くなっていく
    ことを特徴とする請求項35に記載の方法。
  37. (a)の少なくとも一回の適用において、標本Siが、前回の標本Sjからのデータ要素と複数の新しいデータ要素Niとを含んでおり、
    iがAjとNiとの関数として算出される
    ことを特徴とする請求項35に記載の方法。
  38. iが、Dのランダム又は擬似ランダム順列の間順走査によって作成される
    ことを特徴とする請求項37に記載の方法。
  39. iが、Dのランダム又は擬似ランダム走査によって作成される
    ことを特徴とする請求項37に記載の方法。
  40. (a)の少なくとも一回の適用において、標本Siが前記複数のデータ要素Dを含んでいる
    ことを特徴とする請求項35に記載の方法。
  41. クエリーを作成するための各ステップをさらに含む請求項35に記載の方法。
  42. (c)で作成される前記一連の近似を表示装置に表示するための各ステップをさらに含む請求項35に記載の方法。
  43. 前記複数のデータ要素Dが単層ファイルに格納されており、
    前記方法が、前記単層ファイルにアクセスするための各ステップをさらに含んでいる請求項35に記載の方法。
  44. 前記クエリーが完了した割合を示すインジケータを作成するための各ステップをさらに含む請求項35に記載の方法。
  45. 近似Biごとに前記近似Biの正確度合いを示す信頼インジケータCiを作成するための各ステップをさらに含む請求項35に記載の方法。
  46. データ記憶装置に格納された複数のデータ要素Dへのクエリーの結果Rの一連の近似を作成するためのシステムであって、
    前記データ記憶装置にアクセスし、(a)複数のデータ要素Dの標本Siへのクエリーの結果Aiを算出し、(b)少なくとも結果Aiをもとに結果Rの近似Biを算出し、(c)(a)及び(b)を、異なる標本Siについて複数のi回実行することによって一連の近似を作成するための処理手段を備えるシステム。
  47. 前記処理手段が、(a)の一連の適用において、徐々に大きくなっていく標本Si(つまり|Si+1| > |Si|)をDから選択し、
    ステップ(b)の一連の適用において、近似Biの期待精度が徐々に高くなっていく
    ことを特徴とする請求項46に記載のシステム。
  48. (a)の少なくても1回の適用において、処理手段が、前回の標本Sjからのデータ要素と複数の新しいデータ要素Niとを含むように標本Siを選択し、AjとNiとの関数としてAiを算出する
    ことを特徴とする請求項46に記載のシステム。
  49. 前記処理手段が、Dのランダム又は擬似ランダム順列の間順走査によってNiを作成する
    ことを特徴とする請求項48に記載のシステム。
  50. 前記処理手段が、Dのランダム又は擬似ランダム走査によってNiを作成する
    ことを特徴とする請求項48に記載のシステム。
  51. (a)の少なくとも1回の適用において、標本Siが前記複数のデータ要素Dを含んでいる
    ことを特徴とする請求項46に記載のシステム。
  52. 前記処理手段が、クエリー要請を受け付けて、前記クエリー要請をもとに前記クエリーを作成する
    ことを特徴とする請求項46に記載のシステム。
  53. 前記処理手段が、(c)にて作成された前記一連の近似を表示装置に表示する
    ことを特徴とする請求項46に記載のシステム。
  54. 前記複数のデータ要素Dが前記データ記憶装置の単層ファイルに格納されている
    ことを特徴とする請求項46に記載のシステム。
  55. 前記処理手段が、前記クエリーが完了した割合を示すインジケータを作成する
    ことを特徴とする請求項46に記載のシステム。
  56. 前記処理手段が、近似Biごとに前記近似Biの正確度合いを示す信頼インジケータCiを作成する
    ことを特徴とする請求項46に記載のシステム。
  57. 前記信頼インジケータCiが、少なくともAiをもとにしている
    ことを特徴とする請求項56に記載のシステム。
  58. データ記憶装置に格納された複数のデータ要素Dへのクエリーの結果Rの一連の近似を作成するためのシステムであって、
    データネットワークに接続されたクライアント・ユーザー・インターフェースであって、クエリー要請を作成し、このクエリー要請を前記データネットワークを介して処理手段に送信し、これに応える一連の近似を受け取り表示するように構成されているクライアント・ユーザー・インターフェースを備え、
    前記クエリー要請をもとに、前記処理手段が前記データネットワークに接続されて、(a)前記複数のデータ要素Dの標本Siへのクエリーの結果Aiを算出し、(b)少なくとも結果Aiをもとに結果Rの近似Biを算出し、(c)(a)及び(b)を、異なる標本Siについて複数のi回実行することによって一連の近似を作成し、(d)前記一連の近似を前記クライアント・ユーザー・インターフェースに送信する
    ことを特徴とするシステム。
  59. 前記処理手段が、(a)の一連の適用において、徐々に大きくなっていく標本Si(つまり|Si+1| > |Si|)をDから選択し、
    ステップ(b)の一連の適用において、近似Biの期待精度が徐々に高くなっていく
    ことを特徴とする請求項58に記載のシステム。
  60. 処理手段が、(a)の少なくとも一回の適用において、前回の標本Sjからのデータ要素と複数の新しいデータ要素Niとを含むように標本Siを選択し、AjとNiとの関数としてAiを算出する
    ことを特徴とする請求項58に記載のシステム。
  61. 前記処理手段が、Dのランダム又は擬似ランダム順列の間順走査によってNiを作成する
    ことを特徴とする請求項60に記載のシステム。
  62. 前記処理手段が、Dのランダム又は擬似ランダム走査によってNiを作成する
    ことを特徴とする請求項60に記載のシステム。
  63. (a)の少なくとも1回の適用において、標本Siが前記複数のデータ要素Dを含んでいる
    ことを特徴とする請求項58に記載のシステム。
  64. 前記複数のデータ要素Dが前記データ記憶装置の単層ファイルに格納されている
    ことを特徴とする請求項58に記載のシステム。
  65. 前記処理手段が前記クエリーの完了した割合を示すインジケータを作成し、前記クライアント・ユーザー・インターフェースが前記インジケータを表示する
    ことを特徴とする請求項58に記載のシステム。
  66. 前記処理手段が近似Biごとに前記近似Biの正確度合いを示す信頼インジケータCiを作成し、前記クライアント・ユーザー・インターフェースが前記信頼インジケータCiを表示する
    ことを特徴とする請求項58に記載のシステム。
  67. 前記クライアント・ユーザー・インターフェースがさらに、前記インジケータをグラフィカルに表示するように構成されている
    ことを特徴とする請求項65に記載のシステム。
JP2007534900A 2004-10-05 2005-10-05 クエリー結果の一連の近似を算出するためのシステム、方法及びコンピュータプログラム Active JP5176012B2 (ja)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US10/957,671 US7617186B2 (en) 2004-10-05 2004-10-05 System, method and computer program for successive approximation of query results
US10/957,671 2004-10-05
PCT/US2005/035764 WO2006041886A2 (en) 2004-10-05 2005-10-05 System, method and computer program for successive approximation of query results

Publications (2)

Publication Number Publication Date
JP2008516313A true JP2008516313A (ja) 2008-05-15
JP5176012B2 JP5176012B2 (ja) 2013-04-03

Family

ID=36126820

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2007534900A Active JP5176012B2 (ja) 2004-10-05 2005-10-05 クエリー結果の一連の近似を算出するためのシステム、方法及びコンピュータプログラム

Country Status (6)

Country Link
US (1) US7617186B2 (ja)
EP (1) EP1820123A4 (ja)
JP (1) JP5176012B2 (ja)
AU (1) AU2005294416A1 (ja)
CA (1) CA2580687A1 (ja)
WO (1) WO2006041886A2 (ja)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2018049332A (ja) * 2016-09-20 2018-03-29 株式会社東芝 データ検索システムおよびデータ検索方法
JPWO2017135264A1 (ja) * 2016-02-05 2018-11-29 Necソリューションイノベータ株式会社 情報処理装置、情報処理方法、及びプログラム

Families Citing this family (20)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8578041B2 (en) * 2005-06-03 2013-11-05 Adobe Systems Incorporated Variable sampling rates for website visitation analysis
JP2009047831A (ja) * 2007-08-17 2009-03-05 Toshiba Corp 特徴量抽出装置、プログラムおよび特徴量抽出方法
US8234582B1 (en) 2009-02-03 2012-07-31 Amazon Technologies, Inc. Visualizing object behavior
US8250473B1 (en) 2009-02-03 2012-08-21 Amazon Technoloies, Inc. Visualizing object behavior
US8341540B1 (en) 2009-02-03 2012-12-25 Amazon Technologies, Inc. Visualizing object behavior
US20100241893A1 (en) * 2009-03-18 2010-09-23 Eric Friedman Interpretation and execution of a customizable database request using an extensible computer process and an available computing environment
US9043296B2 (en) 2010-07-30 2015-05-26 Microsoft Technology Licensing, Llc System of providing suggestions based on accessible and contextual information
US9864966B2 (en) 2010-12-17 2018-01-09 Microsoft Technology Licensing, Llc Data mining in a business intelligence document
US9104992B2 (en) 2010-12-17 2015-08-11 Microsoft Technology Licensing, Llc Business application publication
US9336184B2 (en) 2010-12-17 2016-05-10 Microsoft Technology Licensing, Llc Representation of an interactive document as a graph of entities
US9024952B2 (en) 2010-12-17 2015-05-05 Microsoft Technology Licensing, Inc. Discovering and configuring representations of data via an insight taxonomy
US9111238B2 (en) * 2010-12-17 2015-08-18 Microsoft Technology Licensing, Llc Data feed having customizable analytic and visual behavior
US9069557B2 (en) 2010-12-17 2015-06-30 Microsoft Technology Licensing, LLP Business intelligence document
US9304672B2 (en) 2010-12-17 2016-04-05 Microsoft Technology Licensing, Llc Representation of an interactive document as a graph of entities
US9110957B2 (en) 2010-12-17 2015-08-18 Microsoft Technology Licensing, Llc Data mining in a business intelligence document
US9171272B2 (en) 2010-12-17 2015-10-27 Microsoft Technology Licensing, LLP Automated generation of analytic and visual behavior
WO2013147778A1 (en) * 2012-03-28 2013-10-03 Intel Corporation Function approximation based on statistical properties
US9607045B2 (en) 2012-07-12 2017-03-28 Microsoft Technology Licensing, Llc Progressive query computation using streaming architectures
US10740328B2 (en) 2016-06-24 2020-08-11 Microsoft Technology Licensing, Llc Aggregate-query database system and processing
US10552435B2 (en) * 2017-03-08 2020-02-04 Microsoft Technology Licensing, Llc Fast approximate results and slow precise results

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH11353331A (ja) * 1998-05-20 1999-12-24 Lucent Technol Inc デ―タベ―スの問合せに応答する方法
US6108647A (en) * 1998-05-21 2000-08-22 Lucent Technologies, Inc. Method, apparatus and programmed medium for approximating the data cube and obtaining approximate answers to queries in relational databases
JP2004272936A (ja) * 2004-06-14 2004-09-30 Hitachi Ltd 大規模データ分析方法

Family Cites Families (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5950189A (en) * 1997-01-02 1999-09-07 At&T Corp Retrieval system and method
US5870752A (en) 1997-08-21 1999-02-09 Lucent Technologies Inc. Incremental maintenance of an approximate histogram in a database system
US6507840B1 (en) * 1999-12-21 2003-01-14 Lucent Technologies Inc. Histogram-based approximation of set-valued query-answers
US6748394B2 (en) * 2000-04-27 2004-06-08 Hyperion Solutions Corporation Graphical user interface for relational database
WO2002101581A2 (de) 2001-06-08 2002-12-19 Siemens Aktiengesellschaft Statistische modelle zur performanzsteigerung von datenbankoperationen
AU2002334954B2 (en) * 2001-10-11 2008-07-31 Omniture, Inc. System, method, and computer program product for processing and visualization of information
US20040002956A1 (en) 2002-06-28 2004-01-01 Microsoft Corporation Approximate query processing using multiple samples

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH11353331A (ja) * 1998-05-20 1999-12-24 Lucent Technol Inc デ―タベ―スの問合せに応答する方法
US6108647A (en) * 1998-05-21 2000-08-22 Lucent Technologies, Inc. Method, apparatus and programmed medium for approximating the data cube and obtaining approximate answers to queries in relational databases
JP2004272936A (ja) * 2004-06-14 2004-09-30 Hitachi Ltd 大規模データ分析方法

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPWO2017135264A1 (ja) * 2016-02-05 2018-11-29 Necソリューションイノベータ株式会社 情報処理装置、情報処理方法、及びプログラム
JP2018049332A (ja) * 2016-09-20 2018-03-29 株式会社東芝 データ検索システムおよびデータ検索方法

Also Published As

Publication number Publication date
US20060074882A1 (en) 2006-04-06
EP1820123A2 (en) 2007-08-22
JP5176012B2 (ja) 2013-04-03
WO2006041886A3 (en) 2007-05-03
AU2005294416A1 (en) 2006-04-20
CA2580687A1 (en) 2006-04-20
US7617186B2 (en) 2009-11-10
EP1820123A4 (en) 2009-02-18
WO2006041886A2 (en) 2006-04-20

Similar Documents

Publication Publication Date Title
JP5176012B2 (ja) クエリー結果の一連の近似を算出するためのシステム、方法及びコンピュータプログラム
US9922002B2 (en) Efficient representations of graphs with multiple edge types
US7689553B2 (en) Execution cost reduction of sampled queries in a database
Linoff Data analysis using SQL and Excel
US9558251B2 (en) Transformation functions for compression and decompression of data in computing environments and systems
US8688682B2 (en) Query expression evaluation using sample based projected selectivity
US20050273697A1 (en) Data editing and verification user interface
EP2863311B1 (en) Domain centric test data generation
US7921100B2 (en) Set similarity selection queries at interactive speeds
US8463807B2 (en) Augmented search suggest
US20120096054A1 (en) Reading rows from memory prior to reading rows from secondary storage
US9122755B2 (en) Instantaneous incremental search user interface
US10089342B2 (en) Main memory database management using page index vectors
US20140280283A1 (en) Database System with Data Organization Providing Improved Bit Parallel Processing
US9141654B2 (en) Executing user-defined function on a plurality of database tuples
US10191942B2 (en) Reducing comparisons for token-based entity resolution
US20070094233A1 (en) Translating time-independent data using database operations
US8086610B2 (en) Autonomic self configuring building-block database index
WO2023086322A1 (en) Late materialization of queried data in database cache
US20100205197A1 (en) Two-valued logic database management system with support for missing information
US20060235819A1 (en) Apparatus and method for reducing data returned for a database query using select list processing
US20230367751A1 (en) Evaluating Row-Store Expressions on a Column-Store Database
Torgo Data mining with R
WO2023219734A1 (en) Evaluating row-store expressions on a column-store database
JP2001331573A (ja) 姓名分析方法及びそのシステム

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20080807

A711 Notification of change in applicant

Free format text: JAPANESE INTERMEDIATE CODE: A711

Effective date: 20091013

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A821

Effective date: 20091013

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20110816

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20111116

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20120529

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20120627

A711 Notification of change in applicant

Free format text: JAPANESE INTERMEDIATE CODE: A711

Effective date: 20121211

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A821

Effective date: 20121211

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

Ref document number: 5176012

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20160118

Year of fee payment: 3

RD02 Notification of acceptance of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: R3D02

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20160118

Year of fee payment: 3

RD02 Notification of acceptance of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: R3D02

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250