陈桦 编译整理
量子位 出品 | 公众号 QbitAI
在编程世界里,SQL非常简单。然而,这种语言仍有一定的学习难度,导致许多人无法与关系数据库进行交互。Salesforce的人工智能研究团队正着手探索,如何利用机器学习技术,给不了解SQL的人群打开一扇大门。
该团队近期发表论文《Seq2SQL:利用强化学习技术从自然语言生成结构化查询》。论文中提出的方法基于语句到语句模型,而这通常被用于机器翻译。利用强化学习系统,该团队将自然语言翻译成为数据库查询指令,并取得了很不错的结果。
论文作者是来自Salesforce研究院的Victor Zhong、Caiming Xiong、Richard Socher。
这个Seq2SQL模型由三部分组成。
在实践中,这意味着用户可以简单地提问,大学橄榄球联赛中哪支队伍最终获胜,而适当的数据库会告诉你,胜利者是密歇根大学。
参与该项目的Salesforce研究员Victor Zhong表示:“我们实际上并没有一种正确的方式来编写查询指令。如果用自然语言提出问题,那么可能会有两到三种方式来编写查询指令。我们使用强化学习技术,鼓励使用能获得同样结果的指令。”
你可以想象,在单词库很大的情况下,机器翻译问题会很快变得非常复杂。而通过限制可能翻译结果的数量,问题会变得相对简单。因此,Salesforce选择了将单词库限制为数据库标签使用的单词、问题中包含的单词,以及通常用在SQL查询中的单词。
推动SQL普及的想法并不新鲜。例如,近期被Tableau收购的创业公司ClearGraph就尝试用英语而非SQL语言来查询数据。
Victor Zhong表示:“某些模型在数据库自身之上执行。但如果你查询社会安全号码,那么这样做就可能就牵涉到隐私问题。”
除论文本身,Salesforce在这个领域的最大贡献在于,构建了WikiSQL数据集,协助模型的建立。最初的HTML表格取材于维基百科。这些表格成为了随机生成的SQL查询的基础。这些查询被用于生成问题,随后被提交给人工,通过亚马逊Mechanical Turk进行改写。在人工指导下,每个问题都会被验证两次。最终形成的数据集是这个领域最大的数据集。
论文下载
对这篇论文感兴趣的朋友,可以在量子位微信公众号(QbitAI)对话界面回复:“SQL”,就可以获得下载地址了~
量子位AI社群8群开始招募啦,欢迎对AI感兴趣的同学,加小助手微信qbitbot2入群;
此外,量子位专业细分群(自动驾驶、CV、NLP、机器学习等)正在招募,面向正在从事相关领域的工程师及研究人员。
进群请加小助手微信号qbitbot2,并务必备注相应群的关键词~通过审核后我们将邀请进群。(专业群审核较严,敬请谅解)
量子位正在招募编辑/记者,工作地点在北京中关村。期待有才气、有热情的同学加入我们!相关细节,请在量子位公众号(QbitAI)对话界面,回复“招聘”两个字。