数元灵科技于近日在百度举办的 Text2SQL 权威评测榜“千言语义解析”中夺得冠军,其中 CSpider 数据集上达到了单项第一名,并且以总分 0.78383 成绩获得了总榜单第一。
“千言语义解析”评测榜提供了来自业界和学界的NL2SQL、DuSQL以及CSpider共三个权威数据集,既包含了领域广泛的真实业务数据,也包含了高级复杂的 SQL 查询语句,是中文 Text2SQL 领域的权威榜单。该榜单参考学术界惯例,采用Exact Match Score作为效果评估指标, 该指标能够全方位的衡量 select、where、group、order 等子句取列、取值的准确率以及 SQL 整体准确率,是较为客观的评价标准。
Text2SQL 技术旨在将用户输入的自然语言问题转成可进行数据库操作的SQL查询语句,实现通过自然语言完成与数据库的交互及获得数据库中的信息,是未来数据智能化中较为重要的一项技术。该领域属于人工智能中的自然语言理解方向(NLU/NLG),不仅具有很高的学术研究价值,而且可以帮助非技术用户通过自然语言与数据库进行交互,降低数据库使用门槛及提升数据库使用效率,同时具有很高的实用价值,在工业界受到了广泛关注。
立足于产业界、向先进技术出发
数元灵科技基于核心湖仓产品 LakeSoul 在广泛真实业务场景中的锤炼,自主研发打造了一套数据智能查询平台,让用户无须编写 SQL 即可对复杂业务场景中的数据进行查询、分析以及可视化,极大的提高了数据价值利用效率、真正让AI在真实数据湖仓产品中触手可及。
数元灵在本次千言语义解析评测中基于对问题和数据的观察,将问题建模为 Encoder-Decoder 形式,并进行了以下几点重要优化工作:
1. 领域预训练
考虑到 SQL 是一种编程语言,而常用的预训练模型往往基于自然语言训练得到的,为了支撑公司若干代码生成业务,我们在预训练语料中引入 Python/Java/SQL 等常见编程语言数据共同进行预训练,进而得到代码生成任务的基座预训练模型。由于基座模型已经在大规模 SQL 语言数据上完成学习,因而可帮助下游生成模型对 SQL 语法理解更深。
2. Schema Linking
自然语言查询数据库时,模型的输入包含自然语言查询语句以及数据库schema描述,这里的 schema 描述可以认为就是数据库中所有 table schema 按照某种格式序列化的字符串文本。考虑实际进行的自然语言查询往往仅跟部分table&column 有关系,冗余输入的其余 schema 信息往往会起到负向影响。因此我们基于 cross-encoder 语义预训练模型,训练了对查询问题和 schema 描述进行打分排序的 schema linking 模型,并将其作为 SQL 生成的前置模块,从而极大的缓解了冗余 schema 输入带来的问题。
3. 表关系显式建模
数据表 schema 描述中包含有表名、列名以及列类型等核心信息,但除此之外其实主键和外键信息对于生成 SQL 也是有帮助的,比如主键可以变于确定 id列、外键则便于多表 JOIN,基于此考虑尝试将主键和外键信息引入到 SQL 生成模型中显式建模。经实验观察,键信息的显式建模对于涉及到多表查询的情形,效果提升十分明显。
4. 多语言自适应
千言语义解析榜的 CSpider 数据集是中英数据(即问题中文,表信息英文),但其它两个数据集是全中文的,为了最大程度的利用数据集,同时也为了兼顾真实业务场景,我们考虑用一套模型来为不同场景生成 SQL,模型在推理时能够根据输入 schema 的语言进行自适应的 SQL 生成。经过实验,此举不仅对不同数据集之间有增益作用,而且一套模型也提高了迭代评测的效率。
5. 基于 SQL 语法解码
常规 decoder 语言模型生成自然语言,对生成内容的文法并没有太多要求。但由于我们这里的 decoder 生成内容是 SQL,需要符合 SQL 语法,但生成模型不管是基于 search 还是 sample 策略解码并不能够保证SQL语法的合法性。为此我们借鉴学术界提出的思路,从生成大量候选 SQL 中挑选语法正确的作为最终生成结果,这样 SQL 语法正确性就得到了保证。
除了上述提到的优化思路外,还有部分思路是基于我们在真实业务的洞察提出的,这里篇幅有限,不再详述。虽然从具体业务场景切入,但是发现其间沉淀的技术都是可复用的,同时也有了一些新的思考和发现,可进一步注入到我们的技术沉淀中。我们愈发认识到,自然语言转换 SQL 是一项充满挑战的任务,对学术界和产业界有巨大价值待发掘。
共建面向未来的智能湖仓产品
现代数字化经济当中,数据作为第五生产要素,具有极大的经济价值,如何高效便捷的去释放和挖掘数据价值,对于诸多中小企业来说困难重重。数元灵科技基于自国产唯一的湖仓框架LakeSoul,能快速搭建多源异构的实时数据中台,为企业完善管理好自身的数据资产。然后在此基础上,通过领先的AIGC技术积累,提供数智化的业务赋能。
数元灵科技基于真实客户业务的沉淀,研发了一套 Text2SQL 技术方案,支持私有化部署,保障客户的数据隐私安全,让 AI 走进湖仓、为用户提供更低的数据交互门槛,同时我们也在权威评测榜单上检验了自研技术的先进性。LakeSoul 通过结合 AIGC 的技术,将提供更智能人机接口能力,大大简化开发者和用户与数据库交互的方式。我们相信在不远的将来,数据价值将惠及每个人、每个企业,而不断降低触达数据价值的门槛就是我们的使命,让我们大家一起共建数据智能技术生态。