技術(shù)
導(dǎo)讀:在真實(shí)的場(chǎng)景下,NLP后的數(shù)據(jù)業(yè)務(wù)應(yīng)用,由于準(zhǔn)確率的問(wèn)題還是需采取“人工智能+人工審核”的方式來(lái)做到雙重保險(xiǎn)。
【編者按】在真實(shí)的場(chǎng)景下,NLP后的數(shù)據(jù)業(yè)務(wù)應(yīng)用,由于準(zhǔn)確率的問(wèn)題還是需采取“人工智能+人工審核”的方式來(lái)做到雙重保險(xiǎn)。
本文發(fā)于e醫(yī)療,作者:孫立峰;經(jīng)億歐大健康編輯,供行業(yè)人士參考。
自然語(yǔ)言處理(Natural Language Processing,NLP),是指人與計(jì)算機(jī)之間,通過(guò)“說(shuō)人話式”語(yǔ)言進(jìn)行有效通信的各種技術(shù)和方法。由于語(yǔ)言的復(fù)雜性,處理的過(guò)程會(huì)涉及“理解”,因此NLP被認(rèn)為距離人工智能最近的任務(wù),也被稱(chēng)為“人工智能的皇冠”。
畢竟我們“人說(shuō)人話”有時(shí)候都很難,更別說(shuō)計(jì)算機(jī)了。
從臨床科研平臺(tái)信息化建設(shè)的發(fā)展歷程看,要想解決數(shù)據(jù)的完整性,就要通過(guò)ETL對(duì)多源多模態(tài)的數(shù)據(jù)進(jìn)行整合,也即整合不同廠商的DB,而且有些因?yàn)楦鼡Q系統(tǒng)原廠商已經(jīng)不再為醫(yī)院提供服務(wù)。一家醫(yī)院可能主流的數(shù)據(jù)庫(kù)ORACLE、SQLSERVER、MYSQL、DB2都有在用,市面上還有后關(guān)系型數(shù)據(jù)庫(kù)Caché。更換系統(tǒng)后,解決數(shù)據(jù)完整性的問(wèn)題,需要對(duì)歷史數(shù)據(jù)、生產(chǎn)數(shù)據(jù)全面整合。這也是為什么醫(yī)療公司的程序員們?cè)絹?lái)越吃香,被數(shù)據(jù)治理AI公司招攬得越來(lái)越多,到甲方工作的也越來(lái)越多——需求擺在那里,甲方給的待遇也越來(lái)越高了。
數(shù)據(jù)完整性的解決,也是為數(shù)據(jù)倉(cāng)庫(kù)生成高質(zhì)量后結(jié)構(gòu)化數(shù)據(jù)的過(guò)程,NLP就是在這個(gè)過(guò)程中發(fā)揮作用,通過(guò)拆解語(yǔ)義元素分詞(區(qū)分魚(yú)和蝦),命名實(shí)體識(shí)別(確定這條是魚(yú),那支是蝦),句法分析,語(yǔ)法分析,解決數(shù)據(jù)結(jié)構(gòu)化問(wèn)題;然后通過(guò)術(shù)語(yǔ)網(wǎng)絡(luò),將數(shù)據(jù)標(biāo)準(zhǔn)化、歸一化,解決數(shù)據(jù)標(biāo)準(zhǔn)化(魚(yú)是魚(yú)、蝦是蝦)問(wèn)題。通過(guò)醫(yī)學(xué)知識(shí)圖譜的關(guān)聯(lián)和推理,解決基于醫(yī)學(xué)知識(shí)的推斷問(wèn)題,構(gòu)建患者畫(huà)像,在科研應(yīng)用、輔助診療、真實(shí)世界研究等方面才能深度應(yīng)用。
(1)分詞
對(duì)于機(jī)器學(xué)習(xí)來(lái)說(shuō)分詞本質(zhì)上是一個(gè)分類(lèi)問(wèn)題,例如:武漢市長(zhǎng)江大橋,機(jī)器可以理解為:武漢_市長(zhǎng)_江_大橋,武漢市_長(zhǎng)江_大橋等等,機(jī)器會(huì)判斷一個(gè)字在一句句子中是作為詞的起始字(B),詞的中間字(I),詞的結(jié)尾字(E),還是一個(gè)單字詞(S),這樣就需要對(duì)文本進(jìn)行標(biāo)注,通過(guò)機(jī)器學(xué)習(xí)算法預(yù)測(cè)某些上下文的時(shí)候,判斷某個(gè)字作為BIES四個(gè)類(lèi)別中哪一個(gè)概率最高,最后通過(guò)BIES的識(shí)別完成分詞。
(2)詞性與關(guān)聯(lián)識(shí)別
一句檢查報(bào)告的放射學(xué)表現(xiàn):右側(cè)脛骨髁間突骨端邊緣見(jiàn)骨質(zhì)增生變尖,關(guān)節(jié)在位、關(guān)節(jié)間隙未見(jiàn)狹窄,未見(jiàn)骨質(zhì)破壞及異常軟組織影。
我們要知道“右側(cè)”是方位,“脛骨髁間突”是身體結(jié)構(gòu),“骨端”、“邊緣”是局部位置,“增生”、“變尖”是描述;我們要知道“右側(cè)+脛骨髁間突”是身體結(jié)構(gòu)方位的限定,“骨質(zhì)+增生”是身體結(jié)構(gòu)的變化。
命名實(shí)體識(shí)別(NER)就是從文中識(shí)別出命名性指稱(chēng)項(xiàng),屬于什么實(shí)體類(lèi)別:疾病、檢查、治療、指標(biāo)、癥狀、身體部位……
命名實(shí)體關(guān)聯(lián)提?。∟ERE)就是對(duì)上一步得到的命名實(shí)體進(jìn)行處理,把存在關(guān)系的部分用關(guān)系類(lèi)別(包括:限定關(guān)系、修訂關(guān)系、因果關(guān)系……)將他們聯(lián)系起來(lái),然后進(jìn)行語(yǔ)義依存分析。
標(biāo)準(zhǔn)的應(yīng)用是很難的一件事情,比如ICD-10。最早是病案科(室)專(zhuān)業(yè)的編碼員去編碼,隨著電子病歷的推廣,有些醫(yī)院前移到臨床醫(yī)生填寫(xiě)、編碼員審核,有些公司CIS系統(tǒng)還開(kāi)發(fā)了俗名診斷與ICD編碼的映射關(guān)聯(lián)。
如醫(yī)生可能寫(xiě):二型糖尿病、II型糖尿病、2型糖尿病、非胰島素依賴(lài)糖尿病,系統(tǒng)都自動(dòng)關(guān)聯(lián)到E11.952這個(gè)ICD編碼,但這各對(duì)照工作費(fèi)事費(fèi)力也會(huì)存在遺漏與偏差。這就需要術(shù)語(yǔ)標(biāo)準(zhǔn)化將數(shù)據(jù)歸一化。
同時(shí)我們還想知道糖尿病是內(nèi)分泌疾病,糖尿病是代謝性疾病,糖尿病是胰島功能紊亂,這就需要構(gòu)建強(qiáng)大的術(shù)語(yǔ)網(wǎng)絡(luò)建立知識(shí)圖譜。
術(shù)語(yǔ)集如疾病庫(kù)和臨床發(fā)現(xiàn)庫(kù)基于SNOMED-CT、MedDRA、ICD-10、ICD-9-CM-3、RadLex、CMeSH,如藥品和檢驗(yàn)庫(kù),基于CFDA藥物信息和LOINC,同時(shí)還需要儲(chǔ)備大量的術(shù)語(yǔ)資源庫(kù),將各術(shù)語(yǔ)庫(kù)內(nèi)部關(guān)聯(lián),根據(jù)分類(lèi)、邏輯以及臨床習(xí)慣分類(lèi),如影像與疾病庫(kù)的關(guān)聯(lián)、檢驗(yàn)庫(kù)與疾病庫(kù)的關(guān)聯(lián)等等。
利用自然語(yǔ)言處理、術(shù)語(yǔ)標(biāo)準(zhǔn)化、醫(yī)學(xué)知識(shí)圖譜三大核心技術(shù),解決醫(yī)學(xué)數(shù)據(jù)完整性、醫(yī)療數(shù)據(jù)標(biāo)準(zhǔn)化、醫(yī)學(xué)與算法融合的三大醫(yī)療數(shù)據(jù)利用的核心問(wèn)題。這樣,高質(zhì)量的數(shù)據(jù)就可以深度應(yīng)用。
如智能檢索?;谧匀徽Z(yǔ)言處理引擎結(jié)構(gòu)化和標(biāo)準(zhǔn)化以后的后臺(tái)數(shù)據(jù)進(jìn)行搜索,因此能處理同一概念不同表述形式、否認(rèn)、指代等關(guān)系,以及對(duì)某一報(bào)告中數(shù)值型變量進(jìn)行搜索,這些功能通過(guò)常規(guī)搜索方案是完全無(wú)法實(shí)現(xiàn)的。
例如“先天性心臟病”的搜索,同上面“非胰島素依賴(lài)糖尿病”的例子一樣,除了能檢索到使用“先心病”、“先天心臟畸形”、“先天性心臟異?!钡炔灰?guī)范書(shū)寫(xiě)診斷進(jìn)行表述的患者,也能搜索所有屬于“先天性心臟病”的子概念,例如“室間隔缺損”、“完全性大動(dòng)脈轉(zhuǎn)位”、“雙心室”等,極大的強(qiáng)化了查全率。
再以上面講的ICD編碼為例,理想的ICD自動(dòng)化編碼,至少需要從病案首頁(yè)、出院小結(jié)、病理報(bào)告和手術(shù)記錄四種文本源中尋找編碼依據(jù),并按照符合ICD_10的標(biāo)準(zhǔn)編碼規(guī)范邏輯進(jìn)行診斷信息編碼。因此,一個(gè)NLP自動(dòng)化編碼不但需要對(duì)文本信息抽取,還需要對(duì)知識(shí)和邏輯進(jìn)行管理,最終整合產(chǎn)生輸出。
上面說(shuō)了百度NLP在鑒黃語(yǔ)言的應(yīng)用,百度和騰訊都有AI開(kāi)放平臺(tái),開(kāi)放的技術(shù)引擎有:OCR(在醫(yī)療應(yīng)用的如身份證OCR、手寫(xiě)病歷OCR等)、人臉識(shí)別(身份驗(yàn)證、醫(yī)保刷臉支付等)、圖片識(shí)別、自然語(yǔ)言處理等。
為什么BAT免費(fèi)開(kāi)放NLP技術(shù)引擎,還會(huì)涌出這么多專(zhuān)注于NLP的醫(yī)療公司呢?這就是一般NLP和醫(yī)學(xué)NLP的區(qū)別。醫(yī)學(xué)語(yǔ)言的溝通本身除了涉及大量的醫(yī)學(xué)術(shù)語(yǔ)、縮略語(yǔ)、簡(jiǎn)稱(chēng),還涉及醫(yī)學(xué)知識(shí)和邏輯,因此很多時(shí)候醫(yī)生書(shū)寫(xiě)的內(nèi)容,不是專(zhuān)業(yè)人士可能幾乎看不懂,更不用說(shuō)計(jì)算機(jī)了。
為了實(shí)現(xiàn)利用NLP進(jìn)行信息抽取,需要在常規(guī)NLP流程的每一個(gè)步驟進(jìn)行針對(duì)醫(yī)學(xué)的調(diào)整。需要處理醫(yī)學(xué)的詞、醫(yī)學(xué)的句子、醫(yī)學(xué)的詞與詞之間的關(guān)系,讓計(jì)算機(jī)沿著醫(yī)學(xué)邏輯推理信息;需要針對(duì)全科室病歷、專(zhuān)科病歷、專(zhuān)病病歷、檢查報(bào)告、病理報(bào)告等不同類(lèi)型文本均衡抽樣,在金標(biāo)準(zhǔn)數(shù)據(jù)集的基礎(chǔ)上進(jìn)行醫(yī)學(xué)語(yǔ)料訓(xùn)練,各種算法針對(duì)不同業(yè)務(wù)場(chǎng)景進(jìn)行分詞。
決定NLP算法性能的是醫(yī)學(xué)文本標(biāo)注的“質(zhì)”與“量”。“量”由不同的樣本解決,同時(shí)因?yàn)槊總€(gè)人對(duì)文本的理解不同,其存在最大的問(wèn)題就是同一份文本標(biāo)注的不一致,所以需要一套標(biāo)準(zhǔn)的分層標(biāo)注流程——分段→分詞→實(shí)體分類(lèi)標(biāo)注→簡(jiǎn)單關(guān)聯(lián)標(biāo)注→復(fù)雜關(guān)聯(lián)標(biāo)注→檢查修改→最終標(biāo)注審核——來(lái)解決“質(zhì)”的問(wèn)題。
當(dāng)然,“量”也需要有“質(zhì)”的“量”。
病歷不同于一般的自由文本,其中的挑戰(zhàn)就是文中沒(méi)有實(shí)際指出但隱含的概念,另外中國(guó)語(yǔ)言博大精深,臨床敘事中呈現(xiàn)的信息是無(wú)結(jié)構(gòu)的、無(wú)語(yǔ)法的。所以文本標(biāo)注體系復(fù)雜,非常依賴(lài)醫(yī)學(xué)專(zhuān)業(yè)支持,標(biāo)注成本極高。一份病歷的標(biāo)注就需要兼職(醫(yī)學(xué)院即將畢業(yè)的大學(xué)生)、專(zhuān)職(醫(yī)生)多人去完成。
廣為流傳的故事,當(dāng)年舊金山挖金子的沒(méi)賺到錢(qián),賣(mài)水的賺了大錢(qián)。而一個(gè)叫布瑞南的商人,因?yàn)橐u(mài)鍬,去吆喝金子,最后他的鍬賣(mài)出去了,金礦也被開(kāi)采出來(lái)了。所以在如雨后春筍般成立的人工智能公司(“挖金礦”)的背后,催生了一批靠做標(biāo)注生存的小公司(“賣(mài)水”),當(dāng)然也有公司兼做標(biāo)注和醫(yī)院聯(lián)合做科研。只是現(xiàn)在的醫(yī)療AI市場(chǎng),還處于“叫好不叫座”階段,有時(shí)還要“羊毛出在狗身上,豬來(lái)買(mǎi)單”。
在和醫(yī)院交流的時(shí)候,被問(wèn)到最多的一個(gè)問(wèn)題還是自然語(yǔ)言處理準(zhǔn)確率的問(wèn)題:99%的準(zhǔn)確率,那1%是否還需要人為100%再去校驗(yàn)一次?
由于技術(shù)限制,自由文本機(jī)器提取的數(shù)據(jù)肯定存在誤差。是要“準(zhǔn)”還是要“全”,要根據(jù)實(shí)踐來(lái)平衡——如是臨床研究數(shù)據(jù)采集,答案肯定是“是”,因?yàn)榕R床數(shù)據(jù)的錄入原則上是要接受雙重或多重核查機(jī)制的,要的是“準(zhǔn)”;如果是智能檢索,系統(tǒng)需要的是縮小人工檢索符合標(biāo)準(zhǔn)的范圍和數(shù)量,需要的是“全”。用機(jī)器一次性解決問(wèn)題的方案目前還不存在。
也就是說(shuō),在真實(shí)的場(chǎng)景下,NLP后的數(shù)據(jù)業(yè)務(wù)應(yīng)用,由于準(zhǔn)確率的問(wèn)題還是需采取“人工智能+人工審核”的方式來(lái)做到雙重保險(xiǎn)。