JP2016514321A - データアップロード、処理及び予測クエリapi公開を実施するシステム、方法及び装置 - Google Patents

データアップロード、処理及び予測クエリapi公開を実施するシステム、方法及び装置 Download PDF

Info

Publication number
JP2016514321A
JP2016514321A JP2016500106A JP2016500106A JP2016514321A JP 2016514321 A JP2016514321 A JP 2016514321A JP 2016500106 A JP2016500106 A JP 2016500106A JP 2016500106 A JP2016500106 A JP 2016500106A JP 2016514321 A JP2016514321 A JP 2016514321A
Authority
JP
Japan
Prior art keywords
database
query
data
data set
term
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
JP2016500106A
Other languages
English (en)
Other versions
JP6412550B2 (ja
Inventor
クロニン,ビュー,デイヴィッド
オバーメイヤー,フリッツ
ペッシュラット,キャップ,クリスティアン
ジョナス,エリック,マイケル
グリデン,ジョナサン
Original Assignee
セールスフォース ドット コム インコーポレイティッド
セールスフォース ドット コム インコーポレイティッド
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 セールスフォース ドット コム インコーポレイティッド, セールスフォース ドット コム インコーポレイティッド filed Critical セールスフォース ドット コム インコーポレイティッド
Publication of JP2016514321A publication Critical patent/JP2016514321A/ja
Application granted granted Critical
Publication of JP6412550B2 publication Critical patent/JP6412550B2/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/22Indexing; Data structures therefor; Storage structures
    • G06F16/2228Indexing structures
    • 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
    • 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/22Indexing; Data structures therefor; Storage structures
    • G06F16/2282Tablespace storage structures; Management thereof
    • 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/23Updating
    • 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/242Query formulation
    • G06F16/2433Query languages
    • G06F16/244Grouping and aggregation
    • 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/242Query formulation
    • G06F16/2433Query languages
    • G06F16/2445Data retrieval commands; View definitions
    • 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
    • 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/2453Query optimisation
    • 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/2455Query execution
    • 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/2455Query execution
    • G06F16/24553Query execution of query operations
    • 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/2455Query execution
    • G06F16/24553Query execution of query operations
    • G06F16/24554Unary operations; Data partitioning operations
    • G06F16/24556Aggregation; Duplicate elimination
    • 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/2455Query execution
    • G06F16/24553Query execution of query operations
    • G06F16/24558Binary matching operations
    • 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/2457Query processing with adaptation to user needs
    • G06F16/24578Query processing with adaptation to user needs using ranking
    • 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
    • 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/2465Query processing support for facilitating data mining operations in structured databases
    • 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/2471Distributed queries
    • 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/248Presentation of query results
    • 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/28Databases characterised by their database models, e.g. relational or object models
    • G06F16/284Relational databases
    • G06F16/285Clustering or classification
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F17/00Digital computing or data processing equipment or methods, specially adapted for specific functions
    • G06F17/10Complex mathematical operations
    • G06F17/18Complex mathematical operations for evaluating statistical data, e.g. average values, frequency distributions, probability functions, regression analysis
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/048Interaction techniques based on graphical user interfaces [GUI]
    • G06F3/0484Interaction techniques based on graphical user interfaces [GUI] for the control of specific functions or operations, e.g. selecting or manipulating an object, an image or a displayed text element, setting a parameter value or selecting a range
    • G06F3/04842Selection of displayed objects or displayed text elements
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/048Interaction techniques based on graphical user interfaces [GUI]
    • G06F3/0484Interaction techniques based on graphical user interfaces [GUI] for the control of specific functions or operations, e.g. selecting or manipulating an object, an image or a displayed text element, setting a parameter value or selecting a range
    • G06F3/04847Interaction techniques to control parameter settings, e.g. interaction with sliders or dials
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/10Text processing
    • G06F40/166Editing, e.g. inserting or deleting
    • G06F40/177Editing, e.g. inserting or deleting of tables; using ruled lines
    • G06F40/18Editing, e.g. inserting or deleting of tables; using ruled lines of spreadsheets
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N20/00Machine learning
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N7/00Computing arrangements based on specific mathematical models
    • G06N7/01Probabilistic graphical models, e.g. probabilistic networks
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q30/00Commerce
    • G06Q30/02Marketing; Price estimation or determination; Fundraising
    • G06Q30/0201Market modelling; Market analysis; Collecting market data
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q30/00Commerce
    • G06Q30/02Marketing; Price estimation or determination; Fundraising
    • G06Q30/0201Market modelling; Market analysis; Collecting market data
    • G06Q30/0202Market predictions or forecasting for commercial activities
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/30Information retrieval; Database structures therefor; File system structures therefor of unstructured textual data
    • G06F16/31Indexing; Data structures therefor; Storage structures
    • G06F16/316Indexing structures

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Data Mining & Analysis (AREA)
  • General Engineering & Computer Science (AREA)
  • Databases & Information Systems (AREA)
  • Computational Linguistics (AREA)
  • Business, Economics & Management (AREA)
  • Software Systems (AREA)
  • Strategic Management (AREA)
  • Accounting & Taxation (AREA)
  • Development Economics (AREA)
  • Finance (AREA)
  • Mathematical Physics (AREA)
  • Entrepreneurship & Innovation (AREA)
  • Probability & Statistics with Applications (AREA)
  • Fuzzy Systems (AREA)
  • General Business, Economics & Management (AREA)
  • Marketing (AREA)
  • Economics (AREA)
  • Game Theory and Decision Science (AREA)
  • Artificial Intelligence (AREA)
  • Pure & Applied Mathematics (AREA)
  • Mathematical Optimization (AREA)
  • Mathematical Analysis (AREA)
  • Computational Mathematics (AREA)
  • Computing Systems (AREA)
  • Evolutionary Computation (AREA)
  • Human Computer Interaction (AREA)
  • Medical Informatics (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Algebra (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Evolutionary Biology (AREA)
  • Bioinformatics & Computational Biology (AREA)
  • Bioinformatics & Cheminformatics (AREA)
  • Health & Medical Sciences (AREA)
  • Audiology, Speech & Language Pathology (AREA)
  • Operations Research (AREA)

Abstract

本願において、データアップロード、処理及び予測クエリAPI公開を実施するシステム及び方法が開示される。このシステム及び方法は、表形式のデータセットを受信する手段であって、上記データセットは複数の行及び複数の列を有する、手段と、上記データセットの行と列とにおける確率的関係を表すインデックスを生成するように上記データセットを処理する手段と、上記インデックスをデータベースに記憶する手段と、上記データベースの中の上記インデックスに問い合わせるためのアプリケーションプログラミングインターフェース(API)を公開する手段と、上記データベースの中の上記インデックスに対して予測クエリ又は潜在構造クエリの要求を受信する手段と、上記APIを介した上記要求に基づく結果について、上記データベースに問い合わせる手段と、上記要求に応答して上記結果を返す手段と、を含む。さらに、他の関連する実施形態が開示される。

Description

著作権の表示
本特許文献の開示の一部分は、著作権保護の対象である素材を含む。著作権所有者は、特許文献又は特許開示が米国特許商標庁の特許ファイル又は記録に現れるとき、そのファクシミリ複製が誰によるものでも異存はないが、その他の場合はいかなる著作権もすべて留保する。
本願実施形態は、概してコンピューティングの分野に関し、より具体的には、データアップロード、処理及び予測クエリAPI公開を実施するシステム、方法及び装置に関する。
この背景技術セクションにおいて論じられる対象事項は、単に背景技術セクションにおいて言及されていることの結果として、従来技術であると仮定されるべきではない。類似して、背景技術セクションにおいて言及され、あるいは背景技術セクションの対象事項に関連付けられる問題が、従来技術においてこれまでに認識されたことがあると仮定されるべきではない。背景技術セクションにおける対象事項は単に種々のアプローチを表すものであり、種々のアプローチそれ自体もまた請求される実施形態に対応し得る。
データベースの中にデータセットを有するクライアント組織は、予測分析の恩恵を受け得る。不幸なことに、今日の市場には、低コストかつスケーラブルなソリューションが存在しない。代わって、クライアント組織は、技術エキスパートを雇って、カスタマイズされた数学的構造と予測モデルとを開発しなければならず、これは非常に高価である。結果として、巨額の金融手段のないクライアント組織は単純に市場から締め出され、自身のデータセットについての予測分析能力へのアクセスを有さない。
技術的及び数学的エキスパートを雇って必要な数学的構造及び予測モデルを開発するための金融手段を有するクライアント組織は、カスタマイズされたソリューションの持つ共通的問題に悩まされる。詳細には、カスタマイズされたソリューションは、ある時点における目下の特定の問題に対して適合されており、そのようなものとして、カスタマイズされたソリューションは、下層のデータ構造に対する変更に適応することができず、クライアントのデータセット内に記憶されたデータのタイプに対する変更に適応することができず、クライアントの事業とデータセットとがある時間にわたり成長するときに、その増加し及び変化する需要を満たすようにスケールアップされることもできない。
現在の最先端は、したがって、本明細書に記載されるとおり、オンデマンド及び/又はマルチテナントデータベースシステムにおける予測クエリ実施及び使用のためのシステム及び方法の恩恵を受けることができる。
本願実施形態は、限定としてではなく例として示されており、下記の詳細な説明を参照して図面と関連して検討されるとより十分に理解されるであろう。
記載される実施形態に従う一例示的アーキテクチャを描く。 オンデマンドデータベースサービスが使用され得る環境の一例のブロック図を示す。 図2の要素とこの要素間の様々なあり得る相互接続との一実施形態のブロック図を示す。 一実施形態に従うコンピュータシステムの例示的形態におけるマシンの概略表現を示す。 タブレットコンピューティング装置とハンドヘルドスマートフォンとを描き、各々がその中に本願実施形態により記載されるとおりの統合された回路を有する。 タッチスクリーンインターフェースコネクタが使用されるタブレットコンピューティング装置、スマートフォン又は他のモバイル装置の一実施形態のブロック図である。 確率的モデリングのための簡素化されたフローを描く。 ランダムウォークが実行され得る一例示的ランドスケープを示す。 一例示的な表形式のデータセットを描く。 観察されたデータ間の動機又は因果関係を導出する手段を描く。 一例示的クロスカテゴリ化をさらにより詳細に描く。 推論されたもの対グラウンドトルースを示す集束の一評価を描く。 Bell連番のチャート及びグラフを描く。 小さい表形式データセットの一例示的クロスカテゴリ化を描く。 記載される実施形態に従いデータアップロード、処理及び予測クエリAPI公開を実施する一例示的アーキテクチャを描く。 開示される実施形態に従いデータアップロード、処理及び予測クエリAPI公開を実施する方法を示すフロー図である。 記載される実施形態に従い予測クエリインタフェースをクラウドサービスとして実施する一例示的アーキテクチャを描く。 開示される実施形態に従い予測クエリインタフェースをクラウドサービスとして実施する方法を示すフロー図である。 記載される実施形態に従うRELATEDコマンドタームの使用を示す。 記載される実施形態に従う一例示的アーキテクチャを描く。 開示される実施形態に従う一方法を示すフロー図である。 記載される実施形態に従うGROUPコマンドタームの使用を示す。 記載される実施形態に従う一例示的アーキテクチャを描く。 開示される実施形態に従う一方法を示すフロー図である。 記載される実施形態に従うSIMILARコマンドタームの使用を示す。 記載される実施形態に従う一例示的アーキテクチャを描く。 開示される実施形態に従う一方法を示すフロー図である。 記載される実施形態に従うPREDICTコマンドタームの使用を示す。 記載される実施形態に従うPREDICTコマンドタームの使用を示す。 記載される実施形態に従うPREDICTコマンドタームの使用を示す。 記載される実施形態に従う一例示的アーキテクチャを描く。 開示される実施形態に従う一方法を示すフロー図である。 記載される実施形態に従う一例示的アーキテクチャを描く。 開示される実施形態に従う一方法を示すフロー図である。 欠落値を有する表形式データセットをPREDICTコマンドタームを活用することによって表示し及び操作するグラフィカルユーザインターフェース(GUI)を描く。 グラフィカルユーザインターフェースの別のビューを描く。 グラフィカルユーザインターフェースの別のビューを描く。 記載される実施形態に従う一例示的アーキテクチャを描く。 開示される実施形態に従う一方法を示すフロー図である。 表形式データセットの分析から生成されるインデックス内の特徴移動及びエンティティ移動を描く。 履歴日付を用いて問い合わせる特化されたGUIを描く。 履歴日付を用いて問い合わせる特化されたGUIのさらなるビューを描く。 予測クエリを構成する特化されたGUIの別のビューを描く。 記載される実施形態に従う一例示的アーキテクチャを描く。 開示される実施形態に従う一方法を示すフロー図である。 記載される実施形態に従うパイプライン変化レポートを描く。 記載される実施形態に従う予測データを用いたウォーターフォールチャートを描く。 第1の履歴フィールドを追加した後のデフォルトでのインターフェースを描く。 追加されたカスタムフィルタのデフォルトでのインターフェースをさらに詳細に描く。 追加されたカスタムフィルタのデフォルトでの別のインターフェースを描く。 記載される実施形態に従う一例示的アーキテクチャを描く。 開示される実施形態に従う一方法を示すフロー図である。 予測完全性対精度を描くチャートを提供する。 機会信頼度内訳を描くチャートを提供する。 機会勝ち取り予測を描くチャートを提供する。 機会スコア付けのための予測的関係を描くチャートを提供する。 機会スコア付けのための予測的関係を描く別のチャートを提供する。 機会スコア付けのための予測的関係を描く別のチャートを提供する。
予測分析論とデータマイニングとを自身のデータセットに対して実行したいクライアント組織は、通常、目下の問題を解決する試みの中で、技術エキスパートを雇い、自身が解決したい問題を説明し、それから雇ったエキスパートに自身のデータを引き継いでカスタマイズされた数学的構造を適用しなければならない。
例として、何年も前、コンピュータエンジニアがコンピュータシステムを設計するときは、物理ディスクにデータをマップする方法を把握し、セクタ、ブロック、回転スピード等について責任を持つことも必要であった。現代のプログラマは、単純に、こうした問題にかかわっていない。類似して、普通のユーザにとって、特化された(specialized)エキスパートを雇う必要なくサーバ及び洗練されたデータベーステクノロジーを利用してデータ分析論を実行することは、非常に望ましい。こうすることによって、リソースを解放して他の問題に焦点を当てることができる。本明細書に記載される方法論は、オンデマンド及び/又はマルチテナントデータベースシステムにおける予測クエリ実施及び使用のためのシステム及び方法を提供することによって、予測クエリの分野をそのゴールに向かって前進させる。上記の方法論は、数学的及び技術的複雑さの多くをホスト型データベースシステムへ、ゆえにユーザの視界の外へと移動させる。こうすることで、初心者ユーザに対する学習曲線が低減され、ゆえに、予測テクノロジーが市場のより広い範囲に利用可能にされる。
今日、ある程度のマシン学習能力が存在する。例えば、現在の能力は、「この人は製品xを買うだろうか?」などの質問に予測的に答えることができる。しかし、既存のテクノロジーは、広範囲の問題を解決するとき、実用的でない。例えば、巨額の金融リソースを有する大規模ヘルスケア企業は、技術エキスパートを雇ってカスタマイズされた分析論を開発して、この大規模ヘルスケア企業のローカルの独自データベースに基づいて特定の問題を解決することができるであろう。しかし対照的に、小規模会社は、このようにするにはコストが小規模会社の金融リソースよりはるかに重いため、上記のようなサービス提供者を単純に雇う余裕がない可能性がある。さらに、上記で示唆したとおり、組織がこうしたカスタマイズされたソリューションに投資するとしても、そのソリューションは解決される特定の問題へと永久に固定され、新しい問題、新しい調査、変化するデータタイプ又はデータ構造などに対してスケール変更することができない。そのようなものとして、カスタム開発されたソリューションは、新しい及び常に変化する組織の事業目標にあまり整合しなくなり、時間とともに退化することになる。時間とともに事業状態、データ及び目的が変わるので、結果として、この例示的な小規模会社は、目下の問題を解決することを諦めなければならず、一方、カスタムソリューションを開発するためにエキスパートを雇ったエンティティは、カスタマイズされたソリューションをアップデートし設備を一新するために、さらなる時間とリソースとを再投資することを強制される。いずれの帰結(outcome)も理想的ではない。
今日、分析論及び予測モデリングの分野における技術エキスパートにより提供されるサービスは、顧客の特定データセットに対してカスタマイズされたソリューションを提供する。上記サービスは、非エキスパートによって使用され得る能力は提供せず、特定の下層のデータセットから抽象化されたソリューションも提供しない。代わって、開発されたモデルは、実施するためだけでなく利用するためにも特化されたトレーニングを必要とし、こうしたモデルは、モデルを開発した目的の特定の下層のデータセットにつなぎとめられる。
逆に、本明細書に記載される方法論は、様々に記載されるクエリ手法、インターフェース、データベース及び他の機能性が様々なレベルの専門知識と様々な範囲の下層のデータセットとから成る広範囲の顧客組織及びユーザによる使用に適する基礎的アーキテクチャを提供する。
Salesforce.comは、クライアント、組織及びエンドユーザにオンデマンドのクラウドサービスを提供し、こうしたクラウドサービスの後方には、カスタマイズされたデータ、カスタマイズされたフィールドタイプなどをユーザが有することを許可するマルチテナントデータベースシステムがある。下層のデータ及びデータ構造は、クライアント組織の独自の特定ニーズのために、これら組織によってカスタマイズされる。それにもかかわらず、本明細書に記載される方法論は、いかなる特定の下層のデータベーススキーム、構造又はコンテンツにもつなぎとめられないため、上記のデータセット及びデータ構造を分析し、問い合わせる能力がある。
記載される手法を用いる顧客組織は、記載されるソリューションの高いスケーラビリティによって可能にされるアクセスのコストの低さからさらに恩恵を受ける。例えば、クラウドサービス提供者は、提供する全体的なサービスの一部として追加コストなしで上記能力を提供することを選んでもよく、あるいは追加のサービス料に対して追加能力を提供することを選んでもよい。いずれにしても、顧客組織は、従来手法と同様に1回のカスタマイズされるソリューションを前にして大規模な額を投資することを必要とされない。上記能力は、クラウドサービスのコンピューティングアーキテクチャへ系統的に統合されてもよく、各々の特定クライアント組織のデータセット及び構造のためにソリューションを顧客に適合させるためのエキスパートを必要としないため、そのスケーラビリティが大幅なコスト節約をもたらし、ゆえに、限られた金融リソースを有する小規模組織でさえも予測クエリ及び潜在構造クエリ手法から恩恵を受けることを可能にする。金融手段を有する大規模会社もまた、自身が得られるコスト節約に起因して恩恵を受けることができ、従来手法を利用してこれまでに実現可能であったよりもさらに広範囲の調査のための予測クエリ及び潜在構造クエリ手法を設ける能力からさらに恩恵を受けることができる。
上記及び他の恩恵とさらに特定の実施形態とが以下により詳細に記載される。下記の記載において、様々な実施形態の完全な理解を提供するために、特定のシステム、言語、コンポーネント等の例など、多数の特定の詳細が明記される。しかしながら、当業者には、これら特定の詳細が本明細書に開示される実施形態を実施するために採用される必要はないことが明らかであろう。他の例として、開示される実施形態を不要に分かりにくくすることを回避するために、周知の材料又は方法は詳細には記載されていない。
図に描かれ、本明細書に記載される様々なハードウェアコンポーネントに加えて、本願実施形態は、以下に記載される様々なオペレーションをさらに含む。こうした実施形態に従い記載されるオペレーションは、ハードウェアコンポーネントによって実行されてもよく、あるいはマシン実行可能命令において具現化されてもよく、この命令は、命令を用いてプログラムされる汎用目的又は特別目的プロセッサに上記オペレーションを実行させるのに使用することができる。あるいは、上記オペレーションは、ハードウェアとソフトウェアとの組み合わせによって実行されてもよい。
本願実施形態は、さらに、本明細書に開示されるオペレーションを実行する装置に関する。この装置は、必要とされる目的のために特別に構築されてもよく、あるいは、コンピュータの中に記憶されたコンピュータプログラムによって選択的にアクティブ化され、あるいは再構成される汎用目的コンピュータであってもよい。こうしたコンピュータプログラムはコンピュータ可読媒体に記憶されてもよく、コンピュータ可読媒体は、例えば、これらに限らないが、フロッピーディスク、光ディスク、CD‐ROM及び光磁気ディスクを含む任意のタイプのディスク、読取専用メモリ(ROM)、ランダムアクセスメモリ(RAM)、EPROM、EEPROM、磁気カード若しくは光カード、又はコンピュータシステムバスに各々結合され、電子的命令を記憶するのに適した任意のタイプの媒体である。
本明細書において提示されるアルゴリズム及び表示は、本質的に、いかなる特定のコンピュータ又は他の装置にも関連しない。様々な汎用目的システムが、本明細書における教示に従うプログラムと共に使用されてもよく、必要とされる方法ステップを実行するためにより特化された装置を構築するための便利さを証明し得る。様々なこうしたシステムのために必要とされる構造が、以下の記載に明記されるとおり、現れることになる。さらに、本願実施形態は、何らかの特定のプログラミング言語を参照して記載されてはいない。本明細書に記載の実施形態の教示を実施するために、様々なプログラミング言語が使用されてもよいことが十分理解されるであろう。
本願実施形態は、命令を記憶させたマシン可読媒体を含み得るコンピュータプログラム製品又はソフトウェアとして提供されてもよく、上記命令は、開示される実施形態に従いプロセスを実行するためにコンピュータシステム(又は、他の電子装置)をプログラムするのに使用することができる。マシン可読媒体には、マシン(例えば、コンピュータ)によって読取可能な形式で情報を記憶し、あるいは伝送するための任意のメカニズムを含む。例えば、マシン可読(例えば、コンピュータ可読)媒体には、マシン(例えば、コンピュータ)可読記憶媒体(例えば、読取専用メモリ(“ROM”)、ランダムアクセスメモリ(“RAM”)、磁気ディスク記憶媒体、光記憶媒体、フラッシュメモリ装置等)、マシン(例えば、コンピュータ)可読伝送媒体(電気的、光学的、音響的)等を含む。
開示される実施形態のいずれもが、単独で、あるいは任意の組み合わせにおいて互いに一緒に使用されてもよい。様々な実施形態が従来の手法及びアプローチでの欠陥によって部分的に動機付けされている可能性があるが、これらのうちいくつかが本明細書内に記載され、あるいは示唆されており、本願実施形態は、必ずしも上記欠陥のいずれかに対処し、あるいは解決する必要はなく、むしろ、欠陥のうちいくつかにだけ対処していたり、欠陥のいずれにも対処していなかったり、あるいは直接論じられない種々の欠陥及び問題に向けられていたりすることがある。
一実施形態において、マルチテナントデータベースシステムにおける予測クエリ及び潜在構造クエリの実施及び使用のための手段が、コンピューティング装置、コンピューティングシステム又はコンピューティングアーキテクチャの中のアプリケーションで実行され、これにおいて、アプリケーションは、パブリックインターネットを通じてリモートクライアントなどのリモートのコンピューティング装置と通信することを可能にされ、ゆえに、予測及び潜在構造のクエリ及び使用の能力を実施するリモートアプリケーションの機能性をクライアントが利用するクラウドベースのコンピューティングサービスを確立する。
図1は、記載される実施形態に従う一例示的アーキテクチャ100を描いている。
一実施形態において、生産環境111は、ホスト組織110を通じて複数のクライアント装置106A‐Cと通信可能にインターフェースをとる。一実施形態において、マルチテナントデータベースシステム130がリレーショナルデータストア155を含み、リレーショナルデータストア155は、例えば、顧客組織105A‐C又はユーザのためにデータセットを記憶する。マルチテナントデータベースシステム130は、予測クエリのためのインデックス150をさらに記憶し、予測クエリのためのインデックス150は、例えば、ユーザ及び顧客組織105A‐Cにより提供され、指定され、あるいはユーザ及び顧客組織105A‐Cのために記憶されたデータセットから生成される。
マルチテナントデータベースシステム130は、ホスト組織110内のデータベース機能性とコード実行環境とを実施する複数の下層のハードウェア、ソフトウェア及びロジック要素120を含む。一実施形態によれば、マルチテナントデータベースシステム130は、非リレーショナルデータストアを実施し、さらに、予測クエリのためのインデックス150を記憶する予測データベースを別個に実施する。マルチテナントデータベースシステム130のハードウェア、ソフトウェア及びロジック要素120は、複数の顧客組織(105A、105B及び105C)から別個かつ区別可能であり、顧客組織は、ネットワーク125を介してホスト組織110に対して通信可能にインターフェースをとることによって、ホスト組織110により提供されるサービスを利用する。こうして、ホスト組織110は、加入している顧客組織105A‐Cに対してオンデマンドサービス、オンデマンドデータベースサービス又はクラウドコンピューティングサービスを実施することができる。
ホスト組織110は、ネットワーク125(パブリックインターネットなど)を介して複数の顧客組織105A‐Cから入力及び他の要求115を受信する。例えば、到来するPreQLクエリ、予測クエリ、API要求又は他の入力を、顧客組織105A‐Cから受信してマルチテナントデータベースシステム130に対して処理することができる。
一実施形態において、各顧客組織105A‐Cは、別個かつ区別可能なリモートの組織、ホスト組織110内の組織グループ、ホスト組織110のビジネスパートナー、又はホスト組織110により提供されるクラウドコンピューティングサービスに加入している顧客組織105A‐Cから成るグループから選択されたエンティティである。
一実施形態において、要求115は、ホスト組織110内のウェブサーバ175で受信され、あるいはウェブサーバ175にサブミットされる。ホスト組織110は、ホスト組織110及びそのマルチテナントデータベースシステム130による処理のための様々な要求を受信することができる。ウェブサーバ175で受信される到来する要求115は、ホスト組織110からのどのサービスが提供されることになるかを指定することができ、上記サービスは、例えば、顧客組織105A‐Cのうち1つのためにデータを取り出し、アップデートし又は記憶するための、クエリ要求、検索要求、ステータス要求、データベーストランザクション、処理要求などである。ウェブサーバ175は、ネットワーク125を介して様々な顧客組織105A‐Cから要求115を受信することの責任を負い、上記のデータ要求115を生じさせるエンドユーザクライアント装置106A‐C又はマシンに対してウェブベースのインターフェースを提供することができる。
クエリインターフェース180は、予測クエリのためのインデックス150又はリレーショナルデータストア155に対する実行のために、ウェブサーバ175からマルチテナントデータベースシステム130へクエリを渡す機能性を提供する。一実施形態において、クエリインターフェース180は、PreQLアプリケーションプログラミングインターフェース(API)又はJavaScriptObjectNotation(JSON)APIインターフェースを実施し、上記APIを通じて、予測クエリのためのインデックス150又はリレーショナルデータストア155に対してクエリを実行することができる。クエリオプティマイザ160は、例えば、クエリ又はPreQLクエリを設計するための十分な情報を所有するがクエリシンタックスを実際に構築するのに必要なロジックを欠いている他の機能性のために、クエリ翻訳及び最適化を実行する。分析エンジン185は、ユーザにより提供され又は指定される表形式のデータセット又は他のデータから、予測クエリのための問い合わせ可能(queryable)インデックスを生成するように動作する。
ホスト組織110は、クライアント装置106A‐Cから要求パケット又は他の要求115を受信するように、ウェブサーバ175を介して又はスタンドアロンインターフェースとして、要求インターフェース176を実施する。要求インターフェース176は、ホスト組織110からクライアント装置106A‐Cへ出て行く方向において応答パケット又は他のリプライ及び応答116を返すことをさらにサポートする。一実施形態によれば、クエリインターフェース180は、要素150における予測クエリのためのインデックスなどの、マルチテナントデータベースシステム130のデータベースに対してPreQLクエリ又は他の予測クエリを実行するための特化された機能性を用いて、PreQL APIインターフェース及び/又はJSON APIインターフェースを実施する。例えば、クエリインターフェース180は、クライアント装置106からの上記の要求115を実現することにおいて、“PREDICT”、“RELATED”、“SIMILAR”及び“GROUP”などのPreQL構造化されたクエリタームを用いてAPIコールを発行することによって、ホスト組織110内の予測データベースに問い合わせるように動作することができる。さらに、“UPLOAD”及び“ANALYZE”のAPIコールが利用可能である。これらは、予測データベース150に対して新しいデータセットをアップロードし、あるいはデータセットを定義するものであり、分析エンジン185に上記データの分析のインスタンスを生成させて、上記のクエリをサポートする問い合わせ可能インデックスを生成させるものである。
図2は、オンデマンドデータベースサービスが使用され得る環境210の一例のブロック図を示している。環境210は、ユーザシステム212、ネットワーク214、システム216、プロセッサシステム217、アプリケーションプラットフォーム218、ネットワークインターフェース220、テナントデータストレージ222、システムデータストレージ224、プログラムコード226及びプロセス空間228を含み得る。他の実施形態において、環境210は、リストアップされたコンポーネントのすべてを有さなくてもよく、かつ/あるいは、上記のリストアップされたコンポーネントに代わって、あるいは追加して他の要素を有してもよい。
環境210は、オンデマンドデータベースサービスが存在する環境である。ユーザシステム212は、ユーザがデータベースユーザシステムにアクセスするのに使用されるいかなるマシン又はシステムでもよい。例えば、ユーザシステム212のいずれかが、ハンドヘルドコンピューティング装置、モバイルフォン、ラップトップコンピュータ、ワークステーション、及び/又はコンピューティング装置のネットワークであり得る。図2に(そして、図3により詳細に)示されるとおり、ユーザシステム212は、ネットワーク214を介してオンデマンドデータベースサービスと相互作用することができ、オンデマンドデータベースサービスは、システム216である。
システム216などのオンデマンドデータベースサービスは、外部のユーザに利用可能にされたデータベースシステムであり、外部のユーザは、データベースシステムを築き及び/又は維持することに必ずしもかかわる必要がないが、代わってデータベースシステムをユーザが必要とするときに(例えば、ユーザの需要に対して)その使用が可能であり得る。いくつかのオンデマンドデータベースサービスは、共通のデータベースイメージのテーブルに記憶された1又は複数のテナントからの情報を記憶してマルチテナントデータベースシステム(MTS)を形成することができる。したがって、「オンデマンドデータベースサービス216」と「システム216」とは本明細書において置き換え可能に使用される。データベースイメージは、1又は複数のデータベースオブジェクトを含み得る。リレーショナルデータベース管理システム(RDMS)又はその均等物は、データベースオブジェクトに対して情報の記憶及び取り出しを実行することができる。アプリケーションプラットフォーム218は、システム216のアプリケーションが実行されるのを可能にするフレームワークであってよく、ハードウェア及び/又はソフトウェア、例えば、オペレーティングシステムなどである。一実施形態において、オンデマンドデータベースサービス216は、オンデマンドデータベースサービスの提供者により開発される1又は複数のアプリケーションを作成し、管理し、実行すること、ユーザがユーザシステム212を介してオンデマンドデータベースサービスにアクセスすること、又はサードパーティアプリケーション開発者がユーザシステム212を介してオンデマンドデータベースサービスにアクセスすることを可能にするアプリケーションプラットフォーム218を含み得る。
ユーザシステム212のユーザは、そのそれぞれのキャパシティに差があり得、特定のユーザシステム212のキャパシティは、現在のユーザについての許可(許可レベル)によって全体として決定されてもよい。例えば、販売員が特定のユーザシステム212を使用してシステム216と相互作用している場合、このユーザシステムは、上記販売員に割り振られたキャパシティを有する。しかしながら、管理者がこのユーザシステムを使用してシステム216と相互作用する間は、このユーザシステムは上記管理者に割り振られたキャパシティを有する。階層的なロールモデルを有するシステムでは、ある許可レベルにおけるユーザは、より低い許可レベルのユーザがアクセス可能なアプリケーション、データ及びデータベース情報へのアクセスを有することがあり、しかし、より高い許可レベルにおけるユーザがアクセス可能な特定のアプリケーション、データベース情報及びデータへのアクセスを有さないことがある。こうして、種々のユーザが、ユーザのセキュリティ又は許可レベルに依存して、アプリケーション及びデータベース情報にアクセスし、これらを修正することに関して、種々の能力を有することになる。
ネットワーク214は、互いに通信する装置から成る任意のネットワーク又はネットワークの組み合わせである。例えば、ネットワーク214は、LAN(ローカルエリアネットワーク)、WAN(ワイドエリアネットワーク)、電話ネットワーク、ワイヤレスネットワーク、ポイントツーポイントネットワーク、スター型ネットワーク、トークンリングネットワーク、ハブネットワーク又は他の適切な構成のうちいずれか1つ又はいずれかの組み合わせであり得る。現在使用されているコンピュータネットワークの最も一般的タイプとしては、大文字の“I”での“インターネット”としばしば呼ばれるネットワークのグローバルなインターネットワークなどの、TCP/IP(トランスファーコントロールプロトコル及びインターネットプロトコル)ネットワークがあり、このネットワークは、本明細書における例の多くにおいて使用されることになる。しかしながら、TCP/IPは頻繁に実施されるプロトコルであるが、請求される実施形態が利用し得るネットワークはそのように限られないことが理解される。
ユーザシステム212は、TCP/IPを用いてシステム216と通信し、より高いネットワークレベルにおいて、HTTP、FTP、AFS、WAP等の他の共通のインターネットプロトコルを使用して通信することができる。HTTPが使用される例において、ユーザシステム212は、「ブラウザ」と一般的に呼ばれるHTTPクライアントを含んで、システム216におけるHTTPサーバへHTTPメッセージを送信し、該HTTPサーバからHTTPメッセージを受信することができる。こうしたHTTPサーバは、システム216とネットワーク214とにおける唯一のネットワークインターフェースとして実施されてもよいが、他の手法が同様に、あるいは代わりに使用されてもよい。いくつかの実施において、システム216とネットワーク214とにおけるインターフェースは、ラウンドロビンHTTP要求分配器などの負荷分散の機能性を含んで、負荷のバランスをとり、到来するHTTP要求を複数のサーバにわたって均等に分配する。少なくとも上記サーバにアクセスしているユーザに関して、複数のサーバの各々はMTSのデータへのアクセスを有する。しかしながら、他の代替的な構成が代わって使用されてもよい。
一実施形態において、図2に示されるシステム216は、ウェブベースの顧客関係管理(CRM)システムを実施する。例えば、一実施形態において、システム216はアプリケーションサーバを含み、該アプリケーションサーバは、CRMソフトウェアアプリケーションを実施し、実行し、関連データ、コード、フォーム、ウェブページ及び他の情報をユーザシステム212とやり取りし、さらに、関連データ、オブジェクト及びウェブページコンテンツをデータベースに記憶し、該データベースから取り出すように構成される。マルチテナントシステムでは、複数のテナントのためのデータが同じ物理データベースオブジェクトに記憶され得る。しかしながら、テナントデータは典型的に、こうしたデータが明示的に共有されない限り、あるテナントのデータは他のテナントのデータから論理的に別個で保持され、したがってあるテナントは別のテナントのデータへのアクセスを有さないように配置される。特定の実施形態において、システム216は、CRMアプリケーション以外のアプリケーション、又はCRMアプリケーションに加えてのアプリケーションを実施する。例えば、システム216は、CRMアプリケーションを含む複数のホストされた(標準の及びカスタムの)アプリケーションに対してテナントアクセスを提供してもよい。CRMを含むこともあり含まないこともあるユーザ(又は、サードパーティ開発者)アプリケーションがアプリケーションプラットフォーム218によってサポートされてもよく、アプリケーションプラットフォーム218は、アプリケーションの作成と、1又は複数のデータベースオブジェクトへの記憶と、システム216のプロセス空間における仮想マシンにおけるアプリケーションの実行とを管理する。
図2には、システム216の要素の一配置が示されており、ネットワークインターフェース220と、アプリケーションプラットフォーム218と、テナントデータ223のためのテナントデータストレージ222と、システム216と可能性として複数のテナントとにとってアクセス可能なシステムデータ225のためのシステムデータストレージ224と、システム216の様々な機能を実施するためのプログラムコード226と、アプリケーションホスティングサービスの一部としてアプリケーションを実行することなどのテナント固有プロセスとMTSシステムプロセスとを実行するためのプロセス空間228とを含んでいる。システム216上で実行され得るさらなるプロセスには、データベースインデックス作成プロセスが挙げられる。
図2に示されるシステムの中のいくつかの要素には従来の周知の要素が含まれ、こうした要素はここでは簡単にしか説明されない。例えば、各ユーザシステム212には、デスクトップパーソナルコンピュータ、ワークステーション、ラップトップ、PDA、セルフォン、又は、インターネット又は他のネットワークと直接又は間接的にインターフェースをとる能力がある任意のワイヤレスアクセスプロトコル(WAP)使用可能装置若しくは任意の他のコンピューティング装置を含み得る。ユーザシステム212は、典型的に、HTTPクライアント、例えば、マイクロソフトのInternet Explorerブラウザ、Mozilla若しくはFirefoxブラウザ、Opera、又はスマートフォン、タブレット、PDA又は他のワイヤレス装置の場合のWAP使用可能ブラウザなどのブラウジングプログラムを実行し、ユーザシステム212のユーザ(例えば、マルチテナントデータベースシステムの加入者)が、ネットワーク214を介してシステム216から自身が利用可能な情報、ページ及びアプリケーションにアクセスし、これらを処理し、見ることを可能にする。各ユーザシステム212は、典型的に、キーボード、マウス、トラックボール、タッチパッド、タッチスクリーン、ペンなどの1又は複数のユーザインターフェース装置をさらに含んで、システム216又は他のシステム若しくはサーバにより提供されるページ、フォーム、アプリケーション及び他の情報と関連してブラウザによってディスプレイ(例えば、モニタ画面、LCDディスプレイ等)上に提供されるグラフィカルユーザインターフェース(GUI)と相互作用する。例えば、ユーザインターフェース装置を使用して、システム216によりホストされるデータ及びアプリケーションにアクセスし、記憶されたデータに対して検索を実行し、ユーザに提示され得る様々なGUIページとユーザがその他の方法で相互作用することを可能にすることができる。上記で論じられたとおり、本願実施形態はインターネットでの使用に適しており、インターネットは特定のグローバルなインターネットワークのネットワークを指す。しかしながら、インターネットに代わって、イントラネット、エクストラネット、仮想プライベートネットワーク(VPN)、非TCP/IPベースのネットワーク、任意のLAN又はWANなどの他のネットワークが使用されてもよいことが理解される。
一実施形態によれば、各ユーザシステム212とそのコンポーネントのすべてとが、Intel Pentium(登録商標)プロセッサなどの中央処理ユニットを用いて実行されるコンピュータコードを含むブラウザなどのアプリケーションを用いて、オペレータ構成可能である。類似して、システム216(及び、2以上のMTSが存在する場合はそのさらなるインスタンス)とそのコンポーネントのすべてとが、プロセッサシステム217などの中央処理ユニットを用いて実行すべきコンピュータコードを含むアプリケーションを用いてオペレータ構成可能であってもよく、プロセッサシステム217は、Intel Pentium(登録商標)プロセッサなど、及び/又は複数のプロセッサユニットを含み得る。
一実施形態によれば、各システム216は、ユーザ(クライアントシステム212)に対してウェブページ、フォーム、アプリケーション、データ及びメディアコンテンツを提供して、システム216のテナントとしてのユーザシステム212によるアクセスをサポートするように構成される。そのようなものとして、システム216は、データが共有されていない限りは各テナントのデータを別個に保持するようにセキュリティメカニズムを提供する。2以上のMTSが使用される場合、これらMTSは、互いに近接して(例えば、単一のビル又はキャンパスに置かれたサーバファームに)置かれてもよく、あるいは、互いに離れた場所に分散されてもよい(例えば、1又は複数のサーバがA市に置かれ、1又は複数のサーバがB市に置かれる)。本明細書において、各MTSは、局所的に、あるいは1又は複数の地理的場所にわたって分散された、1又は複数の論理的及び/又は物理的に接続されたサーバを含み得る。さらに、用語「サーバ」は、当分野において周知であるとおり、処理ハードウェア及びプロセス空間を含むコンピュータシステムと、関連するストレージシステム及びデータベースアプリケーション(例えば、OODBMS又はRDBMS)とを含むことが意図される。「サーバシステム」及び「サーバ」は本明細書において置き換え可能にしばしば使用されることが理解される。類似して、本明細書に記載されるデータベースオブジェクトは、単一データベース、分散データベース、分散データベースのコレクション、冗長のオンライン若しくはオフラインバックアップ又は他の冗長性を備えたデータベース等として実施されてもよく、分散データベース又はストレージネットワークと関連する処理インテリジェンスとを含んでもよい。
図3は、図2の要素とこれら要素間の様々なあり得る相互接続との一実施形態のブロック図を示している。図3もまた環境210を示している。しかしながら、図3では、一実施形態におけるシステム216の要素と様々な相互接続とがさらに示されている。図3は、ユーザシステム212がプロセッサシステム212A、メモリシステム212B、入力システム212C及び出力システム212Dを含み得ることを示している。図3は、ネットワーク214及びシステム216を示している。図3はさらに、システム216がテナントデータストレージ222、テナントデータ223、システムデータストレージ224、システムデータ225、ユーザインターフェース(UI)330、アプリケーションプログラムインターフェース(API)332(例えば、PreQL又はJSON API)、PL/SOQL334、保存ルーチン336、アプリケーションセットアップメカニズム338、アプリケーションサーバ300‐300、システムプロセス空間302、テナントプロセス空間304、テナント管理プロセス空間310、テナントストレージ領域312、ユーザストレージ314及びアプリケーションメタデータ316を含み得ることを示している。他の実施形態において、環境210は、上記でリストアップされた要素と同一の要素を有さなくてもよく、かつ/あるいは上記でリストアップされた要素に対して代わりに、又は追加で他の要素を有してもよい。
ユーザシステム212、ネットワーク214、システム216、テナントデータストレージ222及びシステムデータストレージ224は、上記で図2において論じられた。図3により示されるとおり、システム216は、一組のHTTPアプリケーションサーバ300、アプリケーションプラットフォーム218、テナントデータストレージ222及びシステムデータストレージ224として実施される(図2の)ネットワークインターフェース220を含み得る。さらに、システムプロセス空間302が示されており、個々のテナントプロセス空間304とテナント管理プロセス空間310とを含んでいる。各アプリケーションサーバ300は、ユーザシステム212の要求を果たすように、テナントデータストレージ222及びその中のテナントデータ223とシステムデータストレージ224及びその中のシステムデータ225とに対して構成されてよい。テナントデータ223は、個々のテナントストレージ領域312へと分割されてもよく、個々のテナントストレージ領域は、データの物理的配置及び/又は論理的配置のいずれでもよい。各テナントストレージ領域312内に、ユーザストレージ314とアプリケーションメタデータ316とが各ユーザについて類似して割り当てられてもよい。例えば、ユーザの最も直近に使用された(MRU)アイテムのコピーがユーザストレージ314に記憶されてもよい。類似して、テナントである組織全体についてのMRUアイテムのコピーがテナントストレージ領域312に記憶されてもよい。UI330はユーザインターフェースを提供し、API332(例えば、PreQL又はJSON API)は、システム216に常駐するプロセスに対するアプリケーションプログラマインターフェースを、ユーザシステム212におけるユーザ及び/又は開発者に提供する。テナントデータ及びシステムデータは、1又は複数のOracleTMデータベースなどの様々なデータベースに記憶されてよい。
アプリケーションプラットフォーム218は、アプリケーション開発者によるアプリケーションの作成及び管理をサポートするアプリケーションセットアップメカニズム338を含み、上記アプリケーションは、例えば、保存ルーチン336によってメタデータとしてテナントデータストレージ222へと保存され、加入者によってテナント管理プロセス空間310が管理する1又は複数のテナントプロセス空間304として実行されてもよい。こうしたアプリケーションに対する起動は、API332(例えば、PreQL又はJSON API)に対してプログラミング言語スタイルのインターフェース拡張を提供するPL/SOQL334を用いてコード化されてもよい。アプリケーションに対する起動は、1又は複数のシステムプロセスによって検出されてもよく、上記システムプロセスは、起動を行う加入者のためにアプリケーションメタデータ316を取り出すことと、このメタデータをアプリケーションとして仮想マシンにおいて実行することとを管理する。
各アプリケーションサーバ300は、種々のネットワーク接続を介して、例えばシステムデータ225及びテナントデータ223へのアクセスを有するデータベースシステムに、通信可能に結合されてよい。例えば、あるアプリケーションサーバ300が、ネットワーク214(例えば、インターネット)を介して結合されてもよく、別のアプリケーションサーバ300N−1が、直接のネットワークリンクを介して結合されてもよく、別のアプリケーションサーバ300が、さらに異なるネットワーク接続によって結合されてもよい。トランスファーコントロールプロトコル及びインターネットプロトコル(TCP/IP)が、アプリケーションサーバ300とデータベースシステムとにおける通信のための典型的なプロトコルである。しかしながら、当業者には、使用されるネットワーク相互接続に依存してシステムを最適化するように他のトランスポートプロトコルが使用されてもよいことが明らかであろう。
特定の実施形態において、各アプリケーションサーバ300は、テナントである任意の組織に関連付けられた任意のユーザの要求を扱うように構成される。任意の理由で任意の時点にアプリケーションサーバをサーバプールで追加し、除去することができるのが望ましいため、好ましくは、特定のアプリケーションサーバ300に対してユーザ及び/又は組織についてのサーバアフィニティがない。したがって、一実施形態において、ロードバランシング機能(例えば、F5 Big‐IPロードバランサ)を実施するインターフェースシステムがアプリケーションサーバ300とユーザシステム212との間に通信可能に結合されて、アプリケーションサーバ300に対する要求を分配する。一実施形態において、ロードバランサは、最小接続アルゴリズムを使用してアプリケーションサーバ300に対するユーザ要求のルートを決める。さらに、ロードバランシングアルゴリズムの他の例、例えば、ラウンドロビン及び観察された応答時間などが使用されてもよい。例えば、特定の実施形態において、同一ユーザからの3つの連続した要求が3つの異なるアプリケーションサーバ300に至ることがあり、異なるユーザからの3つの要求が同一のアプリケーションサーバ300に至ることがある。このようにして、システム216はマルチテナントであり、このシステム216は、色々なユーザ及び組織にわたる種々のオブジェクト、データ及びアプリケーションの記憶とこれらへのアクセスとを扱う。
ストレージの一例として、あるテナントが、各販売員がシステム216を使用して自身の販売プロセスを管理するところの販売陣(sales force)を採用する会社であり得る。ゆえに、ユーザは、該ユーザ個人の販売プロセスに適用可能なすべての連絡先データ、リードデータ、顧客フォローアップデータ、パフォーマンスデータ、ゴール及び進捗データ等を(例えば、テナントデータストレージ222の中で)維持することができる。MTS配置の一例において、アクセス、閲覧、修正、報告、送信、算出等すべきデータ及びアプリケーションのすべてが、ネットワークアクセスを超えるものを有さないユーザシステムによって維持され、アクセスされることができるため、ユーザは、自身の販売努力及びサイクルを多くの種々のユーザシステムのいずれかから管理することができる。例えば、販売員が顧客を訪問し、顧客がそのロビーにおいてインターネットアクセスを有する場合、販売員は、ロビーで顧客が到着するのを待つ間に、この顧客に関する重要なアップデートを得ることができる。
各ユーザの雇用主にかかわらず、各ユーザのデータが他のユーザのデータとは別個であってもよいが、いくつかのデータは、テナントである所与の組織についての複数のユーザ又はユーザ全員によって共有され、あるいはアクセス可能である組織範囲のデータであってもよい。ゆえに、テナントレベルで割り当てられたシステム216によって管理されるいくつかのデータ構造が存在し得ると同時に、他のデータ構造がユーザレベルで管理されてもよい。MTSは、競合他社であり得るテナントを含む複数のテナントをサポートし得るため、データ、アプリケーション及びアプリケーション使用を別個に保持するセキュリティプロトコルを有し得る。さらに、多くのテナントが、自身の独自システムを維持するよりもMTSへのアクセスを選び得るため、冗長性、アップタイム及びバックアップが、MTSにおいて実施され得るさらなる機能である。ユーザ固有データ及びテナント固有データに加えて、システム216は、複数のテナントにより使用可能なシステムレベルのデータ又は他のデータをさらに維持してもよい。こうしたシステムレベルのデータには、複数テナント間で共有可能な産業レポート、ニュース、投稿メッセージ等を含み得る。
特定の実施形態において、ユーザシステム212(これは、クライアントシステムであり得る)は、アプリケーションサーバ300と通信して、システム216からのシステムレベル及びテナントレベルのデータを要求し、アップデートする。上記データは、1又は複数のクエリをテナントデータストレージ222及び/又はシステムデータストレージ224に送信することを必要とし得る。システム216(例えば、システム216の中のアプリケーションサーバ300)は、所望の情報にアクセスするように設計された1又は複数のSQLステートメント又はPreQLステートメント(例えば、それぞれ、1又は複数のSQL又はPreQLクエリ)を自動的に生成する。システムデータストレージ224は、データベースからの要求されたデータにアクセスするためのクエリプランを生成してもよい。
各データベースは、一般に、予め定義されたカテゴリへと合わせられたデータを含む一組の論理テーブルなどの、オブジェクトのコレクションとして見ることができる。「テーブル」は、データオブジェクトの一表現であり、本明細書において、本明細書に記載されるオブジェクト及びカスタムオブジェクトの概念的説明を簡素化するのに使用されることがある。「テーブル」及び「オブジェクト」は、本明細書において置き換え可能に使用され得ることが理解される。各テーブルは、一般に、可視のスキーマの中の列又はフィールドとして論理的に配置された1又は複数のデータカテゴリを含む。テーブルの各行又はレコードは、フィールドによって定義された各カテゴリについてのデータのインスタンスを含む。例えば、CRMデータベースは、名前、住所、電話番号、ファックス番号などの基本的な連絡先情報のフィールドで顧客を説明するテーブルを含み得る。別のテーブルが、顧客、製品、販売価格、日付などの情報のフィールドを含む購入注文を説明し得る。いくつかのマルチテナントデータベースシステムにおいて、すべてのテナントによる使用のために、標準のエンティティテーブルが提供されてもよい。CRMデータベースアプリケーションに関して、こうした標準のエンティティには、アカウント、連絡先、リード及び機会データのテーブルを含むことがあり、各々が、予め定義されたフィールドを含み得る。「エンティティ」という言葉もまた、本明細書において「オブジェクト」及び「テーブル」と置き換え可能に使用され得ることが理解される。
いくつかのマルチテナントデータベースシステムにおいて、テナントは、例えば、カスタムインデックスフィールドを含むカスタムフィールドを標準のオブジェクトに対して作成することによって、カスタムオブジェクトを作成し、記憶することを可能にされてもよく、あるいは、標準のエンティティ又はオブジェクトをカスタマイズすることを可能にされてもよい。特定の実施形態において、例えば、すべてのカスタムエンティティデータ行が単一のマルチテナントの物理テーブルに記憶され、このテーブルは、組織ごとに複数の論理テーブルを含み得る。顧客の複数の「テーブル」が実際は1つの大きいテーブルに記憶されること、又は、顧客のデータが他の顧客のデータと同じテーブルに記憶され得ることは、顧客に対して透過的である。
図4は、一実施形態によるコンピュータシステムの例示的形態におけるマシン400の概略表現を示しており、このコンピュータシステム内において、本明細書に論じられる方法論のうち任意の1又は複数をマシン/コンピュータシステム400に実行させる命令セットを実行することができる。別の実施形態において、マシンは、ローカルエリアネットワーク(LAN)、イントラネット、エクストラネット又はパブリックインターネットの中の他のマシンに接続され(例えば、ネットワーク化され)てもよい。マシンは、クライアント‐サーバネットワーク環境の中のサーバ又はクライアントマシンのキャパシティにおいて、ピアツーピア(又は分散型)ネットワークにおけるピアマシンとして、オンデマンドサービス環境内の一サーバ又は一連のサーバとして、動作し得る。マシンの特定の実施形態は、パーソナルコンピュータ(PC)、タブレットPC、セットトップボックス(STB)、パーソナルデジタルアシスタント(PDA)、セルラー電話、ウェブ電化製品、サーバ、ネットワークルータ、スイッチ若しくはブリッジ、コンピューティングシステム、又は、マシンが行うべき動作を指定する(順次の、あるいは別法の)命令セットを実行する能力がある任意のマシンの形態であり得る。さらに、単一のマシンだけが図示されているが、用語「マシン」は、本明細書に論じられる方法論のうち任意の1又は複数を実行する一命令セット(又は複数の命令セット)を個々に、あるいは連帯して実行するマシン(例えば、コンピュータ)の任意のコレクションを含むようにもみなされるべきである。
例示的コンピュータシステム400は、プロセッサ402と、メインメモリ404(例えば、読取専用メモリ(ROM)、フラッシュメモリ、同期型DRAM(SDRAM)又はRambus DRAM(RDRAM)等のダイナミックランダムアクセスメモリ(DRAM)、フラッシュメモリなどのスタティックメモリ、スタティックランダムアクセスメモリ(SRAM)、揮発性だが高データレートのRAM、など)と、二次メモリ418(例えば、ハードディスクドライブを含む永続的な記憶装置、永続的なデータベース及び/又はマルチテナントデータベース実装)とを含み、これらはバス430を介して互いに通信する。メインメモリ404は、記憶されたインデックス424、分析エンジン423及びPreQL API425を含む。メインメモリ404とそのサブ要素とは、本明細書に論じられる方法論を実行するように処理ロジック426及びプロセッサ402と関連して動作可能である。コンピュータシステム400はさらに、あるいは別法として、上記に記載されたとおりにサーバ側要素を具現化してもよい。
プロセッサ402は、マイクロプロセッサ、中央処理ユニットなどの1又は複数の汎用目的処理装置を表す。より具体的に、プロセッサ402は、複合命令セットコンピューティング(CISC)マイクロプロセッサ、縮小命令セットコンピューティング(RISC)マイクロプロセッサ、超長命令語(VLIW)マイクロプロセッサ、他の命令セットを実施するプロセッサ、又は命令セットの組み合わせを実施するプロセッサであり得る。プロセッサ402は、さらに、特定用途向け集積回路(ASIC)、フィールドプログラマブルゲートアレイ(FPGA)、デジタルシグナルプロセッサ(DSP)、ネットワークプロセッサなどの1又は複数の特別目的処理装置であり得る。プロセッサ402は、本明細書に論じられるオペレーション及び機能性を実行するための処理ロジック426を実行するように構成される。
コンピュータシステム400は、さらに、ネットワークインターフェースカード408を含み得る。コンピュータシステム400は、さらに、ユーザインターフェース410(ビデオディスプレイユニット、液晶ディスプレイ(LCD)又は陰極線管(CRT)など)と、英数字入力装置412(例えば、キーボード)と、カーソル制御装置414(例えば、マウス)と、信号生成装置416(例えば、統合型スピーカー)とを含み得る。コンピュータシステム400は、さらに、周辺装置436(例えば、無線又は有線の通信装置、メモリ装置、記憶装置、オーディオ処理装置、ビデオ処理装置など)を含み得る。
二次メモリ418は、非一時的マシン可読又はコンピュータ可読記憶媒体431を含むことができ、該媒体上には本明細書に記載される方法論又は機能のうち任意の1又は複数を具現化する1又は複数の命令セット(例えば、ソフトウェア422)が記憶される。ソフトウェア422は、コンピュータシステム400によるその実行中にメインメモリ404内及び/又はプロセッサ402内に完全に、あるいは少なくとも部分的に常住することがあり、メインメモリ404及びプロセッサ402もまたマシン可読記憶媒体を構成し得る。ソフトウェア422は、さらに、ネットワークインターフェースカード408を介してネットワーク420を通じて送信され、あるいは受信されてもよい。
図5Aは、タブレットコンピューティング装置501とハンドヘルドスマートフォン502とを描いており、各々がその中に本願実施形態により記載されるとおりの統合された回路を有する。描かれるとおり、タブレットコンピューティング装置501とハンドヘルドスマートフォン502との各々は、開示される実施形態に従い、タッチスクリーンインターフェース503と統合されたプロセッサ504とを含む。
例えば、一実施形態において、システムが、タブレットコンピューティング装置501又はハンドヘルドスマートフォン502を具現化する。上記システムのディスプレイユニットが、タブレット又はスマートフォンのためのタッチスクリーンインターフェース503を含み、さらに、メモリと統合されたプロセッサとして動作する統合された回路とが、タブレット又はスマートフォンへと統合される。上記の統合されたプロセッサは、加入サービスとしてパブリックインターネットを介して提供されるクラウドコンピューティングサービスなどのオンデマンド及び/又はマルチテナントデータベースシステムを通した予測及び潜在構造クエリ実装を使用するために、本明細書に記載される実施形態のうち1又は複数を実施する。一実施形態において、上記に記載の統合された回路、又は、描かれたタブレット若しくはスマートフォンの統合されたプロセッサは、タブレットコンピューティング装置又はスマートフォンのための中央処理ユニット(CPU)及び/又はグラフィクス処理ユニット(GPU)として機能する統合されたシリコンプロセッサである。
タブレットコンピューティング装置501とハンドヘルドスマートフォン502とは限られた処理能力を有し得るが、各々は、それにもかかわらず、例えば図1に描かれたホスト組織110などの、クラウドベースのサービスとしてのホスト組織により提供される予測及び潜在構造クエリ能力を利用することを可能にされる。
図5Bは、タッチスクリーンインターフェースコネクタが使用されるタブレットコンピューティング装置501、ハンドヘルドスマートフォン502又は他のモバイル装置の一実施形態のブロック図500である。プロセッサ510は、主要な処理オペレーションを実行する。オーディオサブシステム520は、コンピューティング装置にオーディオ機能を提供することに関連するハードウェア(例えば、オーディオハードウェア及びオーディオ回路)とソフトウェア(例えば、ドライバ、コーデック)コンポーネントとを表す。一実施形態において、ユーザは、プロセッサ510により受信され及び処理されるオーディオコマンドを提供することによって、タブレットコンピューティング装置又はスマートフォンと相互作用する。
ディスプレイサブシステム530は、タブレットコンピューティング装置又はスマートフォンと相互作用するためにユーザに視覚的及び/又は触覚的ディスプレイを提供するハードウェア(例えば、ディスプレイ装置)及びソフトウェア(例えば、ドライバ)コンポーネントを表す。ディスプレイサブシステム530はディスプレイインターフェース532を含み、ディスプレイインターフェース532は、ユーザに表示を提供するために使用される特定のスクリーン又はハードウェア装置を含む。一実施形態において、ディスプレイサブシステム530は、出力と入力との双方をユーザに提供するタッチスクリーン装置を含む。
I/Oコントローラ540は、ユーザとの相互作用に関連するハードウェア装置及びソフトウェアコンポーネントを表す。I/Oコントローラ540は、オーディオサブシステム520及び/又はディスプレイサブシステム530の一部であるハードウェアを管理するように動作することができる。さらに、I/Oコントローラ540は、タブレットコンピューティング装置又はスマートフォンに接続するさらなる装置のための接続ポイントを示しており、それを通してユーザが相互作用してもよい。一実施形態において、I/Oコントローラ540は、加速度計、カメラ、光センサ若しくは他の環境センサ、又はタブレットコンピューティング装置又はスマートフォンに含むことができる他のハードウェアなどの装置を管理する。入力は、タブレットコンピューティング装置又はスマートフォンに対する環境的な入力を提供することだけでなく、直接のユーザインタラクションの一部でもあり得る。
一実施形態において、タブレットコンピューティング装置又はスマートフォンは、バッテリ電力使用、バッテリの充電、及び電力節約オペレーションに関連する特徴を管理する電力管理550を含む。メモリサブシステム560は、タブレットコンピューティング装置又はスマートフォンに情報を記憶するためのメモリ装置を含む。接続性570は、外部の装置と通信するための、タブレットコンピューティング装置又はスマートフォンに対するハードウェア装置(例えば、無線及び/又は有線のコネクタ、並びに通信ハードウェア)とソフトウェアコンポーネント(例えば、ドライバ、プロトコルスタック)とを含む。セルラー接続性572には、例えば、GSM(global system for mobile communications)、CDMA(コード分割多重アクセス)、TDM(時分割多重)又は他のセルラーサービス標準などの無線キャリアを含み得る。無線接続性574には、例えば、パーソナルエリアネットワーク(例えば、Bluetooth)、ローカルエリアネットワーク(例えば、WiFi)及び/又はワイドエリアネットワーク(例えば、WiMax)、あるいは他の無線通信などの、セルラーでないアクティビティを含み得る。
周辺接続580は、他のコンピューティング装置に対する周辺装置として周辺接続を行い(“TO”582)、さらにタブレットコンピューティング装置又はスマートフォンに周辺装置を接続させる(“FROM”584)ためのハードウェアインターフェース及びコネクタとソフトウェアコンポーネント(例えば、ドライバ、プロトコルスタック)とを含み、例えば、他のコンピューティング装置と接続する「ドッキング」コネクタを含む。周辺接続580は、ユニバーサルシリアルバス(USB)コネクタ、ディスプレイポート、例えばミニディスプレイポート(MDP)、高精細度マルチメディアインターフェース(HDMI)、Firewire等などを含む、共通の又は標準に基づくコネクタを含む。
図6は、確率的モデリングの簡素化されたフローを描いている。確率的モデリングは、一連の選択及び仮定を必要とする。例えば、忠実度と取り扱いやすさを備えた詳細とにおけるトレードオフがあり得る。仮定は、考えられる仮説であり得る帰結空間を定義し、モデリングビューにおいて、こうしたあり得る仮説の1つが実際に生じる。
例えば、要素601において、確率的モデリングフローは、605の事前知識を活用する仮定を描いている。フローは要素602に進み、要素602には、606のあり得る帰結の空間を定義する仮説空間がある。確率的モデリングフローは要素603に進み、要素603は、606のあり得る帰結の定義された空間から導出される607の学習に基づいて、隠れた構造をもたらす。それから、フローは要素604に進み、要素604では、608の利用可能なソースから情報を集めることによって観察されたデータが利用され、それから、この観察されたデータは、要素607における学習にループバックして確率モデルに再帰的により良く情報を与える。
603における隠れた構造は、データを生成するのに使用される。隠れた構造603と結果的な生成されるデータとは、生成的なビューとみなすことができる。学習607は、特定のモデリング仮定(「事前(prior)」)と観察されたデータ(「尤度(likelihood)」)とを含み得る隠れた構造に関する情報及び推論の利用可能なソースを使用し、上記から、事前と尤度との組み合わせが、結論(「事後(posterior)」)を描き出すのに利用され得る。
上記の仮定は仮説空間を生み出し、さらに、こうした仮定に確率を割り当てることができる手段を提供し、こうして、観察された実際のデータを所与として、仮説に対する確率分布がもたらされる。
問い合わせ可能インデックスを生成するように分析エンジンにより実施されるモデリング仮定は、仮説空間と、いくつかのデータを所与として各仮説に確率を割り当てるためのレシピとの双方を定義する。こうして、各仮説が帰結である確率分布が生じ、これについて、非常に多くの利用可能な及びあり得る帰結が、各々が様々な確率を有して存在する可能性がある。さらに、非常に多くの仮説が存在する可能性があり、データを説明する最良の仮説を見つけることは、単刀直入な又は明らかな公理ではない。
こうして、確率的推論は、目下のデータに対する最良の説明を与える仮説を見つけるために利用可能な仮説空間をいかに検索するかという問題を表す。本明細書に記載される分析エンジンは、数学を直接解く機能性と仮説空間のピークを見つけるように最適化を活用する機能性と仮説空間のランダムウォークを実施する機能性とを含む広範な方法を実施する。
確率的モデリングは仮定601を作り、この仮定を用いて、仮説空間602が定義される。観察されたデータを所与として仮説に確率が割り当てられ、それから、これら説明的な仮説のいずれが妥当であるか及びいずれか最良であるかを見つけ出すように推論が使用される。
図7は、ランダムウォークを実行することができる一例示的ランドスケープを示している。この分野のエキスパートは最良の仮説を選択する方法について合意していないが、いくつかの好まれるアプローチがある。単純な場合、機能性は数学を使用して式を直接解くことができる。山登り法及びその関連物などの、他の最適化方法も好まれている。特定の記載される実施形態において、分析エンジンは、ランダムウォークが仮説の空間を通して行われるモンテカルロ法を利用する。ランダムとは、狙い、方向又は目的なしに非効率的又はおろかにナビゲートすることを意味するものではない。実際、上記の広大な空間を効率的にナビゲートすることが、ランダムウォークによって取られる経路を向上させるために分析エンジンが利用するイノベーションの1つである。
ランダムウォークを実行することができる仮説空間703のランドスケープを考える。このランドスケープでは、各軸が仮説空間703における1つの次元である。要素701における垂直軸に、隠れた値2が表され、要素702における水平軸に、隠れた値1が表されている。実際の空間は、簡素化のためにここに示される2つの次元よりはるかに多い、多数の次元を有し得る。ランダムウォーク法により形成される表面の高さは、データ及びモデリング仮定を所与として、隠れた変数の確率である。
どこかへ、いずれかの場所へランダムなステップを取ることによって探索が始まり、このステップがより高くなる場合、探索が保たれ、このステップがより低くなる場合、ある時には探索が保たれ、ある時には探索が保たれず、代わって留まることが選ばれる。その結果は、真の確率値に比例して空間を探索することが保証されるため、非常に有用である。長い実行を通じて、提供される例からわかるとおり、2つのピークが生じ、このピークは、提供された次元(例えば、描かれている2つの軸における701及び702)の各々に対応する。逆に、簡素な山登り法は、1つの山の頂点で捕えられ、区別可能なピークを生み出すことに失敗することになる。こうして、上記のアプローチは仮説空間の全体を探索し、対して従来手法は、このようには探索しない。他のイノベーションには、ジャンプに関する追加のインテリジェンスと1又は複数の次元を一時に探索する機能性とが挙げられる。
図8は、一例示的な表形式のデータセットを描いている。表形式データにおいて、各行は1つの特定のエンティティに関する情報を含み、多数の行の各々は互いから独立している。各列は単一タイプの情報を含み、上記のデータは、例えば、数字、カテゴリ、ブール等のデータタイプにされ得る。列タイプは、一テーブル内で混ぜられ、マッチされてもよく、任意の所与の列に適用され又は割り当てられるデータタイプは、列全体内のすべてのセル又はフィールド間で一様であるが、1つの列のデータタイプは、いかなる他の列上のいかなる特定のデータタイプも制限しない。したがって、上記の表形式データは、表形式データセットを提供するリレーショナルデータベースの単一データベーステーブルに非常に良くマッチする。表形式データはさらに、“R”におけるデータフレームにも良くマッチする。
描かれる例示的なテーブルにおいて、要素802は、行の各々が哺乳動物であるエンティティを形成し、要素801において、列の各々は、哺乳動物を説明する特徴、特性又は変数である。列のほとんどはブールのデータタイプにされているが、いくつかはカテゴリである。
要素804は観察されたセルを描いており、すなわち、利用可能なデータがない観察されていないセルである要素803とは対照的に、セルに対してデータが提供されることに留意する。こうして、観察されていないセル803はヌル値であり、一方で、データがブールでも、カテゴリでも、値でも、列挙型要素でも、あるいは列のデータタイプに適切である何らかのものでも、観察されたセルはフィールドの中に投入されたデータを有する。白又は空白で描かれるセルのすべてが、観察されていないセルである。
次元のための共通割り当て行列、Cij=Pr[z=z]は、次元i及びjが共通原因を共有し、したがって同一のディリクレ過程混合によってモデル化される確率をもたらす。ラベルは、合意次元グループを示す(確率>0:75)。これらは、共通原因を共有し、ゆえに共変する属性を反映し、一方、行列の残りの部分は、これらの発見された原因間における相関、例えば、哺乳動物は羽を有し、あるいは飛ぶことはまれである、有蹄動物は捕食動物ではない、などを捕捉する。各次元グループは、異なる横断的な行のカテゴリ化(例えば、脊椎動物、鳥、イヌ等)を拾い出す。
図9は、図8において表形式で提供されたデータなどの観察されたデータ間における動機又は因果関係を導出する手段を描いている。哺乳動物とその特性とに関する例示的データにおいて、いくつかの因果関係を適切に導出することができると予期され得る。逆に、表形式データが、中国におけるお茶の価格が提供されるように修正される場合、こうしたデータは、存在して観察されているが、直感的に、観察されたデータに基づいて哺乳動物に関して行われる結果的な予測に何らかの形で役立ち、あるいは該予測を害するものではない。こうした無縁のデータ(例えば、哺乳動物を記述するテーブル内における中国でのお茶の価格)は雑音を表しており、適応させる必要がある。実世界データは、頻繁に雑音を有し、十分に構造化されていないためである。分析エンジンは、提供されたデータセット内で雑音のある無関係なデータが実際に「観察される」にもかかわらず、予測のための適切な動機を見つけ、こうしたデータによってミスリードされない必要がある。提示される各々の及びあらゆるデータセットのために手動で開発すべきカスタムソリューションを必要とすることなく、適切な予測をレンダリングする(renders)スケーラブルなソリューションが利用される場合、実世界データは、単純にきれいではなく、ゆえに非常に実際的な問題を提示する。したがって、いくつかのデータは単純に所与の仮説又は予測的関係にとって重要でないことを理解するモデルを、分析エンジンは採用しなければならない。例えば、いくつかの列が重要でない可能性があり、あるいは、特定の列が冗長な情報を担う可能性がある。したがって、予測的に関連する可能性があり、ゆえに一緒にグループ化される可能性がある列もあれば、一方、予測的に関連せず、そのようなものとして別個にグループ化される列もある。こうした列のグループは「ビュー」と呼ばれる。
2つの区別可能なビューが描かれている。要素905におけるビュー1は偶発プロセス1(要素903)から生じ、要素906におけるビュー2は、偶発プロセス2(要素904)から生じる。各々のビュー905及び906内で、行は、複数のカテゴリにグループ化される。図示されるとおり、ビュー1は、要素907、908及び909における特徴1‐3に対応し、ビュー2は、要素910及び911における特徴4‐5に対応する。提供された例において図8で描かれた表形式のデータセットの列に対応するそれぞれのビューの「特徴」の各々は、エンティティ(例えば、行)としてリストアップされたそれぞれの哺乳動物に関する特性、変数又は特徴を定義する。
それから、エンティティ1‐2が要素901及び902に描かれ、それから、ビュー内に、それぞれのセル又はフィールド値が描かれている。特に、分析エンジンは、2つの列グルーピング、詳細には、要素905及び906におけるビュー1及び2を識別しており、こうして、特定のビューに対して適合させた種々の予測的関係を識別することができる。
図10Aは、一例示的クロスカテゴリ化(cross-categorization)をさらにより詳細に描いている。クロスカテゴリ化を利用して、列/特徴がビューへとグループ化され、行/エンティティがカテゴリへとグループ化される。図10Aではビュー1‐3が描かれており、要素1001におけるビュー1が12個の特徴を有し、要素1002におけるビュー2が10個の特徴を有し、要素1003におけるビュー3が8つの特徴を有している。再びになるが、それぞれのビューの特徴は、提供された表形式のデータセットからの列に対応する。ビュー1(要素1001)において、3つのエンティティがビューの3つの異なるカテゴリ内に提供されていることが分かるであろう。要素1005及び1006におけるエンティティ1及び2は双方、ビュー1の最上カテゴリ内にあり、要素1007におけるエンティティ3は、中間カテゴリ内にあり、詳細にリストアップされたエンティティ(例えば、行)のいずれも最下カテゴリ内には現れない。黒くされた行はエンティティ1‐3(1005、1006、1007)を表しており、ビュー2(要素1002)から分かるであろうとおり、配置が変わっている。ビュー2には、特徴10個だけと、リストアップされたエンティティ(行)1005、1006及び1007の3つすべてを所有するただ1つのカテゴリとがある。そして、要素1003におけるビュー3に移ると、4つのカテゴリがあり、3つの黒くされたエンティティ(行)1005、1006及び1007の各々が区別可能なカテゴリ内に存在する。
要素1004は、ビュー3のズームイン描画を提供しており、要素1003と同一であるが、さらなる詳細が描かれている。ゆえに、要素1004において、カテゴリの各々が複数のエンティティを所有し、各々が、要素1004におけるビュー3のカテゴリによって実際にリストアップされた列についてのテーブルからのセル値に対応する実際のデータ点を有することが分かるであろう。例えば、カテゴリ1は16個の合計エンティティを有し、カテゴリ2は8つのエンティティを有し、カテゴリ3は4つのエンティティを有し、カテゴリ4は2つのエンティティを有する。それから、カテゴリ3は、観察されていないセル1009(例えば、ヌル値、欠落したデータ、未知のデータ等を表す空白)に対してどのデータ要素が観察されたセル1008(“X”でマークされている)であるかが分かるように、さらになおズームインされている。
単一のクロスカテゴリ化は、表形式のデータのテーブル又はデータセットをスライスし及びダイスする特定の一方法である。最初に列で、それから行で、所望の構造化された空間を生み出すように特定種類の処理を提供する。それから、各クロスカテゴリ化に確率が割り当てられ、こうして、確率分布がもたらされる。より多くのビューとより多くのカテゴリとを生み出すさらに複雑なクロスカテゴリ化が実現可能であるが、実際にはこれらの起こる可能性はあまりなく、したがって典型的には、下層のデータがこれらを現実にサポートするときに限り保証される。より複雑なクロスカテゴリ化がサポートされるが、デフォルトでは利用されない。
ディリクレ過程混合モデルにおける推論を含むクラスタ化手法を用いた確率的モデリングは、種々の次元がかなり異なるクラスタ化によって最も良く説明されるとき、困難さを提示する。それにもかかわらず、本明細書に記載される分析エンジンの実施形態は、次元のうち推論される区画の各グループについて別個のディリクレ過程混合モデルを用いて、データを説明するのに必要とされる独立したノンパラメトリックなベイズモデルの数を自動的に発見する推論法を通して上記の困難さを克服する。ディリクレ過程混合(DP混合)と異なり、記載される実装は、異種のデータアレイの行(サンプル)と列(新しい次元)との双方にわたって交換可能であり、したがってサンプル及び次元双方の数が無限大に近づくときのいかなるデータセットもモデル化することができる。生のデータセットの中に提供される真の因果構造を識別するための事前処理を特定の例において必要としない記載されるアルゴリズムの使用を通して、効率性とロバスト性とを向上させる。
クラスタ化手法は、科学における工業的、探索的分析におけるセグメント化の問題のためのデータ分析において、及び、分散コンピューティングやデータ圧縮におけるさらなる処理のパフォーマンスを向上させる事前処理の一ステップとして、広く使用されている。しかしながら、データセットがより大きくなり、より雑音が多くなるとき、単一のクラスタ化又はクラスタ化にわたる分散が観察の中のすべての変動について説明することができるとの仮定は、全体として実行不可能でない場合、あまり現実的でなくなる。
機械学習の視点からは、上記のことは、特徴選択問題の教師なし(unsupervised)バージョンである。測定結果の種々のサブセットは、全体として、データの種々の自然なクラスタ化を帰納することになる。認知科学及び人工知能の視点からは、上記の問題は、単一のモノリシックな表現に代わってデータの複数の表現を探し求める作業に反映される。
限定的な一例として、ロバストなクラスタ化法は、無限数の一様にランダムな又は完璧に決定論的な測定結果を無視することができる。単一のノンパラメトリックモデルがすべての次元を説明しなければならないとの仮定は、ディリクレ過程混合が高次元設定においてしばしば直面する精度問題に関して部分的に合理性がある。分類条件付き密度推定を介したディリクレ過程混合に基づく分類器は、上記の問題を強調する。例えば、弁別的な分類器が、雑音があるか又は決定論的かで、ゆえに無関係の次元に、小さい重み付けを割り当て得る一方、生成的モデルはこれらを説明しなければならない。十分な無関係性がある場合、生成的モデルは、この過程における分類に関連する次元を無視する。ゆっくりとしたMCMC収束と組み合わせられて、上記の困難性は、多くの用途におけるノンパラメトリックなベイズ法の使用を抑制している。
上記の限定を克服するために、教師なしのクロスカテゴリ化学習手法が、新規のネスト化されたノンパラメトリックなベイズモデルにおいてMCMC推論に基づいてクラスタ化に利用される。このモデルは、サンプリングされたデータ点又は行にわたるディリクレ過程混合モデルの列又は次元にわたるディリクレ過程混合として見ることができる。次元の区画に条件を課されて、分析エンジンのモデルは、DP混合の独立した積(product)に低減されるが、次元の区画、したがって、独立したノンパラメトリックなベイズモデルの数及びドメインが、データからさらに推論される。
標準の特徴選択は、次元の区画が2つだけグループを有する状況をもたらす。記載されるモデルは、モデル選択と決定論的近似との双方が潜在変数の組み合わせ的爆発に起因して扱いにくいと考えられるため、次元の区画が変わるときに潜在変数の数を変えて、MCMCアプローチを利用する。
記載されるモデルによって捕捉される仮説空間は、階層的ディリクレ過程とはかなり異なる構造を備え、ディリクレ過程混合の仮説空間より超指数関数的に大きい。N行とD列の固定されたタイプとランダムに欠落した値とを有する異種データアレイのためのモデルと見なされる生成過程は、下記のとおり説明することができる:
1.各次元d∈Dについて:
(a)適切な超事前分布(hyper-prior)から超パラメータ(hyperparameters)
[外1]
Figure 2016514321
を生成する
(b)超パラメータαを用いて(あいまいな超事前分布からのαを用いて)中華レストラン過程(Chinese restaurant process)から次元dについてのモデル割り当てZを生成する
2.次元区画{Z}の中の各グループgについて:
(a)各々のサンプリングされたデータ点(又は行)r∈Rについて、超パラメータαを用いて(あいまいな超事前分布からのαを用いて)中華レストラン過程からクラスタ割り当てZ を生成する
(b)次元{Z }の上記グループについての行区画の中の各クラスタcについて:
i.各次元dについて、適切な事前分布と
[外2]
Figure 2016514321
とからコンポーネントモデルパラメータ
[外3]
Figure 2016514321
を生成する
ii.このコンポーネント(d∈DについてZ z d=c)の中の各データセルx(r,d)について、その値を適切な尤度と
[外4]
Figure 2016514321
とから生成する。
確率的理論において、中華レストラン過程は離散時間の確率論的な過程であり、いかなる正整数時間nにおけるその値も集合{1,2,3,n}の区画Bであり、その確率分布は下記のとおり決定される:時間n=1において、自明の区画{{1}}が確率1で得られ、時間n+1において、要素n+1は:(a)区画Bのブロックの1つに追加され、ただし各ブロックは|b|/(n+1)で選ばれ、|b|はブロックのサイズであるか、あるいは(b)確率1/(n+1)で新しいシングルトンブロックとして区画Bに追加される、のいずれかである。このように生成されたランダム区画は、ラベル付け{1,...,n}が区画の分布を変えないという意味で交換可能であり、時間nにおけるランダムな区画から要素nを取り除くことにより得られるn−1の区画の原理が時間n−1におけるランダムな区画の原理と同じであるという意味で一貫性がある。
このモデルは、中華レストラン過程のインディアンビュッフェ過程(Indian buffet process;IBP)適合とはかなり異なる帰納的なバイアスをエンコードし、典型的に付加して組み合わせられる特徴とは対照的に、異種のデータベクトルにわたってカテゴリの独立した系を発見する。モデルの漸近性能をディリクレ過程混合の漸近性能と対比することもまた有益である。ディリクレ過程混合は、サンプルの数が無限大に近づくとき、任意的に大きい漸近性能を有する。言い方を変えれば、ディリクレ過程混合は、十分なデータを所与として有限の次元ベクトルにわたって任意の分布をモデル化することができる。しかしながら、次元(又は、特徴)の数が無限大にされる場合、それはもはや漸近的に一貫してはいない。すなわち、一連のデータセットが、混合から第1のK次元をサンプリングすることによって生成され、それから、一定の値(例えば、中国におけるお茶の価格)にされたK>>K次元を追加される場合、この一連のデータセットは結局、Kの次元だけモデル化するように強制され、第1のKにおける統計的構造を無視することになる。対照的に、記載される実施形態に従い分析エンジンを介して実施されるモデルは、サンプルの数と次元の数との双方の観点で漸近性能を有し、双方の数量に関して無限に交換可能である。
結果として、分析エンジンを介して実施されるモデルは、測定される変数のサブセットにわたって自己矛盾がなく、ゆえに、雑音のある、欠落している及び無関係の測定結果、又は交絡的な統計信号に直面した際、考慮すべきロバスト性を享受することができる。このことは、デモグラフィックの設定において、及び高スループットの生態学において、雑音のある測定結果、又は理論的に共変するが直交する測定結果が最頻値であり、各データベクトルが実世界の中の複数の独立した生成過程から生じる場合、特に役に立つ。
分析エンジンを介して実施されるアルゴリズム及びモデルは、確率プログラムのための汎用目的のMCMCアルゴリズムの上に築かれ、この確率プログラムは、行及び列の数における繰り返しごとに線形にスケール変更し、すべての超パラメータにわたる推論を含む。
図10Bは、収束の評価を描いており、可変データセットサイズ(最大512×512まで、各々1‐10分を要する)と真の次元グループとを用いた1000より多いMCMC実行(各々200の繰り返し)についての同時スコア(joint score)を提供する、推論されたもの対グラウンドトルースを示している。点の大多数はグラウンドトルース破線付近にあり、合理的な収束を示している。事後の不確実性に部分的に起因して、完璧な線形性は予期されない。
大規模に並行した実施は、記載されるモデルにおける条件付き独立性を活用する。記載されるモデルは、本質的にパラメータが自由であり(例えば、不適切な一様な超事前分布を用いる)、複数の相互作用原因により生成される雑音のある及び/又は無関係の測定結果に対してロバストであり、任意的にまばらに観察される異種のデータをサポートするため、探索的データ分析において広く適用可能であり得る。さらに、利用されるMCMCアルゴリズムのパフォーマンスは、複数次元にわたりディリクレ過程において潜在可変モデルをネスト化することに対する記載されるアプローチが、広範囲のノンパラメトリックなベイズ手法のロバストな、迅速に収束する、横断的な変形を生成するのに適用されてもよいことを示唆している。
予測及び潜在構造クエリ能力と関連するAPIとは、データの背後にある原因を見つけ、かつこの原因を使用して今まで利用不可能な高度に自動化された方法で将来を予測し説明する予測データベースを使用する。こうして、いかなる開発者も、カスタムプログラミングと数学者及び他のこうしたエキスパートによるコンサルテーションとを必要とすることなくデータセットに対して科学的な調査を実行することが可能になる。上記の原因は、分析エンジンによって学習される潜在構造及び関係によって明らかにされる。
予測及び潜在構造クエリ能力は、進化したベイズ機械学習アルゴリズムを用いて、データセットの中に存在するすべてのあり得る関係の大規模な仮説空間を検索することによって奏功し、こうして、開発者に:少しも手動のパラメータチューニングのない、かなり広い範囲の実世界のデータセットに対する最新の推論パフォーマンス及び予測精度と;数十万又は数百万の列又は行を有する非常に高次元のデータを含む非常に大きいデータセットに対するスケーラビリティと;データ又はクエリが変わるときに従来の手法では必要であるいかなる再訓練又は調整もなしの、完全に柔軟な予測(例えば、列の任意のサブセットの値を、任意の他のサブセットについての値を所与として、予測可能)とを提供する。予測及び潜在構造クエリ能力はさらに、システムが十分にベイズ確率モデルを中心にして築かれるため、その予測に関連付けられた不確実性の定量化を提供する。例えば、ユーザは、レンダリングされる予測の品質に従って、結果的に生じるクエリ、ランク付け、ソートなどの信頼度指標又はスコアを提示されることができる。
予測及び潜在構造クエリ能力の上に築かれる記載のアプリケーションは、心臓病を予測することからヘルスケア出費を理解すること、ビジネス機会を評価すること、及びこうしたビジネス機会を成功裏に「閉める」(例えば、販売、契約等を成功裏に釣り合わせる)尤度をスコア付けすることに及ぶ。
これまでに述べられたとおり、実世界データの問題の1つは、異なる種類のデータが一緒に混合されて扱いにくい傾向にあることである。例えば、構造化されたデータと構造化されていないデータとが、共通して一緒にブレンドされる。データが不用意に更新され、ゆえに誤りで埋められる可能性がある。データ要素(例えば、セル又はフィールド値)がかなり頻繁に欠落していて、ヌル値又は不明なデータ点をもたらす。実世界データはドキュメンテーションにおいてほぼ常に不足があり、ゆえに上記のデータを収集し維持している組織によってさえ、十分に理解されていない。したがって、データは、上記組織に関してデータの最大利益まで活用されていない。データのユーザは、さらに、誤ったものを測定する可能性があり、同じものを10の異なる方法で測定する可能性がある。
こうした問題は、様々な理由で生じる。おそらく、組織のDBA(データベース管理者)がいなかったか、あるいはDBAが去ったかして、以来、10年のデータの堆積レイヤが築かれている。あるいは、データ入力及び維持を担当する個々人が、自然な人間のふるまいを通じた誤りやミスを単純に誘発している。上記はすべて、非常に現実的であり、研究又はテスト設定において見られることがあるきれいな小さいデータセットとは対照的に、様々な組織のための生産データベースに見られる「実世界」データに共通の問題である。
したがって、本明細書に記載される、予測クエリのサポートによって問い合わせ可能インデックスを生成する分析エンジンは、「実世界」データを、それが自然のまま実際に存在するとおりに収容しなければならない。分析エンジンは、データの意味を、それが現実のビジネスに存在するとおりに理解し、データがどう見えるかの理想的な構造に従うきれいなデータセット又はデータを必要としない。分析エンジンは、リアルタイムで、多くの種々の変数に関する多くの種々の質問について問い合わせることができるインデックスを生成する。分析エンジンは、上記のデータの中の隠れた構造、すなわち、どの変数が重要であるかやデータ内のセグメント又はグループは何であるかを得る能力がある。同時に、分析エンジンは、信頼できる予測的関係を生み出し、すなわち、分析エンジンにより利用されるモデルを通して、低い予測品質の誤解されやすい関係及び予測並びに誤りのある関係及び予測が回避される。好ましくは、分析エンジンは、真でないことを明らかにせず、第1のデータセット又はサンプルの中に存在し得るが全体としては支持しないゴーストパターンを報告しない。こうした所望の特性は、カスタマイズされた統計分析及びカスタマイズされた予測モデリングで達成するのは非常に困難であり、今日の市場で利用可能ないかなる自動化されたシステムにおいても全く聞かれない。
予測をするとき、ユーザが結果を信頼してもよいかをユーザに追加的に知らせることは役に立つ。すなわち、システムがどれほど自信があるかが、信頼度指標、信頼度スコア、信頼区間などの定量的尺度によって結果の中に存在する。時に、システムは、低い信頼度品質の予測された結果又はユーザにより設定された最小信頼度閾値を下回る結果を提供するよりもむしろ、「分かりません」と示すことによって文字どおりに応答することが必要であり得る。したがって、システムは、回答が例えば、1、又は1と10との間、又は負の無限大と正の無限大との間であるとユーザに示す結果を、その結果にシステムがどれほど自信があるかを定量的に各々定義するように、返してもよい。
確率を用いて、システムは、例えば、与える回答が現実で正確で正しいという90%の自信があるとユーザに忠告することができ、あるいは、システムは別法として、システムが十分なデータを単純に欠いており、ゆえに予測をレンダリングするために分かっていることが十分でないと示す結果を返してもよい。
特定の実施形態によれば、分析エンジンは、表形式のデータに適用される基礎的なクロスカテゴリ化モデリングに基づいて、特別にカスタマイズされた確率モデルを利用する。従来利用可能なクロスカテゴリ化モデルは良いスタートを提供するが、それでもなお改良され得る。例えば、従来利用可能なクロスカテゴリ化モデルでは、式を実行することはできない。対して、本明細書に記載される分析エンジン実装は、従来技術におけるこの欠陥を、上記の式実行を可能にすることによって克服する。さらに、従来利用可能なクロスカテゴリ化モデルは、確率インデックスを築くことと同様に、隠れた構造を理解するために選ばれたモデルとデータとをマッチングすることに頼っていた。しかし、分析すべき特定のデータセットにモデルをマッチさせることを要するのは非常に複雑であることが証明されており、こうした従来のクロスカテゴリ化モデルのユーザは、任意の所与のデータセットに対して適切なモデルを単に選択し及び実施するのに高度な数学的知識と確率理論理解とを要し、一般人は、現実的にこうしたモデルを使用することが全くできない状態にあった。利用可能なツールがあまりに複雑で大部分の人々が利用することができない場合、そのツールは、実用的には、その存在及び可用性にかかわらず、大部分の人々にとってアクセス不可能なものである。
本明細書に記載されるサポートテクノロジー(例えば、クラウドコンピューティングインターフェース及びPreQL構造化クエリ言語など)を備えた分析エンジンは、分散処理、ジョブスケジューリング、永続性、チェックポインティング、及びユーザフレンドリーなAPI又はフロントエンドインターフェースを含むサービスを提供することによって上記の問題を解決することを狙う。上記のサービスは、一般ユーザの質問を受け取ってPreQLクエリ構造を介して問い合わせ、これにより、学習曲線を大幅に低下させて上記のサービスを利用するのに必要な特別に必要とされる知識を排除する。他の特化されたフロントエンドGUI及びインターフェースがさらに説明されて、ユーザのために特定のユースケース(use cases)を解決し、複雑な確率の問題に対する他の単純なインターフェースを提供し、こうして、さらに上記の特定のユースケースに対してさえも複雑さを低下させる。
特に実施されるユースケースの特定の例には、「どの解決されたサポートケースがこのケースに最も近いか?」あるいは別法として「どの事前に勝ち取った販売機会にこの現在の機会が似ているか?」などの質問をデータセットに対してユーザが尋ねることを可能にするように、類似のエンティティを見つけるインターフェースが挙げられる。こうして、上記のインターフェースは、ユーザが類似の過去のソリューションに基づいて現在の問題を解決するのに、あるいは現在の機会プロファイルと類似の確率的関係を有する過去の勝ちに基づいて現在の販売機会を勝ち取るのに役立ち得る回答について、ユーザ所有のデータセットにユーザが問い合わせることを可能にする。
特定のユースケース実装が、さらに、ユーザが未知の値を予測することを支援する。これは、他の方法で投入されたデータセットからの欠落しているデータ、例えばヌル値などのため、あるいは、将来に残るという理由で知ることができない値を予測するためであり得る。例えば、インターフェースは、「この機会を勝ち取るであろうか?」あるいは「この機会を勝ち取る場合、どれほどの価値があるであろうか?」あるいは「私はこの四半期にどれほど売ることになるか?」などの質問に対する回答及び関連する信頼度スコア又は指し示し(indication)を、ユーザが予測するのを支援する。
他のユースケースが、「この機会を前進させるために私は次に何をすべきか?」あるいは「この顧客に対して私はどのさらなる製品を示唆すべきか?」などの質問を尋ねることによって、ユーザの意思決定及びふるまいをガイドするのに役立ち得る。これらのツールは、販売員に対して直接役立ち得るが、さらに販売マネージャや販売プロセスに影響を受ける他のビジネスの個々人にも役立ち得る。
特に、予測品質の指し示しが、上記の質問に対する予測と共に提供されてもよく、あるいは単純に予測値が、欠落したデータに対して提供されてもよい。こうした予測品質の指し示しは、信頼度スコア、予測品質指標及び他の名称で参照されてもよいが、一般的に言うと、上記の指し示しは、所与の事象又は値が生じそうな、あるいは真でありそうな確率の反映である。多くの視点があるが、確率は、過去、現在又は将来の事象における信用の度合に関して、観察者によって、ステートメントとして記載されることができる。タイミングは重要ではない。こうして、確率は、「事象が生じる可能性はどれほどか?」あるいは「値がこのデータセットに関して真である可能性はどれほどか?」といった信用のステートメントと見なすことができる。
確率は、何か起きることになるか、あるいはいくつかの例においては何が起きているかに関して、我々が100%確信することができないから必要とされ、そのようなものとして、予測は不確かである。では、不確かさとは何か?観察者は、上述されたとおり、こうした事象が発生した、発生している、あるいは将来発生することにおける信用の度合にかかわらず、事象が生じることになるかを確実には知らない。
確率は、知識又は情報の文脈に関連して割り当てられる。異なる観察者が異なる知識を有し、異なる確率を同じ事象に割り当て、あるいは、双方の観察者が同じ知識を有するときでさえも異なる確率を割り当てる可能性がある。確率は、本明細書において使用されるとき、“0”(ゼロ)と“1”(イチ)との間の数字として定義されることがあり、これにおいて、0は、連続体の一端上において事象が発生しないのが確かであることを意味し、1は、同じ連続体の他端上において事象が発生するのが確かであることを意味する。双方の端は、不確かさが完全にないことを表すため、興味深い。
確率は、信用を1つの事象に結び付ける。確率分布は、信用を、あらゆるあり得る事象、又は少なくとも所与のモデルで考慮されるべきあらゆる事象に結び付ける。帰結空間を選ぶことは、重要なモデリング判断である。空間の中のすべての帰結にわたって総計されたものが合計確率であり、これは“1”という合計になるべきである。すなわち、モデルに従って、帰結のうち1つが生じなければならない。確率分布は、様々な確率におけるシステムの信用を要約するのに役立つ便利な数学的形態であるが、標準分布を選ぶことは、すべてのモデルが誤っているがいくつかは有用であるモデリング選択である。
例えば、何らかの事象がある時間スパンの中で0回以上発生する可能性があるときの良いモデルであるポアソン分布を考える。その帰結空間は、事象が発生する回数である。ポアソン分布は単一のパラメータを有し、このパラメータはレートであり、すなわち平均回数である。その数学的形態は、すべての非負の整数の総計が1に定義されるなどの、いくつかの良い属性を有する。
標準分布は良く知られており、ポアソン分布以外にも多くの例がある。各々のこうした標準分布は、特定の帰結空間、帰結に確率を割り当てる特定の方法などの、特定の一組の仮定を包含する。こうした仮定と共に作業する場合、目下の問題に対して完全に有害でなくとも、なぜ快適なものもあれば苛立たしいものもあるのかを理解し始めるであろう。
しかし、分布は、さらになお興味深い場合がある。分析エンジンは、特別にカスタマイズされたモデリングを用いて標準分布を超えて移動する分布を利用し、ゆえに、より複雑な帰結空間を可能にし、こうして、帰結に確率を割り当てるためのより複雑な方法をさらに可能にする。例えば、混合分布は、多くのより単純な分布を組み合わせてより複雑な分布を形成する。任意の分布をモデル化するガウス分布の混合が採用されてもよく、帰結に確率を依然として割り当てながら、より入り組んだ数学的関係を生み出すことができる。
より複雑な帰結空間を用いて、モンドリアン過程が、k次元ツリー上で分布を定義し、四角形又は立法体を分割する手段を提供する。その帰結空間は、すべてのあり得るツリーによって定義され、結果として生じる分割は、この過程が由来する有名な絵画のように見える。結果的な帰結空間は、標準分布によって提供される空間よりもさらに構造化されている。従来のクロスカテゴリ化モデルは、モンドリアン過程を使用しないが、構造化された帰結空間を使用する。本明細書に記載される分析エンジンは、選択された実施形態において、モンドリアン過程を利用する。
結果として生じる帰結空間がどれほど複雑であろうと、分析エンジンは、定義された帰結空間内の各々の及びあらゆる帰結に対して妥当な確率を常に割り当てる能力がある。割り当てられる各確率は、所与の帰結の尤度に関して適用されるモデルに従って、「信用」の度合、又は分析エンジンの確率的品質の評価を表し、これにおいて、空間のすべてのあり得る帰結にわたるすべての確率の総計は“1”である。
確率モデルは、不確かさの存在する場合でさえ、利用されるモデルに従ってコンピュータが自動的及び系統的に「論理的に考える」ことを可能にするため、利用される。確率は、実世界のデータに非常によくあるように情報があいまいであり、あるいは不確かであり、あるいは多義的であるときでさえ、分析エンジンが可変の情報ソースを組み合わせて系統的な方法で最良のあり得る回答に達するために通用するものである。
非有界の(Unbounded)カテゴリデータタイプがさらに使用されて、データセットの中に見られない新しい値が現れ得るカテゴリ列をモデル化する。例えば、データベースサービスについての大抵の販売機会は、Oracle実装などの一握りの一般的な既存システムの1つを置換することであろうが、新しい機会は、これまでにデータの中に見られなかった新しいシステムを置換することであり得る。データセット内にこの新しい値が事前に存在しないことは、これが妥当でないことを意味するのではない。そのようなものとして、この新しい値は、事前に見られていない値であるとしても、あるタイプにされた列に対して、限られた一組の認められた値(例えば、列挙されたセット)を用いて入れられることが認められる。モデリングの観点で、システムは、「今までに非有界のカテゴリデータタイプの中に少数の値が見られている場合、将来新しい値が見られることにはなりそうにない」及び「今までに非有界のカテゴリデータタイプの中に多数の値が見られている場合、将来真新しい値が見られることになりそうだ」といった推論をする。
図11は、ひと続きのベル数のチャート1101及びグラフ1102を描いている。ベル数は、n個のラベル付けされたオブジェクトについての区画の数を定義し、右側のグラフ1102から分かるであろうとおり、この数は、非常に急速に大きくなる。一握りのオブジェクトが、左側のチャート1101に例示されている。グラフ1102は、nを200に至るまで描画しており、1e+250、又は250個のゼロを有する数をもたらしている。ここで、数千列及び数百万行を有する関心のあるデータセットを容易にもたらし得るクラウドコンピューティングのマルチテナントデータベースシステムの中で利用可能な大きいデータセットを考える。こうしたデータセットは、単に上記で描かれたベル数ではなく、むしろベルの「2乗」をもたらす可能性があり、人間の知性や経験では全く想到できないスケールの数を我々に認識させることになる。
上記の数は、下記の文脈の中で考えるのに役立ち得るほど大きい。グラフ1102の下部付近の要素1103における破線は、Googleによって現在インデックス化されているウェブページの概算総数量を表している。Googleは、17番目のベル数程度を検索する必要しかない。しかしながら、合計空間は想像できないほどに大きくて、これを余す所なく探索することは単純に不可能である。さらに、確率のランドスケープは、平坦又は凹型というより、広大でもありでこぼこでもあるため、力ずくの処理は奏功しないことになり、単純な山登り方法論もまた十分でない。
図12Aは、小さい表形式データセットの例示的なクロスカテゴリ化を描いている。ここで、この例示的なクロスカテゴリ化は、要素1201におけるビュー1と要素12020におけるビュー2とから成る。ビュー1201及び1202の各々は、特徴又は特性1204(列として描かれている)とエンティティ1203(行として描かれている)との双方を含む。エンティティ1203(例えば、行)の間の空白によってビュー1201及び1202の各々をセグメント化したものが、要素1201におけるビュー1内のカテゴリ1210、1211、1212、1213及び1214、並びに要素1202におけるビュー2内のカテゴリ1215、1216、1217及び1218である。ビュー及びカテゴリに関するさらなる例及び説明については、図10Aに戻って参照されたい。
ビュー1201及び1202は、データセットに利用可能な特徴1204(例えば、列)のサブセットを拾い出し、各ビュー1201及び1202内のそれぞれのカテゴリ1210‐1218は、エンティティ1203(例えば、行)のサブセットを拾い出している。各列は単一の種類のデータを含み、ゆえに、一カテゴリ内の各々の垂直の帯状部(ストリップ)は、数字、カテゴリ等のタイプにされたデータを含む。こうした例示的なクロスカテゴリ化の内訳を用いて、基本的な標準分布をより効率的に利用することができる。
特定の実施形態において、点の各コレクションが、単一の単純な分布を用いてモデル化される。各データタイプについてうまく働く基本分布が予め選択されてもよく、各々の選択された基本分布は、該基本分布が具体的に有用である実際のデータの小さいサブセットを説明することにだけ責任を負う。それから、上記で論じられた混合分布を用いて、多くの単純な分布が利用されてより複雑な分布を作るように、基本分布が組み合わせられる。クロスカテゴリ化の構造は、データテーブルを大量のピースへと細切れにするのに使用され、各ピースは、適用可能なデータタイプに基づいて選択された単純な分布を用いてモデル化され、データの大きい混合分布が生み出される。
図8に描かれた特定の哺乳動物を説明する表形式のデータセットに戻って参照すると、図12Aに2つのビュー1201及び1202で示された簡素化されたクロスカテゴリ化モデルを受けて、上記表形式のデータがどのように見えるかが、ここで図12Aにおいて分かるであろう。
右側のビュー1202は、生息地及び摂食スタイルの特徴1204(列)を含み、エンティティ1203(行)は、陸生哺乳動物(ペルシャ猫(Persian cat)からシマウマ(Zebra)まで)と海洋捕食動物(イルカ(dolphin)からセイウチ(walrus)まで)とヒゲクジラ(シロナガスクジラ(blue whale)及びザトウクジラ(humpback whale)のみ)と離島の水陸両生ビーバー(例えば、陸上と水上との双方で生活し、哺乳動物のビーバーがえらを有するとは考えない)との4つのカテゴリ1215‐1218に分割されている。
左側のビュー1201は別の分割を有し、これにおいて、霊長類が一緒にグループ化され、大型哺乳動物が一緒にグループ化され、草食動物がグループ化され、それから下部におけるいくつかの変わったデータが一緒にグループ化されている(コウモリ(bat)及びアザラシ(seal))。小さいデータセットでさえ、データを分割する種々の方法を想像することが容易である。しかし、データは多義的であり、完璧な又は明らかに正しい分割はない。正しく合っているように見えるすべてのグルーピングについて、特定のグルーピングが、ぎこちない又は不十分なフィッティングに見える可能性がある。様々なモデル及び仮定を適用する系統的なプロセスはトレードオフや妥協を作り出し、これが、エキスパートでさえ単一のアプローチに合意することができない理由である。それにもかかわらず、本明細書に記載される手段は、人間のエキスパートが単純に行うことができない程度及びスケールまで分析エンジンによって系統的に上記のトレードオフ及び妥協を活用することができるように、様々な利用可能モデルの使用を許可する。
例えば、分析エンジンによる結果は、単一のクロスカテゴリ化モデル又は内訳に限られない。代わって、カテゴリ化モデルのコレクションが利用され、このコレクションは、一緒に使用されると、データの隠れた構造を明らかにするのに役立つ。例えば、すべての結果的なカテゴリ化が、様々なカテゴリ化モデルの使用にもかかわらず同一であった場合、単純にデータの中には多義性がなかったことになる。しかし、上記の結果は、理論的可能性があるにもかかわらず、実世界のデータでは生じない。逆に、すべての結果的なカテゴリ化が、すべて完全に異なる場合、分析エンジンは、データの中にいかなる構造も見つけなかったことになる。これは時々起こることがあり、したがって、分析エンジンは、不確かさをつかむために、例えばさらなる雑音を与えるなどの、何らかのさらなる後処理を必要とすることになる。しかしながら、典型的には、その中間のことが生じ、いくつかの興味深い隠れた構造が、選択され利用されるカテゴリ化モデルのコレクションの適用を通して、データから分析エンジンに対して明らかにされる。
特別にカスタマイズされたクロスカテゴリ化実施は、分析エンジンの処理及びロジックのコアを表し、これは、その使用及び複雑さに起因して、エンドユーザから意図的に隠される。分析エンジンコアに直接アクセスするのではなく、ユーザは、代わりに、例えば図1の要素180において描かれたクエリインターフェースによって実施されるAPI、PreQL、JSON、並びに他の特化されたユーティリティGUI及びインターフェースを介して、あまり複雑でないインターフェースにさらされる。分析エンジンのコアからのこの抽象化レイヤにもかかわらず、それでもなおユーザは、数学及び確率の高度に専門的な理解を有する必要なく、説明される機能性から恩恵を受ける。
特定の実施形態によれば、分析エンジンは、特定の例においてモンテカルロ方法論を利用することによって、開発された確率ランドスケープに対する推論及び検索をさらに適用する。例えば、ベル数によって例示されたとおり、進むべき空間は大きい可能性がある。したがって、1つのアプローチは、単純にどこか、いずれかの場所で始めて、利用可能な空間内のその場所における事象、帰結又は値の確率を計算することである。次に、この空間内の別の場所が選択され、再び確率が計算される。それから繰り返しの形式で、特定量の時間又は処理が満了するまで、あるいは十分な品質の結果(例えば、閾値を超える確率又は信頼度スコア等)が達成されるまで、確率を比較して、新しい場所が見つけられ、確率が算出され、比較され、選択又は破棄されるといったようにループすることによって、新しい場所を保つか、あるいは代わりにこれまでに見つけられた場所を保つかの決定が行われる。
図12Bは、記載される実施形態に従いデータアップロード、処理、及び予測クエリAPI公開を実施する例示的なアーキテクチャを描いている。具体的に、顧客組織1205A、1205B及び1205Cが描かれており、各々がクライアント装置1206A、1206B及び1206Cを備え、クライアント装置1206A、1206B及び1206Cは、要求を送ること及び応答を受信することを含め、ネットワーク1225を介してホスト組織1210とインターフェースをとる能力がある。ホスト組織1210内に要求インターフェース1276があり、要求インターフェース1276は場合によりウェブサーバ1275によって実施されてもよい。ホスト組織は、プロセッサ1281、メモリ1282、APIインターフェース1280、分析エンジン1285、及びマルチテナントデータベースシステム1230をさらに含む。マルチテナントデータベースシステム1230内に実行ハードウェア、ソフトウェア及びロジック1220があり、実行ハードウェア、ソフトウェア及びロジック1220は、マルチテナントデータベースシステム1230の複数のテナントと予測データベース1250とにわたって共有され、予測データベース1250は、予測データベース1250に対して実行される予測クエリ又は潜在構造クエリに応答して予測結果セットを返すことを容易にするように、分析エンジンにより生成されたインデックスを記憶する能力がある。
一実施形態によれば、ホスト組織1210は、少なくとも1つのプロセッサ1281とメモリ1282とを有するシステム1211を稼働させ、システム1211は、表形式のデータセットを入力として受信し、このデータセットを本明細書に記載される方法論によって処理し、予測データベース1250により記憶されたインデックスに対して、受信された予測及び潜在構造クエリを実行することが可能にされる。
一実施形態によれば、ホスト組織1210内で稼働されるシステム1211があり、このシステムは少なくとも、システム1211のメモリ1282に記憶された命令を実行するプロセッサ1281と、複数の行及び複数の列を有する表形式のデータセット1249を入力として受信する要求インターフェース1276と、データセット1249を処理し、データセット1249の行及び列における確率的関係を表すインデックス1251を生成する分析エンジン1285と、生成されたインデックス1251を記憶する予測データベース1250と、予測データベース1250に記憶されたインデックスに対して予測及び/又は潜在構造クエリ1253の要求をさらに受信する要求インターフェース1276と、要求に基づいて予測結果セット1252について予測データベース1250に記憶されたインデックスに問い合わせるアプリケーションプログラミングインターフェース(API)1280と、を含み、このシステムにおいて、要求インターフェース1276は、受信した要求に応答して予測結果セット1252を返す。
一実施形態において、上記のシステム1211は、要求インターフェース1276を実施するウェブサーバ1275をさらに含む。こうした一実施形態において、ウェブサーバ1275は、入力として、ネットワーク1225を介してホスト組織1210と通信可能にインターフェースをとる複数の顧客組織1205A‐Cの中の1又は複数のクライアント装置1206A‐Cから複数のアクセス要求を受信する。こうした一実施形態によれば、システム1211は、予測データベースを実施するように予測データベース機能性を備えたマルチテナントデータベースシステム1230をさらに含み、さらに、各顧客組織1205A‐Cは、別個かつ区別可能なリモートの組織、ホスト組織内の組織グループ、ホスト組織のビジネスパートナー、又はホスト組織により提供されるクラウドコンピューティングサービスに加入している顧客組織から成るグループから選択されたエンティティである。
図12Cは、開示される実施形態に従いデータアップロード、処理及び予測クエリAPI公開を実施する方法1221を示すフロー図である。方法1221は処理ロジックによって実行されてもよく、この処理ロジックには、本明細書に記載されるとおりデータアップロード、処理、及び予測クエリAPI公開を実施するシステム、装置及び方法に従ったハードウェア(例えば、回路、専用ロジック、プログラマブルロジック、マイクロコード等)、ソフトウェア(例えば、送信、送出、受信、実行、生成、算出、記憶、公開、問い合わせ、処理などの様々なオペレーションを実行するように処理装置上で実行される命令)等を含み得る。例えば、図1のホスト組織110、図4のマシン400又は図12Bのシステム1211は、記載される方法論を実施することができる。以下にリストアップされるブロック及び/又はオペレーションのいくつかは、特定の実施形態において任意的である。提示されるブロックの番号付けは明りょうさのためであり、様々なブロックが生じるべきオペレーションの順序を規定する意図はない。
ブロック1291において、処理ロジックは、複数の行及び複数の列を有する表形式のデータセットを受信する。
ブロック1292において、処理ロジックは、データセットの行と列とにおける確率的関係を表すインデックスを生成するようにデータセットを処理する。
ブロック1293において、処理ロジックは、インデックスをデータベースに記憶する。
ブロック1294において、処理ロジックは、データベースの中のインデックスに問い合わせるためのアプリケーションプログラミングインターフェース(API)を公開する。
ブロック1295において、処理ロジックは、データベースの中のインデックスに対して予測クエリ又は潜在構造クエリの要求を受信する。
ブロック1296において、処理ロジックは、APIを介した要求に基づく結果について、データベースに問い合わせる。
ブロック1297において、処理ロジックは、要求に応答して結果を返す。例えば、1若しくは複数の予測又は他の要素を返す予測レコードセットが返されてもよく、例えば、グループデータ、類似度データ及び/又は関連データを記述している予測レコードセットなどである。
方法1221の別の実施形態によれば、データセットを処理することは、データセットの要素間の確率的関係を識別し、説明するように、データセットにわたって同時確率分布を学習することを含む。
方法1221の別の実施形態によれば、上記処理することは、データセットを受信することに応答して自動的にトリガされ、同時確率分布を学習することは、構成パラメータのデフォルト設定によって制御される。
方法1221の別の実施形態によれば、同時確率分布を学習することは、指定された構成パラメータによって制御され、この指定される構成パラメータには、データセットを処理する時間の最大期間と、データセットを処理する繰り返しの最大数と、データセットを処理する繰り返しの最小数と、データセットを処理することにより消費されるべき顧客リソースの最大量と、データセットを処理することに費やされるべき最大加入者料金と、データセットの処理により達成されるべき最小閾予測品質レベルと、処理を続けるために必要な予測品質尺度に対する最小の向上と、処理により生成されるべきインデックスの最大又は最小数とのうち、1又は複数が含まれる。
方法1221の別の実施形態によれば、インデックスを生成するようにデータセットを処理することは、インデックスを生成するようにデータセットにわたって同時確率分布を繰り返し学習することを含む。
別の実施形態によれば、方法1221はさらに、データセットの処理によって生成されるインデックスの予測品質尺度を周期的に決定することと、予測品質尺度が指定された閾値を達成したときにデータセットの処理を終了することとを含む。
別の実施形態によれば、方法1221はさらに、データセットを処理することによって生成されたインデックスからの予測を要求するクエリを受信することと、データセットの処理を終了することの前に、生成されたインデックスに対してクエリを実行することとを含む。
別の実施形態によれば、方法1221はさらに、予測を要求するクエリに応答して結果を返すことと、データセットの処理がまだ完了していないことを示す結果を備えた通知、若しくは予測品質尺度が指定された閾値を下回ることを示す結果を備えた通知、又は双方を返すこととを含む。
方法1221の別の実施形態によれば、予測品質尺度は、データセット内に観察され及び存在する値に対応する既知の結果とデータセットの処理により生成されたインデックスに問い合わせることにより得られる予測結果とを比較することによって決定される。
方法1221の別の実施形態によれば、予測品質尺度は、データセットからのグラウンドトルースデータとデータセットの処理により生成されたインデックスに問い合わせることにより得られる1又は複数の予測結果とを比較することによって決定される。
方法1221の別の実施形態によれば、データセットを処理することは、データセットのディリクレ過程混合モデル(DPMM)を学習することと、データセットのクロスカテゴリ化を学習することと、データセットのインディアンビュッフェ過程モデルを学習することと、データセットの有限混合モデルの混合又は混合モデルを学習することとのうち、少なくとも1つを含む。
方法1221の別の実施形態によれば、データセットを受信することは、列及び行を有するテーブルとしてデータセットを受信することと、データストリームとしてデータセットを受信することと、スプレッドシート文書を受信し、スプレッドシート文書からデータセットを抽出することと、データベースにより作成されるバイナリファイルとしてデータセットを受信することと、データベースに対する1又は複数のクエリを受信し、データベースに対して1又は複数のクエリを実行することによってデータセットを応答的に受信し、1又は複数のクエリにより返されたレコードセットをデータセットとして捕捉することと、データベースの中のテーブルの名前を受信し、そのテーブルをデータベースからデータセットとして取り出すことと、指定されたウェブサイトについての検索パラメータを受信し、指定されたウェブサイトに対して検索パラメータを応答的に問い合わせ、検索結果をデータセットとして捕捉することと、リモートのリポジトリについてのリンク及び認証クレデンシャルを受信し、リモートのリポジトリと応答的に認証し、リンクを介してデータセットを取り出すこととのうち、少なくとも1つを含む。
方法1221の別の実施形態によれば、データセットの中の複数の行の各々はエンティティに対応し、複数の列の各々はエンティティについての特性に対応し、各々のそれぞれの行と複数の列の各々とにおける交点は、セルを形成して交点における値を記憶する。
方法1221の別の実施形態によれば、各エンティティは、人、場所又は物事を表し、各特性は、特性、特徴、側面、数量、範囲、識別子、マーク、特質又は観察可能な事実を表す。各セルは、各々のそれぞれの行と複数の列の各々とにおける交点に、あるデータタイプの値を記憶し、この値は、特性に対応する列と交差するエンティティの行についての特性を表す。あらゆるセルの値は、ヌルであるか、異なるか、あるいは任意の他のセルの任意の他の値と同じである。
方法1221の別の実施形態によれば、複数の列の各々は、指定されたデータタイプを有する。
方法1221の別の実施形態によれば、各データタイプは、ブールと、カテゴリの開集合と、カテゴリの閉集合と、文書内の文字列のコレクション、識別子のコレクション及び/又は値のコレクションを定義する設定された値のデータタイプと、数量カウントと、浮動小数点数と、正の浮動小数点数と、文字列と、緯度及び経度のペアと、ベクトルと、正の整数と、テキストファイルと、指定されたファイルタイプのデータファイルとのうちの、1つに対応する。
方法1221の別の実施形態によれば、表形式のデータセットを受信することは、複数のテーブルを有し、相互関係がこの複数のテーブルにわたるリレーショナルデータベースオブジェクトを受信することを含み、データセットを処理することは、複数のテーブル間の相互関係に従いながら、複数のテーブルの中の列及び行からインデックスを生成することを含む。
例えば、分析エンジンがインデックスを作成するための生成過程は、最初、特徴/列を複数の種類に分割してもよく、それから、識別された各種類について、分析エンジンは次いでエンティティ/行をカテゴリに分割する。分析エンジンは、種類を提供するモデルを利用し、この種類の結果、特徴の各々は、同じ種類内の他の特徴に関する予測情報を提供し、各カテゴリは、モデルにより識別されたとおりのそれぞれの種類の中の特徴に従って類似するエンティティを包含する。
PreQL構造化されたクエリは、“RELATED”、“SIMILAR”、“GROUP”及び“PREDICT”を含む特化されたコールを介して、分析エンジンによってそのモデリングを通して生成された問い合わせ可能インデックスへのアクセスを可能にする。
方法1221の別の実施形態によれば、上記処理することはさらに、複数のテーブルのうち2以上に対して構造化問い合わせ言語(SQL)オペレーションを実行してデータセットを形成することを含み、SQLオペレーションは、SQL変換オペレーション、SQL集約オペレーション及びSQL結合オペレーションのうち少なくとも1つを含む。
方法1221の別の実施形態によれば、インデックスは、ホスト組織の予測データベースシステム内に記憶され、上記方法はさらに、ホスト組織の予測データベースシステム内に記憶されたインデックスについての複数のアクセス要求を受信することを含み、アクセス要求の各々は、複数の顧客組織の1又は複数のクライアント装置に由来し、各顧客組織は、別個かつ区別可能なリモートの組織、ホスト組織内の組織グループ、ホスト組織のビジネスパートナー、又はホスト組織により提供されるクラウドコンピューティングサービスに加入している顧客組織から成るグループから選択される。
方法1221の別の実施形態によれば、予測データベースシステムは、ホスト組織により提供されるマルチテナントデータベースシステムに動作可能に統合され、このマルチテナントデータベースシステムは、複数の別個かつ区別可能な顧客組織によって共有されるハードウェア及びソフトウェアの要素を有し、上記別個かつ区別可能な顧客組織の各々は、予測データベースシステム及びマルチテナントデータベースシステムを動作させているホスト組織から遠隔に置かれている。
方法1221の別の実施形態によれば、データセットを受信することは、リモートのコンピューティング装置にとってパブリックインターネットを介してアクセス可能なオンデマンドのクラウドベースのサービスを提供するホスト組織において、データセットを受信することを含む。データベースにインデックスを記憶することは、ホスト組織で稼働させている予測データベースシステムに、予測データベースシステムのメモリに記憶され、かつ予測データベースシステムの1又は複数のプロセッサを介して実行される動作ロジックを介して、インデックスを記憶することを含む。
方法1221の別の実施形態によれば、データベースにインデックスを記憶することは、予測データベースにインデックスを記憶することを含み、インデックスに問い合わせるためのAPIを公開することは、予測問い合わせ言語(Predictive Query Language;PreQL)APIを公開することを含む。
方法1221の別の実施形態によれば、データベースの中のインデックスに対して予測クエリ又は潜在構造クエリの要求を受信することは、PREDICT、RELATED、SIMILAR及びGROUPを含むPreQLコマンドのグループから選択される少なくとも1つのコマンドを指定するPreQLクエリを受信することを含む。
特定の一実施形態によれば、命令を記憶させた非一時的コンピュータ可読記憶媒体があり、上記命令は、ホスト組織におけるプロセッサにより実行されると、複数の行及び複数の列を有する表形式のデータセットを受信することと、データセットの行と列とにおける確率的関係を表すインデックスを生成するようにデータセットを処理することと、インデックスをデータベースに記憶することと、データベースの中のインデックスに問い合わせるためのアプリケーションプログラミングインターフェース(API)を公開することと、データベースの中のインデックスに対して予測クエリ又は潜在構造クエリの要求を受信することと、APIを介した要求に基づく予測について、データベースに問い合わせることと、要求に応答して予測を返すことと、を含むオペレーションをホスト組織に実行させる。
上記非一時的コンピュータ可読記憶媒体は、本明細書に記載される方法論のいずれかを具現化し、実行させることができる。
別の実施形態において、表形式のデータセットを処理することは、ホスト組織において入力として表形式のデータセットを受信すると自動的に、あるいは手動でトリガされる。手動でトリガされる場合、“UPLOAD”コマンドが発行されて、表形式のデータセットを分析エンジンに渡し、あるいは、分析のために分析エンジンに対して、予測インデックスが生成されるもとのターゲットデータセットを指定することができる。さらに別の実施形態において、“ANALYZE”コマンドが発行されて、指定されたデータセットの分析を開始するように分析エンジンに命じることができる。特定の実施形態において、UPLOAD及びANALYZEコマンドタームは、使用されるがユーザから隠され、代わりにユーザに提供されるインターフェースにより発行されて、ユーザにとってのシステムの複雑さを低減させる。
表形式のデータセットからインデックスを生成する分析エンジンの機能性は、計算的に集中しており、ゆえに、クラウドベースのマルチテナントデータベースシステムアーキテクチャにより提供される分散コンピューティング構造によく適する。
記載される実施形態によれば、結果として生じるデータベースは、そのユーザに対して、従来のデータベース同様に現れる。しかし、存在する行から列を選択することに代わって、ユーザは、構造化された問い合わせ言語を介して予測クエリ要求を発行することができる。SQLではない、上記の構造化された言語は、予測問い合わせ言語(“PreQL”)と呼ぶことができる。PreQLは、「プログラムクエリ言語(Program Query Language)」の省略形であるPQLと混同されるべきではない。
こうして、PreQLは、分析エンジンとその対応する機能性とにより目下のデータセットに適用されるモデルに従って値、事象又は帰結を予測するためにデータベースに対してクエリを発行するのに使用される。こうしたPreQLクエリは、SQLスタイルのクエリと同じ柔軟さを提供する。構造を探索するとき、ユーザは、全体データの中に隠れた又は潜在する類似度の観念を探し求めるPreQLクエリを、どんな類似度があり得るかの高度な知識なく発行することができる。ユーザは、列間の関連性の観念を探し求める予測クエリを、事前に関連を知る必要なく発行することができる。ユーザは、データセット内のエンティティ間におけるグルーピングの観念を探し求める予測クエリを、事前にグルーピング又はグルーピングについてのルールを知り、あるいは定義する必要なく、発行することができる。大規模なクラウドベースのデータベース及びそのデータセットに対してマルチテナントデータベースシステム内で使用されるとき、上記の特徴は、コンピューティング分野において変革を起こし得る。
図12Dは、記載される実施形態に従い予測クエリインタフェースをクラウドサービスとして実施する一例示的アーキテクチャを描いている。具体的に、顧客組織1205A、1205B及び1205Cが描かれており、各々がクライアント装置1206A、1206B及び1206Cを備え、クライアント装置1206A、1206B及び1206Cは、クエリ(例えば、入力1257)を送ること及び応答(例えば、予測レコードセット1258)を受信することを含め、パブリックインターネット1228を介してホスト組織1210とインターフェースをとる能力がある。ホスト組織1210内に要求インターフェース1276があり、要求インターフェース1276は場合によりウェブサーバ1275によって実施されてもよい。ホスト組織は、プロセッサ1281、メモリ1282、クエリインターフェース1280、分析エンジン1285、及びマルチテナントデータベースシステム1230をさらに含む。マルチテナントデータベースシステム1230内に実行ハードウェア、ソフトウェア及びロジック1220があり、実行ハードウェア、ソフトウェア及びロジック1220は、マルチテナントデータベースシステム1230の複数のテナントと認証器1298と1又は複数のアプリケーションサーバ1265と予測データベース1250とにわたって共有され、予測データベース1250は、予測データベース1250に対して実行される予測クエリ及び/又は潜在構造クエリ(例えば、入力1257を介して要求される)に応答して予測結果セット(1258)を返すことを容易にするように、分析エンジン1285により生成されたインデックスを記憶する能力がある。
一実施形態によれば、ホスト組織1210はシステム1231を稼働させ、システム1231は少なくとも、システム1231のメモリ1282に記憶された命令を実行するプロセッサ1281と、ホスト組織1210から遠隔で動作するクライアント装置1206A‐Cに対して公開される要求インターフェース1276であって、パブリックインターネット1228を介してクライアント装置1206A‐Cがアクセス可能である、要求インターフェース1276と、クライアント装置1206A‐Cを稼働させている加入者、又はオンデマンドのクラウドベースのサービスが提供される先の様々な顧客組織1205A‐Cに他の方法で加盟している加入者などの1又は複数の加入者のために、上記のサービスとして実行される予測データベース1250と、を含む。こうした一実施形態によれば、上記のシステム1231は認証器1298をさらに含み、認証器1298は、クライアント装置1206A‐Cが加入者に関連付けられていることを検証し、それぞれの加入者についての認証クレデンシャルをさらに検証する。この実施形態において、要求インターフェースは、入力として加入者からの要求を受信することになり、システム1231は、1又は複数のアプリケーションサーバ1265をさらに含む。アプリケーションサーバ1265は、加入者のために、列及び行のデータセットから生成される予測データベース1250のインデックスに対してクエリ(例えば、パブリックインターネット1228を介して入力1257として提供される)を実行し、上記インデックスは、データセットの行と列とにおける確率的関係を表す。システム1231の要求インターフェース1276は、要求に応答して加入者に予測レコードセット1258をさらに返す。
別の実施形態によれば、上記のシステム1231は、要求インターフェースを実施するウェブサーバ1275をさらに含み、ウェブサーバ1275は、入力1257として、パブリックインターネット1228の少なくとも一部分を横切ってネットワークを介してホスト組織と通信可能にインターフェースをとる複数の顧客組織1205A‐Cの中の1又は複数のクライアント装置1206A‐Cから複数のアクセス要求を受信し、各顧客組織1205A‐Cは、別個かつ区別可能なリモートの組織、ホスト組織内の組織グループ、ホスト組織のビジネスパートナー、又はホスト組織1210により提供されるクラウドコンピューティングサービスに加入している顧客組織から成るグループから選択されたエンティティである。こうした一実施形態によれば、予測データベース機能性を備えたホスト組織1210におけるマルチテナントデータベースシステム1230は、予測データベースを実施する。
別の実施形態によれば、システム1231は、データセットを処理し、かつデータセットの行と列とにおける確率的関係を表すインデックスを生成する分析エンジン1285を含み、さらに、予測データベース1250は、生成されたインデックスを記憶する。システム1231の別の実施形態によれば、予測問い合わせ言語アプリケーションプログラミングインターフェース(PreQL API1299)が、要求インターフェース1276において加入者に対して公開される。PreQL API1299は、PREDICT、RELATED、SIMILAR及びGROUPを含むPreQLコマンドのグループから選択される少なくとも1つのコマンドを有するPreQLクエリ(例えば、入力1257として)を受け取り、この後、PreQL API1299は、予測データベースに対してPreQLクエリを実行し、予測レコードセット1258を返す。
こうして、PreQL構造クエリの使用は、プログラマがリレーショナルデータベースへのSQLクエリを作るのと類似の方法で、予測データベース内に生成され、記憶されたインデックスへのプログラム的問い合わせを許可する。“SELECT”コマンドタームではなく、様々な予測PreQLベースのコマンドタームが代わりに利用され、例えば、“PREDICT”又は“SIMILAR”又は“RELATED”又は“GROUP”ステートメントなどである。例えば、一例示的なPreQLステートメントを下記のとおり読むことができる:“PREDICT IS_WON,DOLLAR_AMOUNT FROM OPPORTUNITY WHERE STAGE=‘QUOTE’”。ゆえにこの例において、“QUOTE”(見積もり)は固定の列であり、“FROM”は、機会が予測されるべきデータセットであり、“PREDICT”コマンドタームは適切な機能へのコールであり、“IS_WON”は予測されるべき値である。すなわち、この機能性は、所与の機会を勝ち取りそうか勝ち取りそうにないかを予測することであり、ここで“IS_WON”は、例えば、係属中の又は投機的な機会等に起因して、いくつかの行についてデータを完成しており、しかしいくつかの行について欠落している可能性がある。“DOLLAR_AMOUNT”は固定値である。
特定の実施形態において、上記のクエリは、特化されたGUIインターフェースを介して実施され、この特化されたGUIインターフェースは、ユーザが実際に分析エンジンのコアに対して作られる下層のPreQL構造クエリを書き、あるいはそれに気付くことさえ必要とすることなく、GUIインターフェースを介してユーザから入力を受け取り、ユーザのためにPREDICT機能性を介してデータを構築し、呼び出し、返す。
別の例示的なPreQLステートメントを下記のとおり読むことができる:SELECT ID; FROM Opportunity WHERE SIMILAR/Stage/001 > 0.8 ORDER BY SIMILAR/Stage LIMIT 100。この例において、特定のIDがデータベースの中の“Opportunity”テーブルから引き出され、それから、SIMILARコマンドタームが使用されて、指定されたIDと類似するエンティティ又は行が“0.8”に等しいか又はより大きい信頼度品質指標を有する限り、こうしたエンティティ又は行を見つけ、識別する。最終的に、その出力はStage(段階)によって順序付けられ、最大100の合計レコードの出力を生み出すことを許可される。この具体例は、クエリ内でのSQLとPreQLとの双方の混合を利用する(例えば、“SELECT”コマンドタームはSQLコマンドであり、“SIMILAR”コマンドタームはPreQL固有である)。
図12Eは、開示される実施形態に従い予測クエリインタフェースをクラウドサービスとして実施する方法を示すフロー図である。方法1222は処理ロジックによって実行されてもよく、この処理ロジックには、本明細書に記載されるとおり予測クエリをクラウドサービスとして実施するシステム、装置及び方法に従ったハードウェア(例えば、回路、専用ロジック、プログラマブルロジック、マイクロコード等)、ソフトウェア(例えば、送信、送出、受信、実行、生成、算出、記憶、公開、認証、問い合わせ、処理、返答などの様々なオペレーションを実行するように処理装置上で実行される命令)等を含み得る。例えば、図1のホスト組織110、図4のマシン400又は図12Dのシステム1231は、記載される方法論を実施することができる。以下にリストアップされるブロック及び/又はオペレーションのいくつかは、特定の実施形態において任意的である。提示されるブロックの番号付けは明りょうさのためであり、様々なブロックが生じるべきオペレーションの順序を規定する意図はない。
ブロック1270において、処理ロジックは、ホスト組織から遠隔で動作しているクライアント装置に対してインターフェースを公開し、上記インターフェースは、パブリックインターネットを介してクライアント装置がアクセス可能である。
ブロック1271において、処理ロジックは、1又は複数の加入者のために、オンデマンドのクラウドベースのサービスとして、ホスト組織における予測データベースを実行する。
ブロック1272において、処理ロジックは、クライアント装置のうち1つを、該クライアント装置が加入者の1つに関連付けられ、さらにそれぞれの加入者についての認証クレデンシャルに基づいていることを検証することによって、認証する。
ブロック1273において、処理ロジックは、認証された加入者からインターフェースを介して要求を受信する。
ブロック1274において、処理ロジックは、認証された加入者のために、列及び行のデータセットから生成される予測データベースのインデックスに対して、予測クエリ又は潜在構造クエリを実行する。上記インデックスは、データセットの行と列とにおける確率的関係を表す。
ブロック1279において、処理ロジックは、要求に応答して、認証された加入者に対して予測レコードセットを返す。
方法1222の別の実施形態によれば、クエリを実行することは、予測データベースに対して予測問い合わせ言語(PreQL)クエリを実行することを含む。
方法1222の別の実施形態によれば、PreQLクエリを実行することは、PREDICT、RELATED、SIMILAR及びGROUPを含むPreQLコマンドのグループから選択される少なくとも1つのコマンドを指定することによって予測データベースに問い合わせることを含む。
方法1222の別の実施形態によれば、要求を受信することは、インターフェースを介して、認証された加入者に直接公開される予測問い合わせ言語(PreQL)APIを介して、認証された加入者からPreQLクエリを受信することを含む。
方法1222の別の実施形態によれば、要求を受信することは、認証された加入者にウェブフォームを提示することと、認証された加入者からウェブフォームを介して入力を受信することと、入力に基づいて、認証された加入者のためにPreQLクエリを生成することと、PREDICT、RELATED、SIMILAR及びGROUPを含むPreQLコマンドのグループから選択される少なくとも1つのコマンドを指定することによって、予測問い合わせ言語(PreQL)APIを介して予測データベースに問い合わせることと、を含む。
方法1222の別の実施形態によれば、認証された加入者は、ホスト組織とは異なるサードパーティにより提供されるウェブブラウザを介してオンデマンドのクラウドベースのサービスにアクセスし、認証された加入者は、クライアント装置上にホスト組織からのいかなるソフトウェアもインストールすることなく、ホスト組織に対して要求をサブミットし、ホスト組織から予測レコードセットを受信する。
別の実施形態によれば、方法1222はさらに、認証された加入者から要求を受信することの前に、認証された加入者からデータセットを受信することと、インデックスを生成する目的で認証された加入者のためにデータセットを処理することとを含み、上記インデックスの各々は、データセットの行と列とにおける確率的関係を表す。
方法1222の別の実施形態によれば、データセットを受信することは、列及び行を有するテーブルとしてデータセットを受信することと、データストリームとしてデータセットを受信することと、スプレッドシート文書を受信し、スプレッドシート文書からデータセットを抽出することと、データベースにより作成されるバイナリファイルとしてデータセットを受信することと、データベースに対する1又は複数のクエリを受信し、データベースに対して1又は複数のクエリを実行することによってデータセットを応答的に受信し、1又は複数のクエリにより返されたレコードセットをデータセットとして捕捉することと、データベースの中のテーブルの名前を受信し、そのテーブルをデータベースからデータセットとして取り出すことと、指定されたウェブサイトについての検索パラメータを受信し、指定されたウェブサイトに対して検索パラメータを応答的に問い合わせ、検索結果をデータセットとして捕捉することと、リモートのリポジトリについてのリンク及び認証クレデンシャルを受信し、リモートのリポジトリと応答的に認証し、リンクを介してデータセットを取り出すこととのうち、少なくとも1つを含む。
方法1222の別の実施形態によれば、認証された加入者のためにデータセットを処理することは、データセットの要素間の確率的関係を識別し、説明するように、データセットにわたって同時確率分布を学習することを含む。
方法1222の別の実施形態によれば、上記処理することは、データセットを受信することに応答して自動的にトリガされ、同時確率分布を学習することは、構成パラメータのデフォルト設定によって制御される。方法1221の別の実施形態によれば、同時確率分布を学習することは、指定された構成パラメータによって制御され、この指定される構成パラメータには、データセットを処理する時間の最大期間と、データセットを処理する繰り返しの最大数と、データセットを処理する繰り返しの最小数と、データセットを処理することにより消費されるべき顧客リソースの最大量と、データセットを処理することに費やされるべき最大加入者料金と、データセットの処理により達成されるべき最小閾信頼度品質レベルと、処理を続けるために必要な信頼度品質尺度に対する最小の向上と、処理により生成されるべきインデックスの最大又は最小数とのうち、1又は複数が含まれる。
方法1222の別の実施形態によれば、データセットを処理することは、インデックスを生成するようにデータセットにわたって同時確率分布を繰り返し学習することを含み、上記方法はさらに、データセットの処理により生成されるインデックスの予測品質尺度を周期的に決定することと、信頼度品質尺度が指定された閾値を達成したときにデータセットの処理を終了することとを含む。
別の実施形態によれば、方法1222はさらに、記憶されたデータセットの処理がまだ完了していないことを示す予測レコードセットを備えた通知、若しくは信頼度品質尺度が指定された閾値を下回ることを示す予測レコードセットを備えた通知、又は双方を返すことを含む。
方法1222の別の実施形態によれば、信頼度品質尺度は、データセット内における既知の及び非ヌルの値に対応する既知の結果とデータセットの処理により生成されるインデックスに問い合わせることにより得られる予測レコードセットとを比較することによって決定される。
方法1222の別の実施形態によれば、ホスト組織は複数のアプリケーションサーバを含み、上記処理することはさらに、インデックスの生成を分散することと、複数のアプリケーションサーバの中にインデックスを記憶することとを含み、予測データベースのインデックスに対してクエリを実行することは、インデックスを分散させ及び記憶させたアプリケーションサーバのうち複数の中の、生成されたインデックスのうち複数に問い合わせることと、生成されたインデックスのうち複数に問い合わせることによって返される結果を集約することとを含む。
方法1222の別の実施形態によれば、生成されたインデックスを並行して問い合わせることは、インデックスを分散させ、記憶させたアプリケーションサーバのうち複数において、種々のバージョンのインデックスから種々の結果を生み出す。
別の実施形態によれば、方法1222はさらに、種々の結果を集約することと、実行される潜在構造クエリに応答しての1つの予測、又は実行される予測クエリに応答しての1つの予測を返すこととを含む。
方法1222の別の実施形態によれば、生成されるインデックスの数量がより多いことは、予測精度の向上に対応し、インデックスを分散させ、記憶させるアプリケーションサーバの数量がより多いことは、クエリを実行する応答時間の向上に対応する。
別の実施形態によれば、方法1222はさらに、認証された加入者から、指定されたデータソースを受信することと、指定されたデータソースに基づいてインデックスを周期的に更新することとを含む。
方法1222の別の実施形態によれば、インデックスを周期的に更新することは、指定されたデータソースにおける変更について確認するポーリングメカニズムを開始し、インデックスの更新に用いるために、検出されたときに上記変更を取り出すことと、指定されたデータソースから、該指定されたデータソースにおける変更が発生したことを示すプッシュ通知を受信し、インデックスの更新に用いるために、上記変更を受け入れることと、のうち少なくとも1つを含み、上記インデックスの更新は、加入者についてのアクティブな認証されたセッションを必要とすることなく生じる。
別の実施形態によれば、方法1222はさらに、認証された加入者にとってアクセス可能なホスト組織内の2以上のテーブルに対して構造化問い合わせ言語(SQL)オペレーションを実行することであって、SQLオペレーションは、SQL変換オペレーション、SQL集約オペレーション及びSQL結合オペレーションのうち少なくとも1つを含む、ことと、SQLオペレーションの出力を行及び列のデータセットとして捕捉することと、データセットの行及び列における確率的関係を表すインデックスを生成するようにデータセットを処理することと、を含む。
方法1222の別の実施形態によれば、認証された加入者は、入力として2以上のテーブルを指定し、ホスト組織は、SQLオペレーションを実行するクエリを生成し、認証された加入者のためにデータセットに対して処理を自動的に開始する。
別の実施形態によれば、方法1222はさらに、データセットのディリクレ過程混合モデル(DPMM)を学習することと、データセットのクロスカテゴリ化を学習することと、データセットのインディアンビュッフェ過程モデルを学習することと、データセットの有限混合モデルの混合モデル又は混合を学習することとのうち、少なくとも1つを学習することによって、データセットの行及び列における確率的関係を表すインデックスを生成することを含む。
方法1222の別の実施形態によれば、データセットの中の複数の行の各々はエンティティに対応し、複数の列の各々はエンティティについての特性に対応し、各々のそれぞれの行と複数の列の各々とにおける交点は、セルを形成して交点における値を記憶する。
方法1222の別の実施形態によれば、各エンティティは、人、場所又は物事を表し、各特性は、特性、特徴、側面、数量、範囲、識別子、マーク、特質又は観察可能な事実を表す。各セルは、各々のそれぞれの行と複数の列の各々とにおける交点に、あるデータタイプの値を記憶し、この値は、特性に対応する列と交差するエンティティの行についての特性を表す。あらゆるセルの予め選択され得る値は、ヌルであるか、異なるか、あるいは任意の他のセルの任意の他の値と同じである。
別の実施形態によれば、命令を記憶させた非一時的コンピュータ可読記憶媒体があり、上記命令は、ホスト組織におけるプロセッサにより実行されると、ホスト組織から遠隔で動作しているクライアント装置に対してインターフェースを公開することであって、上記インターフェースは、パブリックインターネットを介してクライアント装置がアクセス可能である、ことと、1又は複数の加入者のために、オンデマンドのクラウドベースのサービスとして、ホスト組織における予測データベースを実行することと、クライアント装置のうち1つを、該クライアント装置が加入者の1つに関連付けられ、さらにそれぞれの加入者についての認証クレデンシャルに基づいていることを検証することによって、認証することと、認証された加入者からインターフェースを介して要求を受信することと、認証された加入者のために、列及び行のデータセットから生成される予測データベースのインデックスに対して、クエリを実行することであって、上記インデックスは、データセットの行と列とにおける確率的関係を表す、ことと、要求に応答して、認証された加入者に対して予測レコードセットを返すことと、を含むオペレーションをホスト組織に実行させる。
図13Aは、記載される実施形態に従うRELATEDコマンドタームの使用を示している。分析エンジンが、上記で説明されたとおり提供される表形式のデータセットからインデックスを生成すると、特化されたクエリが実現可能にされる。例えば、ユーザは、予測データベースに「所与の列について、これに予測的に関連する他の列はどれか?」と尋ねることができる。問い合わせ可能インデックスの言語において、これは、要素1302において描かれるとおり、「各々の他の列がどれほどの頻度で同じビュー内に出現するか?」へと翻訳される。クロスカテゴリ化の観点で、分析エンジンは、他の列の各々がどれほどの頻度で入力列と同じビューに出現するかを表にし、こうして、何が重要であり、何が重要でないかを明らかにする。ユーザが入力として提供する必要があるものは、RELATEDコマンドタームの使用における列ID1301だけである。
RELATEDコマンドタームにより提供されるさらなる予測機能性は、確率モデルに従って、指定された列に関連する列について、ユーザが問い合わせることを可能にする。例えば、列又は変数を有するテーブルを所与として、分析エンジンは、上記列又は変数をグループへと分割する。分布のために、上記列又は変数を分割する複数の方法がある。例えば、身長を例にとる。RELATEDコマンドタームのAPIコールに身長列を与えると、ユーザは、「指定された身長列とすべての他の列とに存在する関係の確率に関して、私はどれほど自信をもつことができるか?」を問い合わせることができる。それから、RELATEDコマンドタームは、指定された身長列について、データセットの中の指定されなかったあらゆる他の列についての信頼度指標を返すことになる。ゆえに例えば、RELATED機能性は、身長列に対するその信頼度指標について“体重=1.0”を返す可能性があり、このことは、分析エンジンが、データセットによれば、体重と身長との間に関係があることに非常に自信があることを意味する。
上記の結果はいくらか直感的であり、予期されるが、他の結果はあまり直感的でなく、ゆえに、探索及びさらなる追求のための興味深い結果を提供する可能性がある。RELATEDコマンドタームAPIコールに対して指定される列について、「身長」の例で続けると、分析エンジンは「年齢=0.8」を返す可能性があり、このことは、分析されるデータセットについての確率的見地から年齢は高い相関性があるが、体重の場合ほど完璧に確信していないと分析エンジンが決定したことを意味する。より低い信頼度指標スコアは、例えば、絶対的な正の結果を除外する雑音データに起因し得る。
おそらく、指定された「身長」列についてさらに返されるのは「髪色=0.1」であり、このことは、利用されたデータセットによれば、人の身長とその髪色との間に現実的に何の関連もないことを意味する。こうして、RELATED機能性は、身長列などの所与の列について何が重要であるかをユーザが問い合わせることを許可し、この機能性は、すべての列が指定された列とどれほど関連があるかの、その確率に基づいたスコア付けと共に、上記列を返す。身長と体重とが関連することを理解するのは人間にとって直感的であり得るが、分析エンジンは、上記の結果を人間の入力なしに系統的に生成し、より重要なことに、分析エンジンは、関係が直感的であったりデータを見ている人間によって容易に理解されたりしないデータセットに対して適用することができる。このことは、関係が存在することは確実だが関係がデータ構造自体によって定義されてはいない大きめのデータセットに特に当てはまる。分析エンジンは、下層の潜在構造及び潜在関係を学習し、このことが、歴史的には単純に実現不可能であった方法で自身のデータを探索することを望む一般ユーザに対してさえも隠れた構造を明らかにするのに役立つ。
図13Bは、記載される実施形態に従う一例示的アーキテクチャを描いている。具体的に、顧客組織1305A、1305B及び1305Cが描かれており、各々がクライアント装置1306A、1306B及び1306Cを備え、クライアント装置1306A、1306B及び1306Cは、要求を送ること及び応答を受信することを含め、ネットワーク1325を介してホスト組織1310とインターフェースをとる能力がある。ホスト組織1310内に要求インターフェース1376があり、要求インターフェース1376は場合によりウェブサーバ1375によって実施されてもよい。ホスト組織は、プロセッサ1381、メモリ1382、クエリインターフェース1380、分析エンジン1385、及びマルチテナントデータベースシステム1330をさらに含む。マルチテナントデータベースシステム1330内に実行ハードウェア、ソフトウェア及びロジック1320があり、実行ハードウェア、ソフトウェア及びロジック1320は、マルチテナントデータベースシステム1330の複数のテナントと認証器1398と予測データベース1350とにわたって共有され、予測データベース1350は、予測データベース1350に対して実行されるクエリに応答して予測レコードセットを返すことを容易にするように、分析エンジンにより生成されたインデックスを記憶する能力がある。
一実施形態によれば、ホスト組織1310は、少なくとも1つのプロセッサ1381とメモリ1382とを有するシステム1311を稼働させる。システム1311は、分析エンジン1385を介して列及び行のデータセットからインデックスを生成することを可能にされ、上記インデックスは、データセットの行と列とにおける確率的関係を表す。上記のシステム1311はさらに、インデックスを記憶する予測データベース1350と、予測データベースを、例えばユーザ又はクライアント装置1306A‐Cに対して公開する要求インターフェース1376であって、予測データベースに対しての、RELATEDコマンドタームとRELATEDコマンドタームのパラメータとして指定された列とを指定するクエリ1353を受信する、要求インターフェース1376と、予測レコードセット1354を生成するように、RELATEDコマンドタームを用いて指定された列を渡して予測データベース1350に問い合わせる、クエリインターフェース1380と、を含み、要求インターフェース1376は、クエリに応答して予測レコードセット1354をさらに返す。こうした一実施形態において、予測レコードセット1354は、その中に複数の要素1399を含み、返される要素の各々は、RELATEDコマンドタームで渡された指定された列についての列識別子と信頼度指標とを含む。こうした一実施形態において、信頼度指標は、RELATEDコマンドで渡された指定された列とそれぞれの要素1399について返される列識別子との間に潜在関係が存在するかどうかを示す。
一実施形態によれば、予測データベース1350は、1又は複数の加入者のためにホスト組織1310においてオンデマンドのクラウドベースのサービスとして実行される。こうした一実施形態において、上記システムはさらに認証器1398を含み、認証器1398は、クライアント装置1306A‐Cが加入者に関連付けられることを検証し、それぞれの加入者についての認証クレデンシャルをさらに検証する。
一実施形態によれば、要求インターフェース1376は、認証されたユーザに対して直接、予測問い合わせ言語アプリケーションプログラミングインターフェース(PreQL API)を公開し、PreQL APIは、認証されたユーザにとってパブリックインターネットを介してアクセス可能である。例えば、ネットワーク1325は、パブリックインターネットを通じてホスト組織1310を加入者にリンクするように動作し得る。
一実施形態によれば、上記のシステム1311は、要求インターフェース1376を実施するウェブサーバ1375を含み、ウェブサーバ1375は、入力として、ネットワークを介してホスト組織と通信可能にインターフェースをとる複数の顧客組織1305A‐Cの中の1又は複数のクライアント装置1306A‐Cから複数のアクセス要求を受信する。こうした一実施形態において、予測データベース機能性を備えたマルチテナントデータベースシステム1330が、予測データベース1350を実施する。
図13Cは、開示される実施形態に従う方法1321を示すフロー図である。方法1321は処理ロジックによって実行されてもよく、この処理ロジックには、本明細書に記載されるとおり予測クエリインターフェースを備えてRELATEDコマンドを実施するシステム、装置及び方法に従ったハードウェア(例えば、回路、専用ロジック、プログラマブルロジック、マイクロコード等)、ソフトウェア(例えば、送信、送出、受信、実行、生成、算出、記憶、公開、問い合わせ、処理などの様々なオペレーションを実行するように処理装置上で実行される命令)等を含み得る。例えば、図1のホスト組織110、図4のマシン400又は図13Bのシステム1311は、記載される方法論を実施することができる。以下にリストアップされるブロック及び/又はオペレーションのいくつかは、特定の実施形態において任意的である。提示されるブロックの番号付けは明りょうさのためであり、様々なブロックが生じるべきオペレーションの順序を規定する意図はない。
ブロック1391において、処理ロジックは、列及び行のデータセットからインデックスを生成する。上記インデックスは、データセットの行と列とにおける確率的関係を表す。
ブロック1392において、処理ロジックは、ホスト組織のデータベース内にインデックスを記憶する。
ブロック1393において、処理ロジックは、要求インターフェースを介してホスト組織のデータベースを公開する。
ブロック1394において、処理ロジックは、要求インターフェースにおいて、データベースに対しての、RELATEDコマンドタームとRELATEDコマンドタームのパラメータとして指定された列とを指定するクエリを受信する。
ブロック1395において、処理ロジックは、予測レコードセットを生成するように、RELATEDコマンドタームを用いて指定された列を渡してデータベースに問い合わせる。
ブロック1396において、処理ロジックは、クエリに応答して予測レコードセットを返し、上記予測レコードセットは、その中に複数の要素を有する。こうした一実施形態において、返される要素の各々は、RELATEDコマンドタームで渡された指定された列についての列識別子と信頼度指標とを含み、信頼度指標は、RELATEDコマンドで渡された指定された列とそれぞれの要素について返される列識別子との間に潜在関係が存在するかどうかを示す。
別の実施形態によれば、方法1321はさらに、RELATEDコマンドタームで最小信頼度閾値を渡すことを含む。こうした一実施形態において、予測レコードセットを返すことは、最小信頼度閾値を超える信頼度指標を有する予測レコードセットの要素だけ返すことを含む。
別の実施形態によれば、方法1321はさらに、予測レコードセットで返される要素の数量を制限するように、RELATEDコマンドタームで限定されたレコードセットを渡すことを含む。
方法1321の別の実施形態によれば、予測レコードセットの要素は、予測レコードセットの要素の各々についての信頼度指標に従って降順で順序付けられて返され、あるいは、予測レコードセットの要素の各々についての信頼度指標に従って昇順で順序付けられて返される。
方法1321の別の実施形態によれば、予測レコードセット内で返される各要素に含まれる、予測的に関連する列は、この予測的に関連する列が、RELATEDコマンドタームで渡された指定された列と同じ列グルーピングの中に発生する回数の割合(fraction)にさらに基づく。
方法1321の別の実施形態によれば、中に複数の要素を有する予測レコードセットは、返される要素の各々が、列のすべてと列のいずれか1つについての対応する予測された値とを含むものであり、上記方法はさらに、対応する予測された値の各々について、それぞれの予測される値における最小のとり得る信頼度レベルを示す0からそれぞれの予測される値における最大のとり得る信頼度レベルを示す1に及ぶ信頼度指標を返すことを含む。
別の実施形態によれば、方法1321はさらに、RELATEDコマンドタームを用いてデータベースに問い合わせることに応答して生成される予測レコードセットからの予測的に関連する列のうち1又は複数を、該予測的に関連する列についての最小閾値に基づいて識別することと、予測的に関連する列のうち識別された1又は複数を、PREDICTコマンドターム又はGROUPコマンドタームを指定する第2のクエリへ入力して、第2のクエリから返される第2の予測レコードセットを制限することと、を含む。
方法1321の別の実施形態によれば、RELATEDコマンドタームを用いてデータベースに問い合わせることは、RELATEDコマンドタームで渡された指定された列と予測レコードセットのそれぞれの要素について返される列識別子との間の相互情報をデータベースが推定することを含む。
方法1321の別の実施形態によれば、ホスト組織のデータベースを公開することは、認証されたユーザに対して直接、予測問い合わせ言語アプリケーションプログラミングインターフェース(PreQL API)を公開することを含み、PreQL APIは、認証されたユーザにとってパブリックインターネットを介してアクセス可能である。
方法1321の別の実施形態によれば、RELATEDコマンドタームを用いてデータベースに問い合わせることは、データベースにPreQLクエリを渡すことを含み、PreQLクエリは、必要なタームとしてのRELATEDコマンドタームと、任意的なFROMタームであって、この任意的なFROMタームが指定されるときには問い合わせられるべき1又は複数のテーブル、データセット、データソース及び/又はインデックスを指定し、任意的なFROMタームが指定されないときには問い合わせられるべき1又は複数のテーブル、データセット、データソース及び/又はインデックスについてデフォルト値が使用される、FROMタームと、RELATEDコマンドタームで渡されるべき列を指定するTARGETタームと、のクエリシンタックスを有する。例えば、FROMタームが指定されない場合、システムは、ユーザのコンテキストに基づいてソースを決定してもよい。例えば、ユーザが、ただ1つのデータソースを有し又は主要なデータソースを有する特定の組織に関連付けられてもよく、あるいは、最後に評価された又は最も頻繁にアクセスされるデータソースが仮定されてもよく、あるいは、デフォルトがユーザ選好として予め構成されてもよい。
方法1321の別の実施形態によれば、PreQLクエリのクエリシンタックスはさらに、任意的なCONFIDENCEタームであって、提供されるとき、予測レコードセットで返されるべき最小受け入れ可能信頼度指標を指定する、CONFIDENCEタームと、任意的なCOUNTタームであって、提供されるとき、予測レコードセット内に返されるべき要素の最大数量を指定する、COUNTタームと、任意的なORDER BYタームであって、提供されるとき、予測レコードセットで返される要素の各々についての信頼度指標に従って、予測レコードの要素が昇順で返されるべきか降順で返されるべきかを指定する、ORDER BYタームと、のうち1又は複数を提供する。
方法1321の別の実施形態によれば、RELATEDコマンドタームを用いてデータベースに問い合わせることは、JavaScript Object Notation(JSON)構造化されたクエリをデータベースに渡すことを含み、JSON構造化されたクエリは、必要なタームとしてのRELATEDコマンドタームと、問い合わせられるべき任意的な1又は複数のテーブル、データセット、データソース及び/又はインデックス、又は、指定されないときに問い合わせられるべき1又は複数のテーブル、データセット、データソース及び/又はインデックスのデフォルト値と、RELATEDコマンドタームで渡される列と、信頼度指標に従って予測レコードセットで返されるべき最小受け入れ可能信頼度の任意的な指定と、予測レコードセット内で返される要素の最大数量の任意的な指定と、予測レコードセットで返される要素の各々についての信頼度指標に従って、予測レコードの要素が降順で返されるべきか昇順で返されるべきかの任意的な指定と、のクエリシンタックスを有する。
方法1321の別の実施形態によれば、ホスト組織のデータベースを公開することは、認証されたユーザに対して直接、ウェブフォームを公開することを含み、このウェブフォームは、認証されたユーザにとってパブリックインターネットを介してアクセス可能である。ホスト組織は、ウェブフォームからの入力に基づいて、データベースに対してサブミットするための潜在構造クエリを生成する。RELATEDコマンドタームを用いてデータベースに問い合わせることは、ホスト組織内で予測問い合わせ言語アプリケーションプログラミングインターフェース(PreQL API)を介して潜在構造クエリを用いてデータベースに問い合わせることを含み、PreQL APIは、認証されたユーザにウェブフォームを通して間接的に公開される。
方法1321の別の実施形態によれば、RELATEDコマンドタームを用いてデータベースに問い合わせることは、RELATEDコマンドタームについて、データベースに対して、予測問い合わせ言語(PreQL)構造化されたクエリを実行することを含み、上記方法はさらに、データベースに対して1又は複数のさらなるPreQL構造化されたクエリを実行することを含み、1又は複数のさらなるPreQL構造化されたクエリの各々は、PREDICT、RELATED、SIMILAR及びGROUPを含むPreQLコマンドのグループから選択される少なくとも1つのコマンドを指定する。
別の実施形態によれば、方法1321はさらに、認証された加入者からデータセットを受信し、その後、認証された加入者からデータベースに対してのクエリを受信することと、インデックスを生成するように、認証された加入者のためにデータセットを処理することと、を含む。
方法1321の別の実施形態によれば、データセットの中の複数の行の各々はエンティティに対応し、複数の列の各々はエンティティについての特性に対応し、各々のそれぞれの行と複数の列の各々とにおける交点は、セルを形成して交点における値を記憶する。
特定の実施形態によれば、命令を記憶させた非一時的コンピュータ可読記憶媒体があり、上記命令は、ホスト組織におけるプロセッサにより実行されると、列及び行のデータセットからインデックスを生成することであって、上記インデックスはデータセットの行と列とにおける確率的関係を表す、ことと、ホスト組織のデータベース内にインデックスを記憶することと、要求インターフェースを介してホスト組織のデータベースを公開することと、要求インターフェースにおいて、RELATEDコマンドタームとRELATEDコマンドタームのためのパラメータとして指定される列とを指定するデータベースへのクエリを受信することと、予測レコードセットを生成するように、RELATEDコマンドタームを用いて指定された列を渡してデータベースに問い合わせることと、クエリに応答して予測レコードセットを返すことであって、予測レコードセットはその中に複数の要素を有し、返される要素の各々は、RELATEDコマンドタームで渡される指定された列についての列識別子と信頼度指標とを含み、信頼度指標は、RELATEDコマンドで渡される指定された列とそれぞれの要素について返される列識別子との間に潜在関係が存在するかを示す、ことと、を含むオペレーションをホスト組織に実行させる。
図14Aは、記載される実施形態に従うGROUPコマンドタームの使用を示している。GROUPコマンドタームを用いて、ユーザは、「どの行が一緒になるか?」を尋ねることができる。こうした特徴は、データセットをクラスタ化する2以上の方法が存在することを除き、クラスタリングとして概念化することができる。上記で用いられた哺乳動物の例を、列ID1401が入力として提供される形で考える。上記のクエリに応答して、予測データセットが、提供される列に照らしたグループを有する出力1402として返されることになる。より具体的に、出力1402は、入力列を含むビューの中で、どの行が最も高頻度で同じカテゴリの中にグループとして一緒に出現するかを示すことになる。
時に、行は、分析エンジンがそのモデリングを適用してインデックスを生成するとき、データセットの中で雑音要素上でグループ化する傾向があるが、これら雑音要素は、時に、実際には重要でないグルーピングをもたらす。GROUPコマンドターム機能性を用いて、ユーザは、各列がビューとしてグループのうちちょうど1つに出現することになると知り、ゆえに、分析エンジンは、ユーザ指定された列が、利用されることになる特定の「ビュー」を識別することを許可する。したがって、GROUP機能性は、SIMILAR機能性と同様の行中心のオペレーションを実施する。ただし、ユーザが行を指定し、他の行とその類似する確率に基づいた対応するスコアとのリストを戻りとして応答的に受信するSIMILARのAPIコールと対照的に、GROUP機能性は、行がユーザにより指定され又は固定されることを必要としない。代わって、GROUPコマンドタームを指定するコールを行うとき、列だけは、ユーザにより提供される必要がある。
指定され又は固定された列を用いてGROUP機能性を呼び出すことは、この機能性に、分析エンジンのモデリングに基づいて何らかの方法で関連し又は相関すると思われるROWSのグルーピングを返させる。
図14Bは、記載される実施形態に従う一例示的アーキテクチャを描いている。具体的に、顧客組織1405A、1405B及び1405Cが描かれており、各々がクライアント装置1406A、1406B及び1406Cを備え、クライアント装置1406A、1406B及び1406Cは、要求を送ること及び応答を受信することを含め、ネットワーク1425を介してホスト組織1410とインターフェースをとる能力がある。ホスト組織1410内に要求インターフェース1476があり、要求インターフェース1476は場合によりウェブサーバ1475によって実施されてもよい。ホスト組織は、プロセッサ1481、メモリ1482、クエリインターフェース1480、分析エンジン1485、及びマルチテナントデータベースシステム1430をさらに含む。マルチテナントデータベースシステム1430内に実行ハードウェア、ソフトウェア及びロジック1420があり、実行ハードウェア、ソフトウェア及びロジック1420は、マルチテナントデータベースシステム1430の複数のテナントと認証器1498と予測データベース1450とにわたって共有され、予測データベース1450は、クエリインターフェースによって予測データベース1450に対して実行されるクエリに応答して予測レコードセットを返すことを容易にするように、分析エンジンにより生成されたインデックスを記憶する能力がある。
一実施形態によれば、ホスト組織1410は、少なくとも1つのプロセッサ1481とメモリ1482とを有するシステム1411を稼働させる。システム1411は、列及び行のデータセットからインデックスを生成する分析エンジン1485を含み、上記インデックスは、データセットの行と列とにおける確率的関係を表す。上記のシステム1411はさらに、インデックスを記憶する予測データベース1450と、予測データベースを、例えばユーザ又はクライアント装置1406A‐Cに対して公開する要求インターフェース1476であって、予測データベースに対しての、GROUPコマンドタームとGROUPコマンドタームのパラメータとして指定された列とを指定するクエリ1453を受信する、要求インターフェース1476と、予測レコードセット1454を生成するように、GROUPコマンドタームを用いて指定された列を渡して予測データベース1450に問い合わせる、クエリインターフェース1480と、を含み、要求インターフェース1476は、クエリ1453に応答して予測レコードセット1454をさらに返す。予測レコードセットは、その中に指定された複数のグループ1499を含み、予測レコードセットの返されるグループ1499の各々は、データセットの1行又は複数行のグループを含む。例えば、描かれている予測レコードセット1454には、返される4つのグループA 1456、グループB 1457、グループC 1458及びグループD 1459があり、その各々は{行}の集合を含む。
図14Cは、開示される実施形態に従う一方法を示すフロー図である。
方法1421は処理ロジックによって実行されてもよく、この処理ロジックには、本明細書に記載されるとおり予測クエリインターフェースを備えてGROUPコマンドを実施するシステム、装置及び方法に従ったハードウェア(例えば、回路、専用ロジック、プログラマブルロジック、マイクロコード等)、ソフトウェア(例えば、送信、送出、受信、実行、生成、算出、記憶、公開、問い合わせ、処理などの様々なオペレーションを実行するように処理装置上で実行される命令)等を含み得る。例えば、図1のホスト組織110、図4のマシン400又は図14Bのシステム1411は、記載される方法論を実施することができる。以下にリストアップされるブロック及び/又はオペレーションのいくつかは、特定の実施形態において任意的である。提示されるブロックの番号付けは明りょうさのためであり、様々なブロックが生じるべきオペレーションの順序を規定する意図はない。
ブロック1491において、処理ロジックは、列及び行のデータセットからインデックスを生成する。上記インデックスは、データセットの行と列とにおける確率的関係を表す。
ブロック1492において、処理ロジックは、ホスト組織のデータベース内にインデックスを記憶する。
ブロック1493において、処理ロジックは、要求インターフェースを介してホスト組織のデータベースを公開する。
ブロック1494において、処理ロジックは、要求インターフェースにおいて、データベースに対しての、GROUPコマンドタームとGROUPコマンドタームのパラメータとして指定された列とを指定するクエリを受信する。
ブロック1495において、処理ロジックは、予測レコードセットを生成するように、GROUPコマンドタームを用いて指定された列を渡してデータベースに問い合わせる。
ブロック1496において、処理ロジックは、クエリに応答して予測レコードセットを返す。上記予測レコードセットは、その中に指定された複数のグループを有し、予測レコードセットの返されるグループの各々は、データセットの1行又は複数行のグループを含む。
方法1421の別の実施形態によれば、データセットの行のすべては、いずれかの単一の行が複数のグループのうち2以上に割り当てられるオーバーラップなしに、予測レコードセットで返される複数のグループのうちちょうど1つに対してデータセットのあらゆる行を割り当てることによって区切られる。
方法1421の別の実施形態によれば、データセットの行は、いずれかの単一の行が複数のグループのうち2以上に割り当てられるオーバーラップなしに、複数のグループのうち最大で1つに対してデータセットの行を割り当てることによってセグメント化される。このセグメント化は、データセットのうち1又は複数の行が複数のグループのうちいずれにも割り当てられないままになることをもたらし、このことは、割り当てられないままの対応する1又は複数の行についての信頼度指標が最小閾値を下回る範囲にあることに起因する。
方法1421の別の実施形態によれば、予測レコードセットで返される複数のグループの各々内で指定される1又は複数の行の各々で返される信頼度指標は、それぞれの行が指定されるグループに属することの予測における最小のとり得る信頼度を示す最小値の0から、それぞれの行が指定されるグループに属することの予測における最大のとり得る信頼度を示す最大値の1に及ぶ。
方法1421の別の実施形態によれば、GROUPコマンドタームで渡される列は、各々の指定されるグループの1又は複数の行が同じグループ内の他のいずれかの行に対する類似度について評価される潜在構造のコンテキストを提供する。
方法1421の別の実施形態によれば、複数のグループを指定させた予測レコードセットは、データセット又はインデックスからの行識別子のリストと、指定された行識別子の各々についての対応する信頼度指標とを含む。
方法1421の別の実施形態によれば、各行は、登録された投票者に対応し、予測レコードにより指定されるグルーピングは、各投票ブロックが共通のキャンペーンメッセージ、共通のキャンペーン論点及び/又は共通のキャンペーン広告に対して類似して反応しそうであると予測される状態で、自然に目標設定可能な投票ブロックを定義する。
方法1421の別の実施形態によれば、各行は、経済市場参加者に対応し、予測レコードにより指定されるグルーピングは、各広告グループの経済市場参加者が自身に向けられた共通の広告キャンペーンに対して類似して反応すると予測される状態で、自然に目標設定可能な広告グループを定義する。
別の実施形態によれば、方法1421はさらに、予測レコードセットで返されるそれぞれのグループの各々内の最も代表的な行を示すことを含み、この返されるグループの各々についての最も代表的な行は、データセットの実際の行に対応する。
別の実施形態によれば、方法1421はさらに、予測レコードセットで返されるそれぞれのグループの各々内の最もステレオタイプの行を示すことを含み、この最もステレオタイプの行は、データセットの行としては存在せず、最もステレオタイプの行が対応する指定されたグループについてのデータセット内の実際の行に基づいてデータを合成している。
別の実施形態によれば、方法1421はさらに、GROUPコマンドタームで最小信頼度閾値を渡すことを含み、予測レコードセットを返すことは、最小信頼度閾値を超える信頼度指標を有する予測レコードセットの中のグループの行だけ返すことを含む。
方法1421の別の実施形態によれば、ホスト組織のデータベースを公開することは、認証されたユーザに対して直接、予測問い合わせ言語アプリケーションプログラミングインターフェース(PreQL API)を公開することを含み、PreQL APIは、認証されたユーザにとってパブリックインターネットを介してアクセス可能である。
方法1421の別の実施形態によれば、GROUPコマンドタームを用いてデータベースに問い合わせることは、データベースにPreQLクエリを渡すことを含み、PreQLクエリは、必要なタームとしてのGROUPコマンドタームと、必要なタームとしてのCOLUMNタームであって、GROUPコマンドタームで渡されるべき列を指定する、COLUMNタームと、任意的なFROMタームであって、この任意的なFROMタームが指定されるときには問い合わせられるべき1又は複数のテーブル、データセット、データソース及び/又はインデックスを指定し、任意的なFROMタームが指定されないときには問い合わせられるべき1又は複数のテーブル、データセット、データソース及び/又はインデックスについてデフォルト値が使用される、FROMタームと、のクエリシンタックスを有する。
方法1421の別の実施形態によれば、PreQLクエリのクエリシンタックスはさらに、任意的なCONFIDENCEタームであって、提供されるとき、予測レコードセットのグループで返されるべき行についての最小受け入れ可能信頼度指標を指定する、CONFIDENCEタームを提供する。
方法1421の別の実施形態によれば、GROUPコマンドタームを用いてデータベースに問い合わせることは、JavaScript Object Notation(JSON)構造化されたクエリをデータベースに渡すことを含み、JSON構造化されたクエリは、必要なタームとしてのGROUPコマンドタームと、問い合わせられるべき任意的な1又は複数のテーブル、データセット、データソース及び/又はインデックス、又は、指定されないときに問い合わせられるべき1又は複数のテーブル、データセット、データソース及び/又はインデックスのデフォルト値と、GROUPコマンドタームで渡される列と、行の各々に対応する信頼度指標に従って予測レコードセットで返されるグループの行についての最小受け入れ可能信頼度の任意的な指定と、のクエリシンタックスを有する。
方法1421の別の実施形態によれば、ホスト組織のデータベースを公開することは、認証されたユーザに対して直接、ウェブフォームを公開することを含み、このウェブフォームは、認証されたユーザにとってパブリックインターネットを介してアクセス可能である。ホスト組織は、ウェブフォームからの入力に基づいて、データベースに対してサブミットするための潜在構造クエリを生成する。GROUPコマンドタームを用いてデータベースに問い合わせることは、ホスト組織内で予測問い合わせ言語アプリケーションプログラミングインターフェース(PreQL API)を介して潜在構造クエリを用いてデータベースに問い合わせることを含み、PreQL APIは、認証されたユーザにウェブフォームを通して間接的に公開される。
方法1421の別の実施形態によれば、GROUPコマンドタームを用いてデータベースに問い合わせることは、GROUPコマンドタームについて、データベースに対して、予測問い合わせ言語(PreQL)構造化されたクエリを実行することを含み、上記方法はさらに、データベースに対して1又は複数のさらなるPreQL構造化されたクエリを実行することを含み、1又は複数のさらなるPreQL構造化されたクエリの各々は、PREDICT、GROUP、GROUP及びGROUPを含むPreQLコマンドのグループから選択される少なくとも1つのコマンドを指定する。
別の実施形態によれば、方法1421はさらに、認証された加入者からデータセットを受信し、その後、認証された加入者からデータベースに対してのクエリを受信することと、インデックスを生成するように、認証された加入者のためにデータセットを処理することと、を含む。
方法1421の別の実施形態によれば、データセットの中の複数の行の各々はエンティティに対応し、複数の列の各々はエンティティについての特性に対応し、各々のそれぞれの行と複数の列の各々とにおける交点は、セルを形成して交点における値を記憶する。
別の実施形態によれば、命令を記憶させた非一時的コンピュータ可読記憶媒体があり、上記命令は、ホスト組織におけるプロセッサにより実行されると、列及び行のデータセットからインデックスを生成することであって、上記インデックスは、データセットの行と列とにおける確率的関係を表す、ことと、ホスト組織のデータベース内にインデックスを記憶することと、要求インターフェースを介してホスト組織のデータベースを公開することと、要求インターフェースにおいて、データベースに対しての、GROUPコマンドタームとGROUPコマンドタームのパラメータとして指定された列とを指定するクエリを受信することと、予測レコードセットを生成するように、GROUPコマンドタームを用いて指定された列を渡してデータベースに問い合わせることと、クエリに応答して予測レコードセットを返すことであって、上記予測レコードセットは、その中に指定された複数のグループを有し、予測レコードセットの返されるグループの各々は、データセットの1行又は複数行のグループを含む、ことと、を含むオペレーションをホスト組織に実行させる。
図15Aは、記載される実施形態に従うSIMILARコマンドタームの使用を示している。SIMILARコマンドタームを用いて、ユーザは、「どの行が所与の行に対して最も類似であるか?」を尋ねることができる。行は、ある文脈において類似であるが、別の文脈において非類似である場合がある。例えば、シャチとシロナガスクジラとは、かなり似ている点があるが、非常に異なる点もある。入力1501は、SIMILARコマンドタームで渡されるべき行IDと列IDとの双方を指定する。入力列(又は、列ID)が潜在構造のコンテキストを提供し、その場合、指定された行は、予測レコードセットの要素により返される類似の行に対して、類似度について評価される。上記のクエリに応答して、予測データセットは、入力列を含むビューの中で、入力行と同じカテゴリの中に各行がどれほどの頻度で出現するかを識別する出力1502として返されることになる。
SIMILARコマンドターム機能性は、エンティティ(例えば、行又は行ID)を受け入れ、その後、他のどの行が指定された行に最も類似であるかを返す。RELATEDコマンドタームの例と同様に、SIMILARコマンドターム機能性は、指定された行といずれかのそれぞれの返される行とが実際に類似度を提示する確率を返す。例えば、列を指定するのではなく、ユーザは、データセット内の行又はエンティティとして「Fred」を指定することができる。それから、ユーザは、SIMILARコマンドターム機能性を介して「最もFredらしい確率に基づいてどの行がスコア付けされるか?」を問い合わせる。それから、APIコールが、データセットからのすべての行を対応する信頼度スコアと共に返し、あるいは、指定された閾値を上回り又は下回る行だけ返すことになる。例えば、おそらく0.8を上回る行が最も興味深く、あるいは0.2を下回る行が最も興味深く、あるいは双方が興味深く、あるいはその範囲が興味深い。それにもかかわらず、SIMILARコマンドターム機能性は、データセットの中のあらゆる行を指定された行に対するその確率的類似度に従ってスコア付けし、それから、ユーザの制約又は実施するGUIの制約が与えられている場合はその制約に従って、行とそのそれぞれのスコアとを返す能力がある。
分析エンジンがその独自のモデリングを用いて上記の関係を決定するため、こうした調査について査定する2以上の方法がある。ゆえに、エンティティ(例えば、行又は行ID)が類似度について評価されるのを受け入れることに加えて、ユーザはさらに、行の類似度がどのように評価されるべきかを決定する曖昧性除去手段として、どの列(又は、列ID)が分析エンジンにより使用されるべきかをSIMILARコマンドタームのAPIコールに提供する。ゆえに、SIMILARコマンドタームを指定するAPIコールは、行と列との双方が固定されることを必要とする。こうして、列変数を提供、指定又は固定することで、インデックスを入れる分析エンジンに、曖昧性除去情報を提供する。そうでない場合、分析エンジンは、類似度が探し求められる情報に関して、クエリを提示するユーザがどれほど気にしているかを決定するための焦点又はエントリポイントを欠くであろうため、返される行をスコア付けするための可能な方法が多くなり過ぎるおそれがある。
図15Bは、記載される実施形態に従う一例示的アーキテクチャを描いている。具体的に、顧客組織1505A、1505B及び1505Cが描かれており、各々がクライアント装置1506A、1506B及び1506Cを備え、クライアント装置1506A、1506B及び1506Cは、要求を送ること及び応答を受信することを含め、ネットワーク1525を介してホスト組織1510とインターフェースをとる能力がある。ホスト組織1510内に要求インターフェース1576があり、要求インターフェース1576は場合によりウェブサーバ1575によって実施されてもよい。ホスト組織は、プロセッサ1581、メモリ1582、クエリインターフェース1580、分析エンジン1585、及びマルチテナントデータベースシステム1530をさらに含む。マルチテナントデータベースシステム1530内に実行ハードウェア、ソフトウェア及びロジック1520があり、実行ハードウェア、ソフトウェア及びロジック1520は、マルチテナントデータベースシステム1530の複数のテナントと認証器1598と予測データベース1550とにわたって共有され、予測データベース1550は、予測データベース1550に対して実行されるクエリに応答して予測レコードセットを返すことを容易にするように、分析エンジンにより生成されたインデックスを記憶する能力がある。
一実施形態によれば、ホスト組織1510は、少なくとも1つのプロセッサ1581とメモリ1582とを有するシステム1511を稼働させる。システム1511は、列及び行のデータセットからインデックスを生成する分析エンジン1585を含み、上記インデックスは、データセットの行と列とにおける確率的関係を表す。上記のシステム1511はさらに、インデックスを記憶する予測データベース1550と、予測データベースを、例えばユーザ又はクライアント装置1506A‐Cに対して公開する要求インターフェース1576であって、予測データベースに対しての、SIMILARコマンドタームとSIMILARコマンドタームのパラメータとして指定された行とSIMILARコマンドタームのパラメータとして指定された列とを指定するクエリ1553を受信する、要求インターフェース1576と、を含む。上記のシステムにおいて、クエリインターフェース1580は、予測レコードセット1554を生成するように、SIMILARコマンドタームを用いて、指定された行及び指定された列を渡して、予測データベース1550に問い合わせる。例えば、SIMILARコマンドタームとそのオペランド(列ID及び行ID)を、予測データベース1550に対して実行することができる。
上記のシステム1511において、要求インターフェース1576はさらに、クエリ1553に応答して予測レコードセット1554を返し、予測レコードセット1554は複数の要素1599を含み、予測レコードセット1554の返される要素の各々は、(i)SIMILARコマンドタームで渡された指定された行に対して、指定された列に基づいて、潜在構造に従って、類似であると評価されたデータセットの行に対応する行識別子と、(ii)SIMILARコマンドで渡された指定された行とそれぞれの要素1599について返される行識別子との間の潜在関係の尤度を示す信頼度指標とを含む。
図15Cは、開示される実施形態に従う一方法を示すフロー図である。方法1521は処理ロジックによって実行されてもよく、この処理ロジックには、本明細書に記載されるとおり予測クエリインターフェースを備えてSIMILARコマンドを実施するシステム、装置及び方法に従ったハードウェア(例えば、回路、専用ロジック、プログラマブルロジック、マイクロコード等)、ソフトウェア(例えば、送信、送出、受信、実行、生成、算出、記憶、公開、問い合わせ、処理などの様々なオペレーションを実行するように処理装置上で実行される命令)等を含み得る。例えば、図1のホスト組織110、図4のマシン400又は図15Bのシステム1511は、記載される方法論を実施することができる。以下にリストアップされるブロック及び/又はオペレーションのいくつかは、特定の実施形態において任意的である。提示されるブロックの番号付けは明りょうさのためであり、様々なブロックが生じるべきオペレーションの順序を規定する意図はない。
ブロック1591において、処理ロジックは、列及び行のデータセットからインデックスを生成する。上記インデックスは、データセットの行と列とにおける確率的関係を表す。
ブロック1592において、処理ロジックは、ホスト組織のデータベース内にインデックスを記憶する。
ブロック1593において、処理ロジックは、要求インターフェースを介してホスト組織のデータベースを公開する。
ブロック1594において、処理ロジックは、要求インターフェースにおいて、データベースに対しての、SIMILARコマンドタームとSIMILARコマンドタームのパラメータとして指定された行とSIMILARコマンドタームのパラメータとして指定された列とを指定するクエリを受信する。
ブロック1595において、処理ロジックは、予測レコードセットを生成するように、SIMILARコマンドタームを用いて、指定された行及び指定された列を渡して、データベースに問い合わせる。
ブロック1596において、処理ロジックは、クエリに応答して予測レコードセットを返す。予測レコードセットはその中に複数の要素を有し、予測レコードセットの返される要素の各々は、(i)SIMILARコマンドタームで渡された指定された行に対して、指定された列に基づいて、潜在構造に従って、類似であると評価されたデータセットの行に対応する行識別子と、(ii)SIMILARコマンドで渡された指定された行とそれぞれの要素について返される行識別子との間の潜在関係の尤度を示す信頼度指標とを含む。
方法1521の別の実施形態によれば、SIMILARコマンドタームで渡される列は潜在構造のコンテキストを提供し、その場合、指定された行は、潜在構造に従って、予測レコードセットの要素により返される類似の行に対して、類似度について評価される。
方法1521の別の実施形態によれば、予測レコードセット内で返される各要素に含まれる、類似であると評価されたデータセットの行は、該類似の行が、SIMILARコマンドタームで渡された列に従って、指定された行と同じ行グルーピングの中に発生する回数の割合にさらに基づく。
方法1521の別の実施形態によれば、SIMILARコマンドタームを用いて、指定された行を渡して、データベースに問い合わせることは、データセット又はインデックスから、指定された行についての行識別子において渡すことを含む。
方法1521の別の実施形態によれば、SIMILARコマンドタームを用いて、指定された行を渡して、データベースに問い合わせることは、データセット又はインデックスの中の他の行について、すべての列に対応する名前=値ペアをリストアップしている完全な行をSIMILARコマンドタームで渡すことを含む。
方法1521の別の実施形態によれば、上記完全な行を渡すことは、名前=値ペアの中の値として1又は複数のヌル値又は空白値を渡すことを含む。
別の実施形態によれば、方法1521はさらに、(i)返される予測レコードセットと予測レコードセットで返される類似の行の各々についての信頼度指標とに基づく、クエリに応答した、SIMILARコマンドタームで渡された指定された行と比較して最も類似の行と、(ii)返される予測レコードセットと予測レコードセットで返される類似の行の各々についての信頼度指標とに基づく、クエリに応答した、SIMILARコマンドタームで渡された指定された行と比較して最も類似でない行と、(iii)インターネットユーザによる検索に応答した、リコメンダシステム(recommender system)における関連製品であって、予測レコードセットで返される類似の行の1つに対応する、関連製品と、のうち1つを返すことを含む。
方法1521の別の実施形態によれば、SIMILARコマンドタームを用いてデータベースに問い合わせることは、インデックスの中の指定された行の値とインデックス内に存在し且つ指定された列に対応する別の行の値との間の相互依存の尺度を決定するように、指定された行に少なくとも部分的に基づいて相互情報をデータベースが推定することを含む。
方法1521の別の実施形態によれば、データセットの行は、インデックスが生成されるもとのデータセット中のレコードとして記憶された複数の文書に対応し、指定された行を渡すことは、指定された行として複数の文書のうち1つを渡すことを含み、SIMILARコマンドタームを用いて、指定された行として文書を渡して、データベースに問い合わせることは、文書の内容を用いたコンテンツベースの検索をデータベースに実行させる。
別の実施形態によれば、方法1521はさらに、SIMILARコマンドタームで最小信頼度閾値を渡すことを含み、予測レコードセットを返すことは、最小信頼度閾値を超える信頼度指標を有する予測レコードセットの要素だけ返すことを含む。
別の実施形態によれば、方法1521はさらに、任意的なCOUNTタームであって、提供されるとき、予測レコードセット内で返されるべき要素の最大数量を指定する、COUNTタームを渡すことを含む。
方法1521の別の実施形態によれば、予測レコードセットの要素は、予測レコードセットの要素の各々についての信頼度指標に従って降順で順序付けられて返され、あるいは、予測レコードセットの要素の各々についての信頼度指標に従って昇順で順序付けられて返される。
別の実施形態によれば、方法1521はさらに、SIMILARコマンドタームを用いてデータベースに問い合わせることに応答して生成される予測レコードセットからの類似の行のうち1又は複数を、該類似の行についての最小信頼度指標に基づいて識別することと、類似の行のうち識別された1又は複数を、GROUPコマンドタームを指定する第2のクエリに入力して、第2のクエリから返される第2の予測レコードセットを制限することと、を含む。
方法1521の別の実施形態によれば、ホスト組織のデータベースを公開することは、認証されたユーザに対して直接、予測問い合わせ言語アプリケーションプログラミングインターフェース(PreQL API)を公開することを含み、PreQL APIは、認証されたユーザにとってパブリックインターネットを介してアクセス可能である。
方法1521の別の実施形態によれば、SIMILARコマンドタームを用いてデータベースに問い合わせることは、データベースにPreQLクエリを渡すことを含み、PreQLクエリは、必要なタームとしてのSIMILARコマンドタームと、必要なタームとしてのROWタームであって、SIMILARコマンドタームで渡されるべき行を指定する、ROWタームと、必要なタームとしてのCOLUMNタームであって、SIMILARコマンドタームで渡されるべき列を指定する、COLUMNタームと、任意的なFROMタームであって、この任意的なFROMタームが指定されるときには問い合わせられるべき1又は複数のテーブル、データセット、データソース及び/又はインデックスを指定し、任意的なFROMタームが指定されないときには問い合わせられるべき1又は複数のテーブル、データセット、データソース及び/又はインデックスについてデフォルト値が使用される、FROMタームと、のクエリシンタックスを有する。
方法1521の別の実施形態によれば、PreQLクエリのクエリシンタックスはさらに、任意的なCONFIDENCEタームであって、提供されるとき、予測レコードセットで返されるべき最小受け入れ可能信頼度指標を指定する、CONFIDENCEタームと、任意的なCOUNTタームであって、提供されるとき、予測レコードセット内に返されるべき要素の最大数量を指定する、COUNTタームと、任意的なORDER BYタームであって、提供されるとき、予測レコードセットで返される要素の各々についての信頼度指標に従って、予測レコードの要素が昇順で返されるべきか降順で返されるべきかを指定する、ORDER BYタームと、のうち1又は複数を提供する。
方法1521の別の実施形態によれば、SIMILARコマンドタームを用いてデータベースに問い合わせることは、JavaScript Object Notation(JSON)構造化されたクエリをデータベースに渡すことを含み、JSON構造化されたクエリは、必要なタームとしてのSIMILARコマンドタームと、問い合わせられるべき任意的な1又は複数のテーブル、データセット、データソース及び/又はインデックス、又は、指定されないときに問い合わせられるべき1又は複数のテーブル、データセット、データソース及び/又はインデックスのデフォルト値と、SIMILARコマンドタームで渡される行と、SIMILARコマンドタームで渡される列と、信頼度指標に従って予測レコードセットで返されるべき最小受け入れ可能信頼度の任意的な指定と、予測レコードセット内で返される要素の最大数量の任意的な指定と、予測レコードセットで返される要素の各々についての信頼度指標に従って、予測レコードの要素が降順で返されるべきか昇順で返されるべきかの任意的な指定と、のクエリシンタックスを有する。
方法1521の別の実施形態によれば、ホスト組織のデータベースを公開することは、認証されたユーザに対して直接、ウェブフォームを公開することを含み、このウェブフォームは、認証されたユーザにとってパブリックインターネットを介してアクセス可能である。ホスト組織は、ウェブフォームからの入力に基づいて、データベースに対してサブミットするための潜在構造クエリを生成する。SIMILARコマンドタームを用いてデータベースに問い合わせることは、ホスト組織内で予測問い合わせ言語アプリケーションプログラミングインターフェース(PreQL API)を介して潜在構造クエリを用いてデータベースに問い合わせることを含み、PreQL APIは、認証されたユーザにウェブフォームを通して間接的に公開される。
方法1521の別の実施形態によれば、SIMILARコマンドタームを用いてデータベースに問い合わせることは、SIMILARコマンドタームについて、データベースに対して、予測問い合わせ言語(PreQL)構造化されたクエリを実行することを含み、上記方法はさらに、データベースに対して1又は複数のさらなるPreQL構造化されたクエリを実行することを含み、1又は複数のさらなるPreQL構造化されたクエリの各々は、PREDICT、SIMILAR、SIMILAR及びGROUPを含むPreQLコマンドのグループから選択される少なくとも1つのコマンドを指定する。
別の実施形態によれば、方法1521はさらに、認証された加入者からデータセットを受信し、その後、認証された加入者からデータベースに対してのクエリを受信することと、インデックスを生成するように、認証された加入者のためにデータセットを処理することと、を含む。
方法1521の別の実施形態によれば、データセットの中の複数の行の各々はエンティティに対応し、複数の列の各々はエンティティについての特性に対応し、各々のそれぞれの行と複数の列の各々とにおける交点は、セルを形成して交点における値を記憶する。
別の実施形態によれば、命令を記憶させた非一時的コンピュータ可読記憶媒体があり、上記命令は、ホスト組織におけるプロセッサにより実行されると、列及び行のデータセットからインデックスを生成することであって、上記インデックスは、データセットの行と列とにおける確率的関係を表す、ことと、ホスト組織のデータベース内にインデックスを記憶することと、要求インターフェースを介してホスト組織のデータベースを公開することと、要求インターフェースにおいて、データベースに対しての、SIMILARコマンドタームとSIMILARコマンドタームのパラメータとして指定された行とSIMILARコマンドタームのパラメータとして指定された列とを指定するクエリを受信することと、予測レコードセットを生成するように、SIMILARコマンドタームを用いて、指定された行及び指定された列を渡して、データベースに問い合わせることと、クエリに応答して予測レコードセットを返すことであって、予測レコードセットはその中に複数の要素を有し、予測レコードセットの返される要素の各々は、(i)SIMILARコマンドタームで渡された指定された行に対して、指定された列に基づいて、潜在構造に従って、類似であると評価されたデータセットの行に対応する行識別子と、(ii)SIMILARコマンドで渡された指定された行とそれぞれの要素について返される行識別子との間の潜在関係の尤度を示す信頼度指標とを含む、ことと、を含むオペレーションをホスト組織に実行させる。
図16Aは、記載される実施形態に従うPREDICTコマンドタームの使用を示している。より具体的に、図示されている実施形態は、PREDICTコマンドタームを用いてインデックスに問い合わせる分類及び/又は回帰の使用を示しており、PREDICTコマンドタームに対する入力1601は列の部分集合を固定し、さらに、出力1602は単一のターゲット列を予測している。この例から分かるとおり、最左列が予測されることになり(例えば、PREDICTコマンドタームの出力1602)、いくつかの列がPREDICTコマンドタームに対して入力1601として提供される(例えば、5番目、7番目、8番目、11番目、12番目、13番目及び16番目の列)。
インデックスを作成するのに使用されたクロスカテゴリ化手法において、PREDICTコマンドタームを介して提示される予測要求は、データセットについての新しい行として取り扱われ、分析エンジンは、各クロスカテゴリ化において、この新しい行をカテゴリに割り当てる。次いで、各カテゴリについての選択された標準分布を用いて、要求された値が予測される。従来の予測分析と違い、分析エンジンとPREDICTコマンドタームの使用とは、分析されるデータセットに固有のモデルのカスタマイズ実施なしに柔軟な予測クエリを提供し、ゆえに、PREDICTコマンドタームのユーザが自身が所望するとおり多数又は少数の列を指定することを可能にし、さらに、分析エンジンがユーザの要求に従って多数又は少数の要素を予測することを可能にする。
例えば、列のうち1つを除くすべてが単一のターゲット列を予測するのに使用される分類又は回帰を考える。分析エンジンは、単一のターゲット列を用いて予測をレンダリングすることができ、あるいは、ユーザの自由裁量におけるいくつかのターゲット列を用いて予測をレンダリングすることができる。例えば、特定の実施形態は、ユーザがPREDICTコマンドタームを介してインデックスに問い合わせて「機会が閉まることになるか?、及び、どれほどの量においてか?」などの質問を尋ねることを許可する。こうした能力は、従来利用可能な手段には存在しない。
PREDICTコマンドタームの使用において、PREDICT機能性についての適切なAPIを呼び出すことは、ユーザが、データのうち任意の選ばれた部分集合を予測して任意の列又は値を予測することを可能にする。カスタム実装されたモデルにおいて典型的な、単一の値だけ予測するためにデータセット全体が利用されることは、必要とされない。
PREDICTコマンドタームを用いるとき、ユーザは任意の列の値を提供し、あるいは固定し、それから、PREDICT APIコールが、上記の固定値とユーザが予測したいものとを受け入れる。PREDICTコマンドターム機能性は、それから、「ユーザにより提供されたとおり固定されたこれら値を有する行を所与として、分布はどうなるか?」を尋ねるインデックスを(例えば、分析エンジンを介して、あるいはPreQLインターフェース又はクエリインターフェースを通してなどで)問い合わせる。例えば、この機能性は、カスタマイズされたモデルで行われるように、データセットの中の1つを除くすべての列を固定し、それから、最後の1つ、欠落した列を予測してもよい。しかし、PREDICTコマンドターム機能性は、特定のデータセットに対してカスタマイズされる従来のモデルよりさらに柔軟である。例えば、ユーザは、予測すべき列を気まぐれに変更することができ、一方で、カスタム実装されたモデルは、上記の予見できない列又は調査について予測するためのカスタマイズされた数学的構造を欠いているため、単純にこの機能性を欠いている。すなわち、プリプログラムされた特定の機能性がなく、従来のモデルは、特定の列について解決するようにハードコードされているため、この種の可変クエリを単純に実行することができない。対称的に、本明細書に記載される方法論は、いずれか特定の列又はデータセットのためにハードコードされ又はカスタマイズされるものではなく、そのようなものとして、ユーザは、複数の区別可能なクエリを作ることによって自身のデータを探索することができ、あるいは、自身のビジネスニーズが時間と共に変わるとき、クライアント組織の下層のデータ及びデータ構造が一定のままでない場合でさえ、予測されるべき列を単に変更することによって自身の選んだクエリを適応させることができる。
また、おそらくユーザは、固定すべきすべての列を知ってはいない。例えば、データセットは、一ユーザに関して限られた観察された値だけ含み、しかしなお、別のユーザに関して多数のデータを有することがある。例えば、電子商取引サイトは、登録されていない通りすがりのユーザに関してほとんど知らず、しかし、豊富な購入履歴を有する登録されたユーザに関する多数の情報を知っていることがある。こうした例において、PREDICTコマンドターム機能性は、データのいくつかが欠落していると分かっているとき、すべてのユーザにすべてのデータを求めることを必要とすることなく、分かっているものだけで固定し又は埋めることを許可し、ゆえに、PREDICTコマンドタームは、ユーザの実世界のデータセットに存在する欠落したデータ及びヌル値に容易に適応する。こうして、PREDICTコマンドターム機能性は、実際に分かっているデータを用いて、欠落しているデータ要素をなお予測することができる。
PREDICTコマンドターム機能性を用いた別の能力は、分かっているデータセットの中のすべてのデータ、すなわちすべての非ヌル値を指定し又は固定し、そして、他のすべてのものを埋めることである。こうして、ユーザは、データセットの中に観察されるものは既知であると言うことができ、欠落しているデータについて、予測をレンダリングすることができる。ゆえに、PREDICT機能性は、ユーザの指定信頼度を上回る予測品質を有する予測を受け入れることにより、欠落した又はヌルの値について予測データを利用することによって、データセットにおける埋められ又は完成されたデータのパーセンテージを増加させることになり、あるいは、ユーザが必要とする最小信頼度閾値を十分に低下させることによって、すべての予測された値を受け入れることになる。この機能性は、さらに、本明細書に記載される特化されたGUIインターフェースによって実施される。
PREDICTを用いた別の機能性は、空集合を埋めることである。ゆえにおそらく、データは一の特定エンティティ行(又は、複数の行)について全体的に欠落しており、PREDICTコマンドターム機能性を用いて、新しい行を表す合成データを生成することができる。この新しい行は、合成データではあるが、行の中の新しいデータは妥当であることを表す。
他の実施形態において、PREDICTは、分かっていないが存在すべきであり又は存在し得る、依然としてデータセット内で埋められていないデータ要素を投入するのに使用することができ、ゆえに、PREDICT機能性が上記のデータ要素を投入することを可能にする。
別の例は、PREDICTを使用して、任意の要素についての確かさ又は不確かさを取得し、上記要素についての妥当な値の範囲を表示し又は返すことである。
図16Bは、記載される実施形態に従うPREDICTコマンドタームの使用を示している。より具体的に、図示されている実施形態は、「空白を埋める」手法の使用を示しており、これにおいて、表形式のデータセット内の欠落したデータ又はヌル値は、事前に生成されたインデックスをPREDICTコマンドタームを用いて問い合わせることによって予測された値で埋められる。PREDICTコマンドタームに対する入力1611は列の部分集合を固定し、さらに、出力1612は、残りの欠落した列内における欠落した列又は欠落した要素(例えば、ヌル値)のすべてを予測する。
例えば、ユーザは、不完全な行(複数のクエスチョンマークで描かれている最上行など)を選ぶことができ、PREDICTコマンドタームを介して、ユーザは、空白を埋めるように、欠落した値のすべてを予測することができる。極端には、ユーザは、分析されるべきデータセットとして、多くの行と多くの列とにわたって多くの欠落した値を有するテーブルを指定し、それから、PREDICTコマンドタームを介して、ユーザは、信頼度品質のさまざまなレベルに対応する値で空白のすべてが埋められているテーブルをレンダリングすることができる。
この特定のユースケースのための特化されたツールが以下に論じられ、そのUI機能性は、ユーザが信頼度品質を(例えば、信頼度スコア又は信頼度指標を介して)トレードオフして、信頼度を下げることによってより多くのデータ(又は、すべてのデータ)を投入することができ、あるいは代替的に、ユーザにより構成可能な所与の信頼度品質閾値を上回るすべてではないいくつかのデータを投入することができるなどするようなテーブル内に、多かれ少なかれデータを投入することを可能にする。ユースケースにより特化されたGUIが、この特定のユースケースについて、より詳細に以下でさらに提供され、説明される。特定の実施形態によれば、上記のGUIは、ユーザのためにAPIを介してPREDICTコマンドタームを呼び出すが、それでもなお、本明細書に記載される方法論と矛盾のない分析エンジンの機能コアを利用して、PREDICTコマンドタームに基づくPreQLクエリを発行する。
図16Cは、記載される実施形態に従うPREDICTコマンドタームの使用を示している。より具体的に、図示されている実施形態は、合成データ生成手法の使用を示しており、この手法において、元のデータセットのいずれの列又は行内にも実際には存在しないが、それでもなお元のデータセットと矛盾のないデータが、合成データとして返される。合成データ生成は、列のいずれも固定されないだけの入力1621で、PREDICTコマンドタームを再び利用する。出力1622は、ユーザにより必要とされるとおり、既存のデータセットについて列のすべてが予測されることをもたらし、単一の合成行がレンダリングされ、又は複数の合成行がレンダリングされる。
ゆえに、上記の機能性は、入力1621で固定された列なしにPREDICTコマンドタームを呼び出すことによる出力1622で空集合を埋めるのに利用することができる。例えば、現実であれ架空であれ、エンティティ行データが全体的に欠落しているエンティティを例にとる。PREDICTコマンドタームを用いてインデックスに問い合わせることによって、分析エンジンは、新しいエンティティ行を提供することにより空集合を表すデータを生成することになり、行の範囲内で生成された合成データは、合成データではあるが、妥当なデータを提供する。すなわち、上記の行についての予測された値は、実際に観察されたデータとしてデータセットから引き出されはしないが、それでもなおデータセット内でもっともらしく観察され得たデータを表す。すでに述べたように、信頼度品質指標が、出力1622をユーザの特定のニーズにより良く調和させるために利用されてもよい。
PREDICTコマンドタームコールに応答して分析エンジンにより生成される合成行は、実際に観察された実データの中に存在し且つ分析エンジンにより分析されたデータセット内に存在するとおりに構造及び予測的関係のすべてを提示する1又は複数のエンティティ行を出力する(1622)ことになる。こうした能力は、ユーザが現実的なデータセットを生成し、そしてテストすることを可能にすることができ、しかし、こうしたデータを探し求めるユーザにこうしたデータがどのように見え得るかを手動で入れさせ又は推量させることなく、データセットの中のエンティティ行により表される実際の個々の実世界データを少しも傷つけない。このことは、個人の金融データ、HIPAA(医療保険の相互運用性と説明責任に関する法律)により保護される個人のヘルスケアデータなどの非常にセンシティブな情報に対してテスト目的のためにデータセットが必要とされる状況において、役立ち得る。
図16Dは、記載される実施形態に従う一例示的アーキテクチャを描いている。具体的に、顧客組織1605A、1605B及び1605Cが描かれており、各々がクライアント装置1606A、1606B及び1606Cを備え、クライアント装置1606A、1606B及び1606Cは、クエリを送ること及び応答を受信することを含め、ネットワーク1625を介してホスト組織1610とインターフェースをとる能力がある。ホスト組織1610内に要求インターフェース1676があり、要求インターフェース1676は場合によりウェブサーバ1675によって実施されてもよい。ホスト組織は、プロセッサ1681、メモリ1682、クエリインターフェース1680、分析エンジン1685、及びマルチテナントデータベースシステム1630をさらに含む。マルチテナントデータベースシステム1630内に実行ハードウェア、ソフトウェア及びロジック1620があり、実行ハードウェア、ソフトウェア及びロジック1620は、マルチテナントデータベースシステム1630の複数のテナントと認証器1698と予測データベース1650とにわたって共有され、予測データベース1650は、予測データベース1650に対して実行されるクエリに応答して予測レコードセットを返すことを容易にするように、分析エンジンにより生成されたインデックスを記憶する能力がある。
一実施形態によれば、ホスト組織1610は、少なくとも1つのプロセッサ1681とメモリ1682とを有するシステム1631を稼働させる。システム1631は、列及び行のデータセットからインデックスを生成する分析エンジン1685を含み、上記インデックスは、データセットの行と列とにおける確率的関係を表す。上記のシステム1631はさらに、インデックスを記憶する予測データベース1650と、予測データベースを、例えばユーザ又はクライアント装置1606A‐Cに対して公開する要求インターフェース1676であって、データベース1650に対しての、少なくとも(i)PREDICTコマンドタームと(ii)予測されるべき1又は複数の指定された列と(iii)固定されるべき列名と該列名を固定するための値とを指定する1又は複数の列名=値ペアとを指定するクエリ1653を受信する、要求インターフェース1676と、を含む。上記のシステムによれば、クエリインターフェース1680は、データベース1650に記憶されたインデックスを用いて、列名=値ペアに従って固定された予測されるべき1又は複数の指定された列の同時条件付き分布の表現を生成するように、PREDICTコマンドタームを用いて、予測されるべき1又は複数の指定された列と1又は複数の列名=値ペアとを渡して、予測データベース1650に問い合わせる(1653)。例えば、PREDICTコマンドタームとそのオペランド(1又は複数の列ID、及び、1又は複数の列名=値ペア)とを、予測データベース1650に対して実行することができる。
上記のシステム1631において、要求インターフェース1676は、クエリ1653に応答して出力1654として、1又は複数の指定された列の同時条件付き分布の表現をさらに返す。
図16Eは、開示される実施形態に従う一方法を示すフロー図1632である。方法1632は処理ロジックによって実行されてもよく、この処理ロジックには、本明細書に記載されるとおり予測クエリインターフェースを備えてPREDICTコマンドを実施するシステム、装置及び方法に従ったハードウェア(例えば、回路、専用ロジック、プログラマブルロジック、マイクロコード等)、ソフトウェア(例えば、送信、送出、受信、実行、生成、算出、記憶、公開、問い合わせ、処理などの様々なオペレーションを実行するように処理装置上で実行される命令)等を含み得る。例えば、図1のホスト組織110、図4のマシン400又は図16Dのシステム1631は、記載される方法論を実施することができる。以下にリストアップされるブロック及び/又はオペレーションのいくつかは、特定の実施形態において任意的である。提示されるブロックの番号付けは明りょうさのためであり、様々なブロックが生じるべきオペレーションの順序を規定する意図はない。
ブロック1691において、処理ロジックは、列及び行のデータセットからインデックスを生成する。上記インデックスは、データセットの行と列とにおける確率的関係を表す。
ブロック1692において、処理ロジックは、ホスト組織のデータベース内にインデックスを記憶する。
ブロック1693において、処理ロジックは、要求インターフェースを介してホスト組織のデータベースを公開する。
ブロック1694において、処理ロジックは、要求インターフェースにおいて、データベースに対しての、少なくとも(i)PREDICTコマンドタームと(ii)予測されるべき1又は複数の指定された列と(iii)固定されるべき列名と該列名を固定するための値とを指定する1又は複数の列名=値ペアとを指定するクエリを受信する。
例えば、上記(iii)に従ってPREDICTコマンドタームで渡される1又は複数の列名=値ペアは、単に例として、column_abc=‘string_xyz’、あるいは{column_abc=‘string_xyz’}、あるいはcolumn_abc=|‘string_xyz’などの形式を取り得る。クエリを受け入れるAPI及び/又はクエリインターフェースに従って、他のシンタックスが許容可能である。さらに、複数の上記の列名=値ペアが渡されてもよい。
ブロック1695において、処理ロジックは、データベースに記憶されたインデックスを用いて、列名=値ペアに従って固定された予測されるべき1又は複数の指定された列の同時条件付き分布の表現を生成するように、PREDICTコマンドタームを用いて、予測されるべき1又は複数の指定された列と1又は複数の列名=値ペアとを渡して、データベースに問い合わせる。
処理ロジックはさらに、例えば、クエリに応答しての予測レコードセット内において、出力として、1又は複数の指定された列の同時条件付き分布の表現を返してもよい。
別の実施形態によれば、方法1632はさらに、問い合わせることに応答して予測レコードセットを生成することを含み、予測レコードセットはその中に複数の要素を含み、要素の各々は、予測されるべき1又は複数の指定された列の各々についての値を指定する。上記方法はさらに、クエリに応答して予測レコードセットを返すことを含む。
方法1632の別の実施形態によれば、ホスト組織のデータベースを公開することは、認証されたユーザに対して直接、予測問い合わせ言語アプリケーションプログラミングインターフェース(PreQL API)を公開することを含み、PreQL APIは、認証されたユーザにとってパブリックインターネットを介してアクセス可能である。
方法1632の別の実施形態によれば、PREDICTコマンドタームを用いてデータベースに問い合わせることは、データベースにPreQLクエリを渡すことを含み、PreQLクエリは、必要なタームとしてのPREDICTコマンドタームと、予測されるべき1又は複数の指定された列を指定する、必要なTARGETタームと、固定されるべき列名と該列名を固定するための値とを1又は複数の列名=値ペアとして指定する、必要なWHEREタームであって、指定されたとおりの固定されるべき1又は複数の列と該列を固定するための対応する値とに確率的に関連する要素を返した予測レコードセットに、クエリの出力を制限する、WHEREタームと、任意的なFROMタームであって、この任意的なFROMタームが指定されたときは問い合わせられるべき1又は複数のテーブル、データセット、データソース及び/又はインデックスを指定する、FROMタームと、のクエリシンタックスを有する。
方法1632の別の実施形態によれば、PREDICTコマンドタームを用いてデータベースに問い合わせることは、JavaScript Object Notation(JSON)構造化されたクエリをデータベースに渡すことを含み、JSON構造化されたクエリは、必要なタームとしてのPREDICTコマンドタームと、予測されるべき1又は複数の指定された列の必要な指定と、1又は複数の列名=値ペアとしての固定されるべき列名と該列名を固定するための値との必要な指定であって、1又は複数の列名=値ペアを介して指定されるとおりの固定されるべき1又は複数の列と該列を固定するための対応する値とに確率的に関連する要素を返した予測レコードセットに、クエリの出力を制限する、指定と、問い合わせられるべき1又は複数のテーブル、データセット、データソース及び/又はインデックスの任意的な指定と、のクエリシンタックスを有する。
方法1632の別の実施形態によれば、ホスト組織のデータベースを公開することは、認証されたユーザに対して直接、ウェブフォームを公開することを含み、このウェブフォームは、認証されたユーザにとってパブリックインターネットを介してアクセス可能である。
方法1632の別の実施形態によれば、ホスト組織は、ウェブフォームからの入力に基づいて、データベースに対してサブミットするための予測クエリを生成する。PREDICTコマンドタームを用いてデータベースに問い合わせることは、ホスト組織内で予測問い合わせ言語アプリケーションプログラミングインターフェース(PreQL API)を介して予測クエリを用いてデータベースに問い合わせることを含み、PreQL APIは、認証されたユーザにウェブフォームを通して間接的に公開される。
別の実施形態によれば、方法1632はさらに、元々データセットの中にある列の各々について、予測された値を指定する予測レコードセットを返すことを含む。
別の実施形態によれば、方法1632はさらに、問い合わせることに応答して合成データセットを返すことを含み、この合成データは、行と列とにおけるインデックスの確率的関係に従って、データセットに元々備わる行及び列と矛盾しないデータを有する合成行を含むが、データセットのいずれの元のレコードも含まない。
方法1632の別の実施形態によれば、合成データセットを返すことは、データセットからの金融レコードを匿名にすることと、データセットからの医療レコードを匿名にすることと、データセットからのインターネットユーザレコードを匿名にすることとのうち、少なくとも1つを含む。
別の実施形態によれば、方法1632はさらに、インデックスを用いてデータセットの行と列とにおける確率的関係に基づいて分布を返すことを含み、上記の返される分布は、データセットの列及び行から数学的に導出されるインデックスからの合成データを含むが、データセットのいずれの元のレコードにもなかったデータに関する情報を含み、さらに、分布が導出されるもとのインデックスは、データセットの元のレコードのデータの範囲に制約されない。
別の実施形態によれば、方法1632はさらに、分布についての信頼度スコアであって、0から1に及び、0は予測された値に自信がないことを示し、1は予測された値における最大のあり得る自信を示す、信頼度スコアと、最小及び最大値を示す信頼区間であって、この区間の間にある値が存在する明らかな自信がある、信頼区間と、のうち少なくとも1つを返すことを含む。
方法1632の別の実施形態によれば、確率的関係に基づいて分布を返すことは、データベースに問い合わせるときにPREDICTコマンドタームで任意的なレコードカウントタームを渡すことであって、この任意的なレコードカウントタームは問い合わせることに応答して返されるレコードの数量を指定する、ことと、レコードカウントにより指定される数量のレコードを返すために必要な、処理リソースの必要な数量を決定することと、をさらに含む。
方法1632の別の実施形態によれば、確率的関係に基づいて分布を返すことは、データベースに問い合わせるときにPREDICTコマンドタームで最小精度閾値を渡すことと、下限として最小精度閾値を満足するために返されるべきサンプルの必要な個体数(population)を決定することと、をさらに含む。
方法1632の別の実施形態によれば、PREDICTコマンドタームを用いてデータベースに問い合わせることは、PREDICTコマンドタームについて、データベースに対して、予測問い合わせ言語(PreQL)構造化されたクエリを実行することを含み、上記方法はさらに、データベースに対して1又は複数のさらなるPreQL構造化されたクエリを実行することを含み、1又は複数のさらなるPreQL構造化されたクエリの各々は、PREDICT、RELATED、SIMILAR及びGROUPを含むPreQLコマンドのグループから選択される少なくとも1つのコマンドを指定する。
別の実施形態によれば、方法1632はさらに、認証された加入者からデータセットを受信し、その後、認証された加入者からデータベースに対してのクエリを受信することと、インデックスを生成するように、認証された加入者のためにデータセットを処理することと、を含む。
方法1632の別の実施形態によれば、データセットの中の複数の行の各々はエンティティに対応し、複数の列の各々はエンティティについての特性に対応し、各々のそれぞれの行と複数の列の各々とにおける交点は、セルを形成して交点における値を記憶する。
別の実施形態によれば、命令を記憶させた非一時的コンピュータ可読記憶媒体があり、上記命令は、ホスト組織におけるプロセッサにより実行されると、列及び行のデータセットからインデックスを生成することであって、上記インデックスは、データセットの行と列とにおける確率的関係を表す、ことと、ホスト組織のデータベース内にインデックスを記憶することと、要求インターフェースを介してホスト組織のデータベースを公開することと、要求インターフェースにおいて、データベースに対しての、少なくとも(i)PREDICTコマンドタームと(ii)予測されるべき1又は複数の指定された列と(iii)固定されるべき列名と該列名を固定するための値とを指定する1又は複数の列名=値ペアとを指定するクエリを受信することと、データベースに記憶されたインデックスを用いて、列名=値ペアに従って固定された予測されるべき1又は複数の指定された列の同時条件付き分布の表現を生成するように、PREDICTコマンドタームを用いて、予測されるべき1又は複数の指定された列と1又は複数の列名=値ペアとを渡して、データベースに問い合わせることと、を含むオペレーションをホスト組織に実行させる。
図16Fは、記載される実施形態に従う一例示的アーキテクチャを描いている。ここに描かれている実施形態は、PREDICTコマンドタームを指定するクエリ1657がゼロ個の列を固定して利用されること、すなわち、PREDICTコマンドタームで渡される列IDが全くないことを除き、図16Dの実施形態と同一である。結果として、クエリ1657に応答して返される出力1658は、データセットのあらゆる列について予測された値を備えた、1又は複数のエンティティ行を有する生成された合成データを提供する。
一実施形態によれば、ホスト組織1610は、少なくとも1つのプロセッサ1681とメモリ1682とを有するシステム1635を稼働させる。システム1635は、列及び行のデータセットからインデックスを生成する分析エンジン1685を含み、上記インデックスは、データセットの行と列とにおける確率的関係を表す。上記のシステム1635はさらに、インデックスを記憶する予測データベース1650と、予測データベースを、例えばユーザ又はクライアント装置1606A‐Cに対して公開する要求インターフェース1676であって、データベース1650に対してのクエリ1657を受信する、要求インターフェース1676と、を含み、クエリ1657は、PREDICTコマンドタームを指定し、且つ、列IDがPREDICTコマンドタームで渡されないように固定される列がゼロ個である。上記のシステムにおいて、クエリインターフェース1680は、データセットのあらゆる列について予測された値を備えた、1又は複数のエンティティ行を有する生成された合成データを出力として生成するように、いかなる指定された列もなしにPREDICTコマンドタームを用いて予測データベース1650に問い合わせる(1657)。上記のシステム1635において、要求インターフェース1676は、クエリ1657に応答して出力1658として、データセットのあらゆる列について予測された値を備えた、1又は複数のエンティティ行を有する生成された合成データをさらに返す。
図16Gは、開示される実施形態に従う一方法を示すフロー図1633である。方法1633は処理ロジックによって実行されてもよく、この処理ロジックには、本明細書に記載されるとおり予測クエリインターフェースを備えてPREDICTコマンドを実施するシステム、装置及び方法に従ったハードウェア(例えば、回路、専用ロジック、プログラマブルロジック、マイクロコード等)、ソフトウェア(例えば、送信、送出、受信、実行、生成、算出、記憶、公開、問い合わせ、処理などの様々なオペレーションを実行するように処理装置上で実行される命令)等を含み得る。例えば、図1のホスト組織110、図4のマシン400又は図16Fのシステム1635は、記載される方法論を実施することができる。以下にリストアップされるブロック及び/又はオペレーションのいくつかは、特定の実施形態において任意的である。提示されるブロックの番号付けは明りょうさのためであり、様々なブロックが生じるべきオペレーションの順序を規定する意図はない。
ブロック1670において、処理ロジックは、列及び行のデータセットからインデックスを生成する。上記インデックスは、データセットの行と列とにおける確率的関係を表す。
ブロック1671において、処理ロジックは、ホスト組織のデータベース内にインデックスを記憶する。
ブロック1672において、処理ロジックは、要求インターフェースを介してホスト組織のデータベースを公開する。
ブロック1673において、処理ロジックは、要求インターフェースにおいて、データベースに対しての、PREDICTコマンドタームとPREDICTコマンドタームで渡されるべき1又は複数の指定された列とを指定するクエリを受信する。
ブロック1674において、処理ロジックは、出力を生成するように、PREDICTコマンドタームと1又は複数の指定された列とを用いてデータベースに問い合わせる。この出力は、データベースに記憶されたインデックスを用いて、データセットのあらゆる列について予測された値を備えた、1又は複数のエンティティ行を有する生成された合成データを含む。
処理ロジックはさらに、例えば、クエリに応答しての予測レコードセット内に、出力として、生成された合成データを返してもよい。
別の実施形態によれば、方法1633はさらに、問い合わせることに応答して、合成データセットとして、データセットのあらゆる列について予測された値を備えた、1又は複数のエンティティ行を有する生成された合成データを返すことを含み、この生成された合成データは、行と列とにおけるインデックスの確率的関係に従って、データセットに元々備わる行及び列と矛盾のないデータを中に有する合成行を含むが、データセットのいずれの元のレコードも含まない。
方法1633の別の実施形態によれば、合成データセットを返すことは、データセットからの金融レコードを匿名にすることと、データセットからの医療レコードを匿名にすることと、データセットからのインターネットユーザレコードを匿名にすることとのうち、少なくとも1つを含む。
別の実施形態によれば、命令を記憶させた非一時的コンピュータ可読記憶媒体があり、上記命令は、ホスト組織におけるプロセッサにより実行されると、列及び行のデータセットからインデックスを生成することであって、上記インデックスは、データセットの行と列とにおける確率的関係を表す、ことと、ホスト組織のデータベース内にインデックスを記憶することと、要求インターフェースを介してホスト組織のデータベースを公開することと、要求インターフェースにおいて、データベースに対しての、PREDICTコマンドタームを指定し且つPREDICTコマンドタームで列IDが渡されないように固定される列がゼロのクエリを受信することと、出力を生成するように、PREDICTコマンドタームと1又は複数の指定された列とを用いてデータベースに問い合わせることであって、この出力は、データベースに記憶されたインデックスを用いて、データセットのあらゆる列について予測された値を備えた、1又は複数のエンティティ行を有する生成された合成データを含む、ことと、を含むオペレーションをホスト組織に実行させる。
図17Aは、欠落値を有する表形式データセットをPREDICTコマンドタームを活用することによって表示し及び操作するグラフィカルユーザインターフェース(GUI)1701を描いている。より具体的に、表示インターフェースにおいてユーザに対してGUIが提供され、ユーザが列及び行を有するデータセットをアップロードし又は指定し、それからこのデータセットをテーブルとして表示し、このテーブルに、欠落した値(例えば、ヌル値)に予測された値を投入することによる操作を受けさせることを許可する。要素1707において、ユーザは、GUI1701を介して分析され及び表示されるべきデータを指定する。例えば、ユーザは、ファイル、例えばエクセルスプレッドシートなどについてローカルのコンピューティング装置を閲覧し、それから、このファイルを分析のためにシステムにアップロードすることができ、あるいは、ユーザは代わって、GUI1701を提供しているホスト組織にとってアクセス可能なデータセットを指定することができる。例えば、ホスト組織はクラウドベースサービス提供者であり、ユーザのデータセットがクラウド内に既に存在している場合、ユーザは、要素1707におけるアクションを介して、上記データセットをデータソースとして単純に指定することができる。
図17Aに描かれる例において、ユーザにより提供された表示されたテーブルは、61%埋められている。このテーブルは、提供されたユーザのデータセットが多くの欠落したデータ要素を有するため、部分的にしか埋められていない。グレイスケールで現在表示されている値は既知の値を描いており、例えば、要素1703により描かれたProanthocyanine列の中の最上行における既知の値“1.38”などである。2列右のProline列において、要素1702により描かれるとおりの単に空のセルで表された、最上行に表されたヌル値がある。
この初期描画において、すべての既知の値1703が描かれ、下層のデータセット内の実際の観察されたデータに対応する。この実施形態によれば、閾値修正器として動作するスライダ1705が左手側の端にあり、いかなる予測された値も表示されることなくすべての既知の値が表示される場合の最小の埋まり(フィル)1704を表している。したがって、表示されるすべての値の信頼度は、提供されるデータセット内にすべての値が実際に観察され、値が予測されていない場合、100%であると考えることができる。スライダ制御は、テーブルのフィルパーセンテージを制御する閾値修正器として利用することができ、この閾値修正器が同様に、ユーザの指定されたフィルパーセンテージを達成するよう必要な信頼度閾値を改造する。あるいは代わって、スライダ制御は、ユーザの受け入れ可能な不確かさレベルを制御する閾値修正器として利用することができ、ゆえに、ユーザの指定された受け入れ可能な不確かさレベルが変わるとき、テーブルのフィルのパーセンテージが、ユーザの指定された受け入れ可能な不確かさレベルに準拠する利用可能な予測値に従って増加し、あるいは減少することになる。他の実施形態において、受け入れ可能な不確かさレベルは、例えば、テキストエントリボックス又は他のコントロール手段を介して指定されてもよい。
ユーザは、ダウンロード1706アクションをクリックして、表示されたテーブルを様々なフォーマットにおいてダウンロードすることができるが、こうしたテーブルは、データ1707アクションを介してちょうど指定され又はアップロードされたソーステーブルに対応することになる。
値が予測されないが、ユーザは単に、欠落した値についてのデータフィルを増加させるようにスライダを動かし、GUIの機能性にユーザのために予測機能を利用させてもよい。スライダのちょうど上で、ユーザは、最小フィル1704の現在の状態を知らされ、これは、表示されている例によれば上述されたとおり61%であるが、スライダが動かされるときに変化することになる。
図17Bは、グラフィカルユーザインターフェースの別のビューを描いている。ここで、表示されたテーブルは、ヌル値(例えば、欠落したデータ)のうちすべてではないがいくつかに、予測された値を投入している。例えば、ユーザの下層のデータセット内でヌル値に対応していた、Proline列における最上行の中の事前に空であったセルが、要素1708により描かれるとおり、予測された値“564”をここでは投入されている。特に、値564は、ユーザーの下層のデータセット内のこの場所に存在せず、ユーザの下層のデータセット内で観察されていなかった。むしろ、GUI1701は、ユーザのためにPREDICTEDコマンドタームコールを構成して、予測された値1708の結果を取り出して、ここに表示させている。この例において、グレイスケールにおける値のすべてが既知の値であり、ベタの黒で表示されたテーブルの値のすべてが、同じデータセットの事前に未知であったヌル値を置換している予測された値である。
スライダは、要素1709により描かれるとおり73%のフィルをここでは示しており、すべてではないがいくつかの欠落した値が、予測された値をここでは投入されている。フィルレベルは、スライダを前後に単に動かすことによってユーザ制御可能であって、ユーザの指定された受け入れ可能な不確かさレベルが増加され又は減少されるとき、それぞれ、GUI1701に、欠落したデータ値に予測された値を投入させ、あるいは予測された値を除去させる。
この例に描かれていないものに、ユーザ構成可能な最小信頼度閾値があり、この閾値は、テキストボックス、ドロップダウン、スライダ等を介して設定されてよい。こうしたGUI要素は、ユーザがGUI1701に表示されるべき予測された値に必要な最小信頼度を指定することを許可する。一実施形態において、最小信頼度閾値を有することは、最大フィル値が表示されることをさらにもたらし、それから、要素1709におけるスライダは、最小信頼度閾値により限定されるとおり、最大フィルに限定される。
これは、なぜならば、フィルパーセンテージが増加するとき、ヌル値に投入される予測された値の信頼度品質を下げることが必要だからである。反対に、フィルパーセンテージが減少するとき、信頼度品質は増加し得る。
ゆえに、ユーザが完璧な(例えば、100%の)信頼度品質を指令する場合、いかなる欠落した値も100%の信頼度で予測することはありそうにないため、いかなるヌル値も埋めるということはできそうにない。しかしながら、すべての実際に観察された値は、これらが100%の信頼度で下層のデータセットから知られているため、表示され続けることになる。反対に、同じユーザが非常に低い信頼度(例えば、25%)を指令する場合、25%の要件は信頼度品質の観点で低い閾値であるため、すべてではないがほとんどの欠落した値を予測することができる可能性が高い。下層のデータセットの品質、下層のデータセットの中の個体数のサイズ等に依存して、すべての又はほぼすべてのヌル値が比較的高い(例えば、80%の)信頼度で予測され得ることが、いくつかのデータセットで実現可能である。これにかかわらず、GUI1701は、ユーザがPREDICTコマンドタームがどのように動作するか、それがどんな入力を必要とするか、PreQL又はJSON APIコールの作り方等を理解する必要さえなく、自身のデータセットをかなり直感的な方法で試すことを許可する。こうしたGUI1701は、したがって、分析エンジンのコアにより提供される予測能力を利用したい一般ユーザの学習曲線を大幅に低下させることができる。
図17Cは、グラフィカルユーザインターフェースの別のビューを描いている。ここで、GUI1701は、その事前に描かれた既知の値1703と予測された値1708とを保有するが、ユーザ制御可能なスライダは、要素1709により描かれるとおり100%の最大フィルまで右の端に動かされており、したがって、すべての既知の値がテーブル表示の中に留まるが、さらにデータセットの中のヌル値の100%が投入され、GUI1701に表示されている。
さらに、これまでに述べられた最小信頼度閾値を(例えば、ドロップダウン、テキストボックス、スライダ、ラジオボタン等を介して)指定する任意的な入力フィールドとして、要素1710に最小信頼度閾値アクションが示されている。ゼロより大きい最小信頼度閾値を用いて100%において表示することができるテーブルもあれば、一方、最小信頼度閾値が1710において指定される場合、データセットの下層の品質が不十分である場合には上記閾値がゼロ又はその付近である必要があり得ることを要するテーブルもある。こうした決定は、データ要素の確率的相互関係と雑音があること又はないこととに従って、データセットから外れることになる。
上記のことにかかわらず、1710において指定される最小信頼度閾値は、一般ユーザがかなり直感的な方法で自身のデータセットを試すことを許可する。ユーザが、1710において、100%のフィルを許可しない最小信頼度閾値を指定する場合、埋められる最大の%、又はフィルパーセンテージは、スライダが右の端に動かされるとき、1710において、ユーザにより設定された最小信頼度閾値に従って実現可能なフィルの程度を示すことになる。
テーブルが100%のフィルで表示されるため、すべてのヌルの又は欠落した値が予測されるが、100%のフィルを達成するために信頼度をいくらか下げる必要があり得る。この場合、1710における任意的な最小信頼度閾値は、設定されないまま、グレイアウトされたまま、活性化されないまま、又は単純にユーザに対して表示されないままとなり得る。
特定の実施形態によれば、スライダバーを介してユーザにより選択される(又は、1710における任意的な最小信頼度閾値を介して制御される)、選ばれたフィルレベル又は受け入れ可能な不確かさレベルは、表示されたデータセットを捕捉するように、ダウンロードアクションをクリックすることによって「保存する」ことができる。表示されたコピーは、新しいバージョンとして保存し、あるいはユーザの自由裁量においてテーブルの元のバージョンの上に保存することができる。こうして、提供された予測値が保存され、又はユーザのローカルコピー内のセルの場所に入力される結果になる。さらに、実際の既知の及び観察された値から予測された値を区別するために、メタデータが使用されてもよく、したがって、データセットの後の使用がユーザの試行活動によって破損され又は誤って影響されることがない。
要素1709における制御スライダが実現可能である理由は、ユーザが、予測されるべき値、例えば“収入”の欠落した値などについて尋ねるとき、PREDICTコマンドタームAPIコールをするGUI機能性に対して実際に返されるものが、インデックスを生成するために分析エンジンモデリングにより予測されたとおりのそれぞれの個人の収入分布であり、それから上記インデックスがPREDICTコマンドタームにより問い合わせられるからである。予測された値についての返される分布は、GUIが表示すべき値を選択すること及び信頼度品質に従って表示を制限することを許可する。他の実施形態において、分布ではなく信頼度指標が返される。
上記のGUIインターフェース又は上記の概念を概して使用することによって、ユーザは、精度及び信頼度に関して制御を与えられる。こうして、ユーザは、どれほどの量のデータが埋められることになるかと、そうである場合に信頼度品質閾値がどの程度まで適用されるかとを操作することができる。舞台裏で、ユーザから見えないところで、GUI1701は、ユーザにより指定された分析されるデータセットに対して、PREDICTコマンドタームAPIコールをする。分析エンジンは、ユーザのデータセット、例えば、大量のタイプの列を有するテーブルなどを選び、それから、GUI1701の要求において、ヌル値を有するあらゆる1つ1つのセルについて、予測をレンダリングする。欠落している各セルについて、GUI1701は、PREDICTコマンドタームAPIコールから分布又は信頼度指標を返され、スライダがユーザにより操作されるとき、GUIのスライダの機能性は、ヌル値についての分布を調べ、ヌル値の分布についての分散を調べ、それから、例に示される予測された値として推定を表示する。ゆえに、欠落したヌル値の代わりに予測された結果を有する任意の所与のセルについて、PREDICTコマンドターム機能性を活用することによるGUI1701は、下層のデータセットの中の複数の他の既知の値又は観察された値を調べたことに基づいて、ヌル値に対する値をユーザに対して表す。GUI1701自体はデータセットの分析を実行しないが、上記で述べられたとおりPREDICTコマンドタームAPIコールから返されるデータから専ら恩恵を受ける。
一実施形態によれば、表形式における生データにすぎないもの、例えば、スプレッドシートにおけるデータ、リレーショナルデータベースの1又は複数のテーブル内に記憶されたデータなどを始めとして、データを予測データベースにアップロードし又は挿入するために、UPLOADコマンドタームAPIコールがGUIによって最初行われる。上記予測データベースにおいて、分析エンジンが、自動的にか、あるいはANALYZEコマンドタームAPIコールに応答してのいずれかで、上記データを分析するように動作する。例えば、ユーザがこの機能性に対するアクセスのためにサービス料を支払う場合、GUIは、データをアップロードされるとユーザに価格設定を示し、分析エンジンによる分析をトリガする前に受け入れを要求してもよい。他の例において、分析エンジンは、単に自動的に分析を実行する。上記のことにかかわらず、ユーザにより指定されたデータをアップロードされると、データはただ、すべての他の表形式データのように見えるが、いったんアップロードされ、分析エンジンにより分析されると、確率モデルがデータに対して実行され、分析エンジンはそのモデリングを通して、行及び列がどのように互いに相互作用するかを学習し、このことを通して様々な確率関係及び因果関係が築かれ、本明細書に記載されたとおり生成されたインデックス内に表される。例えば、生成される統計的なインデックスは、例えば、列の特定のサブセットが因果の起源を共有しそうであることを学習するために、列が互いにどのように関連しているか及びどの列が互いに関連しているかを見つけ出す。
分析エンジンがその分析を、きれいな及び完璧なデータセットではなくユーザにより提供される実世界データを用いて実行し、分析されるべきデータの下層の構造を前もって知ることなく、上記のことを大抵行わなければならないことは、難しい問題である。実世界に存在するデータにおいて、いくつかの列は価値がなく、いくつかの列は重複であり、いくつかの列は異種であり(例えば、一貫性のあるデータタイプにされていない)、いくつかの列は、単にまばらに投入されたデータを有する雑音であり、あるいは雑音のあり誤りのあるデータを投入されているなどする。分析エンジンは、その分析インデックスと他のモデリングとを通して、完璧にきれいなデータ又は標準化されたデータ構造がないにもかかわらず、適切な関係及び因果関係を識別する。
統計的インデックスと他のモデリングとを通して、インデックスの分布が、記載されたGUI1701により利用されるクエリを含む予測クエリのサポートにおいて、問い合わせ可能インデックスとして記憶されたモデルをもたらす。PREDICTコマンドタームと他の予測PreQLクエリとをさらに利用する他の特化されたGUI及びAPIツールが、ビジネス機会スコア付け、次の最良オファーの識別等を含む。上記及び他の例が、本明細書において後にさらに詳細に記載される。
図17Dは、記載される実施形態に従う一例示的アーキテクチャを描いている。具体的に、顧客組織1705A、1705B及び1705Cが描かれており、各々がユーザのクライアント装置及びディスプレイ1706A、1706B及び1706Cを備え、ユーザのクライアント装置及びディスプレイ1706A、1706B及び1706Cは、入力、クエリ及び要求を送ること並びに表示のための出力を含む応答を応答的に受信することを含め、ネットワーク1725を介してホスト組織1710とインターフェースをとる能力がある。ホスト組織1710内に要求インターフェース1776があり、要求インターフェース1776は場合によりウェブサーバ1775によって実施されてもよい。ホスト組織は、プロセッサ1781、メモリ1782、クエリインターフェース1780、分析エンジン1785、及びマルチテナントデータベースシステム1730をさらに含む。マルチテナントデータベースシステム1730内に実行ハードウェア、ソフトウェア及びロジック1720があり、実行ハードウェア、ソフトウェア及びロジック1720は、マルチテナントデータベースシステム1730の複数のテナントと認証器1798と予測データベース1750とにわたって共有され、予測データベース1750は、予測データベース1750に対して実行されるクエリに応答して予測レコードセットを返すことを容易にするように、分析エンジン1785により生成されたインデックスを記憶する能力がある。
一実施形態によれば、ホスト組織1710は、少なくとも1つのプロセッサ1781とメモリ1782とを有するシステム1711を稼働させる。システム1711は、入力としてユーザから表形式データセット1753を受信する要求インターフェース1776を含み、上記表形式データセットは、列及び行として編成されたデータ値を含む。ユーザは、表形式データセット1753をファイル添付として提供することができ、あるいは表形式データセット1753の場所を指定することができる。上記のシステム1711はさらに、ユーザから受信され又はユーザにより指定された表形式データセット1753内の複数のヌル値を識別する分析エンジン1785を含み、上記ヌル値は、表形式データセット1753内の複数の行と複数の列とにわたって散在している。こうした一実施形態において、分析エンジン1785はさらに、列及び行の表形式データセットからインデックス1754を生成し、このインデックスは、表形式データセット1753の行と列とにおける確率的関係を表す。要求インターフェース1776は、表示出力1755として表形式データセットをユーザに返し、表示出力1755は、既知の値として描かれるデータ値と未知の値として描かれるヌル値とを含む。要求インターフェース1776はさらに、ユーザから、投入するための入力1756を受信する。上記の入力は、例えば、スライダ制御を介した入力、ユーザ指定された最小信頼度閾値等であり得る。ユーザから受信された投入するための入力1756は、表示された表形式データセット内の未知の値のうち少なくとも一部分が、予測データベース1750内に記憶されたインデックスから取り出される予測された値1758を投入されることになることを指定する。上記の予測された値1758は、分析エンジン1785及び/又はクエリインターフェース1780によって予測データベース1750に対して構築され及び発行されたクエリ1757に応答して、予測データベース1750内に記憶されたインデックスから返すことができる。
例えば、上記のシステムにおいて、クエリインターフェース1780は、予測される値1758のために(例えば、クエリ1757を介して)インデックスに問い合わせることができ、その後、要求インターフェース1776が、ユーザのクライアント装置及びディスプレイ1706A‐Cを介して、予測された値1758を更新された表示出力1759としてユーザに返す。例えば、次いで、更新された表示出力は、ユーザにより提供され又は指定された元の表形式データセット1753内において欠落したデータ又はヌル値のエントリに対応していた、事前に描かれていた未知の値に代わって、予測された値をここでは描くユーザのクライアント装置及びディスプレイ1706A‐Cを提示する。
別の実施形態によれば、システム1711はさらに、分析エンジンにより生成されたインデックスを記憶する予測データベース1750を含む。こうした一実施形態において、予測データベース1750は、オンデマンドのクラウドベースのサービスとして、ホスト組織1710において、1又は複数の加入者のために実行されるものである。
別の実施形態において、システム1711はさらに、ユーザ(例えば、ユーザのクライアント装置及びディスプレイ1706A‐Cの1つにおけるユーザ)を既知の加入者として検証する認証器1798を含む。それから、認証器1798はさらに、既知の加入者により提示される認証クレデンシャルを検証するように動作する。
別の実施形態において、システム1711はさらに、要求インターフェースを実施するウェブサーバ1775であって、入力として、ネットワークを介してホスト組織と通信可能にインターフェースをとる複数の顧客組織の中の1又は複数のクライアント装置から複数のアクセス要求を受信する、ウェブサーバ1775と、予測データベースを実施する予測データベース機能性を備えたマルチテナントデータベースシステムと、を含む。各顧客組織は、別個かつ区別可能なリモートの組織、ホスト組織内の組織グループ、ホスト組織のビジネスパートナー、又はホスト組織により提供されるクラウドコンピューティングサービスに加入している顧客組織から成るグループから選択されたエンティティである。
図17Eは、開示される実施形態に従う一方法を示すフロー図である。方法1721は処理ロジックによって実行されてもよく、この処理ロジックには、本明細書に記載されるとおり表形式データセット及び予測された値をユーザディスプレイに表示するシステム、装置及び方法に従ったハードウェア(例えば、回路、専用ロジック、プログラマブルロジック、マイクロコード等)、ソフトウェア(例えば、送信、送出、受信、実行、生成、算出、記憶、公開、問い合わせ、処理などの様々なオペレーションを実行するように処理装置上で実行される命令)等を含み得る。例えば、図1のホスト組織110、図4のマシン400又は図17Dのシステム1711は、記載される方法論を実施することができる。以下にリストアップされるブロック及び/又はオペレーションのいくつかは、特定の実施形態において任意的である。提示されるブロックの番号付けは明りょうさのためであり、様々なブロックが生じるべきオペレーションの順序を規定する意図はない。
ブロック1791において、処理ロジックは、入力としてユーザから表形式データセットを受信する。上記表形式データセットは、列及び行として編成されたデータ値を有する。
ブロック1792において、処理ロジックは、表形式データセット内の複数のヌル値を識別する。上記ヌル値は、表形式データセットの複数の行と複数の列とにわたって散在している。
ブロック1793において、処理ロジックは、列及び行の表形式データセットからインデックスを生成する。上記インデックスは、表形式データセットの行と列とにおける確率的関係を表す。
ブロック1794において、処理ロジックは、表形式データセットを出力としてユーザに表示する。この表示される出力は、既知の値として描かれるデータ値と未知の値として描かれるヌル値とを含む。
ブロック1795において、処理ロジックは、上記の表示された表形式データセット内の未知の値のうち少なくとも一部分に予測された値を投入するための入力をユーザから受信する。
ブロック1796において、処理ロジックは、予測された値についてインデックスに問い合わせる。
ブロック1797において、処理ロジックは、予測された値を更新された出力としてユーザに表示する。
特に、データセット内において「未知の値」又は「ヌル値」により表される空白値は、表形式データセット内でいずれかの場所で生じる可能性があるが、分析エンジンのコアに分析させることによってユーザが直感的にデータセットを探索することを許可し、様々な基準、例えば、図17A乃至図17CのGUIを介して提示された最小信頼度閾値、ユーザ構成可能なスライダメカニズム等に従って、データがどこで欠落していてもユーザが値を埋めることをシームレスに可能にする。Microsoftのエクセルプログラムは、アルゴリズムに基づいて次の列にわたって又は次の行へ下方に算出することにおいてとても良いが、こうした従来のスプレッドシートプログラムは、特に単一行内に複数未知の値があり、あるいは単一列内に複数の欠落した値があるとき、種々の行及び種々の列にわたってデータセット内において欠落した値又は穴を容認することはできない。
分析され及びユーザに戻されて表示される表形式データセットは、エクセルのスプレッドシートが動作し得るように関係位置に基づいて既知のアルゴリズムを別のセルの場所にコピーすることによっては動作しない。むしろ、ユーザにとって欠落した又は未知の値の投入及び表示は、それぞれのセルの場所についての予測される値について問い合わせ及び受信することに基づき、上記それぞれのセルの場所が、ユーザに戻されて表示される表形式データセット内でユーザに対して表示される。これは、元々受信されたデータセットからの確率に基づくインデックスの分析及び生成をとおして可能にされる。エクセルスプレッドシートなどの従来のソリューションは、上記の分析を単に実行せず、上記のインデックスを生成しない。そのようなものとして、従来のソリューションは、データセットの複数の行及び列にわたって広がる複数の欠落したセルについての予測された値をレンダリングすることはできない。
一実施形態によれば、欠落したセルのすべてについての予測が、受信された表形式データセット全体について決定される。それから、ユーザが特定の確かさレベル(例えば、最小信頼度レベルなど)を選択するとき、基準を満たす値を用いて表示が更新される。例えば、欠落した値を備え、デフォルト閾値又はユーザ指定された閾値を超える対応する信頼度指標での予測された値を有するセルが、ユーザに対して表示されることができる。
方法1721の別の実施形態によれば、列及び行の表形式データセットからインデックスを生成することはさらに、ホスト組織のデータベース内にインデックスを記憶することを含み、予測される値についてインデックスに問い合わせることは、予測される値についてデータベースに問い合わせることを含む。
方法1721の別の実施形態によれば、表示された表形式データセット内の未知の値のうち少なくとも一部分に予測された値を投入するための入力をユーザから受信することは、表示された表形式データセット内のすべての未知の値に予測された値を投入する入力をユーザから受信することを含み、予測される値についてインデックスに問い合わせることは、表形式データセット内で識別されたあらゆるヌル値についての予測される値についてインデックスに問い合わせることを含み、予測された値を更新された出力としてユーザに表示することは、すべての未知の値を対応する予測された値を表示することによって置換することを含む。
方法1721の別の実施形態によれば、表形式データセット内の複数のヌル値は、表形式データセットのいかなる行又は列に対しても制限されず、予測された値を更新された出力としてユーザに表示することは、いかなる行又は又は列に対しても制限なく、且つ予測された値が基づくインデックスを変えることなく、表形式データセットで表示される未知の値を置換する。
方法1721の別の実施形態によれば、予測された値についてインデックスに問い合わせることは、表形式データセット内の識別された複数のヌル値の各々及び1つごとについてインデックスに問い合わせることを含み、上記方法はさらに、問い合わせることに応答して表形式データセット内の識別された複数のヌル値の各々及び1つごとについて予測された値を受信することを含み、予測された値を更新された出力としてユーザに表示することは、受信された予測された値を表示することを含む。
方法1721の別の実施形態によれば、予測される値についてインデックスに問い合わせることは、表形式データセット内の識別された複数のヌル値の各々及び1つごとについて、PREDICTコマンドタームを指定する予測問い合わせ言語(PreQL)クエリを生成することと、生成されたPreQLクエリの各々を予測問い合わせ言語アプリケーションプログラミングインターフェース(PreQL API)に対して発行することと、発行されたPreQLクエリに応答して、表形式データセット内の識別された複数のヌル値の各々及び1つごとについて、予測された結果を受信することと、を含む。
方法1721の別の実施形態によれば、表形式データセットを表示することはさらに、スプレッドシートのセル内に既知の値を黒のテキストを用いて表示することと、スプレッドシート内で未知の値を空白セルとして表示することと、スプレッドシートのセル内に予測された値を色付けされた又はグレースケールのテキストを用いて表示することと、を含む。
方法1721の別の実施形態によれば、予測された値を更新された出力としてユーザに表示することは、グラフィカルユーザインターフェース(GUI)におけるスプレッドシート又はテーブル内に更新された出力を表示することを含み、既知の値は、第1のタイプのテキストにおいてGUIにおけるスプレッドシート又はテーブル内に投入されたセルとして表示され、予測された値は、既知の値に対応する第1のタイプのテキストとは識別可能な第2のタイプのテキストにおいて、GUIにおけるスプレッドシート又はテーブル内に投入されたセルとして表示され、任意の残りの未知の値は、GUIにおけるスプレッドシート又はテーブル内に空のセルとして表示される。
方法1721の別の実施形態によれば、表形式データセットを出力としてユーザに表示すること、及び、予測された値を更新された出力としてユーザに表示することは、グラフィカルユーザインターフェース(GUI)におけるスプレッドシート又はテーブル内に表形式データセットと予測された値とを表示することを含み、上記GUIはさらに、スプレッドシート又はテーブルについての受け入れ可能な不確かさ度合を指定するようにユーザにより制御可能なスライダインターフェースを含み、表示された表形式データセット内の未知の値のうち少なくとも一部分に予測された値を投入するための入力をユーザから受信することは、スライダインターフェースを介してユーザから入力として受け入れ可能な不確かさ度合を受信することを含む。
別の実施形態によれば、方法1721はさらに、GUIについての最小フィルパーセンテージを表示することを含み、上記最小フィルパーセンテージは、表形式データセットについてのすべてのヌル値とすべての既知の値との総計のうちの、表形式データセット内の既知の値のパーセンテージに対応する。
方法1721の別の実施形態によれば、スプレッドシート又はテーブルについての受け入れ可能な不確かさ度合を指定するようにユーザにより制御可能なスライダインターフェースは、表示された表形式データセットに完全に投入するために必要な最大の不確かさ度合と上記最小フィルパーセンテージとを包含する範囲に制限される。
例えば、表示された表形式データセットに完全に投入することは、100%のフィルパーセンテージをもたらすことになるが、ユーザが100%に等しい受け入れ可能な不確かさ度合を指定することは必ずしも必要ない。むしろ、表示された表形式データセットは、例えば50%のユーザ指定された受け入れ可能な不確かさ度合において、100%のフィルパーセンテージを達成する(例えば、あらゆる1つ1つのヌル又は未知の値が、予測された結果を投入される)ことが実現可能であり得る。ユーザがどの受け入れ可能な不確かさ度合を指定するかにかかわらず、受け入れ可能な不確かさ度合が増加されるとき、テーブルのより大きい部分が埋められることになり、受け入れ可能な不確かさ度合が減少されるとき、テーブルのより少ない部分が埋められることになる。こうして、ユーザは、予測信頼度が表示される結果にどのように影響するかを非常に直感的な方法で動的に探索することを許可される。
別の実施形態によれば、方法1721はさらに、スライダインターフェースを介して最大の受け入れ可能な不確かさ度合を指定するユーザによる入力に応答して、100%のフィルパーセンテージに対してGUIのスプレッドシート又はテーブルに投入することと、表形式データセット内の複数のヌル値の1つごとについて、予測された値が利用可能になるまで予測された値の各々についての必要な信頼度を下げることによって、すべてのヌル値に投入することと、を含む。
未知の値は、表形式データセットから単に欠落しているデータに対応し、一方、既知の値は、データが実際に観察されたため、真に確かである値として定義することができる。こうして、出力としてユーザに戻される表形式データセットの初期提示は、真に確かであるすべての値を含むことができ、すなわち、初期出力は、テーブル又はスプレッドシートタイプフォーマットにおける元の表形式データセット内で実際に観察されるすべての値を戻して単に表示することができる。ゆえに、未知の値は、依然として欠落していることになる。しかしながら、こうした表示は、既知のデータしか表示されないため、100%の信頼度において表示されることができる。ゆえに、表示される出力についてのフィルのレベル又は投入の程度は、最小フィルパーセンテージ、ユーザに表示されることができる値に対応する。
正反対の立場において、ユーザは、もともと提示された表形式データセットが未知の値を有するにもかかわらず、十分に投入されたテーブルを見ることを要求し得る。このことは、ゼロより大きい確かさを有するすべての予測された値をユーザに提示することによって達成することができ、ゆえに、表示されたテーブルを十分に埋めること又は表示されるテーブルに十分に投入することとして定義することができる。テーブルを十分に埋めるとき、識別されるいずれの空白もが、予測された値についての信頼度にかかわらず、予測された値を表示のために提供されることになる。ゆえに、“0”の確かさと“1”の確かさとの間のすべての値が表示される。こうしたビューはユーザにとって利用可能であるが、この表示はさらに、ある予測された値についての確かさが不十分であることを示し、あるいは、最も低い信頼度品質での予測された値についての信頼度スコアを示すなどの可能性がある。代替的な実施形態において、ユーザは、最小信頼度品質閾値を指定することができ、それから、表示される値は、ユーザ指定された最小信頼度品質閾値に基づいて制限されることになる。ユーザ指定された最小信頼度品質閾値がゼロより大きいように指定される場合、最大フィルパーセンテージは、ユーザ指定された最小信頼度品質閾値を超える信頼度で予測されることができないセルがありそうであるため、100%を下回る可能性がある。
こうして、別の実施形態によれば、方法1721はさらに、スプレッドシート又はテーブル内でユーザに対して出力として表形式データセットを表示するグラフィカルユーザインターフェース(GUI)においてユーザ制御可能な最小信頼度閾値を表示することと、ユーザ制御可能な最小信頼度閾値を介して入力としてユーザ指定された最小信頼度閾値を受信することと、を含み、予測された値を更新された出力としてユーザに表示することは、ユーザ指定された最小信頼度閾値に等しいか又はより大きい対応する信頼度指標を有する予測された値だけをGUIにおいて表示することを含む。
特定の実施形態において、表形式データセット内のあらゆる欠落したセル又は未知の値について、クエリが構築され、そして発行され、それから予測が応答的に返される。こうした欠落した値の1つを例にとると、値として信頼度指標が返されることができ、あるいはさらなる分析を可能にする分布が返されることができる。例えば、特定の欠落したセルについて、このセルが予測された真|偽値について問い合わせるのに使用されることを例にとる。このクエリは、例示的な100の予測の結果を返し得る。おそらく、予測のうち75は真を返し、予測のうち25は偽を返す。ゆえに、予測されている値は真である75%の確かさを有すると言うことができる。それから、この75%の確かさは、値を表示するか否かを決定するように、閾値に対して比較されることができる。しかしながら、上記の基本的な例の他に、確かさ又は信頼度指標を計算する多くの他の方法がある。より複雑な例において、例えば、真|偽値についての予測の結果が、予測結果が50の真及び50の偽として戻って来るような、50‐50であった。こうした場合、この結果は、真である50%の確かさと偽である50%の確かさとであるが、中道的な50‐50の結果は、最大限に不確かでもある。換言すると、この50‐50の結果は、あり得る最も確かでない結果であり、ゆえに最大の不確かさに対応する。
予測は、単純に真|偽に限られない。例えば、赤、緑及び青の3つの色の可能性を有する閉集合があるRGBフィールドについてのヌル値を例にとる。ここで、予測は、前述と同様に、100の例示的な推量又は予測を返し得るが、ここでは赤、緑又は青のうちの1つとして色値を予測することを試行する。こうして、この結果は、結果のうち赤としての小さいパーセンテージと、緑としてのより大きいパーセンテージと、青としてのいくらかの中間のパーセンテージとを有し得る。したがって、こうした結果において、未知のセルについての予測された値は、確かさがすべての推量から緑を返した試行された予測の比例であるように、緑として返され得る。ゆえに、RGB値を決定するために100の試行が行われ、そのうち43が緑を戻して来た場合、緑である確かさが43%であると決定することができる。再びになるが、返される分布についての多くの他の例及び解釈が実現可能である。特定の状況において、分析エンジンは、結果における信頼度又は確かさを表す値又はスコアを単に返し、別の状況において、予測された値をレンダリングするために行われる多くの試行を表す分布が返される。
別の実施形態によれば、方法1721はさらに、スプレッドシート又はテーブル内で表形式データセットを出力としてユーザに表示するグラフィカルユーザインターフェース(GUI)においてユーザ制御可能な最小信頼度閾値を表示することと、GUIについての最大フィルパーセンテージを表示することと、を含み、最大フィルパーセンテージは、すべてのヌル値及びすべての既知の値の総計のパーセンテージとして、ユーザ制御可能な最小信頼度閾値を超える信頼度指標を有する予測された値を返すすべての既知の値及びすべてのヌル値の総計に対応する。
別の実施形態によれば、方法1721はさらに、予測される値についてインデックスに問い合わせることに応答して、表形式データセット内の複数のヌル値の1つごとについての信頼度指標を受信することを含み、予測された値を更新された出力としてユーザに表示することは、存在するときにデフォルトの最小信頼度閾値又はユーザ指定された最小信頼度閾値を超える信頼度品質に対応する予測された値のうち選択されたものを表示することを含む。
一実施形態によれば、クエリはあらゆる未知の値について発行され、これに応答して、予測された値が返され、それから、その対応する信頼度指標に従ってランク付けられ又は順序付けられる。スライダが、ユーザ入力につき100パーセントのフィルにあるとき、その表示は、予測された値についての信頼度にかかわらず、既知の値又は予測された値のいずれかですべてのセルを示すように更新される。反対に、ユーザの最小閾値入力フィールドが100%に設定される場合、既知の値だけが表示されることになる。それから、確かさの閾値を75%に落とすことで、すべての既知の値(生来100%確かである)と少なくとも75%の確かさ指標を有するいずれかの予測された値とを有する表示出力をレンダリングすることになるなどする。こうして、ユーザは、コントロールを直感的に操作してデータを探索し、データと相互作用することができる。
別の実施形態によれば、方法1721はさらに、予測される値についてインデックスに問い合わせることに応答して、表形式データセット内の複数のヌル値の1つごとについての分布を受信することと、受信された各分布について、信頼可能区間を算出することと、を含み、予測された値を更新された出力としてユーザに表示することは、最小閾値を超える算出された信頼可能区間に対応する予測された値のうち選択されたものを表示することを含む。
信頼可能区間(又は、ベイズ信頼区間)は、区間推定に使用される事後確率分布のドメインの中の区間である。多変量問題に対する一般化は、信頼可能な領域である。例えば、パラメータtの不確かさ分布を決定する試みにおいて、tが35と45との間に存在する確率が0.95である場合、35<=t<=45は95%の信頼可能区間である。
方法1721の別の実施形態によれば、表形式データセットを表示することはさらに、スプレッドシートのセル内に第1のテキストタイプとして既知の値を表示することと、未知の値の1つごとに対応する予測された値についてインデックスに問い合わせることと、を含み、予測された値を更新された出力としてユーザに表示することは、スプレッドシートのセル内に第2のテキストタイプとして予測された値を表示することを含み、第2のテキストタイプは、表示される予測された値についての信頼度指標に比例して、表示の不透明度を有する。
方法1721の別の実施形態によれば、表形式データセットを出力としてユーザに表示することは、スプレッドシートのセル内で黒いテキストとして既知の値を表示することを含み、予測された値を更新された出力としてユーザに表示することは、より高い信頼度指標を有する予測された値が、より低い信頼度指標を有する予測された値より暗いグレースケールにおいて表示されるように、グレースケールテキストとして予測された値を表示することを含む。
例えば、スライダを使用することに代わって、すべての値が表示出力としてユーザに提供されてもよい。例えば、既知の値がピュアブラックのテキストにおいて描かれてもよく、それから、予測された値を、その強度又は不透明度がその確かさに比例するようにグレースケールテキストとして表示することによって、予測された値が区別されてもよい。こうして、高い信頼度を有する予測された値は、完全に黒ではないダークグレイのテキストにおいて表示することができ、反対に、低い信頼度を有する予測された値は、明るいグレーのテキストにおいてではあるが、依然として表示することができる。
別の実施形態によれば、方法1721はさらに、列ごとにユーザに出力として表示された表形式データセットのあらゆる列についての予測困難度スコアを表示することを含み、予測困難度スコアは、表形式データセットの各列について、(i)列内のすべての未知の値を識別することと、(ii)列内で識別された未知の値の各々に対応する予測された値についてインデックスに問い合わせることと、(iii)列内で識別された未知の値の各々についての信頼度指標を受信することと、(iv)列内で識別された未知の値について受信された信頼度指標に基づいて、この列についての予測困難度スコアを算出することと、によって算出される。
方法1721の別の実施形態によれば、上記方法はさらに、列ごとにユーザに出力として表示された表形式データセットのあらゆる列についての最大フィルパーセンテージを表示することを含み、最大フィルパーセンテージは、最小信頼度品質閾値を超える信頼度指標を有するそれぞれの列内で識別される未知の値の数量に基づく。
例えば、元の表形式データセットの中の各列を例にとると、特定の列のうちどれほどが、最小信頼度閾値に従うと同時に、予測された値、又は既知の値と予測された値との組み合わせを用いて投入され得るかに関して、ユーザに対して指し示しがあることになる。ゆえに、特定の列について100%のフィルを達成するために、最小信頼度を大幅に低下させる必要があり得る。確かさが減らされるとき、各列のうちより多くが、未知の値を予測された値で置換することによって埋められることができる。ある列はより容易に予測されそうであり、ゆえに所与の確かさについて100%のフィルに達する可能性がある一方で、同じ確かさにおける別の列は部分的に埋められないままになる。このことにかかわらず、ユーザに対するこうした表示は、予測されたデータ値をレンダリングさせる確率手法の深い技術的理解なしに、最小の学習曲線で、ユーザによるデータの単純な及び直感的な探索を可能にする。
一実施形態によれば、命令を記憶させた非一時的コンピュータ可読記憶媒体があり、上記命令は、ホスト組織におけるプロセッサにより実行されると、入力としてユーザから表形式データセットを受信することであって、上記表形式データセットは、列及び行として編成されたデータ値を有する、ことと、表形式データセット内の複数のヌル値を識別することであって、上記ヌル値は、表形式データセットの複数の行と複数の列とにわたって散在している、ことと、列及び行の表形式データセットからインデックスを生成することであって、上記インデックスは、表形式データセットの行と列とにおける確率的関係を表す、ことと、表形式データセットを出力としてユーザに表示することであって、この表示される出力は、既知の値として描かれるデータ値と未知の値として描かれるヌル値とを含む、ことと、上記の表示された表形式データセット内の未知の値のうち少なくとも一部分に予測された値を投入するための入力をユーザから受信することと、予測された値についてインデックスに問い合わせることと、予測された値を更新された出力としてユーザに表示することと、を含むオペレーションをホスト組織に実行させる。
図18は、表形式データセットの分析から生成されるインデックス内の特徴移動1801及びエンティティ移動1802を描いている。左側に、特徴移動1801が3つのビューにおいて描かれており、要素1810におけるビュー1と要素1811におけるビュー2と要素1812におけるビュー3とが図示されている。描かれるとおり、特徴1805(例えば、列、特性など)は、特徴1805を要素1811におけるビュー2から要素1810におけるビュー1に移動させるための左を指す矢印を介して行われるとおり、別の既存1820ビューに移動させることができ、あるいは代わって、特徴1805は、特徴1805を要素1813における新しいビュー4に移動させるための右向き矢印により描かれるとおり特徴1805に起こっているとおり、新しいビュー1821に移動させることができる。
右側には、エンティティ移動1802が2つのカテゴリにおいて描かれており、要素1825におけるカテゴリ1と要素1826におけるカテゴリ2とが図示されている。描かれるとおり、エンティティ1806(例えば、行など)は、エンティティ1806を要素1825におけるカテゴリ1から要素1826におけるカテゴリ2に移動させる下を指す矢印により描かれるとおり、別の既存1823カテゴリに移動させることができ、あるいは代わって、エンティティ1806は、エンティティ1806を要素1827における新しいカテゴリ3に移動させるためのより長い下向き矢印により描かれるとおりエンティティ1806に起こっているとおり、新しいカテゴリ1824に移動させることができる。
図19Aは、履歴日付を用いて問い合わせる特化されたGUI1901を描いている。ここに描かれる特化されたGUI1901実装は、ユーザが、マルチテナントデータベースシステムにおいて履歴値対現在値を比較することによって履歴値においてフィルタをかけることを可能にする。履歴データについてフィルタをかけることは、GUIの「閉め日付(履歴)」(Close date(Historical))ドロップダウンボックス又は類似の手段(例えば、カレンダセレクタなど)を介して可能にされ、GUI1901は、履歴フィールドに関連する現在のフィールドを表示する。
GUI1901は、ユーザがマルチテナントデータベースシステムにおいて履歴値対定値を比較することによって履歴データにフィルタをかけることを可能にする。GUI1901は、APIコールがどのように構築されるか、あるいはどのコマンドターム又はパラメータが適切な出力を生み出すために指定される必要があるかさえ理解することをGUIのユーザに求めることなく、ユーザのために適切なAPIコールを構築し及び発行することによって分析エンジンの予測能力を利用する。こうして、GUI1901は、険しい学習曲線なしに、高度に直感的なインターフェースをユーザに提供する。
GUI1901は、必要なクエリ又はAPIコールを実行し、それからデータを消費する。上記データは、図1に示されたクライアント装置106A‐Cなどの、GUI1901の表示インターフェースを介してエンドユーザに戻されて提示される。例えば、販売員が特定のデータセットの中の販売情報を見ている例を考える。GUI1901インターフェースは、分析エンジンにより提供される分布を取り、様々なカスタマイズされたソリューションとユースケースとに従って情報をランク付ける視覚的な指し示しを創作することができる。
例えば、SalesCloudは、135,000人の企業顧客により現在使用されている業界主導的CRMアプリケーションである。こうした顧客は、Cloudに自身のデータを記憶することの価値を理解し、ウェブベースのGUI1901インターフェースを十分理解して、自身のデータを閲覧し、自身のデータに基づいて行動する。こうした顧客は、クラウドベースのサービスにより提供されるレポート及びダッシュボードメカニズムを頻繁に利用する。上記の様々なGUIをタブ型の機能性として提示することは、販売員及び他のエンドユーザが自身の下層のデータセットを様々な方法で探索して、自身のビジネスがどのように機能しているかをリアルタイムで学習することを可能にする。こうしたユーザはさらに、パートナーに依存して、本明細書に記載されるAPI及びインターフェースを使用するさらなるGUIを通して、提供されるクラウドベースのサービス能力を拡張することもできる。
過去から学習し、データ駆動型の洞察を描き出す機会を顧客に提供するクラウドベースのサービスは、こうした機能性が、上記顧客がそのビジネスの将来に関するインテリジェントな判断を自身の既存のデータセットに基づいてするのを助け得るため、非常に望ましい。GUI1901は、そのようなインターフェースを提供する。
カスタマイズされたGUIは、分析エンジンの予測機能性を利用して、GUIの構成及び動作とGUIが分析エンジンの機能性に対してAPIコールを実行する方法とを改造するために顧客組織に対して公開されるプログラム的パラメータ及び設定を介して特定の顧客組織のニーズに適合され、あるいは顧客組織ごとに変わり得る予測結果に依存するレポートを実施する。
例えば、GUI1901は、所与の機会について、この機会の勝ち又は負けとして閉まる尤度を反映する確率に基づいて機会スコアを計算し及び割り当てるように提供されることができる。このスコアを計算するためのデータセットは、1、2若しくは3年又は組織の存続期間などの所与の期間の中で閉められた(勝ち/負けいずれか)すべての機会を含む。上記の継続時間は、その範囲が過去に入るとしても、日付範囲を指定するGUI1901の日付範囲制御を用いて構成することができる。
顧客組織のデータセットからのさらなるデータ要素、例えば入力としてアカウントテーブルなどが、さらに利用されてもよい。それから、分析エンジンのコアを介して実施される機械学習手法、例えば、SVN、回帰(Regression)、決定木、PGM等が、適切なモデルを築いて機会スコアをレンダリングするのに使用され、GUI1901は、インターフェースを介してエンドユーザに対して情報を描く。
図19Bは、履歴日付を用いて問い合わせる特化されたGUI1902のさらなるビューを描いている。ここに描かれる特化されたGUI1902実装は、ユーザが、履歴トレンドデータを用いて機会の閉まる尤度を決定することを可能にする。例えば、GUI1902は、ユーザが、相対日付又は絶対日付を選び出す「履歴」(history)セレクタを用いて予測クエリを容易に構成することを許可する。
このGUI1902において、ユーザは、機会がある時間にわたりどのように変わったかを、段階から独立して等で見ることを可能にされる。ユーザはさらに、機会が作り出されたときから閉められたときまで、この機会がどのように熟したかを見ることができる。例えば、GUI1902は、データ構成制御を用いて2013年1月1日から2013年3月1日までの履歴データを設定しており、下部におけるテーブルは、機会の金額が$10,000だけ減っているがその段階は「見込み(prospecting)」フェーズだったことと今もなお見込みフェーズであることとを描いている。
GUI1902はさらに、ユーザが、履歴トレンドデータを用いて所与の段階における機会の閉まる尤度を決定することを可能にする。上記のGUI1901は、販売機会の段階から独立して動作するところ、GUI1902は、閉鎖のさらなる限定的な条件として、所与の段階において閉まる確率に焦点を合わせている。こうして、顧客は、履歴トレンドデータを使用して段階がいつ変わったかを正確に知り、それからさらにどのファクタが段階1から2へ、段階2から3へ等移るのに関与したかを予測することを可能にされる。
GUIはさらに、ユーザが、インターフェースにおいて提供され又はユーザにより指定されるさらなるソーシャル及びマーケティングデータに基づいて、閉めるべき機会を予測することを許可する。例えば、顧客組織、又はシステムを利用する誰でものデータセットは、上記のソーシャル及びマーケティングデータを組み込みことによって、下層のデータセットを超えてエンドユーザのために拡張することができ、上記のデータは、分析エンジンにより利用されてさらに予測モデルに影響を与え、予測モデルを教育する。例えば、特定の実施形態は、“data.com”などの例示的なウェブサイトから情報を引き出し、それから、そのデータは、さらなる関係、因果関係及び隠れた構造を発見することが実現可能な分析エンジンによって元のデータセットの中の各機会に関連付けられ、それから、上記の関係、因果関係及び隠れた構造は、エンドユーザに提示されることができる。他のデータソースが同等に実現可能であり、例えば、ソーシャルネットワーキングサイト、検索エンジン、データ集約サービス提供者等からデータを引き出すことなどである。
一実施形態において、所与の製品が社会的コンテキストにおいて他者にどのように見なされているかを描くように、ソーシャルデータが取り出され、感想がGUIを介してエンドユーザに提供される。こうして、販売員は、顧客のLinkedInをプロファイルにおいて見ることができ、data.com又は他のソースからの情報を用いて、販売員はさらに、自身が実際に売ろうと試みている相手の人について、社会的コンテキストの観点で感想分析を与えられることができる。例えば、上記のデータは、ターゲット購入者が他の製品についてコメントしているか、あるいはおそらく他の製品について苦情を言っているかなどを明らかにし得る。上記のデータ点他の各々は、分析エンジンにより採用されるモデルに影響を与えて、レンダリングされる予測をさらに向上させるのに役立ち得る。
別の実施形態において、機会が閉まる尤度を決定することは、初期指定されたデータセットに対して外部のソースから取り出される業界固有データにさらに基づく。例えば、感想分析の社会的コンテキストのために社会的に関連するデータを用いるのではなく、業界固有データが取り出され、予測データベースに入力されることができる。この予測データベースにおいて、分析エンジンはそのモデリングを上記に記載されたとおり実行し、それから、この予測データベースから、今や業界固有データを中に統合させたデータセットについて、さらなる探索をユーザが行うことができる。
他の実施形態によれば、データセットは、マルチテナントデータベースシステム内にデータを有する任意の特定の顧客組織の境界を超えて探索される。例えば、特定の実施形態において、マルチテナントデータベースシステム内に記憶された組織横断的(cross-organizational)データを用いた業界固有の学習に基づいて、ベンチマーク予測スコアが生成される。例えば、実行するための承認又はライセンスを前提として、データマイニングが電気通信固有顧客データセットに対して実行されてもよい。それから、より大きいマルチテナントデータセットをレンダリングするためのこうした組織横断データは、分析エンジンのモデルを介して分析され、単一の顧客組織のデータセット内に存在し得ない洞察、関係、因果関係及びさらなる隠れた構造を提供することができる。例えば、顧客が、NY‐NJ‐バージニアの3都市エリアにおける$100k案件を閉めようと試みている場合、この案件が3か月後に閉まる確率は、上記の分析に従い、50%であり得る。なぜならば、過去の取引が、複数の顧客組織のデータセットのコンテキストにおいて閲覧されるとき、NY‐NJ‐バージニアの3都市エリアにおける$100kの電気通信案件を閉めるのに最大6か月かかることを示しているからである。こうしたプロセスを通して実現される洞察の多くは非直感的であるが、本明細書に記載される手法の適用を通して実現することができ得る。
所与のデータセット内に存在する業界固有データにおいて、データをよりいっそう深く探究し、複数の種々の業界にわたって様々な可変のドメインについてこうしたデータを用いてベンチマークを識別することが可能である。例えば、上記のデータに基づいて、予測分析は、所与の領域において中西部で砂糖を売るのに6か月かかり、東海岸でラップトップを売るのに3か月かかることなどを概説することができる。
それから、新しい機会が生じ、ベンダが例えばカリフォルニアで腕時計を売ろうと試みている場合、ベンダは、上記の情報を利用して、与えられる信頼度レベル及び予測に基づいて、特定の領域のマーケットについてのより良い理解を得ることができる。
図19Cは、予測クエリを構成する特化されたGUI1903の別のビューを描いている。分析エンジンの予測機能性はさらに、垂直のセクタとその領域とについての情報を明らかにすることができる。顧客組織のデータセットをマイニングする(mining)と、顧客がアイテム“a”を買った場合にさらにアイテム“b”を買ったという関係が発見され得る。この種のマッチング関係は有用であるが、さらに強化することができる。例えば、分析エンジンの予測分析を用いて、特定の機会スコアにつながったファクタの集合を識別することがさらに可能である。
ここで描かれるとおり、GUI1903は、ユーザインターフェースにおいて42%の機会を提示しているが、ユーザが機会スコアの上にカーソルを置くとき(例えば、マウスオーバーイベント等)、GUI1903は、この機会スコアを作り上げるさらなる要素を有する下位詳細(sub-detail)を表示する。GUI1903は、関連すると考えられる下位詳細関係及び因果関係を含む機会スコア及び関連する表示情報をユーザに対して引き出すように、適切な予測コマンドタームがインデックスに対して選択され及び実行されるような、ユーザのために必要なAPIコールを再び構築し、発行する。
GUI1903はさらに、機会についてのヒストグラムを作成するためにGUI1903により必要とされる生データを返すように、GUI1903においてユーザにより指定されるとおり所与の機会について適切な機能をトリガすることによって、PREDICT及びANALYZEコマンドタームを活用する。こうして、ユーザには、スコアを与えることができるだけでなく、さらに、提供された情報を前提として適切な行動のきっかけをユーザが決定するのを支援するために、情報をどのように解釈すべきかについての関連するファクタ及び案内を与えることができる。
さらに、販売員などのエンドユーザがデータを調べ、これに基づいて行動するとき、さらなるデータが予測データベースに入力されるフィードバックループが作成され、この予測データベースにおいて、さらなる予測及び分析が適応的な方法で実行される。例えば、分析エンジンが、例示的なユーザ又は販売員に関連付けられたデータセットについてさらに学習するとき、下層のモデルは、フィードバックループを介して得られる新しいデータを用いてデータを再校正するようにデータセットの分析を再実行することによって、循環ベースでリフレッシュされることができる。上記の新しいデータは、販売機会が販売で閉まったか負けで閉まったかを説明し、モデルにより良く情報を与えるのに役立つ最終的な金額、タイミング、関与したリソースなどを識別し、そして将来、他のクエリについて、より良い予測をレンダリングすることができる。
図19Dは、記載される実施形態に従う一例示的アーキテクチャを描いている。具体的に、顧客組織1905A、1905B及び1905Cが描かれており、各々がユーザのクライアント装置及びディスプレイ1906A、1906B及び1906Cを備え、ユーザのクライアント装置及びディスプレイ1906A、1906B及び1906Cは、入力、クエリ及び要求を送ること並びに表示のための出力を含む応答を応答的に受信することを含め、ネットワーク1925を介してホスト組織1910とインターフェースをとる能力がある。ホスト組織1910内に要求インターフェース1976があり、要求インターフェース1976は場合によりウェブサーバ1975によって実施されてもよい。ホスト組織は、プロセッサ1981、メモリ1982、クエリインターフェース1980、分析エンジン1985、及びマルチテナントデータベースシステム1930をさらに含む。マルチテナントデータベースシステム1930内に実行ハードウェア、ソフトウェア及びロジック1920があり、実行ハードウェア、ソフトウェア及びロジック1920は、マルチテナントデータベースシステム1930の複数のテナントと認証器1998と予測データベース1950とにわたって共有され、予測データベース1950は、予測データベース1950に対して実行されるクエリに応答して予測レコードセットを返すことを容易にするように、分析エンジン1985により生成されたインデックスを記憶する能力がある。
一実施形態によれば、ホスト組織1910は、少なくとも1つのプロセッサ1981とメモリ1982とを有するシステム1911を稼働させる。システム1911は、ユーザ装置1906A‐Cから、顧客組織1905A‐Cについての販売データのデータセット1953を指定する入力を受信する要求インターフェース1976であって、上記販売データは複数の販売機会を指定する、要求インターフェース1976と、データセット1953の行及び列からインデックス1954を生成する分析エンジン1985であって、上記インデックスは、データセット1953の行と列とにおける確率的関係を表す、分析エンジン1985と、インデックス1954を記憶する予測データベース1950と、販売データ内で指定される複数の販売機会のうち1又は複数を選択する分析エンジン1985と、選択された1又は複数の販売機会の各々について、勝ち又は負け(勝ち負け)予測結果1958についてインデックス1954に問い合わせる(1957)クエリインターフェース1980と、を含み、クエリインターフェース1976は、ユーザ装置1906A‐Cに対して表示出力1955として、選択された1又は複数の販売機会の各々についての勝ち負け予測結果1958をさらに返す。
要求インターフェース1976はさらに、ユーザ装置1906A‐Cから、表示された1若しくは複数の販売機会又はその対応する勝ち負け予測結果1958のうち1つを示すユーザイベント入力1956を受信することができ、これに応答して、ユーザインターフェースはさらなるドリルダウン下位詳細を提供することができる。例えば、タッチスクリーンのユーザが、表示された機会のうち1つに触れ、あるいは表示された機会のうち1つをクリックする場合、ユーザインターフェースはこうした入力を要求インターフェース1976に伝え、指定された販売機会についてのさらなる詳細、例えば関連する特性等で更新された表示出力1959をホスト組織に提供させることができる。
別の実施形態によれば、システム1911はさらに、分析エンジンにより生成されたインデックスを記憶する予測データベース1950を含む。こうした実施形態において、予測データベース1950は、1又は複数の加入者のためにホスト組織1910においてオンデマンドのクラウドベースのサービスとして実行される。
別の実施形態において、システム1911はさらに、ユーザ(例えば、ユーザのクライアント装置及びディスプレイ1906A‐Cの1つにおけるユーザ)を既知の加入者として検証する認証器1998を含む。認証器1998はさらに、既知の加入者により提示される認証クレデンシャルを検証するように動作する。
別の実施形態において、システム1911はさらに、要求インターフェースを実施するウェブサーバ1975であって、入力として、ネットワークを介してホスト組織と通信可能にインターフェースをとる複数の顧客組織の中の1又は複数のクライアント装置から複数のアクセス要求を受信する、ウェブサーバ1975と、予測データベースを実施するように予測データベース機能性を備えたマルチテナントデータベースシステムと、を含み、各顧客組織は、別個かつ区別可能なリモートの組織、ホスト組織内の組織グループ、ホスト組織のビジネスパートナー、又はホスト組織により提供されるクラウドコンピューティングサービスに加入している顧客組織から成るグループから選択されたエンティティである。
図19Eは、開示される実施形態に従う一方法を示すフロー図である。方法1921は処理ロジックによって実行されてもよく、この処理ロジックには、本明細書に記載されるとおり予測クエリインターフェースを用いてスコア付けされた機会をレンダリングするシステム、装置及び方法に従ったハードウェア(例えば、回路、専用ロジック、プログラマブルロジック、マイクロコード等)、ソフトウェア(例えば、送信、送出、受信、実行、生成、算出、記憶、公開、問い合わせ、処理などの様々なオペレーションを実行するように処理装置上で実行される命令)等を含み得る。例えば、図1のホスト組織110、図4のマシン400又は図19Dのシステム1911は、記載される方法論を実施することができる。以下にリストアップされるブロック及び/又はオペレーションのいくつかは、特定の実施形態において任意的である。提示されるブロックの番号付けは明りょうさのためであり、様々なブロックが生じるべきオペレーションの順序を規定する意図はない。
ブロック1991において、処理ロジックは、ユーザ装置から、顧客組織についての販売データのデータセットを指定する入力を受信する。上記販売データは、複数の販売機会を指定する。
ブロック1992において、処理ロジックは、データセットの行及び列からインデックスを生成する。上記インデックスは、データセットの行と列とにおける確率的関係を表す。
ブロック1993において、処理ロジックは、ホスト組織内の問い合わせ可能データベースにインデックスを記憶する。
ブロック1994において、処理ロジックは、販売データ内で指定された複数の販売機会のうち1又は複数を選択する。
ブロック1995において、処理ロジックは、選択された1又は複数の販売機会の各々についての勝ち負け予測結果についてインデックスに問い合わせる。
ブロック1996において、処理ロジックは、選択された1又は複数の販売機会の各々についての勝ち負け予測結果をユーザ装置に出力として表示する。
ユーザインターフェース(UI)又はグラフィカルユーザインターフェース(GUI)は、予測インターフェースから返される予測結果及びデータを消費して、スコア付けされた販売機会、予測の品質、どのファクタ又は特性が販売機会に確率的に関連しているか、表示される他のメトリクスなどの他のデータと共に、予測結果を非常に直感的な方法でユーザに表示する。
方法1921の別の実施形態によれば、選択された1又は複数の販売機会の各々についての勝ち負け予測結果についてインデックスに問い合わせることは、選択された1又は複数の販売機会の各々について、PREDICTコマンドタームを指定する予測問い合わせ言語(PreQL)クエリを生成することと、生成されたPreQLクエリの各々を予測問い合わせ言語アプリケーションプログラミングインターフェース(PreQL API)に対して発行することと、発行されたPreQLクエリに応答して、選択された1又は複数の販売機会の各々についての勝ち負け予測結果を受信することと、を含む。
方法1921の別の実施形態によれば、販売データのデータセットは閉められた販売機会を含み、この閉められた販売機会について、勝ち負け結果は既知であり、各々の閉められた販売機会についての販売データのデータセット内に記録されている。販売データのデータセットは開いている販売機会をさらに含み、この開いている販売機会について、勝ち負け結果は未知であり、各々の開いている販売機会についての販売データのデータセット内のヌル値に対応する。複数の選択された販売機会のうちの各々は、開いている販売機会から選択される。
方法1921の別の実施形態によれば、選択された1又は複数の販売機会の各々についての勝ち負け予測結果についてインデックスに問い合わせることは、選択された販売機会を指定するクエリを構築することであって、該クエリはPREDICTコマンドタームを指定し、少なくとも選択された販売機会に対応する行と勝ち負け結果に対応する列とを含むPREDICTコマンドタームのためのオペランドを含む、ことと、構築されたクエリを発行することに応答して、選択された販売機会に対応する行についての勝ち負け予測結果を受信することと、を含む。
別の実施形態によれば、方法1921はさらに、選択された1又は複数の販売機会の各々についての予測された販売高についてインデックスに問い合わせることと、出力としてユーザ装置に対して、選択された1又は複数の販売機会の各々についての勝ち負け予測結果と共に、予測された販売高を表示することと、を含む。
方法1921の別の実施形態によれば、予測された販売高についてインデックスに問い合わせることは、選択された販売機会の各々についてのクエリを構築することであって、各クエリはPREDICTコマンドタームを指定し、少なくとも選択された販売機会に対応する行と販売高に対応する列とを含むPREDICTコマンドタームのためのオペランドを含む、ことと、構築されたクエリを発行することに応答して、選択された販売機会に対応する行についての予測された販売高結果を受信することと、を含む。
予測クエリインターフェースに問い合わせることは、探し求められている予測結果(例えば、勝ち負け予測、予測された閉め高、予測された閉め日付等)を返すが、さらに関連するのが、この予測の品質、すなわち、レンダリングされる予測が実現する確率又は尤度である。予測クエリインターフェースは、発行されるクエリの構造及び構成に依存して、分布、区間又は他の値を返すことができる。例えば、ゼロと百との間の値を示し、予測の品質を評価するための定量的メトリックを提供する信頼度品質指標が返されてもよい。
既存の販売機会についての予測された勝ち負け結果を、レンダリングされる予測についての品質の尺度と共に提供することは、どの販売機会をターゲットにすべきかを査定しなければならない販売員にとって役に立つ。当然ながら、販売員は、成功をよりもたらしそうである機会に時間とリソースを費やすように奨励される。ゆえに、上記出力は、どの販売機会が閉まりそうであるか、したがって、販売ノルマをこなし自身のコミッションを最大化する努力においてどれがうまくいく可能性があるかを販売員が査定するのを支援し得る。
別の実施形態によれば、方法1921はさらに、勝ち負け予測結果の各々についての信頼度指標を受信することと、選択された1又は複数の販売機会について勝ち負け予測結果が表示される状態で、ユーザ装置に対する出力において信頼度指標を表示することと、を含む。
別の実施形態によれば、方法1921はさらに、問い合わせることに応答して、勝ち負け予測結果と共に、選択された1又は複数の販売機会の各々についての信頼度指標を受信することと、選択された1又は複数の販売機会の各々についての勝ち負け予測結果を表示すると同時に、受信された信頼度指標を出力としてユーザ装置に表示することと、を含む。
特定の実施形態が、ユーザディスプレイに返される販売機会について必要とされる最小信頼度品質を確立するように、ベンチマーク若しくは閾値、例えば70%など、又は、いくつかの他のデフォルト若しくはユーザ構成された値を利用してもよい。こうした実施形態に第2の閾値が必要とされてもよく、その実施形態はユーザディスプレイに推奨をさらに表示する。
方法1921の別の実施形態によれば、複数の販売機会のうち1又は複数を選択することは、閉鎖前の販売段階にあって未知の勝ち負け結果を有するすべての販売機会を選択することと、最小信頼度指標閾値を超える勝ち負け予測結果を有する複数の販売機会のうちの1又は複数を識別することと、を含み、勝ち負け予測結果をユーザ装置に出力として表示することは、識別された複数の販売機会のうちの1又は複数を、最小信頼度指標閾値を超える勝ち負け予測結果を有するものとして表示することを含む。
任意の所与の販売機会について、複数の販売段階があり得、販売機会は、開いている状態か閉められた段階かにあり得る(例えば、開いている状態は、閉鎖前の状態、又は機会が閉まる前の任意の段階であり得る)。販売機会は、特に大口顧客と売買し大口販売取引を扱う販売チームについて、複数の中間段階のうちのいずれかにあり得る。こうした段階は、販売ライフサイクルを作り上げる。例えば、所与の顧客について正しい製品は何かを決定するよう販売員が働く発見段階、価格設定が決定され割引が交渉される価格設定又は見積もり段階、などがあり得る。
大口取引について、販売ライフサイクルは、販売機会の大きさ及び複雑さに大きく依存して、3か月、6か月、時に9か月続く可能性がある。非常に複雑な取引は何年にも及ぶ可能性があり、例えば、顧客が飛行機エンジンについてなどの数十億ドルのコミットメントを考えている場合などである。より小さいより複雑でない取引、例えばデータベースソフトウェアについての契約などは、より迅速に動き得る。
別の実施形態によれば、方法1921はさらに、推奨を出力としてユーザ装置に表示することを含み、上記推奨は、閉鎖前の販売段階における複数の販売機会のうち少なくとも1つを指定する。上記推奨は出力のために、(i)閉鎖前の販売段階における複数の販売機会のうち少なくとも1つを、販売データのデータセットにより指定されるとおりの販売機会名によって指定する。上記推奨はさらに出力のために、(ii)販売勝ちを示す勝ち負け予測結果と、(iii)販売勝ちを示す勝ち負け予測結果についての信頼度指標と、(iv)予測された販売高と、(v)予測された販売機会閉め日付と、のうち1又は複数を指定する。
閉め日付が予測され、出力として提供されてもよく、この出力は、販売予想という目的に非常に関連し得る。例えば、販売員がマネジメントに対して売買は会計Q1に閉めることにすると宣言しているが、予測が会計Q3の高い信頼度の販売閉め日付を返す場合、販売予想を調整するか、あるいは所与の販売機会についての戦略を変更する(例えば、緊急度を高める、価格設定条項を向上させる、割引する、等)ことのいずれかが適切であり得る。
ユーザインターフェースがさらに手段を提供することにより、ユーザはデフォルト値を変更し、予測及びクエリが基づくことになる関連する履歴日付範囲を指定し、予測をするのに利用されるべきデータセットの範囲を指定することなどができる。
例えば、上記で図19A、図19B及び図19Cにおいて説明されたものと同等のユーザ管理ページがレポーティング能力を提供し、この能力を通して、ユーザは、入力ソース(例えば、顧客組織のための販売データのデータセット)、制限、フィルタ、履歴データ、及び他の関連するデータソース、例えばソーシャルメディアデータ、更新された販売データ、などを指定することができる。
方法1921の別の実施形態によれば、上記推奨は、(i)乃至(iv)において指定される出力に割り当てられる重み付けに基づいて決定され、この重み付けは、デフォルトで割り当てられ、ユーザ装置において表示されるグラフィカルユーザインターフェース(GUI)を介してカスタム構成可能である。
方法1921の別の実施形態によれば、複数の販売機会のうち1又は複数を選択することは、閉められた販売段階にあって既知の勝ち負け結果を有する販売機会を選択することと、閉められた販売段階にあって既知の勝ち負け結果を有する選択された1又は複数の販売機会の各々についての勝ち負け予測結果についてインデックスに問い合わせることであって、勝ち負け予測結果は既知の勝ち負け結果を無視する、ことと、選択された複数の販売機会の各々についての予測精度を、勝ち負け予測結果に対して既知の勝ち負け結果を比較することによって決定することと、勝ち負け予測結果が表示される状態で、選択された複数の販売機会の各々についての決定された予測精度を出力としてユーザ装置に表示することと、を含む。
別の実施形態によれば、方法1921はさらに、ユーザ装置に表示されるGUIから日付範囲入力を受信することを含み、上記日付範囲入力は、勝ち負け予測結果が基づく履歴日付範囲を指定する。
方法1921の別の実施形態によれば、ユーザ装置から、顧客組織についての販売データのデータセットを指定する入力を受信することは、列及び行を有する表としてデータセットを受信することと、データストリームとしてデータセットを受信することと、スプレッドシート文書を受信し、このスプレッドシート文書からデータセットを抽出することと、データベースにより作成されるバイナリファイルとしてデータセットを受信することと、データベースに対する1又は複数のクエリを受信し、この1又は複数のクエリをデータベースに対して実行することによりデータセットを応答的に受信し、上記1又は複数のクエリにより返されるレコードセットをデータセットとして捕捉することと、データベースの中のテーブルの名前を受信し、このテーブルをデータベースからデータセットとして取り出すことと、指定されたウェブサイトについての検索パラメータを受信し、指定されたウェブサイトに対してこの検索パラメータを応答的に問い合わせ、検索結果をデータセットとして捕捉することと、リモートのリポジトリについてのリンク及び認証クレデンシャルを受信し、リモートのリポジトリと応答的に認証し、リンクを介してデータセットを取り出すこととのうち、少なくとも1つを含む。
別の実施形態によれば、方法1921はさらに、ユーザ装置において表示されるGUIからエンティティ選択入力を受信することであって、このエンティティ選択入力は出力としてユーザ装置に表示される勝ち負け予測結果のうち1つを指定する、ことと、エンティティ選択入力に応答して、販売機会のうち1つについての下位詳細を更新された出力としてユーザ装置に表示することと、を含み、上記下位詳細は、表示される勝ち負け予測結果に確率的に関連する1又は複数の特徴を含む。
方法1921の別の実施形態によれば、エンティティ選択入力は、表示された勝ち負け予測結果の1つに対応するマウスオーバーイベント、カーソルオーバーイベント、クリックイベント、タッチスクリーン選択イベント又はタッチスクリーン位置イベントのうち1つを含み、下位詳細を表示することは、当初表示された勝ち負け予測結果の上に位置づけられ、かつ該予測結果を少なくとも部分的にカバーするグラフィカルオーバーレイ内に、下位詳細を表示することを含む。
別の実施形態によれば、方法1921はさらに、表示された勝ち負け予測結果に確率的に関連する1又は複数の特徴を取り出すようにクエリを構築することを含み、このクエリは、RELATEDコマンドタームと勝ち負け結果列に対応する列を指定するRELATEDコマンドタームのための少なくとも1つのオペランドとを含む。
例えば、ある販売機会スポンサーが販売の勝ち負けに確率的に関連することになると決定されることがある。ゆえに、UIは追加的に、所与の販売機会についての成功の尤度を向上させるための努力において、満足した顧客、又は潜在顧客と話をすることができる上級管理職などの、利用可能なスポンサーを追跡する機能性を提供する。
ユーザインターフェースはさらに、予測データベースに対するSIMILARコマンドタームを構築し、発行して、最も販売員により査定されている特定の販売機会であるような販売機会を返し、表示する。こうしたデータは、成功裏の勝利をもたらした又はもたらさなかった他の類似の販売機会から販売員がさらなる洞察を描き出すのを助け得る。
どのファクタが特定の販売機会に影響するかを理解することによって、販売員は、特定の販売機会についての成功裏の閉めの尤度を増加させるための努力において、こうしたファクタに影響を与えることに具体的に焦点を合わせることができる。例えば、顧客と会社のCEOとの間の会話が特定タイプの取引において役立つと判明する場合、このことは、価値のあるリソース出費であり得る。反対に、所与のタイプの価格設定構造が特定の顧客タイプ、製品又は産業に好ましいことになる場合、このことは、所与の販売機会についての尤度を増加させるのに価値ある検討であり得る。上記のような特性の探索は、「仮定の」シナリオとして値を操作し、それから「仮定の」シナリオパラメータに基づいてユーザディスプレイに対する予測結果を更新することを含め、ユーザインターフェースを通して行うことができる。
方法1921の別の実施形態によれば、下位詳細を表示することは、表示された勝ち負け予測結果に確率的に関連する1又は複数の特徴についての列名を表示することと、この列名と表示された下位詳細についての一販売機会に対応するエンティティ行とについての行及び列交差に対応するデータセットからデータ値を表示することと、を含む。
ソーシャルメディアデータは、補助データの一タイプである。予測結果をさらに強化するように様々なデータソースが指定されてよく、例えば、連絡先、アカウント、アカウントフェーズ、アカウントタスク、アカウント連絡先人物、アカウントスポンサー又は紹介などが含まれる。
ソーシャルメディアデータは、salesforce.comにより提供されるRadian6 and Buddy Mediaを含むソースから利用可能である。こうしたソースは、Facebook、Twitter、LinkedInなどのソーシャルメディアソースから拾い集められる集約され及び構造化されたデータを提供する。こうしたソースを用いて、「John Doe」などの個人を特定の販売機会に関連付けて、ソーシャルネットワーキング空間内のJohn Doeに関連付けられているデータでインデックスを強化することが可能であり得る。例えばおそらく、John Doeは、競合他社製品又は販売員により申し出られた製品に関してツイートしている。あるいは、製品若しくは会社又はターゲットにされる販売機会に言及するニュースフィードがある可能性があり、あるいは、文脈的に関連する顧客レビューがある可能性がある、などである。こうしたデータ点は、UIにおいて適切なソースを指定することにより統合することができ、このUIが今度は、インデックスを更新するように分析エンジンにさらなる分析を実行させることになり、上記のデータ点が確率的に関連する場合、その関係は予測結果に影響することになり、ユーザインターフェースを通して発見可能になる。
特定の実施形態において、ベンチマーキング能力が提供され、例えば、製造業対ハイテク産業、地理的地域の中の顧客ごとに配置されるデータ、等に基づいてユーザが補足データソースを分析することを可能にする。こうしたデータは、通常、顧客組織により維持されないが、ユーザインターフェースを通してさらなる補足データとして調達され、指定されることができ、このさらなる補足データにおいて、分析エンジンのコアはインデックスを更新することができ、さらに、予測結果を向上させ、あるいはその他の方法では実現し得ない顧客組織のデータへのさらなる洞察を生み出すことができる。
一実施形態において、上記の補足データソースは、既存のクラウドベースの加入の一部として、あるいは追加料金の支払いにおいて、ユーザインターフェースを通して提供される。例えば、顧客は、自身が業界ベンチマーキングデータを統合することができるデータパッケージを購入して、顧客組織の特定販売機会についての分析を、潜在的な販売顧客のコレクションについて又は潜在的な垂直位(potential verticals)のコレクションについてなどの集約されたベンチマーキングデータを考慮して実行することができる。いったんこのさらなるデータが指定され、分析され、そのインデックスが更新されると、ユーザは、提供されるUIを通して、このデータと予測結果に対する影響とを探索することができる。
一実施形態において、履歴データが追跡され、ユーザにより分析、閲覧又はその他の方法で探索することができる履歴データの範囲が、加入条項に基づく。例えば、クラウドベースサービス加入者は、関連するユーザインターフェースをすべての顧客に対して無料で公開され、ただし分析することができるデータの範囲を例示的な3か月だけに限られることがあり、一方、支払っている加入者は、おそらく履歴分析の価値のある2年など、より深いより完全なデータセットを得る。特定の実施形態は、顧客により明示的に指定されるデータセットに対して動作し、一方、別の実施形態は、ホスト組織にすでに記憶されている顧客のデータについてのシステムの知識に基づいて、この顧客のために特定のデータセットをデフォルトにしてもよい。特に、従来のデータベースは、データベースの中に記憶されたデータの履歴ビューを追跡せず、公開しない。大抵のデータベースにおいて、変更ログ及びロールバックが可能にされるが、従来のデータベースは、クエリに対してこうしたデータを公開しない。なぜならば、こうした目的を意図されていないからである。反対に、本明細書に記載されるユーザインターフェースは、ユーザが履歴日付範囲を指定することを許可し、それからこの履歴日付範囲は、ユーザが、データがある時間にわたりどのように変わったかを探索し、あるいは過去日付の視点においてデータベースに問い合わせることを可能にし、クエリ結果が、現在存在するとおりのデータではなく過去日付におけるとおりのデータを返すことをもたらす。本明細書に記載される方法論は、データベース更新を十分にコミットすることができるように、さらに、履歴データを失うことなく変更及び監査ログをフラッシュする(flushed)ことができるように、別個のオブジェクトを使用する。
別の実施形態によれば、方法1921はさらに、ユーザ装置から、ソーシャルメディアデータソースを指定するさらなる入力を受信することと、指定されたソーシャルメディアデータソースに基づいてインデックスを更新することと、選択された1又は複数の販売機会の各々についての更新された勝ち負け予測結果を、更新された勝ち負け予測結果に関連すると決定されたソーシャルメディアデータソースから導出された特性と共に、ユーザ装置に出力として表示することと、を含む。
方法1921の別の実施形態によれば、ソーシャルメディアデータソースは、ソーシャルメディアネットワークをリッスンし(listen)、集約されたソーシャルメディアデータを構造化された出力として提供するソーシャルメディアデータ集約器に対応する。
別の実施形態によれば、方法1921はさらに、ユーザ装置において表示されるGUIからユーザイベント入力を受信することであって、このユーザイベント入力は出力としてユーザ装置に表示される勝ち負け予測結果の1つを指定する、ことと、ユーザイベント入力に応答して、販売機会の1つについての下位詳細を更新された出力としてユーザ装置に表示することと、を含み、上記下位詳細は、表示される勝ち負け予測結果に確率的に関連する1又は複数の特徴を含む。
方法1921の別の実施形態によれば、表示される勝ち負け予測結果に確率的に関連する1又は複数の特徴は、選択された1又は複数の販売機会の各々についての更新された勝ち負け予測結果に影響した、指定されたソーシャルメディアデータソースから導出される1又は複数の名前=値ペアを含む。
別の実施形態によれば、命令を記憶させた非一時的コンピュータ可読記憶媒体があり、上記命令は、ホスト組織におけるプロセッサにより実行されると、ユーザ装置から、顧客組織についての販売データのデータセットを指定する入力を受信することであって、上記販売データは複数の販売機会を指定する、ことと、データセットの行及び列からインデックスを生成することであって、上記インデックスはデータセットの行と列とにおける確率的関係を表す、ことと、ホスト組織内の問い合わせ可能データベースにインデックスを記憶することと、販売データ内で指定された複数の販売機会のうち1又は複数を選択することと、選択された1又は複数の販売機会の各々についての勝ち負け予測結果についてインデックスに問い合わせることと、選択された1又は複数の販売機会の各々についての勝ち負け予測結果をユーザ装置に出力として表示することと、を含むオペレーションをホスト組織に実行させる。
図20Aは、記載される実施形態に従うパイプライン(pipeline)変化レポート2001を描いている。左側には、スナップショット日付2004に対する金額の履歴総計2002を示すパイプライン変化レポートが描かれており、右側には、スナップショット日付2004に対する履歴レコードカウント2003を示すパイプライン変化レポートが描かれており、こうして、販売段階ごとに配置された現在の月(例えば、ここでは、2013年1月の月)についての開いているパイプラインを、図表にされた履歴日付における販売段階を含めてユーザに提示している。例えば、上記の段階には、知覚分析、提案/価格見積もり、及び交渉/レビュー等を含むことができる。
パイプライン変化レポート2001は、ユーザが自身のデータを集約された形で見ることを可能にする。各段階は複数の機会を含むことができ、各々は、機会の各々が金額に従って又は段階に従って等で変わり得るため、重複することができる。こうして、ユーザが直近4週間を見ている場合、一機会が$500から$1500まで変わる可能性があり、ゆえに重複し得る。
クラウドコンピューティングアーキテクチャは、すべてのテナントについてのすべてのデータにわたって走る機能性を実行する。こうして、任意のケース、リード及び機会について、データベースは、すべての監査データが保有される履歴トレンドデータオブジェクト(historical trending data object;HTDO)を維持し、したがって、データベース更新がコミットされることを可能にすると同時にデータベーステナントのために記憶されているデータの現在の状態を破損することなく、過去におけるいかなる事象の状態も示すように、要求においてユーザに十分な及び豊富な履歴を後から提供することができる。こうして、下層のデータは、現在の瞬間についてその正しい状態において維持されなければならないが、それにかかわらず、ユーザはシステムを利用して、特定機会の状態を、要求されたデータが先週の機会の状態についてであるかにかかわらずこの状態が歴史的にあったとおりに、あるいはこの状態が過去の四半期を通して推移したとおりに、などで表示することができる。
それから、様々なカテゴリのデータについての履歴オブジェクトからの監査データのすべてが、履歴トレンドデータオブジェクトへと集約される。それから、履歴トレンドデータオブジェクトは、レポーティング、予測分析及び探索のために過去の任意の時点における任意の事象を再作成することができるような必要な監査証跡を取り出すために、複数のテナントにわたって種々の履歴レポートタイプによって問い合わせられる。履歴監査データはさらに、履歴監査データにおけるさらなる予測能力を提供するためにこのデータを履歴データセット内に含むことによって、分析エンジン(例えば、図1の要素185)の分析能力にさらされてもよい。例えば、履歴データが様々な販売機会について既知であると同時に、将来の状態が上記の同じ機会について予測されて、販売員が適切に自身の努力の焦点を合わせるのを支援することができる。
図20Bは、記載される実施形態に従う予測データを用いたウォーターフォールチャートを描いている。機会カウント2006は垂直軸を定義しており、段階2005は段階1乃至8を横切って「開始」から「終了」まで水平軸を定義している。例えば、ウォーターフォールチャートは、段階ごとに切り離された、現在作業されているすべての機会のスナップショットを描くことができる。機会カウントは、段階によって上方に及び下方に変化して、様々な定義された段階への様々な機会のグルーピングを反映する。ウォーターフォールチャートは、1日目と2日目との間の機会を定義することによって2点を見るのに、あるいはここで例を介して示されるのと同様に、使用することができる。ウォーターフォールチャートは、すべての機会を種々の段階へとグループ化するのに使用されてもよく、これにおいて、あらゆる機会がその現在の段階に従ってマップされ、ゆえに、ユーザが過去を探査し、上記の機会が実際閉鎖に来るのにタイミングは何であったかを理解することを可能にする。
履歴トレンドデータオブジェクトに保存される履歴データ及び監査履歴は、スナップショット及びフィールド履歴を通して可能にされる。履歴トレンドデータオブジェクトを用いて、所望のデータを問い合わせることができる。履歴トレンドデータオブジェクトは、1つのテーブルとして、このテーブルにインデックスを備えて実施されてもよく、このテーブルから、所望のデータのうち任意のものを取り出すことができる。様々な特化されたGUI及びユースケースが、履歴トレンドデータオブジェクトのテーブルから取り出される機会データを用いて投入される。
図20Cは、第1の履歴フィールドを追加した後のデフォルトでのインターフェースを描いている。要素2011は、様々なオプションを含む履歴フィールドフィルタの追加を描いており、上記オプションには、履歴金額によりフィルタをかけること(例えば、百万ドルを超える値)と、フィールドによりフィルタをかけること(例えば、Acmeに等しいアカウント名)と、ロジックによりフィルタをかけること(例えば、フィルタ1 AND (フィルタ2 OR フィルタ3))と、クロスフィルタをかけること(例えば、機会がある又はないアカウント)と、行限定すること(例えば、年間収益により上位5アカウントだけ示す)と、最後に「選択のためのヘルプ」オプションとが挙げられる。
このインターフェースは、マルチテナントシステムにおいて内部に記憶された履歴値対現在値を比較することによってユーザが履歴データにフィルタをかけることを可能にする。
図20Dは、追加されたカスタムフィルタのデフォルトでのインターフェースをさらに詳細に描いている。こうした特化されたフィルタリング実装は、ユーザが、日単位で、週単位で、あるいは月単位を超えて等でデータがどのように変わったかを識別することを可能にする。ゆえに、ユーザは、現時点についてだけでなくユーザの機会に関連するデータを見ることができるが、この特徴を用いて、ユーザは、絶対時間又は相対時間などの指定された時間に基づいて機会を識別することができ、したがって、ユーザは、ある時間にわたりデータがどのように変わったかを見ることができる。この実施形態において、次元として時間が使用されて、顧客が絶対的な日付又は日付の範囲を選び出すように決定木が提供される。顧客は、2013年1月1日等の絶対日付又は今月の初日若しくは先月の初日等の相対日付などを選び出すことができる。
要素2025により描かれるとおり、メニューが、履歴フィールドフィルタを用いて排他的に投入されてもよく、履歴カラーコーディングを使用してもよい。要素2026において、その選択は、「いずれかの選択された履歴日付(Any Selected Historical Date)」が選択され得る、過ぎ去った日(rolling days)をデフォルトにしている。別法として、固定日が選択されてもよいが、このオプションは、描かれているインターフェースにおいてデフォルトで折り畳まれている。要素2027は、選ばれた履歴フィールドタイプに依存してユーザが選択することができる様々な演算子を説明しており、要素2028は、ユーザにより改造できるプレースホルダー属性としてデフォルト金額値(例えば、$1,000,000)を提供する。
描かれているカスタムフィルタインターフェースは、販売マネージャ又は販売員が、今日対今月又は先月の初日などで機会がどのように変わったかを見ることを可能にする。カスタムフィルタインターフェースを通して、ユーザは、時間において一歩戻って、1週間前又は1か月前にあったところに戻って考えることができ、日付の範囲を作成し、どの機会がこれら日付の間に作成されたかを表示することによって、機会を識別することができる。
例えば、上記のような情報を欲する販売員は10個の機会を有していた可能性があり、2013年2月1日に、この販売員のターゲット購買者が見積もりに関心を示し、段階を見込みから見積もりに変化させる。反対に、別のターゲット購買者はすぐに買いたいと言い、段階を見積もりから販売/請求/閉めに変化させる。ゆえに、カスタムフィルタインターフェースは、作成される様々な日付に基づいて決定木を提供し、入力及び選択プロセスを通して、最初に選択された日付に対する適切な選択肢及びフィルタだけを明らかにすることによってユーザをガイドする。結果、その機能性は、1月若しくは2月の月に、又は所与の範囲内、四半期若しくは年内などに閉まっているすべての機会のビューを高度に直感的な方法で販売員に与えることができる。
日付で問い合わせることは、ユーザが決定木を横切ってユーザの所望の日付を識別することを余儀なくさせて、ユーザが複数のスナップショットをさらに選び出すことを可能にし、上記のことから、仕上げられる結果セットは、例えば2013年2月1日から2013年2月6日に決定される。
さらに可能にされるのは、マルチテナントシステムにおいて履歴値対定数を比較することによって履歴データをフィルタにかける能力であり、履歴セレクタと呼ばれる。機会又はレポートのタイプに基づいて、顧客は、カスタム履歴フィルタを用いて履歴データにフィルタをかける能力を有する。インターフェースは、左側において、顧客が値又はフィールドを制限するのに使用することができるフィルタのすべてを顧客が見る能力を提供し、ゆえに、顧客が任意の所与の値について履歴列データにフィルタをかけることを可能にする。こうして、顧客は、所与の月について開いている機会のすべてを見ることができ、あるいは、履歴ではなく現在の列データに従ってデータセットをフィルタにかけることができる。こうして、所与の機会について、ユーザはインターフェースにおいて、金額、段階、閉め日付、確率、予想カテゴリ、又は他のデータ要素を記入することができ、それから、販売員がターゲット購買者と話すとき、状態が、ターゲット購買者となされた進捗に基づいて見込みから見積もりに、交渉に、そして最終的に、勝った/閉められた又は負けた等の状態に変更される。閉めの確率及び予想カテゴリなどの要素にフィルタをかけることは、予測をレンダリングするように予測クエリをトリガすることになり、この予測に対して、インターフェースによるフィルタリング及び他の比較が行われる。
例えば、ターゲット購買者が売買の金額を減らすように頼んでおり、販売員がその金額を増やそうと試みていることを例にとる。機会についての変更金額と機会についての状態変更とを含むデータのすべてが、監査証跡を提供する履歴トレンドデータオブジェクトに記憶される。
現在のデータが現在のテーブル内で更新されるとき、過去の値は顧客にとってアクセス不可能になる。しかしながら、履歴トレンドデータオブジェクトは問い合わせ可能監査証跡を提供し、この監査証跡を通して、インターフェース及びそのユーザの要請において上記のような履歴値を取り出すことができる。一実施形態によれば、履歴データは1日という粒度で処理され、ゆえに販売員は、毎日の粒度のレポーティングを備えたデータセット内で、時間において戻り、ある時間にわたりデータがどのように変わったかを閲覧することができる。別の実施形態において、頻度を問わずいかなる変更も明らかにすることができるように、すべての変更が追跡され、タイムスタンプされる。
販売員のために機会がある時間にわたりどのように変わったかを明らかにすることに加えて、上記のメトリックは、さらに他の統制に、例えば、何百のケースを販売代理店から受け、電話を閉めるための最良手段を査定する必要があるコールセンターを運営するサービスマネージャに、有用であり得る。同様に、マーケティングキャンペーンを運営するキャンペーンマネージャは、履歴に戻ってじっと見て事象が過去の機会の結果にどのように影響を与えたかを調べるだけなく、マーケティング努力を通して明かされていない様々なリード及び機会における閉めるための最良手段を査定することができる。
図20Eは、追加されたカスタムフィルタのデフォルトでの別のインターフェースを描いている。ここでの「金額(amount)」セレクタでは、図20Dにおいて描かれた前の例における値ではなく、「フィールド(field)」モードが選択されている。要素2029は、「フィールド」モードにあるときに現在の値だけが選出器において出現することを示しており、ゆえにユーザは、値を入れることに代わって、データ範囲制限されたデータセット内に実際に存在する値から選択することを許可される。インターフェースは「金額」に限られず、むしろ、データセット内の任意の列について動作して、値により又は「フィールド」モードによりフィルタをかけることを許可し、フィールドモードにおいて、選出器は、指定された列について1又は複数のフィールドに存在する値だけをリストアップする。例えば、「段階」を選択することにより、選出器は、少なくとも1つの機会が指定された顧客履歴日付範囲についての例示的な4つの段階の各々に存在すると仮定して、4つの段階プロセスの各段階を描くことができる。こうして、ユーザは、自身にとってアクセス可能な履歴データを探索するための非常に直感的なインターフェースを提示される。
別の実施形態において、産業、地理、売買サイズ、取り扱い中の製品などの所望の基準に従って検索を狭め又は限定するように、フィルタ要素がユーザに提供される。こうして、上記の機能性は、販売プロフェッショナルが販売生産性を向上させ、ビジネスプロセスを合理化するのを支援する。
一実施形態によれば、履歴トレンドデータオブジェクトは、履歴データが以下の表1に描かれるテーブルなどのテーブルに記憶される履歴データスキーマを介して実施される:
Figure 2016514321
上記表1において利用されるインデックスには、organization_id、key_prefix、historic_entity_data_idを含む。PKには、organization_id、key_prefix、system_modstampを含む(例えば、タイムスタンプ、又はタイムスタンプされたレコードなどを提供する)。ユニーク、検索(find)、所与の日付についてのスナップショット、及び親レコードは、organization_id、key_prefix、parent_id、valid_to、valid_fromである。インデックスorganization_id、key_prefix、valid_toは、データをクリーンアップするのを容易にする。上記のテーブルは、特定の実施形態によれば、ユーザのストレージ要件に対してさらにカウントされる。例えば、使用が、ユーザごとに予め構成された数のレコードにおいて上限設定されて(capped)もよく、ユーザの組織についての価格設定計画に基づいて改造できてもよい。あるいは、利用可能なスロットが乏しくなるとき、古いスロットがクリーンにされてもよい。履歴データ管理、行限定、及び統計が、場合により利用されてもよい。新しい履歴について、システムは、新しい履歴テーブルのために列ごとに平均20バイトと60個の有効列(50個の有効データ列+PK+監査フィールド)とを仮定してもよく、こうして、行サイズは1300バイトである。行推定について、システムは、履歴トレンドがエンティティ履歴と類似の使用パターンを有することになると仮定してもよい。顧客の適用可能リソース限定に対して履歴トレンドストレージ使用を請求することによって、ユーザ及び組織は、自身のリソース制約及び価格設定に対して所望の履歴可用性の深度のバランスをとることになる。
エンティティ履歴についての行カウントにおいて直近の成長を明らかにした生産データのサンプリングは、約2.5B(10億(billion))行/年である。履歴トレンドは、任意数の変更されたフィールドについて、単一の行を記憶することになるため、0.78のさらなるファクタが適用され得る。組織ごとにカスタム履歴トレンドデータオブジェクトの合計量を制限することによって、履歴トレンドについての予期される行カウントは、価格設定構造がデータベースのすべてのテナントの中での合計の総体の成長に影響を与えるのに使用されて、最悪ケースシナリオにおいて年ごとに約1.2B行に限定されることができる。
履歴データは、デフォルト年数にわたって記憶することができる。2年が初期デフォルトとして提供される場合、履歴トレンドテーブルのサイズは2.4B行あたりにとどまると予期される。カスタム値列は、カスタムオブジェクトに類似のカスタムインデックスによって扱われることになる。例えば自動化されたスクリプトを用いてなどの、システムの意図しない乱用を防止するために、各組織は、各オブジェクトについての履歴行限定を有することになる。こうした限定は、オブジェクトごとに1〜5百万行の間であってもよく、上記の行は、生産データの分析される使用パターンに基づいて、現在のデータと履歴データとの記憶をカバーするのに十分であり、ごくわずかな組織だけが、時にあまりに多くのオブジェクトを有して構成可能限定にヒットし得る。こうした限定は、圧倒的なユーザ個体数のための合理的な限定を可能にすると同時に、ケースごとに扱われることができる。カスタマイズされたテーブルは、履歴トレンドデータオブジェクトへの様々なユーザのクエリパフォーマンスに役立つように、さらにカスタムインデックス化されてもよい。
図20Fは、記載される実施形態に従う一例示的アーキテクチャを描いている。具体的に、顧客組織2033A、2033B及び2033Cが描かれており、各々がユーザのクライアント装置及びディスプレイ2034A、2034B及び2034Cを備え、ユーザのクライアント装置及びディスプレイ2034A、2034B及び2034Cは、入力、クエリ及び要求を送ること並びに表示のための出力を含む応答を応答的に受信することを含め、ネットワーク2032を介してホスト組織2010とインターフェースをとる能力がある。ホスト組織2010内に要求インターフェース2076があり、要求インターフェース2076は場合によりウェブサーバ2075によって実施されてもよい。ホスト組織は、プロセッサ2081、メモリ2082、クエリインターフェース2080、分析エンジン2085、及びマルチテナントデータベースシステム2030をさらに含む。マルチテナントデータベースシステム2030内に実行ハードウェア、ソフトウェア及びロジック2020があり、実行ハードウェア、ソフトウェア及びロジック2020は、マルチテナントデータベースシステム2030の複数のテナントと認証器2098とデータベース2050とにわたって共有され、データベース2050は、例えば、リレーショナルデータベースなどの、レコードを記憶するデータベースと、履歴トレンドデータオブジェクトをホストする能力があるオブジェクトデータベースなどの、履歴値を記憶するデータベースと、分析エンジン2085により生成されたインデックス2054を記憶する能力がある予測データベースであって、上記インデックスは予測データベースに対して実行されるクエリに応答して予測レコードセットを返すことを容易にする、予測データベースと、を含み得る。
一実施形態によれば、ホスト組織2010は、少なくとも1つのプロセッサ2081とメモリ2082とを有するシステム2035を稼働させる。システム2035は、レコード2060を記憶するデータベース2050を含み、レコード2060に対する更新は、レコード2060がデータベース2050の中で更新されるとき、レコードについての履歴値を維持するように履歴トレンドデータオブジェクト(HTDO)2061へと記録される。こうした一実施形態によれば、システム2035はさらに、要求インターフェース2076を含む。要求インターフェース2076は、ユーザ装置2034A‐Cから、ユーザ装置2034A‐Cにおいて表示されるべきデータを指定する入力2053を受信し、さらに、要求インターフェース2076は、ユーザ装置2034A‐Cから履歴フィルタ入力2056を受信する。こうした一実施形態において、システム2035はさらに、クエリインターフェース2080を含む。クエリインターフェース2080は、表示されるべきデータ2058について、データベース2050に記憶されたレコード2060に問い合わせ(2057)、さらに、クエリインターフェース2080は、表示されるべきデータ2058の履歴値2062について、履歴トレンドデータオブジェクト2061に問い合わせる(2057)。システム2035はさらに、分析エンジン2085を含み、分析エンジン2085は、表示されるべきデータと表示されるべきデータの履歴値とを比較して、表示されるべきデータに対応する1又は複数の変更された値2063を決定する。それから、システム2035の要求インターフェース2076は、ユーザ装置2034A‐Cに対する表示出力2055として、上記の比較を介して決定された1又は複数の変更された値2063に基づいて、少なくとも表示されるべきデータ2058と変更された値の指し示しとをさらに返す。
要求インターフェース2076はさらに、ユーザ装置2034A‐Cにおける変更値指し示しGUIを介して選択入力2065を受信することができ、上記選択入力2065は、1又は複数の変更された値についてのさらなる下位詳細を要求し、これに応答して、要求インターフェース2076及び/又はウェブサーバ2075は、さらなるドリルダウン詳細を提供することができる。例えば、タッチスクリーンのユーザが、示された変更された値のうち1つをタッチし又はジェスチャーする場合、ユーザインターフェースは、こうした入力を要求インターフェース2076に伝えて、指定された変更された値についてのさらなる詳細(例えば、現在及び過去の状態、差、変更の方向、販売機会についての予測勝ち/負け結果変更、等)を有する更新された表示出力2059をホスト組織2010に提供させることができる。
システム2035の別の実施形態によれば、データベース2050は、オンデマンドのクラウドベースのサービスとしてホスト組織2010において1又は複数の加入者のために実行される。上記システムはさらに認証器2098を含み、認証器2098は、ユーザを既知の加入者として検証し、既知の加入者により提示される認証クレデンシャルをさらに検証する。
システム2035の別の実施形態によれば、ウェブサーバ2075は、要求インターフェース2076を実施し、要求インターフェース2076及び/又はウェブサーバ2075によってユーザ装置2034A‐Cに表示させる変更値指し示しGUIと相互作用する。こうした一実施形態において、ウェブサーバ2075は、入力として、ネットワーク2032を介してホスト組織と通信可能にインターフェースをとる複数の顧客組織の中の1又は複数のクライアント装置から複数のアクセス要求を受信する。
システム2035はさらに、予測データベースを実施する予測データベース機能性を備えたマルチテナントデータベースシステムを含む。さらに、各顧客組織は、別個かつ区別可能なリモートの組織、ホスト組織内の組織グループ、ホスト組織のビジネスパートナー、又はホスト組織により提供されるクラウドコンピューティングサービスに加入している顧客組織から成るグループから選択されたエンティティである。
図20Gは、開示される実施形態に従う一方法を示すフロー図である。方法2031は処理ロジックによって実行されてもよく、この処理ロジックには、本明細書に記載されるとおり変更値指し示しと履歴値比較とを実施するシステム、装置及び方法に従ったハードウェア(例えば、回路、専用ロジック、プログラマブルロジック、マイクロコード等)、ソフトウェア(例えば、送信、送出、受信、実行、生成、算出、記憶、公開、問い合わせ、処理などの様々なオペレーションを実行するように処理装置上で実行される命令)等を含み得る。例えば、図1のホスト組織110、図4のマシン400又は図20Fのシステム2035は、記載される方法論を実施することができる。以下にリストアップされるブロック及び/又はオペレーションのいくつかは、特定の実施形態において任意的である。提示されるブロックの番号付けは明りょうさのためであり、様々なブロックが生じるべきオペレーションの順序を規定する意図はない。
ブロック2091において、処理ロジックは、データベースにレコードを記憶する。レコードに対する更新は、レコードがデータベースの中で更新されるとき、レコードについての履歴値を維持するように履歴トレンドデータオブジェクトへと記録される。
ブロック2092において、処理ロジックは、ユーザ装置から、ユーザ装置において表示されるべきデータを指定する入力を受信する。
ブロック2093において、処理ロジックは、ユーザ装置から履歴フィルタ入力を受信する。
ブロック2094において、処理ロジックは、表示されるべきデータについて、データベースに記憶されたレコードに問い合わせる。
ブロック2095において、処理ロジックは、表示されるべきデータの履歴値について、履歴トレンドデータオブジェクトに問い合わせる。
ブロック2096において、処理ロジックは、表示されるべきデータと表示されるべきデータの履歴値とを比較して、表示されるべきデータに対応する1又は複数の変更された値を決定する。
ブロック2097において、処理ロジックは、上記の比較を介して決定された1又は複数の変更された値に基づいて、少なくとも表示されるべきデータと変更された値の指し示しとを表示する変更値指し示しGUIをユーザ装置に表示する。
ユーザインターフェース(UI)又はグラフィカルユーザインターフェース(GUI)と変更値指し示しGUIとは、具体的に、データベースに記憶されたデータを消費し、履歴トレンドデータオブジェクト内に記憶された履歴データを消費し、予測インターフェースから返される予測結果を消費して、非常に直感的な方法でユーザに結果を表示する。
従来のデータベースインターフェースでの問題は、インターフェースが、データベース内に記憶されたデータをその現在の状態において見せることである。このことは、当然ながら、レコードを記憶するデータベースの目的である。それにもかかわらず、データのビューを、該データが過去における何らかの履歴日付にあったとおりに有すること、あるいは、データが2つの履歴日付間で、又は特定の履歴日付における過去の状態とデータが今日存在するとおりの現在の状態との間でどのように変わったかのビューを有することが、時に有益である。
データベースの中のデータを前の状態に回復することは、現在の状態におけるデータを誤りのある過去の状態のデータで上書きすることになるため、うまくいくソリューションではない。したがって、変更値指し示しGUIは、ユーザが、自身のデータを、該データが過去の状態において存在したとおりにも探索することができるための直感的な手段を提供する。こうした能力は、データベース内に記憶された最新データをその現在の状態において破損することなく、ユーザが、時間において戻り、販売機会の現在の状態又は他のこうしたレコードなどのデータを、該データが指定された日に存在したとおり閲覧することを可能にする。
さらに、記載される方法論は、ユーザが複雑なデータスキーマを定義し、又は履歴データを追跡するためにカスタムコードを書く必要をなくす。例えば、必要なデータを公開することにITサポートを関与させたり、上記の情報を追跡するようにカスタマイズされたソフトウェアを書くためにプログラマを採用する必要がない。代わって、クラウドベースサービスとして稼働するホスト組織が、必要な機能性をユーザに提供し、これを、記載された変更値指し示しGUIなどの直感的なUIを通して公開する。
さらになお、ユーザは、入り組んだSQLクエリを構築することを求められず、むしろ、GUIインターフェースを通して履歴データレコード及び値を探索し、閲覧することができる。変更値指し示しGUIが予測クエリと結合されるとき、GUIは、必要なPreQLクエリをユーザのために構築し、GUIに予測結果を公開し、こうして、ユーザのためのデータ探索能力をさらに拡張する。
方法2031の別の実施形態によれば、データベースに記憶されるレコードは、データについての現在の状態を維持し、履歴トレンドデータオブジェクトへと記録されたレコードについての履歴値は、データの現在の状態を破損することなく、データについての1又は複数の過去の状態を維持する。
方法2031の別の実施形態によれば、データベースにレコードを記憶することは、データベースに1又は複数のテーブルを記憶することを含み、1又は複数のテーブルの各々は、テーブルの中にリストアップされたエンティティの特性を確立する複数の列と、レコードとしてテーブルに記録される複数のエンティティ行とを有する。レコードに対する更新は、(i)複数の列と複数のエンティティ行との交差におけるいかなるフィールドも修正することと、(ii)データベースの中のレコードを追加し又は削除することと、のうちいずれか1つを含む。
方法2031の別の実施形態によれば、レコードに対する更新は、データベースに記憶されたレコードに対する更新を受信することと、データベースに記憶されたレコードについての現在状態データを、過去状態データとして、履歴トレンドデータオブジェクトへと記録することと、受信された更新に従って、データベースの中のレコードの現在状態データを修正することと、更新をデータベースに対してコミットすることと、過去状態データを履歴トレンドデータオブジェクトに対してコミットすることと、を含む。
方法2031の別の実施形態によれば、履歴トレンドデータオブジェクトの中に維持されるレコードについての履歴値は、タイムスタンプされる。データベースに記憶された単一のレコードに対する複数の更新が、履歴トレンドデータオブジェクト内に区別可能に維持され、少なくともタイムスタンプに基づいて差別化される。特定の実施形態において、データベース内のレコードに対するあらゆる更新が、履歴トレンドデータオブジェクト内に新しい行として記憶される。
こうして、ホスト組織のコンピューティングハードウェアは、データベースレコード内に生じるあらゆる変更を、ユーザのために生データとして履歴トレンドデータオブジェクト内に記憶する。ユーザがGUIインターフェースに関与するとき、適切なクエリがユーザのために構築されて、必要な情報を問い合わせ、取り出して、変更された値を表示し、値における差を表示し、所与のフィールドについてのある時間にわたる変更を表示する、などする。例えば、ユーザは、今日及び先月などの2つの時点を指定することができる。このことから、必要な機能がGUIの又はウェブサーバの機能性によって築かれて、結果を問い合わせ、変更値指し示しGUIを介してユーザに表示する。この表示は、計算された差又は修正された値を、決定された値における変更を強調するようにハイライトすることを含む。
例えば、変更値指し示しGUIは、望まれない変更を赤いテキストとして、赤い方向矢印を用いて、又は赤いハイライトを用いて表示してもよい。こうした望まれない変更は、販売機会金額における低減、予測の勝ち|負け結果の確率における低減(例えば、IS_WONフィールドについての予測結果がヌル値を有する)、予測された販売機会閉め日付における増加、などであり得る。望ましい変更は、緑のテキスト、矢印、又はハイライトを用いて表示されてもよく、中立である変更は、単にグレイ又は黒のテキスト、矢印、又はハイライトを使用してもよい。説明された色とは異なる色が代替にされてもよい。
方法2031の別の実施形態によれば、変更された値の指し示しは、1又は複数の変更された値について変更値指し示しGUIに表示される色付けされ又はハイライトされたテキストと、1又は複数の変更された値について変更値指し示しGUIに表示される方向矢印であって、変更の存在又は変更の方向を示す方向矢印と、表示されるべきデータと1又は複数の変更された値とにおける計算された差と、1又は複数の変更された値に基づいて、表示されるべきデータについて同時に表示される現在の状態及び過去の状態と、のうち少なくとも1つを含む。
方法2031の別の実施形態によれば、変更値指し示しGUIをユーザ装置に表示することは、変更された値の指し示しに追加して、表示されるべきデータと上記の比較を介して決定された1又は複数の変更された値との双方を表示することを含む。
方法2031の別の実施形態によれば、表示されるべきデータは、データベースの中にレコードとして記憶された複数の販売機会を含み、変更値指し示しGUIをユーザ装置に表示することは、複数の販売機会のうち1又は複数に対する変更を現在の状態対過去の状態において描く変更された値の指し示しと共に、複数の販売機会をユーザ装置に表示することを含む。
別の実施形態によれば、方法2031はさらに、現在の状態における販売機会の各々についての第1の勝ち負け予測結果を決定することと、過去の状態における販売機会の各々についての第2の勝ち負け予測結果を決定することと、変更された値を指し示すGUIを介して、第1の勝ち負け予測結果と第2の勝ち負け予測結果との間の任意の変更を描くことと、を含む。
方法2031の別の実施形態によれば、第1及び第2の勝ち負け予測結果を決定することは、PREDICTコマンドタームを指定する予測クエリを構築することと、予測問い合わせ言語(PreQL)インターフェースを介して予測データベースに対して予測クエリを発行することと、を含む。
方法2031の別の実施形態によれば、変更値指し示しGUIは、表示されるべきデータの履歴値に基づいて、ある時間にわたる1又は複数の変更された値のグラフ又はチャートを描く。
変更値指し示しGUIは、データベース内に記憶された現在状態データの結果をフィルタにかける通常のフィルタと履歴フィルタとの双方を含む様々なフィルタを介して、ユーザがレポートをカスタマイズすることを許可する。GUIを利用して、ユーザは、レポートについての新しいフィルタを追加し、例えば、履歴フィールドフィルタを論理比較器(例えば、に等しい、より小さい、より大きい、真である、偽である、ヌルである、等)と共に指定することができる。ユーザは、さらに、フィルタリングにおける使用のために履歴日付を指定することができる。例えば、所与の履歴日付において存在したとおりの結果が要求されてもよい。あるいは、2つの日付が指定されてもよく、このことは2つの日付間の変更された値を生み出すことになり、この2つの日付は、双方とも履歴日付、又は現在の日付(例えば、今日)と比較される履歴日付であり得る。例えば、販売高がある時間にわたりどのように変わったかを月ごと、週ごと又は日ごとなどで示すのに、日付範囲が時に適切である。
方法2031の別の実施形態によれば、履歴フィルタ入力は、履歴日付と、履歴日付範囲と、閉められた販売機会についての履歴閉め日付と、履歴トレンドデータオブジェクトに記録された値又は文字列と、履歴トレンドデータオブジェクトに存在するフィールド又はレコードと、履歴トレンドデータオブジェクトに記録された値又は文字列についての論理オペランド又は比較器と、履歴トレンドデータオブジェクトに存在するヌル値についての予測結果閾値又は範囲と、のうち少なくとも1つを含む。
方法2031の別の実施形態によれば、変更値指し示しGUIをユーザ装置に表示することはさらに、履歴トレンドデータオブジェクトから決定可能な表示されるべきデータについてのすべての変更された値を表示することと、履歴フィルタ入力を介して指定されるデータ範囲内のすべての変更された値を表示することと、変更値指し示しGUIを介して指定されるとおりに日ごと、週ごと、月ごと又は四半期ごとの変更区間で1又は複数の変更された値のグラフを表示することと、のうち少なくとも1つを含む。
方法2031の別の実施形態によれば、履歴値を維持する履歴トレンドデータオブジェクトは、クラウドコンピューティングサービスの一部として、デフォルトでアクティブであり、変更値指し示しGUIを介してユーザに公開される。
方法2031の別の実施形態によれば、履歴トレンドデータオブジェクトは、クラウドコンピューティングサービスにアクセスするためにユーザにより支払われる加入者料金に基づいて確立される履歴キャパシティに限定される。この履歴キャパシティは、ユーザにより支払われる加入者料金に比例して増加し、加入者料金ゼロのユーザは、最小のデフォルトの履歴キャパシティへのアクセスを有する。
こうしたモデルは、ユーザが、ホスト組織におけるクラウド内に自身の既存のデータを維持することを促す。なぜならば、ユーザは、従来のソリューションによっては提供されない強化された能力から恩恵を受けることができるからである。ユーザが追加料金を支払わない場合でさえ、ユーザは、限られた方法で上記能力に依然としてさらされ、自身の履歴データ探索及び保有能力の範囲を拡張したいか否かを後から判断することができる。
別の実施形態によれば、方法2031はさらに、変更値指し示しGUIにおいて受信される選択入力に応答して、1又は複数の変更された値についてのさらなる下位詳細を表示することを含む。上記選択入力は、表示される変更値指し示しに対応するマウスオーバーイベント、カーソルオーバーイベント、クリックイベント、タッチスクリーン選択イベント又はタッチスクリーン位置イベントのうち1つを含み、下位詳細を表示することは、当初表示された変更値指し示しの上に位置づけられ、かつ該指し示しを少なくとも部分的にカバーするグラフィカルオーバーレイ内に、下位詳細を表示することを含む。
例えば、表示出力をユーザディスプレイに返すと、ユーザはさらに、アイテム上でクリックし、ジェスチャーし、押し、又はポインタを合わせることによって、結果を探索することができる。このことは、代替的な又は追加のフィルタリングを構築することをユーザに求めることなく、変更値指し示しGUIがユーザのアクションに文脈的に関連するさらなる結果をレンダリングすることをトリガする。
方法2031の別の実施形態によれば、1又は複数の変更された値は、(i)販売機会が確率的に勝ちをもたらすと予測されるか負けをもたらすと予測されるかを示す勝ち負け予測結果における変更と、(ii)勝ち負け予測結果についての信頼度指標における変更と、(iii)予測される販売高における変更と、(iv)予測された販売機会閉め日付における変更と、のうち少なくとも1つに対応する。さらに、上記(i)乃至(iv)のいずれか1つに対応する下位詳細が、変更値指し示しGUIにおいて受信される選択入力に応答して、変更値指し示しGUIを介してユーザ装置に表示される。
履歴結果を比較する能力は、パイプライン比較を可能にする(例えば、図20Aにおけるパイプライン変化レポート2001を参照)。こうしたレポートは、製品、販売機会又は他のありのままのビジネスフローがある時間にわたりどのように変わったか、例えば、ビジネスパイプラインが今日対昨日で、又は今日対直前の四半期でどのように見えるか、あるいは、ビジネスパイプラインが直前の四半期の終わり対前年の同四半期の終わりでどのように見えたか、などをユーザが探索することを可能にする。こうしたレポートは、販売段階、製品ごとの販売、予想、カテゴリ、依然として観察されている値のための予測結果、ボリューム、収益、及び、データがデータベースに記録され又は予測データベースを介して予測することができる任意の他のビジネスメトリックに対しての、図表にされる販売機会を描くことができる。
方法2031の別の実施形態によれば、変更値指し示しGUIをユーザに表示することは、履歴トレンドデータオブジェクト内で維持される履歴値に基づいて、変更値指し示しGUIを介して指定される履歴日付における、第2の軸上の販売機会についての複数の利用可能な販売段階に対しての第1の軸上の販売機会の数量によって定義される第1のパイプラインチャートを、ユーザ装置に表示することと、第1のパイプラインチャートと同時に第2のパイプラインチャートを表示することであって、第2のパイプラインチャートは、変更値指し示しGUIを介して指定されるとおりに、第2の履歴日付又は現在日付における複数の利用可能な販売段階に対しての販売機会の数量を描く、ことと、を含む。
方法2031の別の実施形態によれば、変更値指し示しGUIはさらに、分析エンジンによる、履歴トレンドデータオブジェクト内に維持される履歴値の予測分析に基づいて、推奨される予想調整を表示する。
方法2031の別の実施形態によれば、変更値指し示しは、赤いテキスト又はハイライト、緑のテキスト又はハイライト、及びグレイのテキスト又はハイライトを用いて、1又は複数の変更された値を描く。上記の赤いテキスト又はハイライトは、比較を介して決定された現在の状態対過去の状態についての否定的な変更を表し、緑のテキスト又はハイライトは、比較を介して決定された現在の状態対過去の状態についての肯定的な変更を表し、グレイのテキスト又はハイライトは、比較を介して決定された現在の状態対過去の状態についての中立の変更を表す。
別の実施形態によれば、命令を記憶させた非一時的コンピュータ可読記憶媒体があり、上記命令は、ホスト組織におけるプロセッサにより実行されると、データベースにレコードを記憶することであって、レコードに対する更新は、レコードがデータベースの中で更新されるとき、レコードについての履歴値を維持するように履歴トレンドデータオブジェクトへと記録される、ことと、ユーザ装置から、ユーザ装置において表示されるべきデータを指定する入力を受信することと、ユーザ装置から履歴フィルタ入力を受信することと、表示されるべきデータについて、データベースに記憶されたレコードに問い合わせることと、表示されるべきデータの履歴値について、履歴トレンドデータオブジェクトに問い合わせることと、表示されるべきデータと表示されるべきデータの履歴値とを比較して、表示されるべきデータに対応する1又は複数の変更された値を決定することと、上記の比較を介して決定された1又は複数の変更された値に基づいて、少なくとも表示されるべきデータと変更された値の指し示しとを表示する変更値指し示しGUIをユーザ装置に表示することと、を含むオペレーションをホスト組織に実行させる。
図21Aは、予測完全性対精度を描くチャートを提供している。要素2105における垂直軸上には精度/信頼度が示されており、この精度/信頼度は、予測において本質的に完璧な精度又は最も高いあり得る信頼度を表す“1.0”から、下方へ、この具体的なスケールにおいてはいくらか乏しい精度又は低い信頼度を表す“0.4”に及んでいる。水平軸上には要素2106がフィラーパーセンテージを描いており、このパーセンテージは、予測的フィルがないことを意味する“0.0”から、すべての利用可能な要素が必要な場合に予測結果を用いて埋められていることを意味する“1.0”に及んでいる。ゆえに、0.0において、予測された結果はなく、そのようなものとして、既知の(例えば、実際に観察された)データだけが存在するため精度は完璧である。反対に、1.0フィルパーセンテージにおいては、データセットに存在する任意のヌル値が予測値を用いて埋められるが精度/信頼度は0.4と0.5との間の低さに達するというように、予測結果はあまり信頼性がなくなる。
任意数の種々の交差を描き出すことができるが、要素2107は、垂直軸上の0.8の精度/信頼度と水平軸上の50%を上回るフィルパーセンテージとの交差を描いており、このことは、予測分析エンジンのコアによって分析された機会のうち50%より多くについて、販売予測は80%正確である/自信がある、と翻訳される。
種々のデータセットが、こうした正確な値を変更し得るが、チャートは、こうした販売データに属する豊富なデータセット内で何が共通して発見されるかを描いている。詳細には、機会の過半数は比較的高い度合の精度/信頼度で予測されることができ、このことが今度は、販売員が実行された予測分析に従って、肯定的な結果を最も生み出しそうである機会に自身の努力の焦点を合わせることを許可する。
図21Bは、機会信頼度内訳を描くチャートを提供している。垂直軸上の要素2011は、この具体的なチャートにおいて0から9000に及ぶ機会の数を描いており、水平軸上の要素2012は、0.0の信頼度から1.0の信頼度に及ぶ販売の確率を表している。特に、左に向かう列と、同様に、右に向かう列とは、非常に意義深い。“0.0”の確率は、信頼度の不足を完成させるようには相関せず、むしろ、0.0から0.2に及ぶ販売機会をハイライトする要素2013によって描かれるとおり、販売機会が販売を全くもたらしそうにないという非常に高い度合の信頼度に相関する。スペクトルの反対側において、要素2014は、販売においてかなり閉まりそうであるとして、0.8から1.0に及ぶ販売機会をハイライトしている。
図21Cは、機会勝ち取り予測を描くチャートを提供している。信号検出理論において、受信者操作特性(ROC)、又は単にROC曲線は、二項分類器システムについて、その弁別的な閾値が変えられるときのパフォーマンスを例示するグラフィカルプロットである。このROCは、陽性のうちの真の陽性の割合(TPR=真陽性レート)vs陰性のうちの偽の陰性の割合(FPR=偽陰性レート)を様々な閾値設定においてプロットすることによって作成される。TPRは敏感度としても知られており(さらに、いくつかの分野においてはリコール(recall)と呼ばれる)、FPRは1マイナス特異度又は真陰性レートである。一般に、検出と偽のアラームとについての双方の確率分布が既知である場合、ROC曲線は、x軸における偽のアラームの確率についての累積分布関数に対してy軸における検出確率の累積分布関数(−無限大から+無限大の確率分布下のエリア)をプロットすることによって生成することができる。
ここに描かれるROC10k曲線は、要素2021によりマーク付けされた0.0から1.0の信頼度に及ぶ垂直軸に真陽性レートをマップし、さらに、要素2022によりマーク付けされた0.0から1.0の信頼度に及ぶ水平軸に偽陽性レートをマップし、0.93の面積を有するROC曲線をもたらしている。
図22Aは、機会スコア付けのための予測的関係を描くチャートを提供している。予測的流通(Predictive currency)が、“IS WON=真|偽”フィールドが条件とされている。垂直軸上の要素2206は、ソースごとに“IS WON”を真又は偽として描いており、水平軸上の要素2207は、左から右へ、ウェブサイト、Salesforce AE、他、EBR生成、販売生成、パートナー紹介、AE/販売、インターネット検索−支払済み、インバウンドコール、そして最後に右側にAE生成−アカウント作成を含む様々な販売リードソースを描いている。
ここに描かれているインターフェースは、予測分析にさらされた履歴データセットを用いてユーザのために生成され、販売員又は販売チームが限られたリソースをどこに適用すべきかを決定するのを支援することができる。チャートは解釈を被るが、特定の事実が分析によって明らかにされる。例えば、要素2213は、EBR生成されたリードが販売をかなり勝ち取りそうであることを示しており、要素2212は、AE/販売が販売をあまり勝ち取りそうにないことを描いており、要素2211においては、インバウンドコールが販売を勝ち取るのに約50/50のチャンスをもたらすことが分かるであろう。ゆえに、機会スコア付けのための予測的関係を示すインターフェースに提示されるこうしたデータは、販売チームがどこにリソースの焦点を合わせるべきかを決定するのに役立ち得る。
図22Bは、機会スコア付けのための予測的関係を描く別のチャートを提供している。ここで、機会は、“IS WON=真|偽”フィールドが条件とされている。垂直軸上の要素2221は、タイプごとに“IS WON”を真又は偽として描いており、水平軸上の要素2222は、左から右へ、アドオンビジネス、新ビジネス、公共、リニューアル、そして右側に契約を含む様々な販売リードタイプを描いている。
要素2223は、アドオンビジネスが販売をより勝ち取りそうであることを描いており、要素2224は、新ビジネスが販売をあまり勝ち取りそうにないことを示している。前述のとおり、ここに描かれるインターフェースは、予測分析にさらされた履歴データセットを用いてユーザのために生成され、販売員又は販売チームが限られたリソースをどこに適用すべきかを決定するのを支援することができる。
さらなる機能性が、保有スコアを提供することにより既存の機会についての保有のスコア又は確率を提供することによって、特化されたUIインターフェースが既存の機会を新しくする尤度をレンダリングすることを可能にする。こうしたメトリックは、収益を最大化するために販売員の時間及びリソースがどこに最も良く費やされるかに影響を与えることができるため、上記の機能性は、販売プロフェッショナルの役に立つ。
機会スコア付けは、RELATEDコマンドタームを利用して、データセットについての分析エンジンの予測分析により生成されるインデックスに対する潜在構造クエリ要求を発行してもよい。例えば、RELATEDコマンドタームは、どのフィールドが別のフィールドと予測的に関連するか、例えば、どのフィールドが、真又は偽の値を有する“IS WON”フィールドに関連するかを識別するために、特化されたUIによって利用されてもよい。さらに、他のあまり直感的でないフィールドが、確率的に関連する可能性がある。例えば、リードソースフィールドが、データセットの特定列に関連するように決定される可能性があり、一方、会計四半期などの他の列が、勝ち/負けの帰結にあまり関連しないと証明される可能性がある。
図22Cは、機会スコア付けのための予測的関係を描く別のチャートを提供している。ここで、予測される通貨は、“IS WON=真|偽”フィールドが条件とされている。垂直軸上の要素2231は、通貨ごとに“IS WON”を真又は偽として描いており、水平軸上の要素2232は、左から右へ、米国ドル(USD)、オーストラリアドル(AUD)、日本円(JPY)、英国ポンド(GBP)、カナダドル(CAD)、そして最後に右側にユーロ(EUR)を含む通貨ごとに、様々な販売リードを描いている。
データを解釈すると、要素2236において、機会は日本において販売勝ちをよりもたらしそうであり、要素2237において、機会はユーロを用いるヨーロッパ諸国においてあまり勝ち取りそうにないと言えるであろう。非常に多くのデータがUSDベースの販売機会について存在し、一方、通貨による勝ち/負けに対する明らかな関係はそれほどなく、しかしながら、もたらされた分析されたわずかにより多くの販売が、勝ち対負けをもたらすように予測される。前述のとおり、ここで描かれるインターフェースは、予測分析にさらされた履歴データセットを用いてユーザのために生成され、販売員又は販売チームが限られたリソースをどこに適用すべきかを決定するのを支援することができる。
分析され、予測分析にさらされるデータセットの中のこうした履歴ベースのデータについてのハイレベルのユースケースは、明示的に描かれた例には限定されない。例えば、他のユースケースには、販売代理人及びマーケティングユーザのために、買うという性向を決定することと、リードをスコア付け/ランク付けすることとを含み得る。例えば、販売ユーザは、しばしば複数のソース(マーケティング、外部、販売見込み等)からリードを得て、多くの場合、任意の所与の四半期において、販売ユーザは、自身が利用可能な時間より多くの、フォローアップすべきリードを有している。販売代理人は、キークエスチョンでの手引きをしばしば必要とし、このキークエスチョンは、例えば、どのリードが買うという最も高い性向を有するか、販売の尤度はどれほどか、このリードが機会に転換される場合に潜在的な収益インパクトはどれほどか、このリードが機会に転換される場合に履歴観察に基づいて推定される販売サイクルはどれほどか、販売員のテリトリの中で潜在性の高い販売リードを発見し及び優先順位を付けることができるための、パイプラインの中の各リードについてのスコア/ランクはどれほどか、などである。
販売代理人は、予測分析に基づいた各アカウントが買う可能性がある上位10製品とこれらが成功裏に閉まる場合の売買サイズ、類似のアカウントの履歴トレンドに基づいた売買サイクルの長さ、などを決定することを求めることがある。販売代理人は、こうした推奨に基づいて行動するとき、自身のパイプラインを広げ、ノルマを満たし又は超えるように自身のチャンスを増加させることができ、こうして、販売生産性、ビジネスプロセス、見込み、及びリード資格を向上させることができる。提供され、予測分析にさらされる履歴データは、より良い予測結果を生み出す可能性があり、この予測結果は、様々なフィルタを用いたデータ探索を通して、又は提供される特化されたUIチャート及びインターフェースを通してユーザに伝達することができ、上記の各々が、ユーザのために予測データベースインデックスに対する必要な履歴及び予測クエリを扱うことができる。
上記の履歴ベースのデータについてのさらなるユースケースには、さらに、閉まる/勝つという尤度と機会スコア付けとを含み得る。例えば、販売代理人及び販売マネージャは、自身の現在のパイプラインにおいて非常に多くの売買をしばしば有し、任意の月/四半期において自身の時間及び注意をどこに適用するべきかをやりくりしなければならないとき、上記のデータから恩恵を受け得る。こうした販売プロフェッショナルが販売期間の終わりに近づくとき、自身のノルマを満たすためのプレッシャーがかなり重要である。機会スコア付けは、こうした売買の閉まる確率に基づいてパイプラインの中で販売機会をランク付けするのを支援することができ、こうして、販売プロフェッショナルの全体効率を向上させることができる。
さらなるデータが、履歴販売データと共に予測分析にさらされてもよい。さらなるデータソースには、例えば、コメント、ログを取られた販売活動、活動についての標準フィールド数(例えば、イベント、通話ログ、タスク等)、C‐レベル顧客連絡先、意思決定者連絡先、閉め日付、閉め日付が押した回数についての標準フィールド数、機会競合相手、標準フィールド機会、競合評価、執行(executive)スポンサーシップ、標準フィールド販売チーム対カスタムフィールド販売チーム及びそれぞれのチームのメンバー、関与する個人についてのチャッターフィード(chatter feed)及びソーシャルネットワークデータ、売買に関与する執行スポンサー、DSR(売買サポート要求(Deal Support Request))、並びに他のカスタムフィールドを含み得る。
履歴ベースのデータは、販売代理人及び販売マネージャのために次購入尤度(Next Likelihood Purchase;NLP)及び機会空白などのメトリックを生成する分析エンジンの予測能力に対して有用であり得る。例えば、四半期の販売ターゲットを達成することの責任を負う販売代理人又は販売マネージャは、どのタイプの顧客がどの製品を買っているか、どの見込みが既存の顧客に最も似ているか、正しい製品が正しい顧客に正しい価格で申し出られているか、我々は売買サイズを増加させるために顧客に何をさらに売ることができるか、などに疑いなく関心があるであろう。購入したと分かっている類似の顧客で機会について履歴データを分析することは、売り込みトレンドをあらわにする可能性があり、こうしたメトリックを用いることは、どんな顧客が次に買う可能性があるかに関する予測をするための価値ある洞察を生み出し、こうして、販売生産性及びビジネスプロセスを向上させる。
エンドユーザに提供される別の能力は、販売プロフェッショナル及び他の関心のある関係者のために顧客参照を提供することである。販売プロフェッショナルは、潜在的な新しいビジネスリードのために顧客参照を必要とするとき、CRMソース、例えば、カスタムアプリケーション、イントラネットサイト、又はデータベースの中で捕捉される参照データなどから上記のような情報を検索し、一緒につなぎ合わせるのに、かなりの時間をしばしば費やす。しかしながら、分析エンジンのコアと関連するユースケースGUIとは、こうした販売プロフェッショナルにキー情報を提供することができる。例えば、アプリケーションが、産業、地形、サイズ、類似製品足跡などに従ってグループ化されたデータを提供することができ、1つの場所において、どの参照資産、例えば、顧客成功ストーリー、ビデオ、ベストプラクティスなどが上記の顧客参照に利用可能であるか、どの参照顧客が潜在的な購買者に声をかけるのに利用可能であるか、連絡先の人の役割、例えば、CIO、販売VP等に従ってグループ化された顧客参照情報、どの参照顧客が何度も利用されてきており、ゆえに今回は良い候補参照でない可能性があるか、現在又は過去の任意の時点において、誰が上記の参照顧客についての販売代理人又はアカウント代理人であるか、参照顧客に到達し又は参照顧客と連絡をとるのに、組織に対して誰が内部的に利用可能であるか、などを提供することができる。このタイプの情報は、データベースシステムの中に通常存在するが、便利な方法で編成されてはおらず、必要な紹介を取り出すのに過度に労働集約的なプロセスをもたらす。しかしながら、分析エンジンのコアは、データの中の上記の関係及び隠れた構造を識別し、次いでこれらは、特化されたGUIインターフェースが例えばGUIの機能性を介してGROUPコマンドタームをコールすることによって、エンドユーザのために取り出し、表示することができる。さらに、上記機能性は、最も理想的な又は最良の可能な参照顧客を多くの中から予測分析に基づいて識別し、提案された参照顧客を用いることの詳細を、スコア付けされた機会勝ち/閉め確率チャートに組み込むことができる。こうしたデータは、従来のシステムからは全体的に利用できない。
別の実施形態によれば、販売プロフェッショナルのために予想調整を予測する機能性が提供される。例えば、ビジネスは一般に、その重大な管理戦略の一部として、販売予想のシステムを有する。しかし、こうした予想は、その本質から、不正確である。こうした予想がどの方向に間違っているかを知って、その理解をビジネスがどうなっているかの向上させたピクチャに変えることは、困難である。分析エンジンの予測分析は、既存の予想データを含む顧客組織の既存のデータを用いて、上記の予想を向上させることができる。例えば、履歴販売データと関連して過去の予想データを分析することは、ビジネスが傾向を示し、これから実現される必要がある将来へと既存の予想を向上させるのを支援し得る。販売マネージャは、自身のそれぞれの販売代理人に予想データに対する自身の判定又は調整を提供するようにしばしば尋ねられる。こうした活動は、上記の販売マネージャが自身のそれぞれの販売代理人の個々の予想を集約することを必要とし、このことは、非常に労働集約的なプロセスであり、誤りを導入する傾向がある。販売マネージャは、自身の代理人の売買に熟知しており、パイプライン評価の一部として定期的に代理人を精査するのに時間を費やす。向上させた予想結果は、こうしたマネージャが現在の予想データについての自身の判定及び評価の品質及び精度を向上させるのを支援し、手動で又はスプレッドシートなどの不十分なツールを用いてしばしば実行される集約機能を自動化するのを助けることができる。
こうした一実施形態において、分析エンジンは、ある過去の時間スパン、例えば、過去8四半期又は他のビジネスに適切な時間期間について、予想対ノルマ対実績などの関係及び因果関係について、販売代理人ごとに過去の予想トレンドをマイニングする。分析エンジンの予測機能性又は特化されたUIインターフェースを用いて、現在の予想に適用することができる推奨される判定及び/又は調整が提供される。予想階層の様々なレベルにおける分析的評価を活用することによって、組織は、ある時間期間にわたる個々の販売代理人の規定されたノルマ、予想及び実績間の分散を低減させることができ、これにより、向上させた予想精度を介して、予想と実現された販売との間のデルタを狭めることができる。
本明細書に開示された対象事項は、例として、特定の実施形態の観点から記載されたが、請求される実施形態は、開示された明示的に列挙された実施形態に限定されないことが理解されるべきである。反対に、本願開示は、当業者に明らかであろう様々な修正と類似の配置とをカバーすることが意図される。ゆえに、別記の請求項の範囲は、すべてのこうした修正と同様の配置とを包含するように、最も広い解釈を認められるべきである。上記の説明は、限定的でなく例示的なものであることが理解されるべきである。多くの他の実施形態が、上記の説明を読んで理解した当業者に明らかになるであろう。ゆえに、開示される対象事項の範囲は、別記の請求項を、該請求項が権利を与えられる均等物の完全な範囲と共に参照して、決定されるべきである。

Claims (20)

  1. ホスト組織における方法であって、
    列及び行のデータセットからインデックスを生成するステップであって、前記インデックスは前記データセットの行と列とにおける確率的関係を表す、ステップと、
    前記インデックスを前記ホスト組織のデータベース内に記憶するステップと、
    前記ホスト組織の前記データベースを要求インターフェースを介して公開するステップと、
    前記要求インターフェースにおいて、少なくとも(i)PREDICTコマンドタームと、(ii)予測されるべき1又は複数の指定された列と、(iii)固定されるべき列名と該列名を固定するための値とを指定する1又は複数の列名=値ペアと、を指定する前記データベースに対してのクエリを受信するステップと、
    前記データベースに記憶された前記インデックスを用いて、前記列名=値ペアに従って固定された予測されるべき前記1又は複数の指定された列の同時条件付き分布の表現を生成するように、前記PREDICTコマンドタームを用いて、予測されるべき前記1又は複数の指定された列と前記1又は複数の列名=値ペアとを渡して前記データベースに問い合わせるステップと、
    を含む方法。
  2. 前記問い合わせるステップに応答して、予測レコードセットを生成するステップであって、
    前記予測レコードセットはその中に複数の要素を含み、前記要素の各々は、予測されるべき前記1又は複数の指定された列の各々についての値を指定する、ステップと、
    前記クエリに応答して、前記予測レコードセットを返すステップと、
    をさらに含む請求項1に記載の方法。
  3. 前記ホスト組織の前記データベースを公開するステップは、認証されたユーザに対して直接、予測問い合わせ言語アプリケーションプログラミングインターフェース(PreQL API)を公開することを含み、前記PreQL APIは、前記認証されたユーザにとってパブリックインターネットを介してアクセス可能である、請求項1に記載の方法。
  4. 前記PREDICTコマンドタームを用いて前記データベースに問い合わせるステップは、前記データベースにPreQLクエリを渡すことを含み、前記PreQLクエリは、
    必要なタームとしての前記PREDICTコマンドタームと、
    予測されるべき前記1又は複数の指定された列を指定する必要なTARGETタームと、
    固定されるべき前記列名と該列名を固定するための前記値とを前記1又は複数の列名=値ペアとして指定する必要なWHEREタームであって、前記必要なWHEREタームは、指定されたとおりの固定されるべき前記1又は複数の列と該列を固定するための対応する値とに確率的に関連する要素を返した予測レコードセットに前記クエリの出力を制限する、必要なWHEREタームと、
    任意的なFROMタームであって、該任意的なFROMタームが指定されるとき、問い合わせられるべき1又は複数のテーブル、データセット、データソース及び/又はインデックスを指定する、任意的なFROMタームと、
    のクエリシンタックスを有する、請求項3に記載の方法。
  5. ホスト組織における方法であって、
    列及び行のデータセットからインデックスを生成するステップであって、前記インデックスは前記データセットの行と列とにおける確率的関係を表す、ステップと、
    前記ホスト組織のデータベース内に前記インデックスを記憶するステップと、
    前記ホスト組織の前記データベースを要求インターフェースを介して公開するステップと、
    前記要求インターフェースにおいて、RELATEDコマンドタームと該RELATEDコマンドタームのパラメータとして指定された列とを指定する前記データベースに対してのクエリを受信するステップと、
    予測レコードセットを生成するように、前記RELATEDコマンドタームを用いて前記指定された列を渡して前記データベースに問い合わせるステップと、
    前記クエリに応答して前記予測レコードセットを返すステップであって、前記予測レコードセットはその中に複数の要素を有し、前記の返される要素の各々は、前記RELATEDコマンドタームで渡された前記指定された列についての列識別子と信頼度指標とを含み、前記信頼度指標は、前記RELATEDコマンドで渡された前記指定された列と前記のそれぞれの要素について返される列識別子との間に潜在関係が存在するかどうかを示す、ステップと、
    を含む方法。
  6. 前記予測レコードセット内で返される各要素に含まれる関連する列は、該関連する列が前記RELATEDコマンドタームで渡された前記指定された列と同じ列グルーピングの中に発生する回数の割合にさらに基づく、請求項5に記載の方法。
  7. 前記ホスト組織の前記データベースを公開するステップは、認証されたユーザに対して直接、予測問い合わせ言語アプリケーションプログラミングインターフェース(PreQL API)を公開することを含み、前記PreQL APIは、前記認証されたユーザにとってパブリックインターネットを介してアクセス可能であり、
    前記RELATEDコマンドタームを用いて前記データベースに問い合わせるステップは、前記データベースにPreQLクエリを渡すことを含み、前記PreQLクエリは、
    必要なタームとしての前記RELATEDコマンドタームと、
    任意的なFROMタームであって、該任意的なFROMタームが指定されるとき、問い合わせられるべき1又は複数のテーブル、データセット、データソース及び/又はインデックスを指定し、前記任意的なFROMタームが指定されないとき、問い合わせられるべき前記1又は複数のテーブル、データセット、データソース及び/又はインデックスについてデフォルト値が使用される、任意的なFROMタームと、
    前記RELATEDコマンドタームで渡されるべき列を指定するTARGETタームと、
    提供されるとき、前記予測レコードセットで返されるべき最小受け入れ可能信頼度指標を指定する、任意的なCONFIDENCEタームと、
    提供されるとき、前記予測レコードセット内に返されるべき要素の最大数量を指定する、任意的なCOUNTタームと、
    提供されるとき、前記予測レコードセットで返される要素の各々についての信頼度指標に従って、前記予測レコードセットの要素が昇順で返されるべきか降順で返されるべきかを指定する、任意的なORDER BYタームと、
    のクエリシンタックスを有する、
    請求項5に記載の方法。
  8. ホスト組織における方法であって、
    列及び行のデータセットからインデックスを生成するステップであって、前記インデックスは前記データセットの行と列とにおける確率的関係を表す、ステップと、
    前記ホスト組織のデータベース内に前記インデックスを記憶するステップと、
    前記ホスト組織の前記データベースを要求インターフェースを介して公開するステップと、
    前記要求インターフェースにおいて、SIMILARコマンドタームと該SIMILARコマンドタームのパラメータとして指定された行と前記SIMILARコマンドタームのパラメータとして指定された列とを指定する前記データベースに対してのクエリを受信するステップと、
    予測レコードセットを生成するように、前記SIMILARコマンドタームを用いて前記指定された行及び前記指定された列を渡して前記データベースに問い合わせるステップと、
    前記クエリに応答して前記予測レコードセットを返すステップであって、前記予測レコードセットはその中に複数の要素を有し、前記予測レコードセットの前記の返される要素の各々は、(i)前記SIMILARコマンドタームで渡された前記指定された行に対して、前記指定された列に基づいて、潜在構造に従って、類似であると評価されたデータセットの行に対応する行識別子と、(ii)前記SIMILARコマンドで渡された前記指定された行と前記のそれぞれの要素について返される行識別子との間の潜在関係の尤度を示す信頼度指標と、を含む、ステップと、
    を含む方法。
  9. (i)返される前記予測レコードセットと該予測レコードセットで返される類似の行の各々についての信頼度指標とに基づく、前記クエリに応答した、前記SIMILARコマンドタームで渡された前記指定された行と比較して最も類似の行と、
    (ii)返される前記予測レコードセットと該予測レコードセットで返される類似の行の各々についての信頼度指標とに基づく、前記クエリに応答した、前記SIMILARコマンドタームで渡された前記指定された行と比較して最も類似でない行と、
    (iii)インターネットユーザによる検索に応答した、リコメンダシステムにおける関連製品であって、該関連製品は前記予測レコードセットで返される類似の行の1つに対応する、関連製品と、
    のうち1つを返すことをさらに含む請求項8に記載の方法。
  10. 前記ホスト組織の前記データベースを公開するステップは、認証されたユーザに対して直接、予測問い合わせ言語アプリケーションプログラミングインターフェース(PreQL API)を公開することを含み、前記PreQL APIは、前記認証されたユーザにとってパブリックインターネットを介してアクセス可能であり、
    前記SIMILARコマンドタームを用いて前記データベースに問い合わせるステップは、前記データベースにPreQLクエリを渡すことを含み、前記PreQLクエリは、
    必要なタームとしての前記SIMILARコマンドタームと、
    必要なタームとしてのROWタームであって、該ROWタームは前記SIMILARコマンドタームで渡されるべき行を指定する、ROWタームと、
    必要なタームとしてのCOLUMNタームであって、該COLUMNタームは前記SIMILARコマンドタームで渡されるべき列を指定する、COLUMNタームと、
    任意的なFROMタームであって、該任意的なFROMタームが指定されるとき、問い合わせられるべき1又は複数のテーブル、データセット、データソース及び/又はインデックスを指定し、前記任意的なFROMタームが指定されないとき、問い合わせられるべき前記1又は複数のテーブル、データセット、データソース及び/又はインデックスについてデフォルト値が使用される、任意的なFROMタームと、
    提供されるとき、前記予測レコードセットで返されるべき最小受け入れ可能信頼度指標を指定する、任意的なCONFIDENCEタームと、
    提供されるとき、前記予測レコードセット内に返されるべき要素の最大数量を指定する、任意的なCOUNTタームと、
    提供されるとき、前記予測レコードセットで返される要素の各々についての信頼度指標に従って、前記予測レコードセットの要素が昇順で返されるべきか降順で返されるべきかを指定する、任意的なORDER BYタームと、
    のクエリシンタックスを有する、
    請求項8に記載の方法。
  11. ホスト組織における方法であって、
    列及び行のデータセットからインデックスを生成するステップであって、前記インデックスは前記データセットの行と列とにおける確率的関係を表す、ステップと、
    前記ホスト組織のデータベース内に前記インデックスを記憶するステップと、
    前記ホスト組織の前記データベースを要求インターフェースを介して公開するステップと、
    前記要求インターフェースにおいて、GROUPコマンドタームと該GROUPコマンドタームのパラメータとして指定された列とを指定する前記データベースに対してのクエリを受信するステップと、
    予測レコードセットを生成するように、前記GROUPコマンドタームを用いて前記指定された列を渡して前記データベースに問い合わせるステップと、
    前記クエリに応答して前記予測レコードセットを返すステップであって、前記予測レコードセットはその中に指定された複数のグループを有し、前記予測レコードセットの前記の返されるグループの各々は、前記データセットの1行又は複数行のグループを含む、ステップと、
    を含む方法。
  12. 前記データセットの行のすべては、いずれかの単一の行が前記複数のグループのうち2以上に割り当てられるオーバーラップなしに、前記予測レコードセットで返される前記複数のグループのうちちょうど1つに前記データセットのあらゆる行を割り当てることによって区切られる、請求項11に記載の方法。
  13. 前記データセットの行は、いずれかの単一の行が前記複数のグループのうち2以上に割り当てられるオーバーラップなしに、前記複数のグループのうち最大で1つに前記データセットの行を割り当てることによってセグメント化され、
    前記のセグメント化は、前記データセットのうち1又は複数の行が前記複数のグループのうちいずれにも割り当てられないままになることを、割り当てられないままの前記の対応する1又は複数の行についての信頼度指標が最小閾値を下回ることに起因して、もたらす、
    請求項11に記載の方法。
  14. 前記ホスト組織の前記データベースを公開するステップは、認証されたユーザに対して直接、予測問い合わせ言語アプリケーションプログラミングインターフェース(PreQL API)を公開することを含み、前記PreQL APIは、前記認証されたユーザにとってパブリックインターネットを介してアクセス可能であり、
    前記GROUPコマンドタームを用いて前記データベースに問い合わせるステップは、前記データベースにPreQLクエリを渡すことを含み、前記PreQLクエリは、
    必要なタームとしてのGROUPコマンドタームと、
    必要なタームとしてのCOLUMNタームであって、該COLUMNタームは前記GROUPコマンドタームで渡されるべき列を指定する、COLUMNタームと、
    任意的なFROMタームであって、該任意的なFROMタームが指定されるとき、問い合わせられるべき1又は複数のテーブル、データセット、データソース及び/又はインデックスを指定し、前記任意的なFROMタームが指定されないとき、問い合わせられるべき前記1又は複数のテーブル、データセット、データソース及び/又はインデックスについてデフォルト値が使用される、任意的なFROMタームと、
    提供されるとき、前記予測レコードセットの前記グループで返されるべき行についての最小受け入れ可能信頼度指標を指定する、任意的なCONFIDENCEタームと、
    のクエリシンタックスを有する、
    請求項11に記載の方法。
  15. 表形式のデータセットを受信するステップであって、前記データセットは複数の行及び複数の列を有する、ステップと、
    前記データセットの要素間の確率的関係を識別し、説明するように、前記データセットにわたって同時確率分布を学習することによって、前記データセットの行と列とにおける確率的関係を表すインデックスを生成するように前記データセットを処理するステップと、
    前記インデックスをデータベースに記憶するステップと、
    前記データベースの中の前記インデックスに問い合わせるためのアプリケーションプログラミングインターフェース(API)を公開するステップと、
    前記データベースの中の前記インデックスに対して予測クエリ又は潜在構造クエリの要求を受信するステップと、
    前記APIを介した前記要求に基づく結果について、前記データベースに問い合わせるステップと、
    前記要求に応答して前記結果を返すステップと、
    を含む方法。
  16. 前記同時確率分布を学習することは、指定された構成パラメータによって制御され、前記指定された構成パラメータは、前記データセットを処理する時間の最大期間と、前記データセットを処理する繰り返しの最大数と、前記データセットを処理する繰り返しの最小数と、前記データセットを処理することにより消費されるべき顧客リソースの最大量と、前記データセットを処理することに費やされるべき最大加入者料金と、前記データセットの処理により達成されるべき最小閾予測品質レベルと、前記処理するステップを続けるために必要な信頼度品質尺度に対する最小の向上と、前記処理するステップにより生成されるべき前記インデックスの最大又は最小数と、のうち1又は複数を含む、請求項15に記載の方法。
  17. インデックスを生成するように前記データセットを処理するステップは、前記インデックスを生成するように前記データセットにわたって同時確率分布を繰り返し学習することを含み、
    当該方法は、
    前記データセットの処理により生成される前記インデックスの信頼度品質尺度を周期的に決定するステップと、
    前記信頼度品質尺度が指定された閾値を達成したとき、前記データセットの処理を終了するステップと、
    をさらに含む、請求項15に記載の方法。
  18. 前記データセットを処理することにより生成される前記インデックスからの結果を要求する予測クエリ又は潜在構造クエリを受信するステップと、
    前記データセットの処理を終了する前に前記の生成されたインデックスに対して前記クエリを実行するステップと、
    前記結果を要求する前記予測クエリ又は前記潜在構造クエリに応答して予測レコードセットを返すステップと、
    前記データセットの処理がまだ完了していないと示す結果を備えた通知、若しくは前記信頼度品質尺度が前記指定された閾値を下回ると示す結果を備えた通知、又は双方を返すステップと、
    をさらに含む請求項17に記載の方法。
  19. 生成された前記インデックスについての信頼度品質尺度を決定するステップ
    をさらに含み、前記信頼度品質尺度は、
    前記データセット内に観察され及び存在する値に対応する既知の結果と前記データセットの処理により生成された前記インデックスに問い合わせることにより得られる予測結果とを比較すること、又は
    前記データセットからのグラウンドトルースデータと前記データセットの処理により生成された前記インデックスに問い合わせることにより得られる1又は複数の予測結果とを比較すること、
    のうち1つによって決定される、請求項15に記載の方法。
  20. データセットを受信するステップは、リモートのコンピューティング装置にとってパブリックインターネットを介してアクセス可能であるオンデマンドのクラウドベースのサービスを提供するホスト組織において、前記データセットを受信することを含み、
    前記インデックスをデータベースに記憶するステップは、前記ホスト組織において動作する予測データベースシステムに、該予測データベースシステムのメモリに記憶され、かつ前記予測データベースシステムの1又は複数のプロセッサを介して実行される動作ロジックを介して、前記インデックスを記憶することを含み、
    前記インデックスに問い合わせるための前記APIを公開するステップは、前記リモートのコンピューティング装置に予測問い合わせ言語(PreQL)APIを公開することを含む、
    請求項15に記載の方法。
JP2016500106A 2013-03-13 2013-11-14 データアップロード、処理及び予測クエリapi公開を実施するシステム、方法及び装置 Active JP6412550B2 (ja)

Applications Claiming Priority (5)

Application Number Priority Date Filing Date Title
US201361780503P 2013-03-13 2013-03-13
US61/780,503 2013-03-13
US14/014,221 US9367853B2 (en) 2013-03-13 2013-08-29 Systems, methods, and apparatuses for implementing data upload, processing, and predictive query API exposure
US14/014,221 2013-08-29
PCT/US2013/070198 WO2014143208A1 (en) 2013-03-13 2013-11-14 Systems, methods and apparatuses for implementing data upload, processing, and predictive query ap| exposure

Related Child Applications (1)

Application Number Title Priority Date Filing Date
JP2018183155A Division JP6608500B2 (ja) 2013-03-13 2018-09-28 データアップロード、処理及び予測クエリapi公開を実施するシステム、方法及び装置

Publications (2)

Publication Number Publication Date
JP2016514321A true JP2016514321A (ja) 2016-05-19
JP6412550B2 JP6412550B2 (ja) 2018-10-24

Family

ID=51532089

Family Applications (2)

Application Number Title Priority Date Filing Date
JP2016500106A Active JP6412550B2 (ja) 2013-03-13 2013-11-14 データアップロード、処理及び予測クエリapi公開を実施するシステム、方法及び装置
JP2018183155A Active JP6608500B2 (ja) 2013-03-13 2018-09-28 データアップロード、処理及び予測クエリapi公開を実施するシステム、方法及び装置

Family Applications After (1)

Application Number Title Priority Date Filing Date
JP2018183155A Active JP6608500B2 (ja) 2013-03-13 2018-09-28 データアップロード、処理及び予測クエリapi公開を実施するシステム、方法及び装置

Country Status (6)

Country Link
US (13) US10860557B2 (ja)
EP (1) EP2973004A1 (ja)
JP (2) JP6412550B2 (ja)
CN (2) CN105229633B (ja)
CA (1) CA2904526C (ja)
WO (1) WO2014143208A1 (ja)

Families Citing this family (351)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8285719B1 (en) * 2008-08-08 2012-10-09 The Research Foundation Of State University Of New York System and method for probabilistic relational clustering
US8694593B1 (en) * 2011-03-31 2014-04-08 Google Inc. Tools for micro-communities
US10891270B2 (en) 2015-12-04 2021-01-12 Mongodb, Inc. Systems and methods for modelling virtual schemas in non-relational databases
US20140067869A1 (en) * 2012-08-30 2014-03-06 Atheer, Inc. Method and apparatus for content association and history tracking in virtual and augmented reality
US10185294B2 (en) * 2012-09-25 2019-01-22 Nec Corporation Voltage control device and method for controlling the same
US10318901B2 (en) * 2013-03-15 2019-06-11 Connectwise, Llc Systems and methods for business management using product data with product classes
US20140316953A1 (en) * 2013-04-17 2014-10-23 Vmware, Inc. Determining datacenter costs
US20150032508A1 (en) * 2013-07-29 2015-01-29 International Business Machines Corporation Systems And Methods For Probing Customers And Making Offers In An Interactive Setting
US9367806B1 (en) * 2013-08-08 2016-06-14 Jasmin Cosic Systems and methods of using an artificially intelligent database management system and interfaces for mobile, embedded, and other computing devices
US10223401B2 (en) * 2013-08-15 2019-03-05 International Business Machines Corporation Incrementally retrieving data for objects to provide a desired level of detail
US9442963B2 (en) * 2013-08-27 2016-09-13 Omnitracs, Llc Flexible time-based aggregated derivations for advanced analytics
US20150073844A1 (en) * 2013-09-06 2015-03-12 International Business Machines Corporation Generating multiply constrained globally optimized requests for proposal packages subject to uncertainty across multiple time horizons
US10437805B2 (en) * 2013-09-24 2019-10-08 Qliktech International Ab Methods and systems for data management and analysis
US9727915B2 (en) * 2013-09-26 2017-08-08 Trading Technologies International, Inc. Methods and apparatus to implement spin-gesture based trade action parameter selection
US20150142787A1 (en) * 2013-11-19 2015-05-21 Kurt L. Kimmerling Method and system for search refinement
US9767196B1 (en) 2013-11-20 2017-09-19 Google Inc. Content selection
US20150170163A1 (en) * 2013-12-17 2015-06-18 Sap Ag System and method for calculating and visualizing relevance of sales opportunities
US11386085B2 (en) 2014-01-27 2022-07-12 Microstrategy Incorporated Deriving metrics from queries
US10255320B1 (en) * 2014-01-27 2019-04-09 Microstrategy Incorporated Search integration
US11921715B2 (en) 2014-01-27 2024-03-05 Microstrategy Incorporated Search integration
US10096040B2 (en) 2014-01-31 2018-10-09 Walmart Apollo, Llc Management of the display of online ad content consistent with one or more performance objectives for a webpage and/or website
US11004146B1 (en) * 2014-01-31 2021-05-11 Intuit Inc. Business health score and prediction of credit worthiness using credit worthiness of customers and vendors
US20170024659A1 (en) * 2014-03-26 2017-01-26 Bae Systems Information And Electronic Systems Integration Inc. Method for data searching by learning and generalizing relational concepts from a few positive examples
US9680665B2 (en) * 2014-04-24 2017-06-13 Futurewei Technologies, Inc. Apparatus and method for dynamic hybrid routing in SDN networks to avoid congestion and balance loads under changing traffic load
US9495405B2 (en) * 2014-04-28 2016-11-15 International Business Machines Corporation Big data analytics brokerage
KR20150138594A (ko) * 2014-05-30 2015-12-10 한국전자통신연구원 클라우드 게임 서비스를 위한 사용자 인터페이스 제공 장치 및 방법
US10572488B2 (en) * 2014-06-13 2020-02-25 Koverse, Inc. System and method for data organization, optimization and analytics
US10262048B1 (en) * 2014-07-07 2019-04-16 Microstrategy Incorporated Optimization of memory analytics
US10572935B1 (en) * 2014-07-16 2020-02-25 Intuit, Inc. Disambiguation of entities based on financial interactions
US10380266B2 (en) * 2014-08-11 2019-08-13 InMobi Pte Ltd. Method and system for analyzing data in a database
US10296662B2 (en) * 2014-09-22 2019-05-21 Ca, Inc. Stratified sampling of log records for approximate full-text search
US10387494B2 (en) 2014-09-24 2019-08-20 Oracle International Corporation Guided data exploration
US10762456B2 (en) * 2014-09-30 2020-09-01 International Business Machines Corporation Migration estimation with partial data
US10346393B2 (en) * 2014-10-20 2019-07-09 International Business Machines Corporation Automatic enumeration of data analysis options and rapid analysis of statistical models
US10037545B1 (en) * 2014-12-08 2018-07-31 Quantcast Corporation Predicting advertisement impact for audience selection
US11636408B2 (en) * 2015-01-22 2023-04-25 Visier Solutions, Inc. Techniques for manipulating and rearranging presentation of workforce data in accordance with different data-prediction scenarios available within a graphical user interface (GUI) of a computer system, and an apparatus and hardware memory implementing the techniques
US10402759B2 (en) * 2015-01-22 2019-09-03 Visier Solutions, Inc. Systems and methods of adding and reconciling dimension members
US9881265B2 (en) * 2015-01-30 2018-01-30 Oracle International Corporation Method and system for implementing historical trending for business records
US9971469B2 (en) 2015-01-30 2018-05-15 Oracle International Corporation Method and system for presenting business intelligence information through infolets
US9971803B2 (en) 2015-01-30 2018-05-15 Oracle International Corporation Method and system for embedding third party data into a SaaS business platform
US20160253680A1 (en) * 2015-02-26 2016-09-01 Ncr Corporation Real-time inter and intra outlet trending
US10713594B2 (en) 2015-03-20 2020-07-14 Salesforce.Com, Inc. Systems, methods, and apparatuses for implementing machine learning model training and deployment with a rollback mechanism
CA2980271C (en) 2015-03-20 2021-02-02 D&B Business Information Solutions Aggregating high volumes of temporal data from multiple overlapping sources
US9135559B1 (en) * 2015-03-20 2015-09-15 TappingStone Inc. Methods and systems for predictive engine evaluation, tuning, and replay of engine performance
US11443206B2 (en) 2015-03-23 2022-09-13 Tibco Software Inc. Adaptive filtering and modeling via adaptive experimental designs to identify emerging data patterns from large volume, high dimensional, high velocity streaming data
US10671603B2 (en) * 2016-03-11 2020-06-02 Tibco Software Inc. Auto query construction for in-database predictive analytics
US10614056B2 (en) * 2015-03-24 2020-04-07 NetSuite Inc. System and method for automated detection of incorrect data
CA2981168A1 (en) * 2015-03-30 2016-10-06 Wal-Mart Stores, Inc. Systems, devices, and methods for predicting product performance in a retail display area
US10628388B2 (en) * 2015-04-01 2020-04-21 International Business Machines Corporation Supporting multi-tenant applications on a shared database using pre-defined attributes
WO2016168211A1 (en) * 2015-04-13 2016-10-20 Risk Management Solutions, Inc. High performance big data computing system and platform
US10019542B2 (en) * 2015-04-14 2018-07-10 Ptc Inc. Scoring a population of examples using a model
US10282455B2 (en) * 2015-04-20 2019-05-07 Splunk Inc. Display of data ingestion information based on counting generated events
US10817544B2 (en) 2015-04-20 2020-10-27 Splunk Inc. Scaling available storage based on counting generated events
US10120375B2 (en) * 2015-04-23 2018-11-06 Johnson Controls Technology Company Systems and methods for retraining outlier detection limits in a building management system
US10963795B2 (en) * 2015-04-28 2021-03-30 International Business Machines Corporation Determining a risk score using a predictive model and medical model data
EP3258672B1 (en) * 2015-04-30 2024-10-23 Huawei Technologies Co., Ltd. Cloud file transmission method, terminal and cloud server
WO2016179416A1 (en) * 2015-05-05 2016-11-10 Goyal Bharat Predictive modeling and analytics integration plataform
US20160335542A1 (en) * 2015-05-12 2016-11-17 Dell Software, Inc. Method And Apparatus To Perform Native Distributed Analytics Using Metadata Encoded Decision Engine In Real Time
WO2016183551A1 (en) 2015-05-14 2016-11-17 Walleye Software, LLC Query task processing based on memory allocation and performance criteria
US10740292B2 (en) 2015-05-18 2020-08-11 Interactive Data Pricing And Reference Data Llc Data conversion and distribution systems
WO2016196227A1 (en) * 2015-05-29 2016-12-08 Groupon, Inc. Mobile search
CN104881749A (zh) * 2015-06-01 2015-09-02 北京圆通慧达管理软件开发有限公司 面向多租户的数据管理方法和数据存储系统
US10740129B2 (en) * 2015-06-05 2020-08-11 International Business Machines Corporation Distinguishing portions of output from multiple hosts
US9384203B1 (en) * 2015-06-09 2016-07-05 Palantir Technologies Inc. Systems and methods for indexing and aggregating data records
GB2556515A (en) * 2015-06-29 2018-05-30 Walmart Apollo Llc Refrigerating home deliveries
US10102308B1 (en) * 2015-06-30 2018-10-16 Groupon, Inc. Method and apparatus for identifying related records
US10587671B2 (en) * 2015-07-09 2020-03-10 Zscaler, Inc. Systems and methods for tracking and auditing changes in a multi-tenant cloud system
US10318864B2 (en) * 2015-07-24 2019-06-11 Microsoft Technology Licensing, Llc Leveraging global data for enterprise data analytics
US9443192B1 (en) * 2015-08-30 2016-09-13 Jasmin Cosic Universal artificial intelligence engine for autonomous computing devices and software applications
US10579687B2 (en) * 2015-09-01 2020-03-03 Google Llc Providing native application search results with web search results
US10296833B2 (en) * 2015-09-04 2019-05-21 International Business Machines Corporation System and method for estimating missing attributes of future events
US10803399B1 (en) * 2015-09-10 2020-10-13 EMC IP Holding Company LLC Topic model based clustering of text data with machine learning utilizing interface feedback
US10216792B2 (en) * 2015-10-14 2019-02-26 Paxata, Inc. Automated join detection
US10262037B2 (en) 2015-10-19 2019-04-16 International Business Machines Corporation Joining operations in document oriented databases
US10628749B2 (en) * 2015-11-17 2020-04-21 International Business Machines Corporation Automatically assessing question answering system performance across possible confidence values
US10282678B2 (en) 2015-11-18 2019-05-07 International Business Machines Corporation Automated similarity comparison of model answers versus question answering system output
US10445650B2 (en) 2015-11-23 2019-10-15 Microsoft Technology Licensing, Llc Training and operating multi-layer computational models
US11157465B2 (en) 2015-12-04 2021-10-26 Mongodb, Inc. System and interfaces for performing document validation in a non-relational database
US11537667B2 (en) 2015-12-04 2022-12-27 Mongodb, Inc. System and interfaces for performing document validation in a non-relational database
US20170286532A1 (en) * 2015-12-04 2017-10-05 Eliot Horowitz System and method for generating visual queries in non-relational databases
US9836444B2 (en) * 2015-12-10 2017-12-05 International Business Machines Corporation Spread cell value visualization
US11074537B2 (en) * 2015-12-29 2021-07-27 Workfusion, Inc. Candidate answer fraud for worker assessment
US20170186018A1 (en) * 2015-12-29 2017-06-29 At&T Intellectual Property I, L.P. Method and apparatus to create a customer care service
US10438126B2 (en) * 2015-12-31 2019-10-08 General Electric Company Systems and methods for data estimation and forecasting
US10762539B2 (en) * 2016-01-27 2020-09-01 Amobee, Inc. Resource estimation for queries in large-scale distributed database system
US10179282B2 (en) 2016-02-26 2019-01-15 Impyrium, Inc. Joystick input apparatus with living hinges
US10285001B2 (en) 2016-02-26 2019-05-07 Snap Inc. Generation, curation, and presentation of media collections
US11023514B2 (en) * 2016-02-26 2021-06-01 Snap Inc. Methods and systems for generation, curation, and presentation of media collections
US20170262809A1 (en) * 2016-03-14 2017-09-14 PreSeries Tech, SL Machine learning applications for dynamic, quantitative assessment of human resources
US10055263B2 (en) * 2016-04-01 2018-08-21 Ebay Inc. Optimization of parallel processing using waterfall representations
US10929370B2 (en) * 2016-04-14 2021-02-23 International Business Machines Corporation Index maintenance management of a relational database management system
US10585874B2 (en) * 2016-04-25 2020-03-10 International Business Machines Corporation Locking concurrent commands in a database management system
US9785715B1 (en) 2016-04-29 2017-10-10 Conversable, Inc. Systems, media, and methods for automated response to queries made by interactive electronic chat
USD786277S1 (en) * 2016-04-29 2017-05-09 Salesforce.Com, Inc. Display screen or portion thereof with animated graphical user interface
USD786276S1 (en) * 2016-04-29 2017-05-09 Salesforce.Com, Inc. Display screen or portion thereof with animated graphical user interface
USD786896S1 (en) * 2016-04-29 2017-05-16 Salesforce.Com, Inc. Display screen or portion thereof with animated graphical user interface
US11194864B2 (en) * 2016-05-10 2021-12-07 Aircloak Gmbh Systems and methods for anonymized statistical database queries
US11194823B2 (en) 2016-05-10 2021-12-07 Aircloak Gmbh Systems and methods for anonymized statistical database queries using noise elements
US9965650B1 (en) * 2016-05-11 2018-05-08 MDClone Ltd. Computer system of computer servers and dedicated computer clients specially programmed to generate synthetic non-reversible electronic data records based on real-time electronic querying and methods of use thereof
US10607146B2 (en) 2016-06-02 2020-03-31 International Business Machines Corporation Predicting user question in question and answer system
WO2017214266A1 (en) * 2016-06-07 2017-12-14 Panoramix Solutions Systems and methods for identifying and classifying text
US10515085B2 (en) 2016-06-19 2019-12-24 Data.World, Inc. Consolidator platform to implement collaborative datasets via distributed computer networks
WO2017222927A1 (en) * 2016-06-19 2017-12-28 Data.World, Inc. Collaborative dataset consolidation via distributed computer networks
US10740328B2 (en) * 2016-06-24 2020-08-11 Microsoft Technology Licensing, Llc Aggregate-query database system and processing
CN106156423B (zh) * 2016-07-01 2019-07-12 合肥海本蓝科技有限公司 一种实现测试平台与用户待测试设计通信的方法和装置
US10623406B2 (en) * 2016-07-22 2020-04-14 Box, Inc. Access authentication for cloud-based shared content
US10216782B2 (en) * 2016-08-12 2019-02-26 Sap Se Processing of updates in a database system using different scenarios
US10521572B2 (en) * 2016-08-16 2019-12-31 Lexisnexis Risk Solutions Inc. Systems and methods for improving KBA identity authentication questions
US9864933B1 (en) 2016-08-23 2018-01-09 Jasmin Cosic Artificially intelligent systems, devices, and methods for learning and/or using visual surrounding for autonomous object operation
WO2018038719A1 (en) * 2016-08-24 2018-03-01 Halliburton Energy Services, Inc. Platform services with customer data access
US10650008B2 (en) 2016-08-26 2020-05-12 International Business Machines Corporation Parallel scoring of an ensemble model
GB201615745D0 (en) * 2016-09-15 2016-11-02 Gb Gas Holdings Ltd System for analysing data relationships to support query execution
US11625662B2 (en) * 2016-09-22 2023-04-11 Qvinci Software, Llc Methods and apparatus for the manipulating and providing of anonymized data collected from a plurality of sources
US10296659B2 (en) * 2016-09-26 2019-05-21 International Business Machines Corporation Search query intent
US20180089585A1 (en) * 2016-09-29 2018-03-29 Salesforce.Com, Inc. Machine learning model for predicting state of an object representing a potential transaction
WO2018067667A1 (en) * 2016-10-06 2018-04-12 The Dun & Bradstreet Corporation Machine learning classifier and prediction engine for artificial intelligence optimized prospect determination on win/loss classification
US10510088B2 (en) 2016-10-07 2019-12-17 Bank Of America Corporation Leveraging an artificial intelligence engine to generate customer-specific user experiences based on real-time analysis of customer responses to recommendations
US10621558B2 (en) 2016-10-07 2020-04-14 Bank Of America Corporation System for automatically establishing an operative communication channel to transmit instructions for canceling duplicate interactions with third party systems
US10476974B2 (en) 2016-10-07 2019-11-12 Bank Of America Corporation System for automatically establishing operative communication channel with third party computing systems for subscription regulation
US20180101900A1 (en) * 2016-10-07 2018-04-12 Bank Of America Corporation Real-time dynamic graphical representation of resource utilization and management
US10614517B2 (en) 2016-10-07 2020-04-07 Bank Of America Corporation System for generating user experience for improving efficiencies in computing network functionality by specializing and minimizing icon and alert usage
WO2018080857A1 (en) * 2016-10-28 2018-05-03 Panoptex Technologies, Inc. Systems and methods for creating, storing, and analyzing secure data
US10452974B1 (en) 2016-11-02 2019-10-22 Jasmin Cosic Artificially intelligent systems, devices, and methods for learning and/or using a device's circumstances for autonomous device operation
US11188551B2 (en) * 2016-11-04 2021-11-30 Microsoft Technology Licensing, Llc Multi-level data pagination
US10474339B2 (en) 2016-11-04 2019-11-12 Sismo Sas System and method for market visualization
US10482248B2 (en) * 2016-11-09 2019-11-19 Cylance Inc. Shellcode detection
US10536536B1 (en) 2016-11-15 2020-01-14 State Farm Mutual Automobile Insurance Company Resource discovery agent computing device, software application, and method
US20180150879A1 (en) * 2016-11-25 2018-05-31 Criteo Sa Automatic selection of items for a computerized graphical advertisement display using a computer-generated multidimensional vector space
CN106708946A (zh) * 2016-11-25 2017-05-24 国云科技股份有限公司 一种通用api的表查询方法
US11205103B2 (en) 2016-12-09 2021-12-21 The Research Foundation for the State University Semisupervised autoencoder for sentiment analysis
US10607134B1 (en) 2016-12-19 2020-03-31 Jasmin Cosic Artificially intelligent systems, devices, and methods for learning and/or using an avatar's circumstances for autonomous avatar operation
US11710089B2 (en) * 2016-12-22 2023-07-25 Atlassian Pty Ltd. Method and apparatus for a benchmarking service
US10304522B2 (en) 2017-01-31 2019-05-28 International Business Machines Corporation Method for low power operation and test using DRAM device
CN106874467B (zh) * 2017-02-15 2019-12-06 百度在线网络技术(北京)有限公司 用于提供搜索结果的方法和装置
US11481644B2 (en) * 2017-02-17 2022-10-25 Nike, Inc. Event prediction
US9916890B1 (en) * 2017-02-21 2018-03-13 International Business Machines Corporation Predicting data correlation using multivalued logical outputs in static random access memory (SRAM) storage cells
US10831509B2 (en) 2017-02-23 2020-11-10 Ab Initio Technology Llc Dynamic execution of parameterized applications for the processing of keyed network data streams
US11947978B2 (en) 2017-02-23 2024-04-02 Ab Initio Technology Llc Dynamic execution of parameterized applications for the processing of keyed network data streams
US20180253677A1 (en) * 2017-03-01 2018-09-06 Gregory James Foster Method for Performing Dynamic Data Analytics
US10693867B2 (en) * 2017-03-01 2020-06-23 Futurewei Technologies, Inc. Apparatus and method for predictive token validation
US10586359B1 (en) * 2017-03-09 2020-03-10 Workday, Inc. Methods and systems for creating waterfall charts
US10977397B2 (en) 2017-03-10 2021-04-13 Altair Engineering, Inc. Optimization of prototype and machine design within a 3D fluid modeling environment
US11538591B2 (en) 2017-03-10 2022-12-27 Altair Engineering, Inc. Training and refining fluid models using disparate and aggregated machine data
US10803211B2 (en) 2017-03-10 2020-10-13 General Electric Company Multiple fluid model tool for interdisciplinary fluid modeling
US10409950B2 (en) 2017-03-10 2019-09-10 General Electric Company Systems and methods for utilizing a 3D CAD point-cloud to automatically create a fluid model
US10867085B2 (en) * 2017-03-10 2020-12-15 General Electric Company Systems and methods for overlaying and integrating computer aided design (CAD) drawings with fluid models
CA2999581A1 (en) * 2017-03-28 2018-09-28 Walmart Apollo, Llc Systems and methods for computer assisted database change documentation
USD828377S1 (en) * 2017-04-12 2018-09-11 Intuit Inc. Display screen with graphical user interface
US11030674B2 (en) 2017-04-14 2021-06-08 International Business Machines Corporation Cognitive order processing by predicting resalable returns
US10242037B2 (en) 2017-04-20 2019-03-26 Servicenow, Inc. Index suggestion engine for relational databases
US20180308002A1 (en) * 2017-04-20 2018-10-25 Bank Of America Corporation Data processing system with machine learning engine to provide system control functions
US20180308009A1 (en) 2017-04-25 2018-10-25 Xaxis, Inc. Double Blind Machine Learning Insight Interface Apparatuses, Methods and Systems
US10795901B2 (en) * 2017-05-09 2020-10-06 Jpmorgan Chase Bank, N.A. Generic entry and exit network interface system and method
US11005864B2 (en) 2017-05-19 2021-05-11 Salesforce.Com, Inc. Feature-agnostic behavior profile based anomaly detection
US11270023B2 (en) 2017-05-22 2022-03-08 International Business Machines Corporation Anonymity assessment system
CN107392220B (zh) 2017-05-31 2020-05-05 创新先进技术有限公司 数据流的聚类方法和装置
US10663502B2 (en) 2017-06-02 2020-05-26 International Business Machines Corporation Real time cognitive monitoring of correlations between variables
US10037792B1 (en) 2017-06-02 2018-07-31 International Business Machines Corporation Optimizing data approximation analysis using low power circuitry
US10598710B2 (en) 2017-06-02 2020-03-24 International Business Machines Corporation Cognitive analysis using applied analog circuits
US11526768B2 (en) 2017-06-02 2022-12-13 International Business Machines Corporation Real time cognitive reasoning using a circuit with varying confidence level alerts
US11062334B2 (en) * 2017-06-05 2021-07-13 International Business Machines Corporation Predicting ledger revenue change behavior of clients receiving services
US11042891B2 (en) * 2017-06-05 2021-06-22 International Business Machines Corporation Optimizing revenue savings for actionable predictions of revenue change
US11055730B2 (en) * 2017-06-05 2021-07-06 International Business Machines Corporation Optimizing predictive precision for actionable forecasts of revenue change
EP3649600A4 (en) 2017-07-06 2020-10-28 Xero Limited DATA COMPARISON ON THE BASIS OF COMPUTER ANALYSIS OF DATA
US11481662B1 (en) * 2017-07-31 2022-10-25 Amazon Technologies, Inc. Analysis of interactions with data objects stored by a network-based storage service
US20190042932A1 (en) * 2017-08-01 2019-02-07 Salesforce Com, Inc. Techniques and Architectures for Deep Learning to Support Security Threat Detection
CA3073199A1 (en) * 2017-08-18 2019-02-21 ISMS Solutions, LLC Computer based learning system for analyzing agreements
US10616357B2 (en) * 2017-08-24 2020-04-07 Bank Of America Corporation Event tracking and notification based on sensed data
US10198469B1 (en) 2017-08-24 2019-02-05 Deephaven Data Labs Llc Computer data system data source refreshing using an update propagation graph having a merged join listener
US11282021B2 (en) * 2017-09-22 2022-03-22 Jpmorgan Chase Bank, N.A. System and method for implementing a federated forecasting framework
US10824608B2 (en) * 2017-11-10 2020-11-03 Salesforce.Com, Inc. Feature generation and storage in a multi-tenant environment
CN109814936A (zh) * 2017-11-20 2019-05-28 广东欧珀移动通信有限公司 应用程序预测模型建立、预加载方法、装置、介质及终端
CN109814937A (zh) * 2017-11-20 2019-05-28 广东欧珀移动通信有限公司 应用程序预测模型建立、预加载方法、装置、介质及终端
US20190156232A1 (en) * 2017-11-21 2019-05-23 Red Hat, Inc. Job scheduler implementation based on user behavior
US10474934B1 (en) 2017-11-26 2019-11-12 Jasmin Cosic Machine learning for computing enabled systems and/or devices
USD844653S1 (en) * 2017-11-26 2019-04-02 Jan Magnus Edman Display screen with graphical user interface
US11537931B2 (en) * 2017-11-29 2022-12-27 Google Llc On-device machine learning platform to enable sharing of machine-learned models between applications
TWI649712B (zh) * 2017-12-08 2019-02-01 財團法人工業技術研究院 電子裝置、決策流程模組的呈現方法及電腦可讀式媒體
US10803108B2 (en) 2017-12-20 2020-10-13 International Business Machines Corporation Facilitation of domain and client-specific application program interface recommendations
US10831772B2 (en) 2017-12-20 2020-11-10 International Business Machines Corporation Facilitation of domain and client-specific application program interface recommendations
US11120103B2 (en) * 2017-12-23 2021-09-14 Salesforce.Com, Inc. Predicting binary outcomes of an activity
CN109976823A (zh) * 2017-12-27 2019-07-05 Tcl集团股份有限公司 一种应用程序启动方法、装置及终端设备
CN108196838B (zh) * 2017-12-30 2021-01-15 京信通信系统(中国)有限公司 内存数据管理方法、装置、存储介质及计算机设备
WO2019140384A2 (en) * 2018-01-12 2019-07-18 Gamalon, Inc. Probabilistic modeling system and method
US11348126B2 (en) * 2018-01-15 2022-05-31 The Nielsen Company (Us), Llc Methods and apparatus for campaign mapping for total audience measurement
CN108228879A (zh) * 2018-01-23 2018-06-29 平安普惠企业管理有限公司 一种数据更新方法、存储介质和智能设备
US20190235984A1 (en) * 2018-01-30 2019-08-01 Salesforce.Com, Inc. Systems and methods for providing predictive performance forecasting for component-driven, multi-tenant applications
US10902194B2 (en) 2018-02-09 2021-01-26 Microsoft Technology Licensing, Llc Natively handling approximate values in spreadsheet applications
US10445422B2 (en) * 2018-02-09 2019-10-15 Microsoft Technology Licensing, Llc Identification of sets and manipulation of set data in productivity applications
US11023551B2 (en) * 2018-02-23 2021-06-01 Accenture Global Solutions Limited Document processing based on proxy logs
US11216706B2 (en) * 2018-03-15 2022-01-04 Datorama Technologies Ltd. System and method for visually presenting interesting plots of tabular data
USD873680S1 (en) 2018-03-15 2020-01-28 Apple Inc. Electronic device with graphical user interface
USD861014S1 (en) * 2018-03-15 2019-09-24 Apple Inc. Electronic device with graphical user interface
US20190286840A1 (en) 2018-03-15 2019-09-19 Honeywell International Inc. Controlling access to customer data by external third parties
US11023495B2 (en) * 2018-03-19 2021-06-01 Adobe Inc. Automatically generating meaningful user segments
KR102240993B1 (ko) * 2018-03-20 2021-04-15 미쓰비시덴키 가부시키가이샤 표시 장치, 표시 시스템, 및 표시 화면 생성 방법
CN108469783B (zh) * 2018-05-14 2021-02-02 西北工业大学 基于贝叶斯网络的深孔圆度误差预测方法
US10915587B2 (en) 2018-05-18 2021-02-09 Google Llc Data processing system for generating entries in data structures from network requests
JP6805206B2 (ja) * 2018-05-22 2020-12-23 日本電信電話株式会社 検索ワードサジェスト装置、表現情報の作成方法、および、表現情報の作成プログラム
US12117997B2 (en) * 2018-05-22 2024-10-15 Data.World, Inc. Auxiliary query commands to deploy predictive data models for queries in a networked computing platform
US10540669B2 (en) * 2018-05-30 2020-01-21 Sas Institute Inc. Managing object values and resource consumption
US11281686B2 (en) * 2018-06-04 2022-03-22 Nec Corporation Information processing apparatus, method, and program
US20190370720A1 (en) * 2018-06-04 2019-12-05 Zuora, Inc. Systems and methods for providing tiered subscription data storage in a multi-tenant system
CN108984603A (zh) * 2018-06-05 2018-12-11 试金石信用服务有限公司 异构数据采集方法、设备、存储介质及系统
US11468505B1 (en) 2018-06-12 2022-10-11 Wells Fargo Bank, N.A. Computer-based systems for calculating risk of asset transfers
US10586362B2 (en) * 2018-06-18 2020-03-10 Microsoft Technology Licensing, Llc Interactive layout-aware construction of bespoke charts
US11301467B2 (en) 2018-06-29 2022-04-12 Security On-Demand, Inc. Systems and methods for intelligent capture and fast transformations of granulated data summaries in database engines
US10922362B2 (en) * 2018-07-06 2021-02-16 Clover Health Models for utilizing siloed data
US11816676B2 (en) * 2018-07-06 2023-11-14 Nice Ltd. System and method for generating journey excellence score
WO2020014379A1 (en) * 2018-07-10 2020-01-16 Walmart Apollo, Llc Systems and methods for generating a two-dimensional planogram based on intermediate data structures
CN110888889B (zh) * 2018-08-17 2023-08-15 阿里巴巴集团控股有限公司 一种数据信息更新方法、装置及设备
US10552541B1 (en) 2018-08-27 2020-02-04 International Business Machines Corporation Processing natural language queries based on machine learning
USD891454S1 (en) 2018-09-11 2020-07-28 Apple Inc. Electronic device with animated graphical user interface
US11151197B2 (en) * 2018-09-19 2021-10-19 Palantir Technologies Inc. Enhanced processing of time series data via parallelization of instructions
EP3627399B1 (en) * 2018-09-19 2024-08-14 Tata Consultancy Services Limited Systems and methods for real time configurable recommendation using user data
US10915827B2 (en) * 2018-09-24 2021-02-09 Salesforce.Com, Inc. System and method for field value recommendations based on confidence levels in analyzed dataset
US11620300B2 (en) * 2018-09-28 2023-04-04 Splunk Inc. Real-time measurement and system monitoring based on generated dependency graph models of system components
US11429627B2 (en) 2018-09-28 2022-08-30 Splunk Inc. System monitoring driven by automatically determined operational parameters of dependency graph model with user interface
US11069447B2 (en) * 2018-09-29 2021-07-20 Intego Group, LLC Systems and methods for topology-based clinical data mining
CN109325092A (zh) * 2018-11-27 2019-02-12 中山大学 融合短语信息的非参数并行化层次狄利克雷过程主题模型系统
US20200167414A1 (en) * 2018-11-28 2020-05-28 Citrix Systems, Inc. Webform generation and population
CN111259201B (zh) * 2018-12-03 2023-08-18 北京嘀嘀无限科技发展有限公司 一种数据维护方法和系统
CN109635004B (zh) * 2018-12-13 2023-05-05 广东工业大学 一种数据库的对象描述提供方法、装置及设备
WO2020118432A1 (en) * 2018-12-13 2020-06-18 Element Ai Inc. Data set access for updating machine learning models
US10936974B2 (en) 2018-12-24 2021-03-02 Icertis, Inc. Automated training and selection of models for document analysis
KR102102276B1 (ko) * 2018-12-28 2020-04-22 동국대학교 산학협력단 딥러닝 기반의 표 유사도 측정 방법
US11488062B1 (en) * 2018-12-30 2022-11-01 Perimetrics, Inc. Determination of structural characteristics of an object
US11282093B2 (en) * 2018-12-31 2022-03-22 Tata Consultancy Services Limited Method and system for machine learning based item matching by considering user mindset
US11068448B2 (en) * 2019-01-07 2021-07-20 Salesforce.Com, Inc. Archiving objects in a database environment
US10937073B2 (en) * 2019-01-23 2021-03-02 Intuit Inc. Predicting delay in a process
US11017339B2 (en) * 2019-02-05 2021-05-25 International Business Machines Corporation Cognitive labor forecasting
US11321392B2 (en) * 2019-02-19 2022-05-03 International Business Machines Corporation Light weight index for querying low-frequency data in a big data environment
US10726374B1 (en) 2019-02-19 2020-07-28 Icertis, Inc. Risk prediction based on automated analysis of documents
US11792226B2 (en) 2019-02-25 2023-10-17 Oracle International Corporation Automatic api document generation from scim metadata
US11170064B2 (en) 2019-03-05 2021-11-09 Corinne David Method and system to filter out unwanted content from incoming social media data
CN113574554B (zh) * 2019-03-15 2024-10-25 3M创新有限公司 使用因果模型操作供应链
CN110083597A (zh) * 2019-03-16 2019-08-02 平安普惠企业管理有限公司 命令查询方法、装置、计算机设备和存储介质
US11709910B1 (en) * 2019-03-18 2023-07-25 Cigna Intellectual Property, Inc. Systems and methods for imputing missing values in data sets
USD912074S1 (en) * 2019-03-25 2021-03-02 Warsaw Orthopedic, Inc. Display screen with graphical user interface for medical treatment and/or diagnostics
US11568430B2 (en) * 2019-04-08 2023-01-31 Ebay Inc. Third-party testing platform
US11188671B2 (en) * 2019-04-11 2021-11-30 Bank Of America Corporation Distributed data chamber system
CA3078881A1 (en) * 2019-04-22 2020-10-22 Walmart Apollo, Llc Forecasting system
US20200342302A1 (en) * 2019-04-24 2020-10-29 Accenture Global Solutions Limited Cognitive forecasting
GB201905966D0 (en) * 2019-04-29 2019-06-12 Palantir Technologies Inc Security system and method
CN110209449B (zh) * 2019-05-21 2022-02-15 腾讯科技(深圳)有限公司 一种游戏中光标定位方法和装置
US11715144B2 (en) 2019-05-24 2023-08-01 Salesforce, Inc. Dynamic ranking of recommendation pairings
US11507869B2 (en) * 2019-05-24 2022-11-22 Digital Lion, LLC Predictive modeling and analytics for processing and distributing data traffic
US11934971B2 (en) 2019-05-24 2024-03-19 Digital Lion, LLC Systems and methods for automatically building a machine learning model
US11373232B2 (en) * 2019-05-24 2022-06-28 Salesforce.Com, Inc. Dynamic ranking of recommendation pairings
USD913325S1 (en) 2019-05-31 2021-03-16 Apple Inc. Electronic device with graphical user interface
USD914056S1 (en) 2019-05-31 2021-03-23 Apple Inc. Electronic device with animated graphical user interface
CN112068986B (zh) * 2019-06-10 2024-04-12 伊姆西Ip控股有限责任公司 用于管理备份任务的方法、设备和计算机程序产品
CN110377632B (zh) * 2019-06-17 2023-06-20 平安科技(深圳)有限公司 诉讼结果预测方法、装置、计算机设备和存储介质
US11093378B2 (en) 2019-06-27 2021-08-17 Capital One Services, Llc Testing agent for application dependency discovery, reporting, and management tool
US10915428B2 (en) 2019-06-27 2021-02-09 Capital One Services, Llc Intelligent services and training agent for application dependency discovery, reporting, and management tool
US10521235B1 (en) 2019-06-27 2019-12-31 Capital One Services, Llc Determining problem dependencies in application dependency discovery, reporting, and management tool
US10747544B1 (en) 2019-06-27 2020-08-18 Capital One Services, Llc Dependency analyzer in application dependency discovery, reporting, and management tool
US11379292B2 (en) 2019-06-27 2022-07-05 Capital One Services, Llc Baseline modeling for application dependency discovery, reporting, and management tool
US11354222B2 (en) 2019-06-27 2022-06-07 Capital One Services, Llc Discovery crawler for application dependency discovery, reporting, and management tool
US10642719B1 (en) * 2019-06-27 2020-05-05 Capital One Services, Llc Intelligent services for application dependency discovery, reporting, and management tool
CN112256740A (zh) * 2019-07-22 2021-01-22 王其宏 整合定性资料及定量资料进行稽核准则推荐的系统及方法
EP4004832A4 (en) * 2019-07-29 2023-08-09 Pavel Atanasov SYSTEMS AND METHODS FOR MULTIPLE-SOURCE REFERENCE CLASS IDENTIFICATION, BASE RATE CALCULATION AND PREDICTION
CN112307056B (zh) * 2019-07-31 2024-02-06 华控清交信息科技(北京)有限公司 一种数据处理方法、装置和用于数据处理的装置
US11553823B2 (en) * 2019-08-02 2023-01-17 International Business Machines Corporation Leveraging spatial scanning data of autonomous robotic devices
WO2021024205A1 (en) * 2019-08-06 2021-02-11 Bosman Philippus Johannes Method and system of optimizing stock availability and sales opportunity
US20210049159A1 (en) * 2019-08-15 2021-02-18 International Business Machines Corporation Visualization and Validation of Cardinality-Constrained Groups of Data Entry Fields
US11150886B2 (en) * 2019-09-03 2021-10-19 Microsoft Technology Licensing, Llc Automatic probabilistic upgrade of tenant devices
USD949179S1 (en) 2019-09-06 2022-04-19 Apple Inc. Display screen or portion thereof with animated graphical user interface
JP7309533B2 (ja) 2019-09-06 2023-07-18 株式会社日立製作所 モデル改善支援システム
US11870770B2 (en) 2019-09-13 2024-01-09 Oracle International Corporation Multi-tenant identity cloud service with on-premise authentication integration
US11687378B2 (en) * 2019-09-13 2023-06-27 Oracle International Corporation Multi-tenant identity cloud service with on-premise authentication integration and bridge high availability
US11151041B2 (en) * 2019-10-15 2021-10-19 Micron Technology, Inc. Tokens to indicate completion of data storage
KR102314068B1 (ko) * 2019-10-18 2021-10-18 중앙대학교 산학협력단 동물병원 통합 데이터베이스 구축 시스템 및 방법
US11347736B2 (en) * 2019-10-30 2022-05-31 Boray Data Technology Co. Ltd. Dynamic query optimization
US11182841B2 (en) 2019-11-08 2021-11-23 Accenture Global Solutions Limited Prospect recommendation
CN111126018B (zh) * 2019-11-25 2023-08-08 泰康保险集团股份有限公司 表单生成方法及装置、存储介质、电子设备
US11625736B2 (en) * 2019-12-02 2023-04-11 Oracle International Corporation Using machine learning to train and generate an insight engine for determining a predicted sales insight
US11526665B1 (en) * 2019-12-11 2022-12-13 Amazon Technologies, Inc. Determination of root causes of customer returns
EP4073623A4 (en) * 2019-12-12 2024-02-21 Applied Underwriters, Inc. INTERACTIVE STOCHASTIC DESIGN TOOL
CN111125199B (zh) * 2019-12-30 2023-06-13 中国农业银行股份有限公司 一种数据库访问方法、装置及电子设备
US11663617B2 (en) * 2020-01-03 2023-05-30 Sap Se Dynamic file generation system
USD963741S1 (en) 2020-01-09 2022-09-13 Apple Inc. Type font
USD963742S1 (en) 2020-01-09 2022-09-13 Apple Inc. Type font
US11810089B2 (en) * 2020-01-14 2023-11-07 Snowflake Inc. Data exchange-based platform
CN112632105B (zh) * 2020-01-17 2021-09-10 华东师范大学 大规模事务负载生成与数据库隔离级别正确性验证系统及方法
US11741410B2 (en) 2020-01-18 2023-08-29 SkyKick, Inc. Centralized cloud service management
FI20205171A1 (en) * 2020-02-20 2021-08-21 Q Factory Oy INTELLIGENT DATABASE SYSTEM AND METHOD
CN111291074B (zh) * 2020-02-27 2023-03-28 北京思特奇信息技术股份有限公司 一种数据库查询方法、系统、介质及设备
CN113326409A (zh) * 2020-02-29 2021-08-31 华为技术有限公司 表格显示方法、设备以及系统
US11163761B2 (en) 2020-03-20 2021-11-02 International Business Machines Corporation Vector embedding models for relational tables with null or equivalent values
US10860609B1 (en) 2020-03-25 2020-12-08 Snowflake Inc. Distributed stop operator for query processing
CN111523034B (zh) * 2020-04-24 2023-08-18 腾讯科技(深圳)有限公司 一种应用程序的处理方法、装置、设备及介质
US11526756B1 (en) * 2020-06-24 2022-12-13 Amazon Technologies, Inc. Artificial intelligence system with composite models for multiple response-string queries
US11823044B2 (en) * 2020-06-29 2023-11-21 Paypal, Inc. Query-based recommendation systems using machine learning-trained classifier
US11461292B2 (en) 2020-07-01 2022-10-04 International Business Machines Corporation Quick data exploration
US20220019909A1 (en) * 2020-07-14 2022-01-20 Adobe Inc. Intent-based command recommendation generation in an analytics system
US11526825B2 (en) * 2020-07-27 2022-12-13 Cygnvs Inc. Cloud-based multi-tenancy computing systems and methods for providing response control and analytics
CN111913987B (zh) * 2020-08-10 2023-08-04 东北大学 一种基于维组-时空-概率过滤的分布式查询系统及方法
US11593014B2 (en) * 2020-08-14 2023-02-28 EMC IP Holding Company LLC System and method for approximating replication completion time
US20220067541A1 (en) * 2020-08-25 2022-03-03 Alteryx, Inc. Hybrid machine learning
US11460975B2 (en) * 2020-09-18 2022-10-04 Salesforce, Inc. Metric presentation within a flow builder
CN112347390A (zh) * 2020-09-27 2021-02-09 北京淇瑀信息科技有限公司 基于渠道合同映射的资源消耗优化方法、装置及电子设备
CN112182134B (zh) * 2020-09-30 2024-04-30 北京超图软件股份有限公司 一种业务系统时空数据库的构建方法及装置
US20220114624A1 (en) * 2020-10-09 2022-04-14 Adobe Inc. Digital Content Text Processing and Review Techniques
US11720595B2 (en) * 2020-10-16 2023-08-08 Salesforce, Inc. Generating a query using training observations
CN112364613B (zh) * 2020-10-30 2024-05-03 中国运载火箭技术研究院 一种飞行器试验数据判读报告自动生成系统
US11188833B1 (en) * 2020-11-05 2021-11-30 Birdview Films. Llc Real-time predictive knowledge pattern machine
EP4244767A1 (en) * 2020-11-16 2023-09-20 Umnai Limited Method for an explainable autoencoder and an explainable generative adversarial network
US10963438B1 (en) 2020-11-17 2021-03-30 Coupang Corp. Systems and methods for database query efficiency improvement
CN112380215B (zh) * 2020-11-17 2023-07-28 北京融七牛信息技术有限公司 一种基于交叉聚合的自动特征生成方法
TWI776287B (zh) * 2020-11-24 2022-09-01 威聯通科技股份有限公司 雲端檔案存取裝置及方法
US11645595B2 (en) * 2020-12-15 2023-05-09 International Business Machines Corporation Predictive capacity optimizer
CN112540879B (zh) * 2020-12-16 2024-08-02 北京机电工程研究所 一种用于双路冗余接口数据的表决方法
CA3144091A1 (en) * 2020-12-28 2022-06-28 Carbeeza Ltd. Computer system
US20220207007A1 (en) * 2020-12-30 2022-06-30 Vision Insight Ai Llp Artificially intelligent master data management
US20220222695A1 (en) * 2021-01-13 2022-07-14 Mastercard International Incorporated Content communications system with conversation-to-topic microtrend mapping
US11301271B1 (en) * 2021-01-21 2022-04-12 Servicenow, Inc. Configurable replacements for empty states in user interfaces
US11714855B2 (en) 2021-01-29 2023-08-01 International Business Machines Corporation Virtual dialog system performance assessment and enrichment
US12073423B2 (en) * 2021-01-30 2024-08-27 Walmart Apollo, Llc Methods and apparatus for generating target labels from multi-dimensional time series data
US20220277327A1 (en) * 2021-02-26 2022-09-01 Capital One Services, Llc Computer-based systems for data distribution allocation utilizing machine learning models and methods of use thereof
US11798551B2 (en) 2021-03-25 2023-10-24 Bank Of America Corporation System and method for voice controlled automatic information access and retrieval
US11657819B2 (en) 2021-03-25 2023-05-23 Bank Of America Corporation Selective use of tools for automatically identifying, accessing, and retrieving information responsive to voice requests
US11782974B2 (en) 2021-03-25 2023-10-10 Bank Of America Corporation System and method for dynamically identifying and retrieving information responsive to voice requests
CN112925998B (zh) * 2021-03-30 2023-07-25 北京奇艺世纪科技有限公司 界面数据处理方法、装置、系统、电子设备及存储介质
USD1008291S1 (en) * 2021-04-30 2023-12-19 Siemens Energy Global GmbH & Co. KG Display screen or portion thereof with a graphical user interface
USD1008290S1 (en) * 2021-04-30 2023-12-19 Siemens Energy Global GmbH & Co. KG Display screen or portion thereof with a graphical user interface
US11630837B2 (en) * 2021-08-02 2023-04-18 Francis Kanneh Computer-implemented system and method for creating forecast charts
US12041062B2 (en) 2021-09-15 2024-07-16 Cygnvs Inc. Systems for securely tracking incident data and automatically generating data incident reports using collaboration rooms with dynamic tenancy
US11477208B1 (en) 2021-09-15 2022-10-18 Cygnvs Inc. Systems and methods for providing collaboration rooms with dynamic tenancy and role-based security
US11354430B1 (en) 2021-09-16 2022-06-07 Cygnvs Inc. Systems and methods for dynamically establishing and managing tenancy using templates
CN113778424A (zh) * 2021-09-27 2021-12-10 常州市公共资源交易中心 评审配置方法、装置和存储介质
CN114003590B (zh) * 2021-10-29 2024-04-30 厦门大学 一种海洋浮标表层环境要素数据的质控方法
US11361034B1 (en) 2021-11-30 2022-06-14 Icertis, Inc. Representing documents using document keys
CN114116731B (zh) * 2022-01-24 2022-04-22 北京智象信息技术有限公司 一种基于indexedDB存储的数据分离存储展示方法及装置
US11860848B2 (en) * 2022-01-26 2024-01-02 Applica sp. z o.o. Encoder-decoder transformer for table generation
US20230244720A1 (en) * 2022-01-28 2023-08-03 Databricks Inc. Access of data and models associated with multiple prediction generation
US11468369B1 (en) 2022-01-28 2022-10-11 Databricks Inc. Automated processing of multiple prediction generation including model tuning
US11727038B1 (en) * 2022-01-31 2023-08-15 Vast Data Ltd. Tabular database regrouping
US20230281649A1 (en) * 2022-03-02 2023-09-07 Amdocs Development Limited System, method, and computer program for intelligent value stream management
US11709994B1 (en) * 2022-03-04 2023-07-25 Google Llc Contextual answer generation in spreadsheets
USD1026900S1 (en) 2022-05-20 2024-05-14 Apple Inc. Wearable device with graphical user interface
US11947551B2 (en) * 2022-05-27 2024-04-02 Maplebear Inc. Automated sampling of query results for training of a query engine
US11907652B2 (en) * 2022-06-02 2024-02-20 On Time Staffing, Inc. User interface and systems for document creation
US20230419338A1 (en) * 2022-06-22 2023-12-28 International Business Machines Corporation Joint learning of time-series models leveraging natural language processing
US20240020724A1 (en) * 2022-07-13 2024-01-18 Hahn Stats, Llc Method and apparatus for dynamically adjusting to impact of media mentions
US11861732B1 (en) * 2022-07-27 2024-01-02 Intuit Inc. Industry-profile service for fraud detection
US12056473B2 (en) 2022-08-01 2024-08-06 Servicenow, Inc. Low-code / no-code layer for interactive application development
US20240086570A1 (en) * 2022-09-12 2024-03-14 Relyance Inc. Technologies for use of observability data for data privacy, data protection, and data governance
US11954167B1 (en) * 2022-12-21 2024-04-09 Google Llc Techniques for presenting graphical content in a search result
US11899636B1 (en) 2023-07-13 2024-02-13 Fmr Llc Capturing and maintaining a timeline of data changes in a relational database system
CN117975696B (zh) * 2024-03-28 2024-07-05 南京邦固消防科技有限公司 一种联动型火灾报警控制系统及方法

Citations (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2003058697A (ja) * 2001-08-02 2003-02-28 Ncr Internatl Inc ビジネスの分析環境下における予測モデルのコンピュータを利用した統合方法
WO2005036441A1 (ja) * 2003-10-07 2005-04-21 Reverse Proteomics Research Institute Co., Ltd. 生体関連事象間の相関データの可視化方法、解析法及びデータベース
US20050154710A1 (en) * 2004-01-08 2005-07-14 International Business Machines Corporation Dynamic bitmap processing, identification and reusability
US7249048B1 (en) * 2000-06-30 2007-07-24 Ncr Corporation Incorporating predicrive models within interactive business analysis processes
JP2008269215A (ja) * 2007-04-19 2008-11-06 Nippon Telegr & Teleph Corp <Ntt> 特異パターン検出システム、モデル学習装置、特異パターン検出方法、及び、コンピュータプログラム
JP2011154554A (ja) * 2010-01-27 2011-08-11 Nec Corp 欠損値予測装置、欠損値予測方法及び欠損値予測プログラム
US20110258178A1 (en) * 2010-04-19 2011-10-20 Salesforce.Com Methods and systems for performing cross store joins in a multi-tenant store
JP2011248829A (ja) * 2010-05-31 2011-12-08 Sony Corp 評価予測装置、評価予測方法、及びプログラム
JP2012194741A (ja) * 2011-03-16 2012-10-11 Nec Corp 行列形データの欠損値予測装置、欠損値予測計算方法および欠損値予測プログラム
US20120310763A1 (en) * 2011-06-06 2012-12-06 Michael Meehan System and methods for matching potential buyers and sellers of complex offers

Family Cites Families (178)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5369757A (en) * 1991-06-18 1994-11-29 Digital Equipment Corporation Recovery logging in the presence of snapshot files by ordering of buffer pool flushing
WO1993021587A2 (en) 1992-04-15 1993-10-28 Inference Corporation Machine learning with a relational database
JPH0689307A (ja) 1992-05-04 1994-03-29 Internatl Business Mach Corp <Ibm> データベース内の情報を表示する装置および方法
US5608872A (en) 1993-03-19 1997-03-04 Ncr Corporation System for allowing all remote computers to perform annotation on an image and replicating the annotated image on the respective displays of other comuters
US5649104A (en) 1993-03-19 1997-07-15 Ncr Corporation System for allowing user of any computer to draw image over that generated by the host computer and replicating the drawn image to other computers
US5577188A (en) 1994-05-31 1996-11-19 Future Labs, Inc. Method to provide for virtual screen overlay
US5715374A (en) 1994-06-29 1998-02-03 Microsoft Corporation Method and system for case-based reasoning utilizing a belief network
US5701400A (en) 1995-03-08 1997-12-23 Amado; Carlos Armando Method and apparatus for applying if-then-else rules to data sets in a relational data base and generating from the results of application of said rules a database of diagnostics linked to said data sets to aid executive analysis of financial data
GB2300991B (en) 1995-05-15 1997-11-05 Andrew Macgregor Ritchie Serving signals to browsing clients
US5715450A (en) 1995-09-27 1998-02-03 Siebel Systems, Inc. Method of selecting and presenting data from a database using a query language to a user of a computer system
US5831610A (en) 1996-02-23 1998-11-03 Netsuite Development L.P. Designing networks
US5821937A (en) 1996-02-23 1998-10-13 Netsuite Development, L.P. Computer method for updating a network design
US5873096A (en) 1997-10-08 1999-02-16 Siebel Systems, Inc. Method of maintaining a network of partially replicated database system
US6604117B2 (en) 1996-03-19 2003-08-05 Siebel Systems, Inc. Method of maintaining a network of partially replicated database system
WO1998040804A2 (en) 1997-02-26 1998-09-17 Siebel Systems, Inc. Distributed relational database
AU6440398A (en) 1997-02-26 1998-09-18 Siebel Systems, Inc. Method of using a cache to determine the visibility to a remote database client of a plurality of database transactions
JP2002511164A (ja) 1997-02-26 2002-04-09 シーベル システムズ,インコーポレイティド 単純化された可視度ルールに用いるための複数のデータベース・トランザクションのリモート・データベース・クライアントの可視度決定方法
WO1998038583A1 (en) 1997-02-26 1998-09-03 Siebel Systems, Inc. Method of determining visibility to a remote database client of a plurality of database transactions having variable visibility strengths
AU6654798A (en) 1997-02-26 1998-09-18 Siebel Systems, Inc. Method of determining visibility to a remote database client of a plurality of database transactions using a networked proxy server
EP1019807B1 (en) 1997-02-27 2017-04-05 Siebel Systems, Inc. Method of migrating to a successive level of a software distribution incorporating local modifications
AU6336798A (en) 1997-02-27 1998-09-29 Siebel Systems, Inc. Method of synchronizing independently distributed software and database schema
WO1998038564A2 (en) 1997-02-28 1998-09-03 Siebel Systems, Inc. Partially replicated distributed database with multiple levels of remote clients
FR2764719B1 (fr) 1997-06-12 2001-07-27 Guillaume Martin Dispositif d'analyse et d'organisation de donnees
US6169534B1 (en) 1997-06-26 2001-01-02 Upshot.Com Graphical user interface for customer information management
US5918159A (en) 1997-08-04 1999-06-29 Fomukong; Mundi Location reporting satellite paging system with optional blocking of location reporting
US6560461B1 (en) 1997-08-04 2003-05-06 Mundi Fomukong Authorized location reporting paging system
US6629095B1 (en) * 1997-10-14 2003-09-30 International Business Machines Corporation System and method for integrating data mining into a relational database management system
JPH11203320A (ja) * 1998-01-20 1999-07-30 Hitachi Ltd データベース前処理方式
US20020059095A1 (en) 1998-02-26 2002-05-16 Cook Rachael Linette System and method for generating, capturing, and managing customer lead information over a computer network
US6732111B2 (en) 1998-03-03 2004-05-04 Siebel Systems, Inc. Method, apparatus, system, and program product for attaching files and other objects to a partially replicated database
US5963953A (en) 1998-03-30 1999-10-05 Siebel Systems, Inc. Method, and system for product configuration
US6092086A (en) * 1998-03-31 2000-07-18 Bmc Software System and method for handling backout processing during capture of changed data in an enterprise computer system
AU3966099A (en) * 1998-04-24 1999-11-16 Starmine, L.L.C. Security analyst performance tracking and analysis system and method
AU5791899A (en) 1998-08-27 2000-03-21 Upshot Corporation A method and apparatus for network-based sales force management
US6728960B1 (en) 1998-11-18 2004-04-27 Siebel Systems, Inc. Techniques for managing multiple threads in a browser environment
US6601087B1 (en) 1998-11-18 2003-07-29 Webex Communications, Inc. Instant document sharing
US6549908B1 (en) 1998-11-18 2003-04-15 Siebel Systems, Inc. Methods and apparatus for interpreting user selections in the context of a relation distributed as a set of orthogonalized sub-relations
EP1196882A4 (en) 1998-11-30 2002-04-17 Siebel Systems Inc INTELLIGENT SCRIPTING CALL CENTERS
AU2034500A (en) 1998-11-30 2000-06-19 Siebel Systems, Inc. State models for monitoring processes
JP2002531900A (ja) 1998-11-30 2002-09-24 シーベル システムズ,インコーポレイティド 割り当てマネージャ
EP1135723A4 (en) 1998-11-30 2005-02-16 Siebel Systems Inc DEVELOPMENT TOOL, METHOD AND SYSTEM FOR CUSTOMER SERVICE APPLICATIONS
US6574635B2 (en) 1999-03-03 2003-06-03 Siebel Systems, Inc. Application instantiation based upon attributes and values stored in a meta data repository, including tiering of application layers objects and components
US20020072951A1 (en) 1999-03-03 2002-06-13 Michael Lee Marketing support database management method, system and program product
US6621834B1 (en) 1999-11-05 2003-09-16 Raindance Communications, Inc. System and method for voice transmission over network protocols
US6535909B1 (en) 1999-11-18 2003-03-18 Contigo Software, Inc. System and method for record and playback of collaborative Web browsing session
US6324568B1 (en) 1999-11-30 2001-11-27 Siebel Systems, Inc. Method and system for distributing objects over a network
US6654032B1 (en) 1999-12-23 2003-11-25 Webex Communications, Inc. Instant sharing of documents on a remote server
US6609050B2 (en) 2000-01-20 2003-08-19 Daimlerchrysler Corporation Vehicle warranty and repair computer-networked system
US6577726B1 (en) 2000-03-31 2003-06-10 Siebel Systems, Inc. Computer telephony integration hotelling method and system
US6732100B1 (en) 2000-03-31 2004-05-04 Siebel Systems, Inc. Database access method and system for user role defined access
US7266502B2 (en) 2000-03-31 2007-09-04 Siebel Systems, Inc. Feature centric release manager method and system
US6336137B1 (en) 2000-03-31 2002-01-01 Siebel Systems, Inc. Web client-server system and method for incompatible page markup and presentation languages
US6434550B1 (en) 2000-04-14 2002-08-13 Rightnow Technologies, Inc. Temporal updates of relevancy rating of retrieved information in an information search system
US6665655B1 (en) 2000-04-14 2003-12-16 Rightnow Technologies, Inc. Implicit rating of retrieved information in an information search system
US6842748B1 (en) 2000-04-14 2005-01-11 Rightnow Technologies, Inc. Usage based strength between related information in an information retrieval system
US7730072B2 (en) 2000-04-14 2010-06-01 Rightnow Technologies, Inc. Automated adaptive classification system for knowledge networks
US6763501B1 (en) 2000-06-09 2004-07-13 Webex Communications, Inc. Remote document serving
US7877312B2 (en) 2000-06-22 2011-01-25 Wgal, Llp Apparatus and method for displaying trading trends
US7117208B2 (en) * 2000-09-28 2006-10-03 Oracle Corporation Enterprise web mining system and method
KR100365357B1 (ko) 2000-10-11 2002-12-18 엘지전자 주식회사 무선통신 단말기의 데이터 통신 방법
WO2002037376A1 (en) * 2000-10-27 2002-05-10 Manugistics, Inc. Supply chain demand forecasting and planning
US20030105732A1 (en) 2000-11-17 2003-06-05 Kagalwala Raxit A. Database schema for structure query language (SQL) server
US7581230B2 (en) 2001-02-06 2009-08-25 Siebel Systems, Inc. Adaptive communication application programming interface
USD454139S1 (en) 2001-02-20 2002-03-05 Rightnow Technologies Display screen for a computer
US6785684B2 (en) * 2001-03-27 2004-08-31 International Business Machines Corporation Apparatus and method for determining clustering factor in a database using block level sampling
US6829655B1 (en) 2001-03-28 2004-12-07 Siebel Systems, Inc. Method and system for server synchronization with a computing device via a companion device
US7174514B2 (en) 2001-03-28 2007-02-06 Siebel Systems, Inc. Engine to present a user interface based on a logical structure, such as one for a customer relationship management system, across a web site
US7363388B2 (en) 2001-03-28 2008-04-22 Siebel Systems, Inc. Method and system for direct server synchronization with a computing device
US20030018705A1 (en) 2001-03-31 2003-01-23 Mingte Chen Media-independent communication server
US20030206192A1 (en) 2001-03-31 2003-11-06 Mingte Chen Asynchronous message push to web browser
US6732095B1 (en) 2001-04-13 2004-05-04 Siebel Systems, Inc. Method and apparatus for mapping between XML and relational representations
US7761288B2 (en) 2001-04-30 2010-07-20 Siebel Systems, Inc. Polylingual simultaneous shipping of software
US7111023B2 (en) * 2001-05-24 2006-09-19 Oracle International Corporation Synchronous change data capture in a relational database
US20020178146A1 (en) 2001-05-24 2002-11-28 International Business Machines Corporation System and method for selective object history retention
JP2002358402A (ja) 2001-05-31 2002-12-13 Dentsu Tec Inc 3指標軸による顧客価値を基準とした売上予測方法
US6691115B2 (en) * 2001-06-15 2004-02-10 Hewlett-Packard Development Company, L.P. System and method for purging database update image files after completion of associated transactions for a database replication system with multiple audit logs
US6711565B1 (en) 2001-06-18 2004-03-23 Siebel Systems, Inc. Method, apparatus, and system for previewing search results
US6763351B1 (en) 2001-06-18 2004-07-13 Siebel Systems, Inc. Method, apparatus, and system for attaching search results
US6782383B2 (en) 2001-06-18 2004-08-24 Siebel Systems, Inc. System and method to implement a persistent and dismissible search center frame
US6728702B1 (en) 2001-06-18 2004-04-27 Siebel Systems, Inc. System and method to implement an integrated search center supporting a full-text search and query on a database
US20030004971A1 (en) 2001-06-29 2003-01-02 Gong Wen G. Automatic generation of data models and accompanying user interfaces
US6826582B1 (en) 2001-09-28 2004-11-30 Emc Corporation Method and system for using file systems for content management
US6978445B2 (en) 2001-09-28 2005-12-20 Siebel Systems, Inc. Method and system for supporting user navigation in a browser environment
US6724399B1 (en) 2001-09-28 2004-04-20 Siebel Systems, Inc. Methods and apparatus for enabling keyboard accelerators in applications implemented via a browser
US7761535B2 (en) 2001-09-28 2010-07-20 Siebel Systems, Inc. Method and system for server synchronization with a computing device
US6993712B2 (en) 2001-09-28 2006-01-31 Siebel Systems, Inc. System and method for facilitating user interaction in a browser environment
US6901595B2 (en) 2001-09-29 2005-05-31 Siebel Systems, Inc. Method, apparatus, and system for implementing a framework to support a web-based application
US7146617B2 (en) 2001-09-29 2006-12-05 Siebel Systems, Inc. Method, apparatus, and system for implementing view caching in a framework to support web-based applications
US7962565B2 (en) 2001-09-29 2011-06-14 Siebel Systems, Inc. Method, apparatus and system for a mobile web client
US8359335B2 (en) 2001-09-29 2013-01-22 Siebel Systems, Inc. Computing system and method to implicitly commit unsaved data for a world wide web application
US6980988B1 (en) * 2001-10-01 2005-12-27 Oracle International Corporation Method of applying changes to a standby database system
US7289949B2 (en) 2001-10-09 2007-10-30 Right Now Technologies, Inc. Method for routing electronic correspondence based on the level and type of emotion contained therein
US6804330B1 (en) 2002-01-04 2004-10-12 Siebel Systems, Inc. Method and system for accessing CRM data via voice
US7058890B2 (en) 2002-02-13 2006-06-06 Siebel Systems, Inc. Method and system for enabling connectivity to a data system
US7451065B2 (en) * 2002-03-11 2008-11-11 International Business Machines Corporation Method for constructing segmentation-based predictive models
US7131071B2 (en) 2002-03-29 2006-10-31 Siebel Systems, Inc. Defining an approval process for requests for approval
US7672853B2 (en) 2002-03-29 2010-03-02 Siebel Systems, Inc. User interface for processing requests for approval
US6850949B2 (en) 2002-06-03 2005-02-01 Right Now Technologies, Inc. System and method for generating a dynamic interface via a communications network
US7437720B2 (en) 2002-06-27 2008-10-14 Siebel Systems, Inc. Efficient high-interactivity user interface for client-server applications
US7594181B2 (en) 2002-06-27 2009-09-22 Siebel Systems, Inc. Prototyping graphical user interfaces
US8639542B2 (en) 2002-06-27 2014-01-28 Siebel Systems, Inc. Method and apparatus to facilitate development of a customer-specific business process model
US20040010489A1 (en) 2002-07-12 2004-01-15 Rightnow Technologies, Inc. Method for providing search-specific web pages in a network computing environment
US7251787B2 (en) 2002-08-28 2007-07-31 Siebel Systems, Inc. Method and apparatus for an integrated process modeller
US7472114B1 (en) 2002-09-18 2008-12-30 Symantec Corporation Method and apparatus to define the scope of a search for information from a tabular data source
WO2004053074A2 (en) * 2002-12-06 2004-06-24 Science And Technology Corporation @ Unm Outcome prediction and risk classification in childhood leukemia
GB2397401A (en) * 2003-01-15 2004-07-21 Luke Leonard Martin Porter Time in databases and applications of databases
US9448860B2 (en) 2003-03-21 2016-09-20 Oracle America, Inc. Method and architecture for providing data-change alerts to external applications via a push service
US7904340B2 (en) 2003-03-24 2011-03-08 Siebel Systems, Inc. Methods and computer-readable medium for defining a product model
WO2004086197A2 (en) 2003-03-24 2004-10-07 Siebel Systems, Inc. Custom common object
US7711680B2 (en) 2003-03-24 2010-05-04 Siebel Systems, Inc. Common common object
US8762415B2 (en) 2003-03-25 2014-06-24 Siebel Systems, Inc. Modeling of order data
US7685515B2 (en) 2003-04-04 2010-03-23 Netsuite, Inc. Facilitating data manipulation in a browser-based user interface of an enterprise business application
US7620655B2 (en) 2003-05-07 2009-11-17 Enecto Ab Method, device and computer program product for identifying visitors of websites
US7206965B2 (en) 2003-05-23 2007-04-17 General Electric Company System and method for processing a new diagnostics case relative to historical case data and determining a ranking for possible repairs
US7409336B2 (en) 2003-06-19 2008-08-05 Siebel Systems, Inc. Method and system for searching data based on identified subset of categories and relevance-scored text representation-category combinations
US20040260659A1 (en) 2003-06-23 2004-12-23 Len Chan Function space reservation system
US7237227B2 (en) 2003-06-30 2007-06-26 Siebel Systems, Inc. Application user interface template with free-form layout
US7694314B2 (en) 2003-08-28 2010-04-06 Siebel Systems, Inc. Universal application network architecture
US7779039B2 (en) 2004-04-02 2010-08-17 Salesforce.Com, Inc. Custom entities and fields in a multi-tenant database system
WO2005031589A1 (en) * 2003-09-23 2005-04-07 Marchex, Inc. Performance-based online advertising system and method
US7461089B2 (en) 2004-01-08 2008-12-02 International Business Machines Corporation Method and system for creating profiling indices
US7167866B2 (en) * 2004-01-23 2007-01-23 Microsoft Corporation Selective multi level expansion of data base via pivot point data
US20090006156A1 (en) * 2007-01-26 2009-01-01 Herbert Dennis Hunt Associating a granting matrix with an analytic platform
US7171424B2 (en) 2004-03-04 2007-01-30 International Business Machines Corporation System and method for managing presentation of data
US7590639B1 (en) * 2004-04-29 2009-09-15 Sap Ag System and method for ordering a database flush sequence at transaction commit
US7398268B2 (en) * 2004-07-09 2008-07-08 Microsoft Corporation Systems and methods that facilitate data mining
US7289976B2 (en) 2004-12-23 2007-10-30 Microsoft Corporation Easy-to-use data report specification
JP2006215936A (ja) * 2005-02-07 2006-08-17 Hitachi Ltd 検索システム及び検索方法
US20060218132A1 (en) * 2005-03-25 2006-09-28 Oracle International Corporation Predictive data mining SQL functions (operators)
US7752048B2 (en) 2005-05-27 2010-07-06 Oracle International Corporation Method and apparatus for providing speech recognition resolution on a database
US20070005420A1 (en) 2005-06-30 2007-01-04 Microsoft Corporation Adjustment of inventory estimates
US20070073685A1 (en) * 2005-09-26 2007-03-29 Robert Thibodeau Systems and methods for valuing receivables
US20070136429A1 (en) 2005-12-09 2007-06-14 Fine Leslie R Methods and systems for building participant profiles
US8065326B2 (en) 2006-02-01 2011-11-22 Oracle International Corporation System and method for building decision trees in a database
US7743052B2 (en) * 2006-02-14 2010-06-22 International Business Machines Corporation Method and apparatus for projecting the effect of maintaining an auxiliary database structure for use in executing database queries
CN101093496A (zh) * 2006-06-23 2007-12-26 微软公司 多级关联存储结构及其存储方法
US8693690B2 (en) * 2006-12-04 2014-04-08 Red Hat, Inc. Organizing an extensible table for storing cryptographic objects
US8954500B2 (en) 2008-01-04 2015-02-10 Yahoo! Inc. Identifying and employing social network relationships
US7797356B2 (en) * 2007-02-02 2010-09-14 Microsoft Corporation Dynamically detecting exceptions based on data changes
US7788200B2 (en) * 2007-02-02 2010-08-31 Microsoft Corporation Goal seeking using predictive analytics
US7680882B2 (en) 2007-03-06 2010-03-16 Friendster, Inc. Multimedia aggregation in an online social network
US7987161B2 (en) 2007-08-23 2011-07-26 Thomson Reuters (Markets) Llc System and method for data compression using compression hardware
US20090119172A1 (en) * 2007-11-02 2009-05-07 Soloff David L Advertising Futures Marketplace Methods and Systems
US20100318511A1 (en) 2007-11-13 2010-12-16 VirtualAgility Techniques for connectors in a system for collaborative work
US8126881B1 (en) * 2007-12-12 2012-02-28 Vast.com, Inc. Predictive conversion systems and methods
US8876607B2 (en) * 2007-12-18 2014-11-04 Yahoo! Inc. Visual display of fantasy sports team starting roster data trends
US8234248B2 (en) * 2008-01-24 2012-07-31 Oracle International Corporation Tracking changes to a business object
US8171021B2 (en) 2008-06-23 2012-05-01 Google Inc. Query identification and association
US20100131496A1 (en) * 2008-11-26 2010-05-27 Yahoo! Inc. Predictive indexing for fast search
US20100211485A1 (en) * 2009-02-17 2010-08-19 Augustine Nancy L Systems and methods of time period comparisons
FR2944006B1 (fr) 2009-04-03 2011-04-01 Inst Francais Du Petrole Bacteries capables de degrader des composes petroliers multiples en solution dans des effluents aqueux et procede de traitement desdits effluents
US8645337B2 (en) 2009-04-30 2014-02-04 Oracle International Corporation Storing compression units in relational tables
US20100287146A1 (en) * 2009-05-11 2010-11-11 Dean Skelton System and method for change analytics based forecast and query optimization and impact identification in a variance-based forecasting system with visualization
US20100299367A1 (en) 2009-05-20 2010-11-25 Microsoft Corporation Keyword Searching On Database Views
US20100324927A1 (en) 2009-06-17 2010-12-23 Tinsley Eric C Senior care navigation systems and methods for using the same
US9852193B2 (en) * 2009-08-10 2017-12-26 Ebay Inc. Probabilistic clustering of an item
US8706715B2 (en) 2009-10-05 2014-04-22 Salesforce.Com, Inc. Methods and systems for joining indexes for query optimization in a multi-tenant database
US8271435B2 (en) 2010-01-29 2012-09-18 Oracle International Corporation Predictive categorization
US8874600B2 (en) 2010-01-30 2014-10-28 International Business Machines Corporation System and method for building a cloud aware massive data analytics solution background
CN102193939B (zh) * 2010-03-10 2016-04-06 阿里巴巴集团控股有限公司 信息导航的实现方法、信息导航服务器和信息处理系统
WO2011130706A2 (en) * 2010-04-16 2011-10-20 Salesforce.Com, Inc. Methods and systems for performing cross store joins in a multi-tenant store
US20110282806A1 (en) 2010-05-12 2011-11-17 Jarrod Wilcox Method and apparatus for investment allocation
CN101894316A (zh) * 2010-06-10 2010-11-24 焦点科技股份有限公司 一种国际市场景气状况的监测指数方法及系统
US20120215560A1 (en) 2010-07-21 2012-08-23 dbMotion Ltd. System and methods for facilitating computerized interactions with emrs
US8903805B2 (en) 2010-08-20 2014-12-02 Oracle International Corporation Method and system for performing query optimization using a hybrid execution plan
US20120072972A1 (en) 2010-09-20 2012-03-22 Microsoft Corporation Secondary credentials for batch system
US9235620B2 (en) * 2012-08-14 2016-01-12 Amadeus S.A.S. Updating cached database query results
US20120317058A1 (en) 2011-06-13 2012-12-13 Abhulimen Kingsley E Design of computer based risk and safety management system of complex production and multifunctional process facilities-application to fpso's
US8775517B1 (en) 2011-07-12 2014-07-08 Relationship Science LLC Viewing connectivity between user and entity of an information service
CN102254034A (zh) * 2011-08-08 2011-11-23 浙江鸿程计算机系统有限公司 一种基于bide的olap查询日志挖掘及推荐方法
US11755663B2 (en) 2012-10-22 2023-09-12 Recorded Future, Inc. Search activity prediction
CN104040542B (zh) 2011-12-08 2017-10-10 甲骨文国际公司 用于在易失性存储器内保持关系型数据的列向量的技术
US20140040162A1 (en) 2012-02-21 2014-02-06 Salesforce.Com, Inc. Method and system for providing information from a customer relationship management system
US9613014B2 (en) * 2012-03-09 2017-04-04 AgileQR, Inc. Systems and methods for personalization and engagement by passive connection
US8983936B2 (en) * 2012-04-04 2015-03-17 Microsoft Corporation Incremental visualization for structured data in an enterprise-level data store
US20140019207A1 (en) 2012-07-11 2014-01-16 Sap Ag Interactive in-memory based sales forecasting
US10152511B2 (en) 2012-09-14 2018-12-11 Salesforce.Com, Inc. Techniques for optimization of inner queries
US20140149554A1 (en) 2012-11-29 2014-05-29 Ricoh Co., Ltd. Unified Server for Managing a Heterogeneous Mix of Devices

Patent Citations (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7249048B1 (en) * 2000-06-30 2007-07-24 Ncr Corporation Incorporating predicrive models within interactive business analysis processes
JP2003058697A (ja) * 2001-08-02 2003-02-28 Ncr Internatl Inc ビジネスの分析環境下における予測モデルのコンピュータを利用した統合方法
WO2005036441A1 (ja) * 2003-10-07 2005-04-21 Reverse Proteomics Research Institute Co., Ltd. 生体関連事象間の相関データの可視化方法、解析法及びデータベース
US20050154710A1 (en) * 2004-01-08 2005-07-14 International Business Machines Corporation Dynamic bitmap processing, identification and reusability
JP2008269215A (ja) * 2007-04-19 2008-11-06 Nippon Telegr & Teleph Corp <Ntt> 特異パターン検出システム、モデル学習装置、特異パターン検出方法、及び、コンピュータプログラム
JP2011154554A (ja) * 2010-01-27 2011-08-11 Nec Corp 欠損値予測装置、欠損値予測方法及び欠損値予測プログラム
US20110258178A1 (en) * 2010-04-19 2011-10-20 Salesforce.Com Methods and systems for performing cross store joins in a multi-tenant store
JP2011248829A (ja) * 2010-05-31 2011-12-08 Sony Corp 評価予測装置、評価予測方法、及びプログラム
JP2012194741A (ja) * 2011-03-16 2012-10-11 Nec Corp 行列形データの欠損値予測装置、欠損値予測計算方法および欠損値予測プログラム
US20120310763A1 (en) * 2011-06-06 2012-12-06 Michael Meehan System and methods for matching potential buyers and sellers of complex offers

Also Published As

Publication number Publication date
US9690815B2 (en) 2017-06-27
US9349132B2 (en) 2016-05-24
US9336533B2 (en) 2016-05-10
US10963541B2 (en) 2021-03-30
US9235846B2 (en) 2016-01-12
US9240016B2 (en) 2016-01-19
US20140280066A1 (en) 2014-09-18
CN110309119A (zh) 2019-10-08
EP2973004A1 (en) 2016-01-20
US9753962B2 (en) 2017-09-05
US20140278755A1 (en) 2014-09-18
US20140280065A1 (en) 2014-09-18
US20160364420A1 (en) 2016-12-15
US9342836B2 (en) 2016-05-17
CA2904526A1 (en) 2014-09-18
US20140280191A1 (en) 2014-09-18
US9454767B2 (en) 2016-09-27
WO2014143208A1 (en) 2014-09-18
US20140278771A1 (en) 2014-09-18
WO2014143208A8 (en) 2015-09-17
US20140280153A1 (en) 2014-09-18
US10860557B2 (en) 2020-12-08
US20140280192A1 (en) 2014-09-18
US20160125011A1 (en) 2016-05-05
JP2019057286A (ja) 2019-04-11
US20140280190A1 (en) 2014-09-18
CN105229633A (zh) 2016-01-06
US20140278754A1 (en) 2014-09-18
US9390428B2 (en) 2016-07-12
JP6412550B2 (ja) 2018-10-24
JP6608500B2 (ja) 2019-11-20
US20140280193A1 (en) 2014-09-18
CA2904526C (en) 2023-02-14
US9367853B2 (en) 2016-06-14
US20160292199A1 (en) 2016-10-06
CN105229633B (zh) 2019-06-28
CN110309119B (zh) 2023-08-22

Similar Documents

Publication Publication Date Title
JP6608500B2 (ja) データアップロード、処理及び予測クエリapi公開を実施するシステム、方法及び装置
Blazquez et al. Big Data sources and methods for social and economic analyses
US11176154B1 (en) Collaborative dataset management system for machine learning data
Kridel et al. Automated self-service modeling: predictive analytics as a service
Tiwary Learning apache mahout
Yenduri et al. A multiple criteria decision analysis based approach to remove uncertainty in SMP models
Espadinha-Cruz et al. Lead management optimization using data mining: A case in the telecommunications sector
Hanif Applications of data mining techniques for churn prediction and cross-selling in the telecommunications industry
Siemes Churn prediction models tested and evaluated in the Dutch indemnity industry
Kart et al. Decision support system for a customer relationship management case study
Nyumbeka Using Data Analysis and Information Visualization Techniques to Support the Effective Analysis of Large Financial Data Sets
Behnaz An open semantic framework for statistical learning
Kliger et al. Identifying and Utilizing Contextual Information for Banner Scoring in Display Advertising
Veglio Web data mining to monitoring marketing performance. Focus on potential customers risk of churn

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20161108

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20171026

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20171107

A601 Written request for extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A601

Effective date: 20180201

A601 Written request for extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A601

Effective date: 20180403

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20180502

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: 20180731

A601 Written request for extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A601

Effective date: 20180828

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20180928

R150 Certificate of patent or registration of utility model

Ref document number: 6412550

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

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