不会SQL?没关系,以后动动嘴就能查询数据库了 | 附论文-阿里云开发者社区

开发者社区> 量子位> 正文
登录阅读全文

不会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

版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。

分享:
+ 订阅

官方博客
最新文章
相关文章
官网链接