做一张Excel表格,真的是够动动你的嘴!
看,输入你想做的事情:对学生的成绩进行排名。
直接回车,表格一键列出!
可以再检查一下。
也可以跨表处理。
例如,在两个不同的表中标记前十所学校。
哦,有点超越ChatGPT?
毕竟,如果我向ChatGPT提出类似的请求,它只能帮我写相应的代码,而我不得不手动完成。
这就是最近在知乎上引起关注的AI工具ChatExcel,一发布就登上了热搜榜。
它专注于以对话的形式实现复杂的Excel操作(Chat-to-Excel),告别记忆函数和手动设置公式。
成品支持一键导出成标准Excel表格,省去复制粘贴的过程。
而且,无需注册,在网页上就可以使用,而且使用次数没有限制,对于懒人和Excel初学者来说还是挺不错的。
即使是精通 Excel 技能的人也觉得他们所知道的将毫无用处。
该项目由北京大学深圳研究生院/信息工程学院的3名硕士和博士研究生独立开发。
Demo目前已经开放给大家试用。
看到这里,很多人可能会想,“这又是一个受ChatGPT影响而开发的项目。”
真的不。
GitHub 项目的第一次提交于 3 月 22 日提交。
而其背后的真正机遇——
其实是团队里的小哥想用技术帮助女票解决一些工作上的小麻烦。
这到底是怎么回事?量子比特联系主创团队为大家揭秘~
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架构,基本技术路线是无监督训练+针对特定场景的fine-tuning。
但是NLP模型在数学上一直容易出错,再强大的ChatGPT也很难避免。
为此,团队在训练模型的过程中将重点放在了符号逻辑上,同时也特意引入了一些逻辑符号的新知识。
由此我们也可以看出,其计算错误的概率并不高。
除了出色的数学能力,ChatExcel 最大的特点之一就是持续交互。
这是因为ChatExcel每次生成结果,都是基于用户提出的新需求+上一轮生成的表格。实际上对模型的理解和操作提出了更高的要求。
为什么要实现这个功能?
据团队介绍,Dall E、ChatBCG等AI工具以单一、非连续的方式完成任务。但在人们实际使用的过程中,思想是一步步推进的。
比如用户和ChatExcel的关系就像甲方和乙方的关系,ChatExcel就是乙方,我们用它来处理表格就相当于甲方:
只要你要求,就改,直到你满意为止。
同样,乙方的这种想法也体现在开发团队本身。
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,我有点不明白它想做什么。
但是仔细想想,从任务本身的需求来看,generative才是我们真正想要的。
再加上去年OpenAI的一系列生成式作品开始大火(比如Copilot、Dall·E),两人最终决定推翻原有思路,重新从生成式模型着手。
一旦明确了技术路线,后续的推进就会更加顺畅。
此外,这项工作也得到了导师袁力的认可和支持,团队拥有了更多的资源和资金。
(ps 但团队也跟我们解释,目前不能承受太大的成本,运行速度会受到影响,还有一些命令行识别还有问题)
不管怎样,时隔1年,ChatExcel终于发布了demo。
但这只是计划的第一步。
团队表示,未来将对产品进行更多的迭代升级,并将代码开源,揭示其背后的技术。
对于ChatExcel的定位,他们坚持“小而美”。
Kid表示大模型确实是当前的趋势,比如OpenAI、百度等都在通用大模型领域不断推进成果。但他们认为,在一些子任务领域,模型的能力需要提升,这可能是未来的一个趋势。
因此,他们现在将更加专注于改进模型在特定场景中的能力。
至于长期目标,团队希望打造一个“聊天生态”和互动的AIGC。
最终的“聊天生态”(玄幻版)大概是这样的:
回到ChatExcel本身,团队表示确实有商业上的考虑,但会在To B层面。
(听说demo一出就有很多公司联系了他们)
在To C端,我们会坚持公益和开放的形式,让所有人都可以使用。
回首整个开发过程,对Kid和CY的很多感受还历历在目。
例如,当他们看到 ChatGPT 制作了一个流行的表格时,他们又惊又喜。
“惊讶”是因为我开始担心会不会有很多类似的产品问世?自己的项目没有生存空间?
基德说,在看到所有这些新项目涌现后,他晚上睡不着觉。
“开心”是因为觉得自己的想法符合潮流的发展,也是一种肯定。
至于项目本身,他们的态度很淡定,接受一切问题,但对自己的成果也很有信心。
我们仍然认为我们的解决方案是“优雅的”。
感觉做理论的人转做应用,总能想出一些奇怪的点子hhh。