摘 要: [目的/ 意義] 數(shù)字人文背景下的中醫(yī)疫病古籍文本自動分詞和基于分詞結(jié)果的藥物規(guī)律挖掘, 是促進(jìn)古籍知識活化與支持臨床診療的重要途徑。[方法/ 過程] 本文提出了一種基于中醫(yī)疫病古籍文本自動分詞的藥物規(guī)律挖掘框架, 該框架包含了數(shù)據(jù)獲取層、序列標(biāo)注層、自動分詞層和應(yīng)用服務(wù)層, 通過4 層協(xié)作聯(lián)動最終實現(xiàn)了疫病古籍文本的自動分詞和藥物規(guī)律挖掘應(yīng)用。[結(jié)果/ 結(jié)論] 實證結(jié)果表明, 框架包含的基于BiLSTMCRF的中醫(yī)疫病古籍文本自動分詞效果綜合性能達(dá)92%。在分詞結(jié)果基礎(chǔ)上統(tǒng)計方劑中各類劑型、常用中藥和常用藥對等藥物規(guī)律挖掘結(jié)果, 為未來疫情防控指導(dǎo)、診療決策輔助提供了支持。
關(guān)鍵詞: 數(shù)字人文; 文本分詞; BiLSTM-CRF; 中醫(yī)疫??; 知識挖掘
DOI:10.3969 / j.issn.1008-0821.2025.02.002
〔中圖分類號〕G254 〔文獻(xiàn)標(biāo)識碼〕A 〔文章編號〕1008-0821 (2025) 02-0017-09
疫病是人類社會長期以來面臨的重大威脅之一。作為傳統(tǒng)醫(yī)學(xué)的重要組成部分, 中醫(yī)積累了豐富的疫病防治經(jīng)驗, 其遺留的古籍記載了大量有關(guān)疫病的描述和治療方法, 對于研究疫病的起源、傳播規(guī)律以及藥物治療等具有重要價值[1] 。數(shù)字人文背景下, 利用現(xiàn)代科技手段實現(xiàn)傳統(tǒng)醫(yī)學(xué)知識的數(shù)字化表達(dá)與活化再現(xiàn), 可提高對中醫(yī)疫病古籍內(nèi)容的理解和分析能力, 發(fā)掘其中隱含的藥物規(guī)律, 明晰中醫(yī)藥在疫病防治中的特點和優(yōu)勢, 為現(xiàn)代疫病防治提供參考借鑒。作為自然語言處理的基礎(chǔ)任務(wù)之一,文本分詞是挖掘中醫(yī)疫病古籍中蘊含的疫病治療經(jīng)驗的前提[2] 。
但現(xiàn)有針對中醫(yī)疫病古籍文本自動分詞及藥物規(guī)律挖掘的研究存在以下問題: 第一, 缺乏專門結(jié)合人工標(biāo)注而構(gòu)建的大規(guī)模中醫(yī)疫病古籍文本語料庫。第二, 可用于中醫(yī)疫病古籍文本自動分詞的機器學(xué)習(xí)或深度學(xué)習(xí)模型的分詞訓(xùn)練精度有待提升。第三, 現(xiàn)有的中醫(yī)疫病古籍文本自動分詞結(jié)果對基于古籍文本的藥物規(guī)律挖掘應(yīng)用支持有限[3] 。上述問題阻礙了中醫(yī)疫病古籍的創(chuàng)造性轉(zhuǎn)化和創(chuàng)新性發(fā)展。為解決這些問題, 需要建立大規(guī)模的中醫(yī)疫病古籍文本語料庫, 并結(jié)合人工標(biāo)注進(jìn)行深度學(xué)習(xí)模型訓(xùn)練, 提高分詞和挖掘的精準(zhǔn)度。同時, 也需要加強對中醫(yī)疫病古籍文本的語義理解和知識推理能力, 以提高中醫(yī)疫病古籍文本的藥物規(guī)律挖掘效果。
綜上, 本文提出了基于中醫(yī)疫病古籍文本自動分詞的藥物規(guī)律挖掘研究, 旨在借鑒古籍領(lǐng)域的分詞規(guī)范標(biāo)準(zhǔn), 通過對中醫(yī)疫病古籍文本的序列標(biāo)注,構(gòu)建適用于中醫(yī)疫病領(lǐng)域的古籍文本分詞和藥物規(guī)律挖掘語料庫, 并利用基于深度學(xué)習(xí)中的BiLSTMCRF實現(xiàn)疫病古籍文本的自動分詞和分詞基礎(chǔ)上的藥物規(guī)律挖掘, 發(fā)揮古籍助力中醫(yī)邁向數(shù)字化循證的作用, 輔助中醫(yī)疫病學(xué)家和從業(yè)者通過抽取、發(fā)現(xiàn)和分析以詞為單位的疫病知識, 為當(dāng)代及未來疫情防控提供決策支持。
1 相關(guān)工作
本文核心工作為中醫(yī)疫病古籍文本自動分詞和基于分詞結(jié)果的疫病藥物規(guī)律挖掘, 是數(shù)字人文視角下的古籍文本自動分詞技術(shù)在中醫(yī)疫病領(lǐng)域的具體實踐。此外, 現(xiàn)有的中醫(yī)古籍文本分詞主要用于構(gòu)建能夠高效準(zhǔn)確地抽取中醫(yī)文獻(xiàn)潛在臨床經(jīng)驗和用藥規(guī)律的計算機算法模型。因此, 本文文獻(xiàn)綜述主要圍繞古籍文本的自動分詞及基于中醫(yī)文獻(xiàn)的藥物規(guī)律挖掘研究展開。
1.1 古籍文本自動分詞相關(guān)研究
古籍文本自動分詞是將古文獻(xiàn)中有實義的文字片段進(jìn)行切分, 將連續(xù)文字序列分割成有意義詞語的過程[4] 。既往對古籍文本自動分詞的方法技術(shù)包含基于規(guī)則、基于統(tǒng)計、基于字典和基于深度學(xué)習(xí)的方法。例如, 張素華等[5] 提出一種根據(jù)字符連通度實現(xiàn)中醫(yī)古籍無監(jiān)督分詞的規(guī)則式自動分詞技術(shù)。Fu X J 等[6] 基于HMM 的統(tǒng)計式詞性標(biāo)注方法, 構(gòu)建了中醫(yī)專用詞性標(biāo)注方法, 并以Ansj 為核心的分詞算法開發(fā)了一個中文古籍分詞系統(tǒng)。李筱瑜[7] 在基于《漢書》識別未登錄詞基礎(chǔ)上, 結(jié)合古代漢語詞匯表、古代人名詞表和古代地名表構(gòu)建了古籍文本分詞詞典, 對《漢書》實現(xiàn)了分詞處理。在基于深度學(xué)習(xí)的古籍文本自動分詞方面, 鐘昕妤等[8] 面對針灸古籍中的大量通假字、歧義詞和專業(yè)術(shù)語等限制分詞性能問題, 提出了基于CmabBERT-BiLSTMCRF的針灸古籍分詞技術(shù)并取得了良好的性能成果。
1. 2 基于中醫(yī)文獻(xiàn)的藥物規(guī)律挖掘相關(guān)研究
基于中醫(yī)文獻(xiàn)的藥物規(guī)律挖掘是通過對中醫(yī)文獻(xiàn)中藥物的相關(guān)信息進(jìn)行分析和整理, 尋找藥物規(guī)律和特點的環(huán)節(jié)。用藥規(guī)律分析、藥方挖掘與整理、組方配伍規(guī)律分析等是目前基于中醫(yī)文獻(xiàn)的藥物規(guī)律挖掘的幾個聚焦方向。例如, 姜威等[9] 通過收集中醫(yī)藥知識服務(wù)平臺中治療便秘的中成藥, 在頻次統(tǒng)計的基礎(chǔ)上挖掘了中成藥治療便秘的用藥規(guī)律。馬洪微[10] 借助文獻(xiàn)檢索、逐本閱讀梳理的方法, 從方劑劑型、藥物性味歸經(jīng)、配伍等方面研究了民國時期中醫(yī)醫(yī)籍痹證內(nèi)服方藥。李妮等[11] 運用中醫(yī)傳承輔助系統(tǒng)提供的中藥藥類分析、藥物頻次分析、關(guān)聯(lián)規(guī)則分析和復(fù)雜系統(tǒng)聚類分析等功能, 分析了白志軍教授治療腎病蛋白尿的組方用藥規(guī)律??傊?,基于中醫(yī)文獻(xiàn)的藥物規(guī)律挖掘通過研究中醫(yī)文獻(xiàn)中包含的中藥性味、歸經(jīng)及中藥間相互配伍關(guān)系, 為促進(jìn)中醫(yī)走向循證治療發(fā)揮了積極作用。
中醫(yī)疫病古籍文本既具有一般漢語古籍的表達(dá)結(jié)構(gòu)及語言特點, 又擁有大量的醫(yī)學(xué)專業(yè)術(shù)語。由于古籍文本的語言風(fēng)格與現(xiàn)代漢語有所不同, 因此需要特殊的方法和工具進(jìn)行分詞, 結(jié)合人工標(biāo)注和深度學(xué)習(xí)中BiLSTM-CRF 的古籍文本自動分詞在既往研究中表現(xiàn)出了卓越的性能。此外, 融合中醫(yī)疫病古籍文獻(xiàn)和現(xiàn)代數(shù)據(jù)挖掘技術(shù)以研究古代醫(yī)家治療疫病時的方藥應(yīng)用規(guī)律, 可以幫助深入理解前人在防疫抗疫時的用藥經(jīng)驗, 并為未來疫情防控提供有益的指導(dǎo)。綜上, 本文提出了基于深度學(xué)習(xí)的中醫(yī)疫病古籍文本自動分詞模型, 并實現(xiàn)了基于分詞結(jié)果的藥物規(guī)律挖掘研究。
2 基于中醫(yī)疫病古籍文本自動分詞的藥物規(guī)律挖掘框架
本文提出的基于中醫(yī)疫病古籍文本自動分詞的藥物規(guī)律挖掘框架主要功能在于實現(xiàn)中醫(yī)疫病古籍文本自動分詞以及基于分詞結(jié)果的藥物規(guī)律挖掘(方劑中各類劑型、常用中藥和常用藥對統(tǒng)計)兩大任務(wù)。二者之間存在緊密的依賴關(guān)系: 第一, 自動分詞作為一項基礎(chǔ)技術(shù), 主要用于將連續(xù)的文本數(shù)據(jù)拆分成有獨立意義的詞匯, 該步驟是理解和分析古籍文本內(nèi)容的前置條件, 也是后續(xù)進(jìn)行深入藥物規(guī)律挖掘的基礎(chǔ)。第二, 通過自動分詞技術(shù)可以有效地識別和提取方劑中的相關(guān)信息, 如各類劑型、使用的中藥材名稱等, 上述信息為后續(xù)的方劑中各類劑型、常用中藥和常用藥對統(tǒng)計提供了原始材料。研究人員可以對分詞后的中藥材名稱進(jìn)行頻率統(tǒng)計,分析哪些藥材在疫病治療中被頻繁使用, 或者哪些藥對是常見的組合, 以及它們在不同劑型中的分布情況等。總之, 分詞提供了準(zhǔn)確的數(shù)據(jù)基礎(chǔ), 而深入分析這些數(shù)據(jù)則進(jìn)一步揭示了中醫(yī)藥物使用的內(nèi)在規(guī)律和治療原則, 二者相輔相成, 共同推動著中醫(yī)學(xué)的傳承和發(fā)展。
基于中醫(yī)疫病古籍文本自動分詞的藥物規(guī)律挖掘框架主要包括數(shù)據(jù)獲取層、序列標(biāo)注層、自動分詞層和應(yīng)用服務(wù)層。通過上述4 層協(xié)作, 可以將海量的中醫(yī)疫病古籍文本數(shù)據(jù)轉(zhuǎn)化為離散的詞語或短語等結(jié)構(gòu)化且機器可處理的數(shù)據(jù)形式, 以便后續(xù)實現(xiàn)以詞或短語為單位的常用方劑中的各類劑型統(tǒng)計、常用中藥統(tǒng)計和常用藥對統(tǒng)計分析等, 進(jìn)而在這些藥物規(guī)律挖掘工作基礎(chǔ)上實現(xiàn)中醫(yī)疫病領(lǐng)域古籍文本的用藥規(guī)律和臨床經(jīng)驗抽取。具體內(nèi)容如圖1 所示。
2. 1 數(shù)據(jù)獲取層
數(shù)據(jù)獲取層目標(biāo)是構(gòu)建中醫(yī)疫病古籍文本分詞語料庫, 以保證語料庫擁有大量疫病領(lǐng)域的古籍文本數(shù)據(jù), 為后續(xù)中醫(yī)疫病古籍文本自動分詞和藥物規(guī)律研究提供可靠的底層數(shù)據(jù)支持。該層主要工作包含以下兩個方面: ①數(shù)據(jù)采集: 通過各種渠道,如圖書館借閱、數(shù)字圖書館或古籍?dāng)?shù)據(jù)庫線上閱覽、中醫(yī)古籍?dāng)?shù)字化項目咨詢、中醫(yī)領(lǐng)域?qū)W者專家撰寫學(xué)術(shù)論文和專著等的釋讀, 收集包括經(jīng)典著作、醫(yī)案、方劑等大量中醫(yī)疫病古籍相關(guān)文本數(shù)據(jù)。②數(shù)據(jù)清洗和預(yù)處理: 對收集到的疫病古籍文本數(shù)據(jù)使用正則表達(dá)式、文本處理庫等工具進(jìn)行清洗。針對以文檔網(wǎng)頁為主的非/ 半結(jié)構(gòu)化中醫(yī)疫病古籍文本數(shù)據(jù), 主要通過噪聲數(shù)據(jù)去除、格式轉(zhuǎn)換、非中文字符刪除等工作實現(xiàn)預(yù)處理[12] ; 針對結(jié)構(gòu)化中醫(yī)疫病古籍文本數(shù)據(jù)則是以數(shù)據(jù)解析、文件導(dǎo)入與讀取以及結(jié)構(gòu)化存儲為主, 最終確保疫病古籍文本語料庫的完整性和一致性。
2. 2 序列標(biāo)注層
序列標(biāo)注層的主要作用在于中醫(yī)疫病古籍分詞規(guī)范標(biāo)準(zhǔn)構(gòu)建和中醫(yī)疫病古籍文本序列標(biāo)注實施,目標(biāo)是形成一套統(tǒng)一且完整的中醫(yī)疫病古籍文本分詞規(guī)則和標(biāo)注規(guī)則, 以指導(dǎo)疫病古籍文本的人工標(biāo)注, 為基于深度學(xué)習(xí)的自動分詞提供高質(zhì)量的訓(xùn)練和測試語料數(shù)據(jù)。
2. 2. 1 中醫(yī)疫病古籍分詞規(guī)范標(biāo)準(zhǔn)構(gòu)建
先前關(guān)于中醫(yī)疫病文本的標(biāo)注數(shù)據(jù)集較少, 無法實現(xiàn)本文的研究目標(biāo)。因此, 基于付璐等[13] 提出的中醫(yī)古籍分詞規(guī)則并結(jié)合中醫(yī)疫病領(lǐng)域古籍特色,本文構(gòu)建了中醫(yī)疫病領(lǐng)域古籍分詞規(guī)則。該規(guī)則同樣包含了詞性語法規(guī)則和語義類型原則兩個部分。其中, 詞性語法規(guī)則主要是根據(jù)古代漢語的詞性特點進(jìn)行分詞細(xì)則的擬定, 以提高中醫(yī)疫病古籍文本分詞準(zhǔn)確性和語法正確性。在該原則指導(dǎo)下, 需要綜合考慮文本中涉及的名詞、動詞、形容詞、副詞、數(shù)詞和虛詞等均在何種情況下需要切分, 何種情境下不需要切分。中醫(yī)疫病領(lǐng)域有著獨特的專業(yè)術(shù)語和語言表達(dá)方式, 因此, 語義類型原則主要是在分詞時對這些特點進(jìn)行考慮。本文考慮了與疫病相關(guān)的生理、癥狀、證候、病理因素、病理產(chǎn)物、功效、治法、經(jīng)絡(luò)腧穴、四診、中藥、方劑、性味、毒性、炮制、禁忌、煎服法和涉及的專有詞等相關(guān)術(shù)語內(nèi)容。
2. 2. 2 基于BMES 的中醫(yī)疫病古籍文本序列標(biāo)注
數(shù)據(jù)標(biāo)注是實現(xiàn)基于深度學(xué)習(xí)自動文本分詞的基礎(chǔ)工作。BMES 是一種用于中文命名實體識別的序列標(biāo)注方法, 該方法將每個字標(biāo)注為4 個標(biāo)簽,即B、M、E 和S[14] 。本文在基于深度學(xué)習(xí)的中醫(yī)疫病古籍文本自動分詞訓(xùn)練語料標(biāo)注過程中, 采用BMES 四位序列標(biāo)注法。具體操作過程如下: 首先,將每個語句劃分為不同的片段, 然后根據(jù)詞語的位置和關(guān)系使用BMES 標(biāo)記法對每個片段進(jìn)行標(biāo)注,最后將人工標(biāo)注的語料結(jié)果提供給領(lǐng)域?qū)<覚z查,以確保人工標(biāo)注語料的有效性和準(zhǔn)確性。
2. 3 自動分詞層
自動分詞層主要采用深度學(xué)習(xí)模型BiLSTMCRF實現(xiàn)中醫(yī)疫病古籍文本自動分詞。作為一種適用于中文文本分詞的模型, BiLSTM-CRF 由輸入層、BiLSTM 層和CRF 層組成?;谠撃P偷闹嗅t(yī)疫病古籍文本自動分詞的原理流程如下:
2. 3. 1 輸入層
鑒于神經(jīng)網(wǎng)絡(luò)只能處理數(shù)值型數(shù)據(jù), 而中醫(yī)疫病古籍文本是以文字形式存在的。因此, 輸入層的作用是將文本數(shù)據(jù)轉(zhuǎn)化為神經(jīng)網(wǎng)絡(luò)可以處理的數(shù)值表示, 以便后續(xù)的神經(jīng)網(wǎng)絡(luò)模型進(jìn)行處理。此外,輸入層通過將每個字或詞轉(zhuǎn)化為向量表示后, 還可以捕捉到字或詞表達(dá)的語義信息。因此, 在后續(xù)的BiLSTM 和CRF 層就可以利用這些語義信息更好地進(jìn)行分詞任務(wù)。
2. 3. 2 BiLSTM 層
BiLSTM 層是雙向長短期記憶網(wǎng)絡(luò)(Bidirection?al Long Short-Term Memory)的縮寫, 它的作用是對輸入的疫病古籍文本進(jìn)行序列建模, 從而捕捉上下文信息。相較LSTM, BiLSTM 擺脫了只能依據(jù)先前時刻的時序信息來預(yù)測下一時刻輸出的限制, 能更好地結(jié)合上下文進(jìn)行輸出。具體而言, BiLSTM 層通過堆疊前向和后向兩個LSTM 網(wǎng)絡(luò), 分別對輸入疫病文本序列進(jìn)行正向和反向處理, 然后將兩個方向的隱藏狀態(tài)進(jìn)行拼接得到更全面的上下文表示, 可以更好地捕捉疫病古籍文本序列中的長程依賴關(guān)系[15] 。
2. 3. 3 CRF 層
CRF 層代表了條件隨機場(Conditional RandomField), 其作用是對分詞結(jié)果進(jìn)行建模, 通過考慮標(biāo)簽之間的相互依賴關(guān)系, 來完成分詞的預(yù)測[16] 。該層可以對BiLSTM 層的輸出進(jìn)行標(biāo)注, 將標(biāo)注結(jié)果作為模型的輸出。在訓(xùn)練過程中, CRF 層會根據(jù)訓(xùn)練數(shù)據(jù)的標(biāo)簽序列來學(xué)習(xí)標(biāo)注過程中定義的約束條件(如BMES 的標(biāo)簽序列), 通過最大化訓(xùn)練數(shù)據(jù)的對數(shù)似然函數(shù)來優(yōu)化轉(zhuǎn)移矩陣。因此, CRF 層可以通過學(xué)習(xí)這些約束條件來提高模型的性能, 并且在預(yù)測時可以保證輸出的標(biāo)簽序列滿足這些約束條件。
2. 4 應(yīng)用服務(wù)層
應(yīng)用服務(wù)層建立在疫病古籍文本自動分詞基礎(chǔ)上, 旨在實現(xiàn)疫病古籍文本的詞匯級應(yīng)用, 聚焦藥物規(guī)律挖掘的決策輔助和知識抽取方向。借鑒目前幾款受歡迎的中醫(yī)知識挖掘數(shù)據(jù)平臺的應(yīng)用功能,在了解現(xiàn)有診療實踐中業(yè)務(wù)需求的基礎(chǔ)上, 本文的藥物規(guī)律挖掘主要包含疫病古籍文本中記載相關(guān)方劑中的各類劑型、常用中藥和常用藥對的統(tǒng)計分析等內(nèi)容。通過統(tǒng)計分析古籍中的方劑劑型、常用中藥和常用藥對的使用情況, 可以了解古代醫(yī)家在治療疫病時的用藥經(jīng)驗和偏好, 這些經(jīng)驗可以為現(xiàn)代臨床實踐提供參考, 指導(dǎo)醫(yī)生在治療疫病時選擇合適的劑型和藥物組合。此外, 通過統(tǒng)計分析方劑中常用中藥和常用藥對的使用頻率與組合情況, 可以揭示中醫(yī)藥的藥物組合的規(guī)律和特點。依據(jù)這些規(guī)律, 有助于深入理解中藥的藥理作用和相互作用機制, 為中藥復(fù)方的合理設(shè)計和優(yōu)化提供依據(jù)。同時, 這些應(yīng)用還有助于整理、歸納和總結(jié)中醫(yī)藥經(jīng)典著作中關(guān)于疫病治療的藥物組合和用法, 促進(jìn)中醫(yī)藥知識的傳承和發(fā)展。
3 實證研究
為驗證上文提出的基于中醫(yī)疫病古籍文本自動分詞的藥物規(guī)律挖掘框架的合理性和實用性, 本文通過收集疫病古籍文本語料數(shù)據(jù), 在中醫(yī)疫病古籍分詞規(guī)范標(biāo)準(zhǔn)構(gòu)建和文本序列標(biāo)注的基礎(chǔ)上, 計算了基于BiLSTM-CRF 的中醫(yī)疫病古籍文本自動分詞結(jié)果, 并實現(xiàn)了中醫(yī)疫病古籍文本自動分詞基礎(chǔ)上的藥物規(guī)律挖掘。
3. 1 數(shù)據(jù)來源及預(yù)處理
清代吳瑭所著的疫病古籍《溫病條辨》在醫(yī)學(xué)界影響廣泛, 是中醫(yī)疫病學(xué)的重要著作。該書系統(tǒng)地總結(jié)了中醫(yī)疫病學(xué)中溫病的理論和實踐經(jīng)驗, 對于后世醫(yī)學(xué)家的學(xué)習(xí)和研究具有重要的參考價值[17] 。同時, 吳瑭在《溫病條辨》中也提出了一些獨特的觀點和治療方法, 對疫病學(xué)發(fā)展和臨床實踐起到了積極推動作用。綜上, 本文以《溫病條辨》作為分詞實驗原始數(shù)據(jù)。在數(shù)據(jù)預(yù)處理環(huán)節(jié), 將原文轉(zhuǎn)換為以句子為單位的語料格式后, 形成了中醫(yī)疫病古籍文本自動分詞小型語料庫, 語料庫的規(guī)模和相關(guān)信息如表1 所示。
3. 2 中醫(yī)疫病古籍分詞規(guī)范標(biāo)準(zhǔn)構(gòu)建和文本序列標(biāo)注
3."2. 1 中醫(yī)疫病古籍分詞規(guī)范標(biāo)準(zhǔn)構(gòu)建結(jié)果
經(jīng)過兩位領(lǐng)域?qū)<覍Ψ衷~規(guī)范標(biāo)準(zhǔn)修改調(diào)整,例如“脾胃” 在某些語境下是一個整體詞, 在某些語境下則需切分成人體的兩個不同部位, 在分詞規(guī)范標(biāo)準(zhǔn)中需要考慮具體情境等, 本文最終構(gòu)建了中醫(yī)疫病古籍分詞規(guī)范標(biāo)準(zhǔn)。
表2 以“癥狀類” 語詞為例, 解釋中醫(yī)疫病古籍分詞規(guī)范標(biāo)準(zhǔn)中的分詞規(guī)則。如表2 所示, 當(dāng)一個名詞短語完整地描述一個人體疾病的癥狀時, 此短語可不作切分。例如, “耳聾” “腰痛” “身熱”“咳喘” 等病癥可作為一個整體來處理。同樣, 對于“名詞+名詞+形容詞” (如“心腹痛”“邪熱結(jié)”)和“名詞+形容詞+形容詞” (如“心煩懊” “腹?jié)M泄”)結(jié)構(gòu)也可以不做切分, 以保持癥狀描述的完整性。不同的是, 對于含有復(fù)合癥狀的“名詞+形容詞+名詞+形容詞” 結(jié)構(gòu)應(yīng)進(jìn)行分詞, 以表明各個癥狀的獨立性。例如, “神迷肢厥” 可以切分為“神迷/ 肢厥”, “頭痛面赤” 可以切分為“頭痛/ 面赤”, 這樣的分詞方式有助于更清楚地表示各個癥狀的獨特性, 并有助于診斷的精確性。
基于上述規(guī)則, 本文對語料庫進(jìn)行分詞標(biāo)注,分詞標(biāo)注結(jié)果由領(lǐng)域?qū)<覚z查后, 修改了部分未結(jié)合語義或術(shù)語識別不清的切分錯誤。例如, 將“風(fēng)溫/ 咳嗽” 修改為“風(fēng)溫咳嗽”。最終得到包含64 666個語詞的標(biāo)注數(shù)據(jù), 總字?jǐn)?shù)95 125字, 最大詞長為6。標(biāo)注樣例如下:
神昏/ 譫語/ 者/ ,/ 清宮湯/ 主/ 之/ ,/ 牛黃丸/ 、/紫雪丹/ 、/ 局方至寶丹/ 亦/ 主/ 之/ 。/
溫?。?忌汗/ 者/ ,/ 病/ 由/ 口鼻/ 而/ 入/ ,/ 邪/ 不在/ 足太陽/ 之/ 表/ ,/ 故/ 不得/ 傷/ 太陽經(jīng)/ 也/ 。/
3. 2. 2 基于BMES 的文本序列標(biāo)注結(jié)果
為訓(xùn)練模型實現(xiàn)自動化分詞, 本文采用BMES序列標(biāo)注方法對語料實現(xiàn)了序列標(biāo)注。作為一種四位序列標(biāo)注法, 采用BMES 序列標(biāo)注獲得的標(biāo)簽示例如表3 所示。鑒于本文基于BMES 文本序列標(biāo)注由兩位標(biāo)注者人工進(jìn)行, 本文借鑒Kappa 系數(shù)這一統(tǒng)計指標(biāo), 以衡量標(biāo)注者之間在序列標(biāo)注任務(wù)中的一致性水平。當(dāng)Kappa 值大于或等于0."80 時, 則通常被認(rèn)為是幾乎完全一致, 標(biāo)注結(jié)果質(zhì)量被認(rèn)為非常好。經(jīng)計算, 本文標(biāo)注人員基于BMES 的文本序列標(biāo)注結(jié)果的Kappa 值為0. 83, 說明不同標(biāo)注者之間一致性較強, 標(biāo)注結(jié)果質(zhì)量良好。
3. 3 基于BiLSTM-CRF 的中醫(yī)疫病古籍文本自動
3. 3. 1 實驗過程
將經(jīng)過序列標(biāo)注的語料數(shù)據(jù)作為深度學(xué)習(xí)模型的輸入, 并基于評價指標(biāo)判斷基于BiLSTM-CRF模型的中醫(yī)疫病領(lǐng)域古籍文本自動分詞效果。深度學(xué)習(xí)模型在Pytorch 1 6 0 環(huán)境下運行。此外, 實驗中將中醫(yī)疫病古籍文本數(shù)據(jù)集按7 ∶3 的比例設(shè)為訓(xùn)練集和測試集, 表4 報告了實驗過程中深度學(xué)習(xí)模型BiLSTM-CRF 的最優(yōu)參數(shù)。
3. 3. 2 實驗測評
為驗證基于BiLSTM-CRF 的中醫(yī)疫病古籍文本自動分詞的有效性, 本文在選擇評價指標(biāo)與基線模型對比的基礎(chǔ)上, 測評了深度學(xué)習(xí)模型應(yīng)用于疫病古籍文本自動分詞任務(wù)的效果。
1) 評價指標(biāo)
采用精確率(Precision, P)、召回率(Recall,R)、調(diào)和平均值(F-measure, F)作為基于深度學(xué)習(xí)模型的中醫(yī)古籍疫病文本自動分詞效果的評價指標(biāo)。其中, P 和R 分別體現(xiàn)了分詞模型的準(zhǔn)確性和全面性, F 則是調(diào)和了前兩個評價指標(biāo)的綜合性指標(biāo)。
2) 基線模型
本文設(shè)定CRF、CNN 和BERT 為基線模型, 以判別本文提出的中醫(yī)疫病古籍文本分詞效果。其中,BERT(Bidirectional Encoder Representations from Trans?formers)是Google 于2018 年發(fā)布的一種預(yù)訓(xùn)練的自然語言處理模型, 其優(yōu)點在于它能夠?qū)W習(xí)到上下文相關(guān)的詞向量表示, 即同一個詞在不同上下文中可能有不同的語義[18] 。這種上下文敏感的表示在文本分類、命名實體識別、語義角色標(biāo)注等自然語言處理任務(wù)中均表現(xiàn)出卓越性能。例如, 劉暢等[19] 利用SikuBERT 和BERT 等預(yù)訓(xùn)練模型, 對記載春秋至魏晉歷史最具有代表性的6 部官修史籍實現(xiàn)了文本分詞, 結(jié)果表明, BERT 在基于原始的語料中分詞性能最佳。此外, BiLSTM-CRF 結(jié)合了LSTM 對長距離依賴關(guān)系的建模能力與CRF 對序列標(biāo)注的精確建模能力, 而CNN 能夠從序列數(shù)據(jù)中捕捉到局部重要信息, 如古籍中特有的詞匯結(jié)構(gòu)和短語模式, 在處理非連續(xù)文本特征上具有顯著優(yōu)勢。因此,本文將CRF、CNN 和BERT 等模型視為基線以判斷本文使用模型的優(yōu)越性。實驗環(huán)節(jié), 各基線模型實驗參數(shù)設(shè)置如表5 所示。
3. 3. 3 分詞結(jié)果與評價
基于BiLSTM-CRF 模型的中醫(yī)疫病古籍文本分詞結(jié)果如表6 所示。由表6 可知, BiLSTM-CRF模型在P、R 和F 上的指標(biāo)均大于基線, 其分詞效果優(yōu)于BERT、CRF 和CNN 模型。這表明基于深度學(xué)習(xí)模型中的BiLSTM-CRF 可以基本實現(xiàn)中醫(yī)疫病古籍文本的自動分詞, 這對輔助中醫(yī)疫病學(xué)家等從業(yè)者實現(xiàn)疫病領(lǐng)域古籍文本的自然語言處理提供了良好的方法工具。
3. 4 基于中醫(yī)疫病古籍文本自動分詞的藥物規(guī)律挖掘
中醫(yī)領(lǐng)域的藥物規(guī)律挖掘主要從聚類分析、詞頻統(tǒng)計、關(guān)聯(lián)規(guī)則分析和組方配伍規(guī)律分析幾個方面實現(xiàn)[20] ?,F(xiàn)有的古今醫(yī)案云平臺、中醫(yī)傳承輔助平臺等是中醫(yī)藥領(lǐng)域常用的數(shù)據(jù)挖掘工具, 上述功能均包含在內(nèi)[21] 。因此, 本文基于中醫(yī)疫病古籍文本自動分詞的藥物規(guī)律挖掘主要統(tǒng)計了語料庫所含方劑中的各類劑型、部分常用中藥和部分常用藥對。其中, 中醫(yī)疫病古籍自定義詞典構(gòu)建和基于自定義詞典的方劑與中藥類詞語自動抽取是實現(xiàn)中醫(yī)疫病古籍文本藥物規(guī)律挖掘的前提。
3. 4. 1 中醫(yī)疫病古籍自定義詞典構(gòu)建
上述自動分詞實驗表明, BiLSTM-CRF 模型在處理中醫(yī)疫病古籍時效果更優(yōu)。在此基礎(chǔ)上, 本文利用該模型相繼完成了《溫?zé)峤?jīng)緯》《溫疫論》兩本中醫(yī)經(jīng)典疫病古籍文本的自動分詞, 并將分詞結(jié)果與《溫病條辨》融合形成了新的中醫(yī)疫病古籍文本語料庫。人工刪除語料庫中的停用詞后, 參考《中國中醫(yī)藥學(xué)主題詞表》《中醫(yī)大辭典》和《中藥大辭典》等, 本文選擇方劑、中藥兩個大類構(gòu)建了中醫(yī)疫病古籍領(lǐng)域的“方劑類” 和“中藥類” 自定義詞典, 為后文基于自定義詞典抽取與方劑和中藥類下的名詞術(shù)語實現(xiàn)藥物規(guī)律挖掘提供參考。本文構(gòu)建的中醫(yī)疫病古籍中“方劑類” 和“中藥類” 自定義詞典如圖2、圖3 所示。其中, “方劑類” 詞典提供了512 種成熟的中醫(yī)治療配方的相關(guān)詞匯, 而“中藥類” 詞典提供了1 678味中藥材名稱。
3. 4. 2 基于自定義詞典的方劑與中藥類詞語自動抽取
中醫(yī)疫病古籍文本中描述了大量方劑配制方法和中藥使用情況, 對其自動抽取可以分析藥物的用藥規(guī)律和組方配伍規(guī)律。基于上文構(gòu)建的自定義詞典, 本文通過詞典匹配的方式實現(xiàn)了基于自定義詞典的方劑與中藥類詞語自動抽取。抽取的過程如下:首先, 將疫病文本語料庫在自動分詞后轉(zhuǎn)換為列表格式; 其次, 采用詞典匹配的方式將列表中的詞語與自定義詞典匹配, 并篩選出匹配到的結(jié)果; 第三,將抽取出的中藥和方劑相關(guān)詞匯轉(zhuǎn)存為新的列表,并將每個詞語定義為一條完整的方劑內(nèi)容, 該內(nèi)容包含方劑名稱與所含的中藥名稱; 最后, 共抽取出128 個方劑詞匯(不包含未描寫具體內(nèi)容的方劑)和337 個中藥詞匯, 并以此作為后文的藥物規(guī)律挖掘基礎(chǔ)。
3. 4. 3 藥物規(guī)律挖掘結(jié)果
為體現(xiàn)本文研究對中醫(yī)藥診療和研究的輔助決策支持, 本文分別統(tǒng)計了方劑中各類劑型、方劑中部分常用中藥、方劑中部分常用藥對, 具體的藥物規(guī)律挖掘結(jié)果如下:
1) 方劑中各類劑型統(tǒng)計
如表7 所示, 在《溫病條辨》《溫?zé)峤?jīng)緯》和《溫疫論》三本經(jīng)典的中醫(yī)疫病古籍構(gòu)建的疫病古籍文本語料庫包含的128 個方劑中, 占比最多的是湯劑, 其次是散劑和丹劑。統(tǒng)計結(jié)果顯示, 古代醫(yī)家在治療疫病時更常使用湯劑這種劑型。湯劑是指將藥物煎煮后的藥液, 常用于治療內(nèi)科疾?。?散劑是將藥物研磨成粉末后使用, 常用于治療外科疾病,具有消腫、止痛、止血等作用; 丹劑是將藥物研磨成細(xì)粉后加入其他藥物制成丸劑, 常用于治療虛勞、氣血不足等疾病, 具有補益、固澀、安神等作用[22] 。這些方劑類型的占比情況可以為研究中醫(yī)疫病治療提供一些參考, 同時也反映了古代醫(yī)家在治療疫病時的用藥特點和經(jīng)驗。
2) 方劑中部分常用中藥統(tǒng)計
如表8 所示, 疫病古籍文本語料庫中的337 味中藥在128 個方劑中出現(xiàn)的總頻數(shù)為869 次, 使用頻次最多的是甘草, 其次是黃芩、人參等中藥, 說明這些中藥在古代醫(yī)家治療疫病時被廣泛應(yīng)用, 并且具有一定的療效。
3) 方劑中部分常用藥對統(tǒng)計
統(tǒng)計方劑中常用藥對組方配伍規(guī)律挖掘、藥物相互作用和方劑優(yōu)化具有一定的指導(dǎo)意義。如表9所示, 甘草—黃芩是疫病方劑中常搭配出現(xiàn)的藥對,其次是柴胡—黃芩和白芍—黃芩。這些藥對的搭配常用于疫病方劑中, 能夠協(xié)同作用, 增強療效, 對于治療疫病具有一定的作用, 這為日后治療疫病用藥選方提供了參考。
4 結(jié) 論
在疫病文本語料庫構(gòu)建的基礎(chǔ)上, 構(gòu)建文本序列標(biāo)注和分詞規(guī)范標(biāo)準(zhǔn), 實現(xiàn)中醫(yī)疫病古籍文本的自動分詞和分詞基礎(chǔ)上的藥物規(guī)律挖掘研究, 對促進(jìn)中醫(yī)疫病古籍活化、挖掘中醫(yī)藥治病經(jīng)驗和用藥規(guī)律、提升中醫(yī)藥臨床應(yīng)用水平和促進(jìn)中醫(yī)藥高質(zhì)量發(fā)展具有積極的意義。鑒于此, 本文提出并構(gòu)建了一個包含數(shù)據(jù)獲取層、序列標(biāo)注層、自動分詞層和應(yīng)用服務(wù)層的基于中醫(yī)疫病古籍文本自動分詞的藥物規(guī)律挖掘框架, 實現(xiàn)了疫病領(lǐng)域古籍文本的自動分詞和分詞基礎(chǔ)上的藥物規(guī)律挖掘。具體來說,本文主要貢獻(xiàn)如下:
1) 構(gòu)建了適用于中醫(yī)疫病領(lǐng)域的古籍文本自動分詞小型語料庫。在獲取經(jīng)過句讀和電子化的《溫病條辨》《溫?zé)峤?jīng)緯》和《溫疫論》基礎(chǔ)上, 構(gòu)建了中醫(yī)疫病領(lǐng)域的古籍文本分詞和藥物規(guī)律挖掘語料庫, 該語料庫進(jìn)一步豐富了數(shù)字人文領(lǐng)域的語料庫資源, 為促進(jìn)多領(lǐng)域、大規(guī)模的古籍智能化工作提供了底層數(shù)據(jù)資源。
2) 提出了基于深度學(xué)習(xí)的中醫(yī)疫病古籍文本自動分詞模型?;谏疃葘W(xué)習(xí)的分詞技術(shù)是目前準(zhǔn)確率最高的分詞方法, 為滿足中醫(yī)疫病領(lǐng)域文本實現(xiàn)詞匯級分析需求, 本文提出了基于BiLSTM-CRF的中醫(yī)疫病古籍文本自動分詞研究。與基線相比,該自動分詞模型在各項評價指標(biāo)上都表現(xiàn)出了卓越性能, 表明結(jié)合了雙向長短期記憶網(wǎng)絡(luò)和條件隨機場的序列標(biāo)注模型, 在提取疫病古籍文本中的上下文信息發(fā)揮出顯著的優(yōu)勢, 適用于中醫(yī)疫病古籍文本的自動分詞任務(wù)。
3) 實現(xiàn)了基于中醫(yī)疫病古籍文本自動分詞的藥物規(guī)律挖掘研究?;谡Z料庫分詞結(jié)果, 本文通過方劑中的各類劑型統(tǒng)計、部分常用中藥統(tǒng)計和部分常用藥對統(tǒng)計, 實現(xiàn)了初步的中醫(yī)疫病領(lǐng)域古籍文本詞匯級藥物規(guī)律挖掘應(yīng)用, 這為日后疫情防控、診療決策輔助和人文計算工具的智慧化開發(fā)應(yīng)用提供了一定的參考價值。
參考文獻(xiàn)
[1] 白明, 李楊波, 苗明三. 基于古籍?dāng)?shù)據(jù)挖掘的中醫(yī)防治疫病用藥規(guī)律分析[J]. 中藥藥理與臨床, 2020, 36 (1): 32-36.
[2] 胡昊天, 鄧三鴻, 張逸勤, 等. 數(shù)字人文視角下的非物質(zhì)文化遺產(chǎn)文本自動分詞及應(yīng)用研究[J]. 圖書館雜志, 2022, 41 (8):76-83.
[3] 李盼飛, 張楚楚, 李海燕. 科技賦能中醫(yī)古籍精華傳承與創(chuàng)新
[4] 歐陽劍. 面向數(shù)字人文研究的大規(guī)模古籍文本可視化分析與挖
[5] 張素華, 葉青, 程春雷, 等. 面向中醫(yī)古籍文本的領(lǐng)域自適應(yīng)性無監(jiān)督分詞[J]. 軟件導(dǎo)刊, 2022, 21 (1): 96-100.
[6] Fu X J, Yuan T, Li X B, et al. Research on the Method and Sys?tem of Word Segmentation and POS Tagging for Ancient ChineseMedicine Literature [C] / / IEEE International Conference on Bioin?formatics and Biomedicine(BIBM), San Diego, CA, USA. IEEE,2019: 2493-2498.
[7] 李筱瑜. 基于新詞發(fā)現(xiàn)與詞典信息的古籍文本分詞研究[ J].軟件導(dǎo)刊, 2019, 18 (4): 60-63.
[8] 鐘昕妤, 李燕, 徐麗娜, 等. 基于CmabBERT-BILSTM-CRF 的針灸古籍分詞技術(shù)研究[J]. 計算機時代, 2023, (4): 11-15.
[9] 姜威, 李敬華, 于琦, 等. 基于數(shù)據(jù)挖掘的中成藥治療便秘用藥規(guī)律研究[J]. 中國中醫(yī)藥圖書情報雜志, 2023, 47 (5): 91-94.
[10] 馬洪微. 民國時期中醫(yī)醫(yī)籍痹證內(nèi)服方藥文獻(xiàn)挖掘與整理研究[D]. 合肥: 安徽中醫(yī)藥大學(xué), 2023.
[11] 李妮, 張倩, 李芳, 等. 基于中醫(yī)傳承輔助系統(tǒng)腎病蛋白尿防治組方配伍規(guī)律的數(shù)據(jù)挖掘研究[J]. 藥學(xué)研究, 2023, 42(8): 620-626.
[12] 李豪, 周爽. 基于三維知識超圖的電力智庫知識服務(wù)平臺建設(shè)[J]. 智庫理論與實踐, 2022, 7 (3): 84-92, 99.
[13] 付璐, 李思, 李明正, 等. 以清代醫(yī)籍為例探討中醫(yī)古籍分詞規(guī)范標(biāo)準(zhǔn)[J]. 中華中醫(yī)藥雜志, 2018, 33 (10): 4700-4705.
[14] Meng W C, Liu L C, Chen A Y. A Comparative Study on Chi?nese Word Segmentation Using Statistical Models [ C] / /2010IEEE International Conference on Software Engineering and ServiceSciences, Beijing, China. IEEE, 2010: 482-486.
[ 15] Ma J, Ganchev K, Weiss D. State-of-the-Art Chinese Word Seg?mentation with BI-LSTMs [C] / / Proceedings of the 2018 Confer?ence on Empirical Methods in Natural Language Processing, Brussels,Belgium. New York, USA: Association for Computational Linguistics,2018: 4902-4908.
[16] Huang Z H, Xu W, Yu K. Bidirectional LSTM-CRF Models forSequence Tagging [J]. arXiv: 1508.01991, 2015.
[17] 錢琳琳, 張美倫, 馬曉北. 《溫病條辨》中溫?zé)犷惒∽C用藥規(guī)律探究[J]. 陜西中醫(yī), 2022, 43 (3): 380-383.
[18] Cui Y M, Che W X, Liu T, et al. Pre-Training with WholeWord Masking for Chinese BERT [J]. IEEE/ ACM Transactions onAudio, Speech, and Language Processing, 2021, 29: 3504-3514.
[19] 劉暢, 王東波, 胡昊天, 等. 面向數(shù)字人文的融合外部特征的典籍自動分詞研究———以SikuBERT 預(yù)訓(xùn)練模型為例[ J]. 圖書館論壇, 2022, 42 (6): 44-54.
[20] 孫曉花. 基于聚類分析探討中醫(yī)藥干預(yù)腫瘤疾病的用藥規(guī)律[J]. 中醫(yī)藥管理雜志, 2023, 31 (5): 119-121.
[21] 鄭婉婷, 李敬華, 田少磊, 等. 基于數(shù)據(jù)挖掘的李軍祥治療潰瘍性結(jié)腸炎用藥規(guī)律分析[J]. 中國中醫(yī)藥信息雜志, 2022, 29(9): 59-64.
[22] 劉洋. 探討逍遙散湯劑和散劑治療肝郁脾虛證的臨床效果[J].中國現(xiàn)代藥物應(yīng)用, 2022, 16 (19): 168-170.
(責(zé)任編輯: 郭沫含)
基金項目: 國家社會科學(xué)基金冷門絕學(xué)專項研究項目“本草典籍整理、知識組織與智慧化建設(shè)研究” (項目編號: 23VJXT024)。