本申请要求于2015年9月24日提交的标题为“TECHNIQUESFORSIMILARITYANALYSISANDDATAENRICHMENTUSINGKNOWLEDGESOURCES”的美国非临时专利申请No.14/864,485的权益和优先权,该申请要求以下申请的权益和优先权:1)于2014年9月26日提交且标题为“METHODFORSEMANTICENTITYEXTRACTIONBASEDONGRAPHMATCHINGWITHANEXTERNALKNOWLEDGEBASEANDSIMILARITYRANKINGOFDATASETMETADATAFORSEMANTICINDEXING,SEARCH,ANDRETRIEVAL”的美国临时申请No.62/056,468;2)于2015年5月18日提交且标题为“CATEGORYLABELING”的美国临时申请No.62/163,296;及3)于2015年8月11日提交且标题为“SIMILARITYMETRICANALYSISANDKNOWLEDGESCORINGSYSTEM”的美国临时申请No.62/203,806。本申请涉及以下申请:1)于2014年9月26日提交且标题为“DECLARATIVELANGUAGEANDVISUALIZATIONSYSTEMFORRECOMMENDEDDATATRANSFORMATIONSANDREPAIRS”的美国临时申请No.62/056,471;2)于2014年9月26日提交且标题为“DYNAMICVISUALPROFILINGANDVISUALIZATIONOFHIGHVOLUMEDATASETSANDREAL-TIMESMARTSAMPLINGANDSTATISTICALPROFILINGOFEXTREMELYLARGEDATASETS”的美国临时申请No.62/056,474;3)于2014年9月26日提交且标题为“AUTOMATEDENTITYCORRELATIONANDCLASSIFICATIONACROSSHETEROGENEOUSDATASETS”的美国临时申请No.62/056,475;及4)于2014年9月26日提交且标题为“DECLARATIVEEXTERNALDATASOURCEIMPORTATION,EXPORTATION,ANDMETADATAREFLECTIONUTILIZINGHTTPANDHDFSPROTOCOLS”的美国临时申请No.62/056,476。上述专利申请的全部内容通过引用被结合于此,用于所有目的。
技术领域:
本公开内容一般而言涉及数据准备和分析。更具体而言,公开了利用知识源来执行相似性度量分析和数据丰富化的技术。
背景技术:
:在“大数据”系统可以分析数据以提供有用的结果之前,数据需要被添加到大数据系统并且被格式化,使得其可以被分析。这种数据加载对当前的云和“大数据”系统提出了挑战。通常,被添加到大数据系统的数据是有噪声的(例如,数据格式化不正确、错误、过时、包括重复等)。当分析数据(例如,用于报告、预测建模等)时,数据的差的信噪比意味着结果是无用的。因此,当前的解决方案需要大量的手动处理来清理和策展(curate)数据和/或分析结果。但是,这些手动处理不成规模。随着要添加和分析的数据量增加,手动处理变得不可能实现。大数据系统可以被实现,以分析数据来识别其它相似相关的数据。数据的处理量变成一个挑战。甚至更进一步,被分析的数据的结构或其缺乏可能对确定数据的内容和关系提出更大的挑战。可以实现机器学习以分析数据。例如,可以利用数据分析工具(例如,Word2Vec)来实现无监督式机器学习,以确定数据之间的相似性;但是,无监督式机器学习可能无法提供指示与密切相关的数据相关联的组或类别的信息。因此,无监督式学习可能无法确定密切相关的一组物种(例如,词条)的属或类别。另一方面,基于策展知识源的监督式机器学习(例如,来自马克斯普朗克信息学研究所(MaxPlanckInstituteforInformatics)的YAGO)可以为确定数据的组或类别提供更好的结果。监督式学习可能提供不一致和/或不完整的结果。由策展知识源提供的数据可能是稀疏的,并且质量可能取决于策展人。基于使用监督式学习识别出的类别可能不提供相似相关的数据的正确分类。多个知识源可以实现不同的分类,使得多个源可能难以合并。分析数据以确定相似性和关系可能由于所分析的数据中的词条拼写错误而变得更加繁重。当数据包含拼写错误时,可能不容易识别相似的数据。本发明的某些实施例解决这些和其它挑战。技术实现要素:本公开内容一般而言涉及数据准备和分析。更具体而言,公开了利用知识源来执行相似性度量分析和数据丰富化的技术。本公开内容一般而言涉及提取、修复和丰富化数据集的数据丰富化服务,从而为后续的索引和聚类产生更精确的实体分辨率(resolution)和相关性。数据丰富化服务可以包括用于执行异构数据集的大规模数据准备、修复和丰富化的可视推荐引擎和语言。这使得用户能够选择和看到推荐的丰富化(例如,变换和修复)将如何影响用户的数据并根据需要进行调整。数据丰富化服务可以通过用户界面从用户接收反馈并且可以基于用户反馈过滤推荐。在一些实施例中,数据丰富化服务可以分析数据集,以识别数据中的图式(pattern)。在一些实施例中,数据丰富化服务可以将输入数据集与存储在知识源中的参考数据集进行比较,以识别近似相关的数据。可以在没有监督式训练(例如,机器学习)的情况下在输入数据和参考数据集之间执行匹配,并且可以经由来自最终用户的自适应反馈随时间的推移改进提取精度。在一些实施例中,可以计算与两个或更多个数据集的语义相似性对应的相似性度量。相似性度量可以被用来基于数据集的元数据属性和数据值来识别数据集,使得能够更容易地对数据值进行索引和高性能检索。如上面所讨论的,数据的处理量变成挑战,尤其是取决于所分析的数据的结构或缺乏结构。由于导致分类错误的参考数据集的拼写错误和策展中的差异,识别相似或相关数据变得困难。本文所述的技术提供更精细的相似性度量,其可以改进对与输入数据集具有语义相似性的紧密相关数据集的自动识别。通过识别更近似相关的数据集,可以利用来自相关数据集的数据丰富化输入数据集。输入数据集的丰富化使得用户能够理解和管理否则以其它方式可能难以管理的大量数据。例如,用户可以确定某些数据集与特定主题是否相关,并且,如果相关,则是否存在关于该主题的相关数据。在一些实施例中,可以基于相似性度量更新参考数据集,以反映与输入数据的关系。因此,可以丰富化参考数据集,以便随后在确定与其它输入数据集的相似性时使用。在一些实施例中,数据丰富化服务可以呈现图形界面,图形界面显示与输入数据集比较的多个参考数据集中每一个的相似性度量。图形界面可以使用户能够选择基于为其显示相似性度量的参考数据集之一的变换。因此,相似性度量使得用户能够选择性地选择参考数据来丰富化来自数据源的数据集。在一些实施例中,本文公开的技术提供了向用户给出从数据源接收的数据的分类的方式。该技术提供优于无监督式机器学习的优点,无监督式机器学习可能无法确定密切相关的一组物种(例如,词条)的属或类别。该技术还通过与合并用于监督式机器学习的多个源相结合应用无监督式机器学习技术来提供更一致和完整的数据分类。这种技术可以考虑到词条的不同级别的策展和拼写错误或错误分类。在一些实施例中,数据丰富化服务可以通过将输入数据集中的词条与来自知识源的数据集中的词条进行比较来确定相似性度量。可以利用本文公开的各种技术来计算相似性度量。相似性度量可以表示为得分。输入数据集可以与多个数据集进行比较,每个数据集可以与类别(例如,域)相关联。可以针对每个数据集与输入数据集的比较来计算相似性度量。照此,相似性度量可指示匹配程度,使得可以基于相似性度量的值(例如,由最高值指示的最大相似性)来识别较大程度的匹配。利用本文公开的技术中的一个或多个确定的相似性度量可以为输入数据集与由知识源提供的数据集之间的匹配提供更大程度的确定性。数据丰富化服务可以实现几种不同的技术来确定输入数据集与一个或多个数据集的相似性。输入数据集可以与和与输入数据集具有最佳匹配(例如,最高相似性程度)的数据集相关联的类别(例如,域)相关联或利用其进行标记。照此,输入数据集可以被修改,或者利用使得用户能够更好地识别输入数据集的类别名称来丰富化。在至少一个实施例中,数据丰富化服务可将无监督式学习技术与监督式学习技术组合,以更准确地标记输入数据的类别。输入数据集与由知识源提供的数据集的相似性可以被用来查询知识源,以获得关于数据集的附加信息。附加信息可以被用来向用户提供推荐。在一些实施例中,可以实现计算系统,用于执行数据与由知识源提供的数据源相比较的相似性度量分析。计算系统可以实现数据丰富化服务。计算系统可以被配置为实现本文所述的方法和操作。该系统可以包括多个输入数据源和多个数据目标。该系统可以包括云计算基础设施系统,其包括经至少一个通信网络通信耦合到多个输入数据源并通信耦合到多个数据目标的一个或多个处理器。云计算基础设施系统可以包括耦合到一个或多个处理器的存储器,存储器存储指令以提供数据丰富化服务,其中当指令被一个或多个处理器执行时使得这一个或多个处理器执行本文所述的一个或多个方法或操作。还有其它实施例涉及系统和机器可读有形存储介质,其采用或存储用于本文所述的方法和操作的指令。在至少一个实施例中,一种方法包括从一个或多个输入数据源接收输入数据集。输入数据集可以被格式化为一列或多列数据。该方法可以包括将输入数据集与从参考源获得的一个或多个参考数据集进行比较。参考源可以是由知识服务提供的知识源。可以利用图匹配或语义相似性匹配中的一个或多个将输入数据集与一个或多个参考数据集进行比较。该方法可以包括为一个或多个参考数据集中的每一个计算相似性度量,相似性度量指示一个或多个参考数据集中的每一个与输入数据集相比较的相似性的测量值。该方法可以包括基于相似性度量来识别输入数据集和一个或多个参考数据集之间的匹配。在一些实施例中,该方法可以包括:生成图形界面,该图形界面指示为一个或多个参考数据集中的每一个计算的相似性度量并且指示在输入数据集和一个或多个参考数据集之间识别出的匹配;以及利用该图形界面呈现图形可视化,该图形可视化指示为一个或多个参考数据集中的每一个计算的相似性度量并且指示在输入数据集和一个或多个参考数据集之间识别出的匹配。在一些实施例中,该方法可以包括:将输入数据集与匹配信息一起存储,其中匹配信息指示为一个或多个参考数据集中的每一个计算的相似性度量并且指示在输入数据集和一个或多个参考数据集之间识别出的匹配;基于识别输入数据集和一个或多个参考数据集之间的匹配来识别用于输入数据集的类别标签;以及与该类别标签相关联地存储输入数据集。在一些实施例中,一个或多个参考数据集包括与域相关联的词条。相似性度量可以是为一个或多个参考数据集中的每一个计算的匹配得分。可以利用一个或多个值(包括指示关于参考数据集的度量的第一值和指示基于将输入数据集与参考数据集进行比较的度量的第二值)来计算匹配得分。可以呈现图形可视化,以指示用来计算匹配得分的一个或多个值。这一个或多个值可以包括输入数据集和该数据集之间匹配的词条的频率值、该数据集的母体(population)值、指示输入数据集和该数据集之间匹配的不同词条的数量的唯一匹配值、指示该数据集中的词条的数量的域值,以及指示该数据集的策展程度的策展水平。在一些实施例中,该方法还可以包括:基于从聚合服务获得的增强数据生成增强列表;以及基于该增强列表增强输入数据集。输入数据可以与基于增强列表增强的一个或多个参考数据集进行比较。该方法还可以包括基于一个或多个参考数据集来生成索引化三字母组表。该方法可以包括:对于增强之后的输入数据集中的每个词:创建用于该词的三字母组;将每个三字母组与索引化三字母组表进行比较;识别索引化三字母组表中与匹配三字母组中的第一三字母组的三字母组相关联的词;以及将该词存储在三字母组增强的数据集中。该方法可以包括将三字母组增强的数据集与一个或多个参考数据集进行比较,并且基于该比较来确定三字母组增强的数据集和一个或多个参考数据集之间的匹配。识别输入数据集和一个或多个参考数据集之间的匹配可以利用三字母组增强的数据集和一个或多个参考数据集之间的基于该比较的匹配来执行。在一些实施例中,该方法可以包括生成表示一个或多个参考数据集的至少一部分的数据结构。数据结构中的每个节点表示从一个或多个参考数据集提取出的一个或多个字符串中的不同字符。可以通过遍历数据结构来将输入数据集与一个或多个参考数据集进行比较。相似性度量可以被计算为基于一个或多个参考数据集与输入数据集相比较的交集的基数的值。该值可以通过这个基数来规格化。该值可以减小基于一个或多个参考数据集的大小的第一因子,并且该值可以减小基于一个或多个参考数据集的类型的第二因子。在一些实施例中,可以通过确定输入数据集和参考数据集之间的余弦相似性来为一个或多个参考数据集中的每个参考数据集计算相似性度量。可以使用Jaccard指数、Tversky指数或Dice-Sorensen指数中的一个或多个来计算相似性度量。识别匹配可以包括基于为一个或多个参考数据集中的每一个计算的相似性度量来确定具有最高相似性测量值的一个或多个参考数据集的参考数据。通过参考以下说明书、权利要求和附图,前述内容以及其它特征和实施例将变得更加明显。附图说明图1绘出了根据本发明实施例的数据丰富化服务的简化高层级图。图2绘出了根据本发明实施例的技术栈的简化框图。图3绘出了根据本发明实施例的数据丰富化系统的简化框图。图4A-4D绘出了根据本发明实施例的提供交互式数据丰富化的用户界面的例子。图5A-5D绘出了根据本发明实施例的提供数据集的可视化的各种用户界面的例子。图6绘出了根据本发明实施例的示例图。图7描绘根据本发明实施例的示例状态表。图8绘出了根据本发明实施例的不区分大小写的图的例子。图9绘出了根据本发明实施例的指示数据集的相似性的图。图10绘出了根据本发明实施例的显示针对不同知识域的知识评分的图形界面的例子。图11绘出了根据本发明实施例的自动化数据分析的例子。图12绘出了根据本发明实施例的三字母组建模的例子。图13绘出了根据本发明实施例的类别标记的例子。图14-16绘出了根据本发明实施例的确定排名类别的相似性分析。图17和18绘出了根据本发明一些实施例的相似性分析的处理的流程图。图19绘出了用于实现实施例的分布式系统的简化图。图20是根据本公开内容实施例的、其中服务可以作为云服务提供的系统环境的一个或多个部件的简化框图。图21示出了可以被用来实现本发明实施例的示例性计算机系统。具体实施方式在以下描述中,为了说明的目的,阐述了具体的细节,以便提供对本发明的实施例的透彻理解。但是,明显的是,各种实施例可以在没有这些具体细节的情况下实践。附图和描述不意在是限制性的。本公开内容一般而言涉及提取、修复和丰富化数据集的数据丰富化服务,从而为后续的索引和聚类产生更精确的实体分辨和相关。在一些实施例中,数据丰富化服务包括可扩展语义流水线(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可以包括发布引擎、聚合引擎和元数据结果管理器。在一些实施例中,各种开源技术可以被用来实现各种处理阶段和/或处理引擎内的一些功能。例如,文件格式检测可以使用ApacheTika。在一些实施例中,管理服务208可以监视在丰富化处理110期间对数据所做的改变。被监视的改变可以包括跟踪哪些用户访问数据、执行了哪些数据变换,以及其它数据。这可以使数据丰富化服务能够回滚丰富化动作。技术栈200可以在诸如用于大数据操作的集群210(“大数据集群”)的环境中实现。集群210可以利用ApacheSpark来实现,其提供用于实现与诸如HDFS的分布式文件系统(DFS)兼容的分布式计算框架的一组库。ApacheSpark可以向有效资源管理器(如YARN)发送对于映射、减少、过滤、排序或样本集群处理作业的请求。在一些实施例中,集群210可以利用诸如由提供的分布式文件系统提供(offering)来实现。DFS(诸如由提供的DFS)可以包括HDFS和Yarn。图3绘出了根据本发明实施例的交互式可视化系统的简化框图。如图3所示,数据丰富化服务302可以从一个或多个客户端304接收数据丰富化请求。数据丰富化系统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)、以太网、公共或专用网络、有线网络、无线网络等,及其组合。不同的通信协议可以被用来促进通信,包括有线和无线协议,诸如IEEE802.XX协议套件、TCP/IP、IPX、SAN、AppleTalk、蓝牙,及其它协议。一般而言,通信网络可以包括促进客户端和数据丰富化服务302之间的通信的任何通信网络或基础设施。用户可以通过用户界面306与数据丰富化服务302交互。客户端304可以呈现图形用户界面,以显示用户的数据、用于变换用户的数据的推荐,以及通过用户界面306向数据丰富化服务302发送和/或接收指令(“变换指令”)。本文所公开的用户界面(诸如图4A-4D、5A-5D和10中引用的那些)可以由数据丰富化服务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)的ApacheTika。规格化的格式提供从数据源获得的数据的规格化的视图。在一些实施例中,准备引擎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示出的类别类型内的变换动作。变换动作描述重命名列重命名列采样用当前RDD的样本替换其连接在两个RDD之间执行左外连接导出将RDD作为列状数据导出到例如HDFS表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确定的。在一些实施例中,针对识别出的模式(例如,城市和州)的数据可以被提供给知识服务310,以从知识源340获得与识别出的模式匹配的实体。例如,知识服务310可以被调用,以调用与识别出的模式对应的例程(例如,getCities()和getStates())来接收实体信息。从知识服务310接收的信息可以包括具有适当拼写的实体信息(例如,适当拼写的城市和州)的实体的列表(例如,规范列表)。与从知识服务310获得的匹配实体对应的实体信息可以被用来丰富化数据,例如,规格化数据、修复数据和/或增强数据。在一些实施例中,推荐引擎308可以基于从知识服务310接收的匹配的模式来生成变换推荐。例如,对于包括社会安全号的数据,推荐引擎可以推荐使条目模糊的变换(例如,截断、随机化或删除条目的全部或一部分)。变换的其它例子可以包括重新格式化数据(例如,重新格式化数据中的日期)、重命名数据、丰富化数据(例如,插入值或将类别与数据相关联)、搜索和替换数据(例如,校正数据的拼写)、改变字母的大小写(例如,从大写改变成小写),以及基于黑名单或白名单术语的过滤,在一些实施例中,可以为特定用户定制推荐,使得推荐在高层级描述什么数据修复或丰富化是可用的。例如,模糊化推荐可以指示条目的前五位数字将被删除。在一些实施例中,可以基于过去的用户活动生成推荐(例如,提供先前当敏感数据被识别出时使用的推荐的变换)。变换引擎322可以基于由推荐引擎308提供的推荐来生成变换脚本(例如,模糊社会安全号的脚本)。变换脚本可以执行变换数据的操作。在一些实施例中,变换脚本可以实现数据的线性变换。线性变换可以通过使用API(例如,SparkAPI)来实现。变换动作可以由利用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可以包括匹配模块312、相似性度量模块314、知识评分模块316以及分类模块318。如下面进一步描述的,匹配模块312可以实现匹配方法,以将数据与通过知识服务310可用的参考数据进行比较。知识服务310可以包括或可以访问一个或多个知识源340。知识源可以包括由网站发布的公开可用的信息、网络服务、策展知识存储,以及其它源。匹配模块312可以实现一个或多个匹配方法,诸如本公开内容中描述的那些。匹配模块312可以实现用于存储与被应用的(一个或多个)匹配方法相关的状态的数据结构。相似性度量模块314可以实现确定两个或更多个数据集之间的语义相似性的方法。这也可以被用来将用户的数据与通过知识服务330可用的参考数据匹配。相似性度量模块314可以执行如本公开内容中所述的相似性度量分析,包括参考图6-15的描述。分类模块318可以执行操作,以实现自动化的数据分析。在一些实施例中,分类模块318可以使用无监督式机器学习工具(诸如Word2Vec)来分析输入数据集。Word2Vec可以接收文本输入(例如,来自大数据源的文本语料库)并且生成每个输入词的向量表示。然后结果所得的模型可以被用来识别词的任意输入集合如何紧密相关。例如,利用大文本语料库(例如,新闻聚合器或其它数据源)构建的Word2Vec模型可以被用来确定用于每个输入词的对应数值向量。当分析这些向量时,可以确定向量在向量空间内“接近”(在欧几里德意义上)。虽然这可以识别输入词是相关的(例如,识别在向量空间内紧密地聚类在一起的输入词),但是Word2Vec可能不能用来识别用于词的描述性标签(例如,“轮胎制造商”)。分类模块318可以利用策展知识源340(例如,来自马克斯普朗克信息学研究所的YAGO)实现对相关词进行分类的操作。利用来自知识源340的信息,分类模块318可以向输入数据集添加附加的相关数据。在一些实施例中,分类模块318可以实现执行三字母组建模以进一步细化相关词条的分类的操作。三字母组建模可以被用来比较词集合,以用于类别识别。输入数据集合可以利用相关词条被增强。利用可以包括添加的数据的输入数据集,匹配模块312可以实现匹配方法(例如,图匹配方法),以将来自增强的数据集的词与来自知识源340的数据的类别进行比较。相似性度量模块314可以实现确定增强的数据集与知识源340中每个类别之间的语义相似性以识别该类别的名称的方法。类别的名称可以基于最高相似性度量来选择。相似性度量可以基于数据集中匹配类别名称的词条的数量来计算。类别可以基于词条匹配的最大数量来选择,其中词条匹配基于相似性度量。在本公开内容中进一步描述为相似性分析和分类执行的技术和操作,包括参考图6-15的描述。在一些实施例中,分类模块318可以增强输入数据集并使用来自知识源340的信息向输入数据集添加附加的相关数据。例如,数据分析工具(诸如Word2Vec)可以被用来从知识源(诸如来自新闻聚合服务的文本语料库)识别与输入数据集中包括的那些语义相似的词。在一些实施例中,分类模块318可以实现三字母组建模,以预处理从知识源340(诸如YAGO)获得的数据,以按类别生成词的索引化表。分类模块318然后可以为增强的数据集中的每个词创建三字母组并且将该词与来自索引化知识源340的词匹配。利用增强的数据集(或三字母组匹配的增强的数据集),分类模块318可以请求匹配模块312将来自增强的数据集的词与来自知识源340的数据的类别进行比较。例如,知识源340中的每个数据类别可以被表示为树结构,其中根节点表示类别,并且每个叶节点表示属于那个类别的不同词。相似性度量模块314可以实现方法(例如,Jaccard指数或其它相似性度量),以确定增强的数据集与知识源510中的每个类别之间的语义相似性。匹配增强的数据集(例如,具有最高相似性度量)的类别的名称然后可以作为标签应用到输入数据集。在一些实施例中,相似性度量模块314可以通过确定数据集的交集的大小与数据集的并集的大小之比来确定两个数据集A和B的相似性。例如,相似性度量可以基于1)数据集(例如,增强的数据集)和类别的交集的大小与2)它们的并集的大小之比来计算。为了数据集与类别的比较,可以计算相似性度量,如上面所指示的。照此,“最佳匹配”可以基于比较相似性度量来确定。用于比较的数据集可以通过用与利用相似性度量为其确定最佳匹配的类别对应的标签来增强。如上所述,可以附加地或替代Jaccard指数使用其它相似性度量,到。本领域的普通技术人员将认识到,任何相似性度量都可以与上述技术一起使用。替代的相似性度量的一些例子包括但不限于:Dice-指数;Tversky指数;Tanimoto度量;以及余弦相似性度量。在一些实施例中,分类模块318可以利用数据分析工具(诸如Word2Vec)来计算指示来自知识源340的数据与输入数据之间的匹配程度的精细度量(例如,得分),其中输入数据可以用来自知识源的数据增强。得分(“知识得分”)可以提供关于输入数据集与进行比较的类别之间的相似程度的更多知识。知识得分可以使数据丰富化服务302能够选择最能表示输入数据的类别名称。在上述技术中,分类模块318可以对输入数据集中的词条与知识源340中的候选类别(例如,属(genus))名称的匹配数进行计数。比较的结果可以产生表示整数类型(wholeinteger)的值。照此,虽然该值指示词条之间的匹配程度,但是可能不指示输入数据集与知识源中的不同词条之间的匹配程度。分类模块318可以利用Word2Vec来确定知识源中的每个词条(例如,用于属的词条)与输入数据(例如,种类(species))的词条的比较的相似性。利用Word2Vec,分类模块318可以计算输入数据集与从知识源获得的一个或多个词条之间的相似性度量(例如,余弦相似性或距离)。余弦相似性可以被计算为从知识源获得的词条(例如,域或属)的数据集与词条的输入数据集之间的余弦角。可以以与Tanimoto度量类似的方式计算余弦相似性度量。以下方程式表示余弦相似性度量的例子:通过基于余弦相似性计算相似性度量,输入数据集中的每个词条可以被认为是整数值整数的分数,诸如指示该词条和候选类别之间的相似性百分比的值。例如,计算轮胎制造商与姓氏之间的相似性度量可能导致相似性为0.3,而轮胎制造商与公司名称之间的相似性度量可能导致相似性为0.5。表示相似性度量的非整数值可以紧密比较(closecompared),以便为紧密匹配的类别名称提供更高的准确性。基于最接近值1的相似性度量,紧密匹配的类别名称可以被选作最适用的类别名称。在上面基于相似性度量的例子中,公司名称更可能是正确的类别。照此,分类模块318可以将“公司”而不是“姓氏”与用户提供的包含轮胎制造商的数据列相关联。知识评分模块316可以确定关于知识组(例如,域或类别)的信息。关于知识组的信息可以在图形用户界面中给出,诸如图10中所示的例子。关于知识域的信息可以包括指示知识域与词条的输入数据集之间的相似性的测量的度量(例如,知识得分)。输入数据可以与来自知识源340的数据进行比较。输入数据集可以与由用户指定的数据集的数据列对应。知识得分可以指示输入数据集与由知识源提供的一个或多个词条之间的相似性的测量,每个词条与知识域对应。数据列可以包括可能属于知识域的词条。在至少一个实施例中,知识评分模块316可以确定更准确的匹配得分。得分可以与利用评分公式计算的值对应。评分公式可以确定两个数据集(例如,输入数据集和从知识源获得的域(例如,候选类别)中的词条)之间的语义相似性。可以选择匹配得分对于其指示最佳匹配(例如,最高匹配得分)的域作为与输入数据集具有最大相似性的域。照此,输入数据集中的词条可以与作为类别的域名相关联。评分公式可以应用到输入数据集和域(例如,从知识源获得的词条的类别),以确定指示输入数据与域之间的匹配的测量的得分。域可以具有一个或多个词条,它们共同定义该域。得分可以被用来确定输入数据集与哪个域最相似。输入数据集可以与描述输入数据集与其最相似的域的词条相关联。可以基于和与输入数据集进行比较的域相关的一个或多个因子来定义评分公式。用于评分公式的因素可以包括但不限于频率值(例如,输入数据集和域中的词条之间匹配的词条的频率)、母体值(例如,输入数据集中的词条的数量)、唯一匹配值(例如,在输入数据集和域之间匹配的不同词条的数量)、域值(例如,域中的词条的数量)以及策展水平,策展水平指示值范围(例如,0.0-100.00)之间指示域被策展的程度的常量值。在至少一个实施例中,评分公式可以被定义为函数score(f,p,u,n,c),其中评分公式通过等式:(1+c/100)*(f/p)*(log(u+1)/log(n+1))来计算,其中“f”表示频率值,“c”表示策展水平,“p”表示母体值,“u”表示唯一匹配值,“n”表示域值。评分公式的计算可以参考图10进一步描述。在规模缩小的例子中,输入数据集(例如,来自表的数据列)可以被定义为具有100个短文本值,并且知识源可以由包括具有1000个词条(每个词条与城市对应)的城市域(例如,“city”)以及具有800个词条(每个词条与姓氏对应)的姓氏域(例如,“last_name”)定义。输入数据集可以具有匹配城市域中的60个词条(例如,城市)的80行(例如,每行与一个词条对应),并且输入数据集可以具有匹配姓氏域中的55个词条的65行(例如,姓氏)。城市域可以在策展水平10定义,并且姓氏域可以在策展水平0(例如,未策展)定义。通过基于这个例子中的值应用评分公式,根据得分(80,100,60,1000,10)为城市域计算出知识得分为0.5236209875770231(例如,得分为100中的52或52%)。根据得分(65,100,55,800,0)为姓氏域计算出知识得分为0.39134505184782975(例如,得分为100中的39或39%)。在这个规模缩小的例子中,输入数据集具有更好的匹配,基于知识评分与城市域而不是姓氏域紧密相似。遵循这个例子,图10示出了具有与输入数据集相比较的词条的不同域以及利用评分公式计算的得分(“匹配”)的例子。在一些实施例中,可以基于比上述那些更多或更少的因子来定义评分公式。公式可以被调整或修改,以产生更能代表匹配的得分。除了模式识别和匹配之外,剖析引擎326还可以统计地分析数据。剖析引擎326可以表征大量数据的内容,并且可以提供关于数据的全局统计以及数据内容的每列分析:例如,其值,模式,类型,语法,语义及其统计性质。例如,数值数据可以被统计地分析,包括例如N、平均值、最大值、最小值、标准偏差、偏斜度、峰度和/或20柱直方图(如果N大于100并且唯一值大于K)。内容可以被分类,用于后续分析。在一些实施例中,剖析引擎326可以在一个或多个NL处理器上分析数据,其可以自动识别数据源列、确定特定列中的数据的类型、如果输入上不存在图式则命名列,和/或提供描述列和/或数据源的元数据。在一些实施例中,NL处理器可以从列文本中识别并提取实体(例如,人、地点、事物等)。NL处理器还可以在数据源内和数据源之间识别和/或建立关系。在一个例子中,全局统计可以包括但不限于行数、列数、原始的和填充的列数以及它们如何变化、不同的和重复的行、标题信息、按类型或子类型分类的列数,以及具有安全或其它警报的列数。特定于列的统计可以包括填充的行(例如,K个最频繁的、K个最不频繁的唯一值、唯一模式,以及(如果适用的话)类型)、频率分布、文本度量(例如,文本长度、标记计数、标点符号、基于模式的标记和各种有用的导出文本性质的最小值、最大值、平均值)、标记度量、数据类型和子类型、数值列的统计分析、在具有大多数非结构化数据的列中找到的L个最可能/最不可能的简单或复合词条或n元语法(n-grams),以及通过这种朴素词典匹配的参考知识类别、日期/时间模式发现和格式化、参考数据匹配,以及估算的列标题标签。结果得到的简档可以被用来为后续分析而将内容进行分类,以直接或间接地建议数据的变换、识别数据源之间的关系,并且在应用基于先前获取的数据的简档设计的一组变换之前验证新获取的数据。在一些实施例中,用户界面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”重命名为“city”的推荐。因为该推荐被写成使得商业用户可以理解它(而不是在例如代码或伪代码中),所以对应的数据412可以容易地被用户识别。如图4B中所示,数据412包括一列字符串(在用户界面400中表示为一行)。剖析引擎326可以分析该数据,以确定其包括两个或更少单词(或标记)的字符串。这种模式可以被提供给可以查询知识服务310的推荐引擎308。在这种情况下,知识服务310已经将数据模式与城市名称相匹配,并且生成推荐408以相应地重命名该列。在一些实施例中,面板404中列出的变换可能已经在用户的指示下(例如,响应于应用变换的指令)应用或可能已被自动应用。例如,在一些实施例中,知识服务310可以为给定的模式匹配提供置信得分。可以在推荐引擎308中设置阈值,使得自动应用具有大于阈值的置信度得分的匹配。为了接受推荐,用户可以选择与推荐相关联的接受图标414(在这个例子中为向上箭头图标)。如图4C中所示,这将被接受的推荐414移动到变换脚本面板402,并且自动地将该变换应用到对应的数据416。例如,在图4C中所示的实施例中,Col_0008现在已经根据所选择的变换被重命名为“city”。在一些实施例中,数据丰富化服务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自动标记为“city”。图5D示出了包括全局度量582(例如,与整个数据集相关的度量)和特定于列的可视化584的简档度量面板580。特定于列的可视化584可以由用户选择和/或被用来导航数据(例如,通过点击、拖动、滑动等)。上述例子表示对小数据集的简化变换。类似和更复杂的处理也可以自动应用到包括数十亿条记录的大数据集。图6绘出了根据本发明实施例的示例图。在一些实施例中,识别文本数据中的文字字符串会是有用的。文字字符串可以是可以被看作“面值”的字符串,因为它没有嵌入的语法(诸如在正则表达式中)。当在数据集中搜索文字字符串时,将执行精确的字符串匹配。文字字符串匹配可以通过在单个数据结构中表示一个或多个文字字符串来执行。这个数据结构可以与图匹配方法结合使用,其中图匹配方法对输入字符串执行单次遍历,以同时找出输入字符串中所有匹配的文字字符串。这提高了匹配效率,因为只需要通过对文本的单次遍历来找出所有文字字符串。在一些实施例中,图匹配方法可以被实现为Aho-Corasick算法的变体。图匹配方法通过将文字字符串存储在类似trie的数据结构中并重复遍历树以查找迄今为止在输入文本中看到的字符的所有可能匹配来工作。数据结构可以是其节点是字符串文字中的字符的树。每个文字字符串的第一个字母可以是根节点的孩子。每个文字字符串的第二个字母可以是与第一个字母对应的节点的孩子。图6示出了用于以下词的树:can(1)、car(2)、cart(3)、cat(4)、catch(5)、cup(6)、cut(7)和ten(8)。每个词结束的节点用这个词对应的数字标记。在一些实施例中,图匹配方法可以跟踪部分匹配的列表。部分匹配可以包括指向树中的节点的指针和与输入字符串中引入部分匹配的位置对应的字符偏移。图匹配方法可以用与在偏移1处的字符的根节点对应的单个部分匹配来初始化。当读取第一个字符时,针对具有给定字符的子节点检查根节点。如果存在这样的子节点,则用于部分匹配的节点前进到该子节点。在下一个字符被读取之前,与根节点和在偏移2处的字符对应的新的部分匹配被添加到部分匹配的列表中。然后它继续对每个字符迭代。对于每个字符,在当前字符处评估列表中的每个部分匹配。如果部分匹配的节点具有与当前字符对应的孩子,则保留该部分匹配,否则必须将其移除。如果部分匹配被保持,则节点前进到与当前字符对应的子节点。在一些实施例中,如果部分匹配的节点与词的结束(如图6中由数字所示)对应,则创建完成的匹配,其可以被添加到返回值的列表。在前进到下一个字符之前,可以创建与根节点和下一个字符的字符偏移对应的新的部分匹配。图7绘出了根据本发明实施例的示例状态表。为了说明,表700绘出了当检查输入字符串“cacatch”时图匹配方法的状态。下表示出在评估部分匹配之后由方法在输入字符串中的每个字符处存储的内部状态。如图7所示,图匹配方法可以从字符2到4识别出“cat”(词4)并且从2到6识别出词“catch”(词5)。部分匹配被表示为包括字符偏移和树中由字母给出的节点的对。在一些实施例中,字符偏移可以充当部分匹配的标识符(例如,当节点被更新时,字符偏移可以保持恒定)并且在每个字符偏移处仅引入一个部分匹配。在一些实施例中,对于每个字符,可以引入新的部分匹配。因为树600的根节点具有两个孩子(对于“c”和“t”),当找到字符“c”和“t”时,新创建的部分匹配前进,如第1、3、5和6行中所示。在第3行,部分匹配“(1,a)”不前进,因为对于“a”没有具有字母“c”的孩子。相反,部分匹配“(3,a)”在行5中前进到“(3,t)”,因为节点“a”有具有字母“t”的子节点。在这个时候,部分匹配“(3,t)”是对于词“cat”的完整匹配,如由在“t”节点的数字4指示的。因此,找到对于词“cat”的从3到5的匹配。图8绘出了根据本发明实施例的不区分大小写的图的例子。在一些实施例中,可以对第二不区分大小写的树执行不区分大小写的匹配。诸如图7中的树可以通过将其转换成包括每个字母的大写字母和小写字母版本的网格来使得不区分大小写,使得字母的“大小写”都指向下一个字母的“大小写”。树800示出了词“can”的不区分大小写的树/网格。如图8所示,对于词“can”的每种大小写组合(例如,“Can”、“CAn”、“CaN”、“caN”等),存在通过树的路径。但是,区分大小写和不区分大小写的条目不能驻留在同一个树中,因为不区分大小写的条目对区分大小写的条目的大小写敏感性具有破坏性影响。此外,当执行不区分大小写的匹配时,并非所有字符都具有大小写。因此,树不必包括并行字符对。作为例子,树802以不区分大小写的方式示出了将词“b2b”添加到树的树结构。在一些实施例中,可以通过添加第二不区分大小写的树来支持不区分大小写的匹配,该树包括为不区分大小写的匹配而添加的文字字符串。然后,除了对于每个字符将两个部分匹配添加到与两个树中每一个的根节点对应的部分匹配的列表中之外,可以如上所述执行图匹配。图9绘出了根据本发明实施例的指示数据集的相似性的图。本发明的实施例可以语义地分析数据集并确定数据集之间的语义相似性。数据集之间的语义相似性可以表示为语义度量。例如,给定词条C的客户列表和参考列表R,可以利用多个已知函数(诸如Jaccard指数、Sorensen-Dice指数(也称为作为Sorensen指数或Dice系数)和Tversky指数)来计算C和R之间的“语义相似性”。但是,现有方法无法正确匹配接近的数据集。例如,如图9所示,所有州的首府都是城市,但不是所有的城市都是州的首府。因此,给定包括50个城市的列表的数据集C,其中49个城市是州的首府,一个是非首府城市,则C应当匹配“城市的列表”而不是“首府的列表”。现有技术方法(诸如Jaccard指数和Dice系数)对称地对待数据集,即,这些方法不区分客户数据和参考数据。这会导致并非所有客户数据都与参考数据匹配的情况。在一些实施例中,用于确定相似性度量的方法可以使用自然对数来考虑参考数据集的变化的大小。结果,如果客户列表具有100个词条,则与所有客户列表词条匹配的1000个词条的参考列表几乎是与所有客户词条匹配的10000个词条的参考列表的两倍(而不是十倍)。描述用于确定相似性度量的方法的公式如下所示:其中R是参考数据集,C是客户数据集,α和β是可调系数。在一些实施例中,默认α=0.1和β=0.1。这种方法通过对某些不期望的数据集特性进行负加权来改进相似性匹配。例如,当参考集大小增加时,α项增大,从而减小相似性度量。此外,对于策展参考数据集(一般假设为高值数据集),β项为0。但是,对于未策展的数据集,β项为1,从而大大降低了相似性度量。在一些实施例中,可以将顶点排名结合到方法中。结果,该方法不再产生规格化的相似性度量。因此,相似性度量乘以负权重,如下所示:图10绘出了根据本发明实施例的显示针对不同知识域的知识评分的图形界面1000的例子。如上面所介绍的,图形界面1000可以显示关于由数据丰富化服务302显示的匹配域的数据的图形可视化。图形界面1000示出了基于用于不同知识域的评分公式为用户提供统计信息的数据。知识域可以包括与特定类别(例如,域)相关的多个词条,诸如在列1002(“域”)中识别出的那些。每个域1002可以包括多个词条并且可以由知识源定义。知识源可以被策展,以维护与每个域1002相关联的词条。图形界面1000示出了定义域1002的各种值以及利用用于每个域的评分公式确定的匹配得分1016(“得分”)。每个域1002可以具有值,诸如频率值1004(例如,输入数据集和域中的词条之间匹配的词条的频率)、母体值1006(例如,输入数据集中的词条的数量)、匹配值1008(例如,指示基于频率值1004除以母体计算出的匹配域的词条的百分比)、唯一匹配值1010(例如,输入数据集和域之间匹配的不同词条的数量)、大小1012(例如,指示域中的词条的数量的域计数)和选择值(例如,指示为域选择的词条的百分比)。虽然未示出,但是图形界面1000可以示出策展水平,策展水平指示值范围(例如,0.0-100.00)之间指示域被策展的程度的常量值。基于针对域的一个或多个值,可以利用用于确定相似性的函数(诸如上述score(f,p,u,n,c))来计算得分1016。除了针对域的值之外,得分也可以提供精细的测量,这使得用户能够对与输入数据集最佳匹配的域做出更好的评估。最接近的匹配域可以被用来命名关于域的数据或将其与输入数据集关联。在一些实施例中,诸如参考图11-18描述的那些实施例可以被描述为被绘制为流程图、流图、数据流程图、结构图或框图的处理。虽然流程图可以将操作描述为顺序处理,但是许多操作可以并行或并发地执行。此外,可以重新布置操作的顺序。处理在其操作完成时终止,但是可以具有未包括在附图中的附加步骤。处理可以与方法、函数、过程、子例程、子程序等对应。当处理与函数对应时,其终止可以与函数返回到调用函数或主函数对应。这里绘出的处理,诸如参考图11-18描述的那些,可以在由一个或多个处理单元(例如,处理器核心)执行的软件(例如,代码、指令、程序)、硬件或其组合中实现。软件可以存储在存储器中(例如,在存储器设备上、在非暂态计算机可读存储介质上)。在一些实施例中,本文流程图中所绘出的处理可以由数据丰富化服务(例如,数据丰富化服务302)的计算系统实现。本公开内容中的处理步骤的特定系列并不意在进行限制。其它步骤序列也可以根据替代实施例执行。例如,本发明的替代实施例可以以不同的次序执行上面概述的步骤。而且,附图中所示的各个步骤可以包括多个子步骤,这些子步骤可以以对各个步骤适当的各种顺序执行。此外,可以取决于特定应用而添加或移除附加步骤。本领域普通技术人员将认识到许多变化、修改和替代。在一些实施例的一方面,图11-18中的每个处理可以由一个或多个处理单元执行。处理单元可以包括一个或多个处理器,包括单核或多核处理器、处理器的一个或多个核心,或其组合。在一些实施例中,处理单元可以包括一个或多个专用协处理器,诸如图形处理器、数字信号处理器(DSP)等。在一些实施例中,一些或全部处理单元可以利用定制的电路(诸如专用集成电路(ASIC)或现场可编程门阵列(FPGA))来实现。图11绘出了自动化数据分析的例子。如在1100所示,无监督式机器学习技术(诸如Word2Vec)可以被用来分析输入数据集。Word2Vec可以接收文本输入(例如,来自大数据源的文本语料库)并生成每个输入词的向量表示。然后结果所得的模型可以被用来识别词的任意输入集有多紧密相关。例如,可以使用K均值聚类(或其它向量分析)来分析与输入词的集合对应的向量,并且基于对应向量在向量空间内有多“接近”来确定这些输入词多相似。如在1100所示,输入词的集合可以包括“Bridgestone”,“Firestone”和“Michelin”。用利用大文本语料库(例如,新闻聚合器或其它数据源)构建的Word2Vec模型;可以为每个输入词识别对应的数值向量。当分析这些向量时,可以确定向量在向量空间内“接近”(在欧几里德意义上)。如图11所示,这三个输入词在向量空间内紧密地聚类在一起。虽然这可以识别出这些输入词是相关的,但是Word2Vec不能被用来识别用于词的描述性标签(例如,“轮胎制造商”)。在1102,示出了利用策展数据源进行分类的方法。策展数据源(诸如来自马克斯普朗克信息学研究所的YAGO)可以提供本体(例如,对于特定域存在的实体的类型、性质和相互关系的正式命名和定义)。利用策展数据源,可以通过图匹配来识别输入数据集中的实体。这使得能够针对包括各种物种(例如,词)的输入数据集识别属标签(例如,类别)。但是,如在1102所示,属标签可以是不完整的或不准确的(例如,不同的策展器可以不同地对物种进行分类)。在302处示出的例子中,这种不准确性会导致相同的输入词集合被匹配到不同的属(例如,Bridgestone和Michelin被匹配到用于轮胎制造商的属,而Firestone被匹配到轮胎行业的人)。虽然这提供了识别用于物种数据的输入的属的方法,但是识别出的属的准确性基于策展数据源的准确性和完整性而受到限制。图12绘出了三字母组建模1200的示例。传统上,三字母组已经被用来执行自动拼写校正。如图12所示,每个输入词可以被分解为三字母组,并且可以构造由三字母组进行索引的表,并且该表包括包含该三字母组的词(例如,三字母组“ANT”与“antique”、“giant”等相关联)。当在自动拼写校正中使用时,字典可以被用作数据源,并且三字母组可以被用来识别与输入拼写错误最相似的词。例如,相似性度量可以指示在拼错的输入词与来自数据源(例如,字典)的词之间共享的三字母组的数量之间的相似性。根据实施例,三字母组模型可以被用来比较词的集合,用于类别识别。如下面关于图13进一步描述的,三字母组可以被用来创建数据源(诸如策展YAGO数据源)的索引化表(类似于数据库索引)。在索引化表中,每个三字母组可以是与包括该三字母组的多个词相关联的主键。表的不同列可以与不同的类别对应,其中这些不同类别与包括三字母组的词相关联。当接收到输入数据集时,数据集中的每个词可以被划分成三字母组并且与索引化表进行比较,以识别匹配的词。然后可以将匹配的词与数据源进行比较,以识别用于类别的最佳匹配。确定用于三字母组建模的统计匹配可以利用在标题为“Scalablestringsmatchingasacomponentforunsupervisedlearninginsemanticmeta-modeldevelopment”的美国专利申请No.13/596,844(PhilipOgren等人)中描述的技术来实现。图13绘出了根据本发明实施例的类别标记1300的例子。如图13所示,可以接收输入数据集1302。输入数据集1302可以包括例如文本字符串的列。在这个例子中,输入数据集1302包括字符串“Bridgestone”、“Firestone”和“Michelin”。在1304,可以使用数据分析工具(例如,Word2Vec)来识别与输入数据集相似的数据。在一些实施例中,数据分析工具可以预处理数据源,诸如从新闻聚合服务获得的数据,以创建词增强列表。然后可以将输入数据集1302与词增强列表进行比较,以识别相似的词。例如,利用Word2Vec,可以为包括在输入数据集1302中的每个字符串识别向量。利用向量分析方法(例如,K均值聚类),可以识别来自词增强列表的“接近”输入数据集中的词的其它词。生成包括来自词增强列表的相似词的增强数据集1306。如图13所示,这包括将词“Goodyear”添加到输入数据集1302,以创建增强数据集1306。在一些实施例中,然后可以将增强数据集1306与知识源1308进行比较,以识别与增强数据集匹配的类别。如图13所示,知识源1308可以包括按类别组织的数据。在一些实施例中,每个类别可以被表示为根节点,并且每个根节点可以具有表示属于该类别的数据的一个或多个叶节点。例如,知识源1308包括至少两个类别“轮胎制造商”和“轮胎行业的人”。每个类别包括属于该类别的数据(Michelin和Bridgestone属于轮胎制造商,而HarveySamuelFirestone属于轮胎行业的人)。根据实施例,可以利用相似性度量(诸如Jaccard指数)将增强数据集与知识源类别进行比较。相似性度量可以将一个列表与另一个列表进行比较,并且分派指示两个数据集的相似性的值。相似性度量使得即使在知识源1308不完整或不正确的情况下也能够识别“最佳适配”类别。在一些实施例中,可以基于Tanimoto度量来计算相似性度量,Tanimoto度量是对用于布尔向量的Jaccard指数的数值向量泛化计算的:以下等式表示Tanimoto度量:点表示向量点积。如上所示,Jaccard指数可以通过确定数据集的交集的大小与数据集的并集的大小之比来确定两个数据集A和B的相似性。如在1314所示,增强数据集1306和类别“轮胎制造商”的交集的大小是2(Michelin和Bridgestone),而并集的大小是4,导致相似性度量为0.5。增强数据集1306和类别“轮胎行业的人”的交集的大小是1(Firestone),而并集的大小是4,导致相似性度量为0.25。因此,“最佳匹配”是“轮胎制造商”,并且数据丰富化服务可以通过标记列“轮胎制造商”来丰富化输入数据集。如上所述,除了Jaccard指数之外或作为替代,可以使用其它相似性度量。本领域的普通技术人员将认识到,任何相似性度量都可以与上述技术一起使用。替代的相似性度量的一些例子包括但不限0:指数;Tversky指数;Tanimoto度量;以及余弦相似性度量。本发明的实施例一般参考“大数据”系统和服务来描述。这是为了解释的清晰而不是限制性的。本领域的普通技术人员将认识到,本发明的实施例可以利用“大数据”上下文之外的其它系统和服务来实现。在一些实施例中,三字母组统计分析1312可以应用到增强数据集1306。三字母组建模模块可以将知识源1308预处理1310为索引化表,其主键是三字母组并且每列包括来自知识源的至少一个词。用于相同三字母组的不同列可以与知识源1308内的不同类别对应。对于增强数据集1306中的每个词,可以创建三字母组并将其与索引化对应表进行比较。这种比较可以导致来自知识源1308的关联词的列表,并且来自关联词的列表的最接近的匹配可以被添加到三字母组匹配的数据集。然后,如上所述,这个三字母组匹配的数据集可以与知识源1308的类别进行比较,以识别最接近的匹配类别。然后,当输入数据集1302被发布到一个或多个下游数据目标时,匹配的类别可以用于对输入数据集1302进行标记。在一些实施例中,从知识源1308生成的索引化三字母组的表可以包括具有三字母组(按字母顺序排序)的主索引列和具有在其叶节点具有具有相同三字母组的每个类别和子类别的列表的第二列。图14-16绘出了根据本发明实施例的确定排名类别的相似性分析。图14绘出了用于自动化数据分析的系统1400。系统1400使得能够发现针对词条的输入数据集1402的类别以及这些类别的相关联的排名。可以实现自动化数据分析,以利用从知识源获得的策展数据来对数据1402进行分类。如图所示,可以从用户提供的输入源获得输入数据集(例如,数据1402)。取决于源,数据1402可以被格式化成一个或多个列。数据丰富化服务1408可以利用虚拟计算环境(诸如虚拟机(JVM))来实现。数据丰富化服务1408可以接受数据1402作为输入。数据丰富化服务1402可以从策展数据源(诸如来自马克斯普朗克信息学研究所的YAGO)获得策展数据1406(例如,策展列表)。策展数据1406可以提供本体(例如,对于特定域存在的实体的类型、性质和相互关系的正式命名和定义)。策展数据的例子可以包括指示具有不同地理位置的邮政编码的地理名称。利用策展数据源,数据丰富化服务1408可以语义地分析数据1402,以确定与策展数据1406的相似性或接近性。数据集之间的语义相似性可以表示为相似性度量(例如,值)。例如,给定输入数据集和策展列表,可以利用多个比较函数(诸如Tversky度量)来计算输入数据集和策展列表之间的相似性。基于由比较确定的相似性度量,可以基于数据1402与策展数据1406的比较来确定接近性排名。基于比较,可以基于相似性度量来确定策展数据1406中的类别1404并对其进行排名。可以评估排名的类别1404,以识别可以与数据1402相关联的最高排名类别。在另一个实施例中,图15绘出了用于自动化数据分析的系统1500的另一个例子。系统1500使得能够为词条的输入数据集1502发现类别以及这些类别的相关联的排名。系统1500可以在确定由参考图14描述的相似性分析识别的类别不接近时实现,使得它们不被认为是良好的匹配。参考图15,从用户接收的数据1502可以取决于源而被格式化成一个或多个列。数据丰富化服务1520可以利用虚拟计算环境(诸如虚拟机(JVM))来实现。可以实现自动化数据分析,以利用从知识源获得的策展数据来对数据1502进行分类。可以利用聚合服务来实现系统1500,以在执行相似性分析之前增强数据1502。数据1502可以利用从与从其接收输入数据的数据源不同的源(例如,聚合服务)获得的增强数据来增强。例如,输入数据集可以用来自与(一个或多个)参考数据集的源不同的知识源(诸如来自新闻聚合服务(例如,新闻语料库)的文本语料库)的数据增强。例如,数据分析工具(诸如Word2Vec)可以被用来识别与来自知识源的数据集中包括的那些语义相似的词(例如,同义词)。从知识源获得的数据可以被预处理,以生成词增强列表。然后可以将输入数据集与词增强列表进行比较,以识别相似的词。例如,利用Word2Vec,可以为包括在数据1502中的每个字符串识别向量。利用向量分析方法(例如,K均值聚类),来自词增强列表中“接近”输入数据集中的词的其它词可以被识别。可以生成包括来自词增强列表的相似词的增强数据集。输入数据集可以利用增强数据集来增强。具有增强数据的输入数据集可以被用于图15中所绘出的处理的剩余部分。在数据1502增强之后,数据丰富化服务1502可以语义地分析数据1502,以确定与从知识源1516获得的数据的相似性或接近性。在一些实施例中,知识源1516可以提供来自策展数据源的数据。策展数据可以包括在一个或多个文件中的策展类别和类型。类型可以包括词条的分类法,以更好地识别数据1502的类别。在一些实施例中,可以实现中间系统1514,以便从知识源1516生成策展列表。系统1500可以仅在离线模式下使用,或者在开发期间作为一次性操作使用,以生成策展列表,或者在系统初始化时它将每次“从头”(根据从知识源1516获得的数据)投影表。策展数据可以存储在分布式存储系统(例如,HDFS)中。在一些实施例中,策展数据可以存储在索引化RDD1512中。策展数据可以与已经被增强的数据1502进行比较,以确定数据之间的语义相似性。数据集之间的语义相似性可以表示为相似性度量(例如,值)。例如,给定输入数据集和策展列表,可以利用多个比较函数(诸如Tversky度量)来计算输入数据集和策展列表之间的相似性。基于由比较确定的相似性度量,可以基于数据1502与策展数据的比较来确定接近性的排名。接近性的排名可以被用来识别用于数据1502的类别。可以对类别进行排名1510,以识别可以与数据1502相关联的最高排名类别。图16绘出了将输入数据集与从诸如Yago的知识源获得的策展数据的分类的集合进行比较的处理1600。分类的集合可以包括替代性拼写和替代性分类1630。分类的集合可以被布置在超类别1628(例如,生物)内具有子类的层次结构中。例如,“生物”类别1628可以具有子类“生物体”1626,“生物体”具有子类“人”1622、1624,“人”具有子类“人的类型”(例如,知识分子),“人的类型”具有子类“训练/职业”1618(例如,学者),“训练/职业”具有子类“哲学家”1616。该分类的集合可以被用来执行与输入数据集的比较,用于相似性分析。替代性拼写可以在与输入数据集的匹配期间被优先加权,如例如参考图14和15所描述的。较宽的类别或分类可以被用来确定用于与输入数据集进行比较的加权。在图16所示的例子中,可以通过利用分类1630中的一个1614来识别关键关系1632。分类1614可以包括诸如Aristotle1606的词条1604的优选拼写以及诸如Aristotel1608的拼写错误1602。拼写错误(例如,Aristotel1608)可以映射到与词条(例如Aristotle1606)的正确拼写1610(例如,Aristotle)对应的标签1612。图17和18绘出了根据本发明一些实施例的相似性分析的处理的流程图。在一些实施例中,本文的流程图中绘出的处理(诸如图17和18)可以由数据丰富化服务302的计算系统实现。流程图1700绘出了相似性分析的处理,借此将输入数据与一个或多个参考数据集进行比较,以确定它们的相似性。相似性可以被指示为使得数据丰富化服务的用户能够识别相关数据集以丰富化输入数据集的相似性测量。流程图1700在步骤1702通过从一个或多个输入数据源(例如,图3的数据源309)接收输入数据集开始。在一些实施例中,输入数据集被格式化为一列或多列数据。在步骤1704,输入数据集可以与从参考源获得的一个或多个参考数据集进行比较。例如,资源源是知识源,诸如知识源340。将输入数据集与参考数据集进行比较可以包括在两个数据集之间单独地或共同地比较每个词条。输入数据集可以包括一个或多个词条。参考数据可以包括一个或多个词条。例如,参考数据集包括与类别(例如,域或属)相关联的词条。(一个或多个)参考数据集可以由知识服务策展。在一些实施例中,输入数据可以利用从与从其接收输入数据的数据源不同的源获得的增强数据来增强。例如,输入数据集可以利用来自与(一个或多个)参考数据集的源不同的知识源的数据来增强。例如,可以使用诸如Word2Vec的数据分析工具来从知识源(诸如来自新闻聚合服务的文本语料库)识别与输入数据集中包括的那些语义相似的词。从知识源获得的数据可以被预处理,以生成词增强列表。然后可以将输入数据集与词增强列表进行比较,以识别相似的词。例如,利用Word2Vec,可以为包括在输入数据集602中的每个字符串识别向量。利用向量分析方法(例如,K均值聚类),可以识别来自词增强列表的“接近”输入数据集中的词的其它词。可以生成包括来自词增强列表的相似词的增强数据集。输入数据集可以用增强数据集来增强。具有增强数据的输入数据集可以用于图17中所绘出的处理的剩余部分。在一些实施例中,可以生成被用来将输入数据集与一个或多个参考数据集进行比较的数据结构。该处理可以包括生成表示要比较的一个或多个参考数据集的至少一部分的数据结构。该数据结构中的每个节点可以表示从一个或多个参考数据集提取出的一个或多个字符串中的不同字符。输入数据集可以与为其生成数据结构的一个或多个参考数据集进行比较。在步骤1706,可以为一个或多个参考数据集中的每一个计算相似性度量。相似性度量可以指示一个或多个参考数据集中的每一个与输入数据集相比较的相似性的测量。在一些实施例中,相似性度量是为一个或多个参考数据集中的每一个计算的匹配得分。例如,参考数据集的匹配得分可以利用一个或多个值来计算,其中第一个值指示关于参考数据集的度量并且第二个值指示基于输入数据集与参考数据集的比较的度量。这一个或多个值可以包括输入数据集和该数据集之间匹配的词条的频率值、该数据集的母体值、该数据集的唯一匹配值、指示输入数据集和该数据集之间匹配的不同词条数量的唯一匹配值、指示该数据集中的词条数目的域值,以及指示该数据集的策展程度的策展水平。匹配得分可以通过利用一个或多个值实现评分函数(1+c/100)*(f/p)*(log(u+1)/log(n+1))来计算。评分函数的变量可以包括表示频率值的“f”、表示策展水平的“c”、表示母体值的“p”、表示唯一匹配值的“u”和表示域值的“n”。在一些实施例中,相似性度量被计算为基于一个或多个参考数据集与输入数据集相比较的交集的基数的值。该值可以通过这个基数来规格化。该值可以减小基于一个或多个参考数据集的大小的第一因子。该值可以减小基于一个或多个参考数据集的类型的第二因子。在一些实施例中,通过确定输入数据集和参考数据集之间的余弦相似性来为一个或多个参考数据集中的每个参考数据集计算相似性度量。如上面所解释的,输入数据集和参考数据集的一个或多个词条之间的余弦度量(例如,余弦相似性或距离)可以被计算为从知识源获得的参考数据集(例如,域或属)和词条的输入数据集之间的余弦角。通过基于余弦相似性计算相似性度量,输入数据集中的每个词条可以被认为是整数值整数的分数,诸如指示该词条和候选类别之间的相似性百分比的值。在步骤1708,基于相似性度量来识别输入数据集和一个或多个参考数据集之间的匹配。在一些实施例中,识别匹配包括基于为一个或多个参考数据集中的每一个计算的相似性度量确定一个或多个参考数据集中具有最高相似度测量的参考数据。为一个或多个参考数据集中的每一个计算的相似性度量可以彼此进行比较,以识别其相似性度量指示最接近匹配的参考数据集。可以识别与具有最高值的相似性度量对应的最接近匹配。输入数据集可以被修改,以包括具有最高相似性测量的参考数据集中所包括的数据。输入数据集可以与附加数据相关联,诸如描述或标记输入数据集的词条(例如,域或类别)。附加数据可以基于参考数据集来确定,参考数据集可以被策展。附加数据可以从从其获得参考数据集的源获得。在步骤1710,可以生成指示为一个或多个参考数据集中的每一个计算的相似性度量并且指示在输入数据集和一个或多个参考数据集之间识别出的匹配的图形界面。在相似性度量是匹配得分的一些实施例中,图形界面指示被用来计算匹配得分的(一个或多个)值。在步骤1712,可以利用图形界面来呈现图形可视化。例如,可以显示图形界面,这使得呈现图形可视化。图形界面可以包含被用来确定如何呈现图形可视化的数据。在一些实施例中,图形界面可以被发送到另一设备(例如,客户端设备)用于呈现。图形可视化可以指示为一个或多个参考数据集中的每一个计算的相似性度量,并且可以指示在输入数据集和一个或多个参考数据集之间识别出的匹配。图形可视化的例子参考图5和10进行了描述。在一些实施例中,输入数据集可以与匹配信息一起存储,匹配信息指示为一个或多个参考数据集中的每一个计算的相似性度量,并且指示在输入数据集和一个或多个参考数据集之间识别出的匹配。然而在一些实施例中,流程图1700中绘出的处理可以包括在输入数据被增强之后的一个或多个附加步骤。在被增强时,输入数据集可以被用来识别与参考数据集的匹配。在这种实施例中,该处理可以包括基于一个或多个参考数据集生成索引化三字母组表。对于被增强的输入数据集中的每个词,创建用于该词的三字母组、将每个三字母组与索引化三字母组表进行比较,识别索引化三字母组表中与匹配三字母组中的第一个三字母组的三字母组相关联的词,并将该词存储在三字母组增强的数据集中。可以将三字母组增强的数据集与一个或多个参考数据集进行比较。可以基于该比较来确定三字母组增强的数据集和一个或多个参考数据集之间的匹配。在步骤1708识别输入数据集和一个或多个参考数据集之间的匹配可以包括基于比较使用三字母组增强的数据集和一个或多个参考数据集之间的匹配。流程图可以通过从一个或多个数据源接收输入数据集而在步骤1802开始。在步骤1804,输入数据集可以与由知识源存储的一个或多个数据集进行比较。输入数据集可以包括一个或多个词条。一个或多个数据集中的每一个可以包括一个或多个词条。在步骤1806,可以为与输入数据集相比较的一个或多个数据集中的每一个计算相似性度量。在一些实施例中,通过确定输入数据集和数据集之间的余弦相似性来为一个或多个数据集中的每个数据集计算相似性度量。余弦相似性可以被计算为输入数据集和与输入数据集进行比较的数据集之间的余弦角。在步骤1808,可以确定一个或多个数据集和输入数据集之间的匹配。可以基于为一个或多个数据集中的每一个计算的相似性度量来确定匹配。确定匹配可以包括识别在相似性度量集合中具有最高值的相似性度量。相似性度量集合可以包括为一个或多个数据集中的每一个计算的相似性度量。在步骤1810,可以生成图形用户界面。图形用户界面可以指示为一个或多个数据集中的每一个计算的相似性度量。图形用户界面可以指示一个或多个数据集与输入数据集之间的匹配。基于为一个或多个数据集中的每一个计算的相似性度量确定匹配。在步骤1812,图形用户界面可以被呈现,以显示为一个或多个数据集中的每一个计算的相似性度量。图形用户界面可以指示在相似性度量集合中具有最高值的相似性度量。相似性度量集合可以包括为一个或多个数据集中的每一个计算的相似性度量。图19绘出了用于实现实施例的分布式系统1900的简化图。在所示的实施例中,分布式系统1900包括一个或多个客户端计算设备1902、1904、1906和1908,其被配置为通过一个或多个网络1910执行和操作客户端应用,诸如web浏览器、专有客户端(例如OracleForms)等。服务器1912可以经由网络1910与远程客户端计算设备1902、1904、1906和1908通信地耦合。在各种实施例中,服务器1912可以适于运行一个或多个服务或软件应用,诸如提供文档(例如,网页)分析和与修改相关的处理的服务和应用。在某些实施例中,服务器1912还可以提供其它服务,或者软件应用可以包括非虚拟和虚拟环境。在一些实施例中,这些服务可以作为基于web的或云服务或者在软件即服务(SaaS)模型下提供给客户端计算设备1902、1904、1906和/或1908的用户。操作客户端计算设备1902、1904、1906和/或1908的用户可以进而利用一个或多个客户端应用与服务器1912交互,以利用由这些部件提供的服务。在图19所绘出的配置中,系统1900的软件部件1918、1920和1922被示为在服务器1912上实现。在其它实施例中,系统1900的一个或多个部件和/或由这些部件提供的服务也可以由客户端计算设备1902、1904、1906和/或1908中的一个或多个实现。操作客户端计算设备的用户然后可以利用一个或多个客户端应用来使用由这些部件提供的服务。这些部件可以用硬件、固件、软件或其组合实现。应当理解,各种不同的系统配置是可能的,其可以与分布式系统1900不同。因此,图19中所示的实施例是用于实现实施例系统的分布式系统的一个例子,并且不意在进行限制。客户端计算设备1902、1904、1906和/或1908可以包括各种类型的计算系统。例如,客户端计算设备可以包括便携式手持设备(例如,蜂窝电话、计算平板、个人数字助理(PDA))或可穿戴设备(例如,Google头戴式显示器),其运行诸如MicrosoftWindows和/或诸如iOS、WindowsPhone、Android、BlackBerry10,PalmOS等各种移动操作系统的软件。设备可以支持各种应用,诸如各种互联网相关的应用、电子邮件、短消息服务(SMS)应用,并且可以使用各种其它通信协议。客户端计算设备还可以包括通用个人计算机,作为例子,运行各种版本的MicrosoftApple和/或Linux操作系统的个人计算机和/或膝上型计算机。客户端计算设备可以是运行任何各种商用的或类UNIX操作系统(包括但不限于诸如像GoogleChromeOS的各种GNU/Linux操作系统)的工作站计算机。客户端计算设备还可以包括能够在(一个或多个)网络710上通信的电子设备,诸如瘦客户端计算机、启用互联网的游戏系统(例如,具有或不具有手势输入设备的Microsoft游戏控制台)和/或个人消息传送设备。虽然图19中的分布式系统1900被示为具有四个客户端计算设备,但是可以支持任何数量的客户端计算设备。其它设备,诸如具有传感器的设备等,可以与服务器1912交互。分布式系统1900中的(一个或多个)网络1910可以是对本领域技术人员熟悉的可以利用任何各种可用协议支持数据通信的任何类型的网络,其中各种协议包括但不限于TCP/IP(传输控制协议/互联网协议)、SNA(系统网络体系架构)、IPX(互联网分组交换)、AppleTalk等。仅仅作为例子,(一个或多个)网络1910可以是局域网(LAN)、基于以太网的网络、令牌环、广域网、互联网、虚拟网络、虚拟专用网络(VPN)、内联网、外联网、公共交换电话网络(PSTN)、红外网络、无线网络(例如,在任何电气和电子协会(IEEE)802.11协议套件、和/或任何其它无线协议下操作的网络)和/或这些和/或其它网络的任意组合。服务器1912可以由一个或多个通用计算机、专用服务器计算机(作为例子,包括PC(个人计算机)服务器、服务器、中档服务器、大型计算机、机架安装的服务器等)、服务器场、服务器集群或任何其它适当的布置和/或组合组成。服务器1912可以包括运行虚拟操作系统的一个或多个虚拟机,或涉及虚拟化的其它计算体系架构。一个或多个灵活的逻辑存储设备池可以被虚拟化,以维护用于服务器的虚拟存储设备。虚拟网络可以由服务器1912利用软件定义的联网来控制。在各种实施例中,服务器1912可以适于运行在前述公开内容中描述的一个或多个服务或软件应用。例如,服务器1912可以与根据本公开内容的实施例的用于如上所述执行处理的服务器对应。服务器1912可以运行包括以上讨论的任何操作系统的操作系统,以及任何商用的服务器操作系统。服务器1912还可以运行任何各种附加的服务器应用和/或中间层应用,包括HTTP(超文本传输协议)服务器、FTP(文件传输协议)服务器、CGI(公共网关接口)服务器、服务器、数据库服务器等。示例性数据库服务器包括但不限于可从Oracle、Microsoft、Sybase、IBM(国际商业机器)等商业获得的那些数据库服务器。在一些实现中,服务器1912可以包括一个或多个应用,以分析和整合从客户端计算设备1902、1904、1906和1908的用户接收到的数据馈送和/或事件更新。作为例子,数据馈送和/或事件更新可以包括但不限于从一个或多个第三方信息源和持续数据流接收到的馈送、更新或实时更新,其可以包括与传感器数据应用、金融报价机、网络性能测量工具(例如,网络监视和流量管理应用)、点击流分析工具、汽车流量监视等相关的实时事件。服务器1912还可以包括经由客户端计算设备1902、1904、1906和1908的一个或多个显示设备显示数据馈送和/或实时事件的一个或多个应用。分布式系统1900也可以包括一个或多个数据库1914和1916。这些数据库可以提供用于存储信息的机制,诸如用户交互信息、使用模式信息、适应规则信息以及由本发明的实施例使用的其它信息。数据库1914和1916可以驻留在各种位置中。作为例子,数据库1914和1916中的一个或多个可以驻留在服务器1912本地(和/或驻留在其中)的非暂态存储介质上。可替代地,数据库1914和1916可以远离服务器1912,并且经由基于网络的或专用的连接与服务器1912通信。在一组实施例中,数据库1914和1916可以驻留在存储区域网络(SAN)中。类似地,用于执行服务器1912所具有的功能的任何必要的文件可以适当地在服务器1912本地存储和/或远程存储。在一组实施例中,数据库1914和1916可以包括适于响应于SQL格式的命令存储、更新和检索数据的关系数据库,诸如由Oracle提供的数据库。在一些实施例中,上述文档分析和修改服务可以被提供为经由云环境的服务。图20是根据本公开内容的实施例、其中服务可以被提供为云服务的系统环境2000的一个或多个部件的简化框图。在图20所示的实施例中,系统环境2000包括可以被用户用来与提供云服务(包括用于响应于使用模式而动态修改文档(例如,网页)服务)的云基础设施系统2002交互的一个或多个客户端计算设备2004、2006和2008。云基础设施系统2002可以包括一个或多个计算机和/或服务器,其可以包括以上针对服务器1912所描述的那些。应当理解,图20中所绘出的云基础设施系统2002可以具有除所绘出的那些之外的其它部件。另外,图20中所示的实施例仅仅是可以结合本发明的实施例的云基础设施系统的一个例子。在一些其它实施例中,云基础设施系统2002可以具有比图中所示出的更多或更少的部件、可以合并两个或更多个部件、或者可以具有不同的部件配置或布置。客户端计算设备2004、2006和2008可以是与以上针对客户端计算设备1902、1904、1906和1908描述的那些设备类似的设备。客户端计算设备2004、2006和2008可以被配置为操作客户端应用,诸如web浏览器、专有客户端应用(例如,OracleForms)或可以被客户端计算设备的用户使用以与云基础设施系统2002交互来使用由云基础设施系统2002提供的服务的一些其它应用。虽然示例性系统环境2000被示为具有三个客户端计算设备,但是可以支持任何数量的客户端计算设备。诸如具有传感器的设备等的其它设备可以与云基础设施系统2002交互。(一个或多个)网络2010可以促进客户端计算设备2004、2006和2008与云基础设施系统2002之间的通信和数据交换。每个网络可以是对本领域技术人员熟悉的可以利用任何各种商用的协议支持数据通信的任何类型的网络,其中协议包括以上针对(一个或多个)网络1910所描述的协议。在某些实施例中,由云基础设施系统2002提供的服务可以包括按需对云基础设施系统的用户可用的服务的主机。除了与响应使用模式而动态文档修改有关的服务之外,也可以提供各种其它服务,包括但不限于在线数据存储和备份解决方案、基于Web的电子邮件服务、托管的办公套件和文档协作服务、数据库处理、受管理的技术支持服务等。由云基础设施系统提供的服务可以动态扩展,以满足其用户的需求。在某些实施例中,由云基础设施系统2002提供的服务的具体实例化在本文中可以被称为“服务实例”。一般而言,经由通信网络(诸如互联网)从云服务提供者的系统使得对用户可用的任何服务被称为“云服务”。通常,在公共云环境中,构成云服务提供者的系统的服务器和系统与消费者自己的本地服务器和系统不同。例如,云服务提供者的系统可以托管应用,并且用户可以经由诸如互联网的通信网络按需订购和使用应用。在一些例子中,计算机网络云基础设施中的服务可以包括对存储装置、托管的数据库、托管的web服务器、软件应用或者由云供应商向用户提供的其它服务的受保护的计算机网络访问,或者如本领域中另外已知的。例如,服务可以包括通过互联网对云上的远程存储的受密码保护的访问。作为另一个例子,服务可以包括基于web服务的托管的关系数据库和脚本语言中间件引擎,用于由联网的开发人员私人使用。作为另一个例子,服务可以包括对在云供应商的网站上托管的电子邮件软件应用的访问。在某些实施例中,云基础设施系统2002可以包括以自助服务、基于订阅、弹性可扩展、可靠、高度可用和安全的方式交付给消费者的应用套件、中间件和数据库服务产品。这种云基础设施系统的例子是由本受让人提供的OraclePublicCloud(Oracle公共云)。云基础设施系统2002还可以提供与“大数据”相关的计算和分析服务。术语“大数据”一般用来指可由分析员和研究者存储和操纵以可视化大量数据、检测趋势和/或以其它方式与数据交互的极大数据集。这种大数据和相关应用可以在许多级别和不同规模上由基础设施系统托管和/或操纵。并行链接的数十个、数百个或数千个处理器可以作用于这种数据,以便呈现其或者模拟对数据或其所表示的内容的外力。这些数据集可以涉及结构化数据,诸如在数据库中组织或以其它方式根据结构化模型组织的数据,和/或者非结构化数据(例如,电子邮件、图像、数据blob(二进制大对象)、网页、复杂事件处理)。通过利用实施例相对快速地将更多(或更少)的计算资源聚焦在目标上的能力,云基础设施系统可以更好地用于基于来自企业、政府机构、研究组织、私人个人、一群志同道合的个人或组织或其它实体的需求在大数据集上执行任务。在各种实施例中,云基础设施系统2002可以适于自动地供应、管理和跟踪消费者对由云基础设施系统2002提供的服务的订阅。云基础设施系统2002可以经由不同的部署模型提供云服务。例如,服务可以在公共云模型下提供,其中云基础设施系统2002由销售云服务的组织拥有(例如,由Oracle公司拥有)并且使服务对一般公众或不同的工业企业可用。作为另一个例子,服务可以在私有云模型下提供,其中云基础设施系统2002仅针对单个组织操作,并且可以为组织内的一个或多个实体提供服务。云服务还可以在社区云模型下提供,其中云基础设施系统2002和由云基础设施系统2002提供的服务由相关社区中的若干个组织共享。云服务还可以在混合云模型下提供,混合云模型是两个或更多个不同模型的组合。在一些实施例中,由云基础设施系统2002提供的服务可以包括在软件即服务(SaaS)类别、平台即服务(PaaS)类别、基础设施即服务(IaaS)类别、或包括混合服务的服务的其它类别下提供的一个或多个服务。消费者经由订阅订单可以订购由云基础设施系统2002提供的一个或多个服务。云基础设施系统2002然后执行处理,以提供消费者的订阅订单中的服务。在一些实施例中,由云基础设施系统2002提供的服务可以包括但不限于应用服务、平台服务和基础设施服务。在一些例子中,应用服务可以由云基础设施系统经由SaaS平台提供。SaaS平台可以被配置为提供属于SaaS类别的云服务。例如,SaaS平台可以提供在集成的开发和部署平台上构建和交付点播应用套件的能力。SaaS平台可以管理和控制用于提供SaaS服务的底层软件和基础设施。通过利用由SaaS平台提供的服务,消费者可以利用在云基础设施系统上执行的应用。消费者可以获取应用服务,而无需消费者单独购买许可证和支持。可以提供各种不同的SaaS服务。例子包括但不限于为大型组织提供用于销售绩效管理、企业集成和业务灵活性的解决方案的服务。在一些实施例中,平台服务可以由云基础设施系统2002经由PaaS平台提供。PaaS平台可以被配置为提供属于PaaS类别的云服务。平台服务的例子可以包括但不限于使组织(诸如Oracle)能够在共享的共同体系架构上整合现有应用的服务,以及利用由平台提供的共享服务构建新应用的能力。PaaS平台可以管理和控制用于提供PaaS服务的底层软件和基础设施。消费者可以获取由云基础设施系统2002提供的PaaS服务,而无需消费者购买单独的许可证和支持。平台服务的例子包括但不限于OracleJava云服务(JCS)、Oracle数据库云服务(DBCS)以及其它。通过利用由PaaS平台提供的服务,消费者可以采用由云基础设施系统支持的编程语言和工具,并且还控制所部署的服务。在一些实施例中,由云基础设施系统提供的平台服务可以包括数据库云服务、中间件云服务(例如,OracleFusionMiddleware服务)和Java云服务。在一种实施例中,数据库云服务可以支持共享服务部署模型,其使得组织能够汇集数据库资源并且以数据库云的形式向消费者提供数据库即服务。中间件云服务可以为消费者提供开发和部署各种业务应用的平台,以及Java云服务可以在云基础设施系统中为消费者提供部署Java应用的平台。可以由云基础设施系统中的IaaS平台提供各种不同的基础设施服务。基础设施服务促进底层计算资源(诸如存储装置、网络和其它基本计算资源)的管理和控制,以便消费者利用由SaaS平台和PaaS平台提供的服务。在某些实施例中,云基础设施系统2002还可以包括基础设施资源2030,用于提供用来向云基础设施系统的消费者提供各种服务的资源。在一种实施例中,基础设施资源2030可以包括执行由PaaS平台和SaaS平台提供的服务的硬件(诸如服务器、存储装置和联网资源)的预先集成和优化的组合,以及其它资源。在一些实施例中,云基础设施系统2002中的资源可以由多个用户共享并且按需动态地重新分配。此外,资源可以分配给在不同时区中的用户。例如,云基础设施系统2002可以使第一时区内的第一用户集合能够利用云基础设施系统的资源指定的小时数,然后使得能够将相同资源重新分配给位于不同时区中的另一用户集合,从而最大化资源的利用率。在某些实施例中,可以提供由云基础设施系统2002的不同部件或模块共享,以使得能够由云基础设施系统2002供应服务的多个内部共享服务2032。这些内部共享服务可以包括,但不限于,安全和身份服务、集成服务、企业储存库服务、企业管理器服务、病毒扫描和白名单服务、高可用性、备份和恢复服务、用于启用云支持的服务、电子邮件服务、通知服务、文件传输服务等。在某些实施例中,云基础设施系统2002可以在云基础设施系统中提供云服务(例如,SaaS、PaaS和IaaS服务)的综合管理。在一种实施例中,云管理功能可以包括用于供应、管理和跟踪由云基础设施系统2002等接收到的消费者的订阅的能力。在一种实施例中,如图20中所绘出的,云管理功能可以由诸如订单管理模块2020、订单编排模块2022、订单供应模块2024、订单管理和监视模块2026以及身份管理模块2028的一个或多个模块提供。这些模块可以包括或可以利用一个或多个计算机和/或服务器提供,该一个或多个计算机和/或服务器可以是通用计算机、专用服务器计算机、服务器场,服务器集群或任何其它适当的布置和/或组合。在示例性操作中,在2034,使用客户端设备(诸如客户端设备2004、2006或2008)的消费者可以通过请求由云基础设施系统2002提供的一个或多个服务并且对由云基础设施系统2002提供的一个或多个服务的订阅下订单来与云基础设施系统2002交互。在某些实施例中,消费者可以访问诸如云UI2012、云UI2014和/或云UI2016的云用户界面(UI)并经由这些UI下订阅订单。响应于消费者下订单而由云基础设施系统2002接收到的订单信息可以包括识别消费者和消费者打算订阅的由云基础设施系统2002提供的一个或多个服务的信息。在2036,从消费者接收到的订单信息可以存储在订单数据库2018中。如果这是新的订单,则可以为该订单创建新的记录。在一种实施例中,订单数据库2018可以是由云基础设施系统2018操作以及与其它系统元素结合操作的若干数据库当中的一个。在2038,订单信息可以被转发到订单管理模块2020,订单管理模块2020可以被配置为执行与订单相关的计费和记帐功能,诸如验证订单,并且在通过验证时,预订订单。在2040,关于订单的信息可以被传送到订单编排模块2022,订单编排模块2022被配置为编排用于由消费者下的订单的服务和资源的供应。在一些情况下,订单编排模块2022可以使用订单供应模块2024的服务用于供应。在某些实施例中,订单编排模块2022使得能够管理与每个订单相关联的业务处理,并且应用业务逻辑来确定订单是否应当继续供应。如图20中绘出的实施例所示,在2042,在接收到新订阅的订单时,订单编排模块2022向订单供应模块2024发送分配资源和配置履行订购订单所需的资源的请求。订单供应模块2024使得能够为由消费者订购的服务分配资源。订单供应模块2024提供由云基础设施系统2000提供的云服务和用来供应用于提供所请求的服务的资源的物理实现层之间的抽象级别。这使得订单编排模块2022能够与实现细节隔离,诸如服务和资源是否实际上实时供应,或者预先供应并且仅在请求时才进行分配/指定。在2044,一旦供应了服务和资源,就可以向订阅的消费者发送指示所请求的服务现在已准备好用于使用的通知。在一些情况下,可以向消费者发送使得消费者能够开始使用所请求的服务的信息(例如,链接)。在2046,可以由订单管理和监视模块2026来管理和跟踪消费者的订阅订单。在一些情况下,订单管理和监视模块2026可以被配置为收集关于消费者使用所订阅的服务的使用统计。例如,可以针对所使用的存储量、所传送的数据量、用户的数量以及系统启动时间和系统停机时间的量等来收集统计数据。在某些实施例中,云基础设施系统2000可以包括身份管理模块2028,其被配置为提供身份服务,诸如云基础设施系统2000中的访问管理和授权服务。在一些实施例中,身份管理模块2028可以控制关于希望利用由云基础设施系统802提供的服务的消费者的信息。这种信息可以包括认证这些消费者的身份的信息和描述那些消费者被授权相对于各种系统资源(例如,文件、目录、应用、通信端口、存储器段等)执行的动作的信息。身份管理模块2028还可以包括关于每个消费者的描述性信息以及关于如何和由谁来访问和修改描述性信息的管理。图21示出了可以被用来实现本发明的实施例的示例性计算机系统2100。在一些实施例中,计算机系统2100可以被用来实现上述任何各种服务器和计算机系统。如图21所示,计算机系统2100包括各种子系统,包括经由总线子系统2102与多个外围子系统通信的处理单元2104。这些外围子系统可以包括处理加速单元2106、I/O子系统2108、存储子系统2118和通信子系统2124。存储子系统2118可以包括有形的计算机可读存储介质2122和系统存储器2110。总线子系统2102提供用于使计算机系统2100的各种部件和子系统按照期望彼此通信的机制。虽然总线子系统2102被示意性地示为单条总线,但是总线子系统的可替代实施例可以利用多条总线。总线子系统2102可以是若干种类型的总线结构中的任何一种,包括存储器总线或存储器控制器、外围总线和利用任何各种总线体系架构的局部总线。例如,此类体系架构可以包括工业标准体系架构(ISA)总线、微通道体系架构(MCA)总线、增强型ISA(EISA)总线、视频电子标准协会(VESA)局部总线和外围部件互连(PCI)总线,其可以实现为根据IEEEP1386.1标准制造的夹层(Mezzanine)总线,等等。处理子系统2104控制计算机系统2100的操作并且可以包括一个或多个处理单元2132、2134等。处理单元可以包括一个或多个处理器,其中包括单核或多核处理器、处理器的一个或多个核、或其组合。在一些实施例中,处理子系统2104可以包括一个或多个专用协处理器,诸如图形处理器、数字信号处理器(DSP)等。在一些实施例中,处理子系统2104的处理单元中的一些或全部可以利用定制电路来实现,诸如专用集成电路(ASIC)或现场可编程门阵列(FPGA)。在一些实施例中,处理子系统2104中的处理单元可以执行存储在系统存储器2110中或计算机可读存储介质2122上的指令。在各种实施例中,处理单元可以执行各种程序或代码指令,并且可以维护多个并发执行的程序或进程。在任何给定的时间,要执行的程序代码中的一些或全部可以驻留在系统存储器2110中和/或计算机可读存储介质2122上,潜在地包括在一个或多个存储设备上。通过适当的编程,处理子系统2104可以提供上述用于响应于使用模式而动态修改文档(例如,网页)的各种功能。在某些实施例中,可以提供处理加速单元2106,用于执行定制的处理或用于卸载由处理子系统2104执行的一些处理,以便加速由计算机系统2100执行的整体处理。I/O子系统2108可以包括用于向计算机系统2100输入信息和/或用于从或经由计算机系统2100输出信息的设备和机制。一般而言,术语“输入设备”的使用意在包括用于向计算机系统2100输入信息的所有可能类型的设备和机制。用户接口输入设备可以包括,例如,键盘、诸如鼠标或轨迹球的指示设备、结合到显示器中的触摸板或触摸屏、滚轮、点拨轮、拨盘、按钮、开关、键板、具有语音命令识别系统的音频输入设备、麦克风以及其它类型的输入设备。用户接口输入设备也可以包括使用户能够控制输入设备并与其交互的诸如Microsoft运动传感器的运动感测和/或姿势识别设备、Microsoft360游戏控制器、提供用于接收利用姿势和口语命令的输入的接口的设备。用户接口输入设备也可以包括眼睛姿势识别设备,诸如从用户检测眼睛活动(例如,当拍摄图片和/或进行菜单选择时的“眨眼”)并将眼睛姿势转换为到输入设备(例如,Google)中的输入的Google眨眼检测器。此外,用户接口输入设备可以包括使用户能够通过语音命令与语音识别系统(例如,导航器)交互的语音识别感测设备。用户接口输入设备的其它例子包括但不限于,三维(3D)鼠标、操纵杆或指示杆、游戏板和图形平板、以及音频/视频设备,诸如扬声器、数字相机、数字摄像机、便携式媒体播放器、网络摄像机、图像扫描仪、指纹扫描仪、条形码读取器3D扫描仪、3D打印机、激光测距仪、以及眼睛注视跟踪设备。此外,用户接口输入设备可以包括,例如,医疗成像输入设备,诸如计算机断层摄影、磁共振成像、位置发射断层摄影、医疗超声检查设备。用户接口输入设备也可以包括,例如,音频输入设备,诸如MIDI键盘、数字乐器等。用户接口输出设备可以包括显示子系统、指示器灯或诸如音频输出设备的非可视显示器等。显示子系统可以是阴极射线管(CRT)、诸如利用液晶显示器(LCD)或等离子体显示器的平板设备、投影设备、触摸屏等。一般而言,术语“输出设备”的使用意在包括用于从计算机系统2100向用户或其它计算机输出信息的所有可能类型的设备和机制。例如,用户接口输出设备可以包括但不限于,可视地传达文本、图形和音频/视频信息的各种显示设备,诸如监视器、打印机、扬声器、耳机、汽车导航系统、绘图仪、语音输出设备和调制解调器。存储子系统2118提供用于存储由计算机系统2100使用的信息的储存库或数据存储库。存储子系统2118提供有形非暂态计算机可读存储介质,用于存储提供一些实施例的功能的基本编程和数据结构。当由处理子系统2104执行时提供上述功能的软件(程序、代码模块、指令)可以存储在存储子系统2118中。软件可以由处理子系统2104的一个或多个处理单元执行。存储子系统2118也可以提供用于存储根据本发明使用的数据的储存库。存储子系统2118可以包括一个或多个非暂态存储器设备,包括易失性和非易失性存储器设备。如图21所示,存储子系统2118包括系统存储器2110和计算机可读存储介质2122。系统存储器2110可以包括多个存储器,包括用于在程序执行期间存储指令和数据的易失性主随机存取存储器(RAM)和其中存储固定指令的非易失性只读存储器(ROM)或闪存存储器。在一些实现中,包含帮助在诸如启动期间在计算机系统2100内的元件之间传送信息的基本例程的基本输入/输出系统(BIOS)通常可以存储在ROM中。RAM通常包含当前由处理子系统2104操作和执行的数据和/或程序模块。在一些实现中,系统存储器2110可以包括多个不同类型的存储器,诸如静态随机存取存储器(SRAM)或动态随机存取存储器(DRAM)。作为例子而非限制,如在图21中所绘出的,系统存储器2110可以存储应用程序2112,其可以包括客户端应用、Web浏览器、中间层应用、关系数据库管理系统(RDBMS)等、程序数据2114和操作系统2116。作为例子,操作系统2116可以包括各种版本的MicrosoftApple和/或Linux操作系统、各种商用或类UNIX操作系统(包括但不限于各种GNU/Linux操作系统、GoogleOS等)和/或诸如iOS、Phone、OS、8OS和OS操作系统的移动操作系统。计算机可读存储介质2122可以存储提供一些实施例的功能的编程和数据结构。当由处理子系统2104执行时使处理器提供上述功能的软件(程序、代码模块、指令)可以存储在存储子系统2118中。作为例子,计算机可读存储介质2122可以包括非易失性存储器,诸如硬盘驱动器、磁盘驱动器、诸如CDROM、DVD、(蓝光)盘或其它光学介质的光盘驱动器。计算机可读存储介质2122可以包括但不限于,驱动器、闪存存储器卡、通用串行总线(USB)闪存驱动器、安全数字(SD)卡、DVD盘、数字视频带等。计算机可读存储介质2122也可以包括基于非易失性存储器的固态驱动器(SSD),诸如基于闪存存储器的SSD、企业闪存驱动器、固态ROM等,基于易失性存储器的SSD,诸如固态RAM、动态RAM、静态RAM、基于DRAM的SSD、磁阻RAM(MRAM)SSD、以及使用DRAM和基于闪存存储器的SSD的组合的混合SSD。计算机可读介质2122可以为计算机系统2100提供计算机可读指令、数据结构、程序模块和其它数据的存储。在某些实施例中,存储子系统2100也可以包括计算机可读存储介质读取器2120,其可以进一步连接到计算机可读存储介质2122。可选地,与系统存储器2110一起和组合,计算机可读存储介质2122可以全面地表示远程、本地、固定和/或可移动存储设备加上用于存储计算机可读信息的存储介质。在某些实施例中,计算机系统2100可以提供对执行一个或多个虚拟机的支持。计算机系统2100可以执行诸如管理程序的程序,以便促进虚拟机的配置和管理。每个虚拟机可以被分配存储器、计算(例如,处理器、内核)、I/O和联网资源。每个虚拟机通常运行其自己的操作系统,其可以与由计算机系统2100执行的其它虚拟机执行的操作系统相同或不同。相应地,多个操作系统可以潜在地由计算机系统2100并发地运行。每个虚拟机一般独立于其它虚拟机运行。通信子系统2124提供到其它计算机系统和网络的接口。通信子系统2124用作用于从计算机系统2100的其它系统接收数据和向其发送数据的接口。例如,通信子系统2124可以使计算机系统2100能够经由互联网建立到一个或多个客户端设备的通信信道,用于从客户端设备接收信息和发送信息到客户端设备。通信子系统2124可以支持有线和/或无线通信协议两者。例如,在某些实施例中,通信子系统2124可以包括用于接入无线语音和/或数据网络(例如,利用蜂窝电话技术、诸如3G、4G或EDGE(全球演进的增强数据速率)的高级数据网络技术)的射频收发器部件、WiFi(IEEE802.11族标准、或其它移动通信技术、或其任意组合)、全球定位系统(GPS)接收器部件和/或其它部件。在一些实施例中,作为无线接口的附加或替代,通信子系统2124可以提供有线网络连接(例如,以太网)。通信子系统2124可以以各种形式接收和发送数据。例如,在一些实施例中,通信子系统2124可以以结构化和/或非结构化的数据馈送2126、事件流2128、事件更新2130等形式接收输入通信。例如,通信子系统2124可以被配置为实时地从社交媒体网络的用户和/或诸如馈送、更新、诸如丰富化站点摘要(RSS)馈送的web馈送的其它通信服务接收(或发送)数据馈送2126,和/或来自一个或多个第三方信息源的实时更新。在某些实施例中,通信子系统2124可以被配置为以连续数据流的形式接收本质上可能是连续的或无界的没有明确结束的数据,其中连续数据流可以包括实时事件的事件流2128和/或事件更新2130。生成连续数据的应用的例子可以包括例如传感器数据应用、金融报价机、网络性能测量工具(例如网络监视和流量管理应用)、点击流分析工具、汽车流量监视等。通信子系统2124也可以被配置为向一个或多个数据库输出结构化和/或非结构化的数据馈送2126、事件流2128、事件更新2130等,其中所述一个或多个数据库可以与耦合到计算机系统2100的一个或多个流数据源计算机通信。计算机系统2100可以是各种类型中的一种,包括手持便携式设备(例如,蜂窝电话、计算平板、PDA)、可穿戴设备(例如,Google头戴式显示器)、个人计算机、工作站、大型机、信息站、服务器机架或任何其它数据处理系统。由于计算机和网络不断变化的性质,对图21中绘出的计算机系统2100的描述意在仅仅作为具体例子。具有比图21中所绘出的系统更多或更少部件的许多其它配置是可能的。基于本文所提供的公开内容和教导,本领域普通技术人员将理解实现各种实施例的其它方式和/或方法。在本发明的一个实施例中,提供了一种数据丰富化系统。数据丰富化系统可在包括计算系统的云计算环境中执行,其中数据丰富化系统经至少一个通信网络通信耦合到多个输入数据源(例如,如图1中所示的数据源104)。数据丰富化系统包括匹配部分、相似性度量部分和分类部分。匹配部分、相似性度量部分和分类部分可以是例如分别如图3中所示的匹配模块312、相似性度量模块314和分类部分318。匹配部分被配置为将从多个输入数据源接收的输入数据集与从参考源(例如,图3中所示的知识源340)获得的一个或多个参考数据集进行比较。相似性度量部分被配置为为一个或多个参考数据集中的每一个计算相似性度量,相似性度量指示一个或多个参考数据集中的每一个与输入数据集相比较的相似性的测量,并且被配置为基于相似性度量来识别输入数据集和一个或多个参考数据集之间的匹配。分类部分被配置为生成图形界面,该图形界面指示为一个或多个参考数据集中的每一个计算的相似性度量,并且指示在输入数据集和一个或多个参考数据集之间识别出的匹配。此外,利用用户界面呈现指示为一个或多个参考数据集中的每一个计算的相似性度量并且指示在输入数据集和一个或多个参考数据集之间识别出的匹配的图形可视化。在本发明的一个实施例中,数据丰富化系统还包括知识评分部分,其可以例如与如图3中所示的知识评分模块316对应。在本发明的一个实施例中,一个或多个参考数据集包括与域相关联的词条,并且相似性度量是为一个或多个参考数据集中的每一个计算的匹配得分,匹配得分由知识评分部分利用一个或多个值来计算,这一个或多个值包括指示关于参考数据集的度量的第一值和指示基于将输入数据集与参考数据集进行比较的度量的第二值,并且图形可视化被呈现,以指示被用来计算匹配得分的一个或多个值。在本发明的一个实施例中,一个或多个值包括输入数据集和该数据集之间匹配的词条的频率值、该数据集的母体值、指示输入数据集和该数据集之间匹配的不同词条的数量的唯一匹配值、指示该数据集中的词条的数量的域值,以及指示该数据集的策展程度的策展水平。在本发明的一个实施例中,分类部分还被配置为基于从聚合服务获得的增强数据来生成增强列表;基于增强列表增强输入数据集;基于一个或多个参考数据集生成索引化三字母组表;对于增强之后的输入数据集中的每个词:为该词创建三字母组;将每个三字母组与索引化三字母组表进行比较;识别索引化三字母组表中与匹配三字母组中的第一三字母组的三字母组相关联的的词;并将该词存储在三字母组增强的数据集中;将三字母组增强的数据集与一个或多个参考数据集进行比较;以及基于比较确定三字母组增强的数据集和一个或多个参考数据集之间的匹配。与一个或多个参考数据集进行比较的输入数据基于增强列表被增强,并且识别输入数据集和一个或多个参考数据集之间的匹配利用三字母组增强的数据集和一个或多个参考数据集之间基于所述比较的匹配来执行。在本发明的一个实施例中,提供了另一个数据丰富化系统。该数据丰富化系统可在包括计算系统的云计算环境中执行,其中数据丰富化系统经至少一个通信网络通信耦合到多个输入数据源(例如,如图1中所示的数据源104)。数据丰富化系统包括匹配部分和相似性度量部分。匹配部分和相似性度量部分可以是例如分别如图3中所示的匹配模块312和相似性度量模块314。匹配部分被配置为将从多个输入数据源接收的输入数据集与从参考源(例如,图3中所示的知识源340)获得的一个或多个参考数据集进行比较。相似性度量部分被配置为为一个或多个参考数据集中的每一个计算相似性度量,相似性度量指示一个或多个参考数据集中的每一个与输入数据集相比较的相似性的测量,并且被配置为基于相似性度量来识别输入数据集和一个或多个参考数据集之间的匹配。输入数据集与匹配信息一起存储,其中匹配信息指示为一个或多个参考数据集中的每一个计算的相似性度量,并且指示在输入数据集和一个或多个参考数据集之间识别出的匹配。在本发明的一个实施例中,数据丰富化系统还包括分类部分,其可以例如与图3中所示的分类模块318对应。分类部分被配置为基于识别输入数据集和一个或多个参考数据集之间的匹配来识别输入数据集的类别标签,并且输入数据集与类别标签相关联地存储。在本发明的一个实施例中,利用Jaccard指数、Tversky指数或Dice-Sorensen指数中的一个或多个来计算相似性度量。在本发明的一个实施例中,利用图匹配或语义相似性匹配中的一个或多个将输入数据集与一个或多个参考数据集进行比较。对于本领域技术人员显而易见的是,对于上述单元/模块(例如,引擎)的特定操作处理,可以参考共享相同概念的相关方法/系统实施例中的对应步骤/部件并且参考也被视为相关单元/模块的公开。因此,为了方便和描述的简洁,将不再重复或详细地描述一些特定的操作处理。对于本领域技术人员来说显而易见的是,单元/模块可以以软件、硬件或软件和硬件的组合的方式在电子设备中实现。被描述为单独部件的部件可以或可以不物理分离。特别地,根据本发明的每个实施例的部件可以集成在一个物理部件中,或者可以存在于各种单独的物理部件中。电子设备中单元的各种实现全都包括在本发明的保护范围之内。应当理解,单元、装置和设备可以以已知的或未来开发的软件、硬件和/或这种软件和硬件的组合的形式来实现。对于本领域技术人员来说显而易见的是,图3中所描述的操作可以以软件、硬件和/或这种软件和硬件的组合的形式来实现,这取决于特定的应用环境。对于本领域技术人员来说显而易见的是,至少一些步骤可以通过在通用处理器中运行指令来实现,其中指令存储在存储器中。对于本领域技术人员来说显而易见的是,至少一些步骤还可以由各种硬件来实现,包括但不限于DSP、FPGA、ASIC等。例如,一些实施例中的“操作”可以由CPU中运行的指令或者由专用处理器(诸如实现“操作”的功能的DSP、FPGA、ASIC)实现。虽然已经描述了本发明的具体实施例,但是各种修改、更改、替代构造和等效物也包含在本发明的范围之内。本发明的实施例不限于在某些特定数据处理环境内的操作,而是可以在多个数据处理环境内自由操作。此外,虽然已利用特定系列的事务和步骤描述了本发明的实施例,但是,对本领域技术人员应当显而易见,本发明的范围不限于所描述系列的事务和步骤。上述实施例的各种特征和方面可以被单独或结合使用。另外,虽然已经利用硬件和软件的特定组合描述了本发明的实施例,但是应当认识到,硬件和软件的其它组合也在本发明的范围之内。本发明的实施例可以只用硬件、或只用软件、或利用其组合来实现。本文描述的各种处理可以在同一处理器或以任何组合的不同处理器上实现。相应地,在部件或模块被描述为被配置为执行某些操作的情况下,这种配置可以例如通过设计电子电路来执行操作、通过对可编程电子电路(诸如微处理器)进行编程来执行操作、或其任意组合来实现。进程可以利用各种技术来通信,包括但不限于用于进程间通信的常规技术,并且不同的进程对可以使用不同的技术,或者同一对进程可以在不同时间使用不同的技术。相应地,说明书和附图应当在说明性而不是限制性的意义上考虑。但是,将显而易见的是,在不背离权利要求中阐述的更广泛精神和范围的情况下,可以对其进行添加、减少、删除和其它修改和改变。因此,虽然已描述了具体的发明实施例,但是这些实施例不意在进行限制。各种修改和等效物都在以下权利要求的范围之内。修改包括所公开的特征的任何相关组合。本文所述的数据丰富化服务也被称为IMI、ODECS,和/或大数据准备。当前第1页1 2 3