本發(fā)明涉及知識(shí)圖譜技術(shù),特別涉及一種基于深度學(xué)習(xí)的中文醫(yī)學(xué)知識(shí)圖譜構(gòu)建方法。
背景技術(shù):
:隨著越來越多的語義萬維網(wǎng)數(shù)據(jù)在互聯(lián)網(wǎng)上開放,國內(nèi)外各個(gè)互聯(lián)網(wǎng)搜索引擎公司開始以此為基礎(chǔ)構(gòu)建知識(shí)圖譜從而提升服務(wù)質(zhì)量,如Google知識(shí)圖譜(GoogleKnowledgeGraph),百度“知心”等。知識(shí)圖譜(KnowledgeGraph)的本質(zhì)上是一種語義網(wǎng)絡(luò)。其結(jié)點(diǎn)代表實(shí)體(entity)或者概念(concept),邊代表實(shí)體或概念之間的各種語義關(guān)系。它是一種知識(shí)管理的服務(wù)模式,能夠?qū)⒏鱾€(gè)領(lǐng)域瑣碎、零散的知識(shí)相互連接,從而組成一個(gè)以“語義網(wǎng)絡(luò)”為骨架構(gòu)建起來的巨型、網(wǎng)絡(luò)化的知識(shí)系統(tǒng)?,F(xiàn)在,人們已經(jīng)開始將知識(shí)圖譜應(yīng)用在綜合性知識(shí)檢索以及問答、決策支持等智能系統(tǒng)中。然而,雖然搜索引擎利用通用的大型知識(shí)圖譜能夠?yàn)橛脩籼峁└哔|(zhì)量的檢索、推薦等服務(wù),但是當(dāng)用戶需要進(jìn)行某一特定領(lǐng)域(如醫(yī)學(xué)領(lǐng)域)的檢索時(shí),搜索引擎提供的結(jié)果常??此葡嚓P(guān)度高,但實(shí)際上不能滿足用戶需求。因此垂直搜索引擎應(yīng)運(yùn)而生。就醫(yī)學(xué)領(lǐng)域而言,當(dāng)用戶需要查詢某些癥狀對(duì)應(yīng)的可能疾病、疾病對(duì)應(yīng)的癥狀和治療方法、藥物的治療功能以及特性等信息時(shí),醫(yī)學(xué)垂直搜索引擎利用針對(duì)于醫(yī)學(xué)領(lǐng)域構(gòu)建的知識(shí)圖譜在這些方面返回的結(jié)果往往比通用搜索更加專注、具體和深入。目前國內(nèi)外還沒有成熟的中文醫(yī)學(xué)知識(shí)圖譜構(gòu)建案例,而現(xiàn)有的知識(shí)圖譜對(duì)中文的支持也不夠。因此,本發(fā)明要解決的技術(shù)問題是如何從全網(wǎng)的各種結(jié)構(gòu)化、半結(jié)構(gòu)化以及非結(jié)構(gòu)化數(shù)據(jù)中通過深度學(xué)習(xí)提取出醫(yī)學(xué)領(lǐng)域的實(shí)體、實(shí)體之間的關(guān)系,并且通過這些提取出的知識(shí)構(gòu)建出醫(yī)學(xué)領(lǐng)域的知識(shí)圖譜,這樣可以提高垂直于醫(yī)學(xué)領(lǐng)域的搜索引擎的檢索的精確性與實(shí)用性。知識(shí)圖譜旨在描述真實(shí)世界中存在的各種實(shí)體、實(shí)體的屬性以及實(shí)體之間的關(guān)系,構(gòu)建知識(shí)圖譜的主要工作流程包括:獲取數(shù)據(jù)、構(gòu)建知識(shí)單元、構(gòu)建單元關(guān)系、知識(shí)圖譜的結(jié)構(gòu)化展示。然而通用的知識(shí)圖譜覆蓋的信息規(guī)模太大,因此在使用過程中會(huì)露出一些問題,比如缺少細(xì)節(jié),時(shí)效性差,關(guān)系過于死板等等,于是出現(xiàn)了一些更加智能化、個(gè)性化和專業(yè)化的垂直知識(shí)圖譜。垂直知識(shí)圖譜針對(duì)特定領(lǐng)域,專注于自己的特長,保證了對(duì)該領(lǐng)域信息的完全收錄與及時(shí)更新。與通用的知識(shí)圖譜不同,垂直知識(shí)圖譜的實(shí)體以及實(shí)體的屬性只限定在該領(lǐng)域,而實(shí)體間關(guān)系除了來自通用的關(guān)系,還會(huì)針對(duì)特定領(lǐng)域添加更加詳細(xì)和全面的與該領(lǐng)域相關(guān)的關(guān)系。因?yàn)楸景l(fā)明是面向醫(yī)療領(lǐng)域的,因此牽涉的關(guān)系和實(shí)體不像通用知識(shí)圖譜那么多,但都是與領(lǐng)域密切相關(guān)的,在關(guān)系方面更加細(xì)致和深入。在知識(shí)圖譜的構(gòu)建過程中,最為關(guān)鍵的兩個(gè)步驟就是知識(shí)單元抽取以及知識(shí)單元的關(guān)系抽取,也就是實(shí)體識(shí)別以及實(shí)體之間的關(guān)系抽取。以垂直于醫(yī)學(xué)領(lǐng)域的知識(shí)圖譜為例,實(shí)體識(shí)別就是在非結(jié)構(gòu)化數(shù)據(jù)中識(shí)別出癥狀、藥品以及疾病等醫(yī)學(xué)相關(guān)的名詞,而實(shí)體關(guān)系抽取則是抽取出這些識(shí)別出的實(shí)體之間的關(guān)系,包括疾病對(duì)應(yīng)的癥狀、疾病對(duì)應(yīng)的相關(guān)藥品等關(guān)系。以往在進(jìn)行實(shí)體識(shí)別以及實(shí)體關(guān)系抽取時(shí),人們主要使用支持向量機(jī)(SVM)以及條件隨機(jī)場(CRF)之類的淺層學(xué)習(xí)方法,系統(tǒng)還需要融入大量適用于特定學(xué)習(xí)任務(wù)的人工特征,從而會(huì)導(dǎo)致部分特征的丟失。本發(fā)明則嘗試使用深度學(xué)習(xí)中的循環(huán)神經(jīng)網(wǎng)絡(luò)(RNN)來完成這一任務(wù),通過綜合多種高維度的特征向量,形成越來越抽象的深層表示,從而在實(shí)體識(shí)別和關(guān)系抽取的任務(wù)上達(dá)到更高的準(zhǔn)確率和召回率。與本發(fā)明最相近似的實(shí)現(xiàn)方案有下面幾種,中國發(fā)明專利申請(qǐng):“一種面向圖書的閱讀領(lǐng)域知識(shí)圖譜構(gòu)建方法”(申請(qǐng)?zhí)枺?013104203759)、“基于結(jié)構(gòu)化數(shù)據(jù)的知識(shí)圖譜構(gòu)建方法和裝置”(申請(qǐng)?zhí)枺?014108044667)、“一種基于深度學(xué)習(xí)的命名實(shí)體關(guān)系抽取與構(gòu)建方法”(申請(qǐng)?zhí)枺?014104880477)。發(fā)明1(一種面向圖書的閱讀領(lǐng)域知識(shí)圖譜構(gòu)建方法)為一種面向圖書的閱讀領(lǐng)域知識(shí)圖譜構(gòu)建方法。該方法分為三個(gè)部分:通用知識(shí)圖譜構(gòu)建、領(lǐng)域知識(shí)圖譜構(gòu)建和智能閱讀推薦。即:獲取互聯(lián)網(wǎng)上的知識(shí),集成通用知識(shí)圖譜;結(jié)合通用知識(shí)圖譜利用迭代的方式擴(kuò)展書籍相關(guān)的概念和實(shí)體,結(jié)合實(shí)體Infobox表和傳統(tǒng)關(guān)系抽取實(shí)體關(guān)系;按照實(shí)體由長到短標(biāo)注電子書籍中的核心實(shí)體,并建立實(shí)體與書籍知識(shí)圖譜的鏈接,以實(shí)現(xiàn)智能知識(shí)推薦。該發(fā)明通過建立面向書籍的閱讀領(lǐng)域知識(shí)圖譜,對(duì)書籍中的實(shí)體進(jìn)行解釋或知識(shí)推薦,增加了知識(shí)的深度,實(shí)現(xiàn)了電子閱讀的便捷化、智能化和人性化,具有更好的用戶體驗(yàn)。發(fā)明2(基于結(jié)構(gòu)化數(shù)據(jù)的知識(shí)圖譜構(gòu)建方法和裝置)為一種基于結(jié)構(gòu)化數(shù)據(jù)的知識(shí)圖譜構(gòu)建方法和裝置,該方法包括:獲取一條或多條包含實(shí)體名稱及對(duì)應(yīng)實(shí)體屬性信息的結(jié)構(gòu)化數(shù)據(jù);提取所述結(jié)構(gòu)化數(shù)據(jù)中包含的實(shí)體名稱及其屬性信息的映射關(guān)系,生成對(duì)應(yīng)的數(shù)據(jù)結(jié)構(gòu)對(duì);將所述生成的數(shù)據(jù)結(jié)構(gòu)對(duì)作為知識(shí)圖譜數(shù)據(jù)項(xiàng)進(jìn)行存儲(chǔ)。本發(fā)明基于結(jié)構(gòu)化數(shù)據(jù)的結(jié)構(gòu)性特點(diǎn)構(gòu)建知識(shí)圖譜,使得知識(shí)圖譜中數(shù)據(jù)項(xiàng)的架構(gòu)包括實(shí)體名稱及對(duì)應(yīng)實(shí)體屬性信息,基于知識(shí)圖譜結(jié)構(gòu)化數(shù)據(jù)對(duì)外提供搜索服務(wù)時(shí),能夠直觀、精確地將實(shí)體屬性信息作為搜索結(jié)果提供給用戶。發(fā)明3(一種基于深度學(xué)習(xí)的命名實(shí)體關(guān)系抽取與構(gòu)建方法)為一種基于深度學(xué)習(xí)的命名實(shí)體關(guān)系抽取與構(gòu)建方法,用于互聯(lián)網(wǎng)信息
技術(shù)領(lǐng)域:
。該方法針對(duì)某一特定領(lǐng)域,在垂直網(wǎng)站上抓取領(lǐng)域內(nèi)的新聞數(shù)據(jù),對(duì)獲取的新聞數(shù)據(jù)進(jìn)行預(yù)處理;新聞數(shù)據(jù)分詞,抽取關(guān)鍵詞,生成行業(yè)詞庫,利用行業(yè)詞庫對(duì)新聞數(shù)據(jù)重新分詞;抽取種子詞庫;無監(jiān)督構(gòu)建實(shí)體關(guān)系網(wǎng)絡(luò),從新聞數(shù)據(jù)中抽取包含兩個(gè)以上實(shí)體的句子,抽取句子中的動(dòng)詞以及對(duì)應(yīng)的文檔,對(duì)抽取的文檔建立基于深度學(xué)習(xí)的詞聚類模型,根據(jù)動(dòng)詞描述的詞之間的關(guān)系,構(gòu)建實(shí)體關(guān)系網(wǎng)絡(luò);定義實(shí)體關(guān)系類別,對(duì)實(shí)體關(guān)系網(wǎng)絡(luò)中的每個(gè)實(shí)體對(duì),進(jìn)行關(guān)系分類。發(fā)明1和發(fā)明2雖然也完成了知識(shí)圖譜的構(gòu)建,但是要把它們的方法直接應(yīng)用到醫(yī)學(xué)領(lǐng)域,就會(huì)存在以下的不足:●依賴于傳統(tǒng)的實(shí)體關(guān)系提取算法。但在醫(yī)學(xué)領(lǐng)域中實(shí)體和實(shí)體關(guān)系比圖書閱讀領(lǐng)域更加繁多,因此在高維度的特征向量以及上下文強(qiáng)相關(guān)的前提下,這種方法缺乏對(duì)上下文的聯(lián)系、并且效率較低,并不適合醫(yī)學(xué)領(lǐng)域的分類?!襁^度依賴結(jié)構(gòu)化數(shù)據(jù)。在醫(yī)學(xué)領(lǐng)域中,大部分?jǐn)?shù)據(jù)都是半結(jié)構(gòu)化或非結(jié)構(gòu)化的,如果過于依賴結(jié)構(gòu)化數(shù)據(jù),那么得到的知識(shí)圖譜覆蓋范圍則不全面。發(fā)明3(一種基于深度學(xué)習(xí)的命名實(shí)體關(guān)系抽取與構(gòu)建方法)通過深度學(xué)習(xí)中的詞聚類模型從爬取的非結(jié)構(gòu)化新聞數(shù)據(jù)中提取除了實(shí)體之間的關(guān)系并對(duì)這些關(guān)系進(jìn)行分類并構(gòu)架關(guān)系網(wǎng)絡(luò)。發(fā)明3雖然使用深度學(xué)習(xí)的詞聚類模型完成了實(shí)體關(guān)系的抽取任務(wù),但是只是針對(duì)新聞?lì)I(lǐng)域,相對(duì)來說實(shí)體關(guān)系較少。對(duì)于實(shí)體以及實(shí)體關(guān)系繁多的醫(yī)學(xué)領(lǐng)域,在上下文關(guān)系的處理上也有所欠缺,這種模型就不適用了。技術(shù)實(shí)現(xiàn)要素:本發(fā)明要解決的技術(shù)問題是,克服現(xiàn)有技術(shù)中的不足,提供一種基于深度學(xué)習(xí)的中文醫(yī)學(xué)知識(shí)圖譜構(gòu)建方法。為解決技術(shù)問題,本發(fā)明的解決方案是:提供一種基于深度學(xué)習(xí)的中文醫(yī)學(xué)知識(shí)圖譜構(gòu)建方法,是從全網(wǎng)提取與醫(yī)學(xué)領(lǐng)域相關(guān)的結(jié)構(gòu)化、半結(jié)構(gòu)化與非結(jié)構(gòu)化的數(shù)據(jù),并利用深度學(xué)習(xí)技術(shù)從中抽取出相關(guān)信息,最終完成垂直醫(yī)療領(lǐng)域的知識(shí)圖譜構(gòu)建任務(wù);該方法具體包括以下步驟:(1)從數(shù)據(jù)源獲取醫(yī)療領(lǐng)域相關(guān)數(shù)據(jù)獲得包括百科類站點(diǎn)、醫(yī)療領(lǐng)域類站點(diǎn)和醫(yī)療專業(yè)名詞庫的數(shù)據(jù);其中,對(duì)結(jié)構(gòu)化數(shù)據(jù)直接存儲(chǔ)以作為后續(xù)的訓(xùn)練集,對(duì)于非結(jié)構(gòu)化數(shù)據(jù)在存儲(chǔ)后用于后續(xù)的知識(shí)單元抽??;(2)知識(shí)單元抽取使用分詞工具對(duì)非結(jié)構(gòu)化數(shù)據(jù)進(jìn)行分詞,然后使用循環(huán)神經(jīng)網(wǎng)絡(luò)完成序列標(biāo)注任務(wù),根據(jù)序列標(biāo)注的結(jié)果識(shí)別出醫(yī)療相關(guān)的實(shí)體,實(shí)現(xiàn)知識(shí)單元的抽取;(3)知識(shí)單元間關(guān)系識(shí)別對(duì)知識(shí)單元抽取過程中得到的實(shí)體進(jìn)行特征向量的構(gòu)建,然后使用循環(huán)神經(jīng)網(wǎng)絡(luò)進(jìn)行序列標(biāo)注,并根據(jù)序列標(biāo)注的結(jié)果完成知識(shí)單元間關(guān)系的識(shí)別;(4)實(shí)體對(duì)齊查找具有不同標(biāo)識(shí)實(shí)體但代表同一對(duì)象的實(shí)體,并將其歸并為具有全局唯一標(biāo)識(shí)的實(shí)體對(duì)象添加到知識(shí)圖譜中;(5)知識(shí)圖譜的構(gòu)建利用提取的實(shí)體以及實(shí)體之間的關(guān)系構(gòu)建知識(shí)圖譜。本發(fā)明中,從數(shù)據(jù)源獲取醫(yī)療領(lǐng)域相關(guān)數(shù)據(jù)時(shí),若缺少結(jié)構(gòu)化數(shù)據(jù),則直接提取其中所有的內(nèi)容作為非結(jié)構(gòu)化數(shù)據(jù)存儲(chǔ);若為半結(jié)構(gòu)化數(shù)據(jù),則按照小標(biāo)題名、屬性名和相關(guān)鏈接名的關(guān)系進(jìn)行存儲(chǔ)。本發(fā)明中,在知識(shí)單元抽取這一步驟中,先訓(xùn)練出適用的神經(jīng)網(wǎng)絡(luò)以用于序列標(biāo)注;具體包括:(1)通過對(duì)實(shí)體的體征進(jìn)行構(gòu)造,得到實(shí)體的特征向量;(2)結(jié)合已收集的結(jié)構(gòu)化數(shù)據(jù)對(duì)訓(xùn)練集進(jìn)行標(biāo)注;(3)訓(xùn)練神經(jīng)網(wǎng)絡(luò),得到一個(gè)能對(duì)非結(jié)構(gòu)化數(shù)據(jù)分詞結(jié)果進(jìn)行標(biāo)注的循環(huán)神經(jīng)網(wǎng)絡(luò);所述對(duì)實(shí)體的體征進(jìn)行構(gòu)造,是指針對(duì)醫(yī)療領(lǐng)域的實(shí)體特點(diǎn)來定義特征,并構(gòu)造特征向量;所述特征是指基于上下文的特征、基于語義標(biāo)簽的特征或基于醫(yī)學(xué)詞典的詞向量特征中的任意一種。本發(fā)明中,在知識(shí)單元間關(guān)系識(shí)別這一步驟中,先訓(xùn)練出適用的神經(jīng)網(wǎng)絡(luò)以用于序列標(biāo)注;具體包括:(1)根據(jù)知識(shí)單元抽取步驟中獲得的實(shí)體識(shí)別結(jié)果,提取語料中所有的實(shí)體對(duì);通過對(duì)實(shí)體對(duì)的體征進(jìn)行構(gòu)造,得到實(shí)體對(duì)的特征向量;(2)結(jié)合已收集的結(jié)構(gòu)化數(shù)據(jù)構(gòu)成的語義關(guān)系網(wǎng)絡(luò)進(jìn)行自動(dòng)標(biāo)注,其余的實(shí)體則按照多數(shù)原則進(jìn)行標(biāo)注;(3)將已標(biāo)注的數(shù)據(jù)集的70%作為訓(xùn)練集進(jìn)行循環(huán)神經(jīng)網(wǎng)絡(luò)的網(wǎng)絡(luò)訓(xùn)練,在訓(xùn)練收斂后,用剩下的30%進(jìn)行測試,并根據(jù)測試結(jié)果來調(diào)整網(wǎng)絡(luò)結(jié)構(gòu)或訓(xùn)練參數(shù);訓(xùn)練完成后,再利用循環(huán)神經(jīng)網(wǎng)絡(luò)結(jié)合收集到的非結(jié)構(gòu)化數(shù)據(jù)對(duì)知識(shí)單元抽取出來的實(shí)體進(jìn)行關(guān)系標(biāo)注;所述對(duì)實(shí)體的體征進(jìn)行構(gòu)造,是指針對(duì)醫(yī)療領(lǐng)域的實(shí)體特點(diǎn)來定義特征,并構(gòu)造特征向量;所述特征是指基于上下文的特征、基于語義標(biāo)簽的特征或基于醫(yī)學(xué)詞典的詞向量特征中的任意一種。本發(fā)明中,所述基于上下文的特征是指:文本中單詞的含義與這個(gè)單詞在文本中出現(xiàn)位置前后的單詞有很大關(guān)聯(lián),在對(duì)醫(yī)學(xué)領(lǐng)域?qū)嶓w進(jìn)行識(shí)別時(shí),以目標(biāo)詞為中心,前后的若干個(gè)單詞為該詞的上下文,并將其作為該詞的特征使用;對(duì)于任意文檔d以及文檔d中的每一個(gè)詞w,定義上下文窗口context=[-t,+t],應(yīng)用上下文特征集合提取算法得到每一個(gè)w對(duì)應(yīng)的上下文特征fctx(w);將語料庫corpus中所有文檔中的每個(gè)詞w對(duì)應(yīng)的上下文特征fctx(w)匯總,即可得到該語料庫的全部特征集合Fctx(corpus)。對(duì)所有文檔重復(fù)上述操作,即得到所有w的全部特征集合Fctx(corpus);由于每次抽取多個(gè)單詞組成一個(gè)特征導(dǎo)致特征的稀疏程度較大,而多數(shù)文檔僅包含幾個(gè)特征并且每個(gè)特征僅出現(xiàn)一次,故采用二元值{0,1}而非特征的頻率定義特征在向量中的分量值;設(shè)語料庫中全部文檔抽取得到全部特征的集合為Fctx(corpus),則對(duì)于該語料庫下述公式將特征集合fctx(w)轉(zhuǎn)化為特征向量vctx(w):其中i=1,…,|Fctx(corpus)|(表示特征的總個(gè)數(shù));Vctx(w)為單詞w的上下文特征向量;為Vctx(w)的第i個(gè)分量;fi為特征向量第i個(gè)分量對(duì)應(yīng)的特征。本發(fā)明中,所述基于語義標(biāo)簽的特征是指:單詞在文本中的語義類別和文檔中單詞間的依賴關(guān)系能提供關(guān)于單詞更多的信息,因此在醫(yī)學(xué)實(shí)體識(shí)別的過程中以目標(biāo)詞為中心詞,檢查相關(guān)的語義類別和依賴關(guān)系;在分詞階段使用語法解析工具StanfordParser(由斯坦福大學(xué)自然語言研究小組推出)作為分詞工具,以分詞結(jié)果中的POS標(biāo)簽作為語義類別,以結(jié)果中的依賴列表作為依賴關(guān)系,相似的語義標(biāo)簽歸為一類;定義一個(gè)窗口大小為t的窗口[-t,+t],在這個(gè)窗口中,在目標(biāo)詞w之前的單詞的標(biāo)簽作為目標(biāo)詞的前綴prefix,在目標(biāo)詞之后的單詞的標(biāo)簽作為目標(biāo)詞w的后綴suffix,具體如下式所示:prefix={(POSprefix,POSw)}suffix={(POSw,POSprefix)}利用語義標(biāo)簽特征集合提取算法得到每個(gè)單詞的語義標(biāo)簽特征,對(duì)所有文檔進(jìn)行如上的操作即可得到所有w的全部特征集合Fpos(corpus);所述語義標(biāo)簽特征集合提取算法是指:在選取了語料庫corpus以及從語料庫中提取出prefix與suffix語義標(biāo)簽集合之后,利用如下的步驟得到最終每個(gè)目標(biāo)詞w對(duì)應(yīng)的語義標(biāo)簽特征集合fpos(w):(1)設(shè)置fpos(w)為空集;(2)對(duì)語料庫的每個(gè)文檔中的單詞進(jìn)行遍歷,設(shè)定當(dāng)前單詞為wk;(3)對(duì)于處于[k-t,k-1]這個(gè)窗口中的單詞wprefix,如果wprefix對(duì)應(yīng)的語義標(biāo)簽POSprefix以及當(dāng)前單詞wk所對(duì)應(yīng)的語義標(biāo)簽POSk的組合屬于prefix語義標(biāo)簽集合,則將(POSprefix,wk)添加至fpos(w);(4)對(duì)于處于[k+1,k+t]這個(gè)窗口中的單詞wsuffix,如果wsuffix對(duì)應(yīng)的語義標(biāo)簽POSsuffix以及當(dāng)前單詞wk所對(duì)應(yīng)的語義標(biāo)簽POSk的組合屬于suffix語義標(biāo)簽集合,則將(wk,POSsuffix)添加至fpos(w);采用二元值{0,1}來定義特征在向量中的分量值,設(shè)語料庫中全部文檔抽取得到全部特征的集合為Fpos(corpus),則通過這個(gè)特征集合將每個(gè)目標(biāo)詞所對(duì)應(yīng)的特征集合fpos(w)轉(zhuǎn)化為特征向量vpos(w)。本發(fā)明中,所述基于醫(yī)學(xué)詞典的詞向量特征是指:利用國際疾病分類詞典ICD10中所收錄的醫(yī)學(xué)詞匯,結(jié)合word2vec軟件來構(gòu)造與疾病相關(guān)的醫(yī)學(xué)名詞所對(duì)應(yīng)的特征向量。本發(fā)明中,在實(shí)體識(shí)別過程中,通過使用長短時(shí)記憶模型(LSTM)或者門控循環(huán)單元(GRU)來替循環(huán)神經(jīng)網(wǎng)絡(luò)(RNN)中的隱層單元,以用于長距離依賴的場景。與現(xiàn)有同類技術(shù)相比,本發(fā)明的有益效果在于:1、在現(xiàn)有的知識(shí)圖譜構(gòu)建過程中,從非結(jié)構(gòu)化數(shù)據(jù)抽取知識(shí)單元以及識(shí)別知識(shí)單元之間的關(guān)系一直都是一個(gè)技術(shù)難點(diǎn),現(xiàn)有的技術(shù)往往使用傳統(tǒng)的語言模型,最好的技術(shù)也只是將深度學(xué)習(xí)用于簡單的詞聚類任務(wù),對(duì)于高維度的特征、繁多的知識(shí)單元以及關(guān)系、較長的上下文聯(lián)系處理都有所欠缺。本發(fā)明巧妙地將循環(huán)神經(jīng)網(wǎng)絡(luò)用于上述兩個(gè)任務(wù)(還可以結(jié)合長短時(shí)記憶模型),能夠很好地完成對(duì)非結(jié)構(gòu)化數(shù)據(jù)的處理。2、本發(fā)明是垂直于醫(yī)學(xué)領(lǐng)域的,提出了適用于醫(yī)學(xué)領(lǐng)域的特征來進(jìn)行網(wǎng)絡(luò)的訓(xùn)練任務(wù),相對(duì)于通用的特征而言更能夠代表醫(yī)學(xué)實(shí)體,從而使得抽取出的知識(shí)單元和知識(shí)單元間的關(guān)系更加準(zhǔn)確和全面。附圖說明圖1為本發(fā)明實(shí)現(xiàn)流程示意圖;圖2為上下文特征提取算法示意圖;圖3為語義標(biāo)簽特征集合提取算法示意圖;圖4為中文醫(yī)學(xué)知識(shí)圖譜模式層實(shí)例展示。具體實(shí)施方式部分術(shù)語解釋:知識(shí)圖譜:知識(shí)圖譜(KnowledgeGraph)本質(zhì)上是一種語義網(wǎng)絡(luò)。其結(jié)點(diǎn)代表實(shí)體(entity)或者概念(concept),邊代表實(shí)體或概念之間的各種語義關(guān)系。它是一種知識(shí)管理與服務(wù)模式,能夠?qū)⒏鱾€(gè)領(lǐng)域瑣碎、零散的知識(shí)相互連接、從而組成一個(gè)以“語義網(wǎng)絡(luò)”為骨架構(gòu)建起來的巨型、網(wǎng)絡(luò)化的知識(shí)系統(tǒng)。知識(shí)單元(命名實(shí)體):知識(shí)單元是指構(gòu)成整個(gè)知識(shí)圖譜的最基本單元形態(tài)。在醫(yī)學(xué)領(lǐng)域的知識(shí)圖譜中,知識(shí)單元通常是指疾病、藥品、癥狀、治療方法等這樣的醫(yī)學(xué)名詞。在本發(fā)明中,知識(shí)單元與命名實(shí)體含義相同。命名實(shí)體識(shí)別(知識(shí)單元抽取):命名實(shí)體識(shí)別是指在非結(jié)構(gòu)化文本數(shù)據(jù)中識(shí)別具有特定意義的實(shí)體。在本發(fā)明中,具體是指從醫(yī)學(xué)領(lǐng)域的描述文本中抽取出疾病、藥品、癥狀、治療方法等這樣的醫(yī)學(xué)名詞。這些醫(yī)學(xué)名詞與知識(shí)單元一一對(duì)應(yīng),因此這個(gè)過程也可以被叫做知識(shí)單元抽取。實(shí)體關(guān)系抽取(知識(shí)單元關(guān)系抽取):實(shí)體關(guān)系抽取是指從非結(jié)構(gòu)化文本數(shù)據(jù)中抽取出各個(gè)實(shí)體之間的關(guān)系。在此發(fā)明中具體是指從醫(yī)學(xué)領(lǐng)域的描述文本中抽取出疾病、藥品、癥狀、治療方法之間的對(duì)應(yīng)關(guān)系。本發(fā)明為解決技術(shù)問題,提出一種基于深度學(xué)習(xí)的中文醫(yī)學(xué)知識(shí)圖譜構(gòu)建方法,具體包括四個(gè)步驟:獲取數(shù)據(jù)、知識(shí)單元抽取、知識(shí)單元關(guān)系識(shí)別、知識(shí)圖譜構(gòu)建?!瘾@取數(shù)據(jù)首先要做的工作就是收集中文醫(yī)學(xué)知識(shí)的數(shù)據(jù),本發(fā)明主要收集了百科站點(diǎn)的非結(jié)構(gòu)化數(shù)據(jù),醫(yī)療領(lǐng)域站點(diǎn)的結(jié)構(gòu)化數(shù)據(jù)以及國際采用的一體化醫(yī)學(xué)語言系統(tǒng)的名詞庫數(shù)據(jù)。(一)獲取百科類站點(diǎn)的數(shù)據(jù)(1)從全網(wǎng)中的各類百科類站點(diǎn)(包括維基百科,中文有互動(dòng)百科,百度百科)中爬取與醫(yī)療相關(guān)的詞條(2)若缺少結(jié)構(gòu)化數(shù)據(jù),則直接提取其中所有的內(nèi)容,作為非結(jié)構(gòu)化數(shù)據(jù)存儲(chǔ),若為半結(jié)構(gòu)化數(shù)據(jù),則按照一定的關(guān)系(小標(biāo)題名、屬性名、相關(guān)鏈接名)進(jìn)行存儲(chǔ)(二)獲取醫(yī)療領(lǐng)域類站點(diǎn)的數(shù)據(jù)(1)從全網(wǎng)中人工搜索醫(yī)療相關(guān)的網(wǎng)站(2)針對(duì)不同站點(diǎn)編寫不同的爬蟲程序(3)醫(yī)療領(lǐng)域站點(diǎn)的數(shù)多數(shù)是結(jié)構(gòu)化數(shù)據(jù),如疾病與癥狀的關(guān)聯(lián)、疾病與藥品的關(guān)聯(lián)等,因此可以將這些關(guān)系直接存儲(chǔ),作為后續(xù)的訓(xùn)練集(4)關(guān)于疾病和癥狀的簡介,其中同樣包含著大量在結(jié)構(gòu)化數(shù)據(jù)中不存在的信息,因此也需要將這些信息作為非結(jié)構(gòu)化數(shù)據(jù)存儲(chǔ)(三)獲取醫(yī)療專業(yè)名詞庫數(shù)據(jù)國際疾病分類(internationalClassificationofdiseases,ICD)是依據(jù)疾病的病因、病理、臨床表現(xiàn)和解剖位置等特性,將疾病分門別類,并用編碼的方法來表示的系統(tǒng)。目前全世界通用的是第10次修訂本《疾病和有關(guān)健康問題的國際統(tǒng)計(jì)分類》,仍保留了ICD的簡稱,并被統(tǒng)稱為ICD-10。ICD-10的中文版本中涵蓋絕大多數(shù)醫(yī)學(xué)領(lǐng)域的疾病詞匯,因此可以用于與疾病相關(guān)的醫(yī)學(xué)名詞的特征提取過程??梢酝ㄟ^從ICD-10的疾病分類詞典獲取大量的疾病名詞庫和分類信息,直接作為已知分類的疾病實(shí)體進(jìn)行存儲(chǔ),為后續(xù)的實(shí)體識(shí)別以及實(shí)體關(guān)系抽取任務(wù)做準(zhǔn)備。隨著該詞典的中文版本的更新及內(nèi)容不斷擴(kuò)充,其在本發(fā)明中的應(yīng)用范圍也將隨之得到擴(kuò)展?!裰R(shí)單元抽取在獲得中文醫(yī)學(xué)知識(shí)數(shù)據(jù)以后,主要對(duì)非結(jié)構(gòu)化數(shù)據(jù)進(jìn)行知識(shí)單元的抽取。知識(shí)單元抽取可以映射為命名實(shí)體識(shí)別。就醫(yī)學(xué)領(lǐng)域而言,就是把癥狀、疾病以及藥品等與醫(yī)療相關(guān)的概念識(shí)別出來。這屬于自然語言處理問題,而絕大多數(shù)的自然語言處理問題都可以轉(zhuǎn)化為序列標(biāo)注問題,也就是是對(duì)線性序列中每個(gè)元素根據(jù)上下文內(nèi)容進(jìn)行分類的問題。而本發(fā)明使用的是這種思路,先使用分詞工具對(duì)非結(jié)構(gòu)化數(shù)據(jù)進(jìn)行分詞,接著使用RNN進(jìn)行序列標(biāo)注任務(wù),在根據(jù)序列標(biāo)注的結(jié)果識(shí)別出醫(yī)療相關(guān)的實(shí)體。要利用循環(huán)神經(jīng)網(wǎng)絡(luò)完成標(biāo)注任務(wù),就得訓(xùn)練出適用的神經(jīng)網(wǎng)絡(luò)。第一,通過對(duì)實(shí)體的體征進(jìn)行構(gòu)造,得到實(shí)體的特征向量;第二,結(jié)合已收集的結(jié)構(gòu)化數(shù)據(jù)對(duì)訓(xùn)練集進(jìn)行標(biāo)注;第三,訓(xùn)練神經(jīng)網(wǎng)絡(luò)。完成上述步驟,就能得到一個(gè)可以對(duì)非結(jié)構(gòu)化數(shù)據(jù)分詞得到的詞進(jìn)行標(biāo)注的循環(huán)神經(jīng)網(wǎng)絡(luò)。(一)構(gòu)造特征向量首先需要針對(duì)醫(yī)療領(lǐng)域的實(shí)體特點(diǎn),定義適當(dāng)?shù)奶卣?,并?gòu)造特征向量。在本發(fā)明中使用了如下三種特征:(1)基于上下文的特征文本中單詞的含義與這個(gè)單詞在文本中出現(xiàn)位置前后的單詞有很大關(guān)聯(lián)。醫(yī)學(xué)領(lǐng)域?qū)嶓w識(shí)別時(shí),以目標(biāo)詞為中心,前后的若干個(gè)單詞為該詞的上下文,并將其作為該詞的特征使用。對(duì)于任意文檔d以及文檔d中的每一個(gè)詞w,定義上下文窗口context=[-t,+t],應(yīng)用上下文特征集合提取算法得到每一個(gè)w對(duì)應(yīng)的上下文特征fctx(w)。將語料庫(corpus)中所有文檔中的每個(gè)詞w對(duì)應(yīng)的上下文特征fctx(w)匯總,即可得到該語料庫的全部特征集合Fctx(corpus)。(上下文特征集合提取算法屬于現(xiàn)有技術(shù),本文并未做任何特別改進(jìn),因此不再贅述。)對(duì)所有文檔進(jìn)行如上的操作即可得到所有w的全部特征集合Fctx(corpus)由于每次抽取多個(gè)單詞組成一個(gè)特征導(dǎo)致特征的稀疏程度較大,多數(shù)文檔僅包含幾個(gè)特征并且每個(gè)特征僅出現(xiàn)一次。因此采用二元值{0,1}而非特征的頻率定義特征在向量中的分量值。設(shè)語料庫中全部文檔抽取得到全部特征的集合為Fctx(corpus)。則對(duì)于該語料庫可以使用公式1以及公式2將特征集合fctx(w)轉(zhuǎn)化為特征向量vctx(w)。其中i=1,…,|Fctx(corpus)|(表示特征的總個(gè)數(shù));Vctx(w)為單詞w的上下文特征向量;為Vctx(w)的第i個(gè)分量;fi為特征向量第i個(gè)分量對(duì)應(yīng)的特征。(2)基于語義標(biāo)簽的特征單詞在文本中的語義類別和文檔中單詞間的依賴關(guān)系可以提供關(guān)于單詞更多的信息。因此在醫(yī)學(xué)實(shí)體識(shí)別的過程中,可以以目標(biāo)詞為中心詞,檢查相關(guān)的語義類別和依賴關(guān)系。本發(fā)明在分詞階段使用語法解析工具StanfordParser(由斯坦福大學(xué)自然語言研究小組推出)作為分詞工具,以分詞結(jié)果中的POS標(biāo)簽作為語義類別,以結(jié)果中的依賴列表作為依賴關(guān)系。其中,一些相似的語義標(biāo)簽可以歸為一類,具體的歸類方案如下表。POS標(biāo)簽類別POS標(biāo)簽JJJ,JJR,JJSNNN,NNS,NNP,NNPSVVB,VBD,VBG,VBN,VBP,VBZRRB,RBR,RBSO其他表1語義標(biāo)簽歸類表同樣地,定義一個(gè)窗口大小為t的窗口[-t,+t],在這個(gè)窗口中,在目標(biāo)詞w之前的單詞的標(biāo)簽作為目標(biāo)詞的前綴prefix,在目標(biāo)詞之后的單詞的標(biāo)簽作為目標(biāo)詞w的后綴suffix,具體如下式所示。prefix={(POSprefix,POSw)}suffix={(POSw,POSprefix)}利用如圖3所示的語義標(biāo)簽特征集合提取算法,可以得到每個(gè)單詞的語義標(biāo)簽特征。對(duì)所有文檔進(jìn)行如上的操作即可得到所有w的全部特征集合Fpos(corpus)。與上下文特征向量構(gòu)造時(shí)相同,仍然采用二元值{0,1}來定義特征在向量中的分量值。設(shè)語料庫中全部文檔抽取得到全部特征的集合為Fpos(corpus),則通過這個(gè)特征集合可以將每個(gè)目標(biāo)詞所對(duì)應(yīng)的特征集合fpos(w)轉(zhuǎn)化為特征向量vpos(w)。所述語義標(biāo)簽特征集合提取算法是指:在選取了語料庫corpus以及從語料庫中提取出prefix與suffix語義標(biāo)簽集合之后,利用如下的步驟得到最終每個(gè)目標(biāo)詞w對(duì)應(yīng)的語義標(biāo)簽特征集合fpos(w):(1)設(shè)置fpos(w)為空集;(2)對(duì)語料庫的每個(gè)文檔中的單詞進(jìn)行遍歷,設(shè)定當(dāng)前單詞為wk;(3)對(duì)于處于[k-t,k-1]這個(gè)窗口中的單詞wprefix,如果wprefix對(duì)應(yīng)的語義標(biāo)簽POSprefix以及當(dāng)前單詞wk所對(duì)應(yīng)的語義標(biāo)簽POSk的組合屬于prefix語義標(biāo)簽集合,則將(POSprefix,wk)添加至fpos(w);(4)對(duì)于處于[k+1,k+t]這個(gè)窗口中的單詞wsuffix,如果wsuffix對(duì)應(yīng)的語義標(biāo)簽POSsuffix以及當(dāng)前單詞wk所對(duì)應(yīng)的語義標(biāo)簽POSk的組合屬于suffix語義標(biāo)簽集合,則將(wk,POSsuffix)添加至fpos(w);(3)基于醫(yī)學(xué)詞典的詞向量特征國際疾病分類詞典ICD10中所收錄的醫(yī)學(xué)詞匯可以直接用于醫(yī)學(xué)領(lǐng)域詞向量的構(gòu)建。因此,對(duì)于語料庫中的每個(gè)單詞,都可以根據(jù)這個(gè)詞典結(jié)合word2vec來構(gòu)造對(duì)應(yīng)的特征向量。(二)標(biāo)注訓(xùn)練集RNN的訓(xùn)練是有監(jiān)督訓(xùn)練,因此需要對(duì)訓(xùn)練集進(jìn)行標(biāo)注。首先結(jié)合國際疾病分類詞典ICD10以及來自結(jié)構(gòu)化數(shù)據(jù)構(gòu)成的詞典來進(jìn)行自動(dòng)標(biāo)注,余下的則按照多數(shù)原則進(jìn)行標(biāo)注。這里的標(biāo)注是為了提高訓(xùn)練集的質(zhì)量和擴(kuò)大訓(xùn)練集容量,盡可能地減少噪點(diǎn),采用多數(shù)原則可以極大地消除因主觀能動(dòng)性引起的影響。(三)RNN網(wǎng)絡(luò)訓(xùn)練循環(huán)神經(jīng)網(wǎng)絡(luò)(RNN)包含輸入單元(Inputunits),輸入集標(biāo)記為{x0,x1,...,xt,xt+1,...},而輸出單元(Outputunits)的輸出集則被標(biāo)記為{y0,y1,...,yt,yt+1.,..}。RNN還包含隱藏單元(Hiddenunits),將其輸出集標(biāo)記為{s0,s1,...,st,st+1,...},這些隱藏單元完成了最為主要的工作。與傳統(tǒng)的神經(jīng)網(wǎng)絡(luò)不同的是,RNN會(huì)引導(dǎo)信息從輸出單元返回隱藏單元,并且隱藏層的輸入還包括上一隱藏層的狀態(tài),即隱藏層內(nèi)的節(jié)點(diǎn)可以自連也可以互連。在實(shí)體識(shí)別中,還可以使用長短時(shí)記憶模型(LSTM)或者門控循環(huán)單元(GRU)來替RNN中的隱層單元對(duì)于解決長距離依賴的場景明顯要優(yōu)于RNN本身。將已標(biāo)注的數(shù)據(jù)集的70%作為訓(xùn)練集進(jìn)行RNN的網(wǎng)絡(luò)訓(xùn)練,在訓(xùn)練收斂后,用剩下的30%進(jìn)行測試,并根據(jù)測試結(jié)果來調(diào)整網(wǎng)絡(luò)結(jié)構(gòu)或訓(xùn)練參數(shù)。訓(xùn)練完成后,利用訓(xùn)練好的循環(huán)神經(jīng)網(wǎng)絡(luò)對(duì)知識(shí)實(shí)體進(jìn)行識(shí)別,即序列標(biāo)注任務(wù),即可完成知識(shí)單元抽取?!裰R(shí)單元關(guān)系識(shí)別知識(shí)單元抽取完成后,需要進(jìn)行實(shí)體關(guān)系的識(shí)別,同樣,需要采用構(gòu)造一個(gè)循環(huán)神經(jīng)網(wǎng)絡(luò)來對(duì)實(shí)體關(guān)系進(jìn)行識(shí)別。知識(shí)單元間關(guān)系可以映射為命名實(shí)體的關(guān)系識(shí)別,在命名實(shí)體識(shí)別部分識(shí)別出來的醫(yī)學(xué)實(shí)體,在實(shí)體關(guān)系識(shí)別中,希望能將這些實(shí)體對(duì)應(yīng)起來,如將疾病與相關(guān)癥狀對(duì)應(yīng)上,將疾病與相關(guān)藥品對(duì)應(yīng)上。這個(gè)任務(wù)同樣也可以轉(zhuǎn)化為序列標(biāo)注問題。在使用分詞工具對(duì)非結(jié)構(gòu)化數(shù)據(jù)進(jìn)行分詞后,結(jié)合知識(shí)單元抽取任務(wù)中抽取出的實(shí)體進(jìn)行特征向量的構(gòu)建,接著使用RNN進(jìn)行序列標(biāo)注任務(wù),最后根據(jù)序列標(biāo)注的結(jié)果完成知識(shí)單元間關(guān)系的識(shí)別。以下是構(gòu)造循環(huán)神經(jīng)網(wǎng)絡(luò)的過程:(一)構(gòu)造特征向量這里使用的特征向量與實(shí)體識(shí)別過程中的特征向量基本一致,唯一的不同之處在于,在構(gòu)造特征向量之前,首先需要根據(jù)實(shí)體識(shí)別的結(jié)果提取語料中所有的實(shí)體對(duì),即每一個(gè)句子中出現(xiàn)的任意兩個(gè)實(shí)體都標(biāo)為一個(gè)實(shí)體對(duì)。接下來的特征則是針對(duì)這個(gè)實(shí)體對(duì)來進(jìn)行提取并構(gòu)造特征向量的。(二)標(biāo)注訓(xùn)練集標(biāo)注訓(xùn)練集的方法與在實(shí)體識(shí)別中的方法基本一致,首先結(jié)合國際疾病分類詞典ICD10以及來自結(jié)構(gòu)化數(shù)據(jù)構(gòu)成的語義關(guān)系網(wǎng)絡(luò)來進(jìn)行自動(dòng)標(biāo)注,余下的則按照多數(shù)原則進(jìn)行標(biāo)注。這里的標(biāo)注是為了提高訓(xùn)練集的質(zhì)量和擴(kuò)大訓(xùn)練集容量,盡可能地減少噪點(diǎn),采用多數(shù)原則可以極大地消除因主觀能動(dòng)性引起的影響。(三)RNN網(wǎng)絡(luò)訓(xùn)練將已標(biāo)注的數(shù)據(jù)集的70%作為訓(xùn)練集進(jìn)行RNN的網(wǎng)絡(luò)訓(xùn)練,在訓(xùn)練收斂后,用剩下的30%進(jìn)行測試,并根據(jù)測試結(jié)果來調(diào)整網(wǎng)絡(luò)結(jié)構(gòu)或訓(xùn)練參數(shù)。訓(xùn)練完成后,再利用RNN結(jié)合收集到的非結(jié)構(gòu)化數(shù)據(jù)對(duì)知識(shí)單元抽取出來的實(shí)體進(jìn)行關(guān)系標(biāo)注?!駥?shí)體對(duì)齊在通過深度學(xué)習(xí)從各種半結(jié)構(gòu)化和非結(jié)構(gòu)化數(shù)據(jù)種抽取出相關(guān)實(shí)體以及實(shí)體之間的關(guān)系之后,還需要進(jìn)行實(shí)體對(duì)齊任務(wù)。實(shí)體對(duì)齊旨在發(fā)現(xiàn)具有不同標(biāo)識(shí)實(shí)體但卻代表真實(shí)世界中同一對(duì)象的那些實(shí)體,并將這些實(shí)體歸并為一個(gè)具有全局唯一標(biāo)識(shí)的實(shí)體對(duì)象添加到知識(shí)圖譜中。在醫(yī)學(xué)領(lǐng)域,具體表現(xiàn)在很多疾病都有別稱,實(shí)體對(duì)齊的任務(wù)就是要求所有對(duì)應(yīng)同一種疾病的別稱都對(duì)齊到同一個(gè)疾病實(shí)體上。在實(shí)體對(duì)齊過程中,可以使用一定的規(guī)則幫助程序自動(dòng)對(duì)齊,如具有相同屬性-值的實(shí)體也可能代表相同對(duì)象(屬性相似);具有相同鄰居的實(shí)體可能指向同一個(gè)對(duì)象(結(jié)構(gòu)相似)。除此之外,還可以根據(jù)現(xiàn)有的詞典以及人工的方式進(jìn)行對(duì)齊?!裰R(shí)圖譜構(gòu)建在完成上述任務(wù)之后,就可以開始構(gòu)建知識(shí)圖譜了。模式是對(duì)知識(shí)的提煉,為知識(shí)圖譜構(gòu)建模式(schema)相當(dāng)于為其建立本體(Ontology)。最基本的本體包括概念、概念層次、屬性、屬性值類型、關(guān)系、關(guān)系定義域(Domain)概念集以及關(guān)系值域(Range)概念集。在此基礎(chǔ)上,可以額外添加規(guī)則(Rules)或公理(Axioms)來表示模式層更復(fù)雜的約束關(guān)系。本發(fā)明的模式層構(gòu)建依賴于從百科站點(diǎn)以及醫(yī)療站點(diǎn)的結(jié)構(gòu)化數(shù)據(jù)得到的高質(zhì)量知識(shí)中所提取的模式信息,相對(duì)于通用知識(shí)圖譜而言更加準(zhǔn)確和領(lǐng)域相關(guān)。附圖4是針對(duì)醫(yī)療領(lǐng)域設(shè)計(jì)的知識(shí)圖譜的模式層部分。附圖4所示的是由一個(gè)疾病“大腸癌”展開的知識(shí)圖譜,其中圓形代表實(shí)體,這里的實(shí)體是通過對(duì)收集到的數(shù)據(jù)進(jìn)行分詞,再利用循環(huán)神經(jīng)網(wǎng)絡(luò)進(jìn)行標(biāo)注得到的實(shí)體;虛線代表實(shí)體間的關(guān)系,這些關(guān)系是由人工定義的(如這里用到的“有…癥狀”,“功能主治”,“可采用…手術(shù)”等),再通過對(duì)抽取出的實(shí)體單元進(jìn)行關(guān)系標(biāo)注,即可得到圖示。當(dāng)前第1頁1 2 3