1. 前言
从医学数据中得到因果知识是医学研究的核心问题之一。 在科技快速发展的今天,每天都有大量的医学领域的文本数据在发布,例如医学文献数据、诊断文本数据、医药健康论坛数据等。从这些文本数据中挖掘因果知识是非常有价值的工作。它可能有助于医学新知识的发现,有助于检测药物的副作用甚至在对因果知识确认后可以用于临床决策支持。例如,我们都知道通过临床试验来发现未知的药物副作用是非常困难且昂贵的。但是一些未知的药物副作用常常可以从在线医学论坛上通过因果挖掘得到。本章中所指的医学因果关系基本上是指医学文本中语义层面的因果关系。它们很有可能会被试验验证为真实的因果知识,也可能是还没被发现的因果知识或者是还没有证据支持的因果知识。真实确定的因果关系常常需要严谨的科学试验来验证。为了方便,在本章中我们就用因果关系或者因果知识来代表这种从文本中得到的伪因果关系。
前人在文本因果关系抽取这个问题上做了大量的工作。然而这些研究工作存在很大的局限性。首先,这些传统的因果关系抽取工作不能抽取跨句子的因果关系。在更广义的关系抽取上有一些跨句子抽取的工作,其中最具代表性的是Peng等人的工作,它利用Graph LSTMs来做广义上的跨句子关系抽取,但是这个工作中非常核心的技术文档图的构建严重地依赖句子间的句法和依存分析。其次,医学因果关系常常被隐式地表达,这种隐式的因果表达也需要因果推断。即便因果关系在文本中是显式表达的,显式的表达方式也各种各样。然而很少有工作利用因果推理来提高隐式和显式的因果关系抽取效果。第三,上面提到的这些工作只能从文本中抽取已经存在的因果关系但是不能推断出未观测到的或者新的因果关系候选。以上提到的前人工作的三方面缺陷也正是从文本数据中发现抽取和推断因果关系的主要挑战。
由于以上提到的前人工作中存在的一些局限性和挑战,一个非常自然的问题就是“是否可在单个句子和跨多个句子中抽取因果关系并且推断出未观测到的因果关系?”为了解决这个问题,我们提出了面向医学文本因果关系挖掘的三个线索。这三个线索既考虑到了文本信息也考虑到了结构信息。下面将对这三个线索进行详细的阐述。
图1 利用因果关系传递性进行因果关系推断的例子(food allergiespost nasal drip)
首先,受到哲学家休谟对因果评论的启发“如果两个对象是一对因果,那么它们应该总是共现的”,那么很自然的一个假设就是两个高频共现的医学实体比非高频共现的实体更有可能是一对因果关系。图1中的例子也展示了高频共现的医学实体更有可能是一个因果关系。
第二,传递性规则在识别因果关系时是非常有用的,尤其是那些从文本上找不到特别多支撑的因果关系对。Paul和Hall曾在他们的文章中提到“保证传递性是对因果关系分析的基本要求”。以图1中的因果对候选(food allergies→ post nasal drip)为例,它在文本实例中只出现了5次。这个频次在数量上是比较少的,但是如果给定因果关系对(food allergies → acid reflux)和(acid reflux →post nasal drip),推断出(food allergies post nasal drip)这个因果关系会非常容易。因此,因果关系的传递性规则对于确定那些有很少量文本支撑的因果关系非常有价值。那么研究如何利用这种传递性规则来从文本中挖掘因果关系是非常有趣的课题。同时,通过这种传递性规则就可以利用观测到的因果关系来推测未观测到的或者新的因果关系。
第三,因果关系常常包括领域相关词、因果触发词、因果连接词等在内的很特别的上下文词汇,例如help to improve、increase the risk of、is caused by等。然而,本章工作的目的是从所有的因果出现文本中寻找证据来发现因果关系而不只是单从某一特定的上下文文本中抽取每个因果关系。为了使用所有可能的上下文信息来发现因果关系,本章提出了两种建模因果关系上下文信息的方法:1)合成上下文;2)基于词向量表示的上下文。这两种方法以不同的方式来编码整个数据集上的上下文信息。
通过融合文本支撑证据和结构推断证据,上面提到的三个线索能更好地用于发现因果关系。首先,这三个线索中包含了文本的和结构的知识。因果对的共现信息和上下文信息都是文本知识而因果传递性规则是结构知识。第二,基于高频共现的因果关系识别更偏好那些高频共现的因果对,因果传递性规则就是用来识别那些很少文本证据但是遵从传递性规则的因果关系。第三,融入文本中的上下文信息能够过滤掉那些高频共现但不是因果关系的医学实体对。
为了把这些线索融入到一个联合框架中,本章提出了一个CausalTraid模型来把它们都融入到一个因子图模型中。具体来说,为了建模因果传递性规则本章把因果关系候选对构成的网络分割成大量的三元结构。每一个三元结构由共享一个对象的两个因果对组成。本章在这些三元结构上定义了不同的规则来编码因果对候选网络上的因果传递性。CausalTraid利用文本的和结构的知识来推断三元结构中的连接来进行因果关系挖掘。在两个不同的数据集上的实验结果表明1)CausalTraid在句子中和句子间的因果关系发现上非常高效;2)CausalTraid在识别隐式的因果关系具有非常强的能力;3) CausalTraid可以从文本数据上推断出未观测到因果关系并且可以产生新的因果关系假设。
2. 模型介绍
首先我们使用医学概念词典来匹配文本中的医学实体,并在设定的句子窗口中把医学实体组合成对,把包含一个相同医学实体的两个对组成一个三元结构,例如匹配出(A,B)和(B,C)这两个实体对,那么我们就可以生成一个三元结构(A,B,C)。因果关系推理就是在大量的这种三元结构中进行。
图2 三元结构中的因果关系传递性角规则
每个三元结构中进行因果关系推理是我们建模了三方面的信息:1、因果关联性信息;2、实体对上下文信息;3、因果关系传递性规则。在建模因果关联性信息上我们希望给互信息更大的、在文本中距离更近的、共现频次更多的实体对更高的分数。在建模因果关系候实体对的上下文信息时,我们提出了一个基于合成上下文的方法为每一个实体对候选构造了一个全局的上下文。避免了某一个特定句子错误表达的因果关系对实体对之间因果关系判断的干扰。在建模因果关系传递性上,我们建模了三元结构中的角规则和三合一规则。角规则是指图2所示的规则,三合一规则是指每个三元结构中只有确定两条边上存在因果关系时,才可能推断出第三条边上也存在因果关系。为了利用这三方面的信息在每个三元结构中进行因果关系的推理,我们提出了一个在每个三元结构上的因子图模型如图3所示。
图3 三元结构上因果关系推理的因子图模型
3. 实验
在实验部分我进行了4个方面的实验来验证我们提出的方法的能力。第一,验证CausalTriad从文本中推断出未观测到的因果关系并产生新的因果假设的能力;第二,验证CausalTriad在文本因果关系抽取上的能力;第三,验证CausalTriad跨句子抽取因果关系的能力;第四,验证CausalTriad抽取隐式表达的因果关系的能力。
具体的方法细节和实验结果请参见我们的论文CausalTriad: Toward Pseudo Causal Relation Discovery and Hypotheses Generation from Medical Text Data。论文下载地址http://ir.hit.edu.cn/~sdzhao/CausalTriad.pdf
参考文献
Sendong Zhao, Meng Jiang, Ming Liu, Bing Qin, Ting Liu. CausalTriad: Toward Pseudo Causal Relation Discovery and Hypotheses Generation from Medical Text Data. In ACM Conference on Bioinformatics, Computational Biology, and Health Informatics (ACM-BCB 2018), to appear.
本文来源于哈工大SCIR