不会SQL?没关系,以后动动嘴就能查询数据库了 | 附论文

简介:
本文来自AI新媒体量子位(QbitAI)

ed3e512e702896de19322d8d15c1a701c771ce2f

在编程世界里,SQL非常简单。然而,这种语言仍有一定的学习难度,导致许多人无法与关系数据库进行交互。Salesforce的人工智能研究团队正着手探索,如何利用机器学习技术,给不了解SQL的人群打开一扇大门。

该团队近期发表论文《Seq2SQL:利用强化学习技术从自然语言生成结构化查询》。论文中提出的方法基于语句到语句模型,而这通常被用于机器翻译。利用强化学习系统,该团队将自然语言翻译成为数据库查询指令,并取得了很不错的结果。

论文作者是来自Salesforce研究院的Victor Zhong、Caiming Xiong、Richard Socher。

c77e67c46c42008f4e3e44dff36d71d0273e4a0c

这个Seq2SQL模型由三部分组成。

在实践中,这意味着用户可以简单地提问,大学橄榄球联赛中哪支队伍最终获胜,而适当的数据库会告诉你,胜利者是密歇根大学。

参与该项目的Salesforce研究员Victor Zhong表示:“我们实际上并没有一种正确的方式来编写查询指令。如果用自然语言提出问题,那么可能会有两到三种方式来编写查询指令。我们使用强化学习技术,鼓励使用能获得同样结果的指令。”

你可以想象,在单词库很大的情况下,机器翻译问题会很快变得非常复杂。而通过限制可能翻译结果的数量,问题会变得相对简单。因此,Salesforce选择了将单词库限制为数据库标签使用的单词、问题中包含的单词,以及通常用在SQL查询中的单词。

cc54de488961cf3983901cfc4d334c959c2789ad

推动SQL普及的想法并不新鲜。例如,近期被Tableau收购的创业公司ClearGraph就尝试用英语而非SQL语言来查询数据。

Victor Zhong表示:“某些模型在数据库自身之上执行。但如果你查询社会安全号码,那么这样做就可能就牵涉到隐私问题。”

除论文本身,Salesforce在这个领域的最大贡献在于,构建了WikiSQL数据集,协助模型的建立。最初的HTML表格取材于维基百科。这些表格成为了随机生成的SQL查询的基础。这些查询被用于生成问题,随后被提交给人工,通过亚马逊Mechanical Turk进行改写。在人工指导下,每个问题都会被验证两次。最终形成的数据集是这个领域最大的数据集。

论文下载

对这篇论文感兴趣的朋友,可以在量子位微信公众号(QbitAI)对话界面回复:“SQL”,就可以获得下载地址了~

本文作者:陈桦 
原文发布时间:2017-08-30
相关文章
|
2月前
|
SQL 机器学习/深度学习 人工智能
从“写SQL”到“聊数据”:NL2SQL如何用自然语言解锁数据库?
本文系统性地阐述了自然语言转SQL(NL2SQL) 技术如何让非技术背景的业务分析师实现数据自助查询,从而提升数据驱动决策的效率与准确性。
从“写SQL”到“聊数据”:NL2SQL如何用自然语言解锁数据库?
|
1月前
|
SQL 监控 关系型数据库
一键开启百倍加速!RDS DuckDB 黑科技让SQL查询速度最高提升200倍
RDS MySQL DuckDB分析实例结合事务处理与实时分析能力,显著提升SQL查询性能,最高可达200倍,兼容MySQL语法,无需额外学习成本。
|
1月前
|
SQL 存储 关系型数据库
MySQL体系结构详解:一条SQL查询的旅程
本文深入解析MySQL内部架构,从SQL查询的执行流程到性能优化技巧,涵盖连接建立、查询处理、执行阶段及存储引擎工作机制,帮助开发者理解MySQL运行原理并提升数据库性能。
|
4月前
|
人工智能 安全 机器人
无代码革命:10分钟打造企业专属数据库查询AI机器人
随着数字化转型加速,企业对高效智能交互解决方案的需求日益增长。阿里云AppFlow推出的AI助手产品,借助创新网页集成技术,助力企业打造专业数据库查询助手。本文详细介绍通过三步流程将AI助手转化为数据库交互工具的核心优势与操作指南,包括全场景适配、智能渲染引擎及零代码配置等三大技术突破。同时提供Web集成与企业微信集成方案,帮助企业实现便捷部署与安全管理,提升内外部用户体验。
472 12
无代码革命:10分钟打造企业专属数据库查询AI机器人
|
22天前
|
SQL 人工智能 Linux
SQL Server 2025 RC1 发布 - 从本地到云端的 AI 就绪企业数据库
SQL Server 2025 RC1 发布 - 从本地到云端的 AI 就绪企业数据库
194 5
SQL Server 2025 RC1 发布 - 从本地到云端的 AI 就绪企业数据库
|
10天前
|
SQL 存储 监控
SQL日志优化策略:提升数据库日志记录效率
通过以上方法结合起来运行调整方案, 可以显著地提升SQL环境下面向各种搜索引擎服务平台所需要满足标准条件下之数据库登记作业流程综合表现; 同时还能确保系统稳健运行并满越用户体验预期目标.
62 6
|
1月前
|
SQL 监控 关系型数据库
SQL优化技巧:让MySQL查询快人一步
本文深入解析了MySQL查询优化的核心技巧,涵盖索引设计、查询重写、分页优化、批量操作、数据类型优化及性能监控等方面,帮助开发者显著提升数据库性能,解决慢查询问题,适用于高并发与大数据场景。
|
5月前
|
SQL 数据挖掘 数据库
第三篇:高级 SQL 查询与多表操作
本文深入讲解高级SQL查询技巧,涵盖多表JOIN操作、聚合函数、分组查询、子查询及视图索引等内容。适合已掌握基础SQL的学习者,通过实例解析INNER/LEFT/RIGHT/FULL JOIN用法,以及COUNT/SUM/AVG等聚合函数的应用。同时探讨复杂WHERE条件、子查询嵌套,并介绍视图简化查询与索引优化性能的方法。最后提供实践建议与学习资源,助你提升SQL技能以应对实际数据处理需求。
346 1
|
4天前
|
SQL 关系型数据库 MySQL
(SQL)SQL语言中的查询语句整理
查询语句在sql中占了挺大一部分篇幅,因为在数据库中使用查询语句的次数远多于更新与删除命令。而查询语句比起其他语句要更加的复杂,可因为sql是数据库不可或缺的一部分,所以即使不懂,也必须得弄懂,以上。
58 0
|
2月前
|
SQL XML Java
通过MyBatis的XML配置实现灵活的动态SQL查询
总结而言,通过MyBatis的XML配置实现灵活的动态SQL查询,可以让开发者以声明式的方式构建SQL语句,既保证了SQL操作的灵活性,又简化了代码的复杂度。这种方式可以显著提高数据库操作的效率和代码的可维护性。
188 18