论文浅尝 | 基于神经网络的知识推理
本文转载自公众号:PaperWeekly。
论文笔记来自 PaperWeekly 社区用户 @britin。本文对基于 RNN 的从大规模知识库中进行推理进行了精度和可操作性的改善,提出的模型使用单个 RNN 就可以在多种 relation types 之间进行推理。
如果你对本文工作感兴趣,点击底部的阅读原文即可查看原论文。
关于作者:Britin,中科院物理学硕士,研究方向为自然语言处理和计算机视觉。
■ 论文 | Chains of Reasoning over Entities, Relations, and Text using Recurrent Neural Networks
■ 链接 | https://www.paperweekly.site/papers/1521
■ 源码 | https://rajarshd.github.io/ChainsofReasoning
论文动机
使用神经网络进行更为复杂的推理以增加 KB 中的条目正在引起广泛关注,这么做的一个重要原因是为了同时支持 look-up 类型的问答系统以及从 entity 和 relation 中间接推理到答案的问答系统。
KB 通常是非常不完整的,推理可以完善那些缺失的信息。见下图:
已有的方法大多是基于 symbolic 和 logical 的推理系统,比如 Universal Schema,它学习 relation type 的向量表示,包括结构化 KB 中的以及自然语言文本中的关系表示,其中的 matrix completion 机制可以进行简单的推理,但只能对单条 evidence 进行操作,比如从 microsoft-located-in-seattle 推理出 microsoft-HQ-in-seattle。
更高级的推理是从从句中得到包含三个或更多实体的 multi-hop 的知识库图路径。比如可以从 Melinda–spouse–Bill–chairman–Microsoft–HQ-in–Seattle 得到 Melinda–lives-in–Seattle。
这种推理通常用 path ranking algorithm 进行。RNN 沿着任意长度的路径组成了每条边关系的 embeddings,输出一个表示路径两端实体之间关系的向量表示。但是这些方法只能用于小型或人造数据库上,并且对于许多情况下来说还是不准确不实际。
本文提出的方法则可以对大型的多语义 KB 进行推理,本文对基于 RNN 的从大规模 KB 中进行推理进行了精度和可操作性的改善:
之前的工作只推理了 relation,没有推理组成路径上节点的 entities,本文对关系类型,实体和实体类型进行了联合学习和推理。
本文使用了 neural attention 机制对多条路径进行推理。
之前的方法最大的问题是要为每一个需要预测的 relation-type 单独训练模型。而本文只训练一个 RNN 来预测所有的 relation type。另外,由于训练的 multi-task 特性,共享了 RNN 参数,精度也显著提高了。
模型介绍
本文首先介绍了基本的 Path-RNN 的架构,本文的一切改进都是基于该模型的。
Path-RNN 的输入是两个实体之间的路径,输出推理出的二者之间的新关系。通过将关系之间的连接用 RNN 表示来进行推理。路径的表示是在处理完路径中所有的关系之后由 RNN 的最后的隐状态给出的。
架构如图所示,对每一条可能的路径用一个 RNN 来表示,将改路径每一个节点上的 entity 和连接的 relation 进行向量化后输入一个 RNN 单元,整条路径的最终向量表示就是 RNN 最后一个单元输出的 Hidden state,将改路径的向量表示和要预测的关系的向量表示求相似度,相似度最高的就是目标路径。
这个模型的缺点是每一个 relation type 都要训练一个新的模型,变量无法共享,数量巨大。另外只选择相似度最高的那一个路径可能会忽略掉其他路径所隐含的信息,还造成了计算浪费。
本文对这个模型做出的改进有:
本文共享了 relation type 的表示以及 RNN 的 composition matrices,这样同样的训练数据变量就大大减少了。训练模型的损失函数用的是 negative log-likelihood。
分别用 Top-k,average 和 LogSumExp 方法为每一条路径的相似度评分加上权重,这样就考虑了每一条路径包含的信息,而不仅仅是评分最高的那条。
实验结果
本文在一个大型的 freebase 实体和关系数据集以及 clueweb 文本数据集上做了验证。
和先前最好的结果相比,本文在 MAP 上提高了 25%。另外本文还单独设计了一个验证来验证在同一个 RNN 中共享 strength 的效果,结果证明在训练过程中一些出现频率较小的关系也提高了 54% 的精度。
本文还在另一个数据集上做了验证:chains of resoning in WordNet。和目前最好的结果相比,在平均分位数上的错误率减少了 84%。
文章评价
本文提出的模型使用单个 RNN 就可以在多种 relation types 之间进行推理。并且利用了多条可能路径以及路径间所有实体和关系的综合信息,这些信息在之前的方法中都是忽略的,极大程度的提高了精度。但是由于数据的稀疏性,在处理较长的文本特征时性能就会减弱。
-End-
关于PaperWeekly
PaperWeekly 是一个推荐、解读、讨论、报道人工智能前沿论文成果的学术平台。
▽ 点击 |阅读原文 | 查看原论文
OpenKG.CN
中文开放知识图谱(简称OpenKG.CN)旨在促进中文知识图谱数据的开放与互联,促进知识图谱和语义技术的普及和广泛应用。
论文浅尝 | 基于神经网络的知识推理相关推荐
- 论文浅尝 | 基于神经网络的实体识别和关系抽取联合学习
本文转载自公众号:PaperWeekly. 作者丨罗凌 学校丨大连理工大学博士生 研究方向丨深度学习,文本分类,实体识别 联合学习(Joint learning)一词并不是一个最近才出现的术语,在自然 ...
- 论文浅尝 | 基于神经网络的推理(DeepMind Relational Reasoning)
本文转载自公众号:徐阿衡. 论文:A simple neural network module for relational reasoning(2017) github代码: https://git ...
- ###好好好#######论文浅尝 | 基于图注意力的常识对话生成
论文浅尝 | 基于图注意力的常识对话生成 OpenKG 祝各位读者新春快乐,猪年吉祥! 来源:IJCAI 2018. 论文下载地址:https://www.ijcai.org/proceedings/ ...
- 论文浅尝 | 图神经网络综述:方法及应用
论文链接:https://arxiv.org/pdf/1812.08434.pdf GNN相关论文列表链接:https://github.com/thunlp/GNNPapers 近日,清华刘知远老师 ...
- 论文浅尝 | 基于知识库的自然语言理解 01#
本文转载自公众号:知识工场. 罗康琦,上海交通大学计算机系2019届博士,研究方向为自然语义理解和知识图谱.2012年获得华中科技大学软件工程学士学位,现就职于京东数据科学实验室(Data Scien ...
- 论文浅尝 | 基于事理图谱的脚本事件预测
论文笔记整理:邱圣广,南京大学硕士,研究方向为自然语言处理. 链接:https://www.ijcai.org/proceedings/2018/0584.pdf 绪论 1. 脚本事件预测 脚本事件 ...
- 论文浅尝 | 基于复杂查询图编码的知识库问答
论文笔记整理:谭亦鸣,东南大学博士生,研究方向为知识库问答. 来源:EMNLP 2018 链接:https://www.aclweb.org/anthology/D18-1242 文章表示,复杂问答所 ...
- 论文浅尝 | 基于知识库的自然语言理解 04#
本文转载自公众号:知识工场. 罗康琦,上海交通大学计算机系2019届博士,研究方向为自然语义理解和知识图谱.2012年获得华中科技大学软件工程学士学位,现就职于京东数据科学实验室(Data Scien ...
- 论文浅尝 | 基于知识库的自然语言理解 02#
本文转载自公众号:知识工场. 罗康琦,上海交通大学计算机系2019届博士,研究方向为自然语义理解和知识图谱.2012年获得华中科技大学软件工程学士学位,现就职于京东数据科学实验室(Data Scien ...
最新文章
- 使用SQL Server Analysis Services数据挖掘的关联规则实现商品推荐功能(五)
- android运行jar文件路径,java命令行执行jar包报错解决
- 在安卓上,微信公众号无法分享到QQ的解决办法之一
- seo建设者_SEO建设者,有哪些说不出的苦?
- 【iCore1S 双核心板_FPGA】例程十六:基于SPI的ARM与FPGA通信实验
- 思科交换机Portfast和Uplinkfast配置实验
- mysql修改字段null为空字符串
- go调用ffmpeg
- easyui使用心得
- 编程基本功:BUG测试步骤尽可能用文档简化,突出重点
- 概率论与数理统计(第四版) 第二章:随机变量及其分布(第一节和第二节笔记)
- Kali暴力破解Wifi密码完整步骤(学习记录)
- 百度地图生成器添加标注后图标不显示的解决方法
- 翻译官方Vellum教程:Breaking and tearing(破裂撕开)
- pytorch之models
- 【CrackMe 实战】逆向破解实战之 001 Acid burn.exe
- PointNet学习笔记(一)—— 论文
- YMEC8A2TB3A2C3
- bugku md5加密相等绕过
- linux(ubuntu)下vi命令(例:sudo vi ~/.bashrc)
热门文章
- ie下滚动条样式设置
- js的oop方式和this指针问题
- SQLite和MySQL数据库的区别与应用
- sqlite3的基本操作
- 给你准备的Linux启动流程
- Linux select/poll机制原理分析
- ftp 追加远程文件_远程办公彻底火了,高效办公,拒绝卡顿,远程利器你选对了么?...
- android 控件方向旋转90度,android – 旋转视图层次90度
- java连接cdh集群_有一台电脑需要通过beeline的方式连接到CDHclouderahadoop集群,提示报错。...
- Web框架——Flask系列之request请求参数详解(十一)