文章目录

  • 远程监督
  • PCNN关系抽取
  • PCNN方法论
    • 向量表达
    • 卷积层
    • 分段最大池化层
    • Softmax层
    • 多实例学习
  • Reference

Tensorflow2.2实现,见github仓库。

远程监督

关系抽取训练集标注成本高,一般使用远程监督方法(半监督)自动标注数据。远程监督假设,若知识库中两个实体具有某种关系,则任何包含这两个实体的句子都具有这种关系。

下图为使用远程监督自动标注数据的实例,其中第一句标注正确,而第二句标注错误。

远程监督是快速获取关系抽取训练集的有效方法,但其有 两个缺点

  • 远程监督假设过于强烈,易标注错误,从而引入噪声数据,多数远程监督方法的研究聚焦于降噪
  • 远程监督多用于使用精细特征(句法结构等)的监督模型,这些特征一般使用已有的NLP工具提取,不可避免会引入误差,使用NLP工具提取的传统特征,会造成误差的传播或积累,而且,远程监督语料库多来源于网络的非正式文本,句子长度不一,随着句子长度的增加,传统特征提取的正确性会急剧下降;

PCNN关系抽取

Piecewise Convolutional Neural Networks (PCNNs) with multi-instance learning 解决以上两个难题:

为解决第一个问题,将远程监督关系抽取视为多实例问题。多实例问题中,训练集由很多包组成,每个包多个实例,每个包的标签已知,而包中实例的标签未知。设计目标函数只考虑每一个包的预测标签,PCNN仅选取每包中预测类别最接近真实类别的一个实例作为包的输出,一定程度上可降低包中一些实例标注错误的影响。

为解决第二个问题,使用CNN网络自动提取特征,不使用复杂的NLP预处理。对卷积层输出使用单一最大池化,能一定程度提取文本特征表达,但难以捕获两个实体间的结构信息。PCNN基于两实体位置信息将卷积层输出划分为3个部分,基于此,PCNN可能表现出更好的性能。

PCNN与Text CNN的主要区别在于输入层引入position embedding、池化层分为三段!

PCNN方法论

如图3所示,PCNNS主要由四部分组成:Vector Representation, Convolution, Piecewise Max Pooling and Softmax Output.

向量表达

句子的向量表达为两部分的拼接结果:词嵌入和位置嵌入。

  • 使用skip-gram方法预训练词向量;
  • 使用Position Embeddings表示句子单词到两个实体的相对距离,如下图,单词son到实体Kojo Annan和Kofi Annan的相对距离分别为3和-2。

随机初始化两个位置嵌入矩阵,图3中词嵌入的维度是4,位置嵌入的维度是1。结合词嵌入和位置嵌入,句向量表示为
S=Rs×dS=\R^{s\times d} S=Rs×d

其中,sss是句子长度(单词数),d=dw+dp∗2d=d_w+d_p*2d=dw+dp2.

卷积层

对于长度为sss的句子,首尾填充w−1w-1w1长度,则卷积核w\boldsymbol ww的输出
c∈Rs+w−1,cj=wqj−w+1:j,1≤j≤s+w−1\boldsymbol c\in\R^{s+w-1},\quad c_j=\boldsymbol w\boldsymbol q_{j-w+1:j},\quad 1\leq j\leq s+w-1 cRs+w1,cj=wqjw+1:j,1js+w1
若使用nnn个卷积核,则卷积操作的输出为
C={c1,⋯,cn},cij=wiqj−w+1;j,1≤i≤nC=\{\boldsymbol c_1,\cdots,\boldsymbol c_n\},\quad c_{ij}=\boldsymbol w_i\boldsymbol q_{j-w+1;j}, \quad 1\leq i\leq n C={c1,,cn},cij=wiqjw+1;j,1in

图3中,卷积核的数目为3。

分段最大池化层

卷积层输出维度为Rn×(s+w−1)\R^{n\times (s+w-1)}Rn×(s+w1),输出维度依赖于句子的长度。为便于应用于下游任务,卷积层的输出必须独立于序列长度,一般采用池化操作,主要思想是仅保留每个feature map中的主要的特征。

使用单一最大池化无法捕获两个实体的结构信息特征,PCNN使用分段最大池化代替单一最大池化,如图3所示,每个卷积核的输出ci\boldsymbol c_ici被两个实体划分为3部分,分段最大池化输出长度为3的向量
pi={pi1,pi2,pi3},pij=max⁡(cij)1≤i≤n,1≤j≤3\boldsymbol p_i=\{p_{i1},p_{i2},p_{i3}\},\ p_{ij}=\max(c_{ij})\quad 1\leq i\leq n,\ 1\leq j\leq 3 pi={pi1,pi2,pi3},pij=max(cij)1in,1j3
拼接所有卷积核分段池化层输出为p1:n\boldsymbol p_{1:n}p1:n,经非线性函数输出为(维度与句子长度无关)
g=tanh⁡(p1:n),g∈R3n\boldsymbol g=\tanh(\boldsymbol p_{1:n}), \quad\boldsymbol g\in\R^{3n} g=tanh(p1:n),gR3n

Softmax层

首先将输出转化为类别分数(softmax转换为类别概率)
o=W1g+b,W1∈Rn1×3n,o∈Rn1\boldsymbol o=W_1\boldsymbol g+b,\quad W_1\in\R^{n_1\times 3n},\ \boldsymbol o\in\R^{n_1} o=W1g+b,W1Rn1×3n,oRn1

多实例学习

为降低数据标注错误的影响,PCNN使用多实例(半监督)学习。

考虑包含TTT个包的训练集{M1,M2,⋯,MT}\{M_1,M_2,\cdots,M_T\}{M1,M2,,MT},其中Mi={mi1,mi2,⋯,miqi}M_i=\{m_i^1,m_i^2,\cdots,m_i^{q_i}\}Mi={mi1,mi2,,miqi},包中qiq_iqi个不同实例互为独立。对于实例mijm_i^jmij,神经网络Θ\ThetaΘ输出向量o\boldsymbol oo,其中第rrr个关系对应的概率为
p(r∣mij;θ)=eor∑k=1n1eokp(r|m_i^j;\theta)=\frac{e^{o_r}}{\sum_{k=1}^{n_1}e^{o^k}} p(rmij;θ)=k=1n1eokeor

将目标函数定义为极小化每个包的损失,从而降低包中部分数据标注错误的影响。每个包的标签已知,包中实例标签未知,训练过程中将包中实例在包标签上的最大概率作为预测输出,则目标函数定义为
J(θ)=∑i=1Tlog⁡p(yi∣mij;θ),j∗=arg⁡max⁡jp(yi∣mij;θ)J(\theta)=\sum_{i=1}^T\log p(y_i|m_i^j;\theta),\quad j^*=\arg\max_jp(y_i|m_i^j;\theta) J(θ)=i=1Tlogp(yimij;θ),j=argjmaxp(yimij;θ)

Reference

1. Distant Supervision for Relation Extraction via Piecewise Convolutional Neural Networks
2. EMNLP 2015 | PCNN实现远程监督在关系提取中的应用

关系抽取之分段卷积神经网络(PCNN)相关推荐

  1. 关系抽取:图卷积网络的学习(二)(附代码)

    关系抽取:图卷积网络的学习(二)(附代码) 目录 关系抽取:图卷积网络的学习(二)(附代码) 论文一:基于关系图的实体关系联合抽取 摘要 1.Introduction 2.Motivation 3.G ...

  2. 论文阅读课1-Attention Guided Graph Convolutional Networks for Relation Extraction(关系抽取,图卷积,ACL2019,n元)

    文章目录 abstract 1.introduction 1.1 dense connection+GCN 1.2 效果突出 1.3 contribution 2.Attention Guided G ...

  3. 知识图谱课程报告-关系抽取文献综述

    关系抽取文献综述 引言: ​ 随着大数据的不断发展,在海量的结构化数据或非结构化数据中更低成本的抽取出有价值的信息越来越重要,可以说信息抽取是自然语言处理领域的一项最基本任务,信息抽取进而可被分成三个 ...

  4. 【转】自然语言系列学习之表示学习与知识获取(八)利用远程监督多实例的关系抽取

    下面介绍下如何利用远程监督多实例进行关系抽取.前文有提到到当利用文本进行关系抽取,基本思想是利用知识图谱中,如(下图)任意两个实体同时在句子中出现: 我们把句子当成是两个实体关系训练得样例,这样就可以 ...

  5. 文献阅读课10-Neural Relation Extraction for Knowledge Base Enrichment(提取+嵌入+消歧+规范化联合模型,实体已知,仅关系抽取,多词实体)

    文章目录 Abstract 1.Introduction 2. 相关工作 2.2 Entity-aware Relation Extraction 3.提出的模型 3.1 Solution Frame ...

  6. 【论文阅读笔记】面向医学文本的实体关系抽取研究综述

    面向医学文本的实体关系抽取研究综述 写在前面 深度学习方法 监督学习 基于简单的CNN模型 基于CNN模型的改进 基于RNN模型 基于注意力机制的模型 远程监督的多实例学习 分段卷积神经网络模型及改进 ...

  7. 深度学习实体关系抽取研究综述笔记

    鄂海红,张文静,肖思琪,程瑞,胡莺夕,周筱松,牛佩晴.深度学习实体关系抽取研究综述.软件学报,2019,30(6): 1793−1818. http://www.jos.org.cn/1000-982 ...

  8. 基于监督学习和远程监督的神经关系抽取

    基于监督学习和远程监督的神经关系抽取 作者:王嘉宁  QQ:851019059  Email:lygwjn@126.com 最新:博主发表在华东师范大学学报(自然科学版)的<基于远程监督的关系抽 ...

  9. NLP关系抽取和事件抽取

    关系抽取 关系抽取又称实体关系抽取,以实体识别为前提,在实体识别之后,判断给定文本中的任意两个实体是否构成事先定义好的关系,是文本内容理解的重要支撑技术之一,对于问答系统,智能客服和语义搜索等应用都十 ...

  10. 知识图谱(六)——关系抽取

    如何从结构化或非结构化文本中识别出实体之间的关系是知识图谱构建的核心任务之一. 文章目录 一.任务概述 1.任务定义 2.任务分类 3.任务难点 4.相关测评 二.限定域关系抽取 1.基于模板的关系抽 ...

最新文章

  1. Umbra 3:次世代的遮挡裁剪
  2. python是一种通用编程语言-想自学一种编程语言,各种编程语言都有什么区别?...
  3. 汇编--两种过程定义的方式,调用方式。
  4. 委派模式与策略模式综合应用
  5. torchvision中Transform的normalize
  6. Android ImageView图片自适应
  7. TypeError: cannot unpack non-iterable NoneType object
  8. linux终端的背景_如何在终端显示图像缩略图 | Linux 中国
  9. 寻优秀开源项目,百万程序员为你助力!
  10. 开源分布式数据库 TiKV 入选 CNCF 云原生项目!
  11. 关于C#语言中的集合
  12. C#解析JSON字符串总结(转载)
  13. 【数学建模】2016年全国大学生数学建模-系泊系统全面解析(附MATLAB实现部分代码)
  14. Directshow 采集-截屏和显示
  15. 谷歌地图kml能透明吗_如何打开KML和KMZ文件并与卫星影像叠加
  16. 数据分析师说坐飞机安全么
  17. Auto.js Pro安卓免ROOT引流脚本开发系列教程28网易公开课(6)-取随机话术
  18. 计算机桌面怎么换服,台式电脑怎么换桌面壁纸
  19. 【已解决】VS code源代码控制器显示5k+的修改文件
  20. 裸辞后进入华为,拿下34K测试岗offer....

热门文章

  1. 「45课时热泵仿真」Excel热泵系统热力计算与仿真全课程
  2. win7如何启用计算机的无线功能,win7笔记本怎么打开无线-win7打开无线功能,win7已关闭无线功能 未修复...
  3. 前端-html实现省份、地市、区县三级联动
  4. Onvif协议及协议测试工具使用详解
  5. 微信小程序开源demo汇总
  6. 汇总3种获取水系数据的途径
  7. PHP通用网站后台管理系统
  8. [2020年]研究生数学建模竞赛题目分享
  9. 2020年第十七届中国研究生数学建模竞赛赛题+解压码
  10. python进阶中文版_GitHub - lcm2179/Intermediate-Python: 《Python进阶》(Intermediate Python 中文版)...