黃英璇 謝潤(rùn)昕
摘 要 文章基于中醫(yī)經(jīng)方構(gòu)建知識(shí)圖譜 搭建信息檢索 智能問診系統(tǒng) 以圖的形式對(duì)經(jīng)方進(jìn)行計(jì)量和可視化分析 為小程序用戶提供更加精準(zhǔn)詳細(xì)的經(jīng)方信息 首先 探討了知識(shí)圖譜的基礎(chǔ)理論與構(gòu)建技術(shù) 其次 采用人工標(biāo)引的方法 對(duì)經(jīng)方中的語義實(shí)體進(jìn)行提取 對(duì)語義關(guān)系進(jìn)行梳理 利用python對(duì)形成的邏輯數(shù)據(jù)進(jìn)行處理 并基于neo4j 構(gòu)建知識(shí)圖譜 最后 在neo4j 圖數(shù)據(jù)庫(kù)中 定義了經(jīng)方 病癥 癥狀 藥材 體質(zhì)5 大實(shí)體 形成了 12種概念類型以及13 種概念間關(guān)系及其約束規(guī)則包含 412個(gè)節(jié)點(diǎn)和805 條關(guān)系 實(shí)現(xiàn)了中醫(yī)經(jīng)方知識(shí)圖譜的初步構(gòu)建及智能檢索 結(jié)果表明 結(jié)合neo4j圖數(shù)據(jù)庫(kù)技術(shù)構(gòu)建中醫(yī)經(jīng)方知識(shí)圖譜具有直觀 高效的特點(diǎn) 便于小程序進(jìn)行中醫(yī)藥知識(shí)智能化服務(wù)以及經(jīng)方推薦
關(guān)鍵詞 中醫(yī)藥經(jīng)方 知識(shí)圖譜 語義關(guān)系
中圖法分類號(hào)r197 文獻(xiàn)標(biāo)識(shí)碼a
1 引言
中醫(yī)藥知識(shí)是中華民族世代傳承的醫(yī)藥知識(shí),是民族智慧的結(jié)晶,具有獨(dú)特的哲學(xué)基礎(chǔ)、基本理論體系、診療實(shí)踐和教學(xué)模式,以及研究范式。傳統(tǒng)的中醫(yī)藥傳承多屬于個(gè)體傳授,在中醫(yī)傳承的過程中老中醫(yī)的臨床經(jīng)驗(yàn)、診療能力及技巧只有一部分可通過語言、文字、圖像、符號(hào)等顯性知識(shí)方式表達(dá)出來,更多的隱性知識(shí)因其難以表達(dá)而不容易傳承[1] 。在中醫(yī)藥知識(shí)傳承方面,通過現(xiàn)代信息技術(shù)手段來對(duì)顯性和隱性知識(shí)進(jìn)行知識(shí)管理,從一定程度上能對(duì)中醫(yī)知識(shí)進(jìn)行深度挖掘,發(fā)揮中醫(yī)知識(shí)的價(jià)值。所謂顯性知識(shí),就是指已經(jīng)存在的方藥、典籍以及其他已經(jīng)編碼的中醫(yī)藥知識(shí),本文將對(duì)顯性知識(shí)進(jìn)行知識(shí)圖譜的構(gòu)建及應(yīng)用[2] 。
作為人工智能的一個(gè)分支,知識(shí)圖譜相關(guān)技術(shù)近年來取得突破性進(jìn)展,使得傳統(tǒng)知識(shí)表示和推理技術(shù)有了落腳點(diǎn)[3] ,其在互聯(lián)網(wǎng)等各大領(lǐng)域均有滲透且成果顯著。本文根據(jù)黃煌《經(jīng)方使用手冊(cè)》開發(fā)微信經(jīng)方小程序,應(yīng)用知識(shí)圖譜來構(gòu)建中醫(yī)經(jīng)方的百科系統(tǒng),搭建信息檢索、智能問診系統(tǒng),以圖的形式對(duì)經(jīng)方進(jìn)行計(jì)量和可視化分析,為小程序用戶提供更加精準(zhǔn)詳細(xì)的經(jīng)方信息。
2 經(jīng)方知識(shí)圖譜的設(shè)計(jì)與構(gòu)建
2.1 本體層構(gòu)建
知識(shí)圖譜的構(gòu)建是形成知識(shí)體系邏輯結(jié)構(gòu)的重要環(huán)節(jié),包括本體層構(gòu)建和數(shù)據(jù)填充2 部分。本文采用自頂向下和自底向上相結(jié)合的構(gòu)建方法,依次經(jīng)過模式圖定義、知識(shí)抽取、知識(shí)融合3 個(gè)步驟完成基礎(chǔ)知識(shí)庫(kù)的構(gòu)建[4] 。模式圖包含知識(shí)庫(kù)的概念、概念的屬性,以及概念之間的層次關(guān)系。在經(jīng)方數(shù)據(jù)庫(kù)中,定義了5 個(gè)實(shí)體,包括經(jīng)方、病癥、癥狀、藥材、體質(zhì);形成了12 種概念類型,包括經(jīng)方、疾病、體質(zhì)、病因病機(jī)、先天稟賦、后天調(diào)養(yǎng)、環(huán)境因素、面象、舌象、脈象、癥狀、藥材,形成了13 種概念間關(guān)系及其約束規(guī)則。構(gòu)建經(jīng)方本體12 種、語義關(guān)系13種,經(jīng)方知識(shí)圖譜本體層框架如圖1 所示。
2.2 數(shù)據(jù)層處理
2.2.1 知識(shí)獲取
本文對(duì)中國(guó)知網(wǎng)、萬方數(shù)據(jù)知識(shí)服務(wù)平臺(tái)、維普資訊中文期刊服務(wù)平臺(tái)、中醫(yī)草藥網(wǎng)站進(jìn)行檢索,設(shè)置主題詞為“中醫(yī)經(jīng)方”“體質(zhì)”“草藥”。同時(shí),收集黃煌關(guān)于中醫(yī)體質(zhì)與經(jīng)方的著作和中醫(yī)體質(zhì)學(xué)教材,并整理黃煌會(huì)議演講稿、訪談稿以及門診病例,共同構(gòu)成經(jīng)方知識(shí)圖譜相關(guān)知識(shí)的資料來源。本文對(duì)黃煌先生整理的《十大類方》《經(jīng)方使用手冊(cè)》進(jìn)行考證,校對(duì)整理電子文本,并上傳到已有的數(shù)據(jù)庫(kù)。根據(jù)知識(shí)圖譜模式層設(shè)計(jì)要求從知識(shí)元中提取語義實(shí)體并建立語義關(guān)聯(lián),要求是盡量遵循原文直接提取,對(duì)于助詞、連詞、形容詞等無實(shí)際意義的詞匯則不予提取。例如,《經(jīng)方使用手冊(cè)》中描述的當(dāng)歸芍藥散“婦人腹中痛,或浮腫,或冒眩,或頭痛,或自下利,或月經(jīng)不調(diào)者?!?提取“腹痛” “目眩” “頭痛” “月經(jīng)不調(diào)”“自下利”為癥狀表現(xiàn)語義;當(dāng)歸芍藥散為經(jīng)方語義,并建立經(jīng)方與癥狀關(guān)系。癥狀語義提取圖如圖2所示。
2.2.2 知識(shí)抽取存儲(chǔ)
根據(jù)經(jīng)方知識(shí)圖譜本體層框架,采用人工標(biāo)注的方法對(duì)獲取的非結(jié)構(gòu)化文本資料進(jìn)行結(jié)構(gòu)化處理,抽取實(shí)體、語義關(guān)系、屬性等關(guān)鍵信息并保存。本文使用Neo4j 圖數(shù)據(jù)庫(kù)軟件對(duì)上述結(jié)構(gòu)化數(shù)據(jù)進(jìn)行知識(shí)存儲(chǔ),該軟件以節(jié)點(diǎn)表示實(shí)體,以標(biāo)簽表示實(shí)體類別,以邊表示實(shí)體與實(shí)體之間的相互關(guān)系,并以三元組的形式構(gòu)建實(shí)體與實(shí)體間的聯(lián)系。將數(shù)據(jù)導(dǎo)出為半結(jié)構(gòu)化的json 格式,再使用Python 將其轉(zhuǎn)化為csv 文件。即根據(jù)不同的csv 文件設(shè)置不同的lavel,再將其中的“經(jīng)方名” 提取為節(jié)點(diǎn)名稱name,以構(gòu)成節(jié)點(diǎn)Node<label,name>。例如,小柴胡湯節(jié)點(diǎn)<fang,小柴胡湯>, 而后, 將“ 關(guān)系” 作為實(shí)體間的關(guān)系Relationship<經(jīng)方名,藥材名,關(guān)系>,如經(jīng)方藥材關(guān)系<補(bǔ)中益氣湯,人參,成分>。最后,使用Neo4j 數(shù)據(jù)庫(kù)將各個(gè)csv 文件導(dǎo)入數(shù)據(jù),完成知識(shí)圖譜的構(gòu)建。本文構(gòu)建的知識(shí)圖譜共包含經(jīng)方節(jié)點(diǎn)87 個(gè),癥狀節(jié)點(diǎn)207 個(gè),藥材節(jié)點(diǎn)118 個(gè)以及805 條邊。知識(shí)圖譜展示圖如圖3 所示。
3 經(jīng)方知識(shí)圖譜的檢索
Neo4j 將數(shù)據(jù)存儲(chǔ)在網(wǎng)絡(luò)結(jié)構(gòu)中,這種形式能夠隨時(shí)添加或更改數(shù)據(jù),且無論節(jié)點(diǎn)或關(guān)系的數(shù)量或深度如何,都能確保處理過程的零延遲和實(shí)時(shí)性能,特別適合路徑查詢與模式發(fā)現(xiàn)。Neo4j 圖數(shù)據(jù)庫(kù)內(nèi)設(shè)有專屬Cypher 語言,可以對(duì)數(shù)據(jù)進(jìn)行創(chuàng)建、查詢、更新、刪除等操作,亦可構(gòu)建出更為高級(jí)的查詢語句而無需編寫復(fù)雜代碼即可實(shí)現(xiàn)對(duì)語義實(shí)體及語義關(guān)系的檢索及可視化展示[5] 。基于Neo4j 知識(shí)圖譜的小程序設(shè)計(jì),中醫(yī)經(jīng)方的邏輯數(shù)據(jù)以“病脈證并治”的形式儲(chǔ)存在知識(shí)圖譜中,計(jì)算機(jī)便能以該形式對(duì)用戶的提問搜索進(jìn)行推理并返回結(jié)果。
首先,計(jì)算機(jī)從用戶的搜索問題中提取關(guān)鍵詞并判斷問題類型,通過模式串匹配的方式,找出問題中的實(shí)體詞,利用AC 自動(dòng)機(jī)優(yōu)化模式串匹配,以提高匹配的速度。匹配的具體過程為從圖數(shù)據(jù)庫(kù)中提取所有相關(guān)實(shí)體詞,構(gòu)建AC 自動(dòng)機(jī),將輸入的問題作為主串、AC 自動(dòng)機(jī)作為模式串進(jìn)行匹配,匹配主串中存在的實(shí)體詞,并將匹配的實(shí)體詞標(biāo)簽和疑問詞標(biāo)簽進(jìn)行組合,以判斷問題的類型。其次,將問題轉(zhuǎn)化為CQL 語句,不同的問題類型,其轉(zhuǎn)化的方式不同。最后,根據(jù)CQL 語句返回結(jié)果并輸出答案。利用Neo4j 圖數(shù)據(jù)庫(kù)進(jìn)行檢索,以及使用計(jì)算機(jī)模擬醫(yī)生的診療邏輯,通過數(shù)據(jù)推理直接給出用戶想要的答案,使經(jīng)方的知識(shí)服務(wù)更便捷、高效,由此實(shí)現(xiàn)輸入幾個(gè)癥狀,便可返回可用于治療的經(jīng)方,同時(shí)包含經(jīng)方藥材的劑量等。例如,當(dāng)輸入“惡寒” “發(fā)熱” 等癥狀表現(xiàn)時(shí),計(jì)算機(jī)會(huì)根據(jù)數(shù)據(jù)庫(kù)內(nèi)容給出答案。針對(duì)該癥狀,可用“大青龍湯”“附子湯”等治療調(diào)理,實(shí)現(xiàn)為用戶提供更準(zhǔn)確經(jīng)方信息的功能。
4 結(jié)束語
本文將經(jīng)方數(shù)據(jù)轉(zhuǎn)化為邏輯數(shù)據(jù)并利用Neo4j 構(gòu)建知識(shí)圖譜,初步實(shí)現(xiàn)了經(jīng)方智能檢索的應(yīng)用?;诮?jīng)方知識(shí)圖譜,小程序可以實(shí)現(xiàn)口語化語言的輸入,根據(jù)關(guān)鍵字進(jìn)行句式模板匹配,根據(jù)一定的匹配原則,產(chǎn)生相應(yīng)的查詢語句,在已有的經(jīng)方知識(shí)庫(kù)中檢索需要的經(jīng)方,以提供給用戶使用。
參考文獻(xiàn):
[1] 范宇鵬,毛煒,呂玉波,等.從隱性知識(shí)管理角度探討名醫(yī)工作室在中醫(yī)傳承工作中的作用[J].中醫(yī)藥管理雜志,2009(3):3.
[2] 劉中英,張英娟.探討知識(shí)管理在中醫(yī)傳承發(fā)展中的作用[J].價(jià)值工程,2012,31(16):316.
[3] 王昊奮,漆桂林,陳華鈞.《知識(shí)圖譜:方法、實(shí)踐與應(yīng)用》[J].自動(dòng)化博覽,2020,37(1):7.
[4] 陳可佳,馮子恩,劉羿,等.基于知識(shí)圖譜的急診問答系統(tǒng)構(gòu)建方法[P].中國(guó),CN111191048B,2023?06?02.
[5] 王余藍(lán).圖形數(shù)據(jù)庫(kù)NEO4J 的內(nèi)嵌式應(yīng)用研究[J].現(xiàn)代電子技術(shù),2012,35(22):36?38.
作者簡(jiǎn)介:
黃英璇(2002—),本科,研究方向:信息管理與信息系統(tǒng)。