天天看點

關于醫療大腦、知識圖譜與智能診斷,這是最全的解讀 | 硬創公開課

關于醫療大腦、知識圖譜與智能診斷,這是最全的解讀 | 硬創公開課

雷鋒網按:本文整理自康夫子創始人張超在雷鋒網(公衆号:雷鋒網)硬創公開課上的演講,主題為“智能診斷與醫療大腦”。

張超:康夫子創始人,前百度自然語言處理部資深研發工程師、文本知識挖掘方向負責人;知識圖譜、實體模組化方面專家;畢業于電子科技大學計算數學專業、新加坡國大多媒體搜尋實驗室研究助理。

以下為公開課内容:

雷鋒網:簡單介紹一下康夫子所做的事。

張超:讓計算機去閱讀醫療文獻,建構知識庫,賦予這些知識庫一些推理能力,最後達到輔助醫生、患者的目的。

在産品次元,分為面向患者和醫生;醫生端分為全科與專科醫生。它們的底層是相似的,都是知識圖譜加推理,不過上層應用有差别。患者偏重邏輯問答,包括患者語言的了解;全科醫生要求知識面,而專科則要求臨床路徑監控,包括醫囑的下達。

現在我們的産品主要用在醫療機構這樣的b端,主要提供醫學輔助,不做診斷,結論由醫生把關,供患者參考。

雷鋒網:醫療大腦包括什麼,可以具體解釋下嗎?

張超:醫療大腦是個比較籠統的稱呼,簡單來說是一種知識庫,加上基于此的邏輯推理和計算。它可以泛指醫療從業人員的智慧總和。具體點說,它具備診斷、治療的能力,可以獨立提供用藥輔助、分診導診、健康咨詢等服務,也可以高品質的輔助醫療從業人員完成某項工作。

對我們的醫療大腦來講,患者醫療健康行為需要的能力、所有醫生行醫過程中的知識輔助能力我們都會着力去建構打造。

雷鋒網:相比百度的醫療大腦和ibm watson,康夫子的特别和差別是什麼?

ibm watson目前重點在惡性良性腫瘤領域針對醫生提供輔助決策功能。差別是,我們:

1. 現階段重點是針對常見的3000種病進行模組化; 2. 在服務對象方面,除了輔助醫生,患者輔助教育也是我們重要的服務對象; 3. 在醫生層面,我們的醫療大腦又分為基層全科醫生和大醫院專科醫生。

我們和watson的場景和方法不太一樣,它大的架構是問答、搜尋的架構,同時融入了多種feature(

知識圖譜)。我們整個醫療決策系統是基于知識圖譜做推理。技術上講,對惡性良性腫瘤這樣的疑難雜症,watson診斷用的次元非常高,但常見病的次元沒那麼高。這兩個方面帶來的挑戰不一樣,我們是從常見病入手,把服務的範圍也會擴大。

我們的醫療大腦和百度醫療大腦在某些方面有着相同之處,都緻力于輔助網民提供醫療資訊服務。差别是:

1. 在資料次元,百度醫療大腦資料來自百度醫生app上醫患之間交流資料;我們的醫療大腦定位在醫療級産品,知識圖譜建構資料來自權威的醫療文獻和電子病曆資料。 2. 在做事的路徑上,也存在着很多不同,我們作為一家初創型公司,會選擇更适合其發展的路徑。

雷鋒網:目前國内做智能診斷的現狀是怎麼樣的?

從時間上分,有傳統派和新興派。傳統派是指類似決策樹專家系統,知識庫依靠專家建構,診斷邏輯也基于專家書寫的roadmap等等。新興派是指利用ai技術,利用計算機從海量文獻資料中建構知識圖譜,并根據曆史經驗自動學習診斷邏輯。

從類型上分,有基于文本從症狀、化驗入手做智能診斷的,也有基于圖像從ct圖檔入手做智能診斷的。

傳統派的診斷系統,受限于知識庫的規模和複雜的醫學邏輯表示,疾病的覆寫率和診斷的準确率都不夠高。新興派在這塊整體上要好于傳統派,但由于研發時間短,目前仍無法達到可用狀态。

整體上智能診斷還處于初期,目前沒有可以實作大規模商用。

雷鋒網:智能診斷最重要的技術挑戰又是哪些?非技術上的挑戰呢?

技術上,我們現階段認為智能診斷的底層核心是知識圖譜,診斷的過程是基于知識圖譜實作的推理過程。知識圖譜的規模從根本上決定了智能診斷的瓶頸。另外就是應用上的挑戰,智能診斷不管服務誰,在應用場景上有很大的差别,要有針對性地提升效果。

在非技術上,重點要讓老百姓及醫療機構認可或了解這套診斷邏輯。

雷鋒網:做好智能診斷的标準主要是哪些?應該包括哪些主要内容?

籠統地說,好的标準要靠效果說話,也就是說:

診斷的準确率要高; 整體過程可解釋、可幹預,可以讓醫生等專業人士随時幹預; 可以輸入多種類型資料(除了症狀,還有用藥史、化驗檢查、誘因、遺傳史、個人史等等); 另外不同服務對象的診斷系統标準也是不一樣的,比如,如果智能診斷是用來服務醫生,除了核心診斷能力,還需能結合醫生所在醫院科室的醫療習慣。

如果智能診斷用來服務患者:

1. 需要做患者語言了解,因為患者描述的語言和醫學語言有着較大的差異; 2. 要像醫生那樣思考,同患者互動,擷取對診斷有益的資料。

雷鋒網:對你們來說,做智能診斷,資料來源和擷取方式有哪些?

對康夫子來講,資料主要來自如下三大方面:

權威的醫學文獻,如:醫學資料、診療指南、以及相關論文;  病曆資料; 網際網路擷取科普資訊、醫患問答資料等。

前兩部分資料用來建構知識圖譜,訓練診斷邏輯。網際網路資料主要用來做患者語言了解,患者可能會有一些不标準的描述,比如“感覺身體被掏空”,這些詞在醫學上沒有對應的比對,需要計算去了解。

雷鋒網:有的醫學文獻,經驗證是與事實存在偏倚的,有的甚至是錯誤的,這個問題怎麼看?

錯誤是肯定有的,但我們在整個過程中要想辦法降低并消除這種錯誤。大概有如下思路:

1. 相信更新知識,相信更權威的知識; 2. 因為知識是通過知識圖譜表現出來的,是以,可以針對知識圖譜進行一些推理計算,及早發現某些沖突,進而安排人工稽核校對; 3. 在整個計算過程中,也可以加入大量的容錯機制。相信知識的統計分布,假設學習樣本中,錯誤的知識畢竟是少數,通過一些排序政策進而降低錯誤知識展現的機會。 

雷鋒網:資料訓練上,是否與影像診斷一樣,存在優質資料擷取和資料标注上的障礙?

醫學ai相對于其它領域來講有着天然的資料優勢。大量的病例資料/影像資料就是很好的訓練資料。

這裡面的難點在于資料的擷取、預處理、結構化和模組化。另外,目前能看到的病曆資料很複雜,多數做ai診斷的,很少有團隊用門診病曆,多數用的都是住院病曆,而住院病曆是很複雜的,如果服務于c端使用者,這類資料就不太合适了。

個人認為,智能醫生或者影像解讀,現階段都有着充足的資料供訓練。比如,在病例或者文獻上,醫生在無結構化文本種已經變相做了标注,如:“大葉性肺炎通常表現為咳鐵鏽色痰”,一個醫學影像也有專家解讀成文本資訊供使用。資料次元難在從這些大量的資料中提取出優質資料。

雷鋒網:如果說醫學上隻要有充分的多元度知識,就能在輔助決策上做一些事,那之前智能診斷不算流行的原因是哪些?是否是有哪些技術上的進步?

我認為主要在于2個層面:

内因上,效果離輔助人還差強人意,專家系統很少能實際應用起來; 外因上,目前的大環境讓ai聚焦了很多目光,進而加速相關産品的研發。

在技術上,悲觀來看近幾年沒有多少進步。隻是前些年,人工智能和自然語言處理多在大公司和研究院使用,而現在有很多優秀人才流入到創業公司。

雷鋒網:目前較為火熱的深度學習,用處不算太大?

深度學習目前在nlp領域取得的成績,比不上在多媒體領域取得的成績。康夫子目前主要基于深度學習做一些患者語言了解方面的工作,不排除未來會拓展到更多的場景中去。

至于将深度學習用于clinical

decision

support這樣的專業領域,我覺得現階段不太合适。首先深度學習是個黑盒,讓人感覺不可信,這是心理上的問題。在應用方法上也有很大難度,比如訓練資料并非完全準确,包括格式都有誤差。我認為短期内這是一個不斷研究的方向,但不能立馬産生效果。

雷鋒網:對于醫療資訊知識圖譜,可以具體解釋下嗎,具體指什麼以及作用如何?

通俗地講,知識圖譜就是結構化知識,它由實體及實體關系組成。

比如在醫療領域,實體次元包括疾病、症狀、檢查、檢驗、體征、藥品等等醫學名詞,甚至醫生、科室、醫院也可以納入範疇。關系是指實體間的關系,比如,針對疾病和症狀,關系可有“包含關系”,“不包含關系”,甚至“金标準關系”(比如,所有發炎都會帶來發熱,這就是金标準)。疾病和醫生可以定義“醫生擅長治療疾病”,醫生和醫院可以定義“歸屬于關系”等等。這些都是知識圖譜的構成。

我們在應用時,需要基于這些關系做推理,進而滿足上層應用,同時上層應用的需求也會指導知識圖譜的建設方向。比如,我們想幫助患者推薦醫生,那麼推理路徑大概分為:根據“症狀與疾病”的關系推測患者可能疾病,根據疾病和醫生的關系,為患者推薦醫生。

雷鋒網:公司建構的知識圖譜與醫生的知識結構之間差異大嗎?

首先知識圖譜的知識結構是專業人(醫生)定義出來的。醫生覺得,在診療過程中,我需要用到什麼知識,那麼就讓計算機去學習并構造這些知識。

醫生的知識結構可以舉一反三、演繹歸納,但現有的知識圖譜隻能機械的做一些事,并且在短時間内該部分技術很難取得較大突破。那麼在這種場景下,知識圖譜的積累和建構速度就顯得尤為重要,同時真實的應用場景不斷給知識圖譜提需求,那麼二者之間的差異也會逐漸縮小。機器是按照人制定的邏輯工作,而人是有聯想能力的。

雷鋒網:知識圖譜建構上有哪些經驗可以分享?

我從2010年加入百度,大部分精力在從事資訊抽取類工作,從中也積累了大量的實戰經驗。在資訊抽取(知識圖譜建設)上,我們的着眼點依次是:

快,因為醫療知識圖譜有上千種關系,處理速度要快; 準确率高; 覆寫率高,比如要有足夠多的疾病與症狀的知識,才能分辨出疾病; 可控; 通用性強。

在這樣的标準下,我們比較推薦簡單粗暴可控的架構,即基于模闆的抽取。這類方法簡潔可控,容易冷啟動,準确率可控,通用性也不錯。不足是:模闆産生困難、覆寫率不高,而且容易産生語義漂移,需要做邊界控制,最後是計算複雜度高。這是目前這種計算架構的優劣。

在建構中,我們首先攻克計算性能問題,即在做pattern learning時,如何做快速計算、篩選,給每個pattern打分,這是計算性能問題。

然後我們通過pattern協作,搞定便捷控制和語義漂移。最後是把大量的精力放在pattern learning上,同時加大資料量提升覆寫率,并引入bootstrapping機制提升召回。這是我們認為目前比較好的解決方案。

目前也有一些基于pattern做的解決方案,但往往偏人工,不成體系,通用性也較差。

另外,我們主要做從無結構化文本抽取,一些類似html的半結構化資料比較容易,但是有深度的知識覆寫面很少。這塊有不少工作,有興趣的話,也可以經常關注一些ie方面的論文,有很多新奇的想法。

雷鋒網:康夫子可以做到知識規律的自動發現,這個是如何做到的?

這裡的知識規律發現其實就是上文說的pattern learning。人們是按照一定書寫方式來描述知識的,資料量越大越能展現出書寫的文法及結構。康夫子的一個核心技術即針對要抽取的知識從海量文本中學習這種知識的描述方式。

關于醫療大腦、知識圖譜與智能診斷,這是最全的解讀 | 硬創公開課

上圖是計算機閱讀海量文獻,針對某種知識總結出上萬條書寫規律然後進行抽取。如針對“疾病<—>症狀”的關系,文獻中描述方式為:“(x疾病)的症狀有(y症狀)”,“(x疾病)臨床表現為(y症狀)”,“(x疾病)容易引起(y症狀)等不适症狀”等等。

在技術次元,較多層面是我們原創的技術,我們定義一個好的規律,既要展現出不同文本之間的區分性,又要能夠盡可能的比對到相似文本,另外還要追求量和簡潔性。在這個目标限制下,剩下的就是求解優化的問題了。

雷鋒網:智能診斷中的邏輯推薦可以具體解釋下嗎?具體的挑戰是什麼?

這個是智能診斷和醫生診斷最為根本差異的地方。

我們認為,當輸入資料一樣時,機器是可以完全比人做的好。比如,給定相同的若幹組症狀、若幹輔助檢查資料,機器診斷是可以輕松超過人的,因為這時候診斷的過程本質上是個搜尋的問題,人腦的計算量和記憶程度在特定任務下是比不過機器的。

但是,醫生的優勢在于,不可思議的聯想能力,可以幫助他更好地擷取對診斷有用的資料。還是針對上面症狀+檢查資料,當醫生診斷不确信時,他可以從病理或者曆史經驗去聯想新的資料特征,進而輔助診斷。而對于機器來講,聯想能力基本為零。

是以說,邏輯這塊是機器智能診斷的一個重要攻克方向:

1. 它需要不斷的建構底層知識圖譜,不斷地逼急醫生的知識架構; 2. 用大量的臨床資料去訓練知識體系之間的關系,也就所謂的“聯想能力”,進而更好地擷取資料,支撐診斷; 3. 在具體問診方法次元,機器目前還非常生硬,這點也被我們放在邏輯次元。

雷鋒網:康夫子的産品投入應用後,有沒有不滿意的方面?

如果讓我們給我們自己的産品打分,100分是非常滿意,應用效果等同于所有科室的專家診斷總和,我們現階段隻能打到40分,而同時市面上其它類似産品很少能超過30分。

這裡的不及格除了在知識圖譜次元還不夠完善,另外就是這個産品目前還隻能按照既定方式去完成某些任務,而在真實的診斷場景中,“知識聯想、了解使用者”是非常重要的環節。

當然,現階段康夫子智能診斷還比較年輕,我們花了不到半年的時間已取得非常不錯的效果,也正是因為各種不滿意才促使我們的系統更加迅速的疊代。

本文作者:張馳

繼續閱讀