不会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
相关文章
|
8天前
|
SQL 人工智能 算法
【SQL server】玩转SQL server数据库:第二章 关系数据库
【SQL server】玩转SQL server数据库:第二章 关系数据库
51 10
|
10天前
|
SQL
sql语句加正则 简化查询
sql语句加正则 简化查询
14 0
sql语句加正则 简化查询
|
16天前
|
关系型数据库 MySQL 数据库
轻松入门MySQL:精准查询,巧用WHERE与HAVING,数据库查询如虎添翼(7)
轻松入门MySQL:精准查询,巧用WHERE与HAVING,数据库查询如虎添翼(7)
|
25天前
|
SQL 存储 BI
【软件设计师备考 专题 】数据库语言(SQL)
【软件设计师备考 专题 】数据库语言(SQL)
89 0
|
28天前
|
SQL
sql server链接查询
sql server链接查询
17 1
|
28天前
|
SQL
sql server简单查询
sql server简单查询
14 1
|
29天前
|
SQL 缓存 PHP
PHP技术探究:优化数据库查询效率的实用方法
本文将深入探讨PHP中优化数据库查询效率的实用方法,包括索引优化、SQL语句优化以及缓存机制的应用。通过合理的优化策略和技巧,可以显著提升系统性能,提高用户体验,是PHP开发者不容忽视的重要议题。
|
1月前
|
SQL 安全 数据库
SQL-Server 数据库部署
SQL-Server 数据库部署
61 0
|
29天前
|
SQL 数据库
sql server中创建数据库和表的语法
sql server中创建数据库和表的语法
18 1
|
18天前
|
SQL 关系型数据库 MySQL
mysql一条sql查询出多个统计结果
mysql一条sql查询出多个统计结果
13 0