CN106796595B - 用于推荐的数据变换和修复的声明性语言和可视化系统 - Google Patents
用于推荐的数据变换和修复的声明性语言和可视化系统 Download PDFInfo
- Publication number
- CN106796595B CN106796595B CN201580046371.6A CN201580046371A CN106796595B CN 106796595 B CN106796595 B CN 106796595B CN 201580046371 A CN201580046371 A CN 201580046371A CN 106796595 B CN106796595 B CN 106796595B
- Authority
- CN
- China
- Prior art keywords
- data
- transformation
- column
- instructions
- user interface
- 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
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/21—Design, administration or maintenance of databases
- G06F16/211—Schema design and management
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/21—Design, administration or maintenance of databases
- G06F16/215—Improving data quality; Data cleansing, e.g. de-duplication, removing invalid entries or correcting typographical errors
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/23—Updating
- G06F16/2379—Updates performed during online database operations; commit processing
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input 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/01—Input arrangements or combined input and output arrangements for interaction between user and computer
- G06F3/048—Interaction techniques based on graphical user interfaces [GUI]
- G06F3/0484—Interaction 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/04842—Selection of displayed objects or displayed text elements
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Databases & Information Systems (AREA)
- General Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Data Mining & Analysis (AREA)
- Quality & Reliability (AREA)
- Human Computer Interaction (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
- User Interface Of Digital Computer (AREA)
Abstract
本公开内容一般而言涉及提取、修复和丰富化数据集的数据丰富化服务,从而为后续的索引和聚类产生更精确的实体分辨和相关。数据丰富化服务能够包括用于执行异构数据集的大规模数据准备、修复和丰富化的可视推荐引擎和语言。这使得用户能够选择和看到推荐的丰富化(例如,变换和修复)将如何影响用户的数据并根据需要进行调整。数据丰富化服务能够通过用户界面从用户接收反馈并且能够基于用户反馈过滤推荐。
Description
对相关申请的交叉引用
本申请要求于2015年9月24日提交的标题为“DECLARATIVE LANGUAGE ANDVISUALIZATION SYSTEM FOR RECOMMENDED DATA TRANSFORMATIONS AND REPAIRS”的美国非临时专利申请No.14/864,496的权益和优先权,该申请要求于2014年9月26日提交的标题为“DECLARATIVE LANGUAGE AND VISUALIZATION SYSTEM FOR RECOMMENDED DATATRANSFORMATIONS AND REPAIRS”的美国临时申请No.62/056,471的权益和优先权。
本申请涉及以下申请:
1)于2014年9月26日提交且标题为“METHOD FOR SEMANTIC ENTITY EXTRACTIONBASED ON GRAPH MATCHING WITH AN EXTERNAL KNOWLEDGEBASE AND SIMILARITY RANKINGOF DATASET METADATA FOR SEMANTIC INDEXING,SEARCH,AND RETRIEVAL”的美国临时申请No.62/056,468;
2)于2014年9月26日提交且标题为“DYNAMIC VISUAL PROFILING ANDVISUALIZATIO OF HIGH VOLUME DATASETS AND REAL-TIME SMART SAMPLING ANDSTATISTICAL PROFILING OF EXTREMELY LARGE DATASETS”的美国临时申请No.62/056,474;
3)于2014年9月26日提交且标题为“AUTOMATED ENTITY CORRELATION ANDCLASSIFICATION ACROSS HETEROGENEOUS DATASETS”的美国临时申请No.62/056,475;
4)于2014年9月26日提交且标题为“DECLARATIVE EXTERNAL DATA SOURCEIMPORTATION,EXPORTATION,AND METADATA REFLECTION UTILIZING HTTP AND HDFSPROTOCOLS”的美国临时申请No.62/056,476;
5)于2015年5月18日提交且标题为“CATEGORY LABELING”的美国临时申请No.62/163,296;及
6)于2015年8月11日提交且标题为“SIMILARITY METRIC ANALYSIS ANDKNOWLEDGE SCORING SYSTEM”的美国临时申请No.62/203,806。
上述专利申请的全部内容通过引用被结合于此,用于所有目的。
技术领域
本公开内容一般而言涉及数据准备和分析。更具体而言,公开了用于为推荐的数据变换和修复生成和显示交互式可视化的技术。
发明内容
本公开内容一般而言涉及提取、修复和丰富化数据集的数据丰富化服务,从而为后续的索引和聚类产生更精确的实体分辨(resolution)和相关。数据丰富化服务可以包括用于执行异构数据集的大规模数据准备、修复和丰富化的可视推荐引擎和语言。这使得用户能够选择和看到推荐的丰富化(例如,变换和修复)将如何影响用户的数据并根据需要进行调整。数据丰富化服务可以通过用户界面从用户接收反馈并且可以基于用户反馈过滤推荐。
在一些实施例中,可以实现计算系统,用于生成和显示用于推荐的数据变换和修复的交互式可视化。计算系统可以实现数据丰富化服务。计算系统可以被配置为实现本文所述的方法和操作。在一些实施例中,公开了用于生成和显示用于推荐的数据变换和修复的交互式可视化的系统。该系统可以包括多个数据源和多个数据目标。该系统可以包括云计算基础设施系统,其包括通信耦合到多个数据源并经至少一个通信网络通信耦合到多个数据目标的一个或多个处理器。云计算基础设施系统可以包括耦合到一个或多个处理器的存储器,存储器存储指令以提供数据丰富化服务,其中当指令被一个或多个处理器执行时使得这一个或多个处理器执行本文所述的一个或多个方法或操作。还有其它实施例涉及系统和机器可读有形存储介质,其采用或存储用于本文所述的方法和操作的指令。
在至少一个实施例中,一种方法可以包括从客户端设备接收数据丰富化请求。该方法可以包括由计算机系统识别来自一个或多个数据源的数据中的模式。该方法可以包括将模式与来自知识服务的实体信息进行匹配。该方法可以包括基于实体信息为数据生成一个或多个变换脚本。该方法可以包括生成与一个或多个变换脚本对应的一个或多个推荐。该方法可以包括使得这一个或多个推荐在客户端设备处的用户界面中显示。该方法可以包括接收基于一个或多个推荐的变换指令。该方法可以包括基于变换指令变换数据。该方法可以包括基于变换指令将经变换的数据发布到一个或多个数据目标。
在一些实施例中,该方法可以包括从一个或多个数据源中的至少一个接收对至少一列数据的选择,并且使得这至少一列数据的数据简档被显示。数据简档可以指示在这至少一列数据中识别出的多个模式和与这至少一列数据相关联的至少一个数据可视化。
在至少一个实施例中,变换指令包括基于实体信息重命名至少一列数据的变换指令。该方法可以包括接收将这至少一列数据重命名为默认名称的另一变换指令。在一些实施例中,变换指令包括基于实体信息重新格式化这至少一列数据的变换指令。在一些实施例中,变换指令包括用于基于实体信息模糊化这至少一列数据的另一变换指令。在一些实施例中,变换指令包括基于实体信息添加从知识服务获得的一列或多列数据的丰富化指令。
在本发明的一个实施例中,当接收到对数据源中的至少一个数据源的至少一列数据的选择时,使得这至少一列数据的数据简档显示在客户端设备上的用户界面中,其中数据简档指示在这至少一列数据中识别出的多个模式和与这至少一列数据相关联的至少一个数据可视化。
在本发明的一个实施例中,变换指令包括基于实体信息重命名至少一列数据的变换指令。
在本发明的一个实施例中,接收另一转换指令,以将至少一列数据重命名为默认名称。
在本发明的一个实施例中,变换指令包括基于实体信息重新格式化至少一列数据的变换指令。
在本发明的一个实施例中,变换指令包括基于实体信息模糊化至少一列数据的另一变换指令。
在本发明的一个实施例中,变换指令包括基于实体信息添加从知识服务获得的一列或多列数据的丰富化指令。
通过参考以下说明书、权利要求和附图,前述内容以及其它特征和实施例将变得更加明显。
附图说明
图1绘出了根据本发明实施例的数据丰富化服务的简化高层级图。
图2绘出了根据本发明实施例的技术栈的简化框图。
图3绘出了根据本发明实施例的交互式可视化系统的简化框图。
图4A-4D绘出了根据本发明实施例的提供交互式数据丰富化的用户界面的例子。
图5A-5D绘出了根据本发明实施例的交互式数据丰富化的结果的例子。
图6绘出了根据本发明实施例的数据丰富化的方法的流程图。
图7绘出了用于实现实施例的分布式系统的简化图。
图8是根据本公开内容实施例的、其中服务可以作为云服务提供的系统环境的一个或多个部件的简化框图。
图9示出了可以被用来实现本发明实施例的示例性计算机系统。
具体实施方式
在以下描述中,为了说明的目的,阐述了具体的细节,以便提供对本发明的实施例的透彻理解。但是,明显的是,各种实施例可以在没有这些具体细节的情况下实践。附图和描述不意在是限制性的。
本公开内容一般而言涉及提取、修复和丰富化数据集的数据丰富化服务,从而为后续的索引和聚类产生更精确的实体分辨和相关。在一些实施例中,数据丰富化服务包括可扩展语义流水线(pipeline),其在从数据的摄取到数据的分析、到数据到数据目标的发布的多个阶段处理数据。
在本发明的某些实施例中,在将数据加载到数据仓库(或其它数据目标)中之前,数据通过包括各种处理阶段的流水线(在本文中也被称为语义流水线)来处理。在一些实施例中,流水线可以包括摄取阶段、准备阶段、剖析阶段、变换阶段和发布阶段。在处理过程中,数据可以被分析、准备和丰富化。然后,结果所得的数据可以被发布(例如,提供给下游处理)到一个或多个数据目标(诸如本地存储系统、基于云的存储服务、web服务、数据仓库等),其中可以对数据执行各种数据分析。由于对数据进行的修复和丰富化,所产生的分析产生有用的结果。此外,因为数据加载(onboarding)处理是自动的,所以它可以被扩展,以处理由于体积而无法手动处理的非常大的数据集。
在一些实施例中,数据可以被分析,以从数据中提取实体,并且基于提取出的实体,数据可以被修复。例如,拼写错误、地址错误和其它常见错误给大数据系统带来了复杂的问题。对于小数量的数据,这种错误可以被手动识别和校正。但是,在非常大的数据集(例如,数十亿个节点或记录)中,这种手动处理是不可能的。在本发明的某些实施例中,数据丰富化服务可以利用知识服务来分析数据。基于知识服务的内容,数据中的实体可以被识别。例如,实体可以是地址、商业名称、位置、人名、识别号等。
图1绘出了根据本发明实施例的数据丰富化服务的简化高层级图100。如图1中所示,基于云的数据丰富化服务102可以从各种数据源104接收数据。在一些实施例中,客户端可以向数据丰富化服务102提交数据丰富化请求,该请求识别数据源104中的一个或多个(或其部分,例如,特定的表、数据集等)。数据丰富化服务102然后可以请求处理来自所识别出的数据源104的数据。在一些实施例中,可以对数据源进行采样,并且对采样数据进行分析以用于丰富化,使得大数据集更易于管理。识别出的数据可以被接收并添加到数据丰富化服务可访问的分布式存储系统(诸如Hadoop分布式存储(HDFS)系统)。数据可以通过多个处理阶段(本文描述为流水线或语义流水线)语义地处理。这些处理阶段可以包括准备阶段108、丰富化阶段110和发布阶段112。在一些实施例中,数据可以由数据丰富化服务以一个或多个批次处理。在一些实施例中,可以提供在其接收到数据时处理数据的流传输流水线。
在一些实施例中,准备阶段108可以包括各种处理子阶段。这可以包括自动检测数据源格式并执行内容提取和/或修复。一旦识别出数据源格式,就可以将数据源自动地规格化成可以由数据丰富化服务处理的格式。在一些实施例中,一旦准备好数据源,就可以由丰富化阶段110来对其进行处理。在一些实施例中,入站数据源可以被加载到数据丰富化服务可访问的分布式存储系统105(诸如通信耦合到数据丰富化服务的HDFS系统)中。分布式存储系统105提供用于所摄取的数据文件的临时存储空间,其然后还可以提供中间处理文件的存储以及用于结果在发布之前的临时存储。在一些实施例中,增强或丰富化的结果也可以存储在分布式存储系统中。在一些实施例中,在与所摄取的数据源相关联的丰富化期间捕获的元数据可以存储在分布式存储系统105中。系统级元数据(例如,指示数据源的位置、结果、处理历史、用户会话、执行历史和配置等的元数据)可以存储在分布式存储系统中或存储在数据丰富化服务可访问的单独的存储库中。
在某些实施例中,丰富化处理110可以利用语义总线(本文中也称为流水线或语义流水线)和插入该总线中的一个或多个自然语言(NL)处理器来分析数据。NL处理器可以自动识别数据源列,确定特定列中的数据的类型,如果在输入上不存在图式(schema)就命名该列,和/或提供描述列和/或数据源的元数据。在一些实施例中,NL处理器可以从列文本中识别并提取实体(例如,人、地点、事物等)。NL处理器还可以在数据源内和数据源之间识别和/或建立关系。如下面进一步描述的,基于提取出的实体,数据可以被修复(例如,以校正印刷错误或格式错误)和/或丰富化(例如,以向提取出的实体包括附加的相关信息)。
在一些实施例中,发布阶段112可以提供在丰富化期间捕获的数据源元数据和任何数据源丰富化或修复给一个或多个可视化系统以供分析(例如,向用户显示推荐的数据变换、丰富化和/或其它修改)。发布子系统可以将经处理的数据输送到一个或多个数据目标。数据目标可以与经处理的数据可以被发送到的位置对应。该位置可以是例如存储器、计算系统、数据库或提供服务的系统中的位置。例如,数据目标可以包括Oracle存储云服务(OSCS)、URL、第三方存储服务、Web服务以及其它云服务(诸如Oracle商业智能(BI)、数据库即服务,和数据库图式即服务)。在一些实施例中,聚合(syndication)引擎向客户提供一组API,以浏览、选择和订阅结果。一旦订阅并且当产生新结果时,结果数据就可以作为直接馈送提供给外部web服务端点或者作为批量文件下载。
图2绘出了根据本发明实施例的技术栈的简化框图200。在一些实施例中,数据丰富化服务可以利用图2中所示的逻辑技术栈来实现。技术栈可以包括用户界面/体验(UX)层202,该层通过一个或多个客户端设备(例如,利用瘦客户端、胖客户端、web浏览器或在客户端设备上执行的其它应用)提供对数据丰富化服务的访问)。调度器服务204可以管理通过UX层接收的请求/响应,并且可以管理数据丰富化性服务所执行的底层基础设施。
在一些实施例中,上面关于图1所描述的处理阶段可以包括多个处理引擎。例如,准备处理阶段108可以包括摄取/准备引擎、剖析引擎和推荐引擎。当数据在准备处理期间被摄取时,数据(或其样本)可以存储在分布式数据存储系统210(诸如“大数据”集群)中。丰富化处理阶段110可以包括语义/统计引擎、实体提取引擎和修复/变换引擎。如下面进一步描述的,丰富化处理阶段110可以利用在丰富化处理期间从知识服务206获得的信息。丰富化动作(例如,数据的添加和/或变换)可以对存储在分布式存储系统210中的数据执行。数据的变换可以包括添加缺失数据或数据以丰富化数据的修改。数据的变换可以包括修改数据中的错误或修复数据。发布处理阶段112可以包括发布引擎、聚合引擎和元数据结果管理器。在一些实施例中,各种开源技术可以被用来实现各种处理阶段和/或处理引擎内的一些功能。例如,文件格式检测可以使用Apache Tika。
在一些实施例中,管理服务208可以监视在丰富化处理110期间对数据所做的改变。被监视的改变可以包括跟踪哪些用户访问数据、执行了哪些数据变换,以及其它数据。这可以使数据丰富化服务能够回滚丰富化动作。
技术栈200可以在诸如用于大数据操作的集群210(“大数据集群”)的环境中实现。集群210可以利用Apache Spark来实现,其提供用于实现与诸如HDFS的分布式文件系统(DFS)兼容的分布式计算框架的一组库。Apache Spark可以向有效资源管理器(如YARN)发送对于映射、减少、过滤、排序或样本集群处理作业的请求。在一些实施例中,集群210可以利用诸如由提供的分布式文件系统提供(offering)来实现。DFS(诸如由提供的DFS)可以包括HDFS和Yarn。
图3绘出了根据本发明实施例的数据丰富化系统300的简化框图。数据丰富化系统300可以实现数据丰富化服务302。数据丰富化服务302可以从一个或多个客户端304接收数据丰富化请求。数据丰富化服务302可以包括一个或多个计算机和/或服务器。数据丰富化服务302可以是由若干子系统和/或模块组成的模块,包括可能未示出的一些子系统和/或模块。数据丰富化服务302可以具有比图中所示更多或更少的子系统和/或模块,可以组合两个或更多个子系统和/或模块,或者可以具有不同的子系统和/或模块配置或布置。在一些实施例中,数据丰富化服务302可以包括用户界面306、摄取引擎328、推荐引擎308、知识服务310、剖析引擎326、变换引擎322、准备引擎312和发布引擎324。实现数据丰富化服务302的元件可以操作,以实现如上所述的语义处理流水线。
根据本发明的实施例,数据丰富化系统300可以包括语义处理流水线。语义处理流水线的全部或部分可以由数据丰富化服务102来实现。当添加数据源时,可以在加载该数据源之前通过流水线处理该数据源和/或其上存储的数据。流水线可以包括被配置为在将经处理的数据发布到一个或多个数据目标之前处理数据和/或数据源的一个或多个处理引擎。处理引擎可以包括从新数据源提取原始数据并且将原始数据提供给准备引擎的摄取引擎。准备引擎可以识别与原始数据相关联的格式,并且可以将原始数据转换成可以由数据丰富化服务302处理的格式(例如,规格化原始数据)。剖析引擎可以提取和/或生成与规格化的数据相关联的元数据,并且变换引擎可以基于该元数据变换(例如,修复和/或丰富化)规格化的数据。结果所得的丰富化的数据可以被提供给发布引擎,以被发送到一个或多个数据目标。下面进一步描述每个处理引擎。
在一些实施例中,数据丰富化服务302可以由计算基础设施系统(例如,云计算基础设施系统)提供。计算基础设施系统可以在具有一个或多个计算系统的云计算环境中实现。计算基础设施系统可以经一个或多个通信网络通信耦合到一个或多个数据源或一个或多个数据目标,诸如本文所述的那些。
客户端304可以包括各种客户端设备(诸如台式计算机、膝上型计算机、平板计算机、移动设备等)。每个客户端设备可以包括通过其可以访问数据丰富化服务302的一个或多个客户端应用304。例如,浏览器应用、瘦客户端(例如,移动应用)和/或胖客户端可以在客户端设备上执行,并且使用户能够与数据丰富化服务302交互。图3中所绘出的实施例仅仅是例子,并且不意在不适当地限制本发明的要求保护的实施例。本领域普通技术人员将认识到许多变化、替代和修改。例如,可以存在比图中所示的更多或更少的客户端设备。
客户端设备304可以是各种不同类型,包括但不限于个人计算机,台式机,诸如膝上型计算机、移动电话、平板电脑等的移动或手持设备以及其它类型的设备。通信网络促进客户端设备304与数据丰富化服务302之间的通信。通信网络可以是各种类型并且可以包括一个或多个通信网络。通信网络106的例子包括但不限于互联网、广域网(WAN)、局域网(LAN)、以太网、公共或专用网络、有线网络、无线网络等,及其组合。不同的通信协议可以被用来促进通信,包括有线和无线协议,诸如IEEE 802.XX协议套件、TCP/IP、IPX、SAN、AppleTalk、蓝牙,及其它协议。一般而言,通信网络可以包括促进客户端和数据丰富化服务302之间的通信的任何通信网络或基础设施。
用户可以通过用户界面306与数据丰富化服务302交互。客户端304可以呈现图形用户界面,以显示用户的数据、用于变换用户的数据的推荐,以及通过用户界面306向数据丰富化服务302发送和/或接收指令(“变换指令”)。本文所公开的用户界面(诸如图4A-4D和5A-5D中引用的那些)可以由数据丰富化服务302或经由客户端304呈现。例如,用户界面可以由用户界面306生成,并且由位于客户端304中的任何一个的数据丰富化服务302呈现。用户界面可以由数据丰富化系统302经由网络作为服务(例如,云服务)或网络可访问应用的一部分来提供。在至少一个例子中,数据丰富化服务302的操作者可以操作客户端304之一来访问本文所公开的任何用户界面并与之交互。用户可以向用户界面306发送指令,以添加数据源(例如,提供数据源访问和/或位置信息,等等)。
数据丰富化服务302可以利用摄取引擎328来摄取数据。当添加数据源时,摄取引擎328可以充当初始处理引擎。摄取引擎328可以促进用户数据从一个或多个数据源309到数据丰富化服务302的安全和可靠的上传。在一些实施例中,摄取引擎328可以从一个或多个数据源309提取数据并将其存储在数据丰富化服务302中的分布式存储系统305中。从一个或多个数据源309和/或一个或多个客户端304摄取的数据可以如上面关于图1-2所描述的那样进行处理。数据丰富化服务302可以从客户端数据存储307和/或从一个或多个数据源309接收数据。分布式存储系统305可以在数据被发布到一个或多个数据目标330之前在流水线的剩余处理阶段期间充当用于上传数据的临时储存器。一旦上传完成,就可以调用准备引擎312来规格化上传的数据集。
接收到的数据可以包括结构化数据、非结构化数据或其组合。结构数据可以基于数据结构,包括但不限于数组、记录、关系数据库表、散列表、链表或其它类型的数据结构。如上所述,数据源可以包括公共云存储服务311、私有云存储服务313、各种其它云服务315、URL或基于web的数据源317,或任何其它可访问的数据源。来自客户端304的数据丰富化请求可以识别数据源和/或特定数据(表、列、文件,或通过数据源309或客户端数据存储307可用的任何其它结构化或非结构化数据)。数据丰富化服务302然后可以访问识别出的数据源,以获得在数据丰富化请求中指定的特定数据。数据源可以通过地址(例如,URL)、通过储存装置提供者名称或其它标识符来识别。在一些实施例中,对数据源的访问可以由访问管理服务控制。客户端304可以向用户显示输入凭证(例如,用户名和密码)和/或授权数据丰富化服务302访问数据源的请求。
在一些实施例中,从一个或多个数据源309上传的数据可以被修改成各种不同的格式。准备引擎312可以将上传的数据转换成公共的规格化格式,以便由数据丰富化服务302处理。规格化可以通过使用指令或代码实现的例程和/或技术来执行,诸如由分发(distribute)的Apache Tika。规格化的格式提供从数据源获得的数据的规格化的视图。在一些实施例中,准备引擎312可以读取多个不同的文件类型。准备引擎312可以将数据规格化为字符分离的形式(例如,制表符分离的值、逗号分离的值,等等)或者作为用于分层数据的JavaScript对象符号(JSON)文档。在一些实施例中,各种文件格式可以被识别和规格化。例如,诸如Microsoft 格式(例如,XLS或XLSX)、Microsoft格式(例如,DOC或DOCX)和便携式文档格式(PDF)的标准文件格式以及诸如JSON和扩展标记语言(XML)的分层格式可以被支持。在一些实施例中,各种二进制编码格式和串行化对象数据也可以被读取和解码。在一些实施例中,数据可以以Unicode格式(UTF-8)编码向流水线提供。准备引擎312可以对数据丰富化服务302期望的文件类型执行上下文提取和转换,并且可以从数据源提取文档级元数据。
规格化数据集可以包括将数据集中的原始数据转换成可由数据丰富化服务302(尤其是剖析引擎326)处理的格式。在一个例子中,规格化数据集以创建规格化的数据集包括将具有一种格式的数据集修改为经调整的格式,作为规格化的数据集,经调整的格式不同于所述格式。可以通过识别数据集中的一列或多列数据、并将与这些列对应的数据的格式修改为相同格式来对数据集进行规格化。例如,数据集中具有不同格式化的日期的数据可以通过将格式改变为可以由剖析引擎326处理的针对日期的通用格式来进行规格化。数据可以通过从非表格式被修改或转换成具有一列或多列数据的表格式来规格化。
一旦数据已经被规格化,规格化的数据就可以被传递到剖析引擎326。剖析引擎326可以对规格化的数据执行逐列分析,以识别存储在列中的数据的类型以及关于数据如何在列中存储的信息。在本公开内容中,虽然在许多情况下剖析引擎326被描述为对数据执行操作,但是由剖析引擎326处理的数据已经被准备引擎312规格化。在一些实施例中,由剖析引擎326处理的数据可以包括未被规格化成处于由剖析引擎326可处理的格式(例如,规格化的格式)的数据。剖析引擎326的输出或结果可以是指示关于来自源的数据的简档信息的元数据(例如,源简档)。元数据可以指示关于数据的一个或多个模式和/或数据的分类。如下面进一步描述的,元数据可以包括基于对数据的分析的统计信息。例如,剖析引擎326可以输出关于每个识别出的列的多个度量和模式信息,并且可以识别列的名称和类型的形式的图式(schema)信息,以匹配数据。
由剖析引擎326生成的元数据可以被数据丰富化服务的其它元件(例如,推荐引擎308和变换引擎322)使用,以执行如本文所述的用于数据丰富化服务302的操作。在一些实施例中,剖析引擎326可以向推荐引擎308提供元数据。
推荐引擎308可以识别用于由剖析引擎326处理的数据的修复、变换和数据丰富化推荐。由剖析引擎326生成的元数据可以基于由元数据指示的统计分析和/或分类来确定用于数据的推荐。在一些实施例中,推荐可以通过用户界面或其它web服务向用户提供。推荐可以为商业用户定制(tailor),使得推荐在高层级描述什么数据修复或丰富化是可用的,这些推荐如何与过去的用户活动比较,和/或如何基于现有知识或模式来分类未知项目。知识服务310可以访问一个或多个知识图或其它知识源340。知识源可以包括由网站,web服务,策展(curated)知识存储和其它来源发布的公开可用的信息。推荐引擎308可以向知识服务310请求(例如,查询)对于针对源获得的数据可以被推荐给用户的数据。
在一些实施例中,变换引擎322可以通过用户界面306向用户给出用于每个列的采样数据或来自输入数据集的样本行。通过用户界面306,数据丰富化服务302可以向用户给出推荐的变换。变换可以与变换指令相关联,变换指令可以包括用于执行变换动作的代码和/或函数调用。变换指令可由用户基于在用户界面306的选择来调用,诸如通过选择用于变换的推荐或者通过接收指示操作的输入(例如,操作者命令)。在一个例子中,变换指令包括基于实体信息重命名至少一列数据的变换指令。可以接收另一变换指令,以将至少一列数据重命名为默认名称。默认名称可以包括预定的名称。默认名称可以是当无法确定或未定义数据列的名称时预定义的任何名称。变换指令可以包括基于实体信息重新格式化至少一列数据的变换指令,以及用于基于实体信息模糊化至少一列数据的变换指令。在一些实施例中,变换指令可以包括基于实体信息添加从知识服务获得的一列或多列数据的丰富化指令。
通过用户界面306,用户可以执行变换动作,并且变换引擎322可以将它们应用到从数据源获得的数据并显示结果。这给予用户即时反馈,该反馈可以被用来可视化和验证变换引擎322配置的效果。在一些实施例中,变换引擎322可以从剖析引擎326和推荐引擎308接收提供推荐的变换动作的模式和/或元数据信息(例如,列名和类型)。在一些实施例中,变换引擎322可以提供编排和跟踪对数据的改变的用户事件模型,以促进撤销、重做、删除和编辑事件。模型可以捕获动作之间的依赖关系,使得当前配置保持一致。例如,如果列被移除,则由推荐引擎308为该列提供的推荐的变换动作也可以被移除。类似地,如果变换动作导致插入新列并且该动作被删除,则对新列执行的任何动作也被删除。
如上所述,在处理期间,接收到的数据可以被分析,并且推荐引擎308可以给出要对数据做出的一个或多个推荐的变换,包括丰富化、修复和其它变换。用于丰富化数据的推荐的变换可以由一组变换组成,其中每个变换是对数据执行的单个变换动作或原子变换。可以由集合中的另一变换对先前变换的数据执行变换。变换集合可以并行地或以特定次序执行,使得在执行该变换集合之后得到的数据被丰富化。该变换集合可以根据变换规范来执行。变换规范可以包括指示如何以及何时对由剖析引擎326产生的数据执行变换集合中每一个变换的变换指令,和由推荐引擎308确定的用于丰富化数据的推荐。原子变换的例子可以包括但不限于对标题的变换、转换、删除、拆分、连接和修复。根据变换集合变换的数据可以经历一系列变化,其中每个变化导致数据被丰富化的中间数据。为用于变换集合的中间步骤生成的数据可以以诸如弹性分布式数据集(RDD)、文本、数据记录格式、文件格式、任何其它格式或其组合的格式来存储。
在一些实施例中,作为由数据丰富化服务302的任何元件执行的操作的结果而生成的数据可以以中间数据格式存储,包括但不限于RDD、文本、文档格式、任何其它类型的格式,或其组合。以中间格式存储的数据可以被用来进一步执行用于数据丰富化服务302的操作。
下表示出了变换的例子。表1示出了变换动作的类型的概要。
表1
表2示出了不适合参考表1示出的类别类型内的变换动作。
表2
以下表3示出了变换例子的类型的例子。具体而言,表3示出了变换动作的例子并且描述与这些动作对应的变换的类型。例如,变换动作可以包括基于在数据中检测到来自白名单的单词的存在来过滤数据。如果用户想要跟踪包含“Android”或“iPhone”的讯息(例如,推文),则可以添加具有构成所提供的白名单的那两个词的变换动作。这仅仅是可以为用户丰富化数据的方式的一个例子。
表3
推荐引擎308可以使用来自知识服务310、知识源340的信息生成用于变换引擎322的推荐,并且指示变换引擎322生成将变换数据的变换脚本。变换脚本可以包括可以由一个或多个处理单元执行以变换接收到的数据的程序、代码或指令。照此,推荐引擎308可以充当用户界面306和知识服务310之间的媒介。
如上面所讨论的,剖析引擎326可以分析来自数据源的数据,以确定是否存在任何模式,并且如果存在任何模式,则可以将模式分类。一旦从数据源获得的数据被规格化,该数据就可以被解析,以识别数据的结构中的一个或多个属性或字段。模式可以利用正则表达式的集合来识别,每个正则表达式具有标签(“标记”)并且由类别定义。该数据可以与不同类型的模式进行比较,以识别模式。可以识别的模式类型的例子包括但不限于整数、小数、日期或日期/时间字符串、URL、域地址、IP地址、电子邮件地址、版本号、场所标识符、UUID和其它十六进制标识符、社会安全号、美国信箱(box)编号、典型的美国街道地址模式、邮编、美国电话号码、套房号码、信用卡号、专有名称、个人信息,以及信用卡供应商。
在一些实施例中,剖析引擎326可以基于由语义约束或语法约束定义的一组正则表达式来识别数据中的模式。正则表达式可以被用来确定数据的形状和/或结构。剖析引擎326可以实现操作或例程(例如,调用用于执行正则表达式的处理的例程的API),以基于一个或多个正则表达式确定数据中的模式。例如,用于模式的正则表达式可以基于语法约束应用到数据,以确定该模式在数据中是否是可识别的。
剖析引擎326可以利用一个或多个正则表达式来执行解析操作,以识别由剖析引擎326处理的数据中的模式。正则表达式可根据层次来排序。模式可以基于正则表达式的复杂度的次序来识别。多个模式可以匹配正在被分析的数据;将选择具有更大复杂度的模式。如下面进一步描述的,剖析引擎326可以基于被应用以确定那些模式的正则表达式的应用来执行统计分析,以消除模式之间的歧义。
在一些实施例中,可以处理未结构化的数据,以分析数据中的元数据描述属性。元数据本身可以指示关于数据的信息。可以比较元数据,以识别相似性和/或确定信息的类型。基于数据识别出的信息可以与已知类型的数据(例如,商业信息、个人识别信息或地址信息)进行比较,以识别与模式对应的数据。
根据实施例,剖析引擎326可以执行统计分析,以消除数据中的模式和/或文本的歧义。剖析引擎326可以基于统计分析来生成包括统计信息的元数据。当模式被识别时,剖析引擎326可以确定关于每个不同模式的统计信息(例如,模式度量),以消除模式之间的歧义。统计信息可以包括对于被识别出的不同模式的标准偏差。包括统计信息的元数据可以被提供给数据丰富化服务302的其它部件,诸如推荐引擎308。例如,元数据可以被提供给推荐引擎308,以使得推荐引擎308能够基于识别出的(一个或多个)模式确定用于数据的丰富化的推荐。
推荐引擎308可以使用模式来查询知识服务310,以获得关于模式的附加信息。知识服务310可以包括或可以访问一个或多个知识源340。知识源可以包括由网站、web服务、策展知识存储和其它源发布的公开可用的信息。
剖析引擎326可以执行统计分析,以消除数据中识别出的模式之间的歧义。例如,由剖析引擎326分析的数据可以被评估,以针对数据中识别出的每个不同模式计算模式度量(例如,数据中不同模式的统计频率)。模式度量的集合中的每一个度量是针对识别出的模式的不同模式计算的。剖析引擎326可以确定为不同模式计算的模式度量之间的差异。识别出的模式之一可以基于该差异来选择。例如,基于数据中的模式的频率,一个模式可以与另一个模式消除歧义。在另一个例子中,其中数据由具有多个不同格式的日期组成,每个格式与不同的模式对应,剖析引擎326除了规格化之外还可以将日期转换为标准格式,然后可以为每个格式确定与不同模式的标准偏差。在这个例子中,剖析引擎326可以统计地将数据中的格式之间的歧义消除为具有最低标准偏差的格式。可以选择与具有最低标准偏差的数据的格式对应的模式作为数据的最佳模式。
剖析引擎326可以确定其识别的模式的分类。剖析引擎326可以与知识服务310通信,以确定识别出的模式是否可以在知识域中被分类。知识服务310可以基于本文所述的技术(诸如匹配技术和相似性分析)来确定与数据相关联的一个或多个可能的域。知识服务310可以向剖析引擎326提供可能类似于被识别为具有模式的数据的一个或多个域的分类。知识服务310可以为由知识服务310识别的每个域提供指示与该域的相似程度的相似性度量。本文公开的用于相似性度量分析和评分的技术可以由推荐引擎308应用,以确定由剖析引擎326处理的数据的分类。由剖析引擎326生成的元数据可以包括关于知识域的信息(如果有任何信息适用的话)以及指示与由剖析引擎326分析的数据的相似程度的度量。
剖析引擎326可以执行统计分析,以消除数据中识别出的文本的歧义,而不管在数据中是否识别出模式。文本可以是模式的一部分,并且文本的分析可以被用来进一步识别模式(如果有任何模式可以被识别的话)。剖析引擎326可以请求知识服务310对文本执行域分析,以确定文本是否可以被分类到一个或多个域中。知识服务310可以操作,以提供关于适用于正被分析的文本的一个或多个域的信息。由知识服务310执行以确定域的分析可以利用本文所述的技术(诸如被用来确定用于数据的域的相似性分析)来执行。
在一些实施例中,剖析引擎326可以识别数据集中的文本数据。文本数据可以与实体集合中识别出的每个实体对应。可以为识别出的每个实体确定分类。剖析引擎326可以请求知识服务来识别用于实体的分类。在确定用于实体集合(例如,列中的实体)的分类集合时,剖析引擎326可以计算度量集合(“分类度量”),以消除该分类集合之间的歧义。可以针对分类集合中的不同分类来计算度量集合中的每一个。剖析引擎326可以通过将它们彼此比较来统计地消除度量集合的歧义,以确定哪个分类最接近地表示实体集合。实体集合的分类可以基于表示实体集合的分类来选择。
利用知识源340,知识服务310可以在上下文中匹配由剖析引擎326识别出的模式。知识服务310可以比较数据中识别出的模式(或者,如果是文本的话就是该数据)与用于由知识源存储的不同实体的实体信息。实体信息可以利用知识服务310从一个或多个知识源340获得。已知实体的例子可以包括社会安全号、电话号码、地址、专有名称或其它个人信息。可以将数据与用于不同实体的实体信息进行比较,以基于识别出的模式确定是否存在与一个或多个实体的匹配。例如,知识服务310可以将模式“XXX-XX-XXXX”与美国社会安全号的格式匹配。此外,知识服务310可以确定社会安全号码是受保护的或敏感信息,其公开与各种惩罚相关联。
在一些实施例中,剖析引擎326可以执行统计分析,以消除在为由剖析引擎326处理的数据识别出的多个分类之间的歧义。例如,当文本被分类为具有多个域时,剖析引擎326可以处理数据,以统计地确定由知识服务310确定的适当分类。分类的统计分析可以被包括在由剖析引擎326生成的元数据中。
除了模式识别之外,剖析引擎326还可以统计地分析数据。剖析引擎326可以表征大量数据的内容,并且可以提供关于数据的全局统计以及数据内容的按列分析:例如,其值、模式、类型、语法、语义及其统计性质。例如,数值数据可以被统计地分析,包括例如N、平均值、最大值、最小值、标准偏差、偏斜度、峰度和/或20柱直方图(如果N大于100并且唯一值大于K)。内容可以被分类,用于后续分析。
在一个例子中,全局统计可以包括但不限于行数、列数、原始和填充的列数以及它们如何变化、不同的和重复的行、标题信息、按类型或子类型分类的列数,以及具有安全或其它警报的列数。特定于列的统计可以包括填充行(例如,K个最频繁、K个最不频繁的唯一值、唯一模式,以及(当适用时)类型)、频率分布、文本度量(例如,文本长度、标记计数、标点符号、基于模式的标记和各种有用的导出文本性质的最小值、最大值、平均值)、标记度量、数据类型和子类型、数值列的统计分析、在具有大多数非结构化数据的列中找到的L个最可能/最不可能的简单或复合项或n元语法(n-grams),以及通过这种朴素词典匹配的参考知识类别、日期/时间模式发现和格式化、参考数据匹配,以及估算的列标题标签。
结果所得的简档可以被用来对内容进行分类,以供后续分析,以直接或间接地推荐数据的变换、识别数据源之间的关系,并且在应用基于先前获取的数据的简档设计的一组变换之前验证新获取的数据。
由剖析引擎326产生的元数据可以被提供给推荐引擎308,以生成一个或多个变换推荐。与识别出的数据模式匹配的实体可以被用来丰富化数据,那些通过分类识别出的实体是利用知识服务310确定的。在一些实施例中,针对(to)识别出的模式(例如,城市和州)的数据可以被提供给知识服务310,以从知识源340获得与识别出的模式匹配的实体。例如,知识服务310可以被调用,以调用与识别出的模式对应的例程(例如,getCities()和getStates())来接收实体信息。从知识服务310接收的信息可以包括具有适当拼写的实体信息(例如,适当拼写的城市和州)的实体的列表(例如,规范列表)。与从知识服务310获得的匹配实体对应的实体信息可以被用来丰富化数据,例如,规格化数据、修复数据和/或增强数据。
在一些实施例中,推荐引擎308可以基于从知识服务310接收的匹配的模式来生成变换推荐。例如,对于包括社会安全号的数据,推荐引擎可以推荐使条目模糊的变换(例如,截断、随机化或删除条目的全部或一部分)。变换的其它例子可以包括重新格式化数据(例如,重新格式化数据中的日期)、重命名数据、丰富化数据(例如,插入值或将类别与数据相关联)、搜索和替换数据(例如,校正数据的拼写)、改变字母的大小写(例如,从大写改变成小写),以及基于黑名单或白名单术语的过滤,在一些实施例中,可以为特定用户定制推荐,使得推荐在高层级描述什么数据修复或丰富化是可用的。例如,模糊化推荐可以指示条目的前五位数字将被删除。在一些实施例中,可以基于过去的用户活动生成推荐(例如,提供先前当敏感数据被识别出时使用的推荐的变换)。
变换引擎322可以基于由推荐引擎308提供的推荐来生成变换脚本(例如,模糊社会安全号的脚本)。变换脚本可以执行变换数据的操作。在一些实施例中,变换脚本可以实现数据的线性变换。线性变换可以通过使用API(例如,Spark API)来实现。变换动作可以由利用API调用的操作来执行。变换脚本可以基于利用API定义的变换操作来配置。操作可以基于推荐来执行。
在一些实施例中,变换引擎322可以自动生成变换脚本,以修复在数据源处的数据。修复可以包括自动重命名列、替换列内的字符串或模式、修改文本大小写、重新格式化数据,等等。例如,变换引擎322可以基于来自推荐引擎308的推荐来生成变换日期列的变换脚本,以修改或转换列中日期的格式。可以从多个推荐中选择推荐,以丰富化或修改来自由剖析引擎326处理的数据源的数据。推荐引擎308可以基于由剖析引擎326提供的元数据或简档来确定推荐。元数据可以指示针对不同格式识别的日期列(例如,MM/DD/YYYY、DD-MM-YY等)。由变换引擎322生成的变换脚本可以例如基于来自变换引擎322的建议来拆分和/或连接列。变换引擎322还可以基于从剖析引擎326接收的数据源简档来移除列(例如,以移除空列或包括用户不期望的信息的列)。
变换脚本可以利用描述关于一个或多个算法的操作的语法来定义(例如,Spark运算符树)。照此,语法可以描述运算符树转导(transduction)/缩减。变换脚本可以基于所选择的推荐来生成或者由用户通过图形用户界面交互地请求。参考图4A、4B、4C和4D描述推荐的变换的例子。基于由用户通过图形用户界面指定的变换操作,变换引擎322根据这些操作执行变换操作。可以向用户推荐变换操作,以丰富化数据集。
如下面进一步描述的,客户端304可以显示描述或以其它方式指示每个所推荐的变换的推荐。当用户选择要运行的变换脚本时,除了被分析以确定推荐的(一个或多个)变换的数据之外,所选择的变换脚本还可以在来自数据源的所有或更多数据上运行。然后,结果所得的变换的数据可以由发布引擎324发布到一个或多个数据目标330。在一些实施例中,数据目标可以是与数据源不同的数据存储。在一些实施例中,数据目标可以是与数据源相同的数据存储。数据目标330可以包括公共云存储服务332、私有云存储服务334、各种其它云服务336、URL或基于web的数据目标338,或任何其它可访问的数据目标。
在一些实施例中,推荐引擎308可以向知识服务310查询与识别出的平台相关的附加数据。例如,在数据包括城市名称列的情况下,可以识别相关数据(例如,位置、州、人口、国家等),并且可以给出用相关数据丰富化数据集的推荐。下面关于图4A-4D示出了通过用户界面给出推荐和变换数据的例子。
知识服务310可以实现匹配方法,以将数据与通过知识服务310可用的参考数据进行比较。知识服务310可以包括或可以访问一个或多个知识源340。知识源可以包括由网站发布的公开可用的信息、web服务、策展知识存储,以及其它源。知识服务310可以实现确定两个或更多个数据集之间的语义相似性的方法。这也可以被用来将用户的数据与通过知识服务310可用的参考数据匹配。知识服务310可以执行如本公开内容中所述的相似性度量分析。由知识服务器310执行的技术可以包括在本公开内容中描述的那些技术,包括由通过引用被结合于此的参考文献描述的技术。
知识服务310可以执行操作,以实现自动化的数据分析。在一些实施例中,知识服务310可以使用无人监督的机器学习工具(诸如Word2Vec)来分析输入数据集。Word2Vec可以接收文本输入(例如,来自大数据源的文本语料库)并且生成每个输入单词的向量表示。然后结果所得的模型可以被用来识别单词的任意输入集合如何紧密相关。例如,利用大文本语料库(例如,新闻聚合器或其它数据源)构建的Word2Vec模型可以被用来确定用于每个输入单词的对应数值向量。当分析这些向量时,可以确定向量在向量空间内“接近”(在欧几里德意义上)。虽然这可以识别输入单词是相关的(例如,识别在向量空间内紧密地聚类在一起的输入单词),但是Word2Vec可能不能用来识别用于单词的描述性标签(例如,“轮胎制造商”)。知识服务310可以利用策展知识源340(例如,来自马克斯普朗克信息学研究所(MaxPlanck Institute for Informatics)的YAGO)实现对相关单词进行分类的操作。利用来自知识源340的信息,知识服务310可以向输入数据集添加附加的相关数据。
在一些实施例中,知识服务310可以实现执行三元组建模以进一步细化相关项的分类的操作。三元组建模可以被用来比较单词集,以用于类别识别。输入数据集合可以利用相关项被增强。
利用可以包括添加的数据的输入数据集,知识服务310可以实现匹配方法(例如,图匹配方法),以将来自增强的数据集的单词与来自知识源340的数据的类别进行比较。知识服务310可以实现确定增强的数据集与知识源340中每个类别之间的语义相似性以识别该类别的名称的方法。类别的名称可以基于最高相似性度量来选择。相似性度量可以基于数据集中匹配类别名称的项的数量来计算。类别可以基于项匹配的最大数量来选择,其中项匹配基于相似性度量。下面进一步描述为相似性分析和分类执行的技术和操作。
在一些实施例中,知识服务310可以增强输入数据集并使用来自知识源340的信息向输入数据集添加附加的相关数据。例如,数据分析工具(诸如Word2Vec)可以被用来从知识源(诸如来自新闻聚合服务的文本语料库)识别与输入数据集中包括的那些单词语义相似的单词。在一些实施例中,知识服务310可以实现三元组建模,以预处理从知识源340(诸如YAGO)获得的数据,以按类别生成单词的加索引的表。知识服务310然后可以为增强的数据集中的每个单词创建三元组并且将该单词与来自加索引的知识源340的单词匹配。
利用增强的数据集(或三元组匹配的增强的数据集),知识服务310可以将来自增强的数据集的单词与来自知识源340的数据的类别进行比较。例如,知识源340中的每个数据类别可以被表示为树结构,其中根节点表示类别,并且每个叶节点表示属于该类别的不同单词。知识服务310可以实现确定增强的数据集与知识源510中的每个类别之间的语义相似性的方法(例如,Jaccard索引或其它相似性度量)。匹配增强的数据集(例如,具有最高相似性度量)的类别的名称然后可以作为标签应用到输入数据集。
在一些实施例中,知识服务310可以通过确定数据集的交集的大小与数据集的并集的大小之比来确定两个数据集A和B的相似性。例如,相似性度量可以基于1)数据集(例如,增强的数据集)和类别的交集的大小与2)它们的并集的大小之比来计算。为了数据集与类别的比较,可以计算相似性度量,如上面所指示的。照此,“最佳匹配”可以基于比较相似性度量来确定。用于比较的数据集可以通过用与利用相似性度量为其确定最佳匹配的类别对应的标签来增强,从而进行丰富化。
如上所述,可以附加地或替代Jaccard索引使用其它相似性度量,到。本领域的普通技术人员将认识到,任何相似性度量都可以与上述技术一起使用。替代的相似性度量的一些例子包括但不限于:Dice-索引;Tversky索引;Tanimoto度量;以及余弦相似性度量。
在一些实施例中,知识服务310可以利用数据分析工具(诸如Word2Vec)来计算指示来自知识源340的数据与输入数据之间的匹配程度的精细度量(例如,得分),其中输入数据可以用来自知识源的数据增强。得分(“知识得分”)可以提供关于输入数据集与进行比较的类别之间的相似程度的更多知识。知识得分可以使数据丰富化服务302能够选择最能表示输入数据的类别名称。
在上述技术中,知识服务310可以对输入数据集中的项与知识源340中的候选类别(例如,属(genus))名称的匹配数进行计数。比较的结果可以产生表示整数类型(wholeinteger)的值。照此,虽然该值指示各项之间的匹配程度,但是可能不指示输入数据集与知识源中的不同项之间的匹配程度。
知识服务310可以利用Word2Vec来确定知识源中的每个项(例如,用于属的项)与输入数据(例如,种(species))的项的比较的相似性。利用Word2Vec,知识服务310可以计算输入数据集与从知识源获得的一个或多个项之间的相似性度量(例如,余弦相似性或距离)。余弦相似性可以被计算为从知识源获得的项(例如,域或属)的数据集与项的输入数据集之间的余弦角。可以以与Tanimoto度量类似的方式计算余弦相似性度量。通过基于余弦相似性计算相似性度量,输入数据集中的每个项可以被认为是整数值整数的分数,诸如指示该项和候选类别之间的相似性百分比的值。例如,计算轮胎制造商与姓氏之间的相似性度量可能导致相似性为0.3,而轮胎制造商与公司名称之间的相似性度量可能导致相似性为0.5。表示相似性度量的非整数值可以紧密比较(close compared),以便为紧密匹配的类别名称提供更高的准确性。基于最接近值1的相似性度量,紧密匹配的类别名称可以被选作最适用的类别名称。在上面基于相似性度量的例子中,公司名称更可能是正确的类别。照此,知识服务310可以将“公司”而不是“姓氏”与用户提供的包含轮胎制造商的数据列相关联。
知识服务310可以确定关于知识组(例如,域或类别)的信息。关于知识组的信息可以在图形用户界面中给出。关于知识域的信息可以包括指示知识域与项的输入数据集之间的相似性的测量的度量(例如,知识得分)。输入数据可以与来自知识源340的数据进行比较。输入数据集可以与由用户指定的数据集的数据列对应。知识得分可以指示输入数据集与由知识源提供的一个或多个项之间的相似性的测量,每个项与知识域对应。数据列可以包括可能属于知识域的项。
在至少一个实施例中,知识服务310可以确定更准确的匹配得分。得分可以与利用本文公开的技术(包括结合于此的参考文献)利用评分公式计算的值对应。评分公式可以确定两个数据集(例如,输入数据集和从知识源获得的域(例如,候选类别)中的项)之间的语义相似性。可以选择匹配得分对于其指示最佳匹配(例如,最高匹配得分)的域作为与输入数据集具有最大相似性的域。照此,输入数据集中的项可以与作为类别的域名相关联。
评分公式可以应用到输入数据集和域(例如,从知识源获得的项的类别),以确定指示输入数据与域之间的匹配的测量的得分。域可以具有一个或多个项,该一个或多个项共同定义该域。得分可以被用来确定输入数据集与哪个域最相似。输入数据集可以与与其最相似的域的描述输入数据集的项相关联。
在一些实施例中,用户界面306可以基于由剖析引擎326提供的元数据来生成一个或多个图形可视化。如上面所解释的,由剖析引擎326提供的数据可以包括指示关于已经由剖析引擎326处理的数据的度量的统计信息。剖析引擎326的度量的图形可视化的例子在图5A-5D中示出。图形可视化可以包括图形仪表板(例如,可视化仪表板)。图形仪表板可以指示多个度量,这多个度量中的每一个指示数据相对于数据被剖析的时间的实时度量。图形可视化可以在用户界面中显示。例如,生成的图形可视化可以被发送到客户端设备,以使客户端设备在客户端设备处的用户界面中显示图形可视化。在一些实施例中,图形可视化可以提供剖析结果。
此外,剖析引擎326的结构分析使得推荐引擎能够更好地将其查询集中到知识服务310,从而提高处理速度并减少系统资源上的负荷。例如,这个信息可以被用来限制被查询的知识的范围,使得知识服务310不尝试将数值数据列与地名匹配。
图4A-4D绘出了根据本发明实施例的、提供交互式数据丰富化的用户界面的例子。如图4A中所示,示例交互式用户界面400可以显示变换脚本402、推荐的变换404,以及被分析/变换的数据406的至少一部分。在面板402中列出的变换脚本可以包括指示变换已经应用到数据并且在面板406中可见。每个变换脚本402可以用对于商业用户可理解的简单的声明性语言编写。面板402中列出的变换脚本可以自动应用到数据并且反映在交互式用户界面400中显示的数据406的部分中。例如,面板402中列出的变换脚本包括重命名列,以描述其内容。交互式用户界面400中所示的列408已经根据变换脚本402被重命名(例如,列0003现在被命名为date_time_02,列0007现在被命名为“url”等)。但是,推荐的变换404未被自动应用到用户的数据。
如图4B中所示,用户可以在推荐面板404中查看推荐,并且基于该推荐,识别要改变的数据。例如,推荐410包括将“Col_0008重命名为城市”的推荐。因为该推荐被写成使得商业用户可以理解它(而不是在例如代码或伪代码中),所以对应的数据412可以容易地被用户识别。如图4B中所示,数据412包括一列字符串(在用户界面400中表示为一行)。剖析引擎326可以分析该数据,以确定其包括两个或更少单词(或标记)的字符串。这种模式可以被提供给可以查询知识服务310的推荐引擎318。在这种情况下,知识服务310已经将数据模式与城市名称相匹配,并且生成推荐408以相应地重命名该列。
在一些实施例中,面板404中列出的变换可能已经在用户的指示下(例如,响应于应用变换的指令)应用或可能已被自动应用。例如,在一些实施例中,知识服务310可以为给定的模式匹配提供置信得分。可以在推荐引擎318中设置阈值,使得自动应用具有大于阈值的置信度得分的匹配。
为了接受推荐,用户可以选择与推荐相关联的接受图标414(在这个例子中为向上箭头图标)。如图4C中所示,这将被接受的推荐414移动到变换脚本面板402,并且自动地将该变换应用到对应的数据416。例如,在图4C中所示的实施例中,Col_0008现在已经根据所选择的变换被重命名为“城市”。
在一些实施例中,数据丰富化服务302可以推荐要添加到数据源的附加列数据。如图4D中所示,继续城市的例子,变换418已经被接受,以用包括城市人口和城市位置细节(包括经度和纬度)的新列来丰富化数据。当被选择时,用户的数据集被丰富化,以包括这个附加信息420。数据集现在以全面和自动化的方式包括先前不对用户可用的信息。用户的数据集现在可以被用来产生与数据集中的其它数据相关联的位置和人口区域的全国地图(例如,这可以与公司的网站交易相关联)。
图5A-5D绘出了根据本发明实施例的、提供数据集的可视化的各种用户界面的例子。
图5A绘出了根据本发明实施例的、提供数据集的可视化的用户界面的例子。如图5A在所示,示例交互式用户界面500可以显示简档摘要502(“简档结果”)、变换脚本504、推荐的变换506以及被分析/变换的数据508的至少一部分。在面板504中列出的变换可以包括已经应用到数据并且在面板508中可见的变换。
简档摘要502可以包括全局统计(例如,总的行和列)以及特定于列的统计。特定于列的统计可以从由数据丰富化服务302处理的数据的分析中生成。在一些实施例中,特定于列的统计可以基于由数据丰富化服务302对数据处理的分析确定的列信息来生成。
简档摘要502可以包括美国的地图(例如,“热图”),其中美国的不同地区基于从被分析的数据508识别出的统计而以不同的颜色示出。统计可以指示那些位置多频繁地被识别为与数据相关联,在一个说明性例子中,数据可以表示在在线零售商的购买交易,其中每笔交易可以与位置相关联(例如,基于装运/付帐单地址,或者基于记录的IP地址)。简档摘要502可以基于对表示购买交易的数据的处理来指示交易的位置。在一些实施例中,可视化可以基于用户输入来修改,以帮助用户搜索数据并找到有用的相关性。这些特征在下面进一步描述。
图5B、5C和5D示出了用于数据集的交互式数据丰富化的结果的例子。图5B示出了可以包括简档度量面板542的用户界面540。面板542可以示出与所选择的数据源相关联的度量的摘要。在一些实施例中,如图5C中所示,简档度量面板560可以包括用于特定列562的度量,而不是整个数据集。例如,用户可以在用户的客户端设备上选择特定列,并且可以显示对应的列简档564。在这个例子中,剖析器指示列0008与知识源中的已知城市具有92%的匹配。在一些实施例中,高概率可以使变换引擎将col_0008自动标记为“城市”。
图5D示出了包括全局度量582(例如,与整个数据集相关的度量)和特定于列的可视化584的简档度量面板580。特定于列的可视化584可以由用户选择和/或被用来导航数据(例如,通过点击、拖动、滑动等)。上述例子表示对小数据集的简化变换。类似和更复杂的处理也可以自动应用到包括数十亿条记录的大数据集。
参考图6,各个实施例可以被描述为被绘制为流程图、流图、数据流程图、结构图或框图的处理。虽然流程图可以将操作描述为顺序处理,但是许多操作可以并行或并发地执行。此外,操作的次序可以重新布置。处理在其操作完成时终止,但可以具有未包括在附图中的附加步骤。处理可以与方法、函数、过程、子例程、子程序等对应。当处理与函数对应时,其终止可以与函数返回到调用函数或主函数对应。
图6中绘出的处理可以在由一个或多个处理单元(例如,处理器核心)执行的软件(例如,代码、指令、程序)、硬件或其组合中实现。软件可以存储在存储器中(例如,在存储器设备上、在非暂态计算机可读存储介质上)。图6中的处理步骤的特定系列并不意在进行限制。其它步骤序列也可以根据替代实施例执行。例如,本发明的替代实施例可以以不同的次序执行上面概述的步骤。而且,图6中所示的各个步骤可以包括多个子步骤,这些子步骤可以以对各个步骤适当的各种顺序执行。此外,可以依赖于特定应用而添加或移除附加步骤。本领域普通技术人员将认识到许多变化、修改和替代。
在一些实施例的一方面,图6的流程图中的每个处理可以由一个或多个处理单元执行。处理单元可以包括一个或多个处理器,包括单核或多核处理器、一个或多个处理器核或其组合。在一些实施例中,处理单元可以包括一个或多个专用协处理器,诸如图形处理器、数字信号处理器(DSP)等。在一些实施例中,可以利用定制电路(诸如专用集成电路(ASIC)或现场可编程门阵列(FPGA))来实现一些或全部处理单元。
图6绘出了根据本发明实施例的数据丰富化的方法的流程图。在一些实施例中,图6中绘出的处理可以由数据丰富化服务302的计算系统实现。在方框602,计算系统的处理单元可以识别来自一个或多个数据源的数据中的模式。在方框604,计算系统的处理单元可以将模式与从知识服务获得的实体信息进行匹配。实体信息可以指示关于实体的信息。例如,实体可以是地址、商业名称、位置、人名、识别号等。如上所述,剖析引擎可以利用知识服务和一个或多个知识源来识别数据中的模式。实体信息可以以一个或许多类型的数据结构的组合从知识服务获得,包括但不限于数组、记录、关系数据库表、散列表、链表或其它类型的数据结构。
在方框606,计算系统的处理单元可以基于实体信息为数据生成一个或多个变换脚本。例如,可以确定变换脚本,用于变换与匹配实体信息的那些模式对应的数据。变换数据可以包括更新、添加或删除数据的部分。变换脚本可以包括删除数据、重新格式化(例如,修改)数据和/或丰富化(例如,添加)数据的脚本。与实体信息对应的实体可以被用来确定要变换什么数据以及如何变换数据。可以基于数据的一个或多个属性在数据中识别实体信息。在方框608,计算系统的处理单元可以生成与一个或多个变换脚本对应的一个或多个推荐。在方框610,计算系统的处理单元可以在用户界面中显示一个或多个推荐。
在方框612,计算系统的处理单元可以接收基于一个或多个推荐的变换指令。变换指令可以指示如何基于所选择的一个或多个推荐来修改和/或丰富化从一个或多个数据源接收的数据。在一些实施例中,变换指令包括基于实体信息重命名至少一列数据的变换指令。在一些实施例中,可以接收另外的变换指令,以将至少一列数据重命名为默认名称。默认名称可以包括预定的名称。默认名称可以是当无法确定或未定义数据列的名称时预定义的任何名称。变换指令可以包括基于实体信息重新格式化至少一列数据的变换指令和基于实体信息模糊化至少一列数据的变换指令。在一些实施例中,变换指令可以包括用于添加基于实体信息从知识服务获得的一列或多列数据的丰富化指令。
在方框614,计算系统的处理单元可以基于变换指令变换数据。如上面所解释,变换指令指示如何丰富化和/或修改数据。可以通过执行诸如本文公开的操作来变换数据,用于基于所选择的推荐来丰富化和/或修改数据。例如,对于重新格式化数据的变换指令,可以通过用于重新格式化数据的修改来变换数据。照此,可以重新格式化变换的数据。在方框616,计算系统的处理单元可以基于变换指令将变换的数据发布到一个或多个数据目标。流程图可以在618结束。
图7绘出了用于实现实施例的分布式系统700的简化图。在所示的实施例中,分布式系统700包括一个或多个客户端计算设备702、704、706和708,其被配置为通过一个或多个网络710执行和操作客户端应用,诸如web浏览器、专有客户端(例如Oracle Forms)等。服务器712可以经由网络710与远程客户端计算设备702、704、706和708通信地耦合。
在各种实施例中,服务器712可以适于运行一个或多个服务或软件应用,诸如提供文档(例如,网页)分析和与修改相关的处理的服务和应用。在某些实施例中,服务器712还可以提供其它服务,或者软件应用可以包括非虚拟和虚拟环境。在一些实施例中,这些服务可以作为基于web的或云服务或者在软件即服务(SaaS)模型下提供给客户端计算设备702、704、706和/或708的用户。操作客户端计算设备702、704、706和/或708的用户可以进而利用一个或多个客户端应用与服务器712交互,以利用由这些部件提供的服务。
在图7所绘出的配置中,系统700的软件部件718、720和722被示为在服务器712上实现。在其它实施例中,系统700的一个或多个部件和/或由这些部件提供的服务也可以由客户端计算设备702、704、706和/或708中的一个或多个实现。操作客户端计算设备的用户然后可以利用一个或多个客户端应用来使用由这些部件提供的服务。这些部件可以用硬件、固件、软件或其组合实现。应当理解,各种不同的系统配置是可能的,其可以与分布式系统700不同。因此,图7中所示的实施例是用于实现实施例系统的分布式系统的一个例子,并且不意在进行限制。
客户端计算设备702、704、706和/或708可以包括各种类型的计算系统。例如,客户端计算设备可以包括便携式手持设备(例如,蜂窝电话、计算平板、个人数字助理(PDA))或可穿戴设备(例如,Google头戴式显示器),其运行诸如Microsoft Windows和/或诸如iOS、Windows Phone、Android、BlackBerry 8,Palm OS等各种移动操作系统的软件。设备可以支持各种应用,诸如各种互联网相关的应用、电子邮件、短消息服务(SMS)应用,并且可以使用各种其它通信协议。客户端计算设备还可以包括通用个人计算机,作为例子,运行各种版本的MicrosoftApple和/或Linux操作系统的个人计算机和/或膝上型计算机。客户端计算设备可以是运行任何各种商用的或类UNIX操作系统(包括但不限于诸如像GoogleChrome OS的各种GNU/Linux操作系统)的工作站计算机。客户端计算设备还可以包括能够在(一个或多个)网络710上通信的电子设备,诸如瘦客户端计算机、启用互联网的游戏系统(例如,具有或不具有手势输入设备的Microsoft游戏控制台)和/或个人消息传送设备。
虽然图7中的分布式系统700被示为具有四个客户端计算设备,但是可以支持任何数量的客户端计算设备。其它设备,诸如具有传感器的设备等,可以与服务器712交互。
分布式系统700中的(一个或多个)网络710可以是对本领域技术人员熟悉的可以利用任何各种可用协议支持数据通信的任何类型的网络,其中各种协议包括但不限于TCP/IP(传输控制协议/互联网协议)、SNA(系统网络体系架构)、IPX(互联网分组交换)、AppleTalk等。仅仅作为例子,(一个或多个)网络710可以是局域网(LAN)、基于以太网的网络、令牌环、广域网、互联网、虚拟网络、虚拟专用网络(VPN)、内联网、外联网、公共交换电话网络(PSTN)、红外网络、无线网络(例如,在任何电气和电子协会(IEEE)802.11协议套件、和/或任何其它无线协议下操作的网络)和/或这些和/或其它网络的任意组合。
服务器712可以由一个或多个通用计算机、专用服务器计算机(作为例子,包括PC(个人计算机)服务器、服务器、中档服务器、大型计算机、机架安装的服务器等)、服务器场、服务器集群或任何其它适当的布置和/或组合组成。服务器712可以包括运行虚拟操作系统的一个或多个虚拟机,或涉及虚拟化的其它计算体系架构。一个或多个灵活的逻辑存储设备池可以被虚拟化,以维护用于服务器的虚拟存储设备。虚拟网络可以由服务器712利用软件定义的联网来控制。在各种实施例中,服务器712可以适于运行在前述公开内容中描述的一个或多个服务或软件应用。例如,服务器712可以与根据本公开内容的实施例的用于如上所述执行处理的服务器对应。
服务器712可以运行包括以上讨论的任何操作系统的操作系统,以及任何商用的服务器操作系统。服务器712还可以运行任何各种附加的服务器应用和/或中间层应用,包括HTTP(超文本传输协议)服务器、FTP(文件传输协议)服务器、CGI(公共网关接口)服务器、服务器、数据库服务器等。示例性数据库服务器包括但不限于可从Oracle、Microsoft、Sybase、IBM(国际商业机器)等商业获得的那些数据库服务器。
在一些实现中,服务器712可以包括一个或多个应用,以分析和整合从客户端计算设备702、704、706和708的用户接收到的数据馈送和/或事件更新。作为例子,数据馈送和/或事件更新可以包括但不限于从一个或多个第三方信息源和持续数据流接收到的馈送、更新或实时更新,其可以包括与传感器数据应用、金融报价机、网络性能测量工具(例如,网络监视和流量管理应用)、点击流分析工具、汽车流量监视等相关的实时事件。服务器712还可以包括经由客户端计算设备702、704、706和708的一个或多个显示设备显示数据馈送和/或实时事件的一个或多个应用。
分布式系统700也可以包括一个或多个数据库714和716。这些数据库可以提供用于存储信息的机制,诸如用户交互信息、使用模式信息、适应规则信息以及由本发明的实施例使用的其它信息。数据库714和716可以驻留在各种位置中。作为例子,数据库714和716中的一个或多个可以驻留在服务器712本地(和/或驻留在其中)的非暂态存储介质上。可替代地,数据库714和716可以远离服务器712,并且经由基于网络的或专用的连接与服务器712通信。在一组实施例中,数据库714和716可以驻留在存储区域网络(SAN)中。类似地,用于执行服务器712所具有的功能的任何必要的文件可以适当地在服务器712本地存储和/或远程存储。在一组实施例中,数据库714和716可以包括适于响应于SQL格式的命令存储、更新和检索数据的关系数据库,诸如由Oracle提供的数据库。
在一些实施例中,上述文档分析和修改服务可以被提供为经由云环境的服务。图8是根据本公开内容的实施例、其中服务可以被提供为云服务的系统环境800的一个或多个部件的简化框图。在图8所示的实施例中,系统环境800包括可以被用户用来与提供云服务(包括用于响应于使用模式而动态修改文档(例如,网页)服务)的云基础设施系统802交互的一个或多个客户端计算设备804、806和808。云基础设施系统802可以包括一个或多个计算机和/或服务器,其可以包括以上针对服务器712所描述的那些。
应当理解,图8中所绘出的云基础设施系统802可以具有除所绘出的那些之外的其它部件。另外,图8中所示的实施例仅仅是可以结合本发明的实施例的云基础设施系统的一个例子。在一些其它实施例中,云基础设施系统802可以具有比图中所示出的更多或更少的部件、可以合并两个或更多个部件、或者可以具有不同的部件配置或布置。
客户端计算设备804、806和808可以是与以上针对客户端计算设备702、704、706和708描述的那些设备类似的设备。客户端计算设备804、806和808可以被配置为操作客户端应用,诸如web浏览器、专有客户端应用(例如,Oracle Forms)或可以被客户端计算设备的用户使用以与云基础设施系统802交互来使用由云基础设施系统802提供的服务的一些其它应用。虽然示例性系统环境800被示为具有三个客户端计算设备,但是可以支持任何数量的客户端计算设备。诸如具有传感器的设备等的其它设备可以与云基础设施系统802交互。
(一个或多个)网络810可以促进客户端计算设备804、806和808与云基础设施系统802之间的通信和数据交换。每个网络可以是对本领域技术人员熟悉的可以利用任何各种商用的协议支持数据通信的任何类型的网络,其中协议包括以上针对(一个或多个)网络710所描述的协议。
在某些实施例中,由云基础设施系统802提供的服务可以包括按需对云基础设施系统的用户可用的服务的主机。除了与响应使用模式的动态文档修改有关的服务之外,也可以提供各种其它服务,包括但不限于在线数据存储和备份解决方案、基于Web的电子邮件服务、托管的办公套件和文档协作服务、数据库处理、受管理的技术支持服务等。由云基础设施系统提供的服务可以动态调整,以满足其用户的需求。
在某些实施例中,由云基础设施系统802提供的服务的具体实例化在本文中可以被称为“服务实例”。一般而言,经由通信网络(诸如互联网)从云服务提供者的系统使得对用户可用的任何服务被称为“云服务”。通常,在公共云环境中,构成云服务提供者的系统的服务器和系统与消费者自己的预置服务器和系统不同。例如,云服务提供者的系统可以托管应用,并且用户可以经由诸如互联网的通信网络按需订购和使用应用。
在一些例子中,计算机网络云基础设施中的服务可以包括对存储装置、托管的数据库、托管的web服务器、软件应用或者由云供应商向用户提供的其它服务的受保护的计算机网络访问,或者如本领域中另外已知的。例如,服务可以包括通过互联网对云上的远程存储的受密码保护的访问。作为另一个例子,服务可以包括基于web服务的托管的关系数据库和脚本语言中间件引擎,用于由联网的开发人员私人使用。作为另一个例子,服务可以包括对在云供应商的网站上托管的电子邮件软件应用的访问。
在某些实施例中,云基础设施系统802可以包括以自助服务、基于订阅、弹性可扩展、可靠、高度可用和安全的方式交付给消费者的应用套件、中间件和数据库服务产品。这种云基础设施系统的例子是由本受让人提供的Oracle Public Cloud(Oracle公共云)。
云基础设施系统802还可以提供与“大数据”相关的计算和分析服务。术语“大数据”一般用来指可由分析员和研究者存储和操纵以可视化大量数据、检测趋势和/或以其它方式与数据交互的极大数据集。这种大数据和相关应用可以在许多层级和不同规模上由基础设施系统托管和/或操纵。并行链接的数十个、数百个或数千个处理器可以作用于这种数据,以便呈现其或者模拟对数据或其所表示的内容的外力。这些数据集可以涉及结构化数据,诸如在数据库中组织或以其它方式根据结构化模型组织的数据,和/或者非结构化数据(例如,电子邮件、图像、数据blob(二进制大对象)、网页、复杂事件处理)。通过利用实施例相对快速地将更多(或更少)的计算资源聚焦在目标上的能力,云基础设施系统可以更好地用于基于来自企业、政府机构、研究组织、私人个人、一群志同道合的个人或组织或其它实体的需求在大数据集上执行任务。
在各种实施例中,云基础设施系统802可以适于自动地供应、管理和跟踪消费者对由云基础设施系统802提供的服务的订阅。云基础设施系统802可以经由不同的部署模型提供云服务。例如,服务可以在公共云模型下提供,其中云基础设施系统802由销售云服务的组织拥有(例如,由Oracle公司拥有)并且使服务对一般公众或不同的工业企业可用。作为另一个例子,服务可以在私有云模型下提供,其中云基础设施系统802仅针对单个组织操作,并且可以为组织内的一个或多个实体提供服务。云服务还可以在社区云模型下提供,其中云基础设施系统802和由云基础设施系统802提供的服务由相关社区中的若干个组织共享。云服务还可以在混合云模型下提供,混合云模型是两个或更多个不同模型的组合。
在一些实施例中,由云基础设施系统802提供的服务可以包括在软件即服务(SaaS)类别、平台即服务(PaaS)类别、基础设施即服务(IaaS)类别、或包括混合服务的服务的其它类别下提供的一个或多个服务。消费者经由订阅订单可以订购由云基础设施系统802提供的一个或多个服务。云基础设施系统802然后执行处理,以提供消费者的订阅订单中的服务。
在一些实施例中,由云基础设施系统802提供的服务可以包括但不限于应用服务、平台服务和基础设施服务。在一些例子中,应用服务可以由云基础设施系统经由SaaS平台提供。SaaS平台可以被配置为提供属于SaaS类别的云服务。例如,SaaS平台可以提供在集成的开发和部署平台上构建和交付点播应用套件的能力。SaaS平台可以管理和控制用于提供SaaS服务的底层软件和基础设施。通过利用由SaaS平台提供的服务,消费者可以利用在云基础设施系统上执行的应用。消费者可以获取应用服务,而无需消费者单独购买许可证和支持。可以提供各种不同的SaaS服务。例子包括但不限于为大型组织提供用于销售绩效管理、企业集成和业务灵活性的解决方案的服务。
在一些实施例中,平台服务可以由云基础设施系统802经由PaaS平台提供。PaaS平台可以被配置为提供属于PaaS类别的云服务。平台服务的例子可以包括但不限于使组织(诸如Oracle)能够在共享的共同体系架构上整合现有应用的服务,以及利用由平台提供的共享服务构建新应用的能力。PaaS平台可以管理和控制用于提供PaaS服务的底层软件和基础设施。消费者可以获取由云基础设施系统802提供的PaaS服务,而无需消费者购买单独的许可证和支持。平台服务的例子包括但不限于Oracle Java云服务(JCS)、Oracle数据库云服务(DBCS)以及其它。
通过利用由PaaS平台提供的服务,消费者可以采用由云基础设施系统支持的编程语言和工具,并且还控制所部署的服务。在一些实施例中,由云基础设施系统提供的平台服务可以包括数据库云服务、中间件云服务(例如,Oracle Fusion Middleware服务)和Java云服务。在一种实施例中,数据库云服务可以支持共享服务部署模型,其使得组织能够汇集数据库资源并且以数据库云的形式向消费者提供数据库即服务。中间件云服务可以为消费者提供开发和部署各种业务应用的平台,以及Java云服务可以在云基础设施系统中为消费者提供部署Java应用的平台。
可以由云基础设施系统中的IaaS平台提供各种不同的基础设施服务。基础设施服务促进底层计算资源(诸如存储装置、网络和其它基本计算资源)的管理和控制,以便消费者利用由SaaS平台和PaaS平台提供的服务。
在某些实施例中,云基础设施系统802还可以包括基础设施资源830,用于提供用来向云基础设施系统的消费者提供各种服务的资源。在一种实施例中,基础设施资源830可以包括执行由PaaS平台和SaaS平台提供的服务的硬件(诸如服务器、存储装置和联网资源)的预先集成和优化的组合,以及其它资源。
在一些实施例中,云基础设施系统802中的资源可以由多个用户共享并且按需动态地重新分配。此外,资源可以分配给在不同时区中的用户。例如,云基础设施系统802可以使第一时区内的第一用户集合能够利用云基础设施系统的资源指定的小时数,然后使得能够将相同资源重新分配给位于不同时区中的另一用户集合,从而最大化资源的利用率。
在某些实施例中,可以提供由云基础设施系统802的不同部件或模块共享,以使得能够由云基础设施系统802供应服务的多个内部共享服务832。这些内部共享服务可以包括,但不限于,安全和身份服务、集成服务、企业储存库服务、企业管理器服务、病毒扫描和白名单服务、高可用性、备份和恢复服务、用于启用云支持的服务、电子邮件服务、通知服务、文件传输服务等。
在某些实施例中,云基础设施系统802可以在云基础设施系统中提供云服务(例如,SaaS、PaaS和IaaS服务)的综合管理。在一种实施例中,云管理功能可以包括用于供应、管理和跟踪由云基础设施系统802等接收到的消费者的订阅的能力。
在一种实施例中,如图8中所绘出的,云管理功能可以由诸如订单管理模块820、订单编排模块822、订单供应模块824、订单管理和监视模块826以及身份管理模块828的一个或多个模块提供。这些模块可以包括或可以利用一个或多个计算机和/或服务器提供,该一个或多个计算机和/或服务器可以是通用计算机、专用服务器计算机、服务器场,服务器集群或任何其它适当的布置和/或组合。
在示例性操作中,在834,使用客户端设备(诸如客户端设备804、806或808)的消费者可以通过请求由云基础设施系统802提供的一个或多个服务并且对由云基础设施系统802提供的一个或多个服务的订阅下订单来与云基础设施系统802交互。在某些实施例中,消费者可以访问诸如云UI 812、云UI 814和/或云UI 816的云用户界面(UI)并经由这些UI下订阅订单。响应于消费者下订单而由云基础设施系统802接收到的订单信息可以包括识别消费者和消费者打算订阅的由云基础设施系统802提供的一个或多个服务的信息。
在836,从消费者接收到的订单信息可以存储在订单数据库818中。如果这是新的订单,则可以为该订单创建新的记录。在一种实施例中,订单数据库818可以是由云基础设施系统818操作以及与其它系统元素结合操作的若干数据库当中的一个。
在838,订单信息可以被转发到订单管理模块820,订单管理模块820可以被配置为执行与订单相关的计费和记帐功能,诸如验证订单,并且在通过验证时,预订订单。
在840,关于订单的信息可以被传送到订单编排模块822,订单编排模块822被配置为编排用于由消费者下的订单的服务和资源的供应。在一些情况下,订单编排模块822可以使用订单供应模块824的服务用于供应。在某些实施例中,订单编排模块822使得能够管理与每个订单相关联的业务处理,并且应用业务逻辑来确定订单是否应当继续供应。
如图8中绘出的实施例所示,在842,在接收到新订阅的订单时,订单编排模块822向订单供应模块824发送分配资源和配置履行订购订单所需的资源的请求。订单供应模块824使得能够为由消费者订购的服务分配资源。订单供应模块824提供由云基础设施系统800提供的云服务和用来供应用于提供所请求的服务的资源的物理实现层之间的抽象层级。这使得订单编排模块822能够与实现细节隔离,诸如服务和资源是否实际上实时供应,或者预先供应并且仅在请求时才进行分配/指定。
在844,一旦供应了服务和资源,就可以向订阅的消费者发送指示所请求的服务现在已准备好用于使用的通知。在一些情况下,可以向消费者发送使得消费者能够开始使用所请求的服务的信息(例如,链接)。
在846,可以由订单管理和监视模块826来管理和跟踪消费者的订阅订单。在一些情况下,订单管理和监视模块826可以被配置为收集关于消费者使用所订阅的服务的使用统计。例如,可以针对所使用的存储量、所传送的数据量、用户的数量以及系统启动时间和系统停机时间的量等来收集统计数据。
在某些实施例中,云基础设施系统800可以包括身份管理模块828,其被配置为提供身份服务,诸如云基础设施系统800中的访问管理和授权服务。在一些实施例中,身份管理模块828可以控制关于希望利用由云基础设施系统802提供的服务的消费者的信息。这种信息可以包括认证这些消费者的身份的信息和描述那些消费者被授权相对于各种系统资源(例如,文件、目录、应用、通信端口、存储器段等)执行的动作的信息。身份管理模块828还可以包括关于每个消费者的描述性信息以及关于如何和由谁来访问和修改描述性信息的管理。
图9示出了可以被用来实现本发明的实施例的示例性计算机系统900。在一些实施例中,计算机系统900可以被用来实现上述任何各种服务器和计算机系统。如图9所示,计算机系统900包括各种子系统,包括经由总线子系统902与多个外围子系统通信的处理单元904。这些外围子系统可以包括处理加速单元906、I/O子系统908、存储子系统918和通信子系统924。存储子系统918可以包括有形的计算机可读存储介质922和系统存储器910。
总线子系统902提供用于使计算机系统900的各种部件和子系统按照期望彼此通信的机制。虽然总线子系统902被示意性地示为单条总线,但是总线子系统的可替代实施例可以利用多条总线。总线子系统902可以是若干种类型的总线结构中的任何一种,包括存储器总线或存储器控制器、外围总线和利用任何各种总线体系架构的局部总线。例如,此类体系架构可以包括工业标准体系架构(ISA)总线、微通道体系架构(MCA)总线、增强型ISA(EISA)总线、视频电子标准协会(VESA)局部总线和外围部件互连(PCI)总线,其可以实现为根据IEEE P1386.1标准制造的夹层(Mezzanine)总线,等等。
处理子系统904控制计算机系统900的操作并且可以包括一个或多个处理单元932、934等。处理单元可以包括一个或多个处理器,其中包括单核或多核处理器、处理器的一个或多个核、或其组合。在一些实施例中,处理子系统904可以包括一个或多个专用协处理器,诸如图形处理器、数字信号处理器(DSP)等。在一些实施例中,处理子系统904的处理单元中的一些或全部可以利用定制电路来实现,诸如专用集成电路(ASIC)或现场可编程门阵列(FPGA)。
在一些实施例中,处理子系统904中的处理单元可以执行存储在系统存储器910中或计算机可读存储介质922上的指令。在各种实施例中,处理单元可以执行各种程序或代码指令,并且可以维护多个并发执行的程序或进程。在任何给定的时间,要执行的程序代码中的一些或全部可以驻留在系统存储器910中和/或计算机可读存储介质922上,潜在地包括在一个或多个存储设备上。通过适当的编程,处理子系统904可以提供上述用于响应于使用模式而动态修改文档(例如,网页)的各种功能。
在某些实施例中,可以提供处理加速单元906,用于执行定制的处理或用于卸载由处理子系统904执行的一些处理,以便加速由计算机系统900执行的整体处理。
I/O子系统908可以包括用于向计算机系统900输入信息和/或用于从或经由计算机系统900输出信息的设备和机制。一般而言,术语“输入设备”的使用意在包括用于向计算机系统900输入信息的所有可能类型的设备和机制。用户接口输入设备可以包括,例如,键盘、诸如鼠标或轨迹球的指示设备、结合到显示器中的触摸板或触摸屏、滚轮、点拨轮、拨盘、按钮、开关、键板、具有语音命令识别系统的音频输入设备、麦克风以及其它类型的输入设备。用户接口输入设备也可以包括使用户能够控制输入设备并与其交互的诸如Microsoft运动传感器的运动感测和/或姿势识别设备、Microsoft360游戏控制器、提供用于接收利用姿势和口语命令的输入的接口的设备。用户接口输入设备也可以包括眼睛姿势识别设备,诸如从用户检测眼睛活动(例如,当拍摄图片和/或进行菜单选择时的“眨眼”)并将眼睛姿势转换为到输入设备(例如,Google)中的输入的Google眨眼检测器。此外,用户接口输入设备可以包括使用户能够通过语音命令与语音识别系统(例如,导航器)交互的语音识别感测设备。
用户接口输入设备的其它例子包括但不限于,三维(3D)鼠标、操纵杆或指示杆、游戏板和图形平板、以及音频/视频设备,诸如扬声器、数字相机、数字摄像机、便携式媒体播放器、网络摄像机、图像扫描仪、指纹扫描仪、条形码读取器3D扫描仪、3D打印机、激光测距仪、以及眼睛注视跟踪设备。此外,用户接口输入设备可以包括,例如,医疗成像输入设备,诸如计算机断层摄影、磁共振成像、位置发射断层摄影、医疗超声检查设备。用户接口输入设备也可以包括,例如,音频输入设备,诸如MIDI键盘、数字乐器等。
用户接口输出设备可以包括显示子系统、指示器灯或诸如音频输出设备的非可视显示器等。显示子系统可以是阴极射线管(CRT)、诸如利用液晶显示器(LCD)或等离子体显示器的平板设备、投影设备、触摸屏等。一般而言,术语“输出设备”的使用意在包括用于从计算机系统900向用户或其它计算机输出信息的所有可能类型的设备和机制。例如,用户接口输出设备可以包括但不限于,可视地传达文本、图形和音频/视频信息的各种显示设备,诸如监视器、打印机、扬声器、耳机、汽车导航系统、绘图仪、语音输出设备和调制解调器。
存储子系统918提供用于存储由计算机系统900使用的信息的储存库或数据存储库。存储子系统918提供有形非暂态计算机可读存储介质,用于存储提供一些实施例的功能的基本编程和数据结构。当由处理子系统904执行时提供上述功能的软件(程序、代码模块、指令)可以存储在存储子系统918中。软件可以由处理子系统904的一个或多个处理单元执行。存储子系统918也可以提供用于存储根据本发明使用的数据的储存库。
存储子系统918可以包括一个或多个非暂态存储器设备,包括易失性和非易失性存储器设备。如图9所示,存储子系统918包括系统存储器910和计算机可读存储介质922。系统存储器910可以包括多个存储器,包括用于在程序执行期间存储指令和数据的易失性主随机存取存储器(RAM)和其中存储固定指令的非易失性只读存储器(ROM)或闪存存储器。在一些实现中,包含帮助在诸如启动期间在计算机系统900内的元件之间传送信息的基本例程的基本输入/输出系统(BIOS)通常可以存储在ROM中。RAM通常包含当前由处理子系统904操作和执行的数据和/或程序模块。在一些实现中,系统存储器910可以包括多个不同类型的存储器,诸如静态随机存取存储器(SRAM)或动态随机存取存储器(DRAM)。
作为例子而非限制,如在图9中所绘出的,系统存储器910可以存储应用程序912,其可以包括客户端应用、Web浏览器、中间层应用、关系数据库管理系统(RDBMS)等、程序数据914和操作系统916。作为例子,操作系统916可以包括各种版本的MicrosoftApple和/或Linux操作系统、各种商用或类UNIX操作系统(包括但不限于各种GNU/Linux操作系统、GoogleOS等)和/或诸如iOS、Phone、OS、8OS和OS操作系统的移动操作系统。
计算机可读存储介质922可以存储提供一些实施例的功能的编程和数据结构。当由处理子系统904执行时使处理器提供上述功能的软件(程序、代码模块、指令)可以存储在存储子系统918中。作为例子,计算机可读存储介质922可以包括非易失性存储器,诸如硬盘驱动器、磁盘驱动器、诸如CD ROM、DVD、(蓝光)盘或其它光学介质的光盘驱动器。计算机可读存储介质922可以包括但不限于,驱动器、闪存存储器卡、通用串行总线(USB)闪存驱动器、安全数字(SD)卡、DVD盘、数字视频带等。计算机可读存储介质922也可以包括基于非易失性存储器的固态驱动器(SSD),诸如基于闪存存储器的SSD、企业闪存驱动器、固态ROM等,基于易失性存储器的SSD,诸如固态RAM、动态RAM、静态RAM、基于DRAM的SSD、磁阻RAM(MRAM)SSD、以及使用DRAM和基于闪存存储器的SSD的组合的混合SSD。计算机可读介质922可以为计算机系统900提供计算机可读指令、数据结构、程序模块和其它数据的存储。
在某些实施例中,存储子系统900也可以包括计算机可读存储介质读取器920,其可以进一步连接到计算机可读存储介质922。可选地,与系统存储器910一起和组合,计算机可读存储介质922可以全面地表示远程、本地、固定和/或可移动存储设备加上用于存储计算机可读信息的存储介质。
在某些实施例中,计算机系统900可以提供对执行一个或多个虚拟机的支持。计算机系统900可以执行诸如管理程序的程序,以便促进虚拟机的配置和管理。每个虚拟机可以被分配存储器、计算(例如,处理器、内核)、I/O和联网资源。每个虚拟机通常运行其自己的操作系统,其可以与由计算机系统900执行的其它虚拟机执行的操作系统相同或不同。相应地,多个操作系统可以潜在地由计算机系统900并发地运行。每个虚拟机一般独立于其它虚拟机运行。
通信子系统924提供到其它计算机系统和网络的接口。通信子系统924用作用于从计算机系统900的其它系统接收数据和向其发送数据的接口。例如,通信子系统924可以使计算机系统900能够经由互联网建立到一个或多个客户端设备的通信信道,用于从客户端设备接收信息和发送信息到客户端设备。
通信子系统924可以支持有线和/或无线通信协议两者。例如,在某些实施例中,通信子系统924可以包括用于接入无线语音和/或数据网络(例如,利用蜂窝电话技术、诸如3G、4G或EDGE(全球演进的增强数据速率)的高级数据网络技术)的射频收发器部件、WiFi(IEEE 802.11族标准、或其它移动通信技术、或其任意组合)、全球定位系统(GPS)接收器部件和/或其它部件。在一些实施例中,作为无线接口的附加或替代,通信子系统924可以提供有线网络连接(例如,以太网)。
通信子系统924可以以各种形式接收和发送数据。例如,在一些实施例中,通信子系统924可以以结构化和/或非结构化的数据馈送926、事件流928、事件更新930等形式接收输入通信。例如,通信子系统924可以被配置为实时地从社交媒体网络的用户和/或诸如馈送、更新、诸如丰富化站点摘要(RSS)馈送的web馈送的其它通信服务接收(或发送)数据馈送926,和/或来自一个或多个第三方信息源的实时更新。
在某些实施例中,通信子系统924可以被配置为以连续数据流的形式接收本质上可能是连续的或无界的没有明确结束的数据,其中连续数据流可以包括实时事件的事件流928和/或事件更新930。生成连续数据的应用的例子可以包括例如传感器数据应用、金融报价机、网络性能测量工具(例如网络监视和流量管理应用)、点击流分析工具、汽车流量监视等。
通信子系统924也可以被配置为向一个或多个数据库输出结构化和/或非结构化的数据馈送926、事件流928、事件更新930等,其中所述一个或多个数据库可以与耦合到计算机系统900的一个或多个流数据源计算机通信。
计算机系统900可以是各种类型中的一种,包括手持便携式设备(例如,蜂窝电话、计算平板、PDA)、可穿戴设备(例如,Google头戴式显示器)、个人计算机、工作站、大型机、信息站、服务器机架或任何其它数据处理系统。
由于计算机和网络不断变化的性质,对图9中绘出的计算机系统900的描述意在仅仅作为具体例子。具有比图9中所绘出的系统更多或更少部件的许多其它配置是可能的。基于本文所提供的公开内容和教导,本领域普通技术人员将理解实现各种实施例的其它方式和/或方法。
在本发明的至少一个实施例中,提供了一种数据丰富化系统。数据丰富化系统包括一个或多个服务器计算机,其中数据丰富化系统经至少一个通信网络通信耦合到多个数据源(例如,如图1中所示的数据源104)和多个数据目标(例如,如图1中所示的数据目标106)。
数据丰富化系统还包括剖析引擎、推荐引擎、变换引擎和发布引擎。剖析引擎、推荐引擎、变换引擎和发布引擎可以是例如分别在图3中示出的剖析引擎326、推荐引擎308、变换引擎322和发布引擎324。
剖析引擎被配置为当从客户端设备接收到数据丰富化请求时从数据丰富化请求中指定的至少一个数据源识别数据中的模式。推荐引擎被配置为将模式与来自知识服务(例如,如图3中所示的知识服务310)的实体信息匹配。变换引擎被配置为基于实体信息生成用于数据的一个或多个变换脚本,其中所述推荐引擎生成与一个或多个变换脚本对应的一个或多个推荐,并且使得这一个或多个推荐被显示在客户端设备上的用户界面中。发布引擎被配置为,在基于一个或多个推荐从客户端设备接收到变换指令并且基于变换指令变换数据之后,基于变换指令将经变换的数据发布到一个或多个数据目标。
在本发明的一个实施例中,当从数据源中的至少一个接收到对至少一列数据的选择时,使得所述至少一列数据的数据简档被显示在客户端设备上的用户界面中,其中数据简档指示在这至少一列数据中识别出的多个模式和与这至少一列数据相关联的至少一个数据可视化。
在本发明的一个实施例中,变换指令包括基于实体信息重命名至少一列数据的变换指令。
在本发明的一个实施例中,接收另一变换指令,以将至少一列数据重命名为默认名称。
在本发明的一个实施例中,变换指令包括基于实体信息重新格式化至少一列数据的变换指令。
在本发明的一个实施例中,变换指令包括用于基于实体信息模糊化至少一列数据的另一变换指令。
在本发明的一个实施例中,变换指令包括基于实体信息添加从知识服务获得的一列或多列数据的丰富化指令。
对于本领域技术人员显而易见的是,对于上述单元/模块(例如,引擎)的特定操作处理,可以参考共享相同概念的相关方法/系统实施例中的对应步骤/部件并且参考也被视为相关单元/模块的公开。因此,为了方便和描述的简洁,将不再重复或详细地描述一些特定的操作处理。
对于本领域技术人员来说显而易见的是,单元/模块可以以软件、硬件或软件和硬件的组合的方式在电子设备中实现。被描述为单独部件的部件可以或可以不物理分离。特别地,根据本发明的每个实施例的部件可以集成在一个物理部件中,或者可以存在于各种单独的物理部件中。电子设备中单元的各种实现全都包括在本发明的保护范围之内。
应当理解,单元、装置和设备可以以已知的或未来开发的软件、硬件和/或这种软件和硬件的组合的形式来实现。
对于本领域技术人员来说显而易见的是,图3中所描述的操作可以以软件、硬件和/或这种软件和硬件的组合的形式来实现,这依赖于特定的应用环境。对于本领域技术人员来说显而易见的是,至少一些步骤可以通过在通用处理器中运行指令来实现,其中指令存储在存储器中。对于本领域技术人员来说显而易见的是,至少一些步骤还可以由各种硬件来实现,包括但不限于DSP、FPGA、ASIC等。例如,一些实施例中的“操作”可以由CPU中运行的指令或者由专用处理器(诸如实现“操作”的功能的DSP、FPGA、ASIC)实现。
虽然已经描述了本发明的具体实施例,但是各种修改、更改、替代构造和等效物也包含在本发明的范围之内。本发明的实施例不限于在某些特定数据处理环境内的操作,而是可以在多个数据处理环境内自由操作。此外,虽然已利用特定系列的事务和步骤描述了本发明的实施例,但是,对本领域技术人员应当显而易见,本发明的范围不限于所描述系列的事务和步骤。上述实施例的各种特征和方面可以被单独或结合使用。
另外,虽然已经利用硬件和软件的特定组合描述了本发明的实施例,但是应当认识到,硬件和软件的其它组合也在本发明的范围之内。本发明的实施例可以只用硬件、或只用软件、或利用其组合来实现。本文描述的各种处理可以在同一处理器或以任何组合的不同处理器上实现。相应地,在部件或模块被描述为被配置为执行某些操作的情况下,这种配置可以例如通过设计电子电路来执行操作、通过对可编程电子电路(诸如微处理器)进行编程来执行操作、或其任意组合来实现。进程可以利用各种技术来通信,包括但不限于用于进程间通信的常规技术,并且不同的进程对可以使用不同的技术,或者同一对进程可以在不同时间使用不同的技术。
相应地,说明书和附图应当在说明性而不是限制性的意义上考虑。但是,将显而易见的是,在不背离权利要求中阐述的更广泛精神和范围的情况下,可以对其进行添加、减少、删除和其它修改和改变。因此,虽然已描述了具体的发明实施例,但是这些实施例不意在进行限制。各种修改和等效物都在以下权利要求的范围之内。
Claims (21)
1.一种用于数据变换的方法,包括:
由包括处理器和存储器的数据丰富化系统通过解析来自一个或多个数据源的数据的结构中的字段来自动识别所述数据中的模式;
由数据丰富化系统自动将来自所述一个或多个数据源的数据中的模式与来自知识服务的实体信息进行匹配;
由数据丰富化系统基于匹配的实体信息自动为数据生成一个或多个变换脚本,其中所述一个或多个变换脚本包括用于将数据变换为与匹配实体信息的模式对应的脚本,并且其中所述一个或多个变换脚本用声明性语言编写;
由数据丰富化系统基于用户活动的历史自动生成与基于匹配的实体信息为数据生成的所述一个或多个变换脚本对应的一个或多个变换推荐;
由数据丰富化系统在交互式用户界面上显示所述一个或多个变换推荐和要变换的数据,其中在交互式用户界面上显示的所述一个或多个变换推荐是交互式的,并且其中显示的所述一个或多个变换推荐基于来自所述一个或多个数据源的数据中的识别的模式;
由数据丰富化系统根据交互式用户界面上的用户输入过滤所述一个或多个变换推荐;
由数据丰富化系统接收基于对所述交互式用户界面上的所述一个或多个变换推荐的选择的变换指令;
由数据丰富化系统通过对在所述交互式用户界面上显示的数据应用与所述一个或多个变换脚本对应的变换指令来自动变换在所述交互式用户界面上显示的数据,以处理大数据集;
在所述交互式用户界面上显示经变换的数据和应用于经变换的数据的变换脚本;及
由数据丰富化系统基于变换指令将经变换的数据发布到一个或多个数据目标。
2.如权利要求1所述的方法,还包括:
接收对所述一个或多个数据源中的至少一个数据源的至少一列数据的选择;及
使得所述至少一列数据的数据简档被显示,其中数据简档指示在所述至少一列数据中识别出的多个模式、和与所述至少一列数据相关联的至少一个数据可视化。
3.如权利要求1所述的方法,其中变换指令包括基于实体信息重命名至少一列数据的变换指令。
4.如权利要求3所述的方法,还包括:
接收将所述至少一列数据重命名为默认名称的另一变换指令。
5.如权利要求1所述的方法,其中变换指令包括基于实体信息重新格式化至少一列数据的变换指令。
6.如权利要求5所述的方法,其中变换指令包括基于实体信息模糊化至少一列数据的另一变换指令,其中模糊化所述至少一列数据包括对所述至少一列数据中的多个条目中的数据的一部分进行截断、随机化和删除之一。
7.如权利要求1所述的方法,其中变换指令包括基于实体信息添加从知识服务获得的一列或多列数据的丰富化指令。
8.一种用于数据变换的系统,包括:
多个数据源;
多个数据目标;及
云计算基础设施系统,包括:
一个或多个处理器,经至少一个通信网络通信耦合到所述多个数据源并通信耦合到所述多个数据目标;及
存储器,耦合到所述一个或多个处理器,存储器存储指令以提供数据丰富化服务,其中所述指令在被所述一个或多个处理器执行时使得所述一个或多个处理器:
从客户端设备接收数据丰富化请求;
通过解析来自在数据丰富化请求中指定的至少一个数据源的数据的结构中的字段来自动识别所述数据中的模式;
自动将来自所述一个或多个数据源的数据中的模式与来自知识服务的实体信息匹配;
基于匹配的实体信息自动为数据生成一个或多个变换脚本,其中所述一个或多个变换脚本包括用于将数据变换为与匹配实体信息的模式对应的脚本,并且其中所述一个或多个变换脚本用声明性语言编写;
基于用户活动的历史自动生成与基于匹配的实体信息为数据生成的所述一个或多个变换脚本对应的一个或多个变换推荐;
在交互式用户界面上显示所述一个或多个变换推荐和要变换的数据,其中在交互式用户界面上显示的所述一个或多个变换推荐是交互式的,并且其中显示的所述一个或多个变换推荐基于来自所述一个或多个数据源的数据中的识别的模式;
根据交互式用户界面上的用户输入过滤所述一个或多个变换推荐;
接收基于对所述交互式用户界面上的所述一个或多个变换推荐的选择的变换指令;
通过对在所述交互式用户界面上显示的数据应用与所述一个或多个变换脚本对应的变换指令来自动变换在所述交互式用户界面上显示的数据,以处理大数据集;
在所述交互式用户界面上显示经变换的数据和应用于经变换的数据的变换脚本;及
基于变换指令将经变换的数据发布到一个或多个数据目标。
9.如权利要求8所述的系统,其中所述指令在由所述一个或多个处理器执行时还使得所述一个或多个处理器:
接收对所述多个数据源中的至少一个数据源的至少一列数据的选择;及
使得所述至少一列数据的数据简档显示在客户端设备上的用户界面中,其中数据简档指示在所述至少一列数据中识别出的多个模式、以及与所述至少一列数据相关联的至少一个数据可视化。
10.如权利要求8所述的系统,其中变换指令包括基于实体信息重命名至少一列数据的变换指令。
11.如权利要求10所述的系统,其中所述指令在由所述一个或多个处理器执行时还使得所述一个或多个处理器:
接收将所述至少一列数据重命名为默认名称的另一变换指令。
12.如权利要求8所述的系统,其中变换指令包括基于实体信息重新格式化至少一列数据的变换指令。
13.如权利要求12所述的系统,其中变换指令包括基于实体信息模糊化至少一列数据的另一变换指令,其中模糊化所述至少一列数据包括对所述至少一列数据中的多个条目中的数据的一部分进行截断、随机化和删除之一。
14.如权利要求8所述的系统,其中变换指令包括基于实体信息添加从知识服务获得的一列或多列数据的丰富化指令。
15.一种非暂态计算机可读存储介质,包括存储在其上的指令,所述指令在由处理器执行时使得处理器执行包括以下各项的操作:
由数据丰富化系统通过解析来自一个或多个数据源的数据的结构中的字段来自动识别所述数据中的模式;
由数据丰富化系统自动将来自所述一个或多个数据源的数据中的模式与来自知识服务的实体信息进行匹配;
由数据丰富化系统基于匹配的实体信息自动为数据生成一个或多个变换脚本,其中所述一个或多个变换脚本包括用于将数据变换为与匹配实体信息的模式对应的脚本,并且其中所述一个或多个变换脚本用声明性语言编写;
由数据丰富化系统基于用户活动的历史自动生成与基于匹配的实体信息为数据生成的所述一个或多个变换脚本对应的一个或多个变换推荐;
由数据丰富化系统在交互式用户界面上显示所述一个或多个变换推荐和要变换的数据,其中在交互式用户界面上显示的所述一个或多个变换推荐是交互式的,并且其中显示的所述一个或多个变换推荐基于来自所述一个或多个数据源的数据中的识别的模式;
由数据丰富化系统根据交互式用户界面上的用户输入过滤所述一个或多个变换推荐;
由数据丰富化系统接收基于对所述交互式用户界面上的所述一个或多个变换推荐的选择的变换指令;
由数据丰富化系统通过对在所述交互式用户界面上显示的数据应用与所述一个或多个变换脚本对应的变换指令来自动变换在所述交互式用户界面上显示的数据,以处理大数据集;
在所述交互式用户界面上显示经变换的数据和应用于经变换的数据的变换脚本;及
由数据丰富化系统基于变换指令将经变换的数据发布到一个或多个数据目标。
16.如权利要求15所述的非暂态计算机可读存储介质,其中所述操作还包括:
接收对所述一个或多个数据源中的至少一个数据源的至少一列数据的选择;及
使得所述至少一列数据的数据简档被显示,其中数据简档指示在所述至少一列数据中识别出的多个模式、和与所述至少一列数据相关联的至少一个数据可视化。
17.如权利要求15所述的非暂态计算机可读存储介质,其中变换指令包括基于实体信息重命名至少一列数据的变换指令。
18.如权利要求17所述的非暂态计算机可读存储介质,其中所述操作还包括:
接收将所述至少一列数据重命名为默认名称的另一变换指令。
19.如权利要求15所述的非暂态计算机可读存储介质,其中变换指令包括:
基于实体信息重新格式化至少一列数据的变换指令;及
基于实体信息模糊化至少一列数据的另一变换指令,其中模糊化所述至少一列数据包括对所述至少一列数据中的多个条目中的数据的一部分进行截断、随机化和删除之一。
20.如权利要求15所述的非暂态计算机可读存储介质,其中变换指令包括基于实体信息添加从知识服务获得的一列或多列数据的丰富化指令。
21.一种用于数据变换的装置,所述装置包括用于执行权利要求1-7中任一项所述的方法的各个步骤的部件。
Applications Claiming Priority (5)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US201462056471P | 2014-09-26 | 2014-09-26 | |
US62/056,471 | 2014-09-26 | ||
US14/864,496 US10891272B2 (en) | 2014-09-26 | 2015-09-24 | Declarative language and visualization system for recommended data transformations and repairs |
US14/864,496 | 2015-09-24 | ||
PCT/US2015/052228 WO2016049460A1 (en) | 2014-09-26 | 2015-09-25 | Declarative language and visualization system for recommended data transformations and repairs |
Publications (2)
Publication Number | Publication Date |
---|---|
CN106796595A CN106796595A (zh) | 2017-05-31 |
CN106796595B true CN106796595B (zh) | 2021-06-08 |
Family
ID=54330030
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201580046371.6A Active CN106796595B (zh) | 2014-09-26 | 2015-09-25 | 用于推荐的数据变换和修复的声明性语言和可视化系统 |
Country Status (5)
Country | Link |
---|---|
US (1) | US10891272B2 (zh) |
EP (1) | EP3198484A1 (zh) |
JP (2) | JP2017534108A (zh) |
CN (1) | CN106796595B (zh) |
WO (1) | WO2016049460A1 (zh) |
Families Citing this family (98)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9396283B2 (en) | 2010-10-22 | 2016-07-19 | Daniel Paul Miranker | System for accessing a relational database using semantic queries |
US10073858B2 (en) | 2013-05-16 | 2018-09-11 | Oracle International Corporation | Systems and methods for tuning a storage system |
US9475096B2 (en) * | 2013-06-06 | 2016-10-25 | Wheel Recovery Systems, LLC | Core wheel processing system and method |
US10891272B2 (en) | 2014-09-26 | 2021-01-12 | Oracle International Corporation | Declarative language and visualization system for recommended data transformations and repairs |
US10210246B2 (en) | 2014-09-26 | 2019-02-19 | Oracle International Corporation | Techniques for similarity analysis and data enrichment using knowledge sources |
US10915233B2 (en) | 2014-09-26 | 2021-02-09 | Oracle International Corporation | Automated entity correlation and classification across heterogeneous datasets |
USD847170S1 (en) | 2015-04-16 | 2019-04-30 | Vericle Corporation | Display screen with graphical user interface for practice workflow management |
US9514205B1 (en) | 2015-09-04 | 2016-12-06 | Palantir Technologies Inc. | Systems and methods for importing data from electronic data files |
US20170083013A1 (en) * | 2015-09-23 | 2017-03-23 | International Business Machines Corporation | Conversion of a procedural process model to a hybrid process model |
US11243919B2 (en) * | 2015-10-16 | 2022-02-08 | International Business Machines Corporation | Preparing high-quality data repositories sets utilizing heuristic data analysis |
US10445728B2 (en) * | 2015-12-29 | 2019-10-15 | Ariba, Inc. | Computer implemented systems and methods for secure data transactions across disparate computing networks |
US10380200B2 (en) | 2016-05-31 | 2019-08-13 | At&T Intellectual Property I, L.P. | Method and apparatus for enriching metadata via a network |
US10691710B2 (en) | 2016-06-19 | 2020-06-23 | Data.World, Inc. | Interactive interfaces as computerized tools to present summarization data of dataset attributes for collaborative datasets |
US10984008B2 (en) | 2016-06-19 | 2021-04-20 | Data.World, Inc. | Collaborative dataset consolidation via distributed computer networks |
US11468049B2 (en) | 2016-06-19 | 2022-10-11 | Data.World, Inc. | Data ingestion to generate layered dataset interrelations to form a system of networked collaborative datasets |
US10452975B2 (en) | 2016-06-19 | 2019-10-22 | Data.World, Inc. | Platform management of integrated access of public and privately-accessible datasets utilizing federated query generation and query schema rewriting optimization |
US11042560B2 (en) | 2016-06-19 | 2021-06-22 | data. world, Inc. | Extended computerized query language syntax for analyzing multiple tabular data arrangements in data-driven collaborative projects |
US11036716B2 (en) | 2016-06-19 | 2021-06-15 | Data World, Inc. | Layered data generation and data remediation to facilitate formation of interrelated data in a system of networked collaborative datasets |
US11042556B2 (en) | 2016-06-19 | 2021-06-22 | Data.World, Inc. | Localized link formation to perform implicitly federated queries using extended computerized query language syntax |
US10645548B2 (en) | 2016-06-19 | 2020-05-05 | Data.World, Inc. | Computerized tool implementation of layered data files to discover, form, or analyze dataset interrelations of networked collaborative datasets |
US10353911B2 (en) | 2016-06-19 | 2019-07-16 | Data.World, Inc. | Computerized tools to discover, form, and analyze dataset interrelations among a system of networked collaborative datasets |
US10824637B2 (en) | 2017-03-09 | 2020-11-03 | Data.World, Inc. | Matching subsets of tabular data arrangements to subsets of graphical data arrangements at ingestion into data driven collaborative datasets |
US10438013B2 (en) | 2016-06-19 | 2019-10-08 | Data.World, Inc. | Platform management of integrated access of public and privately-accessible datasets utilizing federated query generation and query schema rewriting optimization |
US10747774B2 (en) | 2016-06-19 | 2020-08-18 | Data.World, Inc. | Interactive interfaces to present data arrangement overviews and summarized dataset attributes for collaborative datasets |
US10515085B2 (en) | 2016-06-19 | 2019-12-24 | Data.World, Inc. | Consolidator platform to implement collaborative datasets via distributed computer networks |
US11086896B2 (en) | 2016-06-19 | 2021-08-10 | Data.World, Inc. | Dynamic composite data dictionary to facilitate data operations via computerized tools configured to access collaborative datasets in a networked computing platform |
US11023104B2 (en) | 2016-06-19 | 2021-06-01 | data.world,Inc. | Interactive interfaces as computerized tools to present summarization data of dataset attributes for collaborative datasets |
US11947554B2 (en) | 2016-06-19 | 2024-04-02 | Data.World, Inc. | Loading collaborative datasets into data stores for queries via distributed computer networks |
US11036697B2 (en) | 2016-06-19 | 2021-06-15 | Data.World, Inc. | Transmuting data associations among data arrangements to facilitate data operations in a system of networked collaborative datasets |
US11755602B2 (en) | 2016-06-19 | 2023-09-12 | Data.World, Inc. | Correlating parallelized data from disparate data sources to aggregate graph data portions to predictively identify entity data |
US11016931B2 (en) | 2016-06-19 | 2021-05-25 | Data.World, Inc. | Data ingestion to generate layered dataset interrelations to form a system of networked collaborative datasets |
US11941140B2 (en) | 2016-06-19 | 2024-03-26 | Data.World, Inc. | Platform management of integrated access of public and privately-accessible datasets utilizing federated query generation and query schema rewriting optimization |
US11068847B2 (en) | 2016-06-19 | 2021-07-20 | Data.World, Inc. | Computerized tools to facilitate data project development via data access layering logic in a networked computing platform including collaborative datasets |
US10452677B2 (en) | 2016-06-19 | 2019-10-22 | Data.World, Inc. | Dataset analysis and dataset attribute inferencing to form collaborative datasets |
US11334625B2 (en) | 2016-06-19 | 2022-05-17 | Data.World, Inc. | Loading collaborative datasets into data stores for queries via distributed computer networks |
US10346429B2 (en) | 2016-06-19 | 2019-07-09 | Data.World, Inc. | Management of collaborative datasets via distributed computer networks |
US10853376B2 (en) | 2016-06-19 | 2020-12-01 | Data.World, Inc. | Collaborative dataset consolidation via distributed computer networks |
US11675808B2 (en) | 2016-06-19 | 2023-06-13 | Data.World, Inc. | Dataset analysis and dataset attribute inferencing to form collaborative datasets |
US11042548B2 (en) | 2016-06-19 | 2021-06-22 | Data World, Inc. | Aggregation of ancillary data associated with source data in a system of networked collaborative datasets |
US10699027B2 (en) | 2016-06-19 | 2020-06-30 | Data.World, Inc. | Loading collaborative datasets into data stores for queries via distributed computer networks |
US10324925B2 (en) | 2016-06-19 | 2019-06-18 | Data.World, Inc. | Query generation for collaborative datasets |
US11042537B2 (en) | 2016-06-19 | 2021-06-22 | Data.World, Inc. | Link-formative auxiliary queries applied at data ingestion to facilitate data operations in a system of networked collaborative datasets |
US11068475B2 (en) | 2016-06-19 | 2021-07-20 | Data.World, Inc. | Computerized tools to develop and manage data-driven projects collaboratively via a networked computing platform and collaborative datasets |
US20180012229A1 (en) * | 2016-07-06 | 2018-01-11 | Palo Alto Research Center Incorporated | Computer-Implemented System And Method For Providing Contextually Relevant Servicing |
US10067992B2 (en) * | 2016-07-13 | 2018-09-04 | International Business Machines Corporation | Flexible interactive data visualization enabled by dynamic attributes |
EP3282374A1 (en) | 2016-08-17 | 2018-02-14 | Palantir Technologies Inc. | User interface data sample transformer |
US10620923B2 (en) | 2016-08-22 | 2020-04-14 | Oracle International Corporation | System and method for dynamic, incremental recommendations within real-time visual simulation |
US20180069925A1 (en) * | 2016-09-08 | 2018-03-08 | BigStream Solutions, Inc. | Systems and methods for automatic transferring of big data computations from centralized systems to at least one of messaging systems and data collection systems |
US10650000B2 (en) | 2016-09-15 | 2020-05-12 | Oracle International Corporation | Techniques for relationship discovery between datasets |
US10445062B2 (en) | 2016-09-15 | 2019-10-15 | Oracle International Corporation | Techniques for dataset similarity discovery |
US10565222B2 (en) | 2016-09-15 | 2020-02-18 | Oracle International Corporation | Techniques for facilitating the joining of datasets |
US10621195B2 (en) | 2016-09-20 | 2020-04-14 | Microsoft Technology Licensing, Llc | Facilitating data transformations |
US10127268B2 (en) * | 2016-10-07 | 2018-11-13 | Microsoft Technology Licensing, Llc | Repairing data through domain knowledge |
US10776380B2 (en) * | 2016-10-21 | 2020-09-15 | Microsoft Technology Licensing, Llc | Efficient transformation program generation |
US11170020B2 (en) | 2016-11-04 | 2021-11-09 | Microsoft Technology Licensing, Llc | Collecting and annotating transformation tools for use in generating transformation programs |
CN113535382A (zh) | 2016-12-23 | 2021-10-22 | 创新先进技术有限公司 | 资源处理方法及装置 |
US10754872B2 (en) | 2016-12-28 | 2020-08-25 | Palantir Technologies Inc. | Automatically executing tasks and configuring access control lists in a data transformation system |
US11068453B2 (en) | 2017-03-09 | 2021-07-20 | data.world, Inc | Determining a degree of similarity of a subset of tabular data arrangements to subsets of graph data arrangements at ingestion into a data-driven collaborative dataset platform |
US11238109B2 (en) | 2017-03-09 | 2022-02-01 | Data.World, Inc. | Computerized tools configured to determine subsets of graph data arrangements for linking relevant data to enrich datasets associated with a data-driven collaborative dataset platform |
US12008050B2 (en) | 2017-03-09 | 2024-06-11 | Data.World, Inc. | Computerized tools configured to determine subsets of graph data arrangements for linking relevant data to enrich datasets associated with a data-driven collaborative dataset platform |
US10268688B2 (en) * | 2017-05-03 | 2019-04-23 | International Business Machines Corporation | Corpus-scoped annotation and analysis |
US10810472B2 (en) | 2017-05-26 | 2020-10-20 | Oracle International Corporation | Techniques for sentiment analysis of data using a convolutional neural network and a co-occurrence network |
US10942947B2 (en) * | 2017-07-17 | 2021-03-09 | Palantir Technologies Inc. | Systems and methods for determining relationships between datasets |
US10754820B2 (en) | 2017-08-14 | 2020-08-25 | Palantir Technologies Inc. | Customizable pipeline for integrating data |
CN107609141B (zh) * | 2017-09-20 | 2020-07-31 | 国网上海市电力公司 | 一种对大规模可再生能源数据进行快速概率建模方法 |
US20190095481A1 (en) * | 2017-09-22 | 2019-03-28 | Microsoft Technology Licensing, Llc | Generating a query |
US10885056B2 (en) | 2017-09-29 | 2021-01-05 | Oracle International Corporation | Data standardization techniques |
US10936599B2 (en) | 2017-09-29 | 2021-03-02 | Oracle International Corporation | Adaptive recommendations |
US10601672B2 (en) * | 2017-10-24 | 2020-03-24 | Cisco Technology, Inc. | Inter-tenant workload performance correlation and recommendation |
US10528343B2 (en) * | 2018-02-06 | 2020-01-07 | Smartshift Technologies, Inc. | Systems and methods for code analysis heat map interfaces |
US11243960B2 (en) | 2018-03-20 | 2022-02-08 | Data.World, Inc. | Content addressable caching and federation in linked data projects in a data-driven collaborative dataset platform using disparate database architectures |
US10922308B2 (en) | 2018-03-20 | 2021-02-16 | Data.World, Inc. | Predictive determination of constraint data for application with linked data in graph-based datasets associated with a data-driven collaborative dataset platform |
WO2019217367A2 (en) * | 2018-05-07 | 2019-11-14 | Linkup Blockchain Technology Inc. | A blockchain based digital asset management platform |
USD940732S1 (en) | 2018-05-22 | 2022-01-11 | Data.World, Inc. | Display screen or portion thereof with a graphical user interface |
USD940169S1 (en) | 2018-05-22 | 2022-01-04 | Data.World, Inc. | Display screen or portion thereof with a graphical user interface |
US11947529B2 (en) | 2018-05-22 | 2024-04-02 | Data.World, Inc. | Generating and analyzing a data model to identify relevant data catalog data derived from graph-based data arrangements to perform an action |
USD920353S1 (en) | 2018-05-22 | 2021-05-25 | Data.World, Inc. | Display screen or portion thereof with graphical user interface |
US11327991B2 (en) | 2018-05-22 | 2022-05-10 | Data.World, Inc. | Auxiliary query commands to deploy predictive data models for queries in a networked computing platform |
US11537990B2 (en) | 2018-05-22 | 2022-12-27 | Data.World, Inc. | Computerized tools to collaboratively generate queries to access in-situ predictive data models in a networked computing platform |
US12117997B2 (en) | 2018-05-22 | 2024-10-15 | Data.World, Inc. | Auxiliary query commands to deploy predictive data models for queries in a networked computing platform |
CN108763503A (zh) * | 2018-05-30 | 2018-11-06 | 郑州云海信息技术有限公司 | 一种基于企业私有云的知识库管理系统及方法 |
US11263263B2 (en) | 2018-05-30 | 2022-03-01 | Palantir Technologies Inc. | Data propagation and mapping system |
US11442988B2 (en) | 2018-06-07 | 2022-09-13 | Data.World, Inc. | Method and system for editing and maintaining a graph schema |
US11120366B2 (en) | 2018-07-24 | 2021-09-14 | International Business Machines Corporation | Data forecasting based on machine learning analysis of data access statistics |
USD860239S1 (en) | 2018-10-31 | 2019-09-17 | Vericle Corporation | Display screen with graphical user interface for medical billing workflow management |
US10970272B2 (en) * | 2019-01-31 | 2021-04-06 | Sap Se | Data cloud—platform for data enrichment |
US11604797B2 (en) | 2019-11-14 | 2023-03-14 | Microstrategy Incorporated | Inferring joins for data sets |
USD994698S1 (en) | 2019-12-17 | 2023-08-08 | Nammu21, Inc. | Display screen with a graphical user interface |
USD994699S1 (en) | 2019-12-17 | 2023-08-08 | Nammu21, Inc. | Display screen with a graphical user interface |
KR102466717B1 (ko) * | 2020-07-24 | 2022-11-15 | 주식회사 한글과컴퓨터 | 문서의 포맷을 변환하는 포맷 변환 엔진이 탑재되어 있는 문서 변환 서버들에 대해, 문서의 포맷 변환을 위한 작업 할당을 수행하는 문서 변환 작업 할당 스케줄링 장치 및 그 동작 방법 |
CN112163151A (zh) * | 2020-09-25 | 2021-01-01 | 京东方科技集团股份有限公司 | 一种模拟推荐方法、计算机设备及存储介质 |
US20220164471A1 (en) * | 2020-11-23 | 2022-05-26 | International Business Machines Corporation | Augmented privacy datasets using semantic based data linking |
CN112732845A (zh) * | 2021-01-26 | 2021-04-30 | 长威信息科技发展股份有限公司 | 一种基于端到端的大型知识图谱构建和存储方法和系统 |
US11675838B2 (en) | 2021-05-11 | 2023-06-13 | International Business Machines Corporation | Automatically completing a pipeline graph in an internet of things network |
KR102366017B1 (ko) * | 2021-07-07 | 2022-02-23 | 쿠팡 주식회사 | 설치 서비스를 위한 정보 제공 방법 및 장치 |
CN113835755B (zh) * | 2021-09-24 | 2023-08-22 | 天津津航计算技术研究所 | 一种无操作系统环境下串口控制台实现方法 |
US11947600B2 (en) | 2021-11-30 | 2024-04-02 | Data.World, Inc. | Content addressable caching and federation in linked data projects in a data-driven collaborative dataset platform using disparate database architectures |
EP4242867A1 (en) * | 2022-03-08 | 2023-09-13 | Chemovator GmbH | Customer data model transformation process |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102104510A (zh) * | 2011-03-01 | 2011-06-22 | 北京中创信测科技股份有限公司 | 一种数据视图处理方法和系统 |
CN102254017A (zh) * | 2010-07-21 | 2011-11-23 | 微软公司 | 数据可视化的智能默认 |
CN102982138A (zh) * | 2012-11-19 | 2013-03-20 | 北京思特奇信息技术股份有限公司 | 一种客户关系图形化展现方法和装置 |
Family Cites Families (61)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2565310B2 (ja) * | 1986-08-28 | 1996-12-18 | 株式会社日立製作所 | 知識ベースからデータベースへの変換装置 |
JPH07200300A (ja) | 1993-11-29 | 1995-08-04 | Toshiba Corp | パターン認識型推論方法及び装置 |
US5740549A (en) | 1995-06-12 | 1998-04-14 | Pointcast, Inc. | Information and advertising distribution system and method |
US6807558B1 (en) | 1995-06-12 | 2004-10-19 | Pointcast, Inc. | Utilization of information “push” technology |
US6047283A (en) | 1998-02-26 | 2000-04-04 | Sap Aktiengesellschaft | Fast string searching and indexing using a search tree having a plurality of linked nodes |
JP2000222196A (ja) | 1999-01-29 | 2000-08-11 | Toshiba Tec Corp | プログラム自動生成方法及びこの方法を使用したデータ処理方法並びにプログラム自動生成装置及びデータ処理装置並びにプログラム自動生成プログラムを記録した記録媒体 |
JP3708007B2 (ja) | 1999-11-22 | 2005-10-19 | 株式会社東芝 | 情報交換装置 |
US6556983B1 (en) | 2000-01-12 | 2003-04-29 | Microsoft Corporation | Methods and apparatus for finding semantic information, such as usage logs, similar to a query using a pattern lattice data space |
EP1202206A3 (en) * | 2000-10-24 | 2004-01-21 | International Business Machines Corporation | Method and system in an electronic spreadsheet for persistently self-replicating multiple ranges of cells through a copy-paste operation |
US8402068B2 (en) | 2000-12-07 | 2013-03-19 | Half.Com, Inc. | System and method for collecting, associating, normalizing and presenting product and vendor information on a distributed network |
WO2002063493A1 (en) | 2001-02-08 | 2002-08-15 | 2028, Inc. | Methods and systems for automated semantic knowledge leveraging graph theoretic analysis and the inherent structure of communication |
US6754651B2 (en) | 2001-04-17 | 2004-06-22 | International Business Machines Corporation | Mining of generalized disjunctive association rules |
US20050071140A1 (en) | 2001-05-18 | 2005-03-31 | Asa Ben-Hur | Model selection for cluster data analysis |
JP2003058523A (ja) | 2001-08-21 | 2003-02-28 | Nippon Telegr & Teleph Corp <Ntt> | 構造化文書の変換ルール作成方法および装置と変換ルール作成プログラムおよび該プログラムを記録した記録媒体 |
US8155951B2 (en) | 2003-06-12 | 2012-04-10 | Patrick William Jamieson | Process for constructing a semantic knowledge base using a document corpus |
US8239380B2 (en) | 2003-06-20 | 2012-08-07 | Microsoft Corporation | Systems and methods to tune a general-purpose search engine for a search entry point |
US7558799B2 (en) | 2004-06-01 | 2009-07-07 | Microsoft Corporation | Method, system, and apparatus for discovering and connecting to data sources |
US7895220B2 (en) | 2005-08-30 | 2011-02-22 | Schlumberger Technology Corporation | Middleware method and apparatus and program storage device adapted for linking data sources to software applications |
US20070112827A1 (en) * | 2005-11-10 | 2007-05-17 | International Business Machines Corporation | Abstract rule sets |
US7533096B2 (en) | 2006-07-12 | 2009-05-12 | International Business Machines Corporation | Computer-based method for finding similar objects using a taxonomy |
WO2008107338A1 (fr) | 2007-02-23 | 2008-09-12 | Enrico Maim | Procedes d'extraction, de combinaison, de synthese et de visualisation de donnees multidimensionnelles provenant de differentes sources |
EP1990740A1 (en) * | 2007-05-08 | 2008-11-12 | Sap Ag | Schema matching for data migration |
US8090747B2 (en) | 2007-05-21 | 2012-01-03 | New York University | Method, system, computer-accessible medium and software arrangement for organization and analysis of multiple sets of data |
US7970766B1 (en) | 2007-07-23 | 2011-06-28 | Google Inc. | Entity type assignment |
US8175941B2 (en) * | 2007-11-19 | 2012-05-08 | Codestreet, Llc | Method and system for developing and applying market data scenarios |
WO2010042859A1 (en) | 2008-10-10 | 2010-04-15 | Zapmytv.Com, Inc. | Controlled delivery of content data streams to remote users |
US8156435B2 (en) | 2008-11-25 | 2012-04-10 | At&T Intellectual Property I, L.P. | Systems and methods to select media content |
US8156159B2 (en) | 2009-02-11 | 2012-04-10 | Verizon Patent And Licensing, Inc. | Data masking and unmasking of sensitive data |
US8166104B2 (en) | 2009-03-19 | 2012-04-24 | Microsoft Corporation | Client-centered usage classification |
US9213687B2 (en) | 2009-03-23 | 2015-12-15 | Lawrence Au | Compassion, variety and cohesion for methods of text analytics, writing, search, user interfaces |
US20100274821A1 (en) | 2009-04-22 | 2010-10-28 | Microsoft Corporation | Schema Matching Using Clicklogs |
JP2010267019A (ja) * | 2009-05-13 | 2010-11-25 | Internatl Business Mach Corp <Ibm> | 文書作成を支援する方法、並びにそのコンピュータ・システム及びコンピュータ・プログラム |
US10102398B2 (en) | 2009-06-01 | 2018-10-16 | Ab Initio Technology Llc | Generating obfuscated data |
US8234285B1 (en) | 2009-07-10 | 2012-07-31 | Google Inc. | Context-dependent similarity measurements |
US8204904B2 (en) | 2009-09-30 | 2012-06-19 | Yahoo! Inc. | Network graph evolution rule generation |
CN102792298B (zh) | 2010-01-13 | 2017-03-29 | 起元技术有限责任公司 | 使用特征化匹配的规则来匹配元数据源 |
US9076152B2 (en) | 2010-10-20 | 2015-07-07 | Microsoft Technology Licensing, Llc | Semantic analysis of information |
US8745061B2 (en) | 2010-11-09 | 2014-06-03 | Tibco Software Inc. | Suffix array candidate selection and index data structure |
US8874616B1 (en) | 2011-07-11 | 2014-10-28 | 21Ct, Inc. | Method and apparatus for fusion of multi-modal interaction data |
US9489397B1 (en) * | 2011-07-27 | 2016-11-08 | Aon Benfield Global, Inc. | Impact data manager for dynamic data delivery |
US8577938B2 (en) | 2011-08-23 | 2013-11-05 | Accenture Global Services Limited | Data mapping acceleration |
JP5743822B2 (ja) | 2011-09-21 | 2015-07-01 | 日本電気株式会社 | 情報漏洩防止装置及び制限情報生成装置 |
US8799207B1 (en) | 2011-10-08 | 2014-08-05 | Bay Dynamics | Unified data source management |
US8538934B2 (en) | 2011-10-28 | 2013-09-17 | Microsoft Corporation | Contextual gravitation of datasets and data services |
WO2013146884A1 (ja) | 2012-03-27 | 2013-10-03 | 日本電気株式会社 | データクレンジングシステム、方法およびプログラム |
GB2520878A (en) | 2012-08-17 | 2015-06-03 | Opera Solutions Llc | System and method for matching data using probabilistic modeling techniques |
US9070090B2 (en) | 2012-08-28 | 2015-06-30 | Oracle International Corporation | Scalable string matching as a component for unsupervised learning in semantic meta-model development |
US10366335B2 (en) | 2012-08-31 | 2019-07-30 | DataRobot, Inc. | Systems and methods for symbolic analysis |
JP2014063295A (ja) | 2012-09-20 | 2014-04-10 | Cybernet Systems Co Ltd | 文脈解析装置、情報分類装置及び情報分類システム |
US20140222181A1 (en) * | 2012-10-12 | 2014-08-07 | Invensys Systems, Inc. | Automatically updating graphical symbols in a control loop strategy diagram |
US9223870B2 (en) * | 2012-11-30 | 2015-12-29 | Microsoft Technology Licensing, Llc | Decoration of search results by third-party content providers |
US20130232452A1 (en) | 2013-02-01 | 2013-09-05 | Concurix Corporation | Force Directed Graph with Time Series Data |
US8909656B2 (en) | 2013-03-15 | 2014-12-09 | Palantir Technologies Inc. | Filter chains with associated multipath views for exploring large data sets |
US9710534B2 (en) | 2013-05-07 | 2017-07-18 | International Business Machines Corporation | Methods and systems for discovery of linkage points between data sources |
US10165571B2 (en) | 2013-09-11 | 2018-12-25 | Freebit Co., Ltd. | Application state change notification program and method therefor |
US9367809B2 (en) | 2013-10-11 | 2016-06-14 | Accenture Global Services Limited | Contextual graph matching based anomaly detection |
CN103593199B (zh) | 2013-11-29 | 2016-08-24 | 迈普通信技术股份有限公司 | 数据转换的方法和系统 |
US10915233B2 (en) | 2014-09-26 | 2021-02-09 | Oracle International Corporation | Automated entity correlation and classification across heterogeneous datasets |
US10210246B2 (en) | 2014-09-26 | 2019-02-19 | Oracle International Corporation | Techniques for similarity analysis and data enrichment using knowledge sources |
US10891272B2 (en) | 2014-09-26 | 2021-01-12 | Oracle International Corporation | Declarative language and visualization system for recommended data transformations and repairs |
US9928284B2 (en) | 2014-12-31 | 2018-03-27 | Zephyr Health, Inc. | File recognition system and method |
-
2015
- 2015-09-24 US US14/864,496 patent/US10891272B2/en active Active
- 2015-09-25 CN CN201580046371.6A patent/CN106796595B/zh active Active
- 2015-09-25 EP EP15781486.4A patent/EP3198484A1/en not_active Ceased
- 2015-09-25 JP JP2017516322A patent/JP2017534108A/ja active Pending
- 2015-09-25 WO PCT/US2015/052228 patent/WO2016049460A1/en active Application Filing
-
2021
- 2021-01-14 JP JP2021004135A patent/JP7148654B2/ja active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102254017A (zh) * | 2010-07-21 | 2011-11-23 | 微软公司 | 数据可视化的智能默认 |
CN102104510A (zh) * | 2011-03-01 | 2011-06-22 | 北京中创信测科技股份有限公司 | 一种数据视图处理方法和系统 |
CN102982138A (zh) * | 2012-11-19 | 2013-03-20 | 北京思特奇信息技术股份有限公司 | 一种客户关系图形化展现方法和装置 |
Non-Patent Citations (1)
Title |
---|
基于XML的外贸企业B2E电子商务与知识共享系统;杨宝森等;《情报杂志》;20060731;第12-15页 * |
Also Published As
Publication number | Publication date |
---|---|
JP2017534108A (ja) | 2017-11-16 |
JP7148654B2 (ja) | 2022-10-05 |
US20160092474A1 (en) | 2016-03-31 |
US10891272B2 (en) | 2021-01-12 |
EP3198484A1 (en) | 2017-08-02 |
CN106796595A (zh) | 2017-05-31 |
JP2021061063A (ja) | 2021-04-15 |
WO2016049460A1 (en) | 2016-03-31 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11693549B2 (en) | Declarative external data source importation, exportation, and metadata reflection utilizing HTTP and HDFS protocols | |
US11163527B2 (en) | Techniques for dataset similarity discovery | |
CN106796595B (zh) | 用于推荐的数据变换和修复的声明性语言和可视化系统 | |
US11704321B2 (en) | Techniques for relationship discovery between datasets | |
US11200248B2 (en) | Techniques for facilitating the joining of datasets | |
US11500880B2 (en) | Adaptive recommendations | |
US11379506B2 (en) | Techniques for similarity analysis and data enrichment using knowledge sources | |
US11417131B2 (en) | Techniques for sentiment analysis of data using a convolutional neural network and a co-occurrence network | |
CN105993011B (zh) | 跨多个输入数据流的样式匹配的方法、系统和设备 | |
US11120086B2 (en) | Toponym disambiguation |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |