<p id="g32nn"></p>
    1. <acronym id="g32nn"><strong id="g32nn"></strong></acronym>
      <pre id="g32nn"></pre>

      <table id="g32nn"><option id="g32nn"></option></table>
          當前位置:首頁 > 科普 > 列表 > 正文

          面向中醫古籍的文言文信息抽取技術研究
          2022-09-28

          0 引言

          中醫學是中國傳統科學中沿用至今的富有中國文化特色的醫學,它具有系統的理論體系,獨特的診療手法和顯著的臨床療效等特征,在中華民族歷史長河中,始終擔負著促進健康發展的重要角色。在與 2020 年初爆發的新型冠狀病毒疫情斗爭的過程中,中醫藥通過臨床運用,表現出良好的療效,發揮了一定的防治作用。

          傳統的中醫知識大多以古籍文言文的方式記載,后人在學習和理解過程中存在一定的難度。針對中醫古籍文言文的信息抽取能降低學習成本,并且能有效地推廣中醫領域相關知識以促進其臨床診療和應用。

          1 中醫古籍文言文信息抽取的研究內容

          文本的信息抽取主要有實體抽取、實體關系抽取和事件抽取三種任務。對于中醫古籍而言,信息抽取的任務更多關注實體抽取和關系抽取。相對于現代白話文,文言文寫作方式簡練,對應語料相對較少,因此對文言文古籍進行自動化信息抽取的難度更大。

          1.1 中醫古籍的實體抽取

          實體抽取也稱為命名實體識別(Named Entity Recognition,NER),主要是將非結構化文本中的人名、地名、機構名和具有特定意義的實體抽取出來并加以歸類,組織成半結構化或結構化的信息。實體識別是文本處理的基礎,對文本后續的分析和理解起著至關重要作用。

          中醫古籍文本中蘊含了豐富的理論知識及臨床經驗,通過信息抽取技術的介入,能大量、準確、自動化地提出所需要的信息。利用命名實體識別技術,挖掘中醫領域實體具有一定潛在的應用價值。例如,中醫領域的研究人員可以借助此技術識別文本中的中藥名詞和方劑名詞,以加快中醫藥知識庫的檢索速度及準確率。

          中醫術語的自動識別指從中醫文獻中識別出癥狀、病名、脈象、方劑、中藥材、功效等術語實體,以結構化的形式存入關系數據庫中,供進一步查詢或分析使用。例如,《中華藥典》中有一段關于“生化湯”的描述,我們對其進行實體抽取,得到分別屬于“方劑”“中藥材”和“功效”這三類中的 7個實體,如圖 1 所示。

          圖 1 從中醫古籍文本中抽取實體信息展示

          1.2 中醫古籍的關系抽取

          關系抽取是從一段文本中提取出發生在兩個實體之間語義關系的任務。通過關注兩個實體間的語義關系,最后得到一個“主體 - 關系 - 客體”的三元組,其中“主體”和“客體”都是實體在關系中的角色,在三元組中則指代在這一關系中對應角色的實體。

          依然以《中華藥典》中對“生化湯”的描述為例。根據文本內容可知,在生化湯這一方劑中,當歸為君,川芎、桃仁為臣,黑姜為佐,灸甘草為使。那么可以得到的三元組有“生化湯 - 君 - 當歸”“生化湯 - 臣 -川芎”“生化湯 - 臣 - 桃仁”“生化湯 - 佐 - 黑姜”和“生化湯 - 使 - 灸甘草”;同時還可以知道生化湯的功效為活血化瘀,那么又可以得到三元組“生化湯 - 功效 -活血化瘀”。關系抽取后得到的實體關系,如圖2所示。

          圖 2 從中醫古籍中抽取實體關系結果展示

          2 信息抽取的相關技術

          信息抽取是指從自然語言文本中 , 抽取出特定的事件或事實信息,從而將海量文本內容自動分類、提取和重構。下面主要介紹信息抽取過程中涉及到的相關理論與技術。

          2.1 詞向量與預訓練語言模型

          詞向量是在自然語言處理領域中重要的基礎,構建有效的詞向量有利于對情感、句法、語義等方向進行深入研究分析。詞向量的構成有很多方法,如 OneHot與詞袋模型、預訓練詞向量和預訓練語言模型。

          2.1.1 One-Hot 與詞袋模型

          One-Hot 編碼是一種非常原始的文本編碼方法。其主要思想是,設語料庫的詞典大小為 n,那么設立一個 n 維的向量,假如某個詞在詞典中的位置為 k,這個向量的第 k 維置為 1,其他維全部置 0。這種方法只是將文本的字或詞進行最簡單的向量化,而沒有考慮詞序及其語義特征。

          詞袋模型則是針對句子或者篇章的編碼模型。在上述提到的語料庫中,假如一句話中包含三個詞,這三個詞在詞典中的位置分別為 i、j、k,那么設立一個 n 維的向量,這個向量的第 i、j、k 分別設為 1,其他維設為 0。這種方法雖然實現了對文本句子或篇章的編碼,但是沒有考慮句子內部的上下文特征。

          總之,上述兩種方法只能實現最基本的文本向量表示功能,沒有考慮文本的語義信息。

          2.1.2 預訓練詞向量

          為了解決 One-Hot 編碼向量過于稀疏,同時又不包含語義特征的特點,研究者開始用維度較小的稠密向量來對字或詞進行表示?,F有的主流詞向量表示模型有 word2vec、fastText、GloVe 等。

          這類方法一般都是利用大量語料訓練出針對詞表中每個詞的詞向量表示,在后續任務直接使用。這種方法雖然使訓練出的詞向量具有一定語義特征,但是難以解決一詞多義現象。比如詞匯“小米”,它既可以代表一家公司的名稱,又可以代表一種“五谷”中的糧食名稱。然而,在上述的這些方法產生的詞向量中,“小米”都只有一種向量表示,無法從這樣的預訓練詞向量中分辨文本中出現的“小米”該屬于哪種解釋。

          2.1.3 預訓練語言模型

          BERT(Bidirectional Encoder Representations from Transformers)是由 Google 公司于 2018 年提出的一種預訓練語言模型。它使用 Google 公司 在“Attention is all you need”一文中提出的Transformer 結構作為網絡結構。在實際應用中,將句子輸入 BERT 后,可以得到對應的編碼結果,該結果可用于后續具體任務轉化。鑒于 BERT 強大的性能,各種預訓練語言模型如雨后春筍般地涌現 出 來。例 如 XL-Net、RoBERTa、BERT-wwm、ALBERT、ERNIE 等,均為基于 BERT 的思想衍生出來的預訓練語言模型。北京理工大學的閻覃等基于 BERT-wwm,利用大量的古籍文本訓練出了專門用于面向古漢語文本的預訓練模型 GuwenBERT,該模型在 2020 年“古聯杯”古籍文獻命名實體識別評測大賽中取得了優異成績。

          2.2 雙向長短時記憶網絡

          長 短 時 記 憶 網 絡(Long Short-term Memory Network,LSTM) 是 繼 循 環 神 經 網 絡(Recurrent Neural Network,RNN)之后具有里程碑意義的神經網絡。它的主要目的是解決序列訓練過程中的梯度消失問題和梯度爆炸問題。LSTM 內部通過門控狀態來控制傳輸狀態,存儲重要信息,丟棄不重要信息,因而它在序列相關問題中,與 RNN 相比有著更好性能。LSTM 的網絡結構,如圖 3 所示。

          圖 3 LSTM 的網絡結構圖

          通常情況下,句子中字或詞的具體含義除了其本身含義外,還要受到上下文影響。然而,單向LSTM 只能將上文的信息傳遞給下文,沒有來自下文的內容反饋,這顯然是不夠的。因而,研究者們通過采用雙向長短時記憶網絡(Bi-directional Long Short-Term Memory Network,BiLSTM)來同時計算上下文對一個詞的影響。

          2.3 條件隨機場

          條件隨機場 (Conditional Random Field,CRF) 是一種統計建模方法。它結合了最大熵模型(Maximum Entropy Markov Model,MEMM)和隱馬爾可夫模型(Hidden Markov Model,HMM)的優點,形成了無向圖模型,并可以考慮上下文信息,如圖 4 所示。在一些需要預測樣本之間依賴關系的應用場景中,CRF 是一種很好的方法。因而,CRF 被廣泛應用于文本的序列標注任務中。

          圖 4 條件隨機場結構示意圖

          2.4 注意力機制

          注意力機制(Attention Mechanism)能實現信息處理資源的高效分配,是專家仿照人類注意力機制而提出的一種模型。例如,當一種場景進入人類視野時,人往往會先關注場景中的重點,如動態的點或者突兀的顏色等,其余的靜態場景會暫行性忽略,在文本處理的場景中亦是如此。當程序處理到句子某個組分時,會著重考慮與該組分比較相關的其他組分,而暫時性忽略與其相關性較低甚至不相關的組分。

          注意力機制最先被應用于圖像處理領域,并取得了重要突破。近些年,越來越多的學者將其應 用 于機器翻譯領域,同樣取得了很好效果。Google 公司在“Attention is all you need”中提出的transformer 模型更是摒棄了傳統的 CNN、RNN 方法,完全采用注意力機制對模型進行訓練,使算法準確率有了大幅提升。此后,大量基于注意力機制的自然語言處理模型開始涌現,實驗結果表明注意力機制可以有效提高關系抽取效果。

          3 中醫古籍文言文信息抽取的技術路線

          目前,文本信息抽取方法可以分為流水線抽取和聯合抽取。流水線抽取將任務分為兩步:先進行實體抽??;然后基于實體抽取的結果進行關系抽取。聯合抽取將任務看作一個整體,采用端到端的思想輸入文本,輸出“實體 - 關系 - 實體”三元組。

          3.1 流水線抽取方法

          3.1.1 文本的實體抽取模型

          一般情況下,我們將實體抽取任務看作一個序列標注的任務。而當前在文本的序列標注領域,通常采用 BERT-BiLSTM-CRF 這樣的網絡結構。大量研究證明,這種網絡結構與其他的模型相比能取得更好的抽取效果。在 BERT-BiLSTM-CRF 這樣的網絡結構中,各組件分別起到下述作用。

          (1)BERT 作為編碼器(Encoder)。它能把原始文本中的字或詞,以及標點符號編碼成含有豐富而又相對更加準確的語義信息向量。BERT 也能根據文本上下文信息,有效解決一詞多義現象。

          (2)BiLSTM 能進一步學習文本序列中的上下文信息。具體而言,LSTM 能有效改善文本序列中的“長期依賴”問題,而雙向的結構使其能同時學習上下文信息,因而在序列標注任務中能取得更好效果。

          (3)CRF 可以有效學習序列標簽之間的依賴關系。在文本實體抽取任務中,存在多種標注方案,以最基礎的 BIO 方案為例。在 BIO 方案中,B 表示實體的開頭,I 表示實體中除了開頭之外其他組分, O 則表示句子中不屬于任意實體部分。在這一標注方案中,相鄰的兩個字或詞之間可能會產生 BB、II、OO、BI、IB、BO、IO 和 OI 幾種標注結果。顯然,OI 這種標注結果是錯誤的。CRF 能有效避免這種不合理標注結果的出現。

          中醫古籍文本的實體抽取任務本質上與普通文本的實體抽取任務相似,關鍵是需要選擇一種基于文言文的文本預訓練模型,如上文提到的GuwenBERT。同時,也需要針對具體的語料設計相應的序列標注方案。比如,上文提到的有關“生化湯”的文本實例,其中包含的實體類型有“方劑”“中藥材”和“功效”,我們可以將這三種實體類別分別用 FJ、ZYC 和 GX 來表示,那么序列標注結果就可能有 B-FJ、I-FJ、B-ZYC、I-ZYC、B-GX、I-GX和 O;或者可以針對每類實體構建一個序列標注的分類器來進行訓練。

          3.1.2 實體關系分類模型

          在流水線抽取方法的實體關系分類模型中,獲取到實體之后,針對每兩個實體進行關系分類。實體關系分類一般屬于多分類任務,即有一個以上的實體關系類別。上文舉的“生化湯”例子中包含了“君”“臣”“使”“佐”和“功效”這五種關系類別;同時,像“黑姜”和“活血化瘀”這兩個實體之間不具備上述提到的幾種關系,它們之間的關系可以定義為“空”或者“無”。那么,候選實體間關系類別一共有六種,因此需要構建一個六分類器。

          然而,這種分類方法的數據是嚴重不平衡的。同時,關系分類結果也嚴重依賴實體抽取結果,如果實體抽取出現錯誤,那么錯誤必然也會累積到關系分類中,這會進一步降低模型效果。

          3.2 聯合抽取方法

          由于文本信息抽取的流水線方法存在一定缺陷,近年來大量的研究學者嘗試將實體抽取與關系抽取任務進行聯合建模。研究表明,這種方法相對于流水線抽取方法能取得更優效果。

          2016 年,Miwa 等提出一種端到端模型,其使用了 LSTM 與 tree-LSTM 結構,基于詞序和依存樹結構信息來同時抽取實體及其關系。該模型被認為是實體與關系聯合抽取的開山之作,后續很多研究都會與其進行比較。2017 年,Zheng 等將實體關系聯合抽取看作一個序列標注任務,并且取得了非常好的效果。在之前聯合抽取模型中,雖然通過共享參數等方法將兩個任務整合到同一個模型中,但這兩個任務實際上仍然是兩個分離過程。Zheng 等設計了一種新穎的同時包含實體信息與實體間關系信息的標注方案,很好地將兩個任務融合在一起。在這種標注方案中,增加了實體間關系角色。以上述“生化湯”的文本來舉例。如“生化湯”與“當歸”這兩個實體存在的關系為“生化湯 - 君 - 當歸”,那么“生化湯”的標注結果就是“B-JUN-0 I-JUN-0 I-JUN-0”“當歸” , 的標注結果是“B-Jun-1 I-Jun-1”。其中,Jun 表示實體關系類別為“君”,0 和 1 則表示這兩個實體在這個關系中的角色,即它們在三元組中的位置。這種方法也存在一個很明顯缺陷,就是沒有考慮實體關系重疊問題。例如,在描述“生化湯”文本中,“生化湯”這一實體與其他六個實體都存在關系,但是這種標注方案只能標注出它與其中一種實體的關系。

          2018 年,Bekoulis 等將實體與關系抽取看作是一個“多頭選擇”問題,來解決之前聯合抽取模型中存在的關系重疊問題。該方法不再將關系抽取當作一個關系之間互斥的多分類任務,而是看作每個關系之間相互獨立的二分類任務,從而判斷某一實體是否與其他實體存在多種關系。后續有很多研究人員在這一領域做了大量創新性工作。比如,Li 等將實體關系聯合抽取任務作為一個多輪問答問題來處理,即每種實體和每種關系都用一個問答模板來進行刻畫,根據這些模板化問題來從上下文中抽取實體和關系。例如,下面給出一個簡單的問答模板。

          問:文本中提到了哪種方劑?

          答:生化湯

          問:生化湯的“君”是什么中藥材?

          答:當歸

          問:生化湯的功效是什么?

          答:活血化瘀

          此外,研究學者從實際問題出發,探索出許多新穎標注方案,嘗試解決實體和關系抽取中的關系重疊等問題。

          4 中醫古籍文言文信息抽取所面臨的挑戰 結束語

          現如今,雖然文本信息抽取領域研究如火如荼,但是針對中醫古籍研究和相關的資源相對較少。文言文和白話文之間存在較大差距,同時數據集等相關公開資源短缺也在一定程度上限制了這一研究領域發展。目前在面向中醫古籍的文言文信息抽取任務中,主要存在以下問題。

          4.1 源語言語義理解不足

          古代文言文是一種意合的語言,其篇章的省略、指代稱謂等語言現象較為復雜;特別是由于古籍橫跨多個中國朝代,不同朝代的古籍之間也存在不同的語言表述,甚至發生謬誤。如臨床常用的穴位“三陰交”,在唐代以前的文獻中是足內踝上三寸的“足太陰交”穴位置,是對《靈樞·經脈》謂足厥陰經脈“上踝八寸,交出太陰之后”的誤判,源流可靠的“三陰交”穴在宋初戛然而止;而從宋代至今,高頻度使用的卻是被誤解或異化的“三陰交”穴(朱兵《系統針灸學》)。此外,傳統模型在識別和利用各個概念實體之間蘊含的語義關系上能力較差,這些都導致在信息提取過程中對源語言的語義理解出現偏差,進一步導致臨床運用上的錯誤。同時,像“癥狀”“功效”這類實體或短語,表達起來非常靈活,同樣的意思在文言文語境中存在多種不同表達方式,這也給中醫古籍的信息抽取帶來了挑戰。

          4.2 領域內標注信息質量及數量不足

          雖然同為漢語,但文言文和白話文在詞語表述、語法構成等方面均不相同,是漢語言跨時空、跨語境的表示方式,因此在數據累計上,并無過多可以復用的內容。此外,中醫古籍領域作為具備獨特語言學特性的書面文獻,其行文中蘊含了較多概念實體,各實體間的關系體現出更為復雜的特征,因此增加了信息抽取難度。穴位名稱的時代變遷即為其中一例,現存最早的敦煌卷子穴位圖殘存的 69 個穴位中,與傳世文獻同名同位的穴位僅有 11 個,異名同位的穴位有 19 個,其他均為同名異位(14 個)、異名異位(11 個)和存疑待考的穴位。即使在現代教材中,也會出現同一穴位不同名稱,如“絕骨”又名“懸鐘”,而在癥狀描述方面則存在更多差異?;谝陨蠁栴},若采用眾包方式對數據進行標注,會出現由于對中醫領域知識的認知不足,導致標注數據質量參差不齊的情況。目前能熟練并理解中醫古籍材料的研究員較為稀缺,因此針對文言文這種特殊漢語表述,缺少一定量標注數據,給模型訓練帶來了很大困難。

          5 結束語

          本文介紹了中醫古籍信息抽取的主要任務和挑戰,同時闡述了中醫古籍信息抽取中實體抽取和實體關系抽取這兩項主要任務的基本情況及發展現狀。

          總而言之,面向中醫古籍的信息抽取是文本信息抽取的一部分。中醫古籍信息抽取技術的發展在很大程度上也依托于普通文本信息抽取技術發展。但是基于中醫古籍文本的特殊性,需要開展大量針對性工作,包括訓練數據的獲取,以及算法的創新等。相信隨著這一領域研究的深入,這項任務也會得到更進一步的發展。

          97久久久久人妻精品专区_国产成人精品视频导航_国产色诱视频在线播放网站_97午夜理论电影影院
          <p id="g32nn"></p>
          1. <acronym id="g32nn"><strong id="g32nn"></strong></acronym>
            <pre id="g32nn"></pre>

            <table id="g32nn"><option id="g32nn"></option></table>