目录
文献总结
相关知识
代码环境搭建
文献总结
顶会文献
《Distilling Discrimination and Generalization Knowledge for Event Detection via ∆-Representation Learning》ACL2019
- 概述: 为解决事件检测系统在泛化知识上识别触发词学习方面较差的现象,提出一种通过有效解耦、逐步学习、自适应融合事件表示来在分化、泛化知识进行学习
- 优点: 提高了算法在泛化知识方面学习的能力,加强了以前事件检测难以识别出的隐藏的事件触发词的抽取能力
- 不足:技术路线较复杂,分化知识和泛化知识分别抽取特征表示会不会产生干扰
- 技术路线: 词预训练模型: 基于ELMo模型->△-特征表示学习->用自注意循环神经网络(attention-RNN)学习分化知识的特征表示->用DMCNN模型来学习泛化知识的特征表示
《Exploring Pre-trained Language Models for Event Extraction and
Generation》ACL2019
- 概述:提出一种采用预训练语言模型来提取事件触发词,通过论元预测分离的方法来来处理论元抽取任务中论元重叠的问题,利用BERT的Masked LM自动生成标签数据
- 优点:以往的工作都是将第一个匹配成功的论元作为结果,忽略了该论元的其他可能性,该文考虑到了这一点;不依赖于需要大量人工标注的数据来训练模型;模型简单,效果较好,充分利用了BERT
- 不足:在ACE上的论元识别和分类F1值只有65.3%和58%
- 技术路线:在BERT上进行触发词抽取和论元抽取的特征学习->通过BERT的Mask预训练方法得到标签数据
《Joint Extraction Model of Entities and Events》
- 概述: 提出了一种新的方案,将联合抽取任务转化为标签问题。然后使用不同的end-to-end模型来直接提取实体和事件,并构造了一个模块来描述不同标签的作用
- 优点:不使用管道模式,避免了误差传递放大噪声,使用联合抽取考虑到了事件识别和事件抽取两个任务的关联性,提出了一种实体和事件相结合的标记方案,采用最新的BERT模型解决联合提取问题
- 不足: end-to-end模型中含有多种神经网络构建较复杂,两个任务不是独立的模型,因此带来组件调整相对而言较不方便,实验在一个金融数据集上进行,结果可靠性有待辨别
- 技术路线:使用end-to-end模型来联合提取实体和事件,通过模块的描述来对得到的标签结果进行解析
end-to-end模型: word2vec+LSTM+CRF、BERT+SoftMax、BERT+LSTM+CRF
《Literary Event Detection》ACL2019
- 概述:考虑到文学作品心理描写、比喻等叙述方式对ED任务的挑战,提出一种新的事件检测系统,并分析了文学作品中的事件检测结果与小说受欢迎程度之间的联系
- 优点: 不同于以往专注于新闻领域的事件抽取,提出了针对发生在小说的虚构空间的事件的检测任务,实验设计了多种模型组合,最终得到BERT+Bi-LSTM效果较好的结果,以前没有文章专门研究过现实主义的事件在文学小说结构中所起的作用,该论文具有创新意义
- 不足:数据集由自己搭建权威性有待考证,该方向上的成果较少
- 技术路线: 使用BERT预处理->Bi-LSTM模型检测事件
《Context Event Features and Event Embedding Enhanced Event Detection》
- 概述:提出一种基于预训练语言模型的事件检测框架CFEE,该框架利用双向递归神经网络融合的上下文信息和将所有事件类型投射到共享语义空间中得到的事件向量来为事件检测任务服务。CFEE模型:BERT+Bi-LSTM
- 优点:利用到了不同事件类型之间的相关性,并证实了利用事件关联和上下文包含的信息能在Event Detection任务中取得更好效果
- 不足:只进行了事件检测,并未进行下一步抽取任务,是否能对整体事件抽取的效果带来提升还有待商榷
- 技术路线: 对所有事件类型进行投影,通过Skip gram模型进入共享语义空间(事件之间的距离表示事件相关性),再利用双向递归神经网络融合上下文信息
《Learning Discriminative Neural Representations for Event Detection》
- 概述: 提出从文本中学习判别特征来进行事件检测,通过比对学习策略和混合跨度策略分别增强了触发词的判别特征差异和训练模型区分触发词边界的能力,DNR模型:Encoding Module (BERT) + Contrastive Learning Module + Mixspan Module
- 优点:主要成果是更精确地确定触发词的边界,通过学习DNR(辨别神经表征)来增强事件检测效果,并且在ACE2005和TAC2015上都进行了实验验证
- 不足:成果未完整,文章中提及的第二类错误还未进行解决,并且同样只进行了触发词识别任务,未对事件进行抽取
- 技术路线:首先通过一种新的对比学习策略,放大了大了词汇表征内部和外部触发因素之间的差异信息,后使用混合跨度方法来训练模型用于划分触发词边界
普通文献效果
《基于分层次多粒度语义融合的中文事件检测(中文)》2021.05丁玲 向阳 同济大学电子与信息工程学院
- 模型: (BERT)+(CNN)+(Bi-LSTM+CRF)
- 触发词识别F1:70
- 触发词分类F1:67.7
《基于字词联合表示的中文事件检测方法(JRCW-GCN)》 (中文)2021.04吴 凡 朱培培 王中卿 李培峰 朱巧明 苏州大学计算机科学与技术学院
- 模型:(BERT + Transformer)+(GCN)
- 触发词识别F1:72.5
- 触发词分类F1:68.2
《基于BERT-CRF模型的中文事件检测方法研究》(中文)2021田梓函,李 欣 中国人民公安大学 信息网络安全学院
- 概述:将每个字作为输入向量,不用NLP分词,BERT 预训练模型抽取特征,条件随机场 CRF 进行多标签分类
- 模型:(BERT )+(CRF)
- 触发词识别F1:80.6
- 触发词分类F1:75.8
《事件要素注意力与编码层融合的触发词抽取研究》(英文)2021.04潘 璋,黄德根 大连理工大学 计算机科学与技术学院
- 模型:(BERT )+(Bi-LSTM)
- 触发词识别F1:71.95
《融合多级语义特征的双通道GAN事件检测方法》(英文)2021.03潘丽敏, 李筱雅, 罗森林, 吴舟婷 北京理工大学 信息与电子学院
- 模型:Bi-LSTM
- 触发词识别F1:80.2
- 触发词分类F1:77.0
《Learning Discriminative Neural Representations for Event Detection》 2021.07
- DNR模型:Encoding Module (BERT) + Contrastive Learning Module + Mixspan Module
- 触发词识别F1:85.2
- 触发词分类F1:81.8
《Context Event Features and Event Embedding Enhanced Event Detection》 2020.12
- CFEE模型:BERT+Bi-LSTM
- 触发词分类F1:79.1
《基于动态掩蔽注意力机制的事件抽取》2020.07黄细凤 中国电子科技集团公司第十研究所
- 模型:Glove+Bi-RNN+DyMAN
- 触发词识别F1:70.8
- 触发词分类F1:68.6
- 论元识别:65.3
- 论元分类:58.6
《基于篇章信息和Bi-GRU的中文事件检测》2020.12朱培培王中卿李寿山王红玲 苏州大学计算机科学与技术学院
- 模型:Bi-GRU
- 触发词识别F1:76.4
- 触发词分类F1:71.7
近几年ee工作总结
[1]Shi, Xin, et al. “Context Event Features and Event Embedding Enhanced Event Detection.” 2020 3rd International Conference on Algorithms, Computing and Artificial Intelligence. 2020.
[2]Liao, Jinzhi, et al. “Learning Discriminative Neural Representations for Event Detection.” Proceedings of the 44th International ACM SIGIR Conference on Research and Development in Information Retrieval. 2021.
[3]丁玲,and 向阳.”基于分层次多粒度语义融合的中文事件检测.” 计算机科学 48.05(2021):202-208. doi:
[4] 吴凡, et al.”基于字词联合表示的中文事件检测方法.” 计算机科学 48.04(2021):249-253. doi:
[5]田梓函,and 李欣.”基于BERT-CRF模型的中文事件检测方法研究.” 计算机工程与应用 57.11(2021):135-139. doi:
[6] 潘璋,and 黄德根.”事件要素注意力与编码层融合的触发词抽取研究.” 小型微型计算机系统 42.04(2021):673-677. doi:CNKI:SUN:XXWX.0.2021-04-001.
[7] 潘丽敏, et al.”融合多级语义特征的双通道GAN事件检测方法.” 北京理工大学学报 41.03(2021):295-302. doi:10.15918/j.tbit1001-0645.2019.177
[8] 黄细凤.”基于动态掩蔽注意力机制的事件抽取.” 计算机应用研究 37.07(2020):1964-1968. doi:10.19734/j.issn.1001-3695.2018.12.0927.
[9] 朱培培, et al.”基于篇章信息和Bi-GRU的中文事件检测.” 计算机科学 47.12(2020):233-238. doi:
事件抽取作为信息提取领域ACE的重要任务,近年来得到广泛的研究
- [1]提出一种基于预训练语言模型的事件检测框架CFEE,该框架利用双向递归神经网络融合的上下文信息和将所有事件类型投射到共享语义空间中得到的事件向量来为事件检测任务服务;
- [2]提出从文本中学习判别特征来进行事件检测,通过比对学习策略和混合跨度策略分别增强了触发词的判别特征差异和训练模型区分触发词边界的能力
- [3]提出的分层次多粒度模型利用基于字符序列标注的方法解决了触发词不匹配的问题,同时设计了字符-词语融合门机制,以获取多种分词结果中词语的语义信息;然后,通过设计字符-句子融合门机制,考虑整个句子的语义信息,学习序列的字-词-句混合表示,消除词语的歧义性;最后为平衡标签分布采用了带有偏差的损失函数对模型进行训练。
- [4]提出的JRCW-GCN通过BERT预训练语言模型以及Transformer模型分别编码字和词的语义信息,然后利用词和字之间的关系构建对应的边,最后使用图卷积模型同时融合字词级别的语义信息进行事件句中触发词的检测。
- [5]将事件检测视为序列标注任务,提出采用BIO标注数据,将训练数据通过预训练模型BERT得到基于远距离的动态字向量的触发词特征,通过条件随机场CRF对触发词进行分类。
- [6] 提出一种事件要素注意力与编码层融合的事件触发词抽取模型,通过事件要素与事件触发词之间的相关性来利用事件要素信息,同时编码层采用多头自注意力机制间接学习事件要素与事件触发词之间的依赖关系。
- [7]考虑句子或文档内事件间的相关关系,提出一种融合多级语义特征的双通道GAN事件检测方法,使用多级门限注意力制获取句子级和文档级事件问的语义相关性,并利用双通道GAN及其自调节学习能力减轻噪声信息的影响,进而提高事件特征表示的准确性。
- [8]针对多事件抽取任务提出了一种注意力机制的变种———动态掩蔽注意力机制DyMAN,与常规注意力机制相比,动态掩蔽注意力机制能够捕捉更丰富的上下文表示并保留更有价值的信息。
- [9]讨论了基于篇章信息的事件抽取方法,提出首先定义多个窗口来学习句子特征,之后将句子表示进行拼接,再利用双向门控循环单元网络学习句子的上下文特征。然后将句子表示和上下文表示进行融合,以丰富句子的语义信息,并减少候选触发词语义模糊现象,最后完成进行事件触发词的分类。
相关知识
1.名词的解释
Batch大小是在更新模型之前处理的多个样本
Epoch大小是通过训练数据集的完整传递次数,可以理解为Epoch=重复多少次完整的训练集批处理,Epoch大小必须大于或等于1且小于或等于训练数据集中的样本数。可以将Epoch设置为1和无穷大之间的整数值。
模型权重更新次数= Epoch* (数据集样本数/每个Batch大小)
例:有一个包含200个样本(即200个数据行)的数据集,选择Batch大小为5,Epoch为1000
这意味着数据集:分为200/5=40个Batch,即每一个epoch将涉及40次模型更新
每个Batch有5个样本
经过五个样本后,模型将更新一次它的权重
1000个Epoch,表示模型将整个数据集反复传递1000次
在整个训练过程中,总共有40000个Batch,即40000次模型更新
代码环境搭建
1.安装Anaconda并在Anaconda中配置Pytorch环境
2.在Pytorch环境中导入pytorch_pretrained_bert方便后续使用bert模型
1 | pip install pytorch_pretrained_bert |
3.在Pycharm项目中将解释器路径设置为Anaconda/envs/pytorch/python.exe
4.ipdb的使用:ipdb是一个python调试工具,运行程序后, 会在执行到set_trace()这一行时中断程序 并出现提示符
1 | ipdb> |
常用的ipdb命令
- n(下一个)
- ENTER(重复上次命令)
- q(退出)
- p<变量>(打印变量)
- c(继续)
- l(查找当前位于哪里)
- s(进入子程序)
- r(运行直到子程序结束)
- !
5.安装sklearn
1 | pip install sklearn |
6.Stanford CoreNLP的使用
- 在CoreNLP下载最新版本的CoreNLP并解压到一个纯英文路径(例D:\Anaconda3\envs\pytorch\stanford-corenlp-4.2.2)
- 若需对非英文语言进行处理则还需在CoreNLP下载对应的语言包并解压至\stanford-corenlp-4.2.2
- 安装stanfordcorenlp
1
pip install stanfordcorenlp
- Python代码中使用形式
1
2
3
4
5
6from stanfordcorenlp import StanfordCoreNLP
# 处理英文语句
nlp = StanfordCoreNLP("D:\Anaconda3\envs\pytorch\stanford-corenlp-4.2.2")
# 处理中文语句
nlp_ch = StanfordCoreNLP("D:\Anaconda3\envs\pytorch\stanford-corenlp-4.2.2", lang='zh') - 分词
1
2result = nlp.word_tokenize('This is an example of tokenziation.')
# result = ['This', 'is', 'an', 'example', 'of', 'tokenziation', '.'] - 词性标注
1
2result = nlp.pos_tag('This is an example of tokenziation.')
# result = [('This', 'DT'), ('is', 'VBZ'), ('an', 'DT'), ('example', 'NN'), ('of', 'IN'), ('tokenziation', 'NN'), ('.', '.')] - 词性解释:
- ROOT : 要处理文本的语句
- IP : 简单从句
- NP : 名词短语
- VP : 动词短语
- PU : 断句符,通常是句号、问号、感叹号等标点符号
- LCP : 方位词短语
- PP : 介词短语
- CP : 由‘的’构成的表示修饰性关系的短语
- DNP : 由‘的’构成的表示所属关系的短语
- ADVP : 副词短语
- ADJP : 形容词短语
- DP : 限定词短语
- QP : 量词短语
- NN : 常用名词
- NT : 时间名词
- PN : 代词
- VV : 动词
- VC : 是
- CC : 表示连词
- VE : 有
- VA : 表语形容词
- VRD : 动补复合词
- CD : 表示基数词
- DT : determiner 表示限定词
- EX : existential there 存在句
- FW : foreign word 外来词
- IN : preposition or conjunction, subordinating 介词或从属连词
- JJ : adjective or numeral, ordinal 形容词或序数词
- JJR : adjective, comparative 形容词比较级
- JJS : adjective, superlative 形容词最高级
- LS : list item marker 列表标识
- MD : modal auxiliary 情态助动词
- PDT : pre-determiner 前位限定词
- POS : genitive marker 所有格标记
- PRP : pronoun, personal 人称代词
- RB : adverb 副词
- RBR : adverb, comparative 副词比较级
- RBS : adverb, superlative 副词最高级
- RP : particle 小品词
- SYM : symbol 符号
- TO : ”to” as preposition or infinitive marker 作为介词或不定式标记
- WDT : WH-determiner WH限定词
- WP : WH-pronoun WH代词
- WP$ : WH-pronoun, possessive WH所有格代词
- WRB : Wh-adverb WH副词