基本思想:根据具体的因果关系网络构建抽象的因果事件网络,再将因果关系网络映射到一个连续的向量空间中便于下游的任务
创新点:提出一个因果关系网络框架方便基于因果事件的下游任务开发
过程:(使用新闻标题)
- Network Construction
1)因果关系提取(因与果之间的关系)
参考文献25可以自动识别自然语言中因果关系(本文使用)
a) 首先确定四个连接词(because,because of,lead to,after)用于因果关系提取
详情:以文献38给的文本因果关系连接词为基础,基于新闻数据人工筛选判断这些连接词,每个连接词使用100个新闻标题判断可以表示真因果关系的可能性高低,保留高频的因果连接词。实验结果得到的连接词为because,because of,lead to,after 四个。
b) 基于连接词构造一组规则提取因果事件
c) 详情:规则格式为<Pattern,Constraint,Priority>,pattern为连接词的正则表达式,constraint表示句法约束,priority表示规则的优先级,即当文本匹配到多个规则时,根据高优先级的规则确定是否为因果关系,若是,标记出因事件和果事件的位置。
2)因果事件提取(因事件和果事件)
详情:在新闻标题中,由于简单的名词或者名词短语大部分情况无法有效表示出因事件和果事件的内容,本文将因事件和果事件表示成原顺序的动词名词序列。
3)因果关系抽象化
详情:根据具体因果关系发现抽象的因果关系模式,并构建层次因果关系网络(底层为具体的因果关系,顶层为抽象的因果关系)
具体做法:
a) 因事件和果事件抽象化。
详情:使用wordNet的上位词代替具体事件中的名词,VerbNet中动词对应的类型代替具体事件中的动词
b) 生成具体的因果关系到抽象的因果关系的对应关系。
详情:若具体的因果事件之间存在因果关系,则相应的抽象事件之间也存在因果关系。如图所示
- Network embedding
详情:使用层次因果网络训练dual cause-effect (Dual-CET)模型,考虑了三个特征:
1) 不对称(区分原因事件和效果事件)
2) 多对多(可以找到果事件的多个因事件和因事件的多个果事件)
3) 传递(捕捉长事件的因果关系,指因果关系链)
设计的代价函数:假设正确的因果关系代价函数值比不正确的因果关系的代价函数值小
C表示因事件,e表示果事件,公式的前半部分表示一个因事件对应多个果事件,后边部分表示一个果事件由多个因事件导致。
训练更新模型参数依据:
c’和e’分别表示假的因事件和假的果事件。基于代价函数,学习训练数据中的因果关系,使代价函数尽可能小,即真因果关系的代价小于所有假的因果关系的代价。
设计的损失函数 :
P+表示正的训练样本,P-表示负的训练样本,γ>0,该参数是正样本和负样本的,α>0
通过随机梯度下降执行优化,规定每个事件X的模长为1(防止过拟合)