Auto Byte

专注未来出行及智能汽车科技

微信扫一扫获取更多资讯

Science AI

关注人工智能与其他前沿技术、基础学科的交叉研究与融合发展

微信扫一扫获取更多资讯

陈萍、蛋酱编译

查询非结构化数据库、克服Transformer模型局限性,Facebook提出神经数据库架构

数据库系统是数据分析的主力,但它们需要一个预定义的模式。鉴于文本、图像和其他模式中可用数据量的增加,来自 Facebook 等机构的研究者提出了一种神经数据库架构实例,该方法能够对非结构化数据进行查询,此外,该方法还可以扩展到大型数据库上。


在回答自然语言文本的查询方面,神经模型已经显示出了较大的性能提升。然而,现有的工作无法支持数据库查询,如 「计算所有出生于 20 世纪的女运动员」,这就需要用连接、过滤和聚合等运算对相关事实集进行推理。

数据库是每一台计算机程序和在线服务的重要组成部分, 但传统数据库系统的刚性结构限制了它们的使用方式。这些系统需要预设 schema,并且只能用 SQL 编写的定义良好的语义来回答查询查询必须是精确的,以返回正确的信息。此外,数据必须以符合 schema 的方式存储。因此,对非结构化数据的有效利用是一项挑战。

神经数据库

Facebook AI 开发了一种称为神经数据库(neural databases)的新方法,该方法使机器能够搜索非结构化数据,包括从大量文本到歌曲录音,其类似于传统系统搜索典型结构化数据库的方式。

神经数据库数据库和 NLP 之间架起了一座桥梁,使得在标准化、结构化数据上使用自然语言查询取得了重大进展。研究者可以提出特别的查询,比如「有多少个队伍以三分以上的优势赢得了比赛?」目前现有的系统还无法查询那些没有组织到结构化数据库中的信息集合。相反,机器学习模型可以为语义模糊、数据不符合预定义 schema 等这类任务提供强大的预测功能。然而,机器学习模型没有数据库所具有的组合优势。因此,机器学习模型很难或不可能将模型扩展到没有见过的预测任务上,例如查询「20 世纪 70 年代发行的恐怖电影有多少评论是正面的?」又比如「20 世纪 70 年代有多少 30 岁以下的导演发行的恐怖电影获得正面评论?」

无论是维基百科还是社交媒体上的公开帖子,在传统的数据库之外还存在着海量的数据,教会机器执行复杂的数据查询,在很多应用中都非常有用。然而部署具有这些功能的系统还需要大量的额外工作。这项研究希望通过分享他们在神经数据库方面的工作,帮助 AI 界实现这一重要目标。

举例来说,以下是来自神经数据库查询和回答的例子:在自然语言数据库中,事实以自由格式的文本存储,不需要特殊模式,如下文本所示:

Nicholas 和妻子住在华盛顿特区;
Sheryl 是 Nicholas 妻子;
1912 年,Teuvo 出生于俄罗斯;
1978 年,Sheryl 的母亲生下了她;
Nicholas 是一名医生;
1982 年,Sarah 出生在芝加哥;
2010 年,Sarah 和 John 结婚;
Sarah 在纽约的一家医院当医生。

根据上述提供的内容,我们可以进行查询

列出所有 1980 年以前出生的人。
(Set) → Sheryl, Teuvo,...

谁的配偶是医生?
(Join) → Sheryl, John,...

谁是年龄最大的人?
(Max) → Teuvo

谁是 Sheryl 的妈妈?
(Set) → NULL

算法实现与结果

研究人员在开始研究神经数据库时,他们观察到神经模型,特别是基于 Transformer 的模型,在回答自然语言文本的查询时表现出令人印象深刻的性能提升。然而,现有的工作无法支持数据库查询,例如无法查询「列出或统计出 20 世纪出生的所有女运动员」,实现这一查询需要使用 join、filtering、aggregation 等操作,才能对一组相关事实进行推理。

众所周知,由于使用了自注意力,Transformer 模型不能很好地扩展到较大的输入。研究发现,解码器中的融合以及 LongFormer 等机制可以减轻因扩展带来的问题,但是也损害了模型的性能。该研究所用方法克服了这些问题,该方法在使用传统计算来聚合结果之前,先生成数据库中少量事实的中间查询派生。

为了解决上述挑战,该研究提出了一个神经数据库架构实例,它在聚合结果之前使用并行化的非块状(nonblocking)运算符对文本事实进行操作。如下图所示,该架构由三个核心组件构成:支持集生成器(support set generator,SSG),用来检索相关事实的小集合,称为支持集;一个可并行化、非块状的 NSPJ(neural select-project-join)操作符,用来生成中间答案,可以联合生成最终答案;以及可选的聚合阶段,该阶段使用常规计算来执行数值推理。该架构的关键见解是利用神经模型的优势,即对一小部分事实进行推理。

体系架构概览,包括 SSG、NSPJ 和聚合。

结果表明该方法可以进行扩展;随着相关支持集(support set)数量的增加,它可以对许多事实集进行推理(见下图)。


即使提供了正确的上下文,对于需要组合多个支持集的查询,基线分数也会降低。

数据库的大小增加到超过 500 个事实时,与现有方法相比,所提出的神经数据库架构也保持了更高的准确性(见下图)。

当使用使用 25 个事实训练并在更大数据库上测试的模型扩展到更大的数据库时,该研究所用方法能够保持更高的准确性。

更多内容请参考:

  • 神经数据库论文地址:https://aclanthology.org/2021.acl-long.241.pdf

  • Github 地址:https://github.com/facebookresearch/NeuralDB

  • 《Database reasoning over text》地址:https://aclanthology.org/2021.acl-long.241/


原文链接:https://ai.facebook.com/blog/using-ai-for-database-queries-on-any-unstructured-data-set

理论TransformerFacebook
1
相关数据
数据分析技术

数据分析是一类统计方法,其主要特点是多维性和描述性。有些几何方法有助于揭示不同的数据之间存在的关系,并绘制出统计信息图,以更简洁的解释这些数据中包含的主要信息。其他一些用于收集数据,以便弄清哪些是同质的,从而更好地了解数据。 数据分析可以处理大量数据,并确定这些数据最有用的部分。

机器学习技术

机器学习是人工智能的一个分支,是一门多领域交叉学科,涉及概率论、统计学、逼近论、凸分析、计算复杂性理论等多门学科。机器学习理论主要是设计和分析一些让计算机可以自动“学习”的算法。因为学习算法中涉及了大量的统计学理论,机器学习与推断统计学联系尤为密切,也被称为统计学习理论。算法设计方面,机器学习理论关注可以实现的,行之有效的学习算法。

自注意力技术

自注意力(Self-attention),有时也称为内部注意力,它是一种涉及单序列不同位置的注意力机制,并能计算序列的表征。自注意力在多种任务中都有非常成功的应用,例如阅读理解、摘要概括、文字蕴含和语句表征等。自注意力这种在序列内部执行 Attention 的方法可以视为搜索序列内部的隐藏关系,这种内部关系对于翻译以及序列任务的性能非常重要。

数据库技术

数据库,简而言之可视为电子化的文件柜——存储电子文件的处所,用户可以对文件中的数据运行新增、截取、更新、删除等操作。 所谓“数据库”系以一定方式储存在一起、能予多个用户共享、具有尽可能小的冗余度、与应用程序彼此独立的数据集合。

查询技术

一般来说,查询是询问的一种形式。它在不同的学科里涵义有所不同。在信息检索领域,查询指的是数据库和信息系统对信息检索的精确要求

推荐文章
暂无评论
暂无评论~