CN105229633B - 用于实现数据上传、处理和预测查询api公开的系统、方法和装置 - Google Patents

用于实现数据上传、处理和预测查询api公开的系统、方法和装置 Download PDF

Info

Publication number
CN105229633B
CN105229633B CN201380076609.0A CN201380076609A CN105229633B CN 105229633 B CN105229633 B CN 105229633B CN 201380076609 A CN201380076609 A CN 201380076609A CN 105229633 B CN105229633 B CN 105229633B
Authority
CN
China
Prior art keywords
data set
database
data
column
index
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.)
Active
Application number
CN201380076609.0A
Other languages
English (en)
Other versions
CN105229633A (zh
Inventor
博·大卫·克罗宁
弗里茨·奥伯迈耶
卡普·克里斯汀·佩切胡莱特
埃克里·迈克尔·乔纳斯
乔纳森·格利登
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Shuo Power Co
Original Assignee
SA Lesi Fox Communication Co Ltd
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 SA Lesi Fox Communication Co Ltd filed Critical SA Lesi Fox Communication Co Ltd
Priority to CN201910477454.0A priority Critical patent/CN110309119B/zh
Publication of CN105229633A publication Critical patent/CN105229633A/zh
Application granted granted Critical
Publication of CN105229633B publication Critical patent/CN105229633B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

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

Abstract

本发明公开的是用于实现数据上传、处理和预测查询API公开的系统和方法,所述系统包括以下多个构件用于:接收表格形式的数据集,所述数据集具有多个行和多个列;处理数据集来生成代表数据集的行和列之间的概率关系的索引;将索引存储在数据库中;公开应用程序编程接口(API)来查询数据库中的索引;接收用于针对数据库中的索引的预测查询或潜在结构查询的请求;经由API查询数据库,得到基于请求的预测;和响应所述请求,返回预测。还公开了其他相关的实施例。

Description

用于实现数据上传、处理和预测查询API公开的系统、方法和 装置
版权声明
本专利文件公开的一部分内容包含受版权保护的材料。由于专利文件或专利公开内容呈现在专利和商标局专利文件或记录中,所以版权所有者不反对任何人进行复制,但在其他方面无论怎样都保留所有版权权利。
技术领域
实施例一般来说涉及计算领域,更具体地涉及用于实现数据上传、处理和预测查询API公开的系统、方法和装置。
背景技术
在说明书背景技术部分中所讨论的主题,不应仅因为其在背景技术部分提及,而视为现有技术。同样地,在背景技术部分中提及的问题或者与背景技术部分的主题相关的问题,不应推测为在现有技术中已认识到。背景技术部分中的主题仅代表不同方法,它们本身以及它们制得的产品还可与所要求保护的实施例相对应。
如果客户端组织在他们的数据库中有数据集,则这些客户端组织可以从预测分析中受益。遗憾的是,现在在市场上没有低成本且可扩展的解决方案。相反,客户端组织必须雇用技术专家来开发非常昂贵的定制数学建构和预测模型。因此,没有巨大财力的客户端组织单纯地因定价过高而无人购买,并因此无法使用它们数据集的预测分析能力。
有财力雇用技术专家和数学专家来开发必需的数学建构和预测模型的客户端组织受到定制解决方案的常见问题的困扰。具体来说,定制解决方案适合手中的某个给定时间点上的特定问题,但是照这样的话,定制解决方案不能适应基础数据结构的变化,定制解决方案不能适应存储在客户端数据集中的数据类型的变化,定制解决方案也不能扩展以满足由于客户端商业和数据集随着时间推移增长而产生的客户端不断增长和变化的需求。
因此,现有技术的当前状态可以从本文所描述的用于实现预测查询以及在按需和/或多租户数据库系统中使用的系统和方法中受益。
附图说明
实施例通过举例而非限制性的方式示出,并且当结合附图考虑时,这些实施例通过参考下面的具体实施方案将得到更充分地理解,在附图中:
图1描绘了根据所描述的实施例的示例性架构;
图2示出了在其中可以使用按需式数据库服务的环境的实例的方框图;
图3示出了图2的元素和这些元素之间各种可能的相互连接的实施例的方框图;
图4示出了根据本发明的一个实施例的以计算机系统为示例性形式的机器的图示;
图5A描绘了平板计算设备和手持智能电话,该平板计算设备和手持智能电话中的每个都具有如根据实施例所描述的集成在其中的电路;
图5B是平板计算设备、智能电话或其他移动设备的实施例的方框图,在所述设备中都使用了触摸屏接口连接器;
图6描绘了用于概率建模的简化流程;
图7示出了可在其上执行随机游走的示例性景观(landscape);
图8描绘了示例性表格数据集;
图9描绘了用于推导观测数据之间动机或因果关系的方法;
图10A更详细地描绘了示例性剖面分类;
图10B描绘了示出推断相对于真实事实的收敛性评估;
图11描绘了贝尔数级数的图表和曲线图;
图12A描绘了小型表格数据集的示例性剖面分类;
图12B描绘了已根据所描述的实施例实现数据上传、处理和预测查询API公开的示例性架构;
图12C是示出了根据公开的实施例的一种用于实现数据上传、处理和预测查询API公开的方法的流程图;
图12D描绘了根据所描述实施例的已将预测查询接口实现为云服务的示例性架构;
图12E是示出了根据公开的实施例的一种用于将预测查询接口实现为云服务的方法的流程图;
图13A示出了根据所描述的实施例的相关命令项的使用;
图13B描绘了根据所描述的实施例的示例性架构;
图13C是示出根据所公开的实施例的一种方法的流程图;
图14A示出了根据所描述的实施例的组命令项的使用;
图14B描绘了根据所描述的实施例的示例性架构;
图14C是示出根据所公开的实施例的一种方法的流程图;
图15A示出了根据所描述的实施例的类似命令项的使用;
图15B示出了根据所描述的实施例的示例性架构;
图15C是示出根据所公开的实施例的一种方法的流程图;
图16A示出了根据所描述的实施例的预测命令项的使用;
图16B示出了根据所描述的实施例的预测命令项的使用;
图16C示出了根据所描述的实施例的预测命令项的使用;
图16D示出了根据所描述的实施例的示例性架构;
图16E是示出根据所公开的实施例的一种方法的流程图;
图16F示出了根据所描述的实施例的示例性架构;
图16G是示出根据所公开的实施例的一种方法的流程图;
图17A示出了图形用户接口(GUI),该GUI用以通过开发预测命令项来显示和处理具有缺失值的表格数据集;
图17B示出了图形用户接口的另一视图;
图17C示出了图形用户接口的另一视图;
图17D示出了根据所描述的实施例的示例性架构;
图17E是示出根据所公开的实施例的一种方法的流程图;
图18示出了通过分析表格数据集所生成的索引内的特征移动和实体移动;
图19A示出了使用历史日期进行查询的专用GUI;
图19B示出了使用历史日期进行查询的专用GUI的另一视图;
图19C示出了用于构造预测查询的专用GUI的另一视图;
图19D示出了根据所描述的实施例的示例性架构;
图19E是示出根据所公开的实施例的一种方法的流程图;
图20A示出了根据所描述的实施例的流水线变化报告;
图20B示出了根据所描述的实施例的使用预测数据的瀑布图;
图20C示出了在添加第一历史字段之后具有默认值的界面;
图20D更详细地示出了具有添加的自定义过滤器的默认值的界面;
图20E更详细地示出了具有添加的自定义过滤器的默认值的另一界面;
图20F示出了根据所描述的实施例的示例性架构;
图20G是示出根据所公开的实施例的一种方法的流程图;
图21A提供了示出预测完全性相对于准确度的曲线图;
图21B提供了示出机会置信度分解的图表;
图21C提供了示出机会赢得预测的图表;
图22A提供了示出用于机会评分的预测关系的图表;
图22B提供了示出用于机会评分的预测关系的另一图表;以及
图22C提供了示出用于机会评分的预测关系的另一图表;
具体实施方式
希望对自己的数据集进行预测分析和数据挖掘的客户端组织通常必然聘请技术专家、解释他们希望解决的问题、然后将其数据移交给所聘请的专家,以应用定制的数学结构来尝试解决目前的问题。
照此类推,很多年前,当计算机工程师设计计算机系统时,必要的是也解决如何将数据映射至物理盘上,以便解释扇区、块、转速等。当今的程序员则完全不担心自己有这些问题。类似地,非常期望普通的用户能够利用服务器和高级数据库技术来执行数据分析而无需雇用专家。通过这样做,能够腾出资源来集中解决其他问题。通过提供用于预测查询实施以及在按需和/或多租户数据库系统中使用的系统和方法,本文所描述的方法学在朝着该目标方面领先于现有技术的预测查询。这些方法学将大多数学和技术复杂性转移到托管数据库系统中并因而从用户的视线中消失。通过这样做,可以减少初学用户的学习曲线,从而使得该预测技术对于更大范围的市场可用。
现今存在某些机器学习能力。例如,当前能力可以预测性地回答例如“此人是否要买产品x”之类的问题。但是,现有的技术在解决许多各种不同的问题时并不实用。例如,具有庞大财力的大型保健公司可能能够雇用技术专家来基于该大型保健公司的本地专用数据库开发解决具体问题的定制分析,但是小型公司相对而言则雇用不起这样的服务提供者,这是因为这样做的成本远远超出了小型公司的财力。而且,如上所指,即便一个组织投资这样的定制解决方案,该解决方案永远针对所解决的具体问题而无法通过改变数据类型或数据结构之类来扩展到解决新的问题、新的查询。如此,定制开发的解决方案由于与组织的不断改变的新的商业目标不那么一致而随着时间衰退。因此,示例性的小型公司必须放弃解决现有问题,而已经雇用专家来开发定制解决方案的实体则不得不因为商业条件、数据和目标随时间的改变而再投入额外的时间和资源来更新并变更其定制解决方案。这两种都不是理想的结果。
现今,分析和预测建模领域的技术专家所提供的服务提供了针对特定的客户数据集定制的解决方案。但这些服务并没有提供可由非专家使用的能力,也没有提供从特定的基础数据集中抽象出的技术方案。相反,所开发的模型要求不仅对实现还对使用都需要进行专门训练,并且还将这样的模型绑定到为该模型开发的特定基础数据集上。
相反地,本申请中所述的方法学提供了基本架构,借助于该基本架构,所描述的不同查询技术、接口、数据库以及其他功能适于大量不同专业水平的客户组织和用户以及不同范围的基础数据集使用。
Salesforce.com为客户端、组织和终端用户提供了按需式云服务,并且这些云服务的背后是多租户数据库系统,该系统使得用户能够具有定制数据、定制字段类型等。基础数据和数据结构由客户组织根据自身的特定需要来定制。然而,本申请中所述的方法学能够对这些数据集和数据结构进行分析和查询的原因是该方法并未被绑定到任何特定的基础数据库模式、结构或内容上。
由于所述解决方案的强扩展性,使得其访问成本低变得可能,从而使用所述技术的客户组织进一步受益于低的访问成本。例如,云服务提供商可以选择以零附加成本来提供该能力作为整体服务提供的一部分,或者可以选择以额外的服务费用提供额外能力。在任一种情况下,客户组织都不需要投入如使用常规技术的情况下那样的单次定制解决方案所需的大量成本。因为可将该能力系统地集成到云服务的计算架构中,且因为该能力不要求专家为每个特定的客户组织的数据集和结构来定制解决方案,所以该扩展性使得节约了巨额成本,因而即便是财力有限的小型组织也能够受益于预测查询和潜在结构查询技术。具有财力资源的大型公司由于能够提供给它们的成本节约也可以从中受益,并且可以进一步受益于制定预测查询和潜在结构查询技术的能力,该技术能够进行比之前可行的利用常规技术多得多的查询。
下文更详细地描述了这些有益效果和其他有益效果以及更加具体的实施例。在下面的描述中,阐述了例如具体系统、语言、组件等示例的许多特定的细节,从而提供对各种实施例的全面理解。然而,对于本领域技术人员来说显而易见的是,不需要使用这些特定细节即可实施本文公开的实施例。在其他情况下,为了避免不必要地造成所公开的实施例不清楚,不对众所周知的材料或方法进行详述。
除了附图中所示且本文所述的各种硬件组件之外,实施例还包括下文所述的各种操作。根据这样的实施例所述的操作可以由硬件组件完成或者可以体现在机器可执行指令中,机器可执行指令可用于致使由这些指令编程的通用或专用处理器执行这些操作。或者,可以由硬件和软件的组合来执行这些操作。
实施例还涉及用于执行本文公开的操作的装置。该装置可以被专门地构造以用于所需的目的,或者该装置是由存储在计算机中的计算机程序选择性激活或者重新配置的通用计算机。这样的计算机程序可以存储在计算机可读存储介质中,例如,但不限于,包括软盘、光盘、CD-ROM和磁光盘的任何类型的盘、只读存储器(ROM)、随机访问存储器(RAM)、EPROM、EEPROM、磁卡或光卡、或者适用于存储电子指令的任何类型的介质,其中每个介质都耦合到计算机系统总线上。
本文所介绍的算法和显示在本质上与任何特殊计算机或其他装置无关。根据本文的教导,各种通用系统可以与各程序一同使用,或者可以方便地构建更专门化的装置来执行需要的方法步骤。在下文的描述中将提供许多种这些系统所需的结构。另外,并未参照任何特定的编程语言来描述实施例。应理解到,各种编程语言可用来实现本文所述的实施例的教导。
实施例可以被提供为计算机程序产品或软件,其可包括在其上存储有指令的机器可读介质,根据所公开的实施例,这些指令可用于给计算机系统(或者其他电子设备)编程以执行进程。计算机可读存储介质包括对采用机器(例如计算机)可读的形式的信息进行存储和传输的任何机制。例如,机器可读(例如计算机可读)介质包括机器(例如计算机)可读存储介质(例如,只读存储器(“ROM”)、随机存取存储器(“RAM”)、磁盘存储介质、光存储介质、闪存设备等)、机器(例如计算机)可读传输介质(电学、光学、声学)等。
所公开的实施例中的任何一个可单独使用或者彼此结合使用。虽然各种实施例首先部分地受到常规技术和手段造成的缺陷的激励,在说明书内描述或提到了这些常规技术和手段中的一些,但是实施例不是必须克服或解决这些缺陷中的任何一个,而是可以仅克服缺陷中的一些、并不克服这些缺陷中的任何一个、或者克服并未直接论述的不同缺陷和问题。
在一个实施例中,在一个多租户数据系统中的用于预测查询和潜在结构查询的实现和使用的装置执行计算设备、计算系统或计算架构中的应用,其中,使得该应用能够通过公共互联网与例如远程客户机之类的远程计算设备通信,从而建立基于计算的云服务,其中,客户端使用实现预测和潜在结构查询以及使用能力的远程应用的功能。
图1描绘了根据所描述的实施例的示例性架构100。
在一个实施例中,生产环境111通过主机组织110与多个客户端设备106A-C通信地介接。在一个实施例中,多租户数据库系统130包括相关数据存储器155,例如,用以代表客户组织105A-C或用户存储数据集。多租户数据库系统130进一步存储预测查询索引150,例如,预测查询索引150由用户和客户组织105A-C所提供、用户和客户组织105A-C所指定或代表用户和客户组织105A-C存储的数据集生成。
多租户数据库系统130包括实现数据库功能和主机组织110内的代码执行环境的多个基础硬件、软件和逻辑元件120。根据一个实施例,多租户数据库系统130实现无关数据存储器,并且单独地实现存储预测查询索引150的预测数据库。多租户数据库系统1230的硬件、软件和逻辑元件120与多个客户组织(105A、105B和105C)分开且不同,所述多个客户组织通过经由网络125与主机组织110通信地介接而使用由主机组织110提供的服务。以此方式,主机组织110可以实现订阅客户组织105A-C的按需式服务、按需式数据库服务或者按需式云计算服务。
主机组织110通过网络125(例如公共互联网)接收来自多个客户组织105A-C的输入和其他请求115。例如,可以从客户组织105A-C接收输入PreQL查询、预测查询、API请求或者其他输入以针对多租户数据库系统130进行处理。
在一个实施例中,每个客户组织105A-C是选自由以下各物组成的组的实体:单独且不同的远程组织、在主机组织110内的组织组、主机组织110的商业伙伴或订购了由主机组织110提供的云计算服务的客户组织105A-C。
在一个实施例中,在主机组织110内的网络服务器175处接收请求115,或将请求115提交给主机组织110内的网络服务器175。主机组织110可接收由主机组织110及其多租户数据库系统130进行处理的多种请求。在网络服务器175处接收的传入请求115可指定要提供主机组织110的哪些服务,例如查询请求、搜索请求、状态请求、数据库事务、代表客户组织105A-C中的一者进行检索、更新或存储数据的处理请求等。网络服务器175可以负责通过网络125接收来自各种客户组织105A-C的请求115,并且向终端用户客户端设备106A-C或者发起这样的数据请求115的机器提供基于Web的接口。
查询接口180提供功能以将查询从网络服务器175传送到多租户数据库系统130中,以便针对预测查询索引150或关系数据存储155进行执行。在一个实施例中,查询接口180实现PreQL应用程序编程接口(API)或JavaScript对象表示法(JSON)API接口,通过上述接口可以针对预测查询索引150或关系数据存储155执行查询。例如,代表其他具有足以构建查询或PreQL查询的信息但仍缺少实际构造查询语法的必要逻辑的功能,查询优化器160执行查询转换和优化。分析引擎185进行操作以根据表格数据集或由用户提供或指定的其他数据来生成用于预测查询的可查询索引。
主机组织110可以经由网络服务器175来实现请求接口176,或者将请求接口176实现为独立接口,以从客户端设备106A-C接收请求包或其他请求115。请求接口176进一步支持在从主机组织110到客户端设备106A-C的输出方向上返回响应包或其他应答和响应116。根据一个实施例,查询接口180实现的PreQL API接口和/或JSONAPI接口具有专门的功能以针对多租户数据库系统130的数据库,例如在元素150处的预测查询的索引,执行PreQL查询或其他预测查询。例如,查询接口180可以操作以通过发出API调用来查询主机组织110内的预测数据库,以实现来自客户端设备106A-C的这样的请求115,该API调用具有PreQL构造的查询项,例如“预测”、“相关”、“相似”和“组”。同样可以使用“上传”和“分析”的API调用,以便上传新的数据集或者将数据集定义到预测数据库1350,并触发分析引擎185,来实例化对这种数据的分析,这接着又生成了支持这种查询的可查询索引。
图2示出了其中可使用按需式数据库服务的环境210的实例的方框图。环境210可包括用户系统212、网络214、系统216、处理器系统217、应用平台218、网络接口220、租户数据存储器222、系统数据存储器224、程序代码226和处理空间228。在其他实施例中,环境210可不具有所有的所列举组件,和/或除上文所列举的之外或作为替代,可具有其他组件。
环境210是存在按需式数据服务的环境。用户系统212可以是用户用来访问数据库用户系统的任何机器或系统。例如,任何用户系统212可以是手持计算设备、移动电话、膝上型计算机、工作站和/或计算设备的网络。如图2(且在图3中更详细)所示,用户系统212可经由网络214与按需式数据库服务交互,所述按需式数据库服务是系统216。
按需式数据库服务,例如系统216,是这样的数据库系统,它使得无需致力于建立或维持数据库系统的外部用户可用,而可替换地,在用户需要数据库系统(例如有需求用户)时,则可允许他们使用。一些按需式数据库服务可以将所存储的来自一个或多个租户的信息存储到公用数据库图像的表格中,以形成多租户数据库系统(MTS)。因此,本文中“按需式数据库服务216”和“系统216”可以互换使用。数据库图像可以包括一个或多个数据库对象。关系数据库管理系统(RDMS)或等同物可执行存储和检索针对数据库对象的信息。应用平台218可以是允许运行系统216的应用(例如硬件和/软件)的框架,例如操作系统。在一个实施例中,按需式数据库服务216可包括应用平台218,该平台能够创建、管理并执行一个或多个应用,一个或多个应用是由按需式数据库服务的提供商、经由用户系统212访问按需式数据库服务的用户、或经由用户系统212访问按需式数据库服务的第三方开发者开发的。
用户系统212的用户可在他们各自的能力方面有所不同,且特定用户系统212的能力可完全由给予当前用户的权限(权限等级)来确定。例如,若销售员正使用特定用户系统212与系统216交互时,该用户系统具有分配给该销售员的能力。然而,在管理员正在使用该用户系统212与系统216交互时,该用户系统具有分配给该管理员的能力。在具有等级角色模型的系统中,某一权限级别的用户可以访问由较低权限级别用户可访问的应用、数据和数据库信息,但不可以访问由较高权限级别用户可访问的某些应用、数据库信息和数据。因此,就访问和修正应用程序和数据库信息而言,不同用户具有不同能力,这取决于用户的安全性或权限级别。
网络214是彼此通信的装置的任何网络或网络的组合。例如,网络214可以是以下各项中的任何一个或它们的任何组合:LAN(本地局域网)、WAN(广域网)、电话网络、无线网络、点对点网络、星型网络、令牌环网、枢纽网络(hub network)或其他合适配置。因为当前使用的最常见类型的计算机网络是TCP/IP(传输控制协议和网际协议)网络,例如通常称为互联网(Internet,该英文单词的首字母“I”大写)的网络全球互联网络,该网络将在本文的多个实例中使用。然而,可以理解,虽然TCP/IP是频繁应用的通信协议,但要求保护的实施例可以使用的网络并不受限于此。
用户系统212可使用TCP/IP与系统216通信,并且在较高网络级使用其他公用互联网协议,例如HTTP、FTP、AFS、WAP等进行通信。在使用HTTP的实例中,用户系统212可包括通常称为“浏览器”的HTTP客户端,用于将HTTP消息发送到位于系统216处的HTTP服务器或从该HTTP服务器接收消息。这样的HTTP服务器可实现为在系统216和网络214之间的单个网路接口,但是,其他技术也可以使用或作为代替。在一些实施方案中,系统216和网络214之间的接口包括加载共享功能,例如循环(round-robin)HTTP请求分布器,用于平衡加载并将输入HTTP请求均匀地分布在多个服务器上。至少对于正在访问该服务器的用户来说,多个服务器的每一个均访问MTS的数据;然而,作为代替,可以使用其他替换配置。
在一个实施例中,如图2所示的系统216实现基于网络的客户关系管理(CRM)系统。例如,在一个实施例中,系统216包括应用服务器,该应用服务器配置成实现并执行CRM软件应用以及将相关的数据、代码、表单、网页和其他信息提供给用户系统212和从用户系统212提供相关的数据、代码、表单、网页和其他信息,并且将这些相关的数据、对象和网页内容存储到数据库系统并从该数据库系统检索相关的数据、对象和网页内容。对于多租户系统,可将用于多租户的数据存储在相同的物理数据库对象中,然而,租户数据通常配置成使得一个租户的数据与其他租户的数据保持逻辑上分开,以便一个租户不能访问另一个租户的数据,除非该数据是明确共享的。在某些实施例中,系统216实现不同于CRM应用或除CRM应用之外的应用。例如,系统216可以让租户访问多托管(标准和自定义)应用,多托管应用包括CRM应用。可包括或可不包括CRM的用户(或第三方开发者)应用可以由应用平台218支持,应用平台218管理创建应用、将应用存储到一个或多个数据库对象中、以及在系统216的处理空间中的虚拟机中执行应用。
图2中所示的系统216的元件的一个配置,包括网络接口220、应用平台218、用于租户数据223的租户数据存储器222、用于系统216及可能的多租户可访问的系统数据225的系统数据存储器224、用于实现系统216的各功能的程序代码226、以及用于执行MTS系统进程和租户特定进程的处理空间228,例如作为应用托管服务的一部分的运行应用。系统216上可以执行的其他进程包括数据库索引进程。
图2中所示的系统中的几个元件包括在此仅作简要解释的常规公知元件。例如,每个用户系统212可以包括台式个人计算机、工作站、膝上型计算机、PDA、蜂窝电话或任何无线访问协议(WAP)启用的设备或能够与互联网或其他网络连接直接或间接介接的其他的任何计算设备。用户系统212通常运行HTTP客户端,例如浏览程序,如微软的IE浏览器(Microsoft’s Internet Explorer browser)、Mozilla或Firefox浏览器、Opera,或者在智能手机、平板、PDA或其他无线设备情况下的WAP启用浏览器或类似物,允许用户系统212的用户(例如多租户数据库系统的订户)通过网络214从系统216进行访问、处理并且查看对其可用的信息、页面和应用。每一用户系统212通常还包括一个或多个用户接口设备,例如键盘、鼠标、跟踪球、触摸板、触摸屏、笔或类似物,用于与浏览器在显示器(例如监视器屏幕、LCD显示器等)上提供的图形用户接口(GUI)以及系统216或其他系统或服务器提供的页面、表单、应用和其他信息交互。例如,用户接口设备可以用来访问系统216托管的数据和应用并且对存储的数据执行搜索,以及以其他方式允许用户与可以呈现给用户的各种GUI页面交互。如上所述,实施例适合于和互联网一起使用,互联网指网络的特定全球互联网络。然而,应当理解,也可以使用其他网络来替代互联网,例如内联网、外联网、虚拟专用网络(VPN)、基于非TCP/IP的网络、任何LAN或WAN或类似物。
根据一个实施例,通过使用如浏览器的应用,每一用户系统212及其全部组件是操作者可配置的,例如浏览器的应用包括使用中央处理单元(例如处理器或类似物)来运行的计算机代码。类似地,通过使用包括计算机代码的应用,系统216(和MTS的其他实例,其中呈现了多于一个的实例)及其全部组件可能是操作者可配置的,该计算机代码使用中央处理单元(例如处理器系统217,其可以包括处理器或类似物、和/或多处理器单元)来运行。
根据一个实施例,每一系统216配置为将网页、表单、应用、数据和介质内容提供给用户(客户端)系统212以支持用户系统212作为系统216的租户进行访问。同样,系统216提供安全机制来保持每一租户的数据隔离,除非该数据是共享的。如果使用多于一个MTS,则可将这些MTS定位成彼此靠近(例如,位于单个建筑或园区中的服务器机群中),或者可将它们分布在彼此远离的位置处(例如,一个或多个服务器位于城市A,而一个或多个服务器位于城市B)。如本文所使用,每一MTS可以包括一个或多个逻辑上和/或物理上连接的服务器,其本地分布或跨越一个或多个地理位置分布。另外,本领域公知的是,术语“服务器”意味着包括计算机系统、关联的存储系统及数据库应用(例如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或JSONAPI)、PL/SOQL334、保存例程336、应用建立机制338、应用服务器3001至300N、系统进程空间302、租户进程空间304、租户管理进程空间310、租户存储器区域312、用户存储器314和应用元数据316。在其他实施例中,环境210可以不具有如上面所列举的相同元件,和/或可以具有替代上面所列举元件或除上面所列举元件的之外的其他元件。
用户系统212、网络214、系统216、租户数据存储器222以及系统数据存储器224在上面图2中进行了讨论。如图3所示,系统216可以包括(图2的)网络接口220,网络接口220被实现为HTTP应用服务器300、应用平台218、租户数据存储器222和系统数据存储器224的集合。还示出了系统进程空间302,其包括单独的租户进程空间304和租户管理进程空间310。每一应用服务器300可以配置为租户数据存储器222和其中的租户数据223,以及系统数据存储器224和其中的系统数据225,以服务用户系统212的请求。租户数据223可能被划分成单独的租户存储区域312,租户存储区域312可以是数据的物理布置和/或逻辑布置中的任一个。在每一租户存储器区域312内,对于每一用户可同样地或类似地分配用户存储器314和应用元数据316。例如,可将用户最近使用(MRU)项的副本存储到用户存储器314。同样地,可将整个组织(即租户)最近使用项的副本存储到租户存储器区域312。UI330提供用户接口,且API332(例如PreQL或JSONAPI)将系统216驻留进程的应用程序编程接口提供给用户系统212的用户和/或开发者。租户数据和系统数据可以存储在各种数据库中,例如一个或多个OracleTM数据库。
应用平台218包括支持应用开发者的应用创建和管理的应用建立机制338,所述应用可以通过保存例程336作为元数据保存在租户数据存储器222中,以例如作为由租户管理进程空间310管理的一个或多个租户进程空间304来由订户执行。对这些应用的调用可以使用PL/SOQL334进行编码,PL/SOQL334向API332(例如PreQL或JSON API)提供编程语言风格接口扩展。对应用的调用可以通过一个或多个系统进程来检测,所述一个或多个系统进程管理为发出该调用的订户进行的应用元数据316的检索,并在虚拟机中作为应用执行该元数据。
每一应用服务器300都可经由不同的网络连接被通信地耦合至数据库系统,例如,访问系统数据225和租户数据223。例如,一个应用服务器3001可以经由网络214(如互联网)来耦合,另一应用服务器300N-1可经由直接网络链接来耦合,而又一应用服务器300N可经由又一个不同的网络连接来耦合。传输控制协议和网际协议(TCP/IP)是应用服务器300和数据库系统之间通信的典型协议。但是,对于本领域普通技术人员显而易见的是,根据所使用的网络互联也可使用其他传输协议来使系统最优化。
在某些实施例中,每一应用服务器300都配置为处理与任何组织(即租户)相关联的任何用户的请求。由于理想的是能够以任何理由在任何时间在服务器池中添加应用服务器以及从服务器池删除应用服务器,因此优选的是用户和/或组织对特定的应用服务器300没有服务器关联性。在一个实施例中,因此,实现负载平衡功能的接口系统(例如,F5Big-IP负载平衡器)可通信地耦合在应用服务器300和用户系统212之间,以向应用服务器300分配请求。在一个实施例中,负载平衡器使用最少连接算法将用户请求路由至应用服务器300。也可以使用负载平衡算法的其他实例,例如,循环法(round robin)和观察到的响应时间。例如,在某些实施例中,来自相同用户的三个连续请求可到达三个不同的应用服务器300,以及来自不同用户的三个请求可到达相同的应用服务器300。以这样的方式,系统216是多租户的,其中系统216处理对不同的用户和组织之间的不同对象、数据和应用的存储以及访问。
以存储为例,一个租户可能是公司,公司雇用销售队伍,其中每个销售员使用系统216来管理他们的销售过程。因此,用户能够维护联系人数据、引导数据、客户跟进数据、绩效数据、目标和进度数据等,这些数据都可用于(例如,在租户数据存储器222中的)该用户的个人销售进程。在MTS布置的实例中,由于所有的可访问、浏览、修改、报告、传输、计算等的数据和应用都可以由仅具有网络接入的用户系统维护和访问,所以用户可以从许多不同用户系统中的任何一个系统管理他/她的销售工作量和周期。例如,如果销售人员正在拜访客户而且客户在其会客室中有网络接入,该销售人员可以在等待该客户到达会客室的同时获得关于该客户的关键更新。
虽然不管每个用户的雇员是谁,每个用户的数据可与其他用户的数据分开,但是一些数据可为由给定组织(即租户)的多个用户或全部用户在组织范围内数据共享或可访问。因此,可以具有一些由系统216管理的数据结构,这些数据结构在租户级进行分配,而其他数据结构可以在用户级进行管理。由于MTS可支持包括可能的竞争对手的多个租户,因此MTS可以具有保持数据、应用程序和应用程序的使用独立的安全协议。而且,由于许多租户可以选择访问MTS而不是维护他们自己的系统,因此冗余、可运用时间和备份为可在MTS中实施的附加功能。除了特定的用户数据和特定的租户数据之外,系统216也可以维护由多个租户可使用的系统级数据或其他数据。该系统级数据可以包括可在租户间共享的行业报告、新闻、公告等。
在某些实施例中,用户系统212(其可以是客户端系统)与应用服务器300通信以请求并更新系统216中的系统级和租户级数据,这可能需要将一个或多个查询发送至租户数据存储器222和/或系统数据存储器224。系统216(例如,系统216中的应用服务器300)自动生成一个或多个SQL语句或PreQL语句(例如,分别生成一个或多个SQL或PreQL查询),这些语句设计成对所需信息进行访问。系统数据存储器224可以生成查询计划以从数据库中访问所请求的数据。
每一数据库通常可以视为对象的集合,例如一组逻辑表的集合,对象的集合包含符合预定义类别中的数据。“表”是数据对象的一种表示法,并且本文可使用表来简化对象的概念描述和本文所述的自定义对象。应当理解的是,本文可以互换地使用“表”和“对象”。每个表通常包含一种或多种数据类别,将数据类别以可视的图式合逻辑地排列为列或字段。表的每一行或每一记录包含由字段所定义的每一类别的数据实例。例如,CRM数据库可包括使用基本联系信息的字段描述客户的表,基本联系信息例如姓名、地址、电话号码、传真号码等等。另一个表可描述订购单,其包括例如客户、产品、售价、日期等信息的字段。在一些多租户数据库系统中,可提供标准实体表以供所有租户使用。对于CRM数据库应用,这样的标准实体可包括账户、联系人、线索(Lead)和机会数据的表,每一个都包含预定义字段。应当理解的是,本文词语“实体”也可以与“对象”和“表”互换地使用。
在一些多租户数据库系统中,可允许租户创建并存储自定义对象,或者可以允许他们例如通过对标准对象创建自定义字段(包括自定义索引字段)来定制标准实体或对象。在某些实施例中,例如,所有的自定义实体数据行都存储在单个多租户物理表中,对于每个组织该表可包含多个逻辑表。如果客户的多个“表“实际上被存储在一个大表中,或者可将他们的数据存储在与其他客户的数据相同的表中,则对客户而言是显而易见的。
图4示出了根据一个实施例的为计算机系统的示例性形式的机器400的图示,机器400中可以执行一组指令,该组指令用于使机器/计算机系统400执行任何一种或多种本文所讨论的方法。在替换实施例中,可以将机器连接(例如,联网)至局域网(LAN)、内联网、外联网或公共网络中的其他机器。机器可以在客户端服务器网络环境中作为服务器或客户端机器来操作,在点对点(或分布式)网络环境中作为对等机器来操作,在按需式服务环境内作为服务器或一系列服务器来操作。机器的某些实施例可以为以下形式:个人计算机(PC)、平板PC、机顶盒(STB)、个人数字助理(PDA)、蜂窝电话、Web设备、服务器、网络路由器、交换器或桥接器、计算系统、或能够执行一组(有序的或另外形式的)指令的任何机器,该组指令指定该机器将要进行的动作。此外,虽然仅示出了单个机器,但术语“机器“也应认为包括机器(例如计算机)的任何集合,其单独或联合执行一组(或多组)指令以执行任何一种或多种本文所讨论的方法。
示例性计算机系统400包括处理器402、主存储器404(例如,只读存储器(ROM)、闪速存储器、动态随机存取存储器(DRAM)(如同步DRAM(SDRAM)或RambusDRAM(RDRAM)等)、静态存储器(如闪速存储器、静态随机存取存储器(SRAM))、易失但高数据速率RAM等)和辅助存储器418(例如,包括硬盘驱动器和持久性数据库的持久性存储设备和/或多租户数据库实现),它们经由总线430相互通信。主存储器404包括所存储的索引424、分析引擎423和PreQL API425。主存储器404及其子元件联合处理逻辑426和处理器402可操作,以执行本文所讨论的方法。计算机系统400可以额外地或可替代地体现为如上所述的服务器端元件。
处理器402表示一种或多种通用处理设备,例如微处理器、中央处理单元等。更具体地,处理器402可以是复杂指令集计算(CISC)微处理器、精简指令集计算(RISC)微处理器、超长指令字(VLIW)微处理器、实现其他指令集的处理器、或实现指令集组合的处理器。处理器402也可以是一种或多种专用处理设备,例如专用集成电路(ASIC)、现场可编程门阵列(FPGA)、数字信号处理器(DSP)、网络处理器等。处理器402配置为执行处理逻辑426,处理逻辑426用于执行运算和本文所讨论的功能。
计算机系统400还可包括网络接口卡408。计算机系统400还可以包括用户接口410(例如视频显示单元、液晶显示器(LCD)、或阴极射线管(CRT))、字母数字输入设备412(例如键盘)、光标控制设备414(例如鼠标)以及信号产生设备416(例如集成的扬声器)。计算机系统400还可包括外围设备436(例如无线或有线通信设备、存储器设备、存储设备、音频处理设备、视频处理设备等)。
辅助存储器418可以包括非短暂性机器可读或计算机可读存储介质431,在该存储介质431上可以存储用于实现本文所述任何一个或多个方法或功能的一组或多组指令(例如软件422)。在计算机系统400执行软件422期间,软件422还可以完全地或至少部分地驻留在主存储器404内和/或处理器402内,主存储器404和处理器402还组成机器可读存储介质。可以进一步经由网络接口卡408通过网络420发送或接收软件422。
图5A示出了根据实施例的平板计算设备501和手持智能电话502,它们每个都有集成在其中的电路。如图所示,平板计算设备501和手持智能电话502中的每个根据所公开的实施例都包括触摸屏界面503和集成处理器504。
例如,在一个实施例中,系统体现为平板计算设备501或手持智能电话502,其中系统的显示单元包括平板或智能电话的触摸屏界面503,且进一步地,其中作为集成处理器而运行的存储器和集成电路结合到了平板或智能电话中,其中集成处理器实现本文所述的一个或多个实施例,用于将通过按需和/或多租户数据库系统实施的预测和潜在的结构查询实现(例如经由公共互联网提供云计算服务)用作订阅服务。在一个实施例中,上述集成电路或平板或智能电话的所述集成处理器是集成的硅处理器,集成的硅处理器用作平板计算设备或智能电话的中央处理单元(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,该功率管理550管理电池功率使用、电池充电,以及与功率节省操作相关的特征。存储器子系统560包括用于将信息存储在平板计算设备或智能手机中的存储设备。连通570包括平板计算设备或智能手机用于与外部设备通信的硬件设备(例如,无线和/或有线连接器和通信硬件)和软件组件(例如驱动器、协议栈)。例如,蜂窝连通572可包括无线载体,比如GSM(全球移动通信系统)、CDMA(码分多址)、TDM(时分多路复用),或其他蜂窝服务标准)。例如,无线连通574可包括非蜂窝的活动单元,例如个人区域网络(例如蓝牙)、局域网(例如WiFi)和/或广域网(例如WiMax),或其他无线通信。
外围连接580包括硬件接口和连接器,以及软件组件(例如驱动器、协议栈),它们使得外围连接作为到达其他计算设备的外围设备(“到达”582),也具有连接到平板计算设备或智能手机(例如,包括连接其他计算设备的“对接”连接器)的外围设备(“从”584)。外围连接580包括普通的或基于标准的连接器,如通用串行总线(USB)连接器、包括微型显示端口(MDP)的显示端口、高清晰度多介质接口(HDMI)、火线等。
图6描述了用于概率建模的简化流程。概率建模需要一系列选择和假设。例如,可以用易处理性来平衡保真度和清晰度。假设限定结果空间,该空间可被认为是假说,并且从建模的角度看,实际上发生了其中一个可能的假说。
例如,概率建模流程在元素601处描述了假设,这些假设平衡现有知识605。该流程前进到元素602,在元素602处有假设空间,该假设空间限定可能的结果的空间606。该概率建模流程前进到元素603,元素603导致基于学习607的隐藏结构,学习607是由限定的可能的结果的空间606推导出的。然后该流程前进到元素604,在元素604处通过收集来自可用源的信息608来利用观测到的数据,该信息随后循环回到元素607处的学习以递归地更好地告知该概率模型。
603处的隐藏结构用于生成数据。该隐藏结构603和得到的生成的数据可以被认为是生成性视图。学习607使用可用的信息源和关于隐藏结构的推断,其可包括某些建模假设(“先验(prior)”)以及观测到的数据(“似然性”),其中结合利用该先验假设和相似性可以得出结论(“后验(posterior)”)。
这样的假设产生假设空间,并另外提供了一种方法,给定实际观测到的数据,通过该方法可以给这样的假说指派概率,从而得到假说的概率分布。
由分析引擎实现以生成可查询索引的模型假设,在给定一些数据的情况下限定假设空间以及用于给每一假说指派概率的配方(recipe)。因此得到概率分布,在该概率分布中每个假说都是一个结果,对于该概率分布可以有多种可用的和可能的结果,每一种结果有不同的概率。也可以有非常多的假说,并且找到其中最好的假设来解释数据不是简单直接的或显而易见的命题。
概率推理因此提出了这样的问题:如何通过可用的假说的空间来搜索寻找对手头的数据给出最好解释的假说。本文所述的分析引擎实现一系列的方法,包括直接解算数学的功能、平衡优化以得到假说的空间的峰值的功能,以及通过假说的空间来实现随机游走的功能。
该概率建模作出假设601,并且使用这些假设限定假设空间602。给定观测到的数据,给假说指派概率,并且然后使用推理来找出那些解释性的假说中的哪些是合理的以及哪一个是最好的。
图7示出了可在其上执行随机游走的示例性景观。该领域的专家对于如何选择最佳假说未达成一致,但仍有若干青睐的方法。在简单情况下,功能性可以直接使用数学来求解方程。其他优化方法,例如爬山法及其相关物,也是流行的。在某些所描述的实施例中,分析引擎利用蒙特卡罗法,其中在整个假设空间上进行随机游走。随机并不意味着漫无目标、方向或目的的低效的或愚蠢的导航。事实上,有效地导航这些巨大空间是分析引擎用来改善随机游走所走的路径的创新之一。
考虑假设空间703的景观,在整个假设空间703上可执行随机游走,其中每个轴线在假设空间703中都是一个维度。在元素701的纵轴上示出隐藏值2,在元素702的横轴上示出隐藏值1。实际空间可以具有多个维度,为了简洁起见,这里示出远不止两个维度。根据随机游走方法所形成的表面高度是隐藏变量、给定数据和建模假设的概率。
通过在某个地方、任何地方采用随机步伐开始探测,并且如果该步伐较高则其被保持,但如果该步伐较低,则其有时保持而其他时候并不保持,相反地选择保持固定不动。由于保证了与真实概率值成比例地探测空间,此结果极为有用。在长时间运行中,可从所提供实例中看见两个峰值结果,各与每一提供的维度(例如,在所示两个轴上的701和702)相对应。相反地,简单的爬山将被困在一个山的山顶处,从而无法产生不同的峰值。因此此种方法探索整个假设空间,而传统的技术则不能。其他创新包括关于跳转的新增智能以及一次探测一个或多个维度的功能性。
图8描绘了一个示例性表格数据集。通过表格数据,每行包含关于一个特定实体的信息,且多行中的每一行是彼此独立的。每列包含单一类型的信息,并且这种数据可以数据归类为例如数字的,范畴的(categorical),布尔的等。可以在表内混合和匹配列类型,并且在整列之内的所有单元格或字段之间,被应用或指派给任何给定列的数据类型是统一的,但一列的数据类型并不限制其他的列的任何特定的数据类型。因此,此种表格数据对于提供表格数据集的关系数据库的单一数据库表来说是一个很好的匹配。所述表格数据对于“R”中的数据帧来说也是很好的匹配。
在示出的示例性表格中,元素802形成实体,各行中的每行为哺乳动物,且在元素801处,各列中的每列为描述哺乳动物的特性、特点或变量。大部分列的数据归类为布尔型,而有些是范畴性的。
注意元素804描述了观测到的单元格,即,与元素803形成对比,给该观测到的单元格提供数据,单元格803为未观测到的单元格,对于未观测到的单元格没有数据可用。该未观测到的单元格803因此是空值,然而观测到的单元格有数据填充在字段中,无论该数据是布尔的、范畴的、一个值、枚举元素或适于所述列的数据类型的任何事物。所有示出为白色或空白的单元格是未观测到的单元格。
一种维度共同指派矩阵,其中:Cij=Pr[zi=zj]导致这样的概率,其中维度i和j共享共同原因,并因此由相同的狄里克雷(Dirichlet)过程混合来建模。标记显示了一致的维度组(概率>0:75)。这些反映具有相同原因并且因此协同变化的属性,而矩阵的剩余部分捕捉了这些已发现原因之间的相关性,例如,哺乳动物很少具有羽毛或飞行、有蹄类动物不是捕食者等等。每个维度组选出各行的不同横切分类(例如脊椎动物、鸟类、犬科动物等)。
图9描绘一种方案,其用于推导在观测到的数据之间的动机或因果关系,所述观测数据为例如在图8以表格形式提供的数据。在关于哺乳动物和它们的特性的示例性数据中,可以预期,一些因果关系可以适当地被推导出。相反,如果该表格数据被修改使得提供茶在中国的价格,那么这种数据尽管存在且能观测到,直观上却不以任何方式帮助或损害基于所观察数据关于哺乳动物做出的结果预测。这种无关数据(extraneous data)(例如,在描述哺乳动物的表格内的茶在中国的价格)表示噪声并且需要被接纳,因为真实世界数据是非常嘈杂并且构造很差。该分析引擎需要找到其预测的合适的动机以及不被嘈杂的无关数据所误导,尽管这样的无关数据是在所提供的数据集内实际“观测到的”。真实数据根本不纯净,因而提出了一个非常实际的问题,是否要使用一种呈递适当预测的可扩展解决方案,而不需要为呈现的每种和每一数据集手动开发的定制解决方案。因此,该分析引擎必须采用模型,该模型理解:有些数据对于给定的假设或预测的关系完全是无关紧要的。例如,一些列可能没有关系,或某些列可能携带冗余信息。因此,一些列是预测性相关的,并且因此可被分组在一起,而其他是非预测性相关的并且依其本身而被单独分组。这些列的组被称为“视图(views)”。
描绘了两个截然不同的视图。单元格905处的视图1产生于偶然进程1(单元格903),单元格906处的视图2产生于偶然进程2(单元格904)。在每个视图905和906中,这些行被分组成类别。如图所示,视图1对应于单元格907、908和909处的特征1至3,并且视图2对应于单元格910和911处的特征4至5。与实例中提供的、图8描绘的表格数据集的列对应的相应视图的每一个“特征”,定义关于列出为实体(例如,行)的相应哺乳动物的特性、变量或特征。
然后在单元格901和902处描绘实体1至2,并且接着在这些视图内描绘了相应单元格或字段值。值得注意的是,该分析引擎已经识别了两列分组,具体地为在单元格905和906处的视图1和视图2,且因此,可识别不同的调整为适合于特定的视图预测关系。
图10A进一步详细地描绘一种示例的交叉分类。利用交叉分类,列/特征被分组成视图,并且行/实体被分组成类别。在此描绘了视图1至3,其中,单元格1001处的视图1有12个特征,单元格1002处的视图2有10个特征,单元格1003处的视图3有8个特征。再次,相应视图的特征对应于所提供的表格数据集的列。在视图1(单元格1001)处可以看出,三个实体被提供在该视图的三个不同类别中。单元格1005和1006处的实体1和2都在视图1的最顶部类别内,单元格1007处的实体3在中间类别内,并且没有具体列出的实体(例如,行)出现在底部类别内。涂黑行表示实体1至3(1005、1006、1007),并在视图2(单元格1002)处可以看出,布置变换。在视图2处,仅有10个特征和仅仅一个类别,该类别具有全部三个所列出的实体(行)1005、1006和1007。然后移到单元格1003处的视图3,有四个类别,并且三个涂黑实体(行)1005、1006、1007的每一个位于不同类别内。
元素1004提供视图3的放大的描绘,其与单元格1003相同但用附加的细节进行描绘。在元素1004处可以看出,这些类别中的每一个具有多个实体,每个实体都具有对应于由元素1004处视图3的类别实际列出的列的表中的单元格值的实际数据点。例如,类别1总共具有16个实体,类别2具有8个实体,类别3具有4个实体,以及类别4具有两个实体。然后将类别3进一步放大,使得能够被看出,哪些数据元素是观测到的单元格1008(用“X”标记)以及哪些是未观测到的单元格1009(例如,表示空值、缺失数据、未知数据等的空白)。
单交叉分类是将表格数据的表格或数据集进行切片和切块的一种特殊方式。首先按列然后按行,提供一种特定类型的处理以产生所需的结构化空间。给每一个交叉分类指派概率,从而引致概率分布。产生更多视图和更多分类的更复杂的交叉分类是可行的,但本身和实际上是不太可能的并且因此通常仅当基础数据真正支持它们时才被授权。支持更复杂的交叉分类,但默认情况下不使用。
使用群集技术的概率建模包括在狄利克雷过程混合模型中的推理,当由完全不同的群集对不同的维度进行最好地说明时存在困难。然而,本文所描述的分析引擎的实施例通过推理方法克服这样的困难,该方法自动发现需用于解释数据的独立非参数贝叶斯模型的数量,针对维度的推断分区中的每个组,使用单独的狄利克雷过程混合模型。不同于狄利克雷过程混合(DP混合),所描述的实施方案对于异构数据阵列(样本)的行和列(新的维度)两者是可交换的,因此,由于样本和维度的数量均趋向无穷,可以建模任何数据集。通过使用所述的算法改进效率和鲁棒性,该算法在某些情况下无需预处理即可识别在原始数据集提供的真实因果结构。
群集技术被广泛应用于针对产业细分的问题的数据分析、科学中的探索性分析,以及作为预处理步骤来改善分布式计算和数据压缩中的进一步处理的性能。然而,若非完全可行,随着数据集变得更大并且噪声也更大,对于单个群集或群集的分布可导致观测中的可变性的假设变得不太现实。
从机器学习的角度来看,这是特征选择问题的无人监督版本:总体上测量的不同子集将引起数据的不同的自然群集。从认知科学和人工智能的角度来看,该问题反映在寻找数据的多种表示法,而不是单一的整体表示法的工作中。
作为一种限制性情况,鲁棒的群集方法能够忽略数量无限的均匀随机的测量或完全确定性的测量。单一的非参数模型必须说明所有维度的假设为狄利克雷过程混合常常遇到高维设置的精确度问题部分地负责。经由分类条件密度估算的基于狄利克雷过程混合的分类器突出该问题。例如,当判别分类器可以将低权重指派给有噪声的或确定性的和因而不相关的维度时,生成模型必须对它们进行说明。如果存在足够的不相关性,其忽略与过程中的分类相关的维度。这些困难与缓慢MCMC收敛相结合,禁止了在许多应用中使用非参数贝叶斯方法。
为了克服这些限制,根据MCMC推理将无监督交叉分类学习技术用于新颖的嵌套非参数贝叶斯模型中的群集。此模型可以看作是基于采样数据点或行的狄利克雷过程混合模型的基于维度或列的狄利克雷过程混合。以维度的分区为条件,分析引擎的模型缩小到DP混合的独立产品,但维度的分区,及因此独立非参数贝叶斯模型的数目和域也是从该数据推断出的。
标准特征选择导致在维度的分区仅具有两个组的情况。所描述的模型利用MCMC方法,因为由于潜变量的组合激增(combinatorial explosion)(随着维度分区变化,潜变量的数目也变化),不仅模型选择而且确定性近似似乎都难以处理。
由所描述的模型俘获的假设空间比狄利克雷进程混合的假设空间大数倍,具有非常不同于分层狄利克雷过程的结构。视为用于异构数据阵列模型(其具有N行、D列的固定类型并且值随机缺失)的生成过程可以描述如下:
1.对于每个维度d∈D:
(a)从适当的超先验(prior)产生超参数
(b)用超参数α(来自模糊超参数的α)由中餐馆过程产生用于维度d的模型分配zd。
2.对于维度分割{zd}中的每个组g:
(a)对于每个采样数据点(或行)r∈R,用超参数αg(αg来自模糊超参数)由中餐馆过程生成群集分配
(b)对于在该维度组的行分区中的每个群集c:
I.对于每个维度d,从合适的先验和生成组件模型参数
II.对于该组件(由于d∈D)中的每个数据单元格x(r,d),由适当的可能性和生成该数据单元格的值。
在概率理论中,中餐馆过程为离散时间随机过程,其值在任何正整数时间n时为集合{1、2、3……n}的分区Bn,该集合的概率分布如下确定:在时间n=1时,按概率1获得平凡分区{{1}},且在时间n+1时,元素n+1是以下两种情况之一:(a)添加到分区Bn的区块之一,其中每个区块按概率|b|/(n+1)选择,此处|b|为区块的大小,或者可选地(b)按概率1/(n+1)将其作为新的单一区块添加到分区Bn。在重新标记{1……n}没有改变分区的分布的意义上,如此生成的随机分区是可交换的,并且在如下的意义上:通过在时间n从随机分区移除要素n而得到的分区n-1的法则与在时间n-1的随机分区的法则是一样的,如此生成的随机分区是一致的。
模型编码了非常不同于中餐馆过程的印度自助餐过程(IBP)应用的归纳偏置,基于异构数据向量发现类别的独立系统与通常相加地组合的特征截然相反。这对于将该模型的渐近能力与狄利克雷过程混合的渐近能力对比也是有益的。当样本数趋于无穷时,狄利克雷过程混合具有任意大的渐近能力。换句话说,只要有足够数据,狄利克雷过程混合就能够在有限维向量上对任何分布建模。然而,如果维数(或特征)趋于无穷,则它不再是渐近地一致的。即,如果数据集的序列是通过从混合中采样第一个K1维度而产生并然后附加作为常数值(例如,中国茶的价格)的K2>>K1维度,则将最终不得不仅对那些维度建模,忽略第一个K1中的统计结构。相反,通过根据描述的实施例的分析引擎实现的模型,在样本数量以及维数方面都具有渐近能力,且关于两种数量是无限地可交换的。
因而,通过分析引擎实现的模型在所测量的变量子集上是自洽的(self-consistent),并因此对噪声、缺失以及无关测量或混杂的统计信号可具有相当大的鲁棒性。这在人口统计学设置和高通量生物学中是特别有用的,其中嘈杂的、或一致地协变(coherently co-varying)但正交的测量为范数(norm),并且其中每个数据向量来自现实世界的多个独立的生成过程。
通过分析引擎实现的算法和模型,其构建在用于概率程序的通用MCMC算法上,该概率程序每次迭代中随行数和列数线性扩展并包括基于所有超参数的推断。
图10B描绘了收敛性评价,其示出推断相对于真实事实,提供具有不同的数据集大小(达到512乘512,每个需要1至10分钟)和真实维度组的大于1000MCMC运行(每次200次迭代)的联合评分。绝大多数的点落在真实事实虚线附近,指示合理的收敛;没有期待完美的线性,部分原因是后期不确定性。
大规模并行实现探索了所描述模型的条件独立性。因为所描述的方法基本上是无参数的(例如,具有不当的统一超先验),对由多个相互作用原因产生的噪声和/或不相关测量是鲁棒的,并支持任何稀疏观察的、异构数据,它在可探索性数据分析中可广泛应用。此外,所利用的MCMC算法的性能表明,在维度上将潜在可变模型嵌入(nesting)狄利克雷过程的上述方法可用来生成各种各样非参数贝叶斯技术的鲁棒的快速收敛的横切的变体。
预测性和潜在结构查询能力以及关联的API利用预测性数据库,其找出数据背后的原因并使用这些原因来以此前尚不可用的高度自动的方式预测和解释未来,因此允许任何开发者对数据集进行科学问询,而不需要自定义编程,以及咨询数学家和其他这样的专家。这些原因通过潜在结构以及由分析引擎学习的关系来展示。
预测性和潜在结构查询能力通过搜索存在于数据集中的所有可能的关系的大量假设空间、使用先进的贝叶斯机器学习算法而起作用,从而为开发人员提供:在真实数据集的一个很宽的范围内无论如何无需人工参数调整下的技术推断性能和预测准确性的状态;非常大的数据集的可扩展性,其中包括具有数十万或数百万行或列的非常高维的数据;当数据或查询改变时,没有任何重新训练或调整的完全灵活的预测(例如,对于任何其他子集的给定的值,能够预测任何子集的列的值),重新训练或调整对于常规技术来说是必须的。预测性和潜在结构查询能力还提供与其预测相关联的不确定性的量化,因为该系统是围绕完全贝叶斯概率模型而建立的。例如,根据呈现的预测的质量,可向用户呈现信任指示符或产生的查询的评分、排名、排序等。
建立在预测性和潜在结构查询能力顶部的所述应用的范围从预测心脏疾病到了解医疗保健支出、再到评估商业机会和对可能性评分以成功“完成”这样的商业机会(例如,成功地完成销售、合同等)。
如前所述,真实数据存在的问题之一是不同类型的数据混合在一起往往是混乱的。例如,结构化和非结构化数据通常掺合在一起,数据可能很粗心地被更新,从而使数据有很多错误,数据元素(例如,单元格或字段值)经常缺失,这将造成空值或未知的数据点,且真实数据几乎总是缺乏文档编制并且因此不能得到很好地理解,即使已经收集并保持这样的数据的组织也不能得到很好的理解,并且因此该组织并没有从该数据最大地受益。数据的用户也可能测定错事,或者可能以十种不同的方式测定同样的事物。
出现这样的问题原因有很多。也许对于组织从来就没有DBA(数据库管理员),或者DBA离开了,并且从建成以后形成了十年的数据沉积层。或者负责数据录入和维护的个人简单地有通过自然的人类行为和错误而引起的错误。所有这些原因都是不同组织的生产数据库中的“真实”数据的很实际且常见的问题,这些生产数据库与可以在实验室或测试环境中发现的原始和小型数据集形成对比。
因此,产生可查询索引以支持预测性查询的本文所述的分析引擎必须容纳“真实”数据,由于这类数据实际上存在于自然环境中。该分析引擎使数据有意义,由于这样的数据存在于实际业务中,并且该分析引擎不需要原始数据集或符合数据样子看起来的理想化结构的数据。该分析引擎生成索引,可以就有关许多不同变量的许多不同的问题实时地查询这些索引。分析引擎能够了解这样的数据中的隐藏结构,即,哪些变量重要以及数据内的段或组是什么。同时,分析引擎产生的预测性关系是值得信赖的,即通过分析引擎使用的模型,可避免误导性和错误的关系及低预测性质量的预测。优选地,分析引擎没有揭示不正确的事物,并且不报告可能存在于第一个数据集或样本中的重像模式,但没有全部地拦截。用定制统计分析和定制预测模型是极其难以实现这种理想的特性的,并且在现今的市场可售的任何自动化系统中完全闻所未闻。
在做预测时,另外地让用户知道他们是否可以信任结果是有帮助的。也就是说,通过定量测量,例如置信度指示符、置信度评分、置信区间等,系统对结果有多大把握。有时,可能有必要使系统通过指示:“我不知道”而恰如其分地响应,而不是提供低置信度质量的预测结果或低于用户设定的最小信任阈值的结果。因此,该系统可以返回结果,该结果指示给用户答案为,例如,1或1和10之间或负无穷大和正无穷大之间,每个都定量地限定系统对结果的把握有多大。
通过概率,系统可以建议用户:例如,系统有90%的把握给出的回答是真实的、准确的和正确的,或可选择地,该系统可以返回结果,该结果表明系统简单地缺乏足够的数据,因此系统所知不足,不能作出预测。
根据某些实施方案,该分析引擎利用基于应用于表格数据的基本交叉分类(crosscategorization)建模的专门定制的概率模型。常规可用的交叉分类模型起头很好,但仍然可以被改进。例如,用常规可用的交叉分类模型,不可能运行方程。相反地,本文描述的该分析引擎的实施方案通过能够使这样的方程执行从而克服了现有技术的这种缺陷。另外,常规可用的交叉分类模型依赖于与所选择模型相匹配的数据来理解隐藏的结构,很像构建概率索引,但是证明要求将该模型匹配到待分析的特定数据集很复杂,使得这种常规的交叉分类模型的用户需要高等数学知识和概率论理解来选择和实施对于任何给定数据集的适当模型,从而使得外行人士完全不能实际地使用这种模型。如果可用的工具如此复杂,大部分人都不能使用,则不论存在性和有效性,该工具实际上对大部分人而言都不可得。
该分析引擎连同本文所描述的配套技术(例如,例如云计算接口和PreQL结构化查询语言)目的在于通过提供一种服务从而解决此问题,所述服务包括:分布式处理、作业调度、持久性、检查点(check-pointing)和用户友好型API或前端接口,所述API或前端接口接受经由PreQL查询结构提出的非专业用户的问题和查询,所述PreQL查询结构进而显著降低学习曲线并消除利用这些服务所必要的专门要求的知识。另外公开了其他专门的前端GUI和接口,来为用户解决特定使用案例,并且对复杂的概率问题提供其他的简单接口,由此甚至进一步降低那些特定使用案例的复杂度。
具体实现的使用案例的某些实例包括接口,该接口用以找到类似的实体,从而使得用户能够对数据集提出问题,例如:“哪些已解决的支持案例最像这个?”或者可替换地:“该当前机会类似于哪些先前赢得的销售机会?”从而,这样的接口使得用户能够查询他们自己的数据集,以得到答案,这些答案可以帮助他们基于过去类似的解决方案而解决当前问题,或基于具有与当前机会信息相似概率关系的过去获胜而赢得当前销售机会。
另外,具体使用案例的实施方案协助用户预测未知值。这可以用于从以其他方式填充的数据集中缺失的数据,例如空值,或用于预测仍在未来而不可知的值。例如,接口可以协助用户预测问题的答案和相关联的置信度或指示,所述问题例如“机会能赢得吗?”或者“如果取胜,这个机会将价值多少?”或者“本季度我将销售多少?”
其他使用情况可通过问问题从而帮助引导用户的决策和行为,所述问题例如“我接着应该做什么才能推动这个机会?”或者“我应该为该客户建议哪些附加产品?”这些工具可以是直接对销售人员有帮助的,而且也对销售经理和受销售过程影响的其他商业个体有帮助的。
值得注意的是,预测质量的指示可以随着对这类问题的预测或对缺失数据提供的简单预测值一起提供。预测质量的这些指示可被称为置信度评分、预测质量指示符以及其他名称,但一般来说,它们是一给定事件或值可能发生或可能为真的概率的一种反映。存在许多看法,但概率可被观察者描述为在过去、现在或将来关于对事件的信任度的语句。时序并不重要。因此,概率可被认为是一种信念语句,如下:“事件多大可能发生”或“值对于此数据集多大可能为真?”
需要概率,因为我们不能100%确定关于将会发生什么或者在某些情况下发生了什么,并且照此,预测是不确定的。那么,什么是不确定性?如上所述,观察者并不确切知道是否事件将发生,尽管有在已发生的、正在发生或将来要发生的这类事件中的信任度。
相对于知识或信息上下文来指派概率。不同的观察者可以有不同的知识,并且可以给同一事件指派不同的概率,或即使两个观察者具有相同的知识也指派不同的概率。本文中所用的概率,可以限定为“0”(零)和“1”(一)之间的数,其中0表示该事件在闭联集的一个极端上,一定不会发生,且其中1表示该事件在同一个闭联集的另一个极端上,一定会发生。这两种极端情况是令人关注的,因为它们表示没有不确定性。
概率将信任和一个事件连接起来。概率分布将信念和每一个可能的事件连接起来,或至少,用给定模型考虑每个事件。选择结果空间是一种重要的建模决策。空间的所有结果的综合是总的概率,其总数必须为“1”,也就是说,根据该模型结果之一必须发生。概率分布是简便的数学模型形式,其有助于在各种概率中概括系统的信念,但是选择标准分布是建模选择,其中所有模型是错误的,但有些是有用的。
例如,我们来考虑泊松分布,当某个事件可能在一段时间内出现0次或更多次时泊松分布是一个好的模型。结果空间是该事件发生的次数。泊松分布具有单一参数,通常是速率,也就是平均次数。泊松分布的数学形式具有一些良好的性质,例如,将所有非负整数的和限定为1。
标准分布是众所周知的,除了泊松分布还有许多实例。每个这样的标准分布包括某一特定组的假设,例如特定的结果空间,将概率指派结果的特定的方式等。如果你用它们工作,你就会开始理解为什么一些是好的,一些是令人失望的(即使对当前的问题不是直接有害的)。
但是分布可以更有吸引力。该分析引擎使用了具有特殊定制建模的超越标准分布的分布,由此允许一个更复杂的结果空间,从而进一步允许更复杂的给结果指派概率的方法。例如,混合分布结合了许多较简单的分布以生成更复杂的分布。可采用用来建很多种分布模的混合高斯曲线,同时依然给结果指派概率,得到更有关的数学关系。
用更复杂的结果空间,Mondrian过程定义了k维空间树的分布,从而提供用于分割正方形或立方体的方法。该结果空间由所有可能的树定义,结果产生为其过程据以命名的看起来像名画的划分。由此产生的结果空间比标准分布所提供的更加结构化。常规的交叉分类模型不使用Mondrian过程,但它们确实使用了结构化结果空间。本文所述的分析引擎在所选实施例中利用Mondrian处理。
不论所得结果空间多么复杂,该分析引擎能够总是给每一个在限定结果空间的结果指派有效概率,并且每个概率指派代表“信念”的等级程度或者根据如给定结果可能性的应用模型的分析引擎评估的概率质量,且其中所有可能空间结果的概率之和是“1”。
利用概率模型是因为它们允许计算机根据所使用的模型自动地和系统地“推理”,即便存在不确定性。概率是流动量,即使在信息是模糊的,或不确定的,或模棱两可时,通过它分析引擎可以系统方式将不同的信息来源结合达到可能的最佳答案,正如实际中经常出现的有真实数据源的情况。
另外,使用无限分类数据类型建模分类列,在数据集中未找到的新值可显示在这些分类列中。例如,用于数据库服务的大多销售机会将会取代若干常见的现有系统中的一个,如Oracle实现,但新机会可能会取代以前在数据中未看到的新系统。数据集内先前不存在新值并不意味着新值无效,并且因此,即使它是之前未看到的值,新值被允许进入具有有限容许值集合(例如,枚举集)的类型化的列。在建模方面,该系统做出以下推理:“当迄今为止已经看到少量无限分类数据类型的值时,未来不太可能看到新值”;“以及当迄今为止已经看到大量无限分类数据类型的值时,未来很有可能看到全新的值”。
图11描绘了贝尔数系列的图表1101和曲线图1102。贝尔数限定用于n个标记对象的分区的数目,如右边的曲线图1102所示,n个标记对象增长非常非常迅速。右边的图表1101中例示了若干对象。曲线图1102绘制n至200,导致1e+250或具有250个0的数。现在考虑在云计算多租户数据库系统中可用的大型数据集,该云计算多租户数据库系统可易于导致具有成千上万的列和数以百万计的行的相关数据集。这样的数据集将不仅仅导致如上所示的贝尔数,而是潜在的贝尔的“平方”,从而使我们牢牢进入对于人类智力和经验来说完全不可思议的进位制(scale of numbers)或数据的规模。
这些数字是如此巨大,因此在下文中考虑它们可能是有用的。曲线图1102底部附近的元素1103处的虚线代表目前由谷歌索引的网页的近似总量。谷歌只需要搜索到第17个贝尔数左右。然而,总空间是如此难以想象地巨大,因此不可能详尽无遗地探究它。此外,由于概率景观既庞大又崎岖,而非光滑或凹陷,蛮力处理不会起作用并且简单的爬山方法也是不够的。
图12A描绘了小型表格数据集的示例性交叉分类。此处,该示例性交叉分类由元素1201处的视图1和元素1202处的视图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中现在可以看到表格数据经过简化的交叉分类模型后的样子,如此处两个视图1201和1202所示。
右边的视图1202包括栖息地与摄食方式特征1204(列)和实体1203(行),视图1202分为四个类别1215-1218,分别是陆地哺乳动物(从波斯猫到斑马)、海洋捕食动物(从海豚到海象)、须鲸类(仅有蓝鲸和座头鲸)和离群两栖海狸(例如,在水陆都生存的;我们认为哺乳海狸没有鳃)。
左边的视图1201具有另一分类,其中灵长类动物为一组,大型哺乳动物为一组,食草动物为一组,以及底部的一对数据奇特的动物为一组(蝙蝠和海豹)。即使仅有小的数据集,也容易想到划分这些数据的不同方式。但是数据是有歧义的,并且现在没有完美或者明显正确的划分。对于所有看似正确匹配的分组,某些分组可能看起来笨拙或者不合适。应用各种模型及假设的系统化过程作出权衡和折衷,这也是专家无法在单个方法上达成共识的原因。然而,本文所述的装置使各种可用模型得以使用,从而可由分析引擎以人类专家根本无法达到的程度和规模系统地开发利用这些权衡和折衷。
例如,由分析引擎得到的结果并不限于单一的跨分类模型或细目分类(breakdown)。反而,采用了分类模型的集合,并且当一起使用时这样的集合有助于揭示数据的隐藏结构。例如,如果尽管使用了不同的分类模型,但所有得到的分类都是相同的,那么数据中根本不存在歧义。但这样的结果在实际数据中并不会发生,尽管在理论上是可能的。相反,如果所有得到的分类都完全不同,那么分析引擎在数据中没有发现任何结构,有时候会发生这样的情况,并因此在不确定时将需要得到一些额外的后处理,例如加入附加噪声。然而,一般,一些情况在中间发生,并且通过所选和所用的分类模型的集合的应用将一些感兴趣的隐藏结构从数据中展现给分析引擎。
专门自定义的跨分类实施方案体现了分析引擎的处理和逻辑核心,由于分析引擎的使用和复杂度,其有意向终端用户隐藏。用户不直接访问分析引擎核心,而是经由API,PreQL,JSON以及其他专门实用程序GUI和接口对不那么复杂的接口开放,例如,通过图1的元件180所示的查询接口所实现的接口。尽管有此来自分析引擎核心的抽象层,用户仍能够从所述的功能中获益,而无需具有数学和概率的高深专业的理解。
根据某些实施例,分析引擎在某些情况下通过采用蒙特卡罗方法还将推理和搜索应用到所开发的概率图景中。例如,如由Bell数所示例的,待导航的空间可以是非常庞大。因此,一种方法是在某个位置或任何位置简单地启动,然后在可用空间内的那个位置计算事件、结果或值的概率。接着,在空间内选择另一位置并再次计算概率。然后以迭代方式判定保持新位置还是通过比较概率保持较早发现的位置,并且然后循环以便发现新位置、计算概率、进行比较然后进行选择或丢弃等等,直到一定量的时间或处理过期或者直到获得充分质量的结果(例如,超过阈值的概率或置信度等)。
图12B描绘了根据所述实施例具有实现了的数据上传、处理和预测查询API公开的示例性体系结构。具体来说,示出了客户组织1205A、1205B和1205C,每个均具有客户端设备1206A、1206B和1206C,客户端设备能够经由网络1225与主机组织1210连接,其包括发送请求和接收响应。在主机组织1210内存在请求接口1276,请求接口1276可以可选地由网络服务器1275来实现。主机组织还包括处理器1281、存储器1282、API接口1280、分析引擎1285和多租户数据库系统1230。在多租户数据库系统1230内有执行硬件、软件和逻辑1220,执行硬件、软件和逻辑1220在多租户数据库系统1230的多个租户间共享,在多租户数据库系统1230内还有预测数据库1250,预测数据库1250能够存储由分析引擎生成的索引,以有助于响应于针对预测数据库1250所执行的预测查询或潜在结构查询,返回预测结果集合。
根据一个实施方案,主机组织1210运行系统1211,该系统中至少具有处理器1281和存储器1282,系统1211能够接收表格数据集作为输入,并能够根据本文所述的方法处理该数据集,然后执行接收到的针对储存在预测数据库1250中的索引所发出的预测查询请求和潜在结构查询请求。
根据一个实施例,具有在主机组织1210内运行的系统1211,该系统1211至少包括:处理器1281,其用于执行储存在系统1211的存储器1282中的指令;请求接口1276,其用于接收作为输入的表格形式的数据集1249,数据集1249具有多行和多列;分析引擎1285,其用于处理数据集1249并生成表示数据集1249行和列之间概率关系的索引1251;预测数据库1250,其用于储存生成的索引1251;请求接口1276,用于进一步接收针对储存在预测数据库1250中的索引所发出的预测查询和/或潜在结构查询1253的请求;应用程序接口(API)1280,其用于基于所述请求查询储存在预测数据库1250中的索引以得出预测结果集1252;在该系统中,请求接口1276用于根据接收到的请求返回预测结果集1252。
在一个实施方案中,这种系统1211还包括网络服务器1275,以实现请求接口1276。在这样一个实施方案中,网络服务器1275用于接收作为输入的来自多个客户组织1205A-C的一个或多个客户端设备1206A-C的访问请求,所述客户组织与主机组织1210通过网络1225通信地介接。根据这样的一个实施方案,系统1211还包括具有预测数据库功能的多租户数据库系统1230以实现预测数据库;而且,在这样的实施方案中,各客户组织1205A-C是选自包含以下各项的群集的实体:单独且不同的远程机构、在主机组织内的机构群、主机组织的商业伙伴、订购了由主机组织提供的云计算服务的客户组织。
图12C是依据公开的实施方案的用于实现数据上传、处理和预测查询API开放的方法1221的流程图。根据本文所述的用于实现数据上传、处理和预测查询API开放的系统、装置和方法,方法1221可由处理逻辑来执行,所述逻辑可包括硬件(例如,电路、专用逻辑、可编程逻辑、微代码等)、软件(例如,在处理设备上运行以进行多项操作的指令,如传输、发送、接收、执行、生成、计算、储存、开放、查询、处理等)。例如,图1中的主机组织110、图4中的机器400、或图12B中的系统1211可实现上述方法。根据某些实施方案,可以选择下面列出的一些方框和/或操作。方框编号在此是为了清楚起见,并不用于规定各方框中进行的操作的顺序。
在方框1291,处理逻辑接收表格形式的数据集,该数据集具有多行和多列。
在方框1292,处理逻辑处理所述数据集以产生表示数据集行和列之间概率关系的索引。
在方框1293,处理逻辑将索引储存在数据库中。
在方框1294,处理逻辑公开应用程序接口(API)以查询数据库中的索引。
在方框1295,处理逻辑接收针对数据库中索引的预测查询或潜在结构查询的请求。
在方框1296,处理逻辑基于所述请求通过API查询数据库以得出结果。
在方框1297,处理逻辑根据请求返回结果。例如,可返回预测记录集,该预测记录集中具有一个或多个预测或其他返回的元素,例如描述了组数据、相似数据和/或相关数据的预测记录集。
根据方法1221的另一个实施方案,对数据集进行处理包括通过数据集学习联合概率分布以确定和描述数据集各元素间的概率关系。
根据方法1221的另一个实施方案,处理程序在接收到数据集时自动触发,在处理程序中,学习联合概率分布由配置参数的默认设置控制。
根据方法1221的另一实施例,学习联合概率分布通过指定配置参数进行控制,指定配置参数包括下列中的一项或多项:处理数据集的最长时间段;处理数据集的最大迭代次数;处理数据集的最小迭代次数;处理数据集要消耗的最大客户资源量;处理数据集要花费的最大订户费用;通过处理数据集所达到的最小阈值预测性质量水平;继续进行处理所需的对预测性质量测量的最小改进;以及所述处理要生成的索引的最小或最大数量。
根据方法1221的另一实施例,处理数据集以生成索引包括在数据集上迭代地学习联合概率分布以生成索引;
根据另一实施例,方法1221还包括:周期性地确定处理所述数据集而生成的索引的预测性质量测量;以及当所述预测性质量测量达到指定阈值时,终止处理所述数据集。
根据另一实施例,方法1221还包括:接收从处理所述数据集生成的索引中请求预测的查询;以及在终止所述数据集的处理之前,针对所述生成的索引执行查询。
根据另一实施例,方法1221还包括:返回响应所述请求预测的查询的结果;以及返回带有指示所述数据集的处理尚未完成的结果的通知,或返回带有指示所述预测性质量测量值低于所述指定阈值的结果的通知,或返回带有指示上述两种情况的结果的通知。
根据方法1221的另一实施例,通过将与对应于数据集内观测值和当前值的已知结果和经查询由处理所述数据集生成的索引而获得的预测结果进行比较,确定所述预测性质量测量。
根据方法1221的另一实施例,通过将来自于数据集中的真实事实数据和经查询由处理所述数据集生成的索引而获得的一个或多个预测结果进行比较,确定所述预测性质量测量。
根据方法1221的另一实施例,处理所述数据集包括下列至少其中之一:学习所述数据集的狄利克雷过程混合模型(DPMM);学习所述数据集的交叉分类;学习所述数据集的印度自助餐过程模型;以及学习所述数据集的混合模型或有限混合的结合模型。
根据方法1221的另一实施例,接收数据集包括下列至少一项:将数据集以具有列和行的表的形式进行接收;将数据集作为数据流进行接收;接收电子表格文档并从所述电子表格文档中提取数据集;将数据集作为数据库创建的二进制文件进行接收;接收对数据库的一个或多个查询,并且通过执行对数据库的一个或多个查询并捕获由一个或多个查询返回的记录集作为数据集而响应地接收数据集;接收数据库中表的名字并从数据库中检索所述表作为数据集;接收用于指定网站的搜索参数,并响应地针对指定网站查询搜索参数及捕获搜索结果作为数据集;以及接收链接和远程存储库的认证证书,并响应地经由所述链接用所述远程存储库进行认证及检索数据集。
根据方法1221的另一实施例,数据集中多行的每一行对应于一个实体;其中,多列中的每一列对应于实体的一个特征;以及,其中各单独行与多列中的每列之间的交叉点形成一个单元格以存储该交叉点上的值。
根据方法1221的另一实施例,每个实体代表一个人、一个地方或者一个东西;并且,其中每个特征表示一个特征、特性、方面、数量、范围、标识、标记、特点或可观察到的事实;其中,每个单元格存储在每一个相应行与多列中的每列之间的交叉点处的数据类型的值,该值代表实体对象行的特征,该行与对应该特征的列交叉;并且其中每个单元格的所述值要么是空值,要么与任一单元格的任一值不同或相同。
根据方法1221的另一实施例,多列中的每列具有特定的数据类型。
根据方法1221的另一实施例,每个数据类型对应于以下之一:布尔;分类开集;分类闭集;集值的数据类型,其定义:值的集合、标识符的集合、和/或文档内的字符串的集合;数量计数;浮点数;正浮点数;字符串;经度和纬度对;矢量;正整数;文本文件;和指定文件类型的数据文件。
根据方法1221的另一实施例,接收呈表格形式的数据集包括:接收具有多个表的关系数据库对象,所述多个表有横跨该多个表的相互关系;并且其中,处理数据集包括:在多个表之间从行和列生成索引,同时符合所述多个表之间的相互关系。
例如,该生成过程(分析引擎通过该过程创建索引)可首先将特征/列划分类,然后对于识别的每个种类,该分析引擎后续将实体/行划分成类别。该分析引擎利用提供种类的模型,对其,每一个特征提供相同种类中有关其他特征的预测信息,并且对其,每个类别包含根据如该模型识别的相应类别中的特征而类似的实体。
PreQL结构化查询允许经由专门的调用从而存取由分析引擎通过它的建模产生的可查询索引,所述专门的调用包括:“关联”、“相似”、“组”以及“预测”。
根据方法1221的另一实施例,所述处理还包括:针对所述多个表中两个以上的表,执行结构化查询语言(SQL)操作以形成数据集;其中,SQL操作包括:SQL变换操作、SQL聚合操作、和SQL联接操作中的至少一者。
根据方法1221的另一实施例,所述索引被存储在主机组织的预测数据库系统中;并且其中,所述方法还包括:接收对于存储在主机组织的预测数据库系统中的索引的多个存取请求,每个存取请求源自多个客户组织的一个或多个客户端设备,其中每个客户组织是选自以下所构成的组:单独和不同的远程组织、主机组织内的组织群、主机组织的商业伙伴、或订购了主机组织提供的云计算服务的客户组织。
根据方法1221的另一实施例,预测数据库系统在操作上与主机组织提供的多租户数据库系统集成,所述多租户数据库系统具有由多个单独和不同的客户组织共享的硬件和软件的元件,所述单独和不同的客户组织的每一个的位置远离于具有预测数据库系统及其中的多租户数据库系统操作的主机组织。
根据方法1221的另一实施例,接收数据集包括:在主机组织处接收所述数据集,该主机组织提供基于云的按需式服务,该服务经由公共网络能够访问远程计算设备;并且其中,将所述索引存储在所述数据库中包括:将所述索引存储在所述预测数据库系统中,该预测数据库系统经由操作逻辑来在所述主机组织处进行操作,所述逻辑被储存在所述预测数据库系统的存储器中、并且经由所述预测数据库系统的一个或多个处理器来执行。
根据方法1221的另一实施例,存储所述索引在数据库中包括:存储所述索引在预测数据库中;并且其中,公开所述API来查询所述索引包括:公开预测查询语言(PreQL)API。
根据方法1221的另一实施例,接收用于预测查询或针对所述数据库中的所述索引的潜在结构查询的请求包括:接收PreQL查询,该PreQL查询指定选自PreQL命令组的至少一个命令,所述PreQL命令组包括:预测、相关、相似和组。
根据特定实施例,有一种非短暂计算机可读存储介质,其上存储了指令,当其被主机组织中的处理器执行时,所述指令使所述主机组织执行操作,所述操作包括:接收呈表格形式的数据集,该数据集具有多行和多列;处理所述数据集以产生表示所述数据集的行和列之间的概率关系的索引;将所述索引存储在数据库中;公开应用编程接口(API)来查询所述数据库中的索引;接收用于预测查询或针对所述数据库中的所述索引的潜在结构查询的请求;基于所述请求经由该API查询所述数据库以获得预测;响应于所述请求返回所述预测。
该非短暂计算机可读存储介质可体现本文描述的方法中的任何一种方法,且可致使完成本文描述的方法中的任何一种方法。
在另一实施例中,在主机组织处接收到作为输入的表格数据集之后,手动地或自动地触发表格数据集的处理。如果手动触发,可发出“上传”命令以将表格数据集传送到分析引擎,或给分析引擎指定用于分析的目标数据集,预测索引由该目标数据集生成。在又一实施例中,可发出“分析”命令,指示分析引擎发起对指定数据集的分析。在某些实施例中,使用上传和分析命令项,但这些命令项对于用户是隐藏的,反而是由提供给用户的接口发出的,以便为用户减少系统复杂度。
根据表格数据集生成索引的分析引擎的功能计算强度高,因而很好地适用于由基于云的多租户数据库系统架构提供的分布式计算结构。
根据所述的实施例,所得到的数据库呈现给其用户更像是传统数据库。但是用户可以经由结构化查询语言发出预测查询请求,而不是从现存的行中选择列。可将这样的结构化语言而非SQL称为预测查询语言(“PreQL”)。PreQL不要与“程序查询语言”的缩写PQL混淆。
因而PreQL被用来发出对数据库的查询,以根据由分析引擎应用于手头的数据集的模型及其相应功能来预测值、事件或结果。这样的PreQL查询提供了与SQL类型的查询相同的灵活性。当研究结构时,用户可以发出PreQL查询来在整个数据中查找隐藏的或潜在的相似性概念,而无需预先知道这些相似性是什么。用户可发出预测查询来在列之间查找相关性概念,而不必预先知道这些关系。用户可以发出预测查询来在数据集内的实体之间查找分组概念,而不必预先知道或定义这样的分组或这样的分组的规则。而且,当针对大量基于云的数据库及其数据集而在多租户数据库系统内使用时,这样的特征在计算领域中是潜在地变化的。
图12D描绘了根据所描述的实施例的具有实现的预测查询接口作为云服务的示例性架构。具体地,示出了客户组织1205A、1205B和1205C,每一个具有能够经由公共互联网1228与主机组织1210连接(包括发送查询(例如输入1257)和接收响应(例如预测记录集1258))的客户端设备1206A、1206B和1206C。主机组织1210内为请求接口1276,可选地可以通过网络服务器1275实现请求接口1276。主机组织还包括处理器1281、存储器1282、查询接口1280、分析引擎1285和多租户数据库系统1230。多租户数据库系统1230内是在多租户数据库系统1230的多个租户间共享的执行硬件、软件和逻辑1220,认证器1298,一个或多个应用服务器1265,以及能够存储分析引擎1285生成的索引的预测数据库1250,以响应于针对预测数据库1250执行的预测查询和/或潜在结构查询(例如经由输入1257请求),便于预测记录集(1258)的返回。
根据一个实施例,主机组织1210操作系统1231,其中系统1231至少包括:处理器1281,其用于执行存储在系统1231的存储器1282中的指令;请求接口1276,其公开于远离主机组织1210操作的客户端设备1206A-C,其中客户端设备1206A-C可以经由公共互联网访问请求接口1276;以及预测数据库1250,其用于为一个或多个订户执行为基于云的按需式服务,例如操作客户端设备1206A-C、或者隶属于被提供这样的服务的各种客户组织1205A-C的订户。根据这样的实施例,这样的系统1231还包括认证器1298,认证器1298用于验证客户端设备1206A-C与订户相关联并进一步验证相应订户的认证证书;其中请求接口要从订户接收请求作为输入;系统1231还包括一个或多个应用服务器1265,一个或多个应用服务器1265用于代表订户针对由列和行的数据集所生成的预测数据库1250索引执行查询(例如经由公共互联网1228作为输入1257所提供的查询),其中所述索引表示数据集的行和列之间的概率关系;且其中,系统1231的请求接口1276进一步响应于所述请求将预测记录集1258返回给用户。
根据另一实施例,这种系统1231还包括:用以实现请求接口的网络服务器1275,其中所述网络服务器1275用于接收多个访问请求作为输入1257,所述访问请求来自多个客户组织1205A-C中的一个或多个客户端设备1206A-C,多个客户组织1205A-C通过穿越公共互联网1228的至少一部分的网络与主机组织可通信地介接,其中每个客户组织105A-C是选自包括以下各项组成的组的实体:单独且不同的远程组织、主机组织内的组织群组、主机组织的商业伙伴或订购了主机组织1210提供的云计算服务的客户组织。根据这样的实施例,主机组织1210中的具有预测数据库功能的多租户数据库系统1230旨在实现所述预测数据库。
根据另一实施例,系统1231包括分析引擎1285,该分析引擎1285用于处理该数据集并产生表示该数据集的行和列之间概率关系的索引,且此外其中的预测数据库1250用以存储所产生的索引。根据系统1231的另一实施例,预测查询语言应用程序编程接口(PreQLAPI 1299)被公开给处于请求接口1276的订户,其中所述PreQL API 1299接受具有至少一种选自PreQL命令组的命令的PreQL查询(例如,作为输入1257),包括:预测、相关、相似和组,随后PreQL API 1299相对所述预测数据库执行PreQL查询并返回预测的查询记录集1258。
以这样的方式,使用PreQL结构查询允许程序查询到达在预测数据库内产生并存储的索引,其方式类似于编程者使得SQL查询到达关系数据库中。替代地采用了基于预测PreQL的多种命令项,例如“预测”或”相似”或“相关”或“组”语句,而不是“选择的各种命令项。例如,示例性的PreQL语句可为如下:“预测是否赢得,从机会获得的美元金额,其中阶段=‘报价’是否赢得美元金额(PREDICT IS_WON,DOLLAR_AMOUNT FROM OPPORTUNITY WHERESTAGE=‘QUOTE’)”。所以,在本例中,“报价(QUOTE)”是固定列或栏;“从(FROM)”是数据集,根据该数据集将预测机会;“预测(PREDICT)”命令项是调入适当函数的调用;“是否赢得(IS_WON)”是要预测的值,也就是说,所述功能用来预测是否可能或不可能赢得给定机会,其中“是否赢得(IS_WON)”可能已经完成一些行的数据,但由于例如待定或推测机会等,其他行的数据缺失;“美元金额(DOLLAR_AMOUNT)”是固定值。
在特定实施例中,上述查询通过专门的GUI界面来实现,该GUI界面用户通过GUI界面输入的输入,并代表用户通过预测功能构造、调用和返回数据,而无需要求用户实际地写入或者甚至了解向分析引擎的核心所做的下层PreQL结构查询。
另一示例性PreQL语句可为如下:选择ID;从机会,其中相似/阶段/001>0.8根据相似/阶段限制100排序(SELECT ID;FROM Opportunity WHERE SIMILAR/Stage/001>0.8ORDER BY SIMILAR/Stage LIMIT 100)。在该实例中,特定ID从数据库里的“机会”表中被拉出,然后相似(SIMILAR)命令项用于寻找识别类似于指定的ID的实体或行,只要这些实体或行具有等于或大于“0.8”的置信度质量指示符即可,最后该输出按阶段来排序,且允许产生多达总数为100记录的输出。该特定示例在查询内混合使用了SQL和PreQL(例如“选择(SELECT)”命令项是SQL命令,而“相似(SIMILAR)”命令项专用PreQL。)
图12E是根据本公开的实施例的一种用于将预测查询接口实现为云服务的方法的流程图。方法1222可由处理逻辑执行,依照此处所述的用于实现作为云设备的预测查询接口的系统、装置和方法,所述处理逻辑可包括硬件(例如,电路、专用逻辑、可编程逻辑、微代码等),软件(例如,在处理设备上运行以进行多项操作(如传输、发送、接收、执行、生成、计算、储存、开放、认证、查询、处理、返回等)的指令)。例如,图1中的主机组织110、图4中的机器400或图12D中的系统1231可实现上述方法。根据某些特定的实施例,可以选择下面列出的一些方框和/或操作。所提供的方框编号是为了清晰说明,并不是为了规定各方框中必须进行的操作顺序。
在方框1270,处理逻辑将接口公开给远离主机组织操作的客户端设备,其中客户端设备经由公共互联网可以访问该接口。
在方框1271,处理逻辑在主机组织处为一个或多个订户将预测数据库执行作为基于云的按需式服务。
在方框1272,处理逻辑通过验证客户端设备与订户中的一个相关联并进一步基于相应订户的认证证书来认证客户端设备中的一个。
在方框1273,处理逻辑经由所述接口从认证的订户接收请求。
在方框1274,处理逻辑代表认证的订户执行针对由列和行的数据集生成的预测数据库的索引的预测查询或潜在结构查询,所述索引表示数据集的行和列之间的概率关系。
在方框1279,处理逻辑响应于所述请求将预测记录集返回给认证的订户。
根据方法1222的另一实施例,执行查询包括针对预测数据库执行预测查询语言(PreQL)查询。
根据方法1222的另一实施例,执行PreQL查询包括通过指定选自PreQL命令组中的至少一条命令来查询所述预测数据库,PreQL命令组包括:预测(PREDICT)、相关(RELATED)、相似(SIMILAR)和组(GROUP)。
根据方法1222的另一实施例,接收请求包括经由预测查询语言(PreQL)API从认证的订户接收PreQL查询,预测查询语言(PreQL)API经由所述接口被公开给认证的订户。
根据方法1222的另一实施例,接收请求包括:向认证的订户呈现Web表单;经由Web表单从认证的订户接收输入;基于所述输入代表认证的订户生成PreQL查询;通过指定选自PreQL命令组中的至少一条命令经由预测查询语言(PreQL)API来查询预测数据库,PreQL命令组包括:预测、相关、相似和组。
根据方法1222的另一实施例,认证的订户经由与主机组织不同的第三方提供的Web浏览器访问基于云的按需式服务;并且其中,认证的订户向主机组织提交请求并从主机组织接收预测记录集,而无需在客户设备上安装任何来自主机组织的软件。
根据另一实施例,方法1222还包括:在从认证的订户接收请求之前,从认证的订户接收数据集;以及代表认证的订户处理数据集以生成索引,索引中的每一个表示数据集的行和列之间的概率关系。
根据方法1222的另一实施例,接收数据集包括下列至少一项:接收数据集作为具有列和行的表;接收作为数据流的数据集;接收电子表格文档并从所述电子表格文档中提取数据集;接收数据集作为数据库创建的二进制文件;接收对数据库的一个或多个查询,并且通过执行对数据库的一个或多个查询并捕获一个或多个查询返回的记录集作为数据集而响应地接收数据集;接收数据库中表的名字并从数据库中检索所述表作为数据集;接收指定网站的搜索参数,并响应地针对指定网站查询搜索参数及捕获搜索结果作为数据集;以及接收远程存储库的链接和认证证书,并响应地经由所述链接认证所述远程存储库及检索数据集。
根据方法1222的另一实施例,代表认证的订户处理数据集包括学习数据集上的联合概率分布以识别和描述数据集的元素之间的概率关系。
根据方法1222的另一实施例,响应于接收到数据集自动地触发所述处理,并且其中学习联合概率分布由指定的配置参数来控制,所述指定的配置参数包括下列的一项或多项:处理所述数据集的最长时间段;处理所述数据集的最大迭代次数;处理所述数据集的最小迭代次数;处理所述数据集要消耗的最大的客户资源量;处理所述数据集要花费的最大订户费用;处理所述数据集达到的最小阈值置信质量水平;继续处理所需的对置信质量测度的最小改进;以及所述处理要生成的索引的最小或最大数量。
根据方法1222的另一实施例,处理所述数据集包括迭代地学习数据集上的联合概率分布以生成索引;并且其中,所述方法还包括:周期性地确定由处理数据集所生成的索引的预测质量测度;以及当所述置信质量测度达到指定阈值时,终止数据集的所述处理。
根据另一实施例,方法1222还包括:返回具有预测记录集的通知,指示存储的数据集的处理尚未完成,或者返回具有预测记录集的通知,指示置信质量测度低于指定的阈值,或者二者兼有。
根据方法1222的另一实施例,通过比较对应于数据集内的已知且非空值的已知结果与通过查询数据集的处理生成的索引而获得的预测记录集来确定置信质量测度。
根据方法1222的另一实施例,主机组织包括多个应用服务器;其中所述处理还包括将索引的生成和索引的存储分布在多个应用服务器中;其中执行对预测数据库的索引的查询包括在索引被分布和存储的多个应用服务器中,查询多个生成的索引;以及聚合通过多个生成的索引的查询所返回的结果。
根据方法1222的另一实施例,并行查询生成的索引根据索引的不同版本在索引被分布和存储的多个应用服务器处产生不同的结果。
根据另一实施例,方法1222还包括:聚合不同的结果;以及返回响应于执行的潜在结构查询的一个预测记录集或响应于执行的预测查询的一个预测。
根据方法1222的另一实施例,生成的索引的更大的量对应于改进的预测精确度;并且其中,索引被分布或存储的应用服务器的更大的量对应于执行查询的改进的响应时间。
根据另一实施例,方法1222还包括:从认证的订户接收指定的数据源;以及基于指定的数据源周期性地更新索引。
根据方法1222的另一实施例,周期性地更新索引包括下列的一项:发起轮询机制来检查指定的数据源的变化并且当变化被检测到用在更新索引时检索所述变化;从指定的数据源接收指示指定的数据源变化已经发生的推送通知,并接受所述变化以在更新索引中使用;且其中,所述索引的更新的发生不需要订户的主动认证会话。
根据另一实施例,方法1222还包括:在主机组织内执行对认证的订户可访问的两个或多个表的结构化查询语言(SQL)操作,其中SQL操作包括SQL变换操作、SQL聚合操作、和SQL连接操作中的至少一个;捕获SQL操作的输出作为行和列的数据集;以及处理所述数据集以生成表示所述数据集的行和列之间的概率关系的索引。
根据方法1222的另一实施例,认证的订户指定两个或多个表作为输入,并且其中主机组织生成查询来执行SQL操作并代表认证的订户自动地发起对数据集的处理。
根据另一实施例,方法1222还包括:通过学习下列的至少一项来生成表示数据集的行和列之间的概率关系的索引:学习数据集的Dirichlet过程混合模型(DPMM);学习数据集的交叉分类;学习数据集的印度自助过程模型;以及学习数据集的混合模型或有限混合模型的混合。
根据方法1222的另一实施例,数据集中的多个行中的每一行对应于实体;其中多个列中的每一列对应于实体的特征;且其中每一相应行与多个列中的每一列之间的交叉点形成了用来在该交叉点存储值的单元格。
根据方法1222的另一实施例,每个实体对象代表一个人、一个地方或者一个东西;同时,其中每个特性代表一个特性、特征、方面、数量、范围、标识符、标记、特点或可观察到的事实;其中每个单元格存储在每一相应行与多列中的每列之间的交叉点处的数据类型的值,该值代表实体对象行的特征,该行与对应该特征的列交叉;且其中每个单元格的可被预选值要么是空值,不同,要么与任一单元格的任一值相同。
根据本发明的另一实施例,具有指令存储于其上的非瞬态计算机可读存储媒质,当指令被主机组织的处理器所执行时,指令指示主机组织处理如下操作包括:向相对主机组织远程运行的客户端设备装置公开接口,其中客户端设备可通过公共互联网访问该接口;在主机组织执行预测数据库,作为一个或多个订户的基于云的按需式服务;通过验证客户设备与订户中的一个相关联并进一步基于相应订户的认证证书来认证客户设备中的一个;经由接口从认证的订户接收请求;代表认证的订户,执行针对由列和行的数据集生成的预测数据库的索引的查询,所述索引表示数据集的行和列之间的概率关系;以及响应于所述请求,向认证的订户返回预测记录集。
图13A示出了根据所描述的实施例的相关命令项的使用。特定的查询是可行的,只要分析引擎从上述描述的表格数据集中生成索引。例如,使用者可以询问预测数据库:“对给定的列,与其预测性地相关的其他列是哪些?”在可查询索引的语言中,如在元素1302所示,这句话翻译为:“在同一视图中不同列彼此出现的频率程度如何”。对交叉分类而言,分析引擎将每个其他列出现在相同的视图中的频率制作为表格作为输入列,这样显示出相关的和不相关的。使用者需要作为输入提供的仅是使用相关命令项的列ID1301。
相关命令项提供的附加预测功能使得使用者可以根据概率模型查询与指定列相关的列。例如,给定一个其中具有列或变量的表,分析引擎将这些列或变量分成组,由于所述多个分布,有多种方式来划分这些列或变量。下面以高度为例。将所述高度列提供给API调用相关命令项,使用者可以查询:“在所有其他列中与指定的高度列有关系的概率,我对此该有多少确信?”相关命令项随后将为指定高度列给出返回结果,即为数据集中非指定的每个其他列的置信度指示符。因此举例来说,所述相关功能可以向该高度列返回其置信度指示符,“重量=1.0”,其意味着根据数据集,分析引擎非常确信在重量和高度间存在关系。
这样的结果是直观且在预期中的,但其他结果可能不太直观,而是提供了探索和进一步研究的有吸引力的结果。继续高度这个例子,指定列给相关命令项API调用,分析引擎可返回“年龄=0.8”,其意味着,从分析的数据集的概率角度,分析引擎已确定年龄是高度相关的,但不像上述的重量例子那样完全确信。较小的置信度指示符分数可能是由于如噪声数据等这样的妨碍了绝对正向的结果。
也许还会为指定的“高度”列返回“头发颜色=0.1”,“头发颜色=0.1”意味着根据使用的数据集,一个人的高度和他们的头发颜色之间无论如何都实际上没有相关性。因此,“相关”功能允许使用者针对给定列而言所重要的进行查询,例如高度列,同时所述“相关”功能返回具有分数的所有列,该分数表示基于其概率这些列对于指定列的相关程度。可能对人类来说,高度和重量具有相关性是可直观理解的,但分析引擎在没有人类输入的情况下系统地生成结果,更重要的是,其可以应用于数据集,而人类看这些数据并不能直观的或易于理解这样的关系。对于一些较大的数据集尤其是这样,这些数据集中一定存在有关系,但其数据结构本身并没有定义这些关系。分析引擎学习基础潜结构和潜关系,这进而有助于揭示隐藏的结构甚至使得使用者有望于以一直以来不可行的方式挖掘他们的数据。
图13B示出了根据所述实施例的示例性体系结构。具体地,示出了消费者组织1305A、1305B和1305C,每一个具有能够经由网络1325与主机组织1310连接的客户端设备1306A、1306B和1306C,包括发送查询和接收响应。主机组织1310内为请求接口1376,其可选地可以通过网页服务器1375实现。主机组织还包括处理器1381、存储器1382、查询接口1380、分析引擎1385、和多租户数据库系统1330。多租户数据库系统1330内有在多租户数据库系统1330的多个租户间共享的执行硬件、软件和逻辑1320,还有认证器1398以及预测数据库1350,预测数据库1350存储分析引擎生成的索引以便于响应于针对预测数据库1350执行的查询,返回预测记录集。
根据一个实施例,主机组织1310运行系统1311,该系统具有至少一个处理器1381和存储器1382,系统1311能通过分析引擎1385由列和行的数据集生成索引,其中所述索引代表数据集中行和列之间的概率关系。系统1311还包括:预测数据库1350,其用于存储索引;请求接口1376,其用于向用户或客户端设备1306A-C公开预测数据库,其中请求接口1376用于接收对预测数据库的查询1353,预测数据库限定了相关命令项和作为相关命令项参数的指定列;查询接口1380,其用于使用“相关”命令项查询预测数据库1350及传送指定列,从而生成预测记录集1354;且其中,请求接口1376进一步响应于所述查询,返回预测记录集1354。在此实施例中,预测记录集1354包括多个元素1399,对使用“相关”命令项传送的指定列,每个返回的元素包括列ID和置信度指示符。在这样的实施例中,置信度指示符指示使用“相关”命令项传送的指定列与返回用于相应元素1399的列指示符之间是否存在潜在的关系。
根据本发明的一个实施例,预测数据库1350用于为一个或多个订户在主机组织执行基于云的按需式服务。根据这样的实施例,系统还包括认证器1398,用于验证客户端设备1306A-C与订户相关联并进一步验证相应订户的认证证书。
根据本发明的一个实施例,请求接口1376向认证的使用者直接公开预测查询语言应用编程接口(PreQL API),其中PreQL API可被经验证用户经由公共互联网接入。例如,网络1325可运行以在公共互联网上连接主机组织1310和订户。
根据本发明的一个实施例,系统1311包括用于实现上述请求接口1376的网页服务器1375,其中网页服务器1375从多个客户组织1305A-C中的一个或多个客户端设备1306A-C接收作为输入的多个访问请求,所述客户组织可通过网络与主机组织通信介接。在这个实施例中,具有预测数据库功能的多租户数据库系统1330实现预测数据库1350。
图13C为示出根据所公开实施例的方法1321的流程图;根据如本文所述的使用预测查询接口实施相关命令的系统、装置和方法,可通过处理逻辑来执行方法1321,逻辑可包括硬件(例如,电路、专用逻辑、可编程逻辑、微代码等)、软件(例如,指令在处理设备上运行以执行各种操作,如传输、发送、接收、执行、生成、计算、存储、公开、查询、处理等)。例如,图1的主机组织110、图4的机器400、或图13B的系统1311可以执行上述方法。根据某些实施例,可以选择下面所列出的一些区块和/或操作。所提供的区块编号是为了清晰说明,并不是用来规定其中各个区块必须进行的操作顺序。
在方框1391,,处理逻辑由列和行的数据集生成索引,索引表示数据集的行和列之间的概率关系。
在方框1392,处理逻辑使索引存储在主机组织的数据库内。
在方框1393,处理逻辑经由请求接口公开主机组织的数据库。
在方框1394,处理逻辑在请求接口接收数据库的查询,该查询指定相关命令项以及指定作为相关命令项参数的指定列。
在方框1395,处理逻辑使用相关命令项查询数据库并且传送指定列,从而生成预测记录集。
在方框1396,处理逻辑响应于查询返回预测记录集,预测记录集中具有多个元素。在这样的实施例中,每个返回元素包括使用相关命令项传送的指定列的列标识符和置信度指示符,其中,置信度指示符指示:在使用相关命令传送的指定列与返回用于相应元素的列标识符之间是否存在潜在关系。
根据另一实施例,方法1321还包括:使用相关命令项传送最小置信度阈值。在这样的实施例中,返回预测记录集包括仅传回这样的预测记录集元素:具有超过最小置信度阈值的置信度指示符。
根据另一实施例,方法1321包括:使用相关命令项传送记录集限值以限制预测记录集传回的元素数量。
根据方法1321的另一实施例,根据预测记录集的每一个元素的置信度指示符按降序依序传回预测记录集的元素,或根据预测记录集的每一个元素的置信度指示符按升序依序传回预测记录集的元素。
根据方法1321的另一实施例,包括在预测记录集预测相关列是进一步基于预测相关列在相同列中出现次数的分数,其与使用相关命令项传送的指定列分为一组。
根据方法1321的另一实施例,其中具有多个元素的预测记录集包括每个返回元素,返回元素包括所有的列和每一列所对应的预测值;且其中该方法还包括传回每个对应的从0至1的预测值的置信度指示符,0表示在相应预测值中最低可能级别的置信度,1表示在相应预测值中最高可能级别的置信度。
根据方法1321的另一实施例,方法1321还包括:基于预测相关列的最小阈值,使用相关命令项从响应于查询数据库生成的预测记录集中识别一个或多个预测相关列;以及将所识别的一个或多个预测相关列输入到第二查询内以限制从第二查询传回的第二预测记录集,第二查询指定预测命令项或群组命令项。
根据方法1321的另一实施例,使用相关命令项查询数据库包括数据库估算:使用相关命令项传送的指定列和返回用于预测记录集的相应元素的列标识符之间的交互信息。
根据方法1321的另一实施例,公开主机组织的数据库包括向经验证用户直接公开预测查询语言应用编程接口(PreQL API),其中PreQL API可被经验证用户经由公共互联网接入。
根据方法1321的另一实施例,使用相关命令项查询数据库包括将PreQL查询传送到数据库,该PreQL查询具有以下各项的查询语法:作为所要求项的相关命令项;可选的来源(FROM)项,其用于当指定可选的来源项时,指定一个或多个表、数据集、数据源、和/或要查询的索引,当未指定可选的来源项时,一个默认值被用于所述一个或多个表、数据集、数据源、和/或要查询的索引;以及目标(TARGET)项,其指定要使用相关命令项传送的列。例如,如果来源项未指定,系统可基于使用者的背景进行确定。例如,使用者可能与仅具有一个数据源或具有主数据源的特定组织相关联,或者可以假设最后评估的或最常被访问的数据源,或是可将默认值预配置为用户偏好等。
根据方法1321的另一实施例,PreQL查询的查询语法还提供以下一个或多个:可选置信度项,当其被提供时,其定义随预测记录集要返回的可接受的最小置信度指示符;可选计数(COUNT)项,当其被提供时,其定义预测记录集中要返回的元素的最大数量;以及可选(ORDER BY)项,当其被提供时,其定义根据随预测记录集返回的每个元素的置信度指示符,是以上升或下降顺序排列返回预测记录的元素。
根据方法1321的另一实施例,使用相关命令项查询数据库包括将JavaScript对象表示法(JSON)结构查询传送到数据库,该JSON结构查询的查询语法为:作为所要求项的相关命令项;可选的一个或多个表、数据集、数据源和/或要查询的索引,或当未指定时,所述一个或多个表、数据集、数据源、和/或要查询的索引的一个默认值;使用相关命令项要被传送的列;可接受的最小置信水平的可选定义,其中根据置信度指示符,该置信水平随预测记录集将要被返回;预测记录集中要返回元素的最大数量的可选定义;以及可选定义,其定义根据随预测记录集返回的每个元素的置信度指示符,是以上升或下降顺序排列返回预测记录的元素。
根据方法1321的另一实施例,公开出数据库中的主机组织包括向认证用户直接展示网页表格,其中,认证用户可经由公共互联网访问网页表格;其中,基于从网页表格的输入,主机组织生成潜在结构查询提交给数据库;且其中,使用相关命令项查询数据库包括,通过主机组织中预测查询语言应用编程接口(PreQLAPI),使用潜在结构查询来查询数据库,所述PreQLAPI被直接通过网页表格公开给认证用户。
根据方法1321的另一实施例,使用相关命令项查询数据库包括对相关命令项执行预测查询语言(PreQL)结构查询数据库;且其中该方法还包括对数据库执行一个或多个附加PreQL结构查询,一个或多个附加PreQL结构查询的每个定义从一组PreQL命令中选择的至少一个命令,其包括预测、相关、相似和组。
根据另一实施例,方法1321还包括:从认证用户接收数据集,并随后从该认证用户接收对数据库的查询;以及代表认证用户处理数据集,生成索引。
根据方法1321的另一实施例,数据集中多行的每一行对应于一个实体对象;其中,多列中的每一列对应于实体对象的一个特征,同时,各独立行与多列中的每列之间的交叉点形成一个单元格,其存储该交叉点处的值。
根据特定的实施例,该实施例中有一种非暂时性计算机可读存储介质,其上存储有指令,当主机组织中的处理器执行这些指令时,这些指令导致主机组织执行操作,所述操作包括:由列和行的数据集生成索引,该索引表示了数据集的行和列之间的概率关系;将索引储存至主机组织的数据库中;经由请求接口公开主机组织的数据库;在请求接口处接收对于指定相关命令项和作为相关命令项的参数的指定列的数据库的查询;使用相关命令项来查询数据库并且传送指定列,从而生成预测记录集;以及返回响应于查询的预测记录集,预测记录集中具有多个元素,所返回的元素中的每个元素包括列标识符以及使用相关命令项传送的指定列的置信度指示符,其中置信度指示符表示相关命令项传送的指定列与返回用于相应元素的列标识符之间是否存在潜在关系。
图14A示出了根据所描述的实施方案的组命令项的使用。使用组命令项,用户可以要求:“哪些行在一起”。这样的特征可以被概念化为聚类,除了有一种以上的方式对数据集进行聚类。考虑以上所使用的其中列ID1401被作为输入提供的哺乳动物示例。响应于这样的查询,预测记录集将返回作为具有在所提供的列的背景下的组的输出1402。更特别地,输出1402将指示哪些行最经常一起出现作为在包含输入列的视图中的相同类别的组。
在分析引擎采用其建模以产生索引的情况下,有时行倾向于聚集到数据集中的噪声元素上;而这些噪声元素有时会导致实际上不重要的分组。使用组命令项功能,用户知道了每一列将出现在作为视图的组的恰好之一中,所以分析引擎允许用户指定列识别将被利用的特定“视图”。因此,组功能实现行中心操作,如相似功能,但是与调用相似(其中,用户指定行,并且基于它们相似概率,响应地收回一列表的其他行以及相应的分数)的API相比,组功能不需要用户指定或固定行。相反,当进行调用以指定组命令项时,仅需要由用户提供列。
调用具有指定或固定列的组功能导致该功能基于分析引擎的建模返回看起来以某种方式有关或相关的ROWS的分组。
图14B示出了根据所描述的实施方案的示例性结构。特别地,示出了客户架构1405A、1405B和1405C,其中每一个客户架构具有能够经由网络1425(包括发送查询和接收响应)与主机组织1410连接的客户设备1406A、1406B和1406C。主机组织1410内为请求接口1476,请求接口1476可以可选地通过网络服务器1475实现。主机组织还包括处理器1481、存储器1482、查询接口1480、分析引擎1485、以及多租户数据库系统1430。多租户数据库系统1430内有在多租户数据库系统1430的多个租户、认证器1498、以及预测数据库1450之间共享的执行硬件、软件和逻辑1420,多租户数据库系统1430能够存储由分析引擎生成的索引以便于促进响应于通过查询接口对预测数据库1450执行的查询的预测记录集的返回。
根据一个实施方案,主机组织1410运行系统1411,该系统具有位于其中的至少一个处理器1481和存储器1482,其中系统1411包括分析引擎1485,以从列和行的数据集中生成索引,其中所述索引代表数据集的行和列之间的概率关系。这样的系统1411还包括:预测数据库1450,其用于存储索引;请求接口1476,其用于向例如用户或客户端设备1406A-C公开预测数据库,其中请求接口1476接收对于指定了组命令项和作为组命令项的参数的指定列的预测数据库的查询1453;查询接口1480,其用于使用组命令项来查询预测数据库1450并且传送指定列,从而生成预测记录集1454;并且其中请求接口1476还响应于查询1453,返回预测记录集1454,其中预测记录集包括在其中指定的多个组1499,预测记录集的返回组1499中的每个组包括数据集的一行或多行组成的组。例如,在预测记录集1454中示出有四个返回的组:组A1456;组B1457;组C1458;和组D1459,其中每个组都包括{若干行}的集合。
图14C是示出根据所公开的实施方案的方法的流程图。
根据如本文所述的使用预测查询接口实现组命令的系统、装置和方法,可以通过处理逻辑来执行方法1421,处理逻辑可以包括硬件(例如,电路、专用逻辑、可编程逻辑、微代码等)、软件(例如,指令在处理设备上运行以执行各种操作,如传输、发送、接收、执行、生成、计算、存储、公开、查询、处理等)。例如,图1中的主机组织110、图4中的机器400、或图14B中的系统1411可以实现所述的方法。根据某些实施方案,下面所列出的一些块和/或操作是可选的。所呈现的块编号是为了清晰说明,并不旨在规定其中各个块必须发生的操作顺序。
在方框1491,处理逻辑由列和行的数据集生成索引,所述索引代表数据集的行和列之间的概率关系。
在方框1492,处理逻辑将索引存储在主机组织的数据库内。
在方框1493,处理逻辑经由请求接口公开主机组织的数据库。
在方框1494,处理逻辑在请求接口处接收对于指定组命令项和作为组命令项的参数的指定列的数据库的查询。
在方框1495,处理逻辑使用组命令项查询数据库并且传送指定列,从而生成预测记录集。
在方框1496,处理逻辑返回预测记录集以响应于查询,预测记录集具有在其中指定的多个组,预测记录集的返回组中的每个组包括数据集的一个或多个行的组。
根据方法1421的另一实施例,数据集的所有的行通过将数据集中的每行恰好分配给所返回的多个组中的每个组来划分,并且预测记录集没有任何单个行(其被分配给所述多个组中的多于一个组)的交叠。
根据方法1421的另一实施例,数据集的行通过将数据集中的行分配给所述多个组中的至多一个组来分段,而没有任何单个行(其被分配给所述多个组中的多于一个组)的交叠。其中分段导致数据集的一行或多行仍然未分配到所述多个组中的任何组,这是由于与仍然未分配的一行或多行对应的置信度指示符降至最小阈值以下。
根据方法1421的另一实施例,预测记录集返回的所述多个组中的每个组内指定的所述一行或多行中的每行返回的置信度指示符在从最小的0(指示在相应行属于指定的组的预测中最低可能置信度)至最大的1(指示在相应行属于指定的组的预测中最高可能置信度)的范围内。
根据方法1421的另一实施例,使用组命令项传送的列提供了潜在结构的背景,其中评估了每个指定组中的所述一行或多行得出与同一组内的任何其他行的相似性。
根据方法1421的另一实施例,其中指定多个组的预测记录集包括来自数据集或索引的行标识符的列表以及所指定的行标识符中的每个行标识符的相应置信度指示符。
根据方法1421的另一实施例,每行对应于登记的选举人,并且其中通过预测记录指定的分组自然地限定了可命中目标的投票块,其中每个投票块被预测为可能类似地对平常活动信息、平常活动问题、和/或平常活动广告做出反应。
根据方法1421的另一实施例,每行对应于经济市场参与者,并且其中通过预测记录指定的分组自然地限定了可命中目标的广告组,其中每个广告组的经济市场参与者被预测为类似地对所涉及的平常广告活动做出反应。
根据另一实施例,方法1421还包括:指示由预测记录集返回的相应组中的每个组内的最有代表性的行,其中对于所返回的组中的每个组的最有代表性的行对应于数据集的实际行。
根据另一实施例,方法1421还包括:指示由预测记录集返回的相应组中的每个组内的最典型的行,其中最典型的行不作为数据集的行而存在,最典型的行具有基于在用于与最典型的行对应的所指定的组的数据集内的实际行的合成数据。
根据另一个实施方案,方法1421还包括:使用组命令项传送最小置信度阈值;并且其中返回预测记录集包括仅返回具有超过最小置信度阈值的置信度指示符的预测记录集中的组的行。
根据方法1421的另一实施例,公开主机组织的数据库包括向认证的订户直接公开预测查询语言应用编程接口(PreQL API),其中认证的订户可经由公共互联网访问PreQLAPI。
根据方法1421的另一个实施方案,使用组命令项查询数据库包括将PreQL查询传送给数据库,PreQL查询具有如下查询语法:组命令项作为必需项;COLUMN项作为必需项,该COLUMN项指定将由组命令项来传送的列;以及当可选的来源项被指定时,该可选的来源项指定一个或多个表格、数据集、数据源、和/或要查询的索引,而当可选的来源项未被指定时,其中默认值用于所述一个或多个表格、数据集、数据源、和/或要查询的索引。
根据方法1421的另一实施例,用于PreQL查询的查询语法还提供了:可选的置信度项,当其被提供时,其指定了对于将由预测记录集的组返回的行的最小可接受置信度指示符。
根据方法1421的另一个实施方案,使用组命令项查询数据库包括将JavaScriptObjectNotation(JSON)结构化查询传送给数据库,JSON结构化查询具有如下查询语法:组命令项作为必需项;可选的一个或多个表格、数据集、数据源、和/或要查询的索引,或当未指定时用于所述一个或多个表格、数据集、数据源、和/或要查询的索引的默认值,列将由组命令项传送;以及对于将由根据与每行对应的置信度指示符的预测记录集返回的组的行的最小可接受置信度的可选的规格。
根据方法1421的另一个实施方案,公开主机组织的数据库包括向认证的订户直接公开网页表单,其中认证的订户可经由公共互联网访问网页表单;其中主机组织基于来自网页表单的输入生成用于向数据库提交的潜在结构查询;并且其中使用组命令项查询数据库包括:经由主机组织中的预测查询语言应用编程接口(PreQLAPI),使用潜在结构查询来查询数据库,PreQLAPI通过网页表单被间接地向认证的订户公开。
根据方法1421的另一实施例,使用组命令项查询数据库包括为组命令项对数据库执行预测查询语言(PreQL)结构化查询;且其中该方法还包括对数据库执行一个或多个附加PreQL结构化查询,一个或多个附加PreQL结构化查询的每个查询指定选自包括下列的PreQL命令组的至少一个命令:预测、组、组和组。
根据另一实施例,方法1421还包括:从认证订户接收数据集,并随后从该认证订户接收对数据库的查询;以及代表认证订户处理数据集以生成索引。
根据方法1421的另一实施例,数据集中多行中的每一行对应于一个实体;其中,多列中的每一列对应于实体的一个特征,并且其中每个相应的行与多列中的每列之间的交叉点形成单元格,以存储该交叉点处的值。
根据另一实施例,存在一种非暂时性计算机可读存储介质,其上存储有指令,当指令被主机组织中的处理器执行时,这些指令导致主机组织执行操作,所述操作包括:由列和行的数据集生成索引,该索引代表该数据集的行和列之间的概率关系;将所述索引储存在主机组织的数据库内;通过请求接口公开主机组织的数据库;在请求接口,接收对于数据库的查询,该查询指定组命令项和作为组命令项的参数的指定列。使用组命令项查询数据库并且传送指定列,从而生成预测记录集;以及响应于所述查询将预测记录集返回,预测记录集具有多个在该预测记录集中指定的组,预测记录集的每个返回组包括由数据集的一行或多行组成的组。
图15A示出了根据所描述的实施例的相似命令项的使用。使用相似命令项,用户可以询问:“哪一行与给定行最为相似”。行可以在一种环境下相似,但在另一种环境下不相似。例如,虎鲸和蓝鲸在一些方面很相似,但在其他方面极为不同。输入1501指定用相似命令项要传送的行ID和列ID两者。输入列(或列ID)提供潜在结构的环境,在所述环境下要评估指定行与由预测记录集的元素返回的相似行的相似性。响应于这样的查询,将返回预测记录集作为输出1502,输出1502识别:在包含输入列的视图中每一行作为输入行在相同类别中出现频率为多少。
相似命令项功能接受实体(例如行或行ID)并返回其他行与指定的行最相似的内容。和相关命令项的实例一样,相似命令项功能返回指定的行和任何相应返回的行实际表现出相似性的概率。例如,用户可指定“Fred”作为数据集内的行或实体,而非指定列。然后,用户通过相似命令项功能查询:“基于概率哪些行评分最像Fred?”然后,API调用将与相应置信度评分一起从数据集返回所有行,或仅返回高于或低于指定的阈值的那些行。例如,也许高于0.8的行最引人关注,或低于0.2的行最引人关注,或两者都引人关注,或一个范围内的行最引人关注。不管是哪种情况,相似命令项功能能够根据数据集中的每行与指定行的概率相似性给每行评分,并且然后根据用户的约束或实现GUI的约束(如果给定了这样的约束的话)返回这些行以及它们相应的评分。
由于分析引擎使用其自身的模型确定这些关系,因此有不止一种方法用于评估这样的询问。因此,除了接收被进行相似性评价的实体(例如,行或行ID),用户还向API调用提供相似命令项,哪一列(或者列ID)将被分析引擎用作消歧工具来确定将如何评估行的相似性。因此,定义相似命令项的API调用要求行和列都是固定的。这样,通过提供、规定或者固定列变量为分析引擎提供消歧信息,通过分析引擎进入索引。否则,由于分析引擎将缺乏关键点或者入口点(通过关键点或入口点可确定提出查询的用户是如何关注那些被进行相似性查找的信息的),则有太多种可能的方式来对返回的行进行评分。
图15B描绘了根据所描述的实施例的示例性建构。特别地,描绘了客户组织1505A、1505B和1505C,其中每一个客户组织都具有能够通过网络1525与主机组织1510进行接口连接的客户端设备1506A、1506B和1506C(包括发送查询和接收响应)。主机组织1510内是请求接口1576,该接口可以可选择地由网页服务器1575实现。该主机组织还包括处理器(或多个处理器)1581、存储器1582、查询接口1580、分析引擎1585和多租户数据库系统1530。多租户数据库系统1530内是在多租户数据库系统1530的多个租户共享的执行硬件、软件和逻辑1520、认证器1598以及预测数据库1550,预测数据库能够存储由分析引擎生成的索引,以便于响应针对预测数据库1550所执行的查询返回预测记录集。
根据一个实施例,主机组织1510运行系统1511,所述系统1511中至少具有处理器1581和存储器1582,其中,系统1511包括分析引擎1585,以由列和行的数据集生成索引,其中,索引表示所述数据集的行和列之间的概率关系。这样的系统1511还包括:预测数据库1550,其用于存储索引;请求接口1576,其用于向例如用户或客户端设备1506A-C公开预测数据库,其中,请求接口1576接收对于预测数据库1550的查询1553,指定相似命令项、作为相似命令项参数的指定行和作为相似命令项参数的指定列。在这样的系统中,查询接口1580将使用相似命令项来查询预测数据库1550并且传送指定行和指定列,从而生成预测记录集。例如,相似命令项及其运算数(列ID和行标识)可针对预测数据库1550来执行。
在这样的系统1511中,请求接口1576响应于查询1553进一步将预测记录集1554返回,其中,预测记录集1554包括多个元素1599,预测记录集1554的每个返回元素都包括:(i)行标识符,所述行标识符对应于数据集的行,根据潜在结构,该行被评估为类似于基于指定列的使用相似命令项传送的指定行,以及(ii)置信度指示符,所述置信度指示符指示出使用相似命令传送的指定行与返回用于相应元素1599的行标识符之间的潜在关系的可能性。
图15C是根据公开实施例的方法的流程图。为了实现本文所述的用预测查询接口执行相似命令的系统、装置和方法,方法1521可由处理逻辑来执行,所述处理逻辑可包括硬件(例如,电路、专用逻辑、可编程逻辑、微代码等)、软件(例如,在处理设备上运行的指令,以执行多项操作,如传输、发送、接收、执行、生成、计算、储存、开放、查询、处理等)。例如,图1的主机组织110、图4的机器400或图15B的系统1511可以实现所描述的方法。根据某些实施例,以下所列出的一些方框和/或操作是可选的。所呈现的方框的编号是为了清晰阐明并不旨在规定各个方框必须进行的操作顺序。
在方框1591,处理逻辑由列和行的数据集生成索引,该索引表示数据集的行与列之间的概率关系。
在方框1592,处理逻辑将索引存储在主机组织的数据库内。
在方框1593,处理逻辑通过请求接口开放主机组织的数据库。
在方框1594,处理逻辑在请求接口接收针对数据库的查询,数据库的查询指定相似命令项、作为相似命令项的参数的指定行以及作为相似命令项的参数的指定列。
在方框1595,处理逻辑使用相似命令项查询数据库并且传送指定列和指定行,从而生成预测记录集。
在方框1596,处理逻辑返回响应于查询的预测记录集,该预测记录集中具有多个元素,预测记录集所返回的每一个元素包括:(i)行标识符,所述行标识符根据潜在结构对应于评估为类似于基于指定列的使用相似命令项传送的指定行的数据集的行,以及(ii)置信度指示符,所述置信度指示符指示使用相似命令传送的指定行和返回用于相应元素的行标识符之间的潜在关系的可能性。
根据方法1521的另一实施例,使用相似命令项传送的列提供潜在结构的背景,其中评估了该指定行,以根据潜在结构得出与所述预测记录集的元素所返回的相似行的相似性。
根据方法1521的另一实施例,包括有预测记录集内返回的每一元素的评估为相似的数据集的行进一步基于相似行出现在根据使用相似命令项传送的列与指定行相同的行分组中的次数的比例。
根据方法1521的另一实施例,使用相似命令项查询数据集并且传送指定行包括在行中为数据集或索引中的指定行传送标识符。
根据方法1521的另一实施例,使用相似命令项查询数据库并且传送指定行包括使用相似命令项传送整行,相似命令项列出对应于数据集或索引中其他行的所有列的名称=值对。
根据方法1521的另一实施例,传送整行包括传送一个或多个零值或空值作为名称=值对的值。
根据另一实施例,方法1521进一步包括:返回以下各者中的一者:(i)与指定行相比最相似的行,基于返回的预测记录集和与预测记录集一起返回的每一个相似的行的置信度指示符,响应于查询,使用相似命令项传送该指定行;(ii)与指定行相比最不相似的行,基于返回的预测记录集和与预测记录集一起返回的每一个相似的行的置信度指示符,响应于查询,使用相似命令项传送该指定行;以及(iii)响应于互联网用户的搜索的推荐系统中的相关产品,其中所述相关产品对应于与预测记录集一起返回的相似行中的一行。
根据方法1521的另一实施例,使用相似命令项查询数据集包括:数据库至少部分地基于指定行评估交互信息以确定索引中指定行的值和存在于索引中且对应于指定列的另一个行的值之间的相互依赖的程度。
根据方法1521的另一实施例,数据集的行对应于存储在产生索引的数据集中作为记录的多个文件;其中传送指定行包括传送所述多个文件中的一个作为指定行;并且其中,使用相似命令项查询数据集并且传送文件作为指定行引起所述数据库执行基于使用所述文件内容进行查询的内容。
根据另一实施例,方法1521还包括:使用相似命令项传送最小信度阈值;并且其中返回预测记录集包括仅返回具有超过最小信度阈值的置信度指示符的预测记录集的元素。
根据另一实施例,方法1521还包括:传送可选COUNT命令项,当提供该命令项时,其规定在预测记录集中将要返回的元素的最大量。
根据方法1521的另一实施例,预测记录集的元素的返回顺序根据预测记录集中每一个元素的置信度指示符按照降序排列,或根据预测记录集中每一个元素的置信度指示符按照升序排列。
根据另一实施例,方法1521还包括:基于类似行的最小置信阈值,使用相似命令项从响应于查询数据库生成的预测记录集中识别一个或多个类似行;以及将所识别的一个或多个类似行输入至第二查询,该第二查询指定组命令项以限制从第二查询返回的第二预测记录集。
根据方法1521的另一实施例,公开主机组织的数据库包括向认证用户直接公开预测查询语言应用编程接口(PreQLAPI),其中认证用户可经由公共互联网访问PreQL API。
根据方法1521的另一实施例,使用相似命令项查询数据库包括将PreQL查询传送给数据库,PreQL查询具有如下查询语法:作为必需项的相似命令项;作为必需项的ROW项,其指定使用相似命令项要传送的行;作为必需项的COLUMN项,其指定使用相似命令项要传送的列;以及可选的来源项,当可选的来源项被指定时,其指定一个或多个表格、数据集、数据源、和/或要查询的索引,并且其中,当可选的来源项未被指定时,一个缺省值被用于所述一个或多个表格、数据集、数据源、和/或要查询的索引。
根据方法1521的另一实施例,PreQL查询的查询语法还提供以下一个或多个:可选的置信度项,当其被提供时,其指定了随预测记录集要返回的最小可接受置信度指示符;可选的COUNT项,当其被提供时,其指定预测记录集中要返回元件的最大数量;以及可选的排序(ORDERBY)项,当其被提供时,其根据随预测记录集返回的每个元件的置信度指示符,指定以上升或下降的顺序排列要返回预测记录元件。
根据方法1521的另一实施例,使用相似命令项查询数据库包括将JavaScript对象符号(JSON)结构查询传送给数据库,JSON结构查询具有如下查询语法:作为必需项的相似命令项;可选的一个或多个表格、数据集、数据源、和/或要查询的索引,或者当其未被指定时,所述一个或多个表格、数据集、数据源、和/或要查询的索引的缺省值;使用相似命令项要被传送的行;其中,列将使用相似命令项传送;根据置信度指示符将随预测记录集返回的最小可接受置信度的可选定义;预测记录集中要返回元件最大数量的可选定义;且其中,根据随预测记录集返回的每个元件的置信度指示符,以上升或下降的顺序排列要返回的预测记录元件的可选定义。
根据方法1521的另一实施例,公开主机组织的数据库包括向认证用户直接公开网页表单,其中认证用户可经由公共互联网访问网页表单;其中主机组织基于来自网页表单的输入生成用于向数据库提交的潜在结构查询;且其中,使用相似命令项查询数据库包括:经由主机组织中的预测查询语言应用编程接口(PreQLAPI),使用潜在结构查询来查询数据库,该PreQLAPI通过网页表单被间接地向认证用户公开。
根据方法1521的另一实施例,使用相似命令项查询数据库包括为相似命令项对数据库执行预测查询语言(PreQL)结构查询;且其中该方法还包括对数据库执行一个或多个附加PreQL结构查询,一个或多个附加PreQL结构查询的每个查询指定选自下列PreQL命令组的至少一个命令:预测,相似,相似和组。
根据另一实施例,方法1521还包括:从认证订户接收数据集,并随后从该认证订户接收对数据库的查询;以及代表所述认证订户处理数据集以生成索引。
根据方法1521的另一实施例,数据集中多个行的每一行对应于一个实体;其中,多列中的每一列对应于实体的一个特征,同时,各个行与多列中的每列之间的交叉点形成一个单元格以存储该交叉点处的值。
根据另一实施例,在该实施例中有一种非暂时性计算机可读存储介质,其上存储有指令,当主机组织中的处理器执行指令时,这些指令致使主机组织执行操作,所述操作包括:从列和行的数据集中生成索引,该索引代表该数据集的行和列之间的概率关系;将索引储存至主机组织的数据库中;经由请求接口公开主机组织的数据库;在请求接口处接收针对指定相似命令项、作为相似命令项的参数的指定行、和作为相似命令项的参数的指定列的数据库的查询。使用相似命令项查询数据库并且传送指定行和指定列,从而生成预测记录集;响应于查询,返回预测记录集,所述预测记录集中具有多个元素,所述预测记录集的返回元素中的每个包括(i)行标识符,所述行标识符对应于根据潜在结构评估为类似于基于指定列的使用相似命令项传送的指定行的数据集的行,以及(ii)置信度指示符,所述置信度指示符指示使用相似命令传送的指定行和返回用于相应元素的行标识符之间的潜在关系的可能性。
图16A示出了根据所描述的实施例的预测命令项的使用。更具体地说,示出的实施例说明分类和/或回归的使用,以使用预测命令项查询索引,其中进入预测命令项的输入1601固定或定位列的子集,并且进一步,其中输出1602预测单一目标列。从该实例中可以看出,最左边的一列将要被预测(例如,预测命令项的输出1602),并且若干列被提供给预测命令项作为输入1601(例如,第五列、第七列、第八列、第十二列、第十三列和第十六列)。
由于交叉分类技术已经用于创建索引,通过预测指令将提供的预测请求处理成为针对数据集的新行,并且分析引擎将新行分配给每个交叉分类中的类别。其次,使用针对每一类别的所选的标准化分布,预测所请求的数值。与常规预测性分析不同,分析引擎和预测命令项的使用提供灵活预测查询,而不需要正在分析的数据集专用的定制实施模型,因而允许预测指令项的用户指定如他们期望的一样多或一样少的列,并进一步允许分析引擎根据用户请求预测一样多或一样少的元素。
例如,考虑分类或回归,其中除了一个以外的所有其余的列用于预测一个单一的目标列。分析引擎可以使预测使用一个单一的目标列的或可以使预测在用户的判断下使用一些目标列。例如,特定的实施例允许用户通过预测命令项查询索引以询问例如:“在什么量下有机会将关闭AND?”这样的能力不存在于常规可用手段中。
使用预测命令项,针对预测功能调用适当的API使用户能够预测任何所选子集的数据以预测任何列或值。如同典型的定制实施模式一样,不需要使整个数据集仅用于预测一个单一的值。
当使用预测命令项时,用户提供或固定任何列的值,然后预测API调用接受固定值和用户想要预测的那些值。然后预测命令项功能查询索引(例如,经由分析引擎或通过PreQL接口或查询接口等),询问:“若行具有这些固定值,如用户所提供,则分布将会是?”例如,该功能可以固定数据集中除一个之外的全部列,并且然后预测最后一个,缺失的列,如用定制模型进行。但是预测命令项功能的灵活性远高于定制为特定数据集的常规模型。例如,用户可以突发奇想改变待预测列,而在定制实现模型中完全缺乏该功能,因为它们缺乏定制数学构建来预测这样的不可预见列或询问。也就是说,缺乏具有预编程的特定功能,常规模式完全不能执行这种类型的变化查询,因为常规模型被硬编码以求解特定列。相反,在此所述的方法对于任一特定列或数据集而言并未被硬编码或定制,并且同样地,因为业务需求随时间变化,所以用户能够通过作出多个不同的查询来开发其数据或通过简单地变化待预测列来适应其选择查询,即使客户组织的底层数据和数据结构不保持恒定。
同样用户也许还不知道所有待固定的列。例如,关于一个用户数据集可仅含有有限的观测值,关于另一用户,又有大量数据。例如,关于未注册的路人,电商站点可能知之甚少,但关于具有丰富购买历史的注册用户,则可能知之甚多。在这种实例中,预测命令项功能允许固定或填充已知的款项,而不是必须需要所有用户的所有数据,因为一些数据已知是缺失的,并且因此,预测命令项轻松地容纳缺失的数据和用户真实数据集中存在的空值。这样,预测命令项功能仍然可以使用实际已知的数据来预测缺失的数据元素。
使用预测命令项功能的另一性能是指定或固定在已知数据集中的所有数据,即,所有非空值,然后填充其他的一切值。这样,用户可以说数据集中所观察到哪些是已知的,并且对于缺失数据而言,给予预测。因此,利用缺失的或空值的预测数据,通过接受预测质量超过用户的特定置信度上的预测值,预测功能将增加数据集中填充或完成数据的百分比,或通过充分降低用户所需的最小置信度阈值,接受所有预测值。该功能也通过专用GUI界面实施,如在此所述。
使用预测的另一功能是在空集中填充。所以对于特定的实体行(或多行)而言数据可能全部缺失了,并且使用预测命令项功能,可以生成表示新的行的合成数据,在那些表示合理的行中具有新数据,然而是合成数据。
在其他实施例中,可以使用预测来增添非已知但在数据集中应存在或者可存在却还未填充的数据元素,因此允许预测功能来增添这样的数据元素。
使用预测的另一示例是获得任何元素而言的确定性或不确定性,并显示或返回对于该元素而言的合理值的范围。
图16B示出了根据所描述的实施例预测命令项的使用。更具体地,所示实施例示出的是使用“填空”技术,在该技术中,通过使用预测命令项来查询预生成的索引,表格数据集内的缺失数据或空值用预测值填充,其中,向预测命令项的输入1611固定了列的子集,并且进一步,其中输出1612预测了所有的缺失列或剩余缺失列内的缺失元素(例如,空值)。
例如,用户可以采用不完整行(例如所描述的带无数问号的最上行),并且通过预测命令项,用户可以预测所有用以填充空白的缺失值。在末端,用户可以在数据被分析时指定很多行和列中具有很多缺失值的表,而后通过预测命令项用户可以呈现一张表,其中所有空白都已经用相应于置信度质量不同水平的值来填充。
用于此特殊情况的专门工具在下面更详细地讨论,其中UI功能允许用户折衷置信度质量(例如通过置信度评分或置信度指示符)来在此种表中填充更多或者更少数据使得更多数据(或所有数据)可以通过降低置信度来填充,或替代性的,某些但是并非所有的数据可以高于给定的用户可配置的置信度质量阈值等来填充。使用情况下专门的用于本特定使用的GUI可以另外地提供,以下更详细地描述。根据某些实施例,此种GUI代表用户通过API调用预测命令项,但是利用分析引擎的与本文所描述的方法相一致的功能核心来发出基于预测命令项的PreQL查询。
图16C示出了根据所描述的实施例使用预测命令项。更具体而言,所示的实施例示出了合成数据生成技术的使用,其中实际不存在于原始数据集的任何列和行中但与原始数据集一致的数据作为合成数据被返回。合成数据生成再次使用预测命令项作为唯一输入1621,而所有列均未固定。按照用户要求,输出1622导致用于预测现有数据集的所有列,所述数据集呈现单一合成行或得出多个合成行。
因此,可以利用此项功能从而将无固定列的预测命令项作为输入1621调用而填充作为输出1622的空集。举例来说,无论真实或虚拟的实体,对其而言,实体行数据全部缺失。通过使用预测命令项查询索引,分析引擎将通过提供新实体行生成表示空集的数据,在该新实体行中,行内所生成的合成数据提供虽然是合成数据但看似可信的数据。也就是说,此类行的所预测值并非从数据集中引出作为实际观察到的数据,而是代表在数据集内可以合理观察到的数据。如前所述,置信度质量指示符也可用于更好地调节输出1622以适应用户的特定要求。
由响应于预测命令项调用的分析引擎所产生的合成行将输出1622一个或更多实体行,其展示正如在实际观察到的真实数据中存在且存在于由分析引擎分析的数据集中的所有结构和预测关系。此种性能可以使得用户生成并随后测试真实的数据集,但是在未强制用户寻求此种数据以手动输入或猜测此种数据呈现何种样式的情况下,决不能损坏数据集内实体行代表的实际个人真实数据。这在下面情形中是有益的,即针对非常敏感的信息,例如个人财务数据、健康保险携带和责任法案HIPAA所保护的个人医疗健康数据等,为了进行测试则需要数据集。
图16D示出了根据所描述的实施例的示例性架构。特别地,示出了客户组织1605A、1605B和1605C,其中每个客户组织具有能够经由网络1625与主机组织1610介接(包括发送查询和接收回复)的客户端设备1606A、1606B和1606C。在主机组织1610内是请求接口1676,其可以可选地由网页服务器1675实现。该主机组织还包括处理器1681、存储器1682、查询接口1680、分析引擎1685和多租户数据库系统1630。在多租户数据库系统1630中在其多个租户间共享的执行硬件、软件和逻辑1620、认证器1698以及预测数据库1650,所述预测数据库1650能够存储由分析引擎产生的索引,以便于响应于针对预测数据库1650执行的查询而返回预测记录集。
根据一个实施例,主机组织1610运行其中具有至少一个处理器1681和存储器1682的系统1631,其中所述系统包括用于从列和行的数据集中生成索引的分析引擎1685,其中索引表示数据集的行和列之间的概率关系。此种系统1631还包括用于存储索引的预测数据库1650;用于例如向用户或客户端设备1606A-C公开预测数据库的请求接口1676,其中请求接口1676用于接收针对数据库1650的查询1653,所述查询1653指定以下各项中的至少一种:(i)预测命令项、(ii)一个或多个待预测的指定列以及(iii)一个或多个列名称=值对,列名称=值对指定待固定的列名称和值,通过所述值固定列名称。根据这样的系统,查询接口1680使用预测命令项并传送一个或多个待预测的指定列以及一个或多个列名称=值对预测数据库1650进行查询1653,从而使用储存在数据库1650的索引以生成根据列名称=值对固定的、待预测的所述一个或多个指定列的联合条件分布表示。例如,可针对预测数据库1650执行预测命令项及其操作数(一个或多个列ID和一个或多个列名称=值对)。
在这样的系统1631中,请求接口1676还用于响应于查询1653将所述一个或多个指定列的联合条件分布的表示作为输出1654返回。
图16E是根据所公开实施例的方法示出的流程图1632。根据如本文所述采用预测查询接口执行预测命令的系统、装置以及方法,可通过处理逻辑来执行方法1632,所述处理逻辑可包括硬件(例如,电路、专用逻辑、可编程逻辑、微代码等);软件(例如,在处理设备上运行的指令,从而执行各种操作,例如传输、发送、接收、执行、生成、计算、存储、公开、查询、处理等)。例如,图1的主机组织110、图4的机器400或图16D的系统1631可实施所述的方法。根据某些实施例,以下所列出的一些方框和/或操作是可选的。所提供的方框编号是为了清楚而设置的并不旨在规定其中各个方框必须进行的操作顺序。
在方框1691处,处理逻辑从列和行的数据集中生成索引,所述索引表示数据集的行和列之间的概率关系。
在方框1692处,处理逻辑将索引存储在主机组织的数据库内。
在方框1693处,处理逻辑经由请求接口公开主机组织的数据库。
在方框1694处,处理逻辑在请求接口接收数据库的查询,所述查询指定以下各项中的至少一种:(i)预测命令项、(ii)一个或多个待预测的指定列和(iii)一个或多个列名称=值对,所述列名称=值对指定待固定的列名称和值,通过所述值固定列名称。
例如,仅举例来说,根据上述(iii)采用预测命令项所传送的一个或多个列名称=值对的形式可以是,column_abc=‘string_xyz’或可选地,{column_abc=‘string_xyz’}或可选地,column_abc|‘string_xyz’等。根据接受查询的API和/或查询接口,可允许其他语法。此外,可传送多个此列名称=值对。
在方框1695处,处理逻辑使用预测命令项查询数据库并传送一个或多个待预测的指定列以及一个或多个列名称=值对,以生成使用储存在数据库的索引根据列名称=值对固定的一个或多个待预测指定列的联合条件分布的表示。
处理逻辑还可以响应于查询,例如在预测记录集内将所述一个或多个指定列的联合条件分布的表示作为输出返回。
根据另一个实施例,方法1632还包括:响应于查询生成预测记录集;其中,预测记录集包括其中的多个元素,每个元素指定一个或多个待预测的指定列的值;而且,其中,该方法还包括响应于查询返回预测记录集。
根据方法1632的另一个实施例,公开主机组织的数据库包括向认证用户直接公开预测查询语言应用程序编程接口(PreQL API),其中认证用户可经由公共因特网访问PreQLAPI。
根据方法1632的另一个实施例,使用预测命令项查询数据库包括将PreQL查询传送给数据库,PreQL查询具有如下的查询语法:作为必需项的预测命令项;必需的目标项,其指定一个或多个待预测的指定列;必需的地点项,其指定待固定的列名称和所述值,通过所述值将列名称固定成所述一个或多个列名称=值对,其中,所需的地点项限制所述查询的输出到具有返回的元素的预测记录集,所述返回的元素在概率上与所述待固定的一个或多个列和对应值相关,通过所述对应值如所指定的固定列名称;以及可选来源项,当对其进行指定时,其指定一个或多个表、数据集、数据源,和/或要查询的索引。
根据方法1632的另一个实施例,使用预测命令项查询数据库包括将JavaScript对象符号(JSON)结构化查询传送给数据库,该JSON结构化查询具有如下查询语法:作为必需项的预测命令项;所述一个或多个待预测的指定列的必需说明;待固定的列名称和所述值的必需说明,通过所述值将列名称固定成所述一个或多个列名称=值对,其限制所述查询的输出到具有返回的元素的预测记录集,该返回的元素在概率上与所述待固定的一个或多个列和对应值相关,如所指定的经由所述一个或多个列名称=值对通过所述对应值来对所述列名称进行固定;以及待查询的一个或多个表、数据集、数据源,和/或索引的可选说明。
根据方法1632的另一个实施例,公开主机组织的数据库包括向认证用户直接公开网页表单,其中认证用户可经由公共因特网访问网页表单。
根据方法1632的另一个实施例,主机组织基于来自所述网页表单的输入生成用于提交到数据库的预测性查询;并且其中,使用预测命令项查询数据库包括:在主机组织内经由预测查询语言应用程序编程接口(PreQL API)使用预测查询来查询数据库,所述PreQLAPI通过网页表单间接地向认证用户公开。
根据另一个实施例,方法1632还包括:返回预测记录集,所述预测记录集为原本在数据集中的每一列指定预测值。
根据另一个实施例,方法1632还包括:响应于所述查询,返回合成数据集,其中,所述合成数据包括其中具有数据的合成行,根据索引的行和列之间的概率关系,所述具有数据的合成行起初与数据集中的行和列相一致,但所述合成数据不包括数据集的任何初始记录。
根据方法1632的另一个实施例,返回所述合成数据集包括以下当中的至少一种:将来自所述数据集的财务记录匿名化;将来自所述数据集的医疗记录匿名化;以及将来自所述数据集的网络用户记录匿名化。
根据另一个实施例,方法1632还包括:基于数据集的行和列之间的概率关系使用索引返回分布;并且其中,所述返回的分布包括来自索引的合成数据,所述索引由数据集的列和行通过数学方法获得,但包含与不在数据集的任何初始记录中的数据有关的信息,并且进一步地,其中,从所述分布所获得的索引并不受限于所述数据集初始记录的数据范围。
根据另一个实施例中,方法1632还包括返回下述当中的至少一种:所述分布的置信度分数,其中,所述置信度分数范围从0到1,0表示预测值没有置信度,1表示预测值的最高可能置信度;以及表示最小值和最大值的置信度区间,存在介于最小值和最大值之间的某一置信度值。
根据方法1632的另一个实施例,基于所述概率关系返回分布,还包括:在查询数据库时,利用预测命令项传送可选的记录计数项,该可选的记录计数项响应于所述查询指定待返回记录的数量;并且确定返回由所述记录计数所指定记录的数量必须的处理资源的所需数量。
根据方法1632的另一个实施例,基于概率关系返回分布,进一步包括:当查询数据库时,利用预测命令项传送最小精确度阈值;并且,确定待返回样品的所需总数以满足作为下界的最小精确度阈值。
根据方法1632的另一个实施例,使用预测命令项查询数据库包括针对使用预测命令项查询的数据库执行预测查询语言(PreQL)结构化查询;且其中该方法还包括针对数据库执行一个或多个附加PreQL结构化查询,所述一个或多个附加PreQL结构化查询的每一个指定选自包括预测、相关、相似和分组的PreQL命令组中的至少一种命令。
根据另一个实施例,方法1632还包括:从认证订户接收数据集,随后从该认证订户接收针对数据库的查询;并且代表认证订户处理数据集以生成索引。
根据方法1632的另一个实施例,数据集中多个行的每一行对应于一个实体;其中,多列中的每一列对应于实体的一个特征;并且其中每个相应行与多列中每一列的交叉点形成单元格以存储该交叉点处的值。
根据另一个实施例,存在一种其上存储有指令非暂时性计算机可读存储媒体,当由主机组织的处理器执行时,这些指令使得主机组织执行包括以下各种操作,包括:从数据集的列和行中生成索引,该索引表示该数据集的行和列之间的概率关系;将索引储存在主机组织的数据库内;通过请求接口公开主机组织的数据库;在请求接口处接收针对数据库的查询,所述查询指定(i)预测命令项,(ii)一个或多个待预测的指定列,和(iii)一个或多个列名称=值对,其指定待固定列名称和值,通过所述值将列名称进行固定;利用预测命令项查询数据库并且传送一个或多个待预测的指定列以及一个或多个列名称=值对,从而利用储存在数据库中的索引以生成所述一个或多个待预测指定列的、根据列名称=值对固定的联合条件分布表示。
图16F描绘了根据所描述的实施例的示例性架构。这里所描述的实施例与图16D的实施例等同,除了通过固定的零列使用指定预测指令项的查询1657,也就是说,无论如何不存在通过预测指令项传送的列ID。因此,响应于查询1657返回的输出1658提供具有一个或多个实体行的、生成的合成数据,所述一个或多个实体行具有针对数据集的每列的预测值。
根据一个实施例,主机组织1610操作其中具有至少一个处理器1681和存储器1682的系统1631,其中所述系统1631包括用于从数据集的列和行中生成索引的分析引擎1685,其中所述索引表示所述数据集的行和列之间的概率关系。这样的系统1635还包括用于存储索引的预测数据库1650;请求接口1676,用于例如向用户或客户端设备1606A-C公开预测数据库,其中请求接口1476接收针对指定预测命令项的预测数据库并具有固定零列的查询1657,使得不存在通过预测命令项传送的列ID。在这样的系统中,查询接口1680使用预测指令项来查询1657预测数据库1650,而无需任何指定的列,从而生成为输出1658,生成的合成数据具有一个或多个具有针对数据集每列的预测值的实体行。在这样的系统1611中,请求接口1676,响应于查询1657,进一步返回生成的合成数据作为输出1658,所述生成的合成数据具有一个或多个具有针对数据集每列的预测值的实体行。
图16G是示出根据所公开实施例方法的流程图1633。根据如本文所述采用预测查询接口执行预测命令的系统、装置以及方法,可通过处理逻辑来执行方法1633,所述处理逻辑可包括硬件(例如,电路、专用逻辑、可编程逻辑、微代码等);软件(例如,在处理设备上运行的指令,从而执行各种操作,例如传输、发送、接收、执行、生成、计算、存储、公开、查询、处理等)。例如,图1的主机组织110、图4的机器400或图16F的系统1635可实施所述的方法。根据某些实施例,以下所列出的一些方框和/或操作是可选的。所提供的方框编号是为了清楚而设置的并不旨在规定其中各个方框必须进行的操作顺序。
在方框1670处,处理逻辑从列和行的数据集中生成索引,该索引表示数据集的行和列之间的概率关系。
在方框1671处,处理逻辑将所述索引存储在主机组织的数据库内。
在方框1672处,处理逻辑经由请求接口公开主机组织的数据库。
在方框1673处,处理逻辑在请求接口处接收指定预测命令项以及通过使用预测命令项待传送的一个或多个指定列的数据库查询。
在方框1674处,处理逻辑利用预测命令项和一个或多个指定列来查询数据库以生成输出,其中输出包括利用存储在数据库里的索引所生成的、具有一个或多个实体行合成数据,所述实体行具有针对每列数据集的预测值。
此外,处理逻辑可响应于查询例如在预测记录集中将所生成的数据作为输出返回。
根据另一个实施例,方法1633进一步包括:响应于所述查询,将所生成的具有用于数据集每列的预测值的一个或多个实体行的合成数据作为合成数据集返回,其中,所生成的合成数据包含其中具有数据的合成行,根据索引的行和列之间的概率关系,所述合成行起初与数据集中的行和列相一致,但所述合成数据不包括数据集的任何初始记录。
根据方法1633的另一个实施例,返回合成数据集包括以下当中的至少一种:将来自所述数据集的财务记录匿名化;将来自所述数据集的医疗记录匿名化;并且将所述记录集的网络用户记录匿名化。
根据另一个实施例,存在在其上存储有指令的非暂时性计算机可读存储媒体,当由主机组织中处理器执行时,该指令使得主机组织执行以下操作,包括:从列和行的数据集中生成索引,该索引表示该数据集的行和列之间的概率关系;将所述索引储存至所述主机组织的数据库中;经由请求接口公开所述主机组织的数据库;在请求接口处接收用于指定预测命令项且具有固定的零列的数据库查询,从而不存在通过预测命令项传送的列ID;并且利用预测命令项和一个或多个指定列查询数据库以生成输出,其中输出包括利用存储在数据库里的索引所生成的具有一个或多个实体行的合成数据,所述实体行具有针为数据集的每列的预测值。
图17A描绘了图形用户界面(GUI)1701,其通过利用预测命令项来显示并操控具有缺失值的表格数据集;更具体地说,在显示界面处将GUI提供给用户,该显示界面允许用户上传或指定具有列和行的数据集,然后将该数据集作为表格显示,并且通过以预测值填充缺失值(例如空值)使其受操控。在元素1707处,用户通过GUI1701指定待分析和显示的数据。例如,用户可以浏览本地计算设备来查找文件,例如excel电子表格,然后将文件上传至系统中进行分析,或用户可以替代地指定提供GUI1701的主机组织可访问的数据集。例如,该主机组织是基于云服务供应商,当用户的数据集在云中已经存在时,用户可以简单地通过元素1707处的动作将该数据集指定为数据源。
在图17A所描述的实例中,用户提供的显示表格的填充率为61%。该表格仅部分填充,原因是所提供的用户数据集有很多缺失数据元素。目前以灰度显示的值示出了已知值,例如元素1703所描述的前花青素列最上行的已知值“1.38”。脯氨酸列右侧两列处在最上行有显示的空值,如元素1702所描述的,所述最上行仅显示为空白单元。
在初始描述中,所有已知值1703都示出并且对应于在基础数据集内实际观察到的数据。根据该实施例,假设所有已知值是在未显示任何预测值的情况下被显示的,则作为阈值修改器工作的滑块1705自始至终是位于左手侧并且表示最小填充率1704。相应地,假设所有值都在所提供的数据集内实际被观察到并且没有预测到任何值,则显示的所有值的置信度可被认为是100%。滑块控制器可以用作阈值修改器用以控制表格的填充百分比,其进而改变所需置信度阈值以获得用户指定的填充百分比,或可选择地,该滑块控制器可以用作阈值修改器以控制用户对不确定性的可接受水平,从而当用户指定的对不确定性可接受水平改变时,表格的填充百分比将根据符合用户指定的对不确定性的可接受水平的可用预测值来提高或降低。在其他的实施例中,不确定性可接受水平可以通过例如文本输入框或其他控件来指定。
用户可以点击下载1706动作以下载各种格式的显示表格,然而此种表格将对应于刚好通过数据1707动作指定并下载的源表格。
没有预测到任何值,但是用户可以仅仅移动滑块用以提高缺失值的数据填充率,使得GUI起到代表用户来利用预测函数的功能。恰好在控制器上方,告知用户最小填充率1704的当前状况,根据如上所述显示的实例,其为61%,但当滑块移动时该值将改变。
图17B描述了图形用户界面的另一个视图。在此,显示表格已使用预测值填充了一些但并非全部的空值(例如缺失数据)。例如,对应于用户基础数据集内空值的、位于脯氨酸列最上行的先前空白单元格当前由元素1708所描述的预测值“564”所填充。值得注意的是,该值564并不在用户基础数据集中所述位置处,而且在用户基础数据集中也未观察到。相反,GUI1701代表用户发起预测的命令项调用,从而检索在此所显示的预测值1708结果。在此实例中,所有灰度值是已知值,并且所有纯黑色显示的表格中的值是代替了相同数据集中先前未知空值的预测值。
滑块当前示出如元素1709描述的73%的填充率,并且当前一些而非所有缺失值由预测值填充。该填充率水平是用户可控制的,当用户指定的可接受不确定性水平分别提高或降低时,用户可以仅来回移动滑块使得GUI1701用预测值来填充缺失值或移除预测值。
用户可配置的最小置信度阈值未在本实例中示出,可以通过文本框、下拉菜单或滑块等对其进行设定。此种GUI元素允许用户指定在GUI1701处待显示的预测值所需最小置信度。在一个实施例中,具有最小置信度阈值另外会显示出最大填充值,且元素1709处的滑块随后受限于如最小置信度阈值所限制的最大填充率。
这是因为当填充百分比提高时,有必要降低用于填充空值的预测值置信度质量。反之,当填充百分比降低时,可提高置信度质量。
因此,如果用户指定理想(例如100%)置信度质量,则不可能填充任何空值,因为不可能以100%的置信度预测任何缺失值。然而,将继续显示所有实际观察到的值,因为它们是以100%的置信度从数据集中获知的。相反,如果相同的用户限定非常低的置信度(例如25%),那么即使不是全部,绝大多数的缺失值是非常有可能被预测的,因为就置信度质量来说,25%是较低的阈值要求。对于某些数据集来说,可行的是,根据基础数据集的质量、基础数据集填充的大小等,可以以较高(例如80%)的置信度预测所有或几乎所有的空值。无论如何,GUI1701允许用户使用本身的数据集通过高度直观的方式进行尝试,而不需懂得预测命令项如何运作、需要什么输入、如何调用PreQL或JSON API等等。因此,此种GUI1701可以显著地降低希望使用由分析引擎核心提供的预测能力的非专业用户的学习曲线。
图17C描述了图形用户界面的另一个视图。在此,GUI1701保持其先前描述的已知值1703和预测值1708,但用户可控制滑块已一直向右移动至如元素1709描述的100%最大填充率,以便使得所有已知值保留在显示表格中,但数据集的所有空值也被填充并且在GUI1701处显示。
另外示出的是在元素1710处作为可选输入字段的最小置信度阈值动作,所述可选输入字段用于指定如前(例如通过下拉菜单、文本框、滑块、单选按钮等)提到的最小置信度阈值。一些表格可以以大于零的最小置信度阈值被100%的显示,而另一些表格则要求,如果最小置信度阈值在1710指定,那么在数据集的基础数据集不佳时其需要为零或接近零。根据数据集元素的概率相关性以及有无噪音,这些测定将落到数据集之外。
然而,在1710处指定的最小置信度阈值允许非专业用户以高度直观方式以其自身数据集进行试验。如果用户在1710指定不允许100%填充率的最小置信度,则当滑块一直向右移动时,最大%填充或填充百分比将根据用户在1710设定的最小置信度来指示可行的填充程度。
因为该表格是以100%填充率填充的,所以可预测所有空值或缺失值,但可能需要在一定程度上降低置信度以获得100%填充率,在这种情况下,1710处可选最小置信度阈值可保持复原、变灰、失效或根本不向用户显示。
根据某些实施例,如用户通过滑动条选择(或通过1710处的可选最小置信度阈值控制)的所选填充水平或可接受不确定性水平,可以通过点击下载动作而进行“保存”,从而捕捉所显示的数据集。所显示的拷贝根据用户自行决定,可另存为新版本或保存在该表格的原始版本上,从而使得所提供的预测值保存或输入到用户本地拷贝的单元格位置。元数据还可用于从已知值和观察到的值中区别预测值,以便使得随后使用数据集不会受使用GUI1701用户的试验活动破坏或受其错误所影响。
1709处的控制滑块是可行的,因为当用户要求预测某一值时,例如“收入”的缺失值,实际返回到生成预测命令项调用的GUI功能的值是由分析引擎模型预测的相应人员的收入分布,以生成预测命令项随后要查询的索引。预测值的返回分布使得GUI根据置信度质量选择待显示值并且限制其显示。在其他实施例中,返回置信度指示符而非分布。
通常通过使用此类GUI界面或此类概念,给予所述用户对精确度和置信度的控制权。以此种方式,所述用户可控制填充多少数据以及所述置信度质量阈值应用到什么程度,如果可能的话。在后台并且在用户的视野范围之外,所述GUI1701针对由用户指定的分析数据集发起预测命令项API调用。所述分析引擎获取用户的数据集,例如具有多种类型化列的表格,并且随后应GUI的请求对每个具有空值的单一单元格进行预测。就每个缺失的单元格,将GUI1701从所述预测命令项API调用返回分配或置信度指示符,并且当所述滑块由用户操控时,GUI的滑块的功能查看所述空值的分布、所述空值分布的方差,然后将其估计值显示为所述实例中示出的预测值。因此,对于替代缺失空值的任意给定的具有预测结果的单元格,根据在所述基础数据集中已经看到的多个其他已知值或观测值,所述GUI1701通过利用预测命令项功能向所述用户展示所述空值的值。所述GUI1701自身无法对所述数据集进行分析,但仅受益于从如上所述的预测命令项API调用返回的数据。
根据一个实施例,仅以表格形式的原始数据开始,例如电子表格中的数据或存储在关系数据库的一个或多个表格中的数据,上传命令项API调用首次由所述GUI发起以将所述数据上传或插入至所述预测数据库,在预测数据库上,分析引擎自动地或响应于分析命令项API调用运作以分析所述数据。例如,当用户支付了访问所述功能的服务费用时,一旦用户上传所述数据,所述GUI可向所述用户显示定价,并且在所述分析引擎进行分析之前请求接受。在其他情况下,所述分析引擎仅自动地执行所述分析。无论如何,一旦上传所述客户指定的数据,所述数据看起来正如所有其他表格数据,但一旦经过所述分析引擎上传和分析,便针对所述数据执行概率模型,并且所述分析引擎通过其模型获知所述行和列如何彼此交互,由此各种概率关系和起因得以构建并且得以在如本文所述生成的索引中表示出来。例如,生成的统计索引指出哪些列彼此相关以及如何相关以获知,例如列的特定子集可能起因相同。
难题在于,分析引擎必须利使用由用户提供的真实数据而非原始、精确数据集来执行其分析,并且大多数情况是在事先不知道待分析数据的基础结构的情况下进行此种分析的。对于存在所述真实世界中的数据,一些列是垃圾列,一些列是复制列,一些列是异类列(例如,不一致类型化的数据),一些列是带有仅稀疏填充的数据或用嘈杂的错误数据填充的噪声等。尽管缺乏完整的原始数据或标准化的数据结构,所述分析引擎仍可通过其统计索引和其他模型来识别适当关系和起因。
通过所述统计索引和其他模型,索引的分布产生模型,所述模型存储为可查询索引以支持所述预测查询,所述查询包括所描述的GUI使用的那些查询。其他也使用所述预测命令项和其他预测PreQL查询的指定GUIs和API工具包括商业机会评分、下一最佳供应识别等。在本说明书中稍后还将对这些和其他实例进行详细描述。
图17D示出了根据所描述的实施例的示例性架构。具体地,示出了客户组织1705A、1705B和1705C,每个客户组织具有用户客户端设备和显示器1706A、1706B和1706C,所述显示器能够经网络1725与主机组织1710相介接,包括发送输入、查询和请求以及响应地接收包括显示输出的回应。主机组织1710内是请求接口1776,该界面可以可选择地由网页服务器1775实施。主机组织还包括处理器1781、存储器1782、查询接口1780、分析引擎1785和多租户数据库系统1730。多租户数据库系统1730内是在多租户数据库系统1730的多个租户之间共享的执行硬件、软件和逻辑1720,认证器1798,以及预测数据库1750,预测数据库1750能够存储由分析引擎1785生成的索引,以便于响应于针对预测数据库1750所执行的查询返回预测记录集。
根据一个实施例,主机组织1710操作其中具有至少一个处理器1781和存储器1782的系统1711,其中所述系统1711包括用于从用户接收表格数据集1753作为输入的请求接口1776,其中表格数据集包括组织成列和行的数据值。用户可提供作为文件附件的表格数据集1753或指定表格数据集1753的位置。这样的系统1711还包括分析引擎1785,其用于识别从用户接收或由用户指定的表格数据集1753内的多个空值,其中这些空值分散在表格数据集的多个整行和多个整列上。在这样的实施例中,分析引擎1785进一步由列和行的表格数据集产生索引1754,其中所述索引1754表示表格数据集1753的行和列之间的概率关系。请求接口1776将表格数据集作为显示输出1755返回给用户,显示输出1755包括描述成已知值的数据值和描述为未知值的空值;请求接口1776进一步从用户接收填充输入1756。例如,这样的输入可以是通过滑块控制、用户指定的最小置信度阈值等输入。从用户接收的填充输入1756指定了显示的表格数据集内的至少一部分未知值用从存储在预测数据库1750内索引中检索出的预测值1758填充。可响应于由分析引擎1785和/或查询接口1780针对预测数据库1750而构建和发出的查询1757,根据存储在预测数据库1750内的索引返回这样的预测值1758。
例如,在这样的系统中,查询接口1780可(例如,通过查询1757)查询索引得出预测值1758,这之后请求接口1776将预测值1758作为更新的显示输出1759通过用户的客户端设备和显示器1706A-C返回给用户。例如,更新的显示输出在现在示出预测值的用户的客户端设备和显示器1706A-C处显示,所述预测值代替先前示出的未知值,所述未知值对应于用户所提供或指定的原始表格数据集1753内的缺失数据或空值条目。
根据另一个实施例,系统1711还包括存储由分析引擎生成的索引的预测数据库1750。在这样的实施例中,预测数据库1750为一个或多个订户在主机组织1710处执行基于云的按需服务。
在另一实施例中,系统1711还包括用于验证用户(例如,在用户的客户端设备和显示器1706A-C之一处的用户)是已知订户的认证器1798。该认证器1798随后进一步运行来验证由已知订户提交的认证凭证。
在另一个实施例中,该系统1711还包括用于实施请求接口的网络服务器1775,其中网络服务器1775用于从多个客户组织当中的一个或多个客户端设备接收作为输入的多个访问请求,所述客户组织通过网络与主机组织通信介接;具有预测数据库功能以实现预测数据库的多租户数据库系统,其中每个客户组织是选自由以下各项组成的组的实体:独立而不同的远程组织、主机组织内的组织组、主机组织的商业伙伴或订购由主机组织提供的云计算服务的客户组织。
图17E是示出了根据所公开的实施例方法的流程图。根据如本文所述的用于向用户显示器显示表格数据集和预测值的系统、装置以及方法,方法1721可由处理逻辑来执行,所述处理逻辑包括硬件(例如,电路、专用逻辑、可编程逻辑、微代码等),软件(例如,在处理设备上运行的指令,以执行多种操作,如传输、发送、接收、执行、生成、计算、储存、公开、查询、处理等)。例如,图1的主机组织110、图4的机器400或图17D的系统1711可以实现所描述的方法。根据某些实施例,下面所列出的一些方框和/或操作是可选的。所提供的方框编号是为了清楚而设置的并不旨在规定其中各个方框必须进行的操作顺序。
在方框1791处,处理逻辑从用户接收表格数据集作为输入,该表格数据集具有组织成列和行的数据值。
在方框1792处,处理逻辑识别表格数据集内的多个空值,所述空值分散在表格数据集的多个整行和多个整列。
在方框1793处,处理逻辑从列和行的表格数据集中生成索引,所述索引表示表格数据集的行和列之间的概率关系。
在方框1794处,处理逻辑向用户显示表格数据集作为输出,所显示的输出包括示出为已知值的数据值和示出为未知值的空值。
在方框1795处,处理逻辑从用户接收输入以使用预测值来填充所显示表格数据集内的至少一部分的未知值。
在方框1796处,处理逻辑查询预测值的索引。
在方框1797处,处理逻辑向用户显示预测值作为更新的输入。
显著地,在数据集内的“未知值”或“空值”所表示的空白值可以出现在表格数据集内的任何位置,但是可使得用户通过分析分析引擎的核心来直观地研究数据集,并且无缝地使得用户根据不同的标准(例如最小置信度阈值)和用户可配置滑块机构(例如通过图17A-C的GUI示出的机构)在数据缺失的任何位置填充值。微软的Excel程序很擅长基于算法向上计算下一列或向下计算下一行,但是这样的常规电子表格程序不容许在数据集中不同行和不同列间存在缺失值或空位,特别是在单一行内存在多个未知值或在单一列内存在多个缺失值的情况下。
分析并返回显示给用户的表格数据集并非是通过根据关系位置以Excel电子表格可操作的方式通过将已知算法复制到另一单元格位置而操作的。相反,用户的缺失值或未知值的填充和显示基于查询和接收相应单元格位置的预测值,然后在返回显示给用户的表格数据集内向用户显示预测值。这通过分析和生成基于最初接收数据集的索引的概率来实现。传统解决方案(例如Excel电子表格)根本不能进行此类分析,也不能产生此类索引,因此,它们不会使多个缺失单元格的预测值分散在数据集的多个整排和整列。
根据一个实施例,确定对于所有缺失单元格的预测从而得到所接收的全部表格数据集,然后当用户选择出特定的确定性水平(例如,最小置信度水平等)时,使用满足标准的值来对显示进行更新。例如,然后,可以将具有缺失值的单元格显示给用户,所述缺失值具有预测值,其中相应的置信度指示符超出默认阈值或用户指定阀值。
根据方法1721的另一个实施例,从列和行的表格数据集生成索引还包括在主机组织的数据库内储存索引;其中,查询预测值的索引包括查询预测值的数据库;
根据方法1721的另一个实施例,从用户接收输入以使用预测值来填充所显示的表格数据集中至少一部分未知值包括:从用户接收输入以使用预测值来填充所显示的表格数据集中所有未知值;其中查询预测值的索引包括查询在表格数据集中识别的每一空值预测值的索引;其中将预测值作为更新的输出向用户显示包括通过显示相应的预测值来代替所有的未知值。
根据方法1721的另一个实施例,表格数据集中内的多个空值不限于表格数据集的任何行或列;其中,将预测值作为更新的输出向用户显示代替用表格数据集显示的未知值,而没有对任何行或列进行限制,并且无需改变预测值所依据的索引。
根据方法1721的另一个实施例,查询预测值的索引包括查询表格数据集内识别的多个空值的每个的索引;其中,所述方法进一步包含响应于查询,接收表格数据集内识别的多个空值的每一个的预测值;其中将预测值作为更新的输出向用户显示包括显示所接收的预测值。
根据方法1721的另一个实施例,查询预测值的索引包括:生成预测查询语言(PreQL)查询,其指定表格数据集内识别的多个零值的每一个的预测命令项;向预测查询语言应用程序编程接口(PreQL API)发出每个所生成的PreQL查询;并且响应于所发出的PreQL查询来接收表格数据集内识别的多个零值的每一个的预测结果;
根据方法1721的另一个实施例,显示表格数据集进一步包括:使用电子表格的单元格内的黑色文本显示已知值;将未知值显示为电子表格内的空白单元格;以及使用电子表格的单元格内的彩色或灰色文本来显示预测值;
根据方法1721的另一个实施例,将预测值作为更新的输出向用户显示包括:在图形用户界面(GUI)处的电子表格或表格内显示更新的输出;其中,已知值以第一类型文本显示为在GUI处的电子表格或表格内的填充单元格;其中预测值以第二类型文本显示为在GUI处的电子表格或表格内的填充单元格,第二类型文本区别于与已知值对应的第一类型文本;并且其中任何剩余未知值显示为GUI处的电子表格或表格内的空单元格。
根据方法1721的另一个实施例,将表格数据集作为输出向用户显示以及将预测值作为更新的输出向用户显示包括:在图形用户界面(GUI)处的电子表格或表格中显示表格数据集和预测值;其中,GUI还包括用户可控的滑块界面,其用于指定电子表格或表格的可接受的不确定性程度;并且,其中,从用户接收输入以使用预测值来填充所显示的表格数据集中至少一部分未知值包括:经由滑块界面从用户接收可接受的不确定性程度作为输入;
根据另一个实施例,方法1721进一步包括:显示GUI的最小填充百分比,其中所述最小填充百分比对应于表格数据集内已知值的百分比,所述已知值来自表格数据集的所有零值和和所有已知值的总和。
根据方法1721的另一个实施例,用户可控的用于指定电子表格或表格的可接受的不确定性程度的滑块界面受限于涵盖最小填充百分比和最大不确定性程度的范围,所述最小填充百分比和最大不确定性程度是完全填充所显示的表格数据集所必需的。
例如,完全填充所显示的表格数据集将获得100%的填充百分比,但是并不一定要求用户指定等于100%的不确定性的可接受程度。相反,可行的是,所显示的表格数据集在用户所指定的可接受的不确定性程度(比如50%)上可保持100%的填充百分比(例如,每个单一零值或未知值都填充有预测结果)。不管用户所指定的可接受的不确定性程度是多少,随着可接受的不确定性程度增大,将填充表格的更多部分,并且随着可接受的不确定性程度变少,将填充表格的较小部分,这样就使得用户动态地研究预测的置信度如何高度直观地影响所显示的结果。
根据另一个实施例,方法1721还包括:响应于用户通过滑块界面来指定最大可接受的不确定性程度的输入,将GUI的电子表格或表格填充至100%的填充百分比;并且通过降低每个预测值所需的置信度来填充所有空值,直到表格数据集中的多个空值中每一个都有预测值。
未知值对应于表格数据集中完全缺失的数据,然而,已知值可以定义为实际确定的值,因为所述数据是实际所观察到的。因此,最初将表格数据集作为输出返回显示给用户可以包括所有实际确定的值,也就是说,最初的输出可以仅仅以表格或电子表格类型格式返回显示在原始表格数据集中实际观察到的所有值。因此,未知值将仍会缺失。然而,因为只显示已知数据,这种显示可以以100%的置信度显示。因此,所显示输出的填充水平或程度对应于最小填充百分比,该最小填充百分比是还可以向用户显示的值。
在频谱的另一端处,尽管最初所显示的表格数据集具有未知值,用户仍可以要求查看完全的填充表格。这可以通过显示用户所有大于零的预测值来实现,因此被定义成完全填写所显示的表格或完全填充所显示的表格。当完全填写该表格时,无论预测值的置信度是多少,任何识别的空格将提供有用于显示的预测值。因此,所有在“0”确定性和“1”确定性之间的值都会显示出来。用户可看到该视图,然而,该显示可以另外表明某些预测值的确定性并不高或表明具有最小置信度质量的预测值的置信度分数,诸如此类。在可选择的实施例中,用户可以指定最小置信度质量阈值,然后根据用户指定的最小置信度质量阈值对所显示的值进行限定。当用户所指定的最小置信度质量阈值被指定成大于0时,由于很可能存在不能以超过用户所指定的最小置信度质量阈值的置信度进行预测的单元格,最大填充百分比将降至低于100%。
因此,根据另一个实施例,方法1721还包括:在图形用户界面(GUI)显示用户可控制的最小置信度阈值,GUI在电子表格或表格中向用户显示作为输出的表格数据集;通过用户可控制的最小置信度阈值接收用户指定的作为输入的最小置信度阈值;并且其中,向用户显示作为更新的输出的预测值包括在GUI处仅显示预测值,其具有等于或大于用户指定的最小置信度阈值的置信度指示符。
在某些实施例中,构建查询,随后将其发出以获得表格数据集内的每个缺失单元格或未知值,然后相应性地返回预测。获取这些缺失值的其中一个,置信度指示符可返回成值,或者可返回分布,从而进行进一步的分析。以用于查询预测真|假值的特定缺失单元格为例。该查询可返回示例性100个预测的结果。也许,75个预测返回真值,而25个预测返回假值。因而,可以说所预测的值有75%的确定性为真值。然后,可将那75%的确定性与阈值进行对比,以确定是否显示该值。然而,除了该基础的实例之外,还有很多计算确定性或置信度指示符的其他方法。在更复杂的实例中,假如真|假值的预测结果为50-50,则预测结果返回为50真和50假。在这种情况下,虽然结果是50%确定为真和50%确定为假,但是比例相同的50-50的结果还是最为不确定的。换言之,50-50的结果是可能的最不确定的结果,并且因此对应于最大的不确定性。
预测不限于简单的真|假。以RGB字段的空值为例,在RGB字段中存在具有红色、绿色和蓝色三种颜色可能性的封闭集。在此,如前所述,预测可返回100个示例性猜测或预测,但现在尝试预测颜色值为红色、绿色或蓝色中的一种。因此,结果为红色的百分数较小,为绿色的百分数则大得多,为蓝色的百分数则是某个中间的百分数。通过这样的结果,未知单元格的预测值可因此返回为绿色,其确定性则是在所有猜测中返回为绿色的尝试预测比例。因此,如果作出100次尝试以确定RGB值,且其中的43次返回为绿色,则确定性可确定成43%为绿色。此外,可实施返回分布的许多其他实例并进行解读。在某些情况下,分析引擎仅返回代表结果中置信度或确定性的值或分数,而在其他情况下,则返回代表为获得预测值而作出的多次尝试的分布。
因此,根据另一个实施例,方法1721进一步包括:在图形用户界面(GUI)处显示用户可控制的最小置信度阈值,所述GUI将表格数据集作为输出在电子表格或表格内显示给用户;以及显示GUI的最大填充百分比,其中所述最大填充百分比对应于所有已知值和所有空值的总和,所有已知值和所有空值的总和以超过用户可控制的最小置信度阈值的置信度指示符将预测值返回成所有空值和所有已知值总和的百分比。
根据另一个实施例,方法1721进一步包括:响应于查询预测值的索引,接收表格数据集内的多个空值中每一个空值的置信度指示符;其中将预测值作为更新的输出显示给用户包括:将预测值中所选择的值显示,所述预测值对应于超出默认最小置信度阈值或用户指定的最小置信度阈值(当存在时)的置信度质量。
根据一个实施例,响应于返回哪引起预测值,发出查询以获得每个未知值,然后根据它们相应的置信度指示符进行分级和排序。当每次用户输入滑块处于100%填充率的位置时,更新显示以显示具有已知值或预测值的所有单元格,而不管预测值的置信度的大小。反之,如果用户的最小阈值输入字段设为100%,则仅显示已知值。将确定性阈值降至75%会获得具有所有已知值(其确定性原本为100%)的显示输出以连同具有至少75%的确定性指示符的任何预测值,诸如此类。通过这样的方式,用户可直观地操纵控件以研究数据以及与数据进行交互。
根据另一个实施例,方法1721进一步包括:响应于查询预测值的索引,接收表格数据集内的多个空值中的每一个空值的置信度指示符;计算所接收的每一分布的可信区间;且其中将预测值作为更新的输出显示给用户包括:显示预测值中所选择的值,其对应于超过最小阈值的计算出的可信区间。
可信区间(或贝叶斯置信度区间)是用于区间估计的后验概率分布域中的区间。多变量问题的概括是可信区域。例如,在确定参数t的不确定性分布的实验中,如果t介于35和45之间的概率是0.95,则35<=t<=45是95%可信区间。
根据方法1721的另一个实施例,显示表格数据集进一步包括:显示已知值作为电子表格的单元格内的第一文本类型;查询对应于每个未知值的预测值的索引;且其中将预测值作为更新的输出显示给用户包括:显示预测值作为电子表格的单元格内的第二文本类型,其中第二文本类型的所显示不透明度与所显示预测值的置信度指示符成比例。
根据方法1721的另一个实施例,显示表格数据集作为给用户的输出包括:显示已知值作为电子表格的单元格内的黑色文本;且其中将预测值作为更新的输出显示给用户包括:显示预测值作为灰度级文本,相比于具有更新置信度指示符,所述预测值带有以更深灰度显示的更高置信度指示符。
例如,用为使用滑块的替代,可以将所有值作为显示输出提供给用户。例如,可在纯黑色文本中描述已知值,然后可通过以预测值的亮度或与其确定性成比例的不透明度将其显示成灰度级文本,从而进行区分。以这种方式,高置信度的预测值可显示成暗灰色,而并不是完全为黑色文本,并且相反,仍可显示低置信度的预测值,但显示成浅灰色文本。
根据另一个实施例,方法1721进一步包括:以每列为基础对表格数据集的每列的预测难度评分进行显示,所述表格数据集作为输出显示给用户,其中通过以下方式,计算表格数据集的每一列的预测难度评分:(i)识别列中的所有未知值;(ii)查询对应于列中识别的每个未知值的预测值的索引;(iii)接收列中识别的每个未知值的置信度指示符;以及(iv)根据所接收的列中识别的未知值的置信度指示符来计算列的预测难度评分。
根据方法1721的另一个实施例,所述方法进一步包括:以每列为基础,对表格数据集的每列的最大填充百分比进行显示,所述表格数据集作为输出显示给用户,其中最大填充百分比是在各自列中识别的未知值的数量,所述未知值的置信度指示符超过最小置信度质量阀值。
例如,获取初始表格数据集中的每列,将会给用户以下提示,其关于使用预测值或已知值和预测值的结合同时符合最小置信度阀值填充了多少个特定列。因此,为使得特定列100%进行填充,可能需要大幅降低最小置信度。由于确定性降低,能够通过用预测值代替未知值填写更多的每一列。可能会更容易预测某些列,因此,对于给定的确定性,它们可达到100%填充率,而具有相同确定性的其他列仍将部分空缺。不管怎样,给用户的此种显示能够使用户以最小学习曲线而且无需对获得预测数据值的概率技术进行深入技术理解,就可简要且直观地进行数据研究。
根据另一个实施例,存在一种在其上存储指令的非暂时性计算机可读存储媒体,当由主机组织中的处理器执行时,指令可使主机组织执行以下操作,所述操作包括:从用户处接收作为输入的表格数据集,所述表格数据集具有组织成列和行的数据值;识别表格数据集内的多个空值,所述空值分散在表格数据集的多个整行和多个整列;从由列和行的表格数据集中生成索引,该索引代表表格数据集的行和列的概率关系;将表格数据集作为输出显示给用户,所显示的输出包括描述成已知值的数据值和描述为未知值的空值。从用户接收输入以预测值填充所显示的表格数据集内的至少一部分未知值;查询预测值的索引;并且将预测值作为更新的输出显示给用户。
图18示出了由分析表格数据集所生成的索引内的特性移动1801和实体移动1802。在左侧,在三种视图(元素1810的视图1、元素1811的视图2、元素1812的视图3)中描述特性移动1801。如上所述,特征1805(例如,列、特征等)可移向另一个当前1820视图,这通过指向左侧的箭头完成,从而将特性1805从元素1811的视图2移动到元素1810的视图1,或者,特性1805可移向新视图1821,这发生在由面向右侧的箭头所描述的特征1805上,从而将特性1805移到元素1813的新视图4。
在右侧,在两种类别(元素1825的类别1、元素1826的类别2)中描述实体移动1802。如上所述,实体1806(例如,行)可移向另一个当前1823类别,这通过指向下侧的箭头示出,从而将实体1806从元素1825的类别1移动到元素1826的类别2,或者,实体1806可移向新类别1824,这发生在由面向更远下侧的箭头所描述的实体1806,从而将实体1806移到元素1827处的新类别3。
图19A示出了使用历史日期进行查询的专用GUI1901;本文示出的专用GUI1901实施方式能够使用户通过比较多租户数据库系统中的历史值和当前值,从而对历史值进行过滤。通过GUI的“完成日(历史日期)”下拉框或相似框(例如日期选择器等)对历史数据进行过滤,在下拉框和相似框中,GUI1901显示出与历史字段相关的当前字段。
GUI1901能够使用户通过比较多租户数据库系统中的历史值和恒定值,从而对历史值进行过滤。通过代表用户构建并发出适当的API调用,而无需GUI的用户了解如何构建API调用或甚至需要指定哪个命令项或参数以产生适当的输出,GUI1901利用分析引擎的预测能力,并且以这样的方式,GUI1901提供了用户的高度直观的界面,而无需陡峭的学习曲线。
GUI1901执行必要的查询或API调用,然后使用经由GUI1901的显示界面(如图1中示出的客户端设备106A-C)提交回终端用户的数据。考虑以下情况,例如,察看特定数据集中销售信息的销售人员。GUI1901界面可以采用由分析引擎提供的分布,并且根据多种不同的定制解决方案和使用情况生成用于对信息进行排序的视觉提示。
例如,销售云是工业主要CRM应用程序,其目前由135000企业客户使用。此类客户了解将他们的数据存储在云中的价值,并且重视基于Web的GUI1901界面以查看并操作他们的数据。此类客户经常使用由基于云服务提供的报表和仪表板机构。将这些不同GUI以分页功能显示出来使销售人员和其他终端用户以多种方式研究其基础数据集,从而实时地知晓他们的业务是如何进行的。这些用户还可以通过利用API的附加GUI以及在此描述界面依靠合作伙伴来扩展所提供的基于云服务能力。
基于云的服务为客户提供了从过去学习并且得到数据驱动的见解的机会,所述基于云的服务是非常有必要的,因为此种功能可以帮助这些客户基于其现有数据集为其业务未来做出明智的决策。GUI1901提供此类界面。
所述定制的GUI利用分析引擎的预测功能来实施依赖于预测结果的报表,所述预测结果可能根据每个客户组织而变化或者经由公开给客户组织的程序式参数和设置而对于特定组织需要进行定制,以改变所述GUI的配置和操作以及它们针对分析引擎功能执行API调用的方式。
例如,可以提供GUI1901以基于给定机会的概率计算和分配机会评分,该概率反映了该机会结束为成功或失败的可能性。设定来计算该评分的数据由给定时间内已经结束(赢/输)的所有机会构成,所述给定时间是比如1年、2年或3年或组织的使用周期等,并且此持续时长可以使用GUI1901的日期范围控件而得以配置,从而指定该数据范围,即使该范围是过去的范围也可以。
也可使用源于客户组织数据集的附加数据元素,例如作为输入的帐户表格。经由分析引擎的核心而实施的机器学习技术,比如SVN、回归、决策树、PGM等,随后可用于建立适当模型来得到所述机会评分,然后GUI1901经由界面而将该信息描绘给终端用户。
图19B描绘一种使用历史日期进行查询的专用GUI 1902的附加视图。本文示出的专用GUI 1902实施方式使用户能够使用历史趋势数据来确定机会结束的可能性。例如,GUI1902允许用户使用用于选取相对或绝对日期的“历史”选择器来轻松地配置预测查询。
利用此GUI 1902,用户能够查看机会如何随时间而独立于阶段等进行改变。用户另外能够查看机会从创建直到结束时是如何成熟的。例如,GUI 1902使用日期配置控件设定2013年1月1日至2013年3月1日的历史数据,并且所述底部表格描绘机会数量减少了$10000,但此阶段曾在并且现在仍然在“勘查”阶段。
该GUI 1902另外使用户能够使用历史趋势数据来确定机会结束于给定阶段的可能性。其中,上述GUI 1901独立于销售机会的阶段而操作,GUI 1902着重于结束于给定阶段的概率,其作为结束的另一限制条件。由此,客户能够使用历史趋势数据来确切地知道何时阶段已发生变化,然后另外地预测从阶段1移到2、从阶段2移到3、如此等等牵涉了哪些因素。
另外,GUI允许用户基于附加社会和市场数据来预测机会结束,所述数据在所述界面提供或由用户指定。例如,客户组织或使用系统任何人的数据集,通过结合这种社会和市场数据从而可以代表终端用户被扩展到超出基础数据集,然后所述社会和市场数据由分析引擎使用以进一步影响和教导预测模型。例如,某些实施例从诸如“data.com”的示例性网站攫取信息,然后该数据通过分析引擎而与所述原始数据集中的每个机会相关联,在分析引擎中,会发现随后可呈现给终端用户的深一层关系、起因和隐藏结构。其他数据源也是同样可行的,比如从社交网站、搜索引擎、数据聚合服务提供商等攫取数据。
在一个实施例中,检索社交数据,并且经由GUI将意见提供给终端用户,从而描绘出他人在社会环境中如何看待给定产品。由此,销售人员可以从侧面查看客户的领英(LinkedIn)个人资料,并且利用来自data.com或其他来源的信息,能够额外地给予销售人员针对其实际试图进行推销的人员就社会环境而言的意见分析。例如,这种数据可以揭示出目标购买者是否已对其他产品进行评论或者也许已投诉其他产品等。这些数据点及其他的每一种可有助于影响分析引擎所用模型进一步改善得出的预测。
在另一个实施例中,确定机会结束的可能性是进一步基于从最初指定数据集外部的来源检索的行业特定数据。例如,不是使用针对意见分析的社会背景的社会相关数据,而是可检索行业特定数据并且输入预测数据库,在该数据库上,分析引擎执行其上述建模,然后现在将行业特定数据整合其中的数据集的用户可以从该预测数据库进一步进行研究。
根据其他实施例,在含有多租户数据库系统的数据的任何特定客户组织的边界之外研究数据集。例如,在特定实施例中,使用存储在多租户数据库系统内的跨组织数据,根据行业特定学习生成基准预测评分。例如,可针对电信特定客户数据集进行数据挖掘,如果它们授权或许可可以这样做的话。然后,可以通过分析引擎的模型分析用于获得更大的多租户数据集的这种跨组织数据,并且这种跨组织数据会提供可能不会出现在单个客户组织的数据集内的见解、关系、起因以及另外的隐性结构。例如,如果客户试图在纽约-新泽西-弗吉尼亚三城地区完成100k美元的交易,在3个月内完成该交易的可能性可能会是50%,根据该分析,因为历史交易表明,从多客户组织的数据集观察,需要最长达6个月以在纽约-新泽西-弗吉尼亚三城地区完成100k美元的电信交易。通过这类过程实施的许多见解可能是不直观的,但能够通过应用本文所述的技术来实现。
使用给定数据集内具有的行业特定数据,能够更深入探究数据并且使用针对多个不同行业间的多种变化领域的这种数据以确定基准。例如,基于这些数据,预测分析可检查,在给定的区域中,在中西部需要六个月出售糖,并且在东海岸需要三个月出售笔记本电脑,等等。
然后,如果出现新的机会并且销售商正试图,例如在加州出售手表,销售商可以利用这些信息根据给定的预测和置信度来更好地了解特定区域市场。
图19C示出了用于配置预测查询的专用GUI 1903的另一个视图;分析引擎的预测功能可以另外揭示垂直部门的信息以及地区信息。当挖掘客户组织的数据集时,可能会发现以下关系,当客户购买物品“a”时,那些客户也购买物品“b”。这些种匹配关系是有用的,但可以进一步加强。例如,使用分析引擎的预测分析,另外能够识别产生特定机会评分的因数集。
如上所述,GUI 1903在用户界面示出了42%的机会,但当用户光标在机会评分上方(如鼠标位于事件上方等)时,GUI 1903随后会显示具有组成该机会评分的附加元素的子细节。GUI 1903再次代表用户构建且发出必要的API调用,使得针对索引选择和执行适当的预测命令项以将机会评分和相关显示信息(包括认为是相关的子细节关系和起因)推送到用户。
在GUI 1903触发用户所指定的给定机会的适当功能,GUI1903可以额外利用预测和分析命令项从而返回GUI 1903所需的原始数据以创建机会的直方图。因此,如果提供了信息,不仅可给予用户评分,而且可另外给予用户相关因数以及关于如何解释信息的指导,以便帮助用户确定行动的适合调用。
此外,当终端用户(例如销售人员)查看到数据并在其上进行操作时,创建反馈回路,通过该反馈回路将其他数据输入到预测数据库中,在所述预测数据库上,可以以适应方式进行额外的预测和分析。例如,由于分析引擎更多地了解了与示例性用户或销售人员相关联的数据集,通过重新执行数据集的分析可以在重复的基础上刷新所述基本模型,从而使用由反馈回路获得的新数据重新校准数据。这种新数据可以描述销售机会是否以销售或亏损而结束,确定涉及的最终数量、时间安排、资源等等,所有这些都有助于更好地告知模型,进而更好地预测其他前进的查询。
图19D示出了根据所描述的实施例的示例性结构。具体地,示出客户组织1905A、1905B和1905C,每个客户组织具有用户客户端设备和显示器1906A、1906B和1906C,其能够经网络1925与主机组织1910介接(包括发送输入、查询和请求)以及响应地接收包括显示输出的回应。主机组织1910内有请求接口1976,其可以可选地由网页服务器1975实施。该主机组织还包括处理器1981、存储器1982、查询接口1980、分析引擎1985和多租户数据库系统1930。多租户数据库系统1930内有在多租户数据库系统1930的多个租户之间共享的执行硬件、软件和逻辑1920,认证器1998,以及预测数据库1950,其能够存储由分析引擎生成的索引,从而便于促进响应于针对预测数据库1950执行的查询返回预测记录集。
根据一个实施例,主机组织1910操作在其中具有至少一个处理器1981和存储器1982的系统1911,其中,该系统1911包括用于从用户设备1906A-C接收输入的请求接口1976,该用户设备1906A-C指定客户组织1905A-C的销售数据的数据集1953,其中,销售数据指定多个销售机会;用于从数据集1953的行与列生成索引1954的分析引擎1985,该索引代表该数据集1953的行与列之间的概率关系;用于存储索引1954的预测数据集1950;用于选择在销售数据内指定的多个销售机会中的一个或多个的分析引擎1985;查询接口1980,其用于查询1957索引1954,从而获得针对所选择的一个或多个销售机会的每个机会的成功或失败的预测结果1958;并且其中,请求接口1976进一步将针对所选择的一个或多个销售机会中的每个的成功或失败的预测结果1958作为显示输出1955返回到用户设备1906A-C。
另外,请求接口1976可以从用户设备1906A-C接收用户事件输入1956,其表明所显示的一个或多个销售机会的一个或其对应的成功或失败的预测结果1958,响应所述输入,用户界面可以提供另外的向下钻取的子细节。例如,如果触摸屏的用户触摸显示机会之一或点击其中的一个,那么用户界面可以将此输入通信到请求接口1976,促使主机组织以更多关于所指定的销售机会细节(例如相关特征等)提供更新后的显示输出1959。
根据另一个实施例,系统1911还包括用于存储由分析引擎生成的索引的预测数据库1950。在此实施例中,预测数据库1950为一个或多个订户在主机组织1910执行基于云的按需服务。
在另一个实施例中,系统1911还包括验证用户(例如,在用户的客户端设备和显示器1906A-C之一的用户)为已知订户的认证器1998。所述认证器1998随后进一步运行以验证由已知订户呈交的认证凭证。
在一个实施例中,该系统1911还包括用于实施请求接口1276的网络服务器1975;其中,网络服务器1975从多个客户组织当中的一个或多个客户端设备接收作为输入访入请求,所述客户组织与主机组织通过网络通信地介接;具有预测数据库功能以实施预测数据库的多租户数据库系统;并且其中,每个客户组织选自包含以下组成的组的实体:单独且不同的远程组织、主机组织内的组织组、主机组织的商业伙伴、订购了由主机组织提供的云计算服务的客户组织。
图19E是示出了根据所公开的实施例的方法的流程图。根据如本文所述的使用预测查询接口提供评分机会的系统、装置和方法,方法1921可由处理逻辑来执行,所述处理逻辑可包括硬件(例如,电路、专用逻辑、可编程逻辑、微代码等),软件(例如,在处理设备上运行的指令,从而执行多种操作,如传输、发送、接收、执行、生成、计算、储存、公开、查询、处理等)。例如,图1的主机组织110、图4的机器400或图19D的系统1911可实现所描述的方法。根据某些实施例,以下所列出的一些方框和/或操作是可选的。所提供的方框编号是为了清楚而设置的并不旨在规定其中各个方框必须进行的操作顺序。
在方框1991处,处理逻辑从用户设备接收指定用于客户组织的销售数据的数据集的输入,其中,销售数据指定多个销售机会。
在方框1992处,处理逻辑由数据集的行和列生成索引,所述索引代表数据集的行和列之间的概率关系。
在方框1993处,处理逻辑将所述索引存储在主机组织中可查询的数据库内。
在方框1994处,处理逻辑选择在销售数据内指定的多个销售机会中的一个或多个。
在方框1995处,处理逻辑针对所选择的一个或多个销售机会中的每一个查询索引得出成功或失败的预测结果。
在方框1996处,处理逻辑将所选择的一个或多个销售机会中的每一个销售机会的成功或失败的预测结果作为输出显示在用户设备上。
用户界面(UI)或图形用户界面(GUI)使用数据和从预测界面返回的预测结果,以便以高度直观的方式向用户显示预测结果连同其他数据,所述其他数据为例如评分销售机会、预测质量,以及哪些因素或特征在概率上与销售机会和显示的其他度量相关。
根据方法1921的另一个实施例,为所选择的一个或多个销售机会中的每一个销售机会查询索引得出成功或失败的预测结果包括:生成为所选择的一个或多个销售机会中的每一个销售机会指定预测命令项的预测查询语言(PreQL)查询;向预测查询语言应用程序编程接口(PreQL API)发出每个所生成的PreQL查询;以及响应于所发出的PreQL查询,接收所选择的一个或多个销售机会中的每一个销售机会的成功或失败的预测结果。
根据方法1921的另一个实施例,销售数据的数据集包括完成的销售机会,对于这些完成的销售机会已知成功或失败的结果且将该结果记录在每一完成的销售机会的销售数据的数据集内;其中销售数据的数据集还包括未完成的销售机会,对于这些未完成的销售机会,成功或失败的结果是未知的且对应于每一未完成销售机会销售数据的数据集内的空值;且其中多个所选择的销售机会中的每一销售机会选自未完成的销售机会。
根据方法1921的另一个实施例,为所选择的一个或多个销售机会中的每一个销售机会查询索引得出成功或失败的预测结果包括:构建指定所选择的销售机会的查询,其中所述查询指定预测命令项且包括预测命令项的操作数,所述操作数包括对应于所选择的销售机会的至少一行以及对应于成功或失败结果的列;以及响应于发出所构建查询而接收对应于所选择的销售机会的行的成功或失败的预测结果。
根据另一个实施例,方法1921进一步包括:查询索引得出所选择的一个或多个销售机会中的每一个销售机会的预测销售额;以及将所选择的一个或多个销售机会中的每一个销售机会的预测销售额(其具有成功或失败的预测结果)作为输出显示在用户设备上。
根据方法1921的另一个实施例,查询索引得出预测销售额包括:为所选择销售机会中的每一个销售机会构建查询,其中每一个查询指定预测命令项且包括预测命令项的操作数,所述操作数包括对应于所选择的销售机会的至少一行以及对应于销售额的列;以及响应于发出所构建查询而接收对应于所选销售机会的行的成功或失败的预测结果。
查询预测查询接口返回所寻求的预测结果(例如,成功或失败预测、预测完成额、预测完成日期等),但另外还相关的是预测的质量,即所提供的预测将成真的概率或可能性。预测查询接口可依据所发出查询的配置和结构返回分布、区间或其他值。例如,可返回指示0和100之间的值的置信度质量指示符,以提供通过其评估预测质量的定量度量。
提供现有销售机会的预测的成功或失败结果连同所提供预测的质量度量能够帮助到必须评估以哪些销售机会为目标的销售人员。自然地,销售人员愿意将时间和资源用于更可能获得最终成功的机会上。因此,输出可有助于销售人员评估可能完成哪些销售机会,因此可经营哪些销售机会,以努力完成销售配额并使其佣金最大化。
根据另一个实施例,方法1921进一步包括:接收每个成功或失败预测结果的置信度指示符;以及将作为输出的置信度指示符向用户设备显示,针对所选的一个或多个销售机会显示每个成功或失败预测结果。
根据另一个实施例,方法1921进一步包括:响应于所述查询而接收具有成功或失败的预测结果的所选择的一个或多个销售机会中的每一个销售机会的置信度指示符;以及将接收的置信度指示符作为输出显示给用户设备,同时显示所选择的一个或多个销售机会的每一个销售机会的成功或失败的预测结果。
某些实施例可使用基准值或阈值,例如70%或某个其他默认值或用户配置的值,以建立要返回到用户显示器上的销售机会所需的最小置信度质量。对于那些还向用户显示器显示推荐的实施例可能需要第二阈值。
根据方法1921的另一个实施例,选择多个销售机会中的一个或多个销售机会包括:选择处于预完成销售阶段且具有未知成功或失败结果的所有销售机会;识别成功或失败预测结果超过最小置信度指示符阈值的多个销售机会中的一个或多个销售机会;且其中将成功或失败的预测结果作为输出显示给用户设备包括:显示识别为成功或失败的预测结果超过最小置信度指示符阈值的多个销售机会中的一个或多个销售机会。
对于任何给定的销售机会,存在多个销售阶段,且销售机会可能处于未完成状态或完成阶段(例如,未完成状态可能为预完成状态或机会结束之前的任何阶段)。销售机会也可处于若干临时阶段中的任一阶段,尤其对于与大客户打交道以及处理大型销售交易的销售团队而言更是如此。这样的阶段组成销售寿命周期。例如,可以有发现阶段、定价或报价阶段等等,在发现阶段销售人员做工作确定对于给定客户什么是正确的产品,在定价或报价阶段确定定价且商定折扣。
对于大型交易,销售生命周期可持续三个月、六个月、有时九个月,这很大程度上取决于销售机会的大小和复杂度。极复杂的交易可以持续很多年,例如客户正在考虑数十亿美元的承诺,例如购置飞行器发动机。较小的复杂度较低的交易,例如数据库软件的合同,可更快地往前推进。
根据另一个实施例,方法1921进一步包括:将推荐作为输出显示给用户设备,其中所述推荐指定处于预完成销售阶段的多个销售机会中的至少一个销售机会;其中所述推荐对于输出指定(i)按如销售数据的数据集指定的销售机会名称处于预完成销售阶段的多个销售机会中的至少一个销售机会;其中所述推荐针对输出进一步指定以下中的一者或多者:(ii)指示赢得销售的成功或失败的预测结果;(iii)指示赢得销售的成功或失败的预测结果的置信度指示符;和(iv)预测销售额;以及(v)预测销售机会完成日期。
可以预测完成日期并作为输出加以提供,这就实现销售预测而言非常相关。例如,如果销售人员向管理层报表称交易将会在财务Q1完成,但是预测返回高置信度的销售在财务Q3完成,然后可以适当地调整销售额预测,或就特定的销售机会改变策略(例如,提高紧迫性,改进定价条款,折扣等)。
用户界面另外提供了用户改变默认值的手段,指定预测和查询基于的相关历史数据日期范围,指定用于作出预测的数据集的范围等等。
例如,与上述图19A、19B和19C所描述用户管理页面等效的用户管理页面提供报表功能,通过此功能,用户可以指定输入源(例如,客户组织的数据集的销售数据)、限制条件、筛选、历史数据以及其他相关数据源,例如社会媒体数据、更新的销售数据等等。
根据方法1921的另一个实施例,根据分配到在(i)到(iv)所指定输出的权重确定所述推荐;其中所述权重通过默认值进行分配,并且可以通过显示在用户设备上图形用户界面(GUI)进行定制配置。
根据方法1921的另一个实施例,选择多个销售机会的一个或多个包括:选择处于完成的销售阶段且具有成功或失败结果的销售机会;针对处于完成阶段且具有已知成功或失败结果的所选一个或多个销售机会中的一个,查询索引得出成功或失败的预测结果,其中所预测的成功或失败结果忽略了已知的成功或失败结果;通过比较已知的成功或失败结果和预测的成功或失败结果,确定多个销售机会的每一个的预测精确度;并且将多个所选销售机会的每一个确定的预测精确度与预测的成功或失败结果,作为输出显示在用户设备上。
根据另一个实施例,方法1921还包括从显示在用户设备上的GUI接收日期范围输入,日期范围输入指定历史日期范围所依据的预测的成功或失败结果。
根据方法1921的另一个实施例,从用户设备接收指定客户组织销售数据的数据集的输入包括下列至少一项:接收作为具有列和行的表格的数据集;将数据集作为数据流进行接收;接收电子表格文档并从所述电子表格文档中提取数据集;将数据集作为数据库创建的二进制文件进行接收;接收数据库的一个或多个查询,并且通过执行针对数据库的一个或多个查询并俘获一个或多个查询返回的记录集作为数据集而响应地接收数据集;接收数据库中表格名称并从数据库中检索所述表格作为数据集;接收指定网站的搜索参数,并响应地针对指定网站查询搜索参数及捕获搜索结果作为数据集;以及接收链接和远程存储库的认证凭证,并响应地用所述远程存储库进行认证以及通过所述链接检索数据集。
根据另一个实施例,方法1921还包括从显示在用户设备上的GUI接收实体选择输入,所述实体选择输入指定作为输出显示在用户设备的一个所述预测的成功或失败结果;将响应于所述实体选择输入,将销售机会的子细节作为更新输出显示在用户设备上;其中所述子细节包括与所显示的预测的成功或失败结果在概率上相关的一个或多个特性。
根据方法1921的另一个实施例,所述实体选择输入包括对应于一个所显示的预测成功或失败结果,鼠标置于事件上方、光标置于事件上方、点击事件、触摸屏选择事件,或触摸屏定位事件中的一种;其中显示子细节包括:在图形覆盖内显示的子细节,所述图形覆盖定位于最初显示的预测的成功或失败结果之上,并至少部分地将其覆盖。
根据另一个实施例,方法1921还包括:构造查询以便检索与所显示的预测的成功或失败结果在概率上相关的一个或多个特性;其中所述查询包括:相关命令项和至少一个相关命令项的操作数,所述操作数指定对于成功或失败的结果列的列。
例如,可以确定的是,销售机会的出资方结果与销售的赢或输在概率上相关。因此,UI另外提供跟踪可用出资方(例如感到满意的客户或者高级别经理)的功能,他们可以与潜在客户交谈,以试图提高给定销售机会成功的可能性。
用户界面可另外构建并向预测数据库发出相似命令项,从而返回并显示销售机会,所述销售机会与销售人员评估特定销售机会极为相似。这种数据可有助于销售人员从过去获胜或未获胜的其他类似销售机会中汲取额外的经验。
通过理解什么因素影响特定的销售机会,销售人员可明确将精力集中于有影响的那些因素,以努力提高特定销售机会成功交易的可能性。例如,如果证明客户和公司CEO之间的交谈有助于促成特定类型交易,那么这将值得投入资源。反过来,如果证实给定类型的定价结构利于特定客户类型、产品,或者领域,那么值得考虑增加给定销售机会的成功可能性。此种特征研究可通过用户界面进行,包括根据“如果……怎样”的情景操控值,然后基于“如果……怎样”的情景参数在用户显示器上更新预测结果。
根据方法1921的另一个实施例,显示所述子细节包括:针对在概率上与所显示的成功或失败结果相关的一个或多个特性,显示列名称;并显示来自数据集和实体行的数据值,所述数据集对应于列名称的行与列的交点,并且实体行对应于所显示子细节的一个销售机会。
社交媒体数据是一类辅助数据。可以指定各种数据源以进一步提高所述预测结果,其包括例如:联系人、账户、账户阶段、账户任务、账户联系人、账户出资人或推荐人,等等。
社交媒体数据的可用源包括由salesforce.com提供的Radian 6和Buddy Media。此类源提供聚合且结构化的数据,所述数据收集自诸如Facebook、Twitter、LinkedIn等社交媒体源。利用这些源,可将个人(例如John Doe)与特定的销售机会相关联,然后用社交网络空间中与John Doe相关的数据提高索引。例如,John Doe可能已经推送了竞争对手的产品或者销售人员提供的产品。或者它们可能是新闻递送,这提及目标产品、或公司、或销售机会,或者存在语境关联的客户评论,等等。这些数据点可以通过在UI上指定合适的来源从而整合起来,所述UI进而会使所述分析引擎进行额外分析以更新所述索引,如果这些数据点在概率上是相关的,那么它们的关系将影响预测结果,并且将通过用户界面发现它们。
在某些实施例中,所提供的基准评测功能可以使用户根据例如,制造业相对于高科技行业,或者客户在地理区域中设置的数据等等分析补充数据源。虽然这种数据一般不是由客户组织维持,但是其可通过用户界面获得并指定为另外补充数据,在用户界面上,分析引擎的核心可以更新索引,并进一步提高预测结果或对在其他情况下可能不可行的客户组织的数据给出深一层的见解。
在一个实施方案中,通过用户界面提供此类补充数据源作为基于现有云订阅的一部分,或者额外付费后,提供此类补充数据源。例如,客户可以购买数据包,这使他们能够整合工业基准数据,从而基于用于收集潜在销售客户或潜在垂直市场的聚集基准评测数据,对客户组织的指定销售机会进行分析等等。一旦指定并分析了这种附加数据,并更新了索引,那么用户可以研究所述数据以及数据对UI所提供的索引预测结果的影响。
在一个实施例中,跟踪历史数据,并且可由用户分析、察看,且以其他方式研究的历史数据范围是基于订阅条款的。例如,基于云服务的订户可以免费地将相应用户界面向所有客户公开,但随后将可分析的数据范围限制到只有示例性的三个月,而付费订户得到了更深入和更全面的数据集,可能是可进行历史分析的两年时间。某些实施例在由客户明确指定的数据集上进行操作,而其他实施例可以基于系统对已存储在主机组织上客户数据的理解代表客户默认为一个特定的数据集。值得注意的是,传统数据库并不跟踪并且公开存储在数据库中的数据历史视图。在大多数数据库中启用变化日志和重算功能,但传统数据库并不对查询公开这种数据,因为它们不用于这种目的。相反地,本文描述的用户界面允许用户指定历史时间范围,其随后使用户能够研究数据如何随时间变化或以过去日期的角度查询数据库,从而得到当其处于过去日期而不是当下的返回数据的查询结果。本文所述的方法使用单独的对象,从而可完全地进行数据库更新,并且进一步变化日志和审查日志可以在不丢失历史数据的情况下进行刷新。
根据另一个实施例中,方法1921还包括:从指定社交媒体数据源的用户设备接收额外输入;基于指定的社交媒体数据源更新索引;并针对每个所选择的一个或更多的销售机会,将更新的输赢预测结果作为输出显示给用户设备,所述输出具有源自被确定与更新输赢预测结果相关的社交媒体数据源的特性。
根据方法1921的另一个实施例,社交媒体数据源对应于社交媒体数据聚合器,其监听社交媒体网络,并提供作为结构化输出的聚合社交媒体数据。
根据另一个实施例,方法1921还包括:从在用户设备显示的GUI上接收用户事件输入,所述用户事件输入指定作为输出显示给用户设备的成功或失败预测结果的一个;响应于用户事件输入而将作为更新的输出的一个销售机会的子细节显示在用户设备上;其中所述子细节包括与所显示的成功或失败预测结果在概率上相关的一个或多个特性。
根据方法1921的另一个实施例,在概率上与显示的输或赢预测结果相关的所述一个或多个特性中包括:从指定的社交媒体数据源得到的一种或多种名称=值对,其已经影响到了针对每个所选择的一个或更多的销售机会的更新的输赢预测结果。
根据另一个实施例,存在一种其上存储有指令的非暂时性计算机可读存储媒体,当由主机组织中的处理器执行时,这些指令使得主机组织执行操作,包括:从用户设备接收输入,所述输入指定客户组织的销售数据集,其中所述销售数据指定多个销售机会;从所述数据集中的行和列生成索引,所述索引代表数据集的行和列之间的概率关系;将索引储存在主机组织的可查询的数据库内;选择在销售数据内指定的多个销售机会中的一个或多个;针对每个所选择的一个或更多的销售机会,查询的输赢预测结果的索引;以及针对每个所选择的一个或更多的销售机会,将所述输赢预测结果作为输出显示到用户设备。
图20A示出了根据所描述的实施例的流水线变化报表2001。在左侧,示出在整个快照日期2004上显示历史总量2002的流水线变化报表,并且在右侧,示出在整个快照日期2004上显示历史记录记数的流水线变化报表,由此向用户呈现当月(例如,这里是指2013年1月)的它们未完成的流水线,当月由包括此阶段的销售阶段在所绘制的历史日期上进行安排。例如,这些阶段包括:表观分析、建议/报价和谈判/审查等。
流水线改变报表2001使用户能够以聚合式的方式看到数据。每个阶段可以由多个机会组成,并且由于每个机会可以根据数量或根据阶段等发生变化,所以都能够被复制。因此,如果用户正在查看最后4周,那么一次机会可能从$500变化到$1500并因此被复制。
该云计算架构执行针对所有租户在整个数据上运行的功能。因此,对于任意情况、渠道和机会,数据库维护历史趋势数据对象(HTDO),所有审计数据被保留在其中,以便在随后可以应用户的请求代表数据库租户向用户提供全面和丰富的历史,从而展示任何过去事件的状态,而不会破坏储存的数据的当前状态,同时允许提交数据库更新。因此,虽然基础数据必须保持在其当前时刻的正确状态,但是,无论请求的数据是否针对上周机会的状态或当其在过去季度中发生改变,用户仍然可以使用该系统来显示特定机会的状态,正如其在历史上那样等等。
来自各类别数据的历史目标的所有审计数据随后被聚合到历史趋势数据对象中。然后历史趋势数据对象通过不同历史报表类型在整个多个租户中进行查询,从而检索必要的审计跟踪数据,以便过去任何时间的任何事件可因报表、预测分析和研究可被重新创建。另外,通过为了提供该数据的进一步预测能力而将该历史审计数据包括在历史数据集中,该历史审计数据还可经分析引擎(例如,图1的元素185)的分析功能的处理。例如,虽然各种机会的历史数据已为人知,但对于那些相同机会,可以预测未来状态以帮助销售人员适当集中他们的努力。
图20B示出了根据所描述的实施例的使用预测数据的瀑布图;机会计数2006限定纵轴并且阶段2005从“开头”到“结尾”限定横轴,经过阶段1到8。例如,该瀑布图可以描述由按阶段分解的当前作用的所有机会的快照。该机会计数按阶段上下改变以反映将各机会分组为各种限定的阶段。该瀑布图通过将机会限定在第一天和第二天之间或如通过本文实例所示那样可用于观察两个点。该瀑布图可用于将所有机会分组成不同阶段,其中每个机会根据其当前阶段进行映射,从而使用户可以观察过去的情况并理解这些机会有哪些时序以成功地完成。
保存到该历史趋势数据对象的历史数据和审计历史可以通过快照和字段历史而启用。通过使用历史趋势数据对象,可以查询所需的数据。该历史趋势数据对象可以实施成在其上具有索引的一个表格,可以从该表格检索任何需要的数据。通过使用从该历史趋势数据对象的表格检索到的数据来填充各种专用GUI和使用案例。
图20C示出了在添加第一历史字段后具有默认值的界面;元素2011示出了添加历史字段筛选,所述历史字段筛选包括各种选择,这些选择包括通过历史金额(例如超过$1000000的值)来筛选、通过字段(例如,账户名称等于Acme)来筛选、通过逻辑(例如,筛选1AND和(筛选2或筛选3))筛选、交叉筛选(例如,具有或不具有机会的帐户)、行限制(例如,通过年收入只示出头5个帐户)、最后是“帮助我选择”的选项。
该界面使用户能够通过比较历史值与存储在多租户系统内的当前值来筛选历史数据。
图20D更详细地示出了具有添加的自定义筛选的默认值的界面。这些专业的过滤实现方式使用户能够识别数据如何在天尺度或在周尺度上或在月尺度上等变化的。因此,用户可以看到不仅与其当前机会相关的、而且具有所述特征的数据,用户可以识别基于特定时间(例如绝对时间或相对时间)的机会,使得他们可以看到机会是如何随着时间变化的。在本实施例中,作为度量的时间接着用于为客户提供决策树以挑选绝对日期或日期范围。客户可以挑选绝对日期(例如2013年1月1日)或相对日期(例如当月第一天或上月第一天)等。
菜单可以仅仅由历史字段筛选所填充,并且可以利用如元素2025所示出的历史彩色编码。在元素2026处可选择已默认为滚动日,其中可以选择“任意选择的历史日期”。可选择地,可以选择固定天,但是在所示的界面中这个选项是默认收起的。元素2027示出了多个操作者,其由用户根据所选历史字段类型选择,并且元素2028提供作为可由用户更改的占位符属性的默认金额值(例如,$1000000)。
所示出的自定义筛选界面使销售经理或销售人员能够看到:相比于本月或上月第一天等,机会如何在今天发生变化。通过自定义筛选界面,用户可以在时间上后退一步,回想其一周前或一个月前的状态,并且通过创建日期范围且显示在这些日期期间所创建了哪些机会来识别机会。
例如,需要这种信息的销售人员可能已具有十个机会,并且在2013年2月1日,销售人员的目标买家表现出对报价的兴趣,使得阶段从探查变化到报价。相反地,另一个目标买家说他们想要立即购买,使得状态从报价变化为销售/收费/完成。因此,自定义筛选界面基于所创建的多个日期而提供决策树,从而通过对最初所选日期仅揭露适当的选择和筛选由输入和选择过程对用户进行引导。结果是:所述功能可以以高度直观的方式给予销售人员在一月份、二月份、特定范围、一个季度或一年内等完成的全部机会的概观。
按日期的查询需要用户遍历决策树以识别用户所期望的日期,所述日期随后使得用户另外挑选快照的数量,从快照中确定出最终的结果集,例如,从2013年2月1日至2013年2月6日。
另外启动的是通过将对租户系统中的历史值和恒定值相比较来筛选历史数据的能力,被称为历史选择器。基于机会或报表类型,客户能够利用自定义历史筛选对历史数据进行筛选。界面使客户能够查看左侧的全部筛选,他们可以利用其来限制值或字段,从而允许客户为任何给定值对历史列数据进行筛选。因此,客户可以查看用于给定月的全部开放的机会或过滤根据当前列数据而非历史列数据的数据集。因此,对于给定的机会,用户在界面可以填写数量、阶段、达成日期、概率、预测类别或其他数据元素并且接着正如销售人员与目标买家所说,状态从探查变为报价,变为基于与目标买家形成的过程的协商,和最终变为盈利/达成或亏损的状态等。基于元素比如达成的概率和预测类别的过滤将启动预测查询来呈现通过界面来进行过滤和其他比较的预测。
以要求减少交易额的目标买家和试图增加交易额的销售人员为例。包括机会的变化量和机会的状态变化在内的全部数据被储存在提供审计跟踪的历史趋势数据对象中。
由于当前数据在当前表格中进行更新,客户将不能访问过去值。然而,历史趋势数据对象提供可查询审计跟踪,通过审计跟踪,可以在该界面和其用户的命令下检索此类历史值。根据一个实施例,该历史数据以一天的间隔尺度进行处理,并且因此,销售人员能及时返回并查看数据是怎样在数据集随时间改变的,所述数据由每天间隔报告进行设定的。在其他实施例中,跟踪所有改变并标记时间,从而可使得不论频率是多少,均显示任何改变。
除了代表销售人员显示机会如何与时俱变,这样的量度对于其他学科也还可以是有用的,例如服务经理管理从销售代理商接收数百个案例并需要评估关闭调用的最佳方式的调用中心。同样,管理营销活动的竞选经理能评估最佳方式,通过该方式闭合各导线并通过营销努力及回顾历史的对等体所展示的机会来知晓事件是怎样影响过去的机会的结果的。
图20E示出了用于添加的自定义筛选具有默认值的另一个界面。在这里的“金额”选择器中,已经选择“字段”模式而非如图20D所描绘的之前实例中所示的值。元素2029表明:当在“字段”模式中时,仅当前值将出现在选择框中,从而允许用户从那些实际存在于数据范围限制的数据集内的值中进行选择,而不是输入值。该界面不限于“金额”,但是相反,操作用于该数据集内的任何列,然后允许通过值模式或通过“字段”模式筛选,在字段模式中,该选择框仅列出那些存在于用于指定列的一个或多个字段中的值。例如,该选择框通过选择“阶段”可以描绘出四阶段方法中的每个阶段,假设用于指定的客户历史数据范围的示例性四阶段中的每一个中存在的至少一个机会。以这样的方式,通过向用户呈现出高度直观的界面来研究其可访问的历史数据。
在其他实施例中,根据期望的标准(如行业、地理、交易规模、应用的产品等)给用户提供筛选元素以缩小或限制搜索。因此,这种功能在提高销售生产率和简化业务流程上辅助销售专业人员。
根据一个实施例,通过历史数据方案来实施历史趋势数据对象,在该历史数据方案中将历史数据储存在表格中,例如以下在表1描绘的:
表1:
在上述表1中使用的索引包括:组织_id、关键字_前缀、历史_实体_数据id。PK包括:组织_id、关键字_前缀、系统_modstamp(例如,提供时间标记或时间标记记录等)。给定日期和父记录(parent record)的唯一、查找和快照:组织_id、关键字_前缀、父_id、有效起始日期、有效终止日期。索引组织_id、关键字_前缀、有效起始日期便于数据清理。根据某些实施例,此表会另外针对用户的存储器要求而计数。例如,使用可根据用户封顶于预设数量的记录,或可根据用户组织的定价方案来改变。可选地,当可用间隙不足时,可以清除旧间隙。历史数据管理、行限制和统计数据可选地使用。对于新的历史,系统可以假定新历史表具有每列平均20个字节和60有效列(50有效数据列+PK+审查字段),由此,行的大小为1300个字节。就估算行而言,系统可以假定历史趋势可以具有类似于实体历史的使用模式。通过将历史趋势存储器使用记在客户的可适用资源限制上,用户与组织将平衡所需历史可用度的深度与其资源约束和定价之间。
生产数据的取样显示:近来实体历史行计数的增长约为每年25亿行。由于历史趋势将为任意数量改变字段存储单行,可使用为0.78的另一种因子。通过限制每个组织的自定义历史趋势数据目标的总量,在最坏的情况下,历史趋势的预期行计数可以被限制为大约每年12亿行,定价结构用于以影响数据库中所有租户的总集体增长。
历史数据默认可以存储数年。其中提供两年的初始默认时间,预期历史趋势表的大小保持在24亿行左右。自定义值列将由类似于自定义对象的自定义索引来处理。为了防止对系统的无意滥用,例如,通过使用自动化脚本,每一个组织将具有每个对象的历史行限制。这种限制可大约为100-500万行/对象,基于生产数据的分析使用模式,这足以覆盖当前数据以及历史数据的存储,仅极少数组织偶尔具有如此多的对象,使得他们可以达到可配置限制。这种限制可以根据具体情况进行处理,同时还能为非常多的用户填充确保合理限制。此自定义表另外还可自定义有索引,以有助于不同用户在历史趋势数据对象中使用查询性能。
图20F示出了根据所述实施例的示例性架构。具体来说,示出客户组织2033A、2033B和2033C,每个客户组织具有用户客户端设备和显示器2034A、2034B和2034C,其能够经网络2032与主机组织2010介接,所述介接包括发送输入、查询和请求以及响应地接收包括显示输出的回应。主机组织2010内为请求接口2076,其可以可选地通过网页服务器2075来实现。所述主机组织还包括处理器2081、存储器2082、查询接口2080、分析引擎2085和多租户数据库系统2030。在所述多租户数据库系统2030内,有在多租户中的多租户数据库系统2030的多租户之间共享的执行硬件、软件和逻辑2020,认证器2098和数据库2050,数据库2050可以包括,例如用于存储记录的数据库,如关系数据库;用于存储大历史值的数据库,如对象数据库,其能够提供所述历史趋势数据对象;以及预测数据库,其能够存储由分析引擎2085所产生的索引2054以便响应于针对这种预测数据库所执行的查询返回预测结果。
根据一个实施例,主机组织2010运行在其中具有至少一个处理器2081和存储器2082的系统2035,其中系统2035包括用于储存记录2060的数据库2050,其中当在数据库2050中更新记录2060时,对记录2060的更新被记录到历史趋势数据对象(HTDO)2061中以保持记录的历史值。根据这样的实施例,系统2035还包括用于从用户设备2034A-C上接收输入2053的请求接口2076,所述输入指定待显示在用户设备2034A-C的数据,并且进一步地其中请求接口2076用于接收来自用户设备2034A-C的历史筛选输入2056。在这样的实施例中,系统2035还包括用于针对待显示数据2058查询2057储存在数据库2050的记录2060的查询接口2080,并且进一步地其中查询接口2080查询2057用于待显示数据2058的历史值2062的历史趋势数据对象2061。系统2035还包括分析引擎,所述分析引擎用于将待显示数据与待显示数据的历史值进行比较以确定与待显示数据相对应的一个或多个变化值。系统2035的请求接口2076然后进一步地作为显示输出2055返回到用户设备2034A-C,至少待显示数据2058和变化值指示是基于经由比较而确定的一个或多个变化值2063。
请求接口2076可以另外经由在用户设备2034A-C的变化值指示GUI来接收选择输入2065,其中选择输入2065请求一个或多个变化值的附加子细节,响应于一个或多个变化值,所述请求接口2076和/或网络服务器2075可以提供附加下钻子细节(drill-down sub-detail)。例如,如果触摸屏用户触摸或作手势点击一个变化值,那么表示用户界面可以将这种输入传送至请求接口2076,使得主机组织2010针对指定的变化值(例如,现在状态和过去状态、差异、变化方向、销售机会的预测赢/输结果变化等)更详细地提供更新的显示输出2059。
根据系统2035的另一个实施例,数据库2050作为一个或多个订户的主机组织2010上基于按需云服务来执行;并且其中系统还包括认证器2098,所述认证器2098用于验证用户为已知订户,并且进一步地验证由已知订户提供的认证凭证。
根据系统2035的另一个实施例,网络服务器2075用于实现请求接口2076,并且用于通过请求接口2076和/或网络服务器2075与变化值指示GUI交互,所述变化值指示GUI因此显示在用户设备2034A-C上。在这样的实施例中,网络服务器2075用于从多个客户组织当中的一个或多个客户端设备接收作为输入的多个访问请求。
系统2035还可包括具有预测数据库功能以实现预测数据库的多租户数据库系统;并且进一步地其中每个客户组织是选自由以下各项组成的组的实体:独立且不同的远程组织、主机组织内的组织组、主机组织的商业伙伴或订购由主机组织提供的云计算服务的客户组织。
图20G是示出了根据所公开的实施例的方法的流程图。方法2031可由处理逻辑来执行,所述处理逻辑可以包括硬件(例如,电路、专用逻辑、可编程逻辑、微代码等)、软件(例如,指令在处理设备上运行以执行各种操作,如传输、发送、接收、执行、生成、计算、存储、公开、查询、处理等)。例如,图1中的主机组织110、图4中的机器400、或图20F中的系统2035可以实现所述的方法。根据某些实施方案,下面所列出的一些块和/或操作是可选的。所呈现的块编号是为了清晰说明,并不旨在规定其中各个块必须发生的操作顺序。
在方框2091处,处理逻辑将记录储存在数据库中,其中当记录在数据库中被更新时,对记录的更新被记录到历史趋势数据对象中以保持记录的历史值。
在方框2092处,处理逻辑接收来自在用户设备上指定待显示数据的用户设备的输入。
在方框2093处,处理逻辑接收来自用户设备的历史筛选输入。
在方框2094处,处理逻辑针对待显示数据查询储存在数据库中的记录。
在方框2095处,处理逻辑针对待显示数据的历史值查询历史趋势数据对象。
在方框2096处,处理逻辑将待显示数据与待显示数据的历史值进行比较来确定与待显示数据相对应的一个或多个变化值。
在方框2097处,处理逻辑向至少显示待显示数据的用户设备显示变化值指示GUI,并且显示基于经由比较确定的一个或多个变化的值的变化的值指示。
用户界面(UI)或图形用户界面(GUI)和特别是变化值指示GUI使用储存在数据库中的数据,使用储存在历史趋势数据对象内的历史数据,并且使用从预测界面返回的预测结果以高度直观的方式来向用户显示结果。
传统数据库界面的问题在于,他们在数据当前状态查看储存在数据库中的数据,当然,这是储存记录的数据库的目的。然而,有时有益的是,查看在过去的某个历史日期时的数据,或查看数据是如何在两个历史日期之间或在特定历史日期的过去状态和现今存在的当前状态之间的变化。
恢复数据库中的数据到先前状态并不是可行的解决方案,因为这将会用错误的过去状态数据重写处于当前状态的数据。相应地,变化值指示GUI提供了直观的方法,通过该方法用户可以研究他们的数据,甚至当数据存在于过去状态时。这样的功能允许用户适时回头查看数据,比如如存在于指定一天的销售机会或其他这样的记录的当前状态,而无需破坏如储存在数据库内的处于当前状态的最新日期。
而且,上述方法不再需要用户限定复杂的数据模式或编写自定义代码来追踪历史数据。例如,无需与IT支持相配合来公开必要的数据或雇佣程序员来编写定制软件以追踪这样的信息。取而代之地,作为基于云的服务而运行的主机组织向用户提供必要的功能并且通过直观的UI,比如所述的变化值指示GUI公开该功能。
再者,用户无需构建复杂的SQL查询,而是可以通过GUI界面研究并且查看历史数据记录和值。当变化值指示GUI与预测查询相连接时,GUI代表用户构建必要的PreQL查询并且将预测结果展示给GUI,因此进一步扩大用户的数据探查能力。
根据方法2031的另一个实施例,储存在数据库中的记录为数据保持了当前状态;并且其中记录到历史趋势数据对象中的用于记录的历史值为数据保持了一个或多个过去状态而不破坏数据的当前状态。
根据方法2031的另一个实施例,储存数据到数据库中包括储存数据库中的一个或多个表格,一个或多个表格中的每个表格具有建立表格中所列的实体特征的多个列和作为记录记录在表格中的多个实体行;并且其中对记录的更新包括任一项:(i)修改处于多个列和多个实体行相交的任何字段,和(ii)添加或删除数据库中的记录。
根据方法2031的另一个实施例,对记录的更新包括:接收对于储存在数据库中的记录的更新;将用于储存在数据库中的记录的当前状态数据作为过去状态数据记录到历史趋势数据对象中;根据接收的更新修改储存在数据库中的数据的当前状态数据;向数据库提交更新;并且向历史趋势数据对象提交过去状态数据。
根据方法2031的另一个实施例,用于在历史趋势数据对象中保持的记录的历史值被标记了时间;并且其中对于储存在数据库中的单个记录的多个更新都清楚地保存在历史趋势数据对象内并且至少基于时间标记被区分开来。在某些实施例中,对于数据库内的记录的每个更新都作为新行储存在历史趋势数据对象内。
主机组织的计算硬件因此代表用户将出现在数据库记录中的每个改变作为原始数据储存在历史趋势数据对象中且当用户启用GUI界面时,代表用户构建适当的查询以查询并且获取必要的信息来显示改变的值、来显示值的差别、来显示给定字段随时间的变化等。例如,用户可以指定两个时间点,比如今天和上个月,根据这两个时间点,必要的功能由GUI的功能或网络服务器的功能所建立,从而通过变化值指示GUI(包括计算差值或修改值)来查询并且向用户显示结果并且突出显示以强调确定的值变化。
例如,变化值指示GUI可以将不希望的改变显示为带着红色方向箭头或红色高亮的红色文本。这种不希望的改变可以是销售机会量的减少、预测盈|亏结果的概率降低(例如,对于具有空值的IS_WON字段的预测结果)、预测销售机会完成日期的延长等。合乎需要的改变可以用绿色文本、绿色箭头或绿色高亮来显示,并且中性的改变可以只使用灰色或黑色文本、箭头或高亮显示。与以上描述不同的颜色可以被取代。
根据方法2031的另一个实施例,改变的值指示(changed value indication)包括至少其中之一:以变化值指引GUI显示的用于一个或多个改变的值的彩色文本或者高亮文本;以变化值指示GUI显示的用于一个或多个改变的值的方向箭头,所述方向箭头表示变化的存在或改变的方向;待显示数据和一个或多个改变的值之间的计算差值;和用于基于一个或多个改变的值的待显示数据同时被显示的当前状态和过去状态。
根据方法2031的另一个实施例,将变化值指引GUI显示给用户设备包括除了改变的值指示外,显示借助比较来确定的待显示数据和一个或多个改变的值。
根据方法2031的另一个实施例,待显示数据包括多种作为记录储存在数据库中的销售机会;并且其中将变化值指引GUI显示给用户设备包括将多种销售机会显示给用户设备,而改变的值指示示出了多种销售机会中一个或多个在当前状态对过去状态中的变化。
根据另一个实施例,方法2031还包括:为处于当前状态的每个销售机会决定第一盈利预测结果或第一亏损预测结果;为处于过去状态的每个销售机会决定第二盈利预测结果或第二亏损预测结果;并且借由改变的值指示GUI来示出第一盈利预测结果和第一亏损预测结果之间的任何变化。
根据方法2031的另一个实施例,决定第一和第二盈利或亏损预测结果包括经由预测查询语言(PreQL)界面针对预测数据库指定预测命令项并且发出预测查询来构建预测查询。
根据方法2031的另一个实施例,变化值指示GUI示出了基于待显示数据的历史值的一个或多个随着时间改变的值的曲线图或图表。
变化值指示GUI允许用户通过多种筛选定制报表,所述筛选包括筛选储存在数据库内的当前状态数据结果的常规筛选和历史筛选。利用GUI,用户可以为报表增加新筛选并且指定,例如,历史字段筛选与逻辑比较器(例如,等于、小于、大于、是真、是假、是空值等)。用户可以额外指定用于在筛选中使用的历史数据。例如,与当前日期(例如,今天)进行比较,如果日期均为历史日期,那么当结果存在于一个给定的历史日期时,结果可以被请求,或随后将产生两个日期间的改变的值的两个日期可以被指定。日期范围有时适合,例如,示出销售量如何逐月、逐周,或逐日等随着时间改变。
根据方法2031的另一个实施例,所述历史筛选输入包括下列各项中的至少一项:历史日期;历史日期范围;成功销售机会的完成日期;记录在历史趋势数据对象中的值或字符串;存在于历史趋势数据对象中的字段或记录;记录在历史趋势数据对象中的值或字符串的逻辑操作数或比较器;以及存在于历史趋势数据对象中的空值的预测结果阈值或范围。
根据方法2031的另一个实施例,将所述变化值指示GUI显示给用户进一步包括下列各项中的至少一项:显示可从历史趋势数据对象确定的待显示数据的所有变化值;显示经由历史筛选输入指定的日期范围内的所有变化值;以及显示经由变化值指示GUI指定的具有每日、每周、每月或每季度变化间隔的一个或多个变化值的曲线。
根据方法2031的另一个实施例,所述历史趋势数据对象保持历史值默认是起作用的,并作为云计算服务的一部分,经由变化值指示GUI公开给用户。
根据方法2031的另一个实施例,所述历史趋势数据对象受限制于历史容量,所述历史容量建立在用户为访问所述云计算服务所支付的订购费的基础上,所述历史容量与用户支付的订购费成比例增加,未支付订购费的用户能访问默认最小的历史容量。
因为用户能够受益于传统解决方案不能提供的增强的能力,所以,这一模型鼓励用户在主机组织的云上维持他们当前的数据。即使在客户不支付额外的费用的情况下,他们仍然在有限模式下享受所述能力,并能在以后决定他们是否希望扩大他们历史数据研究的范围和保持能力。
根据另一个实施例,方法2031还包括:响应于在变化值指示GUI处接收的选择输入,显示所述一个或多个变化值的附加子细节;其中所述选择输入包括对应于所显示的所述变化值指示的鼠标置于上方事件、光标置于上方事件、点击事件、触摸屏选择事件、或触摸屏定位事件中的一种;并且其中显示子细节包括显示在图形覆盖内的子细节,所述图形覆盖定位在最初显示的变化值指示之上和至少部分地覆盖最初显示的变化值指示。
例如,将所述显示输出返回给用户的显示器,用户还能通过在项目上点击、做手势、按下或者或悬停,研究所述结果,然后,这触发所述变化值指示GUI以呈现与用户动作语境相关的附加结果,而不必要求用户构建另选或附加的筛选。
根据方法2031的另一个实施例,所述一个或多个变化值对应于下列各项中的至少一项:(i)在成功或者失败预测结果中的变化表明:交易机会是否在概率上预测以导致成功或者失败;(ii)作为所述成功或者失败预测结果的置信度指示符中的变化;(iii)预测销售量的变化;(iv)预测销售机会完成日期的变化;并且其中,响应于在变化值指示GUI处接收的选择输入,经由变化值指示GUI将对应于(i)至(iv)中任意一项的子细节进一步显示给用户设备。
比较历史结果的能力实现流水线比较(例如,参见图20A所述流水线变化报表2001)。这样的报表使用户能够研究产品、销售机会、或其他天然业务流程如何随时间变化,例如,所述业务流水线今天相对于昨天、或今天相对于上个季度如何、或上个季度末相对于前一年同一季度如何,等等。这样的报表能以图表描述针对销售阶段、产品的销售、预测、分组、预测结果尚需观察的价值、销售量、收入和其他业务度量的销售机会,为此,以上数据记录在所述数据库中或能够经由预测数据库进行预测。
根据方法2031的另一个实施例,将所述值变化指示GUI显示给用户包括:将第一流水线图表显示在用户设备上,所述图表由在第一轴上的销售机会数量相对于第二轴上的一历史日期的销售机会的多个可能销售阶段所限定,基于所述历史趋势数据对象内保持的历史值经由所述值变化指示GUI指定所述历史日期;并将第二流水线图表与第一个流水线图表同时显示,所述第二流水线图表描述了针对于第二历史日期或当前日期的多个可能销售阶段的销售机会数量,所述第二历史日期和当前日期经由所述值变化指示GUI来指定。
根据方法2031的另一个实施例,所述值变化指示GUI还显示所推荐的预测调整,所述预测调整基于历史值预测分析,所述历史值通过分析引擎保持在历史趋势数据对象中。
根据方法2031的另一个实施例,所述值变化指示用红色文本或高亮、绿色文本或高亮和灰色文本或高亮描述了所述一个或多个变化值;其中所述红色文本或高亮表示经由比较所确定的当前状态与历史状态的负向变化;其中所述绿色文本或高亮表示经由比较所确定的当前状态与历史状态的正向变化;其中所述灰色文本或高亮表示经由比较所确定的当前状态与历史状态的中性变化。
根据另一个实施例,存在一种在其上存储有指令的非暂时性计算机可读存储媒体,当由主机组织中的处理器执行时,所述指令使得主机组织进行操作,包括:在数据库中存储记录,当在数据库中更新记录时,将记录更新记录在历史趋势数据对象中,以保持记录中的历史值;接收来自用户设备的输入,其指定待显示在用户设备的数据;接收从用户设备的历史字段输入;查询存储在待显示数据的数据库中的记录;查询所述历史趋势数据对象,以得到待显示数据的历史值;比较待显示数据与其历史值,以确定对应于待显示数据的一个或多个变化值;并将变化值指示GUI显示给用户设备,所述变化值指示GUI至少显示待显示数据和基于经由比较确定的一个或多个变化值的变化的值指示。
图21A提供了预测完全性相对于准确性的描绘性图表。在垂直轴上,元素2015准确性/置信度示出的范围在这个特定标度为从“1.0”下降到“0.4”,“1.0”表示基本上完美的准确性或最高可能的置信度,“0.4”表示一定程度差的准确性或低置信度。在水平轴上,元素2016描绘了范围是从“0.0”到“1.0”的填充百分数,“0.0”意味着没有预测填充,“1.0”意味着若必要所有可用元素都用预测结果填充。因此,在0.0处,因为仅呈现已知(例如实际观测所得)数据,所以没有预测结果,因此准确性是完美的。反之,处于1.0填充百分数,预测结果变得不甚可靠,因此存在于数据集中任何空值都用预测值填充,但是准确性/置信度低至0.4到0.5之间。
任意数量的不同交点均可绘出,然而,元素2017描述了垂直轴上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曲线是示出当其辨别阈值改变而二元制分组器系统的性能的曲线图。这由在各种阈值设置绘制阳性的真阳性部分(TPR=真阳性率)对阴性的假阳性部分(FPR=假阳性率)而生成。TPR也被认为是灵敏度(在一些字段中也被称作回调),并且FPR是1减去特异性或真阴性率。通常,如果已知检测的概率分布和误报警的概率分布,ROC曲线可通过绘制在y轴的检测概率的累积分布函数(从–无穷到+无穷的概率分布以下的面积)对在x轴的误报警概率的累积分布函数产生。
在这里示出的ROC10k曲线把真阳性率映射到从0.0至1.0置信度范围内的元素2021标记的纵轴,并且进一步地把假阳性率映射到从0.0至1.0置信度范围内的元素2022标记的横轴,从而得到了具有面积为0.93的ROC曲线。
图22A提供了描绘用于机会评分的预测关系的图表。预测货币以“是否成功=真|假”字段来决定。纵轴上的元素2206通过源示出了“赢”为真或假,并且横轴上的元素2207示出了多种销售渠道源,其从左至右包括,网站、销售队伍AE、其他项、生成的EBR、生成的销售、合伙人推荐、AE/销售、互联网搜索-付费、客户来电和最后地生成的AE-右侧的建立账户。
代表用户采用进行预测分析的历史数据集生成本文所示出界面,且可帮助销售员或销售团队决定应用有限源的位置。图标受制于解释,但是某些事实被分析所揭露,例如示出了生成的EBR渠道很可能成功销售的元素2213,元素2212示出了AE/销售不太可能成功销售,并且在元素2211处,可以看出客户来电致使成功销售的50/50的机会。呈现在界面的这些数据显示了用于机会评分的预测关系,所述数据可以对销售团队决定集中资源的地方是有帮助的。
图22B提供了示出用于机会评分的预测关系的另一个图表。这里,机会由“是否成功=真|假”字段来决定。纵轴上的元素2221按类型示出了“IS WON”为真或假,并且横轴上的元素2222示出了多种销售渠道类型,从左至右包括,附加业务、新业务、公众、更新和右侧的合同。
元素2223示出了附加业务更有可能成功销售,并且元素2224示出了新业务不太可能成功销售。如前所述,采用进行预测分析的历史数据集代表的用户生成本文所示出的界面,并且可帮助销售员或销售团队决定应用有限资源的地方。
附加功能使专业的UI界面显示通过提供评分更新现有机会的可能性,或通过提供保持评分保持现有机会的概率。这种功能对于销售专家来说是有帮助的,因为这种度量可以影响销售人员时间和资源的最佳使用处以使收入最大化。
机会评分可以利用相关命令项来向由分析引擎的数据集预测分析生成的索引发出潜在结构查询请求。例如,相关命令项可以被专门的UI所使用来识别哪些字段预测性地与另一个字段相关,比如哪些字段和具有真值或假值的“IS WON”字段相关。其他较不直观的字段也可以在概率上相关。例如,渠道源字段可以确定与数据集的某些列是相关的,而其他列比如财政季度可以证明与盈/亏的结果不太相关。
图22C提供了描绘用于机会评分的预测关系的另一个图表。这里预测的货币由“是否成功=真|假”字段来决定。在垂直轴线上的元素2231通过货币描绘了“IS WON”为真或假,并且水平轴线上的元素2232按货币描述了多种销售渠道,所述货币从左至右包括,美元(USD)、澳元(AUD)、日元(JPY)、英镑(GBP)、加元(CAD)和最后的欧元(EUR)。
解释数据,可以说,在元素2236上,机会更可能在日本致使销售胜利,并且在元素2237上,机会不太可能在欧洲国家使用欧元来成功。尽管基于美元的销售机会存在显著较多的数据,但是货币的胜利/失败有不太明确的关系,不过预期分析得出的稍微较多的销售量将产生盈亏相抵的结果。如前所述,采用进行预测分析的历史数据集代表用户生成本文描绘的界面,并且可帮助销售人员或销售团队决定应用有限资源的地方。
用于所分析且进行预测分析的数据集中此类基于历史的数据的高水平使用情况不限于明确描述的例子。例如,其他使用情况包括:确定购买倾向和为销售代表和营销用户评分/分级渠道。例如,销售用户通常从多种资源(营销、外部、销售开发等)获得渠道,并且经常地,在任何给定的季度,他们拥有比可用时间还要多的渠道来进行利用。销售代表经常需要带有关键问题的引导,所述关键问题例如:哪个渠道具有最高购买倾向、销售的可能性是多少、如果该倾向被转化为机会潜在的收入影响是什么、如果该倾向被转化为机会基于历史观测记录的估计销售周期是多长、每个渠道在流水线中的分值/等级是多少,从而使得在销售人员区域内的高水平潜在销售渠道可以被发现且进行优先化等。
如果销售代表成功地达成交易,他们可以试图基于预测分析和交易大小确定每个账户将可能购买的前十个产品,基于相同账户的历史趋势确定交易周期长度等。当销售代表按照这些建议来行事,他们能够拓宽他们的流水线且增加他们满足或超出配额的机会,因此可以提升销售效率、改善业务流程、改善前景和提升渠道资格。提供的和进行预测分析的历史数据可以产生更好的预测结果,该预测结果可以利用各种筛选或通过提供的专业的UI图表和界面传送给用户,每个专业的UI图表和界面代表用户处理对于预测数据库索引的必要的历史和预测查询。
用于这种基于历史数据的另外使用情况还可以包括:失败/胜利的可能性和机会评分。例如,销售代表和销售经理可以从这种数据中获利,因为他们在自己目前流水线中有太多交易并且必须在任何月份/季度去平衡投入他们的时间和注意力的地方。当这些销售专家接近销售期的末尾时,达到他们配额的压力将十分重要。基于达成这种交易的概率,机会评分可帮助流水线中的机会进行分级,因此可以提升这些销售专家的整体效率。
附加信息可以连同历史销售数据进行预测分析。附加数据源可以包括这样的数据:意见、记录的销售活动、活动的标准场数量(例如事件、记录通话、任务等)、C级用户联络、决策者联系方式、完成日期、完成日期推迟次数的标准字段数、机会竞争者、标准字段机会、竞争力评估、执行资助、标准字段销售团队对自定义销售团队以及各队的成员、涉及个人的振颤输入和社交网络数据、涉及交易的执行资助人、DSRS(交易支持请求),以及其他自定义字段。
基于历史的数据可用于分析引擎的预测功能,所述功能用于生成度量,例如下一个可能的购买(NLP)以及销售代表和销售经理的机会空白。例如,负责实现季度销售目标的销售代表或销售经理无疑对以下感兴趣:哪些用户类型购买哪些产品;哪种前景与现有用户最为类似;是否向合适用户以合适价格提供了合适的产品;我们还有什么可以卖给我们的用户来增加交易规模等。分析已知购买过东西的类似用户的机会的历史数据可能会发现销售趋势,并使用这些度量产生有价值的见解来对用户接下来可能买什么进行预测,从而提高销售效率和业务流程。
提供给终端用户的另一种能力是代表专业销售人员和其他相关团体提供用户参考。当销售专业人员需要用于潜在新业务渠道的用户参考时,他们通常花费大量时间来搜索和拼凑来自CRM源的信息,例如在他们的数据库中得到的自定义应用程序、内部网站,或参考数据。然而,分析引擎的核心和相关使用情况GUI可以向这些专业销售人员提供关键信息。例如,该应用程序可以提供根据行业、地理位置、规模、同类产品足迹等等进行分组的数据,并且在一个地方提供可供这些用户参考所用的参考资源,例如用户成功案例、视频、最佳做法,哪些参考用户可用于与潜在买家进行聊天;提供根据联络人的角色进行分组的用户参考信息,例如首席信息官、销售副总裁等,哪些参考用户已过度利用,因此可能不会在这个时候成为不错的备选参考,目前或以往任何时候哪些人是这些参考用户的销售代表或客户代表,哪些组织在内部的人可以与参考用户接触或联络,等等。这种类型的信息通常存在于数据库系统中,但是没有以便利的方式进行组织,造成了极费力的过程以检索必要推荐人。然而,分析引擎的核心可以识别在数据中的此类关系和隐藏结构,然后所述关系和隐藏结构可以通过终端用户的指定GUI界面进行检索和显示,例如,通过经由GUI的功能调用组命令项。此外,此功能可以根据预测分析从众多人中识别出最理想或最可能的参考客户,并将使用建议的参考客户的细节并入评分的概率来成功/完成机会图表。这样的数据在传统的系统中是完全不可用的。
根据其他实施例,提供功能以代表销售专业人员对预测调整进行预测。例如,企业通常具有作为其重要管理战略的一部分的销售预测系统。然而,这些预测就其本质来说是不准切的。困难在于知晓这些预测在哪个方向是错误的,然后将该理解转变成怎样经营业务的全新画面。分析引擎的预测分析可以通过使用包括现有预测数据的客户组织的现有数据来改进这种预测。例如,分析过去预测数据连同历史销售数据可以有助于业务趋向并且改进对尚未实现的未来的现有预测。销售经理经常被要求为他们各自销售代表提供他们对预测数据的判断或调整。这样的活动需要这样的销售经理来汇集他们各自销售代表的单独预测,这是个非常费力的过程并可能引入差错。销售经理非常熟悉他们的销售代表的交易,并且作为流水线评估的一部分,他们抽时间定期检查他们的销售代表。改进的预测结果可以帮助这样的经理改进他们对当前预测数据的判断和评估以及帮助自动化汇集功能,该汇集功能通常手动进行,或使用低效工具,例如电子表格等。
在此实施例中,由销售代表通过分析引擎挖掘过去预测趋势,得到关系和起因,例如预测相对于配额相对于过去时间段(例如过去八个季度或业务的其他合适的时间段)的实际情况。使用分析引擎的预测功能或专门的UI界面,提供了能适用于当前预测的所推荐的判断和/或调整。通过在各级预测阶级调整分析评估,组织可以在一段时间减小个人销售代表的规定配额、预测和实际情况之间的差异,从而通过提高的预测准确性来缩小预测和实现的销售之间的增量。
尽管以示例的方式及根据特定实施例对本文所公开的主题进行了描述,但应当理解,要求保护的实施例不限于所公开的明确列举的实施例。与此相反,本发明意图覆盖对本领域技术人员而言显而易见的各种改进和类似方案。因此,所附权利要求的范畴应给予最广义的解释,以包含所有此类修改及类似结构。应当理解,上述说明只是说明性,而不是限制性的。本领域的技术人员通过阅读和理解上述描述而得出许多其他的实施例将是显而易见的。因此本发明的范围应当由所附的权利要求以及相对这种权利要求被称为等同物的全部范围来确定。

Claims (15)

1.一种主机组织中的方法,该方法包括:
从列和行的数据集生成索引,所述索引代表所述数据集的所述行和所述列之间的概率关系;
将所述索引储存至所述主机组织的数据库中;
经由请求接口公开所述主机组织的所述数据库;
在所述请求接口接收数据库的查询,所述查询指定至少(i)预测命令项、(ii)一个或多个待预测的指定列和(iii)一个或多个列名称=值对,其指定待固定的列名称和值,由此来将两者固定;和
利用所述预测命令项查询所述数据库并且传送所述一个或多个待预测的指定列和所述一个或多个列名称=值对,从而使用储存在所述数据库的所述索引,生成根据所述列名称=值对固定的、所述一个或多个待预测的指定列的联合条件分布表示;
使用所述预测命令项查询数据库包括将PreQL查询传送到所述数据库,所述PreQL查询具有以下查询语法:
所述预测命令项,其作为所需项;
所需目标项,其指定所述一个或多个待预测的指定列;
所需地点项,其指定所述待固定的列名称和所述值,由此将两者固定成所述一个或多个列名称=值对,其中,所需地点项限制将所述查询的输出限制到具有返回元素的预测记录集,所述返回元素在概率上与所述一个或多个待固定的列和所述对应值相关,由此如所指定的将两者固定;和
任选的来源项,当其被指定时,其指定一个或多个表格、数据集、数据源,和/或要查询的索引。
2.如权利要求1所述的方法,还包括:
响应于所述查询生成预测记录集;
其中,所述预测记录集包括其中的多个元素,每个所述元素针对所述一个或多个待预测的指定列中的每一个指定一个值;和
响应于所述查询将所述预测记录集返回。
3.如权利要求1所述的方法,其中公开所述主机组织的所述数据库包括向认证的用户直接公开查询语言应用程序编程接口PreQLAPI,其中所述认证的用户可经公共因特网访问所述PreQLAPI。
4.一种主机组织中的方法,所述方法包括:
从列和行的数据集生成索引,所述索引代表所述数据集的所述行和所述列之间的概率关系;
将所述索引储存在所述主机组织的数据库中;
经由请求接口公开所述主机组织的所述数据库;
在请求接口处,接收指定相关命令项的所述数据库的查询以及作为所述相关命令项的参数的指定列;
使用所述相关命令项查询所述数据库并且传送所述指定列以生成预测记录集;和
响应于所述查询返回所述预测记录集,所述预测记录集具有其中的多个元素,每个所述返回元素包括列标识符和用所述相关命令项传送的所述指定列的置信度指示符,其中所述置信度指示符指示用相关命令项传送的所述指定列和返回用于所述相应元素的所述列标识符之间是否存在潜在关系;
其中公开所述主机组织的所述数据库包括:向认证的用户直接公开查询语言应用程序编程接口PreQL API,其中所述认证的用户可经由公共因特网访问所述PreQL API;
其中,使用所述相关命令项查询所述数据库包括:将PreQL查询传送到所述数据库,所述PreQL查询具有以下查询语法:
所述相关命令项,作为所需项;
可选来源项,当其被指定时,其指定一个或多个表格、数据集、数据源,和/或要查询的索引,并且当其未被指定项时,将默认值用于所述一个或多个表格、数据集、数据源,和/或要查询的索引;
目标项,其指定使用相关命令项传送的所述列;
可选置信度项,当其被提供时,其指定通过预测记录集返回的最小可接受置信度指示符;
可选计数项,当其被提供时,其指定预测记录集待返回的最大数量的元素;和
可选排序项,当其被提供时,其根据通过预测记录集返回的每个所述元素的置信度指示符,指定所述预测记录的元素是否以升序或降序返回。
5.如权利要求4所述的方法,其中包括有所述预测记录集内的各返回元素的相关列进一步基于所述相关列在与用所述相关命令项传送的指定列的相同列分组中出现次数的比例。
6.一种主机组织中的方法,所述方法包括:
从列和行的数据集生成索引,所述索引代表所述数据集的所述行和所述列之间的概率关系;
将所述索引储存至所述主机组织的数据库中;
经由请求接口公开所述主机组织的所述数据库;
在所述请求接口处接收所述数据库的查询,其指定相似命令项、作为所述相似命令项参数的指定行,和作为所述相似命令项参数的指定列;
使用所述相似命令项查询所述数据库并且传送所述指定行和所述指定列以生成预测记录集来;和
响应于所述查询将所述预测记录集返回,所述预测记录集具有其中的多个元素,所述预测记录集的每个返回的元素包括:(I)行标识符,所述行标识符根据潜在结构对应于所述数据库的行,其基于所述指定列评估为类似于通过所述相似命令项传送的所述指定行,以及(II)置信度指示符,所述置信度指示符指示通过所述相似命令项传送的所述指定行和所述各个元素所返回的所述行标识符之间潜在关系的可能性;
其中公开所述主机组织的所述数据库包括:向认证用户直接公开查询语言应用程序编程接口PreQL API,其中所述认证用户可经由公共因特网访问所述PreQL API;
其中,使用所述相似命令项查询所述数据库包括:将PreQL查询传送到所述数据库,所述PreQL查询具有以下查询语法:
所述相似命令项,其作为所需项;
行项,其作为所需项,所述行项指定通过所述相似命令项传送的所述行;
列项,其作为所需项,所述列项指定通过所述相似命令项传送的所述列;
可选来源项,当其被指定时,其指定一个或多个表格、数据集、数据源,和/或要查询的索引,其中当其未被指定时,将默认值用于所述一个或多个表格、数据集、数据源,和/或要查询的索引;
可选置信度项,当其被指定时,其指定通过所述预测记录集返回的最小可接受的置信度指示符;
可选计数项,当其被指定时,其指定所述预测记录集中要返回最大数量的元素;和
可选排序项,当其被指定时,其根据通过所述预测记录集返回的每个所述元素的置信度指示符,指定所述预测记录的所述元素是否以升序或降序返回。
7.如权利要求6所述的方法,所述方法还包括返回以下其中之一:
(i)基于返回的所述预测记录集和通过所述预测记录集返回的每一所述相似行的置信度指示符,响应于所述查询,返回相比于通过所述相似命令项传送的所述指定行的最相似行;
(ii)基于返回的所述预测记录集和通过所述预测记录集返回的每一所述相似行的置信度指示符,响应于所述查询,返回相比于通过所述相似命令项传送的所述指定行的最不相似行;和
(iii)响应于互联网用户的搜索,返回在推荐器系统中的相关产品,其中所述相关产品对应于通过所述预测数据集返回的相似行中的一个。
8.一种主机组织中的方法,所述方法包括:
从列和行的数据集生成索引,所述索引代表所述数据集的所述行和所述列之间的概率关系;
将所述索引储存至所述主机组织的数据库中;
经由请求接口公开所述主机组织的所述数据库;
在所述请求接口接收所述数据库的查询,其指定分组命令项和作为所述分组命令项参数的指定列;使用所述分组命令项查询所述数据库并传送所述指定列以生成预测记录集;和
响应于所述查询将所述预测数据集返回,其中所述预测数据集具有多个在其中被指定的组,所述预测数据集的每个返回的组包括由所述数据集的一个或多个行组成的组;
其中公开所述主机组织的所述数据库包括:向认证用户直接公开查询语言应用程序编程接口PreQL API,其中所述认证用户可经由公共因特网访问所述PreQL API;
其中,使用所述分组命令项查询所述数据库包括:将PreQL查询传送到所述数据库,所述PreQL查询具有以下查询语法:
所述分组命令项,其作为所需项;
列项,其作为所需项,所述列项指定通过所述分组命令项传送的所述列;
可选来源项,当其被指定时,其指定一个或多个表格、数据集、数据源,和/或要查询的索引,其中当其未被指定时,默认值用于所述一个或多个表格、数据集、数据源,和/或要查询的索引;和
可选置信度项,当其被提供时,其指定通过所述预测记录集的所述组返回的所述行的最小可接受的置信度指示符。
9.如权利要求8所述的方法,其中通过将所述数据集的每一行准确分配到通过所述预测记录集返回的所述多个组的一个组,而没有使分配到所述多个组中的一个以上组的任意单行发生重叠,对所述数据集的所有行进行定位。
10.如权利要求8所述的方法:
其中通过将所述数据集的行分配到所述多个组的至多一个组,而没有使分配到所述多个组中的一个以上组的任意单行发生重叠,对所述数据集的所述行进行分割;
其中由于仍未分配的所述相应一个或多个行的置信度指示符降至最小阈值以下,所以所述分割使得所述数据集的一个或多个行仍未分配到所述多个组中的任何组。
11.一种主机组织中的方法,其包括:
接收表格形式的数据集,所述数据集具有多个行和多个列;
处理所述表格,从而通过学习所述数据集上的联合概率分布生成表示所述数据集的所述行和列之间的概率关系的索引,以便识别和描述所述数据集的元素之间的概率关系;
将所述索引存储在所述数据库中;
公开应用程序编程接口API以查询所述数据库中的所述索引;
接收针对所述数据库中的所述索引的预测查询或潜在结构查询的请求;
通过所述API查询所述数据库,得到基于所述请求的结果;和
响应于所述请求返回所述结果;
其中学习所述联合概率分布是通过指定的配置参数进行控制,所述指定的配置参数包括以下一种或多种:处理所述数据集的最长时间周期;处理所述数据集的最大迭代次数;处理所述数据集的最小迭代次数;由处理所述数据集所使用的最大量的客户资源;处理所述数据集的要花费的最大订户费;处理所述数据集获得的最小阈值预测质量等级;继续处理所需的对置信度质量度量的最小改进;和通过处理生成的最小或最大数量的索引。
12.如权利要求11所述的方法,其中:
处理所述数据集生成索引包括:反复学习所述数据集上的联合概率分布以生成所述索引;和
其中所述方法还包括:
周期性地确定通过处理所述数据集生成的所述索引的置信度质量度量;和
当所述置信度质量度量达到指定阈值时,终止处理所述数据集。
13.如权利要求12所述的方法,还包括:
接收预测查询或潜在结构查询,其请求来自通过处理所述数据集而生成的所述索引的结果;
在终止处理所述数据集之前,针对所述生成索引执行所述查询;
响应于请求所述结果的所述预测查询或所述潜在结构查询,返回预测记录集;和
返回具有所述结果的通知,所述通知指示处理所述数据集尚未完成或指示所述置信度质量度量低于所述指定阈值,或指示两者。
14.如权利要求11所述的方法,还包括:
确定所述生成的索引的置信度质量度量,其中所述置信度质量度量是通过以下之一确定:
将所述数据集内的观测到的和现在值所对应的已知结果与通过查询由处理所述数据集生成的索引获得的预测结果作比较;或
将来自所述数据集的实地真实数据与通过查询处理所述数据集生成的索引获得的一个或多个预测结果作比较。
15.如权利要求11所述的方法:
其中,接收数据集包括:接收主机组织处的所述数据集,提供基于云的按需服务,其经由公共网络能够访问远程计算设备;
其中将所述索引存储在所述数据库中包括:在所述预测数据库系统中存储所述索引,所述预测数据库系统通过储存在其存储器中或由其一个或多个处理器执行的逻辑在所述主机组织中运行;和
其中公开所述API以查询所述索引包括:将预测查询语言Pre-QL API公开于所述远程计算设备。
CN201380076609.0A 2013-03-13 2013-11-14 用于实现数据上传、处理和预测查询api公开的系统、方法和装置 Active CN105229633B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201910477454.0A CN110309119B (zh) 2013-03-13 2013-11-14 用于实现数据上传、处理和预测查询api公开的系统、方法和装置

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
CN201910477454.0A Division CN110309119B (zh) 2013-03-13 2013-11-14 用于实现数据上传、处理和预测查询api公开的系统、方法和装置

Publications (2)

Publication Number Publication Date
CN105229633A CN105229633A (zh) 2016-01-06
CN105229633B true CN105229633B (zh) 2019-06-28

Family

ID=51532089

Family Applications (2)

Application Number Title Priority Date Filing Date
CN201380076609.0A Active CN105229633B (zh) 2013-03-13 2013-11-14 用于实现数据上传、处理和预测查询api公开的系统、方法和装置
CN201910477454.0A Active CN110309119B (zh) 2013-03-13 2013-11-14 用于实现数据上传、处理和预测查询api公开的系统、方法和装置

Family Applications After (1)

Application Number Title Priority Date Filing Date
CN201910477454.0A Active CN110309119B (zh) 2013-03-13 2013-11-14 用于实现数据上传、处理和预测查询api公开的系统、方法和装置

Country Status (6)

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

Families Citing this family (331)

* 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
US9589000B2 (en) * 2012-08-30 2017-03-07 Atheer, Inc. Method and apparatus for content association and history tracking in virtual and augmented reality
JP6032287B2 (ja) * 2012-09-25 2016-11-24 日本電気株式会社 電圧制御装置およびその制御方法
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
US11921715B2 (en) 2014-01-27 2024-03-05 Microstrategy Incorporated Search integration
US10255320B1 (en) * 2014-01-27 2019-04-09 Microstrategy Incorporated Search integration
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
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
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
US10402759B2 (en) * 2015-01-22 2019-09-03 Visier Solutions, Inc. Systems and methods of adding and reconciling dimension members
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
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
US9881265B2 (en) * 2015-01-30 2018-01-30 Oracle International Corporation Method and system for implementing historical trending for business records
US20160253680A1 (en) * 2015-02-26 2016-09-01 Ncr Corporation Real-time inter and intra outlet trending
MX2017012158A (es) 2015-03-20 2018-07-06 D&B Business Information Solutions Agregacion de altos volumenes de datos temporales a partir de multiples fuentes solapadas.
US9135559B1 (en) 2015-03-20 2015-09-15 TappingStone Inc. Methods and systems for predictive engine evaluation, tuning, and replay of engine performance
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
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
US10679228B2 (en) * 2015-03-30 2020-06-09 Walmart Apollo, Llc 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
WO2016168464A1 (en) * 2015-04-14 2016-10-20 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
CN106332556B (zh) * 2015-04-30 2021-11-19 华为技术有限公司 传输云端文件的方法、终端及云端服务器
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
WO2016183544A1 (en) 2015-05-14 2016-11-17 Walleye Software, LLC System performance logging
US10740292B2 (en) * 2015-05-18 2020-08-11 Interactive Data Pricing And Reference Data Llc Data conversion and distribution systems
CA2986918C (en) * 2015-05-29 2023-10-31 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
US10395206B2 (en) 2015-06-29 2019-08-27 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
US20170286532A1 (en) * 2015-12-04 2017-10-05 Eliot Horowitz System and method for generating visual queries in non-relational databases
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
US9836444B2 (en) * 2015-12-10 2017-12-05 International Business Machines Corporation Spread cell value visualization
US10878360B2 (en) * 2015-12-29 2020-12-29 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
US10285001B2 (en) 2016-02-26 2019-05-07 Snap Inc. Generation, curation, and presentation of media collections
US10179282B2 (en) 2016-02-26 2019-01-15 Impyrium, Inc. Joystick input apparatus with living hinges
US11023514B2 (en) * 2016-02-26 2021-06-01 Snap Inc. Methods and systems for generation, curation, and presentation of media collections
US10929815B2 (en) * 2016-03-14 2021-02-23 Buildgroup Data Services Inc. Adaptive and reusable processing of retroactive sequences for automated predictions
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
USD786896S1 (en) * 2016-04-29 2017-05-16 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
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
US20170351752A1 (en) * 2016-06-07 2017-12-07 Panoramix Solutions Systems and methods for identifying and classifying text
AU2017282656B2 (en) * 2016-06-19 2022-05-19 Joseph Boutros 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
US10191930B2 (en) * 2016-08-12 2019-01-29 Sap Se Priority queuing for updates in a database system
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
US11481505B2 (en) * 2016-08-24 2022-10-25 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
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
US11386336B2 (en) * 2016-10-06 2022-07-12 The Dun And Bradstreet Corporation Machine learning classifier and prediction engine for artificial intelligence optimized prospect determination on win/loss classification
US20180101900A1 (en) * 2016-10-07 2018-04-12 Bank Of America Corporation Real-time dynamic graphical representation of resource utilization and management
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
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
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
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
US10474339B2 (en) * 2016-11-04 2019-11-12 Sismo Sas System and method for market visualization
US11188551B2 (en) * 2016-11-04 2021-11-30 Microsoft Technology Licensing, Llc Multi-level data pagination
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
US10693867B2 (en) * 2017-03-01 2020-06-23 Futurewei Technologies, Inc. Apparatus and method for predictive token validation
US20180253677A1 (en) * 2017-03-01 2018-09-06 Gregory James Foster Method for Performing Dynamic Data Analytics
US10586359B1 (en) * 2017-03-09 2020-03-10 Workday, Inc. Methods and systems for creating waterfall charts
US10803211B2 (en) 2017-03-10 2020-10-13 General Electric Company Multiple fluid model tool for interdisciplinary fluid modeling
US10977397B2 (en) 2017-03-10 2021-04-13 Altair Engineering, Inc. Optimization of prototype and machine design within a 3D fluid modeling environment
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
US11538591B2 (en) 2017-03-10 2022-12-27 Altair Engineering, Inc. Training and refining fluid models using disparate and aggregated machine data
US11537590B2 (en) * 2017-03-28 2022-12-27 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
US20180308002A1 (en) * 2017-04-20 2018-10-25 Bank Of America Corporation Data processing system with machine learning engine to provide system control functions
US10242037B2 (en) * 2017-04-20 2019-03-26 Servicenow, Inc. Index suggestion engine for relational databases
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 创新先进技术有限公司 数据流的聚类方法和装置
US10598710B2 (en) 2017-06-02 2020-03-24 International Business Machines Corporation Cognitive analysis using applied analog circuits
US10037792B1 (en) 2017-06-02 2018-07-31 International Business Machines Corporation Optimizing data approximation analysis using low power circuitry
US10663502B2 (en) 2017-06-02 2020-05-26 International Business Machines Corporation Real time cognitive monitoring of correlations between variables
US11526768B2 (en) 2017-06-02 2022-12-13 International Business Machines Corporation Real time cognitive reasoning using a circuit with varying confidence level alerts
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
US11062334B2 (en) * 2017-06-05 2021-07-13 International Business Machines Corporation Predicting ledger revenue change behavior of clients receiving services
CN110869962A (zh) 2017-07-06 2020-03-06 飒乐有限公司 基于数据的计算机分析的数据核对
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
US20210035117A1 (en) * 2017-08-18 2021-02-04 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
US10241965B1 (en) 2017-08-24 2019-03-26 Deephaven Data Labs Llc Computer data distribution architecture connecting an update propagation graph through multiple remote query processors
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
CN109814937A (zh) * 2017-11-20 2019-05-28 广东欧珀移动通信有限公司 应用程序预测模型建立、预加载方法、装置、介质及终端
CN109814936A (zh) * 2017-11-20 2019-05-28 广东欧珀移动通信有限公司 应用程序预测模型建立、预加载方法、装置、介质及终端
USD844653S1 (en) * 2017-11-26 2019-04-02 Jan Magnus Edman Display screen with graphical user interface
US10474934B1 (en) 2017-11-26 2019-11-12 Jasmin Cosic Machine learning for computing enabled systems and/or devices
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 京信通信系统(中国)有限公司 内存数据管理方法、装置、存储介质及计算机设备
WO2019140388A1 (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
US10445422B2 (en) * 2018-02-09 2019-10-15 Microsoft Technology Licensing, Llc Identification of sets and manipulation of set data in productivity applications
US10902194B2 (en) 2018-02-09 2021-01-26 Microsoft Technology Licensing, Llc Natively handling approximate values in spreadsheet applications
US11023551B2 (en) * 2018-02-23 2021-06-01 Accenture Global Solutions Limited Document processing based on proxy logs
US20190286840A1 (en) * 2018-03-15 2019-09-19 Honeywell International Inc. Controlling access to customer data by external third parties
US11216706B2 (en) * 2018-03-15 2022-01-04 Datorama Technologies Ltd. System and method for visually presenting interesting plots of tabular data
USD861014S1 (en) * 2018-03-15 2019-09-24 Apple Inc. Electronic device with graphical user interface
USD873680S1 (en) * 2018-03-15 2020-01-28 Apple Inc. Electronic device with graphical user interface
US11023495B2 (en) * 2018-03-19 2021-06-01 Adobe Inc. Automatically generating meaningful user segments
JP6678841B2 (ja) * 2018-03-20 2020-04-08 三菱電機株式会社 表示装置、表示システム、および表示画面生成方法
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 日本電信電話株式会社 検索ワードサジェスト装置、表現情報の作成方法、および、表現情報の作成プログラム
US10540669B2 (en) * 2018-05-30 2020-01-21 Sas Institute Inc. Managing object values and resource consumption
US20190370720A1 (en) * 2018-06-04 2019-12-05 Zuora, Inc. Systems and methods for providing tiered subscription data storage in a multi-tenant system
US11281686B2 (en) * 2018-06-04 2022-03-22 Nec Corporation Information processing apparatus, method, and program
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
WO2020006567A1 (en) * 2018-06-29 2020-01-02 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
US11210618B2 (en) * 2018-07-10 2021-12-28 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
EP3627399A1 (en) * 2018-09-19 2020-03-25 Tata Consultancy Services Limited Systems and methods for real time configurable recommendation using user data
US11151197B2 (en) * 2018-09-19 2021-10-19 Palantir Technologies Inc. Enhanced processing of time series data via parallelization of instructions
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
US10726374B1 (en) 2019-02-19 2020-07-28 Icertis, Inc. Risk prediction based on automated analysis of documents
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
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
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
US11810015B2 (en) * 2019-04-22 2023-11-07 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 腾讯科技(深圳)有限公司 一种游戏中光标定位方法和装置
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
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
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 平安科技(深圳)有限公司 诉讼结果预测方法、装置、计算机设备和存储介质
US10642719B1 (en) 2019-06-27 2020-05-05 Capital One Services, Llc Intelligent services 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
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
US10521235B1 (en) 2019-06-27 2019-12-31 Capital One Services, Llc Determining problem dependencies in application dependency discovery, reporting, and management tool
US11093378B2 (en) 2019-06-27 2021-08-17 Capital One Services, Llc Testing agent 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
CN112256740A (zh) * 2019-07-22 2021-01-22 王其宏 整合定性资料及定量资料进行稽核准则推荐的系统及方法
US11550830B2 (en) * 2019-07-29 2023-01-10 Pytho, Llc Systems and methods for multi-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
US11150886B2 (en) * 2019-09-03 2021-10-19 Microsoft Technology Licensing, Llc Automatic probabilistic upgrade of tenant devices
JP7309533B2 (ja) 2019-09-06 2023-07-18 株式会社日立製作所 モデル改善支援システム
USD949179S1 (en) 2019-09-06 2022-04-19 Apple Inc. Display screen or portion thereof with animated graphical user interface
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
US11870770B2 (en) 2019-09-13 2024-01-09 Oracle International Corporation Multi-tenant identity cloud service with on-premise authentication integration
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
USD963742S1 (en) 2020-01-09 2022-09-13 Apple Inc. Type font
USD963741S1 (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 华东师范大学 大规模事务负载生成与数据库隔离级别正确性验证系统及方法
US11829913B2 (en) * 2020-01-18 2023-11-28 SkyKick, Inc. Facilitating activity logs within a multi-service system
FI20205171A1 (fi) * 2020-02-20 2021-08-21 Q Factory Oy Älykäs tietokantajärjestelmä ja menetelmä
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 北京淇瑀信息科技有限公司 基于渠道合同映射的资源消耗优化方法、装置及电子设备
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
CN112364613A (zh) * 2020-10-30 2021-02-12 中国运载火箭技术研究院 一种飞行器试验数据判读报告自动生成系统
US11188833B1 (en) * 2020-11-05 2021-11-30 Birdview Films. Llc Real-time predictive knowledge pattern machine
WO2022101515A1 (en) * 2020-11-16 2022-05-19 UMNAI Limited Method for an explainable autoencoder and an explainable generative adversarial network
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
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
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
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
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
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
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 常州市公共资源交易中心 评审配置方法、装置和存储介质
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
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
US20230359615A1 (en) * 2022-05-09 2023-11-09 Data.World, Inc. Auxiliary query commands to deploy predictive data models for queries in a networked computing platform
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
US11861732B1 (en) * 2022-07-27 2024-01-02 Intuit Inc. Industry-profile service for fraud detection
US20240086570A1 (en) * 2022-09-12 2024-03-14 Relyance Inc. Technologies for use of observability data for data privacy, data protection, and data governance
US11899636B1 (en) 2023-07-13 2024-02-13 Fmr Llc Capturing and maintaining a timeline of data changes in a relational database system

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1655149A (zh) * 2004-01-23 2005-08-17 微软公司 经由支点数据的数据库的选择性多级扩展
CN101093496A (zh) * 2006-06-23 2007-12-26 微软公司 多级关联存储结构及其存储方法
US7685104B2 (en) * 2004-01-08 2010-03-23 International Business Machines Corporation Dynamic bitmap processing, identification and reusability
CN102254034A (zh) * 2011-08-08 2011-11-23 浙江鸿程计算机系统有限公司 一种基于bide的olap查询日志挖掘及推荐方法

Family Cites Families (184)

* 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
AU6336698A (en) 1997-02-26 1998-09-29 Siebel Systems, Inc. Distributed relational database
WO1998038762A2 (en) 1997-02-26 1998-09-03 Siebel Systems, Inc. Determining visibility to a remote database client
AU6183698A (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 having variable visibility strengths
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
EP1021775A4 (en) 1997-02-26 2005-05-11 Siebel Systems Inc METHOD FOR DETERMINING THE VISIBILITY OF A REMOTE DATABASE CLIENT FOR SEVERAL DATABASE TRANSACTIONS USING SIMPLIFIED VISIBILITY RULES
WO1998040805A2 (en) 1997-02-27 1998-09-17 Siebel Systems, Inc. Method of synchronizing independently distributed software and database schema
JP2001514776A (ja) 1997-02-27 2001-09-11 シーベル システムズ,インコーポレイティド ローカルな修正を組み込むソフトウェア配布の連続レベル移送の方法
JP2001513926A (ja) 1997-02-28 2001-09-04 シーベル システムズ,インコーポレイティド 複数レベルのリモート・クライアントを持つ部分的複製分散データベース
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
US6510419B1 (en) * 1998-04-24 2003-01-21 Starmine Corporation Security analyst performance tracking and analysis system and method
WO2000013122A1 (en) 1998-08-27 2000-03-09 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
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
US6601087B1 (en) 1998-11-18 2003-07-29 Webex Communications, Inc. Instant document sharing
WO2000033187A1 (en) 1998-11-30 2000-06-08 Siebel Systems, Inc. Development tool, method, and system for client server appications
JP2002531896A (ja) 1998-11-30 2002-09-24 シーベル システムズ,インコーポレイティド スマートスクリプトを用いたコールセンター
WO2000033238A2 (en) 1998-11-30 2000-06-08 Siebel Systems, Inc. Assignment manager
JP2002531899A (ja) 1998-11-30 2002-09-24 シーベル システムズ,インコーポレイティド プロセス監視用の状態モデル
US20020072951A1 (en) 1999-03-03 2002-06-13 Michael Lee Marketing support database management method, system and program product
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
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
US6336137B1 (en) 2000-03-31 2002-01-01 Siebel Systems, Inc. Web client-server system and method for incompatible page markup and presentation languages
US7266502B2 (en) 2000-03-31 2007-09-04 Siebel Systems, Inc. Feature centric release manager method and system
US6732100B1 (en) 2000-03-31 2004-05-04 Siebel Systems, Inc. Database access method and system for user role defined access
US7730072B2 (en) 2000-04-14 2010-06-01 Rightnow Technologies, Inc. Automated adaptive classification system for knowledge networks
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
US6434550B1 (en) 2000-04-14 2002-08-13 Rightnow Technologies, Inc. Temporal updates of relevancy rating of retrieved information in an information search system
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
US7249048B1 (en) * 2000-06-30 2007-07-24 Ncr Corporation Incorporating predicrive models within interactive business analysis processes
US7117208B2 (en) * 2000-09-28 2006-10-03 Oracle Corporation Enterprise web mining system and method
KR100365357B1 (ko) 2000-10-11 2002-12-18 엘지전자 주식회사 무선통신 단말기의 데이터 통신 방법
US7080026B2 (en) * 2000-10-27 2006-07-18 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
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
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
US20030206192A1 (en) 2001-03-31 2003-11-06 Mingte Chen Asynchronous message push to web browser
US20030018705A1 (en) 2001-03-31 2003-01-23 Mingte Chen Media-independent communication server
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
US6782383B2 (en) 2001-06-18 2004-08-24 Siebel Systems, Inc. System and method to implement a persistent and dismissible search center frame
US6763351B1 (en) 2001-06-18 2004-07-13 Siebel Systems, Inc. Method, apparatus, and system for attaching search results
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
US6711565B1 (en) 2001-06-18 2004-03-23 Siebel Systems, Inc. Method, apparatus, and system for previewing search results
US20030004971A1 (en) 2001-06-29 2003-01-02 Gong Wen G. Automatic generation of data models and accompanying user interfaces
JP2003058697A (ja) * 2001-08-02 2003-02-28 Ncr Internatl Inc ビジネスの分析環境下における予測モデルのコンピュータを利用した統合方法
US6993712B2 (en) 2001-09-28 2006-01-31 Siebel Systems, Inc. System and method for facilitating user interaction in a browser environment
US7761535B2 (en) 2001-09-28 2010-07-20 Siebel Systems, Inc. Method and system for server synchronization with a computing device
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
US6826582B1 (en) 2001-09-28 2004-11-30 Emc Corporation Method and system for using file systems for content management
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
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
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
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
US7594181B2 (en) 2002-06-27 2009-09-22 Siebel Systems, Inc. Prototyping graphical user interfaces
US7437720B2 (en) 2002-06-27 2008-10-14 Siebel Systems, Inc. Efficient high-interactivity user interface for client-server applications
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
US20060063156A1 (en) * 2002-12-06 2006-03-23 Willman Cheryl L 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
US7711680B2 (en) 2003-03-24 2010-05-04 Siebel Systems, Inc. Common common object
EP1606739A4 (en) 2003-03-24 2007-10-17 Siebel Systems Inc CUSTOMIZED JOINT OBJECT
US7904340B2 (en) 2003-03-24 2011-03-08 Siebel Systems, Inc. Methods and computer-readable medium for defining a product model
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
US7668950B2 (en) 2003-09-23 2010-02-23 Marchex, Inc. Automatically updating performance-based online advertising system and method
US7779039B2 (en) 2004-04-02 2010-08-17 Salesforce.Com, Inc. Custom entities and fields in a multi-tenant database system
US20060287831A1 (en) * 2003-10-07 2006-12-21 Motoi Totiba Method for visualizing data on correlation between biological events, analysis method, and database
US7461089B2 (en) 2004-01-08 2008-12-02 International Business Machines Corporation Method and system for creating profiling indices
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
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
US7788200B2 (en) * 2007-02-02 2010-08-31 Microsoft Corporation Goal seeking using predictive analytics
US7797356B2 (en) * 2007-02-02 2010-09-14 Microsoft Corporation Dynamically detecting exceptions based on data changes
US7680882B2 (en) 2007-03-06 2010-03-16 Friendster, Inc. Multimedia aggregation in an online social network
JP2008269215A (ja) * 2007-04-19 2008-11-06 Nippon Telegr & Teleph Corp <Ntt> 特異パターン検出システム、モデル学習装置、特異パターン検出方法、及び、コンピュータプログラム
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
JP2011154554A (ja) * 2010-01-27 2011-08-11 Nec Corp 欠損値予測装置、欠損値予測方法及び欠損値予測プログラム
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 阿里巴巴集团控股有限公司 信息导航的实现方法、信息导航服务器和信息处理系统
US10162851B2 (en) * 2010-04-19 2018-12-25 Salesforce.Com, Inc. Methods and systems for performing cross store joins in a multi-tenant store
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
JP5440394B2 (ja) * 2010-05-31 2014-03-12 ソニー株式会社 評価予測装置、評価予測方法、及びプログラム
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
JP2012194741A (ja) * 2011-03-16 2012-10-11 Nec Corp 行列形データの欠損値予測装置、欠損値予測計算方法および欠損値予測プログラム
US9235620B2 (en) * 2012-08-14 2016-01-12 Amadeus S.A.S. Updating cached database query results
US20120310763A1 (en) * 2011-06-06 2012-12-06 Michael Meehan System and methods for matching potential buyers and sellers of complex offers
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
US8773437B1 (en) 2011-07-12 2014-07-08 Relationship Science LLC Weighting paths in a social graph based on time
CN107545066B (zh) 2011-12-08 2021-01-15 甲骨文国际公司 用于在易失性存储器内保持关系型数据的列向量的技术
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
US11755663B2 (en) 2012-10-22 2023-09-12 Recorded Future, Inc. Search activity prediction
US20140149554A1 (en) 2012-11-29 2014-05-29 Ricoh Co., Ltd. Unified Server for Managing a Heterogeneous Mix of Devices

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7685104B2 (en) * 2004-01-08 2010-03-23 International Business Machines Corporation Dynamic bitmap processing, identification and reusability
CN1655149A (zh) * 2004-01-23 2005-08-17 微软公司 经由支点数据的数据库的选择性多级扩展
CN101093496A (zh) * 2006-06-23 2007-12-26 微软公司 多级关联存储结构及其存储方法
CN102254034A (zh) * 2011-08-08 2011-11-23 浙江鸿程计算机系统有限公司 一种基于bide的olap查询日志挖掘及推荐方法

Also Published As

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

Similar Documents

Publication Publication Date Title
CN105229633B (zh) 用于实现数据上传、处理和预测查询api公开的系统、方法和装置
Blazquez et al. Big Data sources and methods for social and economic analyses
Sim Critical success factors in data mining projects
Wang et al. A comparison and scenario analysis of leading data mining software
Liu Apache spark machine learning blueprints
Angeren Exploring Platform Ecosystems: A Comparison of Complementor Networks and their Characteristics
Te Predicting the financial growth of small and medium-sized enterprises using web mining
Nyumbeka Using Data Analysis and Information Visualization Techniques to Support the Effective Analysis of Large Financial Data Sets
Kala et al. IJIKM Volume 19, 2024–Table of Contents
Patel et al. Current Trends in Information Technology
Laine Integrating business intelligence services to insurance policy management system
Punitha Devi Design And Verification Of Comprehensive Service-Oriented Information Integration Architecture
Al Qahtani Life event ontology based e-government service integration with privacy awareness
Wang et al. Chapter XII: A Comparison and Scenario Analysis of Leading Data Mining Software
Analytics et al. Learn Business Analytics in Six Steps Using SAS and R

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant
CP01 Change in the name or title of a patent holder
CP01 Change in the name or title of a patent holder

Address after: California, USA

Patentee after: Shuo Power Co.

Address before: California, USA

Patentee before: SALESFORCE.COM. Inc.