“你是懂TNT的”
编者按:本文来自微信公众号 量子位(ID:QbitAI),作者:明敏,创业邦经授权发布,头图来源摄图网。
看,输入想要干的事:给学生成绩排个名吧。
简单敲个回车,表格唰一下就列好了!
检查一遍也没错。
还能跨表格处理。
比如标记出两张不同表格中排名都在前十的学校。
哦豁,还有点超越ChatGPT?
毕竟给ChatGPT提出类似的要求,它只能帮我写出对应的代码,操作还得自己手动来。
这就是最近在知乎上引起关注的AI工具ChatExcel,一发布就登上了热榜。
它主打用对话的形式实现Excel复杂操作(Chat-to-Excel),告别记函数、手动设置公式。
做好的成品,支持一键导出成标准Excel表格,连复制粘贴这道工序都省了。
而且不用注册、网页上就能用、不限使用次数,相当利好懒人和Excel小白。
甚至懂Excel技能的人都感慨,自己会的这些是不是要没用了。
这就是由北京大学深圳研究生院/信息工程学院3位硕博生,独立开发的项目。
目前已开放Demo供大家试玩。
看到这可能很多人都以为,“这又是一个受到ChatGPT影响开发的项目嘛”。
还真不是。
GitHub项目上的第一个commit是在22年3月就提交了。
而背后真正的契机——
其实是团队中一位小哥,想用技术帮女票解决点工作中的小烦恼啦。
这到底咋回事?量子位联系了主创团队,来一一给大家揭秘~
ChatExcel表现如何?咳咳,别人女票的事稍后再谈,咱们先来看看ChatExcel的表现到底咋样。
总体来说,它想做的事就是跳过学习Excel、跳过写函数公式,直接把脑子里的需求变成表格里的内容。
团队在知乎首发产品时,用了一张图做解释:
老规矩,我们来上手体验下。
进入主页面后,网站默认展示demo,点击UPLOAD就能上传自己的表格。格式需要是标准Excel文件。
我们找隔壁ChatGPT生成了一份学生成绩单,让ChatExcel进行计算操作。
主要测试了需要插入函数的Excel操作。比如:
给总分在255以上的人标记为A,总分在240-255的人标记为A-,总分在210-240的人标记为B。
打完内容,敲一下回车,它就开始处理了。
假如老师想知道谁是单科第一呢?输入:
找到表格中数学成绩最高分的人。
然后,它就生成了一个新的界面,里面只有最高分童鞋。
如果还想对表格进行其他操作,点一下页面中的“UNDO”,它就能返回到操作前的表格了。
我们还让它对表格中的学生进行成绩排名、并列出名次,ChatExcel都没有出错。
除此之外,它还能连续完成任务。
比如想在表格里增加一栏平均分,可以先要求它增加一列:
再进一步输入需求,让它把计算好的结果填进去:
最后得到的表格,点击“DOWNLOAD”,即可导出为普通的Excel表格。
体验下来,感觉ChatExcel主要有两大特点:
连贯性
准确性
比如之前也有帮人生成Excel公式的工具,excelformulabot能实现这一功能,但它是独立在表格外的,需要自己把单元格带入到给出的公式了。
如果是具体一些的描述,还会出现给不出公式的情况。
而对比ChatGPT来说,ChatExcel计算的准确性更突出。
比如计算同一个表格的平均数,ChatGPT不是弄错到底有多少个人,就是计算的时候带错数字,反复纠正都救不回来……
所以,ChatExcel是怎么做到的?背后原理到底如何?
把“乙方思想”贯彻到底ChatExcel的原理一言以蔽之,就是直接把“大白话指令”转换成类似于VBA这样的程序语言,然后再执行程序。
底层基于Transformer架构,基本技术路线就是无监督训练+具体场景微调。
但NLP模型搞数学,一直都很容易出错,强大如ChatGPT都很难避免。
为此,团队在训练模型的过程中,将重点放在了符号逻辑上,期间还有意引入了一些逻辑符号的新知识。
由此我们也看到,它在计算上出错的概率并不高。
除了数学能力出众之外,ChatExcel最大的一个特点就是持续交互。
这是因为ChatExcel每次的生成结果,都是基于用户提出的新需求+上一轮生成的表格。对模型的理解力及运算其实提出了更高的要求。
为什么要实现这一功能?
团队介绍说,如Dall·E、ChatBCG等AI工具,完成任务的方式都是单次不持续的。但在人们的实际使用过程中,想法是一步步推进的。
举例来说,用户和ChatExcel之间的关系就好比甲乙双方,ChatExcel是乙方,用它处理表格的我们就相当于甲方:
要求只管提,改到满意为止。(Doge)
同样,这个乙方思维也体现在开发团队自己身上。
Demo发布后,很多人跑来围观、试用和提建议。最常出现的反馈是,ChatExcel有点理解不了提出的要求,需要重新措辞调整。
对于这些情况,团队先阐明态度:建议我们全盘接收。
同时也进一步解释了原因,目前开放的demo还不是很完善。
这一方面是为了看看大家的反馈做进一步优化;另一方面,也是希望收集更多的语料,让模型之后能更聪明一些。
比如,有人就提出:
既然都已经有“undo”(撤销)操作,什么时候可以把它处理表格的过程显示出来。
还有人附议,表格数据太多就很难检查它是否处理正确:
提高ChatExcel执行任务的透明度,方便检查错误。
对于这些建议,团队和我们说,他们已经在开始着手调整了。
比如很多人反馈的语言理解问题,他们打算之后在对话框下根据用户的输入,推荐一些标准操作语句,大家直接选择就可以了,不用自己研究措辞,有点现在AI客服那味儿。
除此之外,还有这些功能也在开发的路上了:
表格上传格式更加兼容
展示ChatExcel处理表格的具体过程,更加透明化……
以及ChatExcel更加具体的原理介绍,之后也会在官网以博客的形式发布。
甚至包括代码,也会进行开源。
受到女票启发,把业余项目做成正式课题说来ChatExcel的诞生,也是相当因吹斯听了。
它受启发于团队成员的女票、导师立刻拍板认可、把业余项目做成正式课题……
这还要从Kid和CY拉起小团队说起。
他们都来自北京大学深圳研究生院信息工程学院袁粒老师的课题组,已经是准博了,还有一位成员正在读硕士。
作为机器学习的基础理论研究者,他们日常和论文打交道更多。
为啥突然从理论研究转向应用?
这还得从Kid的女票说起。
他说自己的女朋友是一位中学信息老师,日常工作中经常需要帮年纪大的老师处理Excel表格问题。
为了帮女朋友多分担一点工作(bushi) ,当然也看到确实有很多人深受Excel复杂操作困扰,Kid就萌生了试试看的想法。
我觉得Excel公式的使用,多少还是需要编程思维的,这对于很多人、尤其是不擅长电脑操作的人来说,很不友好。而拿着工具书从头啃,也确实比较麻烦。
当时正值OpenAI的Copilot大火,看到AI在提升生产力上大有可为,他就拉着CY一起,打算仔细研究研究这事儿。
但事情前期,并没有想象中顺利。
一方面,它刚开始只是个业余项目,大家都是抽空来做。
另一方面,团队在技术路线上也做过重大调整。
最初,他们觉得ChatExcel应该是往判别式模型那块儿走的,于是就顺着这一思路推进,但没想到:
前期处理工作量太大,需要引入非常非常多的符号逻辑,数据要求很高。
这对于小团队来说基本上是致命的,因为数据量意味着人力物力时间成本都会飙高。
没有办法,Kid和CY就坐下来重新复盘这件事:
我们想到李沐老师发过一个视频,讲“BERT和GPT之争”,我们最初都觉得BERT各种指标表现更好。GPT呢,有点摸不清它想干啥。
但仔细一想,从任务本身的需求来看,生成式才是我们真正想要的东西。
加之去年OpenAI一系列生成式工作开始大火(如Copilot、Dall·E),两个人最后决定,推翻原有思路,重新从生成式模型做起。
明确了技术路线,后续推进也就更顺了。
加上这项工作还得到了导师袁粒的认可和支持,团队在资源和经费上也更充裕了一些。
(p.s.但团队也和我们解释说,目前其实还不能负担太多成本,运行速度会受到影响、一些命令行识别也还存在问题)
不管怎样,历经1年时间,ChatExcel终于发布demo。
但这只是计划的第一步。
团队表示,接下来还将对产品做更多迭代升级,并会开源代码、揭秘背后技术。
对于ChatExcel的定位,他们坚持“小而美”。
Kid介绍说,大模型的确是当下的趋势,如OpenAI、百度等都在通用大模型领域不断推进成果。但他们认为,在一些子任务领域上,模型的能力还有待提升,这可能会是未来的一个趋势。
由此,他们目前会更加专注于模型特定场景下的能力提升。
至于长远目标,团队希望打造一个“Chat生态”、交互式AIGC。
终极“Chat生态”(幻想版)大概会长这样:
而回到ChatExcel本身,团队表示的确有商业化的考虑,但会是To B层面的。
(听说demo一发布就已经有不少公司联系他们了)
在To C这边,会坚持公益开放的形式,人人都能用。
而回看整个开发过程,Kid和CY的很多感受都记忆犹新。
比如看到ChatGPT做表格大火后,他们又惊又喜。
“惊”,是因为开始担忧会不会有很多同类产品出来?自己的项目没有生存余地了?
Kid说自己看到这些新项目不断涌出后,晚上都要睡不着觉了。
“喜”,则是因为觉得自己的想法和趋势发展一致,这也是一种肯定。
至于项目本身,他们的态度非常坦然,问题全盘接受,但对自己的成果也很有自信。
我们现在依旧觉得自己的方案很“优雅”。
感觉做理论的人转来做应用,总是能想到一些奇怪的思路hhh。
(应受访者要求文中Kid、CY为化名)
传送门:https://chatexcel.com/
参考链接:
[1] https://www.zhihu.com/question/586673687
[2] https://zhuanlan.zhihu.com/p/607997627