Zhou P, Luo Y, Ning N, et al. Continuous Similarity Learning with Shared Neural Semantic Representation for Joint Event Detection and Evolution[J]. Computational Intelligence and Neuroscience, 2020.
摘要翻译
在当今互联网快速发展的时代,人们经常对大量的官方新闻流或非官方的自媒体推文感到不知所措。为了帮助人们从中获取到其所关心的话题,越来越需要能够从这些数据中提取重要事件并将事件的演化过程逻辑地构建成一个故事的系统。大多数现有的方法将事件检测和演化视为集成方法设置下的两个独立的子任务。而忽略了两个子任务之间的相互依赖性,从而导致有偏的传播。此外,由于新闻文档语义表示的局限性,事件检测和演化的性能仍然受到限制。为了解决这些问题,作者提出了一个联合事件检测和进化(JEDE)模型,来从新闻流中检测事件并发现事件演化关系。具体来说,所提出的 JEDE 模型建立在 Siamese 网络之上, 首先引入了双向 GRU 注意力网络来学习跨两个子任务网络共享的新闻文档的向量化语义表示。然后,使用堆叠神经网络学习两个连续的相似性度量,以判断两个新闻文档是否与同一事件相关或两个事件与同一故事相关。最终,作者发表了自己的数据集( EDENS),并且表示由于共享表示学习和联合训练,所提出的模型明显的提升了实验性能。
intro记录
作者指出,现有做法通常认为事件的检测和演化是两个相对独立的子任务,因而对其相关性的考虑还不够。另外,对新闻文本进行较好的表示学习对于事件检测和演化来说都是必要的。并且,在通常事件簇的发现中,关于预先需要设定类簇的个数对于快速变化的新闻事件而言是不友好的。针对以上问题,作者提出了如下的模型框架图,使用神经网络模型,监测开放领域的新闻流,联合检测新事件和跟踪事件的演化过程。
Preliminary(预备知识)
-
News Report
-
News Stream
- Event
Specifically, it is a set of news documents reporting the same real-world breaking news. - Event Timestamp
In order to clearly suggest the tem�poral information of an event, we simply consider the earliest news(首次新闻报道的时间) report time as the event timestamp. - Story
一个故事描述了一个新闻话题,包括一系列相关事件,报道一系列不断发展的现实世界突发新闻。从事件
到
的定向链接表示两个事件之间的时间发展或逻辑连接。
- Event Detection
事件检测(或事件聚类)的任务是对相同真实世界事件的新闻报告进行聚类,以便如果发现新的新闻报告不属于现有的事件类簇,就可以认为是新的事件。 -
Event Evolution
事件演化的任务是将提取出来的相关事件联系起来,形成一个故事。
事件演化的关系一般可以分为事件关系和逻辑关系两种。
-
Joint Event Detection and Evolution
模型浅析

- Shared Semantic Representation
对于一篇长度为的新闻报道
,首先使用word2vec将词
映射为向量化表示
,因此新闻报道可以表示为
。接着使用GRU抽取
的隐藏状态
。这里
的获取考虑了双向的GRU结构,因此,具体的生成如下:
为了将每个新闻报道都映射成一个固定长度的共享语义表示,对所对应的
矩阵应用了attention操作,即
。该步骤也主要包含两步操作:
(1)将转换成归一化的向量表示
:
(2)使用内积的方式计算注意力权重
:
因此,共享语义表示可以写成:
可以看出,通过给每个向量表示分配不同的注意力权值,强调重要的特征,抑制有噪声或不相关的信息,从而使我们能够对后续任务的新闻报道文档进行更有区别的语义表示。
- Event Detection Network
对于事件检测任务,该模块的目标是将与同一事件相关的新闻报道聚合在一起。为此,采用在线增量聚类算法将传入的新闻报道聚类为相应的事件组。假设已经检测出个事件
,每个事件都包含若干个新闻报道
。对于新来的新闻报道
,分别计算与每个事件簇的相似度得分,其方式是计算每个簇中
与
的相似度得分,取该事件簇中得分最高的作为新事件与该事件簇的相似度得分
为了判定
归属于哪个事件簇,作者考虑一个阈值
来决定新闻报道
是否属于一个现有的事件簇,其中
是之前所有的相似性得分的平均值,
是标准差。若所有的
都低于阈值,那么则认为检测出了新的事件簇。否则,则将该新闻报道添加到与其最相似的事件簇中。可以看出增量聚类的方法是通过计算两两之间的相似度进行所属类簇的判断。
为了更加契合数据的计算方式,在改模型中引入了 Siamese network。具体操作如下:
(1) 分别计算新闻报道和
的语义表示
和
。
(2) 将二者拼接通过一层mlp和softmax层进行相似概率得分的输出:除此之外,该模型还考虑了新闻事件发布时间对事件检测任务的影响,因为对一个新闻报道而言,报道时间的先后顺序也是至关重要的。因此,在(3)式中的输入扩展为如下:
因此,检测网络的最终输出是整个数据集中所有新闻报道聚合成事件簇的结果。每个事件簇中包含若干个新闻报道。
- Event Evolution Network
在检测到一系列事件后,需要进一步以在线的方式将这些事件组织成多个故事。每个故事涵盖了几个相互关联的事件,这些事件根据它们的时间顺序联系起来,以描述故事的演变过程。该模块的思路与检测模块的思路相同,也是利用增量聚类的方式将事件簇聚合为故事,并按照时间线对时间进行排序(这里应该对应的是前面所定义的事件的时间戳,即每个事件簇中只记录最开始新闻出现的事件)。类似检测网络中的形式化定义,已经发现了个故事
,每个故事都包含若干个事件簇
。在这部分中,设定了一个阈值来判断该事件簇是否归属于某个故事。
与之前的事件演化类似,由于事件高精度和易于集成的性质,仍然考虑Siamese network来计算事件之间的相似性。具体地说,对于两个事件和
,取隶属于这些新闻报道的语义表示向量的平均值,作为它们自己的语义表示向量
和
。然后,将两个向量和相应的时间戳向量连接在一起,输入之前的事件检测网络,生成当前的隐藏特征向量
。当前的这个
是指两个事件簇之间的隐含特征向量。
为了更好的整合事件检测与演化之间的关系,在模型的计算中将这部分得出的隐含特征向量也加入到了演化网络的计算中,形式化为如下:演化网络的输出结果为多个故事树,每个故事树中包含多个相似的事件簇。
- Training
联合模型的训练是基于一对新闻报道作为输入。对于事件检测,训练目标是最小化预测的相似性概率与从标记的事件 id 导出的 one-hot ground truth 之间的交叉熵损失。然后,将和
分别作为
和
。它们被输入到随后的事件演化网络中来预测故事的相似性。预测的相似性概率和从标记的故事 id 派生的基本事实之间的交叉熵损失用于优化事件演化网络,并通过隐藏特征向量
传播到前导事件检测网络。
Notes:作者指出,用新闻报道的语义向量来表示事件来训练事件进化网络是合理的,因为一个事件包含了几个相关的新闻报告,它们应该有相似的语义表示;因此,它们接近于测试中使用的平均值。
其他知识
在对比中,作者还给出了几种故事生成的结构,如下所示:
整个模型而言,巧妙的将数据的输入方式转换为成对的新闻报道。在模型的计算中,无形之中延长了计算的事件,这里我比较好奇的一点是其输入是按照新闻报道的到达顺序输入成对输入模型?那么,作者是否又考虑过多个新闻报道的输入?还有就是,在论文的一开始,作者打出了事件监测网络和事件演化网络相对独立的噱头,到头来采用成对新闻报道的输入,使得在检测模块的新闻事件表示在演化模块直接变成了事件簇的平均表示,并利用基于事件簇的的传递建立两个子模块,或者说子任务之间的关系?
网友评论