,,
隨著互聯(lián)網(wǎng)的快速發(fā)展,在線醫(yī)療咨詢受到廣大互聯(lián)網(wǎng)用戶的青睞。根據(jù)2018年1月發(fā)布的第41次《中國互聯(lián)網(wǎng)絡(luò)發(fā)展?fàn)顩r統(tǒng)計報告》[1]可知,在線醫(yī)療已取得了快速發(fā)展。
近年來,民眾進(jìn)行健康咨詢時,對西醫(yī)和中醫(yī)治療效果的關(guān)注有增加趨勢。不同病癥有各自適合的治療方案,因此有必要分析具體病癥的西醫(yī)或中醫(yī)治療方案的傾向性。如果能從疾病癥狀描述中提取有用信息,識別出適合的治療方案,則可快速為用戶提供具有針對性的備選治療方案。心血管疾病癥狀典型,既有西醫(yī)也有中西醫(yī)結(jié)合治療方案,適合用作研究對象[2]。
鑒于此,本文抓取在線醫(yī)療網(wǎng)站的疾病信息,以心血管疾病作為具體對象,采用機(jī)器學(xué)習(xí)技術(shù)識別其治療方案的傾向性。
隨著數(shù)據(jù)挖掘技術(shù)的快速發(fā)展,醫(yī)學(xué)文本挖掘已經(jīng)成為醫(yī)學(xué)研究的一個重要方向。在中醫(yī)藥治療哮喘處方規(guī)律的研究上,孟繁璞[3]采用文本挖掘技術(shù),從中國生物文獻(xiàn)數(shù)據(jù)庫以及中國學(xué)術(shù)期刊數(shù)據(jù)庫中總結(jié)出治療支氣管哮喘的常用藥劑;劉俊麗等[4]以萬方醫(yī)學(xué)網(wǎng)收錄的乙肝研究的期刊文獻(xiàn)為數(shù)據(jù)源,采用文本挖掘技術(shù),構(gòu)建了共詞矩陣并繪制乙型肝炎相關(guān)文獻(xiàn)的知識圖譜;姜春燕[5]利用文本挖掘技術(shù)分析銀屑病中醫(yī)用藥規(guī)律和中醫(yī)治療銀屑病的核心藥物及其組合配伍關(guān)系。以上相關(guān)研究大都側(cè)重對已有文本數(shù)據(jù)的挖掘和統(tǒng)計,缺乏對挖掘出來的信息進(jìn)行有效預(yù)測。從應(yīng)用角度上講,對于新病例的咨詢預(yù)測,是需要重點解決的核心問題。
機(jī)器學(xué)習(xí)技術(shù)為醫(yī)學(xué)文本挖掘提供了有效的支持。如楊帆[6]通過計算病人與各種不良反應(yīng)的關(guān)聯(lián)強(qiáng)度建立的個性化藥物不良反應(yīng)排序表,實現(xiàn)了基于機(jī)器學(xué)習(xí)的藥物不良反應(yīng)預(yù)測及分析;葉雷[7]引入4種機(jī)器學(xué)習(xí)算法(k近鄰、決策樹、支持向量機(jī)和隨機(jī)森林),實現(xiàn)了對慢性腎病數(shù)據(jù)的分類預(yù)測。盡管機(jī)器學(xué)習(xí)已在醫(yī)療領(lǐng)域取得廣泛應(yīng)用,但有關(guān)在線醫(yī)療數(shù)據(jù)診療方案傾向性的研究鮮有涉足。本文以中、西醫(yī)分類作為切入點,對疾病的癥狀進(jìn)行分析,預(yù)測出該疾病適合的診療方案,證明機(jī)器學(xué)習(xí)技術(shù)對在線醫(yī)療數(shù)據(jù)的預(yù)測效果。
網(wǎng)絡(luò)爬蟲(web crawler)技術(shù)是獲取互聯(lián)網(wǎng)資源的一種有效方法。在網(wǎng)絡(luò)爬蟲與醫(yī)療領(lǐng)域相結(jié)合方面,卞偉瑋[8]利用網(wǎng)絡(luò)爬蟲技術(shù),構(gòu)建了健康醫(yī)療大數(shù)據(jù),實現(xiàn)了對多類型醫(yī)療數(shù)據(jù)的自動爬??;為構(gòu)建醫(yī)療主題搜索引擎,陳祖德[9]通過Map/Reduce框架,創(chuàng)建了面向醫(yī)療主題的網(wǎng)絡(luò)爬蟲。但在現(xiàn)有基于網(wǎng)絡(luò)爬蟲的醫(yī)療數(shù)據(jù)分析研究中,通常僅對數(shù)據(jù)做簡單統(tǒng)計,有必要將機(jī)器學(xué)習(xí)技術(shù)與醫(yī)療主題的爬蟲系統(tǒng)結(jié)合,實現(xiàn)對在線醫(yī)療數(shù)據(jù)的分析與預(yù)測。
基于上述分析,本文使用網(wǎng)絡(luò)爬蟲從互聯(lián)網(wǎng)上采集疾病癥狀數(shù)據(jù),利用文本挖掘技術(shù)提取特征向量,以疾病的中、西醫(yī)診療方案傾向性為分類目標(biāo),采用機(jī)器學(xué)習(xí)分類算法(支持向量機(jī)、決策樹、人工神經(jīng)網(wǎng)絡(luò)等)構(gòu)建分類模型,有效識別病癥數(shù)據(jù)的中、西醫(yī)診療方案傾向性。
具體流程設(shè)計如下:獲取在線醫(yī)療數(shù)據(jù)→文本分詞和過濾→提取特征關(guān)鍵詞→文本向量化→分類算法訓(xùn)練→對新的文本數(shù)據(jù)進(jìn)行預(yù)測。其中,醫(yī)療數(shù)據(jù)的獲取是通過網(wǎng)絡(luò)爬蟲對病癥信息進(jìn)行爬取;文本分詞和過濾,采用分詞技術(shù)對文本進(jìn)行預(yù)處理,使用停用詞字典將高頻但對研究無意義的詞去除;提取特征關(guān)鍵詞,是使用詞頻-逆向文件頻率方法實現(xiàn)關(guān)鍵詞的自動抽??;文本向量化,即使用Python機(jī)器學(xué)習(xí)工具包scikit-learn完成文本向量化;分類算法訓(xùn)練,是采用機(jī)器學(xué)習(xí)分類算法,構(gòu)建分類模型;對新的文本數(shù)據(jù)進(jìn)行預(yù)測,是指對新采集的文本預(yù)處理,并輸入分類模型進(jìn)行預(yù)測。實驗流程如圖1所示。
以39健康網(wǎng)的子網(wǎng)站39疾病百科網(wǎng)作為數(shù)據(jù)來源。該網(wǎng)站所提供的信息來自中國前100名三甲醫(yī)院的健康科普內(nèi)容和一線專家的原創(chuàng)健康科普視頻和文章,數(shù)據(jù)可靠性較高。該網(wǎng)站收錄了14 502種疾病,并提供了病因、癥狀、預(yù)防以及治療等內(nèi)容。其中“治療”鏈接中,為有的病例提供了西醫(yī)治療方案或中西醫(yī)結(jié)合的治療方案。通過對病例的“癥狀”和“治療”2個模塊的獲取,可以得到該病例的癥狀數(shù)據(jù)和治療方案類別標(biāo)簽。本文使用Python語言編寫網(wǎng)絡(luò)爬蟲,共獲取439條有效的癥狀數(shù)據(jù)。
首先,使用“結(jié)巴”中文分詞工具[10],對爬取到的數(shù)據(jù)進(jìn)行中文分詞、過濾停用詞及初步精簡;其次,通過TF-IDF算法提取出文本中的關(guān)鍵詞。詞頻-逆向文件頻率(TF-IDF)[11]可以過濾掉一些常見的無關(guān)緊要的詞語,同時保留影響整個文本的重要字詞。對每條病例進(jìn)行特征關(guān)鍵詞統(tǒng)計,計算特征關(guān)鍵詞頻率,組成一個詞頻矩陣,得到病癥的特征向量。
圖1基于機(jī)器學(xué)習(xí)的治療方案類別預(yù)測流程
由于不同病例中特征關(guān)鍵詞的分布和頻率差異較大,所以對關(guān)鍵詞進(jìn)行分析,有助于發(fā)現(xiàn)疾病癥狀與治療方案傾向性的內(nèi)在關(guān)系。部分特征關(guān)鍵詞及對應(yīng)詞頻見表1。
表1 排名前20的高頻特征詞及詞頻
以心臟病和血栓病為例,心臟病的治療方案有西醫(yī)治療方案和中醫(yī)治療方案,血栓病的治療方案只有西醫(yī)治療方案,二者在疾病癥狀上的特征關(guān)鍵詞的頻率存在較大差異:心臟病的部分高頻特征關(guān)鍵詞,如“心臟”“心力衰竭”“呼吸困難”“心悸”等,在血栓癥癥狀中恰恰是低頻詞;而血栓癥中的部分高頻特征關(guān)鍵詞,如“動脈”“血管”“靜脈”“梗死”等,在心臟病癥狀中卻是低頻詞。從關(guān)鍵詞集合可以發(fā)現(xiàn),適用于西醫(yī)方案的特征關(guān)鍵詞多趨向于一個集合,而適合中西醫(yī)結(jié)合方案的特征關(guān)鍵詞多存在于另一個集合。
西醫(yī)治療方案、中西醫(yī)結(jié)合治療方案的部分高頻關(guān)鍵詞見表2、表3。從表2、表3可以看出,不同疾病的治療方案所對應(yīng)的特征關(guān)鍵詞集合不同,如西醫(yī)治療方案高頻關(guān)鍵詞是“雜音”“狹窄”等,而中西醫(yī)結(jié)合方案高頻關(guān)鍵詞為“心絞痛”“發(fā)作”等。正是由于這兩種分類所包含的關(guān)鍵詞存在較大區(qū)別,數(shù)據(jù)有明確的可分性,因此適合建立機(jī)器學(xué)習(xí)分類模型進(jìn)行識別。
表2 西醫(yī)治療方案的部分高頻關(guān)鍵詞
表3 中西醫(yī)結(jié)合治療方案的部分高頻關(guān)鍵詞
同時,考慮到高維特征向量對識別效果的影響,需要對其進(jìn)行主成分分析(Principal Component Analysis,PCA)降維操作,使高維數(shù)據(jù)投影到較低維空間,盡可能少丟失信息,增加數(shù)據(jù)的可分性。
為每條疾病的特征向量添加類別標(biāo)簽,如心肌炎對應(yīng)西醫(yī)治療方案標(biāo)簽,心源性休克對應(yīng)西醫(yī)治療方案標(biāo)簽,心臟病對應(yīng)中西醫(yī)結(jié)合治療方案標(biāo)簽,低血壓對應(yīng)中西醫(yī)結(jié)合治療方案標(biāo)簽等。每條疾病癥狀都對應(yīng)了一條西醫(yī)方案治療方案或者中西醫(yī)結(jié)合治療方案,將疾病特征向量和對應(yīng)的治療方案類別結(jié)合,最終得到樣本集。
本文選用3種機(jī)器學(xué)習(xí)算法構(gòu)建分類模型,具體如下。
支持向量機(jī)(Support Vector Machine,SVM)[12]是一種有監(jiān)督的分類算法。通過構(gòu)造一個最優(yōu)超平面,令正負(fù)類別樣本之間距離最大,從而達(dá)到最佳預(yù)測效果。SVM在解決小樣本、非線性及高維模式識別中表現(xiàn)出許多特有的優(yōu)勢,取得了廣泛應(yīng)用。其原理如圖2所示。圖中,五角星和圓形分別代表西醫(yī)和中西醫(yī)結(jié)合2類樣本,中間的紅色斜線為分類線。SVM基本思想就是計算能夠正確分類盡可能多樣本,并且使分類間隔最大的分類線作為最優(yōu)分類模型。
決策樹[13]是一種基于信息熵的分類算法。通過計算對象屬性與類別值之間的信息增益,并利用一系列規(guī)則對樣本進(jìn)行分類。因其輸出結(jié)果易于理解和解釋而被廣泛應(yīng)用于醫(yī)學(xué)信息領(lǐng)域。
圖2 支持向量機(jī)的分類示意圖
人工神經(jīng)網(wǎng)絡(luò)[14]是模仿生物神經(jīng)作用模式而提出的一種機(jī)器學(xué)習(xí)算法,是機(jī)器學(xué)習(xí)分類的重要方法,其基本思路是通過激活函數(shù)來模擬非線性映射,從而實現(xiàn)非線性分類。
實驗中,首先是將樣本集隨機(jī)打散,隨機(jī)選取70%的樣本作為訓(xùn)練集,剩下的30%作為測試集;其次是采用PCA將原始特征向量從10 583維降到300維;最后,對測試集進(jìn)行預(yù)測,采用準(zhǔn)確率(accuracy)、查準(zhǔn)率(precision)、查全率(recall)評判效果。其中查準(zhǔn)率衡量分類的效果,查全率衡量分類的效率。此外,本文引入ROC曲線來評判綜合分類性能。
(1)
(2)
(3)
式中,TP在對中醫(yī)西醫(yī)類別的分類預(yù)測中被正確劃分為中醫(yī)西醫(yī)類別的數(shù)量,F(xiàn)P在對西醫(yī)類別的分類預(yù)測中被錯誤劃分為中醫(yī)西醫(yī)類別的數(shù)量,F(xiàn)N在對中醫(yī)西醫(yī)類別的分類預(yù)測中被錯誤劃分為西醫(yī)類別的數(shù)量,TN在對西醫(yī)類別的分類預(yù)測中被正確劃分為西醫(yī)類別的數(shù)量。
實驗中采用Python環(huán)境下的scikit-learn工具包。其中,支持向量機(jī)采用C-SVM算法,決策樹采用C5.0,神經(jīng)網(wǎng)絡(luò)采用多層感知機(jī)網(wǎng)絡(luò)MLP Network。支持向量機(jī)下正則化系數(shù)C設(shè)為1,該值越大對分錯樣本的懲罰程度越大,訓(xùn)練精度越高。核函數(shù)采用RBF高斯核函數(shù),核參數(shù)gamma設(shè)為樣本特征數(shù)的倒數(shù)。MLP網(wǎng)絡(luò)采用單隱層結(jié)構(gòu),有100個神經(jīng)元。
每次實驗樣本集都是隨機(jī)的,導(dǎo)致每次結(jié)果有輕微波動。因此,循環(huán)運行實驗100次,取預(yù)測正確率的平均值和標(biāo)準(zhǔn)差(表4)。從表4可看出,3種分類算法結(jié)果的區(qū)別不大,均保持在92%左右,表明利用疾病的癥狀特征對疾病治療方案進(jìn)行預(yù)測的方法是可行的。
表4 100次試驗的平均精準(zhǔn)度和標(biāo)準(zhǔn)差
3種分類器的查準(zhǔn)率和查全率見表5。從表5可以看出,查全率均接近100%或為100%,查準(zhǔn)率為90%左右,表明分類效果和效率均比較理想。3種分類算法的ROC曲線對比見圖3。從圖3中3條曲線可以看出,3種分類器最終分類結(jié)果基本相似,驗證了3種分類器的合理性和可行性。
表5 3種分類算法的查準(zhǔn)率和查全率
圖3 3種分類算法的ROC曲線對比
本文運用機(jī)器學(xué)習(xí)技術(shù)對在線醫(yī)療網(wǎng)站數(shù)據(jù)內(nèi)容進(jìn)行的實證分析,檢驗了機(jī)器學(xué)習(xí)技術(shù)在在線醫(yī)療網(wǎng)站文本分析中的有效性,實現(xiàn)了對心血管類疾病治療方案的預(yù)測和推薦,最終揭示了疾病癥狀和治療方案之間內(nèi)在的聯(lián)系,并可推廣至其他類似病例。本文的不足之處在于未能將治療方案進(jìn)行細(xì)分,也未能將實驗結(jié)果與用戶的實際需求相結(jié)合。下一步擬將機(jī)器學(xué)習(xí)運用到其他具有多種治療方案選擇的疾病,并對治療方案進(jìn)一步細(xì)分,同時將此實驗結(jié)果應(yīng)用到實際需求當(dāng)中,使之更加貼合用戶的信息需求和使用習(xí)慣等。