阿里云「飞天发布时刻」2024来啦!新产品、新特性、新能力、新方案,等你来探~ 了解详情
写点什么

Salesforce 发布数据库自然语言接口 Photon

  • 2020-10-04
  • 本文字数:1320 字

    阅读完需:约 4 分钟

Salesforce发布数据库自然语言接口Photon

来自 Salesforce Research 和香港中文大学的一个科学家团队发布了一种叫作“Photon”的数据库自然语言接口(NLIDB)。该团队使用深度学习技术构建了一个在通用基准测试中达到 63%准确率的解析器,以及一个可以提示用户澄清模糊问题的错误检测模块。


该团队在最近的ACL 2020大会上演示了 Photon,团队成员 Victoria Lin 在最近的博文中描述了该系统。Photon 的核心是一个基于神经网络的语义解析器,它可以将人类用户的自然语言问题转换成 SQL 查询。解析器在Spider数据集上实现了 63.2%的匹配精度,这是迄今为止排名第二高的结果。Photon 还包含了一个问题校正器,当人类输入不能被翻译成 SQL,它可以检测出来。问题校正器使用“聊天机器人”风格的界面启动一个对话,并进一步完善问题。专业用户还可以直接以 SQL 的形式输入查询。Lin 表示:


从现代 NLP 的进步程度来看,我们相信一个自然语言信息系统的时代即将到来。


NLIDB 的目标是“民主化”从关系数据库提取有用数据的能力,允许用户用自然语言提问,而不需要用 SQL 等编程语言构造查询。与其他同类系统一样,Photon 使用一种被称为语义解析的策略,它将自然语言问题转换成逻辑形式——本质上是将人类语言转换成编程语言语句。Photon 的解析器基于一个神经网络,它的输入是一个与数据库模式相关联的自然语言问题,输出是一个 SQL 查询语句。解析器不能访问数据库的全部内容,但可以访问“范畴列”的值。解析器由一个预先训练好的 BERT 模型和一系列 LSTM 子网络组成。Photon 随后对网络输出执行波束搜索解码,并对结果应用静态 SQL 正确性检查。根据作者的说法,这带来了大约 5%的改进(基于 Spider 数据集)。


为了提高系统的健壮性,Photon 提供了一个问题校正器。校正器使用另一个神经网络——用来确定一个问题是否不能准确地转换成 SQL 的分类器。通过对可翻译问题进行“交换”和“删除”操作,研究人员构建了一个合成数据集来训练分类器。例如,问题“存在多少个国家”可能被转换成“存在多少个”。混淆检测器还可以识别问题中令人感到困惑的部分。这些问题被用于提供修正建议,它们通过聊天界面反馈给用户。


其他科技公司也在构建类似的 NLIDB 系统。微软研究院开发了一个叫作CAMP的神经网络语义解析系统,该系统使用一系列门控循环单元(GRU)将自然语言问题转换为 SQL 查询。谷歌的TAPAS采用了一种稍微不同的方法。TAPAS 的训练过程直接包含了表数据,而不是将自然语言解析为 SQL。Photon 的作者指出,在表数据上训练网络存在数据隐私问题。


在 Hacker News 的一个讨论帖子中,用户对 NLIDB 结果的质量发表了评论。一个用户指出:


模型不善于说“不知道”。不过我很乐观。每年都看到显著的进步(受 NLP 的实际进步推动),训练数据集也变得越来越有趣。现在有了会话数据集(例如https://yale-lily.github.io/cosql)),模型被训练问后续的问题,目标是“让系统来澄清模糊的问题、验证返回的结果,并告知用户那些无法回答或不相关的问题”。这可能是一个巨大的胜利。


Photon 的演示版本已经向公众开放。Lin 说,未来的工作包括“语音输入、自动完成和可视化输出”,但推出这些功能的具体日期尚未公布。


原文链接


Salesforce Releases Photon Natural Language Interface for Databases


公众号推荐:

跳进 AI 的奇妙世界,一起探索未来工作的新风貌!想要深入了解 AI 如何成为产业创新的新引擎?好奇哪些城市正成为 AI 人才的新磁场?《中国生成式 AI 开发者洞察 2024》由 InfoQ 研究中心精心打造,为你深度解锁生成式 AI 领域的最新开发者动态。无论你是资深研发者,还是对生成式 AI 充满好奇的新手,这份报告都是你不可错过的知识宝典。欢迎大家扫码关注「AI前线」公众号,回复「开发者洞察」领取。

2020-10-04 10:002334

评论

发布
暂无评论
发现更多内容

跟着动画学Go数据结构之选择排序

宇宙之一粟

golang 数据结构 选择排序 12月日更

被灵魂问倒:这个BUG为什么没测出来?

华为云开发者联盟

测试 bug 文档 测试用例 测试工程师

GaussDB(DWS)中共享消息队列实现的三大功能

华为云开发者联盟

线程 数据同步 GaussDB(DWS) 共享消息队列 共享消息

【LeetCode】在 D 天内送达包裹的能力Java题解

Albert

算法 LeetCode 12月日更

【1分钟调研赢好礼】HarmonyOS Connect 视频课堂用户反馈问卷

HarmonyOS开发者

HarmonyOS

前端开发之JS中filter()的使用

@零度

JavaScript 前端开发

建木持续集成平台v2.1.0发布

Jianmu

DevOps CI/CD 开源社区

书单 | “实战派”系列,每一本都是学好用好一门技术的“航空母舰”

博文视点Broadview

COG云原生优化遥感影像,瓦片切分的最佳实践

华为云开发者联盟

云原生 遥感影像 瓦片切分 云上遥感影像文件 华为云地理遥感平台

Go语言逆向技术:常量字符串

华为云开发者联盟

字符串 go语言 字符 逆向技术 常量字符串

以 Vuex 为引,一窥状态管理全貌

杨成功

JavaScript Vue 大前端 vuex

龙智宣布与ConnectALL成为合作伙伴 进一步提升DevOps解决方案水平

龙智—DevSecOps解决方案

DevOps ConnectALL 价值流 价值流管理

比特币挖矿与源码解析

恒生LIGHT云社区

比特币 区块链 挖矿

先进开发团队,先用 Apifox,做“API 文档先行”理念的先行者!

狐哥说技术

Apifox API swagger API文档

Sentinel-Go 源码系列(三)滑动时间窗口算法的工程实现

捉虫大师

Go sentinel-go

Hive查询的18种方式

编程江湖

大数据 hive

【征集令】寻找2022年鸿蒙智联“出行新爆款产品”

HarmonyOS开发者

HarmonyOS

读《思辨与立场》-07思维的标准

wood

28天写作 批判性思维 思辨与立场

对话龙智专家,共探DevSecOps实践难点

龙智—DevSecOps解决方案

DevOps DevSecOps

即构科技 RTC 实践与深度解析 | 内容合集

ZEGO即构

音视频 RTC 内容合集 技术实践 技术专题合集

你可能不信,52小时能做出7款超酷产品!

LigaAI

程序员 技术 技术人生 技术分享 hackathon

从 WAN 到 SD-WAN 边缘设备的网络架构

devpoint

TLS ssl SD-WAN 12月日更

Java开发Excel数据导入mysql的实用小技巧

@零度

Java MySQL

龙智第四次荣登“2021上海软件和信息技术服务业高成长百家”名单

龙智—DevSecOps解决方案

上海软件和信息技术服务业

超细!细说Zookeeper选举的一个案例(下)

恒生LIGHT云社区

Go golang zookeeper Go 语言

容器技术正在颠覆传统,重构整个软件世界

巨子嘉

容器 云原生

Redisson:这么强大的实现分布式锁框架,你还没有?

华为云开发者联盟

redis 分布式 分布式锁 可重入锁 Redisson框架

10个比较不错的 JavaScript 库

编程江湖

JavaScript 前端开发

Kubernetes 集群无损升级实践

vivo互联网技术

容器 云原生 服务器集群 Kubernetes 集群

netty系列之:netty对SOCKS协议的支持

程序那些事

Java Netty 程序那些事 SOCKS 12月日更

大数据开发hadoop之yarn基础架构详解

@零度

大数据 hadoop YARN

Salesforce发布数据库自然语言接口Photon_数据库_Anthony Alford_InfoQ精选文章