論文閱讀_醫(yī)療知識圖譜_GraphCare

英文名稱: GraphCare: Enhancing Healthcare Predictions with Open-World Personalized Knowledge Graphs
中文名稱: GraphCare:通過開放世界的個性化知識圖增強醫(yī)療保健預測
文章: http://arxiv.org/abs/2305.12788
代碼: https://github.com/pat-jj/GraphCare
作者: Pengcheng Jiang, Cao Xiao, Adam Cross, Jimeng Sun, 伊利諾伊大學
日期: 2023-05-22

1 讀后感

來自 230825 學習會小丁分享

之前做醫(yī)療知識圖譜和醫(yī)療預測時,最困難的問題包括:

  • 如何結(jié)合現(xiàn)有的數(shù)據(jù)和知識
  • 非結(jié)構(gòu)化的文本類知識如何與數(shù)據(jù)結(jié)合
  • 知識圖結(jié)構(gòu)如何設計,如何使用
  • 如何引入時序的邏輯
  • 如何使用大模型的知識和常識

不僅醫(yī)療領域,這些問題幾乎存在于所有領域的建模。論文 GraphCare 對此進行了探索。這里只展示了不同知識圖的優(yōu)化效果,實際工作中,知識圖生成的患者描述特征還可以與患者的檢查,檢驗信息結(jié)合,使模型達到更優(yōu)的效果。

2 介紹

文章主要針對的問題是:如何結(jié)合 患者情況醫(yī)療知識 做出醫(yī)療預測。這里的醫(yī)療知識來自知識圖譜,文章提出的改進主要針對知識圖譜部分。包括以下三點:

  • 使用大模型中的知識填充圖譜中的知識盲區(qū)(題目中的 Open-world 概念)。
  • 設計了針對個人的知識圖譜結(jié)構(gòu)。
  • 提出了雙向注意力增強 (BAT) 圖神經(jīng)網(wǎng)絡 (GNN) 。
    數(shù)據(jù)使用 MIMIC 3/4,主要針對:死亡率、再入院、住院時間和藥物建議 進行預測,與GNN相比幾種預測的AUROC均有提升,且使用更少數(shù)據(jù)就能建模。

3 方法

3.1 生成特定概念的知識圖

這里的特定概念指的是醫(yī)療代碼 e ∈ {c, p, d},三個字母分別代表:診斷、治療和藥物。對每個醫(yī)療代碼,提取其知識圖 Ge = (Ve, Ee),其中V是結(jié)點 E是邊。

3.1.1 建圖

使用兩種方法建圖:

  • 使用自然語言大模型構(gòu)建
    調(diào)用大模型,主要技術(shù)是設計提示模板,解析模型的返回結(jié)果,以及填充圖。模板由三部分組成:指令(讓模型做什么)、示例(返回結(jié)果什么樣)、提示詞(具體見附錄C.1);返回得到頭實體,關系,尾實體的三元組;對于每個醫(yī)療代碼,運行χ次,構(gòu)造其知識圖。
  • 從現(xiàn)有知識圖中取子圖構(gòu)建
    為更好利用現(xiàn)有知識和知識圖,通過子圖采樣提取醫(yī)學代碼的特定概念圖。先識別現(xiàn)有生物醫(yī)學知識圖譜中與醫(yī)學代碼 e 對應的實體,然后隨機采樣源自實體的 κ 跳子圖(具體見附錄C.2)。

3.1.2 對點和邊聚類

使用文本構(gòu)建的圖,常會出現(xiàn)同概念對應多個描述的問題,這里使用聚類方法,合并概念。通過大語言模型,可以得到文本的嵌入,使用嵌入分別對結(jié)點和邊聚類。

對全局圖中相似的節(jié)點和邊進行分組所有概念(如圖-1所示)。經(jīng)過聚類后,將原始圖 G 中的節(jié)點 V 和邊 E 映射到新的節(jié)點 V′ 和邊 E′,獲得新的全局圖 G′ = (V′ , E′ ),并為每個醫(yī)療代碼創(chuàng)建一個新的圖 G′e = (V′e, E′e) ? G′。節(jié)點嵌入和邊嵌入由每個簇中的平均詞嵌入初始化。

4 生成患者知識圖

這里分兩個維度描述患者:患者醫(yī)療代碼(得了什么病,不只一種?。?,患者的多次就診。
針對每位患者,建立患者節(jié)點 P,并將其連接到圖中的直接醫(yī)療代碼。患者的個性化 KG 可以表示為 Gpat = (Vpat, Epat),其中 Vpat = P ∪ {V′e1 , V′e2 , ..., V′eω } ;由于患者可能多次就診,將患者 i 的訪問子圖可以表示為 Gpat(i) = {Gi,1, Gi,2, ..., Gi,J } = {(Vi,1, Ei,1), (Vi,2, Ei,2), ..., (Vi,J , Ei,J )} 。

4.1 雙向注意力增強圖神經(jīng)網(wǎng)絡

圖神經(jīng)網(wǎng)絡最終的輸出一般是用向量(數(shù)組)表征的結(jié)點,比如最終用數(shù)組描述每位患者的情況,然后將患者作為實例,數(shù)組作為特征 X,以最終目標(如:是否死亡作)為 y 代入模型訓練。以此實現(xiàn)對不同任務的預測。如果在訓練模型時加入患者的其它特征,如實驗室檢驗等數(shù)值型數(shù)據(jù),模型就同時支持了患者數(shù)據(jù)和知識。

圖神經(jīng)網(wǎng)絡的原理是聚合鄰域節(jié)點信息來表示當前節(jié)點,從而學習圖中的關系。相對于一般的 GNN 神經(jīng)網(wǎng)絡,文中提出了雙向注意力增強網(wǎng)絡(Bi-attention Augmented (BAT) GNN) 機制。具體方法如下:

  • 首先將詞嵌入轉(zhuǎn)換到隱藏嵌入減少節(jié)點和邊嵌入的大小,以提高模型的效率并處理稀疏問題。
  • 兩個注意力權(quán)重:一個關注子圖,一個關注子圖中的結(jié)點:
    \begin{array}{l} \alpha_{i, j, 1}, \ldots, \alpha_{i, j, M}=\operatorname{Softmax}\left(\mathbf{W}_{\alpha} \mathbf{g}_{i, j}+\mathbf_{\alpha}\right), \\ \beta_{i, 1}, \ldots, \beta_{i, N}=\lambda^{\top} \operatorname{Tanh}\left(\mathbf{w}_{\beta}^{\top} \mathbf{G}_{i}+\mathbf_{\beta}\right), \quad \text { where } \quad \boldsymbol{\lambda}=\left[\lambda_{1}, \ldots, \lambda_{N}\right], \end{array}
    患者 i 第 j 個訪問子圖中第 k 個節(jié)點的節(jié)點級注意力權(quán)重為 αi,j,k,患者 i 的第 j 次就診,表示為 βi,j;g 描述 患者 i 第 j 次就診是否涉及實體 k ,M是全局中的結(jié)點數(shù),N是最大就診次數(shù);W和b是待學習的參數(shù);λ是衰減系數(shù),用于描述:就診次數(shù)時間越接近,重要性越高。

參數(shù)的初始化利用了大模型返回的詞嵌入,Wα的初值根據(jù)節(jié)點嵌入與目標(如死亡)的cosine距離設定,即節(jié)點描述與目標詞義越相近,權(quán)重越高。最終計算出各個節(jié)點的隱藏層表示 h。
\begin{array}{l} \mathbf{h}_{i}^{G_{\text {pat }}}=\operatorname{MEAN}\left(\sum_{j=1}^{J} \sum_{k=1}^{K_{j}} \mathbf{h}_{i, j, k}^{(L)}\right), \quad \mathbf{h}_{i}^{\mathcal{P}}=\operatorname{MEAN}\left(\sum_{j=1}^{J} \sum_{k=1}^{K_{j}} \mathbb{1}_{i, j, k}^{\Delta} \mathbf{h}_{i, j, k}^{(L)}\right), \\ \mathbf{z}_{i}^{\text {graph }}=\operatorname{MLP}\left(\mathbf{h}_{i}^{G_{\text {pat }}}\right), \quad \mathbf{z}_{i}^{\text {node }}=\operatorname{MLP}\left(\mathbf{h}_{i}^{\mathcal{P}}\right) \quad \mathbf{z}_{i}^{\text {joint }}=\operatorname{MLP}\left(\mathbf{h}_{i}^{G_{\text {pat }}} \oplus \mathbf{h}_{i}^{\mathcal{P}}\right), \end{array}
這里又針對每位患者計算 hiG和HiP,J是就診次數(shù),K是訪問的節(jié)點數(shù),1iΔ,j,k ∈ {0, 1} 是一個二進制標簽,指示結(jié)點 vi,j,k 是否對應于患者 i 的直接醫(yī)療代碼。我理解:前者是對與患者相關的所有節(jié)點取平均 ,后者是對與患者直接相關的醫(yī)療代碼取平均。最終通過組合,使用z描述患者。

4.2 訓練和預測

對于每位患者,考慮其 t 次就診的數(shù)據(jù):{(x1), (x1, x2), . . . , (x1, x2, . . . , xt)}

  • 死亡率預測:利用患者前幾次就診預測未來是否死亡。
  • 再入院預測:根據(jù)患者前幾次住院情況預測患者 15 天以內(nèi)的再入院。
  • 住ICU時長預測:將問題定義為多分類,類別為: 1天內(nèi),1天,2天 ... 7天,一到兩周,兩周以上。根據(jù)本次及前幾次就診情況,判斷住ICU時長。
  • 推薦藥物:根據(jù)本次及前次就診,預測本次用藥,用藥可能為多種,因此定義為多標簽問題。

5 實驗

  • EHR 數(shù)據(jù),并使用公開的 MIMIC-III / MIMIC-IV 數(shù)據(jù)集。
  • 構(gòu)建知識圖譜,使用 GPT-4 作為大模型,UMLS-KG 作為現(xiàn)有的大型生物醫(yī)學知識圖。
  • 詞嵌入,使用了 GPT-3 嵌入模型。
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務。

相關閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容