实体关系抽取是我之前在做完NER后的开始follow的一个方向,其实也是基于一定的需求去做的,例如在知识图谱中,不仅包含着实体,还包含着实体之间的关系,总而言之,实体识别(Name Entity Recognition,NER)和关系抽取(Relation Extraction,RE)都是为将非结构化的文本数据进行结构化而服务的,理论上是这样,但是关系抽取在工业上是否落地还真不知道,之前看过阿里用斯坦福开源的deepdive工具进行关系抽取的文章,有兴趣的朋友开源看看。
下面还是采取理论与代码相结合的方式,来梳理下我对关系抽取这个任务的体会。
目前学术上主要还是分两种,第一种是在SemEval2010_task8 这个数据集上做的,单纯的关系抽取任务,另一种是基于远程监督的关系抽任务,在NYT10 数据集上做的。所谓远程监督就是将已有的知识库(比如 freebase)对应到丰富的非结构化数据中(比如新闻文本),从而生成大量的训练数据,从而训练出一个效果不错的关系抽取器,说的在详细点,远程监督的做法是假设现在我有一对三元组,比如特朗普和美国,他们的关系是is the president of,那么接下来我拿特朗普和美国这两个词去检索一堆文本,只要出现这两个词的句子,我们都规定他是is the president of的关系,这样的做法的确能产生大量的数据,但同时这些数据也会有很大的噪声,比如特朗普和美国还有born in的关系。
关系抽取的任务就这两种,从上面的表述和我那篇综述的博客上看,关系抽取实际上和文本分类,情感分析类似吧,都是做sentences层面的分类,无非是关系抽取多了两个实体。
接下来我们就来follow下近几年的文章(可能并不是最新的,这些内容都是我今年3月份总结的,现在只是放到博客上来分享)。
1.SemEval2010_task8数据集
paper1:14-COLING(International Conference on Computational Linguistics)
这一篇是关系抽取中一个比较经典的模型,就是一个CNN,图也比较简单,甚至这个框架可以直接拿来做文本分类,输入的特征是句子特征和位置特征的拼接:
分类器就是用的一个CNN模型比较原始吧,我自己的复现精度是,代码链接
论文给的是82.7,还是差一点点。
paper2:16-ACL(AnnualMeeting of the Association for Computational Linguistics)
这篇文章是16年ACL的文章,一直是目前最好的结果,可惜没开源,发邮件问了作者的老师,总之就是没代码开源,小编自己复现发现完全没有啥效果,网上别人的代码也没有,所以额。。。这篇文章的思路的确挺好,在输入和池化的时候同时用了ATTENTION机制,有机会我还会再复现下,毕竟之前的能力也有限,可能是我代码写错了。这是我复现的结果。
paper3:16-ACL(AnnualMeeting of the Association for Computational Linguistics)
这篇文章思路也比较简单,是16年的paper,f1值84,在github上也有开源的代码,大致就是把之前的CNN换成RNN,然后在输出层接了一层self-Attention。我的复现结果
关于这个数据集任务就介绍到这里。
2.NYT10
关于远程监督的关系抽取今年研究的比较多,先简单贴一些我之前度的文章。
Paper1:EMNLP15
首先,看下文章的模型。该模型比较简单,与传统卷积神经网络的区别主要在于池化层的改变。通过 word2vec 的 Skip-gram 模型将词表示成向量形式,与位置向量(各词语与两个实体的相对位置)进行拼接作为输入,之后通过卷积层得到 feature map。在池化层通过两个实体位置将 feature map 分为三段进行池化,其目的是为了更好的捕获两个实体间的结构化信息。最后,通过 softmax 层进行分类。
Paper2:16-ACL(AnnualMeeting of the Association for Computational Linguistics)
图中,x1, x2, x3,…,xN 表示的是两个实体对应的训练句子集合,ri 表示的是句子 mi 经过 CNN 编码池化后的向量,ai 表示的是训练句子样例的权重。该框架首先通过 CNN 编码后得到句子向量 ri,再通过计算 ri 与关系 r 向量的相似度来赋予 ri 在整个句子集合中的权重。
xi 表示的是句子的向量化表示,A 是匹配的参数,k 表示的是关系数目。最后在各句子加权取和后通过 softmax 分类器得到分类结果。该框架采用的编码器是第一篇文章中提出的 PCNN 网络。
Paper3:AAAI-2018(The Association for the Advancement ofArtificial )
这也是刘老师团队的文章,利用的是强化学习,开源的C++代码,我之前本来花了一周在tensorflow上复现的,结果失败了,能力问题吧代码没写出来,这里有个讲解这篇论文的视频,是这个作者录制的,这里就不赘述原理了。
关于远程监督的关系抽取我在下个部分在继续论述。
关系抽取重要论文
(知乎https://www.zhihu.com/collection/132430605)
【1】Santos C N, Xiang B, Zhou B. Classifying relations by ranking with convolutional neural networks[J]. arXiv preprint arXiv:1504.06580, 2015.
【2】Wang L, Cao Z, de Melo G, et al. Relation Classification via Multi-Level Attention CNNs[C]//ACL (1). 2016.
【3】Lin Y, Shen S, Liu Z, et al. Neural Relation Extraction with Selective Attention over Instances[C]//ACL(1). 2016.
【4】Zhou P, Shi W, Tian J, et al.Attention-based bidirectional long short-term memory networks for relationclassification[C]//Proceedings of the 54th Annual Meeting of the Association for Computational Linguistics (Volume 2: Short Papers). 2016, 2: 207-212.
【5】Miwa M, Bansal M. End-to-end relation extraction using lstms on sequences and tree structures[J]. arXiv preprint arXiv:1601.00770, 2016.
【6】Raj D, SAHU S, Anand A. Learning local and global contexts using a convolutional recurrent network model for relation classification in biomedical text[C]//Proceedings of the 21st Conference on Computational Natural Language Learning (CoNLL 2017). 2017: 311-321
【7】Ji G, Liu K, He S, et al. Distant Supervision for Relation Extraction with Sentence-Level Attention and Entity Descriptions[C]//AAAI.2017: 3060-3066.
【8】Adel H, Schütze H. Global Normalizationof Convolutional Neural Networks for Joint Entity and RelationClassification[J]. arXiv preprint arXiv:1707.07719, 2017.
【9】QinL, Zhang Z, Zhao H, et al. Adversarial Connective-exploiting Networks for Implicit Discourse Relation Classification[J]. arXiv preprint arXiv:1704.00217,2017.
【10】Feng J, Huang M, Zhao L, et al.Reinforcement Learning for Relation Classification from Noisy Data[J]. 2018.
【11】Zeng D, Liu K, Chen Y, et al.Distant Supervision for Relation Extraction via Piecewise Convolutional NeuralNetworks[C]// Conference on Empirical Methods in Natural Language Processing.2015:1753-1762.(EMNLP)
【12】Lin Y, Shen S, Liu Z, et al. Neural Relation Extraction with Selective Attention over Instances[C]// Meeting of the Association for Computational Linguistics. 2016:2124-2133.(ACL)