








摘" 要:中醫(yī)藥領(lǐng)域積累了豐富的知識與經(jīng)驗,但如何從這些海量、深奧的中醫(yī)資料中準確提取中醫(yī)藥知識,一直是醫(yī)學領(lǐng)域的挑戰(zhàn)。為了提供高效準確的中醫(yī)藥知識抽取方法,提出了一種基于PERT模型的中醫(yī)藥知識抽取式問答模型。該方法依托中醫(yī)藥領(lǐng)域的專業(yè)知識與增強數(shù)據(jù)集,結(jié)合PERT模型,使用亂序語言預訓練任務,實現(xiàn)了一個具有較強中醫(yī)藥知識閱讀理解能力的問答模型。實驗結(jié)果表明,該模型在中醫(yī)藥知識數(shù)據(jù)集上的問答性能優(yōu)于其他相關(guān)模型,當給出中醫(yī)藥知識文本和問題時,能較為精確地理解并給出對應答案。
關(guān)鍵詞:PERT;抽取式問答模型;預訓練模型;中醫(yī)藥知識;機器閱讀理解
中圖分類號:TP391;TP18 文獻標識碼:A" 文章編號:2096-4706(2024)11-0125-05
Research on Extractive Qamp;A Model for Traditional Chinese Medicine Knowledge Based on PERT
CHEN Haoyang, YU Tongzhou, HE Qiangqiang
(Department of Computer Science and Technology, Nanjing University, NanJing" 210023, China)
Abstract: The field of Traditional Chinese Medicine (TCM) has accumulated a wealth of knowledge and experience, but how to accurately extract TCM knowledge from these massive and profound TCM materials has always been a challenge in the medical field. In order to provide an efficient and accurate method for extracting traditional Chinese medicine knowledge, a traditional Chinese medicine knowledge extractive Qamp;A Model based on the PERT model is proposed. The method relies on professional knowledge and enhanced datasets in the field of TCM, and uses the PERT model and disordered language to pre-training task, and a Qamp;A model with strong reading comprehension of TCM knowledge is realized. Experiment results show that the Qamp;A performance of this model on the TCM knowledge dataset outperforms that of other related models, and it can understand and give the corresponding answers more accurately when the TCM knowledge text and questions are given.
Keywords: PERT; extractive Qamp;A model; pre-trained model; TCM knowledge; machine reading comprehension
0" 引" 言
傳統(tǒng)中醫(yī)藥是中國豐富文化遺產(chǎn)的一個組成部分,是中國醫(yī)學實踐中蘊含的深邃智慧的見證。然而,積累的中醫(yī)藥文獻經(jīng)驗往往具有復雜性、難理解、海量性、多樣性等特點。面對這些晦澀難懂的大量中醫(yī)藥文本,如何高準確率且高效地自動抽取信息,是中醫(yī)信息化中的一大難題。
問答系統(tǒng)是解決抽取中醫(yī)藥知識信息問題的一種智能化方法。在傳統(tǒng)問答系統(tǒng)相關(guān)的研究和技術(shù)中,比如基于檢索或者文法規(guī)則的方法,它們往往問答理解能力較弱,面對海量信息時的處理效率也較低。目前流行的問答系統(tǒng)是基于知識庫問答系統(tǒng)和機器閱讀理解(Machine Reading Comprehension, MRC)的問答系統(tǒng)。知識庫問答系統(tǒng)是利用存儲有結(jié)構(gòu)化或半結(jié)構(gòu)化知識的數(shù)據(jù)庫來回答用戶自然語言問題的系統(tǒng),但是它們往往十分依賴于高質(zhì)量、結(jié)構(gòu)化的知識庫,限制于靜態(tài)知識,在面對復雜多樣的中醫(yī)藥文本時,其推理和理解能力有一定局限性。
基于MRC的問答系統(tǒng)則依靠自然語言處理和機器學習技術(shù),利用各類具有強大學習表征能力的神經(jīng)網(wǎng)絡結(jié)構(gòu),根據(jù)上下文和對應的問題,自動抽取信息和理解語義,從而提供回答。然而大量中醫(yī)文獻內(nèi)容具有復雜的上下文結(jié)構(gòu)和深奧晦澀的領(lǐng)域知識,這為深度學習模型學習中醫(yī)藥知識表征和理解分析中醫(yī)知識問答帶來了挑戰(zhàn)。同時,在中醫(yī)領(lǐng)域中,MRC問答系統(tǒng)的應用十分有限,相關(guān)研究也較為稀缺。
為應對問答系統(tǒng)在中醫(yī)藥知識抽取中的挑戰(zhàn),本研究實現(xiàn)了一個專門針對中醫(yī)藥領(lǐng)域的抽取式問答(Qamp;A)系統(tǒng),利用PERT預訓練模型[1],采用亂序語言模型作為預訓練任務;并且借鑒《黃帝內(nèi)經(jīng)》和《中成藥卷》等中醫(yī)基礎(chǔ)典籍,建立一個強大的知識庫,作為訓練模型的數(shù)據(jù)集;最終模型可以根據(jù)中醫(yī)藥背景知識以及對應的問題,提供比較精確的答案。
該中醫(yī)藥知識抽取式問答模型可以作為創(chuàng)建智能中醫(yī)藥知識問答系統(tǒng)的重要組成部分,當遇到中醫(yī)藥知識文本和相關(guān)查詢時,該模型表現(xiàn)出了較高的辨別能力,能提供準確度較高的答案。模型的功能可以推廣應用于從大量中醫(yī)藥文獻和專家知識庫中自動提取關(guān)鍵見解,為促進中醫(yī)藥專業(yè)知識的智能處理提供一定的參考。
1" 相關(guān)工作
抽取式問答系統(tǒng)的研究最早可以追溯到20世紀60年代,這個時期主要流行限定領(lǐng)域、處理結(jié)構(gòu)化數(shù)據(jù)的基于規(guī)則的問答系統(tǒng),例如BASEBALL等。到20世紀90年代,問答系統(tǒng)進入開放領(lǐng)域、基于檢索的時期。但是,這些系統(tǒng)難以應對復雜問題,魯棒性較弱,并且無法滿足更細粒度需求。
隨著深度學習領(lǐng)域的蓬勃發(fā)展,目前基于知識庫的問答系統(tǒng)(KBQA)以及基于機器閱讀理解的問答系統(tǒng)較為流行。基于知識庫的問答系統(tǒng)是一種把結(jié)構(gòu)化的知識庫作為信息源,利用知識庫中的事實和關(guān)聯(lián)知識來回答用戶提問的系統(tǒng),它在抽取式問答中也有較多應用。Xiong等人提出了一種新的端到端問題解答模型,可以利用結(jié)構(gòu)化和非結(jié)構(gòu)化信息源來回答不完整知識庫(KB)上的問題[2]。Das等人提出了一種神經(jīng)符號(Case-Based Reasoning, CBR)方法,用于回答大型知識庫中的問題[3]。雖然KBQA系統(tǒng)具有很多優(yōu)點,但由于KBQA十分依賴于知識庫的構(gòu)建水平,在目前中醫(yī)藥領(lǐng)域缺乏大規(guī)模結(jié)構(gòu)化知識庫的情況下,KBQA很難發(fā)揮它的優(yōu)勢,同時,在面對紛繁復雜的中醫(yī)藥文本時,其推理和理解能力也具有局限性。
基于機器閱讀理解(MRC)的問答系統(tǒng)目前已成為文本問答的主流形式,抽取式問答系統(tǒng)則是其中的重要分支。在大規(guī)模的閱讀理解數(shù)據(jù)集基礎(chǔ)上,深度學習網(wǎng)絡模型成為機器閱讀理解的研究熱點,神經(jīng)網(wǎng)絡模型能自動學習文本和問題之間的語義表示和交互,有利于提高問答的準確性和泛化能力。Lee等人將檢索和重新排序機制作為內(nèi)部段落注意力機制,依次應用于階段性的transformer架構(gòu),使得特征表示在各個階段逐步優(yōu)化,構(gòu)建了一個開放域問答系統(tǒng)[4]。Seo等人提出的模型BiDAF,基于雙向注意力流,能夠有效提高機器閱讀理解能力,避免過早地對上下文進行摘要而損失信息[5]。Qu等人提出了一種基于注意力機制的循環(huán)神經(jīng)網(wǎng)絡和基于相似度矩陣的卷積神經(jīng)網(wǎng)絡的模型,利用多任務學習的方式來同時優(yōu)化實體鏈接和關(guān)系檢測,在SimpleQuestions數(shù)據(jù)集上取得了最佳結(jié)果[6]。Fedus等人提出了Switch Transformer,它利用了一種簡單而靈活的稀疏注意力機制,將輸入分配給多個專家模塊,專家模塊間相互協(xié)作,有較強的閱讀理解能力[7]。雖然這些基于機器閱讀理解的問答系統(tǒng)進一步提高了問答能力,但是對于語義深奧、古文句式多、上下文關(guān)系復雜的中醫(yī)藥知識文本沒有提出很好的應對方法,且當前聚焦于中醫(yī)藥領(lǐng)域問答系統(tǒng)研究也十分稀少。
綜上,為了推動中醫(yī)藥知識體系信息挖掘,并應對中醫(yī)藥文本問答的挑戰(zhàn),我們基于PERT預訓練模型,利用亂序語言預訓練任務,結(jié)合“萬創(chuàng)杯”中醫(yī)藥天池大數(shù)據(jù)競賽開源數(shù)據(jù)集與DRCD數(shù)據(jù)集,構(gòu)建了一個中醫(yī)藥知識抽取式問答模型。經(jīng)實驗表明,該模型在中醫(yī)藥知識問答任務上的性能比較優(yōu)異。
2" 模型結(jié)構(gòu)
2.1" 整體研究框架
構(gòu)建基于PERT模型的中醫(yī)藥知識抽取式問答模型主要包括以下流程:1)選取和調(diào)整數(shù)據(jù)集,對數(shù)據(jù)集進行多輪的清洗與分析;2)劃分訓練集、驗證集、測試集;3)對數(shù)據(jù)進行分詞;4)構(gòu)建PERT亂序語言模型;5)模型訓練與微調(diào);6)模型評估與反饋。
2.2" PERT模型
PERT模型采用了一種新的亂序語言預訓練任務,其機器閱讀理解能力較為優(yōu)秀,其核心思想主要包括以下部分:1)使用亂序語言模型(Permuted Language Model, PerLM)作為預訓練任務,預測目標為原始輸入序列中的字詞位置;2)傳統(tǒng)掩碼任務中預測空間為詞表,但是PERT模型預測空間的大小取決于輸入序列長度;3)PERT模型舍棄了NSP任務,能夠在沒有添加掩碼標記的情況下自監(jiān)督學習文本語義信息;4)通過全詞屏蔽和N-gram屏蔽策略來選擇亂序的候選標記;5)對輸入序列中的15%詞語進行掩碼,其中的90%進行位置亂序,剩余10%作為負樣本保持原順序。
模型其他結(jié)構(gòu)與BERT相同,使用WordPiece方法作為分詞器,打亂部分句子順序后再進入詞嵌入層,之后進入堆疊的Transformer-Encoder神經(jīng)網(wǎng)絡,進行PerLM預訓練任務,最后接線性層并應用于下游任務。
2.3" 模型描述
基于PERT模型的中醫(yī)藥知識抽取式問答模型整體結(jié)構(gòu)如圖1所示。結(jié)構(gòu)主要分為數(shù)據(jù)輸入層、分詞層、打亂詞序?qū)印⑶度雽印ransformer-Encoder神經(jīng)網(wǎng)絡層、亂序語言模型層、線性層與激活函數(shù)。在數(shù)據(jù)輸入層和分詞層中,我們將問題與背景知識相拼接,而由于有較多文本長度超過了PERT模型512字的輸入限制,所以我們需要對超長輸入中的背景知識進行切片,以免文本被直接截斷影響問答訓練效果。切片的主要思想如下:1)切片的地方也可能包括答案,所以我們需要對相鄰切片之間的交集進行控制;2)我們利用答案的起始位置作為訓練標簽,同時維護原始文本和切片的對應關(guān)系;3)若背景知識中沒有答案,則將答案起始位置設(shè)為CLS標簽的位置;4)利用序列ID來區(qū)分一個輸入中的問題和背景知識;5)驗證集處理時,需要存儲偏移映射,并利用ID屬性與原始文本進行匹配,最終將預測的結(jié)果解釋為原始文本的跨度。
在打亂詞序?qū)雍颓度雽又?,我們將?5%的輸入中的90%進行隨機打亂,剩余10%不變,然后,輸入將經(jīng)過3個Embedding:1)Word_Embedding中輸入的字詞將被映射為高維向量表示;2)Segment_Embeddings將區(qū)分輸入中不同句段的關(guān)系;3)Position_Embeddings把字詞的位置信息嵌入向量表示中。
在Transformer-Encoder神經(jīng)網(wǎng)絡層中,每一層Encoder的結(jié)構(gòu)如圖2所示。其中多頭注意力機制(Multi-Head Attention)能提高模型注意力集中于不同位置的能力,以更好地利用上下信息;前向神經(jīng)網(wǎng)絡(Feedforward Neural Network)能促進特征提取,學習融合數(shù)據(jù)的非線性映射關(guān)系。向量最終進入亂序語言模型層。
在亂序語言模型層中,將按PERT模型介紹中的思想完成亂序語言預訓練任務(PerLM)。其中,PERT只需要去預測PerLM中所選定的位置,所以收集關(guān)于這些位置的子集,形成向量為H,然后依次用前饋全連接層(FFN)、Dropout層和Layer Normalization層對H進行處理,如式(1)所示。接著,使用Softmax函數(shù)得到歸一化概率,并使用交叉熵損失函數(shù)進行優(yōu)化,如式(2)所示:
最后進行中醫(yī)藥知識機器閱讀理解任務,其中會過線性層、激活函數(shù)等,并在此基礎(chǔ)上進行模型評估。
3" 實驗部分
3.1" 數(shù)據(jù)集
選取“萬創(chuàng)杯”中醫(yī)藥天池大數(shù)據(jù)競賽中醫(yī)文獻問題生成數(shù)據(jù)集作為核心數(shù)據(jù)集并進行格式調(diào)整,其包含18 000余條問答數(shù)據(jù),涉及《黃帝內(nèi)經(jīng)翻譯版》《名醫(yī)百科中醫(yī)篇》《中成藥用藥卷》等中醫(yī)藥知識,如表1所示。
而為了增強數(shù)據(jù)集,實驗中根據(jù)中醫(yī)藥知識數(shù)據(jù)集的長度特點,提取并翻譯了8 000余條DRCD繁體中文數(shù)據(jù)作為我們的輔助問答數(shù)據(jù)。同時,還利用回譯技術(shù)對2 000余條中醫(yī)藥數(shù)據(jù)進行了回譯,以期提高模型泛化能力。最終經(jīng)過多輪清洗和分析后,將數(shù)據(jù)集劃分為訓練集、驗證集、測試集,如表2所示。
3.2" 評價指標
實驗選取在評判機器閱讀理解能力中常用的Exact-Match與F1值作為評估標準。Exact-Match指預測字符串與其正確答案完全匹配的比例。F1值是模型準確率和召回率的調(diào)和平均,如式(3)所示,在閱讀理解任務中,準確率是將預測答案與標準答案的重疊長度與預測答案的比率;召回率的計算方法是預測答案與標準答案的重疊長度除以標準答案的長度。最終總的F1值是對每一個問答的F1值取宏平均。
(3)
不過,從人類實際理解的角度出發(fā),當預測答案包括正確答案,并且成完整句子時,也是一種合理的正確答案。因此,增加了Contain-Answer-Rate指標,用于表示預測答案包含正確答案的比例。
測試評估的核心思想是利用模型的原始預測值logits。因為每個特征中的各個字都會對應一個預測值logit,所以,可以從起始位置的預測值里選擇最大的下標作為答案起始位置,從結(jié)束位置的預測值里選擇最大下標作為答案的結(jié)束位置,從而得到預測答案。但是對于起始位置比結(jié)束位置的下標更大、答案過長等特殊情況有額外處理。
3.3" 實驗環(huán)境和模型參數(shù)
實驗的環(huán)境參數(shù)如下所示:1)CPU:Xeon Gold 6248R 10核;2)GPU:NVIDIA A100-PCIE-40GB;
3)操作系統(tǒng):Linux(Ubuntu 20.04);4)PyTorch 1.10.0;5)CUDA 11.3;6)Python 3.8。
模型參數(shù)是預訓練模型中神經(jīng)網(wǎng)絡中的權(quán)重和偏置,對模型的行為和性能具有重要影響,如表3所示。
3.4" 實驗對比與結(jié)果分析
為了驗證模型在中醫(yī)藥知識問答任務中的性能與表現(xiàn),首先對基于PERT的中醫(yī)藥知識抽取式問答模型進行了評估測試,如表4所示??紤]到數(shù)據(jù)集隨機劃分的影響,表中的數(shù)據(jù)是三次測試結(jié)果的平均值,每次實驗的參數(shù)相同,但是數(shù)據(jù)集的隨機劃分不同。
同時,為了更充分地體現(xiàn)該模型的中醫(yī)藥知識問答性能的優(yōu)越性,實驗選取了BERT、ALBERT、RoBERTa、SpanBERT在中醫(yī)藥知識問答任務中進行了多組對比實驗,并在同一中醫(yī)藥問答測試集和驗證集上測試,測試的結(jié)果如表5所示,表中的數(shù)據(jù)依舊是三次測試的平均值,每次實驗數(shù)據(jù)集劃分不同。
從表4可以看出,本模型的驗證集評估結(jié)果中,三個數(shù)值均超過92%,這充分說明了對于已經(jīng)學習過的中醫(yī)藥知識問答,本模型能提供極高的問答準確性,這具有較強的實際應用意義;而測試集中,模型Contain-Answer-Rate高達79.89%、Exact-Match數(shù)值超過61%、F1值為63.40%,這也證明了本模型對于未接觸過的中醫(yī)藥知識問答,也有不錯的泛化能力。
從表5中可以看出,對比同樣善于機器閱讀理解的BERT、ALBERT、RoBERTa、SpanBERT模型,本模型在中醫(yī)藥知識問答任務中的表現(xiàn)更為優(yōu)秀,在測試集和驗證集上的Exact-Match、Contain-Answer-Rate、F1均為最高。以測試集為例,本模型比第二優(yōu)秀的SpanBERT-large模型分別高約0.3%、2.05%、0.68%,比第三優(yōu)秀的RoBERTa-large模型分別高約2.7%、1.5%、3.4%。這些對比實驗證明了,基于PERT模型的中醫(yī)藥知識抽取式問答模型,相比于其他模型而言,在中醫(yī)藥問答任務上具有更優(yōu)異的表現(xiàn)和性能,對于給定的中醫(yī)藥背景知識以及對應的問題,能夠給出更精確的回答。
4" 結(jié)" 論
針對從海量中醫(yī)藥資料中準確提取和應用知識的難題,本文構(gòu)建了一個基于PERT模型的中醫(yī)藥知識抽取式問答系統(tǒng),結(jié)合亂序語言預訓練任務,在閱讀理解任務中,有效提高了模型提取文本語義特征和信息的能力,增強了模型問答性能。同時,通過多組對比實驗,充分證實了,該模型在中醫(yī)藥知識問答任務上具有優(yōu)異的表現(xiàn)和性能,善于對中醫(yī)藥知識的機器閱讀理解。本研究是對中醫(yī)藥知識和智能處理的一次結(jié)合,能為挖掘龐大中醫(yī)藥知識體系、提取應用中醫(yī)藥知識提供一些借鑒。在未來也會結(jié)合相關(guān)技術(shù),做進一步思考與改進。
參考文獻:
[1] CUI Y M,YANG Z Q,LIU T. PERT: Pre-training BERT with Permuted Language Model. [J/OL].arXiv:2203.06906 [cs.CL].[2023-10-26].https://arxiv.org/abs/2203.06906.
[2] XIONG W H,YU M,CHANG S Y,et al. Improving Question Answering over Incomplete KBs with Knowledge-Aware Reader [J/OL].arXiv:1905.07098 [cs.CL].[2023-10-26].https://arxiv.org/abs/1905.07098v1.
[3] DAS R,ZAHEER M,THAI D,et al. Case-based Reasoning for Natural Language Queries over Knowledge Bases [J/OL] arXiv:2104.08762 [cs.CL].[2023-10-26].https://arxiv.org/abs/2104.08762v2.
[4] LEE H,KEDIA A,LEE J,et al. You Only Need One Model for Open-Domain Question Answering [BE/OL].[2023-10-26].https://arxiv.org/pdf/2112.07381v1.
[5] SEO M,KEMBHAVI A,F(xiàn)ARHADI A,et al. Bidirectional Attention Flow for Machine Comprehension [J/OL].arXiv:1611.01603 [cs.CL].[2023-10-27].https://arxiv.org/abs/1611.01603.
[6] QU Y Q,LIU J,KANG L Y,et al. Question answering over Freebase via attentive RNN with similarity matrix based CNN [J/OL].arXiv:1804.03317 [cs.CL].[2023-10-27].https://arxiv.org/abs/1804.03317v3.
[7] FEDUS W,ZOPH B,SHAZEER N. Switch Transformers: Scaling to Trillion Parameter Models with Simple and Efficient Sparsity [J/OL].arXiv:2101.03961 [cs.LG].[2023-10-26].https://arxiv.org/abs/2101.03961v3.
[8] LAN Z Z,CHEN M D,GOODMAN S,et al. ALBERT: A Lite BERT for Self-supervised Learning of Language Representations [J/OL].arXiv:1909.11942 [cs.CL].[2023-10-26].https://arxiv.org/abs/1909.11942.
[9] LIU Y H,OTT M,GOYAL N,et al. RoBERTa: A Robustly Optimized BERT Pretraining Approach [J/OL].arXiv:1907.11692 [cs.CL].[2023-10-26].https://arxiv.org/abs/1907.11692.
[10] JOSHI M,CHEN D Q,LIU Y H,et al. SpanBERT: Improving Pre-training by Representing and Predicting Spans [J/OL].arXiv:1907.10529 [cs.CL].[2023-10-26].https://arxiv.org/abs/1907.10529.
作者簡介:陳昊飏(2003—),男,漢族,浙江嘉興人,本科在讀,主要研究方向:文本分類、問答系統(tǒng);于同舟(2002—),男,漢族,內(nèi)蒙古人,本科在讀,主要研究方向:數(shù)據(jù)處理與分析;何強強(1996—),男,漢族,江蘇南通人,博士研究生在讀,主要研究方向:自然語言處理、人機交互。
收稿日期:2023-11-17