CN107122347A - 一种基于深度学习技术的新闻子事件预测方法及装置 - Google Patents
一种基于深度学习技术的新闻子事件预测方法及装置 Download PDFInfo
- Publication number
- CN107122347A CN107122347A CN201710161795.8A CN201710161795A CN107122347A CN 107122347 A CN107122347 A CN 107122347A CN 201710161795 A CN201710161795 A CN 201710161795A CN 107122347 A CN107122347 A CN 107122347A
- Authority
- CN
- China
- Prior art keywords
- subevent
- mrow
- sequence
- lstm
- word
- 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.)
- Pending
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F40/00—Handling natural language data
- G06F40/30—Semantic analysis
-
- 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/08—Learning methods
Abstract
本发明提供一种基于深度学习技术的新闻子事件预测方法及装置,所述方法包括:步骤1,基于预处理过的大规模子事件序列数据,利用LSTM深度学习技术对子事件进行表示学习;步骤2,基于所述子事件表示学习和子事件主题,对子事件序列进行表示学习;步骤3,利用所述步骤2得到的子事件序列表示对下一个子事件进行预测;所述方法能够有效地实现子事件预测功能,能够预测在训练中语料中不存在的子事件,能获得更好的预测效果。
Description
技术领域
本发明涉及情报分析技术领域,更具体地,涉及一种基于深度学习技术的新闻子事件预测方法及装置。
背景技术
目前,新闻事件是指发生在特定时间和地点的一件或一系列事情,同时一个新闻事件通常是由一系列有序的子事件构成。例如,一个地震事件通常包含了地震的发生、地震的人员伤亡、地震的财务损失、震后救援、震后捐款援助、震后灾区重建等一系列的子事件。一个子事件通常由一篇新闻报道来描述。
目前为止,成千上万的新闻事件及其子事件的发展过程已经被报道并且记录。可以通过利用大规模的历史事件来预测一系列子事件的下一个子事件。通过上述科学的预测,可以有效的提前预测某个新闻事件的一系列子事件,这个对政府部门、企业和新闻机构及时准确获取咨询都非常重要。例如,政府部门可以受益于事件预测,避免一些经济损失和人员伤亡;企业可以更好的进行危机应对方案的提前准备;新闻机构可以紧密关注社会公众可能感兴趣的新的话题并及时进行报道等等。
然而,传统的新闻子事件预测方法通过利用社会媒体和搜索引擎来检测事件并进行人为判断,并没有花费大量的精力在事件预测上。但是,也有个别技术对于子事件的预测进行了研究。Radinsky et al.(2012)通过抽取事件之间的因果关系并且用本体进行泛化用于事件预测;Granroth-Wilding et al.(2016)从文本中抽取事件链并且通过一个组合神经网络学习两个事件之间的关联关系;Manshadi et al.(2008)学习了事件序列的概率模型;Karl et al.(2016)描述了一个用LSTM学习脚本的方法。
然而,上述的新闻子事件预测技术都存在以下几个问题:1、需要人工的特征来表示事件并且只能预测在训练集中存在的事件;2、没有考虑事件表现出来不同粒度上的序列结构:描述一个具体子事件的词形成了一个序列,属于同一个事件的子事件形成了一个序列;3、没有考虑利用已有的子事件中存在的话题信息。
发明内容
本发明为克服上述问题或者至少部分地解决上述问题,提供一种基于深度学习技术的新闻子事件预测方法及装置。
根据本发明的一个方面,提供一种新闻子事件预测方法,包括:
步骤1,基于预处理过的大规模子事件序列数据,利用LSTM深度学习技术对子事件进行表示学习,获得子事件模型;
步骤2,基于所述子事件模型和子事件主题,对子事件序列进行表示学习,获得子事件序列模型;
步骤3,利用所述子事件序列模型对下一个子事件进行预测。
根据本发明的另一个方面,提供一种新闻子事件预测装置,包括子事件建模模块、子事件序列建模模块和预测模块:
所述子事件建模模块与所述子事件序列建模模块相连,用于基于预处理过的大规模子事件序列数据,利用LSTM深度学习技术对子事件进行表示学习,获得子事件模型;
所述子事件序列建模模块分别于所述子事件建模模块和预测模块相连,用于基于所述子事件模型和子事件主题,对子事件序列进行表示学习,获得子事件序列模型;
所述预测模块与所述子事件序列建模模块相连,用于利用所述子事件序列模型对下一个子事件进行预测。
本申请提出一种基于深度学习技术的新闻子事件预测方法及装置,本发明能够有效地实现子事件预测功能,甚至能够预测在训练中语料中不存在的子事件,比当前最先进的方法能获得更好的预测效果。
附图说明
图1为根据本发明实施例一种新闻子事件预测方法的整体流程示意图;
图2为根据本发明实施例一种新闻子事件预测方法的流程示意图;
图3为根据本发明实施例一种新闻子事件预测方法中事件双层序列的示意图;
图4为根据本发明实施例一种新闻子事件预测装置的整体框架示意图。
具体实施方式
下面结合附图和实施例,对本发明的具体实施方式作进一步详细描述。以下实施例用于说明本发明,但不用来限制本发明的范围。
本发明提出了一个新的用于子事件预测的模型,即Hierarchical Long Short-Term Memory(HLSTM)层次长短期记忆模型。该模型的输入是描述已观测的子事件的文本(如新闻的标题),输出是一个描述将来的子事件的短文本。HLSTM是一个具有两层的层次LSTM结构。第一层是用于建模子事件。它按顺序将子事件描述文本中的每个词作为输入,最终将子事件表示成向量。第二层用于建模已观测的子事件序列,同时考虑了话题信息来增强语义信息。具体来说,将每一个子事件表示成第一层LSTM获取的词形成的向量和话题形成的向量的拼接向量。通过两层LSTM结构,每个子事件序列都被映射成一个向量。最后,这个向量被输入到另一个LSTM中解码成一个词序列,从而生成了下一个子事件。HLSTM模型考虑了事件两层的序列关系并且融合了话题信息,因此能更好地预测下一个子事件。
如图1,示出本发明一个具体实施例中一种新闻子事件预测方法的总体流程示意图。整体上,包括:
步骤1,基于预处理过的大规模子事件序列数据,利用LSTM深度学习技术对子事件进行表示学习,获得子事件模型;
步骤2,基于所述子事件模型和子事件主题,对子事件序列进行表示学习,获得子事件序列模型;
步骤3,利用所述子事件序列模型对下一个子事件进行预测。
在本发明另一个具体实施例中,一种新闻子事件预测方法,所述步骤1前还包括:
步骤0,获取大规模事件数据作为训练语料,所述每个事件数据包含一组有序的新闻集合。
在本发明另一个具体实施例中,一种新闻子事件预测方法,所述步骤0和步骤1之间还包括:将步骤0中获得新闻的标题作为一个子事件,对所有子事件进行分词处理,去除停用词和出现次数少于预设次数的低频词。
在本发明另一个具体实施例中,一种新闻子事件预测方法,所述步骤2前还包括:基于所述预处理过的子事件,利用LDA模型获取每个子事件所属的概率最大的主题。
在本发明另一个具体实施例中,一种新闻子事件预测方法,所述步骤1中进一步包括:
S11,定义一个学习语言模型,该学习语言模型用于基于输入的各子事件序列和各子事件内词序列来预测下一个子事件;
S12,将利用LSTM神经网络对所述学习语言模型进行表达,获得LSTM(·)函数;
S13,利用所述LSTM(·)函数按顺序读取各子事件中的词,每读取一次所述子事件中的词,更新一次待预测子事件中对顺序敏感的所有词的顺序向量,以得到各子事件表示模型。
在本发明另一个具体实施例中,一种新闻子事件预测方法,所述步骤0进一步包括:将每个事件形式化成:E=s1,s2,…,sM,上述表达式为由一序列子事件构成,所述序列内子事件有M个;所述每个子事件sm由一个词序列所表示,其中1≤m≤M;其中wm,n∈V表示第m个子事件sm中的第n个词,V是词表。
在本发明另一个具体实施例中,一种新闻子事件预测方法,所述步骤将步骤0中所获得新闻的标题作为一个子事件,对所有子事件进行分词处理,去除停用词和出现次数少于预设次数的低频词还包括:在子事件结尾都加上一个结束符号。
在本发明另一个具体实施例中,一种新闻子事件预测方法,所述步骤1进一步包括:
定义一个语言模型,以用于基于给定观测的子事件序列(s1,s2,…,sM-1),学习下一个子事件sM所有可能的文本上的概率分布:
对于一个子事件子事件级别的LSTM编码器根据以下公式按顺序读取子事件中的词,同时更新隐含状态:
其中,表示LSTM(·)函数,用于编码词序列,是词的0-1向量表示,表示隐含状态;初始地,最后一个隐含状态是存储子事件sm中对顺序敏感的所有词的信息的向量;将一个子事件表示成
在本发明另一个具体实施例中,一种新闻子事件预测方法,所述步骤2进一步包括:
事件级别的LSTM编码器以上一子事件级别编码得到的子事件序列的向量表示,即s1,s2,…,sm作为输入,计算事件级别的隐含状态序列:
其中,表示LSTM(·)函数,表示事件级别的隐含状态,初始地,sm是由上一步得到的子事件的向量表示;隐含状态是存储子事件序列s1:m的信息的向量;利用所述子事件m的主题zm表示为0-1向量,将zm转化为一个稠密的向量表示,即将一个子事件表示成即词序列得到的向量与话题对应的向量的一个拼接。
在本发明另一个具体实施例中,一种新闻子事件预测方法,所述步骤3进一步包括:
初始化LSTM解码器的初始状态为两级编码器得到的子事件序列的向量,即所述解码的形式如下:
h′m,n=LSTMdec(h′m,n-1,…,wm,n),n=1,…,Nm,
其中LSTMdec是LSTM(·)函数,用于解码出一串词序列,所述词序列描述了可能的下一个子事件;在LSTM解码器中,每一个隐含状态h′m,n-1都通过一个softmax函数,用来计算下一个位置在所有词上的概率分布,当预测到结束符号时,解码器终止。
在本发明又一个具体实施例中,一种新闻子事件预测方法,所述方法包括以下步骤:
步骤(a),数据获取,利用爬虫工具获取大规模事件数据作为训练语料。每个事件数据包含一组有序的新闻集合。
步骤(b),数据预处理,取步骤(a)中所获得新闻的标题作为一个子事件,对所有子事件进行分词处理(利用已有工具如ICTCLAS,Ansj)),去除停用词和出现次数少于100次的低频词。
步骤(c),子事件主题抽取,将LDA模型应用于经过步骤(b)处理好的子事件,获取每个子事件所属的概率最大的主题。
步骤(d),子事件建模,利用步骤(b)处理过的大规模子事件序列数据,利用LSTM深度学习技术对子事件进行表示学习。
步骤(e),子事件序列建模,结合步骤(d)中的子事件表示学习和步骤(c)中得到的子事件主题,对子事件序列进行表示学习。
步骤(f),子事件预测,利用步骤(e)中得到的子事件序列表示对下一个子事件进行预测。
优选地,步骤(a)中,
一个事件能够形式化成E=(s1,s2,…,sM)可看作由一序列的M个子事件构成。每个子事件sm(1≤m≤M)由它的描述文本(一个词序列)所表示,即其中wm,n∈V表示第m个子事件sm中的第n个词,V是词表。
优选地,步骤(b)中,
取事件下的每篇新闻标题作为子事件,在子事件结尾都加上一个特殊的符号<end>。去除停用词,如“的,一个”和出现次数少于100次的低频词。
优选地,步骤(c)中,
LDA(Latent Dirichlet Allocation)模型是一个文档生成模型,它假设一篇文档生成的方式如下:
从狄利克雷分布α中取样生成文档的主题分布θm;
从主题的多项式分布θ中取样生成文档第n个词的主题zm,n;
从狄利克雷分布β中取样生成主题zm,n对应的词语分布
从词语的多项式分布中采样最终生成词语wm,n。
LDA模型最后可以生成子事件的话题分布{θm}m=1:M,其中θm={θm,k}k=1:K是一个K维的向量,加起来和为1。K表示话题个数。通过抽取概率θm,k最大的k得到文档m的主题。
优选地,步骤(d)中,给定观测的子事件序列(s1,s2,…,sM-1),旨在学习下一个子事件sM所有可能的文本上的概率分布。这可以定义成一个语言模型:
上述语言模型可以通过LSTM来刻画,LSTM是一个特殊的RNN模型,能够学习长期的依赖关系。它的定义是:给定一序列输入(w1,w2,…,wN),LSTM中的每一步关联了一个输入门in,一个记忆单元cn和一个输出门on。hn是LSTM在第n步计算出来的向量,σ表示逻辑函数,⊙表示点乘。每一步的向量hn计算如下:
in=σ(Wiwwn+Wihhn-1+bi),
fn=σ(Wfwwn+Wfhhn-1+bf),
on=σ(Wowwn+Wohhn-1+bo),
gn=tanh(Wgwwn+Wghhn-1+bg),
cn=fn⊙cn-1+in⊙gn,
hn=on⊙tanh(cn),
其中,W*w是从输入到LSTM状态的转移矩阵,W*h是状态hn转移矩阵,b*是偏移向量。cn是被forget门fn调整的前记忆单元cn-1与被input门in调整的gn的和。gn是前一个隐含状态和当前输入的函数。初始地,h0和c0是0向量。将此函数命名为LSTM(·)函数。
进一步地,为了考虑事件的多层次的序列结构(即词级别的序列构成子事件和子事件级别的序列构成事件)。首先对子事件进行建模。
子事件建模。对于一个子事件子事件级别的LSTM编码器按顺序读取子事件中的词,同时更新隐含状态,根据以下公式:
其中,表示LSTM(·)函数,用于编码词序列,是词的0-1向量表示,表示隐含状态。初始地,最后一个隐含状态是存储了子事件sm中对顺序敏感的所有词的信息的向量。因此可以将一个子事件表示成
优选地,步骤(e)中,
子事件序列建模。事件级别的LSTM编码器以上一子事件级别编码得到的子事件序列的向量表示,即(s1,s2,…,sm)作为输入,计算事件级别的隐含状态序列:
其中,表示LSTM(·)函数,表示事件级别的隐含状态,初始地,sm是由上一步得到的子事件的向量表示。隐含状态是存储了子事件序列s1:m的信息的向量。为了利用子事件之间的语义关联信息,进一步将话题的信息作为额外的特征。采用步骤(c)中得到的子事件m的主题zm表示为0-1向量,模型会进一步将zm转化为一个稠密的向量表示,即之后,将一个子事件表示成即词序列得到的向量与话题对应的向量的一个拼接。这样,就融入了上下文特征在的模型中,对的下一个子事件预测会有促进作用。
优选地,步骤(f)中,下一个子事件预测。在通过上面的两个级别的LSTM编码后,一序列的子事件s1:m-1被映射成一个向量表示,之后作为一个LSTM解码器的输入,逐字预测,形成下一个子事件。形式化来说,旨在估计概率P(sm|s1:m-1),以观测的之前的子事件作为条件,估计当前的子事件的概率。
通过初始化LSTM解码器的初始状态为两级编码器得到的子事件序列的向量,即来达到以之前的子事件序列作为条件的目的。和编码一样,解码的形式是:h′m,n=LSTMdec(h′m,n-1,…,wm,n),n=1,…,Nm。
其中LSTMdec是LSTM(·)函数,用于解码出一串词序列,该词序列描述了可能的下一个子事件。在LSTM解码器中,每一个隐含状态h′m,n-1都通过一个softmax函数,用来计算下一个位置在所有词上的概率分布,一旦<end>词被预测,那么解码器就终止。
步骤(d)-(f)由本发明提出的统一的模型HLSTM完成。HLSTM模型由一个子事件级别的LSTM编码器和一个事件级别的LSTM编码器以及一个LSTM解码器(用来解码出下一个子事件)构成。子事件级别的LSTM编码器首先将一个子事件(一序列词)映射成向量表示。事件级别的LSTM编码器则将过去的一序列m-1个子事件编码成一个向量表示,该向量总结了所有观测的子事件的信息,最后作为LSTM解码器的输入,用于逐字解码出下一个子事件sm。
模型参数训练。LSTM模型的参数W是通过最大化子事{sm}m=2:M给定它们之前的子事件序列s1:m-1的对数似然学习的到的。
其中,Etrain是训练集中所有的事件数目,表示事件e中的第m个子事件。采用批量梯度下降来进行优化。
对于新来的子事件序列,将数据输入至步骤(d)中训练好的模型,在下一个子事件解码过程中,采用启发式的集束搜索算法,选择条件概率最大的词作为一个新的预测的词,之后会和前面输出的词联合在一起用来预测下一个词,直到预测<end>结束。
在本发明又一个具体实施例中,一种新闻子事件预测方法,所述方法详细包括以下步骤:
图2是根据本发明实施例一种新闻子事件预测方法的流程示意图,图3为根据本发明实施例一种新闻子事件预测方法中事件双层序列的示意图。如图2、图3所示,该方法包括:
步骤(a),数据获取,利用爬虫工具获取大规模事件数据作为训练语料。每个事件数据包含一组有序的新闻集合。
一个事件可以形式化成E=(s1,s2,…,sM)能够看作由一序列的M个子事件构成。每个子事件sm(1≤m≤M)由它的描述文本(一个词序列)所表示,即其中wm,n∈V表示第m个子事件sm中的第n个词,V是词表。
步骤(b),数据预处理,取步骤(a)中所获得新闻的标题作为一个子事件,对所有子事件进行分词处理(利用已有工具如ICTCLAS,Ansj)),去除停用词和出现次数少于100次的低频词。
事件下的每篇新闻标题作为子事件,在子事件结尾都加上一个特殊的符号<end>。去除停用词,如“的,一个”和出现次数少于100次的低频词。
步骤(c),子事件主题抽取,将LDA模型应用于经过步骤(b)处理好的子事件,获取每个子事件所属的概率最大的主题。
LDA(Latent Dirichlet Allocation)模型是一个文档生成模型,它假设一篇文档生成的方式如下:
从狄利克雷分布α中取样生成文档的主题分布θm;
从主题的多项式分布θ中取样生成文档第n个词的主题zm,n;
从狄利克雷分布β中取样生成主题zm,n对应的词语分布
从词语的多项式分布中采样最终生成词语wm,n;
LDA模型最后可以生成子事件的话题分布{θm}m=1:M,其中θm={θm,k}k=1:K是一个K维的向量,加起来和为1。K表示话题个数。通过抽取概率θm,k最大的k得到文档m的主题。
步骤(d),子事件建模,利用步骤(b)处理过的大规模子事件序列数据,对子事件进行建模。
给定观测的子事件序列(s1,s2,…,sM-1),旨在学习下一个子事件sM所有可能的文本上的概率分布。这可以定义成一个语言模型:
上述语言模型可以通过LSTM来刻画,LSTM是一个特殊的RNN模型,能够学习长期的依赖关系。它的定义是:给定一序列输入(w1,w2,…,wN),LSTM中的每一步关联了一个输入门in,一个记忆单元cn和一个输出门on。hn是LSTM在第n步计算出来的向量,σ表示逻辑函数,⊙表示点乘。每一步的向量hn计算如下:
in=σ(Wiwwn+Wihhn-1+bi)
fn=σ(Wfwwn+Wfhhn-1+bf)
on=σ(Wowwn+Wohhn-1+bo)
gn=tanh(Wgwwn+Wghhn-1+bg)
cn=fn⊙cn-1+in⊙gn
hn=on⊙tanh(cn)
其中,W*w是从输入到LSTM状态的转移矩阵,W*h是状态hn转移矩阵,b*是偏移向量。cn是被forget门fn调整的前记忆单元cn-1与被input门in调整的gn的和。gn是前一个隐含状态和当前输入的函数。初始地,h0和c0是0向量。将此函数命名为LSTM(·)函数。
进一步地,为了考虑事件的多层次的序列结构(即词级别的序列构成子事件和子事件级别的序列构成事件)。首先对子事件进行建模。
子事件建模。如图2所示,一个子事件由一序列词构成,对于一个子事件子事件级别的LSTM编码器按顺序读取子事件中的词,同时更新隐含状态,根据以下公式:
其中,表示LSTM(·)函数,用于编码词序列,是词的0-1向量表示,表示隐含状态。初始地,最后一个隐含状态是存储了子事件sm中对顺序敏感的所有词的信息的向量。因此可以将一个子事件表示成
步骤(e),子事件序列建模,利用步骤(d)得到的子事件表示,结合步骤(c)获得的子事件主题信息,对子事件序列进行建模。
子事件序列建模。如图2所示,一个事件由一序列子事件构成,事件级别的LSTM编码器以上一子事件级别编码得到的子事件序列的向量表示,即(s1,s2,…,sm)作为输入,计算事件级别的隐含状态序列:
其中,表示LSTM(·)函数,表示事件级别的隐含状态,初始地,sm是由上一步得到的子事件的向量表示。隐含状态是存储了子事件序列s1:m的信息的向量。为了利用子事件之间的语义关联信息,进一步将话题的信息作为额外的特征。采用步骤(c)中得到的子事件m的主题zm表示为0-1向量,模型会进一步将zm转化为一个稠密的向量表示,即之后,将一个子事件表示成即词序列得到的向量与话题对应的向量的一个拼接。这样,就融入了上下文特征在的模型中,对的下一个子事件预测会有促进作用。
步骤(f),下一个子事件预测。利用步骤(e)得到的子事件序列表示,对下一个子事件进行预测。
在通过上面的子事件序列建模后,一序列的子事件s1:m-1被映射成一个向量表示,之后作为一个LSTM解码器的输入,逐字预测,形成下一个子事件。形式化来说,旨在估计概率P(sm|s1:m-1),以观测的之前的子事件作为条件,估计当前的子事件的概率。
通过初始化LSTM解码器的初始状态为两级编码器得到的子事件序列的向量,即来达到以之前的子事件序列作为条件的目的。和编码一样,解码的形式是:
h′m,n=LSTMdec(h′m,n-1,…,wm,n),n=1,…,Nm。
其中LSTMdec是LSTM(·)函数,用于解码出一串词序列,该词序列描述了可能的下一个子事件。在LSTM解码器中,每一个隐含状态h′m,n-1都通过一个softmax函数,用来计算下一个位置在所有词上的概率分布,一旦<end>词被预测,那么解码器就终止。
步骤(d)-(f)由本发明提出的统一的模型HLSTM完成。HLSTM模型由一个子事件级别的LSTM编码器和一个事件级别的LSTM编码器以及一个LSTM解码器(用来解码出下一个子事件)构成。子事件级别的LSTM编码器首先将一个子事件(一序列词)映射成向量表示。事件级别的LSTM编码器则将过去的一序列m-1个子事件编码成一个向量表示,该向量总结了所有观测的子事件的信息,最后作为LSTM解码器的输入,用于逐字解码出下一个子事件sm。HLSTM模型由一个子事件级别的LSTM编码器和一个事件级别的LSTM编码器以及一个LSTM解码器(用来解码出下一个子事件)构成。子事件级别的LSTM编码器首先将一个子事件(一序列词)映射成向量表示。事件级别的LSTM编码器则将过去的一序列m-1个子事件编码成一个向量表示,该向量总结了所有观测的子事件的信息,最后作为LSTM解码器的输入,用于逐字解码出下一个子事件sm。
模型参数训练。LSTM模型的参数W是通过最大化子事{sm}m=2:M(给定它们之前的子事件序列s1:m-1的对数似然学习的到的。
其中,Etrain是训练集中所有的事件数目,表示事件e中的第m个子事件。采用批量梯度下降来进行优化。
对于新来的子事件序列,将数据输入至步骤(d)-(f)中训练好的模型,在下一个子事件解码过程中,采用启发式的集束搜索算法,选择条件概率最大的词作为一个新的预测的词,之后会和前面输出的词联合在一起用来预测下一个词,直到预测<end>结束。
在本发明另一个具体实施例中,一种新闻子事件预测方法,采用本发明的方法进行了实验,具体实验过程如下:
1.数据集介绍。实验采用真实数据集,从新浪新闻网站抓取了大规模的事件(中文)数据,总共包含15,254个新闻系列。每个新闻系列包含了一序列的按时间顺序的新闻文章,这些文章报导了一个相同的事件。平均每个新闻序列包含50篇新闻。在实验中,只用新闻的标题,因为标题概括了新闻的主要内容。进一步按照以下步骤处理数据:1)用大小为5的窗口去分割每个新闻系列,每个分割得到的新闻集合被称为一个事件,该集合中的新闻则是子事件。之所以选择窗口大小为5,是因为从数据中观测得知超过连续5个新闻之间的关联关系就比较弱了。分割之后,共得到155,358事件。2)然后使用中科院分词系统ICTCLAS对事件数据集进行分词,之后去除了停用词以及出现次数少于100个文档的词来减少数据系数问题。最终的到一个大小为4,515的词表,包括一个特殊的表示子事件描述文本的末尾的符号<end>。平均每个子事件包含5个词。预处理之后,将事件数据集随机分为三部分:80%用于训练,10%用于验证,剩余的10%用于测试。表1中统计了最终的数据情况。
表1数据相关统计
Training | Validation | Test | |
Events | 124,288 | 15,535 | 15,535 |
Subevents | 607,090 | 75,802 | 75,957 |
2.实验设置和评价指标。通过在训练集和验证集上的实验测试决定模型中的超参数。特别地,选择能够在验证集上取得最好效果参数值,并且将这些最优值用于评估的模型在独立的测试集上的效果。最优参数取值如下:
1)LSTM参数和词向量表示是以[-0.08,0.08]之间的均一分布来初始化的;
2)学习率为0.1;
3)批量大小为32;
4)Dropout rate=0.2;
5)词向量和话题向量的维度都设为100,隐含状态向量维度D=400;
6)LSTM的隐含层设为2;
7)话题个数设为1,000。
评价指标。两个评价指标,即困惑度perplexity和词的错误率word error-rate被采用用来衡量模型的效果。困惑度是信息理论中标准的指标(Shannon 2001)。它可以衡量模型对数据拟合的程度,这样可以更好地用于预测。困惑度越低表示模型越好。
3.实验结果与分析
如表2所示,可以看出在两个不同的评价指标中,本发明提出的方法明显比当前最先进的方法效果好。本发明提出的方法比传统的n-gram语言模型有显著的提高,困惑度降低了50%,错误率降低了23%。相比简单的LSTM模型,也有明显的提高。HLSTM考虑层次的事件序列结构以及子事件的话题信息,对结果提高较为明显(35%和5%)。
表2下一个子事件预测结果分析
Model | Perp | Error Rate |
Backoff N-Gram | 264.07 | 93.03% |
Modified Kneser-Ney | 257.24 | 93.06% |
Witten-Bell Discounting N-Gram | 255.48 | 92.60% |
LSTM | 201.59±0.38 | 75.22%±0.02% |
HLSTM | 127.74±0.21 | 70.02%±0.01% |
为了进一步测试模型的效果,本发明还对比了几个基线模型在下一个子事件排序上的效果。给定一序列的子事件,的目标是从一组候选的子事件中选出概率最大的子事件作为下一个要预测的子事件。将测试集随机分成311组,每一组包含50个事件,最后一组包含35个事件。对于每一组数据,目标是给定一个事件的前面的子事件序列(除最后一个子事件),从候选集中选出最合适的最后一个子事件。将该组所有的事件的最后一个子事件作为候选集。表3中是模型的测试结果。hits@n是指在前n个子事件中能命中目标子事件的概率。可以看出本发明提出的方法能够取得最好的效果。
表3下一个子事件排序结果分析
Model | hits@1 | hits@5 | hits@10 |
Random | 2.00%±0.10 | 10.00%±0.15 | 20.00%±0.20 |
LSTM | 21.96%±0.12 | 49.73%±0.16 | 66.31%±0.21 |
HLSTM | 25.79%±0.10 | 55.68%±0.18 | 71.57%±0.20 |
本发明实施例所述的子事件预测方法,通过生成子事件序列的下一个可能的子事件描述文本来预测子事件。该方法解决了子事件表示问题,考虑了事件的双层的层次序列关系,并且还考虑了子事件的话题信息,能够有效地预测下一个可能的子事件。
如图4,示出本发明本发明实施例一种新闻子事件预测装置的整体框架示意图。总体上,包括子事件建模模块A1、子事件序列建模模块A2和预测模块A3:
所述子事件建模模块A1与所述子事件序列建模模块A2相连,用于基于预处理过的大规模子事件序列数据,利用LSTM深度学习技术对子事件进行表示学习,获得子事件模型;
所述子事件序列建模模块A2分别于所述子事件建模模块A1和预测模块A3相连,用于基于所述子事件模型和子事件主题,对子事件序列进行表示学习,获得子事件序列模型;
所述预测模块A3与所述子事件序列建模模块A2相连,用于利用所述子事件序列模型对下一个子事件进行预测。
本发明另一个具体实施例中,一种新闻子事件预测装置,所述子事件建模模块还用于获取大规模事件数据作为训练语料,所述每个事件数据包含一组有序的新闻集合。
本发明另一个具体实施例中,一种新闻子事件预测装置,所述子事件建模模块还用于将获得新闻的标题作为一个子事件,对所有子事件进行分词处理,去除停用词和出现次数少于预设次数的低频词。
本发明另一个具体实施例中,一种新闻子事件预测装置,所述子事件建模模块还用于基于所述预处理过的子事件,利用LDA模型获取每个子事件所属的概率最大的主题。
本发明另一个具体实施例中,一种新闻子事件预测装置,所述子事件建模模块还用于:S11,定义一个学习语言模型,该学习语言模型用于基于输入的各子事件序列和各子事件内词序列来预测下一个子事件;
S12,将利用LSTM神经网络对所述学习语言模型进行表达,获得LSTM(·)函数;
S13,利用所述LSTM(·)函数按顺序读取各子事件中的词,每读取一次所述子事件中的词,更新一次待预测子事件中对顺序敏感的所有词的顺序向量,以得到各子事件表示模型。
本发明另一个具体实施例中,一种新闻子事件预测装置,所述子事件建模模块还用于:将每个事件形式化成:E=s1,s2,…,sM,上述表达式为由一序列子事件构成,所述序列内子事件有M个;所述每个子事件sm由一个词序列所表示,其中1≤m≤M;其中wm,n∈V表示第m个子事件sm中的第n个词,V是词表。
本发明另一个具体实施例中,一种新闻子事件预测装置,所述子事件建模模块还用于:在子事件结尾都加上一个结束符号。
本发明另一个具体实施例中,一种新闻子事件预测装置,所述子事件建模模块还用于:定义一个语言模型,以用于基于给定观测的子事件序列(s1,s2,…,sM-1),学习下一个子事件sM所有可能的文本上的概率分布:
对于一个子事件子事件级别的LSTM编码器根据以下公式按顺序读取子事件中的词,同时更新隐含状态:
其中,表示LSTM(.)函数,用于编码词序列,是词的0-1向量表示,表示隐含状态;初始地,最后一个隐含状态是存储子事件sm中对顺序敏感的所有词的信息的向量;将一个子事件表示成
本发明另一个具体实施例中,一种新闻子事件预测装置,所述子事件序列建模模块还用于:事件级别的LSTM编码器以上一子事件级别编码得到的子事件序列的向量表示,即s1,s2,…,sm作为输入,计算事件级别的隐含状态序列:
其中,表示LSTM(.)函数,表示事件级别的隐含状态,初始地,sm是由上一步得到的子事件的向量表示;隐含状态是存储子事件序列s1:m的信息的向量;利用所述子事件m的主题zm表示为0-1向量,将zm转化为一个稠密的向量表示,即将一个子事件表示成即词序列得到的向量与话题对应的向量的一个拼接。
本发明另一个具体实施例中,一种新闻子事件预测装置,所述预测模块还用于:初始化LSTM解码器的初始状态为两级编码器得到的子事件序列的向量,即所述解码的形式如下:
h′m,n=LSTMdec(h′m,n-1,…,wm,n),n=1,…,Nm,
其中LSTMdec是LSTM(.)函数,用于解码出一串词序列,所述词序列描述了可能的下一个子事件;在LSTM解码器中,每一个隐含状态h′m,n-1都通过一个softmax函数,用来计算下一个位置在所有词上的概率分布,当预测到结束符号时,解码器终止。
最后,本申请的方法仅为较佳的实施方案,并非用于限定本发明的保护范围。凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
Claims (10)
1.一种新闻子事件预测方法,其特征在于,包括:
步骤1,基于预处理过的大规模子事件序列数据,利用LSTM深度学习技术对子事件进行表示学习,获得子事件模型;
步骤2,基于所述子事件模型和子事件主题,对子事件序列进行表示学习,获得子事件序列模型;
步骤3,利用所述子事件序列模型对下一个子事件进行预测。
2.如权利要求1所述的方法,其特征在于,所述步骤1前还包括:
步骤0,获取大规模事件数据作为训练语料,所述每个事件数据包含一组有序的新闻集合。
3.如权利要求2所述的方法,其特征在于,所述步骤0和步骤1之间还包括:将步骤0中获得新闻的标题作为一个子事件,对所有子事件进行分词处理,去除停用词和出现次数少于预设次数的低频词。
4.如权利要求3所述的方法,其特征在于,所述步骤2前还包括:基于所述预处理过的子事件,利用LDA模型获取每个子事件所属的概率最大的主题。
5.如权利要求4所述的方法,其特征在于,所述步骤1中进一步包括:
S11,定义一个学习语言模型,该学习语言模型用于基于输入的各子事件序列和各子事件内词序列来预测下一个子事件;
S12,将利用LSTM神经网络对所述学习语言模型进行表达,获得LSTM(·)函数;
S13,利用所述LSTM(·)函数按顺序读取各子事件中的词,每读取一次所述子事件中的词,更新一次待预测子事件中对顺序敏感的所有词的顺序向量,以得到各子事件表示模型。
6.如权利要求5所述的方法,其特征在于,所述步骤0进一步包括:将每个事件形式化成:E=s1,s2,…,sM,上述表达式为由一序列子事件构成,所述序列内子事件有M个;所述每个子事件sm由一个词序列所表示,其中1≤m≤M;其中wm,n∈V表示第m个子事件sm中的第n个词,V是词表。
7.如权利要求6所述的方法,其特征在于,所述步骤将步骤0中所获得新闻的标题作为一个子事件,对所有子事件进行分词处理,去除停用词和出现次数少于预设次数的低频词还包括:在子事件结尾都加上一个结束符号。
8.如权利要求7所述的方法,其特征在于,所述步骤1进一步包括:
定义一个语言模型,以用于基于给定观测的子事件序列(s1,s2,…,sM-1),学习下一个子事件sM所有可能的文本上的概率分布:
<mrow>
<mi>P</mi>
<mrow>
<mo>(</mo>
<msub>
<mi>s</mi>
<mi>m</mi>
</msub>
<mo>|</mo>
<msub>
<mi>s</mi>
<mrow>
<mn>1</mn>
<mo>:</mo>
<mi>m</mi>
<mo>-</mo>
<mn>1</mn>
</mrow>
</msub>
<mo>=</mo>
<msubsup>
<mi>&Pi;</mi>
<mrow>
<mi>n</mi>
<mo>=</mo>
<mn>1</mn>
</mrow>
<msub>
<mi>N</mi>
<mi>m</mi>
</msub>
</msubsup>
<mi>P</mi>
<mo>(</mo>
<msub>
<mi>w</mi>
<mrow>
<mi>m</mi>
<mo>,</mo>
<mi>n</mi>
</mrow>
</msub>
<mo>|</mo>
<msub>
<mi>w</mi>
<mrow>
<mi>m</mi>
<mo>,</mo>
<mn>1</mn>
<mo>:</mo>
<mi>n</mi>
<mo>-</mo>
<mn>1</mn>
</mrow>
</msub>
<mo>,</mo>
<msub>
<mi>s</mi>
<mrow>
<mn>1</mn>
<mo>:</mo>
<mi>m</mi>
<mo>-</mo>
<mn>1</mn>
</mrow>
</msub>
<mo>)</mo>
</mrow>
<mo>;</mo>
</mrow>
对于一个子事件子事件级别的LSTM编码器根据以下公式按顺序读取子事件中的词,同时更新隐含状态:
<mrow>
<msubsup>
<mi>h</mi>
<mrow>
<mi>m</mi>
<mo>,</mo>
<mi>n</mi>
</mrow>
<mi>w</mi>
</msubsup>
<mo>=</mo>
<msubsup>
<mi>LSTM</mi>
<mrow>
<mi>e</mi>
<mi>n</mi>
<mi>c</mi>
</mrow>
<mi>w</mi>
</msubsup>
<mrow>
<mo>(</mo>
<msubsup>
<mi>h</mi>
<mrow>
<mi>m</mi>
<mo>,</mo>
<mi>n</mi>
</mrow>
<mi>w</mi>
</msubsup>
<mo>,</mo>
<mo>...</mo>
<mo>,</mo>
<msub>
<mi>w</mi>
<mrow>
<mi>m</mi>
<mo>,</mo>
<mi>n</mi>
</mrow>
</msub>
<mo>)</mo>
</mrow>
<mo>,</mo>
<mi>n</mi>
<mo>=</mo>
<mn>1</mn>
<mo>,</mo>
<mo>...</mo>
<mo>,</mo>
<msub>
<mi>N</mi>
<mi>m</mi>
</msub>
<mo>,</mo>
</mrow>
其中,表示LSTM(.)函数,用于编码词序列,是词的0-1向量表示,表示隐含状态;初始地,最后一个隐含状态是存储子事件sm中对顺序敏感的所有词的信息的向量;将一个子事件表示成
9.如权利要求8所述的方法,其特征在于,所述步骤2进一步包括:
事件级别的LSTM编码器以上一子事件级别编码得到的子事件序列的向量表示,即s1,s2,…,sm作为输入,计算事件级别的隐含状态序列:
<mrow>
<msubsup>
<mi>h</mi>
<mi>m</mi>
<mi>s</mi>
</msubsup>
<mo>=</mo>
<msubsup>
<mi>LSTM</mi>
<mrow>
<mi>e</mi>
<mi>n</mi>
<mi>c</mi>
</mrow>
<mi>s</mi>
</msubsup>
<mrow>
<mo>(</mo>
<msubsup>
<mi>h</mi>
<mrow>
<mi>m</mi>
<mo>-</mo>
<mn>1</mn>
</mrow>
<mi>s</mi>
</msubsup>
<mo>,</mo>
<mo>...</mo>
<mo>,</mo>
<msub>
<mi>s</mi>
<mi>m</mi>
</msub>
<mo>)</mo>
</mrow>
<mo>,</mo>
<mi>m</mi>
<mo>=</mo>
<mn>1</mn>
<mo>,</mo>
<mo>...</mo>
<mo>,</mo>
<mi>M</mi>
<mo>,</mo>
</mrow>
其中,表示LSTM(.)函数,表示事件级别的隐含状态,初始地,sm是由上一步得到的子事件的向量表示;隐含状态是存储子事件序列s1:m的信息的向量;利用所述子事件m的主题zm表示为0-1向量,将zm转化为一个稠密的向量表示,即将一个子事件表示成即词序列得到的向量与话题对应的向量的一个拼接;
所述步骤3进一步包括:
初始化LSTM解码器的初始状态为两级编码器得到的子事件序列的向量,即所述解码的形式如下:
h′m,n=LSTMdec(h′m,n-1,…,wm,n),n=1,…,Nm,
其中LSTMdec是LSTM(.)函数,用于解码出一串词序列,所述词序列描述了可能的下一个子事件;在LSTM解码器中,每一个隐含状态h′m,n-1都通过一个softmax函数,用来计算下一个位置在所有词上的概率分布,当预测到结束符号时,解码器终止。
10.一种新闻子事件预测装置,其特征在于,包括子事件建模模块、子事件序列建模模块和预测模块:
所述子事件建模模块与所述子事件序列建模模块相连,用于基于预处理过的大规模子事件序列数据,利用LSTM深度学习技术对子事件进行表示学习,获得子事件模型;
所述子事件序列建模模块分别于所述子事件建模模块和预测模块相连,用于基于所述子事件模型和子事件主题,对子事件序列进行表示学习,获得子事件序列模型;
所述预测模块与所述子事件序列建模模块相连,用于利用所述子事件序列模型对下一个子事件进行预测。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710161795.8A CN107122347A (zh) | 2017-03-17 | 2017-03-17 | 一种基于深度学习技术的新闻子事件预测方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710161795.8A CN107122347A (zh) | 2017-03-17 | 2017-03-17 | 一种基于深度学习技术的新闻子事件预测方法及装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN107122347A true CN107122347A (zh) | 2017-09-01 |
Family
ID=59718250
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201710161795.8A Pending CN107122347A (zh) | 2017-03-17 | 2017-03-17 | 一种基于深度学习技术的新闻子事件预测方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN107122347A (zh) |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109086345A (zh) * | 2018-07-12 | 2018-12-25 | 北京奇艺世纪科技有限公司 | 一种内容识别方法、内容分发方法、装置及电子设备 |
CN110289090A (zh) * | 2019-05-31 | 2019-09-27 | 华东理工大学 | 事件发现方法及装置、存储介质、终端 |
CN110457674A (zh) * | 2019-06-25 | 2019-11-15 | 西安电子科技大学 | 一种主题指导的文本预测方法 |
CN111428492A (zh) * | 2020-01-10 | 2020-07-17 | 深圳信息职业技术学院 | 一种情境感知的深度学习算法 |
CN114004223A (zh) * | 2021-10-12 | 2022-02-01 | 北京理工大学 | 一种基于行为基的事件知识表示方法 |
Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104951836A (zh) * | 2014-03-25 | 2015-09-30 | 上海市玻森数据科技有限公司 | 基于神经网络技术的发帖预测系统 |
-
2017
- 2017-03-17 CN CN201710161795.8A patent/CN107122347A/zh active Pending
Patent Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104951836A (zh) * | 2014-03-25 | 2015-09-30 | 上海市玻森数据科技有限公司 | 基于神经网络技术的发帖预测系统 |
Non-Patent Citations (1)
Title |
---|
LINMEI HU,ETAL.: "What Happens Next? Future Subevent Prediction Using Contextual Hierarchical LSTM", 《PROCEEDINGS OF THE THIRTY-FIRST AAAI CONFERENCE ON ARTIFICIAL INTELLIGENCE (AAAI-17)》 * |
Cited By (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109086345A (zh) * | 2018-07-12 | 2018-12-25 | 北京奇艺世纪科技有限公司 | 一种内容识别方法、内容分发方法、装置及电子设备 |
CN110289090A (zh) * | 2019-05-31 | 2019-09-27 | 华东理工大学 | 事件发现方法及装置、存储介质、终端 |
CN110457674A (zh) * | 2019-06-25 | 2019-11-15 | 西安电子科技大学 | 一种主题指导的文本预测方法 |
CN111428492A (zh) * | 2020-01-10 | 2020-07-17 | 深圳信息职业技术学院 | 一种情境感知的深度学习算法 |
CN111428492B (zh) * | 2020-01-10 | 2023-07-07 | 深圳信息职业技术学院 | 一种情境感知的深度学习算法 |
CN114004223A (zh) * | 2021-10-12 | 2022-02-01 | 北京理工大学 | 一种基于行为基的事件知识表示方法 |
CN114004223B (zh) * | 2021-10-12 | 2022-05-24 | 北京理工大学 | 一种基于行为基的事件知识表示方法 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN107122347A (zh) | 一种基于深度学习技术的新闻子事件预测方法及装置 | |
CN110609897B (zh) | 一种融合全局和局部特征的多类别中文文本分类方法 | |
CN103778215B (zh) | 一种基于情感分析和隐马尔科夫模型融合的股市预测方法 | |
CN110222188B (zh) | 一种多任务学习的公司公告处理方法及服务端 | |
CN107358948B (zh) | 基于注意力模型的语言输入关联性检测方法 | |
CN106202010B (zh) | 基于深度神经网络构建法律文本语法树的方法和装置 | |
CN111858931B (zh) | 一种基于深度学习的文本生成方法 | |
CN108363790A (zh) | 用于对评论进行评估的方法、装置、设备和存储介质 | |
CN110263323A (zh) | 基于栅栏式长短时记忆神经网络的关键词抽取方法及系统 | |
CN106126507A (zh) | 一种基于字符编码的深度神经翻译方法及系统 | |
CN109740655B (zh) | 基于矩阵分解及神经协同过滤的物品评分预测方法 | |
CN108549658A (zh) | 一种基于语法分析树上注意力机制的深度学习视频问答方法及系统 | |
CN104408153A (zh) | 一种基于多粒度主题模型的短文本哈希学习方法 | |
CN109359297A (zh) | 一种关系抽取方法及系统 | |
CN111400494B (zh) | 一种基于GCN-Attention的情感分析方法 | |
CN112926322A (zh) | 融合自注意力机制和深度学习的文本分类方法及系统 | |
CN106980650A (zh) | 一种面向Twitter观点分类的情感增强词嵌入学习方法 | |
CN114936267A (zh) | 基于双线性池化的多模态融合在线谣言检测方法及系统 | |
CN110458373A (zh) | 一种基于知识图谱融合的犯罪预测方法及系统 | |
CN115510814B (zh) | 一种基于双重规划的篇章级复杂问题生成方法 | |
CN113569001A (zh) | 文本处理方法、装置、计算机设备及计算机可读存储介质 | |
CN112434159A (zh) | 一种利用深度神经网络进行论文多标签分类的方法 | |
CN112560456A (zh) | 一种基于改进神经网络的生成式摘要生成方法和系统 | |
CN115659244A (zh) | 故障预测方法、装置及存储介质 | |
Gao et al. | Research on multilevel classification of high-speed railway signal equipment fault based on text mining |
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 | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20170901 |
|
RJ01 | Rejection of invention patent application after publication |