Cognitive Graph for Multi-Hop Reading Comprehension at Scale (ACL 2019) 阅读笔记
动机: | 为了能让机器能像人类一样拥有阅读理解能力,需要解决三个问题: 1. 推理能力 2. 可解释性 3. 可扩展性 在认知学里,著名的“双过程理论(dual process theory)”认为,人的认知分为两个系统,系统一(System 1)是基于直觉的、无知觉的思考系统,其运作依赖于经验和关联;而系统二(System 2)则是人类特有的逻辑推理能力,此系统利用工作记忆(working memory)中的知识进行慢速但是可靠的逻辑推理,系统二是显式的,需要意识控制的,是人类高级智能的体现。 |
贡献: | 本文提出一个Cognitive Graph QA (CogQA)框架。 1 . system 1 从文本中抽取与问题相关的实体,和候选答案,并用新抽取到的实体和候选答案来扩展(构建) 认知图谱。此外system1还对节点的语义信息进行编码。 2. system 2 在利用图神经网络在认知图谱上进行推理计算,并收集clues去指引system 1抽取下一跳的实体。system2更新语义信息作为推理结果。 上述两个过程迭代执行,直至所有可能的答案都被抽取出,最终的答案是基于system 2的推理结果进行预测的。 |
模型: | 本文用BERT 作为system 1, GNN 作为system 2. 。 1. System 1
Para[x]为关于某个实体x的维基百科文档, clues[x,G]表示 BERT的输出为 值得注意的是, 在开始first-hop还没构建认知图谱的时候,bert 的输入仅为question。
对答案和下一跳实体进行分别预测: 第i个输入的token 是start of answer span 的概率 同理可得 先计算概率最大的前k个起始位置,再对应算出k个结束位置: 使用第0个位置的输出被用来产生一个阈值,判断段落内是否有有意义的“下一跳实体名称”或者“答案候选”。 作者使用第三层至最后一层在第0位置的输出([CLS]位置)作为sem[x,Q,clues] (语义向量)。 2、System 2system 2的第一个作用是产生clues[x,G],即收集包含x前驱节点的句子。 system 2 的第二个作用是更新隐藏层表示X---认知图谱中所有节点的表示。 对于每个节点x, 其初始的隐藏层表示X[x]是system1中的语义向量sem[x,Q,clues] 更新后的隐藏层表示为 【基于谱的更新方法】 其中A为图G的邻接矩阵,
3.PredictorHotpot QA 中的问题通常被分为三类:special question, alternative question, 和 general question。可以通过问题中的疑问词对这三个问题进行区分。 这三种问题可以通过三个子任务解决,这三个子任务都是以X为输入的。
|
优点:图并不是一次性构成的,而是随着推理过程的推进进行拓展的。这样可以减少空间和时间,也避免噪音的引入。
|
更多推荐
Cognitive Graph for Multi-Hop Reading Comprehension at Scale
发布评论