NLP——用卷积网络实现关系分类

本文探讨了一种2014年的论文,利用卷积深度神经网络(CNN)解决关系分类问题。传统方法依赖于预抽取的特征,而此论文提出通过词嵌入和CNN提取词汇与句子级特征,无需复杂预处理。实验使用SemEval-2010 Task 8数据集,评估指标为F1分数。
摘要由CSDN通过智能技术生成

Relation Classification via Convolutional Deep Neural Network

       这是一篇2014年文章,年代比较久远。论文链接: link.

论文的研究点

  1. 目前存在的问题:用于关系分类最新的方法主要基于统计机器学习,其性能严重依赖所抽取的特征,但是抽取的特征往往是从预先存在的NLP系统的输出中得到的,这会导致在现有工具中错误的传播以及影响系统的性能(这个当然是针对2014年的时候啦)
  2. 提出的解决方法:本文利用卷积深度神经网络提取词汇句子级别的特征。

研究方法

       网络结构图
在这里插入图片描述        这个系统不需要做任何复杂的语句或者是语义的预处理,系统输入是个带有两个名词标记的句子,通过词嵌入的方法将词转换为向量,再分别提取词法特征和句子级别的特征,将其拼接为最终的特征向量。为了计算每种关系的置信度,将特征向量喂进一个Softmax分类器,输出一个向量,其维度等于关系类型的个数18,每个值代表对应relation的分数。

       接下里我们看下上述图片中每一步是如何实现的。

1. Word Representation:

        将每个输入的词通过word embedding转换为向量,注:本文使用的word embedding是 Turian etal.(2010)
在这里插入图片描述

2. Lexical Level Features:

       两个标记名词的词向量,两个标记名词相邻词的词向量,以及标记名词的上位词(WordNet)
在这里插入图片描述

3. Sentence Level Features:

        采用最大池化的CNN得到句子水平的表示以及自动抽取句子水平的特征,结构如图2所示,在 Window Processing中,每个词又进一步表示为Word Features (WF)和Position Features (PF) (后面会讲到),之后将向量通过一个cnn,进行最大池化。最终,通过非线性变化得到句子水平的特征。
3.1 Word Features 假设给定下列序列:
在这里插入图片描述
       People和downtown为标记的名词,将S表示为向量 (x0 ,x1 , ··· ,x6 ),x i表示句子中的i个词的嵌入向量,为了得到更丰富的特征,引入卷积,令w=3,则“moving”可以表示为 [x2 ,x3 ,x4 ],类似,在整个句子S中,

WF={[xs ,x0 ,x1 ], [x0 ,x1 ,x2 ], ··· , [x5 ,x6 ,xe ]}
       其中,xs表示句子的开始,xe 表示句子的结束。

3.2 Position Features: PF考虑了当前词到w1和w2的相对距离,如:在上述的S中,“moving”到“People”和“downtown”的距离分别是3和-3,再将相对距离映射为一个de(超参数)维的向量,其中de是个超参数,且该向量是随机初始化的。然后我们就得到了当前词到w1和w2的相对距离的距离向量d1,d2,并且:PF=[d1,d2]将PF和WF拼接,得到

[WF,PF]T

3.3 Convolution: 上述Window Processing仅仅得到了句子中每个词的局部特征,在关系分类任务中,目的是预测连个名词间的关系类型,而不是每个词的label,因此,十分有必要运用全部的局部特征来预测关系类型。因此,首先将Window Processing的输出做一个线性变换:

Z=W1X
       其中,X为Window Processing的输出,维度为n0 × t , n0 = w ×n,n为特征向量的维度,t为输入句子词的个数(简单说下为什么n0 = w ×n,因为WF使得一个特征向量相当于变为了w个,自我感觉是这样的,有可能不对,欢迎指正),W1 是个 n1 ×n0 的矩阵,n1(超参数)是隐层神经元的个数,Z是依赖于句子长度t的 n1 ×t 的矩阵,为了确定特征向量的每个维度中最有用的特征,我们在Z上执行max操作:
mi = maxZ(i,·) 0 ≤ i ≤ n1

       其中, Z(i,·) 代表Z的第i行,上述操作得到向量
m={m1 ,m2 ,··· ,mn1 }
       且m的维度不再与句子的长度相关了。为了得到更复杂的特征,将m通过一个非线性的激活函数tanh,得到:
g = tanh(W2 m)
       其中,W 2为 n 2 ×n 1 的矩阵,n2(超参数)是第二个隐藏层神经元的个数。

4. Output:

        将2.中 lexical水平的特征和 sentence水平的特征拼接为 f = [l,g],f为n3 ×1的,n3=n2+ 句子水平I的维度,为了得到每种关系的概率,将其通过一个softmax分类器,得到:

**o = W3 f
       其中,W3是n4 ×n3的,o是n4 × 1 的,n4是所有关系类型的总数,输出即为对应关系的概率。

5. Dataset and Evaluation Metrics:

        5.1 Dataset : SemEval-2010 Task 8 ,包含10717个例子,8000个训练实例,2717个测试实例,9种relationship,本文中考虑两个名词出现的先后顺序,所以是18种。
        5.2 Evaluation Metrics: F1

6. Experiments:

       6.1Parameter Settings: 测试超参数的选取对性能的影响,结果如下图:
在这里插入图片描述       以下是后续实验选取的超参数:
在这里插入图片描述       6.2 Results of Comparison Experiments:
在这里插入图片描述        6.3The Effect of Learned Features:
在这里插入图片描述

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值