前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >学界 | 不用再学SQL语言了,Salesforce用自然语言就能在数据库中查询

学界 | 不用再学SQL语言了,Salesforce用自然语言就能在数据库中查询

作者头像
AI科技评论
发布2018-03-13 18:05:06
1.3K0
发布2018-03-13 18:05:06
举报
文章被收录于专栏:AI科技评论AI科技评论

AI 科技评论按:随着机器学习蓬勃发展,新的研究领域不停地出现。除了创造并解决新的问题之外,现有的应用其实也可以从机器学习大为受益。Salesforce 近期的一篇论文就介绍了利用机器学习,无需学习SQL语言就可以在数据库中进行查询。 AI 科技评论把相关报道编译如下。

SQL在编程领域被提到得越来越少,但是SQL语言的学习曲线仍然陡峭,这就让很多人放弃了尝试直接和关系型数据库打交道。CRM 软件服务商 Salesforce 的人工智能研究团队就从自己的业务开始下手,探索如何让不具备 SQL 知识的人通过机器学习打开数据库操作的大门。

在他们近期的论文「Seq2SQL: Generating Structured Queries from Natural Language using Reinforcement Learning」(Seq2SQL:用强化学习从自然语言生成结构化查询语句)中,构建了一个机器学习中典型的序列到序列模型。在其中用到的强化学习让模型在翻译自然语言到SQL数据库查询语句任务中取得了让人眼前一亮的成果。

这就意味着,在实际应用中用户可以直接问系统:“橄榄球高校巡回赛排名第一的是哪支队伍”,系统就会自动查询对应的数据库,然后告诉你答案是密歇根大学队。正如下面这张动图示意的?

Salesforce 研究员 Victor Zhong,也是这篇论文的第一作者,介绍说:“一个正确的查询语句其实可以有好几种写法。如果给系统里输入一个自然语言的问题,对应的查询语句可能会有两三种。我们用强化学习来鼓励系统选用能够查询到相同结果的语句。”

随着自然语言的提问里包含的单词变多,可以想象这种机器翻译任务也会很快变得非常复杂。应对方式就是,对于每一个缺失单词的可能翻译数目施加的限制越多,翻译任务就会变得越简单。Salesforce 的研究人员们就利用了这种想法,他们对系统的提问里、数据库标签里和典型 SQL 查询语句里能够包含的单词做了一些限制,从而简化了翻译系统的设计难度。

让 SQL 平民化其实也不是新鲜事了,Tableau 最近收购了创业公司 ClearGraph,后者的业务就是提供用英语而不是SQL语言查询数据的方案。

Victor Zhong 补充说:“有的模型直接在数据库上做操作,但是如果提问一个关于身份证号的问题就会有潜在的隐私问题。”

除了论文里的方案本身,Salesforce 的这项研究还有一个贡献是他们构建的 WikiSQL 数据集,他们的翻译模型就是用这个数据集训练出来的。他们首先从 Wikipedia 采集了HTML表单,这些表单就成为了随机生成的 SQL 查询语句的基础;他们从这些查询生成了对应的问题,然后把问题放到亚马逊 Mechanical Turk 众包平台上让人类把它们改写成自然语言。每个改写后的句子都会被确认两次,而且还安排了单独的人指导这些确认过程。最终构成的 WikiSQL 数据集也是目前所有同类数据集中最大的一个。

via TechCrunch,AI 科技评论编译

论文地址:https://einstein.ai/static/images/layouts/research/seq2sql/seq2sql.pdf

本文参与 腾讯云自媒体分享计划,分享自微信公众号。
原始发表:2017-08-30,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 AI科技评论 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
相关产品与服务
NLP 服务
NLP 服务(Natural Language Process,NLP)深度整合了腾讯内部的 NLP 技术,提供多项智能文本处理和文本生成能力,包括词法分析、相似词召回、词相似度、句子相似度、文本润色、句子纠错、文本补全、句子生成等。满足各行业的文本智能需求。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档