原创作者 | 朱林

论文解读:

Facts as Experts: Adaptable and Interpretable Neural Memory over Symbolic Knowledge

论文作者:

Google Research

论文地址:

https://arxiv.org/abs/2007.00849

收录会议:

NAACL 2021

01 介绍

大规模语言模型,如BERT、Transformer等是现代自然语言建模的核心,其已被证明可以编码进大量的常识和事实(Fact)信息,是许多下游应用的基础。

然而,这些知识只存在于模型的潜在参数中,无法进行检查和解释。更糟糕的是,随着时间和外部环境的变化,从训练语料库中学习并记忆的事实信息可能会过时或出错。

为了解决这些问题,本文作者开发了一种神经语言模型Facts-as-Experts (FaE),其在神经网络语言模型和符号知识库(symbolic KB)之间建立了一个桥梁,将深度神经网络的表达能力优势和符号知识库的推理能力优势进行了有机结合。

实验表明,该模型在两个知识密集型问答任务中显著提高了性能。更有趣的是,该模型可以通过操纵其符号表示来更新模型而无需重新训练,且该模型允许添加新的事实并以早期模型不可能的方式覆盖现有的事实。

02 模型

符号定义

总体架构

Facts-as-Experts(FaE)模型建立在最新提出的专家实体语言模型Entities-as-Experts(EaE)上,EaE是一种可以直接从文本中学习与实体相关Memory的新模型,参数规模小于Transformer模型,但是性能优于Transformer架构。

FaE模型在EaE基础上包含一个称为Fact Memory的附加Memory,它从符号知识库中编码出三元组。每个三元组都是由组成它实体的EaE-learned嵌入组成的。这个Fact Memory用一个键值对表示,可以用来检索知识库中的信息。

如图1所示,虚线内的模型是EaE,右侧是Fact Memory。首先输入一段文本,使用[MASK]作为对Fact Memory的查询,使用Transformer层对其进行上下文编码。

然后,通过上下文查询得到事实的Key(如[Charles Darwin, born in]),以及该Key的Values(如{United Kingdom})。返回被合并回上下文中以进行最终预测。事实中的键值与EaE实体Memory共享。

通过这种组合产生了一个新的神经语言模型,该模型能有效结合符号知识图中的信息。

图1 Facts-as-Experts模型架构

附加和集成

03 实验

数据集

本文在两个开放域问答数据集上进行了评估:FreebaseQA和WebQuestionsSP,这两个数据集都是从Freebase创建的。Freebase是个类似Wikipedia的创作共享类网站,所有内容都由用户添加。

结果

表1 两个数据集上的评估

如表1所示,作者将FaE与三个基线模型进行比较:FOFE、EmQL和Entity-as-Expert(EaE)。

FOFE是一种前馈语言模型,旨在对长序列进行编码,并且是FreebaseQA数据集上之前最先进的模型。EmQL是作为知识库上的查询嵌入引入的,是WebQuestionsSP上之前最先进的模型。另外还有上文提到的EaE模型。

结果显示,FaE在FreebaseQA数据集上的准确率高于其他基线模型近10个百分点。在WebQuestionsSP完整数据集上FaE的性能相对较低,但这主要是由于Freebase和Wikidata之间的映射导致知识库不完整导致的。

04 讨论

数据重叠

本文模型主要关注对模型使用外部知识回答问题的能力,而不是学习识别语义相同的问题。

不幸的是,对这两个数据集的分析表明,许多测试答案也显示为某些训练集问题的答案:FreebaseQA测试数据中75.0%的答案和WebQuestionsSP中57.5%的答案都是这种情况。

这表明了一种可能性,即模型的某些高性能可能归因于简单地记住特定的问题/答案对。

为了解决这个问题,作者丢弃了重叠部分查询实验。当应用重叠过滤之后,模型的表现要差得多,并且它们被迫依赖于跨多个示例进行推理的能力,在FaE中指的是Fact Memory。

新事实注入

因为作者的模型只是象征性地定义了事实,原则上它可以注入Memory中新的事实,而无需重新训练模型的任何参数。

为了测试模型执行此任务的能力,作者比对了模型在给定完整知识、过滤知识和注入知识的情况下的结果,如表2所示。过滤知识和注入知识的方法差距证明模型能够很好地结合新引入的事实。

表2 注入新的事实的对比结果

更新陈旧Memory

作者希望模型能很好地对知识进行表示,并且这种知识表示可以通过随外界环境变化而增量更新来避免数据过时。

为了探究这种能力,作者模拟了这个场景的一个极端版本,其中FreebaseQA测试集中对问答对的所有答案都替换为合理的其他值。

05 结论

在本文中,作者提出了一种将神经网络语言模型与可解释的符号知识库相结合的新模型FaE。该模型在事实性问答任务方面表现出与高性能语言模型相当或更好的性能,且该模型可以通过仅修改非参数的Memory部分而无需任何额外训练来更改语言模型的输出,是值得深入研究的一个新方向。

06 思考

本文留给了我们一些启发与思考:

(1) 深度神经网络语言模型实验效果很好,但是依赖于超大的数据集和深度的不可解释的参数空间,是一个典型的黑盒模型,实际应用很难调节和解释。而目前越来越的新方法尝试与符号知识库等有推理能力和解释能力的模型进行结合,以提高可解释性。

(2) 结合符号逻辑或者可解释的严谨的数学模型,我们可以构造出仅仅需要改变外部结构就能泛化到别的应用场景能力,而不用每次都拿新的数据喂给模型重新训练参数,如果这个思路可行,在实际工程中就可以节省很多训练时间和存储空间,是个值得研究的方向。

(3) 目前不少问答数据集存在训练集和测试集重叠的问题,导致了实验结果的“虚高”,值得重新构造恰当的数据集进行实验和探讨,使结果更为严谨。

FaE:基于符号知识的适应性和可解释的神经记忆的更多相关文章

  1. 【论文小综】基于外部知识的VQA(视觉问答)

    ​ 我们生活在一个多模态的世界中.视觉的捕捉与理解,知识的学习与感知,语言的交流与表达,诸多方面的信息促进着我们对于世界的认知.作为多模态领域的一个典型场景,VQA旨在结合视觉的信息来回答所提出的问题 ...

  2. Linux通配符与特殊符号知识大全汇总

    符号 作用 Linux通配符 * 匹配任意(0个或多个)字符或字符串,包括空字符串 ? 匹配任意1个字符,有且只有一个字符 [abcd] 匹配abcd中任何一个字符,abcd也可是其他任意不连续字符 ...

  3. 关于调用约定(cdecl、fastcall、、thiscall) 的一点知识(用汇编来解释)good

    函数调用规范   当高级语言函数被编译成机器码时,有一个问题就必须解决:因为CPU没有办法知道一个函数调用需要多少个.什么样的参数.即计算机不知道怎么给这个函数传递参数,传递参数的工作必须由函数调用者 ...

  4. CRM 2011 Plugin 知识的总结加代码解释

    1.??的使用,就是判断值是否为null,为null的话,给赋初值,否则就直接取值. decimal new_amount = 0; if (targetEntity.Contains("字 ...

  5. 知识图谱顶会论文(ACL-2022) ACL-SimKGC:基于PLM的简单对比KGC

    12.(2022.5.4)ACL-SimKGC:基于PLM的简单对比KGC 12.(2022.5.4)ACL-SimKGC:基于PLM的简单对比KGC 摘要 1.引言 2.相关工作 2.1 知识图补全 ...

  6. 简单构建基于RDF和SPARQL的KBQA(知识图谱问答系统)

    本文主要通过python实例讲解基于RDF和SPARQL的KBQA系统的构建.该项目可在python2和python3上运行通过. 注:KBQA即是我们通常所说的基于知识图谱的问答系统.这里简单构建的 ...

  7. 基于机器学习的web异常检测

    基于机器学习的web异常检测 Web防火墙是信息安全的第一道防线.随着网络技术的快速更新,新的黑客技术也层出不穷,为传统规则防火墙带来了挑战.传统web入侵检测技术通过维护规则集对入侵访问进行拦截.一 ...

  8. CS(计算机科学)知识体

    附 录 A                   CS( 计算机科学)知识体 计算教程 2001 报告的这篇附录定义了计算机科学本科教学计划中可能讲授的知识领域.该分类方案的依据及其历史.结构和应用的其 ...

  9. 基于机器学习的web异常检测——基于HMM的状态序列建模,将原始数据转化为状态机表示,然后求解概率判断异常与否

    基于机器学习的web异常检测 from: https://jaq.alibaba.com/community/art/show?articleid=746 Web防火墙是信息安全的第一道防线.随着网络 ...

随机推荐

  1. 学习Java第1天

    今天所做的工作:1.了解Java语言的发展历史 2.安装了Eclipse软件 3.学习了Eclipse的基本使用方法 4.学习了Java基本输出语法 5.成功输出了helloworld 6.学习了Ja ...

  2. Lesson4——Pandas DataFrame结构

    pandas目录 思维导图 1 简介 DataFrame 是 Pandas 的重要数据结构之一,也是在使用 Pandas 进行数据分析过程中最常用的结构之一. 2 认识DataFrame结构 Data ...

  3. 解决SpringBoot连接Nacos集群报400问题

    问题描述 搭建一个Nacos集群,使用 SpringBoot 程序连接 Nacos 集群,在启动的时候报异常,程序启动失败,而后程序假死.详细控制台日志信息如下: failed to req API: ...

  4. 一些求和式的估算 & 杜教筛时间复杂度证明

    本文内容概要: \(A=\sum\limits_{i=1}^n\dfrac1{\sqrt i}=1+\dfrac1{\sqrt2}+\cdots+\dfrac1{\sqrt n}\) \(O(\sqr ...

  5. git命令log与reflog的比较

    感谢原文作者:杨鲜生 原文链接:https://blog.csdn.net/u013252047/article/details/80230781 用git命令,想看到自己的操作记录,则可以使用log ...

  6. VC 获取当前运行窗口名称

    转载请注明来源:https://www.cnblogs.com/hookjc/ BOOL CALLBACK WindowChild(HWND hwnd,LPARAM lparam){ CFGDlg* ...

  7. 编译PHP扩展的方式

    编译的两种方式其实很简单,这里记录只是为了以后遇到这种情况时不加思索地运用上,而不是花费一些时间去回忆. C/C++程序编译有两种方式:动态编译.静态编译.PHP 是使用 C/C++程序开发的一门脚本 ...

  8. Ajax使用post方式发送数据注意事项

    Ajax使用post方式给服务器传递数据时,需要将传递的字符串转化为模拟from表单发送数据的XML格式 在open之后奢姿头协议信息,模拟from表单传递数据 xhr.setRequestHeade ...

  9. MLlib学习——基本统计

    给定一个数据集,数据分析师一般会先观察一下数据集的基本情况,称之为汇总统计或者概要性统计.一般的概要性统计用于概括一系列观测值,包括位置或集中趋势(比如算术平均值.中位数.众数和四分位均值),展型(比 ...

  10. Solution -「CERC 2016」「洛谷 P3684」机棚障碍

    \(\mathcal{Description}\)   Link.   给一个 \(n\times n\) 的网格图,每个点是空格或障碍.\(q\) 次询问,每次给定两个坐标 \((r_1,c_1), ...