当前位置:   article > 正文

AI-比赛-语义解析:首届中文NL2SQL挑战赛_nl2sql大模型中文

nl2sql大模型中文

背景介绍

数据库中存储了海量的高价值数据,用户可以通过执行SQL与结构化数据直接进行交互,也可以通过设计好的交互界面进行交互。但SQL的使用难度限制了非技术用户,交互界面的设计也限制了使用的界限。通过自然语言直接与结构化数据进行交互,可以充分利用结构化数据的价值,为用户带来体验和效率的提升。

追一科技主攻深度学习和自然语言处理,致力于以业界最领先的AI解决方案、产品和服务为客户和用户创造价值,共创未来人类美好生活。我们希望通过NL2SQL赛题,拉近用户与结构化数据间的距离,实现人机交互体验升级。

竞赛题目

首届中文NL2SQL挑战赛,使用金融以及通用领域的表格数据作为数据源,提供在此基础上标注的自然语言与SQL语句的匹配对,希望选手可以利用数据训练出可以准确转换自然语言到SQL的模型。

Baseline 方案参考 GitHub - ZhuiyiTechnology/nl2sql_baseline

数据说明

本次赛题将提供4万条有标签数据作为训练集,1万条无标签数据作为测试集。其中,5千条测试集数据作为初赛测试集,对选手可见;5千条作为复赛测试集,对选手不可见。

提供的数据集主要由3个文件组成,以训练集为例,包括train.json、train.tables.json及train.db。

train.json文件中,每一行为一条数据样本。数据样例及字段说明例如下:

  1. {
  2. "table_id": "a1b2c3d4", # 相应表格的id
  3. "question": "世茂茂悦府新盘容积率大于1,请问它的套均面积是多少?", # 自然语言问句
  4. "sql":{ # 真实SQL
  5. "sel": [7], # SQL选择的列
  6. "agg": [0], # 选择的列相应的聚合函数, '0'代表无
  7. "cond_conn_op": 0, # 条件之间的关系
  8. "conds": [
  9. [1,2,"世茂茂悦府"], # 条件列, 条件类型, 条件值,col_1 == "世茂茂悦府"
  10. [6,0,1]
  11. ]
  12. }
  13. }

其中,SQL的表达字典说明如下:

  1. op_sql_dict = {0:">", 1:"<", 2:"==", 3:"!="}
  2. agg_sql_dict = {0:"", 1:"AVG", 2:"MAX", 3:"MIN", 4:"COUNT", 5:"SUM"}
  3. conn_sql_dict = {0:"", 1:"and", 2:"or"}

train.tables.json 文件中,每一行为一张表格数据。数据样例及字段说明例如下:

  1. {
  2. "id":"a1b2c3d4", # 表格id
  3. "name":"Table_a1b2c3d4", # 表格名称
  4. "title":"表1:2019年新开工预测 ", # 表格标题
  5. "header":[ # 表格所包含的列名
  6. "300城市土地出让",
  7. "规划建筑面积(万㎡)",
  8. ……
  9. ],
  10. "types":[ # 表格列所相应的类型
  11. "text",
  12. "real",
  13. ……
  14. ],
  15. "rows":[ # 表格每一行所存储的值
  16. [
  17. "2009年7月-2010年6月",
  18. 168212.4,
  19. ……
  20. ]
  21. ]
  22. }

tables.db为sqlite格式的数据库形式的表格文件。各个表的表名为tables.json中相应表格的name字段。为避免部分列名中的特殊符号导致无法存入数据库文件,表格中的列名为经过归一化的字段,col_1, col_2, …, col_n。db文件将后续更新。

另外,也提供用于baseline方案的字向量文件char_embedding,每一行的内容为字符及其300维的向量表达,以空格分隔。

结果提交说明

初赛阶段,选手需要提交特定格式的测试数据的预测结果文件,格式参考sample.json。

复赛阶段,选手采用docker镜像的提交方式进行结果的提交,其中包括数据预处理、模型预测、生成结果文件等步骤的代码。生成的预测文件格式参考sample.json。输入输出路径后续补充。
 

评分标准

比赛的评分标准包括:
Logic Form Accuracy: 预测完全正确的SQL语句。其中,列的顺序并不影响准确率的计算。
Execution Accuracy: 预测的SQL的执行结果与真实SQL的执行结果一致。

排行榜以Score_{lf}与Score_{ex}的平均值排序。

Score_{lf}=

{1,SQL=SQL0,SQLSQL
Acc_{lf} = {1\over N}\sum_{n=1}^N Score_{lf}^nScore_{ex}=
{1,Y=Y0,YY
Acc_{ex} = {1\over N}\sum_{n=1}^N Score_{ex}^n

其中, N表示数据量, SQL'和SQL分别代表预测的SQL语句和真实的SQL语句, Score_{lf}表示Logic Form准确率; Y'和Y分别代表预测的SQL和真实的SQL的执行结果, Score_{ex}表示Execution准确率。
 

注意事项

此次挑战赛不限制参赛者使用外部数据/模型,但禁止参赛者以下行为:
1)大赛主办和协办单位,以及有机会接触赛题背景业务及数据的员工不得参赛;
2)人工标注数据;
3) 审查代码过程中发现有造假、作弊、雷同;
4)多账号刷分等。




首届中文NL2SQL挑战赛_算法大赛_赛题与数据_天池大赛-阿里云天池

GitHub - ZhuiyiTechnology/nl2sql_baseline 

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/喵喵爱编程/article/detail/979777
推荐阅读
相关标签
  

闽ICP备14008679号