一种基于实例的数据转换方法

发布日期:2022年7月12日
一种基于实例的数据转换方法 一种基于实例的数据转换方法

本内容试读结束

下载后可阅读完整内容,立即下载

Web中包含大量有用的信息,但由于它们是半结构化的,非专家用户在进行数据转换和集成时不能很好地利用。为此本文提出了一种基于实例的数据转换方法,用户只需要提供适当的输入–输出示例就可以得到所需的转换。首先,利用基于序列比对的模式距离度量方法依据用户提供的示例生成代表性示例;其次,提出了一种基于信息熵的代码分析方法,利用该方法与代表性示例结合来筛选与转换任务相关的候选函数;最后,通过函数排名将相关函数先进行列转换,再行合成与所有示例一致的数据转换程序。本文利用房地产领域数据集进行了实验评估,结果表明,该方法可以处理目前许多现有系统不支持的常见转换,并且能够实现实验系统中近80%的数据转换,其准确率远高于其他同类型系统。

在Web 数据集成过程中,数据通常是半结构化的状态,而数据转换(Data Transformation)是将数据从一种表现形式变为另一种表现形式的过程。用户在进行数据分析之前,通常需要对不同来源收集的原始数据进行预处理,其中包括数据清洗、数据归约、数据转换等。研究表明,数据分析师要花费近80%的时间在数据准备上[1],这对用户来说不仅困难而且耗时。为了解决这种现状,本文提出了一种基于实例的数据转换方法,它允许最终用户仅通过几个示例来实现数据转换,这种方法称为范例编程(PBE) [2]。

PBE 的好处[3]在于用户不必学习一种编程语言就可以自动的完成一些重复性的任务,并且用户是通过一个他所熟悉的界面将任务演示给系统的。

FlashFill [4]也使用这种范例进行数据转换, 取得了很大的成功。

但FlashFill 是由领域特定语言(DSL)中预定义的少量字符串原语组成, 表达性具有一定的限制。

与现有的PBE 系统相比,本文提出的方法可以从更大的搜索空间(成千上万个函数)中合成数据转换程序。

1.1. 主要实例 本文引用了实际项目中的城市房地产大数据,该数据是利用网络爬虫从各城市房地产交易备案信息网站所爬取,并经过数据集成处理的真实数据。图1 给出了一个示例数据集,来自相同列的值是高度异构的,当数据来自不同的源,或者手动输入,这种情况经常发生。如果数据分析师想要找出某个月中哪一处房产销售最好,并不能通过执行一个SQL 语句查询找到它。再比如说分析师可能想要根据城市或区域(从地址中提取)分析销售情况,这都需要非常复杂的数据转换。

Figure 1. Urban real estate transaction data with heterogeneous values 图1. 具有异构值的城市房地产交易数据



相关标签