自然语言处理-事件抽取

论文笔记 | 通过DMCNN实现事件抽取

2019-02-23  本文已影响0人  鲜芋牛奶西米爱solo

本文主要复述论文["Event Extraction via Dynamic Multi-Pooling Convolutional Neural Networks"] 的主要内容,以便自我回顾,也希望可以给大噶带来帮助~

摘要

传统ACE事件提取的方法主要依赖于精心设计的功能和复杂的自然语言处理(NLP)工具。这些传统方法缺乏泛化,需要大量人力,容易出现错误传播(error propagation)和数据稀疏性(data sparsity)问题。本文提出了一种新的事件提取方法,旨在自动提取词汇级(lexical-level)和句子级(sentence-level)功能,而无需使用复杂的NLP工具。我们引入了一个单词表示模型,用于语言的语义规范,并采用基于卷积神经网络(CNN)的框架来捕获句子级线索。然而,CNN只能捕获句子中最重要的信息,并且在考虑多事件句子时可能会遗漏有价值的事实。我们提出了一种动态多池卷积神经网络(DMCNN -- dynamic multi-pooling convolutional neural network),它根据事件触发器和参数使用动态多池层来保留更多关键信息。

介绍

目前事件抽取最先进的方法,是采用一组精心设计的特征,这些特征是由文本分析和语言知识提取的。通常分为两类:词法特征和上下文特征。
-词法特征
词法特征包括词性标签(part-of-speech tags)、实体信息、形态特征(例如,标记,引理等),其旨在捕获语义或单词的背景知识。由于这些预测语义背景的线索的有限性,以及单词独热编码(one-hot)带来的数据稀疏性问题,会导致无法充分捕获单词的语义。
-上下文特征
上下文特征,比如语法特征可以从依存关系中获取其参数和触发词的联系。我们称这种信息为句子级(sentence-level)线索。但是我们无法通过这类传统依存特征获取目标角色,此外,在特征学习中还有可能导致错误传播。
-卷积神经网络
论文中描述到,最近卷积神经网络(CNN)的改进已经被证明能够有效地捕获句子中的单词之间的句法和语义。CNN通常使用最大池化层,其对整个句子的表示应用最大操作以捕获最有用的信息。但是,在事件提取中,一个句子可能包含两个或多个事件,并且这些事件可能共享具有不同角色的参数。例如,S3(S3: In Baghdad, a cameraman died when an American tank fired on the Palestine Hotel. )中有两个事件,即Die事件和Attack事件。如果我们使用传统的最大汇集层并且只保留最重要的信息,那么我们可以获得描述“摄像师死亡”的信息,但是错过了关于“美国坦克的信息”的信息,这对预测攻击事件非常重要,对于将摄像师附加到红色是很有价值的。作为目标论点。在我们的实验中,我们发现这样的多事件句子占我们数据集的27.3%,而这个现象我们无法通知。

事件提取

事件提取系统:预测具有特定子类型的事件触发器及其对每个句子的参数。
论文中将该实现分为两个阶段:1.触发分类。使用DMCNN对句子中的每个单词进行分类以识别触发单词。2.若一个句子具有触发器,则执行阶段二,应用类似的DMCNN来为触发器分配参数并对齐参数的角色。


figure1 参数分类阶段的体系结构。其中预测触发器fired,候选参数cameraman

1.Word Embedding

论文中选用Skip-gram模型对数据做预处理,选定窗口大小c后,通过对目标函数求最大似然函数: maximizing the average log probability 其中的概率由softmax函数定义(说明:每个词对应两个向量):
得到所有的word embeddings之后,将其连接入词汇级特征向量,表示参数分类中的词汇级特征。
2.采用DMCNN提取句子级特征

论文中提出了三种输入类型提供给DMCNN。

-Context-word feature (CWF):通过查找word embeddings而转换的每个单词标记的向量
-Position Feature(PF):表当前单词与预测的触发器或候选参数的相对距离。位置特征的每个距离值也由embedding vector表示,同时距离值也会随机初始化并通过反向传播进行优化。
-Event-type feature (EF):对触发分类阶段的预测进行事件类型编码,作为DMCNN亦或PF中的重要线索。

设定CWF的维度d=4、PF的d=1、EF=1,由其拼接成的词特征向量的长度d=dw+dp×2+de,得到输入矩阵X∈R(n×d),进入卷积层。
设定h个word大小的窗口,滤波器w ∈ R(h×d),通过运算(4)产生新特征ci,其中b∈R是偏置项,f是非线性函数,如双曲正切。 该滤波器应用于句子x1:h,x2:h+1,...,x(n-h+1):n中的每个可能的单词窗口,以产生特征映射ci,其中索引i的范围从1到n-h+1。

为了捕获不同的特征,通常在卷积中使用多个滤波器。假设在此使用m个滤波器,其运算可表示为(5)。 与传统最大池不同,因为在本文的任务中,一个句子可能包含两个或更多个事件,并且一个参数候选者可能在不同的触发器中扮演不同的角色。为了进行准确的预测,论文中采用动态多池化,根据参数分类阶段中的候选参数和预测触发将每个特征映射分成三个部分,保留每个拆分部分的最大值,而不是使用一个最大值来表示整个特征映射。对应上面的figure1,特征映射输出cj由“cameraman”和“fired”划分为cj1,cj2,cj3。动态多池可以表示为公式(6),其中1≤j≤m且1≤i≤3。 通过动态多池层,我们获得每个特征映射的pji。 然后,我们将所有pji连接起来形成一个向量P∈R(3m),它可以被认为是更高级别的特征(句子级特征)。

3.Output

上面学习到的特征被连接成单个向量F = [L,P]。 为了计算每个参数角色的置信度,特征向量F∈R(3m+ dl),其中m是特征图的编号,并且dl是词汇级特征的维度,被馈送到分类器中。 Ws∈R[n1×(3m+dl)]是变换矩阵,O∈R(n1)是网络的最终输出,其中n1等于参数角色的数量,包括在活动中扮演任何角色的候选参数的“无角色”标签。对于正则化,在倒数第二层采用dropout,可以防止隐藏单元的协同适应,而不是在前向和后向传播期间随机地丢弃隐藏单元的不成比例。
4.Training
论文中将参数分类阶段的所有参数定义为θ=(E,PF1,PF2,EF,W,b,WS,bs)。给定输入s、具参数θ的网络输出向量O、其中第i个分量Oi包含自变量角色i的分数。对所有参数角色的score应用softmax操作(8),从而获得条件概率p(i|x,θ)。并定义目标函数(9),通过SGD计算最大似然函数得到参数θ。

5.Trigger Classification模型
触发器分类中,仅在词法级特征表示中使用候选触发器及其左右令牌。 在句子级别的特征表示中,我们使用与参数分类中相同的CWF,但仅使用候选触发器的位置来嵌入位置特征。 此外,不是将句子分成三个部分,而是通过候选触发器将句子分成两部分。 除了上述特征和模型的变化之外,论文中对一个论证进行了分类。 这两个阶段构成了事件提取的框架。

实验

判定预测事件准确性的标准:
1.如果触发器的事件子类型和偏移量与参考触发器的类型匹配,则触发器是正确的。
2.如果参数的事件子类型和偏移量与任何参考参数提及的参数匹配,则可以正确识别参数。
3.如果参数的事件子类型,偏移量和参数角色与任何引用参数提及的参数匹配,则参数被正确分类。

---实验数据与其他模型的比较: ---模型之间的比较: ---词汇级特征与句子级特征的比较:
上一篇下一篇

猜你喜欢

热点阅读