數(shù)元靈科技于近日在百度舉辦的 Text2SQL 權(quán)威評(píng)測(cè)榜“千言語(yǔ)義解析”中奪得冠軍,其中 CSpider 數(shù)據(jù)集上達(dá)到了單項(xiàng)第一名,并且以總分 0.78383 成績(jī)獲得了總榜單第一。
“千言語(yǔ)義解析”評(píng)測(cè)榜提供了來(lái)自業(yè)界和學(xué)界的NL2SQL、DuSQL以及CSpider共三個(gè)權(quán)威數(shù)據(jù)集,既包含了領(lǐng)域廣泛的真實(shí)業(yè)務(wù)數(shù)據(jù),也包含了高級(jí)復(fù)雜的 SQL 查詢語(yǔ)句,是中文 Text2SQL 領(lǐng)域的權(quán)威榜單。該榜單參考學(xué)術(shù)界慣例,采用Exact Match Score作為效果評(píng)估指標(biāo), 該指標(biāo)能夠全方位的衡量 select、where、group、order 等子句取列、取值的準(zhǔn)確率以及 SQL 整體準(zhǔn)確率,是較為客觀的評(píng)價(jià)標(biāo)準(zhǔn)。

Text2SQL?技術(shù)旨在將用戶輸入的自然語(yǔ)言問(wèn)題轉(zhuǎn)成可進(jìn)行數(shù)據(jù)庫(kù)操作的SQL查詢語(yǔ)句,實(shí)現(xiàn)通過(guò)自然語(yǔ)言完成與數(shù)據(jù)庫(kù)的交互及獲得數(shù)據(jù)庫(kù)中的信息,是未來(lái)數(shù)據(jù)智能化中較為重要的一項(xiàng)技術(shù)。該領(lǐng)域?qū)儆谌斯ぶ悄苤械淖匀徽Z(yǔ)言理解方向(NLU/NLG),不僅具有很高的學(xué)術(shù)研究?jī)r(jià)值,而且可以幫助非技術(shù)用戶通過(guò)自然語(yǔ)言與數(shù)據(jù)庫(kù)進(jìn)行交互,降低數(shù)據(jù)庫(kù)使用門(mén)檻及提升數(shù)據(jù)庫(kù)使用效率,同時(shí)具有很高的實(shí)用價(jià)值,在工業(yè)界受到了廣泛關(guān)注。
立足于產(chǎn)業(yè)界、向先進(jìn)技術(shù)出發(fā)
數(shù)元靈科技基于核心湖倉(cāng)產(chǎn)品?LakeSoul?在廣泛真實(shí)業(yè)務(wù)場(chǎng)景中的錘煉,自主研發(fā)打造了一套數(shù)據(jù)智能查詢平臺(tái),讓用戶無(wú)須編寫(xiě) SQL 即可對(duì)復(fù)雜業(yè)務(wù)場(chǎng)景中的數(shù)據(jù)進(jìn)行查詢、分析以及可視化,極大的提高了數(shù)據(jù)價(jià)值利用效率、真正讓AI在真實(shí)數(shù)據(jù)湖倉(cāng)產(chǎn)品中觸手可及。
數(shù)元靈在本次千言語(yǔ)義解析評(píng)測(cè)中基于對(duì)問(wèn)題和數(shù)據(jù)的觀察,將問(wèn)題建模為 Encoder-Decoder 形式,并進(jìn)行了以下幾點(diǎn)重要優(yōu)化工作:
1. 領(lǐng)域預(yù)訓(xùn)練
考慮到 SQL 是一種編程語(yǔ)言,而常用的預(yù)訓(xùn)練模型往往基于自然語(yǔ)言訓(xùn)練得到的,為了支撐公司若干代碼生成業(yè)務(wù),我們?cè)陬A(yù)訓(xùn)練語(yǔ)料中引入 Python/Java/SQL 等常見(jiàn)編程語(yǔ)言數(shù)據(jù)共同進(jìn)行預(yù)訓(xùn)練,進(jìn)而得到代碼生成任務(wù)的基座預(yù)訓(xùn)練模型。由于基座模型已經(jīng)在大規(guī)模 SQL 語(yǔ)言數(shù)據(jù)上完成學(xué)習(xí),因而可幫助下游生成模型對(duì) SQL 語(yǔ)法理解更深。
2. Schema Linking
自然語(yǔ)言查詢數(shù)據(jù)庫(kù)時(shí),模型的輸入包含自然語(yǔ)言查詢語(yǔ)句以及數(shù)據(jù)庫(kù)schema描述,這里的 schema 描述可以認(rèn)為就是數(shù)據(jù)庫(kù)中所有 table schema 按照某種格式序列化的字符串文本??紤]實(shí)際進(jìn)行的自然語(yǔ)言查詢往往僅跟部分table&column 有關(guān)系,冗余輸入的其余 schema 信息往往會(huì)起到負(fù)向影響。因此我們基于 cross-encoder 語(yǔ)義預(yù)訓(xùn)練模型,訓(xùn)練了對(duì)查詢問(wèn)題和 schema 描述進(jìn)行打分排序的 schema linking 模型,并將其作為 SQL 生成的前置模塊,從而極大的緩解了冗余 schema 輸入帶來(lái)的問(wèn)題。
3. 表關(guān)系顯式建模
數(shù)據(jù)表 schema 描述中包含有表名、列名以及列類(lèi)型等核心信息,但除此之外其實(shí)主鍵和外鍵信息對(duì)于生成 SQL 也是有幫助的,比如主鍵可以變于確定 id列、外鍵則便于多表 JOIN,基于此考慮嘗試將主鍵和外鍵信息引入到 SQL 生成模型中顯式建模。經(jīng)實(shí)驗(yàn)觀察,鍵信息的顯式建模對(duì)于涉及到多表查詢的情形,效果提升十分明顯。
4. 多語(yǔ)言自適應(yīng)
千言語(yǔ)義解析榜的 CSpider 數(shù)據(jù)集是中英數(shù)據(jù)(即問(wèn)題中文,表信息英文),但其它兩個(gè)數(shù)據(jù)集是全中文的,為了最大程度的利用數(shù)據(jù)集,同時(shí)也為了兼顧真實(shí)業(yè)務(wù)場(chǎng)景,我們考慮用一套模型來(lái)為不同場(chǎng)景生成 SQL,模型在推理時(shí)能夠根據(jù)輸入 schema 的語(yǔ)言進(jìn)行自適應(yīng)的 SQL 生成。經(jīng)過(guò)實(shí)驗(yàn),此舉不僅對(duì)不同數(shù)據(jù)集之間有增益作用,而且一套模型也提高了迭代評(píng)測(cè)的效率。
5. 基于 SQL 語(yǔ)法解碼
常規(guī) decoder 語(yǔ)言模型生成自然語(yǔ)言,對(duì)生成內(nèi)容的文法并沒(méi)有太多要求。但由于我們這里的 decoder 生成內(nèi)容是 SQL,需要符合 SQL 語(yǔ)法,但生成模型不管是基于 search 還是 sample 策略解碼并不能夠保證SQL語(yǔ)法的合法性。為此我們借鑒學(xué)術(shù)界提出的思路,從生成大量候選 SQL 中挑選語(yǔ)法正確的作為最終生成結(jié)果,這樣 SQL 語(yǔ)法正確性就得到了保證。
除了上述提到的優(yōu)化思路外,還有部分思路是基于我們?cè)谡鎸?shí)業(yè)務(wù)的洞察提出的,這里篇幅有限,不再詳述。雖然從具體業(yè)務(wù)場(chǎng)景切入,但是發(fā)現(xiàn)其間沉淀的技術(shù)都是可復(fù)用的,同時(shí)也有了一些新的思考和發(fā)現(xiàn),可進(jìn)一步注入到我們的技術(shù)沉淀中。我們愈發(fā)認(rèn)識(shí)到,自然語(yǔ)言轉(zhuǎn)換 SQL 是一項(xiàng)充滿挑戰(zhàn)的任務(wù),對(duì)學(xué)術(shù)界和產(chǎn)業(yè)界有巨大價(jià)值待發(fā)掘。
共建面向未來(lái)的智能湖倉(cāng)產(chǎn)品
現(xiàn)代數(shù)字化經(jīng)濟(jì)當(dāng)中,數(shù)據(jù)作為第五生產(chǎn)要素,具有極大的經(jīng)濟(jì)價(jià)值,如何高效便捷的去釋放和挖掘數(shù)據(jù)價(jià)值,對(duì)于諸多中小企業(yè)來(lái)說(shuō)困難重重。數(shù)元靈科技基于自國(guó)產(chǎn)唯一的湖倉(cāng)框架LakeSoul,能快速搭建多源異構(gòu)的實(shí)時(shí)數(shù)據(jù)中臺(tái),為企業(yè)完善管理好自身的數(shù)據(jù)資產(chǎn)。然后在此基礎(chǔ)上,通過(guò)領(lǐng)先的AIGC技術(shù)積累,提供數(shù)智化的業(yè)務(wù)賦能。
數(shù)元靈科技基于真實(shí)客戶業(yè)務(wù)的沉淀,研發(fā)了一套 Text2SQL 技術(shù)方案,支持私有化部署,保障客戶的數(shù)據(jù)隱私安全,讓 AI 走進(jìn)湖倉(cāng)、為用戶提供更低的數(shù)據(jù)交互門(mén)檻,同時(shí)我們也在權(quán)威評(píng)測(cè)榜單上檢驗(yàn)了自研技術(shù)的先進(jìn)性。LakeSoul 通過(guò)結(jié)合 AIGC 的技術(shù),將提供更智能人機(jī)接口能力,大大簡(jiǎn)化開(kāi)發(fā)者和用戶與數(shù)據(jù)庫(kù)交互的方式。我們相信在不遠(yuǎn)的將來(lái),數(shù)據(jù)價(jià)值將惠及每個(gè)人、每個(gè)企業(yè),而不斷降低觸達(dá)數(shù)據(jù)價(jià)值的門(mén)檻就是我們的使命,讓我們大家一起共建數(shù)據(jù)智能技術(shù)生態(tài)。