结构化数据不应该被人工智能忘之脑后 !

来源:Ihab Ilyas

在处理非结构化数据的问题上,人工智能和深度学习方法一直都表现出众且广为人知,无论是在自然语言处理、知识库自动构建,还是图像视频的识别和生成应用中,都有很多成熟案例。

然而对于结构化数据的研究,似乎已经被人工智能和深度学习忘之脑后。

结构化数据普遍存在于各类商业应用软件和系统中,例如产品数据存储、交易日志、ERP和CRM系统中都存在大量结构化数据,这些结构化数据仍应用着陈旧的数据技术处理,如基于规则的系统,决策树等。这样的方法需要人工进行特征提取,操作繁琐且需要耗费大量人力进行数据标签。

虽然人工智能的最新发展已经从非结构化数据中挖掘出了巨大价值,但对结构化数据而言,其研究和应用也是不可忽视的,因为结构化数据对于驱动企业的业务发展、营收、数据安全以及数据治理方面都有着重大意义。

不同于非结构化数据,结构化数据的AI研究一直存在着一个巨大的挑战,那就是其对于数据质量的高度敏感性。

对于非结构化数据而言,人们或许可以接受分辨率不高的视频,略带瑕疵的图像识别。但对于拥有大量结构化数据的大型企业来说,其核心业务数据是不容许有丝毫差错的。比如对于制药公司来说,药品的剂量、价格和数量即使出现细微的数据错误,都有可能带来巨大的灾难。

研究这些核心业务数据(结构化数据)在人工智能上的应用,是具有极大价值的,但受限于数据质量的高要求,大型企业在这类研究上举步维艰。尽管人工智能在结构化数据上的应用研究已经有数十年的时间,但目前仍进展甚微。 

数据背后的业务复杂性,基于特定规则和逻辑的系统复杂性,需要人工介入的数据清洗和准备工作的高成本,都阻碍着这一研究的发展。要在结构化数据AI应用上有所成果,首先需要解决人工数据清洗和准备的问题,找到极少或者没有人为干预的自动化方法,才能使得这一应用可落地可拓展。

这也是为什么机器学习方法能适用于结构化数据准备和清洗的原因,最终的解决方案需要能够提取企业数据特征并且理解毫不相干的数据上下文,能够从大量数据集中训练出模型,预测数据质量,甚至能提出数据质量的修复建议。

 将这样的模型应用于数据准备和清洗中,可以解决结构化数据长期以来存在的问题 —— 需要大量人工介入的数据准备和清洗工作。这样的解决方案有以下的要求:

  • 可以将业务规则在内的所有信号和上下文,函数依赖和键等约束条件以及数据的统计属性进行组合。

  • 能够避免构建大量的规则,同时可以兼容极端情况。在许多情况下,结构化数据中的规则管理比清洗噪音数据更具挑战性,成本更高。

  • 最终,模型所提供的预测应用于标准的数据质量测试中,能够传达一种 “信心”:模型的预测能够解决大多数情况,而人工,只需要专注去处理特殊的案例。

虽然结构化数据在AI应用的研究中困难重重,研究者们还是找到了一些方法并有所进展。处理结构化数据并不仅仅依赖于数据本身的特征(稀疏,异构,丰富的语义和领域知识),数据表集合 (列名,字段类型,域和各种完整性约束等)可以解码各数据块之间的语义和可能存在的交互的重要信息。

举个例子,两个不同的城市不可能都对应相同的邮政编码,一个项目的总预算不可能超过其计划的开支。这都是可以明确提供的条件约束,这些条件约束增强了机器学习模型在结构化数据处理上的能力,而不仅仅是做统计分析。

处理结构化数据的其中一大挑战在于,结构化数据可能是异构的,同时组合了不同类型的数据结构,例如文本数据、定类数据、数字甚至图像数据。其次,数据表有可能非常稀疏。想象一个100列的表格,每列都有10到1000个可能值(例如制造商的类型,大小,价格等),行则有几百万行。由于只有一小部分列值的组合有意义,可以想象,这个表格可能的组合空间有多么“空”。

如果没有任何结构、领域知识和条件约束,就很难了解数据如何生成及其准确性。因此,在构建结构化数据准备和清洗的解决方案过程中,可总结出存在的三个主要挑战:

  • 如何将背景知识转化为模型输入,以解决数据稀疏性和异构性带来的挑战?在预测某个列中的值时,我们如何在机器学习模型中传递关键约束、函数依赖关系、否定约束和其他复杂的完整性逻辑作为模型输入?

  • 在训练数据有限且存在脏数据,甚至有时都没有训练数据的情况下如何学习模型呢?以识别结构化数据错误的模型为例,该模型查找各种数据错误,包括错别字、缺失值、错误值、矛盾事实、数据错位等问题。使用非常有限的可用错误样本和可用数据中存在的这些错误来训练这样的模型,就是需要克服的挑战。

  • 模型如何拓展到大规模应用?如何能支撑上百万个的随机变量?如果把实验条件下训练出来的模型,直接应用到复杂商业环境中的结构化数据,毫无疑问,结果肯定是失败的。 

对此,滑铁卢大学教授 Ihab Ilyas开发了一个用于结构化数据的AI平台——inductiv,训练模型理解数据的生成和“污染”过程。inductiv可用于结构化数据的准备和清洗,例如错误检测、预测缺失值、错误校正、空值补齐、数据融合等。Inductiv归属于学术开源项目HoloClean(www.holoclean.io),该项目是 Ihab Ilyas 团队在2017年与滑铁卢大学、威斯康星大学麦迪逊分校和斯坦福大学合作启动的。 

1、将数据清洗视为一个AI任务

HoloClean采用经典的噪声通道模型来学习数据的生成和“污染”过程。完整的研究论文:https://cs.uwaterloo.ca/~ilyas/papers/DeSaICDT2019.pdf。 

HoloClean利用所有已知的领域知识(例如规则)、数据中的统计信息以及其他可信任来源作为属性,来构建复杂的数据生成和错误检测模型,此模型可用于发现错误并能够提供修复建议,给出最有可能的替换值。

图 1: “干净”的数据是按照一定的生成过程生成的。作者也观察到了脏数据的生成过程 。通过建模和参数化,我们将数据清理转变为了一个推断问题。 

虽然这样的模型已经帮助我们将数据清理和数据错误检测问题转变为机器学习中的推理问题,但要训练出表达力足够强,能够将应用规模化的模型,还是极有难度的。 

2、构建数据错误检测的解决方案

针对上文提到的挑战,如何使用很少的样本数据进行训练的问题, Ihab Ilyas 在论文中提出了解决方案。

  • Ÿ模型。数据错误的异构性和异构性带来的其他影响,导致很难找到适合的统计特征和完整性约束作为属性,来帮助区分错误值和正确值。这些属性对应着数据库的属性级、元组级和数据集级的特征,而这些特征都是用来表示数据分布的。图2中描述的模型学习了一个表示层,该层通过捕获这些多级特征,来学习应用于错误检测的二分类器。

  • Ÿ数据不平衡。数据错误的种类非常多,但通常样本数据中出现的错误数据是很少的,因此机器学习算法在面对不平衡的数据集时,训练出来的结果通常不太乐观。因此,不常见的数据错误,其特征经常被识别为噪音,因此被忽略。与常见数据错误相比,不常见的数据错误其识别的错误率很高。如图3,我们提出了应用“数据扩增强”方法,按照学习到的错误生成策略来制造许多“伪”错误,使用少量的真实数据错误来学习策略参数。当样本的错误数据有限时,这一方法可以用于增加错误数据在样本数据中的分布。

图2:多级特征的错误检测模型

图3:使用生成错误示例的策略来解决训练数据类别不均衡的问题

3、inductiv 引擎:现代 AI在结构化数据中的应用 

诸如数据准备、数据清洗、错误检测和缺失值填补之类的数据问题,都可以应用一个统一的、可规模化的推理引擎进行建模。这样的引擎要求能够对“结构化”数据的生成以及错误的产生进行建模。更重要的是,结合上文提到的各种挑战,这一模型还需要纳入一些现代机器学习原理: 

  • 用于生成训练数据的Ÿ数据增强和数据编程

  • 目标列/值建模所需要的各种上下文的表示,例如学习异构数据的嵌入空间

  • 自我监督学习,尽可能利用所有数据。比如使用其他值来重建某些观察到的数据值

  • 将领域知识和规则输入到模型中,扩展模型的表达能力

  • 进行一些系统级别的优化,例如学习数据分区和本地索引,以完善模型的可拓展性,提高模型适应多种数据分布的能力。

 Inductiv将之前提到的所有研究,融合于一个统一的AI内核中,它可以支持多种数据准备和清洗的应用。

图 4 描绘了前文提到的多种方法的核心组成部分,以处理不同的数据类型(例如量化数据的回归分析,定类数据的分类)。这些方法包括了基于注意力的上下文表示机制、分布式学习、数据切片以及多任务学习的自我监督。

在MLSys 2020论文中,作者提出了一种基于注意力的学习架构,用于混合类型结构化数据的缺失值填补(图5)。

图4:Inductiv 统一推理引擎的核心组成部分 

 图5:基于注意力的上下文表示和多任务学习的示例架构

4、结语

如今的商业化数据中,绝大部分重要数据都是结构化的,然而由于对数据质量的高要求,使得很多有价值的研究都望而却步。

通过采用机器学习的方法,我们可以将结构化数据的数据准备和清洗问题都视为一个统一的预测任务,不过这种方式存在着规模化,异构性,稀疏性以及复杂语义和专业领域知识的挑战。

而Inductiv引擎作为首个用于结构化数据处理的可扩展AI平台,则成功解决了这些挑战!

via https://towardsdatascience.com/ai-should-not-leave-structured-data-behind-33474f9cd07a

未来智能实验室的主要工作包括:建立AI智能系统智商评测体系,开展世界人工智能智商评测;开展互联网(城市)云脑研究计划,构建互联网(城市)云脑技术和企业图谱,为提升企业,行业与城市的智能水平服务。

  如果您对实验室的研究感兴趣,欢迎加入未来智能实验室线上平台。扫描以下二维码或点击本文左下角“阅读原文”

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/488373.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

php修改找不到数据类型,php – 在$_POST中找不到输入类型=图像值

只需使用var_dump()来查看$_POST中的内容&#xff1a;var_dump($_POST);您会看到,当您使用< input type “image”>提交表单时,您会得到&#xff1a;arraybuyuka_x > string 0 (length1)buyuka_y > string 0 (length1)所以,没有$_POST [‘buyuka’] – 相反,有&…

java数据类型转换和数组总结

流程控制 分支 循环语句     if...else...     if...else if...else switch(值0) { ------------值0是什么类型, case后面的值就要是什么类型       case 值1:         执行语句         break;       case 值1:         …

导入自定义模块syntaxerror: invalid syntax_技术分享 | Quill的模块机制

DevUI技术体验部是一支兼具设计视角和工程视角的团队&#xff0c;服务于华为云DevCloud平台和华为内部上百个中后台系统&#xff0c;主打产品 DevUI Design 服务于设计师和前端工程师。官方网站&#xff1a;devui.design。Ng组件库&#xff1a;ng-devui。DevUI Design&#xff…

我们对时间的理解错了吗?

来源&#xff1a; 利维坦文/Claudia Hammond译/boomchacha校对/Rachel原文/www.bbc.com/future/article/20191203-what-we-get-wrong-about-time“时间”是常见的名词。我们都熟知时间流逝的感觉&#xff1a;现在变成过去&#xff1b;今天变成昨天。你要是住在温带&#xff0c;…

php jquery validate remote,jquery插件validate里面的remote参数用法

validate验证在进行异步数据库查询验证的过程中用到了remote这个参数remote里面有url,dataType,data,type等等这几个参数&#xff0c;当data不写的时候默认是当前被验证的字段的值。传值到php文件中&#xff0c;在php文件中处理的时候&#xff0c;返回值为 “true”或者"f…

SVN使用过程中遇到的一些问题

更新svn的客户端TortoiseSVN后 &#xff0c;之前使用svn管理的文件的关联图标消失了 说明:下面的解决方法及图片来自博客&#xff1a;装了SVN&#xff0c;你的关联图标变了没有&#xff1f; 解决办法&#xff1a;在同步的文件点击右键如下图 ...现则Settings&#xff0c;出现的…

python计算线性相关系数_Python+pandas计算数据相关系数(person、Kendall、spearman)

pandas中DataFrame对象corr()方法的用法&#xff0c;该方法用来计算DataFrame对象中所有列之间的相关系数(包括pearson相关系数、Kendall Tau相关系数和spearman秩相关)。pandas相关系数-DataFrame.corr()参数详解DataFrame.corr(methodpearson, min_periods1)参数说明&#xf…

matlab设置非平坦结构元,详解MATLAB/Simulink通信系统建模与仿真图书信息

第1章 Simulink基础1.1 Simulink简介1.2 运行Simulink演示程序1.2.1 运行房屋热力学系统演示模型1.2.2 房屋热力学系统模型说明1.2.3 其他Simulink演示程序1.3 建立一个简单的Simulink模型1.4 保存Simulink模型1.5 打印及HTML报告1.5.1 打印模型1.5.2 生成模型报告1.6 打印边框…

创建Socket【Socket编程4】

java在包java.net中提供了两个类Socket和ServerSocket&#xff0c;分别用来表示双向连接的客户端和服务端。这是两个封装得非常好的类&#xff0c;使用很方便。其构造方法如下&#xff1a; Socket(InetAddress address, int port); Socket(InetAddress address, int port, bool…

python打包linux可执行文件_Linux下安装pyinstaller用于将py文件打包生成一个可执行文件...

听说pyinstaller多平台支持的比较好&#xff0c;考虑在linux(redhat 6 32-bit)上装个pyinstall,不过真的是遇到太多问题了。。。下面是安装和使用流程&#xff1a;安装使用流程1. 首先给系统装个easy_install&#xff0c; 如果装了的可以跳过这步到pypi官方网址 https://pypi.p…

oracle未找到时区,解决ORA-01882:未找到时区区域%s

和许多网友一样&#xff0c;今天遇到了ora-01882问题&#xff0c;查了matelink解决了&#xff01; 环境&#xff1a;Oracle server端版本&#xff1a;SQLgt; select * from v$version和许多网友一样&#xff0c;今天遇到了ora-01882问题&#xff0c;查了matelink解决了&#xf…

脑神经计算建模揭示前额叶皮层不同类型中间神经元在信息维持中的作用

来源&#xff1a;智能的本质与未来尽管占比相对锥形神经元数量少&#xff0c;但是中间神经元在大脑皮层实现认知功能中的作用却不容小觑。中间神经元的显著特点就是种类丰富&#xff0c;因此对不同类型中间经元在特定认知功能的分工作用的探索是揭示智能机制的关键之一。中国科…

支付宝支付-刷卡支付(条码支付)

此项目已开源欢迎Start、PR、发起Issues一起讨论交流共同进步 https://github.com/Javen205/IJPay http://git.oschina.net/javen205/IJPay 在官方的产品是叫做当面付 1、什么是当面付呢&#xff1f; 简单的讲就是条码支付(刷卡支付)、扫码支付、声波支付。 【官方是这样解释的…

solr做索引时抛出异常_Solr---gt;01

Solr介绍 什么叫做全文检索呢&#xff1f;这要从我们生活中的数据说起。 我们生活中的数据总体分为两种&#xff1a;结构化数据和非结构化数据。 1、结构化数据&#xff1a;指具有固定格式或有限长度的数据&#xff0c;如数据库&#xff0c;元数据等。 2、非结构化数据&a…

新冠肺炎疫情把科研推上“云端”

来源&#xff1a;新华网美国威斯康星国家灵长类动物研究中心的戴夫奥康纳清晨收到在伦敦的一名合作伙伴发来的论文预印本。这项研究在中国完成&#xff0c;两人通过企业协同云端办公软件Slack讨论了一上午。下午2点&#xff0c;奥康纳打开高清会议系统GoToMeeting&#xff0c;和…

mysql和oracle的通用存储,MySQL与Oracle在使用上的一些区别

1.mysql与oracle数据库实现自增列的区别&#xff1a;mysql可以实现自增列&#xff0c;只要在建表时设置auto_increment即可&#xff0c;而oracle在建表时不能设置自增列功能&#xff0c;必须通过sequence序列来实现自增列功能&#xff0c;建立sequence序列的语句如下(假设序列名…

CSDN专訪:大数据时代下的商业存储

原文地址&#xff1a;http://www.csdn.net/article/2014-06-03/2820044-cloud-emc-hadoop摘要&#xff1a;EMC公司作为全球信息存储及管理产品方面的率先公司&#xff0c;不久前。EMC宣布收购DSSD加强和巩固了其在行业内的领导地位&#xff0c;日前我们有幸採訪到EMC中国的张安…

安装python后安装ana_Windows10+anacond+GPU+pytorch安装详细过程

1、查看自己电脑是否匹配GPU版本。设备管理器查看。查看官网是否匹配。地址&#xff1a;https://developer.nvidia.com/cuda-gpus **2、进入NVIDIA对电脑版本进行查**看。如果可以的的话可以自己卸载原来版本&#xff0c;后安装新版本。安装地址https://developer.nvidia.com/…

兵棋推演有助于我们了解哪些战争知识?

来源&#xff1a;兵推天下菲利普塞班博士是英国伦敦国王学院战争研究系的战略研究教授&#xff0c;他也是兵棋专家和兵棋设计师。在30多年的教学生涯中&#xff0c;他将兵棋融合到了课堂教学中&#xff0c;向学生展示兵棋推演对军事规划工作的实际作用。在一次访谈中&#xff0…

mssql与oracle不同点,MySql,Mssql,Oracle的优缺点和异同(欢迎补充) *

2007-10-04 14:18:151.绝对值S:select abs(-1) valueO:select abs(-1) value from dual2.取整(大)S:select ceiling(-1.001) valueO:select ceil(-1.001) value from dual3.取整(小)S:select floor(-1.001) valueO:select floor(-1.001) value…