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