写在前面
最近毕业论文要开题了,就找个方向做做。
说实话对科研没啥热情,个人眼界有限,感觉就在数据集上翻来覆去的搞,没啥意思。
就稍微读读论文,做做记录吧~
基本信息
- 名称:RESIDE: Improving Distantly-Supervised Neural Relation Extraction using Side Information
- github:https://github.com/malllabiisc/RESIDE
- 会议:EMNLP 2018
笔记
1. 整体思路是什么?
- 问题设定:远程监督的数据集
- 方式:基于神经网络的多实例学习。
- bag级别的建模(encoding用到了BiGRU以及GCN),在其中引入了额外信息(side Information)。
- 最终得到一个bag中的句向量的attention加权的向量B,然后输入进softmax中进行分类。
2. 模型的流程是什么?
① Syntactic Sentence Encoding:
- 利用Bi-GRU以及GCN -得到一个初步的句向量s。
- GCN是的使用直觉是RNN还是不能很好的建模长距离依赖的信息。
- GCN的对象是依存句法树,是用stanford的工具得到的。
- 文章的句向量是做了一个token级别的attention得到的。加权的对象是BI-GRU与GCN输出的隐藏层编码拼接。
② Instance Set Aggregation
-
对于给定的句包,在得到每个句子的句向量后,作者对模型添加了额外信息。
-
作者把额外信息叫做side information。在文中包括两部分**,关系别名信息** h r e l h^{rel} hrel以及实体类型信息 h t y p e h^{type} htype。
-
关系别名的想法:作者觉得句中的有些短语体现了实体对的关系,比如由OpenIE系统抽取出的was started by ,往往就是在表达founderOfCompany这个关系。或者说founded\co-founded这样的关系别名。所以,如果OpenIE抽出来的关系短语,与关系A(或者A的关系别名)越相似,则说明这个实体对更可能在表达这个关系A,【A就是类别之一】。
-
实体类型的想法:作者给的例子就是:
对于Microsoft was started by Bill Gates这个句子
the type information of Bill Gates (person) and Microsoft (organization) can be helpful in predicting the correct relation founderOfCompany.
- 作者处理的方式:两部分的信息都是在模型中通过向量拼接的方式添加的。
- 关系别名向量【Matched Relation Embedding】是与encoding完每个句子的向量拼接,得到新的句子向量
s
^
i
\hat s_i
s^i。
- 实体类型向量【Entity Type Embedding】是与attention之后的每个句包bag向量B进行拼接,得到
B
^
\hat B
B^。
- 关系别名向量【Matched Relation Embedding】是与encoding完每个句子的向量拼接,得到新的句子向量
s
^
i
\hat s_i
s^i。
3. 关系别名向量与实体类型向量如何获得?
① 关系别名向量
将每个句子输入进openIE系统【Stanford Open IE】,提取关系短语P。然后计算与知识库中取得的关系别名集合中每个向量的余弦距离(向量通过glove获得),取距离最近的一个,作为 Matched Relation Embedding。
② 实体类型向量
实体类型是用了别人先前工作,已经标注好的。
【In RESIDE, we use types defined by FIGER (Ling and Weld,2012) for entities in Freebase.】
文章中说,对于每一个实体类型,直接定义好其embedding。
如果对于实体有多个类型的情况。比如巴黎既可以是政府也可以是地点,就去其不同embedding的平均。
这就得到了Entity Type Embedding。
【这个embedding是训练的,还是和之前一样从glove中取出来固定的,文中没有说,需要看代码。】
4. 最终试验结果如何?
- Riedel dataset就是NYT数据集。可以看到红线的P-R曲线是在Baseline上方的。
- 在消融实验中,也证明了没有type信息对于模型表现是有影响的。
5.个人想法
- 从实验结果来看,模型的表现非常好,说明side infomation确实能够提升
- 远程监督是存在噪声的,就是实体对之间不一定是标注的关系。因此这样的噪声进入OpenIE系统,抽取得到的关系短语,是不是可能会得到“标注错误但实际是对”的标签。这样对于模型而言是噪声,一定程度影响对于bag级别的预测?
- 实体类型信息的运用感觉还有提升的地方。首先是embedding,对于多个类型就是简单的平均,而且是外部静态的词向量,还是作为学习的参数?