CN111460800B - 一种事件生成方法、装置、终端设备及存储介质 - Google Patents
一种事件生成方法、装置、终端设备及存储介质 Download PDFInfo
- Publication number
- CN111460800B CN111460800B CN202010231964.2A CN202010231964A CN111460800B CN 111460800 B CN111460800 B CN 111460800B CN 202010231964 A CN202010231964 A CN 202010231964A CN 111460800 B CN111460800 B CN 111460800B
- Authority
- CN
- China
- Prior art keywords
- character
- event
- title
- characters
- input vector
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
- 238000000034 method Methods 0.000 title claims abstract description 51
- 239000013598 vector Substances 0.000 claims abstract description 98
- 238000006243 chemical reaction Methods 0.000 claims abstract description 17
- 238000012549 training Methods 0.000 claims description 48
- 230000008569 process Effects 0.000 claims description 19
- 238000004590 computer program Methods 0.000 claims description 16
- 230000015654 memory Effects 0.000 claims description 15
- 238000012545 processing Methods 0.000 claims description 15
- 239000011159 matrix material Substances 0.000 claims description 13
- 230000006870 function Effects 0.000 description 14
- 238000004422 calculation algorithm Methods 0.000 description 9
- 238000010586 diagram Methods 0.000 description 9
- 230000000873 masking effect Effects 0.000 description 6
- 238000012360 testing method Methods 0.000 description 6
- 230000000694 effects Effects 0.000 description 4
- 238000000605 extraction Methods 0.000 description 4
- 230000007246 mechanism Effects 0.000 description 4
- 210000001015 abdomen Anatomy 0.000 description 3
- 238000013528 artificial neural network Methods 0.000 description 3
- 230000000306 recurrent effect Effects 0.000 description 3
- 238000010845 search algorithm Methods 0.000 description 3
- 238000004458 analytical method Methods 0.000 description 2
- 238000004364 calculation method Methods 0.000 description 2
- 238000013135 deep learning Methods 0.000 description 2
- 239000010931 gold Substances 0.000 description 2
- 229910052737 gold Inorganic materials 0.000 description 2
- 230000000670 limiting effect Effects 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 238000003058 natural language processing Methods 0.000 description 2
- 230000036961 partial effect Effects 0.000 description 2
- 230000035935 pregnancy Effects 0.000 description 2
- 230000002441 reversible effect Effects 0.000 description 2
- 238000003491 array Methods 0.000 description 1
- 230000002457 bidirectional effect Effects 0.000 description 1
- 230000009194 climbing Effects 0.000 description 1
- 230000009193 crawling Effects 0.000 description 1
- 238000009795 derivation Methods 0.000 description 1
- 238000004880 explosion Methods 0.000 description 1
- 230000007774 longterm Effects 0.000 description 1
- 238000013507 mapping Methods 0.000 description 1
- 239000003550 marker Substances 0.000 description 1
- 238000011160 research Methods 0.000 description 1
- 230000000717 retained effect Effects 0.000 description 1
- 230000006403 short-term memory Effects 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
- 230000009182 swimming Effects 0.000 description 1
- 238000012795 verification Methods 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/04—Architecture, e.g. interconnection topology
- G06N3/044—Recurrent networks, e.g. Hopfield networks
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/04—Architecture, e.g. interconnection topology
- G06N3/045—Combinations of networks
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D10/00—Energy efficient computing, e.g. low power processors, power management or thermal management
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- Data Mining & Analysis (AREA)
- General Health & Medical Sciences (AREA)
- Biomedical Technology (AREA)
- Biophysics (AREA)
- Computational Linguistics (AREA)
- Life Sciences & Earth Sciences (AREA)
- Evolutionary Computation (AREA)
- Artificial Intelligence (AREA)
- Molecular Biology (AREA)
- Computing Systems (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Mathematical Physics (AREA)
- Software Systems (AREA)
- Health & Medical Sciences (AREA)
- Machine Translation (AREA)
Abstract
本申请实施例适用于信息技术领域,提供了一种事件生成方法、装置、终端设备及存储介质,所述方法包括:获取待处理的文本标题,所述文本标题包括多个标题字符;分别将每个标题字符转换为输入向量;根据转换后得到的每个标题字符的输入向量,确定与所述文本标题相对应的目标输入向量;对所述目标输入向量进行编解码处理,输出待生成事件中每个字符位的候选字符以及所述候选字符的概率值;根据所述每个字符位的候选字符以及所述候选字符的概率值,生成事件。采用上述方法生成的事件,不仅概括性强,可以完整地表示文本内容,而且语法连贯性也较佳,具有较高的可读性。
Description
技术领域
本申请属于信息技术领域,特别是涉及一种事件生成方法、装置、终端设备及存储介质。
背景技术
热点事件生成是舆情分析的重要手段,并逐渐成为了自然语言处理领域的研究热点之一。
现有的热点事件主要采用抽取式或生成式的方法来实现。抽取式方法基于依存句法分析和新词发现的算法,虽然语法结构较为完整,但是所有事件中的文字都来自于文本标题本身,抽取出的事件不具有提取和概括性,难以针对长期历史数据进行推理总结;生成式方法则采用基于深度学习的序列到序列(seq2seq)模型,编码器和解码器中采用长短期记忆网络(Long Short-Term Memory,LSTM)和门循环单元(Gate Recurrent Unit,GRU)的结构,这种方法比较依赖语料本身,所生成的事件的可读性不佳,需要经过无数次的循环才能生成语句较为通顺的事件,训练过程比较耗时。
发明内容
有鉴于此,本申请实施例提供了一种事件生成方法、装置、终端设备及存储介质,以解决现有技术中生成的事件概括性较低或可读性不佳的问题。
本申请实施例的第一方面提供了一种事件生成方法,包括:
获取待处理的文本标题,所述文本标题包括多个标题字符;
分别将每个标题字符转换为输入向量;
根据转换后得到的每个标题字符的输入向量,确定与所述文本标题相对应的目标输入向量;
对所述目标输入向量进行编解码处理,输出待生成事件中每个字符位的候选字符以及所述候选字符的概率值;
根据所述每个字符位的候选字符以及所述候选字符的概率值,生成事件。
本申请实施例的第二方面提供了一种事件生成装置,包括:
文本标题获取模块,用于获取待处理的文本标题,所述文本标题包括多个标题字符;
输入向量转换模块,用于分别将每个标题字符转换为输入向量;
目标输入向量确定模块,用于根据转换后得到的每个标题字符的输入向量,确定与所述文本标题相对应的目标输入向量;
编解码模块,用于对所述目标输入向量进行编解码处理,输出待生成事件中每个字符位的候选字符以及所述候选字符的概率值;
事件生成模块,用于根据所述每个字符位的候选字符以及所述候选字符的概率值,生成事件。
本申请实施例的第三方面提供了一种终端设备,包括存储器、处理器以及存储在所述存储器中并可在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现上述第一方面所述的事件生成方法。
本申请实施例的第四方面提供了一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,所述计算机程序被处理器执行时实现上述第一方面所述的事件生成方法。
本申请实施例的第五方面提供了一种计算机程序产品,当所述计算机程序产品在终端设备上运行时,使得所述终端设备执行上述第一方面所述的事件生成方法。
与现有技术相比,本申请实施例包括以下优点:
本申请实施例,针对待处理的文本标题,通过将该标题中的每个字符转换为输入向量,然后确定出与该标题相对应的目标输入向量,可以对目标输入向量进行编解码处理,输出待生成事件中每个字符位的候选字符以及每个候选字符的概率值,通过对每个字符位的候选字符进行组合,并根据相应的候选字符的概率值确定出每个组合的概率值,可以提取概率值最大的组合作为与标题相对应的事件。本实施例基于各个候选字符的概率值,寻找出全局的最优事件,能够较好地推理并生成候选事件,更大程度地还原新闻的主旨,提高了事件生成的效率和准确率;生成的事件不仅概括性强,可以完整地表示文本内容,而且语法连贯性也较佳,具有较高的可读性。
附图说明
为了更清楚地说明本申请实施例中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单的介绍。显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是本申请一个实施例的一种事件生成方法的步骤流程示意图;
图2是本申请一个实施例的另一种事件生成方法的步骤流程示意图;
图3是本申请一个实施例的seq2seq模型的编解码过程示意图;
图4是本申请一个实施例的将seq2seq嵌入BERT模型中的模型输入向量的示意图;
图5是本申请一个实施例的一种输入字符串拼接及遮罩示意图;
图6是本申请一个实施例的一种事件生成装置的示意图;
图7是本申请一个实施例的一种终端设备的示意图。
具体实施方式
以下描述中,为了说明而不是为了限定,提出了诸如特定系统结构、技术之类的具体细节,以便透彻理解本申请实施例。然而,本领域技术人员应当清楚,在没有这些具体细节的其他实施例中也可以实现本申请。在其他情况中,省略对众所周知的系统、装置、电路以及方法的详细说明,以免不必要的细节妨碍本申请的描述。
下面通过具体实施例来说明本申请的技术方案。
参照图1,示出了本申请一个实施例的一种事件生成方法的步骤流程示意图,具体可以包括如下步骤:
S101、获取待处理的文本标题,所述文本标题包括多个标题字符;
在本申请实施例中,事件的生成可以基于文本标题来完成,上述文本可以是新闻报道、咨询或其他类型的文本数据,如通知、公告等等,本实施例对文本的具体类型不作限定。
S102、分别将每个标题字符转换为输入向量;
在本申请实施例中,可以基于训练得到的模型对待处理的文本标题进行处理,即以文本标题作为输入数据,输出相应的事件。
由于模型无法对字符进行直接处理,需要在将文本标题输入模型之前,将其转换为向量。
在具体实现中,可以基于预设字典,确定与每个标题字符相对应的字典值,然后再根据每个标题字符对应的字典值,将每个标题字符转换为输入向量。
上述预设字典可以是预先生成的包括多个字符的字典,在该字典中每个字符可以分别具有相应的字典值,字典值可以用于表示每个字符的编码或顺序。
例如,对于文本标题“径山报告完整的金融周期考验”中的标题字符“径”,若其在上述字典中的字典值为233,则其对应的输入向量可以表示为[233,0,0,0,0,0,0,0,0,0,0,0,0]。对于其他字符,也可按照上述方法确定出相应的输入向量。
S103、根据转换后得到的每个标题字符的输入向量,确定与所述文本标题相对应的目标输入向量;
通过将每个标题字符对应的向量相加,可以得到整个文本标题的向量化表示,向量中的每个值可以表示该位置对应的标题字符在字典中的字典值。
在本申请实施例中,可以采用预设的双向变压器预训练语言模型(BidirectionalEncoder Representation from Transformers,BERT)对输入向量进行处理,输出相应的事件。
在具体实现中,BERT模型的输入数据由三部分求和组成,即输入字符的向量化表示、输入字符的类型,是属于文本标题还是对应的事件,以及每个字符所在位置的编码。
因此,可以首先确定每个标题字符的输入类型,即确定该字符是否属于文本标题中的标题字符,然后再确定每个标题字符的位置信息,并分别将上述输入类型和位置信息转换为向量,通过将转换为向量后的输入类型和位置信息与每个标题字符的输入向量相加,可以得到与文本标题相对应的目标输入向量。
S104、对所述目标输入向量进行编解码处理,输出待生成事件中每个字符位的候选字符以及所述候选字符的概率值;
通常,BERT模型由12层变压器(Transformer),每层变压器中具有多个编码器(Encoder)和解码器(Decoder)。在将目标输入向量输入BERT模型后,可以采用12层变压器中的编码器和解码器分别对该向量进行编解码处理,最终BERT模型返回的结果是由解码器解码出的每一个字符位置的候选字符以及该候选字符的概率值。
例如,对于文本标题“径山报告完整的金融周期考验”,其经过BERT模型编解码处理后,输出的结果中,第一个字符的候选字符及其概率为{“径”:0.75,“金”:0.34,“报”:0.25…},第二个字符的候选字符及其概率为{“山”:0.80,“融”:0.40,“告”:0.27…}……
S105、根据所述每个字符位的候选字符以及所述候选字符的概率值,生成事件。
对于前述步骤解码出的结果,存在多种排列组合的方式,需要从中筛选出与文本标题相符合的最大概率的组合,作为最终生成的事件。
在具体实现中,可以每次只保留概率值最大的k个结果,每一步均以前一步结果作为已知条件,求解当前步的结果。然后,选择当前最大概率的k个结果,将前一步的结果带入下一步,最终递归整个过程,直到出现结束标志或达到最大句子长度。上述k值可以根据实际需要确定,本实施例对此不作限定。
最终得到的概率最大的组合结果,可以将其识别为与文本标题相对应的事件。例如,对于文本标题“径山报告完整的金融周期考验”,最终得到的事件可以是“径山报告”。
在本申请实施例中,针对待处理的文本标题,通过将该标题中的每个字符转换为输入向量,然后确定出与该标题相对应的目标输入向量,可以对目标输入向量进行编解码处理,输出待生成事件中每个字符位的候选字符以及每个候选字符的概率值,通过对每个字符位的候选字符进行组合,并根据相应的候选字符的概率值确定出每个组合的概率值,可以提取概率值最大的组合作为与标题相对应的事件。本实施例基于各个候选字符的概率值,寻找出全局的最优事件,能够较好地推理并生成候选事件,更大程度地还原新闻的主旨,提高了事件生成的效率和准确率;生成的事件不仅概括性强,可以完整地表示文本内容,而且语法连贯性也较佳,具有较高的可读性。
参照图2,示出了本申请一个实施例的另一种事件生成方法的步骤流程示意图,具体可以包括如下步骤:
S201、采集多条训练数据,所述多条训练数据分别包括事件名称以及与所述事件名称相对应的事件标题;
需要说明的是,本实施例可以通过基于BERT和序列到序列(seq2seq)机制训练出相应的模型,通过将待处理的文本数据输入上述模型,可以自动生成相应的事件。
本实施例首先对模型的训练过程进行介绍。
由于seq2seq是典型的有监督模型,需要有标签的数据作为算法训练输入。针对于事件生成的任务,需要有事件标题和生成事件的对应文本即事件名称作为输入数据。
在本申请实施例中,可以通过编写爬虫算法爬取网络热点中的热搜榜数据,获得训练数据。例如,可以爬取数据时间跨度为2018-2019年,类别包括“今天热门”、“生活”、“最近七天热门”、“体育”、“娱乐”五大类的各类数据。
在具体实现中,可爬取事件10万余条,爬取的字段包括日期、事件名称和热度。如表一所示,是爬取到的事件名称及其对应的日期和热度示例表。
表一:
除事件名称外,还需要与该事件相对应的事件标题,该标题可以是用于报道上述事件的某一篇新闻的标题。通过将事件名称和事件标题进行匹配,可以得到与某一事件相对应的数据对。
在具体实现中,可以以事件名称本身作为关键字进行反向搜索。对于每一个事件名称,可以保留不完全相同的两条新闻标题。例如,针对于“陈意涵挺孕肚跑步”这一事件,反向搜索爬取到的新闻标题数据为“陈意涵自曝怀孕只胖4公斤,为维持身材曾挺孕肚爬山健身”和“陈意涵挺孕肚瑜伽跑步游泳,自爆怀孕后竟胖三公斤,网友直呼太拼”两条。
需要说明的是,由于搜索结果中只有新闻是接近真实预测数据的,但以上述事件名称为关键字进行搜索所得到的标题中有很多不相关的搜索结果,所以可以把部分搜索引擎推荐的内容排除掉。例如,排除的部分可以包括:搜索引擎中部分“知道”、“电影”、“微博”、“百科”、“经验”、“体育”类目下的搜索结果,只保留更精准的事件名称对应的新闻。
通过对事件名称和与该名称相对应的新闻标题的爬取,可以获得事件-标题对应的20万余条数据,作为后续处理的训练数据。
S202、确定初始模型,所述初始模型包括多层变压器,每层变压器具有多个编码器和解码器;
对于爬取到的训练数据,可以将其作为seq2seq模型的输入数据。Seq2seq是深度学习与自然语言处理结合的经典算法,能实现从一个长字符串生成另一个长字符串的功能,其中包含编码器(Encoder)和解码器(Decoder)两种结构,实现编码和解码的功能。Encoder使用深度神经网络将长的输入字符串编码为一个固定长度的向量,Decoder负责将已编码的向量解码为期望的输出,解码中采用递归结构,上一步的输出作为下一步的输入,直到解码出结束标记为止。
如图3所示,是seq2seq模型的编解码过程示意图。按照图3所示的过程,对于事件标题“径山报告完整的金融周期考验”,可以将其转换为输入向量作为模型的输入,该标题对应的事件名称“径山报告”作为模型的预期输出/>其中每个x的值是经过字典映射后得到值,每个值对应一个正整数。
上述输入向量首先经过Encoder进行编码。以循环神经网络(Recurrent NeuralNetwork,RNN)为例,编码过程可以表示为:
ht=RNNencoder(xt,ht-1)
RNN是以时序信息进行处理的,其中ht-1是上一个时刻网络的隐藏状态,ht是当前网络的隐藏状态。
类似地,Decoder同样通过时序信息和隐藏状态进行解码,解码过程是递归进行的。例如,最先在开始标记后解码出了状态“径”,再通过“径”去解码下一个状态“山”,最终完整解码出预期输出“径山报告”。解码过程可以表示为:
st=RNNdecoder(yt-1,st-1)
其中,st-1是上一个时刻网络的隐藏状态,st是当前网络的隐藏状态。
在此之后,可以根据Decoder的隐藏状态和Encoder的隐藏状态来计算一个分数eij:
eij=score(si,hj)
这里的score函数可以有多种选择,比如可以选择基于注意力机制(Attention)的函数。
在计算得到分数后,可以继续计算出该分数的权重hj,并根据权重hj加权计算出最终的Encoder的输出ci:
最后,根据将输入至Decoder中。具体的结合方式可以为,将输出向量和Decoder的隐藏状态直接串连起来,再通过Softmax函数根据之前的状态,进行最终下一个状态的概率计算,获取p(yt|y<t,x):
p(yt|y<t,x)=softmax(Ws,tanh(Wc[ct;st]))
其中,p(yt|y<t,x)是输出中每一个状态的取值及概率,这可以作为后续模型的输入数据。
由于BERT模型是一种使用了双向变压器(Transformer)网络结构的预训练语言模型。原生BERT模型中的Encoder和Decoder结构可以作为seq2seq的编码器和解码器。也就是说,可以直接将seq2seq的运算过程嵌入至BERT中进行,只需在模型的结构上做一些改动即可,而无需在二者的输入输出数据之间进行拼接或累加。
因此,本实施例中的初始模型可以是原生的BERT模型,使用原生BERT模型中的Encoder和Decoder结构,可以实现上述介绍的seq2seq任务。
S203、针对任一训练数据,以所述事件标题为输入数据,所述事件名称为预期输出数据,采用所述初始模型的每层变压器中的编码器和解码器对所述输入数据进行编解码处理,使所述编解码处理后的输出数据与所述预期输出数据相同;
对于seq2seq任务,BERT模型的输入由三部分求和组成。如图4所示,实时将seq2seq嵌入BERT模型中的模型输入向量的示意图。与传统的seq2seq不同,TokenEmbeddings是输入字符的向量化表示;Segment Embeddings用于区别出当前输入的句子是新闻标题还是对应的事件名称;Position Embeddings是利用三角函数对每个字符的位置进行编码得到的,最终的输入向量是将三个Embeddings的对应位置进行相加得到。
之后,对于累加得到的输入向量,经过Encoder和Decoder结构的编解码处理,其具体计算过程和推导公式与前述介绍的seq2seq中类似,本实施例不再赘述。
需要说明的是,由于原生BERT模型中具有多层的seq2seq结构,可以理解为多个seq2seq和Attention结构的堆叠。一层Transformer中具有多个Encoder和Decoder的结构,而BERT又由12层Transformer组成,所以BERT中的计算过程可以看作是多次是seq2seq循环执行的结果。
最终模型返回的结果是Decoder解码出的每一步可选值及其概率p(yt|y<t,x)。例如,对于输入“径山报告完整的金融周期考验”,输出结果中,第一个字符的可选值及其概率为{“径”:0.75,“金”:0.34,“报”:0.25…},第二个字符的可选值及其概率为{“山”:0.80,“融”:0.40,“告”:0.27…}。
在具体实现中,在对累加得到的输入向量进行处理时,可以在BERT模型中将输入和输出结合起来,让模型将事件生成当做句子补全的任务来进行,而不用区分Encoder和Decoder。为了实现这种功能,需要一种特殊的结构将输入和输出区分开,输入作为已知条件,输出作为预测结果,在输入和输出中加入[SEP]字符作为分割标记位。
因此,针对任一训练数据,可以采用预设字符[SEP]对输入数据和预期输出数据进行拼接,并对预期输出数据进行遮罩处理,获得与训练数据相对应的字符串遮罩矩阵,然后再采用原生BERT模型的每层变压器中的编码器和解码器对字符串遮罩矩阵进行训练,使训练后的输出数据与预期输出数据相同。
在具体实现中,可以使用掩码语言模型MASK来进行预训练,使用基于注意力机制构建输入与输出之间的矩阵,矩阵的横坐标代表着输出,矩阵的纵坐标代表着输入,而矩阵中的值就代表输入和输出之间的关联。掩码语言模型引入下三角形式的Attention矩阵,使用MASK标记掩盖掉一些矩阵中的部分,并将输入和输出错开一位。
如图5所示,是一种输入字符串拼接及遮罩示意图。由于需要预测的部分为“径山报告”,因此需要将这部分做遮罩处理,形成下三角遮罩矩阵,如图5所示,灰色部分即为遮罩部分。
通过对字符串进行拼接及遮罩处理,可以将原生BERT直接用于seq2seq任务中。
S204、记录训练过程中的模型参数,并采用所述模型参数配置所述初始模型,获得BERT模型;
在本申请实施例中,经过前述步骤的处理,可以对训练数据进行训练。在训练时,部分参数可以按表二所示进行设置。
表二:
参数 | 数值 |
最长输入长度 | 36 |
最长输出长度 | 12 |
字表中字出现的最小次数 | 16 |
批处理尺寸 | 6 |
每次循环步数 | 1000 |
循环次数 | 1000 |
学习率 | 1e-5 |
解码保留结果数 | 3 |
由于seq2seq结构在训练中的效果难以控制,并不是只依靠误差大小这一个指标。所以在训练中可以同时给出几个新闻标题,每一次循环过后都显示出相应的预测结果,当误差和实际观察效果都较好时,提前停止训练。实验结果显示,600次循环左右的误差和观察效果都较好。
通过记录训练过程中的各项参数,并采用记录的参数对原生BERT模型进行配置,可以得到用于后续生成事件的BERT模型。
S205、获取待处理的文本标题,所述文本标题包括多个标题字符,分别将每个标题字符转换为输入向量;
S206、根据转换后得到的每个标题字符的输入向量,确定与所述文本标题相对应的目标输入向量;
S207、将所述目标输入向量输入所述BERT模型中,采用所述BERT模型对所述目标输入向量进行编解码处理,输出待生成事件中每个字符位的候选字符以及所述候选字符的概率值;
在本申请实施例中,在前述训练处BERT模型的基础上,可以将待处理的文本标题输入BERT模型中,通过该模型输出待生成事件中每个字符位的候选字符以及每个候选字符的概率值。
S208、根据所述每个字符位的候选字符以及所述候选字符的概率值,生成事件。
对于预期的事件生成列表,需要筛选出其中最大概率的符合文本标题要求的事件。由于每一步解码出的结果,有多种排列组合的方式。如果对每一步的结果进行枚举遍历,将花费巨大的时间和内存资源。因此,在解码之后,本申请实施例使用Beam search(集束)搜索策略进行进一步解码。
Beam search是一种利用动态规划的贪心搜索算法,Beam search解码只用于模型测试和最终事件预测中,这是因为训练数据中本身就有正确的输出结果,无需解码。
在解码时,每次只保留最大概率的前k个结果,每一步都以前一步事件为已知条件,求解当前结果。接着,选择当前最大概率的结果,将前一步的结果带入下一步,最终递归整个过程,直到出现结束标志或达到最大句子长度。
Beam search解码算法可以包括以下步骤:
算法输入:BERT和seq2seq模型输出字符的取值范围及其概率,假设k=3;
步骤1:选择概率最大的k个字符作为当前字符;
步骤2:将当前字符输入Decoder中,生成下一个字符的取值范围及其概率;
步骤3:对于下一个字符的组合方案,选择概率最大的k个字符,共k*k种组合方案;
步骤4:将当前字符和下一字符的概率相加,作为生成组合的概率,共k*k种;
步骤5:在k*k种组合方案中,选择概率最大的k种方案;
步骤6:重复步骤1到步骤5的过程,直到出现结束标志或达到最大句子长度;
算法输出:最终解码出的具有最大概率的句子序列。
在具体实现中,按照上述算法,可以首先确定待生成事件的字符数最大值,然后根据候选字符的概率值,从当前字符位的多个候选字符中提取多个当前候选字符,分别计算与每个当前候选字符相匹配的下一候选字符的概率值,根据下一候选字符的概率值确定多个组合文本,通过重复执行上述分别计算与每个当前候选字符相匹配的下一候选字符的概率值,根据下一候选字符的概率值确定多个组合文本的步骤,直到组合方案中的字符个数等于字符数最大值,最终可以提取组合概率值最大值对应的组合文本生成事件,上述组合概率值为对应的组合文本中每个字符的概率值之和。
如表三所示,是采用本实施例提供的模型进行事件生成时所得到的部分事件的示例。
表三:
本申请实施例,通过使用两种模型结构和一种解码策略,共同组成了事件发现算法,三者进行结合统一进行训练。输入标题首先经过BERT的三层输入累加为向量,接着将seq2seq任务内嵌至BERT中,通过改进MASK的方式,利用原生BERT中的Encoder和Decoder实现编码与解码,进行训练与验证。训练后的模型,在预测时,通过Beam search算法进行解码。相较于传统的seq2seq模型,本实施例提出的BERT和Seq2seq的结合模型能较快收敛,并在短暂的几次循环之后,就可以生成具有可读性的事件,而传统的seq2seq模型则需要几十倍的循环次数才能达到同样的效果。其次,本实施例改进了Attention机制中的遮罩方式,使原生BERT模型就能完成seq2seq的编码器和解码器的功能,无需进行其他过多的改进。第三,本实施例使用Beam search算法,采用贪心策略进行解码,保证了生成事件的语法连贯性和可读性。
需要说明的是,上述实施例中各步骤的序号的大小并不意味着执行顺序的先后,各过程的执行顺序应以其功能和内在逻辑确定,而不应对本申请实施例的实施过程构成任何限定。
参照图6,示出了本申请一个实施例的一种事件生成装置的示意图,具体可以包括如下模块:
文本标题获取模块601,用于获取待处理的文本标题,所述文本标题包括多个标题字符;
输入向量转换模块602,用于分别将每个标题字符转换为输入向量;
目标输入向量确定模块603,用于根据转换后得到的每个标题字符的输入向量,确定与所述文本标题相对应的目标输入向量;
编解码模块604,用于对所述目标输入向量进行编解码处理,输出待生成事件中每个字符位的候选字符以及所述候选字符的概率值;
事件生成模块605,用于根据所述每个字符位的候选字符以及所述候选字符的概率值,生成事件。
在本申请实施例中,所述输入向量转换模块602具体可以包括如下子模块:
字典值确定子模块,用于基于预设字典确定与每个标题字符相对应的字典值,所述预设字典包括多个字符,每个字符分别具有相应的字典值;
输入向量转换子模块,用于根据每个标题字符对应的字典值,将所述每个标题字符转换为输入向量。
在本申请实施例中,所述目标输入向量确定模块603具体可以包括如下子模块:
输入类型确定子模块,用于确定每个标题字符的输入类型;
位置信息确定子模块,用于确定每个标题字符的位置信息;
输入类型和位置信息转换子模块,用于分别将所述输入类型和所述位置信息转换为向量;
目标输入向量确定子模块,用于将转换为向量后的所述输入类型和所述位置信息与所述每个标题字符的输入向量相加,得到与所述文本标题相对应的目标输入向量。
在本申请实施例中,所述编解码模块604具体可以包括如下子模块:
模型编解码子模块,用于将所述目标输入向量输入预设的双向变压器预训练语言模型BERT中,采用BERT模型对所述目标输入向量进行编解码处理,输出待生成事件中每个字符位的候选字符以及所述候选字符的概率值。
在本申请实施例中,所述BERT模型可以通过调用如下模块训练得到:
训练数据采集模块,用于采集多条训练数据,所述多条训练数据分别包括事件名称以及与所述事件名称相对应的事件标题;
初始模型确定模块,用于确定初始模型,所述初始模型包括多层变压器,每层变压器具有多个编码器和解码器;
模型训练模块,用于针对任一训练数据,以所述事件标题为输入数据,所述事件名称为预期输出数据,采用所述初始模型的每层变压器中的编码器和解码器对所述输入数据进行编解码处理,使所述编解码处理后的输出数据与所述预期输出数据相同;
BERT模型配置模块,用于记录训练过程中的模型参数,并采用所述模型参数配置所述初始模型,获得所述BERT模型。
在本申请实施例中,所述模型训练模块具体可以包括如下子模块:
字符串遮罩矩阵确定子模块,用于针对任一训练数据,采用预设字符对所述输入数据和所述预期输出数据进行拼接,并对所述预期输出数据进行遮罩处理,获得与所述训练数据相对应的字符串遮罩矩阵;
模型训练子模块,用于采用所述初始模型的每层变压器中的编码器和解码器对所述字符串遮罩矩阵进行训练,使训练后的输出数据与所述预期输出数据相同。
在本申请实施例中,所述事件生成模块605具体可以包括如下子模块:
字符数最大值确定子模块,用于确定待生成事件的字符数最大值;
当前候选字符提取子模块,用于根据所述候选字符的概率值,从当前字符位的多个候选字符中提取多个当前候选字符;
组合文本生成子模块,用于分别计算与每个当前候选字符相匹配的下一候选字符的概率值,根据所述下一候选字符的概率值确定多个组合文本;
调用子模块,用于调用所述组合文本生成子模块重复执行分别计算与每个当前候选字符相匹配的下一候选字符的概率值,根据所述下一候选字符的概率值确定多个组合文本的步骤,直到所述组合方案中的字符个数等于所述字符数最大值;
事件生成子模块,用于提取组合概率值最大值对应的组合文本生成事件,所述组合概率值为对应的组合文本中每个字符的概率值之和。
对于装置实施例而言,由于其与方法实施例基本相似,所以描述得比较简单,相关之处参见方法实施例部分的说明即可。
参照图7,示出了本申请一个实施例的一种终端设备的示意图。如图7所示,本实施例的终端设备700包括:处理器710、存储器720以及存储在所述存储器720中并可在所述处理器710上运行的计算机程序721。所述处理器710执行所述计算机程序721时实现上述事件生成方法各个实施例中的步骤,例如图1所示的步骤S101至S105。或者,所述处理器710执行所述计算机程序721时实现上述各装置实施例中各模块/单元的功能,例如图6所示模块601至605的功能。
示例性的,所述计算机程序721可以被分割成一个或多个模块/单元,所述一个或者多个模块/单元被存储在所述存储器720中,并由所述处理器710执行,以完成本申请。所述一个或多个模块/单元可以是能够完成特定功能的一系列计算机程序指令段,该指令段可以用于描述所述计算机程序721在所述终端设备700中的执行过程。例如,所述计算机程序721可以被分割成文本标题获取模块、输入向量转换模块、目标输入向量确定模块、编解码模块和事件生成模块,各模块具体功能如下:
文本标题获取模块,用于获取待处理的文本标题,所述文本标题包括多个标题字符;
输入向量转换模块,用于分别将每个标题字符转换为输入向量;
目标输入向量确定模块,用于根据转换后得到的每个标题字符的输入向量,确定与所述文本标题相对应的目标输入向量;
编解码模块,用于对所述目标输入向量进行编解码处理,输出待生成事件中每个字符位的候选字符以及所述候选字符的概率值;
事件生成模块,用于根据所述每个字符位的候选字符以及所述候选字符的概率值,生成事件。
所述终端设备700可以是桌上型计算机、笔记本、掌上电脑及云端服务器等计算设备。所述终端设备700可包括,但不仅限于,处理器710、存储器720。本领域技术人员可以理解,图7仅仅是终端设备700的一种示例,并不构成对终端设备700的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件,例如所述终端设备700还可以包括输入输出设备、网络接入设备、总线等。
所述处理器710可以是中央处理单元(Central Processing Unit,CPU),还可以是其他通用处理器、数字信号处理器(Digital Signal Processor,DSP)、专用集成电路(Application Specific Integrated Circuit,ASIC)、现成可编程门阵列(Field-Programmable Gate Array,FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。
所述存储器720可以是所述终端设备700的内部存储单元,例如终端设备700的硬盘或内存。所述存储器720也可以是所述终端设备700的外部存储设备,例如所述终端设备700上配备的插接式硬盘,智能存储卡(Smart Media Card,SMC),安全数字(SecureDigital,SD)卡,闪存卡(Flash Card)等等。进一步地,所述存储器720还可以既包括所述终端设备700的内部存储单元也包括外部存储设备。所述存储器720用于存储所述计算机程序721以及所述终端设备700所需的其他程序和数据。所述存储器720还可以用于暂时地存储已经输出或者将要输出的数据。
以上所述实施例仅用以说明本申请的技术方案,而非对其限制。尽管参照前述实施例对本申请进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本申请各实施例技术方案的精神和范围,均应包含在本申请的保护范围之内。
Claims (7)
1.一种事件生成方法,其特征在于,包括:
获取待处理的文本标题,所述文本标题包括多个标题字符;
分别将每个标题字符转换为输入向量;
根据转换后得到的每个标题字符的输入向量,确定与所述文本标题相对应的目标输入向量;
将所述目标输入向量输入预设的双向变压器预训练语言模型BERT中,采用BERT模型对所述目标输入向量进行编解码处理,输出待生成事件中每个字符位的候选字符以及所述候选字符的概率值;所述BERT模型包含多层变压器;所述变压器包含多个解码器和多个编码器所述BERT模型由掩码语言模型生成的注意力矩阵训练而成;
根据所述每个字符位的候选字符以及所述候选字符的概率值,生成事件;
所述分别将每个标题字符转换为输入向量,包括:
基于预设字典确定与每个标题字符相对应的字典值,所述预设字典包括多个字符,每个字符分别具有相应的字典值;
根据每个标题字符对应的字典值,将所述每个标题字符转换为输入向量;
所述根据所述每个字符位的候选字符以及所述候选字符的概率值,生成事件,包括:
确定待生成事件的字符数最大值;
根据所述候选字符的概率值,从当前字符位的多个候选字符中提取多个当前候选字符;
分别计算与每个当前候选字符相匹配的下一候选字符的概率值,根据所述下一候选字符的概率值确定多个组合文本;
重复执行所述分别计算与每个当前候选字符相匹配的下一候选字符的概率值,根据所述下一候选字符的概率值确定多个组合文本的步骤,直到组合方案中的字符个数等于所述字符数最大值;
提取组合概率值最大值对应的组合文本生成事件,所述组合概率值为对应的组合文本中每个字符的概率值之和。
2.根据权利要求1所述的方法,其特征在于,所述根据转换后得到的每个标题字符的输入向量,确定与所述文本标题相对应的目标输入向量,包括:
确定每个标题字符的输入类型,以及确定每个标题字符的位置信息;
分别将所述输入类型和所述位置信息转换为向量;
将转换为向量后的所述输入类型和所述位置信息与所述每个标题字符的输入向量相加,得到与所述文本标题相对应的目标输入向量。
3.根据权利要求1-2任一项所述的方法,其特征在于,所述BERT模型通过如下步骤训练得到:
采集多条训练数据,所述多条训练数据分别包括事件名称以及与所述事件名称相对应的事件标题;
确定初始模型,所述初始模型包括多层变压器,每层变压器具有多个编码器和解码器;
针对任一训练数据,以所述事件标题为输入数据,所述事件名称为预期输出数据,采用所述初始模型的每层变压器中的编码器和解码器对所述输入数据进行编解码处理,使所述编解码处理后的输出数据与所述预期输出数据相同;
记录训练过程中的模型参数,并采用所述模型参数配置所述初始模型,获得所述BERT模型。
4.根据权利要求3所述的方法,其特征在于,所述针对任一训练数据,以所述事件标题为输入数据,所述事件名称为预期输出数据,采用所述初始模型的每层变压器中的编码器和解码器对所述输入数据进行编解码处理,使所述编解码处理后的输出数据与所述预期输出数据相同,包括:
针对任一训练数据,采用预设字符对所述输入数据和所述预期输出数据进行拼接,并对所述预期输出数据进行遮罩处理,获得与所述训练数据相对应的字符串遮罩矩阵;
采用所述初始模型的每层变压器中的编码器和解码器对所述字符串遮罩矩阵进行训练,使训练后的输出数据与所述预期输出数据相同。
5.一种事件生成装置,其特征在于,包括:
文本标题获取模块,用于获取待处理的文本标题,所述文本标题包括多个标题字符;
输入向量转换模块,用于分别将每个标题字符转换为输入向量;
目标输入向量确定模块,用于根据转换后得到的每个标题字符的输入向量,确定与所述文本标题相对应的目标输入向量;
编解码模块,用于将所述目标输入向量输入预设的双向变压器预训练语言模型BERT中,采用BERT模型对所述目标输入向量进行编解码处理,输出待生成事件中每个字符位的候选字符以及所述候选字符的概率值;所述BERT模型由掩码语言模型生成的注意力矩阵训练而成;所述BERT模型包含多层变压器;所述变压器包含多个解码器和多个编码器;
事件生成模块,用于根据所述每个字符位的候选字符以及所述候选字符的概率值,生成事件;
所述根据所述每个字符位的候选字符以及所述候选字符的概率值,生成事件,包括:
确定待生成事件的字符数最大值;
根据所述候选字符的概率值,从当前字符位的多个候选字符中提取多个当前候选字符;
分别计算与每个当前候选字符相匹配的下一候选字符的概率值,根据所述下一候选字符的概率值确定多个组合文本;
重复执行所述分别计算与每个当前候选字符相匹配的下一候选字符的概率值,根据所述下一候选字符的概率值确定多个组合文本的步骤,直到组合方案中的字符个数等于所述字符数最大值;
提取组合概率值最大值对应的组合文本生成事件,所述组合概率值为对应的组合文本中每个字符的概率值之和。
6.一种终端设备,包括存储器、处理器以及存储在所述存储器中并可在所述处理器上运行的计算机程序,其特征在于,所述处理器执行所述计算机程序时实现如权利要求1至4任一项所述的事件生成方法。
7.一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现如权利要求1至4任一项所述的事件生成方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010231964.2A CN111460800B (zh) | 2020-03-27 | 2020-03-27 | 一种事件生成方法、装置、终端设备及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010231964.2A CN111460800B (zh) | 2020-03-27 | 2020-03-27 | 一种事件生成方法、装置、终端设备及存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN111460800A CN111460800A (zh) | 2020-07-28 |
CN111460800B true CN111460800B (zh) | 2024-03-22 |
Family
ID=71680575
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010231964.2A Active CN111460800B (zh) | 2020-03-27 | 2020-03-27 | 一种事件生成方法、装置、终端设备及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111460800B (zh) |
Families Citing this family (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111859918B (zh) * | 2020-07-31 | 2021-08-17 | 北京字节跳动网络技术有限公司 | 一种标题生成方法、装置、电子设备和存储介质 |
CN112149408B (zh) * | 2020-09-18 | 2022-11-08 | 北京有竹居网络技术有限公司 | 标题生成方法、训练方法、装置、电子设备和存储介质 |
CN113361284B (zh) * | 2021-06-30 | 2024-03-26 | 北京百度网讯科技有限公司 | 目标内容的生成方法和装置 |
CN114065737A (zh) * | 2021-11-16 | 2022-02-18 | 北京百度网讯科技有限公司 | 文本处理方法、装置、设备及介质 |
CN116483990A (zh) * | 2023-04-24 | 2023-07-25 | 重庆邮电大学 | 一种基于大数据的互联网新闻内容自动生成方法 |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109815952A (zh) * | 2019-01-24 | 2019-05-28 | 珠海市筑巢科技有限公司 | 品牌名称识别方法、计算机装置及计算机可读存储介质 |
CN110399454A (zh) * | 2019-06-04 | 2019-11-01 | 深思考人工智能机器人科技(北京)有限公司 | 一种基于变压器模型和多参照系的文本编码表示方法 |
CN110728153A (zh) * | 2019-10-15 | 2020-01-24 | 天津理工大学 | 基于模型融合的多类别情感分类方法 |
CN110750998A (zh) * | 2019-10-14 | 2020-02-04 | 腾讯科技(深圳)有限公司 | 一种文本输出方法、装置、计算机设备和存储介质 |
CN110826340A (zh) * | 2019-11-06 | 2020-02-21 | 广东三维家信息科技有限公司 | 评价文本生成方法、装置及电子设备 |
CN110866391A (zh) * | 2019-11-15 | 2020-03-06 | 腾讯科技(深圳)有限公司 | 标题生成方法、装置、计算机可读存储介质和计算机设备 |
-
2020
- 2020-03-27 CN CN202010231964.2A patent/CN111460800B/zh active Active
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109815952A (zh) * | 2019-01-24 | 2019-05-28 | 珠海市筑巢科技有限公司 | 品牌名称识别方法、计算机装置及计算机可读存储介质 |
CN110399454A (zh) * | 2019-06-04 | 2019-11-01 | 深思考人工智能机器人科技(北京)有限公司 | 一种基于变压器模型和多参照系的文本编码表示方法 |
CN110750998A (zh) * | 2019-10-14 | 2020-02-04 | 腾讯科技(深圳)有限公司 | 一种文本输出方法、装置、计算机设备和存储介质 |
CN110728153A (zh) * | 2019-10-15 | 2020-01-24 | 天津理工大学 | 基于模型融合的多类别情感分类方法 |
CN110826340A (zh) * | 2019-11-06 | 2020-02-21 | 广东三维家信息科技有限公司 | 评价文本生成方法、装置及电子设备 |
CN110866391A (zh) * | 2019-11-15 | 2020-03-06 | 腾讯科技(深圳)有限公司 | 标题生成方法、装置、计算机可读存储介质和计算机设备 |
Non-Patent Citations (1)
Title |
---|
范春晓.Web数据分析关键技术及解决方案.北京邮电大学出版社,2017,(第2018年8月底1版版),第71-72页. * |
Also Published As
Publication number | Publication date |
---|---|
CN111460800A (zh) | 2020-07-28 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN111460800B (zh) | 一种事件生成方法、装置、终端设备及存储介质 | |
US11562147B2 (en) | Unified vision and dialogue transformer with BERT | |
CN112329465A (zh) | 一种命名实体识别方法、装置及计算机可读存储介质 | |
CN110347799B (zh) | 语言模型训练方法、装置和计算机设备 | |
CN111666402B (zh) | 文本摘要生成方法、装置、计算机设备及可读存储介质 | |
CN110866401A (zh) | 基于注意力机制的中文电子病历命名实体识别方法及系统 | |
US11972214B2 (en) | Method and apparatus of NER-oriented chinese clinical text data augmentation | |
CN112307208A (zh) | 长文本的分类方法、终端及计算机存储介质 | |
CN112163092B (zh) | 实体及关系抽取方法及系统、装置、介质 | |
CN114548101B (zh) | 基于可回溯序列生成方法的事件检测方法和系统 | |
CN113380223B (zh) | 多音字消歧方法、装置、系统及存储介质 | |
CN111814489A (zh) | 口语语义理解方法及系统 | |
CN116069931A (zh) | 层级标签文本分类方法、系统、设备及存储介质 | |
CN111145914B (zh) | 一种确定肺癌临床病种库文本实体的方法及装置 | |
Xu et al. | A FOFE-based local detection approach for named entity recognition and mention detection | |
CN114048289A (zh) | 语言模型训练方法、文案生成方法以及相关设备 | |
CN115186147A (zh) | 对话内容的生成方法及装置、存储介质、终端 | |
CN113779190B (zh) | 事件因果关系识别方法、装置、电子设备与存储介质 | |
CN114490954A (zh) | 一种基于任务调节的文档级生成式事件抽取方法 | |
CN117194616A (zh) | 一种垂域知识图谱的知识查询方法、装置、计算机设备和存储介质 | |
CN117094325A (zh) | 水稻病虫害领域命名实体识别方法 | |
Wu et al. | One improved model of named entity recognition by combining BERT and BiLSTM-CNN for domain of Chinese railway construction | |
CN114548090B (zh) | 基于卷积神经网络和改进级联标注的快速关系抽取方法 | |
CN116522894A (zh) | 一种多阶段文本生成方法 | |
WO2023108981A1 (zh) | 文本生成模型的训练方法、装置、存储介质及计算机设备 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |