中文自動轉SQL,準確率高達92%,這位Kaggle大師刷新世界紀錄_風聞
量子位-量子位官方账号-2019-10-15 16:10
郭一璞 發自 南大仙林
量子位 報道 | 公眾號 QbitAI
在追一科技主辦的首屆中文NL2SQL挑戰賽上,又一項超越國外水平的NLP研究成果誕生了。
在NL2SQL這項任務上,比賽中的最佳成績達到了**92.19%**的準確率,超過英文NL2SQL數據集WikiSQL目前91.8%的最高成績。
達成這一成績的隊伍的名字很有野心,名叫“不上90不改名字”,團隊成員包括來自國防科技大學的博士張嘯宇、碩士賽斌,來自昂鈦客AI的王蘇宏,他們拿下了本屆比賽的冠軍,抱走了8萬獎金。
冠軍團隊從來自CMU、北大、清華、上交、南大、中科大等多所高校和移動、平安、搜狗等公司的1457支參賽隊伍中脱穎而出,超過92%的成績,讓比賽評委、復旦大學教授肖仰華驚喜的説:“結果完全超出預期”。
而另一位評委、比賽主辦方追一科技的CTO劉雲峯説,該任務的準確率從比賽初期最好成績60%多提升到超過92.19%的水平,提升幅度超出了他們原本的想象。
而且由於本次比賽用到的中文數據集難度比WikiSQL英文數據集要高,證明在同樣設定下,冠軍團隊的方案已經超過了國外機構最佳算法(state-of-the-art)在中文任務上的表現。
NL2SQL最佳方法揭秘
NL2SQL,也就是把自然語言“翻譯”成機器能理解的SQL語句,在人機交互中有巨大的價值,這樣的成績意味着,92.19%的情況下,你説的話都能被機器準確的理解,並給到你想要的答案。
那麼,既然機器能理解人話,那從紛繁複雜的數據庫中找到資料也是更為容易的事情了。
肖仰華教授説,現在阻礙大數據價值變現的最大難題就是訪問數據門檻太高,依賴數據庫管理員寫複雜的SQL,而且考慮到中文的表述更加多樣,中文NL2SQL要比英文難很多。
△ 肖仰華教授
因此,解決了從中文人類語言到SQL這種計算機語言的轉化問題,那些和你對話的AI系統們,就會變得更“聰明”,更容易理解你的問題並找到答案,App裏的智能客服、家裏的智能音箱們一問三不知的情況也會少很多。
針對中文NL2SQL的問題,冠軍團隊的張嘯宇在比賽答辯中揭秘了實現的方法:
△ 冠軍隊隊長張嘯宇
WikiSQL排行榜上的第一名、來自微軟Dynamics 365團隊的X-SQL有一些問題,模型框架不完全適配,在value抽取上colume特徵不顯著,容易抽取混亂。
針對這些問題,冠軍團隊提出了M-SQL,將原本X-SQL的6個子任務改為8個子任務,並且增加三個子模型,S-num、Value抽取、Value匹配,一次性將query中含有的所有Value抽取出來。
之後進行了一些細節提升,比如在數據預處理方面,將數據、年份、單位、日期、同義詞進行修正,統一query的範式;在query信息表達方面,用XLS標記替換CLS標記,這樣在線下驗證集上準確率提高了0.3個百分點。
用到的預訓練模型,則是哈工大發布的BERT-wwm-ext模型。
最終的成果,張嘯宇覺得非常滿意:“我覺得機器轉的比我好,大言不慚的説,已經超過了人類的水平。”
冠軍團隊
“不上90不改名字”隊伍的隊長張嘯宇是一名國防生,也是一位競賽熱愛者,專注NLP領域。他在2018年萊斯杯軍事閲讀理解挑戰賽上獲得第二名;在2019年的Kaggle PetFinder比賽上獲得金牌,現在是榜上有名的Kaggle Master了。
另一位隊員賽斌則是他在國防科大的同學,王蘇宏則是他在Kaggle社區結識的一位隊友,目前也是Kaggle排行榜上前1000名的用户。
雖然取得了冠軍,不過這個團隊籌備比賽的時間卻比其他隊伍晚了一些,他們開始準備的時候,其他團隊已經進行了兩個星期。
剩下的時間只有一個月了。在這一個月的準備時間裏,三人每天都在線上協同商量方案,平均下來基本每天都要工作五六個小時。
對於第一名的成績,他們感到毫不意外。畢竟在排行榜上已經是第一名,準確度也在這項任務上實現了業界領先,奪得第一當之無愧。
最後,關於比賽的經驗,張嘯宇總結地非常簡單:多敲代碼,多看paper。
幫技術的“錘子”,找場景的“釘子”
追一科技總部在深圳,另外在北京、上海、南京、香港、新加坡、白俄羅斯也有研發團隊或分公司。
成立3年來,追一已經完成了來自招商局資本、創新工場、晨興資本、高榕資本、紀源資本的4輪投資,總計融資額7000萬美元,招商銀行信用卡、中國移動、南方電網、中國人保、騰訊都是追一的客户。
從融資規模上來看,可以説這家騰訊系的AI公司已經是 國內NLP領域的領頭羊了。
技術方面,追一在各項NLP任務上都有所突破,拿到了CoQA、CMRC2018 中文機器閲讀理解等挑戰的冠軍。
而在NL2SQL這個任務上,曾經在騰訊達到T4職級的劉雲峯説,中文NL2SQL在比賽之前只有追一和微軟兩家,通過這場比賽,如果能達到眾人拾柴火焰高的目的,就可以將這項技術推廣出去了:
“客户這邊有一個釘子,但是不知道用什麼錘子來砸;但是我們這些搞AI的公司有一個錘子,不知道去哪裏找釘子。通過這個比賽我們可以很好地把釘子和錘子匹配在一起,給技術找到落地的場景。”
從NLP到計算機視覺
值得注意的是,本次比賽雖説是在NLP領域的賽事,但仍然吸引了不少計算機視覺方面的研究者參賽,闖入決賽的隊伍“大佬帶我飛”中的兩名成員就是CV方面的研究生。

△ 追一科技CTO劉雲峯
評委追一科技CTO劉雲峯認為,在工業落地時,現在越來越呈現出多模態融合的趨勢,視覺和NLP結合的越來越多,需要同時處理多種信號,人機交互的時候也不僅僅用到NLP方面的技術,也需要用到視覺方面的技術,追一科技作為一家NLP公司,本身也有視覺、語音方面的技術團隊。
“AI公司主要做企業服務,一個企業不會只要一個方向(的技術),他同時要NLP、視覺的時候不會找兩家公司,因為他自己沒法把兩個技術融合在一起。”
因此劉雲峯判斷,未來頭部AI公司一定是全棧AI公司,雖然會有最拿手的技術,但不會只佈局一個領域的技術。
最後,本屆比賽的數據集之後也會公開,或許這會是NLP領域下一個競相角逐的高地。
傳送門
冠軍團隊方案:https://github.com/nudtnlp/tianchi-nl2sql-top1