人工智能正處于非?;馃岬臅r期,自然語言處理(NLP)領(lǐng)域也令人興奮了十年。在閱讀理解、語言翻譯和創(chuàng)意寫作等復(fù)雜的任務(wù)上,計算機的表現(xiàn)將會和人類一樣出色。語言理解能力受益于免費的深度學(xué)習(xí)庫(如Pytext和BERT這樣的語言模型),大數(shù)據(jù)(Hadoop,Spark,Spark NLP),以及云計算(提供GPU和與服務(wù)商的NLP服務(wù)功能)。
目前市面上做自然語言處理領(lǐng)域的公司有:騰訊、科大訊飛、微軟、思必馳、華為等。在醫(yī)療領(lǐng)域,一些應(yīng)用已經(jīng)從科幻小說變?yōu)楝F(xiàn)實。人工智能系統(tǒng)通過了中國和英國的醫(yī)學(xué)執(zhí)照考試 ,而且它們比普通醫(yī)生考得更好。最新的系統(tǒng)比初級醫(yī)生能更好地診斷出55種兒科疾病。但是,這些系統(tǒng)比第一批計算機視覺深度學(xué)習(xí)應(yīng)用中的一些更難構(gòu)建,因為它們需要具有更廣泛常見的醫(yī)學(xué)知識,要處理更多種類的輸入,并且必須理解上下文。
自然語言處理由自然語言理解(NLU)和自然語言生成(NLG)構(gòu)成。NLG是計算機的“編寫語言”,它將結(jié)構(gòu)化數(shù)據(jù)轉(zhuǎn)換為文本,以人類語言表達。即能夠根據(jù)一些關(guān)鍵信息及其在機器內(nèi)部的表達形式,經(jīng)過一個規(guī)劃過程,來自動生成一段高質(zhì)量的自然語言文本。如今的數(shù)據(jù)量巨大,人們根本處理不過來;NLG把數(shù)據(jù)人性化,幫助人們處理。
NLG系統(tǒng)使用數(shù)據(jù)分析和人工智能技術(shù)來分析復(fù)雜的數(shù)據(jù)集,并采用計算語言學(xué)技術(shù)在高品質(zhì)的文字說明來交流分析結(jié)果。NLG的工作原理:輸入抽象的命題,然后對你輸入的自然語言進行語義分析、語法分析進行語言組織然后生成無限接近你想要的文本。例子:輸入麥當(dāng)娜,接下來通過NLG自然語言生成:麥當(dāng)娜 “歌星”
NLG可以用來幫助患者,讓他們了解自己的健康狀況,并對自身的醫(yī)療保健作出更好的選擇;NLG還可以幫助患者更好地照顧自己:包括改變生活方式、自我管理慢性疾病、并配合治療方案。
最重要的是用NLG來加強病人對病情的了解和支持病人,更好的作出治療方案。在系統(tǒng)構(gòu)建的實踐中,為中文構(gòu)建的現(xiàn)成的NLP庫和算法在醫(yī)療行業(yè)的這種“不同的語言”上會遇到各種挫敗。不僅是因為命名實體識別或?qū)嶓w解析模型會失敗,甚至像符號化、詞性標(biāo)注和句子分割這樣的基本任務(wù),現(xiàn)成的模型對大多數(shù)醫(yī)療行業(yè)的句子都沒用。
再者醫(yī)療行業(yè)有數(shù)百種語言,千萬不要去建立通用的醫(yī)療NLP系統(tǒng)?,F(xiàn)實是,每個子專業(yè)和它的溝通形式都和別專業(yè)根本不同,你根本無法做到統(tǒng)一通用。而且,每個醫(yī)學(xué)專業(yè)都有很多變化。例如,對于決定是否批準(zhǔn)針對MRI的預(yù)授權(quán)請求,針對植入式脊髓刺激器,需要從預(yù)授權(quán)表格中查看的項目內(nèi)容就和別的請求完全不同。另一個例子是在病理學(xué)中使用不同的術(shù)語來討論不同類型的癌癥。
這些對實際問題會帶來影響:我所工作的公司正在進行一個項目,該項目需要訓(xùn)練不同的NLP模型,以從病理報告中提取有關(guān)肺癌、乳腺癌和結(jié)腸癌的事實。到目前為止,亞馬遜的Comprehend Medical僅關(guān)注藥物價值的正規(guī)化(參見上面最后一個“阿司匹林”的例子)。該服務(wù)還具有標(biāo)準(zhǔn)的醫(yī)療命名實體識別功能,但不能滿足任何特定應(yīng)用的需求。
構(gòu)建一個AI系統(tǒng)有一種方法是從構(gòu)建標(biāo)注驗證數(shù)據(jù)集。例如,如果你對自動化門診病例成ICD-10編碼感興趣,請讓臨床醫(yī)生定義一些代表性樣本,對樣本進行脫敏,并讓專業(yè)的臨床編碼人員對其進行標(biāo)注(分配正確的代碼)。如果你有興趣從放射學(xué)報告中提取關(guān)鍵事件或從患者病例中找出被忽視的安全事件,請首先讓臨床醫(yī)生定義一些樣本,并正確標(biāo)注。
這樣做通常會在讓數(shù)據(jù)科學(xué)團隊加入(并浪費很多時間)前提前發(fā)現(xiàn)一些“坑”。如果你無法獲得足夠的數(shù)據(jù),或者無法大規(guī)模地進行脫敏,那就無法構(gòu)建可靠的模型。如果在某些情況下臨床醫(yī)生不能一致同意正確的標(biāo)注,那么要解決的第一個問題是就臨床指南達成一致,而不是讓數(shù)據(jù)科學(xué)家參與嘗試去自動化這種不一致。
最后,如果你發(fā)現(xiàn)自己面臨非常不平衡的類別(比如你尋找的是每年只有少數(shù)人患病的情況),那么在引入數(shù)據(jù)科學(xué)家之前修改問題的定義可能是明智之舉。標(biāo)注的驗證集以及數(shù)據(jù)集其目標(biāo)是使用標(biāo)準(zhǔn)庫或云服務(wù)來發(fā)現(xiàn)它們能達到的滿足用戶特定需求的最高準(zhǔn)確度。這樣做就可以評估下面每項服務(wù)的難易程度,包括:訓(xùn)練自定義的模型、定義領(lǐng)域?qū)S械奶卣?、解決方案所需的pipeline步驟和把結(jié)果解釋給客戶。
一旦有了一個有代表性的和已商定并正確標(biāo)注的驗證集,你就可以開始用它來測試現(xiàn)有的庫和云服務(wù)提供商的服務(wù)了。很可能的是,這個測試將立即發(fā)現(xiàn)每個產(chǎn)品與你的需求之間的差距。