首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

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

  • 发表于:
  • 本文为 InfoQ 中文站特供稿件
  • 首发地址https://www.infoq.cn/article/kiY1KxaDzVo7j8OHer9D
  • 如有侵权,请联系 cloudcommunity@tencent.com 删除。

扫码

添加站长 进交流群

领取专属 10元无门槛券

私享最新 技术干货

扫码加入开发者社群
领券