Commonsense Causal Reasoning between Short Texts

Commonsense Causal Reasoning between Short Texts

Abstract

1 Introduction

为了进一步说明常识性因果推理问题,我们提出了一个来自COPA(Choice of Plausible Alternatives)评估(Roemmele, Bejan, and Gordon 2011)的问题,COPA由1000个需要常识性因果推理才能正确回答的多项选择题组成。具体来说,每个问题都由一个前提和两个选项组成,任务是选择更可信的选项作为前提的原因(或结果)。

2 Approach

引言

  • 为了推理短文之间的因果关系,作者的框架包括以下几个部分

    • i) 从大型网络语料库中提取的词间因果关系共现加权的因果关系网络
    • ii) 基于该网络的一个新的用来计算任意两个项之间的因果强度的策略
    • iii) 一种简单的算法,用于合计术语之间的因果关系,用来计算包括短语和句子在内的短文本之间因果关系推理的总得分

2.1 Causality Network

  • 因果关系由自然语言文本表达,并可以通过称为因果线索的语言模式来识别(Chang and Choi 2004)。考虑以下句子

    • The [storm]CAUSE [caused]PATTERN a tremendous amount of [damage]EFFECT on the landing beaches

      • 暴风雨给登陆海滩造成了巨大的损失
    • The team prepared GIS precipitation and contour maps of the area identifying the [flooding]EFFECT and landslides [caused by]PATTERN the [rainfall]CAUSE.

      • 该小组编制了该地区的GIS降水和等高线地图,确定了降雨引起的洪水和滑坡
    • However Susanoo was in [sorrow]EFFECT after the [loss]CAUSE of his mother and he was raging in his kingdom.

      • 然而,Susanoo在失去母亲后感到悲伤,他在他的王国愤怒。
  • 在句子1中,'storm' 是 'damage'的原因,‘damage’是‘storm'的影响。我们利用表1中所示的因果线索(causal cues(causal patterns))来为我们的因果知识确定原因和结果的角色。例如,"A cause B"是一个句子内的因果线索,其中,A是一个代表原因的文本跨度(text span),B是一个代表影响的文本跨度。我们设置了文本跨度A和B的最大长度L(实验中设置为10),以防止提取偏离因果线索太多的噪声对。文本跨度可以是一个术语、一个短语或一个句子。当然像"If A then B"的话语线索也是。表1展示了本研究中使用的53个句内线索和话语因果线索。我们从大量的web语料库中提取出所有的这些模式,在经过词形还原后,将A当中的每个作为原因的词 i 标记成 ic,B当中每个作为影响的词 j 标记成 je ,i和j两两配对,形成一个因果对(ic,je)列表作为因果证据。因此从句子1中我们可以收获以下因果证据:(storm[c],tremendous[e]),(storm[c], amount[e]), (storm[c], damage[e]), (storm[c], landing[e]), and (storm[c], beach[e])。在这个过程中,我们去掉了停顿词,只保留了WordNet中涉及名词、动词、形容词和副词的对。

    Commonsense Causal Reasoning between Short Texts

  • 我们提取出的因果对形成了一个关于因果关系的有向网络。网络中的节点是经过词形还原后的词,两个词之间的有向边表示因果关系。一个包含三个词的因果网络的框架如图1所示。每条边都标注了因果关系的共现情况,即该因果关系在语料库中被观察到的次数。

    Commonsense Causal Reasoning between Short Texts

  • 我们选择以一种相当简单的方式提取术语对,而没有进行更深入的句法分析,因为 i)我们选择了因果知识的广度,因此输入语料库非常大(约10TB),因此无法对文本进行深度解析; ii)由此获得的术语对的绝对数量为我们区分真实因果关系与虚假因果关系提供了极好的统计数据

2.2 Causal Strength Computation

  • 文本语料库既可以显式编码因果关系,也可以隐式编码因果关系。明确的因果关系在文本中通过因果模式或因果标志来表示(例如,cause, because)。隐式因果关系在没有因果标志的话语中自然地被编码,例如A在话语中出现在B之前,意味着A是B的原因,这就更加复杂和难以识别。例如,句子(1)和(2)使用因果模式显式编码因果关系,而句子(3)编码隐性因果关系(loss[c],sorrow[e])。

  • Gordon等人(2011)利用Church(1990)描述的非对称PMI从个人故事语料库中收集隐式因果关系,以实现之前COPA任务中最著名的结果。直觉上,叙事通常是按照时间顺序描述一系列事件。较早出现的文本往往是前件,而较晚出现的文本往往是后件。因此,不对称PMI统计数据可以用来捕捉叙事文本(如个人故事)中隐含的因果关系。然而,虽然个人故事可能是隐性因果关系的一个很好的来源,但它们很难获得,而且规模有限。相比之下,使用更大的通用网络语料库可以用准确性换取高覆盖率,这是因为网络句子可能不遵循叙事模式。

  • 为了利用网络文本的规模和丰富性,我们用因果线索提取的因果关系共现情况来代替词汇共现,从而更恰当地模拟因果关系。词汇共现是弱的、内隐的因果证据,而因果共现由于因果线索的使用,是更强、更明确的因果证据。因果线索也有助于在强有力的因果证据中识别精确的因/果作用。

  • 在此基础上,我们提出了一种新的度量方法来衡量两项之间的因果强度,即因果关系的内涵综合了 必要性因果关系 和 充分性因果关系。

    • 考虑一对因果(ic,je), 由(ic,je)编码的必然因果关系代表原因 i 必须存在才能产生结果 j,而由(ic,je)编码的充分因果关系代表 原因i 是导致 结果j 的全部原因

    • 例如,句子2中的因果关系(rainfall[c] , flooding[e])编码了更多的必然性因果关系,因为在大多数情况下,如果没有降雨这个引起洪水的原因出现,那么洪水这个结果就不会发生。类似地,句子(1)中的(storm[c], damage[e])编码了更多的充分性因果关系。

    • 直观上,必然性因果关系越强,p(ic|je)应该越大;充分性因果关系越强,p(je|ic)应该越大。

    • 我们能够计算出这样的条件概率,是因为我们根据因果作用来区分这些词。然而,频繁项更有可能被提取为原因或结果,这使得条件概率度量偏向于频繁项。因此,我们采用更一般的形式(带惩罚因子)对(ic, je)编码的必然性因果强度和充分性因果强度进行建模,分别如式(1)和式(2)所示。其中α是常数惩罚指数值。 我们遵循Wettler(1993),将α设置为0.66来惩罚高频响应项。

      Commonsense Causal Reasoning between Short Texts

    • P(ic),P(je)和P(ic,je)的计算方法如下:

      Commonsense Causal Reasoning between Short Texts

    • 其中,f(ic,je)是语料库中观察到的因果对(ic,je)的频率, M为证据总数,计算方法如下:

      Commonsense Causal Reasoning between Short Texts

      N是语料库的大小,W是因果网络中所有词的集合

  • 为了展示CSnec和CSsuf的效果,我们计算了SemEval-2010任务8中注释的因果对的必要性因果关系 和 充分性因果关系。我们分别显示了CSnec/CSsuf和CSsuf/CSnec排名最高的必要因果关系和充要性因果关系,如表2所示

    Commonsense Causal Reasoning between Short Texts

  • 我们新的由(ic,je)编码的结合CSnec(ic,je),CSsuf(ic,je)的因果强度定义如下:

    Commonsense Causal Reasoning between Short Texts

  • 上述度量模型既包含因果关系的必要性和充分性成分,也捕捉到了一种直觉,即当因果关系的必要性和充分性都很强时,因果关系的强度应该更强。这里,λ是一个参数,用于衡量从文本语料库中提取的必要性和充分性因果关系知识。理想的λ取决于知识来源和提取方法的特征,如我们在第3节中所示。我们根据式(6)计算因果网络中每一对项之间的因果强度。当网络中缺少一条边时,我们将因果强度赋值为零。

2.3 Commonsense Causal Reasoning

  • 为了计算候选项 a1 和 a2 哪一个关于假设p更加合适,我们需要比较总体因果强度CST(p,a1)和CST(p,a2),假设p问的是影响。这里,我们将文本T1到文本T2的因果强度计算定义为

    Commonsense Causal Reasoning between Short Texts

  • 我们认为,这种聚合术语间因果强度的简单方法可以有效地模拟短文本之间的因果关系。我们的直觉是,从两篇文章中提取的每一对术语都对两篇文章之间的因果关系做出了贡献。因为CS(ic, je)可能与一个概率(带有惩罚因素)密切相关,所以累加所有成对之间的因果强度类似于计算成对的析取概率。

  • 此外,在我们的因果关系模型中,每一个词,无论是作为原因还是作为结果,都作为一个积极的代理,对因果强度做出贡献,这个贡献要么在CSnec,要么在CSsuf中。(Furthermore, in our causality model, each term, whether in the cause role or the effect role, acts as an active agent in contributing causal strength, either in CSnec or CSsuf) 每一个原因词可能导致多个的结果词,而每一个结果词也可能由多个原因词引起。基于这一对多关系,我们将总因果关系评分由|T1| + |T2|归一化,即agent的总数,而不是以往文献中提出的|T1|×|T2|。

  • 构建因果关系网络的另一种方法是提取短语之间的因果对,而不是术语之间的因果对,因为存在复杂的事件(例如“catch cold”),不能用单个单词表达。然而,我们的经验发现,这种网络的有效性较低,因为频率往往被稀释,这是我们在第3节报告的,但是即使“catch cold”不在我们的网络中,我们可以更好地捕捉短语的因果关系,基于单个单词“catch”和“cold”的联合贡献。

3 Experimental Results

在本节中,我们首先给出了我们的语料库和提取的因果关系网络的一些统计数据,并且评估了在提取过程中使用的线索模式的数量和质量。然后,我们将COPA主要任务的结果与一些使用各种其他数据源和知识库的现有工作进行了比较。接下来,我们对使用ConceptNet4的数据的另外两个任务的因果推理进行评估,以进一步展示我们框架的强大功能。最后,我们使用SemEval-2010任务8的注释语料库证明了我们的网络识别因果方向的能力,尽管不知道输入词对的上下文。我们在http://adapt.seiee.sjtu.edu.cn/causal/上发布了这些实验中使用的评估数据。

3.1 Data Set and Extraction of Causality Network

  • 我们从包含大约16亿个网页的大型web文本语料(Bing的快照,约10TB)中提取出术语因果关系网络,在本节中为了方便起见,我们称其为“CausalNet”。我们从这个语料库中提取了62,675,002个不同的因果证据(例如CausalNet中的因果对或边)。这些证据的平均频次为10.54。这些证据中经过词形还原后独一无二的词(即节点)的数量为64436个,占WordNet中词语数量的41.49%(64436 / 155287)。

  • 作为比较,我们使用依赖关系(Chen and Manning 2014),如advmod和dobj,分别提取了一个“event-based” CausalNet。只有匹配这些关系并在语料库中出现超过2万次的双词短语才被认为是事件;否则,它们会被分成单词并像之前一样配对。这个基于事件的CausalNet边上的平均频率是1.59,比原先的CausalNet小得多,这将使我们的度量由于其稀疏性而不准确。因此,后续的实验是在基于词语的CausalNet上进行的。

  • 我们使用的53个因果线索可以被分成17组,每组都包含具有相同含义或引理形式但时态不同的线索。这些模式集上的因果证据分布如图2所示。蓝色条形图(左边)表示不同对的数目,橙色条形图(右边)表示总的成对数。像“if”和“because”这样的句子间线索收获了最多的配对。但是更特殊的模式,如“reason”和“inasmuch”,会发现更多不同的对,因为与提取的总对相比,不同对的数量相对较大。我们用明显对数与总对数之比来表示这种多样性,图2中用灰线表示这种比例。

    Commonsense Causal Reasoning between Short Texts

  • 为了评估因果线索的质量,我们使用概念网(ConceptNet)(Liu and Singh 2004)中手工标记的因果事件作为ground truth。ConceptNet 4包含74,336个未词形还原的英语单词,形成375,135个独特的概念,这些概念由610,397条关系边连接。只有其中一些关系可以编码成因果知识,如“Causes”、“CausesDesire”和“HasPrerequisite”。这种因果关系的总数是52,778。每个因果关系也与志愿者的投票有关。那些与正面投票相关的配对被标注为因果对(例如(听音乐,放松)),而与负面投票相关的配对被标注为错误的因果对(例如(听音乐,苏打水))。

  • 因为ConceptNet包含短语和单词,如果至少一个词u在x和另一个词v在y中形成了因果对(uc,ve),并且词语可以根据该线索从网络语料库中提取出来,我们认为一对(x, y) (x和y是文本跨越(text span))被因果线索覆盖。( Since the pairs from ConceptNet contain phrases and not just words, we consider a pair (x, y) (x and y are text spans) to be covered by a causal cue, if at least one word u in x and another word v in y form the causal pair (uc, ve) which can be extracted word by that cue from the web corpus.)图3显示在一般情况下,我们的线索可以有效地区分正因果对和负因果对。

    Commonsense Causal Reasoning between Short Texts

3.2 End-to-end Evaluation on COPA

  • COPA任务由1000个常识性因果推理问题组成,分别分为发展问题集和500个测试问题集。不正确的候选项是故意设置的,并且在语义上接近于前提,这使得纯粹的联想方法的任务更加困难。在这个实验中,我们的参数λ在开发集上进行了训练。所有报告的结果都在测试集上。

  • 为了显示我们的因果强度度量(称为CS)的有效性,我们将COPA上的端到端结果与网络语料库上最知名的PMI统计数据进行了比较。为了用PMI来解决COPA问题,我们将前提和可选项进行配对,选择具有较高PMI的可选项。

  • 针对不同的数据源(如web语料库和CausalNet),我们在COPA开发集上训练了CSλ度量。这意味着我们从网络语料库中基于词汇共现来计算CS,而从CausalNet中基于因果共现来计算CS。在训练期间,CSλ=0.9和CSλ=1.0在使用CausalNet时取得了相同的最佳效果,而CSλ=0.5在使用web语料库时在开发集上表现最好。然后,我们展示了这些训练后的CS指标在COPA测试分片上的性能。表3显示,CSλ=0.5在web数据上(64.8%)优于任何窗口大小的PMI。表3还比较了CSλ=1.0在CausalNet上与其他几种方法。PMI Gutenberg (Roemmele, Bejan和Gordon 2011)使用来自Project Gutenberg(16GB英语文本)的PMI统计数据。UTDHLT (Goodwin et al. 2012)是SemEval-2012任务7系统的结果。他们提出了两种方法。第一个是使用LDCGigaword语料库(840万个文档)中的PMI over bigrams作为特性。第二种方法将任务视为分类问题,并将第一种方法中使用的特征与一些额外的特征相结合,以训练SVM模型。概念网方法(ConceptNet)是我们自己的基线,用来说明人类策划知识的力量。在这里,我们在COPA句子中模糊匹配来自ConceptNet的事件或概念,然后通过与ConceptNet中的因果关系相关的分数(例如投票)计算两个COPA句子之间的因果强度。通过从与ConceptNet中因果关系相关的投票中计算两个COPA句子之间的因果关系强度,500个关于COPA测试拆分的问题中有23个与ConceptNet匹配,其中18个得到了正确回答。我们只是对不匹配的问题随机选择一个答案。最后一个PMI方法(Gordon, Bejan和Sagae 2011)也是之前最先进的方法(65.4%),它使用个人故事的大型语料库(37GB文本),窗口为25。根据COPA测试中500个问题的准确性对所有竞争的系统进行评估(Gordon, Kozareva, and Roemmele 2012)。结果表明,我们的新度量CSλ=0.9/1.0,当与自动收获的CausalNet一起使用时,在COPA任务上获得了显著更好的精度。

    Commonsense Causal Reasoning between Short Texts

  • 为了进一步说明网络数据量对常识因果推理的影响,我们随机抽取了20%、40%、60%和80%的网络语料库样本,构建了各种规模递增的因果网络。利用CSλ=0.9和CSλ=1.0的知识库进行COPA评价的精度如图4所示。我们可以观察到,数据的大小与推理常识因果关系的能力之间存在普遍的正相关关系。即使是100%,也就是我们可以得到的全部网络语料库,这种趋势没有减弱的迹象,这意味着,如果有更多的数据,结果可能会更好。图4中的曲线还显示了60%数据处的一个小凸起。这可能是由于数据分布的随机性(例如,包含特定类型的网页),并且不会改变我们框架的整体可伸缩性。

    Commonsense Causal Reasoning between Short Texts

  • 当使用隐式因果证据计算因果强度时,网络数据在很大程度上是无偏的,因此因果证据被观察到的充要性和必然性因果关系大致相等。因此λ = 0.5是最好的结果。然而,当在CausalNet中计算CS时,因为CausalNet因为显式因果模式产生偏差,所以需要一个不同的λ。因为人们很少在文本中明确地陈述“A导致B”,当A明显地暗示B时,充足的因果关系很少从CausalNet中观察到,因此更大的λ值会给出更好的结果。

    Commonsense Causal Reasoning between Short Texts

3.3 Causality Detection

  • 因果关系检测,或识别文本中的因果关系是许多应用程序的重要任务,如事件预测、风险分析或决策支持(Mirza 2014)。为了显示我们在这方面工作的有效性,我们使用来自ConceptNet4的数据,在CausalNet上调查了以下两个研究问题。

    • 对于手动标记为因果(正数据)或非因果(负数据)的任意事件对,我们调查我们提出的因果强度得分是否清楚地将两者分开。
    • 受COPA的启发,我们从ConceptNet中选取具有相同前提的因果和非因果对,形成两个选择题,以评估CausalNet选择正确选项的能力。
  • 对于RQ1,我们使用来自图3的相同的200个因果和非因果事件对作为正数据和负数据。图5显示了随机索引的100对正对和负对的因果性得分CSλ=0.9和CSλ=1.0 (y轴)。我们可以看到,通过灰色线表示的线性函数y = 0.7,可以准确地区分正、负对得分。因此,现有的因果关系识别和检测系统可以结合我们的工作,以提高其准确性。

    Commonsense Causal Reasoning between Short Texts

  • 对于RQ2,由于对的稀疏性共享相同的前提,我们遵循(Erk 2007)中的伪消歧任务(pseudo-disambiguation task)。特别地,我们使用带有正面投票的原因关系(i, j),这样i是共享前提,j是一个正面的选择。然后我们生成一个负的选项j‘,该选项与i 没有因果关系并且是随机选择。由于ConceptNet没有详尽地标注所有可能的因果关系,因此随机选择的j'可能是真正的因果关系,也就是说,假阴性可能存在。在这种情况下,我们删除了涉及这种错误否定的问题,从而得到了一个412个问题的数据集,其中259个问题寻找结果,153个问题寻找原因。表5显示了不同CSλ使用CausalNet的结果。

    Commonsense Causal Reasoning between Short Texts

3.4 Direction of Causality

  • 给定一对因果相关的项i和j,CausalNet通常可以在没有上下文的情况下,判断因果关系是由(ic,je)还是(jc,ie)编码的。换句话说,正如我们接下来展示的,CausalNet提供了一个合理的因果关系方向的先验知识。我们使用SemEval-2010 Task 8的注释语料库来评估这一点。SemEval-2010 Task 8训练语料库中有920对标注为因果关系的术语。CausalNet覆盖了920对中的894对(97.2%)。SemEval数据集中的每个因果对注释如下:

    • Sentence:
      I too, get a headache from wine , and was always told that it was the sulfites.
      Relation:
      Cause-Effect(e2,e1)
  • 在上面的例子中,e1代表“headache”,e2代表“wine”。因果关系(e2,e1)表明这个句子中编码的因果关系是(wine[c], headache[e]),而不是(headache[c], wine[e])。我们可以从CausalNet的先验知识中获得这个有用的见解。我们简单地比较(ic, je)和CausalNet提供的(jc, ie)的因果强度。如果CS(ic, je) > CS(jc, ie)(λ = 0.5),我们得出因果关系由(ic, je)编码,否则因果关系由(jc, ie)编码。

  • 在SemEval-2010任务8中,CausalNet和注释的ground truth之间的一致性为80.1%,即SemEval的894对中有716对在CausalNet中找到了相同的因果方向的匹配对。表6显示了SemEval-2010 Task 8语料库中20个随机标注的因果对样本。其中10个被CausalNet匹配,其余的没有匹配。三名人类被雇用来标记这些配对是否遵循常识。如果至少有两名法官认为是这样,那么一对就被认为是常识。我们可以看到,左边一列中除了一对之外,其余的都是常识,而右边一列中的大多数都不是常识。这意味着,在CausalNet预测正确的地方,它实际上是由于常识的力量。另一方面,CausalNet的错误主要是由于在少量的案例中缺乏上下文,而不是因为所包含的知识是错误的。

  • Commonsense Causal Reasoning between Short Texts

首先讨论了之前从开放域文本中提取因果关系项对的工作。然后,我们提出了各种过去试图解决因果关系推理问题。

4.1 Causal Relation Extraction

4.2 Commonsense Causal Reasoning

5 Conclusion

本文提出了一种新型因果关系推理框架,该框架从大型网络语料库中自动获取因果关系词(或因果证据)的因果关系网络(CausalNet)。CausalNet是第一个(据我们所知)自动构建的基于图的因果关系知识库表示。这种数据驱动的方法可以实现包括长尾因果关系在内的高覆盖率。然后,我们提出了一个新的度量,利用充分性和必要的因果证据来建模术语之间的因果强度。这些术语之间的度量可以被聚合,用来确定短文本(例如,短语和句子)之间的因果关系。我们的评估结果验证了我们提出的框架,它比以前解决竞争性SEMEVAL任务(称为COPA)的最佳方法表现得更好。

上一篇:AtCoder Regular Contest 116C - Multiple Sequences


下一篇:常用数据结构之堆