赞
踩
本篇博客主要介绍论文[Event Extraction via Dynamic Multi-pooling Convolutional Neural Networks]的主要内容,以及复现论文的实验过程:
【摘要】:
传统的ACE事件抽取的方法首先依赖人工设计的特征和复杂的NLP工具。这些传统的方法缺少一般性,需要大量的人力成本,而且会产生误差传播以及数据稀疏问题。本文提出了一个新的事件抽取方法,目的是自动地抽取文本级别的以及句子级别的特征,不需要使用复杂的NLP工具。我们提出了一个单词表示模型来描述有意义的语义规律而且采用了一个基于卷积神经网络的框架来描述句子级别的线索。然而,CNN仅仅能描述句子中最重要的信息,而且当考虑多事件句子的时候可能丢失掉有价值的事实。我们提出了一个动态多池化CNN(dynamic multi-pooling convolutional neural network,DMCNN),为了保持更多的重要的信息,该方法根据事件触发器和参数使用动态的多池化层。实验结果证明我们的方法比其他最好的方法(state-of-the-art methods)都要明显地好。
事件抽取(Event Extraction):其目标在于发现事件特别类型的触发器以及事件参数。目前最好的方法是通过利用一系列通过文本分析以及语言学知识提取的精心设计好的特征。总体上,我们可以将这些特征分为两类:Lexical features 以及 contextual features。
词法特征(Lexical features):包括词性、实体信息以及形态学特征。目标是获取词语的语义以及词语背后的知识。提取传统的词法特征用以往传统的方法是one-hot 编码的方法。这种方式可能会遇到数据稀疏问题,以及不能充足地获取词的语义。
上下文特征(Contextual features):就像语法特征,目的在于理解事实在一个大的范围中是如何被联系到一起的。提取内部语义,最近CNN的改进以及被证明,能够有效提取一个句子中的词之间的语法以及语义知识。但是CNN通常是运用最大池化层去对整个句子的表示进行一个取最大值操作,以获取最重要的信息。但是,在事件提取中,一个句子可能包含,两个或者多个事件。而且,这些事件可能共享扮演不同角色的同一参数,这种问题用传统的CNN是解决不了的,所以引入了DCNN。
在这篇论文中,作者提出了一种动态多池化CNN去解决上述问题:
为了解决词汇层线索(lexical-level clues)问题,介绍了一种词编码(word-representation)方法。
为了解决句子层线索(sentence-level clues)问题,发明了一种动态多池化CNN方法。根据触发词以及参数词返回句子中每一部分的最大值。论文的主要贡献有:
ACE项目是为了开发自动提取技术,为了支持自动处理源语言数据。自动处理,那时定义包括,分类、过滤以及基于源数据语言内容的选择。ACE为广播稿、新闻通讯社以及报纸数据标注了英语、中文、阿拉伯语标签。三种主要的ACE任务:实体检测与跟踪(EDT)、关系检测与描述(RDC)、事件检测与描述(EDC)。以及第四种,实体链接(LNK)。
事件描述(Event mention):一个短语或者句子,描述一个事件,包括一个触发器以及一些参数。
事件触发器(Event trigger):最能清楚表达事件发生的一个词,ACE中主要为一个动词或者名词。
事件参数(Event argument):一个事件中的一个实体描述,暂时性的表达或者值。
参数角色(Argument role):事件与参数之间的关系。
给定一篇英文文本,一个事件抽取系统能够预测出带有具体子类型的事件触发器以及每个句子的参数。ACE定义了8种事件以及33种子事件。这里,主要是直接利用ACE提供的实体标签。
事件描述以及句法分析器实例:
上部分展示了两种事件描述共享了三个参数:Baghdad、cameraman、American tank。两种事件 描述:Die事件,触发器为“died”;Attack事件,触发器为"fired"。下部分展示了依赖结果。
本文中,事件提取被规划为两个步骤:
(1). trigger classification:利用DMCNN将句子中trigger word识别出来;
(2). argument classification:利用一个相似的DMCNN去识别arguments,并且识别出这些arguments对应的roles。
因为第二阶段更复杂,所以这里的3.1—3.4将会描述arguments classification的方法,在3.5中将会阐述两阶段使用的DMCNN的不同。
Figure 2描述了argument classification的结构,主要包括4个部分:
Word Embedding Learning and Lexical-Level Feature Representation
传统的Lexical-level特征主要包括lemma(人名,地名),synonyms(同义词),POS tag(词性标签),特征的质量很大依靠于现有NLP工具以及人类的创造力。传统特征不能满足词语语义的获取,而这在事件提取中是十分重要的。词嵌入在获取大量未标注文本的有意义的语义规则显得更加强大。先利用提前利用非监督方式训练好的词嵌入作为基础特征源。我们为候选词挑选词嵌入向量(包括trigger候选词以及argument候选词)以及上下文tokens(左边以及右边tokens)。然后,所有的次嵌入向量将会被连接在一起形成向量L(lexical-level features vector),用来在argument分类过程中代表lexical-level特征。
其中,我们利用Skip-gram模型预训练词嵌入向量。这个模型在很多NLP任务中是最佳方法。
Skip-gram模型同过最大化平均对数概率来words(w1,w2,…wm)的词嵌入向量:
Extraction Sentence-Level Features Using a DMCNN
DMCNN用动态多池化层去获取了句子每个部分的最大值,每个部分由事件trigger以及argument分割。因此DMCNN期望比传统CNN方法获得更有价值的线索(传统CNN只能获得一个句子中最有价值的信息)。
Dataset and Evaluation Metric
利用ACE2005语料库作为我们的数据集,以40篇新闻专线文章作为测试集,从不同类型的文章中随机挑选30篇文档作为开发集,剩下的529篇文章作为训练集。与之间的工作类似,我们选择了以下标准评价预测事件的正确率:
Our Method vs. State-of-the-art Methods
特别是,在trigger classification中,我们将窗口大小设置为3,特征图的数量设置为200,batch size为170,PF的维数为5。在argument classification中,我们将窗口大小设置为3,特征图数量设置为300,batch size大小为20 ,PF的维数以及EF的维数都为5。
Stochastic gradient descent over shuffled mini-batches with the Adadelta update rule(Zeiler, 2012) is used fortraining and testing processes。主要包括两个参数,p and ε。p=0.95, ε = 1e
−6次方。dropout的rate为0.5。在NYT 语料库上使用Skip-gram 算法训练次嵌入向量。
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。