一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

基于动作场景强化的脚本事件预测方法与流程

2022-02-20 06:31:25 来源:中国专利 TAG:
1.本发明涉及脚本事件预测领域,具体是一种基于动作场景强化的采用神经网络进行脚本事件预测的方法。
背景技术
::2.围绕一个主角展开的一系列事件被称为脚本事件(scriptevent),这些事件可能涉及不同的地点、人物和动作。在此基础上根据已经发生的事件,即事件上下文,来预测后续可能发生的事件的任务则被称作脚本事件预测(scripteventprediction)。脚本事件通常由事件触发词(一般为谓语动词)和事件元素(如与动词关联的主语、宾语和补语等)来进行描述,事件的要素(主语、谓语、宾语和补语)由多个单词进行表示。而网络平台上海量的自然语言文本中包含了大量的事件信息,从中可以抽取出不同场景的脚本事件链,这为训练模型自动化分析脚本事件发展规律提供了基础。同时为了评估模型在预测任务上的效果,相关研究者提出了多选项叙事完形填空(multiplechoicenarrativecloze,mcnc)任务。mcnc任务指的是根据已发生的事件链信息,从多个候选事件中选择最可能发生的后续事件。脚本事件预测的主要挑战在于两个方面,一个是事件的特征表示,一个是推断方式的选择。3.事件的特征表示也被称为事件表示学习(eventrepresentationlearning),需要将描述事件的多个要素进行向量化,并在此基础上进行特征融合和更新,使得模型能够学习到具有上下文语境的事件特征信息。早期的研究采用的是统计特征,如事件对的频率,这种方法面临着严重的稀疏性问题,难以捕捉不常出现的事件的特征规律。之后研究者引入浅层词嵌入或者图嵌入的方法来编码事件的要素,但是这些方法采用的都是静态嵌入,无法解决一词多义,集外词(out-of-vocabulary)等问题。为了缓解以上问题,研究者采用基于循环神经网络(recurrentneuralnetwork,简称rnn)或图神经网络(graphneuralnetwork,简称gnn)的方法使得事件序列在事件层面的进行特征融合,从而更新事件表示,使得其中包含丰富的事件管理信息。而随着预训练模型的发展,部分预训练模型(pre-trainedmodel),如roberta,也被引入到事件表示任务中。预训练模型的分词编码器(称为tokenizer)将单词或句子转换成该模型的词表(预设的大量令牌(token)及其对应的编码)中的一个或多个令牌,例如单词“repairing”会被转换为“repair”和“##ing”两个令牌,再根据词表中查询对应的整数编码;预训练模型的网络结构将接收分词编码器的编码输入,从而获得具有上下文特征的令牌级别的向量表示。预训练模型会在大量文本语料库上通过多种下游任务进行预训练,如掩码预测任务(maskprediction,将句子中的部分单词掩去,让模型去预测),从而得到能捕捉基本文本规律的网络参数,这些参数将被保存下来用于后续任务的使用。4.推断方式指如何根据事件特征进行候选事件的评估。大多数的方法考虑的是候选事件和事件上下文的语义相似性,根据两者之间令牌级别、事件级别或者事件链级别的向量化距离来评估候选事件可能发生的概率。同时,在此基础上也存在混合多个级别视角的方法。5.脚本事件预测是一项具有挑战的任务,预测的准确率是脚本事件预测领域最关注的指标。由于事件的描述文本长度较短,事件关联关系较为复杂,事件上下文序列存在一些噪声事件,所以脚本事件预测准确率较难提高。动词及其承接者是脚本事件的重要部分,事件发展具有是动作场景的连续性。现有方法中使用静态嵌入的方法,如event-comp、pairlstm、sgnn等,不能很好的解决事件文本,特别是动词的一词多义问题,并且尽管添加了向量更新模块也难以捕捉到动作的细致交互信息。而基于预训练模型的roberta representationfusion(知识表示融合)方法(见文献“shangwenlv,fuqingzhu,andsonglinhu.2020.integratingexternaleventknowledgeforscriptlearning.inproceedingsofthe28thinternationalconferenceoncomputationallinguistics.306–315.”shangwenlv、fuqingzhu和songlinhu的论文:整合外部事件知识进行脚本学习),虽然一定程度上解决了动词一词多义的问题,但是对输入数据没有做良好的处理。该方法仅仅将事件描述元组中的单词简单地拼接在一起作为输入数据,这种处理方式会在token编码时出现事件的token序列长度不一致而出现模型对事件的关注度倾斜,也会使得部分动词因token较短而被忽视,这不利于事件语义的捕捉,也难以发现动作场景的变化规律,使得脚本事件预测准确率只能达到58.66%。6.因此,如何进行合适的数据处理,并设计配套的模型结构,突出事件中动作信息的文本特征的作用,提高后续事件预测的准确率,是脚本事件预测领域极为关注的技术问题。技术实现要素:7.本发明要解决的技术问题是提供一种基于动作场景强化的脚本事件预测方法。此方法预处理时隐去主角信息,利用深度学习网络,突出关注事件序列中的动作信息,从而提高脚本事件预测的准确率。8.为了解决上述技术问题,本发明采用的技术方案为先构建由元素编码模块、token表示模块、事件预测层构成的脚本事件预测系统。从事件性新闻文本中抽取出一系列事件序列作为训练脚本事件预测系统所需的数据;然后元素编码模块对训练数据进行预处理,得到事件序列的token编码序列和动作序列的token编码序列,作为训练token表示模块和事件预测层的训练数据。使用训练数据训练token表示模块和事件预测层,得到网络权重参数。训练后的脚本事件预测系统接收用户输入的已发生的事件序列,进行元素编码、token表示,根据已发生的事件序列预测候选事件集合中最可能发生的事件。9.本发明的技术方案如下:10.第一步,构建脚本事件预测系统。该系统由元素编码模块、token表示模块、事件预测层构成。11.元素编码模块与token表示模块相连,从键盘或文件接收用户输入的文本形式的事件组,记作ee。事件组ee包含n条已观测到的上下文事件和k条候选事件,n条已观测到的上下文事件用上下文事件序列e表示,e=《e1,e2,...,en,...,en》,en是第n个上下文事件;k条候选事件用候选事件集合c表示,c={c1,c2,...ck,...,ck},ck是第k个候选事件。一条事件(上下文事件或候选事件)包含一个事件元素四元组(as,v,ao,ap)、动作v与主角人物的语法关系(grammaticaldependencyrelation,简称gr),即事件可表示为文本集合{as,v,ao,ap,gr},其中v表示事件中的动作(表现为谓语动词),as,ao,ap则分别指代与动词相关的主语、宾语和补语,gr∈{subj,obj,prep}(subj,obj,prep分别表示主角人物为动作v的主语、谓语和补语关系),n和k为正整数,1≤n≤n,1≤k≤k。为了计算c中第k个候选事件ck与上下文事件序列e的关联信息,元素编码模块将ck和e组成第k条虚拟事件序列sk:《e1,e2,...,en,...,en,ck》;为了突出动作场景的信息,元素编码模块将sk中动作(共n 1个)和gr的组合(记作v-gr,如(eat,subj)),拼接成对应的虚拟动作序列v-grk:《v-gr1,v-gr2,...,v-grn,...,v-grn,v-grn k》。完成虚拟事件序列和虚拟动作序列的构造后,将sk和v-grk分别转换成句子,句子的头部和末尾分别添加字符“《s》”(称为cls令牌,cls令牌在预训练模型中属于句子的起始标记,包含了整个序列的信息,通常用于表征整个句子的特征。)和字符“《/s》”(称为sep令牌),用于表示句子开头和结尾。利用分词编码器(tokenizer)对序列sk或v-grk转换成的句子进行分词,得到两种token序列,通过查询预训练模型公开的词表得到token数值编码序列,即事件序列的token编码序列和动作序列的token编码序列经过k次循环,元素编码模块得到和后,发送给token表示模块。12.token表示模块与元素编码模块、事件预测层相连,是一个roberta模型。token表示模块从元素编码模块接收和进行嵌入、线性变换、多头自注意力(multi-headself-attention)、池化操作,分别得到相应的两种token动态交互的向量表示,即事件序列的向量表示和动作序列对应的向量表示。token表示模块从事件序列的向量表示中提取出事件cls令牌的向量表示从动作序列对应的向量表示中提取出动作cls令牌的向量表示将连接成包含候选事件ck特征的cls合并向量表示经过k次循环,得到发送给事件预测层。13.事件预测层与token表示模块相连,是一个由全连接层组成的神经网络,对从token表示模块接收的进行处理,输出候选事件集合c的k个得分s1,...,sk,...sk,通过排序,取最大得分的事件序号作为脚本事件预测结果,记为y。14.第二步,准备训练脚本事件预测系统所需的数据。方法是:15.2.1选择权威媒体平台发布(如纽约时报、新闻联播等)的事件性新闻文本作为原始语料,选择依据是要求事件性新闻文本真实可信,并且涵盖某主角参与的一系列事件,便于构成较长的事件序列。16.2.2利用c&c工具(见文献“j.r.curran,s.clark,andj.bos,“linguisticallymotivatedlarge-scalenlpwithc&candboxer,”inacl.theassociationforcomputationallinguistics,2007.”j.r.curran、s.clark和j.bos的论文:基于c&c和boxer的语法驱动的大规模自然语言处理方法的第1页-第3页)对原始语料进行词性标注和依赖分析,即将原始语料中的句子切分成多个标注了词性的词语集合,词语集合中的词语根据句子的语法依赖关系进行关联。17.2.3利用opennlp函数(见https://opennlp.apache.org2021.5.6)对词语集合进行短语结构处理(phrase-structureparsing),得到句子成分(主语、谓语、宾语和补语)的短语文本,将这些短语文本作为事件元素四元组(as,v,ao,ap)。通过共指消解(coreferenceresolution,即将指代同一实体的不同描述合并到一起的过程),将原始语料库中某新闻文本中涉及同一主角的事件元素四元组按顺序连接成一个原始事件序列,并记录动作v与主角人物的语法关系gr。18.2.4为了便于后续模型的批量训练,从提取的大量原始事件序列中选取出至少包含n 1个事件的原始事件序列,得到m条事件序列长度符合要求的原始事件序列集合{r1,...,rm,...,rm},1≤m≤m为正整数,原始事件序列rm包含n 1个事件,每个事件包含文本集合{as,v,ao,ap,gr}。19.2.5从{r1,...,rm,...,rm}的每个原始事件序列中取出事件元素四元组中的动作构成动作集。20.2.6利用{r1,...,rm,...,rm}构造符合模型训练所需的数据结构(提出方法见文献“markgranroth-wildingandstephenclark.2016.whathappensnext?eventpredictionusingacompositionalneuralnetworkmodel.inaaai.aaaipress,2727-2733.”granroth等的论文:接下来会发生什么?基于组合神经网络模型的事件预测第3页)。方法如下:21.2.6.1初始化m=1;22.2.6.2将rm中的前n个事件构成上下文事件序列em,即《e1,e2,...,en,...,en》。23.2.6.3构造k-1个干扰事件。采用随机函数从动作集中随机选取动词,再从原始事件序列rm的新闻来源中随机选取出现的人或物补全主语宾语,构成干扰事件。24.2.6.4将rm中的第n i个事件和k-1个干扰事件组成用于预测的第m个候选事件集合cm,即cm={c1,c2,...ck,...,ck},ck的数据结构和en一样。em和cm共同组成第m个事件组eem,因此eem中有n k个事件,即e1,e2,...,en,...,en和c1,c2,...ck,...,ck。25.2.6.5随机排列第m个候选事件集合cm中的事件,并记录cm中真实发生的事件的序号作为真实序号gm。26.2.6.6令m=m 1,如果m≤m,转步骤2.6.2;否则说明训练数据已经构造完毕,得到了训练数据{(ee1,g1),...,(eem,gm),...,(eem,gm)},转第三步。27.第三步,元素编码模块对训练数据进行预处理,得到事件序列的token编码序列ts和动作序列的token编码序列tv-gr,将ts和tv-gr发送给token表示模块,作为训练token表示模块和事件预测层的训练数据。方法如下:28.3.1初始化m=1;为描述方便,令e1,e2,...,en,...,en和c1,c2,...ck,...,ck中的第i个事件为ei,1≤i≤n k;29.3.2处理第m个训练数据(eem,gm)中的n k个事件的文本集合中的缺失元素,并隐去其中的主角信息,方法是:30.3.2.1初始化i=1;31.3.2.2ei的元素由步骤2.3中opennlp处理时得到,但是存在主语、宾语或补语的缺失等情况,导致ei的事件文本集合中部分元素为空,元素编码模块将空缺元素用字符“《pad》”(称为pad令牌,预训练模型中的占位符)进行替换,避免引入无关字符的语义干扰;32.3.2.3隐去ei中的主角信息。将ei的事件文本集合中的主角信息采用“x”字符予以替换;33.3.2.4令i=i 1,如果i≤n k,转步骤3.2.2;否则转步骤3.3。34.3.3利用eem中的em和cm构造虚拟事件序列和虚拟动作序列,将虚拟事件序列和虚拟动作序列转换成句子后进行分词编码,得到eem对应的事件序列的token编码序列和eem对应的动作序列的token编码序列方法是:35.3.3.1初始化k=1;36.3.3.2构建第k个虚拟事件序列skm并转换成句子,方法是:37.3.3.2.1将cm中第k个候选事件ck和em组成对应的第k个虚拟事件序列skm:《e1,e2,...,en,...,en,ck》;38.3.3.2.2将skm中n 1个事件通过字符“##”连接,句子的头部和句子的末尾分别添加cls令牌和sep令牌,形成“clse1##e2##...##en##...,en##cksep”的句式,其中事件en和ck都按照as,v,ao,ap的顺序拼接文本。39.3.3.3构建skm对应的虚拟动作序列v-grkm并转换成句子,方法是:40.3.3.3.1将skm中n 1个事件的v-gr组合拼接成skm对应的虚拟动作序列v-grkm:《v-gr1,v-gr2,...,v-grn,...,v-grn,v-grn k》;41.3.3.3.2将v-grkm中的v-gr1,v-gr2,...,v-grn,...,v-grn,v-grn k通过字符“##”连接,句子的头尾分别添加cls令牌和sep令牌,形成“clsv-gr1##v-gr2##...##v-grn##...,v-grn##v-grn ksep”的句式,所有的v-gr组合都按照v,gr的顺序拼接文本。42.3.3.4利用roberta(见文献“yinhanliu,myleott,namangoyal,jingfeidu,mandarjoshi,danqichen,omerlevy,mikelewis,lukezettlemoyer,andveselinstoyanov.2019.roberta:arobustlyoptimizedbertpretrainingapproach.corrvolumeabs/1907.11692(2019).”yinhanliud等的论文:roberta:一种基于bert的鲁棒性优化的预训练方法)的分词编码器(tokenizer)(模型从“https://huggingface.co/roberta-base2021.5.6”下载)将skm转换成的句子进行分词,得到token序列,并且通过查询roberta的词表得到token序列的对应编码,即eem对应的skm事件序列的token编码序列其中表示eem中第n个事件en中的第d1(1≤d1≤maxlen1)个令牌编号。maxlen1为skm中en的token序列限定长度,maxlen1≥4。43.3.3.5利用roberta的分词编码器将v-grkm转换的句子进行分词,得到动作的token序列,并查询roberta的词表得到对应的编码,即eem对应的动作序列v-grkm的token编码序列列其中表示第n个动词及其语法关系v-grn中的第d2(1≤d2≤maxlen2)个令牌编号。maxlen2为v-grkm中的token序列限定长度,maxlen2≥2。44.3.3.6令k=k 1,如果k≤k,转步骤3.3.2;否则说明得到了eem对应的事件token编码序列和eem对应的动作token编码序列对应的动作token编码序列转步骤3.4。45.3.4令m=m 1,如果m≤m,转步骤3.2;否则说明得到了m条训练数据对应的所有事件序列的token编码序列集合ts,和m条训练数据对应的所有动作序列的token编码序列集合tv-gr,以及m条训练数据对应的真实事件序号g,g={g1,...,gm,...gm}构成的m条数据,即}构成的m条数据,即第m条数据为数据,将m条数据发送给token表示模块,转第四步。46.第四步,使用训练数据训练token表示模块和事件预测层,得到网络权重参数。47.4.1初始化token表示模块和事件预测层的参数:将token表示模块中的roberta中所有的网络载入已预训练好的参数(从“https://huggingface.co/roberta-base2021.5.6”下载)来实现初始化。将事件预测层中的权重矩阵w中所有的元素和偏置b都初始化为[0,1]之间的随机数,表示w是大小为2d×1的矩阵,矩阵元素值均为实数,表示b为实数,d为token表示模块中token对应向量的长度。[0048]4.2设置网络训练参数:训练参数包括网络模型学习率(learningrate)、数据批量大小(batchsize)、测试步长numstep(每完成一个步长进行一次模型测试)、l2正则化参数和训练轮数(epochs),设置网络模型学习率learningrate=10-5,数据批量大小batchsize=16,测试步长numstep=1000,l2正则化参数=10-8,训练轮数epochs=3(实验证明,训练轮数超过3时,系统准确率会下降)。[0049]4.3训练token表示模块和事件预测层。方法是:token表示模块从元素编码模块接收ts和tv-gr,进行计算,得到ts和tv-gr中所有令牌的事件序列的向量表示vs和动作序列的向量表示vv-gr,再从vs和vv-gr中提取cls的向量表示,拼接成cls合并向量表示vcls,将vcls输入发送给事件预测层。事件预测层由vcls计算得到候选事件的得分。根据候选事件的得分和真实序号来计算损失值,最小化损失值并同时更新token表示模块和事件预测层网络参数,直到符合提前停止的要求或满足训练轮数要求,得到token表示模块和事件预测层的权重参数。[0050]方法如下:[0051]4.3.1将3.4步构造得到的m条数据4.3.1将3.4步构造得到的m条数据分为两个部分:训练集和测试集,记训练集的数据量为m1,测试集的数据量为m2,且m1∶m2=8∶2。训练集用于网络参数的更新,测试集用于判断训练是否过拟合。令训练集中事件token编码序列集合为ts训,令测试集中事件token编码序列集合为ts测。令训练集中动作token编码序列集合为tv-gr训,令测试集中动作token编码序列集合为tv-gr测。[0052]4.3.2初始化训练迭代参数n_epoch=1,令测试集上系统的当前准确率curr_acc=0,测试集上系统的最佳准确率opti_acc=0;[0053]4.3.3token表示模块接收训练集中的ts训和tv-gr训,输出对应的向量表示,并选择其中的cls向量,拼接成cls合并向量表示vcls。事件预测层接收vcls进行计算得到候选事件的得分,方法是:[0054]4.3.3.1初始化m=1;[0055]4.3.3.2token表示模块接收ts训训练集中的第m条数据中的事件token编码序列训练集中的第m条数据中的事件token编码序列和tv-gr训中第m条数据中的动作token编码序列中第m条数据中的动作token编码序列其中表示事件en中的第d1个令牌编号,为第n个动词及其语法关系v-grn第d2个令牌编号,token表示模块利用roberta对接收的和进行嵌入表示,得到对应的具有上下文特征的事件序列的向量表示集合和动作序列的向量表示集合其中中的第k项中的第k项中的第k项中的第k项token表示模块从和中提取cls令牌的向量表示,依次拼接成k个cls合并向量表示事件预测层接收并输出候选事件的得分s1,...,sk,...,sk。方法是:[0056]4.3.3.2.1初始化k=1,初始化为空,初始化为空;[0057]4.3.3.2.2token表示模块利用roberta对进行嵌入、线性变换、多头自注意力、池化操作,得到对应的具有上下文特征的向量表示其中为令牌对应的向量表示,和分别为cls令牌和sep令牌在中的向量表示,并且所有向量表示的长度为d,将放到中。[0058]4.3.3.2.3token表示模块利用roberta对进行嵌入、线性变换、多头自注意力、池化操作,得到对应的具有上下文特征的向量表示其中为令牌对应的向量表示,和为cls令牌和sep令牌在中的向量表示,并且所有向量表示的长度为d,将放到中。[0059]4.3.3.2.4token表示模块将和横向拼接成cls合并向量表示的向量表示长度为2×d。[0060]4.3.3.2.5事件预测层计算第k个候选事件的得分w为事件预测层的矩阵参数,表示w和这两个矩阵相乘。[0061]4.3.3.2.6令k=k 1,如果k≤k,转步骤4.3.3.2.2;否则说明得到了对应的eem中k个候选事件的得分也得到了对应的具有上下文特征的事件序列的向量表示集合和动作序列的向量表示集合和动作序列的向量表示集合转步骤4.3.3.3。[0062]4.3.3.3计算损失值,方法是把eem中k个候选事件得分和正确选项gm输入crossentropyloss(见https://pytorch.org/docs/stable/generated/torch.nn.crossentropyloss.html2021.06.05)函数,得到第m个损失值lossm。[0063]4.3.3.4令m=m 1,如果m>m1,说明系统已经完成了一轮训练,转步骤4.3.5;如果m≤m1且m是训练步长numstep的倍数,则转步骤4.3.4进行过拟合检查,如果m≤m1且m不是numstep的倍数,转步骤4.3.3.2继续训练。[0064]4.3.4采用测试集对脚本事件预测系统进行过拟合检查,并判断是否提前结束训练,方法是:[0065]4.3.4.1初始化迭代参数mt=1;[0066]4.3.4.2token表示模块接收测试集中的和token编码序列利用roberta得至的具有上下文特征的向量表示和token表示模块从和中提取两种序列中的cls令牌的向量表示,分别拼接成k个cls合并向量表示其中是和由拼接而成,事件预测层接收并输出对应的k个候选事件的得分[0067]4.3.4.3从中选取最大得分对应的事件序号作为脚本事件预测结果ymt。[0068]4.3.4.4令mt=mt 1,如果mt>m2,说明得到了测试集所有的数据上的预测结果,转步骤4.3.4.5;如果mt≤m2,转步骤4.3.4.2。[0069]4.3.4.5计算脚本事件预测系统在测试集上的准确比例acc,f(ymt,gmt)是一个二值函数,如果ymt=gmt则f(ymt,gmmt)=1,如果ymt≠gmt则f(ymt,gmt)=0。[0070]4.3.4.6令curr_acc=acc,如果curr_acc>opti_acc,则令opti_acc=curr_acc,使得opti_acc中存储的是测试集上的最佳准确率;如果curr_acc≤opti_acc,且opti__acc-curr_acc≤1.5%,表示没有出现明显的过拟合问题,转步骤4.3.3.2继续训练;如果opti_acc-curr_acc>1.5%,说明满足提前停止训练的条件,训练结束,将token表示模块中的roberta模型参数和事件预测层的权重矩阵w和偏置b存储备用,转第五步。[0071]4.3.5计算m1个测试集样本的平均损失值[0072]4.3.6使用adam优化算法(见文献“kingmadp,baj.adam:amethodforstochasticoptimization[j].arxivpreprintarxiv:1412.6980,2014”,kingma的论文:adam,一种随机优化方法)对loss最小化以更新token表示模块和事件预测层的网络权重参数。[0073]4.3.7令n_epoch=n_epoch 1,如果n_epoch≤epochs,转4.3.3步;如果n_epoch>epochs,说明训练满足训练轮数要求,训练结束,将token表示模块中的roberta模型参数和事件预测层的权重矩阵w和偏置b存储备用,转第五步。[0074]第五步,训练后的脚本事件预测系统接收用户输入的已发生的事件序列,进行元素编码、token表示,根据已发生的事件序列预测候选事件集合中最可能发生的事件。方法是:[0075]5.1元素编码模块从键盘或文件接收用户输入的已发生的事件序列,即文本形式的事件组ee0。事件组ee0包含已观测到的上下文事件序列e0=《e10,e20,...,en0,...,en0》和候选事件集合c0={c10,c20,...ck0,...,ck0}。[0076]5.2利用e0和c0构造虚拟事件序列和虚拟动作序列,将虚拟事件序列和虚拟动作序列转换成句子后进行分词编码,得到ee0对应的事件token编码序列和ee0对应的动作token编码序列方法是:[0077]5.2.1初始化k=1;[0078]5.2.2构建ee0对应的虚拟事件序列sk0并转换成句子,方法是:[0079]5.2.2.1将c0中第k个候选事件ck0和e0组成对应的第k个虚拟事件序列sk0:《e10,e20,...,en0,...,en0,ck0》;[0080]5.2.2.2将sk0中的事件通过字符“##”连接sk0中的所有事件,句子的头部和句子的末尾分别添加cls令牌和sep令牌,形成“clse10##e20##...##en0##...,en0##ck0sep”的句式。其中en0和ck0按照as,v,ao,ap的顺序拼接文本。[0081]5.2.3构建虚拟动作序列v-grk0并转换成句子,方法是:[0082]5.2.3.1将sk0中n 1个事件的动作v和gr的组合(记作v-gr0),拼接成对应的虚拟动作序列v-grk0:《v-gr10,v-gr20,...,v-grn0,...,v-grn0,v-grn k0》;[0083]5.2.3.2将序列v-grk0中的v-grn通过字符“##”连接,句子的头尾分别添加cls令牌和sep令牌,形成“clsv-gr10##v-gr20##...##v-grn0##...,v-grn0##v-grn k0sep”的句式。其中v-grn0按照v,gr的顺序拼接文本。[0084]5.2.4利用roberta的分词编码器将sk0转换的句子进行分词得到输入事件token序列,并且通过查询roberta的词表得到输入事件token序列对应的编码,即输入事件序列的token编码序列[0085]5.2.5利用roberta的分词编码器将v-grk0转换的句子进行分词得到输入动作token序列,并且通过查询roberta的词表得到输入动作token序列对应的编码,即输入动作序列的token编码序列[0086]5.2.6令k=k 1,如果k≤k,转步骤5.2.2;否则说明得到了输入事件token编码序列列和输入动作token编码序列和输入动作token编码序列转步骤5.3。[0087]5.3训练后的token表示模块(载入了训练后的roberta模型参数的token表示模块),对和进行嵌入、线性变换、多头自注意力、池化操作,得到具有上下文特征的向量表示和token表示模块从中提取两种序列中的cls令牌的向量表示拼接成cls合并向量表示训练后的事件预测层(载入了训练后的权重矩阵w和偏置b的事件预测层)接收并输出候选事件的得分方法是:[0088]5.3.1初始化k=1;[0089]5.3.2训练后的token表示模块对进行嵌入、线性变换、多头自注意力、池化操作,得到对应的具有上下文特征的向量表示对应的具有上下文特征的向量表示其中和为cls令牌和sep令牌在编码序列中的向量表示。[0090]5.3.3训练后的token表示模块对利用进行嵌入、线性变换、多头自注意力、池化操作,得到对应的具有上下文特征的向量表示对应的具有上下文特征的向量表示其中和为cls令牌和sep令牌在编码序列中的向量表示。[0091]5.3.4将和横向拼接成cls合并向量表示[0092]5.3.5事件预测层利用载入的参数计算候选事件的得分[0093]5.3.6令k=k 1,如果k≤k,转步骤4.3.4.2.2;否则说明得到了对应的候选事件的得分转步骤5.4。[0094]5.4从所有的候选事件分数中选出分数最大的序号作为预测值y0,y0对应的事件即为模型预测的最可能发生的事件。[0095]至此完成了对脚本事件的预测。[0096]采用本发明可以达到以下技术效果:[0097]1.本发明第一步构建了一个强化动作场景的脚本事件预测系统,融合了事件序列和动作序列的语义信息。元素编码模块对事件和动作的两种序列的信息进行编码处理,token表示模块对两种序列进行向量化表示后进行拼接,得到的向量表示不仅包含了事件序列的信息,还突出了动作的连续性,将数据输入到模型之中,进一步强化了系统对动作场景的关注,预测准确率相比roberta representationfusion提升了3.69%。在脚本事件预测任务中,往往提高1%都是十分困难(见文献“x.ding,k.liao,t.liu,z.li,andj.duan,“eventrepresentationlearningenhancedwithexternalcommonsenseknowledge,”arxivpreprintarxiv:1909.05190,2019.”x.ding等的论文:基于外部常识知识增强的事件表示学习),因此3.69%是一个相当大的进步。[0098]2.本发明第三步的3.3.4和3.3.5中,通过限定每个事件token序列的长度,使得不同事件的初始重要度接近;3.2步处理第m个训练数据(eem,gm)中的n k个事件的文本集合中的缺失元素,并隐去其中的主角信息,让系统不关注事件中主角的名字,而是动作以及非主角的其他实体构成的动作场景的特征,便于系统发现具有普遍性的事件发展规律。第三步中的预处理方式使得数据形式更易于捕捉事件发展的规律,这样构造的训练数据使得第四步训练token表示模块和事件预测层得到的网络权重参数适宜于token表示模块和事件预测层,使得训练后的token表示模块和事件预测层能够预测出准确的结果。附图说明[0099]图1为本发明总体流程图。[0100]图2为本发明第一步构建的脚本事件预测系统逻辑结构图。[0101]图3为采用本发明与其他常见的脚本事件预测方法对公开数据集(nyt)进行预测的实验结果比较图。具体实施方式[0102]图1是本发明的总体流程图,如图1所示,本发明包括以下步骤:[0103]第一步,构建脚本事件预测系统。该系统如图2所示,由元素编码模块、token表示模块、事件预测层构成。[0104]元素编码模块与token表示模块相连,从键盘或文件接收用户输入的文本形式的事件组,记作ee。事件组ee包含n条已观测到的上下文事件和k条候选事件,n条已观测到的上下文事件用上下文事件序列e表示,e=《e1,e2,...,en,...,en》,en是第n个上下文事件;k条候选事件用候选事件集合c表示,c={c1,c2,...ck,...,ck},ck是第k个候选事件。一条事件(上下文事件或候选事件)包含一个事件元素四元组(as,v,ao,ap)、动作v与主角人物的语法关系(grammaticaldependencyrelation,简称gr),即事件可表示为文本集合{as,v,ao,ap,gr},其中v表示事件中的动作(表现为谓语动词),as,ao,ap则分别指代与动词相关的主语、宾语和补语,gr∈{subj,obj,prep}(subj,obj,prep分别表示主角人物为动作v的主语、谓语和补语关系),n和k为正整数,1≤n≤n,1≤k≤k。为了计算c中第k个候选事件ck与上下文事件序列e的关联信息,元素编码模块将ck和e组成第k条虚拟事件序列sk:《e1,e2,...,en,...,en,ck》;为了突出动作场景的信息,元素编码模块将sk中动作(共n i个)和gr的组合(记作v-gr,如(eat,subj)),拼接成对应的虚拟动作序列v-grk:《v-gr1,v-gr2,...,v-grn,...,v-grn,v-grn k》。完成虚拟事件序列和虚拟动作序列的构造后,将sk和v-grk分别转换成句子,句子的头部和末尾分别添加字符“《s》”(称为cls令牌,cls令牌在预训练模型中属于句子的起始标记,包含了整个序列的信息,通常用于表征整个句子的特征。)和字符“《/s》”(称为sep令牌),用于表示句子开头和结尾。利用分词编码器(tokenizer)对序列sk或v-grk转换成的句子进行分词,得到两种token序列,通过查询预训练模型公开的词表得到token数值编码序列,即事件序列的token编码序列和动作序列的token编码序列经过k次循环,元素编码模块得到和后,发送给token表示模块。[0105]token表示模块与元素编码模块、事件预测层相连,是一个roberta模型。token表示模块从元素编码模块接收和进行嵌入、线性变换、多头自注意力(multi-headself-attention)、池化操作,分别得到相应的两种token动态交互的向量表示,即事件序列的向量表示和动作序列对应的向量表示。token表示模块从事件序列的向量表示中提取出事件cls令牌的向量表示从动作序列对应的向量表示中提取出动作cls令牌的向量表示将连接成包含候选事件ck特征的cls合并向量表示经过k次循环,得到发送给事件预测层。[0106]事件预测层与token表示模块相连,是一个由全连接层组成的神经网络,对从token表示模块接收的进行处理,输出候选事件集合c的k个得分s1,...,sk,...sk,通过排序,取最大得分的事件序号作为脚本事件预测结果,记为y。[0107]第二步,准备训练脚本事件预测系统所需的数据。方法是:[0108]2.1选择权威媒体平台发布(如纽约时报、新闻联播等)的事件性新闻文本作为原始语料,选择依据是要求事件性新闻文本真实可信,并且涵盖某主角参与的一系列事件,便于构成较长的事件序列。[0109]2.2利用c&c工具对原始语料进行词性标注和依赖分析,即将原始语料中的句子切分成多个标注了词性的词语集合,词语集合中的词语根据句子的语法依赖关系进行关联。[0110]2.3利用opennlp函数对词语集合进行短语结构处理,得到句子成分(主语、谓语、宾语和补语)的短语文本,将这些短语文本作为事件元素四元组(as,v,ao,ap)。通过共指消解,将原始语料库中某新闻文本中涉及同一主角的事件元素四元组按顺序连接成一个原始事件序列,并记录动作v与主角人物的语法关系gr。[0111]2.4为了便于后续模型的批量训练,从提取的大量原始事件序列中选取出至少包含n 1个事件的原始事件序列,得到m条事件序列长度符合要求的原始事件序列集合{r1,...,rm,...,rm},1≤m≤m为正整数,原始事件序列rm包含n 1个事件,每个事件包含文本集合{as,v,ao,ap,gr}。[0112]2.5从{r1,...,rm,...,rm}的每个原始事件序列中取出事件元素四元组中的动作构成动作集。[0113]2.6利用{r1,...,rm,...,rm}构造符合模型训练所需的数据结构。方法如下:[0114]2.6.1初始化m=1;[0115]2.6.2将rm中的前n个事件构成上下文事件序列em,即《e1,e2,...,en,...,en》。[0116]2.6.3构造k-1个干扰事件。采用随机函数从动作集中随机选取动词,再从原始事件序列rm的新闻来源中随机选取出现的人或物补全主语宾语,构成干扰事件。[0117]2.6.4将rm中的第n 1个事件和k-1个干扰事件组成用于预测的第m个候选事件集合cm,即cm={c1,c2,...ck,...,ck},ck的数据结构和en一样。em和cm共同组成第m个事件组eem,因此eem中有n k个事件,即e1,e2,...,en,...,en和c1,c2,...ck,...,ck。[0118]2.6.5随机排列第m个候选事件集合cm中的事件,并记录cm中真实发生的事件的序号作为真实序号gm。[0119]2.6.6令m=m 1,如果m≤m,转步骤2.6.2;否则说明训练数据已经构造完毕,得到了训练数据{(ee1,g1),...,(eem,gm),...,(eem,gm)},转第三步。[0120]第三步,元素编码模块对训练数据进行预处理,得到事件序列的token编码序列ts和动作序列的token编码序列tv-gr,将ts和tv-gr发送给token表示模块,作为训练token表示模块和事件预测层的训练数据。方法如下:[0121]3.1初始化m=1;为描述方便,令e1,e2,...,en,...,en和c1,c2,...ck,...,ck中的第i个事件为ei,1≤i≤n k;[0122]3.2处理第m个训练数据(eem,gm)中的n k个事件的文本集合中的缺失元素,并隐去其中的主角信息,方法是:[0123]3.2.1初始化i=1;[0124]3.2.2ei的元素由步骤2.3中opennlp处理时得到,但是存在主语、宾语或补语的缺失等情况,导致ei的事件文本集合中部分元素为空,元素编码模块将空缺元素用字符“《pad》”(称为pad令牌,预训练模型中的占位符)进行替换,避免引入无关字符的语义干扰;[0125]3.2.3隐去ei中的主角信息。将ei的事件文本集合中的主角信息采用“x”字符予以替换;[0126]3.2.4令i=i 1,如果i≤n k,转步骤3.2.2;否则转步骤3.3。[0127]3.3利用eem中的em和cm构造虚拟事件序列和虚拟动作序列,将虚拟事件序列和虚拟动作序列转换成句子后进行分词编码,得到eem对应的事件序列的token编码序列和eem对应的动作序列的token编码序列方法是:[0128]3.3.1初始化k=1;[0129]3.3.2构建第k个虚拟事件序列skm并转换成句子,方法是:[0130]3.3.2.1将cm中第k个候选事件ck和em组成对应的第k个虚拟事件序列skm:《e1,e2,...,en,...,en,ck》;[0131]3.3.2.2将skm中n 1个事件通过字符“##”连接,句子的头部和句子的末尾分别添加cls令牌和sep令牌,形成“clse1##e2##...##en##...,en##cksep”的句式,其中事件en和ck都按照as,v,ao,ap的顺序拼接文本。[0132]3.3.3构建skm对应的虚拟动作序列v-grkm并转换成句子,方法是:[0133]3.3.3.1将skm中n 1个事件的v-gr组合拼接成skm对应的虚拟动作序列v-grkm:《v-gr1,v-gr2,...,v-grn,...,v-grn,v-grn k》;[0134]3.3.3.2将v-grkm中的v-gr1,v-gr2,...,v-grn,...,v-grn,v-grn k通过字符“##”连接,句子的头尾分别添加cls令牌和sep令牌,形成“clsv-gr1##v-gr2##...##v-grn##...,v-grn##v-grn ksep”的句式,所有的v-gr组合都按照v,gr的顺序拼接文本。[0135]3.3.4利用roberta的分词编码器(tokenizer)将skm转换成的句子进行分词,得到token序列,并且通过查询roberta的词表得到token序列的对应编码,即eem对应的skm事件序列的token编码序列其中表示eem中第n个事件en中的第d1(1≤d1≤maxlen1)个令牌编号。maxlen1为skm中en的token序列限定长度,maxlen1≥4。[0136]3.3.5利用roberta的分词编码器将v-grkm转换的句子进行分词,得到动作的token序列,并查询roberta的词表得到对应的编码,即eem对应的动作序列v-grkm的token编码序列列其中表示第n个动词及其语法关系v-grn中的第d2(1≤d2≤maxlen2)个令牌编号。maxlen2为v-grkm中的token序列限定长度,maxlen2≥2。[0137]3.3.6令k=k 1,如果k≤k,转步骤3.3.2;否则说明得到了eem对应的事件token编码序列和eem对应的动作token编码序列对应的动作token编码序列转步骤3.4。[0138]3.4令m=m 1,如果m≤m,转步骤3.2;否则说明得到了m条训练数据对应的所有事件序列的token编码序列集合ts,和m条训练数据对应的所有动作序列的token编码序列集合tv-gr,以及m条训练数据对应的真实事件序号g,g={g1,...,gm,...gm}构成的m条数据,即}构成的m条数据,即第m条数据为数据,将m条数据发送给token表示模块,转第四步。[0139]第四步,使用训练数据训练token表示模块和事件预测层,得到网络权重参数。[0140]4.1初始化token表示模块和事件预测层的参数:将token表示模块中的roberta中所有的网络载入已预训练好的参数(从“https://huggingface.co/roberta-base2021.5.6”下载)来实现初始化。将事件预测层中的权重矩阵w中所有的元素和偏置b都初始化为[0,1]之间的随机数,表示w是大小为2d×1的矩阵,矩阵元素值均为实数,表示b为实数,d为token表示模块中token对应向量的长度。[0141]4.2设置网络训练参数:训练参数包括网络模型学习率(learningrate)、数据批量大小(batchsize)、测试步长numstep(每完成一个步长进行一次模型测试)、l2正则化参数和训练轮数(epochs),设置网络模型学习率learningrate=10-5,数据批量大小batchsize=16,测试步长numstep=1000,l2正则化参数=10-8,训练轮数epochs=3。[0142]4.3训练token表示模块和事件预测层。方法是:token表示模块从元素编码模块接收ts和tv-gr,进行计算,得到ts和tv-gr中所有令牌的事件序列的向量表示vs和动作序列的向量表示vv-gr,再从vs和vv-gr中提取cls的向量表示,拼接成cls合并向量表示vcls,将vcls输入发送给事件预测层。事件预测层由vcls计算得到候选事件的得分。根据候选事件的得分和真实序号来计算损失值,最小化损失值并同时更新token表示模块和事件预测层网络参数,直到符合提前停止的要求或满足训练轮数要求,得到token表示模块和事件预测层的权重参数。[0143]方法如下:[0144]4.3.1将3.4步构造得到的m条数据4.3.1将3.4步构造得到的m条数据分为两个部分:训练集和测试集,记训练集的数据量为m1,测试集的数据量为m2,且m1∶m2=8∶2。训练集用于网络参数的更新,测试集用于判断训练是否过拟合。令训练集中事件token编码序列集合为ts训,令测试集中事件token编码序列集合为ts测。令训练集中动作token编码序列集合为tv-gr训,令测试集中动作token编码序列集合为tv-gr测。[0145]4.3.2初始化训练迭代参数n_epoch=1,令测试集上系统的当前准确率curr_acc=0,测试集上系统的最佳准确率opti_acc=0;[0146]4.3.3token表示模块接收训练集中的ts训和tv-gr训,输出对应的向量表示,并选择其中的cls向量,拼接成cls合并向量表示vcls。事件预测层接收vcls进行计算得到候选事件的得分,方法是:[0147]4.3.3.1初始化m=1;[0148]4.3.3.2token表示模块接收ts训训练集中的第m条数据中的事件token编码序列训练集中的第m条数据中的事件token编码序列和tv-gr训中第m条数据中的动作token编码序列中第m条数据中的动作token编码序列[0149]其中表示事件en中的第d1个令牌编号,个令牌编号,为第n个动词及其语法关系v-grn第d2个令牌编号,token表示模块利用roberta对接收的和进行嵌入表示,得到对应的具有上下文特征的事件序列的向量表示集合和动作序列的向量表示集合其中中的第k项中的第k项中的第k项中的第k项token表示模块从和中提取cls令牌的向量表示,依次拼接成k个cls合并向量表示事件预测层接收并输出候选事件的得分s1,...,sk,...,sk。方法是:[0150]4.3.3.2.1初始化k=1,初始化为空,初始化为空;[0151]4.3.3.2.2token表示模块利用roberta对进行嵌入、线性变换、多头自注意力、池化操作,得到对应的具有上下文特征的向量表示其中为令牌对应的向量表示,和分别为cls令牌和sep令牌在中的向量表示,并且所有向量表示的长度为d,将放到中。[0152]4.3.3.2.3token表示模块利用roberta对进行嵌入、线性变换、多头自注意力、池化操作,得到对应的具有上下文特征的向量表示其中为令牌对应的向量表示,和为cls令牌和sep令牌在中的向量表示,并且所有向量表示的长度为d,将放到中。[0153]4.3.3.2.4token表示模块将和横向拼接成cls合并向量表示的向量表示长度为2×d。[0154]4.3.3.2.5事件预测层计算第k个候选事件的得分w为事件预测层的矩阵参数,表示w和这两个矩阵相乘。[0155]4.3.3.2.6令k=k 1,如果k≤k,转步骤4.3.3.2.2;否则说明得到了对应的eem中k个候选事件的得分也得到了对应的具有上下文特征的事件序列的向量表示集合和动作序列的向量表示集合和动作序列的向量表示集合转步骤4.3.3.3。[0156]4.3.3.3计算损失值,方法是把eem中k个候选事件得分和正确选项gm输入crossentropyloss函数,得到第m个损失值lossm。[0157]4.3.3.4令m=m 1,如果m>m1,说明系统已经完成了一轮训练,转步骤4.3.5;如果m≤m1且m是训练步长numstep的倍数,则转步骤4.3.4进行过拟合检查,如果m≤m1且m不是numstep的倍数,转步骤4.3.3.2继续训练。[0158]4.3.4采用测试集对脚本事件预测系统进行过拟合检查,并判断是否提前结束训练,方法是:[0159]4.3.4.1初始化迭代参数mt=1;[0160]4.3.4.2token表示模块接收测试集中的和token编码序列利用roberta得到的具有上下文特征的向量表示和token表示模块从和中提取两种序列中的cls令牌的向量表示,分别拼接成k个cls合并向量表示其中是和由拼接而成,事件预测层接收并输出对应的k个候选事件的得分[0161]4.3.4.3从中选取最大得分对应的事件序号作为脚本事件预测结果ymt。[0162]4.3.4.4令mt=mt 1,如果mt>m2,说明得到了测试集所有的数据上的预测结果,转步骤4.3.4.5;如果mt≤m2,转步骤4.3.4.2。[0163]4.3.4.5计算脚本事件预测系统在测试集上的准确比例acc,f(ymt,gmt)是一个二值函数,如果ymt=gmt则f(ymt,gmt)=1,如果ymt≠gmt则f(ymt,gmt)=0。[0164]4.3.4.6令curr_acc=acc,如果curr_acc>opti_acc,则令opti_acc=curr_acc,使得opti_acc中存储的是测试集上的最佳准确率;如果curr_acc≤opti_acc,且opti_acc-curr_acc≤1.5%,表示没有出现明显的过拟合问题,转步骤4.3.3.2继续训练;如果opti_acc-curr_acc>1.5%,说明满足提前停止训练的条件,训练结束,将token表示模块中的roberta模型参数和事件预测层的权重矩阵w和偏置b存储备用,转第五步。[0165]4.3.5计算m1个测试集样本的平均损失值[0166]4.3.6使用adam优化算法对loss最小化以更新token表示模块和事件预测层的网络权重参数。[0167]4.3.7令n_epoch=n_epoch 1,如果n_epoch≤epochs,转4.3.3步;如果n_epoch>epochs,说明训练满足训练轮数要求,训练结束,将token表示模块中的roberta模型参数和事件预测层的权重矩阵w和偏置b存储备用,转第五步。[0168]第五步,训练后的脚本事件预测系统接收用户输入的已发生的事件序列,进行元素编码、token表示,根据已发生的事件序列预测候选事件集合中最可能发生的事件。方法是:[0169]5.1元素编码模块从键盘或文件接收用户输入的已发生的事件序列,即文本形式的事件组ee0。事件组ee0包含已观测到的上下文事件序列e0=《e10,e20,...,en0,...,en0》和候选事件集合c0={c10,c20,...ck0,...,ck0}。[0170]5.2利用e0和c0构造虚拟事件序列和虚拟动作序列,将虚拟事件序列和虚拟动作序列转换成句子后进行分词编码,得到ee0对应的事件token编码序列和ee0对应的动作token编码序列方法是:[0171]5.2.1初始化k=1;[0172]5.2.2构建ee0对应的虚拟事件序列sk0并转换成句子,方法是:[0173]5.2.2.1将c0中第k个候选事件ck0和e0组成对应的第k个虚拟事件序列sk0:《e10,e20,...,en0,...,en0,ck0》;[0174]5.2.2.2将sk0中的事件通过字符“##”连接sk0中的所有事件,句子的头部和句子的末尾分别添加cls令牌和sep令牌,形成“clse10##e20##...##en0##...,en0##ck0sep”的句式。其中en0和ck0按照as,v,ao,ap的顺序拼接文本。[0175]5.2.3构建虚拟动作序列v-grk0并转换成句子,方法是:[0176]5.2.3.1将sk0中n 1个事件的动作v和gr的组合(记作v-gr0),拼接成对应的虚拟动作序列v-grk0:《v-gr10,v-gr20,...,v-grn0,...,v-grn0,v-grn k0》;[0177]5.2.3.2将序列v-grk0中的v-grn通过字符“##”连接,句子的头尾分别添加cls令牌和sep令牌,形成“clsv-gr10##v-gr20##...##v-grn0##...,v-grn0##v-grn k0sep”的句式。其中v-grn0按照v,gr的顺序拼接文本。[0178]5.2.4利用roberta的分词编码器将sk0转换的句子进行分词得到输入事件token序列,并且通过查询roberta的词表得到输入事件token序列对应的编码,即输入事件序列的token编码序列[0179]5.2.5利用roberta的分词编码器将v-grk0转换的句子进行分词得到输入动作token序列,并且通过查询roberta的词表得到输入动作token序列对应的编码,即输入动作序列的token编码序列[0180]5.2.6令k=k 1,如果k≤k,转步骤5.2.2;否则说明得到了输入事件token编码序列列和输入动作token编码序列和输入动作token编码序列转步骤5.3。[0181]5.3训练后的token表示模块(载入了训练后的roberta模型参数的token表示模块),对和进行嵌入、线性变换、多头自注意力、池化操作,得到具有上下文特征的向量表示和token表示模块从中提取两种序列中的cls令牌的向量表示拼接成cls合并向量表示训练后的事件预测层(载入了训练后的权重矩阵w和偏置b的事件预测层)接收并输出候选事件的得分方法是:[0182]5.3.1初始化k=1;[0183]5.3.2训练后的token表示模块对进行嵌入、线性变换、多头自注意力、池化操作,得到对应的具有上下文特征的向量表示对应的具有上下文特征的向量表示其中和为cls令牌和sep令牌在编码序列中的向量表示。[0184]5.3.3训练后的token表示模块对利用进行嵌入、线性变换、多头自注意力、池化操作,得到对应的具有上下文特征的向量表示对应的具有上下文特征的向量表示其中和为cls令牌和sep令牌在编码序列中的向量表示。[0185]5.3.4将和横向拼接成cls合并向量表示[0186]5.3.5事件预测层利用载入的参数计算候选事件的得分[0187]5.3.6令k=k 1,如果k≤k,转步骤4.3.4.2.2;否则说明得到了对应的候选事件的得分转步骤5.4。[0188]5.4从所有的候选事件分数中选出分数最大的序号作为预测值y0,y0对应的事件即为模型预测的最可能发生的事件。[0189]为验证本发明的效果,使用验证集对模型的预测能力(准确率)进行评估,结果如图3所示,在纽约时报数据集的验证集上,本发明比现有的方法中最好的roberta representationfusion的准确率还提升了3.69%。现有方法中的event-comp、pairlstm和sam-net采用的是静态词嵌入的方法,在此基础上使用全连接网络或者lstm进行了事件表示的更新;sgnn和sgnn int senti采用了静态图嵌入的方法,之后使用gcn进行事件表示的更新。这些方法难以很好应对动词的一词多义的问题。而roberta representationfusion仅仅将事件简单的连接在一起,没有构建突出动作场景信息的数据结构,不便于系统捕捉动作场景的连续特征。当前第1页12当前第1页12
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献