Toggle navigation
Mr.Strawberry's House
文章
网址导航
更多
甜品站
杂物间
新版博客
关于 快刀切草莓君
友情链接
妙妙屋开发日志
注册
登录
搜索
文章列表
分类 标签
归档
# 使用外部知识推理的自然语言问答方法 Natural Language QA Approaches using Reasoning with External Knowledge, [arixv](https://arxiv.org/abs/2003.03446) 这篇文章有点像综述,介绍了需要用外部知识进行推理的数据集、知识仓库、相关模型和架构。 ## 1 Introduction and Motivation 理解文本通常需要文本中没有显式陈述的知识。 列举了数个需要用外部知识推理的 NLQA 数据集。 本文将提出几个建立 NLQA系统 的方面,并给出现有方法的调查。 ## 2 Knowledge Repositories and their creation 外部知识仓库主要分为无结构知识和结构化知识两种,前者主要是自由文本或者自然语言,后者是三元组或RDF等。 ### 2.1 无结构化知识 **两个大型仓库** - Wikipedia Corpus - Toronto BookCorpus **其他的数据源** - Aristo Reasoning Challenge (ARC) Copus:14M 科学句子 可以用于 ARC Science QA 任务 - WikiHow Text Summarization dataset:从 wikihow 中提取的文章和摘要 - RoCStories and Story Cloze Task datasets:关于日常活动的丰富因果关系和时间常识 ### 3.2 结构化知识 - Yago:人类验证过的内容 - NELL:不断学习并将新事实更新到其知识库中 - DBPedia:维基百科的变体,RDF 格式的事实和关系 - ConceptNet:合并了多种知识源的图谱 e.g. OpenCyc, DBPedia, Wikitionary - OpenCyc:Cyc 的开源版本,Cyc 是一个长期的 AI 项目,构建详尽的本体、知识库、常识推理引擎。 - Wikitionary:多语言字典,用定义和例子描述词语 - WordNet:和 wikitionary 相比包含更多的词汇信息,里面的词被分到表达不同概念的同义词集。这些集合在概念语义和词汇关系上是内部关联的。 - ATOMIC:常识知识,聚焦在和给定事件相关的推论知识 *if-event-then-event* - VerbPhysics:物理现象的知识 - WebChild:通过抽取和消歧网络内容生成名词、形容词、关系的三元组。 ## 3 Reasoning with external knowledge: Models and Architectures 开发一个整合外部知识推理的 QA 系统,需要有一个或多个外部知识源。 ### 3.1 抽取外部知识 - **神经网络语言模型** e.g. BERT - **词向量** - *信息/知识获取 Retrieval** - 去除噪声让 retrieval 更准确:移除标点,小写,词形化(lemmatization) - 处理过的文本用倒排索引 [Lucene](https://blog.csdn.net/Regan_Hoo/article/details/78802897) 和取出服务 ElasticSearch - 取出知识的步骤包括:搜索关键词,取出初始的内容,再根据任务进行知识重排序 - 有的任务需要多跳获取,这些决定关键词的步骤就比较费算力 - ATOMIC 和 ConceptNet 包括自然语言文本示例 - **语义知识排名/获取** 用信息检索系统获取的知识句子可以用**语义知识排名模型**进行打分 - **结构化知识源** - 手工编码的知识 - inductive logic programming 归纳逻辑编程 ILP ### 3.2 使用外部知识的 NLQA 模型和架构 可以根据**知识传递方式**(结构化,自由文本,隐含在预训练模型里,结合方式)和推理模块类型(符号,神经网络,混合)来分组。 <img src="https://i.loli.net/2021/01/17/lD1C53KSeTz4raO.png" alt="image-20210117150959641" style="zoom: 67%;" /> - **结构化知识和符号推理器**:比较早的 NLQA 系统使用,现在较少使用。 bAbI 数据集上的一个模型有用到 ILP(Inductive Logic Programming),而后用 ASP(Answer Set Programs)。 - **神经网络推理器,隐式包含知识**:Transformers 将知识嵌入到学到的参数中,再用到下游任务中。 - **结构化知识和神经网路推力器** - LSTM 提取树结构知识,用门控机制聚合多个子节点给父母节点,最后创建一个树的表示,并以此提升下游任务。 - 使用基于图的推理系统 e.g. GNN来处理无向图,有向图用图卷积神经网络更好。 - 异构图(有多种节点类型,且边包含不同的语义信息),**异构图注意力网络**是一个通常的选择。 - 层级信息(information in hierarchy),使用层次图神经网络。 <img src="https://i.loli.net/2021/01/17/CYyhGnFsTk92Zvx.png" alt="image-20210117161650441" style="zoom:67%;" /> - K-BERT - 自由文本知识和神经网络推理器 - 网络模型中存储在参数中的知识不足以应对 NLP 任务。 - 记忆网络中外部知识存储在记忆单元;而神经网络推理器知识通常随着模型的输入注入。 - 一种常用的方式如下,用IR预先选择一个近似的知识集合,然后让推理模型使用它。 <img src="https://i.loli.net/2021/01/17/EiVqnoCpdgsktlF.png" alt="image-20210117162851139" style="zoom:67%;" /> - 自由文本知识和混合推理器 - 结合了神经网络和符号方式根据文本表示的知识进行常识推理。 - 其中一种模型 NeRD 达到了 DROP 和 MathQA 的 SOTA。 - NeRD 包括 reader 和 programmer 前者根据问题和文章生成表示,后者生成推理步骤,执行后得到结果。 - 知识组合,混合推理器 - ARISTO 由八个推理器组成,利用了组合的外部知识。 - 外部知识包括 Open-IE,ARC corpus, TupleKB, Tablestore, TupleInfKB。 - 结合的方式是用两步集成,对基本的推理器的分数进行逻辑回归。 ## 4 Dicussion:How much Reasoning the models are doing? 符号模型比较容易看到,神经网络模型可以用数据集来间接体现,但仍需更具体的研究。 - **常识问答** - CommonsenseQA, CosmosQA, SocialQA - 多跳推理 - Natural Questions, HotpotQA, OpenBookQA - Abductive Reasoning 诱拐推理 - AbductiveNLI,选择任务表现尚可,假设生成任务表现不佳 - 定量和定性推理 Quantitative and Qualitative Reasoning - DROP, AQuA-RAT,Quarel - 神经网络和符号模型都表现尚可 neural, symbolic and neuro-symbolic - Non-Monotonic Reasoning - 没什么数据集需要用到这个能力 = = ## 5 Future Directions 概念是人手工定义的,能否以及如何从数据直接学到概念,如何用一种逻辑形式的语言来定义? <img src="https://i.loli.net/2021/01/17/1AxhTKtBnjNca6M.png" alt="image-20210117223137976" style="zoom:67%;" /> ## Question List Harnessing deep neural networks with logic rules Winograd dataset,LifeCycleQA
文章信息
标题:使用外部知识推理的自然语言问答方法
作者:快刀切草莓君
分类:自然语言处理
发布时间:2021年1月17日
最近编辑:2021年1月17日
浏览量:1047
↑