孫夢琪,倪廣林,張培
(河北北方學院附屬第一醫院,河北張家口 075000)
當前,我國的人均醫療資源不均衡問題較為突出。而人口老齡化的不斷加劇,使得醫療服務需求量也在持續增加[1-2]。同時由于醫療專業的自身屬性,職業培養時間過長且存在較大的人才缺口,因此進一步加劇了醫療資源的緊缺。隨著智能分診技術的不斷發展,線上問診、智能初診和問答客服技術正在應用與推廣,這對減輕醫生壓力,緩解緊張的醫療資源具有一定幫助[3-4]。目前使用的智能分診技術通過對臨床醫療數據、化驗單及病歷等文本信息進行分析,所采用的算法大多是知識圖譜模型,并根據輸入數據提取數據特征。由于該種方法通常依靠人工建立特征框架和診斷模型,主觀性較強,故診斷結果準確率較低。雖然其收斂速度較快、對計算機性能的要求較低,但仍然無法應用于實際場景中。與傳統的機器學習(Machine Learning,ML)算法相比,深度學習(Deep Learning,DL)算法在性能和穩定度兩方面均有顯著提升。因此,該文基于海量的專家電子病歷文本,利用數字孿生技術(Digital Twin,DT)構建電子病歷文本向量模型,同時通過智能感知算法來實現準確的預診斷與分流。
在分流診斷的過程中,依賴于電子病歷、檢查單和醫學影像等數據,其中電子病歷與檢查單均為文本數據,在模型中需要將其轉化為文本向量才能使用模型完成訓練,所以該文采用Word2Vec 方法進行詞向量的生成及訓練。而Word2Vec 模型[5-7]由連續詞袋(Continuous Bag-of-Word,CBOW)模型或跳字模型(Skip-gram)構成。相比CBOW 模型,Skip-gram模型通過文本中的詞匯對上下文進行預測,故其更為高效。因此,文中使用Skip-gram 模型完成詞向量的訓練,該模型結構如圖1 所示。

圖1 Skip-gram模型結構
在圖1 中,Skip-gram 模型由輸入層、投影層和輸出層三部分組成。首先設定一個文本中心詞,假定該詞的位置為wt,模型可以預測上下文中wt-1、wt+1等位置詞出現的概率。輸入層的輸入數據為wt位置所對應的m維初始化向量v(wt),投影層對v(wt)進行映射,輸出層可類比為哈夫曼樹(Huffman Tree)結構。
模型訓練目標函數如下所示:
式中,p為概率密度,其通常可表示為:
式中,uw1和vc分別為輸出與輸入的詞向量,uw表示第w個詞向量。經過Word2Vec 模型,初始文本可以分割成詞向量以便于后續的模型訓練。詞向量生成過程如圖2 所示。

圖2 詞向量生成過程
在切割成詞向量后,還需要對詞向量進行交叉相似度的計算,從而去除其中的歧義詞,保證語料向量的正確性[8-9]。假定包含歧義詞的句子用M來表示,則首先需要生成詞向量空間,如圖3 所示。

圖3 詞向量空間的生成過程
將詞向量空間中的文本轉換為向量,則相似度的計算可以表征為:
式中,Wim為句子m中第i個位置詞向量的權重,Win為歧義詞文本中第i個位置詞向量的權重,且使用三角函數對向量相似度進行計算。
對于分診模型而言,除了文本信息外,醫學影像也是輔助診斷的重要依據,因此還需對相關數據加以分析。該次使用卷積神經網絡(Convolutional Neural Networks,CNN)和殘差網絡(ResNet)進行醫學影像識別。
卷積神經網絡(CNN)[10-12]由輸入層、卷積層、池化層和全連接層組成。CNN 網絡中的卷積層是主要計算層,其可提取輸入圖像的特征,該層的計算過程如下:
式中,wi為網絡層權重,b為偏置值。池化層通過池化操作進行降維,從而減輕計算量,全連接層則將數據特征映射至向量空間。
基礎卷積神經網絡結構的圖像識別準確率偏低,深淺層網絡神經元之間的特征聯系度不足。因此文中使用殘差網絡[13]將二者相連接,所采用的殘差網絡結構如圖4 所示。

圖4 殘差網絡的結構
假設殘差結構的輸入為x,則輸出為F(x)+x,其中F(x)為殘差。在卷積神經網絡完成數據訓練后,需要對訓練完畢的數據進行特征分類,此次使用了受限玻爾茲曼機(Restricted Boltzmann Machine,RBM)來進行分類。RBM 由隱藏層和可視層組成,隱藏層負責接收輸入的數據,可視層則可對數據特征加以提取。RBM 分類函數可表示為:
式中,wij為隱藏層和可視層之間的權重值,ai為可視層偏置值,bj為隱藏層偏置值。
針對CNN 網絡的高依賴性,需要在初始模型中加入注意力機制(Attention Mechanism,AM)[14-16]。該文加入的注意力機制結構,如圖5 所示。

圖5 注意力機制結構
圖5 中,L為輸入矩陣。對于該矩陣,進行線性變換以得到查詢向量Q、鍵值向量K和值向量V共計三個參數,計算公式如下所示:
式中,Wq、Wk以及Wv為均線性參數矩陣。對Q向量和K向量進行轉置,可得到評分矩陣S為:
之后使用Softmax 層將S矩陣歸一化以獲得概率分布參數,最終得到全局特征矩陣,并輸出融合診斷結果:
該算法結構如圖6 所示,其包括文本數據特征提取模塊、圖像特征提取模塊以及輸出分類模塊。其中文本數據特征提取模塊使用Word2Vec 模型對化驗單、檢查單中的文本進行訓練和驗證,并輸出初始詞向量,再使用VSM 算法對詞向量進行消歧。圖像特征提取模塊使用CNN 對數據特征加以提取,同時利用殘差結構和RBM 網絡提升網絡訓練精度及分類準確度,且采用注意力機制完成權重分類。最終通過Softmax 層對文本與圖像數據訓練模型進行融合,進而完成數字孿生過程,并輸出診斷結果。診斷結果共分為十類,分別對應不同類型的疾病。

圖6 該算法執行流程
該文所設計的模型算法使用Python 進行實現,同時采用TensorFlow 作為深度算法的部署框架。實驗運行環境如表1 所示。

表1 實驗環境
使用的數據集包括文本和圖像數據集,其中前者采用公開數據集THUCNews 進行性能對比,而后者則為MIMIC-III 大型公開醫療數據集。同時還使用爬蟲從某互聯網醫療平臺爬取文本數據作為驗證集,從而增強模型的泛化能力。此外,該模型還將準確率、召回率以及F1 值作為評價指標,其數學公式如下所示:
式中,TP 為真正例,FP 為假正例,FN 為假負例。
首先驗證文本分類結果的準確率,在文本數據集中使用BERT、TF-IDF、Text-CNN 以及該算法進行驗證。為了驗證模型對數據的最佳處理能力,采用了不同維度的輸入數據,測試結果如表2 所示。

表2 文本分類算法測試準確率
由表2 可知,該模型在不同數據集、不同維度詞向量情景下的文本分類準確率均維持在較高的水平。而當數據維度為100 時,所有算法的準確率均較高,因此該算法的輸入向量維度選擇了100。同時,相較于對比算法中性能較優的Text-CNN 模型,該算法在公開數據集中的準確率由89.45%提升至92.15%,私人數據集中的準確率由81.15%提高至85.41%,說明該算法的分類性能較為理想。
在圖像分類性能的驗證中,使用常見的圖像分類算法XGBoost、CNN、RF、SVM 與該算法進行對比,分類評估指標為準確率、召回率與F1 值,實驗測試結果如表3 所示。

表3 圖像分類評估測試結果
在表3 中,該算法使用了CNN-RBM-AM 的組合算法,在所有對比算法中其評價指標均為最優,與原始算法CNN 相比,F1值提升了約4%。而相較于對比算法中最優的組合算法XGBoost,F1 值增長了約2%。由此說明了,該算法具有較強的圖像分類能力。
在最后的診斷結果輸出中,該算法輸出的分診結果也將起到輔助診斷的作用。因此使用爬蟲抓取的醫療數據集進行診斷結果測試,該次實驗選擇了五位患者的信息,經過模型訓練,輸出的診斷結果如表4 所示。

表4 診斷結果對比
由表4 可以看出,該算法的分診結果與醫生的診斷結果大致相同,可以對患者的疾病進行較為準確地分類,這表明其具有一定的工程實用價值。
現階段使用的智能醫療分診技術依賴于主觀的知識圖譜技術,較少涉及智能算法。該文基于數字孿生的思想,使用智能感知算法提出了一種醫療分診技術。該算法將Word2Vec 和VSM 算法相結合,生成無歧義的詞向量數據,再使用改進后的CNN 網絡對醫療影像進行特征分類,使用Softmax 函數進行數據融合并輸出診斷結果。多項實驗測試表明,該算法的性能良好且應用價值較高。