做Excel表,真就動動嘴就夠!看,輸入想要幹的事:給學生成績排個名吧。簡單敲個回車,表格唰一下就列好!檢查一遍也沒錯。
還能跨表格處理。
比如標記出兩張不同表格中排名都在前十的學校。
哦豁,還有點超越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為化名)