讓機器「讀懂」放射學報告

讓機器「讀懂」放射學報告

來自專欄 我是程序員

摘要: 利用基於規則的NLP系統讓機器"讀懂"放射學報告,準確率比基於機器學習的NLP系統要高。

在Qure,我們建立了深度學習模型來檢測放射影像中的異常。這些模型需要大量的標記數據來學習診斷異常。因此,我們從醫院和門診放射中心收集了一個大型數據集。這些數據集包含相關的臨床放射學報告。

目前,當我們訓練深度學習演算法以識別放射學圖像的異常情況時,我們使用放射科的醫師報告作為最佳標準。這是目前最好的方式,因為這可以提供以百萬計的圖像以實現高精度的分類演算法。

這些報告通常以自由格式文本而不是結構化格式編寫。所以,為了從這些非結構化報告中自動提取結果,我們設計了一個基於規則的自然語言處理(NLP)系統。如下所示:

CT SCAN BRAIN - PLAIN STUDYAxial ct sections of the brain were performed from the level of base of skull. 5mm sections were done for the posterior fossa and 5 mm sections for the supra sellar region without contrast. OBSERVATIONS: - Area of intracerebral haemorrhage measuring 16x15mm seen in left gangliocapsular region and left corona radiate.- Minimal squashing of left lateral ventricle noted without any appreciable midline shift- Lacunar infarcts seen in both gangliocapsular regions- Cerebellar parenchyma is normal.- Fourth ventricle is normal in position and caliber. - The cerebellopontine cisterns, basal cisterns and sylvian cisterns appear normal.- Midbrain and pontine structures are normal.- Sella and para sellar regions appear normal.- The grey-white matter attenuation pattern is normal.- Calvarium appears normal- Ethmoid and right maxillary sinusitis noted IMPRESSION:- INTRACEREBRAL HAEMORRHAGE IN LEFT GANGLIOCAPSULAR REGION AND LEFT CORONA RADIATA - LACUNAR INFARCTS IN BOTH GANGLIOCAPSULAR REGIONS

這是一篇簡短的放射學報告,從中我們可以提取如下結果:

{ "intracerebral hemorrhage": true, "lacunar infarct": true, "mass effect": true, "midline shift": false, "maxillary sinusitis": true}

為什麼是基於規則的NLP系統?

基於規則的NLP系統可以解析無組織內容並對其進行組織。另一方面,基於機器學習(ML)的NLP系統則在大型數據集上訓練時自動生成規則。

與基於ML的方法相比,基於規則的NLP系統具有多重優勢:

1.臨床知識可以手動合併到基於規則的NLP系統中。然而,在基於ML的NLP系統中捕獲這些知識,需要大量的注釋。

2.基於ML的NLP系統自動生成的規則難以解釋。

3.基於規則的NLP系統可以容易地添加或修改,以適應系統中新目標的發現。4.以往的臨床報告分析報告表明,基於ML的NLP系統的結果不如基於規則的NLP系統。

基於規則的NLP開發

由於從多個中心收集了報告,因此有多個報告標準。因此,我們在手動讀取大量報告後構建了一組規則來捕獲這些變化。其中,我舉兩種常見的規則類型例子:

1.發現檢測

在報告中,同樣的發現可以用幾種不同的格式來記錄,這些包括同義詞的定義。例如,blunted CP angle可以通過以下任一方式表示:

1.CP angle is obliterated

2.Hazy costophrenic angles

3.Obscured CP angle

4.Effusion/thickening

我們收集了可用於報告調查結果的所有措辭,並為每項調查結果制定了一條規則。以下是blunted CP angle的規則。

((angle & (blunt | obscur | oblitera | haz | opaci)) | (effusio & thicken))

如果在一個句子中有angle 、blunted、effusion和thickening 或其同義詞,則該句子將滿足這個規則。

另外,研究結果可以有一個層次結構。例如,如有任何像edema, groundglass, consolidation等其他近似blunted CP angle的病理情況都可以被認為滿足規則。因此,我們還創建了一個關於處理這個層次結構的規則。

[opacity] rule = ((opacit & !(/ & collapse)) | infiltrate | hyperdensit) hierarchy = (edema | groundglass | consolidation | ... )

2.否定檢測 上述規則用於檢測報告中的發現。但這些不足以理解報告。例如,考慮以下句子: 1. Intracerebral hemorrhage is absent. 2. Contusions are ruled out. 3. No evidence of intracranial hemorrhages in the brain. 雖然intracerebral hemorrhage, contusion 和intracranial hemorrhage等詞語都是在上述句子中提到的。但是它們是不確定的,實際上應該不滿足上述我們提到的規則,可是由於存在相應的關鍵字,會造成干擾。因此,除了發現之外,我們還需要否定一些句子。 我們手動讀取幾個表示否定的句子,並根據它們的結構對這些句子進行分組。檢測否定的規則是基於這些句子創建的。其中一個如下所示:

(<finding>) & ( is | are | was | were ) & (absent | ruled out | unlikely | negative)

我們可以看到上述例子的第一句和第二句與這條規則相符,因此我們可以推斷出這些句子是否定的。

Intracerebral hemorrhage is absent ? intracerebral hemorrhage negative.

Contusions are ruled out ? contusion negative.

結果:

我們在一個數據集上測試了我們的演算法, 其中包含1878份頭部 CT 掃描的臨床放射學報告。我們手動閱讀所有的報告用來創造最佳標準。我們用靈敏度和特異性作為評價指標。所得結果如下表所示。

在本文中,作者使用基於ML的NLP模型來提取頭部CT臨床放射學報告的結果。他們報告的平均敏感度和平均特異度分別為0.9025和0.9172。在評估的目標結果相同的情況下,我們使用基於規則的NLP演算法,報告的平均敏感度和平均特異度分別為0.9841和0.9956。因此,我們可以總結基於規則的NLP演算法在臨床報告上比基於ML的NLP演算法表現更好。

數十款阿里雲產品限時折扣中,趕緊點擊領劵開始雲上實踐吧!

以上為譯文,由阿里云云棲社區組織翻譯。

譯文鏈接

文章原標題《Teaching Machines to Read Radiology Reports》

譯者:黃小凡,審校:袁虎。

文章為簡譯,更為詳細的內容,請查看原文。

更多技術乾貨敬請關注云棲社區知乎機構號:阿里云云棲社區 - 知乎

本文為雲棲社區原創內容,未經允許不得轉載。

推薦閱讀:

演算法 - 插入排序和希爾排序
單機事務不同隔離級別的並發問題整理
初級演算法—字元串
最大子數組問題
學點演算法之字元串的亂序檢查

TAG:TensorLayer深度學習庫 | 機器學習 | 演算法 |