登录

  • 登录
  • 忘记密码?点击找回

注册

  • 获取手机验证码 60
  • 注册

找回密码

  • 获取手机验证码60
  • 找回
毕业论文网 > 毕业论文 > 计算机类 > 计算机科学与技术 > 正文

文本事件检测算法研究与实现毕业论文

 2020-02-14 19:21:52  

摘 要

文本事件检测作为自然语言处理领域一个重要的任务,无论对于学术研究还是生产实践都有着重要的意义。而神经网络通过模拟人脑神经结构,用大量简单的单元来表示复杂的函数关系,具有学习能力强、并行性好的优点,已在模式识别、图像处理、知识发现、系统建模等领域得到了取得了广泛的应用。本文分别使用卷积神经网络和循环神经网络两种经典的网络模型构建了文本事件检测系统,并取得了良好的效果。

首先,本文对事件抽取领域的基本概念进行了介绍,包括事件范围、事件触发词、事件类别、事件论元类别等,同时对ACE2005数据集进行了分析,并介绍了任务的评价指标。此外,本文对卷积神经网络和循环神经网络的理论原理也进行了探讨,介绍了卷积神经网络的卷积层、激活函数层、池化层和全连接层的计算过程,并研究了长短期记忆神经网络这一循环神经网络重要变体的基本结构和理论推导。

基于上述研究,本文以Python语言和TensorFlow机器学习框架为基础,实现了数据预处理、窗口编码、词嵌入、位置嵌入及核心算法等模块,分别完成了基于卷积神经网络和长短期记忆神经网络的事件检测系统。最后,本文对两种网络结构的实验结果进行了探讨,并使用CNN新闻网站的数据对模型进行了测试,同时对两种模型的优缺点及今后的研究方向进行了总结。

关键词:文本事件检测、卷积神经网络、循环神经网络、长短期记忆神经网络

Abstract

Text event detection, as an important task in Neural Language Processing field, has a significant influence on both academic research and production practice. For neural networks, by simulating the structure of human brain, they can represent complex functional relation through employing large number of simple units, with excellent learning ability and high parallelism, which has already performed fine results in pattern recognition, image processing, knowledge discovery, system modelling fields, etc. In this work, we respectively utilize two classic network structures, which are Convolutional Neural Network and Recurrent Neural Network, to develop a text event detection system, and achieve a good performance.

At first, we introduce the basic concepts of event extraction fields like event extent, event trigger, event types and argument types. We also do some analysis for ACE2005 dataset and evaluation indicators. Additionally, we theoretically investigate the structure and computing process of neural networks including CNNs#39; convolutional layer, activation function layer, pooling layer, fully-connected layer and LSTM networks#39; forget gate, input gate and output gate.

Based on the above research and Python programming language and TensorFlow machine learning framework, we develop the event detection system which consists of data preprocessing, window encoding, word embedding, position embedding and core algorithm module. Besides, we compare the performance of two network structures, and test the system using news passage from CNN website. Finally, we discuss the advantages and disadvantages of two models and indicate the research direction in the future.

Key Words: Text event detection, Convolutional neural network, Recurrent neural network, Long-short term memory network

目录

摘要 I

Abstract II

第1章 绪论 5

1.1 研究背景及意义 5

1.2 国内外研究现状 5

1.3 本文研究内容 7

1.4 本文组织结构 8

第2章 事件检测领域研究 9

2.1 研究任务介绍 9

2.2 事件类型和事件论元类型 10

2.3 ACE2005数据集 11

2.4 任务评价指标 13

第3章 神经网络模型研究 14

3.1 卷积神经网络 14

3.1.1 卷积层 14

3.1.2 激活函数层 15

3.1.3 池化层 16

3.1.4 全连接层 17

3.2 循环神经网络 17

3.2.1 循环神经网络基本结构 17

3.2.2 LSTM神经网络 18

3.2.3 LSTM遗忘门 19

3.2.4 LSTM输入门 19

3.2.5 LSTM输出门 20

第4章 事件检测系统设计与实现 22

4.1 TensorFlow机器学习框架介绍 22

4.2 数据预处理 23

4.3 窗口编码 25

4.4 词嵌入和位置嵌入 26

4.5 基于卷积神经网络的事件检测模型 27

4.6 基于长短期记忆网络的事件检测模型 29

4.7 模型结果分析 31

4.7.1 模型指标评估 31

4.7.2 模型效果测试 32

第5章 总结与展望 36

5.1 本文工作总结 36

5.2 未来工作展望 36

参考文献 38

致谢 40

第1章 绪论

1.1 研究背景及意义

随着计算机和互联网技术的不断发展,数据信息的产生和传播速度都有了极大的提高,我们每天所接触的数字信息越来越多,但也因此产生了“信息过载”的问题:个人所收到的信息超过了其所能接受、处理和有效利用的范围,而且包含了大量的重复、冗余和低价值的信息,严重干扰了我们对有用信息的选择和分析。

面对“信息过载”的问题,如何快速有效地组织海量信息并提取重要内容是一项非常有意义的任务。对个人而言,这可以帮助我们迅速了解文本主旨内容、提取重要信息,帮助挑选出我们真正感兴趣的文章;对政府、企业而言,可以帮助决策者提高信息获取效率,快速从海量相关文本中筛选出最重要内容,也便于对相关文本进行归纳整理。而“事件”作为文本的重要组成部分之一,理解其结构和表义无疑会帮助我们理解文本、提取有效信息, 知道了一篇文章所描述的事件,很大程度上就可以理解这篇文章的主要内容,也就相当于抽取出了文章的主要信息,而事件抽取算法作为自然语言处理领域较为底层的算法,针对其的研究对于更上层的自动文摘、舆情分析等领域也有着重要的意义。

1.2 国内外研究现状

事件抽取(Event Extraction)是信息抽取(Information Extraction)方向下的一个子方向,其作为自然语言处理领域(Natural Language Processing)中较为底层的研究方向,有着广泛的应用,因此一直以来都受到国内外学界、工业界的广泛关注,每年在国际顶级会议ACL(Association for Computational Linguistics),EMNLP(Empirical Methods in Natural Language Processing),NAACL(North American Chapter of the Association for Computational Linguistics),AAAI(Association for the Advancement of Artificial Intelligence),IJCAI(International Joint Conferences on Artificial Intelligence),WWW(International World Wide Web Conference)上均有大量学术成果发表。目前为止,事件抽取主要有以下四类主流方法:模式识别法、基于神经网络的表示学习法、联合推断法及篇章信息推断法。

传统的事件抽取方法大多基于模式识别(pattern-based),主要分为语法模式(syntactic pattern)和语义模式(semantic pattern)两种。语法模式的主要思想是通过句子的语法成分来进行事件抽取,如Aone等人首先对事件触发词进行识别,其次根据触发词和事件论元的语法关系来抽取论元[1] ;而对于语义模式,则主要侧重于通过描述事件和其论元的语义关系来进行识别,Cohen等人通过本体知识库的方法(Ontology Knowledge Base)来进行事件抽取,本体知识库可以看作一个存储实体和实体间关系的系统,通过描述关系可以对实体进行语义限制和概念定义,以此来完成事件论元的检测[2] 。模式识别方法最大的好处是不需要太大的数据量,且通过一定的模式或规则来完成识别过程非常符合人们的直观理解,可解释性较好。但缺点是模式的制定需要大量专家知识,且容易受到领域的限制,泛化性较差。且因为人类语言具有很大的灵活性,所以有限的模式总归是无法捕捉事件的所有出现形式,一定程度上限制了系统的性能。

近年来,随着计算能力的提升以及越来越多高质量数据集的出现,基于统计理论的机器学习方法获得越来越多的重视,最重要的分支即为以神经网络为代表的表征学习方法。其核心思想是通过大规模数据集的训练,让机器自己学习到事件抽取的规则,从而避免人为设计特征的复杂性以和低泛化性。在这类方法中,单词首先会被预训练为词向量的模式,之后输入到神经网络中进行进一步的分类。Nguyen等人通过三个不同的词嵌入表将单词转化为词向量,之后运用卷积神经网络(Convolutional Neural Network)来实现对单词的分类[3] ;Chen, Yubo等人也提出了相似的方法,通过将卷积神经网络的池化层进行动态处理,构造了动态多层池化卷积神经网络,根据不同的事件和论元特征进行不同的池话处理,以此来更好地捕捉特征[4] ;此外,Hong, Yu等人运用了生成对抗网络(Generative Adversarial Network, GAN)来进行事件抽取,模型使用了两个神经网络,通过对抗机制来不断产生虚假特征并对其进行检测,以此来使模型具备更好的自调节性能,从而达到更优的检测效果[5]

关于联合推断法,因为事件检测和论元抽取两个任务之间的密切关系,近年来很多方法聚焦于对两个任务进行联合推理。联合推理最大的好处是可以解决传统流水线模型的误差传播弊端,两个任务同时进行,也就不存在上游任务的误差会影响下游任务精度的问题。如Li, Qi等人提出了局部特征和全局特征的概念,局部特征指仅针对与事件或者事件论元的特征,全局特征则用来表征事件和论元之间的联系,通过同时运用这两类特征来实现联合推断系统[6] 。受上述启发,Nguyen等人运用双向循环神经网路(Bidirectional Recurrent Neural Network )来构建联合推断系统,其最大的改进为Li, Qi等人是手动设计特征,而该文运用神经网络来自动提取特征,以此来提升模型的性能和泛化性[7]

除此之外,如何更充分地利用整篇文章的上下文信息来帮助事件抽取任务也是近年来的一个研究热点。如Liao, Shasha使用跨事件推断的方法,希望通过文章中出现的其他事件类型来帮助进行事件抽取以及解决歧义问题[8] 。Zhao, Yue等人则提出了DEEB-RNN (Document Embedding Enhanced Bi-RNN)模型,通过使用了文档嵌入(Document Embedding)的方法,来更好地获取文档级的全局信息,从而帮助进行事件抽取任务[9]

1.3 本文研究内容

本课题以ACE2005数据集为基础,对文本事件检测算法进行了研究和实现,具体的工作包含三个模块:数据处理模块、核心算法模块和机器学习训练模块。

(1)数据处理模块:本模块的主要任务是对数据集中的数据进行解析和存储,ACE2005的原始数据和数据标签都是以XML文档的形式保存的,因此首先要将数据提取出来;其次要将文本数据转化为适合计算机处理的形式,最终将处理后的数据进行保存,以便后续模块可以反复使用。

(2)事件检测算法模块:本文使用了基于机器学习的方法对算法进行实现,首先使用窗口编码技术(Window Encoding)对每个单词的上下文进行整合,之后进行词嵌入(Word embedding)和位置嵌入(position embedding)将单词转换为数值向量,之后将单词传入神经网络中进行训练,本文使用了卷积神经网络和长短期记忆网络两种模型进行了实现,从而完成事件检测任务。

(3)机器学习训练模块:该模块主要是对神经网络进行训练,使用了Python和TensorFlow搭建了机器学习训练框架,首先对数据集进行随机处理(shuffle),其次将数据集分为了训练集、开发集和测试集,使用mini-batch和梯度下降对神经网络进行训练,最终完成了整体的训练任务。

注:因为目前国际上事件抽取领域的大多研究是基于英文语料的,且作者所获取的ACE2005数据集也只有英文部分,因此本课题的研究将是基于英文文本的。但核心算法的研究是具有一定语言通用性的,本课题的研究成果也可应用到中文语料中(但需要一定的适配工作),具体的工作会在“未来工作展望”中介绍。

1.4 本文组织结构

本文主要分为五章,分别介绍了事件抽取领域的基本概念、卷积神经网络和循环神经网络模型、核心算法的实现、模型结果的评估等,具体如下:

第一章介绍了本文的研究背景与意义、国内外研究现状、本文研究内容,并且说明了本文的组织结构。

第二章对事件检测领域进行了具体介绍,包括任务目标、基础概念、事件类型、语料数据集和评价指标等。

第三章研究了本文使用的两种神经网络算法:卷积神经网络和循环神经网络,从理论角度探究了两种神经网络的原理和优缺点,并对神经网络的一些基本概念进行了介绍。

第四章介绍了事件检测系统的设计和实现,包括TensorFlow机器学习框架的搭建、数据预处理步骤、窗口编码、词嵌入和位置嵌入、两种神经网络的设计与实现、模型结果分析等。

第五章对本文的主要工作和内容做了总结,并展望了今后模型的研究方向和改进计划。

第2章 事件检测领域研究

2.1 研究任务介绍

本课题的核心任务是自然语言处理领域的事件检测技术(Event Detection),即如何从非结构化/半结构化的文本中自动获取事件信息,并进行结构化表征[10] 。事件检测任务是事件抽取任务下的一个子任务(另一个子任务是事件论元抽取),因为两个子任务间关系非常密切,所以我们在本节会对其一起介绍。首先我们需要明确事件抽取领域的基本概念,目前国际上广泛采用的标准是语言数据联盟(Linguistic Data Consortium,LDC)于2005年在其自动内容抽取语料数据库(Automatic Content Extraction 2005, ACE2005)中对事件的描述和定义[11] ,下文将进行具体的阐述。

在文本信息中,事件的定义为“特定的人、物在特定时间和特定地点相互作用的客观事实”,如公司的合并、破产,人们的结婚、公司职务的变动等等。在文本中,一个事件通常是在一定的区域内进行描述的,这个区域叫做事件范围(event extent),一般来说是句子级的,即我们通常认为事件是在单个句子内进行描述的。在事件范围中,会有一个单词其最能描述这个事件的发生,这个单词被称为事件触发词(event trigger)或事件锚(event anchor),如在句子“They have been married for ten years”中,事件触发词就是“married”,其最能表征结婚这个事件的发生。我们对事件的检测,本质就是对事件触发词的检测,检测出事件触发词,并为其分配一个合适的事件类型。

除了研究事件本身,识别事件的参与者同样也受到了广泛的研究。一个事件的参与者定义为:所有参与这件事的、且出现在事件范围内的实体(英文为entity,可理解为单个物体,每种实体具有相应类别, 如人物、组织、地点和时间等)。需要注意的是,在一个事件范围内,会有一些实体与这件事有关,但又没有参与到这件事中(如事件发生的场所),这些实体被称为事件属性(attributes)。事件属性和事件参与者共同被称为事件论元(event arguments)。对于事件抽取任务,其具体目标就是抽取出文本中的事件触发词信息及其论元信息。细分开来,事件抽取任务可以分为事件检测(event detection,ED)和事件论元抽取(argument extraction, AE)两个子任务,事件检测任务的目标是检测出事件的触发词并为其分配合适的类型,事件论元抽取任务的目标是检测事件触发词的论元信息并分配类型。我们在本课题中主要研究的是事件检测任务,并不涉及事件论元抽取,对事件论元抽取的研究会在“未来工作展望”一节中介绍。

2.2 事件类型和事件论元类型

目前,针对事件抽取的项目主要有TAC KBP评测项目(Text Analysis Conference)和ACE评测项目(Automatic Content Extraction),因为ACE项目起始时间较早,工业界、学术界对其的关注都更为充分,因此本文主要针对ACE项目进行研究。ACE评测项目中对事件类型和事件论元类型进行了明确的定义,事件被分为八个大类:Conflict,Movement,Contact,Business,Life,Personnel,Transaction,Justice,分别为:冲突、移动、交流、商业、生命、人事、交易和司法,每个大类下有若干子类,总共有33个小类,如下图所示:

以上是毕业论文大纲或资料介绍,该课题完整毕业论文、开题报告、任务书、程序设计、图纸设计等资料请添加微信获取,微信号:bysjorg。

相关图片展示:

../Desktop/Screenshot 2019-05-24 at 08.03.55.png

../Desktop/Screenshot 2019-05-26 at 07.30.22.png

您需要先支付 80元 才能查看全部内容!立即支付

企业微信

Copyright © 2010-2022 毕业论文网 站点地图