熟悉data.world的人都知道,该公司的使命是建立世界上最有意义、最协作、最丰富的数据资源。data.world完成这项任务的一种方法是提供一个社区数据门户,当你创建一个免费帐户并登录data.worlds时,你会看到这个门户。目前,社区网站上有超过15万个开放数据资源,包括美国人口普查局、美国国家航空航天局和data.gov.uk等来源。
我在另一篇博客中概述了你如何成为这个数据资源的策展人之一。如果你尝试过,你就会知道,要想真正让别人使用你的数据,你需要的不仅仅是将电子表格上传到data.world这样的托管和查询服务,让你的数据公平,但这只是一个开始。你需要做的事情之一是描述你的数据,也许为它制作一个数据字典,甚至可能向数据的潜在用户做广告。
到目前为止,ChatGPT能够在所有这些任务中提供帮助并不奇怪。作为一个例子,我使用ChatGPT提供了先正达提供的数据摘要,以跟踪其良好增长计划的进展。
先正达是一家国际农药公司。他们的业务是提供化学品和专业知识,帮助世界各地的农民生产粮食。早在2014年左右,先正达就推出了“良好增长计划”,这一系列承诺不仅旨在通过销售化学品赚钱,还旨在提高世界各地粮食生产的效率和可持续性。
我知道你在想什么;一些大型国际企业集团希望通过说ESG之类的妙语,并对具体目标口惠而实不至,来洗白自己的活动。但先正达希望你也这样想;毕竟,他们是一家大型的国际化工集团。这样的公司如何才能获得你的信任,让你相信他们实际上正在实现他们声称要追求的任何目标?
做到这一点的一种方法是发布他们用来衡量进展的指标,收集数据来评估这些指标,然后(这是创新的一点)将这些数据作为开放数据发布,以便世界公民数据科学家可以检查他们的工作。为此,先正达自2014年以来一直在公布这一数据。
由于先正达是一家化工公司,而不是数据管理服务提供商,他们几年前就停止了托管数据。幸运的是,Agroaknow是一家从事农业数据业务的公司,它已经托管这些数据一段时间了。根据data.world的使命,并遵循CC-BY-SA对数据的许可,我在一个名为Syngenta Good Growth Plan的组织的data.worl德上,在一个称为Good Growth Plan Open data的数据集中回应了这些数据。
如果你访问该链接,你会看到数据集的描述和摘要,该数据集取自Agroaknow网站,描述生产力数据集。如果您想使用这些数据,这是非常有用的信息。
Good Growth Plan information from its web page, copied into data.world
但要让那些还不熟悉数据的人真正了解数据的内容,还需要更多的时间。这是许多开放数据的问题;即使我们提供了它,要使它易于理解和使用,也需要大量的人力来总结、记录和解释数据。
如果你向下滚动一点页面,你会在数据集中看到三个文件,分别是Business.md、DataDictionary.md和DataSummary.md。如果你看看这些文件,你可能不会惊讶地发现它们是由ChatGPT生成的。由于它们是生成的,当你读到这篇文章时,我可能会再次生成它们,所以我将包括当前状态的屏幕截图。
在我们研究每一个之前,让我们谈谈ChatGPT拥有哪些关于数据的信息,这些信息使它能够生成它们。首先,我们有数据集的名称,“Good Growth Plan Open Data”,我们有人工提供的(来自网页的)数据集摘要。但我们也有源数据的文件名,以及列标题。原则上,我们也有数据本身,但在本练习中,我只使用了头,使这成为一个仅限元数据的练习。这很重要,我稍后再谈。
首先,让我们看看DataSummary.md。顾名思义,它是数据集的摘要,概括了它所涵盖的内容。很难让ChatGPT做的不仅仅是回显每个表的标题,但经过一点劝说,它愿意向前推进并描述大局。
接下来我们进入数据字典。这相当长,因为它概述了数据集中每个文件中每个字段的一些信息。幸运的是,数据集没有那么大,所以这适合一份中长期报告。
最后,这是我最喜欢的一个,我们请ChatGPT思考数据可能用来回答的业务问题,谁会问他们,为什么。
Business questions for this dataset
在许多情况下,问题只集中在数据集中的一个文件上。这并不奇怪,因为每一项研究都是为了应对特定的良好增长目标而设计的。但他们中的一些人结合了来自多个来源的信息,得出了新的见解。
整个过程是自动化的;如果你在data.world中创建一个数据集,并上传一些CSV(现在,这个过程只关注CSV,这就是为什么没有考虑GGP数据中的一个资源),我可以运行这个程序并为你创建注释。如果你正在读这篇文章,我想请你试一试。按照我之前博客中的说明,在data.world社区网站中创建一个数据集,上传一些CSV,然后在下面的评论中告诉我。我将运行我的ChatGPT进程并对您的数据集进行注释。让我们看看它在您的数据上做得有多好。
我说过我会再次回到元数据方面。想要使用ChatGPT的开发人员非常担心,你发送给第三方(如openai.com)的任何内容都会违反你与用户或客户签订的数据协议。这不是对openai或任何其他公司的不信任,而是信息控制;我不允许将我私下收到的信息分享给任何人,无论我多么信任他们。
但元数据在历史上一直被视为不如数据敏感。我告诉你,我为客户保留名字、姓氏、地址、电话和电子邮件信息,这比我实际告诉你这些价值观对实际客户来说要少得多。此应用程序仅使用元数据;没有检查任何一个数据点来创建这个。
这也意味着应用程序可以用于分析没有实际数据可用的数据目录或数据模式。这使它比需要访问整个数据集的过程更具适用性。
整个过程的另一个兴趣点。实现它的程序是用python编写的,它大量使用data.world API和openai API,更不用说任何数量的python习惯用法了。我真的不能说这个程序是我写的;我告诉了ChatGPT我想做什么,它写下了程序的初稿。它非常熟悉这两种API,以及Python中编码的常见习惯用法。它甚至为我提供了如何使用pip在我的python部署中安装所需软件包的说明。由于我想要更具体的功能,我接管了代码的编辑工作,但第一个操作版本完全由ChatGPT编写。整个发展过程花了大约一天的时间才达到MVP,又花了几个小时的时间来磨练,这样我就可以写一篇关于它的博客了。
目前缺少但即将推出的一些功能:
- 处理XSLT文件以及CSV。没有理由将其限制在CSV上。
- 对于每个业务问题,让它编写运行它们的SPARQL查询。
- 允许用户提供提示来关注业务问题,甚至提供类似对话框之类的内容来支持这些问题。
有没有其他你认为很酷或有用的功能?请在评论中告诉我。
- 登录 发表评论