首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

关系抽取 PECNN

A Position Encoding Convolutional Neural Network Based on Dependency Tree for Relation Classification

上一次想做关系抽取任务还是研一的时候企业项目的需要, 那时候准备自己做一套知识图谱三元组挖掘的系统, 再通过三元组来逆向做 question generation (Generating Factoid Questions With Recurrent Neural Networks: The 30M Factoid Question-Answer Corpus), 不过因为没有后续接延伸的企业项目, 也没有做这部分工作了, 这几天看到关系抽取的论文, 写写阅读笔记。这是一篇16年ACL的文章,数据集是SemEval2010 Task 8 dataset, 关系分类是要是一个多分类的任务。论文主要讲依存句法分析融入到神经网络中, 为神经网络提供特征, 将传统的nlp任务和深度学习组合, 也是最近的一个热点。

数据集

训练集有 8000 个句子, 测试集有 2717 个句子。每个句子都标注出两个实体, 需要对这两个实体做关系分类。

整体框架

先对句子进行依存句法分析。

提取句子的position feature等其他特征。

经过论文设计的特效CNN。

softmax 分类。

词向量特征

google 的 word2vec

Tree-based Position Feature

传统的基于文本的位置特征不能很好的解决NLP任务。在文本中, 由于语言表达的习惯, 可能句子开头的词和末尾的词联系很大; 而且文本中含有大量副词等无实际含义的词, 对简单的位置特征造成很大的干扰。依存句法分析能够很好的解决位置的约束, 能够更好的挖掘句子中单词之间的关系。论文主要提出了TPF1和TPF2两种特征。(Tree based Position Feature)TPF1统计的是两个 entities 之间的最短依存路径。TPF2用 pair 来表示, 两个 entities 之间的路径会被它们的lowest common ancestor分隔开, TPF2 统计两段子路径的长度。

fig 3 计算各个 node 与Convulsions之间的 TPF 值, 其中红色为 TPF1, 蓝色为TPF2.

Convolution Methods

论文设计了自己的卷积核, 传统的CNN在文本用的是文本的上下文进行卷积, 论文这里提出了两种在依存句法树上卷积的Kernels。用 p 表示节点的parent, 用 c 表示childern , 其实 parent 只有一个, children 可能有多个。Kernel 1

W 为参数, g 为非线性激活函数, 充分考虑了节点与他的父子之间关系, 如果节点没有child, 用zero padding。 挖掘了依存树中多层次的内容。Kernel 2

这里只靠到child, 每次只考虑两个向量的children, 如果child num 不足, 也是用zero padding。挖掘了同分支之间的予以关系。后处理两种 kernel 每次只处理三个单词, 而且都经过一次max pooling, 并将两个向量拼接送到softmax及进行分类。

result

  • 发表于:
  • 原文链接http://kuaibao.qq.com/s/20180430G0RSLI00?refer=cp_1026
  • 腾讯「腾讯云开发者社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。
  • 如有侵权,请联系 cloudcommunity@tencent.com 删除。

扫码

添加站长 进交流群

领取专属 10元无门槛券

私享最新 技术干货

扫码加入开发者社群
领券