版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
基于序列标注的金融事件要素抽取DESIGNANDIMPLEMENTATIONOFONLINEORDERINGPLATFORM目录TOCTOCTOC摘要 4关键词 4第一章前言 51.1选题背景及意义 51.2论文的工作内容 错误!未定义书签。1.3论文的组织结构 错误!未定义书签。第二章相关基础理论介绍 62.1循环神经网络 错误!未定义书签。2.2transformer 错误!未定义书签。2.3CRF 错误!未定义书签。2.4词向量 错误!未定义书签。第三章事件检测+论元抽取pipeline抽取 错误!未定义书签。3.1功能需求 错误!未定义书签。3.2系统功能模块图 错误!未定义书签。3.3可行性的分析 错误!未定义书签。3.3.1技术可行性分析 错误!未定义书签。3.3.2经济的可行性 错误!未定义书签。3.3.3方案的可行性 错误!未定义书签。第四章事件检测+事件抽取联合抽取 错误!未定义书签。4.1设计目标 错误!未定义书签。4.2系统的业务流程图 错误!未定义书签。4.3系统层次结构 错误!未定义书签。第五章结束语 错误!未定义书签。参考文献 错误!未定义书签。致谢 错误!未定义书签。基于序列标注的金融事件要素抽取摘要:2016年,谷歌旗下的AI系统AlphaGo以4:1战胜围棋九段高手李世石,引发了一波全球性的人工智能热潮。而自然语言处理被认为是人工智能的掌上明珠,更是取得巨大巨大进步。在金融领域,如何从无结构的文本中提取出从业人员关注的信息称为自然语言处理当前的主要研究方向。基于深度学习的信息抽取技术受到研究人员的广泛关注。而事件抽取是信息抽取的重要环节,也是信息抽取领域中最具挑战的任务。事件抽取的目标往往是多样的,通常均会将任务拆分为几个步骤完成,最普遍的分解方式是ACE在2005年测评中定义的事件触发词识别、事件触发词分类、事件元素识别和事件元素分类四个阶段。近年来,研究者们尝试将四个传统过程整合成更少的步骤,常见的是分为两个子任务:事件类型检测和事件论元抽取。由于我的任务是在高管辞职的公告中抽取高管辞职类事件,因此我们将事件抽取简化为事件要素抽取一步。主要研究内容和研究结果如下:使用BILSTM+CRF的baseline模型来进行高管辞职类事件要素抽取基于ERNIE+BILSTM+CRF的深度模型来进行高管辞职类事件要素抽取在ERNIE+BILSTM+CRF模型的基础上,添加实体类型信息、触发词类型信息、触发词位置信息等特征进行训练,取得一定的提升。关键词:ERNIE;序列标注;事件抽取;高管辞职1前言1.1选题背景及意义随着自然语言处理的蓬勃发展,序列模型由于可以比较好的自然语言处理中信息抽取问题,本文就事件要素抽取展开研究,期望能够利用序列标注模型提高要素抽取的性能。事件抽取是一项综合研究,需要比较深入的自然语言处理方法和技术作为支撑。相对于其他抽取和识别任务(如实体抽取、关系抽取),事件,识别和抽取更加复杂且富有挑战性,事件中会涉及更多的实体和值,而且事件中各个元素间具有复杂关系和结构。而事件抽取一般依赖于词法、句法分析等基本的自然语言处理工具,但实际中许多自然语言处理工具的性能并不高,低性能的工具引入的错误会降低事件抽取系统的性能。因此本研究课题期望可以不依赖基础的自然语言处理工具,直接利用序列标注模型的优势解决事件抽取任务。事件抽取相关技术概述本章节会对实验中所使用的基础知识进行简单介绍2.1循环神经网络循环神经网络类的模型在语音识别、自然语言处理以及视频领域中引起变革。2.1.1RNN循环神经网络的核心部分是一个有向图,有向图展开中以链式相连的元素被称为循环单元(RNNCell)。通常地,循环单元构成的链式连接可类比前馈神经网络中的隐含层(hiddenlayer)。给定按序列输入的学习数据X={X1,X2,...,XL},循环神经网络的展开长度为L。待处理的序列通常为时间序列,此时序列的演进方向被称为“时间步(time-step)”。对时间步L,循环神经网络的循环单元有如下表示:其中u,w是循环节点的权重,前者称为状态-状态权重,后者称为状态-输入权重通过建立输出节点,循环神经网络可以有多种输出模式,包括序列-分类器(单输出)、序列-序列(同步多输出)、编码器-解码器(异步多输出)等。在我们的任务中,使用的是序列-序列(同步多输出)输出模式。RNN模型图然而循环神经网络却有糟糕的长期依赖问题(long-termdependenciesproblem),即在对序列进行学习时,循环神经网络会出现梯度消失(gradientvanishing)和梯度爆炸(gradientexplosion)现象,无法掌握长时间跨度的非线性关系。2.1.2LSTM长短期记忆网络(LSTM,LongShort-TermMemory)是一种时间循环网络,是为了是为了解决一般的RNN(循环神经网络)存在的长期依赖问题而专门设计出来的,由于其独特的设计结构,LSTM适合于处理和预测时间序列中间隔和延迟非常长的重要事件。所有循环神经网络都具有神经网络的重复模块链的形式。在标准的RNN中,该重复模块将具有非常简单的结构,例如单个tanh层。LSTM也具有这种链式结构,但是它的重复单元不同于标准RNN网络里的单元只有一个网络层,它的内部有四个网络层,被称作记忆块。LSTM网络能通过一种被称为门的结构对细胞状态进行删除或者添加信息。门能够有选择性的决定让哪些信息通过。门的结构很简单,就是一个sigmoid层和一个点乘操作的组合.因为sigmoid层的输出是0-1的值,这代表有多少信息能够流过sigmoid层。0表示都不能通过,1表示都能通过。一个LSTM里面包含三个门来控制细胞状态。三个门分别称为遗忘门、输入门和输出门。LSTM结构图LSTM的公式如下:其中,i,o,f分别为输入门、输出门和遗忘门。h、c2.2Transformer自Attention机制提出后,加入attention的Seq2seq模型在各个任务上都有了提升。之后google提出了解决sequencetosequence问题的transformer模型,用全attention的结构代替了lstm,在翻译任务上取得了更好的成绩。Attention\o"添加到收藏夹"注意函数可以描述为将查询和一组键值对映射到输出,其中查询、键、值和输出都是向量。输出被计算为值的加权和,其中分配给每个值的权重由查询的兼容函数和相应的键计算。ScaledDot-ProductAttention这种特殊的注意力机制被称为ScaledDot-ProductAttention。输入包括维度dk的query和key以及维度为dv的value。使用所有key计算query的点积,除以dk的平方根,然后用softmax函数获得值的权重。Multi-Headi-HeadAttention论文作者发现,使用不同的线性映射将key,query,value,分别映射到dk,dq,dv维h次,要优于用一个注意力函数将key,query,value直接映射为dmodel维的向量。换句话说,假如dmodel的维度为512,那么我们可以使用不同的线性映射8次,每次为64维,最后把每个头的结果拼起来。多头注意力机制允许模型在不同的位置共同关注来自不同表示子空间的信息。只有一个注意力头,平均话会抑制这种情况。Positionencodings由于简单注意力机制无法像循环神经网络和卷积神经网络那样,编码每个词在序列中的顺序信息,因此必须要加入一些词在序列中的相对位置信息或绝对位置信息。transformer中将“位置编码”添加到编码器和解码器堆栈底部的输入嵌入中。位置编码与词嵌入具有相同的维度,因此可以将两者相加。需要注意的是有许多学习位置编码的选择,transformer中选择了用不同频率的sine和cosine函数直接计算。2.3预训练词向量2.3.1.Word2vecWord2Vec是自然语言处理领域中最常用的词向量训练模型,是基于分布式表示的向量模型。分布式表示的向量可以更好的表现出词与词之间的相似性,最简单的就是可以通过余弦函数来计算两个词之间的相似度。对于给定的词汇表,可以通过在预料中预训练从而得到每个词的词向量。Word2Vec有两种训练方法,一种叫CBOW,核心思想是从一个句子里面把一个词抠掉,用这个词的上文和下文去预测被抠掉的这个词;第二种叫做Skip-gram,和CBOW正好反过来,输入某个单词,要求网络预测它的上下文单词。CBOW模型Skip-Gram模型Word2Vec的输入是one-hot向量,隐藏层没有激活函数,输出层维度跟输入层的维度输入的one-hot向量维度一致,使用的是softmax回归。需要注意的是,如果词表内有10万个词,那么输出层的维度就是10万,这在做softmax计算的时候相当费力,因此,Word2Vec提供了负采样的方法,不直接让模型从整个词表中找概率最大词了,而是直接给定这个词(即正例)和几个随机采样的噪声词(即采样出来的负例),模型需要做的是在这几个样本中找出正确的词,这样一来,模型计算复杂度就被大大减小。但是Word2Vec却有一个致命的问题,那就是多义词问题。比如多义词Bank,WordEmbedding在对bank这个单词进行编码的时候,是区分不开这两个含义的,因为它们尽管上下文环境中出现的单词不同,但是在用语言模型训练的时候,不论什么上下文的句子经过word2vec,都是预测相同的单词bank,而同一个单词占的是同一行的参数空间,这导致两种不同的上下文信息都会编码到相同的wordembedding空间里去。所以wordembedding无法区分多义词的不同语义,这就是它的一个比较严重的问题。(张俊林博士)2.3.2BERT在Word2vec之后,出现了ELMO、GPT等预训练模型,而BERT是这些语言模型的集大成者。Bert采用和GPT完全相同的两阶段模型,首先是语言模型预训练;其次是使用Fine-Tuning模式解决下游任务。和GPT的最主要不同在于在预训练阶段采用了类似ELMO的双向语言模型,当然另外一点是语言模型的数据规模要比GPT大。BERT的预训练任务和模型结构都是经过精心设计的。1模型结构采用了12层Transformer中的Encoder层。2学习任务BERT并没有采取从左至右或者从右至左的传统的语言模型训练方法去预训练BERT,而是通过MaskedLM和NextSentencePrediction两个无监督来预训练BERT。 1)MaskedLM随机mask语料中15%的token,然后将maskedtoken位置输出的最终隐层向量送入softmax,来预测maskedtoken。这样输入一个句子,每次只预测句子中大概15%的词。而对于遮盖住的token的特殊标记,在下游NLP任务中不存在。因此,为了和后续任务保持一致,作者按一定的比例在需要预测的词位置上输入原词或者输入某个随机的词。如:mydogishairy-有80%的概率用“[mask]”标记来替换——mydogis[MASK]-有10%的概率用随机采样的一个单词来替换——mydogisapple-有10%的概率不做替换——mydogishairyNextSentencePrediction在很多任务中,仅仅靠词的特征是不足以完成任务的,还需要捕捉一些句子级的模式。因此BERT中引入了另一个极其重要并且轻量级的任务NextSentencePrediction。这个任务是用来预测BERT输入的两段文本是否为连续的文本。预训练时,输入的第二段文本会以50%的概率从全部文本中随机选取,剩下50%的率选取第一段文本的后续文本。输入的格式则是,每两个句子以特殊的方式拼成一个输入,其中每个句子的结尾加一个[SEP]标记,输入的第一个位置加一个[CLS]标记,而[CLS]标记正好是用来在训练的时候,[CLS]会编码所有位置的信息,然后用[CLS]的信息去预测第二段文本是否为第一段文本的后续文本。由于NextSentencePrediction任务的输入每次为两段文本,因此在Transformer的输入WordEmbedding和PositionEncoding的基础上,还添加了SegmentEmbedding,值得注意的是,BERT的Encoder部分并没有采用transformer的PositionEncoding,而是采用了在训练训练位置向量嵌入的方法,来获取PositionEmbedding。而BERT的这种结构,解决了多义词的问题。相比于word2vec一个词的词向量是固定的,BERT中的一个词的词向量则是与其上下文的词共同参与计算得来的。具体可以参考下图: Word2Vec预训练得到的bank在不同的句子中对应的向量BERT预训练得到的bank在不同的句子中对应的向量基于序列标注的金融事件要素抽取本章主要介绍基于序列标注的金融事件要素抽取,在模型选择上,先选取了BILSTM+CRF作为基线模型,其次又在BERT预训练的基础上,在后面接BILSTM+CRF模型,即BERT+BILSTM+CRF。本章第一小节主要是金融事件要素抽取任务的定义以及数据集介绍。第二小节介绍基于使用BILSTM+CRF的基线模型进行事件要素抽取,第三小节介绍基于BERT+BILSTM+CRF的深度模型进行的事件要素抽取1任务定义及数据集介绍该任务的目的是从高管辞职类的公告中抽取出高管辞职类的事件,高管辞职类的事件会涉及到高管姓名(h_name)、性别(gender)、离职时间(
resignation_time)、离职岗位(resignation_position)、留任岗位(remain_position)、继任者(successor)、代理人(agent)。数据集中使用序列标注模式为BIO。因此本任务中可能的标签类型为:B_h_name、I_h_name、B_gender、I_gender、B_resignation_time、I_resignation_time、B_resignation_position、I_resignation_position、B_remain_position、I_remain_position、B_successor、B_successor、B_agent、I_agent样例数据:杭州顺网科技股份有限公司(以下简称“公司”)于近日收到公司董事华燕女士的辞职报告,华燕女士因个人原因申请辞去公司董事职务。
在聘任新的董事会秘书之前,由公司副总经理李启华代为履行董事会秘 书职责。
博彦科技股份有限公司(以下称“公司”)董事会于2015年5月14日收到 公司副总经理梁力先生的书面辞职报告,梁力先生因工作变动原因,申请辞去 公司副总经理的职务,但仍然在公司担任其他职务。数据集大小:训练集:90535个句子验证集:11316个句子测试集:11316个句子句长统计:大于等于128小于256大于等于256小于512大于等于512符合条件的句子数量46051859比例4.07%0.16%0.008%句子总数1131671131671131672BILSTM+CRF基线模型在序列标注任务中,双向长短期记忆网络(BILSTM)在捕获每个词的语义信息,取得了很大的成功。其中,双向长短期记忆网络由两层长短期记忆网络组成,一层为前向长短期记忆网络,一层为反向长短期记忆网络,通常在分别得到两层的输出结果之后,把结果拼接在一期作为双向长短期记忆网络的输出,输入后面的网络来进行计算。双向长短期记忆网络在编码一个单词的信息的时候,充分利用了其前后的信息,这时候可以使用Softmax函数分别计算词所对应的类别的概率,然后取最大的概率即为该词的类别。但是在序列标注任务中,这样做忽略了标签间的依赖关系,例如在标签“B_hname”后面出现“I_gender”,这明显是错误的。但是使用Softmax函数却不能解决这样的问题,而CRF的引入解决了这样的问题,因此BILSTM+CRF已经成为序列标注任务中最成功的模型。在该实验中,所使用的的即为该模型。需要注意的是,基于词的模型缺点是会受下游分词效果的影响,但是基于词的模型在模型中不需要学习分词信息,因此在小数据集上往往表现会更优。由于我们的数据集比较大,因此在本次实验中,我使用的是基于字的模型而非基于词的模型。该模型分为以下几步:1首先通过词嵌入层获得每个词对应的词向量,这里可以使用基于Word2Vec预训练的词向量,但是因为我们的数据集足够大,所以并没有采用预训练的Word2Vec词向量,而是随机初始化词嵌入矩阵,在训练的过程中更新该矩阵。将转换为词向量后的句子,输入到BILSTM+CRF模型中,得到模型的输出。对模型的输出进行维特比解码(动态规划算法),得到最大概率路径所对应的的标签。实验设置:为了与BERT+BILSTM+CRF作比较,句子最大长度选择了128。批大小为256,训练轮数为50轮,词向量维度为300,长短期记忆网络的单元数为300,评价指标选用的是F1,学习率为1e-3,每训练完一轮,在验证集上面进行评价,如果评价指标为最优,则保存模型。实验结果:在高管辞职数据集上,最优模型在测试集上的评价指标F1的值为90.67%,其中精度(P)和召回率(R)分别为90.47%和90.86%。证明该模型在实验中取得了优异的表现。3BERT+BILSTM+CRF深度模型在BERT出现以前,BILSTM+CRF的序列标注模型已经相对成熟,在其基础上继续提升表现的方法很少,因此只有在其下游的模型中取得进步时,才能提升其表现。而BERT出现之后,在词的特征提取上面取得了极大的进步,因此辐射到序列标注任务上,序列标注对应的表现也得到提高。这一点在谷歌的论文中得到证明。因此在BILSTM+CRF模型的前面,加入了BERT学习词向量。在平时使用时,基于飞桨(百度自研深度学习框架)实现的ERNIE模型,在训练时,会使用更少的内存,并且针对BERT的缺点,在预训练上做了改进,效果往往优于BERT,因此在本实验中使用ERNIE代替BERT。该模型分为以下几步:1不同于BILSTM+CRF基线模型中,随机初始化词向量,在该模型中,先将训练预料转换为BERT的输入格式,输入到BERT模型中,通过get_sequence_output()方法获得句子每个字所对应的词向量序列,作为BILSTM+CRF模型的输入。第2、3步同基线模型的相同。实验设置:句子最大长度为128,批大小为64,训练轮数为10轮,长短期记忆网络的单元数为300,评价指标选用的是F1。学习率用的是默认配置中的1e-5,每训练完一轮,在验证集上面进行评价,如果评价指标为最优,则保存模型。实验结果:在高管辞职数据集上,最优模型在测试集上的评价指标F1为92.14%,其中精度(P)和召回率(R)分别为89.93%和95.50%。相比基线模型,取得了约1.5%的提升。证明BERT的特征抽取能力要强于传统的词向量。基于ERNIE+BiLSTM+CRF模型添加特征在高管辞职公告中抽取高管辞职事件的业务场景相对简单,一般只会涉及高管辞职类事件,因此在抽取的时候,并未做触发词识别及分类,而是默认一句话中存在高管辞职类事件。导致在抽取要素的时候并没有使用触发词信息,但是触发词信息对于要素的抽取表现是有很大作用的。而辞职类事件涉及到的触发词主要有一下三类触发词:1代理类:代理、代为2辞职类:辞去、辞呈、离职、退休、辞职3继任类:聘任、选举、选聘、聘请这样我们就可以很方便的把触发词相关的一些信息加入到模型中去。事件要素的实体类别分别为人名、时间、职位,其中,人名、时间属于基本的专名,有很多词法分析工具都可以识别出,而职位是一个封闭集合,可以通过训练集的标注数据获取到一个职位词典。这样可以把实体类型信息加入到模型中。这一节在ERNIE+BILSTM+CRF的基础上,将触发词信息、实体类型信息等特征添加到模型中去,基本的想法是把这些信息编码,在通过ERNIE获取到字向量序列后,与字向量拼接起来输入到模型中。一、基本思路:添加相对位移向量1.每个字的左右窗口大小都为20,如果触发词在字的窗口外则为'[NT]'(No
Trigger)。
2.对于辞职类事件,“例如吕莹女士因工作变动申请辞去监事、审计部 负责人职务,辞职后到公司财务部门工作”,采用字到触发词最小的距离来作 为相对位移,比如职务离"辞职"这个触发词更近,那我们就采用其到"辞职" 的相对位移(如果当前字在触发词前面的话,相对位移为距离相反数,在触 发词后面,相对位移则为距离本身)。
3.在得到相对距离后,查询随机初始化的相对位移矩阵,得到对应向量 (20维),拼接在ERNIE的“sequence_output”向量后面。添加触发词类型向量
1.触发词类型,例如辞职类、继任类等,每种类型分别对应一个向量。
2.随机初始化一个向量矩阵,查询类型得到对应的向量(5维)。添加实体类型向量1给人名、时间、性别和职位分别添加name/time/gender/position,其他则加other2随机初始化一个向量矩阵,查询得到对应向量(5维)二、实验方案:
例句:”吕莹辞去监事、审计部负责人职务,辞职后由李刚继任。“方案一:添加触发词类型向量
[吕,莹,辞,去,监,事,负,责,人,辞,职,,继,任]
→
[O,O,resign,resign,O,O,,O,O,O,resign,resign,,succeed,succeed]方案二:添加相对位移向量(相对于触发词的位移)
[吕,莹,辞,去,监,事,负,责,人,辞,职,,继,任]
→
[-2, -1,
0,
0,
1,
2,,-3,-2,-1,
0,
0,,0,0]方案三:添加实体类型向量
[吕,莹,辞,去,监,事,负,责,人,辞,职,,继,任]
→
[O,O, O,O,position,position,,O,O,O,O,O,,O,O]方案四:添加相对位移和触发词类型向量
[吕,莹,辞,去,监,事,负,责,人,辞,职,,继,任]
→
触发词类型向量[O,O,resign,resign,O,O,,O,O,O,resign, resign,,succeed,succeed]
+相对位移向量[-2,-1,
0,
0,
1,
2,,-3, -2,-1,
0,
0,,0,0]
方案五:触发词窗口扩展+
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 幼儿园安全研究工作制度
- 幼儿园工会帮扶工作制度
- 幼儿园德育教育工作制度
- 幼儿园政治安全工作制度
- 幼儿园每周分析工作制度
- 幼儿园离园常规工作制度
- 幼儿园自查督导工作制度
- 幼儿园部门分工工作制度
- 广播电视台外宣工作制度
- 计算机审计在会计事务所的应用问题研究
- 灵活就业人员劳动合同范本及说明
- 自我认知课件
- 肺功能康复指南
- 2025年贵州省委党校在职研究生招生考试(中共党史)历年参考题库含答案详解(5卷)
- (2025年标准)设备预定协议书
- 公司向个人无偿租赁汽车合同(2025版)
- 美术教学实践课件模板
- 雪亮工程建设方案-01
- 民办学校退费管理办法
- 烹饪专业实习周记
- 学前教育原理(第2版) 课件 第四章 学前教育的基本理念
评论
0/150
提交评论