百度语义解析 ( Text-to-SQL ) 技术研究及应用
本文插图
来源:DataFunTalk
本文长度为6500字 , 建议阅读10+分钟
本文介绍自然语言问题转成数据库可操作的SQL查询语句的应用 。
本文插图
[ 导读 ]语义解析 ( Semantic Parsing ) 是自然语言处理技术的核心任务之一 , 涉及语言学、计算语言学、机器学习以及认知语言等多个学科 , 在近几年中获得了广泛关注 , 语义解析任务有助于促进机器语言理解的快速发展 。
本文重点介绍语义解析技术中的Text-to-SQL任务 , 让机器自动将用户输入的自然语言问题转成数据库可操作的SQL查询语句 , 实现基于数据库的自动问答能力 。
任务介绍及研究动机
当前 , 大量信息存储在结构化和半结构化知识库中 , 如数据库 。 对于这类数据的分析和获取需要通过SQL等编程语言与数据库进行交互操作 , SQL的使用难度限制了非技术用户 , 给数据分析和使用带来了较高的门槛 。 人们迫切需要技术或工具完成自然语言与数据库的交互 , 因此诞生了Text-to-SQL任务 。
我们通过图1中的实例来介绍一下Text-to-SQL任务 。 该任务包含两部分:Text-to-SQL解析器和SQL执行器 。
解析器的输入是给定的数据库和针对该数据库的问题 , 输出是问题对应的SQL查询语句 , 如图中红色箭头标示 。 SQL执行器在数据库上完成该查询语句的执行 , 及给出问题的最终答案 , 如图中绿色箭头标示 。
SQL执行器有很多成熟的系统 , 如MySQL , SQLite等 , 该部分不是本文重点 。 本文主要介绍解析器 , 学术界中Text-to-SQL任务默认为Text-to-SQL解析模型 。
本文插图
【百度语义解析 ( Text-to-SQL ) 技术研究及应用】图1
首先 , 我们介绍一下术语“数据库”和“SQL查询语句”:
1. 数据库由一张或多张表格构成 , 表格之间的关系通过外键给出 。 在该实例中 , 数据库由表 “中国城市”和“2018年宜居城市” 构成 , 两张表通过外键:“中国城市”的“名称”列和“2018年宜居城市”的“名称”列关联;
2. SQL是数据库查询语言 , 其构成来自3部分:数据库(如实例SQL查询语句中蓝色标注的成分)、问题(如实例SQL查询语句红色标注的成分)、SQL关键词(如实例SQL查询语句中的Select、From、Where等) 。
其次 , 我们介绍一下Text-to-SQL解析模型 。 根据SQL的构成 , 解析器需要完成两个任务 , 即“问题与数据库的映射”和“SQL生成” 。
在问题与数据库的映射中 , 需要找出问题依赖的表格以及具体的列 , 如图1实例中 , 问题“绿化率前5的城市有哪些 , 分别隶属于哪些省?”依赖的数据库内容包括:表格“中国城市” , 具体的列“名称”、“所属省”、“绿化率”(SQL查询语句蓝色标注成分) 。
在SQL生成中 , 结合第一步识别结果以及问题包含信息 , 生成满足语法的SQL查询语句 , 如实例中的“Select 名称 , 所属省 From 中国城市 Where 绿化率 > 30%” 。
Text-to-SQL研究进展
Text-to-SQL技术能够有效地辅助人们对海量的数据库进行查询 , 因其有实用的应用场景 , 引起了学术界和工业界的广泛关注 。 我们接下来将从相关数据集和模型两方面介绍该技术的研究进展 。
1. 数据集介绍
图2给出了Text-to-SQL数据集发展趋势 , 代表数据集参见表1 。
本文插图
图2
推荐阅读
- |单赛季仅丢15球——“穆一期”切尔西攻防战术解析
- 东大街知事|而现在才发现百度、高德、谷歌地图都是“错误”的,天天用地图
- 娱乐大起底|《乘风破浪的姐姐》公演舞台来袭:看珍爱网大数据解析女性如何实现自我价值
- 汽车点评AC|价格不变!东风日产2021款骐达车型解析,配置升级
- Google地图天天用地图,而现在才发现百度、高德、谷歌地图都是“错误”的
- 7月5日|等差数列:5,9,13的下一项是?蚂蚁庄园7月5日答案及解析
- 威呐解析|想要打破局面还得等轰-20!,改头换面的轰-6仍称不上战略轰炸机
- 张含韵|《乘风破浪的姐姐们》——张含韵星盘解析
- 团战|原创团战初体验,「炙热」解析团的魅力
- 思小沫|这部戏张国荣造型颓丧,是刻意参考奥斯卡获奖电影,西瓜视频解析
