抽象因果事理图谱的构建和应用

引言

因果一般是指一个事件和另一个事件之间的关系,后一个事件是前一个事件的结果。因果是对问题更本质的认识。诸如物理学、行为学、社会学和生物学中许多研究的中心问题是对因果的阐述,即对变量或事件之间直接作用关系的阐述。笼统上来说,因果分为已知的和未知的。已知的因果是人们已经发现的知识、常识或者规律,常常存在于自然语言的文本中,如教科书、科技文献、新闻报道。未知的因果是有待我们去探索的未知世界,常常掩埋在繁杂的实验过程或者海量的统计数据中,例如一个新型药物的对症和疗效。显然对未知因果的探索是自然科学和统计学研究的重要问题。对存在于文本中的因果知识、常识或者规律,是文本挖掘和知识工程从业人员的研究课题。


抽象因果事理图谱构建

我们每天看到的新闻报道常常提及很多事件发展的因果关系,如“ xx 地发生地震,导致 xx 房屋倒塌”,“ xx 地的干旱天气,预估造成粮食减产 xx 公斤”等。但是由于新闻的准确性和时效性等特点,新闻中提及的因果事件往往过于具体和细节。我们所需要的往往是忽略细节的本质性的和规律性的模式,例如“地震导致房屋倒塌”,“干旱造成粮食减产”。


如何从大量的新闻文本中抽取出这种本质性的和规律性的事理因果呢?如何在含有细枝末节的、带有噪声的文本中,抽丝剥茧,得到事件发展的因果律?这是一个既有现实意义又有研究价值的问题。在现实层面,这种本质的规律性的因果知识,可以为问答系统、预测系统和决策系统提供很好的支撑。在研究层面这个问题涉及事件抽取、关系抽取、事件泛化、链接预测等问题。是很多文本处理技术和数据挖掘算法的试验场。


具体在我们的工作中,我们第一步是对新闻语料中的因果提及进行抽取。我们使用了规则模板的方法,<Pattern, Constraint, Priority>。Pattern 是包含因果关系触发词的正则表达式;Constraint 包含了一些句子中的句法约束,例如 after[sentence1], [sentence2] 这个模板中,sentence1 必须不能是数字打头的句子;Priority 是当多个模板都匹配上时,匹配模板的优先级。通过这样的规则模板,我们能够获得大量的因果事件对,原因和结果的描述分别在句子 sentence1 和 sentence2 中。


接下来我们需要从原因结果事件的描述句子中抽取原因事件和结果事件。此处,我们把事件描述句子中的动词和名词集合来表示事件。原因有三点:首先,这是由数据集的特性决定的。我们使用的语料是 NYT 的新闻标题。众所周知,新闻标题追求简洁性和正确性。标题中多以名词和动词组成。因为动词和名词的语义信息丰富;其次,我们尝试了三元组或者名词短语的形式表示事件。发现这样会丢失掉新闻事件中非常重要的主干信息;最后,如果使用三元组或者名词短语表示事件,那么一个事件描述中常常能抽取到多个三元组或者名词短语。判断使用哪一个来表示事件也是一个难题。为了保证我们抽取到的事件正确性和完整性,我们选择用动词和名词组成的集合的形式表示事件。这样我们抽取到的事件既可以包含所有三元组(subject,predicate,object)的信息,也包含了名词短语的信息,还包含了动词短语的信息。另外还包含了其他的一些重要的名词和动词所蕴含的事件信息。


我们都知道因果有传递性,即链式特性,多个匹配的因果头尾相接组成一个长链条。但是我们抽取到的具体事件仍旧很难做到一类事件归一化,从而匹配成链条。因此我们需要对事件做泛化处理,即同一类的事件归为一个事件,即不管四川地震还是熊本地震都归为地震这个事件。这种泛化后的事件常常是表征一类事件,因此我们称之为抽象事件,如图1所示。通过观察我们发现在具体事件的词集合表示中,如果以包含三元组的词集合事件为例,有的事件模式是 predicate+object 总固定出现而 subject 却是动态变化的,有的是 subject+predicate 总是固定出现而 object 却是动态变化的。另外也存在一些更加复杂的模式。此处我们采用高频词对的形式来具体表示抽象事件。即不管 predicate+object 还是 subject+predicate 或者其它的组合,哪个组合形式具有更高的频次我们就用哪个组合来表征这个抽象事件。在从具体事件到抽象事件的泛化过程中我们还把每个动词用 verbnet 里面的动词类别替换,名词用上位词或者高频同义词替换。


图1 具体事件到抽象事件的泛化


事件表示学习

有了如图1所示的抽象因果事理图谱之后,我们很自然的可以利用这个事理图谱做事件预测和事件分析工作。当然从抽象因果事理图谱中,我们也发现了一些意想不到的因果链条,比如俄罗斯的政策对于美国股市涨跌的因果作用。但是如何更加灵活地进行相似事件的匹配、事件预测、股市预测等这些任务呢?利用因果事理图谱中事件丰富的前因后果来把每个事件表示成稠密的向量是一个很好的选择。因为这样就把事理图谱中的那些任务中涉及的字符匹配问题转化为向量计算问题。


对于如何利用丰富的因果上下文进行事理图谱的表示学习有很多可以选择的方法。在我们的工作中,我们定义了一个度量因果对的能量函数并选择了一个基于负采样的折页损失,使得任何与真正因果对的偏差都尽可能的能量高。另外在建模能量函数和损失函数的时候我们也考虑了因果关系的非对称性、多对多和传递性。能量函数和损失函数如下所示:




学到因果事件的向量表示,我们可以很容易的以能量函数的计算方式来做事件预测。或者以事件的向量表示来做事件驱动的股票预测。在我们的工作,我们在事件预测、股票涨跌预测、事件聚类等任务上进行了相关事件,既进行了定性分析也进行了定量评价。实验结果表明:1)高频词对形式的抽象事件因果是非常高效且合理的表示方法;2)利用前因后果对事件的表示学习由于学习到事件的因果上下文,所以在事件分析预测和股市预测上表现出了优越性。

 

结束语

本文非常自然的提出了抽象因果事理图谱的概念。让我们看到了抽象事件因果强大的可解释性和实用性。也让我们看到了在大数据中无指导的自动抽取常识和规律,并利用常识和规律进行预测和决策的无限可能性。

 

注:这篇文章的主要内容摘自我们发表在WSDM 2017上的文章“Constructing and embedding abstract event causality networks from text snippets”

 

作者:哈工大SCIR 赵森栋


参考文献

Zhao S, Wang Q, Massung S, et al. Constructing and embedding abstract eventcausality networks from text snippets[C]//Proceedings of the Tenth ACM International Conference on Web Search and Data Mining. ACM, 2017: 335-344.


本文来源于哈工大SCIR

原文链接点击即可跳转


入门
1
推荐文章
事理图谱:事件演化的规律和模式
哈工大SCIR
基于社会媒体的预测技术
哈工大SCIR
文本生成概述
哈工大SCIR
返回顶部