田迎,單婭輝,王時繪
(1. 湖北大學(xué)計算機(jī)與信息工程學(xué)院, 湖北 武漢 430062;2.湖北省教育信息化工程技術(shù)研究中心, 湖北 武漢 430062; 3.績效評價信息管理研究中心(湖北大學(xué)), 湖北 武漢 430062)
抑郁癥(depression),也稱抑郁障礙(depressive disorder),是指由各種原因引起,同時以顯著且持久的心境低落為主要特征的一類心境障礙,持續(xù)時間一般超過兩周,對患者的社會功能有著顯著的影響,是嚴(yán)重危害人類精神和身體健康的重大疾病.據(jù)2017年世界衛(wèi)生組織調(diào)查顯示,我國的抑郁癥患者高達(dá)4.2%.對于抑郁癥患者來說,對抑郁癥知識的認(rèn)知非常重要.盡早的診斷和治療可以降低病死率和復(fù)發(fā)率,亦能減輕患者自身的認(rèn)知損害.
目前,臨床上對抑郁癥的識別診斷主要基于 ICD-10 或 DSM-V 中抑郁癥診斷標(biāo)準(zhǔn),同時結(jié)合醫(yī)生對患者的訪談情況、量表情況和醫(yī)生的個人經(jīng)驗進(jìn)行[1].顯然,這種方式適用于醫(yī)生和患者一對一的檢測,而且需要花費醫(yī)生大量的時間.同時,這種方法也會受到一些主觀因素的影響,比如患者的配合程度、醫(yī)生的專業(yè)程度和患者對醫(yī)生的信任程度等,這些因素都有可能導(dǎo)致診斷不準(zhǔn)確.而且,很多患者缺乏對自身的疾病認(rèn)知和就醫(yī)意識,容易耽誤病情,導(dǎo)致在就診時患者很可能就已經(jīng)達(dá)到了重度抑郁.所以在早期發(fā)現(xiàn)抑郁傾向和輕度抑郁癥有助于及時進(jìn)行干預(yù),可避免抑郁癥進(jìn)一步加重.近年來,因為醫(yī)療資源的緊張和分布不均衡,很多在線求醫(yī)問藥的系統(tǒng)被開發(fā)出來,用戶可以在線上選擇自己想要咨詢的醫(yī)生,獲取疾病的診療信息也變得方便起來.但是這種方式需要大量醫(yī)生入駐線上平臺并上線才能解答問題.針對上述問題,本研究構(gòu)建基于抑郁癥知識圖譜的中文自動問答系統(tǒng),該系統(tǒng)可以回答關(guān)于抑郁癥的藥物等信息,為病患提供抑郁癥疾病自助查詢.該系統(tǒng)增強(qiáng)了問答的時效性,不用等醫(yī)生上線就能實時解答患者的問題,可以加強(qiáng)患者對自身病情的了解,同時可在一定程度上緩解醫(yī)療機(jī)構(gòu)的壓力.
1.1 基本定義知識圖譜的概念是由Google于2012年5月提出,其初衷是為了提高搜索引擎的搜索能力和結(jié)果,并且改善用戶的搜索體驗. 知識圖譜的結(jié)構(gòu)跟圖是一樣的,都是由節(jié)點和邊組成的,圖中的節(jié)點對應(yīng)知識圖譜中的實體,邊表示實體與實體之間的關(guān)系.知識圖譜具有強(qiáng)大的描述能力,主要用來描述客觀世界存在的各種實體、概念以及實體概念之間的關(guān)系[2].與傳統(tǒng)的Web頁面網(wǎng)絡(luò)的區(qū)別在于,知識圖譜中的節(jié)點由不同類型的實體代替了原來的網(wǎng)頁形式,而圖中的邊也由實體間豐富的語義關(guān)系代替了原來的連接網(wǎng)頁的超鏈接.
1.2 研究現(xiàn)狀知識圖譜分為通用知識圖譜和領(lǐng)域知識圖譜,近幾年,專家們在兩種知識圖譜上都有很多的研究.已經(jīng)存在的大規(guī)模通用知識圖譜有Google Knowledge Graph和YAGO等. 通用域知識圖譜領(lǐng)覆蓋面全而廣,因此更多強(qiáng)調(diào)的是實體,很難統(tǒng)一管理完整的全局本體層[3],使用者一般是普通用戶.領(lǐng)域知識圖譜是面向特定的行業(yè)和領(lǐng)域的,數(shù)據(jù)更多的是半結(jié)構(gòu)化和非結(jié)構(gòu)化的,常見的領(lǐng)域知識圖譜有Open PHACTS、MusicBrainz、豆瓣等.現(xiàn)如今,也有越來越多的研究者開始構(gòu)建中文知識圖譜,且內(nèi)容越來越豐富,如OpenKG.CN平臺上有很多優(yōu)秀的開放知識圖譜.由于和人的健康息息相關(guān),醫(yī)學(xué)領(lǐng)域的知識圖譜也被更多地開發(fā)出來.
1.3 醫(yī)學(xué)知識圖譜應(yīng)用知識圖譜的應(yīng)用非常廣泛,也發(fā)揮著越來越重要的作用.醫(yī)療信息系統(tǒng)有大量的、結(jié)構(gòu)不一和動態(tài)的數(shù)據(jù),知識圖譜是一種組織和管理這些數(shù)據(jù)的高效方式.知識圖譜使得醫(yī)療信息系統(tǒng)更加接近于人的思維和認(rèn)知模式[4]. 目前知識圖譜在醫(yī)學(xué)上主要用于臨床治療決策支持、醫(yī)療智能語義搜索和醫(yī)療問答系統(tǒng)[5]等. 臨床治療決策支持是根據(jù)患者的個人情況,結(jié)合醫(yī)療領(lǐng)域的大數(shù)據(jù)分析,自動生成針對每個患者的治療方案,提供給醫(yī)生進(jìn)行參考;醫(yī)療智能語義搜索是從醫(yī)學(xué)知識圖譜中聯(lián)合相關(guān)的實體、關(guān)系和屬性等信息來查詢,從而優(yōu)化醫(yī)療信息的搜索結(jié)果;醫(yī)療問答是醫(yī)療信息檢索的另外一種形式,它的返回答案是自然語言形式的,專業(yè)性更強(qiáng).本研究主要實現(xiàn)基于抑郁癥知識圖譜的問答系統(tǒng).
2.1 文獻(xiàn)摘要數(shù)據(jù)獲取中國知網(wǎng)作為學(xué)術(shù)資源整合型、具有國際領(lǐng)先水平的資源檢索數(shù)據(jù)庫,包含的抑郁癥學(xué)術(shù)論文和資源豐富.通過關(guān)鍵字“抑郁癥”在知網(wǎng)進(jìn)行搜索,可以獲得大量文獻(xiàn)信息,本研究需要捕獲的是抑郁癥相關(guān)的摘要信息.使用Web 爬蟲和WebKit瀏覽器引擎PhantomJS,可以獲取知網(wǎng)上大量抑郁癥相關(guān)的論文文章標(biāo)題以及摘要數(shù)據(jù)[6].本研究一共爬取了1 898篇抑郁癥相關(guān)的摘要信息,將所有摘要數(shù)據(jù)放置在一個文件中,方便后續(xù)的操作.
2.2 抑郁癥知識抽取知識抽取,即從不同來源、不同結(jié)構(gòu)的數(shù)據(jù)中進(jìn)行知識提取,分為命名實體識別和關(guān)系抽取.實體抽取是從文本數(shù)據(jù)中識別和提取出命名實體,如藥物名稱和癥狀.關(guān)系抽取是提取出命名實體之間的關(guān)系.從文本中抽取三元組一般有兩種方法:一種是先進(jìn)行命名實體識別再進(jìn)行關(guān)系抽??;另一種是同時進(jìn)行實體和關(guān)系的抽取.因為本研究數(shù)據(jù)中的摘要主要是圍繞一個疾病實體展開的,所以只需要抽取出另外一個實體以及兩個實體之間的關(guān)系R.
本研究將實體一共分為7大類,分別為疾病、藥物治療、癥狀、診斷、非藥物治療、流行病學(xué)和其他.實體之間的關(guān)系包括疾病-診斷、疾病-藥物治療、疾病-癥狀、疾病-非藥物治療、疾病-流行病學(xué)、疾病-其他共6個關(guān)系類型.具體關(guān)系類型如表1所示.
表1 實體間常見關(guān)系類型
本研究中的三元組是通過人工標(biāo)注和自動提取相結(jié)合的方式來提取的. 標(biāo)注方式使用的是“關(guān)系名+BIOES”,其中“R-B”標(biāo)記該實體的開始字符,“R-I”標(biāo)記該實體的中間字符,“R-O”標(biāo)記無關(guān)字符,“R-E”標(biāo)記該實體的結(jié)尾字符,“R-S”標(biāo)記單個字符.如圖1所示,在訓(xùn)練數(shù)據(jù)時,首先是人工按照“關(guān)系名+BIOES”的標(biāo)注方法將訓(xùn)練集中的數(shù)據(jù)進(jìn)行標(biāo)注,然后將其送入模型進(jìn)行學(xué)習(xí).測試數(shù)據(jù)時,首先用BiLSTM+softmax模型來預(yù)測出每個字的標(biāo)簽,然后對標(biāo)簽進(jìn)行匹配,最后形成一個(實體,關(guān)系,實體)的三元組.本研究使用這種方法從論文摘要中獲得了386個實體和472條關(guān)系.
圖1 抑郁癥知識圖譜構(gòu)建過程
2.3 知識表示知識圖譜中用三元組來描述事實,表示為(e1,r,e2),其中e1表示實體1,e2表示實體2,r表示實體1和實體2之間的關(guān)系.對于每一個實體,選擇以該實體為主語的三元組進(jìn)行顯示. 知識圖譜是由多個實體以及實體之間的關(guān)系組成的,每個實體都有一個ID來標(biāo)識,這個ID是全局唯一且確定的,每個關(guān)系則連接兩個實體.
2.4 知識存儲在知識圖譜中,通常有兩種存儲方式,分別為資源描述框架(resource description framework,RDF) 數(shù)據(jù)庫和圖數(shù)據(jù)庫 (graph database).
圖數(shù)據(jù)庫是根據(jù)“圖”這種結(jié)構(gòu)來存儲和查詢數(shù)據(jù).它的數(shù)據(jù)模型主要體現(xiàn)在實體(節(jié)點)和關(guān)系(邊)上,同時,對于鍵值對,也是可以處理的,因此這樣的存儲方式有利于處理復(fù)雜的關(guān)系問題.本研究使用開源圖數(shù)據(jù)庫Neo4j來進(jìn)行抑郁癥知識圖譜的存儲,因為其具有強(qiáng)大的圖形搜索能力和一定的橫向擴(kuò)展能力. Cypher是Neo4j提供的聲明式查詢語言,用它可以完成任意圖譜里面的查詢過濾,是相對簡單的查詢語法,而且功能強(qiáng)大.與此同時,對于規(guī)模較大的數(shù)據(jù),Neo4j里的neo4j-import工具[7],可以處理千萬以上nodes的數(shù)據(jù),而且處理速度非???本研究將關(guān)于抑郁癥摘要中抽取的抑郁癥相關(guān)的三元組通過Cypher語句和neo4j-import工具導(dǎo)入到neo4j數(shù)據(jù)庫中.圖2展示了抑郁癥知識圖譜的部分關(guān)系三元組.
3.1 問答系統(tǒng)概念問答系統(tǒng)是知識圖譜應(yīng)用的一個重要組成部分. 問答系統(tǒng)是指用戶以自然語言的形式向系統(tǒng)輸入問題,系統(tǒng)通過分析和理解這些問題之后,從知識圖譜中找到相對應(yīng)的結(jié)果,最后形成答案,以自然語言的形式返回給用戶.問答系統(tǒng)相比于傳統(tǒng)的搜索引擎,針對性更強(qiáng)、準(zhǔn)確率更高,用戶也更容易接受. 近年來,國內(nèi)在醫(yī)療問答系統(tǒng)上有不少的研究,如顏昕[8]構(gòu)建的社區(qū)健康問答系統(tǒng)使用的是自然語言處理技術(shù)和機(jī)器學(xué)習(xí)算法相結(jié)合,姚智[9]開發(fā)的醫(yī)療問答系統(tǒng)使用的是深度學(xué)習(xí)技術(shù),并且該系統(tǒng)已經(jīng)上線使用,得到了較好的用戶評價.
在醫(yī)療問答系統(tǒng)中,使用知識圖譜的優(yōu)勢在于:1)語義理解智能化程度高:在知識圖譜中,所有實體都用具有語義信息的邊相關(guān)聯(lián),在匹配問題和知識圖譜中知識點的過程中,這些關(guān)聯(lián)信息有助于語義理解智能化;2)回答問題的準(zhǔn)確率高:知識圖譜中的知識是經(jīng)過人工標(biāo)注或者格式化抓取的,數(shù)據(jù)的準(zhǔn)確性有一定保證;3)檢索效率高:知識圖譜的結(jié)構(gòu)化組織形式,為計算機(jī)的快速知識檢索提供了格式支持,計算機(jī)可以利用結(jié)構(gòu)化語言(如 SQL、SPARQL 等)進(jìn)行精確知識定位.本研究設(shè)計并實現(xiàn)了基于抑郁癥知識圖譜的中文問答系統(tǒng),用戶可以通過該系統(tǒng)實現(xiàn)實時的線上求醫(yī)問診,更加方便快捷地獲取想要的信息.
3.2 問答系統(tǒng)實現(xiàn)問答系統(tǒng)主要包括以下幾個模塊:輸入問題的預(yù)處理、醫(yī)學(xué)實體識別、問題模板匹配、基于Neo4j數(shù)據(jù)庫的查詢和生成答案.系統(tǒng)整體設(shè)計思路如圖3所示.
圖2 抑郁癥知識圖譜中的部分關(guān)系三元組
圖3 問答系統(tǒng)整體設(shè)計思路
3.2.1 輸入問題 用戶自己輸入關(guān)于抑郁癥癥狀和藥物等想要查詢的問題,如“哪個藥物可以治療抑郁癥?”“抑郁癥的主要癥狀有哪些?”等等.
3.2.2 輸入問題的預(yù)處理 輸入問題的預(yù)處理即需要將中文進(jìn)行分詞,中文分詞是將一句話分解成一個個有意義且符合原句邏輯和意思的詞語[10].英文語句之所以不需要分詞是因為英文中的每個詞與下一個詞都有空格,而空格是單詞之間的一個明顯標(biāo)記.中文句子的詞與詞之間是沒有空格等標(biāo)記的,又因為機(jī)器不能像人一樣通過自己的理解來分辨句子中的字詞以及一些常見說法,所以需要將句子進(jìn)行分詞處理.
3.2.3 醫(yī)學(xué)實體識別 醫(yī)學(xué)實體識別非結(jié)構(gòu)化文本中抽取醫(yī)藥和疾病等實體,并對實體出現(xiàn)的位置和類別進(jìn)行標(biāo)記.醫(yī)療領(lǐng)域的實體通常構(gòu)詞復(fù)雜、書寫形式多樣,并且常有多種指稱,識別難度相對較大,有可能出現(xiàn)識別出的實體與真實實體不一樣的情況.為解決這些問題,本研究使用BiLSTM+ CRF[11]模型,該模型可以識別復(fù)雜的藥物名稱,并且在各個醫(yī)藥數(shù)據(jù)集上均取得了不錯的識別效果.
3.2.4 問題模板匹配 用戶輸入的問題需要讓計算機(jī)分解成各實體之間的關(guān)系,如疾病和藥物之間的關(guān)系,這一模塊就是實現(xiàn)問題理解的功能.對于問題理解,本研究使用的技術(shù)是基于模板匹配[12]的方法,即根據(jù)常見的問題人工設(shè)計問題模板,當(dāng)接收到用戶輸入的問題后,將問題和模板用相似度匹配算法進(jìn)行計算,相似度最大的就是對應(yīng)該問題的模板.這種方法適用于領(lǐng)域內(nèi)的問答系統(tǒng),不需要用大量數(shù)據(jù)來學(xué)習(xí)和訓(xùn)練,易于實現(xiàn),且后期可擴(kuò)展性大.不同實體的問題模板如表2所示.
3.2.5 基于圖形化數(shù)據(jù)庫的查詢 圖形數(shù)據(jù)庫中查詢使用的是Cypher語言.結(jié)合前面識別出的醫(yī)學(xué)實體名稱和模板匹配得到的關(guān)系名稱,根據(jù)規(guī)則生成對應(yīng)的Cypher語句.已知一個實體名e和關(guān)系名稱r,查詢跟e有r關(guān)系的實體的Cypher語句模板如下:Match(a)-[:關(guān)系名]-(b)where b.name=“實體名”return a.name.其中,關(guān)系名和實體名用之前得到的實體和關(guān)系名替換.例如,對于問題“哪些藥物可以治療抑郁癥?”,系統(tǒng)識別出的實體是抑郁癥和藥物,再根據(jù)問題模板匹配,得出兩個實體的關(guān)系是藥物治療.然后根據(jù)識別出來的實體名稱和關(guān)系名稱,生成對應(yīng)的Cypher語句:Match(a)-[:藥物治療]-(b)where b.name=“抑郁癥”return a.name.根據(jù)Cypher語句查詢到的結(jié)果,系統(tǒng)生成一段自然語言形式的回答返回給用戶,如“可以治療抑郁癥的藥物有舍曲林、米氮平等.”
表2 不同實體的問題模板
3.2.6 生成答案 根據(jù)系統(tǒng)返回的結(jié)果,執(zhí)行一定的語法和語義規(guī)則,形成符合自然語言邏輯且語句通順的答案發(fā)送給用戶.
3.3 系統(tǒng)性能分析
3.3.1 數(shù)據(jù)準(zhǔn)備 為了驗證本文中基于抑郁癥知識圖譜的問答系統(tǒng)性能,本研究分別從準(zhǔn)確率P,召回率R和F值等3個指標(biāo)來進(jìn)行分析,具體計算方法如式(1)所示.其中Pnum是表示問答系統(tǒng)給出的回答中正確的個數(shù),Rnum表示本研究問答系統(tǒng)總共給出的回答個數(shù),Anum是實際問題的正確答案個數(shù).其中正確回答是指用戶輸入的問題實體和語義被正確識別,且返回的回答符合自然語言形式.本研究人工設(shè)計了100個跟抑郁癥相關(guān)的問題作為問答系統(tǒng)的測試數(shù)據(jù),依次將這些問題輸入到問答系統(tǒng)中,統(tǒng)計Pnum和Rnum的值.
(1)
3.3.2 實驗分析 從表3的實驗結(jié)果可以看出,系統(tǒng)回答的準(zhǔn)確率和召回率都較高,證明本研究構(gòu)建的基于抑郁癥知識圖譜的問答系統(tǒng)可以有效地為用戶提供抑郁癥知識問答服務(wù).對于正確回答的問題進(jìn)行分析發(fā)現(xiàn),有些是跟問題模板表達(dá)方式相同的句子,而有些是跟問題模板有相同實體和語義但表示方法不同的句子,這說明基于知識圖譜的問答系統(tǒng)具有較高的語義理解程度.對于系統(tǒng)沒有正確回答的問題,分析得知:1)對于這些問題中的實體,系統(tǒng)可以識別,但是語義信息沒有出現(xiàn)在模板中則不能識別,如“抑郁癥的一般發(fā)病年齡是多少?”及“抑郁癥是否遺傳?”等等;2)還有一些問題是因為一些屬性信息不全導(dǎo)致的,如藥物的副作用和使用方法應(yīng)該是保存在屬性信息里面的.
表3 實驗結(jié)果
基于系統(tǒng)存在的不足,本研究下一步的改進(jìn)方向是:1)盡可能全面地補(bǔ)充抑郁癥知識圖譜中實體的屬性信息,這樣就能回答更多的關(guān)于屬性的問題;2)擴(kuò)充抑郁癥知識圖譜中的疾病覆蓋率,結(jié)合更多疾病進(jìn)行診斷和給出治療意見;3) 增加更多的關(guān)系類型和關(guān)系子類型,回答更多種語義的問題;4)使用深度學(xué)習(xí)中更多算法對問題理解這個模塊進(jìn)行研究.
本研究從抑郁癥文獻(xiàn)中抽取出抑郁癥相關(guān)的實體以及實體之間的關(guān)系,將實體和實體之間的關(guān)系形成知識三元組,從而構(gòu)建抑郁癥的知識圖譜.知識圖譜有很多應(yīng)用,本研究選取其中的問答系統(tǒng)這一應(yīng)用,實現(xiàn)基于抑郁癥知識圖譜的問答系統(tǒng).該問答系統(tǒng)可以回答藥物-疾病、藥物-癥狀等語義信息的問題.實驗結(jié)果表明,問答系統(tǒng)有0.79的準(zhǔn)確率和0.73的召回率,且F值為0.76,證明該系統(tǒng)的實用性.目前,基于抑郁癥知識圖譜的問答系統(tǒng)回答的準(zhǔn)確率還有待進(jìn)一步提升,未來將繼續(xù)使用更多的算法,研究如何提高回答的準(zhǔn)確率,并且將屬性信息更加充分地補(bǔ)充到抑郁癥知識圖譜中.