数元灵科技荣登“千言数据集-语义解析”权威评测榜首,让湖仓智能触手可及

923 阅读6分钟

数元灵科技于近日在百度举办的 Text2SQL 权威评测榜“千言语义解析”中夺得冠军,其中 CSpider 数据集上达到了单项第一名,并且以总分 0.78383 成绩获得了总榜单第一。
千言最新.PNG千言语义解析”评测榜提供了来自业界和学界的 NL2SQLDuSQL 以及 CSpider 共三个权威数据集,既包含了领域广泛的真实业务数据,也包含了高级复杂的 SQL 查询语句,是中文 Text2SQL 领域的权威榜单。该榜单参考学术界惯例,采用 Exact Match Score 作为效果评估指标, 该指标能够全方位的衡量 select、where、group、order 等子句取列、取值的准确率以及 SQL 整体准确率,是较为客观的评价标准。

千言.png Text2SQL 技术旨在将用户输入的自然语言问题转成可进行数据库操作的SQL查询语句,实现通过自然语言完成与数据库的交互及获得数据库中的信息,是未来数据智能化中较为重要的一项技术。该领域属于人工智能中的自然语言理解方向(NLU/NLG),不仅具有很高的学术研究价值,而且可以帮助非技术用户通过自然语言与数据库进行交互,降低数据库使用门槛及提升数据库使用效率,同时具有很高的实用价值,在工业界受到了广泛关注。

立足于产业界、向先进技术出发

数元灵是一家致力于帮助企业充分释放业务、数据价值,让数据智能触手可及的公司。公司基于核心湖仓产品 LakeSoul 在广泛真实业务场景中的锤炼,自主研发打造了一套数据智能查询平台,让用户无须编写 SQL 即可对复杂业务场景中的数据进行查询、分析以及可视化,极大的提高了数据价值利用效率、真正让AI在真实数据湖仓产品中触手可及。

公司本着立足于产业界、向着先进技术出发的理念,在攻克真实业务场景中数据智能查询难题的同时,也沉淀了一套先进的 Text2SQL 技术方案,在本次千言语义解析评测中,我们基于对问题和数据的观察,将问题建模为 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 的技术,将提供更智能人机接口能力,大大简化开发者和用户与数据库交互的方式。我们相信在不远的将来,数据价值将惠及每个人、每个企业,而不断降低触达数据价值的门槛就是我们的使命,让我们大家一起共建数据智能技术生态。